Viewing: predbat.3.log

2026-08-15 02:40:02.892853: Inverter 0 Charge window will be: 2026-08-15 11:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 10%, target 100%
2026-08-15 02:40:02.893028: Inverter 0 disabled charge window while waiting for schedule (now 08-15 02:40:00 target set_window_minutes 30 charge start time 08-15 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 02:40:02.893177: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 02:40:02.893451: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 02:40:02.893544: No export window planned
2026-08-15 02:40:02.893657: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 02:40:02.893693: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 02:40:02.893848: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 02:40:02.894034: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 02:40:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 02:40:02.894098: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 02:40:02.894167: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 02:40:02.894263: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 02:40:02.894307: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 02:40:02.894336: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 02:40:02.894361: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 02:40:02.894396: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 02:40:02.894421: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 02:40:02.894445: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 02:40:02.894507: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 02:40:02.894542: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 02:40:02.894568: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 02:40:02.894592: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 02:40:02.894644: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 02:40:02.894673: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 02:40:02.894698: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 02:40:02.894718: Inverter 0 count register writes 0
2026-08-15 02:40:02.909576: Will recompute the plan as it is now 10.0 minutes old and will exceed the max age of 10 minutes before the next run
2026-08-15 02:40:02.909749: Recompute is saving previous plan...
2026-08-15 02:40:02.912842: Best charge window [ 15-08 02:30:00 - 15-08 03:00:00 @ 24.79p 0%, 15-08 03:00:00 - 15-08 03:30:00 @ 25.08p 0%, 15-08 03:30:00 - 15-08 04:00:00 @ 24.62p 0%, 15-08 04:00:00 - 15-08 04:30:00 @ 27.02p 0%, 15-08 04:30:00 - 15-08 05:00:00 @ 26.47p 0%, 15-08 05:00:00 - 15-08 05:30:00 @ 26.25p 0%, 15-08 05:30:00 - 15-08 06:00:00 @ 26.4p 0%, 15-08 06:00:00 - 15-08 06:30:00 @ 25.7p 0%, 15-08 06:30:00 - 15-08 07:00:00 @ 27.63p 0%, 15-08 07:00:00 - 15-08 07:30:00 @ 22.73p 0%, 15-08 07:30:00 - 15-08 08:00:00 @ 26.7p 0%, 15-08 08:00:00 - 15-08 08:30:00 @ 22.92p 0%, 15-08 08:30:00 - 15-08 09:00:00 @ 22.48p 0%, 15-08 09:00:00 - 15-08 09:30:00 @ 23.55p 0%, 15-08 09:30:00 - 15-08 10:00:00 @ 23.64p 0%, 15-08 10:00:00 - 15-08 10:30:00 @ 19.66p 0%, 15-08 10:30:00 - 15-08 11:00:00 @ 17.66p 0%, 15-08 11:00:00 - 15-08 11:30:00 @ 16.56p 0%, 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 0%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 0%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 0%, 15-08 13:00:00 - 15-08 13:30:00 @ 15.36p 0%, 15-08 13:30:00 - 15-08 14:00:00 @ 15.74p 0%, 15-08 14:00:00 - 15-08 14:30:00 @ 14.57p 0%, 15-08 14:30:00 - 15-08 15:00:00 @ 13.77p 0%, 15-08 15:00:00 - 15-08 15:30:00 @ 15.02p 0%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 0%, 15-08 16:00:00 - 15-08 16:30:00 @ 33.13p 0%, 15-08 16:30:00 - 15-08 17:00:00 @ 33.13p 0%, 15-08 17:00:00 - 15-08 17:30:00 @ 38.46p 0%, 15-08 17:30:00 - 15-08 18:00:00 @ 40.44p 0%, 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 0%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 0%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 0%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 0%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 0%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 27.8p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 29.09p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.47p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.18p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 27.57p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.5p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.6p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 24.79p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 25.08p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 24.62p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 27.02p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.47p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 26.25p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.4p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.7p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 27.63p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 22.73p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 26.7p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 22.92p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 22.48p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 23.55p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 23.64p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 19.66p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 17.66p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 16.56p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 15.46p 0%, 16-08 12:00:00 - 16-08 12:30:00 @ 17.0p 0%, 16-08 12:30:00 - 16-08 13:00:00 @ 16.34p 0%, 16-08 13:00:00 - 16-08 13:30:00 @ 15.36p 0%, 16-08 13:30:00 - 16-08 14:00:00 @ 15.74p 0%, 16-08 14:00:00 - 16-08 14:30:00 @ 14.57p 0%, 16-08 14:30:00 - 16-08 15:00:00 @ 13.77p 0%, 16-08 15:00:00 - 16-08 15:30:00 @ 15.02p 0%, 16-08 15:30:00 - 16-08 16:00:00 @ 15.87p 0%, 16-08 16:00:00 - 16-08 16:30:00 @ 33.13p 0%, 16-08 16:30:00 - 16-08 17:00:00 @ 33.13p 0%, 16-08 17:00:00 - 16-08 17:30:00 @ 38.46p 0%, 16-08 17:30:00 - 16-08 18:00:00 @ 40.44p 0%, 16-08 18:00:00 - 16-08 18:30:00 @ 41.55p 0%, 16-08 19:00:00 - 16-08 19:30:00 @ 32.58p 0%, 16-08 19:30:00 - 16-08 20:00:00 @ 32.9p 0%, 16-08 20:00:00 - 16-08 20:30:00 @ 31.99p 0%, 16-08 20:30:00 - 16-08 21:00:00 @ 32.1p 0%, 16-08 21:00:00 - 16-08 21:30:00 @ 31.71p 0%, 16-08 21:30:00 - 16-08 22:00:00 @ 31.67p 0%, 16-08 22:00:00 - 16-08 22:30:00 @ 31.77p 0%, 16-08 22:30:00 - 16-08 23:00:00 @ 29.81p 0%, 16-08 23:00:00 - 16-08 23:30:00 @ 27.8p 0%, 16-08 23:30:00 - 17-08 00:00:00 @ 29.09p 0%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.47p 0%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.18p 0%, 17-08 01:00:00 - 17-08 01:30:00 @ 27.57p 0%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.5p 0%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.6p 0%, 17-08 02:30:00 - 17-08 03:00:00 @ 24.79p 0% ]
2026-08-15 02:40:02.912916: Best export window [  ]
2026-08-15 02:40:02.913853: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 02:40:02.917144: Load divergence over 8.0 hours mean 423.71W, min 268.2W, max 1026.0W, std dev 103.1W, divergence 12.17%
2026-08-15 02:40:02.935054: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 02:40:02.935147: LoadML is_calculating False
2026-08-15 02:40:02.935208: Creating pool of 12 processes to match your CPU count
2026-08-15 02:40:03.026470: Calculate Best options: mode(Control charge & discharge), calculate_export_oncharge(False), calculate_export_on_pv(True), set_export_freeze_only(False), set_discharge_during_charge(True), combine_charge_slots(False), combine_export_slots(False), combine_rate_threshold(0.0), best_soc_min(0.0 kWh), best_soc_max(0.0 kWh), best_soc_keep(0.0 kWh), inverter_loss(4%), battery_loss(3%), battery_loss_discharge (3%), inverter_hybrid(True), metric_min_improvement(0.0p), metric_min_improvement_export(0.1p), metric_min_improvement_export_freeze(0.1p), metric_battery_cycle(0.0p/kWh), metric_battery_value_scaling(1.0 x) 
2026-08-15 02:40:03.028708: Optimise levels pass started at 2026-08-15 02:40:03
2026-08-15 02:40:03.028766: Optimise all windows, total charge 94 export 1
2026-08-15 02:40:04.069142: >> Region optimisation pass width 960 gives best_metric 805.14p, best_cost 810.65p, best_cycle 49.41kWh, best_import 40.6kWh
2026-08-15 02:40:04.460043: >> Region optimisation pass width 480 gives best_metric 805.14p, best_cost 810.65p, best_cycle 49.41kWh, best_import 40.6kWh
2026-08-15 02:40:04.957984: >> Region optimisation pass width 240 gives best_metric 805.14p, best_cost 810.65p, best_cycle 49.41kWh, best_import 40.6kWh
2026-08-15 02:40:05.909212: >> Region optimisation pass width 120 gives best_metric 805.14p, best_cost 810.65p, best_cycle 49.41kWh, best_import 40.6kWh
2026-08-15 02:40:05.909619: Calculated end_record as 08-16 11:30:00 based on best_price 16.34p, next_charge_start 08-15 11:30:00, max_windows 65
2026-08-15 02:40:05.909785: Optimise levels pass ended at 2026-08-15 02:40:05, duration 2.9 seconds tried 320 combinations
2026-08-15 02:40:05.909937: Set best_price_charge_level 17.6p, best_price_export_level 0p, best_price_charge 16.34p, best_cost_export 0p, best_metric 805.14p, best_keep 0kWh, best_cycle 49.41kWh, best_carbon 0kg, best_import 40.6kWh
2026-08-15 02:40:05.926519: Starting detailed optimisation end_record 08-16 11:30:00, best_price_charge 16.34p, best_price_export 0p. lowest_price_charge 13.77p with charge limits [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0]kWh and export limits []kWh
2026-08-15 02:40:10.081463: Tweak plan optimisation started metric 617.11p, cost 625.66p
2026-08-15 02:40:10.345418: Tweak optimisation finished metric 617.11p, cost 625.66p, metric_keep 0kWh, cycle 30.95kWh, carbon 0kg, import 28.26kWh, changed 8 window(s)
2026-08-15 02:40:10.371044: Swap charge optimisation started metric 617.11p, cost 625.66p, min_improvement_swap 0.1p
2026-08-15 02:40:17.378294: Swap charge optimisation finished metric 617.11p, cost 625.66p
2026-08-15 02:40:17.486889: Pruned 2 dead plan slot(s) in 12 trial(s), nominal metric 612.41p -> 612.42p, plan now metric 617.13p, cost 625.67p, cycle 30.19kWh, import 28.21kWh
2026-08-15 02:40:17.496423: Raw charge windows [ 15-08 02:30:00 - 15-08 03:00:00 @ 24.79p 9%, 15-08 03:00:00 - 15-08 03:30:00 @ 25.08p 0%, 15-08 03:30:00 - 15-08 04:00:00 @ 24.62p 0%, 15-08 04:00:00 - 15-08 04:30:00 @ 27.02p 0%, 15-08 04:30:00 - 15-08 05:00:00 @ 26.47p 0%, 15-08 05:00:00 - 15-08 05:30:00 @ 26.25p 0%, 15-08 05:30:00 - 15-08 06:00:00 @ 26.4p 0%, 15-08 06:00:00 - 15-08 06:30:00 @ 25.7p 0%, 15-08 06:30:00 - 15-08 07:00:00 @ 27.63p 0%, 15-08 07:00:00 - 15-08 07:30:00 @ 22.73p 0%, 15-08 07:30:00 - 15-08 08:00:00 @ 26.7p 0%, 15-08 08:00:00 - 15-08 08:30:00 @ 22.92p 0%, 15-08 08:30:00 - 15-08 09:00:00 @ 22.48p 0%, 15-08 09:00:00 - 15-08 09:30:00 @ 23.55p 0%, 15-08 09:30:00 - 15-08 10:00:00 @ 23.64p 0%, 15-08 10:00:00 - 15-08 10:30:00 @ 19.66p 0%, 15-08 10:30:00 - 15-08 11:00:00 @ 17.66p 0%, 15-08 11:00:00 - 15-08 11:30:00 @ 16.56p 0%, 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 13:30:00 @ 15.36p 100%, 15-08 13:30:00 - 15-08 14:00:00 @ 15.74p 100%, 15-08 14:00:00 - 15-08 14:30:00 @ 14.57p 100%, 15-08 14:30:00 - 15-08 15:00:00 @ 13.77p 100%, 15-08 15:00:00 - 15-08 15:30:00 @ 15.02p 100%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 100%, 15-08 16:00:00 - 15-08 16:30:00 @ 33.13p 0%, 15-08 16:30:00 - 15-08 17:00:00 @ 33.13p 0%, 15-08 17:00:00 - 15-08 17:30:00 @ 38.46p 0%, 15-08 17:30:00 - 15-08 18:00:00 @ 40.44p 0%, 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 0%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 0%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 0%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 0%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 0%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 27.8p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 29.09p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.47p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.18p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 27.57p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.5p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.6p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 24.79p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 25.08p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 24.62p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 27.02p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.47p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 26.25p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.4p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.7p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 27.63p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 22.73p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 26.7p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 22.92p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 22.48p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 23.55p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 23.64p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 19.66p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 17.66p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 16.56p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 15.46p 100%, 16-08 12:00:00 - 16-08 12:30:00 @ 17.0p 100%, 16-08 12:30:00 - 16-08 13:00:00 @ 16.34p 100%, 16-08 13:00:00 - 16-08 13:30:00 @ 15.36p 100%, 16-08 13:30:00 - 16-08 14:00:00 @ 15.74p 100%, 16-08 14:00:00 - 16-08 14:30:00 @ 14.57p 100%, 16-08 14:30:00 - 16-08 15:00:00 @ 13.77p 100%, 16-08 15:00:00 - 16-08 15:30:00 @ 15.02p 100%, 16-08 15:30:00 - 16-08 16:00:00 @ 15.87p 100%, 16-08 16:00:00 - 16-08 16:30:00 @ 33.13p 100%, 16-08 16:30:00 - 16-08 17:00:00 @ 33.13p 100%, 16-08 17:00:00 - 16-08 17:30:00 @ 38.46p 100%, 16-08 17:30:00 - 16-08 18:00:00 @ 40.44p 100%, 16-08 18:00:00 - 16-08 18:30:00 @ 41.55p 100%, 16-08 19:00:00 - 16-08 19:30:00 @ 32.58p 100%, 16-08 19:30:00 - 16-08 20:00:00 @ 32.9p 100%, 16-08 20:00:00 - 16-08 20:30:00 @ 31.99p 100%, 16-08 20:30:00 - 16-08 21:00:00 @ 32.1p 100%, 16-08 21:00:00 - 16-08 21:30:00 @ 31.71p 100%, 16-08 21:30:00 - 16-08 22:00:00 @ 31.67p 100%, 16-08 22:00:00 - 16-08 22:30:00 @ 31.77p 100%, 16-08 22:30:00 - 16-08 23:00:00 @ 29.81p 100%, 16-08 23:00:00 - 16-08 23:30:00 @ 27.8p 100%, 16-08 23:30:00 - 17-08 00:00:00 @ 29.09p 100%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.47p 100%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.18p 100%, 17-08 01:00:00 - 17-08 01:30:00 @ 27.57p 100%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.5p 100%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.6p 100%, 17-08 02:30:00 - 17-08 03:00:00 @ 24.79p 100% ] reserve 1.12
2026-08-15 02:40:17.497032: Unclipped charge windows [ 15-08 02:30:00 - 15-08 03:00:00 @ 24.79p 9%, 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 03:00:00 @ 25.58p 100% ] reserve 1.12
2026-08-15 02:40:17.497452: Unfiltered charge windows [ 15-08 02:30:00 - 15-08 03:00:00 @ 24.79p 9%, 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 03:00:00 @ 25.58p 100% ] reserve 1.12
2026-08-15 02:40:17.497696: Filtered charge windows [ 15-08 02:30:00 - 15-08 03:00:00 @ 24.79p 9%, 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 03:00:00 @ 25.58p 100% ] reserve 1.12
2026-08-15 02:40:17.530108: Previous plan best metric is 617.22 (cost 625.77) and new plan best metric is 617.11 (cost 625.66)
2026-08-15 02:40:17.530342: New plan metric is not significantly better (metric_min_improvement_plan 2.0) than previous plan, using previous plan
2026-08-15 02:40:17.530497: Plan valid is now true after recompute was False
2026-08-15 02:40:17.553669: predict base end_record 08-16 11:30:00, final soc 1.12kWh, metric 852.16p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 03:00:00, load 29.74kWh, PV 0.0kWh
2026-08-15 02:40:17.665052: Battery has 0.33 hours left - now at 1.55kWh
2026-08-15 02:40:17.711014: predict base10 end_record 08-16 11:30:00, final soc 1.12kWh, metric 884.01p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 03:00:00, load 31.0kWh, PV 0.0kWh
2026-08-15 02:40:17.789000: predict best10 end_record 08-16 11:30:00, final soc 1.12kWh, metric 707.12p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 03:00:00, load 31.0kWh, PV 0.0kWh
2026-08-15 02:40:17.881804: predict best end_record 08-16 11:30:00, final soc 1.12kWh, metric 675.75p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 03:00:00, load 29.74kWh, PV 0.0kWh
2026-08-15 02:40:17.881913: Saving plan best values to HA entities
2026-08-15 02:40:18.028469: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0
2026-08-15 02:40:18.034050: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 02:40:18.039279: Best charging limit SoC's [16.0, 3.5, 4.0, 16.0, 16.0, 16.0]kWh, export []kWh gives import battery 20.69kWh, house 7.52kWh, export 0.0kWh, metric 675.75p, metric10 707.12p
2026-08-15 02:40:18.111906: Marginal costs baseline metric (no standing charge): 625.7652
2026-08-15 02:40:18.336262: Marginal energy costs matrix computed: min=14.74 max=26.35
2026-08-15 02:40:18.396885: Rate array import [{'start': 160, 'end': 420, 'rate': 'expensive', 'range': '(24.6p - 27.6p)'}, {'start': 420, 'end': 450, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 450, 'end': 480, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 480, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 23.6p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1860, 'rate': 'expensive', 'range': '(24.6p - 32.9p)'}, {'start': 1860, 'end': 1890, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 1890, 'end': 1920, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 1920, 'end': 2130, 'rate': 'cheap', 'range': '(16.6p - 23.6p)'}] export [{'start': 160, 'end': 2130, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 02:40:18.397569: - Your estimated bill for today is £6.07 and tomorrow is £5.51
2026-08-15 02:40:18.397620: - Import rates are expensive (24.6p - 27.6p) for the next 4 and a quarter hours and then cheap (22.7p) for the next 30 minutes.
2026-08-15 02:40:18.397654: - The battery is currently at 10% and is in eco mode for the next 8 hours.
2026-08-15 02:40:18.397705: - For the next 48 hours there will be no solar generation.
2026-08-15 02:40:18.397739: - You will run out of battery in 20 minutes.
2026-08-15 02:40:18.397767: - Your next charge slot will be in 8 hours where import rates will be cheap (15.5p).
2026-08-15 02:40:18.397801: 
2026-08-15 02:40:18.447583: Plan calculation took 15.54 seconds
2026-08-15 02:40:18.447946: Inverter 0: Type SK Sunsynk
2026-08-15 02:40:18.447992: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 02:40:18.448204: Reserve min: 7%, battery_min: 7%
2026-08-15 02:40:18.448288: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 02:40:18.448587: Inverter 0 SoC: 1.89kW 12%, current charge rate 5000W, current discharge rate 5250W, current battery power 547W, current battery voltage 51.2V, grid power -53W, load power 591W, PV Power 0W
2026-08-15 02:40:18.448812: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 02:40:18.448971: Inverter 0 scheduled charge enable is False
2026-08-15 02:40:18.449022: Inverter 0 charge windows currently []
2026-08-15 02:40:18.449053: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 02:40:18.449203: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 02:40:18.449239: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 02:40:18.449276: Inverter 0 scheduled discharge enable is False
2026-08-15 02:40:18.449440: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 02:40:18.449478: Inverter 0 discharge windows currently []
2026-08-15 02:40:18.449500: Note: Inverter does not support discharge freeze - disabled
2026-08-15 02:40:18.449534: Note: Inverter does not support charge freeze - disabled
2026-08-15 02:40:18.449561: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 02:40:18.503781: Inverter 0 Charge window will be: 2026-08-15 11:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 12%, target 100%
2026-08-15 02:40:18.503966: Inverter 0 disabled charge window while waiting for schedule (now 08-15 02:40:00 target set_window_minutes 30 charge start time 08-15 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 02:40:18.504037: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 02:40:18.504228: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 02:40:18.504310: No export window planned
2026-08-15 02:40:18.504427: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 02:40:18.504480: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 02:40:18.504616: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 02:40:18.504809: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 02:40:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 02:40:18.504909: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 02:40:18.505022: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 02:40:18.505154: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 02:40:18.505193: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 02:40:18.505240: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 02:40:18.505303: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 02:40:18.505422: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 02:40:18.505491: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 02:40:18.505556: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 02:40:18.505676: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 02:40:18.505730: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 02:40:18.505778: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 02:40:18.505849: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 02:40:18.505906: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 02:40:18.505960: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 02:40:18.506019: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 02:40:18.506070: Inverter 0 count register writes 0
2026-08-15 02:40:18.525673: Total inverter register writes now 815
2026-08-15 02:40:18.557927: Info: Completed run status Demand
2026-08-15 02:40:18.564130: Info: record_status Demand
2026-08-15 02:40:18.571157: Saved current settings to /config/predbat_config.json
2026-08-15 02:40:18.571441: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 02:40:56.673184: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 02:40:56.673467: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 02:40:56.673518: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 02:40:56.673690: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 02:40:56.673732: Note: Inverter does not support discharge freeze - disabled
2026-08-15 02:40:56.673753: Note: Inverter does not support charge freeze - disabled
2026-08-15 02:40:56.673771: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 02:42:56.900527: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 02:42:56.900757: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 02:42:56.900843: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 02:42:56.901033: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 02:42:56.901127: Note: Inverter does not support discharge freeze - disabled
2026-08-15 02:42:56.901162: Note: Inverter does not support charge freeze - disabled
2026-08-15 02:42:56.901193: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 02:44:57.118832: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 02:44:57.119091: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 02:44:57.119128: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 02:44:57.119305: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 02:44:57.119353: Note: Inverter does not support discharge freeze - disabled
2026-08-15 02:44:57.119374: Note: Inverter does not support charge freeze - disabled
2026-08-15 02:44:57.119392: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 02:45:00.194957: --------------- PredBat - update at 2026-08-15 02:45:00+01:00 with clock skew 0 minutes, minutes now 165
2026-08-15 02:45:00.195789: Saved current settings to /config/predbat_config.json
2026-08-15 02:45:00.195976: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 40.0 minutes
2026-08-15 02:45:00.196040: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.1, latest beta is v8.48.1
2026-08-15 02:45:00.196118: Autoupdate: Currently up to date
2026-08-15 02:45:00.215594: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 02:45:00.215763: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 02:45:00.215934: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 02:45:00.216435: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 02:45:00.216556: Predbat mode is set to Control charge & discharge
2026-08-15 02:45:00.398154: Found 21602 load_today datapoints going back 28 days
2026-08-15 02:45:00.398934: Using load_power data to fill gaps in load_today data
2026-08-15 02:45:01.153823: Processing 721 30-minute periods for power integration
2026-08-15 02:45:01.306123: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 02:45:01.306250: Car charging hold False, threshold 6.0kWh
2026-08-15 02:45:01.306306: Current data so far today: load 3.5kWh, import 3.4kWh, export 0.0kWh, PV 0kWh
2026-08-15 02:45:01.318850: Cars: SoC: [12.892000000000001]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 02:45:01.319239: Standing charge is set to 49.98p
2026-08-15 02:45:01.342145: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 02:45:01.342237: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 02:45:01.342429: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 165.0 minutes
2026-08-15 02:45:01.342744: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 164.7 minutes
2026-08-15 02:45:01.345346: Loaded 47 datapoints of futurerate analysis
2026-08-15 02:45:01.412536: Predicted future rates: ['08-15 00:00:00 => 28.9 / 20.01', '08-15 01:00:00 => 27.54 / 19.31', '08-15 02:00:00 => 26.52 / 18.8', '08-15 03:00:00 => 25.99 / 18.53', '08-15 04:00:00 => 25.8 / 18.43', '08-15 05:00:00 => 25.96 / 18.51', '08-15 06:00:00 => 25.55 / 18.3', '08-15 07:00:00 => 24.33 / 17.68', '08-15 08:00:00 => 23.03 / 17.01', '08-15 09:00:00 => 22.05 / 16.51', '08-15 10:00:00 => 20.43 / 15.68', '08-15 11:00:00 => 18.01 / 14.45', '08-15 12:00:00 => 16.37 / 13.61', '08-15 13:00:00 => 15.76 / 13.3', '08-15 14:00:00 => 15.35 / 13.09', '08-15 15:00:00 => 15.86 / 13.35', '08-15 16:00:00 => 32.89 / 16.13', '08-15 17:00:00 => 38.02 / 18.75', '08-15 18:00:00 => 42.36 / 20.96', '08-15 19:00:00 => 31.09 / 21.13', '08-15 20:00:00 => 31.64 / 21.41', '08-15 21:00:00 => 31.64 / 21.41', '08-15 22:00:00 => 30.58 / 20.87']
2026-08-15 02:45:01.461741: Rate min forward looking: now 13.77p at end of forecast 13.77p
2026-08-15 02:45:01.462214: Import rates: min 13.77p, max 43.82p, average 25.96p
2026-08-15 02:45:01.496829: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 02:45:01.497565: Rate thresholds (for charge/export) are import 43.32p (0.0p), export -0.1p (0.0p)
2026-08-15 02:45:01.498663: High export rate found rates in range 99p to -99p
2026-08-15 02:45:01.566396: Low Import rate found rates in range 13.77p to 41.55p
2026-08-15 02:45:01.566530: Car 0 charging is not planned as it is not plugged in
2026-08-15 02:45:01.578718: Battery level now 1.55kWh, -1hr ago 1.74kWh, at midnight 1.66kWh, battery value change in the last hour -2.27p, change today -1.23p, rate_forward 11.83p
2026-08-15 02:45:01.579067: Last hour: net energy 0.5kWh, import 0.5kWh, export 0.0kWh, car 0kWh, load 1.35kWh, net cost 12.88p, import 12.88p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 02:45:01.641798: Today's energy total net 3.4kWh, import 3.4kWh, export 0.0kWh, cost 142.76p, import 92.78p, export 0.0p, carbon 0.0kg
2026-08-15 02:45:01.641931: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 02:45:01.703556: Using weighted-bucket historical load forecast over 14 days
2026-08-15 02:45:01.721668: Today's load divergence 100.0%, in-day adjustment 143.77%, damping 0.95x, yesterday 143.77% today 100.0% blend 100.0%
2026-08-15 02:45:01.721772: Today's predicted so far 2.13kWh with 0.0kWh car/iBoost excluded, 1.43kWh import ignored, and 2.13kWh forecast extra.
2026-08-15 02:45:01.721812: Today's actual load so far 3.51kWh with 0.0kWh car/iBoost excluded, and 1.43kWh import ignored.
2026-08-15 02:45:01.754656: Inverter 0: Type SK Sunsynk
2026-08-15 02:45:01.754737: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 02:45:01.754917: Reserve min: 7%, battery_min: 7%
2026-08-15 02:45:01.754970: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 02:45:01.755188: Inverter 0 SoC: 1.89kW 12%, current charge rate 5000W, current discharge rate 5250W, current battery power 576W, current battery voltage 51.2V, grid power -56W, load power 626W, PV Power 0W
2026-08-15 02:45:01.755330: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 02:45:01.755423: Inverter 0 scheduled charge enable is False
2026-08-15 02:45:01.755448: Inverter 0 charge windows currently []
2026-08-15 02:45:01.755470: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 02:45:01.755563: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 02:45:01.755587: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 02:45:01.755615: Inverter 0 scheduled discharge enable is False
2026-08-15 02:45:01.755732: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 02:45:01.755806: Inverter 0 discharge windows currently []
2026-08-15 02:45:01.755838: Note: Inverter does not support discharge freeze - disabled
2026-08-15 02:45:01.755868: Note: Inverter does not support charge freeze - disabled
2026-08-15 02:45:01.755883: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 02:45:01.809168: Dynamic load last period 3.00kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 02:45:01.809261: Plan was last updated on 2026-08-15 02:40:00+01:00 and is now 5.0 minutes old
2026-08-15 02:45:01.809485: Best charge window [ 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 00:30:00 @ 28.84p 100% ]
2026-08-15 02:45:01.809520: Best export window [  ]
2026-08-15 02:45:01.810192: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 02:45:01.812655: Load divergence over 8.0 hours mean 422.11W, min 226.2W, max 892.2W, std dev 102.37W, divergence 12.13%
2026-08-15 02:45:01.827798: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 02:45:01.827899: LoadML is_calculating False
2026-08-15 02:45:01.827951: Creating pool of 12 processes to match your CPU count
2026-08-15 02:45:01.933113: predict base end_record 08-16 11:35:00, final soc 1.12kWh, metric 844.45p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 03:25:00, load 30.03kWh, PV 0.0kWh
2026-08-15 02:45:02.046553: Battery has 0.67 hours left - now at 1.89kWh
2026-08-15 02:45:02.090361: predict base10 end_record 08-16 11:35:00, final soc 1.12kWh, metric 876.31p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 03:25:00, load 31.29kWh, PV 0.0kWh
2026-08-15 02:45:02.167765: predict best10 end_record 08-16 11:35:00, final soc 1.44kWh, metric 704.58p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 03:25:00, load 31.29kWh, PV 0.0kWh
2026-08-15 02:45:02.240698: predict best end_record 08-16 11:35:00, final soc 1.51kWh, metric 674.18p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 03:25:00, load 30.03kWh, PV 0.0kWh
2026-08-15 02:45:02.240794: Saving plan best values to HA entities
2026-08-15 02:45:02.401249: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0
2026-08-15 02:45:02.406647: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 02:45:02.412008: Best charging limit SoC's [16.0, 3.5, 4.0, 16.0, 16.0, 16.0]kWh, export []kWh gives import battery 21.21kWh, house 7.14kWh, export 0.0kWh, metric 674.18p, metric10 704.58p
2026-08-15 02:45:02.494520: Marginal costs baseline metric (no standing charge): 624.1965
2026-08-15 02:45:02.767564: Marginal energy costs matrix computed: min=14.92 max=26.34
2026-08-15 02:45:02.842474: Rate array import [{'start': 165, 'end': 420, 'rate': 'expensive', 'range': '(24.6p - 27.6p)'}, {'start': 420, 'end': 450, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 450, 'end': 480, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 480, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 23.6p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1860, 'rate': 'expensive', 'range': '(24.6p - 32.9p)'}, {'start': 1860, 'end': 1890, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 1890, 'end': 1920, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 1920, 'end': 2135, 'rate': 'cheap', 'range': '(15.5p - 23.6p)'}] export [{'start': 165, 'end': 2135, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 02:45:02.843082: - Your estimated bill for today is £5.97 and tomorrow is £5.53
2026-08-15 02:45:02.843120: - Import rates are expensive (24.6p - 27.6p) for the next 4 and a quarter hours and then cheap (22.7p) for the next 30 minutes.
2026-08-15 02:45:02.843138: - The battery is currently at 12% and is in eco mode for the next 8 hours.
2026-08-15 02:45:02.843153: - For the next 48 hours there will be no solar generation.
2026-08-15 02:45:02.843167: - You will run out of battery in 40 minutes.
2026-08-15 02:45:02.843180: - Your next charge slot will be in 8 hours where import rates will be cheap (15.5p).
2026-08-15 02:45:02.843195: 
2026-08-15 02:45:02.894137: Plan calculation took 1.08 seconds
2026-08-15 02:45:02.896688: No high rate period found
2026-08-15 02:45:02.943098: Import threshold used for optimisation was 24.79p
2026-08-15 02:45:02.995419: Low import rate windows [0: 08-15 02:30:00 - 08-15 03:00:00 @ 24.79, 1: 08-15 03:00:00 - 08-15 03:30:00 @ 25.08, 2: 08-15 03:30:00 - 08-15 04:00:00 @ 24.62, 3: 08-15 04:00:00 - 08-15 04:30:00 @ 27.02, 4: 08-15 04:30:00 - 08-15 05:00:00 @ 26.47, 5: 08-15 05:00:00 - 08-15 05:30:00 @ 26.25, 6: 08-15 05:30:00 - 08-15 06:00:00 @ 26.4, 7: 08-15 06:00:00 - 08-15 06:30:00 @ 25.7, 8: 08-15 06:30:00 - 08-15 07:00:00 @ 27.63, 9: 08-15 07:00:00 - 08-15 07:30:00 @ 22.73, 10: 08-15 07:30:00 - 08-15 08:00:00 @ 26.7, 11: 08-15 08:00:00 - 08-15 08:30:00 @ 22.92, 12: 08-15 08:30:00 - 08-15 09:00:00 @ 22.48, 13: 08-15 09:00:00 - 08-15 09:30:00 @ 23.55, 14: 08-15 09:30:00 - 08-15 10:00:00 @ 23.64, 15: 08-15 10:00:00 - 08-15 10:30:00 @ 19.66, 16: 08-15 10:30:00 - 08-15 11:00:00 @ 17.66, 17: 08-15 11:00:00 - 08-15 11:30:00 @ 16.56, 18: 08-15 11:30:00 - 08-15 12:00:00 @ 15.46, 19: 08-15 12:00:00 - 08-15 12:30:00 @ 17.0, 20: 08-15 12:30:00 - 08-15 13:00:00 @ 16.34, 21: 08-15 13:00:00 - 08-15 13:30:00 @ 15.36, 22: 08-15 13:30:00 - 08-15 14:00:00 @ 15.74, 23: 08-15 14:00:00 - 08-15 14:30:00 @ 14.57, 24: 08-15 14:30:00 - 08-15 15:00:00 @ 13.77, 25: 08-15 15:00:00 - 08-15 15:30:00 @ 15.02, 26: 08-15 15:30:00 - 08-15 16:00:00 @ 15.87, 27: 08-15 16:00:00 - 08-15 16:30:00 @ 33.13, 28: 08-15 16:30:00 - 08-15 17:00:00 @ 33.13, 29: 08-15 17:00:00 - 08-15 17:30:00 @ 38.46, 30: 08-15 17:30:00 - 08-15 18:00:00 @ 40.44, 31: 08-15 18:00:00 - 08-15 18:30:00 @ 41.55, 32: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 33: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 34: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 35: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 36: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 37: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 38: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 39: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 40: 08-15 23:00:00 - 08-15 23:30:00 @ 27.8, 41: 08-15 23:30:00 - 08-16 00:00:00 @ 29.09, 42: 08-16 00:00:00 - 08-16 00:30:00 @ 28.47, 43: 08-16 00:30:00 - 08-16 01:00:00 @ 27.18, 44: 08-16 01:00:00 - 08-16 01:30:00 @ 27.57, 45: 08-16 01:30:00 - 08-16 02:00:00 @ 26.5, 46: 08-16 02:00:00 - 08-16 02:30:00 @ 25.6, 47: 08-16 02:30:00 - 08-16 03:00:00 @ 24.79, 48: 08-16 03:00:00 - 08-16 03:30:00 @ 25.08, 49: 08-16 03:30:00 - 08-16 04:00:00 @ 24.62, 50: 08-16 04:00:00 - 08-16 04:30:00 @ 27.02, 51: 08-16 04:30:00 - 08-16 05:00:00 @ 26.47, 52: 08-16 05:00:00 - 08-16 05:30:00 @ 26.25, 53: 08-16 05:30:00 - 08-16 06:00:00 @ 26.4, 54: 08-16 06:00:00 - 08-16 06:30:00 @ 25.7, 55: 08-16 06:30:00 - 08-16 07:00:00 @ 27.63, 56: 08-16 07:00:00 - 08-16 07:30:00 @ 22.73, 57: 08-16 07:30:00 - 08-16 08:00:00 @ 26.7, 58: 08-16 08:00:00 - 08-16 08:30:00 @ 22.92, 59: 08-16 08:30:00 - 08-16 09:00:00 @ 22.48, 60: 08-16 09:00:00 - 08-16 09:30:00 @ 23.55, 61: 08-16 09:30:00 - 08-16 10:00:00 @ 23.64, 62: 08-16 10:00:00 - 08-16 10:30:00 @ 19.66, 63: 08-16 10:30:00 - 08-16 11:00:00 @ 17.66, 64: 08-16 11:00:00 - 08-16 11:30:00 @ 16.56, 65: 08-16 11:30:00 - 08-16 12:00:00 @ 15.46, 66: 08-16 12:00:00 - 08-16 12:30:00 @ 17.0, 67: 08-16 12:30:00 - 08-16 13:00:00 @ 16.34, 68: 08-16 13:00:00 - 08-16 13:30:00 @ 15.36, 69: 08-16 13:30:00 - 08-16 14:00:00 @ 15.74, 70: 08-16 14:00:00 - 08-16 14:30:00 @ 14.57, 71: 08-16 14:30:00 - 08-16 15:00:00 @ 13.77, 72: 08-16 15:00:00 - 08-16 15:30:00 @ 15.02, 73: 08-16 15:30:00 - 08-16 16:00:00 @ 15.87, 74: 08-16 16:00:00 - 08-16 16:30:00 @ 33.13, 75: 08-16 16:30:00 - 08-16 17:00:00 @ 33.13, 76: 08-16 17:00:00 - 08-16 17:30:00 @ 38.46, 77: 08-16 17:30:00 - 08-16 18:00:00 @ 40.44, 78: 08-16 18:00:00 - 08-16 18:30:00 @ 41.55, 79: 08-16 19:00:00 - 08-16 19:30:00 @ 32.58, 80: 08-16 19:30:00 - 08-16 20:00:00 @ 32.9, 81: 08-16 20:00:00 - 08-16 20:30:00 @ 31.99, 82: 08-16 20:30:00 - 08-16 21:00:00 @ 32.1, 83: 08-16 21:00:00 - 08-16 21:30:00 @ 31.71, 84: 08-16 21:30:00 - 08-16 22:00:00 @ 31.67, 85: 08-16 22:00:00 - 08-16 22:30:00 @ 31.77, 86: 08-16 22:30:00 - 08-16 23:00:00 @ 29.81, 87: 08-16 23:00:00 - 08-16 23:30:00 @ 27.8, 88: 08-16 23:30:00 - 08-17 00:00:00 @ 29.09, 89: 08-17 00:00:00 - 08-17 00:30:00 @ 28.47, 90: 08-17 00:30:00 - 08-17 01:00:00 @ 27.18, 91: 08-17 01:00:00 - 08-17 01:30:00 @ 27.57, 92: 08-17 01:30:00 - 08-17 02:00:00 @ 26.5, 93: 08-17 02:00:00 - 08-17 02:30:00 @ 25.6, 94: 08-17 02:30:00 - 08-17 03:00:00 @ 24.79]
2026-08-15 02:45:03.004078: Inverter 0 Charge window will be: 2026-08-15 11:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 12%, target 100%
2026-08-15 02:45:03.004228: Inverter 0 disabled charge window while waiting for schedule (now 08-15 02:45:00 target set_window_minutes 30 charge start time 08-15 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 02:45:03.004363: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 02:45:03.004678: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 02:45:03.004792: No export window planned
2026-08-15 02:45:03.004936: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 02:45:03.005039: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 02:45:03.005186: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 02:45:03.005370: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 02:45:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 02:45:03.005435: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 02:45:03.005501: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 02:45:03.005594: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 02:45:03.005639: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 02:45:03.005672: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 02:45:03.005698: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 02:45:03.005722: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 02:45:03.005772: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 02:45:03.005801: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 02:45:03.005863: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 02:45:03.005891: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 02:45:03.005921: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 02:45:03.005946: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 02:45:03.005976: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 02:45:03.006000: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 02:45:03.006023: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 02:45:03.006048: Inverter 0 count register writes 0
2026-08-15 02:45:03.022091: Will not recompute the plan, it is 5.0 minutes old and max age is 10 minutes
2026-08-15 02:45:03.028276: Total inverter register writes now 815
2026-08-15 02:45:03.067124: Info: Completed run status Demand
2026-08-15 02:45:03.073876: Info: record_status Demand
2026-08-15 02:45:03.081214: Saved current settings to /config/predbat_config.json
2026-08-15 02:45:03.081621: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 02:45:42.184084: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 02:45:42.184287: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 02:45:42.184331: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 02:45:42.184529: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 02:45:42.184568: Note: Inverter does not support discharge freeze - disabled
2026-08-15 02:45:42.184605: Note: Inverter does not support charge freeze - disabled
2026-08-15 02:45:42.184628: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 02:47:42.388243: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 02:47:42.388475: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 02:47:42.388518: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 02:47:42.388840: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 02:47:42.388894: Note: Inverter does not support discharge freeze - disabled
2026-08-15 02:47:42.388914: Note: Inverter does not support charge freeze - disabled
2026-08-15 02:47:42.388929: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 02:49:56.613701: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 02:49:56.613938: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 02:49:56.613977: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 02:49:56.614105: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 02:49:56.614144: Note: Inverter does not support discharge freeze - disabled
2026-08-15 02:49:56.614166: Note: Inverter does not support charge freeze - disabled
2026-08-15 02:49:56.614185: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 02:50:00.697763: --------------- PredBat - update at 2026-08-15 02:50:00+01:00 with clock skew 0 minutes, minutes now 170
2026-08-15 02:50:00.698810: Saved current settings to /config/predbat_config.json
2026-08-15 02:50:00.699024: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 45.0 minutes
2026-08-15 02:50:00.699138: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.1, latest beta is v8.48.1
2026-08-15 02:50:00.699238: Autoupdate: Currently up to date
2026-08-15 02:50:00.721072: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 02:50:00.721186: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 02:50:00.721328: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 02:50:00.721761: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 02:50:00.721861: Predbat mode is set to Control charge & discharge
2026-08-15 02:50:00.887857: Found 21602 load_today datapoints going back 28 days
2026-08-15 02:50:00.887993: Using load_power data to fill gaps in load_today data
2026-08-15 02:50:01.652626: Processing 721 30-minute periods for power integration
2026-08-15 02:50:01.835448: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 02:50:01.835586: Car charging hold False, threshold 6.0kWh
2026-08-15 02:50:01.835631: Current data so far today: load 3.15kWh, import 4.0kWh, export 0.0kWh, PV 0kWh
2026-08-15 02:50:01.850310: Cars: SoC: [12.892000000000001]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 02:50:01.850853: Standing charge is set to 49.98p
2026-08-15 02:50:01.878699: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 02:50:01.878767: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 02:50:01.878972: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 170.0 minutes
2026-08-15 02:50:01.879380: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 169.7 minutes
2026-08-15 02:50:01.882059: Loaded 47 datapoints of futurerate analysis
2026-08-15 02:50:01.950772: Predicted future rates: ['08-15 00:00:00 => 28.9 / 20.01', '08-15 01:00:00 => 27.54 / 19.31', '08-15 02:00:00 => 26.52 / 18.8', '08-15 03:00:00 => 25.99 / 18.53', '08-15 04:00:00 => 25.8 / 18.43', '08-15 05:00:00 => 25.96 / 18.51', '08-15 06:00:00 => 25.55 / 18.3', '08-15 07:00:00 => 24.33 / 17.68', '08-15 08:00:00 => 23.03 / 17.01', '08-15 09:00:00 => 22.05 / 16.51', '08-15 10:00:00 => 20.43 / 15.68', '08-15 11:00:00 => 18.01 / 14.45', '08-15 12:00:00 => 16.37 / 13.61', '08-15 13:00:00 => 15.76 / 13.3', '08-15 14:00:00 => 15.35 / 13.09', '08-15 15:00:00 => 15.86 / 13.35', '08-15 16:00:00 => 32.89 / 16.13', '08-15 17:00:00 => 38.02 / 18.75', '08-15 18:00:00 => 42.36 / 20.96', '08-15 19:00:00 => 31.09 / 21.13', '08-15 20:00:00 => 31.64 / 21.41', '08-15 21:00:00 => 31.64 / 21.41', '08-15 22:00:00 => 30.58 / 20.87']
2026-08-15 02:50:02.000628: Rate min forward looking: now 13.77p at end of forecast 13.77p
2026-08-15 02:50:02.001099: Import rates: min 13.77p, max 43.82p, average 25.96p
2026-08-15 02:50:02.035967: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 02:50:02.036070: Rate thresholds (for charge/export) are import 43.32p (0.0p), export -0.1p (0.0p)
2026-08-15 02:50:02.037202: High export rate found rates in range 99p to -99p
2026-08-15 02:50:02.101313: Low Import rate found rates in range 13.77p to 41.55p
2026-08-15 02:50:02.101407: Car 0 charging is not planned as it is not plugged in
2026-08-15 02:50:02.112426: Battery level now 1.89kWh, -1hr ago 1.96kWh, at midnight 1.66kWh, battery value change in the last hour -0.85p, change today 2.74p, rate_forward 11.83p
2026-08-15 02:50:02.112726: Last hour: net energy 1.05kWh, import 1.05kWh, export 0.0kWh, car 0kWh, load 0.97kWh, net cost 26.43p, import 26.43p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 02:50:02.154784: Today's energy total net 4.0kWh, import 4.0kWh, export 0.0kWh, cost 157.64p, import 107.65p, export 0.0p, carbon 0.0kg
2026-08-15 02:50:02.154896: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 02:50:02.215656: Using weighted-bucket historical load forecast over 14 days
2026-08-15 02:50:02.235976: Today's load divergence 100.0%, in-day adjustment 143.77%, damping 0.95x, yesterday 143.77% today 100.0% blend 100.0%
2026-08-15 02:50:02.236059: Today's predicted so far 2.16kWh with 0.0kWh car/iBoost excluded, 1.9kWh import ignored, and 2.16kWh forecast extra.
2026-08-15 02:50:02.236091: Today's actual load so far 3.14kWh with 0.0kWh car/iBoost excluded, and 1.9kWh import ignored.
2026-08-15 02:50:02.270924: Inverter 0: Type SK Sunsynk
2026-08-15 02:50:02.271018: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 02:50:02.271205: Reserve min: 7%, battery_min: 7%
2026-08-15 02:50:02.271282: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 02:50:02.271566: Inverter 0 SoC: 1.92kW 12%, current charge rate 5000W, current discharge rate 5250W, current battery power 522W, current battery voltage 51.2V, grid power -59W, load power 580W, PV Power 0W
2026-08-15 02:50:02.271735: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 02:50:02.271822: Inverter 0 scheduled charge enable is False
2026-08-15 02:50:02.271850: Inverter 0 charge windows currently []
2026-08-15 02:50:02.271875: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 02:50:02.272009: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 02:50:02.272046: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 02:50:02.272081: Inverter 0 scheduled discharge enable is False
2026-08-15 02:50:02.272205: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 02:50:02.272241: Inverter 0 discharge windows currently []
2026-08-15 02:50:02.272263: Note: Inverter does not support discharge freeze - disabled
2026-08-15 02:50:02.272281: Note: Inverter does not support charge freeze - disabled
2026-08-15 02:50:02.272301: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 02:50:02.332000: Dynamic load last period 0.60kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 02:50:02.332115: Plan was last updated on 2026-08-15 02:40:00+01:00 and is now 10.0 minutes old
2026-08-15 02:50:02.332624: Best charge window [ 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 00:30:00 @ 28.84p 100% ]
2026-08-15 02:50:02.332737: Best export window [  ]
2026-08-15 02:50:02.334009: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 02:50:02.337191: Load divergence over 8.0 hours mean 422.07W, min 278.4W, max 766.8W, std dev 83.36W, divergence 9.87%
2026-08-15 02:50:02.355903: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 02:50:02.356361: LoadML is_calculating False
2026-08-15 02:50:02.356437: Creating pool of 12 processes to match your CPU count
2026-08-15 02:50:02.472363: predict base end_record 08-16 11:40:00, final soc 1.12kWh, metric 858.76p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 03:30:00, load 29.72kWh, PV 0.0kWh
2026-08-15 02:50:02.614341: Battery has 0.67 hours left - now at 1.92kWh
2026-08-15 02:50:02.658707: predict base10 end_record 08-16 11:40:00, final soc 1.12kWh, metric 890.65p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 03:30:00, load 30.98kWh, PV 0.0kWh
2026-08-15 02:50:02.734502: predict best10 end_record 08-16 11:40:00, final soc 1.77kWh, metric 724.2p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 03:30:00, load 30.98kWh, PV 0.0kWh
2026-08-15 02:50:02.808465: predict best end_record 08-16 11:40:00, final soc 1.9kWh, metric 694.7p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 03:30:00, load 29.72kWh, PV 0.0kWh
2026-08-15 02:50:02.808546: Saving plan best values to HA entities
2026-08-15 02:50:02.951136: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 02:50:02.955881: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0.0
2026-08-15 02:50:02.960496: Best charging limit SoC's [16.0, 3.5, 4.0, 16.0, 16.0, 16.0]kWh, export []kWh gives import battery 21.73kWh, house 7.05kWh, export 0.0kWh, metric 694.7p, metric10 724.2p
2026-08-15 02:50:03.023682: Marginal costs baseline metric (no standing charge): 644.7213
2026-08-15 02:50:03.240405: Marginal energy costs matrix computed: min=15.09 max=26.34
2026-08-15 02:50:03.310760: Rate array import [{'start': 170, 'end': 420, 'rate': 'expensive', 'range': '(24.6p - 27.6p)'}, {'start': 420, 'end': 450, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 450, 'end': 480, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 480, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 23.6p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1860, 'rate': 'expensive', 'range': '(24.6p - 32.9p)'}, {'start': 1860, 'end': 1890, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 1890, 'end': 1920, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 1920, 'end': 2140, 'rate': 'cheap', 'range': '(15.5p - 23.6p)'}] export [{'start': 170, 'end': 2140, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 02:50:03.311360: - Your estimated bill for today is £6.09 and tomorrow is £5.54
2026-08-15 02:50:03.311397: - Import rates are expensive (24.6p - 27.6p) for the next 4 and a quarter hours and then cheap (22.7p) for the next 30 minutes.
2026-08-15 02:50:03.311416: - The battery is currently at 12% and is in eco mode for the next 8 hours.
2026-08-15 02:50:03.311431: - For the next 48 hours there will be no solar generation.
2026-08-15 02:50:03.311445: - You will run out of battery in 40 minutes.
2026-08-15 02:50:03.311459: - Your next charge slot will be in 8 hours where import rates will be cheap (15.5p).
2026-08-15 02:50:03.311481: 
2026-08-15 02:50:03.361404: Plan calculation took 1.03 seconds
2026-08-15 02:50:03.364674: No high rate period found
2026-08-15 02:50:03.419504: Import threshold used for optimisation was 24.79p
2026-08-15 02:50:03.476720: Low import rate windows [0: 08-15 02:30:00 - 08-15 03:00:00 @ 24.79, 1: 08-15 03:00:00 - 08-15 03:30:00 @ 25.08, 2: 08-15 03:30:00 - 08-15 04:00:00 @ 24.62, 3: 08-15 04:00:00 - 08-15 04:30:00 @ 27.02, 4: 08-15 04:30:00 - 08-15 05:00:00 @ 26.47, 5: 08-15 05:00:00 - 08-15 05:30:00 @ 26.25, 6: 08-15 05:30:00 - 08-15 06:00:00 @ 26.4, 7: 08-15 06:00:00 - 08-15 06:30:00 @ 25.7, 8: 08-15 06:30:00 - 08-15 07:00:00 @ 27.63, 9: 08-15 07:00:00 - 08-15 07:30:00 @ 22.73, 10: 08-15 07:30:00 - 08-15 08:00:00 @ 26.7, 11: 08-15 08:00:00 - 08-15 08:30:00 @ 22.92, 12: 08-15 08:30:00 - 08-15 09:00:00 @ 22.48, 13: 08-15 09:00:00 - 08-15 09:30:00 @ 23.55, 14: 08-15 09:30:00 - 08-15 10:00:00 @ 23.64, 15: 08-15 10:00:00 - 08-15 10:30:00 @ 19.66, 16: 08-15 10:30:00 - 08-15 11:00:00 @ 17.66, 17: 08-15 11:00:00 - 08-15 11:30:00 @ 16.56, 18: 08-15 11:30:00 - 08-15 12:00:00 @ 15.46, 19: 08-15 12:00:00 - 08-15 12:30:00 @ 17.0, 20: 08-15 12:30:00 - 08-15 13:00:00 @ 16.34, 21: 08-15 13:00:00 - 08-15 13:30:00 @ 15.36, 22: 08-15 13:30:00 - 08-15 14:00:00 @ 15.74, 23: 08-15 14:00:00 - 08-15 14:30:00 @ 14.57, 24: 08-15 14:30:00 - 08-15 15:00:00 @ 13.77, 25: 08-15 15:00:00 - 08-15 15:30:00 @ 15.02, 26: 08-15 15:30:00 - 08-15 16:00:00 @ 15.87, 27: 08-15 16:00:00 - 08-15 16:30:00 @ 33.13, 28: 08-15 16:30:00 - 08-15 17:00:00 @ 33.13, 29: 08-15 17:00:00 - 08-15 17:30:00 @ 38.46, 30: 08-15 17:30:00 - 08-15 18:00:00 @ 40.44, 31: 08-15 18:00:00 - 08-15 18:30:00 @ 41.55, 32: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 33: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 34: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 35: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 36: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 37: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 38: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 39: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 40: 08-15 23:00:00 - 08-15 23:30:00 @ 27.8, 41: 08-15 23:30:00 - 08-16 00:00:00 @ 29.09, 42: 08-16 00:00:00 - 08-16 00:30:00 @ 28.47, 43: 08-16 00:30:00 - 08-16 01:00:00 @ 27.18, 44: 08-16 01:00:00 - 08-16 01:30:00 @ 27.57, 45: 08-16 01:30:00 - 08-16 02:00:00 @ 26.5, 46: 08-16 02:00:00 - 08-16 02:30:00 @ 25.6, 47: 08-16 02:30:00 - 08-16 03:00:00 @ 24.79, 48: 08-16 03:00:00 - 08-16 03:30:00 @ 25.08, 49: 08-16 03:30:00 - 08-16 04:00:00 @ 24.62, 50: 08-16 04:00:00 - 08-16 04:30:00 @ 27.02, 51: 08-16 04:30:00 - 08-16 05:00:00 @ 26.47, 52: 08-16 05:00:00 - 08-16 05:30:00 @ 26.25, 53: 08-16 05:30:00 - 08-16 06:00:00 @ 26.4, 54: 08-16 06:00:00 - 08-16 06:30:00 @ 25.7, 55: 08-16 06:30:00 - 08-16 07:00:00 @ 27.63, 56: 08-16 07:00:00 - 08-16 07:30:00 @ 22.73, 57: 08-16 07:30:00 - 08-16 08:00:00 @ 26.7, 58: 08-16 08:00:00 - 08-16 08:30:00 @ 22.92, 59: 08-16 08:30:00 - 08-16 09:00:00 @ 22.48, 60: 08-16 09:00:00 - 08-16 09:30:00 @ 23.55, 61: 08-16 09:30:00 - 08-16 10:00:00 @ 23.64, 62: 08-16 10:00:00 - 08-16 10:30:00 @ 19.66, 63: 08-16 10:30:00 - 08-16 11:00:00 @ 17.66, 64: 08-16 11:00:00 - 08-16 11:30:00 @ 16.56, 65: 08-16 11:30:00 - 08-16 12:00:00 @ 15.46, 66: 08-16 12:00:00 - 08-16 12:30:00 @ 17.0, 67: 08-16 12:30:00 - 08-16 13:00:00 @ 16.34, 68: 08-16 13:00:00 - 08-16 13:30:00 @ 15.36, 69: 08-16 13:30:00 - 08-16 14:00:00 @ 15.74, 70: 08-16 14:00:00 - 08-16 14:30:00 @ 14.57, 71: 08-16 14:30:00 - 08-16 15:00:00 @ 13.77, 72: 08-16 15:00:00 - 08-16 15:30:00 @ 15.02, 73: 08-16 15:30:00 - 08-16 16:00:00 @ 15.87, 74: 08-16 16:00:00 - 08-16 16:30:00 @ 33.13, 75: 08-16 16:30:00 - 08-16 17:00:00 @ 33.13, 76: 08-16 17:00:00 - 08-16 17:30:00 @ 38.46, 77: 08-16 17:30:00 - 08-16 18:00:00 @ 40.44, 78: 08-16 18:00:00 - 08-16 18:30:00 @ 41.55, 79: 08-16 19:00:00 - 08-16 19:30:00 @ 32.58, 80: 08-16 19:30:00 - 08-16 20:00:00 @ 32.9, 81: 08-16 20:00:00 - 08-16 20:30:00 @ 31.99, 82: 08-16 20:30:00 - 08-16 21:00:00 @ 32.1, 83: 08-16 21:00:00 - 08-16 21:30:00 @ 31.71, 84: 08-16 21:30:00 - 08-16 22:00:00 @ 31.67, 85: 08-16 22:00:00 - 08-16 22:30:00 @ 31.77, 86: 08-16 22:30:00 - 08-16 23:00:00 @ 29.81, 87: 08-16 23:00:00 - 08-16 23:30:00 @ 27.8, 88: 08-16 23:30:00 - 08-17 00:00:00 @ 29.09, 89: 08-17 00:00:00 - 08-17 00:30:00 @ 28.47, 90: 08-17 00:30:00 - 08-17 01:00:00 @ 27.18, 91: 08-17 01:00:00 - 08-17 01:30:00 @ 27.57, 92: 08-17 01:30:00 - 08-17 02:00:00 @ 26.5, 93: 08-17 02:00:00 - 08-17 02:30:00 @ 25.6, 94: 08-17 02:30:00 - 08-17 03:00:00 @ 24.79]
2026-08-15 02:50:03.484072: Inverter 0 Charge window will be: 2026-08-15 11:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 12%, target 100%
2026-08-15 02:50:03.484218: Inverter 0 disabled charge window while waiting for schedule (now 08-15 02:50:00 target set_window_minutes 30 charge start time 08-15 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 02:50:03.484339: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 02:50:03.484603: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 02:50:03.484718: No export window planned
2026-08-15 02:50:03.484844: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 02:50:03.484881: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 02:50:03.485049: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 02:50:03.485259: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 02:50:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 02:50:03.485325: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 02:50:03.485390: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 02:50:03.485482: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 02:50:03.485525: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 02:50:03.485553: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 02:50:03.485583: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 02:50:03.485609: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 02:50:03.485633: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 02:50:03.485674: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 02:50:03.485737: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 02:50:03.485774: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 02:50:03.485800: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 02:50:03.485846: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 02:50:03.485871: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 02:50:03.485895: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 02:50:03.485918: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 02:50:03.485937: Inverter 0 count register writes 0
2026-08-15 02:50:03.504027: Will recompute the plan as it is now 10.0 minutes old and will exceed the max age of 10 minutes before the next run
2026-08-15 02:50:03.504200: Recompute is saving previous plan...
2026-08-15 02:50:03.507794: Best charge window [ 15-08 02:30:00 - 15-08 03:00:00 @ 24.79p 0%, 15-08 03:00:00 - 15-08 03:30:00 @ 25.08p 0%, 15-08 03:30:00 - 15-08 04:00:00 @ 24.62p 0%, 15-08 04:00:00 - 15-08 04:30:00 @ 27.02p 0%, 15-08 04:30:00 - 15-08 05:00:00 @ 26.47p 0%, 15-08 05:00:00 - 15-08 05:30:00 @ 26.25p 0%, 15-08 05:30:00 - 15-08 06:00:00 @ 26.4p 0%, 15-08 06:00:00 - 15-08 06:30:00 @ 25.7p 0%, 15-08 06:30:00 - 15-08 07:00:00 @ 27.63p 0%, 15-08 07:00:00 - 15-08 07:30:00 @ 22.73p 0%, 15-08 07:30:00 - 15-08 08:00:00 @ 26.7p 0%, 15-08 08:00:00 - 15-08 08:30:00 @ 22.92p 0%, 15-08 08:30:00 - 15-08 09:00:00 @ 22.48p 0%, 15-08 09:00:00 - 15-08 09:30:00 @ 23.55p 0%, 15-08 09:30:00 - 15-08 10:00:00 @ 23.64p 0%, 15-08 10:00:00 - 15-08 10:30:00 @ 19.66p 0%, 15-08 10:30:00 - 15-08 11:00:00 @ 17.66p 0%, 15-08 11:00:00 - 15-08 11:30:00 @ 16.56p 0%, 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 0%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 0%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 0%, 15-08 13:00:00 - 15-08 13:30:00 @ 15.36p 0%, 15-08 13:30:00 - 15-08 14:00:00 @ 15.74p 0%, 15-08 14:00:00 - 15-08 14:30:00 @ 14.57p 0%, 15-08 14:30:00 - 15-08 15:00:00 @ 13.77p 0%, 15-08 15:00:00 - 15-08 15:30:00 @ 15.02p 0%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 0%, 15-08 16:00:00 - 15-08 16:30:00 @ 33.13p 0%, 15-08 16:30:00 - 15-08 17:00:00 @ 33.13p 0%, 15-08 17:00:00 - 15-08 17:30:00 @ 38.46p 0%, 15-08 17:30:00 - 15-08 18:00:00 @ 40.44p 0%, 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 0%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 0%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 0%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 0%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 0%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 27.8p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 29.09p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.47p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.18p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 27.57p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.5p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.6p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 24.79p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 25.08p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 24.62p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 27.02p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.47p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 26.25p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.4p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.7p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 27.63p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 22.73p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 26.7p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 22.92p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 22.48p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 23.55p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 23.64p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 19.66p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 17.66p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 16.56p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 15.46p 0%, 16-08 12:00:00 - 16-08 12:30:00 @ 17.0p 0%, 16-08 12:30:00 - 16-08 13:00:00 @ 16.34p 0%, 16-08 13:00:00 - 16-08 13:30:00 @ 15.36p 0%, 16-08 13:30:00 - 16-08 14:00:00 @ 15.74p 0%, 16-08 14:00:00 - 16-08 14:30:00 @ 14.57p 0%, 16-08 14:30:00 - 16-08 15:00:00 @ 13.77p 0%, 16-08 15:00:00 - 16-08 15:30:00 @ 15.02p 0%, 16-08 15:30:00 - 16-08 16:00:00 @ 15.87p 0%, 16-08 16:00:00 - 16-08 16:30:00 @ 33.13p 0%, 16-08 16:30:00 - 16-08 17:00:00 @ 33.13p 0%, 16-08 17:00:00 - 16-08 17:30:00 @ 38.46p 0%, 16-08 17:30:00 - 16-08 18:00:00 @ 40.44p 0%, 16-08 18:00:00 - 16-08 18:30:00 @ 41.55p 0%, 16-08 19:00:00 - 16-08 19:30:00 @ 32.58p 0%, 16-08 19:30:00 - 16-08 20:00:00 @ 32.9p 0%, 16-08 20:00:00 - 16-08 20:30:00 @ 31.99p 0%, 16-08 20:30:00 - 16-08 21:00:00 @ 32.1p 0%, 16-08 21:00:00 - 16-08 21:30:00 @ 31.71p 0%, 16-08 21:30:00 - 16-08 22:00:00 @ 31.67p 0%, 16-08 22:00:00 - 16-08 22:30:00 @ 31.77p 0%, 16-08 22:30:00 - 16-08 23:00:00 @ 29.81p 0%, 16-08 23:00:00 - 16-08 23:30:00 @ 27.8p 0%, 16-08 23:30:00 - 17-08 00:00:00 @ 29.09p 0%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.47p 0%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.18p 0%, 17-08 01:00:00 - 17-08 01:30:00 @ 27.57p 0%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.5p 0%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.6p 0%, 17-08 02:30:00 - 17-08 03:00:00 @ 24.79p 0% ]
2026-08-15 02:50:03.507881: Best export window [  ]
2026-08-15 02:50:03.508677: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 02:50:03.511323: Load divergence over 8.0 hours mean 422.07W, min 278.4W, max 766.8W, std dev 83.36W, divergence 9.87%
2026-08-15 02:50:03.525373: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 02:50:03.525471: LoadML is_calculating False
2026-08-15 02:50:03.525529: Creating pool of 12 processes to match your CPU count
2026-08-15 02:50:03.601458: Calculate Best options: mode(Control charge & discharge), calculate_export_oncharge(False), calculate_export_on_pv(True), set_export_freeze_only(False), set_discharge_during_charge(True), combine_charge_slots(False), combine_export_slots(False), combine_rate_threshold(0.0), best_soc_min(0.0 kWh), best_soc_max(0.0 kWh), best_soc_keep(0.0 kWh), inverter_loss(4%), battery_loss(3%), battery_loss_discharge (3%), inverter_hybrid(True), metric_min_improvement(0.0p), metric_min_improvement_export(0.1p), metric_min_improvement_export_freeze(0.1p), metric_battery_cycle(0.0p/kWh), metric_battery_value_scaling(1.0 x) 
2026-08-15 02:50:03.603500: Optimise levels pass started at 2026-08-15 02:50:03
2026-08-15 02:50:03.603557: Optimise all windows, total charge 94 export 1
2026-08-15 02:50:04.651250: >> Region optimisation pass width 960 gives best_metric 810.78p, best_cost 817.66p, best_cycle 50.12kWh, best_import 40.4kWh
2026-08-15 02:50:05.059184: >> Region optimisation pass width 480 gives best_metric 810.78p, best_cost 817.66p, best_cycle 50.12kWh, best_import 40.4kWh
2026-08-15 02:50:05.598503: >> Region optimisation pass width 240 gives best_metric 810.78p, best_cost 817.66p, best_cycle 50.12kWh, best_import 40.4kWh
2026-08-15 02:50:06.588853: >> Region optimisation pass width 120 gives best_metric 810.78p, best_cost 817.66p, best_cycle 50.12kWh, best_import 40.4kWh
2026-08-15 02:50:06.589327: Calculated end_record as 08-16 11:30:00 based on best_price 16.34p, next_charge_start 08-15 11:30:00, max_windows 65
2026-08-15 02:50:06.589499: Optimise levels pass ended at 2026-08-15 02:50:06, duration 3.0 seconds tried 320 combinations
2026-08-15 02:50:06.589585: Set best_price_charge_level 17.6p, best_price_export_level 0p, best_price_charge 16.34p, best_cost_export 0p, best_metric 810.78p, best_keep 0kWh, best_cycle 50.12kWh, best_carbon 0kg, best_import 40.4kWh
2026-08-15 02:50:06.606376: Starting detailed optimisation end_record 08-16 11:30:00, best_price_charge 16.34p, best_price_export 0p. lowest_price_charge 13.77p with charge limits [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0]kWh and export limits []kWh
2026-08-15 02:50:10.701503: Tweak plan optimisation started metric 620.14p, cost 628.67p
2026-08-15 02:50:10.944938: Tweak optimisation finished metric 619.27p, cost 627.81p, metric_keep 0kWh, cycle 30.55kWh, carbon 0kg, import 27.74kWh, changed 8 window(s)
2026-08-15 02:50:10.965438: Swap charge optimisation started metric 619.27p, cost 627.81p, min_improvement_swap 0.1p
2026-08-15 02:50:17.028060: Swap charge optimisation finished metric 619.27p, cost 627.81p
2026-08-15 02:50:17.138346: Pruned 1 dead plan slot(s) in 12 trial(s), nominal metric 614.57p -> 614.57p, plan now metric 619.29p, cost 627.81p, cycle 30.55kWh, import 27.74kWh
2026-08-15 02:50:17.148078: Raw charge windows [ 15-08 02:30:00 - 15-08 03:00:00 @ 24.79p 0%, 15-08 03:00:00 - 15-08 03:30:00 @ 25.08p 9%, 15-08 03:30:00 - 15-08 04:00:00 @ 24.62p 9%, 15-08 04:00:00 - 15-08 04:30:00 @ 27.02p 0%, 15-08 04:30:00 - 15-08 05:00:00 @ 26.47p 0%, 15-08 05:00:00 - 15-08 05:30:00 @ 26.25p 0%, 15-08 05:30:00 - 15-08 06:00:00 @ 26.4p 0%, 15-08 06:00:00 - 15-08 06:30:00 @ 25.7p 0%, 15-08 06:30:00 - 15-08 07:00:00 @ 27.63p 0%, 15-08 07:00:00 - 15-08 07:30:00 @ 22.73p 0%, 15-08 07:30:00 - 15-08 08:00:00 @ 26.7p 0%, 15-08 08:00:00 - 15-08 08:30:00 @ 22.92p 0%, 15-08 08:30:00 - 15-08 09:00:00 @ 22.48p 0%, 15-08 09:00:00 - 15-08 09:30:00 @ 23.55p 0%, 15-08 09:30:00 - 15-08 10:00:00 @ 23.64p 0%, 15-08 10:00:00 - 15-08 10:30:00 @ 19.66p 0%, 15-08 10:30:00 - 15-08 11:00:00 @ 17.66p 0%, 15-08 11:00:00 - 15-08 11:30:00 @ 16.56p 0%, 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 13:30:00 @ 15.36p 100%, 15-08 13:30:00 - 15-08 14:00:00 @ 15.74p 100%, 15-08 14:00:00 - 15-08 14:30:00 @ 14.57p 100%, 15-08 14:30:00 - 15-08 15:00:00 @ 13.77p 100%, 15-08 15:00:00 - 15-08 15:30:00 @ 15.02p 100%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 100%, 15-08 16:00:00 - 15-08 16:30:00 @ 33.13p 0%, 15-08 16:30:00 - 15-08 17:00:00 @ 33.13p 0%, 15-08 17:00:00 - 15-08 17:30:00 @ 38.46p 0%, 15-08 17:30:00 - 15-08 18:00:00 @ 40.44p 0%, 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 0%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 0%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 0%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 0%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 0%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 27.8p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 29.09p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.47p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.18p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 27.57p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.5p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.6p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 24.79p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 25.08p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 24.62p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 27.02p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.47p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 26.25p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.4p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.7p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 27.63p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 22.73p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 26.7p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 22.92p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 22.48p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 23.55p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 23.64p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 19.66p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 17.66p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 16.56p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 15.46p 100%, 16-08 12:00:00 - 16-08 12:30:00 @ 17.0p 100%, 16-08 12:30:00 - 16-08 13:00:00 @ 16.34p 100%, 16-08 13:00:00 - 16-08 13:30:00 @ 15.36p 100%, 16-08 13:30:00 - 16-08 14:00:00 @ 15.74p 100%, 16-08 14:00:00 - 16-08 14:30:00 @ 14.57p 100%, 16-08 14:30:00 - 16-08 15:00:00 @ 13.77p 100%, 16-08 15:00:00 - 16-08 15:30:00 @ 15.02p 100%, 16-08 15:30:00 - 16-08 16:00:00 @ 15.87p 100%, 16-08 16:00:00 - 16-08 16:30:00 @ 33.13p 100%, 16-08 16:30:00 - 16-08 17:00:00 @ 33.13p 100%, 16-08 17:00:00 - 16-08 17:30:00 @ 38.46p 100%, 16-08 17:30:00 - 16-08 18:00:00 @ 40.44p 100%, 16-08 18:00:00 - 16-08 18:30:00 @ 41.55p 100%, 16-08 19:00:00 - 16-08 19:30:00 @ 32.58p 100%, 16-08 19:30:00 - 16-08 20:00:00 @ 32.9p 100%, 16-08 20:00:00 - 16-08 20:30:00 @ 31.99p 100%, 16-08 20:30:00 - 16-08 21:00:00 @ 32.1p 100%, 16-08 21:00:00 - 16-08 21:30:00 @ 31.71p 100%, 16-08 21:30:00 - 16-08 22:00:00 @ 31.67p 100%, 16-08 22:00:00 - 16-08 22:30:00 @ 31.77p 100%, 16-08 22:30:00 - 16-08 23:00:00 @ 29.81p 100%, 16-08 23:00:00 - 16-08 23:30:00 @ 27.8p 100%, 16-08 23:30:00 - 17-08 00:00:00 @ 29.09p 100%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.47p 100%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.18p 100%, 17-08 01:00:00 - 17-08 01:30:00 @ 27.57p 100%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.5p 100%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.6p 100%, 17-08 02:30:00 - 17-08 03:00:00 @ 24.79p 100% ] reserve 1.12
2026-08-15 02:50:17.148653: Unclipped charge windows [ 15-08 03:00:00 - 15-08 04:00:00 @ 24.85p 9%, 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 03:00:00 @ 25.58p 100% ] reserve 1.12
2026-08-15 02:50:17.148937: Unfiltered charge windows [ 15-08 03:00:00 - 15-08 04:00:00 @ 24.85p 9%, 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 03:00:00 @ 25.58p 100% ] reserve 1.12
2026-08-15 02:50:17.149203: Filtered charge windows [ 15-08 03:00:00 - 15-08 04:00:00 @ 24.85p 9%, 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 03:00:00 @ 25.58p 100% ] reserve 1.12
2026-08-15 02:50:17.178447: Previous plan best metric is 620.17 (cost 628.71) and new plan best metric is 619.27 (cost 627.81)
2026-08-15 02:50:17.178671: New plan metric is not significantly better (metric_min_improvement_plan 2.0) than previous plan, using previous plan
2026-08-15 02:50:17.178892: Plan valid is now true after recompute was False
2026-08-15 02:50:17.206507: predict base end_record 08-16 11:30:00, final soc 1.12kWh, metric 855.62p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 03:30:00, load 29.52kWh, PV 0.0kWh
2026-08-15 02:50:17.317920: Battery has 0.67 hours left - now at 1.92kWh
2026-08-15 02:50:17.363124: predict base10 end_record 08-16 11:30:00, final soc 1.12kWh, metric 887.37p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 03:30:00, load 30.77kWh, PV 0.0kWh
2026-08-15 02:50:17.429276: predict best10 end_record 08-16 11:30:00, final soc 1.12kWh, metric 710.18p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 03:30:00, load 30.77kWh, PV 0.0kWh
2026-08-15 02:50:17.497218: predict best end_record 08-16 11:30:00, final soc 1.12kWh, metric 678.69p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 03:30:00, load 29.52kWh, PV 0.0kWh
2026-08-15 02:50:17.497295: Saving plan best values to HA entities
2026-08-15 02:50:17.629058: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 02:50:17.633796: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0.0
2026-08-15 02:50:17.638457: Best charging limit SoC's [16.0, 3.5, 4.0, 16.0, 16.0, 16.0]kWh, export []kWh gives import battery 20.69kWh, house 7.05kWh, export 0.0kWh, metric 678.69p, metric10 710.18p
2026-08-15 02:50:17.697807: Marginal costs baseline metric (no standing charge): 628.7099
2026-08-15 02:50:17.916804: Marginal energy costs matrix computed: min=15.09 max=26.34
2026-08-15 02:50:17.980285: Rate array import [{'start': 170, 'end': 420, 'rate': 'expensive', 'range': '(24.6p - 27.6p)'}, {'start': 420, 'end': 450, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 450, 'end': 480, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 480, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 23.6p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1860, 'rate': 'expensive', 'range': '(24.6p - 32.9p)'}, {'start': 1860, 'end': 1890, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 1890, 'end': 1920, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 1920, 'end': 2130, 'rate': 'cheap', 'range': '(16.6p - 23.6p)'}] export [{'start': 170, 'end': 2130, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 02:50:17.981037: - Your estimated bill for today is £6.09 and tomorrow is £5.54
2026-08-15 02:50:17.981138: - Import rates are expensive (24.6p - 27.6p) for the next 4 and a quarter hours and then cheap (22.7p) for the next 30 minutes.
2026-08-15 02:50:17.981173: - The battery is currently at 12% and is in eco mode for the next 8 hours.
2026-08-15 02:50:17.981198: - For the next 48 hours there will be no solar generation.
2026-08-15 02:50:17.981219: - You will run out of battery in 40 minutes.
2026-08-15 02:50:17.981241: - Your next charge slot will be in 8 hours where import rates will be cheap (15.5p).
2026-08-15 02:50:17.981284: 
2026-08-15 02:50:18.040162: Plan calculation took 14.54 seconds
2026-08-15 02:50:18.040508: Inverter 0: Type SK Sunsynk
2026-08-15 02:50:18.040556: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 02:50:18.040798: Reserve min: 7%, battery_min: 7%
2026-08-15 02:50:18.040880: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 02:50:18.041241: Inverter 0 SoC: 1.92kW 12%, current charge rate 5000W, current discharge rate 5250W, current battery power 522W, current battery voltage 51.2V, grid power -59W, load power 580W, PV Power 0W
2026-08-15 02:50:18.041482: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 02:50:18.041592: Inverter 0 scheduled charge enable is False
2026-08-15 02:50:18.041632: Inverter 0 charge windows currently []
2026-08-15 02:50:18.041686: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 02:50:18.041804: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 02:50:18.041840: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 02:50:18.041875: Inverter 0 scheduled discharge enable is False
2026-08-15 02:50:18.042001: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 02:50:18.042038: Inverter 0 discharge windows currently []
2026-08-15 02:50:18.042060: Note: Inverter does not support discharge freeze - disabled
2026-08-15 02:50:18.042078: Note: Inverter does not support charge freeze - disabled
2026-08-15 02:50:18.042095: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 02:50:18.093035: Inverter 0 Charge window will be: 2026-08-15 11:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 12%, target 100%
2026-08-15 02:50:18.093187: Inverter 0 disabled charge window while waiting for schedule (now 08-15 02:50:00 target set_window_minutes 30 charge start time 08-15 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 02:50:18.093264: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 02:50:18.093473: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 02:50:18.093578: No export window planned
2026-08-15 02:50:18.093712: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 02:50:18.093751: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 02:50:18.093886: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 02:50:18.094047: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 02:50:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 02:50:18.094099: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 02:50:18.094156: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 02:50:18.094251: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 02:50:18.094294: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 02:50:18.094322: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 02:50:18.094347: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 02:50:18.094372: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 02:50:18.094395: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 02:50:18.094424: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 02:50:18.094480: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 02:50:18.094517: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 02:50:18.094543: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 02:50:18.094567: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 02:50:18.094590: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 02:50:18.094619: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 02:50:18.094667: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 02:50:18.094691: Inverter 0 count register writes 0
2026-08-15 02:50:18.113982: Total inverter register writes now 815
2026-08-15 02:50:18.147276: Info: Completed run status Demand
2026-08-15 02:50:18.154239: Info: record_status Demand
2026-08-15 02:50:18.161194: Saved current settings to /config/predbat_config.json
2026-08-15 02:50:18.161541: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 02:50:57.274255: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 02:50:57.274505: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 02:50:57.274547: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 02:50:57.274740: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 02:50:57.274782: Note: Inverter does not support discharge freeze - disabled
2026-08-15 02:50:57.274802: Note: Inverter does not support charge freeze - disabled
2026-08-15 02:50:57.274820: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 02:53:11.509204: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 02:53:11.509477: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 02:53:11.509520: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 02:53:11.509724: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 02:53:11.509795: Note: Inverter does not support discharge freeze - disabled
2026-08-15 02:53:11.509816: Note: Inverter does not support charge freeze - disabled
2026-08-15 02:53:11.509834: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 02:55:00.703306: --------------- PredBat - update at 2026-08-15 02:55:00+01:00 with clock skew 0 minutes, minutes now 175
2026-08-15 02:55:00.704083: Saved current settings to /config/predbat_config.json
2026-08-15 02:55:00.704245: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 50.0 minutes
2026-08-15 02:55:00.704364: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.1, latest beta is v8.48.1
2026-08-15 02:55:00.704467: Autoupdate: Currently up to date
2026-08-15 02:55:00.721780: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 02:55:00.721933: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 02:55:00.722104: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 02:55:00.722656: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 02:55:00.722782: Predbat mode is set to Control charge & discharge
2026-08-15 02:55:00.899453: Found 21602 load_today datapoints going back 28 days
2026-08-15 02:55:00.899582: Using load_power data to fill gaps in load_today data
2026-08-15 02:55:01.580075: Processing 721 30-minute periods for power integration
2026-08-15 02:55:01.746982: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 02:55:01.747147: Car charging hold False, threshold 6.0kWh
2026-08-15 02:55:01.747199: Current data so far today: load 3.2kWh, import 4.0kWh, export 0.0kWh, PV 0kWh
2026-08-15 02:55:01.759716: Cars: SoC: [12.892000000000001]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 02:55:01.760108: Standing charge is set to 49.98p
2026-08-15 02:55:01.788168: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 02:55:01.788285: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 02:55:01.788516: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 175.0 minutes
2026-08-15 02:55:01.789130: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 174.7 minutes
2026-08-15 02:55:01.792222: Loaded 47 datapoints of futurerate analysis
2026-08-15 02:55:01.862897: Predicted future rates: ['08-15 00:00:00 => 28.9 / 20.01', '08-15 01:00:00 => 27.54 / 19.31', '08-15 02:00:00 => 26.52 / 18.8', '08-15 03:00:00 => 25.99 / 18.53', '08-15 04:00:00 => 25.8 / 18.43', '08-15 05:00:00 => 25.96 / 18.51', '08-15 06:00:00 => 25.55 / 18.3', '08-15 07:00:00 => 24.33 / 17.68', '08-15 08:00:00 => 23.03 / 17.01', '08-15 09:00:00 => 22.05 / 16.51', '08-15 10:00:00 => 20.43 / 15.68', '08-15 11:00:00 => 18.01 / 14.45', '08-15 12:00:00 => 16.37 / 13.61', '08-15 13:00:00 => 15.76 / 13.3', '08-15 14:00:00 => 15.35 / 13.09', '08-15 15:00:00 => 15.86 / 13.35', '08-15 16:00:00 => 32.89 / 16.13', '08-15 17:00:00 => 38.02 / 18.75', '08-15 18:00:00 => 42.36 / 20.96', '08-15 19:00:00 => 31.09 / 21.13', '08-15 20:00:00 => 31.64 / 21.41', '08-15 21:00:00 => 31.64 / 21.41', '08-15 22:00:00 => 30.58 / 20.87']
2026-08-15 02:55:01.913809: Rate min forward looking: now 13.77p at end of forecast 13.77p
2026-08-15 02:55:01.914209: Import rates: min 13.77p, max 43.82p, average 25.96p
2026-08-15 02:55:01.951156: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 02:55:01.951272: Rate thresholds (for charge/export) are import 43.32p (0.0p), export -0.1p (0.0p)
2026-08-15 02:55:01.952394: High export rate found rates in range 99p to -99p
2026-08-15 02:55:02.026173: Low Import rate found rates in range 13.77p to 41.55p
2026-08-15 02:55:02.026315: Car 0 charging is not planned as it is not plugged in
2026-08-15 02:55:02.038306: Battery level now 1.92kWh, -1hr ago 1.96kWh, at midnight 1.66kWh, battery value change in the last hour -0.47p, change today 3.12p, rate_forward 11.83p
2026-08-15 02:55:02.038662: Last hour: net energy 1.0kWh, import 1.0kWh, export 0.0kWh, car 0kWh, load 1.0kWh, net cost 25.1p, import 25.1p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 02:55:02.082159: Today's energy total net 4.0kWh, import 4.0kWh, export 0.0kWh, cost 157.64p, import 107.65p, export 0.0p, carbon 0.0kg
2026-08-15 02:55:02.082280: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 02:55:02.162947: Using weighted-bucket historical load forecast over 14 days
2026-08-15 02:55:02.184891: Today's load divergence 100.0%, in-day adjustment 143.77%, damping 0.95x, yesterday 143.77% today 100.0% blend 100.0%
2026-08-15 02:55:02.185288: Today's predicted so far 2.2kWh with 0.0kWh car/iBoost excluded, 1.94kWh import ignored, and 2.2kWh forecast extra.
2026-08-15 02:55:02.185348: Today's actual load so far 3.13kWh with 0.0kWh car/iBoost excluded, and 1.94kWh import ignored.
2026-08-15 02:55:02.219287: Inverter 0: Type SK Sunsynk
2026-08-15 02:55:02.219376: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 02:55:02.219548: Reserve min: 7%, battery_min: 7%
2026-08-15 02:55:02.219617: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 02:55:02.219891: Inverter 0 SoC: 1.92kW 12%, current charge rate 5000W, current discharge rate 5250W, current battery power 543W, current battery voltage 51.2V, grid power -53W, load power 598W, PV Power 0W
2026-08-15 02:55:02.220047: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 02:55:02.220135: Inverter 0 scheduled charge enable is False
2026-08-15 02:55:02.220163: Inverter 0 charge windows currently []
2026-08-15 02:55:02.220198: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 02:55:02.220305: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 02:55:02.220340: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 02:55:02.220375: Inverter 0 scheduled discharge enable is False
2026-08-15 02:55:02.220496: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 02:55:02.220532: Inverter 0 discharge windows currently []
2026-08-15 02:55:02.220554: Note: Inverter does not support discharge freeze - disabled
2026-08-15 02:55:02.220576: Note: Inverter does not support charge freeze - disabled
2026-08-15 02:55:02.220594: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 02:55:02.274465: Dynamic load last period 0.60kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 02:55:02.274574: Plan was last updated on 2026-08-15 02:50:00+01:00 and is now 5.0 minutes old
2026-08-15 02:55:02.274954: Best charge window [ 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 00:30:00 @ 28.84p 100% ]
2026-08-15 02:55:02.275006: Best export window [  ]
2026-08-15 02:55:02.275872: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 02:55:02.279188: Load divergence over 8.0 hours mean 421.99W, min 294.6W, max 960.0W, std dev 91.94W, divergence 10.89%
2026-08-15 02:55:02.298269: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 02:55:02.298377: LoadML is_calculating False
2026-08-15 02:55:02.298443: Creating pool of 12 processes to match your CPU count
2026-08-15 02:55:02.406583: predict base end_record 08-16 11:35:00, final soc 1.12kWh, metric 856.06p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 03:35:00, load 29.61kWh, PV 0.0kWh
2026-08-15 02:55:02.519527: Battery has 0.67 hours left - now at 1.92kWh
2026-08-15 02:55:02.561129: predict base10 end_record 08-16 11:35:00, final soc 1.12kWh, metric 887.81p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 03:35:00, load 30.87kWh, PV 0.0kWh
2026-08-15 02:55:02.644840: predict best10 end_record 08-16 11:35:00, final soc 1.44kWh, metric 715.81p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 03:35:00, load 30.87kWh, PV 0.0kWh
2026-08-15 02:55:02.716488: predict best end_record 08-16 11:35:00, final soc 1.51kWh, metric 685.25p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 03:35:00, load 29.61kWh, PV 0.0kWh
2026-08-15 02:55:02.716564: Saving plan best values to HA entities
2026-08-15 02:55:02.872969: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 02:55:02.880725: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 02:55:02.886572: Best charging limit SoC's [16.0, 3.5, 4.0, 16.0, 16.0, 16.0]kWh, export []kWh gives import battery 21.2kWh, house 7.0kWh, export 0.0kWh, metric 685.25p, metric10 715.81p
2026-08-15 02:55:02.963666: Marginal costs baseline metric (no standing charge): 635.2682
2026-08-15 02:55:03.229230: Marginal energy costs matrix computed: min=15.27 max=26.33
2026-08-15 02:55:03.296770: Rate array import [{'start': 175, 'end': 420, 'rate': 'expensive', 'range': '(24.6p - 27.6p)'}, {'start': 420, 'end': 450, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 450, 'end': 480, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 480, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 23.6p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1860, 'rate': 'expensive', 'range': '(24.6p - 32.9p)'}, {'start': 1860, 'end': 1890, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 1890, 'end': 1920, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 1920, 'end': 2135, 'rate': 'cheap', 'range': '(15.5p - 23.6p)'}] export [{'start': 175, 'end': 2135, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 02:55:03.297370: - Your estimated bill for today is £6.07 and tomorrow is £5.55
2026-08-15 02:55:03.297411: - Import rates are expensive (24.6p - 27.6p) for the next 4 hours and then cheap (22.7p) for the next 30 minutes.
2026-08-15 02:55:03.297430: - The battery is currently at 12% and is in eco mode for the next 8 hours.
2026-08-15 02:55:03.297444: - For the next 48 hours there will be no solar generation.
2026-08-15 02:55:03.297458: - You will run out of battery in 40 minutes.
2026-08-15 02:55:03.297472: - Your next charge slot will be in 8 hours where import rates will be cheap (15.5p).
2026-08-15 02:55:03.297486: 
2026-08-15 02:55:03.355787: Plan calculation took 1.08 seconds
2026-08-15 02:55:03.359065: No high rate period found
2026-08-15 02:55:03.414475: Import threshold used for optimisation was 25.08p
2026-08-15 02:55:03.458121: Low import rate windows [0: 08-15 02:30:00 - 08-15 03:00:00 @ 24.79, 1: 08-15 03:00:00 - 08-15 03:30:00 @ 25.08, 2: 08-15 03:30:00 - 08-15 04:00:00 @ 24.62, 3: 08-15 04:00:00 - 08-15 04:30:00 @ 27.02, 4: 08-15 04:30:00 - 08-15 05:00:00 @ 26.47, 5: 08-15 05:00:00 - 08-15 05:30:00 @ 26.25, 6: 08-15 05:30:00 - 08-15 06:00:00 @ 26.4, 7: 08-15 06:00:00 - 08-15 06:30:00 @ 25.7, 8: 08-15 06:30:00 - 08-15 07:00:00 @ 27.63, 9: 08-15 07:00:00 - 08-15 07:30:00 @ 22.73, 10: 08-15 07:30:00 - 08-15 08:00:00 @ 26.7, 11: 08-15 08:00:00 - 08-15 08:30:00 @ 22.92, 12: 08-15 08:30:00 - 08-15 09:00:00 @ 22.48, 13: 08-15 09:00:00 - 08-15 09:30:00 @ 23.55, 14: 08-15 09:30:00 - 08-15 10:00:00 @ 23.64, 15: 08-15 10:00:00 - 08-15 10:30:00 @ 19.66, 16: 08-15 10:30:00 - 08-15 11:00:00 @ 17.66, 17: 08-15 11:00:00 - 08-15 11:30:00 @ 16.56, 18: 08-15 11:30:00 - 08-15 12:00:00 @ 15.46, 19: 08-15 12:00:00 - 08-15 12:30:00 @ 17.0, 20: 08-15 12:30:00 - 08-15 13:00:00 @ 16.34, 21: 08-15 13:00:00 - 08-15 13:30:00 @ 15.36, 22: 08-15 13:30:00 - 08-15 14:00:00 @ 15.74, 23: 08-15 14:00:00 - 08-15 14:30:00 @ 14.57, 24: 08-15 14:30:00 - 08-15 15:00:00 @ 13.77, 25: 08-15 15:00:00 - 08-15 15:30:00 @ 15.02, 26: 08-15 15:30:00 - 08-15 16:00:00 @ 15.87, 27: 08-15 16:00:00 - 08-15 16:30:00 @ 33.13, 28: 08-15 16:30:00 - 08-15 17:00:00 @ 33.13, 29: 08-15 17:00:00 - 08-15 17:30:00 @ 38.46, 30: 08-15 17:30:00 - 08-15 18:00:00 @ 40.44, 31: 08-15 18:00:00 - 08-15 18:30:00 @ 41.55, 32: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 33: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 34: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 35: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 36: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 37: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 38: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 39: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 40: 08-15 23:00:00 - 08-15 23:30:00 @ 27.8, 41: 08-15 23:30:00 - 08-16 00:00:00 @ 29.09, 42: 08-16 00:00:00 - 08-16 00:30:00 @ 28.47, 43: 08-16 00:30:00 - 08-16 01:00:00 @ 27.18, 44: 08-16 01:00:00 - 08-16 01:30:00 @ 27.57, 45: 08-16 01:30:00 - 08-16 02:00:00 @ 26.5, 46: 08-16 02:00:00 - 08-16 02:30:00 @ 25.6, 47: 08-16 02:30:00 - 08-16 03:00:00 @ 24.79, 48: 08-16 03:00:00 - 08-16 03:30:00 @ 25.08, 49: 08-16 03:30:00 - 08-16 04:00:00 @ 24.62, 50: 08-16 04:00:00 - 08-16 04:30:00 @ 27.02, 51: 08-16 04:30:00 - 08-16 05:00:00 @ 26.47, 52: 08-16 05:00:00 - 08-16 05:30:00 @ 26.25, 53: 08-16 05:30:00 - 08-16 06:00:00 @ 26.4, 54: 08-16 06:00:00 - 08-16 06:30:00 @ 25.7, 55: 08-16 06:30:00 - 08-16 07:00:00 @ 27.63, 56: 08-16 07:00:00 - 08-16 07:30:00 @ 22.73, 57: 08-16 07:30:00 - 08-16 08:00:00 @ 26.7, 58: 08-16 08:00:00 - 08-16 08:30:00 @ 22.92, 59: 08-16 08:30:00 - 08-16 09:00:00 @ 22.48, 60: 08-16 09:00:00 - 08-16 09:30:00 @ 23.55, 61: 08-16 09:30:00 - 08-16 10:00:00 @ 23.64, 62: 08-16 10:00:00 - 08-16 10:30:00 @ 19.66, 63: 08-16 10:30:00 - 08-16 11:00:00 @ 17.66, 64: 08-16 11:00:00 - 08-16 11:30:00 @ 16.56, 65: 08-16 11:30:00 - 08-16 12:00:00 @ 15.46, 66: 08-16 12:00:00 - 08-16 12:30:00 @ 17.0, 67: 08-16 12:30:00 - 08-16 13:00:00 @ 16.34, 68: 08-16 13:00:00 - 08-16 13:30:00 @ 15.36, 69: 08-16 13:30:00 - 08-16 14:00:00 @ 15.74, 70: 08-16 14:00:00 - 08-16 14:30:00 @ 14.57, 71: 08-16 14:30:00 - 08-16 15:00:00 @ 13.77, 72: 08-16 15:00:00 - 08-16 15:30:00 @ 15.02, 73: 08-16 15:30:00 - 08-16 16:00:00 @ 15.87, 74: 08-16 16:00:00 - 08-16 16:30:00 @ 33.13, 75: 08-16 16:30:00 - 08-16 17:00:00 @ 33.13, 76: 08-16 17:00:00 - 08-16 17:30:00 @ 38.46, 77: 08-16 17:30:00 - 08-16 18:00:00 @ 40.44, 78: 08-16 18:00:00 - 08-16 18:30:00 @ 41.55, 79: 08-16 19:00:00 - 08-16 19:30:00 @ 32.58, 80: 08-16 19:30:00 - 08-16 20:00:00 @ 32.9, 81: 08-16 20:00:00 - 08-16 20:30:00 @ 31.99, 82: 08-16 20:30:00 - 08-16 21:00:00 @ 32.1, 83: 08-16 21:00:00 - 08-16 21:30:00 @ 31.71, 84: 08-16 21:30:00 - 08-16 22:00:00 @ 31.67, 85: 08-16 22:00:00 - 08-16 22:30:00 @ 31.77, 86: 08-16 22:30:00 - 08-16 23:00:00 @ 29.81, 87: 08-16 23:00:00 - 08-16 23:30:00 @ 27.8, 88: 08-16 23:30:00 - 08-17 00:00:00 @ 29.09, 89: 08-17 00:00:00 - 08-17 00:30:00 @ 28.47, 90: 08-17 00:30:00 - 08-17 01:00:00 @ 27.18, 91: 08-17 01:00:00 - 08-17 01:30:00 @ 27.57, 92: 08-17 01:30:00 - 08-17 02:00:00 @ 26.5, 93: 08-17 02:00:00 - 08-17 02:30:00 @ 25.6, 94: 08-17 02:30:00 - 08-17 03:00:00 @ 24.79]
2026-08-15 02:55:03.464883: Inverter 0 Charge window will be: 2026-08-15 11:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 12%, target 100%
2026-08-15 02:55:03.465063: Inverter 0 disabled charge window while waiting for schedule (now 08-15 02:55:00 target set_window_minutes 30 charge start time 08-15 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 02:55:03.465181: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 02:55:03.465442: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 02:55:03.465538: No export window planned
2026-08-15 02:55:03.465663: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 02:55:03.465702: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 02:55:03.465841: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 02:55:03.466022: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 02:55:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 02:55:03.466084: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 02:55:03.466143: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 02:55:03.466238: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 02:55:03.466282: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 02:55:03.466310: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 02:55:03.466334: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 02:55:03.466358: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 02:55:03.466389: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 02:55:03.466412: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 02:55:03.466474: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 02:55:03.466503: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 02:55:03.466528: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 02:55:03.466553: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 02:55:03.466576: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 02:55:03.466601: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 02:55:03.466624: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 02:55:03.466666: Inverter 0 count register writes 0
2026-08-15 02:55:03.482721: Will not recompute the plan, it is 5.0 minutes old and max age is 10 minutes
2026-08-15 02:55:03.488362: Total inverter register writes now 815
2026-08-15 02:55:03.522992: Info: Completed run status Demand
2026-08-15 02:55:03.529948: Info: record_status Demand
2026-08-15 02:55:03.536723: Saved current settings to /config/predbat_config.json
2026-08-15 02:55:03.537100: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 02:55:41.645065: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 02:55:41.645376: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 02:55:41.645442: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 02:55:41.645616: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 02:55:41.645700: Note: Inverter does not support discharge freeze - disabled
2026-08-15 02:55:41.645725: Note: Inverter does not support charge freeze - disabled
2026-08-15 02:55:41.645743: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 02:57:23.945052: TemperatureAPI: Using coordinates latitude 53.4, longitude -2.2
2026-08-15 02:57:24.110126: TemperatureAPI: Successfully fetched temperature data from Open-Meteo API
2026-08-15 02:57:41.855318: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 02:57:41.855517: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 02:57:41.855552: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 02:57:41.855709: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 02:57:41.855744: Note: Inverter does not support discharge freeze - disabled
2026-08-15 02:57:41.855761: Note: Inverter does not support charge freeze - disabled
2026-08-15 02:57:41.855776: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 02:58:52.440556: Info: HAHistory: Pruning history data started.
2026-08-15 02:58:52.443327: Info: HAHistory: Pruning history data completed.
2026-08-15 02:59:42.058163: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 02:59:42.058419: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 02:59:42.058460: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 02:59:42.058696: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 02:59:42.058759: Note: Inverter does not support discharge freeze - disabled
2026-08-15 02:59:42.058779: Note: Inverter does not support charge freeze - disabled
2026-08-15 02:59:42.058796: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 03:00:00.156479: --------------- PredBat - update at 2026-08-15 03:00:00+01:00 with clock skew 0 minutes, minutes now 180
2026-08-15 03:00:00.157295: Saved current settings to /config/predbat_config.json
2026-08-15 03:00:00.157477: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 55.0 minutes
2026-08-15 03:00:00.157571: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.1, latest beta is v8.48.1
2026-08-15 03:00:00.157725: Autoupdate: Currently up to date
2026-08-15 03:00:00.188894: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 03:00:00.189110: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 03:00:00.189294: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 03:00:00.189905: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 03:00:00.190033: Predbat mode is set to Control charge & discharge
2026-08-15 03:00:00.383431: Found 21602 load_today datapoints going back 27 days
2026-08-15 03:00:00.383581: Using load_power data to fill gaps in load_today data
2026-08-15 03:00:01.197719: Processing 721 30-minute periods for power integration
2026-08-15 03:00:01.430622: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 03:00:01.430962: Car charging hold False, threshold 6.0kWh
2026-08-15 03:00:01.431050: Current data so far today: load 3.25kWh, import 4.0kWh, export 0.0kWh, PV 0kWh
2026-08-15 03:00:01.455115: Cars: SoC: [12.892000000000001]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 03:00:01.455829: Standing charge is set to 49.98p
2026-08-15 03:00:01.495397: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 03:00:01.495544: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 03:00:01.495903: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 180.0 minutes
2026-08-15 03:00:01.496529: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 179.7 minutes
2026-08-15 03:00:01.501029: Loaded 47 datapoints of futurerate analysis
2026-08-15 03:00:01.620858: Predicted future rates: ['08-15 00:00:00 => 28.9 / 20.01', '08-15 01:00:00 => 27.54 / 19.31', '08-15 02:00:00 => 26.52 / 18.8', '08-15 03:00:00 => 25.99 / 18.53', '08-15 04:00:00 => 25.8 / 18.43', '08-15 05:00:00 => 25.96 / 18.51', '08-15 06:00:00 => 25.55 / 18.3', '08-15 07:00:00 => 24.33 / 17.68', '08-15 08:00:00 => 23.03 / 17.01', '08-15 09:00:00 => 22.05 / 16.51', '08-15 10:00:00 => 20.43 / 15.68', '08-15 11:00:00 => 18.01 / 14.45', '08-15 12:00:00 => 16.37 / 13.61', '08-15 13:00:00 => 15.76 / 13.3', '08-15 14:00:00 => 15.35 / 13.09', '08-15 15:00:00 => 15.86 / 13.35', '08-15 16:00:00 => 32.89 / 16.13', '08-15 17:00:00 => 38.02 / 18.75', '08-15 18:00:00 => 42.36 / 20.96', '08-15 19:00:00 => 31.09 / 21.13', '08-15 20:00:00 => 31.64 / 21.41', '08-15 21:00:00 => 31.64 / 21.41', '08-15 22:00:00 => 30.58 / 20.87']
2026-08-15 03:00:01.698073: Rate min forward looking: now 13.77p at end of forecast 13.77p
2026-08-15 03:00:01.698922: Import rates: min 13.77p, max 43.82p, average 25.96p
2026-08-15 03:00:01.743581: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 03:00:01.743725: Rate thresholds (for charge/export) are import 43.32p (0.0p), export -0.1p (0.0p)
2026-08-15 03:00:01.744908: High export rate found rates in range 99p to -99p
2026-08-15 03:00:01.821603: Low Import rate found rates in range 13.77p to 41.55p
2026-08-15 03:00:01.821751: Car 0 charging is not planned as it is not plugged in
2026-08-15 03:00:01.835323: Battery level now 1.92kWh, -1hr ago 1.92kWh, at midnight 1.66kWh, battery value change in the last hour 0.0p, change today 3.12p, rate_forward 11.83p
2026-08-15 03:00:01.835700: Last hour: net energy 0.95kWh, import 0.95kWh, export 0.0kWh, car 0kWh, load 1.0kWh, net cost 23.79p, import 23.79p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 03:00:01.889832: Today's energy total net 4.0kWh, import 4.0kWh, export 0.0kWh, cost 157.64p, import 107.65p, export 0.0p, carbon 0.0kg
2026-08-15 03:00:01.889984: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 03:00:01.951335: Using weighted-bucket historical load forecast over 14 days
2026-08-15 03:00:01.970002: Today's load divergence 105.87%, in-day adjustment 139.0%, damping 0.95x, yesterday 143.77% today 105.58% blend 87.5%
2026-08-15 03:00:01.970085: Today's predicted so far 2.33kWh with 0.0kWh car/iBoost excluded, 1.82kWh import ignored, and 2.33kWh forecast extra.
2026-08-15 03:00:01.970111: Today's actual load so far 3.3kWh with 0.0kWh car/iBoost excluded, and 1.82kWh import ignored.
2026-08-15 03:00:02.003440: Inverter 0: Type SK Sunsynk
2026-08-15 03:00:02.003551: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 03:00:02.003753: Reserve min: 7%, battery_min: 7%
2026-08-15 03:00:02.003822: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 03:00:02.004090: Inverter 0 SoC: 1.92kW 12%, current charge rate 5000W, current discharge rate 5250W, current battery power 473W, current battery voltage 51.2V, grid power -55W, load power 544W, PV Power 0W
2026-08-15 03:00:02.004235: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 03:00:02.004309: Inverter 0 scheduled charge enable is False
2026-08-15 03:00:02.004333: Inverter 0 charge windows currently []
2026-08-15 03:00:02.004363: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 03:00:02.004512: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 03:00:02.004570: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 03:00:02.004649: Inverter 0 scheduled discharge enable is False
2026-08-15 03:00:02.004841: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 03:00:02.004886: Inverter 0 discharge windows currently []
2026-08-15 03:00:02.004921: Note: Inverter does not support discharge freeze - disabled
2026-08-15 03:00:02.004974: Note: Inverter does not support charge freeze - disabled
2026-08-15 03:00:02.005009: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 03:00:02.070398: Dynamic load last period 0.60kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 03:00:02.070524: Plan was last updated on 2026-08-15 02:50:00+01:00 and is now 10.0 minutes old
2026-08-15 03:00:02.070863: Best charge window [ 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 00:30:00 @ 28.84p 100% ]
2026-08-15 03:00:02.070913: Best export window [  ]
2026-08-15 03:00:02.071764: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 03:00:02.074921: Load divergence over 8.0 hours mean 420.46W, min 290.4W, max 1000.8W, std dev 96.38W, divergence 11.46%
2026-08-15 03:00:02.098074: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 03:00:02.098205: LoadML is_calculating False
2026-08-15 03:00:02.098271: Creating pool of 12 processes to match your CPU count
2026-08-15 03:00:02.214566: predict base end_record 08-16 11:40:00, final soc 1.12kWh, metric 837.3p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 03:45:00, load 28.96kWh, PV 0.0kWh
2026-08-15 03:00:02.358136: Battery has 0.75 hours left - now at 1.92kWh
2026-08-15 03:00:02.400092: predict base10 end_record 08-16 11:40:00, final soc 1.12kWh, metric 868.12p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 03:40:00, load 30.18kWh, PV 0.0kWh
2026-08-15 03:00:02.479090: predict best10 end_record 08-16 11:40:00, final soc 1.77kWh, metric 704.64p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 03:40:00, load 30.18kWh, PV 0.0kWh
2026-08-15 03:00:02.565036: predict best end_record 08-16 11:40:00, final soc 1.9kWh, metric 677.13p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 03:45:00, load 28.96kWh, PV 0.0kWh
2026-08-15 03:00:02.565129: Saving plan best values to HA entities
2026-08-15 03:00:02.765164: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 03:00:02.771268: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 03:00:02.776904: Best charging limit SoC's [16.0, 3.5, 4.0, 16.0, 16.0, 16.0]kWh, export []kWh gives import battery 21.55kWh, house 6.37kWh, export 0.0kWh, metric 677.13p, metric10 704.64p
2026-08-15 03:00:02.854023: Marginal costs baseline metric (no standing charge): 627.1454
2026-08-15 03:00:03.076823: Marginal energy costs matrix computed: min=15.44 max=26.32
2026-08-15 03:00:03.165926: Rate array import [{'start': 180, 'end': 420, 'rate': 'expensive', 'range': '(24.6p - 27.6p)'}, {'start': 420, 'end': 450, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 450, 'end': 480, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 480, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 23.6p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1860, 'rate': 'expensive', 'range': '(24.6p - 32.9p)'}, {'start': 1860, 'end': 1890, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 1890, 'end': 1920, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 1920, 'end': 2140, 'rate': 'cheap', 'range': '(15.5p - 23.6p)'}] export [{'start': 180, 'end': 2140, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 03:00:03.166735: - Your estimated bill for today is £5.97 and tomorrow is £5.46
2026-08-15 03:00:03.166794: - Import rates are expensive (24.6p - 27.6p) for the next 4 hours and then cheap (22.7p) for the next 30 minutes.
2026-08-15 03:00:03.166825: - The battery is currently at 12% and is in eco mode for the next 8 hours.
2026-08-15 03:00:03.166862: - For the next 48 hours there will be no solar generation.
2026-08-15 03:00:03.166893: - You will run out of battery in 45 minutes.
2026-08-15 03:00:03.166912: - Your next charge slot will be in 8 hours where import rates will be cheap (15.5p).
2026-08-15 03:00:03.166935: 
2026-08-15 03:00:03.232920: Plan calculation took 1.16 seconds
2026-08-15 03:00:03.236134: No high rate period found
2026-08-15 03:00:03.324905: Import threshold used for optimisation was 25.08p
2026-08-15 03:00:03.385795: Low import rate windows [0: 08-15 03:00:00 - 08-15 03:30:00 @ 25.08, 1: 08-15 03:30:00 - 08-15 04:00:00 @ 24.62, 2: 08-15 04:00:00 - 08-15 04:30:00 @ 27.02, 3: 08-15 04:30:00 - 08-15 05:00:00 @ 26.47, 4: 08-15 05:00:00 - 08-15 05:30:00 @ 26.25, 5: 08-15 05:30:00 - 08-15 06:00:00 @ 26.4, 6: 08-15 06:00:00 - 08-15 06:30:00 @ 25.7, 7: 08-15 06:30:00 - 08-15 07:00:00 @ 27.63, 8: 08-15 07:00:00 - 08-15 07:30:00 @ 22.73, 9: 08-15 07:30:00 - 08-15 08:00:00 @ 26.7, 10: 08-15 08:00:00 - 08-15 08:30:00 @ 22.92, 11: 08-15 08:30:00 - 08-15 09:00:00 @ 22.48, 12: 08-15 09:00:00 - 08-15 09:30:00 @ 23.55, 13: 08-15 09:30:00 - 08-15 10:00:00 @ 23.64, 14: 08-15 10:00:00 - 08-15 10:30:00 @ 19.66, 15: 08-15 10:30:00 - 08-15 11:00:00 @ 17.66, 16: 08-15 11:00:00 - 08-15 11:30:00 @ 16.56, 17: 08-15 11:30:00 - 08-15 12:00:00 @ 15.46, 18: 08-15 12:00:00 - 08-15 12:30:00 @ 17.0, 19: 08-15 12:30:00 - 08-15 13:00:00 @ 16.34, 20: 08-15 13:00:00 - 08-15 13:30:00 @ 15.36, 21: 08-15 13:30:00 - 08-15 14:00:00 @ 15.74, 22: 08-15 14:00:00 - 08-15 14:30:00 @ 14.57, 23: 08-15 14:30:00 - 08-15 15:00:00 @ 13.77, 24: 08-15 15:00:00 - 08-15 15:30:00 @ 15.02, 25: 08-15 15:30:00 - 08-15 16:00:00 @ 15.87, 26: 08-15 16:00:00 - 08-15 16:30:00 @ 33.13, 27: 08-15 16:30:00 - 08-15 17:00:00 @ 33.13, 28: 08-15 17:00:00 - 08-15 17:30:00 @ 38.46, 29: 08-15 17:30:00 - 08-15 18:00:00 @ 40.44, 30: 08-15 18:00:00 - 08-15 18:30:00 @ 41.55, 31: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 32: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 33: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 34: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 35: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 36: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 37: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 38: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 39: 08-15 23:00:00 - 08-15 23:30:00 @ 27.8, 40: 08-15 23:30:00 - 08-16 00:00:00 @ 29.09, 41: 08-16 00:00:00 - 08-16 00:30:00 @ 28.47, 42: 08-16 00:30:00 - 08-16 01:00:00 @ 27.18, 43: 08-16 01:00:00 - 08-16 01:30:00 @ 27.57, 44: 08-16 01:30:00 - 08-16 02:00:00 @ 26.5, 45: 08-16 02:00:00 - 08-16 02:30:00 @ 25.6, 46: 08-16 02:30:00 - 08-16 03:00:00 @ 24.79, 47: 08-16 03:00:00 - 08-16 03:30:00 @ 25.08, 48: 08-16 03:30:00 - 08-16 04:00:00 @ 24.62, 49: 08-16 04:00:00 - 08-16 04:30:00 @ 27.02, 50: 08-16 04:30:00 - 08-16 05:00:00 @ 26.47, 51: 08-16 05:00:00 - 08-16 05:30:00 @ 26.25, 52: 08-16 05:30:00 - 08-16 06:00:00 @ 26.4, 53: 08-16 06:00:00 - 08-16 06:30:00 @ 25.7, 54: 08-16 06:30:00 - 08-16 07:00:00 @ 27.63, 55: 08-16 07:00:00 - 08-16 07:30:00 @ 22.73, 56: 08-16 07:30:00 - 08-16 08:00:00 @ 26.7, 57: 08-16 08:00:00 - 08-16 08:30:00 @ 22.92, 58: 08-16 08:30:00 - 08-16 09:00:00 @ 22.48, 59: 08-16 09:00:00 - 08-16 09:30:00 @ 23.55, 60: 08-16 09:30:00 - 08-16 10:00:00 @ 23.64, 61: 08-16 10:00:00 - 08-16 10:30:00 @ 19.66, 62: 08-16 10:30:00 - 08-16 11:00:00 @ 17.66, 63: 08-16 11:00:00 - 08-16 11:30:00 @ 16.56, 64: 08-16 11:30:00 - 08-16 12:00:00 @ 15.46, 65: 08-16 12:00:00 - 08-16 12:30:00 @ 17.0, 66: 08-16 12:30:00 - 08-16 13:00:00 @ 16.34, 67: 08-16 13:00:00 - 08-16 13:30:00 @ 15.36, 68: 08-16 13:30:00 - 08-16 14:00:00 @ 15.74, 69: 08-16 14:00:00 - 08-16 14:30:00 @ 14.57, 70: 08-16 14:30:00 - 08-16 15:00:00 @ 13.77, 71: 08-16 15:00:00 - 08-16 15:30:00 @ 15.02, 72: 08-16 15:30:00 - 08-16 16:00:00 @ 15.87, 73: 08-16 16:00:00 - 08-16 16:30:00 @ 33.13, 74: 08-16 16:30:00 - 08-16 17:00:00 @ 33.13, 75: 08-16 17:00:00 - 08-16 17:30:00 @ 38.46, 76: 08-16 17:30:00 - 08-16 18:00:00 @ 40.44, 77: 08-16 18:00:00 - 08-16 18:30:00 @ 41.55, 78: 08-16 19:00:00 - 08-16 19:30:00 @ 32.58, 79: 08-16 19:30:00 - 08-16 20:00:00 @ 32.9, 80: 08-16 20:00:00 - 08-16 20:30:00 @ 31.99, 81: 08-16 20:30:00 - 08-16 21:00:00 @ 32.1, 82: 08-16 21:00:00 - 08-16 21:30:00 @ 31.71, 83: 08-16 21:30:00 - 08-16 22:00:00 @ 31.67, 84: 08-16 22:00:00 - 08-16 22:30:00 @ 31.77, 85: 08-16 22:30:00 - 08-16 23:00:00 @ 29.81, 86: 08-16 23:00:00 - 08-16 23:30:00 @ 27.8, 87: 08-16 23:30:00 - 08-17 00:00:00 @ 29.09, 88: 08-17 00:00:00 - 08-17 00:30:00 @ 28.47, 89: 08-17 00:30:00 - 08-17 01:00:00 @ 27.18, 90: 08-17 01:00:00 - 08-17 01:30:00 @ 27.57, 91: 08-17 01:30:00 - 08-17 02:00:00 @ 26.5, 92: 08-17 02:00:00 - 08-17 02:30:00 @ 25.6, 93: 08-17 02:30:00 - 08-17 03:00:00 @ 24.79]
2026-08-15 03:00:03.392604: Inverter 0 Charge window will be: 2026-08-15 11:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 12%, target 100%
2026-08-15 03:00:03.392742: Inverter 0 disabled charge window while waiting for schedule (now 08-15 03:00:00 target set_window_minutes 30 charge start time 08-15 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 03:00:03.392838: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 03:00:03.393118: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 03:00:03.393208: No export window planned
2026-08-15 03:00:03.393312: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 03:00:03.393342: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 03:00:03.393453: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 03:00:03.393604: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 03:00:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 03:00:03.393673: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 03:00:03.393735: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 03:00:03.393814: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 03:00:03.393840: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 03:00:03.393871: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 03:00:03.393892: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 03:00:03.393931: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 03:00:03.393952: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 03:00:03.393977: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 03:00:03.394030: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 03:00:03.394060: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 03:00:03.394081: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 03:00:03.394104: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 03:00:03.394142: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 03:00:03.394169: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 03:00:03.394189: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 03:00:03.394209: Inverter 0 count register writes 0
2026-08-15 03:00:03.415836: Will recompute the plan as it is now 10.0 minutes old and will exceed the max age of 10 minutes before the next run
2026-08-15 03:00:03.416029: Recompute is saving previous plan...
2026-08-15 03:00:03.418880: Best charge window [ 15-08 03:00:00 - 15-08 03:30:00 @ 25.08p 0%, 15-08 03:30:00 - 15-08 04:00:00 @ 24.62p 0%, 15-08 04:00:00 - 15-08 04:30:00 @ 27.02p 0%, 15-08 04:30:00 - 15-08 05:00:00 @ 26.47p 0%, 15-08 05:00:00 - 15-08 05:30:00 @ 26.25p 0%, 15-08 05:30:00 - 15-08 06:00:00 @ 26.4p 0%, 15-08 06:00:00 - 15-08 06:30:00 @ 25.7p 0%, 15-08 06:30:00 - 15-08 07:00:00 @ 27.63p 0%, 15-08 07:00:00 - 15-08 07:30:00 @ 22.73p 0%, 15-08 07:30:00 - 15-08 08:00:00 @ 26.7p 0%, 15-08 08:00:00 - 15-08 08:30:00 @ 22.92p 0%, 15-08 08:30:00 - 15-08 09:00:00 @ 22.48p 0%, 15-08 09:00:00 - 15-08 09:30:00 @ 23.55p 0%, 15-08 09:30:00 - 15-08 10:00:00 @ 23.64p 0%, 15-08 10:00:00 - 15-08 10:30:00 @ 19.66p 0%, 15-08 10:30:00 - 15-08 11:00:00 @ 17.66p 0%, 15-08 11:00:00 - 15-08 11:30:00 @ 16.56p 0%, 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 0%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 0%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 0%, 15-08 13:00:00 - 15-08 13:30:00 @ 15.36p 0%, 15-08 13:30:00 - 15-08 14:00:00 @ 15.74p 0%, 15-08 14:00:00 - 15-08 14:30:00 @ 14.57p 0%, 15-08 14:30:00 - 15-08 15:00:00 @ 13.77p 0%, 15-08 15:00:00 - 15-08 15:30:00 @ 15.02p 0%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 0%, 15-08 16:00:00 - 15-08 16:30:00 @ 33.13p 0%, 15-08 16:30:00 - 15-08 17:00:00 @ 33.13p 0%, 15-08 17:00:00 - 15-08 17:30:00 @ 38.46p 0%, 15-08 17:30:00 - 15-08 18:00:00 @ 40.44p 0%, 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 0%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 0%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 0%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 0%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 0%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 27.8p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 29.09p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.47p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.18p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 27.57p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.5p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.6p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 24.79p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 25.08p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 24.62p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 27.02p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.47p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 26.25p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.4p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.7p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 27.63p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 22.73p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 26.7p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 22.92p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 22.48p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 23.55p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 23.64p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 19.66p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 17.66p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 16.56p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 15.46p 0%, 16-08 12:00:00 - 16-08 12:30:00 @ 17.0p 0%, 16-08 12:30:00 - 16-08 13:00:00 @ 16.34p 0%, 16-08 13:00:00 - 16-08 13:30:00 @ 15.36p 0%, 16-08 13:30:00 - 16-08 14:00:00 @ 15.74p 0%, 16-08 14:00:00 - 16-08 14:30:00 @ 14.57p 0%, 16-08 14:30:00 - 16-08 15:00:00 @ 13.77p 0%, 16-08 15:00:00 - 16-08 15:30:00 @ 15.02p 0%, 16-08 15:30:00 - 16-08 16:00:00 @ 15.87p 0%, 16-08 16:00:00 - 16-08 16:30:00 @ 33.13p 0%, 16-08 16:30:00 - 16-08 17:00:00 @ 33.13p 0%, 16-08 17:00:00 - 16-08 17:30:00 @ 38.46p 0%, 16-08 17:30:00 - 16-08 18:00:00 @ 40.44p 0%, 16-08 18:00:00 - 16-08 18:30:00 @ 41.55p 0%, 16-08 19:00:00 - 16-08 19:30:00 @ 32.58p 0%, 16-08 19:30:00 - 16-08 20:00:00 @ 32.9p 0%, 16-08 20:00:00 - 16-08 20:30:00 @ 31.99p 0%, 16-08 20:30:00 - 16-08 21:00:00 @ 32.1p 0%, 16-08 21:00:00 - 16-08 21:30:00 @ 31.71p 0%, 16-08 21:30:00 - 16-08 22:00:00 @ 31.67p 0%, 16-08 22:00:00 - 16-08 22:30:00 @ 31.77p 0%, 16-08 22:30:00 - 16-08 23:00:00 @ 29.81p 0%, 16-08 23:00:00 - 16-08 23:30:00 @ 27.8p 0%, 16-08 23:30:00 - 17-08 00:00:00 @ 29.09p 0%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.47p 0%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.18p 0%, 17-08 01:00:00 - 17-08 01:30:00 @ 27.57p 0%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.5p 0%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.6p 0%, 17-08 02:30:00 - 17-08 03:00:00 @ 24.79p 0% ]
2026-08-15 03:00:03.418956: Best export window [  ]
2026-08-15 03:00:03.419582: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 03:00:03.422109: Load divergence over 8.0 hours mean 420.46W, min 290.4W, max 1000.8W, std dev 96.38W, divergence 11.46%
2026-08-15 03:00:03.435731: Calculating data from yesterday for savings calculation
2026-08-15 03:00:03.445509: Yesterday basic charge window best: [{'start': 840, 'end': 870, 'average': 21.7}] charge limit best: [16.0] based on max charge slots 1
2026-08-15 03:00:03.493984: predict yesterday end_record 08-16 00:00:00, final soc 1.12kWh, metric 843.72p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 00:00:00, load 26.2kWh, PV 0.0kWh
2026-08-15 03:00:03.508689: predict yesterday10 end_record 08-16 00:00:00, final soc 1.12kWh, metric 848.0p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 00:00:00, load 26.2kWh, PV 0.0kWh
2026-08-15 03:00:03.528215: predict yesterday end_record 08-16 00:00:00, final soc 1.12kWh, metric 843.72p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 00:00:00, load 26.2kWh, PV 0.0kWh
2026-08-15 03:00:03.570045: Yesterday: Predbat disabled was £8.44 (adjusted £8.3) vs £7.38 (adjusted £7.17), saving £1.05 (adjusted £1.13) with import 26.53kWh, export 0.0kWh, battery_cycle 4.66kWh, start_soc 1.12kWh,  final_soc 1.12kWh and battery_value 13.25kWh
2026-08-15 03:00:03.628568: predict yesterday end_record 08-16 00:00:00, final soc 0.0kWh, metric 852.35p, metric_keep 0kWh, min_soc 0kWh @ 08-15 00:00:00, load 26.2kWh, PV 0.0kWh
2026-08-15 03:00:03.628710: Yesterday: No Battery/PV system cost predicted was £8.52 (adjusted £8.52) vs £7.38 (adjusted £7.17), saving £1.14 (adjusted £1.35) with import 26.2kWh, export 0kWh and battery_value 0.0kWh
2026-08-15 03:00:03.639074: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 03:00:03.639213: LoadML is_calculating False
2026-08-15 03:00:03.639287: Creating pool of 12 processes to match your CPU count
2026-08-15 03:00:03.731398: Calculate Best options: mode(Control charge & discharge), calculate_export_oncharge(False), calculate_export_on_pv(True), set_export_freeze_only(False), set_discharge_during_charge(True), combine_charge_slots(False), combine_export_slots(False), combine_rate_threshold(0.0), best_soc_min(0.0 kWh), best_soc_max(0.0 kWh), best_soc_keep(0.0 kWh), inverter_loss(4%), battery_loss(3%), battery_loss_discharge (3%), inverter_hybrid(True), metric_min_improvement(0.0p), metric_min_improvement_export(0.1p), metric_min_improvement_export_freeze(0.1p), metric_battery_cycle(0.0p/kWh), metric_battery_value_scaling(1.0 x) 
2026-08-15 03:00:03.733570: Optimise levels pass started at 2026-08-15 03:00:03
2026-08-15 03:00:03.733659: Optimise all windows, total charge 94 export 1
2026-08-15 03:00:04.921415: >> Region optimisation pass width 960 gives best_metric 794.56p, best_cost 800.13p, best_cycle 50.23kWh, best_import 39.55kWh
2026-08-15 03:00:05.350495: >> Region optimisation pass width 480 gives best_metric 794.56p, best_cost 800.13p, best_cycle 50.23kWh, best_import 39.55kWh
2026-08-15 03:00:05.900138: >> Region optimisation pass width 240 gives best_metric 794.56p, best_cost 800.13p, best_cycle 50.23kWh, best_import 39.55kWh
2026-08-15 03:00:06.958960: >> Region optimisation pass width 120 gives best_metric 794.56p, best_cost 800.13p, best_cycle 50.23kWh, best_import 39.55kWh
2026-08-15 03:00:06.959317: Calculated end_record as 08-16 11:30:00 based on best_price 16.34p, next_charge_start 08-15 11:30:00, max_windows 64
2026-08-15 03:00:06.959391: Optimise levels pass ended at 2026-08-15 03:00:06, duration 3.2 seconds tried 319 combinations
2026-08-15 03:00:06.959453: Set best_price_charge_level 17.6p, best_price_export_level 0p, best_price_charge 16.34p, best_cost_export 0p, best_metric 794.56p, best_keep 0kWh, best_cycle 50.23kWh, best_carbon 0kg, best_import 39.55kWh
2026-08-15 03:00:06.980154: Starting detailed optimisation end_record 08-16 11:30:00, best_price_charge 16.34p, best_price_export 0p. lowest_price_charge 13.77p with charge limits [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0]kWh and export limits []kWh
2026-08-15 03:00:11.651960: Tweak plan optimisation started metric 601.46p, cost 610.29p
2026-08-15 03:00:11.931802: Tweak optimisation finished metric 601.46p, cost 610.29p, metric_keep 0kWh, cycle 31.31kWh, carbon 0kg, import 26.95kWh, changed 8 window(s)
2026-08-15 03:00:11.951876: Swap charge optimisation started metric 601.46p, cost 610.29p, min_improvement_swap 0.1p
2026-08-15 03:00:17.563141: Swap charge optimisation finished metric 601.46p, cost 610.29p
2026-08-15 03:00:17.672988: Pruned 1 dead plan slot(s) in 12 trial(s), nominal metric 597.04p -> 597.04p, plan now metric 601.47p, cost 610.29p, cycle 30.55kWh, import 26.9kWh
2026-08-15 03:00:17.682529: Raw charge windows [ 15-08 03:00:00 - 15-08 03:30:00 @ 25.08p 9%, 15-08 03:30:00 - 15-08 04:00:00 @ 24.62p 9%, 15-08 04:00:00 - 15-08 04:30:00 @ 27.02p 0%, 15-08 04:30:00 - 15-08 05:00:00 @ 26.47p 0%, 15-08 05:00:00 - 15-08 05:30:00 @ 26.25p 0%, 15-08 05:30:00 - 15-08 06:00:00 @ 26.4p 0%, 15-08 06:00:00 - 15-08 06:30:00 @ 25.7p 0%, 15-08 06:30:00 - 15-08 07:00:00 @ 27.63p 0%, 15-08 07:00:00 - 15-08 07:30:00 @ 22.73p 0%, 15-08 07:30:00 - 15-08 08:00:00 @ 26.7p 0%, 15-08 08:00:00 - 15-08 08:30:00 @ 22.92p 0%, 15-08 08:30:00 - 15-08 09:00:00 @ 22.48p 0%, 15-08 09:00:00 - 15-08 09:30:00 @ 23.55p 0%, 15-08 09:30:00 - 15-08 10:00:00 @ 23.64p 0%, 15-08 10:00:00 - 15-08 10:30:00 @ 19.66p 0%, 15-08 10:30:00 - 15-08 11:00:00 @ 17.66p 0%, 15-08 11:00:00 - 15-08 11:30:00 @ 16.56p 0%, 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 13:30:00 @ 15.36p 100%, 15-08 13:30:00 - 15-08 14:00:00 @ 15.74p 100%, 15-08 14:00:00 - 15-08 14:30:00 @ 14.57p 100%, 15-08 14:30:00 - 15-08 15:00:00 @ 13.77p 100%, 15-08 15:00:00 - 15-08 15:30:00 @ 15.02p 100%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 100%, 15-08 16:00:00 - 15-08 16:30:00 @ 33.13p 0%, 15-08 16:30:00 - 15-08 17:00:00 @ 33.13p 0%, 15-08 17:00:00 - 15-08 17:30:00 @ 38.46p 0%, 15-08 17:30:00 - 15-08 18:00:00 @ 40.44p 0%, 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 0%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 0%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 0%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 0%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 0%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 27.8p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 29.09p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.47p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.18p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 27.57p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.5p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.6p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 24.79p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 25.08p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 24.62p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 27.02p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.47p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 26.25p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.4p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.7p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 27.63p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 22.73p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 26.7p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 22.92p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 22.48p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 23.55p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 23.64p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 19.66p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 17.66p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 16.56p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 15.46p 100%, 16-08 12:00:00 - 16-08 12:30:00 @ 17.0p 100%, 16-08 12:30:00 - 16-08 13:00:00 @ 16.34p 100%, 16-08 13:00:00 - 16-08 13:30:00 @ 15.36p 100%, 16-08 13:30:00 - 16-08 14:00:00 @ 15.74p 100%, 16-08 14:00:00 - 16-08 14:30:00 @ 14.57p 100%, 16-08 14:30:00 - 16-08 15:00:00 @ 13.77p 100%, 16-08 15:00:00 - 16-08 15:30:00 @ 15.02p 100%, 16-08 15:30:00 - 16-08 16:00:00 @ 15.87p 100%, 16-08 16:00:00 - 16-08 16:30:00 @ 33.13p 100%, 16-08 16:30:00 - 16-08 17:00:00 @ 33.13p 100%, 16-08 17:00:00 - 16-08 17:30:00 @ 38.46p 100%, 16-08 17:30:00 - 16-08 18:00:00 @ 40.44p 100%, 16-08 18:00:00 - 16-08 18:30:00 @ 41.55p 100%, 16-08 19:00:00 - 16-08 19:30:00 @ 32.58p 100%, 16-08 19:30:00 - 16-08 20:00:00 @ 32.9p 100%, 16-08 20:00:00 - 16-08 20:30:00 @ 31.99p 100%, 16-08 20:30:00 - 16-08 21:00:00 @ 32.1p 100%, 16-08 21:00:00 - 16-08 21:30:00 @ 31.71p 100%, 16-08 21:30:00 - 16-08 22:00:00 @ 31.67p 100%, 16-08 22:00:00 - 16-08 22:30:00 @ 31.77p 100%, 16-08 22:30:00 - 16-08 23:00:00 @ 29.81p 100%, 16-08 23:00:00 - 16-08 23:30:00 @ 27.8p 100%, 16-08 23:30:00 - 17-08 00:00:00 @ 29.09p 100%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.47p 100%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.18p 100%, 17-08 01:00:00 - 17-08 01:30:00 @ 27.57p 100%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.5p 100%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.6p 100%, 17-08 02:30:00 - 17-08 03:00:00 @ 24.79p 100% ] reserve 1.12
2026-08-15 03:00:17.683081: Unclipped charge windows [ 15-08 03:00:00 - 15-08 04:00:00 @ 24.85p 9%, 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 03:00:00 @ 25.58p 100% ] reserve 1.12
2026-08-15 03:00:17.683357: Unfiltered charge windows [ 15-08 03:00:00 - 15-08 04:00:00 @ 24.85p 9%, 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 03:00:00 @ 25.58p 100% ] reserve 1.12
2026-08-15 03:00:17.683595: Filtered charge windows [ 15-08 03:00:00 - 15-08 04:00:00 @ 24.85p 9%, 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 03:00:00 @ 25.58p 100% ] reserve 1.12
2026-08-15 03:00:17.712822: Previous plan best metric is 602.47 (cost 611.29) and new plan best metric is 601.46 (cost 610.29)
2026-08-15 03:00:17.713025: New plan metric is not significantly better (metric_min_improvement_plan 2.0) than previous plan, using previous plan
2026-08-15 03:00:17.713231: Plan valid is now true after recompute was False
2026-08-15 03:00:17.735682: predict base end_record 08-16 11:30:00, final soc 1.12kWh, metric 834.33p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 03:45:00, load 28.77kWh, PV 0.0kWh
2026-08-15 03:00:17.849207: Battery has 0.75 hours left - now at 1.92kWh
2026-08-15 03:00:17.885916: predict base10 end_record 08-16 11:30:00, final soc 1.12kWh, metric 865.0p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 03:40:00, load 29.98kWh, PV 0.0kWh
2026-08-15 03:00:17.950078: predict best10 end_record 08-16 11:30:00, final soc 1.12kWh, metric 690.79p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 03:40:00, load 29.98kWh, PV 0.0kWh
2026-08-15 03:00:18.015012: predict best end_record 08-16 11:30:00, final soc 1.12kWh, metric 661.27p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 03:45:00, load 28.77kWh, PV 0.0kWh
2026-08-15 03:00:18.015103: Saving plan best values to HA entities
2026-08-15 03:00:18.150320: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 03:00:18.155820: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 03:00:18.160823: Best charging limit SoC's [16.0, 3.5, 4.0, 16.0, 16.0, 16.0]kWh, export []kWh gives import battery 20.52kWh, house 6.37kWh, export 0.0kWh, metric 661.27p, metric10 690.79p
2026-08-15 03:00:18.225302: Marginal costs baseline metric (no standing charge): 611.2885
2026-08-15 03:00:18.448355: Marginal energy costs matrix computed: min=15.44 max=26.32
2026-08-15 03:00:18.512558: Rate array import [{'start': 180, 'end': 420, 'rate': 'expensive', 'range': '(24.6p - 27.6p)'}, {'start': 420, 'end': 450, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 450, 'end': 480, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 480, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 23.6p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1860, 'rate': 'expensive', 'range': '(24.6p - 32.9p)'}, {'start': 1860, 'end': 1890, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 1890, 'end': 1920, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 1920, 'end': 2130, 'rate': 'cheap', 'range': '(16.6p - 23.6p)'}] export [{'start': 180, 'end': 2130, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 03:00:18.513184: - Your estimated bill for today is £5.97 and tomorrow is £5.46
2026-08-15 03:00:18.513229: - Import rates are expensive (24.6p - 27.6p) for the next 4 hours and then cheap (22.7p) for the next 30 minutes.
2026-08-15 03:00:18.513248: - The battery is currently at 12% and is in eco mode for the next 8 hours.
2026-08-15 03:00:18.513263: - For the next 48 hours there will be no solar generation.
2026-08-15 03:00:18.513277: - You will run out of battery in 45 minutes.
2026-08-15 03:00:18.513290: - Your next charge slot will be in 8 hours where import rates will be cheap (15.5p).
2026-08-15 03:00:18.513304: 
2026-08-15 03:00:18.571672: Plan calculation took 15.16 seconds
2026-08-15 03:00:18.572066: Inverter 0: Type SK Sunsynk
2026-08-15 03:00:18.572140: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 03:00:18.572412: Reserve min: 7%, battery_min: 7%
2026-08-15 03:00:18.572513: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 03:00:18.572856: Inverter 0 SoC: 1.92kW 12%, current charge rate 5000W, current discharge rate 5250W, current battery power 495W, current battery voltage 51.2V, grid power -58W, load power 560W, PV Power 0W
2026-08-15 03:00:18.573120: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 03:00:18.573219: Inverter 0 scheduled charge enable is False
2026-08-15 03:00:18.573246: Inverter 0 charge windows currently []
2026-08-15 03:00:18.573270: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 03:00:18.573360: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 03:00:18.573389: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 03:00:18.573419: Inverter 0 scheduled discharge enable is False
2026-08-15 03:00:18.573529: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 03:00:18.573560: Inverter 0 discharge windows currently []
2026-08-15 03:00:18.573579: Note: Inverter does not support discharge freeze - disabled
2026-08-15 03:00:18.573597: Note: Inverter does not support charge freeze - disabled
2026-08-15 03:00:18.573611: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 03:00:18.628270: Inverter 0 Charge window will be: 2026-08-15 11:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 12%, target 100%
2026-08-15 03:00:18.628418: Inverter 0 disabled charge window while waiting for schedule (now 08-15 03:00:00 target set_window_minutes 30 charge start time 08-15 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 03:00:18.628500: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 03:00:18.628680: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 03:00:18.628752: No export window planned
2026-08-15 03:00:18.628892: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 03:00:18.628992: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 03:00:18.629165: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 03:00:18.629318: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 03:00:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 03:00:18.629365: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 03:00:18.629408: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 03:00:18.629478: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 03:00:18.629505: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 03:00:18.629525: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 03:00:18.629547: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 03:00:18.629568: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 03:00:18.629587: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 03:00:18.629624: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 03:00:18.629762: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 03:00:18.629799: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 03:00:18.629821: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 03:00:18.629848: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 03:00:18.629904: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 03:00:18.629928: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 03:00:18.629948: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 03:00:18.629965: Inverter 0 count register writes 0
2026-08-15 03:00:18.649005: Total inverter register writes now 815
2026-08-15 03:00:18.677439: Info: Completed run status Demand
2026-08-15 03:00:18.683113: Info: record_status Demand
2026-08-15 03:00:18.689103: Saved current settings to /config/predbat_config.json
2026-08-15 03:00:18.689447: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 03:00:56.793621: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 03:00:56.793938: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 03:00:56.793989: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 03:00:56.794204: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 03:00:56.794272: Note: Inverter does not support discharge freeze - disabled
2026-08-15 03:00:56.794309: Note: Inverter does not support charge freeze - disabled
2026-08-15 03:00:56.794330: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 03:01:18.477492: ML Component: Fetching 28 days of load history from ['sensor.sunsynk_day_load_energy']
2026-08-15 03:01:19.468286: Processing 1297 30-minute periods for power integration
2026-08-15 03:01:19.568487: ML Component: Car charging hold False, car energy reported load False
2026-08-15 03:01:19.668435: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 03:01:19.770706: ML Temperature data points: 48781
2026-08-15 03:01:20.025973: ML Component: Fetched 7776 load data points, 27.0 days of history
2026-08-15 03:01:20.063512: ML Component: Data fetch completed, load data age 56.0 days, 16301 data points
2026-08-15 03:01:20.063638: ML Component: No training needed, model age is 1.03 hours
2026-08-15 03:01:20.063717: ML Component: Generating predictions load data age 56.0 days, 16301 data points
2026-08-15 03:01:20.198091: ML Predictor: Starting autoregressive prediction loop for 576 steps (48.0 hours), prev_energy value 0.06 max_dow {0: 0.10148124996256083, 1: 0.10722812486607582, 2: 0.11988124983031304, 3: 0.11477812442630529, 4: 0.1668593753574416, 5: 0.10612500002831221, 6: 0.10850624993629754}
2026-08-15 03:01:20.704548: ML Component: Generated 576 predictions (total 35.10 kWh over 48h)
2026-08-15 03:01:20.739938: ML Component: Prediction cycle completed
2026-08-15 03:01:20.859934: ML Component: Saved 16301 steps (56 days) of history to /config/predbat_ml_history.npz
2026-08-15 03:02:57.025342: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 03:02:57.025597: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 03:02:57.025639: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 03:02:57.025817: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 03:02:57.025893: Note: Inverter does not support discharge freeze - disabled
2026-08-15 03:02:57.025916: Note: Inverter does not support charge freeze - disabled
2026-08-15 03:02:57.025934: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 03:04:57.236969: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 03:04:57.237256: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 03:04:57.237335: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 03:04:57.237500: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 03:04:57.237539: Note: Inverter does not support discharge freeze - disabled
2026-08-15 03:04:57.237560: Note: Inverter does not support charge freeze - disabled
2026-08-15 03:04:57.237577: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 03:05:00.313713: --------------- PredBat - update at 2026-08-15 03:05:00+01:00 with clock skew 0 minutes, minutes now 185
2026-08-15 03:05:00.314474: Saved current settings to /config/predbat_config.json
2026-08-15 03:05:00.314606: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 60.0 minutes
2026-08-15 03:05:00.314707: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.1, latest beta is v8.48.1
2026-08-15 03:05:00.314796: Autoupdate: Currently up to date
2026-08-15 03:05:00.334173: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 03:05:00.334298: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 03:05:00.334508: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 03:05:00.335072: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 03:05:00.335229: Predbat mode is set to Control charge & discharge
2026-08-15 03:05:00.533763: Found 21602 load_today datapoints going back 27 days
2026-08-15 03:05:00.533932: Using load_power data to fill gaps in load_today data
2026-08-15 03:05:01.431085: Processing 721 30-minute periods for power integration
2026-08-15 03:05:01.627981: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 03:05:01.628114: Car charging hold False, threshold 6.0kWh
2026-08-15 03:05:01.628162: Current data so far today: load 3.3kWh, import 4.0kWh, export 0.0kWh, PV 0kWh
2026-08-15 03:05:01.642836: Cars: SoC: [12.892000000000001]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 03:05:01.643241: Standing charge is set to 49.98p
2026-08-15 03:05:01.670290: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 03:05:01.670398: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 03:05:01.670626: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 185.0 minutes
2026-08-15 03:05:01.671124: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 184.7 minutes
2026-08-15 03:05:01.674357: Loaded 47 datapoints of futurerate analysis
2026-08-15 03:05:01.758355: Predicted future rates: ['08-15 00:00:00 => 28.9 / 20.01', '08-15 01:00:00 => 27.54 / 19.31', '08-15 02:00:00 => 26.52 / 18.8', '08-15 03:00:00 => 25.99 / 18.53', '08-15 04:00:00 => 25.8 / 18.43', '08-15 05:00:00 => 25.96 / 18.51', '08-15 06:00:00 => 25.55 / 18.3', '08-15 07:00:00 => 24.33 / 17.68', '08-15 08:00:00 => 23.03 / 17.01', '08-15 09:00:00 => 22.05 / 16.51', '08-15 10:00:00 => 20.43 / 15.68', '08-15 11:00:00 => 18.01 / 14.45', '08-15 12:00:00 => 16.37 / 13.61', '08-15 13:00:00 => 15.76 / 13.3', '08-15 14:00:00 => 15.35 / 13.09', '08-15 15:00:00 => 15.86 / 13.35', '08-15 16:00:00 => 32.89 / 16.13', '08-15 17:00:00 => 38.02 / 18.75', '08-15 18:00:00 => 42.36 / 20.96', '08-15 19:00:00 => 31.09 / 21.13', '08-15 20:00:00 => 31.64 / 21.41', '08-15 21:00:00 => 31.64 / 21.41', '08-15 22:00:00 => 30.58 / 20.87']
2026-08-15 03:05:01.810224: Rate min forward looking: now 13.77p at end of forecast 13.77p
2026-08-15 03:05:01.810534: Import rates: min 13.77p, max 43.82p, average 25.96p
2026-08-15 03:05:01.845054: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 03:05:01.845169: Rate thresholds (for charge/export) are import 43.32p (0.0p), export -0.1p (0.0p)
2026-08-15 03:05:01.846176: High export rate found rates in range 99p to -99p
2026-08-15 03:05:01.909129: Low Import rate found rates in range 13.77p to 41.55p
2026-08-15 03:05:01.909242: Car 0 charging is not planned as it is not plugged in
2026-08-15 03:05:01.921813: Battery level now 1.92kWh, -1hr ago 1.91kWh, at midnight 1.66kWh, battery value change in the last hour 0.09p, change today 3.12p, rate_forward 11.83p
2026-08-15 03:05:01.922177: Last hour: net energy 0.9kWh, import 0.9kWh, export 0.0kWh, car 0kWh, load 1.0kWh, net cost 22.51p, import 22.51p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 03:05:01.971604: Today's energy total net 4.0kWh, import 4.0kWh, export 0.0kWh, cost 157.64p, import 107.65p, export 0.0p, carbon 0.0kg
2026-08-15 03:05:01.971735: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 03:05:02.037293: Using weighted-bucket historical load forecast over 14 days
2026-08-15 03:05:02.054798: Today's load divergence 106.09%, in-day adjustment 138.89%, damping 0.95x, yesterday 143.77% today 105.79% blend 87.15%
2026-08-15 03:05:02.054891: Today's predicted so far 2.42kWh with 0.0kWh car/iBoost excluded, 1.83kWh import ignored, and 2.42kWh forecast extra.
2026-08-15 03:05:02.054924: Today's actual load so far 3.44kWh with 0.0kWh car/iBoost excluded, and 1.83kWh import ignored.
2026-08-15 03:05:02.089593: Inverter 0: Type SK Sunsynk
2026-08-15 03:05:02.089716: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 03:05:02.089924: Reserve min: 7%, battery_min: 7%
2026-08-15 03:05:02.090002: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 03:05:02.090255: Inverter 0 SoC: 1.81kW 11%, current charge rate 5000W, current discharge rate 5250W, current battery power 542W, current battery voltage 51.2V, grid power -57W, load power 598W, PV Power 0W
2026-08-15 03:05:02.090411: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 03:05:02.090498: Inverter 0 scheduled charge enable is False
2026-08-15 03:05:02.090532: Inverter 0 charge windows currently []
2026-08-15 03:05:02.090559: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 03:05:02.090682: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 03:05:02.090721: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 03:05:02.090758: Inverter 0 scheduled discharge enable is False
2026-08-15 03:05:02.090885: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 03:05:02.090922: Inverter 0 discharge windows currently []
2026-08-15 03:05:02.090944: Note: Inverter does not support discharge freeze - disabled
2026-08-15 03:05:02.090962: Note: Inverter does not support charge freeze - disabled
2026-08-15 03:05:02.091000: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 03:05:02.146683: Dynamic load last period 0.60kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 03:05:02.146773: Plan was last updated on 2026-08-15 03:00:00+01:00 and is now 5.0 minutes old
2026-08-15 03:05:02.146994: Best charge window [ 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 00:30:00 @ 28.84p 100% ]
2026-08-15 03:05:02.147029: Best export window [  ]
2026-08-15 03:05:02.147705: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 03:05:02.150185: Load divergence over 8.0 hours mean 418.94W, min 269.4W, max 1041.6W, std dev 104.65W, divergence 12.49%
2026-08-15 03:05:02.165854: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 03:05:02.165958: LoadML is_calculating False
2026-08-15 03:05:02.166033: Creating pool of 12 processes to match your CPU count
2026-08-15 03:05:02.275319: predict base end_record 08-16 11:35:00, final soc 1.12kWh, metric 835.05p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 03:45:00, load 28.8kWh, PV 0.0kWh
2026-08-15 03:05:02.398554: Battery has 0.67 hours left - now at 1.81kWh
2026-08-15 03:05:02.439362: predict base10 end_record 08-16 11:35:00, final soc 1.12kWh, metric 865.69p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 03:40:00, load 30.01kWh, PV 0.0kWh
2026-08-15 03:05:02.515501: predict best10 end_record 08-16 11:35:00, final soc 1.44kWh, metric 697.36p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 03:40:00, load 30.01kWh, PV 0.0kWh
2026-08-15 03:05:02.605519: predict best end_record 08-16 11:35:00, final soc 1.51kWh, metric 669.18p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 03:45:00, load 28.8kWh, PV 0.0kWh
2026-08-15 03:05:02.605621: Saving plan best values to HA entities
2026-08-15 03:05:02.777610: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 03:05:02.783383: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0.0
2026-08-15 03:05:02.788719: Best charging limit SoC's [16.0, 3.5, 4.0, 16.0, 16.0, 16.0]kWh, export []kWh gives import battery 21.05kWh, house 6.35kWh, export 0.0kWh, metric 669.18p, metric10 697.36p
2026-08-15 03:05:02.854165: Marginal costs baseline metric (no standing charge): 619.1934
2026-08-15 03:05:03.070891: Marginal energy costs matrix computed: min=15.48 max=26.28
2026-08-15 03:05:03.149760: Rate array import [{'start': 185, 'end': 420, 'rate': 'expensive', 'range': '(24.6p - 27.6p)'}, {'start': 420, 'end': 450, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 450, 'end': 480, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 480, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 23.6p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1860, 'rate': 'expensive', 'range': '(24.6p - 32.9p)'}, {'start': 1860, 'end': 1890, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 1890, 'end': 1920, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 1920, 'end': 2135, 'rate': 'cheap', 'range': '(15.5p - 23.6p)'}] export [{'start': 185, 'end': 2135, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 03:05:03.150371: - Your estimated bill for today is £5.98 and tomorrow is £5.44
2026-08-15 03:05:03.150409: - Import rates are expensive (24.6p - 27.6p) for the next 3  hours and then cheap (22.7p) for the next 30 minutes.
2026-08-15 03:05:03.150428: - The battery is currently at 11% and is in eco mode for the next 8 hours.
2026-08-15 03:05:03.150459: - For the next 48 hours there will be no solar generation.
2026-08-15 03:05:03.150475: - You will run out of battery in 40 minutes.
2026-08-15 03:05:03.150489: - Your next charge slot will be in 8 hours where import rates will be cheap (15.5p).
2026-08-15 03:05:03.150502: 
2026-08-15 03:05:03.205198: Plan calculation took 1.06 seconds
2026-08-15 03:05:03.207771: No high rate period found
2026-08-15 03:05:03.253476: Import threshold used for optimisation was 25.08p
2026-08-15 03:05:03.300254: Low import rate windows [0: 08-15 03:00:00 - 08-15 03:30:00 @ 25.08, 1: 08-15 03:30:00 - 08-15 04:00:00 @ 24.62, 2: 08-15 04:00:00 - 08-15 04:30:00 @ 27.02, 3: 08-15 04:30:00 - 08-15 05:00:00 @ 26.47, 4: 08-15 05:00:00 - 08-15 05:30:00 @ 26.25, 5: 08-15 05:30:00 - 08-15 06:00:00 @ 26.4, 6: 08-15 06:00:00 - 08-15 06:30:00 @ 25.7, 7: 08-15 06:30:00 - 08-15 07:00:00 @ 27.63, 8: 08-15 07:00:00 - 08-15 07:30:00 @ 22.73, 9: 08-15 07:30:00 - 08-15 08:00:00 @ 26.7, 10: 08-15 08:00:00 - 08-15 08:30:00 @ 22.92, 11: 08-15 08:30:00 - 08-15 09:00:00 @ 22.48, 12: 08-15 09:00:00 - 08-15 09:30:00 @ 23.55, 13: 08-15 09:30:00 - 08-15 10:00:00 @ 23.64, 14: 08-15 10:00:00 - 08-15 10:30:00 @ 19.66, 15: 08-15 10:30:00 - 08-15 11:00:00 @ 17.66, 16: 08-15 11:00:00 - 08-15 11:30:00 @ 16.56, 17: 08-15 11:30:00 - 08-15 12:00:00 @ 15.46, 18: 08-15 12:00:00 - 08-15 12:30:00 @ 17.0, 19: 08-15 12:30:00 - 08-15 13:00:00 @ 16.34, 20: 08-15 13:00:00 - 08-15 13:30:00 @ 15.36, 21: 08-15 13:30:00 - 08-15 14:00:00 @ 15.74, 22: 08-15 14:00:00 - 08-15 14:30:00 @ 14.57, 23: 08-15 14:30:00 - 08-15 15:00:00 @ 13.77, 24: 08-15 15:00:00 - 08-15 15:30:00 @ 15.02, 25: 08-15 15:30:00 - 08-15 16:00:00 @ 15.87, 26: 08-15 16:00:00 - 08-15 16:30:00 @ 33.13, 27: 08-15 16:30:00 - 08-15 17:00:00 @ 33.13, 28: 08-15 17:00:00 - 08-15 17:30:00 @ 38.46, 29: 08-15 17:30:00 - 08-15 18:00:00 @ 40.44, 30: 08-15 18:00:00 - 08-15 18:30:00 @ 41.55, 31: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 32: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 33: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 34: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 35: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 36: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 37: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 38: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 39: 08-15 23:00:00 - 08-15 23:30:00 @ 27.8, 40: 08-15 23:30:00 - 08-16 00:00:00 @ 29.09, 41: 08-16 00:00:00 - 08-16 00:30:00 @ 28.47, 42: 08-16 00:30:00 - 08-16 01:00:00 @ 27.18, 43: 08-16 01:00:00 - 08-16 01:30:00 @ 27.57, 44: 08-16 01:30:00 - 08-16 02:00:00 @ 26.5, 45: 08-16 02:00:00 - 08-16 02:30:00 @ 25.6, 46: 08-16 02:30:00 - 08-16 03:00:00 @ 24.79, 47: 08-16 03:00:00 - 08-16 03:30:00 @ 25.08, 48: 08-16 03:30:00 - 08-16 04:00:00 @ 24.62, 49: 08-16 04:00:00 - 08-16 04:30:00 @ 27.02, 50: 08-16 04:30:00 - 08-16 05:00:00 @ 26.47, 51: 08-16 05:00:00 - 08-16 05:30:00 @ 26.25, 52: 08-16 05:30:00 - 08-16 06:00:00 @ 26.4, 53: 08-16 06:00:00 - 08-16 06:30:00 @ 25.7, 54: 08-16 06:30:00 - 08-16 07:00:00 @ 27.63, 55: 08-16 07:00:00 - 08-16 07:30:00 @ 22.73, 56: 08-16 07:30:00 - 08-16 08:00:00 @ 26.7, 57: 08-16 08:00:00 - 08-16 08:30:00 @ 22.92, 58: 08-16 08:30:00 - 08-16 09:00:00 @ 22.48, 59: 08-16 09:00:00 - 08-16 09:30:00 @ 23.55, 60: 08-16 09:30:00 - 08-16 10:00:00 @ 23.64, 61: 08-16 10:00:00 - 08-16 10:30:00 @ 19.66, 62: 08-16 10:30:00 - 08-16 11:00:00 @ 17.66, 63: 08-16 11:00:00 - 08-16 11:30:00 @ 16.56, 64: 08-16 11:30:00 - 08-16 12:00:00 @ 15.46, 65: 08-16 12:00:00 - 08-16 12:30:00 @ 17.0, 66: 08-16 12:30:00 - 08-16 13:00:00 @ 16.34, 67: 08-16 13:00:00 - 08-16 13:30:00 @ 15.36, 68: 08-16 13:30:00 - 08-16 14:00:00 @ 15.74, 69: 08-16 14:00:00 - 08-16 14:30:00 @ 14.57, 70: 08-16 14:30:00 - 08-16 15:00:00 @ 13.77, 71: 08-16 15:00:00 - 08-16 15:30:00 @ 15.02, 72: 08-16 15:30:00 - 08-16 16:00:00 @ 15.87, 73: 08-16 16:00:00 - 08-16 16:30:00 @ 33.13, 74: 08-16 16:30:00 - 08-16 17:00:00 @ 33.13, 75: 08-16 17:00:00 - 08-16 17:30:00 @ 38.46, 76: 08-16 17:30:00 - 08-16 18:00:00 @ 40.44, 77: 08-16 18:00:00 - 08-16 18:30:00 @ 41.55, 78: 08-16 19:00:00 - 08-16 19:30:00 @ 32.58, 79: 08-16 19:30:00 - 08-16 20:00:00 @ 32.9, 80: 08-16 20:00:00 - 08-16 20:30:00 @ 31.99, 81: 08-16 20:30:00 - 08-16 21:00:00 @ 32.1, 82: 08-16 21:00:00 - 08-16 21:30:00 @ 31.71, 83: 08-16 21:30:00 - 08-16 22:00:00 @ 31.67, 84: 08-16 22:00:00 - 08-16 22:30:00 @ 31.77, 85: 08-16 22:30:00 - 08-16 23:00:00 @ 29.81, 86: 08-16 23:00:00 - 08-16 23:30:00 @ 27.8, 87: 08-16 23:30:00 - 08-17 00:00:00 @ 29.09, 88: 08-17 00:00:00 - 08-17 00:30:00 @ 28.47, 89: 08-17 00:30:00 - 08-17 01:00:00 @ 27.18, 90: 08-17 01:00:00 - 08-17 01:30:00 @ 27.57, 91: 08-17 01:30:00 - 08-17 02:00:00 @ 26.5, 92: 08-17 02:00:00 - 08-17 02:30:00 @ 25.6, 93: 08-17 02:30:00 - 08-17 03:00:00 @ 24.79, 94: 08-17 03:00:00 - 08-17 03:30:00 @ 25.08]
2026-08-15 03:05:03.307450: Inverter 0 Charge window will be: 2026-08-15 11:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 11%, target 100%
2026-08-15 03:05:03.307594: Inverter 0 disabled charge window while waiting for schedule (now 08-15 03:05:00 target set_window_minutes 30 charge start time 08-15 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 03:05:03.307826: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 03:05:03.308165: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 03:05:03.308269: No export window planned
2026-08-15 03:05:03.308405: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 03:05:03.308455: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 03:05:03.308599: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 03:05:03.308802: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 03:05:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 03:05:03.308868: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 03:05:03.308927: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 03:05:03.309057: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 03:05:03.309096: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 03:05:03.309122: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 03:05:03.309145: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 03:05:03.309169: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 03:05:03.309193: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 03:05:03.309216: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 03:05:03.309274: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 03:05:03.309307: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 03:05:03.309332: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 03:05:03.309355: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 03:05:03.309378: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 03:05:03.309403: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 03:05:03.309426: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 03:05:03.309473: Inverter 0 count register writes 0
2026-08-15 03:05:03.326927: Will not recompute the plan, it is 5.0 minutes old and max age is 10 minutes
2026-08-15 03:05:03.332037: Total inverter register writes now 815
2026-08-15 03:05:03.362985: Info: Completed run status Demand
2026-08-15 03:05:03.368610: Info: record_status Demand
2026-08-15 03:05:03.375285: Saved current settings to /config/predbat_config.json
2026-08-15 03:05:03.375641: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 03:05:41.478904: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 03:05:41.479145: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 03:05:41.479193: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 03:05:41.479336: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 03:05:41.479380: Note: Inverter does not support discharge freeze - disabled
2026-08-15 03:05:41.479403: Note: Inverter does not support charge freeze - disabled
2026-08-15 03:05:41.479424: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 03:07:41.690658: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 03:07:41.690921: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 03:07:41.690964: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 03:07:41.691112: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 03:07:41.691156: Note: Inverter does not support discharge freeze - disabled
2026-08-15 03:07:41.691177: Note: Inverter does not support charge freeze - disabled
2026-08-15 03:07:41.691195: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 03:09:41.901220: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 03:09:41.901446: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 03:09:41.901486: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 03:09:41.901660: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 03:09:41.901716: Note: Inverter does not support discharge freeze - disabled
2026-08-15 03:09:41.901735: Note: Inverter does not support charge freeze - disabled
2026-08-15 03:09:41.901751: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 03:10:00.999200: --------------- PredBat - update at 2026-08-15 03:10:00+01:00 with clock skew 0 minutes, minutes now 190
2026-08-15 03:10:01.000267: Saved current settings to /config/predbat_config.json
2026-08-15 03:10:01.000522: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 65.0 minutes
2026-08-15 03:10:01.000637: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.1, latest beta is v8.48.1
2026-08-15 03:10:01.000776: Autoupdate: Currently up to date
2026-08-15 03:10:01.019876: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 03:10:01.020006: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 03:10:01.020263: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 03:10:01.020930: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 03:10:01.021106: Predbat mode is set to Control charge & discharge
2026-08-15 03:10:01.193422: Found 21602 load_today datapoints going back 28 days
2026-08-15 03:10:01.193586: Using load_power data to fill gaps in load_today data
2026-08-15 03:10:01.943399: Processing 721 30-minute periods for power integration
2026-08-15 03:10:02.133132: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 03:10:02.133259: Car charging hold False, threshold 6.0kWh
2026-08-15 03:10:02.133302: Current data so far today: load 3.35kWh, import 4.0kWh, export 0.0kWh, PV 0kWh
2026-08-15 03:10:02.148035: Cars: SoC: [12.892000000000001]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 03:10:02.148434: Standing charge is set to 49.98p
2026-08-15 03:10:02.176284: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 03:10:02.176387: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 03:10:02.176607: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 190.0 minutes
2026-08-15 03:10:02.177032: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 189.7 minutes
2026-08-15 03:10:02.180276: Loaded 47 datapoints of futurerate analysis
2026-08-15 03:10:02.265230: Predicted future rates: ['08-15 00:00:00 => 28.9 / 20.01', '08-15 01:00:00 => 27.54 / 19.31', '08-15 02:00:00 => 26.52 / 18.8', '08-15 03:00:00 => 25.99 / 18.53', '08-15 04:00:00 => 25.8 / 18.43', '08-15 05:00:00 => 25.96 / 18.51', '08-15 06:00:00 => 25.55 / 18.3', '08-15 07:00:00 => 24.33 / 17.68', '08-15 08:00:00 => 23.03 / 17.01', '08-15 09:00:00 => 22.05 / 16.51', '08-15 10:00:00 => 20.43 / 15.68', '08-15 11:00:00 => 18.01 / 14.45', '08-15 12:00:00 => 16.37 / 13.61', '08-15 13:00:00 => 15.76 / 13.3', '08-15 14:00:00 => 15.35 / 13.09', '08-15 15:00:00 => 15.86 / 13.35', '08-15 16:00:00 => 32.89 / 16.13', '08-15 17:00:00 => 38.02 / 18.75', '08-15 18:00:00 => 42.36 / 20.96', '08-15 19:00:00 => 31.09 / 21.13', '08-15 20:00:00 => 31.64 / 21.41', '08-15 21:00:00 => 31.64 / 21.41', '08-15 22:00:00 => 30.58 / 20.87']
2026-08-15 03:10:02.325950: Rate min forward looking: now 13.77p at end of forecast 13.77p
2026-08-15 03:10:02.326462: Import rates: min 13.77p, max 43.82p, average 25.96p
2026-08-15 03:10:02.369309: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 03:10:02.369439: Rate thresholds (for charge/export) are import 43.32p (0.0p), export -0.1p (0.0p)
2026-08-15 03:10:02.370695: High export rate found rates in range 99p to -99p
2026-08-15 03:10:02.449180: Low Import rate found rates in range 13.77p to 41.55p
2026-08-15 03:10:02.449295: Car 0 charging is not planned as it is not plugged in
2026-08-15 03:10:02.461257: Battery level now 1.81kWh, -1hr ago 1.91kWh, at midnight 1.66kWh, battery value change in the last hour -1.23p, change today 1.8p, rate_forward 11.83p
2026-08-15 03:10:02.461622: Last hour: net energy 0.85kWh, import 0.85kWh, export 0.0kWh, car 0kWh, load 1.0kWh, net cost 21.23p, import 21.23p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 03:10:02.506532: Today's energy total net 4.0kWh, import 4.0kWh, export 0.0kWh, cost 157.64p, import 107.65p, export 0.0p, carbon 0.0kg
2026-08-15 03:10:02.506658: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 03:10:02.580094: Using weighted-bucket historical load forecast over 14 days
2026-08-15 03:10:02.603889: Today's load divergence 105.97%, in-day adjustment 138.74%, damping 0.95x, yesterday 143.77% today 105.67% blend 86.81%
2026-08-15 03:10:02.604003: Today's predicted so far 2.44kWh with 0.0kWh car/iBoost excluded, 1.86kWh import ignored, and 2.44kWh forecast extra.
2026-08-15 03:10:02.604035: Today's actual load so far 3.44kWh with 0.0kWh car/iBoost excluded, and 1.86kWh import ignored.
2026-08-15 03:10:02.644230: Inverter 0: Type SK Sunsynk
2026-08-15 03:10:02.644324: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 03:10:02.644555: Reserve min: 7%, battery_min: 7%
2026-08-15 03:10:02.644698: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 03:10:02.645090: Inverter 0 SoC: 1.76kW 11%, current charge rate 5000W, current discharge rate 5250W, current battery power 474W, current battery voltage 51.2V, grid power -50W, load power 529W, PV Power 0W
2026-08-15 03:10:02.645276: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 03:10:02.645369: Inverter 0 scheduled charge enable is False
2026-08-15 03:10:02.645415: Inverter 0 charge windows currently []
2026-08-15 03:10:02.645441: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 03:10:02.645552: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 03:10:02.645588: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 03:10:02.645647: Inverter 0 scheduled discharge enable is False
2026-08-15 03:10:02.645899: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 03:10:02.645964: Inverter 0 discharge windows currently []
2026-08-15 03:10:02.645999: Note: Inverter does not support discharge freeze - disabled
2026-08-15 03:10:02.646025: Note: Inverter does not support charge freeze - disabled
2026-08-15 03:10:02.646055: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 03:10:02.711979: Dynamic load last period 0.60kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 03:10:02.712091: Plan was last updated on 2026-08-15 03:00:00+01:00 and is now 10.0 minutes old
2026-08-15 03:10:02.712428: Best charge window [ 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 00:30:00 @ 28.84p 100% ]
2026-08-15 03:10:02.712493: Best export window [  ]
2026-08-15 03:10:02.713543: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 03:10:02.717680: Load divergence over 8.0 hours mean 415.91W, min 268.2W, max 1026.0W, std dev 103.79W, divergence 12.48%
2026-08-15 03:10:02.738372: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 03:10:02.739429: LoadML is_calculating False
2026-08-15 03:10:02.739529: Creating pool of 12 processes to match your CPU count
2026-08-15 03:10:02.855408: predict base end_record 08-16 11:40:00, final soc 1.12kWh, metric 835.88p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 03:50:00, load 28.87kWh, PV 0.0kWh
2026-08-15 03:10:02.971318: Battery has 0.67 hours left - now at 1.76kWh
2026-08-15 03:10:03.013373: predict base10 end_record 08-16 11:40:00, final soc 1.12kWh, metric 866.5p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 03:45:00, load 30.09kWh, PV 0.0kWh
2026-08-15 03:10:03.085977: predict best10 end_record 08-16 11:40:00, final soc 1.77kWh, metric 703.42p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 03:45:00, load 30.09kWh, PV 0.0kWh
2026-08-15 03:10:03.163733: predict best end_record 08-16 11:40:00, final soc 1.9kWh, metric 676.21p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 03:50:00, load 28.87kWh, PV 0.0kWh
2026-08-15 03:10:03.163825: Saving plan best values to HA entities
2026-08-15 03:10:03.316068: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 03:10:03.321296: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 03:10:03.326456: Best charging limit SoC's [16.0, 3.5, 4.0, 16.0, 16.0, 16.0]kWh, export []kWh gives import battery 21.55kWh, house 6.33kWh, export 0.0kWh, metric 676.21p, metric10 703.42p
2026-08-15 03:10:03.394714: Marginal costs baseline metric (no standing charge): 626.2224
2026-08-15 03:10:03.665236: Marginal energy costs matrix computed: min=15.42 max=26.23
2026-08-15 03:10:03.754764: Rate array import [{'start': 190, 'end': 420, 'rate': 'expensive', 'range': '(24.6p - 27.6p)'}, {'start': 420, 'end': 450, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 450, 'end': 480, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 480, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 23.6p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1860, 'rate': 'expensive', 'range': '(24.6p - 32.9p)'}, {'start': 1860, 'end': 1890, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 1890, 'end': 1920, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 1920, 'end': 2140, 'rate': 'cheap', 'range': '(15.5p - 23.6p)'}] export [{'start': 190, 'end': 2140, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 03:10:03.755342: - Your estimated bill for today is £5.97 and tomorrow is £5.46
2026-08-15 03:10:03.755378: - Import rates are expensive (24.6p - 27.6p) for the next 3 and three quarters hours and then cheap (22.7p) for the next 30 minutes.
2026-08-15 03:10:03.755396: - The battery is currently at 11% and is in eco mode for the next 8 hours.
2026-08-15 03:10:03.755410: - For the next 48 hours there will be no solar generation.
2026-08-15 03:10:03.755424: - You will run out of battery in 40 minutes.
2026-08-15 03:10:03.755437: - Your next charge slot will be in 8 hours where import rates will be cheap (15.5p).
2026-08-15 03:10:03.755451: 
2026-08-15 03:10:03.804436: Plan calculation took 1.09 seconds
2026-08-15 03:10:03.807753: No high rate period found
2026-08-15 03:10:03.857549: Import threshold used for optimisation was 25.08p
2026-08-15 03:10:03.906098: Low import rate windows [0: 08-15 03:00:00 - 08-15 03:30:00 @ 25.08, 1: 08-15 03:30:00 - 08-15 04:00:00 @ 24.62, 2: 08-15 04:00:00 - 08-15 04:30:00 @ 27.02, 3: 08-15 04:30:00 - 08-15 05:00:00 @ 26.47, 4: 08-15 05:00:00 - 08-15 05:30:00 @ 26.25, 5: 08-15 05:30:00 - 08-15 06:00:00 @ 26.4, 6: 08-15 06:00:00 - 08-15 06:30:00 @ 25.7, 7: 08-15 06:30:00 - 08-15 07:00:00 @ 27.63, 8: 08-15 07:00:00 - 08-15 07:30:00 @ 22.73, 9: 08-15 07:30:00 - 08-15 08:00:00 @ 26.7, 10: 08-15 08:00:00 - 08-15 08:30:00 @ 22.92, 11: 08-15 08:30:00 - 08-15 09:00:00 @ 22.48, 12: 08-15 09:00:00 - 08-15 09:30:00 @ 23.55, 13: 08-15 09:30:00 - 08-15 10:00:00 @ 23.64, 14: 08-15 10:00:00 - 08-15 10:30:00 @ 19.66, 15: 08-15 10:30:00 - 08-15 11:00:00 @ 17.66, 16: 08-15 11:00:00 - 08-15 11:30:00 @ 16.56, 17: 08-15 11:30:00 - 08-15 12:00:00 @ 15.46, 18: 08-15 12:00:00 - 08-15 12:30:00 @ 17.0, 19: 08-15 12:30:00 - 08-15 13:00:00 @ 16.34, 20: 08-15 13:00:00 - 08-15 13:30:00 @ 15.36, 21: 08-15 13:30:00 - 08-15 14:00:00 @ 15.74, 22: 08-15 14:00:00 - 08-15 14:30:00 @ 14.57, 23: 08-15 14:30:00 - 08-15 15:00:00 @ 13.77, 24: 08-15 15:00:00 - 08-15 15:30:00 @ 15.02, 25: 08-15 15:30:00 - 08-15 16:00:00 @ 15.87, 26: 08-15 16:00:00 - 08-15 16:30:00 @ 33.13, 27: 08-15 16:30:00 - 08-15 17:00:00 @ 33.13, 28: 08-15 17:00:00 - 08-15 17:30:00 @ 38.46, 29: 08-15 17:30:00 - 08-15 18:00:00 @ 40.44, 30: 08-15 18:00:00 - 08-15 18:30:00 @ 41.55, 31: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 32: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 33: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 34: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 35: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 36: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 37: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 38: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 39: 08-15 23:00:00 - 08-15 23:30:00 @ 27.8, 40: 08-15 23:30:00 - 08-16 00:00:00 @ 29.09, 41: 08-16 00:00:00 - 08-16 00:30:00 @ 28.47, 42: 08-16 00:30:00 - 08-16 01:00:00 @ 27.18, 43: 08-16 01:00:00 - 08-16 01:30:00 @ 27.57, 44: 08-16 01:30:00 - 08-16 02:00:00 @ 26.5, 45: 08-16 02:00:00 - 08-16 02:30:00 @ 25.6, 46: 08-16 02:30:00 - 08-16 03:00:00 @ 24.79, 47: 08-16 03:00:00 - 08-16 03:30:00 @ 25.08, 48: 08-16 03:30:00 - 08-16 04:00:00 @ 24.62, 49: 08-16 04:00:00 - 08-16 04:30:00 @ 27.02, 50: 08-16 04:30:00 - 08-16 05:00:00 @ 26.47, 51: 08-16 05:00:00 - 08-16 05:30:00 @ 26.25, 52: 08-16 05:30:00 - 08-16 06:00:00 @ 26.4, 53: 08-16 06:00:00 - 08-16 06:30:00 @ 25.7, 54: 08-16 06:30:00 - 08-16 07:00:00 @ 27.63, 55: 08-16 07:00:00 - 08-16 07:30:00 @ 22.73, 56: 08-16 07:30:00 - 08-16 08:00:00 @ 26.7, 57: 08-16 08:00:00 - 08-16 08:30:00 @ 22.92, 58: 08-16 08:30:00 - 08-16 09:00:00 @ 22.48, 59: 08-16 09:00:00 - 08-16 09:30:00 @ 23.55, 60: 08-16 09:30:00 - 08-16 10:00:00 @ 23.64, 61: 08-16 10:00:00 - 08-16 10:30:00 @ 19.66, 62: 08-16 10:30:00 - 08-16 11:00:00 @ 17.66, 63: 08-16 11:00:00 - 08-16 11:30:00 @ 16.56, 64: 08-16 11:30:00 - 08-16 12:00:00 @ 15.46, 65: 08-16 12:00:00 - 08-16 12:30:00 @ 17.0, 66: 08-16 12:30:00 - 08-16 13:00:00 @ 16.34, 67: 08-16 13:00:00 - 08-16 13:30:00 @ 15.36, 68: 08-16 13:30:00 - 08-16 14:00:00 @ 15.74, 69: 08-16 14:00:00 - 08-16 14:30:00 @ 14.57, 70: 08-16 14:30:00 - 08-16 15:00:00 @ 13.77, 71: 08-16 15:00:00 - 08-16 15:30:00 @ 15.02, 72: 08-16 15:30:00 - 08-16 16:00:00 @ 15.87, 73: 08-16 16:00:00 - 08-16 16:30:00 @ 33.13, 74: 08-16 16:30:00 - 08-16 17:00:00 @ 33.13, 75: 08-16 17:00:00 - 08-16 17:30:00 @ 38.46, 76: 08-16 17:30:00 - 08-16 18:00:00 @ 40.44, 77: 08-16 18:00:00 - 08-16 18:30:00 @ 41.55, 78: 08-16 19:00:00 - 08-16 19:30:00 @ 32.58, 79: 08-16 19:30:00 - 08-16 20:00:00 @ 32.9, 80: 08-16 20:00:00 - 08-16 20:30:00 @ 31.99, 81: 08-16 20:30:00 - 08-16 21:00:00 @ 32.1, 82: 08-16 21:00:00 - 08-16 21:30:00 @ 31.71, 83: 08-16 21:30:00 - 08-16 22:00:00 @ 31.67, 84: 08-16 22:00:00 - 08-16 22:30:00 @ 31.77, 85: 08-16 22:30:00 - 08-16 23:00:00 @ 29.81, 86: 08-16 23:00:00 - 08-16 23:30:00 @ 27.8, 87: 08-16 23:30:00 - 08-17 00:00:00 @ 29.09, 88: 08-17 00:00:00 - 08-17 00:30:00 @ 28.47, 89: 08-17 00:30:00 - 08-17 01:00:00 @ 27.18, 90: 08-17 01:00:00 - 08-17 01:30:00 @ 27.57, 91: 08-17 01:30:00 - 08-17 02:00:00 @ 26.5, 92: 08-17 02:00:00 - 08-17 02:30:00 @ 25.6, 93: 08-17 02:30:00 - 08-17 03:00:00 @ 24.79, 94: 08-17 03:00:00 - 08-17 03:30:00 @ 25.08]
2026-08-15 03:10:03.911958: Inverter 0 Charge window will be: 2026-08-15 11:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 11%, target 100%
2026-08-15 03:10:03.912082: Inverter 0 disabled charge window while waiting for schedule (now 08-15 03:10:00 target set_window_minutes 30 charge start time 08-15 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 03:10:03.912198: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 03:10:03.912503: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 03:10:03.912597: No export window planned
2026-08-15 03:10:03.912733: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 03:10:03.912797: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 03:10:03.912935: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 03:10:03.913180: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 03:10:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 03:10:03.913259: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 03:10:03.913319: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 03:10:03.913425: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 03:10:03.913498: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 03:10:03.913527: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 03:10:03.913568: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 03:10:03.913594: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 03:10:03.913625: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 03:10:03.913651: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 03:10:03.913741: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 03:10:03.913774: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 03:10:03.913798: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 03:10:03.913832: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 03:10:03.913862: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 03:10:03.913890: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 03:10:03.913913: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 03:10:03.913935: Inverter 0 count register writes 0
2026-08-15 03:10:03.928389: Will recompute the plan as it is now 10.0 minutes old and will exceed the max age of 10 minutes before the next run
2026-08-15 03:10:03.928556: Recompute is saving previous plan...
2026-08-15 03:10:03.931656: Best charge window [ 15-08 03:00:00 - 15-08 03:30:00 @ 25.08p 0%, 15-08 03:30:00 - 15-08 04:00:00 @ 24.62p 0%, 15-08 04:00:00 - 15-08 04:30:00 @ 27.02p 0%, 15-08 04:30:00 - 15-08 05:00:00 @ 26.47p 0%, 15-08 05:00:00 - 15-08 05:30:00 @ 26.25p 0%, 15-08 05:30:00 - 15-08 06:00:00 @ 26.4p 0%, 15-08 06:00:00 - 15-08 06:30:00 @ 25.7p 0%, 15-08 06:30:00 - 15-08 07:00:00 @ 27.63p 0%, 15-08 07:00:00 - 15-08 07:30:00 @ 22.73p 0%, 15-08 07:30:00 - 15-08 08:00:00 @ 26.7p 0%, 15-08 08:00:00 - 15-08 08:30:00 @ 22.92p 0%, 15-08 08:30:00 - 15-08 09:00:00 @ 22.48p 0%, 15-08 09:00:00 - 15-08 09:30:00 @ 23.55p 0%, 15-08 09:30:00 - 15-08 10:00:00 @ 23.64p 0%, 15-08 10:00:00 - 15-08 10:30:00 @ 19.66p 0%, 15-08 10:30:00 - 15-08 11:00:00 @ 17.66p 0%, 15-08 11:00:00 - 15-08 11:30:00 @ 16.56p 0%, 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 0%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 0%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 0%, 15-08 13:00:00 - 15-08 13:30:00 @ 15.36p 0%, 15-08 13:30:00 - 15-08 14:00:00 @ 15.74p 0%, 15-08 14:00:00 - 15-08 14:30:00 @ 14.57p 0%, 15-08 14:30:00 - 15-08 15:00:00 @ 13.77p 0%, 15-08 15:00:00 - 15-08 15:30:00 @ 15.02p 0%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 0%, 15-08 16:00:00 - 15-08 16:30:00 @ 33.13p 0%, 15-08 16:30:00 - 15-08 17:00:00 @ 33.13p 0%, 15-08 17:00:00 - 15-08 17:30:00 @ 38.46p 0%, 15-08 17:30:00 - 15-08 18:00:00 @ 40.44p 0%, 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 0%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 0%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 0%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 0%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 0%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 27.8p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 29.09p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.47p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.18p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 27.57p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.5p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.6p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 24.79p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 25.08p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 24.62p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 27.02p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.47p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 26.25p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.4p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.7p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 27.63p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 22.73p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 26.7p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 22.92p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 22.48p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 23.55p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 23.64p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 19.66p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 17.66p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 16.56p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 15.46p 0%, 16-08 12:00:00 - 16-08 12:30:00 @ 17.0p 0%, 16-08 12:30:00 - 16-08 13:00:00 @ 16.34p 0%, 16-08 13:00:00 - 16-08 13:30:00 @ 15.36p 0%, 16-08 13:30:00 - 16-08 14:00:00 @ 15.74p 0%, 16-08 14:00:00 - 16-08 14:30:00 @ 14.57p 0%, 16-08 14:30:00 - 16-08 15:00:00 @ 13.77p 0%, 16-08 15:00:00 - 16-08 15:30:00 @ 15.02p 0%, 16-08 15:30:00 - 16-08 16:00:00 @ 15.87p 0%, 16-08 16:00:00 - 16-08 16:30:00 @ 33.13p 0%, 16-08 16:30:00 - 16-08 17:00:00 @ 33.13p 0%, 16-08 17:00:00 - 16-08 17:30:00 @ 38.46p 0%, 16-08 17:30:00 - 16-08 18:00:00 @ 40.44p 0%, 16-08 18:00:00 - 16-08 18:30:00 @ 41.55p 0%, 16-08 19:00:00 - 16-08 19:30:00 @ 32.58p 0%, 16-08 19:30:00 - 16-08 20:00:00 @ 32.9p 0%, 16-08 20:00:00 - 16-08 20:30:00 @ 31.99p 0%, 16-08 20:30:00 - 16-08 21:00:00 @ 32.1p 0%, 16-08 21:00:00 - 16-08 21:30:00 @ 31.71p 0%, 16-08 21:30:00 - 16-08 22:00:00 @ 31.67p 0%, 16-08 22:00:00 - 16-08 22:30:00 @ 31.77p 0%, 16-08 22:30:00 - 16-08 23:00:00 @ 29.81p 0%, 16-08 23:00:00 - 16-08 23:30:00 @ 27.8p 0%, 16-08 23:30:00 - 17-08 00:00:00 @ 29.09p 0%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.47p 0%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.18p 0%, 17-08 01:00:00 - 17-08 01:30:00 @ 27.57p 0%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.5p 0%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.6p 0%, 17-08 02:30:00 - 17-08 03:00:00 @ 24.79p 0%, 17-08 03:00:00 - 17-08 03:30:00 @ 25.08p 0% ]
2026-08-15 03:10:03.931746: Best export window [  ]
2026-08-15 03:10:03.932528: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 03:10:03.935608: Load divergence over 8.0 hours mean 415.91W, min 268.2W, max 1026.0W, std dev 103.79W, divergence 12.48%
2026-08-15 03:10:03.953207: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 03:10:03.953308: LoadML is_calculating False
2026-08-15 03:10:03.953369: Creating pool of 12 processes to match your CPU count
2026-08-15 03:10:04.042918: Calculate Best options: mode(Control charge & discharge), calculate_export_oncharge(False), calculate_export_on_pv(True), set_export_freeze_only(False), set_discharge_during_charge(True), combine_charge_slots(False), combine_export_slots(False), combine_rate_threshold(0.0), best_soc_min(0.0 kWh), best_soc_max(0.0 kWh), best_soc_keep(0.0 kWh), inverter_loss(4%), battery_loss(3%), battery_loss_discharge (3%), inverter_hybrid(True), metric_min_improvement(0.0p), metric_min_improvement_export(0.1p), metric_min_improvement_export_freeze(0.1p), metric_battery_cycle(0.0p/kWh), metric_battery_value_scaling(1.0 x) 
2026-08-15 03:10:04.044601: Optimise levels pass started at 2026-08-15 03:10:04
2026-08-15 03:10:04.044650: Optimise all windows, total charge 94 export 1
2026-08-15 03:10:05.077411: >> Region optimisation pass width 960 gives best_metric 795.9p, best_cost 801.21p, best_cycle 50.24kWh, best_import 39.62kWh
2026-08-15 03:10:05.478901: >> Region optimisation pass width 480 gives best_metric 795.9p, best_cost 801.21p, best_cycle 50.24kWh, best_import 39.62kWh
2026-08-15 03:10:05.988033: >> Region optimisation pass width 240 gives best_metric 795.9p, best_cost 801.21p, best_cycle 50.24kWh, best_import 39.62kWh
2026-08-15 03:10:07.113987: >> Region optimisation pass width 120 gives best_metric 795.9p, best_cost 801.21p, best_cycle 50.24kWh, best_import 39.62kWh
2026-08-15 03:10:07.114576: Calculated end_record as 08-16 11:30:00 based on best_price 16.34p, next_charge_start 08-15 11:30:00, max_windows 64
2026-08-15 03:10:07.114725: Optimise levels pass ended at 2026-08-15 03:10:07, duration 3.1 seconds tried 324 combinations
2026-08-15 03:10:07.114922: Set best_price_charge_level 17.6p, best_price_export_level 0p, best_price_charge 16.34p, best_cost_export 0p, best_metric 795.9p, best_keep 0kWh, best_cycle 50.24kWh, best_carbon 0kg, best_import 39.62kWh
2026-08-15 03:10:07.136579: Starting detailed optimisation end_record 08-16 11:30:00, best_price_charge 16.34p, best_price_export 0p. lowest_price_charge 13.77p with charge limits [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0]kWh and export limits []kWh
2026-08-15 03:10:11.732756: Tweak plan optimisation started metric 600.44p, cost 609.3p
2026-08-15 03:10:12.030424: Tweak optimisation finished metric 600.44p, cost 609.3p, metric_keep 0kWh, cycle 30.39kWh, carbon 0kg, import 26.86kWh, changed 8 window(s)
2026-08-15 03:10:12.052128: Swap charge optimisation started metric 600.44p, cost 609.3p, min_improvement_swap 0.1p
2026-08-15 03:10:17.504474: Swap charge optimisation finished metric 600.44p, cost 609.3p
2026-08-15 03:10:17.604818: Raw charge windows [ 15-08 03:00:00 - 15-08 03:30:00 @ 25.08p 9%, 15-08 03:30:00 - 15-08 04:00:00 @ 24.62p 9%, 15-08 04:00:00 - 15-08 04:30:00 @ 27.02p 0%, 15-08 04:30:00 - 15-08 05:00:00 @ 26.47p 0%, 15-08 05:00:00 - 15-08 05:30:00 @ 26.25p 0%, 15-08 05:30:00 - 15-08 06:00:00 @ 26.4p 0%, 15-08 06:00:00 - 15-08 06:30:00 @ 25.7p 0%, 15-08 06:30:00 - 15-08 07:00:00 @ 27.63p 0%, 15-08 07:00:00 - 15-08 07:30:00 @ 22.73p 0%, 15-08 07:30:00 - 15-08 08:00:00 @ 26.7p 0%, 15-08 08:00:00 - 15-08 08:30:00 @ 22.92p 0%, 15-08 08:30:00 - 15-08 09:00:00 @ 22.48p 0%, 15-08 09:00:00 - 15-08 09:30:00 @ 23.55p 0%, 15-08 09:30:00 - 15-08 10:00:00 @ 23.64p 0%, 15-08 10:00:00 - 15-08 10:30:00 @ 19.66p 0%, 15-08 10:30:00 - 15-08 11:00:00 @ 17.66p 0%, 15-08 11:00:00 - 15-08 11:30:00 @ 16.56p 0%, 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 13:30:00 @ 15.36p 100%, 15-08 13:30:00 - 15-08 14:00:00 @ 15.74p 100%, 15-08 14:00:00 - 15-08 14:30:00 @ 14.57p 100%, 15-08 14:30:00 - 15-08 15:00:00 @ 13.77p 100%, 15-08 15:00:00 - 15-08 15:30:00 @ 15.02p 100%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 100%, 15-08 16:00:00 - 15-08 16:30:00 @ 33.13p 0%, 15-08 16:30:00 - 15-08 17:00:00 @ 33.13p 0%, 15-08 17:00:00 - 15-08 17:30:00 @ 38.46p 0%, 15-08 17:30:00 - 15-08 18:00:00 @ 40.44p 0%, 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 0%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 0%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 0%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 0%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 0%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 27.8p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 29.09p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.47p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.18p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 27.57p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.5p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.6p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 24.79p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 25.08p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 24.62p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 27.02p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.47p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 26.25p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.4p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.7p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 27.63p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 22.73p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 26.7p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 22.92p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 22.48p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 23.55p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 23.64p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 19.66p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 17.66p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 16.56p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 15.46p 100%, 16-08 12:00:00 - 16-08 12:30:00 @ 17.0p 100%, 16-08 12:30:00 - 16-08 13:00:00 @ 16.34p 100%, 16-08 13:00:00 - 16-08 13:30:00 @ 15.36p 100%, 16-08 13:30:00 - 16-08 14:00:00 @ 15.74p 100%, 16-08 14:00:00 - 16-08 14:30:00 @ 14.57p 100%, 16-08 14:30:00 - 16-08 15:00:00 @ 13.77p 100%, 16-08 15:00:00 - 16-08 15:30:00 @ 15.02p 100%, 16-08 15:30:00 - 16-08 16:00:00 @ 15.87p 100%, 16-08 16:00:00 - 16-08 16:30:00 @ 33.13p 100%, 16-08 16:30:00 - 16-08 17:00:00 @ 33.13p 100%, 16-08 17:00:00 - 16-08 17:30:00 @ 38.46p 100%, 16-08 17:30:00 - 16-08 18:00:00 @ 40.44p 100%, 16-08 18:00:00 - 16-08 18:30:00 @ 41.55p 100%, 16-08 19:00:00 - 16-08 19:30:00 @ 32.58p 100%, 16-08 19:30:00 - 16-08 20:00:00 @ 32.9p 100%, 16-08 20:00:00 - 16-08 20:30:00 @ 31.99p 100%, 16-08 20:30:00 - 16-08 21:00:00 @ 32.1p 100%, 16-08 21:00:00 - 16-08 21:30:00 @ 31.71p 100%, 16-08 21:30:00 - 16-08 22:00:00 @ 31.67p 100%, 16-08 22:00:00 - 16-08 22:30:00 @ 31.77p 100%, 16-08 22:30:00 - 16-08 23:00:00 @ 29.81p 100%, 16-08 23:00:00 - 16-08 23:30:00 @ 27.8p 100%, 16-08 23:30:00 - 17-08 00:00:00 @ 29.09p 100%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.47p 100%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.18p 100%, 17-08 01:00:00 - 17-08 01:30:00 @ 27.57p 100%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.5p 100%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.6p 100%, 17-08 02:30:00 - 17-08 03:00:00 @ 24.79p 100%, 17-08 03:00:00 - 17-08 03:30:00 @ 25.08p 100% ] reserve 1.12
2026-08-15 03:10:17.605387: Unclipped charge windows [ 15-08 03:00:00 - 15-08 04:00:00 @ 24.85p 9%, 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 03:30:00 @ 25.33p 100% ] reserve 1.12
2026-08-15 03:10:17.605664: Unfiltered charge windows [ 15-08 03:00:00 - 15-08 04:00:00 @ 24.85p 9%, 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 03:30:00 @ 25.33p 100% ] reserve 1.12
2026-08-15 03:10:17.605902: Filtered charge windows [ 15-08 03:00:00 - 15-08 04:00:00 @ 24.85p 9%, 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 03:30:00 @ 25.33p 100% ] reserve 1.12
2026-08-15 03:10:17.636357: Previous plan best metric is 601.49 (cost 610.35) and new plan best metric is 600.44 (cost 609.3)
2026-08-15 03:10:17.636550: New plan metric is not significantly better (metric_min_improvement_plan 2.0) than previous plan, using previous plan
2026-08-15 03:10:17.636746: Plan valid is now true after recompute was False
2026-08-15 03:10:17.660265: predict base end_record 08-16 11:30:00, final soc 1.12kWh, metric 832.88p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 03:50:00, load 28.68kWh, PV 0.0kWh
2026-08-15 03:10:17.761836: Battery has 0.67 hours left - now at 1.76kWh
2026-08-15 03:10:17.801384: predict base10 end_record 08-16 11:30:00, final soc 1.12kWh, metric 863.36p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 03:45:00, load 29.88kWh, PV 0.0kWh
2026-08-15 03:10:17.879157: predict best10 end_record 08-16 11:30:00, final soc 1.12kWh, metric 689.55p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 03:45:00, load 29.88kWh, PV 0.0kWh
2026-08-15 03:10:17.953701: predict best end_record 08-16 11:30:00, final soc 1.12kWh, metric 660.33p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 03:50:00, load 28.68kWh, PV 0.0kWh
2026-08-15 03:10:17.953785: Saving plan best values to HA entities
2026-08-15 03:10:18.095207: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 03:10:18.100839: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 03:10:18.106166: Best charging limit SoC's [16.0, 3.5, 4.0, 16.0, 16.0, 16.0]kWh, export []kWh gives import battery 20.53kWh, house 6.33kWh, export 0.0kWh, metric 660.33p, metric10 689.55p
2026-08-15 03:10:18.167315: Marginal costs baseline metric (no standing charge): 610.3486
2026-08-15 03:10:18.383294: Marginal energy costs matrix computed: min=15.42 max=26.23
2026-08-15 03:10:18.442306: Rate array import [{'start': 190, 'end': 420, 'rate': 'expensive', 'range': '(24.6p - 27.6p)'}, {'start': 420, 'end': 450, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 450, 'end': 480, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 480, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 23.6p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1860, 'rate': 'expensive', 'range': '(24.6p - 32.9p)'}, {'start': 1860, 'end': 1890, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 1890, 'end': 1920, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 1920, 'end': 2130, 'rate': 'cheap', 'range': '(16.6p - 23.6p)'}] export [{'start': 190, 'end': 2130, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 03:10:18.442923: - Your estimated bill for today is £5.97 and tomorrow is £5.46
2026-08-15 03:10:18.442968: - Import rates are expensive (24.6p - 27.6p) for the next 3 and three quarters hours and then cheap (22.7p) for the next 30 minutes.
2026-08-15 03:10:18.442987: - The battery is currently at 11% and is in eco mode for the next 8 hours.
2026-08-15 03:10:18.443002: - For the next 48 hours there will be no solar generation.
2026-08-15 03:10:18.443017: - You will run out of battery in 40 minutes.
2026-08-15 03:10:18.443044: - Your next charge slot will be in 8 hours where import rates will be cheap (15.5p).
2026-08-15 03:10:18.443081: 
2026-08-15 03:10:18.494122: Plan calculation took 14.57 seconds
2026-08-15 03:10:18.494497: Inverter 0: Type SK Sunsynk
2026-08-15 03:10:18.494544: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 03:10:18.494784: Reserve min: 7%, battery_min: 7%
2026-08-15 03:10:18.494867: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 03:10:18.495195: Inverter 0 SoC: 1.76kW 11%, current charge rate 5000W, current discharge rate 5250W, current battery power 474W, current battery voltage 51.2V, grid power -50W, load power 529W, PV Power 0W
2026-08-15 03:10:18.495526: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 03:10:18.495659: Inverter 0 scheduled charge enable is False
2026-08-15 03:10:18.495723: Inverter 0 charge windows currently []
2026-08-15 03:10:18.495757: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 03:10:18.495874: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 03:10:18.495912: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 03:10:18.495948: Inverter 0 scheduled discharge enable is False
2026-08-15 03:10:18.496077: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 03:10:18.496136: Inverter 0 discharge windows currently []
2026-08-15 03:10:18.496160: Note: Inverter does not support discharge freeze - disabled
2026-08-15 03:10:18.496186: Note: Inverter does not support charge freeze - disabled
2026-08-15 03:10:18.496204: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 03:10:18.542749: Inverter 0 Charge window will be: 2026-08-15 11:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 11%, target 100%
2026-08-15 03:10:18.542899: Inverter 0 disabled charge window while waiting for schedule (now 08-15 03:10:00 target set_window_minutes 30 charge start time 08-15 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 03:10:18.542972: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 03:10:18.543261: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 03:10:18.543427: No export window planned
2026-08-15 03:10:18.543597: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 03:10:18.543650: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 03:10:18.543873: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 03:10:18.544215: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 03:10:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 03:10:18.544286: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 03:10:18.544375: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 03:10:18.544502: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 03:10:18.544579: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 03:10:18.544637: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 03:10:18.544694: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 03:10:18.544756: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 03:10:18.544808: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 03:10:18.544850: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 03:10:18.545063: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 03:10:18.545121: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 03:10:18.545170: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 03:10:18.545211: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 03:10:18.545258: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 03:10:18.545305: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 03:10:18.545333: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 03:10:18.545364: Inverter 0 count register writes 0
2026-08-15 03:10:18.565045: Total inverter register writes now 815
2026-08-15 03:10:18.597475: Info: Completed run status Demand
2026-08-15 03:10:18.604075: Info: record_status Demand
2026-08-15 03:10:18.610747: Saved current settings to /config/predbat_config.json
2026-08-15 03:10:18.611146: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 03:10:56.721710: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 03:10:56.721980: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 03:10:56.722059: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 03:10:56.722284: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 03:10:56.722331: Note: Inverter does not support discharge freeze - disabled
2026-08-15 03:10:56.722353: Note: Inverter does not support charge freeze - disabled
2026-08-15 03:10:56.722370: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 03:12:56.933333: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 03:12:56.933573: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 03:12:56.933608: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 03:12:56.933896: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 03:12:56.933958: Note: Inverter does not support discharge freeze - disabled
2026-08-15 03:12:56.933983: Note: Inverter does not support charge freeze - disabled
2026-08-15 03:12:56.934001: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 03:14:57.149122: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 03:14:57.149405: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 03:14:57.149462: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 03:14:57.149717: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 03:14:57.149774: Note: Inverter does not support discharge freeze - disabled
2026-08-15 03:14:57.149792: Note: Inverter does not support charge freeze - disabled
2026-08-15 03:14:57.149807: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 03:15:00.214836: --------------- PredBat - update at 2026-08-15 03:15:00+01:00 with clock skew 0 minutes, minutes now 195
2026-08-15 03:15:00.215509: Saved current settings to /config/predbat_config.json
2026-08-15 03:15:00.215658: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 70.0 minutes
2026-08-15 03:15:00.215817: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.1, latest beta is v8.48.1
2026-08-15 03:15:00.215916: Autoupdate: Currently up to date
2026-08-15 03:15:00.234417: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 03:15:00.234636: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 03:15:00.234904: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 03:15:00.235690: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 03:15:00.235854: Predbat mode is set to Control charge & discharge
2026-08-15 03:15:00.397826: Found 21602 load_today datapoints going back 28 days
2026-08-15 03:15:00.397957: Using load_power data to fill gaps in load_today data
2026-08-15 03:15:01.082835: Processing 721 30-minute periods for power integration
2026-08-15 03:15:01.233970: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 03:15:01.234096: Car charging hold False, threshold 6.0kWh
2026-08-15 03:15:01.234134: Current data so far today: load 3.4kWh, import 4.0kWh, export 0.0kWh, PV 0kWh
2026-08-15 03:15:01.245861: Cars: SoC: [12.892000000000001]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 03:15:01.246210: Standing charge is set to 49.98p
2026-08-15 03:15:01.268162: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 03:15:01.268252: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 03:15:01.268450: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 195.0 minutes
2026-08-15 03:15:01.268854: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 194.7 minutes
2026-08-15 03:15:01.272079: Loaded 47 datapoints of futurerate analysis
2026-08-15 03:15:01.363331: Predicted future rates: ['08-15 00:00:00 => 28.9 / 20.01', '08-15 01:00:00 => 27.54 / 19.31', '08-15 02:00:00 => 26.52 / 18.8', '08-15 03:00:00 => 25.99 / 18.53', '08-15 04:00:00 => 25.8 / 18.43', '08-15 05:00:00 => 25.96 / 18.51', '08-15 06:00:00 => 25.55 / 18.3', '08-15 07:00:00 => 24.33 / 17.68', '08-15 08:00:00 => 23.03 / 17.01', '08-15 09:00:00 => 22.05 / 16.51', '08-15 10:00:00 => 20.43 / 15.68', '08-15 11:00:00 => 18.01 / 14.45', '08-15 12:00:00 => 16.37 / 13.61', '08-15 13:00:00 => 15.76 / 13.3', '08-15 14:00:00 => 15.35 / 13.09', '08-15 15:00:00 => 15.86 / 13.35', '08-15 16:00:00 => 32.89 / 16.13', '08-15 17:00:00 => 38.02 / 18.75', '08-15 18:00:00 => 42.36 / 20.96', '08-15 19:00:00 => 31.09 / 21.13', '08-15 20:00:00 => 31.64 / 21.41', '08-15 21:00:00 => 31.64 / 21.41', '08-15 22:00:00 => 30.58 / 20.87']
2026-08-15 03:15:01.426128: Rate min forward looking: now 13.77p at end of forecast 13.77p
2026-08-15 03:15:01.427016: Import rates: min 13.77p, max 43.82p, average 25.96p
2026-08-15 03:15:01.465347: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 03:15:01.465465: Rate thresholds (for charge/export) are import 43.32p (0.0p), export -0.1p (0.0p)
2026-08-15 03:15:01.466546: High export rate found rates in range 99p to -99p
2026-08-15 03:15:01.532433: Low Import rate found rates in range 13.77p to 41.55p
2026-08-15 03:15:01.532544: Car 0 charging is not planned as it is not plugged in
2026-08-15 03:15:01.544782: Battery level now 1.76kWh, -1hr ago 1.76kWh, at midnight 1.66kWh, battery value change in the last hour 0.0p, change today 1.23p, rate_forward 11.83p
2026-08-15 03:15:01.545197: Last hour: net energy 0.8kWh, import 0.8kWh, export 0.0kWh, car 0kWh, load 1.0kWh, net cost 19.95p, import 19.95p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 03:15:01.591707: Today's energy total net 4.0kWh, import 4.0kWh, export 0.0kWh, cost 157.64p, import 107.65p, export 0.0p, carbon 0.0kg
2026-08-15 03:15:01.591825: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 03:15:01.651595: Using weighted-bucket historical load forecast over 14 days
2026-08-15 03:15:01.669610: Today's load divergence 105.82%, in-day adjustment 138.59%, damping 0.95x, yesterday 143.77% today 105.52% blend 86.46%
2026-08-15 03:15:01.669703: Today's predicted so far 2.46kWh with 0.0kWh car/iBoost excluded, 1.86kWh import ignored, and 2.46kWh forecast extra.
2026-08-15 03:15:01.669730: Today's actual load so far 3.43kWh with 0.0kWh car/iBoost excluded, and 1.86kWh import ignored.
2026-08-15 03:15:01.704991: Inverter 0: Type SK Sunsynk
2026-08-15 03:15:01.705082: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 03:15:01.705262: Reserve min: 7%, battery_min: 7%
2026-08-15 03:15:01.705331: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 03:15:01.705603: Inverter 0 SoC: 1.76kW 11%, current charge rate 5000W, current discharge rate 5250W, current battery power 528W, current battery voltage 51.2V, grid power -56W, load power 585W, PV Power 0W
2026-08-15 03:15:01.705782: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 03:15:01.705875: Inverter 0 scheduled charge enable is False
2026-08-15 03:15:01.705910: Inverter 0 charge windows currently []
2026-08-15 03:15:01.705937: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 03:15:01.706043: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 03:15:01.706078: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 03:15:01.706113: Inverter 0 scheduled discharge enable is False
2026-08-15 03:15:01.706240: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 03:15:01.706276: Inverter 0 discharge windows currently []
2026-08-15 03:15:01.706299: Note: Inverter does not support discharge freeze - disabled
2026-08-15 03:15:01.706322: Note: Inverter does not support charge freeze - disabled
2026-08-15 03:15:01.706340: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 03:15:01.759823: Dynamic load last period 0.60kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 03:15:01.759930: Plan was last updated on 2026-08-15 03:10:00+01:00 and is now 5.0 minutes old
2026-08-15 03:15:01.760212: Best charge window [ 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 00:30:00 @ 28.84p 100% ]
2026-08-15 03:15:01.760254: Best export window [  ]
2026-08-15 03:15:01.761092: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 03:15:01.764153: Load divergence over 8.0 hours mean 412.41W, min 226.2W, max 892.2W, std dev 108.16W, divergence 13.11%
2026-08-15 03:15:01.782411: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 03:15:01.782503: LoadML is_calculating False
2026-08-15 03:15:01.782561: Creating pool of 12 processes to match your CPU count
2026-08-15 03:15:01.898888: predict base end_record 08-16 11:35:00, final soc 1.12kWh, metric 832.28p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 03:55:00, load 28.74kWh, PV 0.0kWh
2026-08-15 03:15:02.016592: Battery has 0.67 hours left - now at 1.76kWh
2026-08-15 03:15:02.060579: predict base10 end_record 08-16 11:35:00, final soc 1.12kWh, metric 862.73p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 03:55:00, load 29.95kWh, PV 0.0kWh
2026-08-15 03:15:02.145954: predict best10 end_record 08-16 11:35:00, final soc 1.44kWh, metric 694.15p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 03:55:00, load 29.95kWh, PV 0.0kWh
2026-08-15 03:15:02.230149: predict best end_record 08-16 11:35:00, final soc 1.51kWh, metric 665.98p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 03:55:00, load 28.74kWh, PV 0.0kWh
2026-08-15 03:15:02.230238: Saving plan best values to HA entities
2026-08-15 03:15:02.382077: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 03:15:02.386764: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 03:15:02.391429: Best charging limit SoC's [16.0, 3.5, 4.0, 16.0, 16.0, 16.0]kWh, export []kWh gives import battery 21.04kWh, house 6.24kWh, export 0.0kWh, metric 665.98p, metric10 694.15p
2026-08-15 03:15:02.456794: Marginal costs baseline metric (no standing charge): 616.0009
2026-08-15 03:15:02.691246: Marginal energy costs matrix computed: min=15.35 max=26.19
2026-08-15 03:15:02.766142: Rate array import [{'start': 195, 'end': 420, 'rate': 'expensive', 'range': '(24.6p - 27.6p)'}, {'start': 420, 'end': 450, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 450, 'end': 480, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 480, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 23.6p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1860, 'rate': 'expensive', 'range': '(24.6p - 32.9p)'}, {'start': 1860, 'end': 1890, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 1890, 'end': 1920, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 1920, 'end': 2135, 'rate': 'cheap', 'range': '(15.5p - 23.6p)'}] export [{'start': 195, 'end': 2135, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 03:15:02.766861: - Your estimated bill for today is £5.94 and tomorrow is £5.47
2026-08-15 03:15:02.766909: - Import rates are expensive (24.6p - 27.6p) for the next 3 and three quarters hours and then cheap (22.7p) for the next 30 minutes.
2026-08-15 03:15:02.766932: - The battery is currently at 11% and is in eco mode for the next 8 hours.
2026-08-15 03:15:02.766950: - For the next 48 hours there will be no solar generation.
2026-08-15 03:15:02.766968: - You will run out of battery in 40 minutes.
2026-08-15 03:15:02.766984: - Your next charge slot will be in 8 hours where import rates will be cheap (15.5p).
2026-08-15 03:15:02.767001: 
2026-08-15 03:15:02.822276: Plan calculation took 1.06 seconds
2026-08-15 03:15:02.825561: No high rate period found
2026-08-15 03:15:02.871164: Import threshold used for optimisation was 25.08p
2026-08-15 03:15:02.915402: Low import rate windows [0: 08-15 03:00:00 - 08-15 03:30:00 @ 25.08, 1: 08-15 03:30:00 - 08-15 04:00:00 @ 24.62, 2: 08-15 04:00:00 - 08-15 04:30:00 @ 27.02, 3: 08-15 04:30:00 - 08-15 05:00:00 @ 26.47, 4: 08-15 05:00:00 - 08-15 05:30:00 @ 26.25, 5: 08-15 05:30:00 - 08-15 06:00:00 @ 26.4, 6: 08-15 06:00:00 - 08-15 06:30:00 @ 25.7, 7: 08-15 06:30:00 - 08-15 07:00:00 @ 27.63, 8: 08-15 07:00:00 - 08-15 07:30:00 @ 22.73, 9: 08-15 07:30:00 - 08-15 08:00:00 @ 26.7, 10: 08-15 08:00:00 - 08-15 08:30:00 @ 22.92, 11: 08-15 08:30:00 - 08-15 09:00:00 @ 22.48, 12: 08-15 09:00:00 - 08-15 09:30:00 @ 23.55, 13: 08-15 09:30:00 - 08-15 10:00:00 @ 23.64, 14: 08-15 10:00:00 - 08-15 10:30:00 @ 19.66, 15: 08-15 10:30:00 - 08-15 11:00:00 @ 17.66, 16: 08-15 11:00:00 - 08-15 11:30:00 @ 16.56, 17: 08-15 11:30:00 - 08-15 12:00:00 @ 15.46, 18: 08-15 12:00:00 - 08-15 12:30:00 @ 17.0, 19: 08-15 12:30:00 - 08-15 13:00:00 @ 16.34, 20: 08-15 13:00:00 - 08-15 13:30:00 @ 15.36, 21: 08-15 13:30:00 - 08-15 14:00:00 @ 15.74, 22: 08-15 14:00:00 - 08-15 14:30:00 @ 14.57, 23: 08-15 14:30:00 - 08-15 15:00:00 @ 13.77, 24: 08-15 15:00:00 - 08-15 15:30:00 @ 15.02, 25: 08-15 15:30:00 - 08-15 16:00:00 @ 15.87, 26: 08-15 16:00:00 - 08-15 16:30:00 @ 33.13, 27: 08-15 16:30:00 - 08-15 17:00:00 @ 33.13, 28: 08-15 17:00:00 - 08-15 17:30:00 @ 38.46, 29: 08-15 17:30:00 - 08-15 18:00:00 @ 40.44, 30: 08-15 18:00:00 - 08-15 18:30:00 @ 41.55, 31: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 32: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 33: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 34: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 35: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 36: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 37: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 38: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 39: 08-15 23:00:00 - 08-15 23:30:00 @ 27.8, 40: 08-15 23:30:00 - 08-16 00:00:00 @ 29.09, 41: 08-16 00:00:00 - 08-16 00:30:00 @ 28.47, 42: 08-16 00:30:00 - 08-16 01:00:00 @ 27.18, 43: 08-16 01:00:00 - 08-16 01:30:00 @ 27.57, 44: 08-16 01:30:00 - 08-16 02:00:00 @ 26.5, 45: 08-16 02:00:00 - 08-16 02:30:00 @ 25.6, 46: 08-16 02:30:00 - 08-16 03:00:00 @ 24.79, 47: 08-16 03:00:00 - 08-16 03:30:00 @ 25.08, 48: 08-16 03:30:00 - 08-16 04:00:00 @ 24.62, 49: 08-16 04:00:00 - 08-16 04:30:00 @ 27.02, 50: 08-16 04:30:00 - 08-16 05:00:00 @ 26.47, 51: 08-16 05:00:00 - 08-16 05:30:00 @ 26.25, 52: 08-16 05:30:00 - 08-16 06:00:00 @ 26.4, 53: 08-16 06:00:00 - 08-16 06:30:00 @ 25.7, 54: 08-16 06:30:00 - 08-16 07:00:00 @ 27.63, 55: 08-16 07:00:00 - 08-16 07:30:00 @ 22.73, 56: 08-16 07:30:00 - 08-16 08:00:00 @ 26.7, 57: 08-16 08:00:00 - 08-16 08:30:00 @ 22.92, 58: 08-16 08:30:00 - 08-16 09:00:00 @ 22.48, 59: 08-16 09:00:00 - 08-16 09:30:00 @ 23.55, 60: 08-16 09:30:00 - 08-16 10:00:00 @ 23.64, 61: 08-16 10:00:00 - 08-16 10:30:00 @ 19.66, 62: 08-16 10:30:00 - 08-16 11:00:00 @ 17.66, 63: 08-16 11:00:00 - 08-16 11:30:00 @ 16.56, 64: 08-16 11:30:00 - 08-16 12:00:00 @ 15.46, 65: 08-16 12:00:00 - 08-16 12:30:00 @ 17.0, 66: 08-16 12:30:00 - 08-16 13:00:00 @ 16.34, 67: 08-16 13:00:00 - 08-16 13:30:00 @ 15.36, 68: 08-16 13:30:00 - 08-16 14:00:00 @ 15.74, 69: 08-16 14:00:00 - 08-16 14:30:00 @ 14.57, 70: 08-16 14:30:00 - 08-16 15:00:00 @ 13.77, 71: 08-16 15:00:00 - 08-16 15:30:00 @ 15.02, 72: 08-16 15:30:00 - 08-16 16:00:00 @ 15.87, 73: 08-16 16:00:00 - 08-16 16:30:00 @ 33.13, 74: 08-16 16:30:00 - 08-16 17:00:00 @ 33.13, 75: 08-16 17:00:00 - 08-16 17:30:00 @ 38.46, 76: 08-16 17:30:00 - 08-16 18:00:00 @ 40.44, 77: 08-16 18:00:00 - 08-16 18:30:00 @ 41.55, 78: 08-16 19:00:00 - 08-16 19:30:00 @ 32.58, 79: 08-16 19:30:00 - 08-16 20:00:00 @ 32.9, 80: 08-16 20:00:00 - 08-16 20:30:00 @ 31.99, 81: 08-16 20:30:00 - 08-16 21:00:00 @ 32.1, 82: 08-16 21:00:00 - 08-16 21:30:00 @ 31.71, 83: 08-16 21:30:00 - 08-16 22:00:00 @ 31.67, 84: 08-16 22:00:00 - 08-16 22:30:00 @ 31.77, 85: 08-16 22:30:00 - 08-16 23:00:00 @ 29.81, 86: 08-16 23:00:00 - 08-16 23:30:00 @ 27.8, 87: 08-16 23:30:00 - 08-17 00:00:00 @ 29.09, 88: 08-17 00:00:00 - 08-17 00:30:00 @ 28.47, 89: 08-17 00:30:00 - 08-17 01:00:00 @ 27.18, 90: 08-17 01:00:00 - 08-17 01:30:00 @ 27.57, 91: 08-17 01:30:00 - 08-17 02:00:00 @ 26.5, 92: 08-17 02:00:00 - 08-17 02:30:00 @ 25.6, 93: 08-17 02:30:00 - 08-17 03:00:00 @ 24.79, 94: 08-17 03:00:00 - 08-17 03:30:00 @ 25.08]
2026-08-15 03:15:02.921173: Inverter 0 Charge window will be: 2026-08-15 11:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 11%, target 100%
2026-08-15 03:15:02.921277: Inverter 0 disabled charge window while waiting for schedule (now 08-15 03:15:00 target set_window_minutes 30 charge start time 08-15 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 03:15:02.921378: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 03:15:02.921690: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 03:15:02.921793: No export window planned
2026-08-15 03:15:02.921887: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 03:15:02.921945: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 03:15:02.922056: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 03:15:02.922223: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 03:15:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 03:15:02.922277: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 03:15:02.922326: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 03:15:02.922403: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 03:15:02.922466: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 03:15:02.922488: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 03:15:02.922509: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 03:15:02.922536: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 03:15:02.922565: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 03:15:02.922602: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 03:15:02.922655: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 03:15:02.922732: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 03:15:02.922754: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 03:15:02.922773: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 03:15:02.922791: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 03:15:02.922810: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 03:15:02.922829: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 03:15:02.922857: Inverter 0 count register writes 0
2026-08-15 03:15:02.936138: Will not recompute the plan, it is 5.0 minutes old and max age is 10 minutes
2026-08-15 03:15:02.940983: Total inverter register writes now 815
2026-08-15 03:15:02.970112: Info: Completed run status Demand
2026-08-15 03:15:02.976206: Info: record_status Demand
2026-08-15 03:15:02.982610: Saved current settings to /config/predbat_config.json
2026-08-15 03:15:02.982897: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 03:15:42.083413: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 03:15:42.083656: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 03:15:42.083729: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 03:15:42.083884: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 03:15:42.083928: Note: Inverter does not support discharge freeze - disabled
2026-08-15 03:15:42.083950: Note: Inverter does not support charge freeze - disabled
2026-08-15 03:15:42.083968: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 03:17:42.308199: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 03:17:42.308454: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 03:17:42.308491: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 03:17:42.308645: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 03:17:42.308700: Note: Inverter does not support discharge freeze - disabled
2026-08-15 03:17:42.308723: Note: Inverter does not support charge freeze - disabled
2026-08-15 03:17:42.308745: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 03:19:56.533288: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 03:19:56.533535: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 03:19:56.533578: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 03:19:56.533733: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 03:19:56.533774: Note: Inverter does not support discharge freeze - disabled
2026-08-15 03:19:56.533796: Note: Inverter does not support charge freeze - disabled
2026-08-15 03:19:56.533813: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 03:20:00.633684: --------------- PredBat - update at 2026-08-15 03:20:00+01:00 with clock skew 0 minutes, minutes now 200
2026-08-15 03:20:00.634595: Saved current settings to /config/predbat_config.json
2026-08-15 03:20:00.634830: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 75.0 minutes
2026-08-15 03:20:00.634953: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.1, latest beta is v8.48.1
2026-08-15 03:20:00.635066: Autoupdate: Currently up to date
2026-08-15 03:20:00.655814: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 03:20:00.655946: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 03:20:00.656109: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 03:20:00.656709: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 03:20:00.656852: Predbat mode is set to Control charge & discharge
2026-08-15 03:20:00.860347: Found 21602 load_today datapoints going back 28 days
2026-08-15 03:20:00.860810: Using load_power data to fill gaps in load_today data
2026-08-15 03:20:01.665102: Processing 721 30-minute periods for power integration
2026-08-15 03:20:01.844632: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 03:20:01.844787: Car charging hold False, threshold 6.0kWh
2026-08-15 03:20:01.844834: Current data so far today: load 3.45kWh, import 4.1kWh, export 0.0kWh, PV 0kWh
2026-08-15 03:20:01.859813: Cars: SoC: [12.892000000000001]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 03:20:01.860230: Standing charge is set to 49.98p
2026-08-15 03:20:01.887063: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 03:20:01.887172: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 03:20:01.887358: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 200.0 minutes
2026-08-15 03:20:01.887809: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 199.7 minutes
2026-08-15 03:20:01.890868: Loaded 47 datapoints of futurerate analysis
2026-08-15 03:20:01.975655: Predicted future rates: ['08-15 00:00:00 => 28.9 / 20.01', '08-15 01:00:00 => 27.54 / 19.31', '08-15 02:00:00 => 26.52 / 18.8', '08-15 03:00:00 => 25.99 / 18.53', '08-15 04:00:00 => 25.8 / 18.43', '08-15 05:00:00 => 25.96 / 18.51', '08-15 06:00:00 => 25.55 / 18.3', '08-15 07:00:00 => 24.33 / 17.68', '08-15 08:00:00 => 23.03 / 17.01', '08-15 09:00:00 => 22.05 / 16.51', '08-15 10:00:00 => 20.43 / 15.68', '08-15 11:00:00 => 18.01 / 14.45', '08-15 12:00:00 => 16.37 / 13.61', '08-15 13:00:00 => 15.76 / 13.3', '08-15 14:00:00 => 15.35 / 13.09', '08-15 15:00:00 => 15.86 / 13.35', '08-15 16:00:00 => 32.89 / 16.13', '08-15 17:00:00 => 38.02 / 18.75', '08-15 18:00:00 => 42.36 / 20.96', '08-15 19:00:00 => 31.09 / 21.13', '08-15 20:00:00 => 31.64 / 21.41', '08-15 21:00:00 => 31.64 / 21.41', '08-15 22:00:00 => 30.58 / 20.87']
2026-08-15 03:20:02.036299: Rate min forward looking: now 13.77p at end of forecast 13.77p
2026-08-15 03:20:02.036770: Import rates: min 13.77p, max 43.82p, average 25.96p
2026-08-15 03:20:02.079396: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 03:20:02.079530: Rate thresholds (for charge/export) are import 43.32p (0.0p), export -0.1p (0.0p)
2026-08-15 03:20:02.080845: High export rate found rates in range 99p to -99p
2026-08-15 03:20:02.161295: Low Import rate found rates in range 13.77p to 41.55p
2026-08-15 03:20:02.161430: Car 0 charging is not planned as it is not plugged in
2026-08-15 03:20:02.173813: Battery level now 1.76kWh, -1hr ago 1.76kWh, at midnight 1.66kWh, battery value change in the last hour 0.0p, change today 1.23p, rate_forward 11.83p
2026-08-15 03:20:02.174162: Last hour: net energy 0.85kWh, import 0.85kWh, export 0.0kWh, car 0kWh, load 1.0kWh, net cost 21.16p, import 21.16p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 03:20:02.216421: Today's energy total net 4.1kWh, import 4.1kWh, export 0.0kWh, cost 160.13p, import 110.15p, export 0.0p, carbon 0.0kg
2026-08-15 03:20:02.216539: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 03:20:02.285978: Using weighted-bucket historical load forecast over 14 days
2026-08-15 03:20:02.304370: Today's load divergence 105.63%, in-day adjustment 138.43%, damping 0.95x, yesterday 143.77% today 105.35% blend 86.11%
2026-08-15 03:20:02.304436: Today's predicted so far 2.5kWh with 0.0kWh car/iBoost excluded, 1.9kWh import ignored, and 2.5kWh forecast extra.
2026-08-15 03:20:02.304462: Today's actual load so far 3.44kWh with 0.0kWh car/iBoost excluded, and 1.9kWh import ignored.
2026-08-15 03:20:02.338121: Inverter 0: Type SK Sunsynk
2026-08-15 03:20:02.338200: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 03:20:02.338359: Reserve min: 7%, battery_min: 7%
2026-08-15 03:20:02.338423: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 03:20:02.338682: Inverter 0 SoC: 1.76kW 11%, current charge rate 5000W, current discharge rate 5250W, current battery power 398W, current battery voltage 51.2V, grid power -60W, load power 521W, PV Power 0W
2026-08-15 03:20:02.338812: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 03:20:02.338876: Inverter 0 scheduled charge enable is False
2026-08-15 03:20:02.338898: Inverter 0 charge windows currently []
2026-08-15 03:20:02.338918: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 03:20:02.339001: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 03:20:02.339023: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 03:20:02.339073: Inverter 0 scheduled discharge enable is False
2026-08-15 03:20:02.339167: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 03:20:02.339191: Inverter 0 discharge windows currently []
2026-08-15 03:20:02.339208: Note: Inverter does not support discharge freeze - disabled
2026-08-15 03:20:02.339223: Note: Inverter does not support charge freeze - disabled
2026-08-15 03:20:02.339238: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 03:20:02.389876: Dynamic load last period 0.60kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 03:20:02.389980: Plan was last updated on 2026-08-15 03:10:00+01:00 and is now 10.0 minutes old
2026-08-15 03:20:02.390261: Best charge window [ 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 00:30:00 @ 28.84p 100% ]
2026-08-15 03:20:02.390305: Best export window [  ]
2026-08-15 03:20:02.391143: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 03:20:02.394302: Load divergence over 8.0 hours mean 415.59W, min 278.4W, max 766.8W, std dev 90.03W, divergence 10.83%
2026-08-15 03:20:02.410779: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 03:20:02.410900: LoadML is_calculating False
2026-08-15 03:20:02.410953: Creating pool of 12 processes to match your CPU count
2026-08-15 03:20:02.513461: predict base end_record 08-16 11:40:00, final soc 1.12kWh, metric 834.0p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 04:05:00, load 28.8kWh, PV 0.0kWh
2026-08-15 03:20:02.655990: Battery has 0.75 hours left - now at 1.76kWh
2026-08-15 03:20:02.700768: predict base10 end_record 08-16 11:40:00, final soc 1.12kWh, metric 864.49p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 04:00:00, load 30.0kWh, PV 0.0kWh
2026-08-15 03:20:02.777888: predict best10 end_record 08-16 11:40:00, final soc 1.77kWh, metric 701.22p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 04:00:00, load 30.0kWh, PV 0.0kWh
2026-08-15 03:20:02.854731: predict best end_record 08-16 11:40:00, final soc 1.9kWh, metric 674.04p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 04:05:00, load 28.8kWh, PV 0.0kWh
2026-08-15 03:20:02.854824: Saving plan best values to HA entities
2026-08-15 03:20:02.994543: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 03:20:03.001212: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0.0
2026-08-15 03:20:03.006410: Best charging limit SoC's [16.0, 3.5, 4.0, 16.0, 16.0, 16.0]kWh, export []kWh gives import battery 21.55kWh, house 6.16kWh, export 0.0kWh, metric 674.04p, metric10 701.22p
2026-08-15 03:20:03.077187: Marginal costs baseline metric (no standing charge): 624.0534
2026-08-15 03:20:03.351928: Marginal energy costs matrix computed: min=15.29 max=26.14
2026-08-15 03:20:03.423092: Rate array import [{'start': 200, 'end': 420, 'rate': 'expensive', 'range': '(24.6p - 27.6p)'}, {'start': 420, 'end': 450, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 450, 'end': 480, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 480, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 23.6p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1860, 'rate': 'expensive', 'range': '(24.6p - 32.9p)'}, {'start': 1860, 'end': 1890, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 1890, 'end': 1920, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 1920, 'end': 2140, 'rate': 'cheap', 'range': '(15.5p - 23.6p)'}] export [{'start': 200, 'end': 2140, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 03:20:03.423680: - Your estimated bill for today is £5.94 and tomorrow is £5.48
2026-08-15 03:20:03.423717: - Import rates are expensive (24.6p - 27.6p) for the next 3 and three quarters hours and then cheap (22.7p) for the next 30 minutes.
2026-08-15 03:20:03.423735: - The battery is currently at 11% and is in eco mode for the next 8 hours.
2026-08-15 03:20:03.423750: - For the next 48 hours there will be no solar generation.
2026-08-15 03:20:03.423764: - You will run out of battery in 45 minutes.
2026-08-15 03:20:03.423777: - Your next charge slot will be in 8 hours where import rates will be cheap (15.5p).
2026-08-15 03:20:03.423791: 
2026-08-15 03:20:03.473902: Plan calculation took 1.08 seconds
2026-08-15 03:20:03.477100: No high rate period found
2026-08-15 03:20:03.524232: Import threshold used for optimisation was 25.08p
2026-08-15 03:20:03.573557: Low import rate windows [0: 08-15 03:00:00 - 08-15 03:30:00 @ 25.08, 1: 08-15 03:30:00 - 08-15 04:00:00 @ 24.62, 2: 08-15 04:00:00 - 08-15 04:30:00 @ 27.02, 3: 08-15 04:30:00 - 08-15 05:00:00 @ 26.47, 4: 08-15 05:00:00 - 08-15 05:30:00 @ 26.25, 5: 08-15 05:30:00 - 08-15 06:00:00 @ 26.4, 6: 08-15 06:00:00 - 08-15 06:30:00 @ 25.7, 7: 08-15 06:30:00 - 08-15 07:00:00 @ 27.63, 8: 08-15 07:00:00 - 08-15 07:30:00 @ 22.73, 9: 08-15 07:30:00 - 08-15 08:00:00 @ 26.7, 10: 08-15 08:00:00 - 08-15 08:30:00 @ 22.92, 11: 08-15 08:30:00 - 08-15 09:00:00 @ 22.48, 12: 08-15 09:00:00 - 08-15 09:30:00 @ 23.55, 13: 08-15 09:30:00 - 08-15 10:00:00 @ 23.64, 14: 08-15 10:00:00 - 08-15 10:30:00 @ 19.66, 15: 08-15 10:30:00 - 08-15 11:00:00 @ 17.66, 16: 08-15 11:00:00 - 08-15 11:30:00 @ 16.56, 17: 08-15 11:30:00 - 08-15 12:00:00 @ 15.46, 18: 08-15 12:00:00 - 08-15 12:30:00 @ 17.0, 19: 08-15 12:30:00 - 08-15 13:00:00 @ 16.34, 20: 08-15 13:00:00 - 08-15 13:30:00 @ 15.36, 21: 08-15 13:30:00 - 08-15 14:00:00 @ 15.74, 22: 08-15 14:00:00 - 08-15 14:30:00 @ 14.57, 23: 08-15 14:30:00 - 08-15 15:00:00 @ 13.77, 24: 08-15 15:00:00 - 08-15 15:30:00 @ 15.02, 25: 08-15 15:30:00 - 08-15 16:00:00 @ 15.87, 26: 08-15 16:00:00 - 08-15 16:30:00 @ 33.13, 27: 08-15 16:30:00 - 08-15 17:00:00 @ 33.13, 28: 08-15 17:00:00 - 08-15 17:30:00 @ 38.46, 29: 08-15 17:30:00 - 08-15 18:00:00 @ 40.44, 30: 08-15 18:00:00 - 08-15 18:30:00 @ 41.55, 31: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 32: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 33: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 34: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 35: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 36: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 37: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 38: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 39: 08-15 23:00:00 - 08-15 23:30:00 @ 27.8, 40: 08-15 23:30:00 - 08-16 00:00:00 @ 29.09, 41: 08-16 00:00:00 - 08-16 00:30:00 @ 28.47, 42: 08-16 00:30:00 - 08-16 01:00:00 @ 27.18, 43: 08-16 01:00:00 - 08-16 01:30:00 @ 27.57, 44: 08-16 01:30:00 - 08-16 02:00:00 @ 26.5, 45: 08-16 02:00:00 - 08-16 02:30:00 @ 25.6, 46: 08-16 02:30:00 - 08-16 03:00:00 @ 24.79, 47: 08-16 03:00:00 - 08-16 03:30:00 @ 25.08, 48: 08-16 03:30:00 - 08-16 04:00:00 @ 24.62, 49: 08-16 04:00:00 - 08-16 04:30:00 @ 27.02, 50: 08-16 04:30:00 - 08-16 05:00:00 @ 26.47, 51: 08-16 05:00:00 - 08-16 05:30:00 @ 26.25, 52: 08-16 05:30:00 - 08-16 06:00:00 @ 26.4, 53: 08-16 06:00:00 - 08-16 06:30:00 @ 25.7, 54: 08-16 06:30:00 - 08-16 07:00:00 @ 27.63, 55: 08-16 07:00:00 - 08-16 07:30:00 @ 22.73, 56: 08-16 07:30:00 - 08-16 08:00:00 @ 26.7, 57: 08-16 08:00:00 - 08-16 08:30:00 @ 22.92, 58: 08-16 08:30:00 - 08-16 09:00:00 @ 22.48, 59: 08-16 09:00:00 - 08-16 09:30:00 @ 23.55, 60: 08-16 09:30:00 - 08-16 10:00:00 @ 23.64, 61: 08-16 10:00:00 - 08-16 10:30:00 @ 19.66, 62: 08-16 10:30:00 - 08-16 11:00:00 @ 17.66, 63: 08-16 11:00:00 - 08-16 11:30:00 @ 16.56, 64: 08-16 11:30:00 - 08-16 12:00:00 @ 15.46, 65: 08-16 12:00:00 - 08-16 12:30:00 @ 17.0, 66: 08-16 12:30:00 - 08-16 13:00:00 @ 16.34, 67: 08-16 13:00:00 - 08-16 13:30:00 @ 15.36, 68: 08-16 13:30:00 - 08-16 14:00:00 @ 15.74, 69: 08-16 14:00:00 - 08-16 14:30:00 @ 14.57, 70: 08-16 14:30:00 - 08-16 15:00:00 @ 13.77, 71: 08-16 15:00:00 - 08-16 15:30:00 @ 15.02, 72: 08-16 15:30:00 - 08-16 16:00:00 @ 15.87, 73: 08-16 16:00:00 - 08-16 16:30:00 @ 33.13, 74: 08-16 16:30:00 - 08-16 17:00:00 @ 33.13, 75: 08-16 17:00:00 - 08-16 17:30:00 @ 38.46, 76: 08-16 17:30:00 - 08-16 18:00:00 @ 40.44, 77: 08-16 18:00:00 - 08-16 18:30:00 @ 41.55, 78: 08-16 19:00:00 - 08-16 19:30:00 @ 32.58, 79: 08-16 19:30:00 - 08-16 20:00:00 @ 32.9, 80: 08-16 20:00:00 - 08-16 20:30:00 @ 31.99, 81: 08-16 20:30:00 - 08-16 21:00:00 @ 32.1, 82: 08-16 21:00:00 - 08-16 21:30:00 @ 31.71, 83: 08-16 21:30:00 - 08-16 22:00:00 @ 31.67, 84: 08-16 22:00:00 - 08-16 22:30:00 @ 31.77, 85: 08-16 22:30:00 - 08-16 23:00:00 @ 29.81, 86: 08-16 23:00:00 - 08-16 23:30:00 @ 27.8, 87: 08-16 23:30:00 - 08-17 00:00:00 @ 29.09, 88: 08-17 00:00:00 - 08-17 00:30:00 @ 28.47, 89: 08-17 00:30:00 - 08-17 01:00:00 @ 27.18, 90: 08-17 01:00:00 - 08-17 01:30:00 @ 27.57, 91: 08-17 01:30:00 - 08-17 02:00:00 @ 26.5, 92: 08-17 02:00:00 - 08-17 02:30:00 @ 25.6, 93: 08-17 02:30:00 - 08-17 03:00:00 @ 24.79, 94: 08-17 03:00:00 - 08-17 03:30:00 @ 25.08]
2026-08-15 03:20:03.579558: Inverter 0 Charge window will be: 2026-08-15 11:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 11%, target 100%
2026-08-15 03:20:03.579744: Inverter 0 disabled charge window while waiting for schedule (now 08-15 03:20:00 target set_window_minutes 30 charge start time 08-15 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 03:20:03.579896: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 03:20:03.580235: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 03:20:03.580361: No export window planned
2026-08-15 03:20:03.580507: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 03:20:03.580546: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 03:20:03.580732: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 03:20:03.580960: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 03:20:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 03:20:03.581026: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 03:20:03.581122: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 03:20:03.581241: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 03:20:03.581287: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 03:20:03.581331: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 03:20:03.581387: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 03:20:03.581442: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 03:20:03.581478: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 03:20:03.581523: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 03:20:03.581633: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 03:20:03.581691: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 03:20:03.581729: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 03:20:03.581772: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 03:20:03.581796: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 03:20:03.581815: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 03:20:03.581837: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 03:20:03.581854: Inverter 0 count register writes 0
2026-08-15 03:20:03.595775: Will recompute the plan as it is now 10.0 minutes old and will exceed the max age of 10 minutes before the next run
2026-08-15 03:20:03.595913: Recompute is saving previous plan...
2026-08-15 03:20:03.598599: Best charge window [ 15-08 03:00:00 - 15-08 03:30:00 @ 25.08p 0%, 15-08 03:30:00 - 15-08 04:00:00 @ 24.62p 0%, 15-08 04:00:00 - 15-08 04:30:00 @ 27.02p 0%, 15-08 04:30:00 - 15-08 05:00:00 @ 26.47p 0%, 15-08 05:00:00 - 15-08 05:30:00 @ 26.25p 0%, 15-08 05:30:00 - 15-08 06:00:00 @ 26.4p 0%, 15-08 06:00:00 - 15-08 06:30:00 @ 25.7p 0%, 15-08 06:30:00 - 15-08 07:00:00 @ 27.63p 0%, 15-08 07:00:00 - 15-08 07:30:00 @ 22.73p 0%, 15-08 07:30:00 - 15-08 08:00:00 @ 26.7p 0%, 15-08 08:00:00 - 15-08 08:30:00 @ 22.92p 0%, 15-08 08:30:00 - 15-08 09:00:00 @ 22.48p 0%, 15-08 09:00:00 - 15-08 09:30:00 @ 23.55p 0%, 15-08 09:30:00 - 15-08 10:00:00 @ 23.64p 0%, 15-08 10:00:00 - 15-08 10:30:00 @ 19.66p 0%, 15-08 10:30:00 - 15-08 11:00:00 @ 17.66p 0%, 15-08 11:00:00 - 15-08 11:30:00 @ 16.56p 0%, 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 0%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 0%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 0%, 15-08 13:00:00 - 15-08 13:30:00 @ 15.36p 0%, 15-08 13:30:00 - 15-08 14:00:00 @ 15.74p 0%, 15-08 14:00:00 - 15-08 14:30:00 @ 14.57p 0%, 15-08 14:30:00 - 15-08 15:00:00 @ 13.77p 0%, 15-08 15:00:00 - 15-08 15:30:00 @ 15.02p 0%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 0%, 15-08 16:00:00 - 15-08 16:30:00 @ 33.13p 0%, 15-08 16:30:00 - 15-08 17:00:00 @ 33.13p 0%, 15-08 17:00:00 - 15-08 17:30:00 @ 38.46p 0%, 15-08 17:30:00 - 15-08 18:00:00 @ 40.44p 0%, 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 0%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 0%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 0%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 0%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 0%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 27.8p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 29.09p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.47p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.18p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 27.57p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.5p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.6p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 24.79p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 25.08p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 24.62p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 27.02p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.47p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 26.25p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.4p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.7p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 27.63p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 22.73p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 26.7p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 22.92p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 22.48p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 23.55p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 23.64p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 19.66p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 17.66p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 16.56p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 15.46p 0%, 16-08 12:00:00 - 16-08 12:30:00 @ 17.0p 0%, 16-08 12:30:00 - 16-08 13:00:00 @ 16.34p 0%, 16-08 13:00:00 - 16-08 13:30:00 @ 15.36p 0%, 16-08 13:30:00 - 16-08 14:00:00 @ 15.74p 0%, 16-08 14:00:00 - 16-08 14:30:00 @ 14.57p 0%, 16-08 14:30:00 - 16-08 15:00:00 @ 13.77p 0%, 16-08 15:00:00 - 16-08 15:30:00 @ 15.02p 0%, 16-08 15:30:00 - 16-08 16:00:00 @ 15.87p 0%, 16-08 16:00:00 - 16-08 16:30:00 @ 33.13p 0%, 16-08 16:30:00 - 16-08 17:00:00 @ 33.13p 0%, 16-08 17:00:00 - 16-08 17:30:00 @ 38.46p 0%, 16-08 17:30:00 - 16-08 18:00:00 @ 40.44p 0%, 16-08 18:00:00 - 16-08 18:30:00 @ 41.55p 0%, 16-08 19:00:00 - 16-08 19:30:00 @ 32.58p 0%, 16-08 19:30:00 - 16-08 20:00:00 @ 32.9p 0%, 16-08 20:00:00 - 16-08 20:30:00 @ 31.99p 0%, 16-08 20:30:00 - 16-08 21:00:00 @ 32.1p 0%, 16-08 21:00:00 - 16-08 21:30:00 @ 31.71p 0%, 16-08 21:30:00 - 16-08 22:00:00 @ 31.67p 0%, 16-08 22:00:00 - 16-08 22:30:00 @ 31.77p 0%, 16-08 22:30:00 - 16-08 23:00:00 @ 29.81p 0%, 16-08 23:00:00 - 16-08 23:30:00 @ 27.8p 0%, 16-08 23:30:00 - 17-08 00:00:00 @ 29.09p 0%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.47p 0%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.18p 0%, 17-08 01:00:00 - 17-08 01:30:00 @ 27.57p 0%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.5p 0%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.6p 0%, 17-08 02:30:00 - 17-08 03:00:00 @ 24.79p 0%, 17-08 03:00:00 - 17-08 03:30:00 @ 25.08p 0% ]
2026-08-15 03:20:03.598682: Best export window [  ]
2026-08-15 03:20:03.599325: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 03:20:03.601812: Load divergence over 8.0 hours mean 415.59W, min 278.4W, max 766.8W, std dev 90.03W, divergence 10.83%
2026-08-15 03:20:03.617374: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 03:20:03.617496: LoadML is_calculating False
2026-08-15 03:20:03.617553: Creating pool of 12 processes to match your CPU count
2026-08-15 03:20:03.699297: Calculate Best options: mode(Control charge & discharge), calculate_export_oncharge(False), calculate_export_on_pv(True), set_export_freeze_only(False), set_discharge_during_charge(True), combine_charge_slots(False), combine_export_slots(False), combine_rate_threshold(0.0), best_soc_min(0.0 kWh), best_soc_max(0.0 kWh), best_soc_keep(0.0 kWh), inverter_loss(4%), battery_loss(3%), battery_loss_discharge (3%), inverter_hybrid(True), metric_min_improvement(0.0p), metric_min_improvement_export(0.1p), metric_min_improvement_export_freeze(0.1p), metric_battery_cycle(0.0p/kWh), metric_battery_value_scaling(1.0 x) 
2026-08-15 03:20:03.701132: Optimise levels pass started at 2026-08-15 03:20:03
2026-08-15 03:20:03.701193: Optimise all windows, total charge 94 export 1
2026-08-15 03:20:04.742435: >> Region optimisation pass width 960 gives best_metric 796.98p, best_cost 802.28p, best_cycle 50.22kWh, best_import 39.57kWh
2026-08-15 03:20:05.135116: >> Region optimisation pass width 480 gives best_metric 796.98p, best_cost 802.28p, best_cycle 50.22kWh, best_import 39.57kWh
2026-08-15 03:20:05.637457: >> Region optimisation pass width 240 gives best_metric 796.98p, best_cost 802.28p, best_cycle 50.22kWh, best_import 39.57kWh
2026-08-15 03:20:06.743510: >> Region optimisation pass width 120 gives best_metric 796.98p, best_cost 802.28p, best_cycle 50.22kWh, best_import 39.57kWh
2026-08-15 03:20:06.744167: Calculated end_record as 08-16 11:30:00 based on best_price 16.34p, next_charge_start 08-15 11:30:00, max_windows 64
2026-08-15 03:20:06.744289: Optimise levels pass ended at 2026-08-15 03:20:06, duration 3.0 seconds tried 324 combinations
2026-08-15 03:20:06.744377: Set best_price_charge_level 17.6p, best_price_export_level 0p, best_price_charge 16.34p, best_cost_export 0p, best_metric 796.98p, best_keep 0kWh, best_cycle 50.22kWh, best_carbon 0kg, best_import 39.57kWh
2026-08-15 03:20:06.765953: Starting detailed optimisation end_record 08-16 11:30:00, best_price_charge 16.34p, best_price_export 0p. lowest_price_charge 13.77p with charge limits [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0]kWh and export limits []kWh
2026-08-15 03:20:10.804461: Tweak plan optimisation started metric 598.2p, cost 607.08p
2026-08-15 03:20:11.037300: Tweak optimisation finished metric 598.2p, cost 607.08p, metric_keep 0kWh, cycle 30.39kWh, carbon 0kg, import 26.67kWh, changed 8 window(s)
2026-08-15 03:20:11.053807: Swap charge optimisation started metric 598.2p, cost 607.08p, min_improvement_swap 0.1p
2026-08-15 03:20:16.937578: Swap charge optimisation finished metric 598.2p, cost 607.08p
2026-08-15 03:20:17.063701: Raw charge windows [ 15-08 03:00:00 - 15-08 03:30:00 @ 25.08p 9%, 15-08 03:30:00 - 15-08 04:00:00 @ 24.62p 9%, 15-08 04:00:00 - 15-08 04:30:00 @ 27.02p 0%, 15-08 04:30:00 - 15-08 05:00:00 @ 26.47p 0%, 15-08 05:00:00 - 15-08 05:30:00 @ 26.25p 0%, 15-08 05:30:00 - 15-08 06:00:00 @ 26.4p 0%, 15-08 06:00:00 - 15-08 06:30:00 @ 25.7p 0%, 15-08 06:30:00 - 15-08 07:00:00 @ 27.63p 0%, 15-08 07:00:00 - 15-08 07:30:00 @ 22.73p 0%, 15-08 07:30:00 - 15-08 08:00:00 @ 26.7p 0%, 15-08 08:00:00 - 15-08 08:30:00 @ 22.92p 0%, 15-08 08:30:00 - 15-08 09:00:00 @ 22.48p 0%, 15-08 09:00:00 - 15-08 09:30:00 @ 23.55p 0%, 15-08 09:30:00 - 15-08 10:00:00 @ 23.64p 0%, 15-08 10:00:00 - 15-08 10:30:00 @ 19.66p 0%, 15-08 10:30:00 - 15-08 11:00:00 @ 17.66p 0%, 15-08 11:00:00 - 15-08 11:30:00 @ 16.56p 0%, 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 13:30:00 @ 15.36p 100%, 15-08 13:30:00 - 15-08 14:00:00 @ 15.74p 100%, 15-08 14:00:00 - 15-08 14:30:00 @ 14.57p 100%, 15-08 14:30:00 - 15-08 15:00:00 @ 13.77p 100%, 15-08 15:00:00 - 15-08 15:30:00 @ 15.02p 100%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 100%, 15-08 16:00:00 - 15-08 16:30:00 @ 33.13p 0%, 15-08 16:30:00 - 15-08 17:00:00 @ 33.13p 0%, 15-08 17:00:00 - 15-08 17:30:00 @ 38.46p 0%, 15-08 17:30:00 - 15-08 18:00:00 @ 40.44p 0%, 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 0%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 0%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 0%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 0%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 0%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 27.8p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 29.09p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.47p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.18p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 27.57p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.5p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.6p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 24.79p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 25.08p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 24.62p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 27.02p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.47p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 26.25p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.4p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.7p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 27.63p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 22.73p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 26.7p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 22.92p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 22.48p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 23.55p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 23.64p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 19.66p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 17.66p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 16.56p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 15.46p 100%, 16-08 12:00:00 - 16-08 12:30:00 @ 17.0p 100%, 16-08 12:30:00 - 16-08 13:00:00 @ 16.34p 100%, 16-08 13:00:00 - 16-08 13:30:00 @ 15.36p 100%, 16-08 13:30:00 - 16-08 14:00:00 @ 15.74p 100%, 16-08 14:00:00 - 16-08 14:30:00 @ 14.57p 100%, 16-08 14:30:00 - 16-08 15:00:00 @ 13.77p 100%, 16-08 15:00:00 - 16-08 15:30:00 @ 15.02p 100%, 16-08 15:30:00 - 16-08 16:00:00 @ 15.87p 100%, 16-08 16:00:00 - 16-08 16:30:00 @ 33.13p 100%, 16-08 16:30:00 - 16-08 17:00:00 @ 33.13p 100%, 16-08 17:00:00 - 16-08 17:30:00 @ 38.46p 100%, 16-08 17:30:00 - 16-08 18:00:00 @ 40.44p 100%, 16-08 18:00:00 - 16-08 18:30:00 @ 41.55p 100%, 16-08 19:00:00 - 16-08 19:30:00 @ 32.58p 100%, 16-08 19:30:00 - 16-08 20:00:00 @ 32.9p 100%, 16-08 20:00:00 - 16-08 20:30:00 @ 31.99p 100%, 16-08 20:30:00 - 16-08 21:00:00 @ 32.1p 100%, 16-08 21:00:00 - 16-08 21:30:00 @ 31.71p 100%, 16-08 21:30:00 - 16-08 22:00:00 @ 31.67p 100%, 16-08 22:00:00 - 16-08 22:30:00 @ 31.77p 100%, 16-08 22:30:00 - 16-08 23:00:00 @ 29.81p 100%, 16-08 23:00:00 - 16-08 23:30:00 @ 27.8p 100%, 16-08 23:30:00 - 17-08 00:00:00 @ 29.09p 100%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.47p 100%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.18p 100%, 17-08 01:00:00 - 17-08 01:30:00 @ 27.57p 100%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.5p 100%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.6p 100%, 17-08 02:30:00 - 17-08 03:00:00 @ 24.79p 100%, 17-08 03:00:00 - 17-08 03:30:00 @ 25.08p 100% ] reserve 1.12
2026-08-15 03:20:17.064366: Unclipped charge windows [ 15-08 03:00:00 - 15-08 04:00:00 @ 24.85p 9%, 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 03:30:00 @ 25.33p 100% ] reserve 1.12
2026-08-15 03:20:17.064699: Unfiltered charge windows [ 15-08 03:00:00 - 15-08 04:00:00 @ 24.85p 9%, 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 03:30:00 @ 25.33p 100% ] reserve 1.12
2026-08-15 03:20:17.065042: Filtered charge windows [ 15-08 03:00:00 - 15-08 04:00:00 @ 24.85p 9%, 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 03:30:00 @ 25.33p 100% ] reserve 1.12
2026-08-15 03:20:17.104833: Previous plan best metric is 599.17 (cost 608.04) and new plan best metric is 598.2 (cost 607.08)
2026-08-15 03:20:17.105110: New plan metric is not significantly better (metric_min_improvement_plan 2.0) than previous plan, using previous plan
2026-08-15 03:20:17.105344: Plan valid is now true after recompute was False
2026-08-15 03:20:17.133866: predict base end_record 08-16 11:30:00, final soc 1.12kWh, metric 830.87p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 04:05:00, load 28.59kWh, PV 0.0kWh
2026-08-15 03:20:17.241965: Battery has 0.75 hours left - now at 1.76kWh
2026-08-15 03:20:17.285843: predict base10 end_record 08-16 11:30:00, final soc 1.12kWh, metric 861.21p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 04:00:00, load 29.79kWh, PV 0.0kWh
2026-08-15 03:20:17.360857: predict best10 end_record 08-16 11:30:00, final soc 1.12kWh, metric 687.2p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 04:00:00, load 29.79kWh, PV 0.0kWh
2026-08-15 03:20:17.450027: predict best end_record 08-16 11:30:00, final soc 1.12kWh, metric 658.03p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 04:05:00, load 28.59kWh, PV 0.0kWh
2026-08-15 03:20:17.450124: Saving plan best values to HA entities
2026-08-15 03:20:17.588510: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 03:20:17.593627: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0.0
2026-08-15 03:20:17.598762: Best charging limit SoC's [16.0, 3.5, 4.0, 16.0, 16.0, 16.0]kWh, export []kWh gives import battery 20.52kWh, house 6.16kWh, export 0.0kWh, metric 658.03p, metric10 687.2p
2026-08-15 03:20:17.667154: Marginal costs baseline metric (no standing charge): 608.0421
2026-08-15 03:20:17.939321: Marginal energy costs matrix computed: min=15.29 max=26.14
2026-08-15 03:20:18.007186: Rate array import [{'start': 200, 'end': 420, 'rate': 'expensive', 'range': '(24.6p - 27.6p)'}, {'start': 420, 'end': 450, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 450, 'end': 480, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 480, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 23.6p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1860, 'rate': 'expensive', 'range': '(24.6p - 32.9p)'}, {'start': 1860, 'end': 1890, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 1890, 'end': 1920, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 1920, 'end': 2130, 'rate': 'cheap', 'range': '(16.6p - 23.6p)'}] export [{'start': 200, 'end': 2130, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 03:20:18.008005: - Your estimated bill for today is £5.94 and tomorrow is £5.48
2026-08-15 03:20:18.008068: - Import rates are expensive (24.6p - 27.6p) for the next 3 and three quarters hours and then cheap (22.7p) for the next 30 minutes.
2026-08-15 03:20:18.008112: - The battery is currently at 11% and is in eco mode for the next 8 hours.
2026-08-15 03:20:18.008147: - For the next 48 hours there will be no solar generation.
2026-08-15 03:20:18.008187: - You will run out of battery in 45 minutes.
2026-08-15 03:20:18.008222: - Your next charge slot will be in 8 hours where import rates will be cheap (15.5p).
2026-08-15 03:20:18.008256: 
2026-08-15 03:20:18.062368: Plan calculation took 14.47 seconds
2026-08-15 03:20:18.062733: Inverter 0: Type SK Sunsynk
2026-08-15 03:20:18.062782: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 03:20:18.063004: Reserve min: 7%, battery_min: 7%
2026-08-15 03:20:18.063085: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 03:20:18.063433: Inverter 0 SoC: 1.76kW 11%, current charge rate 5000W, current discharge rate 5250W, current battery power 398W, current battery voltage 51.2V, grid power -60W, load power 521W, PV Power 0W
2026-08-15 03:20:18.063681: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 03:20:18.063794: Inverter 0 scheduled charge enable is False
2026-08-15 03:20:18.063836: Inverter 0 charge windows currently []
2026-08-15 03:20:18.063867: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 03:20:18.063976: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 03:20:18.064012: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 03:20:18.064047: Inverter 0 scheduled discharge enable is False
2026-08-15 03:20:18.064172: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 03:20:18.064210: Inverter 0 discharge windows currently []
2026-08-15 03:20:18.064232: Note: Inverter does not support discharge freeze - disabled
2026-08-15 03:20:18.064255: Note: Inverter does not support charge freeze - disabled
2026-08-15 03:20:18.064272: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 03:20:18.117466: Inverter 0 Charge window will be: 2026-08-15 11:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 11%, target 100%
2026-08-15 03:20:18.117623: Inverter 0 disabled charge window while waiting for schedule (now 08-15 03:20:00 target set_window_minutes 30 charge start time 08-15 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 03:20:18.117749: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 03:20:18.117941: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 03:20:18.118029: No export window planned
2026-08-15 03:20:18.118144: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 03:20:18.118180: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 03:20:18.118317: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 03:20:18.118495: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 03:20:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 03:20:18.118549: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 03:20:18.118606: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 03:20:18.118718: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 03:20:18.118763: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 03:20:18.118800: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 03:20:18.118827: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 03:20:18.118858: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 03:20:18.118889: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 03:20:18.118914: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 03:20:18.118973: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 03:20:18.119002: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 03:20:18.119051: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 03:20:18.119077: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 03:20:18.119102: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 03:20:18.119126: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 03:20:18.119149: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 03:20:18.119169: Inverter 0 count register writes 0
2026-08-15 03:20:18.139068: Total inverter register writes now 815
2026-08-15 03:20:18.172323: Info: Completed run status Demand
2026-08-15 03:20:18.178344: Info: record_status Demand
2026-08-15 03:20:18.184920: Saved current settings to /config/predbat_config.json
2026-08-15 03:20:18.185373: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 03:20:57.292903: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 03:20:57.293161: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 03:20:57.293206: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 03:20:57.293341: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 03:20:57.293380: Note: Inverter does not support discharge freeze - disabled
2026-08-15 03:20:57.293401: Note: Inverter does not support charge freeze - disabled
2026-08-15 03:20:57.293418: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 03:23:11.512040: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 03:23:11.512283: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 03:23:11.512333: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 03:23:11.512565: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 03:23:11.512636: Note: Inverter does not support discharge freeze - disabled
2026-08-15 03:23:11.512738: Note: Inverter does not support charge freeze - disabled
2026-08-15 03:23:11.512772: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 03:25:00.718709: --------------- PredBat - update at 2026-08-15 03:25:00+01:00 with clock skew 0 minutes, minutes now 205
2026-08-15 03:25:00.719736: Saved current settings to /config/predbat_config.json
2026-08-15 03:25:00.719949: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 80.0 minutes
2026-08-15 03:25:00.720073: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.1, latest beta is v8.48.1
2026-08-15 03:25:00.720218: Autoupdate: Currently up to date
2026-08-15 03:25:00.738814: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 03:25:00.738931: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 03:25:00.739169: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 03:25:00.739807: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 03:25:00.739985: Predbat mode is set to Control charge & discharge
2026-08-15 03:25:00.897776: Found 21602 load_today datapoints going back 28 days
2026-08-15 03:25:00.897901: Using load_power data to fill gaps in load_today data
2026-08-15 03:25:01.589557: Processing 721 30-minute periods for power integration
2026-08-15 03:25:01.740749: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 03:25:01.740865: Car charging hold False, threshold 6.0kWh
2026-08-15 03:25:01.740902: Current data so far today: load 3.5kWh, import 4.1kWh, export 0.0kWh, PV 0kWh
2026-08-15 03:25:01.753279: Cars: SoC: [12.892000000000001]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 03:25:01.753594: Standing charge is set to 49.98p
2026-08-15 03:25:01.778066: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 03:25:01.778177: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 03:25:01.778429: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 205.0 minutes
2026-08-15 03:25:01.778973: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 204.7 minutes
2026-08-15 03:25:01.781695: Loaded 47 datapoints of futurerate analysis
2026-08-15 03:25:01.850919: Predicted future rates: ['08-15 00:00:00 => 28.9 / 20.01', '08-15 01:00:00 => 27.54 / 19.31', '08-15 02:00:00 => 26.52 / 18.8', '08-15 03:00:00 => 25.99 / 18.53', '08-15 04:00:00 => 25.8 / 18.43', '08-15 05:00:00 => 25.96 / 18.51', '08-15 06:00:00 => 25.55 / 18.3', '08-15 07:00:00 => 24.33 / 17.68', '08-15 08:00:00 => 23.03 / 17.01', '08-15 09:00:00 => 22.05 / 16.51', '08-15 10:00:00 => 20.43 / 15.68', '08-15 11:00:00 => 18.01 / 14.45', '08-15 12:00:00 => 16.37 / 13.61', '08-15 13:00:00 => 15.76 / 13.3', '08-15 14:00:00 => 15.35 / 13.09', '08-15 15:00:00 => 15.86 / 13.35', '08-15 16:00:00 => 32.89 / 16.13', '08-15 17:00:00 => 38.02 / 18.75', '08-15 18:00:00 => 42.36 / 20.96', '08-15 19:00:00 => 31.09 / 21.13', '08-15 20:00:00 => 31.64 / 21.41', '08-15 21:00:00 => 31.64 / 21.41', '08-15 22:00:00 => 30.58 / 20.87']
2026-08-15 03:25:01.900377: Rate min forward looking: now 13.77p at end of forecast 13.77p
2026-08-15 03:25:01.900851: Import rates: min 13.77p, max 43.82p, average 25.96p
2026-08-15 03:25:01.934901: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 03:25:01.935019: Rate thresholds (for charge/export) are import 43.32p (0.0p), export -0.1p (0.0p)
2026-08-15 03:25:01.936068: High export rate found rates in range 99p to -99p
2026-08-15 03:25:02.003121: Low Import rate found rates in range 13.77p to 41.55p
2026-08-15 03:25:02.003239: Car 0 charging is not planned as it is not plugged in
2026-08-15 03:25:02.019801: Battery level now 1.76kWh, -1hr ago 1.76kWh, at midnight 1.66kWh, battery value change in the last hour 0.0p, change today 1.23p, rate_forward 11.83p
2026-08-15 03:25:02.020198: Last hour: net energy 0.8kWh, import 0.8kWh, export 0.0kWh, car 0kWh, load 1.0kWh, net cost 19.88p, import 19.88p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 03:25:02.071969: Today's energy total net 4.1kWh, import 4.1kWh, export 0.0kWh, cost 160.13p, import 110.15p, export 0.0p, carbon 0.0kg
2026-08-15 03:25:02.072096: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 03:25:02.144845: Using weighted-bucket historical load forecast over 14 days
2026-08-15 03:25:02.167906: Today's load divergence 105.42%, in-day adjustment 138.27%, damping 0.95x, yesterday 143.77% today 105.15% blend 85.76%
2026-08-15 03:25:02.168491: Today's predicted so far 2.54kWh with 0.0kWh car/iBoost excluded, 1.94kWh import ignored, and 2.54kWh forecast extra.
2026-08-15 03:25:02.168549: Today's actual load so far 3.44kWh with 0.0kWh car/iBoost excluded, and 1.94kWh import ignored.
2026-08-15 03:25:02.204711: Inverter 0: Type SK Sunsynk
2026-08-15 03:25:02.204794: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 03:25:02.204980: Reserve min: 7%, battery_min: 7%
2026-08-15 03:25:02.205040: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 03:25:02.205275: Inverter 0 SoC: 1.76kW 11%, current charge rate 5000W, current discharge rate 5250W, current battery power 519W, current battery voltage 51.2V, grid power -59W, load power 572W, PV Power 0W
2026-08-15 03:25:02.205403: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 03:25:02.205471: Inverter 0 scheduled charge enable is False
2026-08-15 03:25:02.205501: Inverter 0 charge windows currently []
2026-08-15 03:25:02.205539: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 03:25:02.205638: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 03:25:02.205684: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 03:25:02.205717: Inverter 0 scheduled discharge enable is False
2026-08-15 03:25:02.205822: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 03:25:02.205853: Inverter 0 discharge windows currently []
2026-08-15 03:25:02.205872: Note: Inverter does not support discharge freeze - disabled
2026-08-15 03:25:02.205886: Note: Inverter does not support charge freeze - disabled
2026-08-15 03:25:02.205900: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 03:25:02.259023: Dynamic load last period 0.60kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 03:25:02.259134: Plan was last updated on 2026-08-15 03:20:00+01:00 and is now 5.0 minutes old
2026-08-15 03:25:02.259489: Best charge window [ 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 00:30:00 @ 28.84p 100% ]
2026-08-15 03:25:02.259542: Best export window [  ]
2026-08-15 03:25:02.260450: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 03:25:02.263546: Load divergence over 8.0 hours mean 418.56W, min 287.4W, max 960.0W, std dev 98.03W, divergence 11.71%
2026-08-15 03:25:02.282473: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 03:25:02.282580: LoadML is_calculating False
2026-08-15 03:25:02.282658: Creating pool of 12 processes to match your CPU count
2026-08-15 03:25:02.396535: predict base end_record 08-16 11:35:00, final soc 1.12kWh, metric 830.79p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 04:10:00, load 28.67kWh, PV 0.0kWh
2026-08-15 03:25:02.511856: Battery has 0.75 hours left - now at 1.76kWh
2026-08-15 03:25:02.550119: predict base10 end_record 08-16 11:35:00, final soc 1.12kWh, metric 861.09p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 04:10:00, load 29.87kWh, PV 0.0kWh
2026-08-15 03:25:02.637946: predict best10 end_record 08-16 11:35:00, final soc 1.44kWh, metric 692.3p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 04:10:00, load 29.87kWh, PV 0.0kWh
2026-08-15 03:25:02.716392: predict best end_record 08-16 11:35:00, final soc 1.51kWh, metric 664.21p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 04:10:00, load 28.67kWh, PV 0.0kWh
2026-08-15 03:25:02.716481: Saving plan best values to HA entities
2026-08-15 03:25:02.872052: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 03:25:02.877624: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 03:25:02.883957: Best charging limit SoC's [16.0, 3.5, 4.0, 16.0, 16.0, 16.0]kWh, export []kWh gives import battery 21.02kWh, house 6.09kWh, export 0.0kWh, metric 664.21p, metric10 692.3p
2026-08-15 03:25:02.957930: Marginal costs baseline metric (no standing charge): 614.2309
2026-08-15 03:25:03.230762: Marginal energy costs matrix computed: min=15.22 max=26.1
2026-08-15 03:25:03.306328: Rate array import [{'start': 205, 'end': 420, 'rate': 'expensive', 'range': '(24.6p - 27.6p)'}, {'start': 420, 'end': 450, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 450, 'end': 480, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 480, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 23.6p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1860, 'rate': 'expensive', 'range': '(24.6p - 32.9p)'}, {'start': 1860, 'end': 1890, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 1890, 'end': 1920, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 1920, 'end': 2135, 'rate': 'cheap', 'range': '(15.5p - 23.6p)'}] export [{'start': 205, 'end': 2135, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 03:25:03.307113: - Your estimated bill for today is £5.92 and tomorrow is £5.49
2026-08-15 03:25:03.307170: - Import rates are expensive (24.6p - 27.6p) for the next 3 and a half hours and then cheap (22.7p) for the next 30 minutes.
2026-08-15 03:25:03.307193: - The battery is currently at 11% and is in eco mode for the next 8 hours.
2026-08-15 03:25:03.307213: - For the next 48 hours there will be no solar generation.
2026-08-15 03:25:03.307231: - You will run out of battery in 45 minutes.
2026-08-15 03:25:03.307249: - Your next charge slot will be in 8 hours where import rates will be cheap (15.5p).
2026-08-15 03:25:03.307266: 
2026-08-15 03:25:03.362947: Plan calculation took 1.10 seconds
2026-08-15 03:25:03.366153: No high rate period found
2026-08-15 03:25:03.414374: Import threshold used for optimisation was 25.08p
2026-08-15 03:25:03.464232: Low import rate windows [0: 08-15 03:00:00 - 08-15 03:30:00 @ 25.08, 1: 08-15 03:30:00 - 08-15 04:00:00 @ 24.62, 2: 08-15 04:00:00 - 08-15 04:30:00 @ 27.02, 3: 08-15 04:30:00 - 08-15 05:00:00 @ 26.47, 4: 08-15 05:00:00 - 08-15 05:30:00 @ 26.25, 5: 08-15 05:30:00 - 08-15 06:00:00 @ 26.4, 6: 08-15 06:00:00 - 08-15 06:30:00 @ 25.7, 7: 08-15 06:30:00 - 08-15 07:00:00 @ 27.63, 8: 08-15 07:00:00 - 08-15 07:30:00 @ 22.73, 9: 08-15 07:30:00 - 08-15 08:00:00 @ 26.7, 10: 08-15 08:00:00 - 08-15 08:30:00 @ 22.92, 11: 08-15 08:30:00 - 08-15 09:00:00 @ 22.48, 12: 08-15 09:00:00 - 08-15 09:30:00 @ 23.55, 13: 08-15 09:30:00 - 08-15 10:00:00 @ 23.64, 14: 08-15 10:00:00 - 08-15 10:30:00 @ 19.66, 15: 08-15 10:30:00 - 08-15 11:00:00 @ 17.66, 16: 08-15 11:00:00 - 08-15 11:30:00 @ 16.56, 17: 08-15 11:30:00 - 08-15 12:00:00 @ 15.46, 18: 08-15 12:00:00 - 08-15 12:30:00 @ 17.0, 19: 08-15 12:30:00 - 08-15 13:00:00 @ 16.34, 20: 08-15 13:00:00 - 08-15 13:30:00 @ 15.36, 21: 08-15 13:30:00 - 08-15 14:00:00 @ 15.74, 22: 08-15 14:00:00 - 08-15 14:30:00 @ 14.57, 23: 08-15 14:30:00 - 08-15 15:00:00 @ 13.77, 24: 08-15 15:00:00 - 08-15 15:30:00 @ 15.02, 25: 08-15 15:30:00 - 08-15 16:00:00 @ 15.87, 26: 08-15 16:00:00 - 08-15 16:30:00 @ 33.13, 27: 08-15 16:30:00 - 08-15 17:00:00 @ 33.13, 28: 08-15 17:00:00 - 08-15 17:30:00 @ 38.46, 29: 08-15 17:30:00 - 08-15 18:00:00 @ 40.44, 30: 08-15 18:00:00 - 08-15 18:30:00 @ 41.55, 31: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 32: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 33: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 34: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 35: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 36: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 37: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 38: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 39: 08-15 23:00:00 - 08-15 23:30:00 @ 27.8, 40: 08-15 23:30:00 - 08-16 00:00:00 @ 29.09, 41: 08-16 00:00:00 - 08-16 00:30:00 @ 28.47, 42: 08-16 00:30:00 - 08-16 01:00:00 @ 27.18, 43: 08-16 01:00:00 - 08-16 01:30:00 @ 27.57, 44: 08-16 01:30:00 - 08-16 02:00:00 @ 26.5, 45: 08-16 02:00:00 - 08-16 02:30:00 @ 25.6, 46: 08-16 02:30:00 - 08-16 03:00:00 @ 24.79, 47: 08-16 03:00:00 - 08-16 03:30:00 @ 25.08, 48: 08-16 03:30:00 - 08-16 04:00:00 @ 24.62, 49: 08-16 04:00:00 - 08-16 04:30:00 @ 27.02, 50: 08-16 04:30:00 - 08-16 05:00:00 @ 26.47, 51: 08-16 05:00:00 - 08-16 05:30:00 @ 26.25, 52: 08-16 05:30:00 - 08-16 06:00:00 @ 26.4, 53: 08-16 06:00:00 - 08-16 06:30:00 @ 25.7, 54: 08-16 06:30:00 - 08-16 07:00:00 @ 27.63, 55: 08-16 07:00:00 - 08-16 07:30:00 @ 22.73, 56: 08-16 07:30:00 - 08-16 08:00:00 @ 26.7, 57: 08-16 08:00:00 - 08-16 08:30:00 @ 22.92, 58: 08-16 08:30:00 - 08-16 09:00:00 @ 22.48, 59: 08-16 09:00:00 - 08-16 09:30:00 @ 23.55, 60: 08-16 09:30:00 - 08-16 10:00:00 @ 23.64, 61: 08-16 10:00:00 - 08-16 10:30:00 @ 19.66, 62: 08-16 10:30:00 - 08-16 11:00:00 @ 17.66, 63: 08-16 11:00:00 - 08-16 11:30:00 @ 16.56, 64: 08-16 11:30:00 - 08-16 12:00:00 @ 15.46, 65: 08-16 12:00:00 - 08-16 12:30:00 @ 17.0, 66: 08-16 12:30:00 - 08-16 13:00:00 @ 16.34, 67: 08-16 13:00:00 - 08-16 13:30:00 @ 15.36, 68: 08-16 13:30:00 - 08-16 14:00:00 @ 15.74, 69: 08-16 14:00:00 - 08-16 14:30:00 @ 14.57, 70: 08-16 14:30:00 - 08-16 15:00:00 @ 13.77, 71: 08-16 15:00:00 - 08-16 15:30:00 @ 15.02, 72: 08-16 15:30:00 - 08-16 16:00:00 @ 15.87, 73: 08-16 16:00:00 - 08-16 16:30:00 @ 33.13, 74: 08-16 16:30:00 - 08-16 17:00:00 @ 33.13, 75: 08-16 17:00:00 - 08-16 17:30:00 @ 38.46, 76: 08-16 17:30:00 - 08-16 18:00:00 @ 40.44, 77: 08-16 18:00:00 - 08-16 18:30:00 @ 41.55, 78: 08-16 19:00:00 - 08-16 19:30:00 @ 32.58, 79: 08-16 19:30:00 - 08-16 20:00:00 @ 32.9, 80: 08-16 20:00:00 - 08-16 20:30:00 @ 31.99, 81: 08-16 20:30:00 - 08-16 21:00:00 @ 32.1, 82: 08-16 21:00:00 - 08-16 21:30:00 @ 31.71, 83: 08-16 21:30:00 - 08-16 22:00:00 @ 31.67, 84: 08-16 22:00:00 - 08-16 22:30:00 @ 31.77, 85: 08-16 22:30:00 - 08-16 23:00:00 @ 29.81, 86: 08-16 23:00:00 - 08-16 23:30:00 @ 27.8, 87: 08-16 23:30:00 - 08-17 00:00:00 @ 29.09, 88: 08-17 00:00:00 - 08-17 00:30:00 @ 28.47, 89: 08-17 00:30:00 - 08-17 01:00:00 @ 27.18, 90: 08-17 01:00:00 - 08-17 01:30:00 @ 27.57, 91: 08-17 01:30:00 - 08-17 02:00:00 @ 26.5, 92: 08-17 02:00:00 - 08-17 02:30:00 @ 25.6, 93: 08-17 02:30:00 - 08-17 03:00:00 @ 24.79, 94: 08-17 03:00:00 - 08-17 03:30:00 @ 25.08]
2026-08-15 03:25:03.470339: Inverter 0 Charge window will be: 2026-08-15 11:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 11%, target 100%
2026-08-15 03:25:03.470450: Inverter 0 disabled charge window while waiting for schedule (now 08-15 03:25:00 target set_window_minutes 30 charge start time 08-15 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 03:25:03.470552: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 03:25:03.470797: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 03:25:03.470875: No export window planned
2026-08-15 03:25:03.470973: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 03:25:03.471002: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 03:25:03.471128: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 03:25:03.471298: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 03:25:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 03:25:03.471345: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 03:25:03.471391: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 03:25:03.471488: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 03:25:03.471523: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 03:25:03.471545: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 03:25:03.471581: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 03:25:03.471632: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 03:25:03.471651: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 03:25:03.471684: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 03:25:03.471736: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 03:25:03.471765: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 03:25:03.471809: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 03:25:03.471828: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 03:25:03.471846: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 03:25:03.471865: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 03:25:03.471883: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 03:25:03.471899: Inverter 0 count register writes 0
2026-08-15 03:25:03.486799: Will not recompute the plan, it is 5.0 minutes old and max age is 10 minutes
2026-08-15 03:25:03.492147: Total inverter register writes now 815
2026-08-15 03:25:03.524749: Info: Completed run status Demand
2026-08-15 03:25:03.530782: Info: record_status Demand
2026-08-15 03:25:03.537234: Saved current settings to /config/predbat_config.json
2026-08-15 03:25:03.537723: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 03:25:41.649666: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 03:25:41.649947: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 03:25:41.649988: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 03:25:41.650160: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 03:25:41.650222: Note: Inverter does not support discharge freeze - disabled
2026-08-15 03:25:41.650244: Note: Inverter does not support charge freeze - disabled
2026-08-15 03:25:41.650262: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 03:27:41.864302: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 03:27:41.864534: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 03:27:41.864577: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 03:27:41.864755: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 03:27:41.864817: Note: Inverter does not support discharge freeze - disabled
2026-08-15 03:27:41.864863: Note: Inverter does not support charge freeze - disabled
2026-08-15 03:27:41.864882: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 03:29:42.079267: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 03:29:42.079521: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 03:29:42.079563: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 03:29:42.079740: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 03:29:42.079830: Note: Inverter does not support discharge freeze - disabled
2026-08-15 03:29:42.079856: Note: Inverter does not support charge freeze - disabled
2026-08-15 03:29:42.079874: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 03:30:00.169033: --------------- PredBat - update at 2026-08-15 03:30:00+01:00 with clock skew 0 minutes, minutes now 210
2026-08-15 03:30:00.169791: Saved current settings to /config/predbat_config.json
2026-08-15 03:30:00.169915: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 85.0 minutes
2026-08-15 03:30:00.170012: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.1, latest beta is v8.48.1
2026-08-15 03:30:00.170147: Autoupdate: Currently up to date
2026-08-15 03:30:00.188469: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 03:30:00.188589: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 03:30:00.188794: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 03:30:00.189413: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 03:30:00.189547: Predbat mode is set to Control charge & discharge
2026-08-15 03:30:00.359960: Found 21602 load_today datapoints going back 28 days
2026-08-15 03:30:00.360090: Using load_power data to fill gaps in load_today data
2026-08-15 03:30:01.094303: Processing 721 30-minute periods for power integration
2026-08-15 03:30:01.247058: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 03:30:01.247193: Car charging hold False, threshold 6.0kWh
2026-08-15 03:30:01.247238: Current data so far today: load 3.55kWh, import 4.1kWh, export 0.0kWh, PV 0kWh
2026-08-15 03:30:01.261722: Cars: SoC: [12.892000000000001]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 03:30:01.262114: Standing charge is set to 49.98p
2026-08-15 03:30:01.288203: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 03:30:01.288326: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 03:30:01.288591: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 210.0 minutes
2026-08-15 03:30:01.289177: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 209.7 minutes
2026-08-15 03:30:01.294400: Loaded 47 datapoints of futurerate analysis
2026-08-15 03:30:01.380617: Predicted future rates: ['08-15 00:00:00 => 28.9 / 20.01', '08-15 01:00:00 => 27.54 / 19.31', '08-15 02:00:00 => 26.52 / 18.8', '08-15 03:00:00 => 25.99 / 18.53', '08-15 04:00:00 => 25.8 / 18.43', '08-15 05:00:00 => 25.96 / 18.51', '08-15 06:00:00 => 25.55 / 18.3', '08-15 07:00:00 => 24.33 / 17.68', '08-15 08:00:00 => 23.03 / 17.01', '08-15 09:00:00 => 22.05 / 16.51', '08-15 10:00:00 => 20.43 / 15.68', '08-15 11:00:00 => 18.01 / 14.45', '08-15 12:00:00 => 16.37 / 13.61', '08-15 13:00:00 => 15.76 / 13.3', '08-15 14:00:00 => 15.35 / 13.09', '08-15 15:00:00 => 15.86 / 13.35', '08-15 16:00:00 => 32.89 / 16.13', '08-15 17:00:00 => 38.02 / 18.75', '08-15 18:00:00 => 42.36 / 20.96', '08-15 19:00:00 => 31.09 / 21.13', '08-15 20:00:00 => 31.64 / 21.41', '08-15 21:00:00 => 31.64 / 21.41', '08-15 22:00:00 => 30.58 / 20.87']
2026-08-15 03:30:01.442182: Rate min forward looking: now 13.77p at end of forecast 13.77p
2026-08-15 03:30:01.442769: Import rates: min 13.77p, max 43.82p, average 25.96p
2026-08-15 03:30:01.485897: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 03:30:01.486044: Rate thresholds (for charge/export) are import 43.32p (0.0p), export -0.1p (0.0p)
2026-08-15 03:30:01.487338: High export rate found rates in range 99p to -99p
2026-08-15 03:30:01.568923: Low Import rate found rates in range 13.77p to 41.55p
2026-08-15 03:30:01.569090: Car 0 charging is not planned as it is not plugged in
2026-08-15 03:30:01.581534: Battery level now 1.76kWh, -1hr ago 1.44kWh, at midnight 1.66kWh, battery value change in the last hour 3.78p, change today 1.23p, rate_forward 11.83p
2026-08-15 03:30:01.581902: Last hour: net energy 0.75kWh, import 0.75kWh, export 0.0kWh, car 0kWh, load 0.8kWh, net cost 18.61p, import 18.61p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 03:30:01.634069: Today's energy total net 4.1kWh, import 4.1kWh, export 0.0kWh, cost 160.13p, import 110.15p, export 0.0p, carbon 0.0kg
2026-08-15 03:30:01.634194: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 03:30:01.708575: Using weighted-bucket historical load forecast over 14 days
2026-08-15 03:30:01.731926: Today's load divergence 105.67%, in-day adjustment 138.17%, damping 0.95x, yesterday 143.77% today 105.38% blend 85.42%
2026-08-15 03:30:01.732016: Today's predicted so far 2.67kWh with 0.0kWh car/iBoost excluded, 1.82kWh import ignored, and 2.67kWh forecast extra.
2026-08-15 03:30:01.732047: Today's actual load so far 3.61kWh with 0.0kWh car/iBoost excluded, and 1.82kWh import ignored.
2026-08-15 03:30:01.772582: Inverter 0: Type SK Sunsynk
2026-08-15 03:30:01.772675: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 03:30:01.772886: Reserve min: 7%, battery_min: 7%
2026-08-15 03:30:01.773033: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 03:30:01.773408: Inverter 0 SoC: 1.62kW 10%, current charge rate 5000W, current discharge rate 5250W, current battery power 506W, current battery voltage 51.2V, grid power -59W, load power 564W, PV Power 0W
2026-08-15 03:30:01.773612: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 03:30:01.773746: Inverter 0 scheduled charge enable is False
2026-08-15 03:30:01.773818: Inverter 0 charge windows currently []
2026-08-15 03:30:01.773867: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 03:30:01.774013: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 03:30:01.774064: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 03:30:01.774139: Inverter 0 scheduled discharge enable is False
2026-08-15 03:30:01.774338: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 03:30:01.774391: Inverter 0 discharge windows currently []
2026-08-15 03:30:01.774418: Note: Inverter does not support discharge freeze - disabled
2026-08-15 03:30:01.774453: Note: Inverter does not support charge freeze - disabled
2026-08-15 03:30:01.774495: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 03:30:01.837982: Dynamic load last period 0.60kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 03:30:01.838096: Plan was last updated on 2026-08-15 03:20:00+01:00 and is now 10.0 minutes old
2026-08-15 03:30:01.838372: Best charge window [ 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 00:30:00 @ 28.84p 100% ]
2026-08-15 03:30:01.838436: Best export window [  ]
2026-08-15 03:30:01.839367: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 03:30:01.842612: Load divergence over 8.0 hours mean 427.12W, min 281.4W, max 1349.4W, std dev 137.81W, divergence 16.13%
2026-08-15 03:30:01.860702: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 03:30:01.860810: LoadML is_calculating False
2026-08-15 03:30:01.860872: Creating pool of 12 processes to match your CPU count
2026-08-15 03:30:01.982549: predict base end_record 08-16 11:40:00, final soc 1.12kWh, metric 831.5p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 04:05:00, load 28.65kWh, PV 0.0kWh
2026-08-15 03:30:02.153466: Battery has 0.58 hours left - now at 1.62kWh
2026-08-15 03:30:02.203380: predict base10 end_record 08-16 11:40:00, final soc 1.12kWh, metric 861.69p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 04:05:00, load 29.85kWh, PV 0.0kWh
2026-08-15 03:30:02.292182: predict best10 end_record 08-16 11:40:00, final soc 1.77kWh, metric 698.73p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 04:05:00, load 29.85kWh, PV 0.0kWh
2026-08-15 03:30:02.383668: predict best end_record 08-16 11:40:00, final soc 1.9kWh, metric 672.04p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 04:05:00, load 28.65kWh, PV 0.0kWh
2026-08-15 03:30:02.383794: Saving plan best values to HA entities
2026-08-15 03:30:02.545792: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 03:30:02.550600: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 03:30:02.556427: Best charging limit SoC's [16.0, 3.5, 4.0, 16.0, 16.0, 16.0]kWh, export []kWh gives import battery 21.52kWh, house 6.08kWh, export 0.0kWh, metric 672.04p, metric10 698.73p
2026-08-15 03:30:02.650257: Marginal costs baseline metric (no standing charge): 622.0566
2026-08-15 03:30:02.894327: Marginal energy costs matrix computed: min=15.16 max=26.05
2026-08-15 03:30:02.977355: Rate array import [{'start': 210, 'end': 420, 'rate': 'expensive', 'range': '(24.6p - 27.6p)'}, {'start': 420, 'end': 450, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 450, 'end': 480, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 480, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 23.6p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1860, 'rate': 'expensive', 'range': '(24.6p - 32.9p)'}, {'start': 1860, 'end': 1890, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 1890, 'end': 1920, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 1920, 'end': 2140, 'rate': 'cheap', 'range': '(15.5p - 23.6p)'}] export [{'start': 210, 'end': 2140, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 03:30:02.978151: - Your estimated bill for today is £5.93 and tomorrow is £5.45
2026-08-15 03:30:02.978204: - Import rates are expensive (24.6p - 27.6p) for the next 3 and a half hours and then cheap (22.7p) for the next 30 minutes.
2026-08-15 03:30:02.978227: - The battery is currently at 10% and is in eco mode for the next 8 hours.
2026-08-15 03:30:02.978246: - For the next 48 hours there will be no solar generation.
2026-08-15 03:30:02.978263: - You will run out of battery in 35 minutes.
2026-08-15 03:30:02.978280: - Your next charge slot will be in 8 hours where import rates will be cheap (15.5p).
2026-08-15 03:30:02.978298: 
2026-08-15 03:30:03.042013: Plan calculation took 1.20 seconds
2026-08-15 03:30:03.045502: No high rate period found
2026-08-15 03:30:03.099493: Import threshold used for optimisation was 25.08p
2026-08-15 03:30:03.161576: Low import rate windows [0: 08-15 03:30:00 - 08-15 04:00:00 @ 24.62, 1: 08-15 04:00:00 - 08-15 04:30:00 @ 27.02, 2: 08-15 04:30:00 - 08-15 05:00:00 @ 26.47, 3: 08-15 05:00:00 - 08-15 05:30:00 @ 26.25, 4: 08-15 05:30:00 - 08-15 06:00:00 @ 26.4, 5: 08-15 06:00:00 - 08-15 06:30:00 @ 25.7, 6: 08-15 06:30:00 - 08-15 07:00:00 @ 27.63, 7: 08-15 07:00:00 - 08-15 07:30:00 @ 22.73, 8: 08-15 07:30:00 - 08-15 08:00:00 @ 26.7, 9: 08-15 08:00:00 - 08-15 08:30:00 @ 22.92, 10: 08-15 08:30:00 - 08-15 09:00:00 @ 22.48, 11: 08-15 09:00:00 - 08-15 09:30:00 @ 23.55, 12: 08-15 09:30:00 - 08-15 10:00:00 @ 23.64, 13: 08-15 10:00:00 - 08-15 10:30:00 @ 19.66, 14: 08-15 10:30:00 - 08-15 11:00:00 @ 17.66, 15: 08-15 11:00:00 - 08-15 11:30:00 @ 16.56, 16: 08-15 11:30:00 - 08-15 12:00:00 @ 15.46, 17: 08-15 12:00:00 - 08-15 12:30:00 @ 17.0, 18: 08-15 12:30:00 - 08-15 13:00:00 @ 16.34, 19: 08-15 13:00:00 - 08-15 13:30:00 @ 15.36, 20: 08-15 13:30:00 - 08-15 14:00:00 @ 15.74, 21: 08-15 14:00:00 - 08-15 14:30:00 @ 14.57, 22: 08-15 14:30:00 - 08-15 15:00:00 @ 13.77, 23: 08-15 15:00:00 - 08-15 15:30:00 @ 15.02, 24: 08-15 15:30:00 - 08-15 16:00:00 @ 15.87, 25: 08-15 16:00:00 - 08-15 16:30:00 @ 33.13, 26: 08-15 16:30:00 - 08-15 17:00:00 @ 33.13, 27: 08-15 17:00:00 - 08-15 17:30:00 @ 38.46, 28: 08-15 17:30:00 - 08-15 18:00:00 @ 40.44, 29: 08-15 18:00:00 - 08-15 18:30:00 @ 41.55, 30: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 31: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 32: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 33: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 34: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 35: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 36: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 37: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 38: 08-15 23:00:00 - 08-15 23:30:00 @ 27.8, 39: 08-15 23:30:00 - 08-16 00:00:00 @ 29.09, 40: 08-16 00:00:00 - 08-16 00:30:00 @ 28.47, 41: 08-16 00:30:00 - 08-16 01:00:00 @ 27.18, 42: 08-16 01:00:00 - 08-16 01:30:00 @ 27.57, 43: 08-16 01:30:00 - 08-16 02:00:00 @ 26.5, 44: 08-16 02:00:00 - 08-16 02:30:00 @ 25.6, 45: 08-16 02:30:00 - 08-16 03:00:00 @ 24.79, 46: 08-16 03:00:00 - 08-16 03:30:00 @ 25.08, 47: 08-16 03:30:00 - 08-16 04:00:00 @ 24.62, 48: 08-16 04:00:00 - 08-16 04:30:00 @ 27.02, 49: 08-16 04:30:00 - 08-16 05:00:00 @ 26.47, 50: 08-16 05:00:00 - 08-16 05:30:00 @ 26.25, 51: 08-16 05:30:00 - 08-16 06:00:00 @ 26.4, 52: 08-16 06:00:00 - 08-16 06:30:00 @ 25.7, 53: 08-16 06:30:00 - 08-16 07:00:00 @ 27.63, 54: 08-16 07:00:00 - 08-16 07:30:00 @ 22.73, 55: 08-16 07:30:00 - 08-16 08:00:00 @ 26.7, 56: 08-16 08:00:00 - 08-16 08:30:00 @ 22.92, 57: 08-16 08:30:00 - 08-16 09:00:00 @ 22.48, 58: 08-16 09:00:00 - 08-16 09:30:00 @ 23.55, 59: 08-16 09:30:00 - 08-16 10:00:00 @ 23.64, 60: 08-16 10:00:00 - 08-16 10:30:00 @ 19.66, 61: 08-16 10:30:00 - 08-16 11:00:00 @ 17.66, 62: 08-16 11:00:00 - 08-16 11:30:00 @ 16.56, 63: 08-16 11:30:00 - 08-16 12:00:00 @ 15.46, 64: 08-16 12:00:00 - 08-16 12:30:00 @ 17.0, 65: 08-16 12:30:00 - 08-16 13:00:00 @ 16.34, 66: 08-16 13:00:00 - 08-16 13:30:00 @ 15.36, 67: 08-16 13:30:00 - 08-16 14:00:00 @ 15.74, 68: 08-16 14:00:00 - 08-16 14:30:00 @ 14.57, 69: 08-16 14:30:00 - 08-16 15:00:00 @ 13.77, 70: 08-16 15:00:00 - 08-16 15:30:00 @ 15.02, 71: 08-16 15:30:00 - 08-16 16:00:00 @ 15.87, 72: 08-16 16:00:00 - 08-16 16:30:00 @ 33.13, 73: 08-16 16:30:00 - 08-16 17:00:00 @ 33.13, 74: 08-16 17:00:00 - 08-16 17:30:00 @ 38.46, 75: 08-16 17:30:00 - 08-16 18:00:00 @ 40.44, 76: 08-16 18:00:00 - 08-16 18:30:00 @ 41.55, 77: 08-16 19:00:00 - 08-16 19:30:00 @ 32.58, 78: 08-16 19:30:00 - 08-16 20:00:00 @ 32.9, 79: 08-16 20:00:00 - 08-16 20:30:00 @ 31.99, 80: 08-16 20:30:00 - 08-16 21:00:00 @ 32.1, 81: 08-16 21:00:00 - 08-16 21:30:00 @ 31.71, 82: 08-16 21:30:00 - 08-16 22:00:00 @ 31.67, 83: 08-16 22:00:00 - 08-16 22:30:00 @ 31.77, 84: 08-16 22:30:00 - 08-16 23:00:00 @ 29.81, 85: 08-16 23:00:00 - 08-16 23:30:00 @ 27.8, 86: 08-16 23:30:00 - 08-17 00:00:00 @ 29.09, 87: 08-17 00:00:00 - 08-17 00:30:00 @ 28.47, 88: 08-17 00:30:00 - 08-17 01:00:00 @ 27.18, 89: 08-17 01:00:00 - 08-17 01:30:00 @ 27.57, 90: 08-17 01:30:00 - 08-17 02:00:00 @ 26.5, 91: 08-17 02:00:00 - 08-17 02:30:00 @ 25.6, 92: 08-17 02:30:00 - 08-17 03:00:00 @ 24.79, 93: 08-17 03:00:00 - 08-17 03:30:00 @ 25.08]
2026-08-15 03:30:03.170068: Inverter 0 Charge window will be: 2026-08-15 11:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 10%, target 100%
2026-08-15 03:30:03.170230: Inverter 0 disabled charge window while waiting for schedule (now 08-15 03:30:00 target set_window_minutes 30 charge start time 08-15 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 03:30:03.170357: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 03:30:03.170623: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 03:30:03.170714: No export window planned
2026-08-15 03:30:03.170843: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 03:30:03.170881: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 03:30:03.171019: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 03:30:03.171202: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 03:30:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 03:30:03.171267: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 03:30:03.171327: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 03:30:03.171420: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 03:30:03.171462: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 03:30:03.171490: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 03:30:03.171514: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 03:30:03.171538: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 03:30:03.171562: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 03:30:03.171587: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 03:30:03.171648: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 03:30:03.171684: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 03:30:03.171709: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 03:30:03.171733: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 03:30:03.171757: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 03:30:03.171808: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 03:30:03.171843: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 03:30:03.171863: Inverter 0 count register writes 0
2026-08-15 03:30:03.191207: Will recompute the plan as it is now 10.0 minutes old and will exceed the max age of 10 minutes before the next run
2026-08-15 03:30:03.191412: Recompute is saving previous plan...
2026-08-15 03:30:03.194802: Best charge window [ 15-08 03:30:00 - 15-08 04:00:00 @ 24.62p 0%, 15-08 04:00:00 - 15-08 04:30:00 @ 27.02p 0%, 15-08 04:30:00 - 15-08 05:00:00 @ 26.47p 0%, 15-08 05:00:00 - 15-08 05:30:00 @ 26.25p 0%, 15-08 05:30:00 - 15-08 06:00:00 @ 26.4p 0%, 15-08 06:00:00 - 15-08 06:30:00 @ 25.7p 0%, 15-08 06:30:00 - 15-08 07:00:00 @ 27.63p 0%, 15-08 07:00:00 - 15-08 07:30:00 @ 22.73p 0%, 15-08 07:30:00 - 15-08 08:00:00 @ 26.7p 0%, 15-08 08:00:00 - 15-08 08:30:00 @ 22.92p 0%, 15-08 08:30:00 - 15-08 09:00:00 @ 22.48p 0%, 15-08 09:00:00 - 15-08 09:30:00 @ 23.55p 0%, 15-08 09:30:00 - 15-08 10:00:00 @ 23.64p 0%, 15-08 10:00:00 - 15-08 10:30:00 @ 19.66p 0%, 15-08 10:30:00 - 15-08 11:00:00 @ 17.66p 0%, 15-08 11:00:00 - 15-08 11:30:00 @ 16.56p 0%, 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 0%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 0%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 0%, 15-08 13:00:00 - 15-08 13:30:00 @ 15.36p 0%, 15-08 13:30:00 - 15-08 14:00:00 @ 15.74p 0%, 15-08 14:00:00 - 15-08 14:30:00 @ 14.57p 0%, 15-08 14:30:00 - 15-08 15:00:00 @ 13.77p 0%, 15-08 15:00:00 - 15-08 15:30:00 @ 15.02p 0%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 0%, 15-08 16:00:00 - 15-08 16:30:00 @ 33.13p 0%, 15-08 16:30:00 - 15-08 17:00:00 @ 33.13p 0%, 15-08 17:00:00 - 15-08 17:30:00 @ 38.46p 0%, 15-08 17:30:00 - 15-08 18:00:00 @ 40.44p 0%, 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 0%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 0%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 0%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 0%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 0%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 27.8p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 29.09p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.47p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.18p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 27.57p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.5p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.6p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 24.79p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 25.08p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 24.62p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 27.02p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.47p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 26.25p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.4p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.7p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 27.63p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 22.73p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 26.7p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 22.92p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 22.48p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 23.55p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 23.64p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 19.66p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 17.66p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 16.56p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 15.46p 0%, 16-08 12:00:00 - 16-08 12:30:00 @ 17.0p 0%, 16-08 12:30:00 - 16-08 13:00:00 @ 16.34p 0%, 16-08 13:00:00 - 16-08 13:30:00 @ 15.36p 0%, 16-08 13:30:00 - 16-08 14:00:00 @ 15.74p 0%, 16-08 14:00:00 - 16-08 14:30:00 @ 14.57p 0%, 16-08 14:30:00 - 16-08 15:00:00 @ 13.77p 0%, 16-08 15:00:00 - 16-08 15:30:00 @ 15.02p 0%, 16-08 15:30:00 - 16-08 16:00:00 @ 15.87p 0%, 16-08 16:00:00 - 16-08 16:30:00 @ 33.13p 0%, 16-08 16:30:00 - 16-08 17:00:00 @ 33.13p 0%, 16-08 17:00:00 - 16-08 17:30:00 @ 38.46p 0%, 16-08 17:30:00 - 16-08 18:00:00 @ 40.44p 0%, 16-08 18:00:00 - 16-08 18:30:00 @ 41.55p 0%, 16-08 19:00:00 - 16-08 19:30:00 @ 32.58p 0%, 16-08 19:30:00 - 16-08 20:00:00 @ 32.9p 0%, 16-08 20:00:00 - 16-08 20:30:00 @ 31.99p 0%, 16-08 20:30:00 - 16-08 21:00:00 @ 32.1p 0%, 16-08 21:00:00 - 16-08 21:30:00 @ 31.71p 0%, 16-08 21:30:00 - 16-08 22:00:00 @ 31.67p 0%, 16-08 22:00:00 - 16-08 22:30:00 @ 31.77p 0%, 16-08 22:30:00 - 16-08 23:00:00 @ 29.81p 0%, 16-08 23:00:00 - 16-08 23:30:00 @ 27.8p 0%, 16-08 23:30:00 - 17-08 00:00:00 @ 29.09p 0%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.47p 0%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.18p 0%, 17-08 01:00:00 - 17-08 01:30:00 @ 27.57p 0%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.5p 0%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.6p 0%, 17-08 02:30:00 - 17-08 03:00:00 @ 24.79p 0%, 17-08 03:00:00 - 17-08 03:30:00 @ 25.08p 0% ]
2026-08-15 03:30:03.194920: Best export window [  ]
2026-08-15 03:30:03.195735: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 03:30:03.199044: Load divergence over 8.0 hours mean 427.12W, min 281.4W, max 1349.4W, std dev 137.81W, divergence 16.13%
2026-08-15 03:30:03.221363: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 03:30:03.221536: LoadML is_calculating False
2026-08-15 03:30:03.221643: Creating pool of 12 processes to match your CPU count
2026-08-15 03:30:03.329544: Calculate Best options: mode(Control charge & discharge), calculate_export_oncharge(False), calculate_export_on_pv(True), set_export_freeze_only(False), set_discharge_during_charge(True), combine_charge_slots(False), combine_export_slots(False), combine_rate_threshold(0.0), best_soc_min(0.0 kWh), best_soc_max(0.0 kWh), best_soc_keep(0.0 kWh), inverter_loss(4%), battery_loss(3%), battery_loss_discharge (3%), inverter_hybrid(True), metric_min_improvement(0.0p), metric_min_improvement_export(0.1p), metric_min_improvement_export_freeze(0.1p), metric_battery_cycle(0.0p/kWh), metric_battery_value_scaling(1.0 x) 
2026-08-15 03:30:03.331666: Optimise levels pass started at 2026-08-15 03:30:03
2026-08-15 03:30:03.331739: Optimise all windows, total charge 94 export 1
2026-08-15 03:30:04.499477: >> Region optimisation pass width 960 gives best_metric 797.76p, best_cost 803.11p, best_cycle 50.1kWh, best_import 39.58kWh
2026-08-15 03:30:04.903898: >> Region optimisation pass width 480 gives best_metric 797.76p, best_cost 803.11p, best_cycle 50.1kWh, best_import 39.58kWh
2026-08-15 03:30:05.449602: >> Region optimisation pass width 240 gives best_metric 797.76p, best_cost 803.11p, best_cycle 50.1kWh, best_import 39.58kWh
2026-08-15 03:30:06.589300: >> Region optimisation pass width 120 gives best_metric 797.76p, best_cost 803.11p, best_cycle 50.1kWh, best_import 39.58kWh
2026-08-15 03:30:06.589641: Calculated end_record as 08-16 11:30:00 based on best_price 16.34p, next_charge_start 08-15 11:30:00, max_windows 63
2026-08-15 03:30:06.589727: Optimise levels pass ended at 2026-08-15 03:30:06, duration 3.3 seconds tried 322 combinations
2026-08-15 03:30:06.589811: Set best_price_charge_level 17.6p, best_price_export_level 0p, best_price_charge 16.34p, best_cost_export 0p, best_metric 797.76p, best_keep 0kWh, best_cycle 50.1kWh, best_carbon 0kg, best_import 39.58kWh
2026-08-15 03:30:06.610951: Starting detailed optimisation end_record 08-16 11:30:00, best_price_charge 16.34p, best_price_export 0p. lowest_price_charge 13.77p with charge limits [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0]kWh and export limits []kWh
2026-08-15 03:30:11.072930: Tweak plan optimisation started metric 596.42p, cost 605.37p
2026-08-15 03:30:11.327500: Tweak optimisation finished metric 596.42p, cost 605.37p, metric_keep 0kWh, cycle 30.25kWh, carbon 0kg, import 26.57kWh, changed 8 window(s)
2026-08-15 03:30:11.343313: Swap charge optimisation started metric 596.42p, cost 605.37p, min_improvement_swap 0.1p
2026-08-15 03:30:16.043483: Swap charge optimisation finished metric 596.42p, cost 605.37p
2026-08-15 03:30:16.134073: Raw charge windows [ 15-08 03:30:00 - 15-08 04:00:00 @ 24.62p 9%, 15-08 04:00:00 - 15-08 04:30:00 @ 27.02p 0%, 15-08 04:30:00 - 15-08 05:00:00 @ 26.47p 0%, 15-08 05:00:00 - 15-08 05:30:00 @ 26.25p 0%, 15-08 05:30:00 - 15-08 06:00:00 @ 26.4p 0%, 15-08 06:00:00 - 15-08 06:30:00 @ 25.7p 0%, 15-08 06:30:00 - 15-08 07:00:00 @ 27.63p 0%, 15-08 07:00:00 - 15-08 07:30:00 @ 22.73p 0%, 15-08 07:30:00 - 15-08 08:00:00 @ 26.7p 0%, 15-08 08:00:00 - 15-08 08:30:00 @ 22.92p 0%, 15-08 08:30:00 - 15-08 09:00:00 @ 22.48p 0%, 15-08 09:00:00 - 15-08 09:30:00 @ 23.55p 0%, 15-08 09:30:00 - 15-08 10:00:00 @ 23.64p 0%, 15-08 10:00:00 - 15-08 10:30:00 @ 19.66p 0%, 15-08 10:30:00 - 15-08 11:00:00 @ 17.66p 0%, 15-08 11:00:00 - 15-08 11:30:00 @ 16.56p 0%, 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 13:30:00 @ 15.36p 100%, 15-08 13:30:00 - 15-08 14:00:00 @ 15.74p 100%, 15-08 14:00:00 - 15-08 14:30:00 @ 14.57p 100%, 15-08 14:30:00 - 15-08 15:00:00 @ 13.77p 100%, 15-08 15:00:00 - 15-08 15:30:00 @ 15.02p 100%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 100%, 15-08 16:00:00 - 15-08 16:30:00 @ 33.13p 0%, 15-08 16:30:00 - 15-08 17:00:00 @ 33.13p 0%, 15-08 17:00:00 - 15-08 17:30:00 @ 38.46p 0%, 15-08 17:30:00 - 15-08 18:00:00 @ 40.44p 0%, 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 0%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 0%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 0%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 0%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 0%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 27.8p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 29.09p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.47p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.18p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 27.57p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.5p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.6p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 24.79p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 25.08p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 24.62p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 27.02p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.47p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 26.25p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.4p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.7p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 27.63p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 22.73p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 26.7p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 22.92p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 22.48p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 23.55p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 23.64p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 19.66p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 17.66p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 16.56p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 15.46p 100%, 16-08 12:00:00 - 16-08 12:30:00 @ 17.0p 100%, 16-08 12:30:00 - 16-08 13:00:00 @ 16.34p 100%, 16-08 13:00:00 - 16-08 13:30:00 @ 15.36p 100%, 16-08 13:30:00 - 16-08 14:00:00 @ 15.74p 100%, 16-08 14:00:00 - 16-08 14:30:00 @ 14.57p 100%, 16-08 14:30:00 - 16-08 15:00:00 @ 13.77p 100%, 16-08 15:00:00 - 16-08 15:30:00 @ 15.02p 100%, 16-08 15:30:00 - 16-08 16:00:00 @ 15.87p 100%, 16-08 16:00:00 - 16-08 16:30:00 @ 33.13p 100%, 16-08 16:30:00 - 16-08 17:00:00 @ 33.13p 100%, 16-08 17:00:00 - 16-08 17:30:00 @ 38.46p 100%, 16-08 17:30:00 - 16-08 18:00:00 @ 40.44p 100%, 16-08 18:00:00 - 16-08 18:30:00 @ 41.55p 100%, 16-08 19:00:00 - 16-08 19:30:00 @ 32.58p 100%, 16-08 19:30:00 - 16-08 20:00:00 @ 32.9p 100%, 16-08 20:00:00 - 16-08 20:30:00 @ 31.99p 100%, 16-08 20:30:00 - 16-08 21:00:00 @ 32.1p 100%, 16-08 21:00:00 - 16-08 21:30:00 @ 31.71p 100%, 16-08 21:30:00 - 16-08 22:00:00 @ 31.67p 100%, 16-08 22:00:00 - 16-08 22:30:00 @ 31.77p 100%, 16-08 22:30:00 - 16-08 23:00:00 @ 29.81p 100%, 16-08 23:00:00 - 16-08 23:30:00 @ 27.8p 100%, 16-08 23:30:00 - 17-08 00:00:00 @ 29.09p 100%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.47p 100%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.18p 100%, 17-08 01:00:00 - 17-08 01:30:00 @ 27.57p 100%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.5p 100%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.6p 100%, 17-08 02:30:00 - 17-08 03:00:00 @ 24.79p 100%, 17-08 03:00:00 - 17-08 03:30:00 @ 25.08p 100% ] reserve 1.12
2026-08-15 03:30:16.134627: Unclipped charge windows [ 15-08 03:30:00 - 15-08 04:00:00 @ 24.62p 9%, 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 03:30:00 @ 25.33p 100% ] reserve 1.12
2026-08-15 03:30:16.134938: Unfiltered charge windows [ 15-08 03:30:00 - 15-08 04:00:00 @ 24.62p 9%, 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 03:30:00 @ 25.33p 100% ] reserve 1.12
2026-08-15 03:30:16.135166: Filtered charge windows [ 15-08 03:30:00 - 15-08 04:00:00 @ 24.62p 9%, 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 03:30:00 @ 25.33p 100% ] reserve 1.12
2026-08-15 03:30:16.164716: Previous plan best metric is 597.26 (cost 606.2) and new plan best metric is 596.42 (cost 605.37)
2026-08-15 03:30:16.164983: New plan metric is not significantly better (metric_min_improvement_plan 2.0) than previous plan, using previous plan
2026-08-15 03:30:16.165153: Plan valid is now true after recompute was False
2026-08-15 03:30:16.188204: predict base end_record 08-16 11:30:00, final soc 1.12kWh, metric 828.52p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 04:05:00, load 28.46kWh, PV 0.0kWh
2026-08-15 03:30:16.300056: Battery has 0.58 hours left - now at 1.62kWh
2026-08-15 03:30:16.339560: predict base10 end_record 08-16 11:30:00, final soc 1.12kWh, metric 858.57p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 04:05:00, load 29.65kWh, PV 0.0kWh
2026-08-15 03:30:16.406289: predict best10 end_record 08-16 11:30:00, final soc 1.12kWh, metric 684.88p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 04:05:00, load 29.65kWh, PV 0.0kWh
2026-08-15 03:30:16.476654: predict best end_record 08-16 11:30:00, final soc 1.12kWh, metric 656.18p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 04:05:00, load 28.46kWh, PV 0.0kWh
2026-08-15 03:30:16.476738: Saving plan best values to HA entities
2026-08-15 03:30:16.618429: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 03:30:16.623641: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 03:30:16.628658: Best charging limit SoC's [16.0, 3.5, 4.0, 16.0, 16.0, 16.0]kWh, export []kWh gives import battery 20.5kWh, house 6.08kWh, export 0.0kWh, metric 656.18p, metric10 684.88p
2026-08-15 03:30:16.694596: Marginal costs baseline metric (no standing charge): 606.1997
2026-08-15 03:30:16.911235: Marginal energy costs matrix computed: min=15.16 max=26.05
2026-08-15 03:30:16.970907: Rate array import [{'start': 210, 'end': 420, 'rate': 'expensive', 'range': '(24.6p - 27.6p)'}, {'start': 420, 'end': 450, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 450, 'end': 480, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 480, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 23.6p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1860, 'rate': 'expensive', 'range': '(24.6p - 32.9p)'}, {'start': 1860, 'end': 1890, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 1890, 'end': 1920, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 1920, 'end': 2130, 'rate': 'cheap', 'range': '(16.6p - 23.6p)'}] export [{'start': 210, 'end': 2130, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 03:30:16.971554: - Your estimated bill for today is £5.93 and tomorrow is £5.45
2026-08-15 03:30:16.971607: - Import rates are expensive (24.6p - 27.6p) for the next 3 and a half hours and then cheap (22.7p) for the next 30 minutes.
2026-08-15 03:30:16.971626: - The battery is currently at 10% and is in eco mode for the next 8 hours.
2026-08-15 03:30:16.971640: - For the next 48 hours there will be no solar generation.
2026-08-15 03:30:16.971654: - You will run out of battery in 35 minutes.
2026-08-15 03:30:16.971670: - Your next charge slot will be in 8 hours where import rates will be cheap (15.5p).
2026-08-15 03:30:16.971726: 
2026-08-15 03:30:17.028477: Plan calculation took 13.84 seconds
2026-08-15 03:30:17.028927: Inverter 0: Type SK Sunsynk
2026-08-15 03:30:17.029058: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 03:30:17.029402: Reserve min: 7%, battery_min: 7%
2026-08-15 03:30:17.029528: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 03:30:17.030026: Inverter 0 SoC: 1.6kW 10%, current charge rate 5000W, current discharge rate 5250W, current battery power 498W, current battery voltage 51.2V, grid power -53W, load power 551W, PV Power 0W
2026-08-15 03:30:17.030362: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 03:30:17.030516: Inverter 0 scheduled charge enable is False
2026-08-15 03:30:17.030578: Inverter 0 charge windows currently []
2026-08-15 03:30:17.030633: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 03:30:17.030874: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 03:30:17.030934: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 03:30:17.031022: Inverter 0 scheduled discharge enable is False
2026-08-15 03:30:17.031243: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 03:30:17.031302: Inverter 0 discharge windows currently []
2026-08-15 03:30:17.031338: Note: Inverter does not support discharge freeze - disabled
2026-08-15 03:30:17.031378: Note: Inverter does not support charge freeze - disabled
2026-08-15 03:30:17.031408: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 03:30:17.086228: Inverter 0 Charge window will be: 2026-08-15 11:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 10%, target 100%
2026-08-15 03:30:17.086379: Inverter 0 disabled charge window while waiting for schedule (now 08-15 03:30:00 target set_window_minutes 30 charge start time 08-15 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 03:30:17.086450: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 03:30:17.086641: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 03:30:17.086721: No export window planned
2026-08-15 03:30:17.086867: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 03:30:17.086910: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 03:30:17.087049: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 03:30:17.087213: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 03:30:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 03:30:17.087266: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 03:30:17.087321: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 03:30:17.087411: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 03:30:17.087451: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 03:30:17.087478: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 03:30:17.087504: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 03:30:17.087534: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 03:30:17.087559: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 03:30:17.087612: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 03:30:17.087678: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 03:30:17.087713: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 03:30:17.087740: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 03:30:17.087770: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 03:30:17.087855: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 03:30:17.087917: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 03:30:17.087945: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 03:30:17.087970: Inverter 0 count register writes 0
2026-08-15 03:30:17.111393: Total inverter register writes now 815
2026-08-15 03:30:17.146144: Info: Completed run status Demand
2026-08-15 03:30:17.153641: Info: record_status Demand
2026-08-15 03:30:17.161418: Saved current settings to /config/predbat_config.json
2026-08-15 03:30:17.161747: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 03:30:57.272745: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 03:30:57.273092: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 03:30:57.273160: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 03:30:57.273365: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 03:30:57.273417: Note: Inverter does not support discharge freeze - disabled
2026-08-15 03:30:57.273461: Note: Inverter does not support charge freeze - disabled
2026-08-15 03:30:57.273494: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 03:31:22.513097: ML Component: Fetching 28 days of load history from ['sensor.sunsynk_day_load_energy']
2026-08-15 03:31:23.378341: Processing 1345 30-minute periods for power integration
2026-08-15 03:31:23.465291: ML Component: Car charging hold False, car energy reported load False
2026-08-15 03:31:23.547500: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 03:31:23.629941: ML Temperature data points: 50191
2026-08-15 03:31:23.844869: ML Component: Fetched 8064 load data points, 28.0 days of history
2026-08-15 03:31:23.877397: ML Component: Data fetch completed, load data age 56.0 days, 16307 data points
2026-08-15 03:31:23.877512: ML Component: No training needed, model age is 1.53 hours
2026-08-15 03:31:23.877566: ML Component: Generating predictions load data age 56.0 days, 16307 data points
2026-08-15 03:31:23.987696: ML Predictor: Starting autoregressive prediction loop for 576 steps (48.0 hours), prev_energy value 0.0533 max_dow {0: 0.10148124996256083, 1: 0.10722812486607582, 2: 0.11988124983031304, 3: 0.11477812442630529, 4: 0.1668593753574416, 5: 0.10612500002831221, 6: 0.10850624993629754}
2026-08-15 03:31:24.413765: ML Component: Generated 576 predictions (total 35.15 kWh over 48h)
2026-08-15 03:31:24.441095: ML Component: Prediction cycle completed
2026-08-15 03:31:24.515008: ML Component: Saved 16307 steps (56 days) of history to /config/predbat_ml_history.npz
2026-08-15 03:33:11.512602: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 03:33:11.512803: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 03:33:11.512832: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 03:33:11.513043: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 03:33:11.513118: Note: Inverter does not support discharge freeze - disabled
2026-08-15 03:33:11.513135: Note: Inverter does not support charge freeze - disabled
2026-08-15 03:33:11.513149: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 03:35:00.715594: --------------- PredBat - update at 2026-08-15 03:35:00+01:00 with clock skew 0 minutes, minutes now 215
2026-08-15 03:35:00.716565: Saved current settings to /config/predbat_config.json
2026-08-15 03:35:00.716674: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 90.0 minutes
2026-08-15 03:35:00.716762: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.1, latest beta is v8.48.1
2026-08-15 03:35:00.716816: Autoupdate: Currently up to date
2026-08-15 03:35:00.733897: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 03:35:00.734044: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 03:35:00.734219: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 03:35:00.734693: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 03:35:00.734788: Predbat mode is set to Control charge & discharge
2026-08-15 03:35:00.888498: Found 21602 load_today datapoints going back 28 days
2026-08-15 03:35:00.888645: Using load_power data to fill gaps in load_today data
2026-08-15 03:35:01.564332: Processing 721 30-minute periods for power integration
2026-08-15 03:35:01.734019: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 03:35:01.734151: Car charging hold False, threshold 6.0kWh
2026-08-15 03:35:01.734193: Current data so far today: load 3.6kWh, import 4.1kWh, export 0.0kWh, PV 0kWh
2026-08-15 03:35:01.750562: Cars: SoC: [12.892000000000001]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 03:35:01.751026: Standing charge is set to 49.98p
2026-08-15 03:35:01.780629: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 03:35:01.780729: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 03:35:01.780977: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 215.0 minutes
2026-08-15 03:35:01.781428: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 214.7 minutes
2026-08-15 03:35:01.783841: Loaded 47 datapoints of futurerate analysis
2026-08-15 03:35:01.854166: Predicted future rates: ['08-15 00:00:00 => 28.9 / 20.01', '08-15 01:00:00 => 27.54 / 19.31', '08-15 02:00:00 => 26.52 / 18.8', '08-15 03:00:00 => 25.99 / 18.53', '08-15 04:00:00 => 25.8 / 18.43', '08-15 05:00:00 => 25.96 / 18.51', '08-15 06:00:00 => 25.55 / 18.3', '08-15 07:00:00 => 24.33 / 17.68', '08-15 08:00:00 => 23.03 / 17.01', '08-15 09:00:00 => 22.05 / 16.51', '08-15 10:00:00 => 20.43 / 15.68', '08-15 11:00:00 => 18.01 / 14.45', '08-15 12:00:00 => 16.37 / 13.61', '08-15 13:00:00 => 15.76 / 13.3', '08-15 14:00:00 => 15.35 / 13.09', '08-15 15:00:00 => 15.86 / 13.35', '08-15 16:00:00 => 32.89 / 16.13', '08-15 17:00:00 => 38.02 / 18.75', '08-15 18:00:00 => 42.36 / 20.96', '08-15 19:00:00 => 31.09 / 21.13', '08-15 20:00:00 => 31.64 / 21.41', '08-15 21:00:00 => 31.64 / 21.41', '08-15 22:00:00 => 30.58 / 20.87']
2026-08-15 03:35:01.910010: Rate min forward looking: now 13.77p at end of forecast 13.77p
2026-08-15 03:35:01.910366: Import rates: min 13.77p, max 43.82p, average 25.96p
2026-08-15 03:35:01.948172: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 03:35:01.948283: Rate thresholds (for charge/export) are import 43.32p (0.0p), export -0.1p (0.0p)
2026-08-15 03:35:01.949508: High export rate found rates in range 99p to -99p
2026-08-15 03:35:02.032557: Low Import rate found rates in range 13.77p to 41.55p
2026-08-15 03:35:02.032721: Car 0 charging is not planned as it is not plugged in
2026-08-15 03:35:02.052515: Battery level now 1.62kWh, -1hr ago 1.44kWh, at midnight 1.66kWh, battery value change in the last hour 2.08p, change today -0.47p, rate_forward 11.83p
2026-08-15 03:35:02.053517: Last hour: net energy 0.7kWh, import 0.7kWh, export 0.0kWh, car 0kWh, load 0.6kWh, net cost 17.37p, import 17.37p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 03:35:02.107266: Today's energy total net 4.1kWh, import 4.1kWh, export 0.0kWh, cost 160.13p, import 110.15p, export 0.0p, carbon 0.0kg
2026-08-15 03:35:02.107382: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 03:35:02.173651: Using weighted-bucket historical load forecast over 14 days
2026-08-15 03:35:02.191902: Today's load divergence 105.94%, in-day adjustment 138.08%, damping 0.95x, yesterday 143.77% today 105.65% blend 85.07%
2026-08-15 03:35:02.191979: Today's predicted so far 2.75kWh with 0.0kWh car/iBoost excluded, 1.83kWh import ignored, and 2.75kWh forecast extra.
2026-08-15 03:35:02.192004: Today's actual load so far 3.74kWh with 0.0kWh car/iBoost excluded, and 1.83kWh import ignored.
2026-08-15 03:35:02.230188: Inverter 0: Type SK Sunsynk
2026-08-15 03:35:02.230929: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 03:35:02.231217: Reserve min: 7%, battery_min: 7%
2026-08-15 03:35:02.231335: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 03:35:02.231699: Inverter 0 SoC: 1.6kW 10%, current charge rate 5000W, current discharge rate 5250W, current battery power 399W, current battery voltage 51.2V, grid power -53W, load power 454W, PV Power 0W
2026-08-15 03:35:02.231945: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 03:35:02.232081: Inverter 0 scheduled charge enable is False
2026-08-15 03:35:02.232139: Inverter 0 charge windows currently []
2026-08-15 03:35:02.232189: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 03:35:02.232370: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 03:35:02.232422: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 03:35:02.232489: Inverter 0 scheduled discharge enable is False
2026-08-15 03:35:02.232700: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 03:35:02.232753: Inverter 0 discharge windows currently []
2026-08-15 03:35:02.232795: Note: Inverter does not support discharge freeze - disabled
2026-08-15 03:35:02.232830: Note: Inverter does not support charge freeze - disabled
2026-08-15 03:35:02.232864: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 03:35:02.298686: Dynamic load last period 0.60kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 03:35:02.298793: Plan was last updated on 2026-08-15 03:30:00+01:00 and is now 5.0 minutes old
2026-08-15 03:35:02.299042: Best charge window [ 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 00:30:00 @ 28.84p 100% ]
2026-08-15 03:35:02.299101: Best export window [  ]
2026-08-15 03:35:02.299764: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 03:35:02.302407: Load divergence over 8.0 hours mean 436.13W, min 269.4W, max 1367.4W, std dev 167.53W, divergence 19.21%
2026-08-15 03:35:02.318064: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 03:35:02.318172: LoadML is_calculating False
2026-08-15 03:35:02.318228: Creating pool of 12 processes to match your CPU count
2026-08-15 03:35:02.440224: predict base end_record 08-16 11:35:00, final soc 1.12kWh, metric 827.45p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 04:10:00, load 28.51kWh, PV 0.0kWh
2026-08-15 03:35:02.583591: Battery has 0.58 hours left - now at 1.6kWh
2026-08-15 03:35:02.648910: predict base10 end_record 08-16 11:35:00, final soc 1.12kWh, metric 857.42p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 04:10:00, load 29.7kWh, PV 0.0kWh
2026-08-15 03:35:02.751216: predict best10 end_record 08-16 11:35:00, final soc 1.44kWh, metric 689.6p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 04:10:00, load 29.7kWh, PV 0.0kWh
2026-08-15 03:35:02.839192: predict best end_record 08-16 11:35:00, final soc 1.51kWh, metric 662.28p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 04:10:00, load 28.51kWh, PV 0.0kWh
2026-08-15 03:35:02.839276: Saving plan best values to HA entities
2026-08-15 03:35:03.020817: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 03:35:03.027143: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 03:35:03.034335: Best charging limit SoC's [16.0, 3.5, 4.0, 16.0, 16.0, 16.0]kWh, export []kWh gives import battery 21.02kWh, house 5.98kWh, export 0.0kWh, metric 662.28p, metric10 689.6p
2026-08-15 03:35:03.116864: Marginal costs baseline metric (no standing charge): 612.2941
2026-08-15 03:35:03.339956: Marginal energy costs matrix computed: min=14.99 max=26.3
2026-08-15 03:35:03.429146: Rate array import [{'start': 215, 'end': 420, 'rate': 'expensive', 'range': '(24.6p - 27.6p)'}, {'start': 420, 'end': 450, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 450, 'end': 480, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 480, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 23.6p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1860, 'rate': 'expensive', 'range': '(24.6p - 32.9p)'}, {'start': 1860, 'end': 1890, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 1890, 'end': 1920, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 1920, 'end': 2135, 'rate': 'cheap', 'range': '(15.5p - 23.6p)'}] export [{'start': 215, 'end': 2135, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 03:35:03.429747: - Your estimated bill for today is £5.92 and tomorrow is £5.43
2026-08-15 03:35:03.429791: - Import rates are expensive (24.6p - 27.6p) for the next 3 and a half hours and then cheap (22.7p) for the next 30 minutes.
2026-08-15 03:35:03.429831: - The battery is currently at 10% and is in eco mode for the next 7  hours.
2026-08-15 03:35:03.429852: - For the next 48 hours there will be no solar generation.
2026-08-15 03:35:03.429866: - You will run out of battery in 35 minutes.
2026-08-15 03:35:03.429880: - Your next charge slot will be in 7  hours where import rates will be cheap (15.5p).
2026-08-15 03:35:03.429908: 
2026-08-15 03:35:03.489817: Plan calculation took 1.19 seconds
2026-08-15 03:35:03.492480: No high rate period found
2026-08-15 03:35:03.550770: Import threshold used for optimisation was 24.62p
2026-08-15 03:35:03.610012: Low import rate windows [0: 08-15 03:30:00 - 08-15 04:00:00 @ 24.62, 1: 08-15 04:00:00 - 08-15 04:30:00 @ 27.02, 2: 08-15 04:30:00 - 08-15 05:00:00 @ 26.47, 3: 08-15 05:00:00 - 08-15 05:30:00 @ 26.25, 4: 08-15 05:30:00 - 08-15 06:00:00 @ 26.4, 5: 08-15 06:00:00 - 08-15 06:30:00 @ 25.7, 6: 08-15 06:30:00 - 08-15 07:00:00 @ 27.63, 7: 08-15 07:00:00 - 08-15 07:30:00 @ 22.73, 8: 08-15 07:30:00 - 08-15 08:00:00 @ 26.7, 9: 08-15 08:00:00 - 08-15 08:30:00 @ 22.92, 10: 08-15 08:30:00 - 08-15 09:00:00 @ 22.48, 11: 08-15 09:00:00 - 08-15 09:30:00 @ 23.55, 12: 08-15 09:30:00 - 08-15 10:00:00 @ 23.64, 13: 08-15 10:00:00 - 08-15 10:30:00 @ 19.66, 14: 08-15 10:30:00 - 08-15 11:00:00 @ 17.66, 15: 08-15 11:00:00 - 08-15 11:30:00 @ 16.56, 16: 08-15 11:30:00 - 08-15 12:00:00 @ 15.46, 17: 08-15 12:00:00 - 08-15 12:30:00 @ 17.0, 18: 08-15 12:30:00 - 08-15 13:00:00 @ 16.34, 19: 08-15 13:00:00 - 08-15 13:30:00 @ 15.36, 20: 08-15 13:30:00 - 08-15 14:00:00 @ 15.74, 21: 08-15 14:00:00 - 08-15 14:30:00 @ 14.57, 22: 08-15 14:30:00 - 08-15 15:00:00 @ 13.77, 23: 08-15 15:00:00 - 08-15 15:30:00 @ 15.02, 24: 08-15 15:30:00 - 08-15 16:00:00 @ 15.87, 25: 08-15 16:00:00 - 08-15 16:30:00 @ 33.13, 26: 08-15 16:30:00 - 08-15 17:00:00 @ 33.13, 27: 08-15 17:00:00 - 08-15 17:30:00 @ 38.46, 28: 08-15 17:30:00 - 08-15 18:00:00 @ 40.44, 29: 08-15 18:00:00 - 08-15 18:30:00 @ 41.55, 30: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 31: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 32: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 33: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 34: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 35: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 36: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 37: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 38: 08-15 23:00:00 - 08-15 23:30:00 @ 27.8, 39: 08-15 23:30:00 - 08-16 00:00:00 @ 29.09, 40: 08-16 00:00:00 - 08-16 00:30:00 @ 28.47, 41: 08-16 00:30:00 - 08-16 01:00:00 @ 27.18, 42: 08-16 01:00:00 - 08-16 01:30:00 @ 27.57, 43: 08-16 01:30:00 - 08-16 02:00:00 @ 26.5, 44: 08-16 02:00:00 - 08-16 02:30:00 @ 25.6, 45: 08-16 02:30:00 - 08-16 03:00:00 @ 24.79, 46: 08-16 03:00:00 - 08-16 03:30:00 @ 25.08, 47: 08-16 03:30:00 - 08-16 04:00:00 @ 24.62, 48: 08-16 04:00:00 - 08-16 04:30:00 @ 27.02, 49: 08-16 04:30:00 - 08-16 05:00:00 @ 26.47, 50: 08-16 05:00:00 - 08-16 05:30:00 @ 26.25, 51: 08-16 05:30:00 - 08-16 06:00:00 @ 26.4, 52: 08-16 06:00:00 - 08-16 06:30:00 @ 25.7, 53: 08-16 06:30:00 - 08-16 07:00:00 @ 27.63, 54: 08-16 07:00:00 - 08-16 07:30:00 @ 22.73, 55: 08-16 07:30:00 - 08-16 08:00:00 @ 26.7, 56: 08-16 08:00:00 - 08-16 08:30:00 @ 22.92, 57: 08-16 08:30:00 - 08-16 09:00:00 @ 22.48, 58: 08-16 09:00:00 - 08-16 09:30:00 @ 23.55, 59: 08-16 09:30:00 - 08-16 10:00:00 @ 23.64, 60: 08-16 10:00:00 - 08-16 10:30:00 @ 19.66, 61: 08-16 10:30:00 - 08-16 11:00:00 @ 17.66, 62: 08-16 11:00:00 - 08-16 11:30:00 @ 16.56, 63: 08-16 11:30:00 - 08-16 12:00:00 @ 15.46, 64: 08-16 12:00:00 - 08-16 12:30:00 @ 17.0, 65: 08-16 12:30:00 - 08-16 13:00:00 @ 16.34, 66: 08-16 13:00:00 - 08-16 13:30:00 @ 15.36, 67: 08-16 13:30:00 - 08-16 14:00:00 @ 15.74, 68: 08-16 14:00:00 - 08-16 14:30:00 @ 14.57, 69: 08-16 14:30:00 - 08-16 15:00:00 @ 13.77, 70: 08-16 15:00:00 - 08-16 15:30:00 @ 15.02, 71: 08-16 15:30:00 - 08-16 16:00:00 @ 15.87, 72: 08-16 16:00:00 - 08-16 16:30:00 @ 33.13, 73: 08-16 16:30:00 - 08-16 17:00:00 @ 33.13, 74: 08-16 17:00:00 - 08-16 17:30:00 @ 38.46, 75: 08-16 17:30:00 - 08-16 18:00:00 @ 40.44, 76: 08-16 18:00:00 - 08-16 18:30:00 @ 41.55, 77: 08-16 19:00:00 - 08-16 19:30:00 @ 32.58, 78: 08-16 19:30:00 - 08-16 20:00:00 @ 32.9, 79: 08-16 20:00:00 - 08-16 20:30:00 @ 31.99, 80: 08-16 20:30:00 - 08-16 21:00:00 @ 32.1, 81: 08-16 21:00:00 - 08-16 21:30:00 @ 31.71, 82: 08-16 21:30:00 - 08-16 22:00:00 @ 31.67, 83: 08-16 22:00:00 - 08-16 22:30:00 @ 31.77, 84: 08-16 22:30:00 - 08-16 23:00:00 @ 29.81, 85: 08-16 23:00:00 - 08-16 23:30:00 @ 27.8, 86: 08-16 23:30:00 - 08-17 00:00:00 @ 29.09, 87: 08-17 00:00:00 - 08-17 00:30:00 @ 28.47, 88: 08-17 00:30:00 - 08-17 01:00:00 @ 27.18, 89: 08-17 01:00:00 - 08-17 01:30:00 @ 27.57, 90: 08-17 01:30:00 - 08-17 02:00:00 @ 26.5, 91: 08-17 02:00:00 - 08-17 02:30:00 @ 25.6, 92: 08-17 02:30:00 - 08-17 03:00:00 @ 24.79, 93: 08-17 03:00:00 - 08-17 03:30:00 @ 25.08, 94: 08-17 03:30:00 - 08-17 04:00:00 @ 24.62]
2026-08-15 03:35:03.617975: Inverter 0 Charge window will be: 2026-08-15 11:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 10%, target 100%
2026-08-15 03:35:03.618126: Inverter 0 disabled charge window while waiting for schedule (now 08-15 03:35:00 target set_window_minutes 30 charge start time 08-15 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 03:35:03.618239: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 03:35:03.618506: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 03:35:03.618605: No export window planned
2026-08-15 03:35:03.618732: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 03:35:03.618762: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 03:35:03.618917: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 03:35:03.619105: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 03:35:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 03:35:03.619169: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 03:35:03.619232: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 03:35:03.619331: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 03:35:03.619370: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 03:35:03.619397: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 03:35:03.619421: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 03:35:03.619447: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 03:35:03.619471: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 03:35:03.619495: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 03:35:03.619557: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 03:35:03.619593: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 03:35:03.619619: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 03:35:03.619642: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 03:35:03.619670: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 03:35:03.619694: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 03:35:03.619719: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 03:35:03.619739: Inverter 0 count register writes 0
2026-08-15 03:35:03.636900: Will not recompute the plan, it is 5.0 minutes old and max age is 10 minutes
2026-08-15 03:35:03.643062: Total inverter register writes now 815
2026-08-15 03:35:03.677993: Info: Completed run status Demand
2026-08-15 03:35:03.684182: Info: record_status Demand
2026-08-15 03:35:03.692113: Saved current settings to /config/predbat_config.json
2026-08-15 03:35:03.692450: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 03:35:41.807971: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 03:35:41.808213: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 03:35:41.808262: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 03:35:41.808432: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 03:35:41.808478: Note: Inverter does not support discharge freeze - disabled
2026-08-15 03:35:41.808501: Note: Inverter does not support charge freeze - disabled
2026-08-15 03:35:41.808518: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 03:37:42.025675: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 03:37:42.026037: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 03:37:42.026094: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 03:37:42.026253: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 03:37:42.026301: Note: Inverter does not support discharge freeze - disabled
2026-08-15 03:37:42.026322: Note: Inverter does not support charge freeze - disabled
2026-08-15 03:37:42.026340: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 03:39:42.237109: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 03:39:42.237357: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 03:39:42.237393: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 03:39:42.237523: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 03:39:42.237562: Note: Inverter does not support discharge freeze - disabled
2026-08-15 03:39:42.237583: Note: Inverter does not support charge freeze - disabled
2026-08-15 03:39:42.237601: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 03:40:00.340369: --------------- PredBat - update at 2026-08-15 03:40:00+01:00 with clock skew 0 minutes, minutes now 220
2026-08-15 03:40:00.341289: Saved current settings to /config/predbat_config.json
2026-08-15 03:40:00.341457: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 95.0 minutes
2026-08-15 03:40:00.341555: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.1, latest beta is v8.48.1
2026-08-15 03:40:00.341628: Autoupdate: Currently up to date
2026-08-15 03:40:00.359831: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 03:40:00.360018: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 03:40:00.360211: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 03:40:00.360690: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 03:40:00.360819: Predbat mode is set to Control charge & discharge
2026-08-15 03:40:00.539281: Found 21602 load_today datapoints going back 28 days
2026-08-15 03:40:00.539429: Using load_power data to fill gaps in load_today data
2026-08-15 03:40:01.297720: Processing 721 30-minute periods for power integration
2026-08-15 03:40:01.448478: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 03:40:01.448587: Car charging hold False, threshold 6.0kWh
2026-08-15 03:40:01.448624: Current data so far today: load 3.65kWh, import 4.1kWh, export 0.0kWh, PV 0kWh
2026-08-15 03:40:01.460089: Cars: SoC: [12.892000000000001]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 03:40:01.460394: Standing charge is set to 49.98p
2026-08-15 03:40:01.484844: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 03:40:01.484926: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 03:40:01.485308: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 220.0 minutes
2026-08-15 03:40:01.485694: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 219.7 minutes
2026-08-15 03:40:01.488596: Loaded 47 datapoints of futurerate analysis
2026-08-15 03:40:01.578211: Predicted future rates: ['08-15 00:00:00 => 28.9 / 20.01', '08-15 01:00:00 => 27.54 / 19.31', '08-15 02:00:00 => 26.52 / 18.8', '08-15 03:00:00 => 25.99 / 18.53', '08-15 04:00:00 => 25.8 / 18.43', '08-15 05:00:00 => 25.96 / 18.51', '08-15 06:00:00 => 25.55 / 18.3', '08-15 07:00:00 => 24.33 / 17.68', '08-15 08:00:00 => 23.03 / 17.01', '08-15 09:00:00 => 22.05 / 16.51', '08-15 10:00:00 => 20.43 / 15.68', '08-15 11:00:00 => 18.01 / 14.45', '08-15 12:00:00 => 16.37 / 13.61', '08-15 13:00:00 => 15.76 / 13.3', '08-15 14:00:00 => 15.35 / 13.09', '08-15 15:00:00 => 15.86 / 13.35', '08-15 16:00:00 => 32.89 / 16.13', '08-15 17:00:00 => 38.02 / 18.75', '08-15 18:00:00 => 42.36 / 20.96', '08-15 19:00:00 => 31.09 / 21.13', '08-15 20:00:00 => 31.64 / 21.41', '08-15 21:00:00 => 31.64 / 21.41', '08-15 22:00:00 => 30.58 / 20.87']
2026-08-15 03:40:01.638469: Rate min forward looking: now 13.77p at end of forecast 13.77p
2026-08-15 03:40:01.639104: Import rates: min 13.77p, max 43.82p, average 25.96p
2026-08-15 03:40:01.681176: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 03:40:01.681284: Rate thresholds (for charge/export) are import 43.32p (0.0p), export -0.1p (0.0p)
2026-08-15 03:40:01.682532: High export rate found rates in range 99p to -99p
2026-08-15 03:40:01.762680: Low Import rate found rates in range 13.77p to 41.55p
2026-08-15 03:40:01.762808: Car 0 charging is not planned as it is not plugged in
2026-08-15 03:40:01.776316: Battery level now 1.6kWh, -1hr ago 1.55kWh, at midnight 1.66kWh, battery value change in the last hour 0.57p, change today -0.66p, rate_forward 11.83p
2026-08-15 03:40:01.776780: Last hour: net energy 0.4kWh, import 0.4kWh, export 0.0kWh, car 0kWh, load 0.6kWh, net cost 9.93p, import 9.93p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 03:40:01.834666: Today's energy total net 4.1kWh, import 4.1kWh, export 0.0kWh, cost 160.13p, import 110.15p, export 0.0p, carbon 0.0kg
2026-08-15 03:40:01.834815: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 03:40:01.908688: Using weighted-bucket historical load forecast over 14 days
2026-08-15 03:40:01.931651: Today's load divergence 105.9%, in-day adjustment 137.94%, damping 0.95x, yesterday 143.77% today 105.61% blend 84.72%
2026-08-15 03:40:01.931755: Today's predicted so far 2.76kWh with 0.0kWh car/iBoost excluded, 1.86kWh import ignored, and 2.76kWh forecast extra.
2026-08-15 03:40:01.931787: Today's actual load so far 3.74kWh with 0.0kWh car/iBoost excluded, and 1.86kWh import ignored.
2026-08-15 03:40:01.969261: Inverter 0: Type SK Sunsynk
2026-08-15 03:40:01.969356: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 03:40:01.969551: Reserve min: 7%, battery_min: 7%
2026-08-15 03:40:01.969630: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 03:40:01.969897: Inverter 0 SoC: 1.57kW 10%, current charge rate 5000W, current discharge rate 5250W, current battery power 316W, current battery voltage 51.2V, grid power -54W, load power 371W, PV Power 0W
2026-08-15 03:40:01.970107: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 03:40:01.970201: Inverter 0 scheduled charge enable is False
2026-08-15 03:40:01.970236: Inverter 0 charge windows currently []
2026-08-15 03:40:01.970264: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 03:40:01.970369: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 03:40:01.970403: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 03:40:01.970438: Inverter 0 scheduled discharge enable is False
2026-08-15 03:40:01.970562: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 03:40:01.970598: Inverter 0 discharge windows currently []
2026-08-15 03:40:01.970621: Note: Inverter does not support discharge freeze - disabled
2026-08-15 03:40:01.970640: Note: Inverter does not support charge freeze - disabled
2026-08-15 03:40:01.970657: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 03:40:02.025470: Dynamic load last period 0.60kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 03:40:02.025582: Plan was last updated on 2026-08-15 03:30:00+01:00 and is now 10.0 minutes old
2026-08-15 03:40:02.025860: Best charge window [ 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 00:30:00 @ 28.84p 100% ]
2026-08-15 03:40:02.025904: Best export window [  ]
2026-08-15 03:40:02.026739: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 03:40:02.030142: Load divergence over 8.0 hours mean 447.08W, min 268.2W, max 1500.0W, std dev 193.82W, divergence 21.68%
2026-08-15 03:40:02.048572: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 03:40:02.048682: LoadML is_calculating False
2026-08-15 03:40:02.048742: Creating pool of 12 processes to match your CPU count
2026-08-15 03:40:02.165442: predict base end_record 08-16 11:40:00, final soc 1.12kWh, metric 828.22p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 04:15:00, load 28.6kWh, PV 0.0kWh
2026-08-15 03:40:02.282654: Battery has 0.58 hours left - now at 1.57kWh
2026-08-15 03:40:02.320734: predict base10 end_record 08-16 11:40:00, final soc 1.12kWh, metric 858.18p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 04:10:00, load 29.79kWh, PV 0.0kWh
2026-08-15 03:40:02.397423: predict best10 end_record 08-16 11:40:00, final soc 1.77kWh, metric 695.61p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 04:10:00, load 29.79kWh, PV 0.0kWh
2026-08-15 03:40:02.476974: predict best end_record 08-16 11:40:00, final soc 1.9kWh, metric 669.25p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 04:15:00, load 28.6kWh, PV 0.0kWh
2026-08-15 03:40:02.477072: Saving plan best values to HA entities
2026-08-15 03:40:02.643186: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 03:40:02.649614: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0.0
2026-08-15 03:40:02.655785: Best charging limit SoC's [16.0, 3.5, 4.0, 16.0, 16.0, 16.0]kWh, export []kWh gives import battery 21.53kWh, house 5.97kWh, export 0.0kWh, metric 669.25p, metric10 695.61p
2026-08-15 03:40:02.731639: Marginal costs baseline metric (no standing charge): 619.2647
2026-08-15 03:40:02.987578: Marginal energy costs matrix computed: min=14.83 max=26.57
2026-08-15 03:40:03.062735: Rate array import [{'start': 220, 'end': 420, 'rate': 'expensive', 'range': '(24.6p - 27.6p)'}, {'start': 420, 'end': 450, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 450, 'end': 480, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 480, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 23.6p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1860, 'rate': 'expensive', 'range': '(24.6p - 32.9p)'}, {'start': 1860, 'end': 1890, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 1890, 'end': 1920, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 1920, 'end': 2140, 'rate': 'cheap', 'range': '(15.5p - 23.6p)'}] export [{'start': 220, 'end': 2140, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 03:40:03.063525: - Your estimated bill for today is £5.91 and tomorrow is £5.45
2026-08-15 03:40:03.063575: - Import rates are expensive (24.6p - 27.6p) for the next 3 and a quarter hours and then cheap (22.7p) for the next 30 minutes.
2026-08-15 03:40:03.063606: - The battery is currently at 10% and is in eco mode for the next 7 and three quarters hours.
2026-08-15 03:40:03.063641: - For the next 48 hours there will be no solar generation.
2026-08-15 03:40:03.063681: - You will run out of battery in 35 minutes.
2026-08-15 03:40:03.063703: - Your next charge slot will be in 7 and three quarters hours where import rates will be cheap (15.5p).
2026-08-15 03:40:03.063740: 
2026-08-15 03:40:03.116911: Plan calculation took 1.09 seconds
2026-08-15 03:40:03.120462: No high rate period found
2026-08-15 03:40:03.170217: Import threshold used for optimisation was 24.62p
2026-08-15 03:40:03.224243: Low import rate windows [0: 08-15 03:30:00 - 08-15 04:00:00 @ 24.62, 1: 08-15 04:00:00 - 08-15 04:30:00 @ 27.02, 2: 08-15 04:30:00 - 08-15 05:00:00 @ 26.47, 3: 08-15 05:00:00 - 08-15 05:30:00 @ 26.25, 4: 08-15 05:30:00 - 08-15 06:00:00 @ 26.4, 5: 08-15 06:00:00 - 08-15 06:30:00 @ 25.7, 6: 08-15 06:30:00 - 08-15 07:00:00 @ 27.63, 7: 08-15 07:00:00 - 08-15 07:30:00 @ 22.73, 8: 08-15 07:30:00 - 08-15 08:00:00 @ 26.7, 9: 08-15 08:00:00 - 08-15 08:30:00 @ 22.92, 10: 08-15 08:30:00 - 08-15 09:00:00 @ 22.48, 11: 08-15 09:00:00 - 08-15 09:30:00 @ 23.55, 12: 08-15 09:30:00 - 08-15 10:00:00 @ 23.64, 13: 08-15 10:00:00 - 08-15 10:30:00 @ 19.66, 14: 08-15 10:30:00 - 08-15 11:00:00 @ 17.66, 15: 08-15 11:00:00 - 08-15 11:30:00 @ 16.56, 16: 08-15 11:30:00 - 08-15 12:00:00 @ 15.46, 17: 08-15 12:00:00 - 08-15 12:30:00 @ 17.0, 18: 08-15 12:30:00 - 08-15 13:00:00 @ 16.34, 19: 08-15 13:00:00 - 08-15 13:30:00 @ 15.36, 20: 08-15 13:30:00 - 08-15 14:00:00 @ 15.74, 21: 08-15 14:00:00 - 08-15 14:30:00 @ 14.57, 22: 08-15 14:30:00 - 08-15 15:00:00 @ 13.77, 23: 08-15 15:00:00 - 08-15 15:30:00 @ 15.02, 24: 08-15 15:30:00 - 08-15 16:00:00 @ 15.87, 25: 08-15 16:00:00 - 08-15 16:30:00 @ 33.13, 26: 08-15 16:30:00 - 08-15 17:00:00 @ 33.13, 27: 08-15 17:00:00 - 08-15 17:30:00 @ 38.46, 28: 08-15 17:30:00 - 08-15 18:00:00 @ 40.44, 29: 08-15 18:00:00 - 08-15 18:30:00 @ 41.55, 30: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 31: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 32: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 33: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 34: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 35: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 36: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 37: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 38: 08-15 23:00:00 - 08-15 23:30:00 @ 27.8, 39: 08-15 23:30:00 - 08-16 00:00:00 @ 29.09, 40: 08-16 00:00:00 - 08-16 00:30:00 @ 28.47, 41: 08-16 00:30:00 - 08-16 01:00:00 @ 27.18, 42: 08-16 01:00:00 - 08-16 01:30:00 @ 27.57, 43: 08-16 01:30:00 - 08-16 02:00:00 @ 26.5, 44: 08-16 02:00:00 - 08-16 02:30:00 @ 25.6, 45: 08-16 02:30:00 - 08-16 03:00:00 @ 24.79, 46: 08-16 03:00:00 - 08-16 03:30:00 @ 25.08, 47: 08-16 03:30:00 - 08-16 04:00:00 @ 24.62, 48: 08-16 04:00:00 - 08-16 04:30:00 @ 27.02, 49: 08-16 04:30:00 - 08-16 05:00:00 @ 26.47, 50: 08-16 05:00:00 - 08-16 05:30:00 @ 26.25, 51: 08-16 05:30:00 - 08-16 06:00:00 @ 26.4, 52: 08-16 06:00:00 - 08-16 06:30:00 @ 25.7, 53: 08-16 06:30:00 - 08-16 07:00:00 @ 27.63, 54: 08-16 07:00:00 - 08-16 07:30:00 @ 22.73, 55: 08-16 07:30:00 - 08-16 08:00:00 @ 26.7, 56: 08-16 08:00:00 - 08-16 08:30:00 @ 22.92, 57: 08-16 08:30:00 - 08-16 09:00:00 @ 22.48, 58: 08-16 09:00:00 - 08-16 09:30:00 @ 23.55, 59: 08-16 09:30:00 - 08-16 10:00:00 @ 23.64, 60: 08-16 10:00:00 - 08-16 10:30:00 @ 19.66, 61: 08-16 10:30:00 - 08-16 11:00:00 @ 17.66, 62: 08-16 11:00:00 - 08-16 11:30:00 @ 16.56, 63: 08-16 11:30:00 - 08-16 12:00:00 @ 15.46, 64: 08-16 12:00:00 - 08-16 12:30:00 @ 17.0, 65: 08-16 12:30:00 - 08-16 13:00:00 @ 16.34, 66: 08-16 13:00:00 - 08-16 13:30:00 @ 15.36, 67: 08-16 13:30:00 - 08-16 14:00:00 @ 15.74, 68: 08-16 14:00:00 - 08-16 14:30:00 @ 14.57, 69: 08-16 14:30:00 - 08-16 15:00:00 @ 13.77, 70: 08-16 15:00:00 - 08-16 15:30:00 @ 15.02, 71: 08-16 15:30:00 - 08-16 16:00:00 @ 15.87, 72: 08-16 16:00:00 - 08-16 16:30:00 @ 33.13, 73: 08-16 16:30:00 - 08-16 17:00:00 @ 33.13, 74: 08-16 17:00:00 - 08-16 17:30:00 @ 38.46, 75: 08-16 17:30:00 - 08-16 18:00:00 @ 40.44, 76: 08-16 18:00:00 - 08-16 18:30:00 @ 41.55, 77: 08-16 19:00:00 - 08-16 19:30:00 @ 32.58, 78: 08-16 19:30:00 - 08-16 20:00:00 @ 32.9, 79: 08-16 20:00:00 - 08-16 20:30:00 @ 31.99, 80: 08-16 20:30:00 - 08-16 21:00:00 @ 32.1, 81: 08-16 21:00:00 - 08-16 21:30:00 @ 31.71, 82: 08-16 21:30:00 - 08-16 22:00:00 @ 31.67, 83: 08-16 22:00:00 - 08-16 22:30:00 @ 31.77, 84: 08-16 22:30:00 - 08-16 23:00:00 @ 29.81, 85: 08-16 23:00:00 - 08-16 23:30:00 @ 27.8, 86: 08-16 23:30:00 - 08-17 00:00:00 @ 29.09, 87: 08-17 00:00:00 - 08-17 00:30:00 @ 28.47, 88: 08-17 00:30:00 - 08-17 01:00:00 @ 27.18, 89: 08-17 01:00:00 - 08-17 01:30:00 @ 27.57, 90: 08-17 01:30:00 - 08-17 02:00:00 @ 26.5, 91: 08-17 02:00:00 - 08-17 02:30:00 @ 25.6, 92: 08-17 02:30:00 - 08-17 03:00:00 @ 24.79, 93: 08-17 03:00:00 - 08-17 03:30:00 @ 25.08, 94: 08-17 03:30:00 - 08-17 04:00:00 @ 24.62]
2026-08-15 03:40:03.231337: Inverter 0 Charge window will be: 2026-08-15 11:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 10%, target 100%
2026-08-15 03:40:03.231474: Inverter 0 disabled charge window while waiting for schedule (now 08-15 03:40:00 target set_window_minutes 30 charge start time 08-15 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 03:40:03.231591: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 03:40:03.231853: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 03:40:03.231948: No export window planned
2026-08-15 03:40:03.232085: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 03:40:03.232123: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 03:40:03.232259: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 03:40:03.232442: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 03:40:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 03:40:03.232506: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 03:40:03.232575: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 03:40:03.232670: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 03:40:03.232703: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 03:40:03.232736: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 03:40:03.232761: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 03:40:03.232786: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 03:40:03.232810: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 03:40:03.232833: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 03:40:03.232920: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 03:40:03.233010: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 03:40:03.233064: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 03:40:03.233091: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 03:40:03.233114: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 03:40:03.233138: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 03:40:03.233167: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 03:40:03.233187: Inverter 0 count register writes 0
2026-08-15 03:40:03.250524: Will recompute the plan as it is now 10.0 minutes old and will exceed the max age of 10 minutes before the next run
2026-08-15 03:40:03.250803: Recompute is saving previous plan...
2026-08-15 03:40:03.254046: Best charge window [ 15-08 03:30:00 - 15-08 04:00:00 @ 24.62p 0%, 15-08 04:00:00 - 15-08 04:30:00 @ 27.02p 0%, 15-08 04:30:00 - 15-08 05:00:00 @ 26.47p 0%, 15-08 05:00:00 - 15-08 05:30:00 @ 26.25p 0%, 15-08 05:30:00 - 15-08 06:00:00 @ 26.4p 0%, 15-08 06:00:00 - 15-08 06:30:00 @ 25.7p 0%, 15-08 06:30:00 - 15-08 07:00:00 @ 27.63p 0%, 15-08 07:00:00 - 15-08 07:30:00 @ 22.73p 0%, 15-08 07:30:00 - 15-08 08:00:00 @ 26.7p 0%, 15-08 08:00:00 - 15-08 08:30:00 @ 22.92p 0%, 15-08 08:30:00 - 15-08 09:00:00 @ 22.48p 0%, 15-08 09:00:00 - 15-08 09:30:00 @ 23.55p 0%, 15-08 09:30:00 - 15-08 10:00:00 @ 23.64p 0%, 15-08 10:00:00 - 15-08 10:30:00 @ 19.66p 0%, 15-08 10:30:00 - 15-08 11:00:00 @ 17.66p 0%, 15-08 11:00:00 - 15-08 11:30:00 @ 16.56p 0%, 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 0%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 0%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 0%, 15-08 13:00:00 - 15-08 13:30:00 @ 15.36p 0%, 15-08 13:30:00 - 15-08 14:00:00 @ 15.74p 0%, 15-08 14:00:00 - 15-08 14:30:00 @ 14.57p 0%, 15-08 14:30:00 - 15-08 15:00:00 @ 13.77p 0%, 15-08 15:00:00 - 15-08 15:30:00 @ 15.02p 0%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 0%, 15-08 16:00:00 - 15-08 16:30:00 @ 33.13p 0%, 15-08 16:30:00 - 15-08 17:00:00 @ 33.13p 0%, 15-08 17:00:00 - 15-08 17:30:00 @ 38.46p 0%, 15-08 17:30:00 - 15-08 18:00:00 @ 40.44p 0%, 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 0%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 0%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 0%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 0%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 0%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 27.8p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 29.09p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.47p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.18p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 27.57p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.5p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.6p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 24.79p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 25.08p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 24.62p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 27.02p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.47p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 26.25p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.4p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.7p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 27.63p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 22.73p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 26.7p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 22.92p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 22.48p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 23.55p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 23.64p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 19.66p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 17.66p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 16.56p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 15.46p 0%, 16-08 12:00:00 - 16-08 12:30:00 @ 17.0p 0%, 16-08 12:30:00 - 16-08 13:00:00 @ 16.34p 0%, 16-08 13:00:00 - 16-08 13:30:00 @ 15.36p 0%, 16-08 13:30:00 - 16-08 14:00:00 @ 15.74p 0%, 16-08 14:00:00 - 16-08 14:30:00 @ 14.57p 0%, 16-08 14:30:00 - 16-08 15:00:00 @ 13.77p 0%, 16-08 15:00:00 - 16-08 15:30:00 @ 15.02p 0%, 16-08 15:30:00 - 16-08 16:00:00 @ 15.87p 0%, 16-08 16:00:00 - 16-08 16:30:00 @ 33.13p 0%, 16-08 16:30:00 - 16-08 17:00:00 @ 33.13p 0%, 16-08 17:00:00 - 16-08 17:30:00 @ 38.46p 0%, 16-08 17:30:00 - 16-08 18:00:00 @ 40.44p 0%, 16-08 18:00:00 - 16-08 18:30:00 @ 41.55p 0%, 16-08 19:00:00 - 16-08 19:30:00 @ 32.58p 0%, 16-08 19:30:00 - 16-08 20:00:00 @ 32.9p 0%, 16-08 20:00:00 - 16-08 20:30:00 @ 31.99p 0%, 16-08 20:30:00 - 16-08 21:00:00 @ 32.1p 0%, 16-08 21:00:00 - 16-08 21:30:00 @ 31.71p 0%, 16-08 21:30:00 - 16-08 22:00:00 @ 31.67p 0%, 16-08 22:00:00 - 16-08 22:30:00 @ 31.77p 0%, 16-08 22:30:00 - 16-08 23:00:00 @ 29.81p 0%, 16-08 23:00:00 - 16-08 23:30:00 @ 27.8p 0%, 16-08 23:30:00 - 17-08 00:00:00 @ 29.09p 0%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.47p 0%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.18p 0%, 17-08 01:00:00 - 17-08 01:30:00 @ 27.57p 0%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.5p 0%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.6p 0%, 17-08 02:30:00 - 17-08 03:00:00 @ 24.79p 0%, 17-08 03:00:00 - 17-08 03:30:00 @ 25.08p 0%, 17-08 03:30:00 - 17-08 04:00:00 @ 24.62p 0% ]
2026-08-15 03:40:03.254133: Best export window [  ]
2026-08-15 03:40:03.254976: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 03:40:03.258168: Load divergence over 8.0 hours mean 447.08W, min 268.2W, max 1500.0W, std dev 193.82W, divergence 21.68%
2026-08-15 03:40:03.276455: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 03:40:03.276593: LoadML is_calculating False
2026-08-15 03:40:03.276687: Creating pool of 12 processes to match your CPU count
2026-08-15 03:40:03.371199: Calculate Best options: mode(Control charge & discharge), calculate_export_oncharge(False), calculate_export_on_pv(True), set_export_freeze_only(False), set_discharge_during_charge(True), combine_charge_slots(False), combine_export_slots(False), combine_rate_threshold(0.0), best_soc_min(0.0 kWh), best_soc_max(0.0 kWh), best_soc_keep(0.0 kWh), inverter_loss(4%), battery_loss(3%), battery_loss_discharge (3%), inverter_hybrid(True), metric_min_improvement(0.0p), metric_min_improvement_export(0.1p), metric_min_improvement_export_freeze(0.1p), metric_battery_cycle(0.0p/kWh), metric_battery_value_scaling(1.0 x) 
2026-08-15 03:40:03.374014: Optimise levels pass started at 2026-08-15 03:40:03
2026-08-15 03:40:03.375799: Optimise all windows, total charge 94 export 1
2026-08-15 03:40:04.501878: >> Region optimisation pass width 960 gives best_metric 797.2p, best_cost 802.59p, best_cycle 50.04kWh, best_import 39.56kWh
2026-08-15 03:40:04.946890: >> Region optimisation pass width 480 gives best_metric 797.2p, best_cost 802.59p, best_cycle 50.04kWh, best_import 39.56kWh
2026-08-15 03:40:05.453266: >> Region optimisation pass width 240 gives best_metric 797.2p, best_cost 802.59p, best_cycle 50.04kWh, best_import 39.56kWh
2026-08-15 03:40:06.608114: >> Region optimisation pass width 120 gives best_metric 797.2p, best_cost 802.59p, best_cycle 50.04kWh, best_import 39.56kWh
2026-08-15 03:40:06.609787: Calculated end_record as 08-16 11:30:00 based on best_price 16.34p, next_charge_start 08-15 11:30:00, max_windows 63
2026-08-15 03:40:06.609880: Optimise levels pass ended at 2026-08-15 03:40:06, duration 3.2 seconds tried 327 combinations
2026-08-15 03:40:06.609975: Set best_price_charge_level 17.6p, best_price_export_level 0p, best_price_charge 16.34p, best_cost_export 0p, best_metric 797.2p, best_keep 0kWh, best_cycle 50.04kWh, best_carbon 0kg, best_import 39.56kWh
2026-08-15 03:40:06.630923: Starting detailed optimisation end_record 08-16 11:30:00, best_price_charge 16.34p, best_price_export 0p. lowest_price_charge 13.77p with charge limits [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0]kWh and export limits []kWh
2026-08-15 03:40:11.034598: Tweak plan optimisation started metric 593.85p, cost 602.86p
2026-08-15 03:40:11.288131: Tweak optimisation finished metric 593.85p, cost 602.86p, metric_keep 0kWh, cycle 30.21kWh, carbon 0kg, import 26.47kWh, changed 8 window(s)
2026-08-15 03:40:11.308543: Swap charge optimisation started metric 593.85p, cost 602.86p, min_improvement_swap 0.1p
2026-08-15 03:40:17.606795: Swap charge optimisation finished metric 593.85p, cost 602.86p
2026-08-15 03:40:17.720336: Pruned 2 dead plan slot(s) in 12 trial(s), nominal metric 589.62p -> 589.62p, plan now metric 593.87p, cost 602.86p, cycle 30.21kWh, import 26.47kWh
2026-08-15 03:40:17.730107: Raw charge windows [ 15-08 03:30:00 - 15-08 04:00:00 @ 24.62p 9%, 15-08 04:00:00 - 15-08 04:30:00 @ 27.02p 0%, 15-08 04:30:00 - 15-08 05:00:00 @ 26.47p 0%, 15-08 05:00:00 - 15-08 05:30:00 @ 26.25p 0%, 15-08 05:30:00 - 15-08 06:00:00 @ 26.4p 0%, 15-08 06:00:00 - 15-08 06:30:00 @ 25.7p 0%, 15-08 06:30:00 - 15-08 07:00:00 @ 27.63p 0%, 15-08 07:00:00 - 15-08 07:30:00 @ 22.73p 0%, 15-08 07:30:00 - 15-08 08:00:00 @ 26.7p 0%, 15-08 08:00:00 - 15-08 08:30:00 @ 22.92p 0%, 15-08 08:30:00 - 15-08 09:00:00 @ 22.48p 0%, 15-08 09:00:00 - 15-08 09:30:00 @ 23.55p 0%, 15-08 09:30:00 - 15-08 10:00:00 @ 23.64p 0%, 15-08 10:00:00 - 15-08 10:30:00 @ 19.66p 0%, 15-08 10:30:00 - 15-08 11:00:00 @ 17.66p 0%, 15-08 11:00:00 - 15-08 11:30:00 @ 16.56p 0%, 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 13:30:00 @ 15.36p 100%, 15-08 13:30:00 - 15-08 14:00:00 @ 15.74p 100%, 15-08 14:00:00 - 15-08 14:30:00 @ 14.57p 100%, 15-08 14:30:00 - 15-08 15:00:00 @ 13.77p 100%, 15-08 15:00:00 - 15-08 15:30:00 @ 15.02p 100%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 100%, 15-08 16:00:00 - 15-08 16:30:00 @ 33.13p 0%, 15-08 16:30:00 - 15-08 17:00:00 @ 33.13p 0%, 15-08 17:00:00 - 15-08 17:30:00 @ 38.46p 0%, 15-08 17:30:00 - 15-08 18:00:00 @ 40.44p 0%, 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 0%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 0%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 0%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 0%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 0%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 27.8p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 29.09p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.47p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.18p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 27.57p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.5p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.6p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 24.79p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 25.08p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 24.62p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 27.02p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.47p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 26.25p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.4p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.7p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 27.63p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 22.73p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 26.7p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 22.92p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 22.48p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 23.55p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 23.64p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 19.66p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 17.66p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 16.56p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 15.46p 100%, 16-08 12:00:00 - 16-08 12:30:00 @ 17.0p 100%, 16-08 12:30:00 - 16-08 13:00:00 @ 16.34p 100%, 16-08 13:00:00 - 16-08 13:30:00 @ 15.36p 100%, 16-08 13:30:00 - 16-08 14:00:00 @ 15.74p 100%, 16-08 14:00:00 - 16-08 14:30:00 @ 14.57p 100%, 16-08 14:30:00 - 16-08 15:00:00 @ 13.77p 100%, 16-08 15:00:00 - 16-08 15:30:00 @ 15.02p 100%, 16-08 15:30:00 - 16-08 16:00:00 @ 15.87p 100%, 16-08 16:00:00 - 16-08 16:30:00 @ 33.13p 100%, 16-08 16:30:00 - 16-08 17:00:00 @ 33.13p 100%, 16-08 17:00:00 - 16-08 17:30:00 @ 38.46p 100%, 16-08 17:30:00 - 16-08 18:00:00 @ 40.44p 100%, 16-08 18:00:00 - 16-08 18:30:00 @ 41.55p 100%, 16-08 19:00:00 - 16-08 19:30:00 @ 32.58p 100%, 16-08 19:30:00 - 16-08 20:00:00 @ 32.9p 100%, 16-08 20:00:00 - 16-08 20:30:00 @ 31.99p 100%, 16-08 20:30:00 - 16-08 21:00:00 @ 32.1p 100%, 16-08 21:00:00 - 16-08 21:30:00 @ 31.71p 100%, 16-08 21:30:00 - 16-08 22:00:00 @ 31.67p 100%, 16-08 22:00:00 - 16-08 22:30:00 @ 31.77p 100%, 16-08 22:30:00 - 16-08 23:00:00 @ 29.81p 100%, 16-08 23:00:00 - 16-08 23:30:00 @ 27.8p 100%, 16-08 23:30:00 - 17-08 00:00:00 @ 29.09p 100%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.47p 100%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.18p 100%, 17-08 01:00:00 - 17-08 01:30:00 @ 27.57p 100%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.5p 100%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.6p 100%, 17-08 02:30:00 - 17-08 03:00:00 @ 24.79p 100%, 17-08 03:00:00 - 17-08 03:30:00 @ 25.08p 100%, 17-08 03:30:00 - 17-08 04:00:00 @ 24.62p 100% ] reserve 1.12
2026-08-15 03:40:17.730652: Unclipped charge windows [ 15-08 03:30:00 - 15-08 04:00:00 @ 24.62p 9%, 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 04:00:00 @ 24.98p 100% ] reserve 1.12
2026-08-15 03:40:17.730910: Unfiltered charge windows [ 15-08 03:30:00 - 15-08 04:00:00 @ 24.62p 9%, 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 04:00:00 @ 24.98p 100% ] reserve 1.12
2026-08-15 03:40:17.731131: Filtered charge windows [ 15-08 03:30:00 - 15-08 04:00:00 @ 24.62p 9%, 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 04:00:00 @ 24.98p 100% ] reserve 1.12
2026-08-15 03:40:17.761530: Previous plan best metric is 594.4 (cost 603.39) and new plan best metric is 593.85 (cost 602.86)
2026-08-15 03:40:17.761740: New plan metric is not significantly better (metric_min_improvement_plan 2.0) than previous plan, using previous plan
2026-08-15 03:40:17.761889: Plan valid is now true after recompute was False
2026-08-15 03:40:17.784792: predict base end_record 08-16 11:30:00, final soc 1.12kWh, metric 825.23p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 04:15:00, load 28.41kWh, PV 0.0kWh
2026-08-15 03:40:17.884407: Battery has 0.58 hours left - now at 1.57kWh
2026-08-15 03:40:17.921454: predict base10 end_record 08-16 11:30:00, final soc 1.12kWh, metric 855.04p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 04:10:00, load 29.59kWh, PV 0.0kWh
2026-08-15 03:40:17.991734: predict best10 end_record 08-16 11:30:00, final soc 1.12kWh, metric 681.74p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 04:10:00, load 29.59kWh, PV 0.0kWh
2026-08-15 03:40:18.062170: predict best end_record 08-16 11:30:00, final soc 1.12kWh, metric 653.37p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 04:15:00, load 28.41kWh, PV 0.0kWh
2026-08-15 03:40:18.062269: Saving plan best values to HA entities
2026-08-15 03:40:18.191810: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 03:40:18.197470: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0.0
2026-08-15 03:40:18.202459: Best charging limit SoC's [16.0, 3.5, 4.0, 16.0, 16.0, 16.0]kWh, export []kWh gives import battery 20.5kWh, house 5.97kWh, export 0.0kWh, metric 653.37p, metric10 681.74p
2026-08-15 03:40:18.264271: Marginal costs baseline metric (no standing charge): 603.3908
2026-08-15 03:40:18.489832: Marginal energy costs matrix computed: min=14.83 max=26.57
2026-08-15 03:40:18.547473: Rate array import [{'start': 220, 'end': 420, 'rate': 'expensive', 'range': '(24.6p - 27.6p)'}, {'start': 420, 'end': 450, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 450, 'end': 480, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 480, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 23.6p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1860, 'rate': 'expensive', 'range': '(24.6p - 32.9p)'}, {'start': 1860, 'end': 1890, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 1890, 'end': 1920, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 1920, 'end': 2130, 'rate': 'cheap', 'range': '(16.6p - 23.6p)'}] export [{'start': 220, 'end': 2130, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 03:40:18.548100: - Your estimated bill for today is £5.91 and tomorrow is £5.45
2026-08-15 03:40:18.548138: - Import rates are expensive (24.6p - 27.6p) for the next 3 and a quarter hours and then cheap (22.7p) for the next 30 minutes.
2026-08-15 03:40:18.548157: - The battery is currently at 10% and is in eco mode for the next 7 and three quarters hours.
2026-08-15 03:40:18.548172: - For the next 48 hours there will be no solar generation.
2026-08-15 03:40:18.548185: - You will run out of battery in 35 minutes.
2026-08-15 03:40:18.548199: - Your next charge slot will be in 7 and three quarters hours where import rates will be cheap (15.5p).
2026-08-15 03:40:18.548214: 
2026-08-15 03:40:18.598461: Plan calculation took 15.35 seconds
2026-08-15 03:40:18.598828: Inverter 0: Type SK Sunsynk
2026-08-15 03:40:18.598874: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 03:40:18.599138: Reserve min: 7%, battery_min: 7%
2026-08-15 03:40:18.599225: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 03:40:18.599547: Inverter 0 SoC: 1.57kW 10%, current charge rate 5000W, current discharge rate 5250W, current battery power 526W, current battery voltage 51.2V, grid power -54W, load power 574W, PV Power 0W
2026-08-15 03:40:18.599778: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 03:40:18.599887: Inverter 0 scheduled charge enable is False
2026-08-15 03:40:18.599927: Inverter 0 charge windows currently []
2026-08-15 03:40:18.599957: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 03:40:18.600090: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 03:40:18.600130: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 03:40:18.600165: Inverter 0 scheduled discharge enable is False
2026-08-15 03:40:18.600292: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 03:40:18.600331: Inverter 0 discharge windows currently []
2026-08-15 03:40:18.600353: Note: Inverter does not support discharge freeze - disabled
2026-08-15 03:40:18.600371: Note: Inverter does not support charge freeze - disabled
2026-08-15 03:40:18.600388: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 03:40:18.656435: Inverter 0 Charge window will be: 2026-08-15 11:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 10%, target 100%
2026-08-15 03:40:18.656589: Inverter 0 disabled charge window while waiting for schedule (now 08-15 03:40:00 target set_window_minutes 30 charge start time 08-15 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 03:40:18.656661: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 03:40:18.656861: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 03:40:18.656968: No export window planned
2026-08-15 03:40:18.657117: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 03:40:18.657157: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 03:40:18.657296: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 03:40:18.657460: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 03:40:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 03:40:18.657513: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 03:40:18.657563: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 03:40:18.657657: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 03:40:18.657698: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 03:40:18.657725: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 03:40:18.657756: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 03:40:18.657780: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 03:40:18.657804: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 03:40:18.657833: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 03:40:18.657889: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 03:40:18.657922: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 03:40:18.657947: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 03:40:18.657978: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 03:40:18.658015: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 03:40:18.658045: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 03:40:18.658069: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 03:40:18.658093: Inverter 0 count register writes 0
2026-08-15 03:40:18.678940: Total inverter register writes now 815
2026-08-15 03:40:18.709429: Info: Completed run status Demand
2026-08-15 03:40:18.715125: Info: record_status Demand
2026-08-15 03:40:18.721619: Saved current settings to /config/predbat_config.json
2026-08-15 03:40:18.721983: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 03:40:56.824688: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 03:40:56.824926: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 03:40:56.825046: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 03:40:56.825209: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 03:40:56.825250: Note: Inverter does not support discharge freeze - disabled
2026-08-15 03:40:56.825281: Note: Inverter does not support charge freeze - disabled
2026-08-15 03:40:56.825301: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 03:42:57.050224: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 03:42:57.050451: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 03:42:57.050493: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 03:42:57.050611: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 03:42:57.050664: Note: Inverter does not support discharge freeze - disabled
2026-08-15 03:42:57.050681: Note: Inverter does not support charge freeze - disabled
2026-08-15 03:42:57.050696: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 03:44:57.265027: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 03:44:57.265411: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 03:44:57.265498: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 03:44:57.265741: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 03:44:57.265797: Note: Inverter does not support discharge freeze - disabled
2026-08-15 03:44:57.265829: Note: Inverter does not support charge freeze - disabled
2026-08-15 03:44:57.265855: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 03:45:00.344735: --------------- PredBat - update at 2026-08-15 03:45:00+01:00 with clock skew 0 minutes, minutes now 225
2026-08-15 03:45:00.345673: Saved current settings to /config/predbat_config.json
2026-08-15 03:45:00.345840: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 100.0 minutes
2026-08-15 03:45:00.345974: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.1, latest beta is v8.48.1
2026-08-15 03:45:00.346157: Autoupdate: Currently up to date
2026-08-15 03:45:00.364694: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 03:45:00.364850: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 03:45:00.365119: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 03:45:00.365660: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 03:45:00.365789: Predbat mode is set to Control charge & discharge
2026-08-15 03:45:00.545648: Found 21602 load_today datapoints going back 28 days
2026-08-15 03:45:00.545808: Using load_power data to fill gaps in load_today data
2026-08-15 03:45:01.384207: Processing 721 30-minute periods for power integration
2026-08-15 03:45:01.578865: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 03:45:01.579148: Car charging hold False, threshold 6.0kWh
2026-08-15 03:45:01.579205: Current data so far today: load 3.7kWh, import 4.1kWh, export 0.0kWh, PV 0kWh
2026-08-15 03:45:01.593942: Cars: SoC: [12.892000000000001]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 03:45:01.596911: Standing charge is set to 49.98p
2026-08-15 03:45:01.628879: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 03:45:01.629025: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 03:45:01.629248: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 225.0 minutes
2026-08-15 03:45:01.629661: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 224.7 minutes
2026-08-15 03:45:01.632502: Loaded 47 datapoints of futurerate analysis
2026-08-15 03:45:01.723369: Predicted future rates: ['08-15 00:00:00 => 28.9 / 20.01', '08-15 01:00:00 => 27.54 / 19.31', '08-15 02:00:00 => 26.52 / 18.8', '08-15 03:00:00 => 25.99 / 18.53', '08-15 04:00:00 => 25.8 / 18.43', '08-15 05:00:00 => 25.96 / 18.51', '08-15 06:00:00 => 25.55 / 18.3', '08-15 07:00:00 => 24.33 / 17.68', '08-15 08:00:00 => 23.03 / 17.01', '08-15 09:00:00 => 22.05 / 16.51', '08-15 10:00:00 => 20.43 / 15.68', '08-15 11:00:00 => 18.01 / 14.45', '08-15 12:00:00 => 16.37 / 13.61', '08-15 13:00:00 => 15.76 / 13.3', '08-15 14:00:00 => 15.35 / 13.09', '08-15 15:00:00 => 15.86 / 13.35', '08-15 16:00:00 => 32.89 / 16.13', '08-15 17:00:00 => 38.02 / 18.75', '08-15 18:00:00 => 42.36 / 20.96', '08-15 19:00:00 => 31.09 / 21.13', '08-15 20:00:00 => 31.64 / 21.41', '08-15 21:00:00 => 31.64 / 21.41', '08-15 22:00:00 => 30.58 / 20.87']
2026-08-15 03:45:01.790181: Rate min forward looking: now 13.77p at end of forecast 13.77p
2026-08-15 03:45:01.790635: Import rates: min 13.77p, max 43.82p, average 25.96p
2026-08-15 03:45:01.834004: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 03:45:01.834169: Rate thresholds (for charge/export) are import 43.32p (0.0p), export -0.1p (0.0p)
2026-08-15 03:45:01.835206: High export rate found rates in range 99p to -99p
2026-08-15 03:45:01.912315: Low Import rate found rates in range 13.77p to 41.55p
2026-08-15 03:45:01.912442: Car 0 charging is not planned as it is not plugged in
2026-08-15 03:45:01.924497: Battery level now 1.57kWh, -1hr ago 1.89kWh, at midnight 1.66kWh, battery value change in the last hour -3.78p, change today -1.04p, rate_forward 11.83p
2026-08-15 03:45:01.924852: Last hour: net energy 0.1kWh, import 0.1kWh, export 0.0kWh, car 0kWh, load 0.6kWh, net cost 2.49p, import 2.49p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 03:45:01.972201: Today's energy total net 4.1kWh, import 4.1kWh, export 0.0kWh, cost 160.13p, import 110.15p, export 0.0p, carbon 0.0kg
2026-08-15 03:45:01.972337: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 03:45:02.045403: Using weighted-bucket historical load forecast over 14 days
2026-08-15 03:45:02.068922: Today's load divergence 105.72%, in-day adjustment 137.78%, damping 0.95x, yesterday 143.77% today 105.44% blend 84.38%
2026-08-15 03:45:02.069108: Today's predicted so far 2.78kWh with 0.0kWh car/iBoost excluded, 1.86kWh import ignored, and 2.78kWh forecast extra.
2026-08-15 03:45:02.069149: Today's actual load so far 3.73kWh with 0.0kWh car/iBoost excluded, and 1.86kWh import ignored.
2026-08-15 03:45:02.103712: Inverter 0: Type SK Sunsynk
2026-08-15 03:45:02.103798: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 03:45:02.103969: Reserve min: 7%, battery_min: 7%
2026-08-15 03:45:02.104037: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 03:45:02.104312: Inverter 0 SoC: 1.57kW 10%, current charge rate 5000W, current discharge rate 5250W, current battery power 508W, current battery voltage 51.2V, grid power -61W, load power 593W, PV Power 0W
2026-08-15 03:45:02.104467: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 03:45:02.104577: Inverter 0 scheduled charge enable is False
2026-08-15 03:45:02.104614: Inverter 0 charge windows currently []
2026-08-15 03:45:02.104641: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 03:45:02.104753: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 03:45:02.104789: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 03:45:02.104824: Inverter 0 scheduled discharge enable is False
2026-08-15 03:45:02.104986: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 03:45:02.105029: Inverter 0 discharge windows currently []
2026-08-15 03:45:02.105051: Note: Inverter does not support discharge freeze - disabled
2026-08-15 03:45:02.105069: Note: Inverter does not support charge freeze - disabled
2026-08-15 03:45:02.105107: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 03:45:02.159410: Dynamic load last period 0.60kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 03:45:02.159507: Plan was last updated on 2026-08-15 03:40:00+01:00 and is now 5.0 minutes old
2026-08-15 03:45:02.159738: Best charge window [ 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 00:30:00 @ 28.84p 100% ]
2026-08-15 03:45:02.159827: Best export window [  ]
2026-08-15 03:45:02.160477: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 03:45:02.162993: Load divergence over 8.0 hours mean 458.89W, min 226.2W, max 1777.8W, std dev 243.57W, divergence 26.54%
2026-08-15 03:45:02.180738: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 03:45:02.180887: LoadML is_calculating False
2026-08-15 03:45:02.180995: Creating pool of 12 processes to match your CPU count
2026-08-15 03:45:02.299838: predict base end_record 08-16 11:35:00, final soc 1.12kWh, metric 824.64p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 04:20:00, load 28.48kWh, PV 0.0kWh
2026-08-15 03:45:02.414607: Battery has 0.58 hours left - now at 1.57kWh
2026-08-15 03:45:02.460746: predict base10 end_record 08-16 11:35:00, final soc 1.12kWh, metric 854.45p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 04:20:00, load 29.66kWh, PV 0.0kWh
2026-08-15 03:45:02.541257: predict best10 end_record 08-16 11:35:00, final soc 1.44kWh, metric 686.38p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 04:20:00, load 29.66kWh, PV 0.0kWh
2026-08-15 03:45:02.630804: predict best end_record 08-16 11:35:00, final soc 1.51kWh, metric 659.04p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 04:20:00, load 28.48kWh, PV 0.0kWh
2026-08-15 03:45:02.630902: Saving plan best values to HA entities
2026-08-15 03:45:02.808111: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 03:45:02.813680: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 03:45:02.819263: Best charging limit SoC's [16.0, 3.5, 4.0, 16.0, 16.0, 16.0]kWh, export []kWh gives import battery 21.02kWh, house 5.89kWh, export 0.0kWh, metric 659.04p, metric10 686.38p
2026-08-15 03:45:02.887435: Marginal costs baseline metric (no standing charge): 609.0602
2026-08-15 03:45:03.139970: Marginal energy costs matrix computed: min=14.66 max=26.88
2026-08-15 03:45:03.216476: Rate array import [{'start': 225, 'end': 420, 'rate': 'expensive', 'range': '(24.6p - 27.6p)'}, {'start': 420, 'end': 450, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 450, 'end': 480, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 480, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 23.6p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1860, 'rate': 'expensive', 'range': '(24.6p - 32.9p)'}, {'start': 1860, 'end': 1890, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 1890, 'end': 1920, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 1920, 'end': 2135, 'rate': 'cheap', 'range': '(15.5p - 23.6p)'}] export [{'start': 225, 'end': 2135, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 03:45:03.217694: - Your estimated bill for today is £5.88 and tomorrow is £5.47
2026-08-15 03:45:03.217752: - Import rates are expensive (24.6p - 27.6p) for the next 3 and a quarter hours and then cheap (22.7p) for the next 30 minutes.
2026-08-15 03:45:03.217777: - The battery is currently at 10% and is in eco mode for the next 7 and three quarters hours.
2026-08-15 03:45:03.217796: - For the next 48 hours there will be no solar generation.
2026-08-15 03:45:03.217814: - You will run out of battery in 35 minutes.
2026-08-15 03:45:03.217852: - Your next charge slot will be in 7 and three quarters hours where import rates will be cheap (15.5p).
2026-08-15 03:45:03.217883: 
2026-08-15 03:45:03.277100: Plan calculation took 1.12 seconds
2026-08-15 03:45:03.280388: No high rate period found
2026-08-15 03:45:03.333111: Import threshold used for optimisation was 24.62p
2026-08-15 03:45:03.398682: Low import rate windows [0: 08-15 03:30:00 - 08-15 04:00:00 @ 24.62, 1: 08-15 04:00:00 - 08-15 04:30:00 @ 27.02, 2: 08-15 04:30:00 - 08-15 05:00:00 @ 26.47, 3: 08-15 05:00:00 - 08-15 05:30:00 @ 26.25, 4: 08-15 05:30:00 - 08-15 06:00:00 @ 26.4, 5: 08-15 06:00:00 - 08-15 06:30:00 @ 25.7, 6: 08-15 06:30:00 - 08-15 07:00:00 @ 27.63, 7: 08-15 07:00:00 - 08-15 07:30:00 @ 22.73, 8: 08-15 07:30:00 - 08-15 08:00:00 @ 26.7, 9: 08-15 08:00:00 - 08-15 08:30:00 @ 22.92, 10: 08-15 08:30:00 - 08-15 09:00:00 @ 22.48, 11: 08-15 09:00:00 - 08-15 09:30:00 @ 23.55, 12: 08-15 09:30:00 - 08-15 10:00:00 @ 23.64, 13: 08-15 10:00:00 - 08-15 10:30:00 @ 19.66, 14: 08-15 10:30:00 - 08-15 11:00:00 @ 17.66, 15: 08-15 11:00:00 - 08-15 11:30:00 @ 16.56, 16: 08-15 11:30:00 - 08-15 12:00:00 @ 15.46, 17: 08-15 12:00:00 - 08-15 12:30:00 @ 17.0, 18: 08-15 12:30:00 - 08-15 13:00:00 @ 16.34, 19: 08-15 13:00:00 - 08-15 13:30:00 @ 15.36, 20: 08-15 13:30:00 - 08-15 14:00:00 @ 15.74, 21: 08-15 14:00:00 - 08-15 14:30:00 @ 14.57, 22: 08-15 14:30:00 - 08-15 15:00:00 @ 13.77, 23: 08-15 15:00:00 - 08-15 15:30:00 @ 15.02, 24: 08-15 15:30:00 - 08-15 16:00:00 @ 15.87, 25: 08-15 16:00:00 - 08-15 16:30:00 @ 33.13, 26: 08-15 16:30:00 - 08-15 17:00:00 @ 33.13, 27: 08-15 17:00:00 - 08-15 17:30:00 @ 38.46, 28: 08-15 17:30:00 - 08-15 18:00:00 @ 40.44, 29: 08-15 18:00:00 - 08-15 18:30:00 @ 41.55, 30: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 31: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 32: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 33: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 34: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 35: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 36: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 37: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 38: 08-15 23:00:00 - 08-15 23:30:00 @ 27.8, 39: 08-15 23:30:00 - 08-16 00:00:00 @ 29.09, 40: 08-16 00:00:00 - 08-16 00:30:00 @ 28.47, 41: 08-16 00:30:00 - 08-16 01:00:00 @ 27.18, 42: 08-16 01:00:00 - 08-16 01:30:00 @ 27.57, 43: 08-16 01:30:00 - 08-16 02:00:00 @ 26.5, 44: 08-16 02:00:00 - 08-16 02:30:00 @ 25.6, 45: 08-16 02:30:00 - 08-16 03:00:00 @ 24.79, 46: 08-16 03:00:00 - 08-16 03:30:00 @ 25.08, 47: 08-16 03:30:00 - 08-16 04:00:00 @ 24.62, 48: 08-16 04:00:00 - 08-16 04:30:00 @ 27.02, 49: 08-16 04:30:00 - 08-16 05:00:00 @ 26.47, 50: 08-16 05:00:00 - 08-16 05:30:00 @ 26.25, 51: 08-16 05:30:00 - 08-16 06:00:00 @ 26.4, 52: 08-16 06:00:00 - 08-16 06:30:00 @ 25.7, 53: 08-16 06:30:00 - 08-16 07:00:00 @ 27.63, 54: 08-16 07:00:00 - 08-16 07:30:00 @ 22.73, 55: 08-16 07:30:00 - 08-16 08:00:00 @ 26.7, 56: 08-16 08:00:00 - 08-16 08:30:00 @ 22.92, 57: 08-16 08:30:00 - 08-16 09:00:00 @ 22.48, 58: 08-16 09:00:00 - 08-16 09:30:00 @ 23.55, 59: 08-16 09:30:00 - 08-16 10:00:00 @ 23.64, 60: 08-16 10:00:00 - 08-16 10:30:00 @ 19.66, 61: 08-16 10:30:00 - 08-16 11:00:00 @ 17.66, 62: 08-16 11:00:00 - 08-16 11:30:00 @ 16.56, 63: 08-16 11:30:00 - 08-16 12:00:00 @ 15.46, 64: 08-16 12:00:00 - 08-16 12:30:00 @ 17.0, 65: 08-16 12:30:00 - 08-16 13:00:00 @ 16.34, 66: 08-16 13:00:00 - 08-16 13:30:00 @ 15.36, 67: 08-16 13:30:00 - 08-16 14:00:00 @ 15.74, 68: 08-16 14:00:00 - 08-16 14:30:00 @ 14.57, 69: 08-16 14:30:00 - 08-16 15:00:00 @ 13.77, 70: 08-16 15:00:00 - 08-16 15:30:00 @ 15.02, 71: 08-16 15:30:00 - 08-16 16:00:00 @ 15.87, 72: 08-16 16:00:00 - 08-16 16:30:00 @ 33.13, 73: 08-16 16:30:00 - 08-16 17:00:00 @ 33.13, 74: 08-16 17:00:00 - 08-16 17:30:00 @ 38.46, 75: 08-16 17:30:00 - 08-16 18:00:00 @ 40.44, 76: 08-16 18:00:00 - 08-16 18:30:00 @ 41.55, 77: 08-16 19:00:00 - 08-16 19:30:00 @ 32.58, 78: 08-16 19:30:00 - 08-16 20:00:00 @ 32.9, 79: 08-16 20:00:00 - 08-16 20:30:00 @ 31.99, 80: 08-16 20:30:00 - 08-16 21:00:00 @ 32.1, 81: 08-16 21:00:00 - 08-16 21:30:00 @ 31.71, 82: 08-16 21:30:00 - 08-16 22:00:00 @ 31.67, 83: 08-16 22:00:00 - 08-16 22:30:00 @ 31.77, 84: 08-16 22:30:00 - 08-16 23:00:00 @ 29.81, 85: 08-16 23:00:00 - 08-16 23:30:00 @ 27.8, 86: 08-16 23:30:00 - 08-17 00:00:00 @ 29.09, 87: 08-17 00:00:00 - 08-17 00:30:00 @ 28.47, 88: 08-17 00:30:00 - 08-17 01:00:00 @ 27.18, 89: 08-17 01:00:00 - 08-17 01:30:00 @ 27.57, 90: 08-17 01:30:00 - 08-17 02:00:00 @ 26.5, 91: 08-17 02:00:00 - 08-17 02:30:00 @ 25.6, 92: 08-17 02:30:00 - 08-17 03:00:00 @ 24.79, 93: 08-17 03:00:00 - 08-17 03:30:00 @ 25.08, 94: 08-17 03:30:00 - 08-17 04:00:00 @ 24.62]
2026-08-15 03:45:03.406132: Inverter 0 Charge window will be: 2026-08-15 11:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 10%, target 100%
2026-08-15 03:45:03.406262: Inverter 0 disabled charge window while waiting for schedule (now 08-15 03:45:00 target set_window_minutes 30 charge start time 08-15 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 03:45:03.406372: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 03:45:03.406627: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 03:45:03.406720: No export window planned
2026-08-15 03:45:03.406832: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 03:45:03.406867: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 03:45:03.406999: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 03:45:03.407195: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 03:45:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 03:45:03.407276: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 03:45:03.407368: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 03:45:03.407490: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 03:45:03.407533: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 03:45:03.407561: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 03:45:03.407585: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 03:45:03.407609: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 03:45:03.407632: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 03:45:03.407659: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 03:45:03.407719: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 03:45:03.407777: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 03:45:03.407804: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 03:45:03.407838: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 03:45:03.407863: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 03:45:03.407887: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 03:45:03.407910: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 03:45:03.407930: Inverter 0 count register writes 0
2026-08-15 03:45:03.425245: Will not recompute the plan, it is 5.0 minutes old and max age is 10 minutes
2026-08-15 03:45:03.430543: Total inverter register writes now 815
2026-08-15 03:45:03.469554: Info: Completed run status Demand
2026-08-15 03:45:03.476856: Info: record_status Demand
2026-08-15 03:45:03.483831: Saved current settings to /config/predbat_config.json
2026-08-15 03:45:03.484212: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 03:45:41.598740: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 03:45:41.598986: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 03:45:41.599035: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 03:45:41.599239: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 03:45:41.599284: Note: Inverter does not support discharge freeze - disabled
2026-08-15 03:45:41.599306: Note: Inverter does not support charge freeze - disabled
2026-08-15 03:45:41.599323: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 03:47:41.819482: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 03:47:41.819686: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 03:47:41.819730: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 03:47:41.819901: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 03:47:41.819946: Note: Inverter does not support discharge freeze - disabled
2026-08-15 03:47:41.819981: Note: Inverter does not support charge freeze - disabled
2026-08-15 03:47:41.820009: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 03:49:42.044992: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 03:49:42.045324: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 03:49:42.045390: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 03:49:42.045623: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 03:49:42.045670: Note: Inverter does not support discharge freeze - disabled
2026-08-15 03:49:42.045692: Note: Inverter does not support charge freeze - disabled
2026-08-15 03:49:42.045714: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 03:50:00.150089: --------------- PredBat - update at 2026-08-15 03:50:00+01:00 with clock skew 0 minutes, minutes now 230
2026-08-15 03:50:00.150908: Saved current settings to /config/predbat_config.json
2026-08-15 03:50:00.151032: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 105.0 minutes
2026-08-15 03:50:00.151118: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.1, latest beta is v8.48.1
2026-08-15 03:50:00.151309: Autoupdate: Currently up to date
2026-08-15 03:50:00.170137: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 03:50:00.170290: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 03:50:00.170471: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 03:50:00.171010: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 03:50:00.171131: Predbat mode is set to Control charge & discharge
2026-08-15 03:50:00.360490: Found 21602 load_today datapoints going back 28 days
2026-08-15 03:50:00.360634: Using load_power data to fill gaps in load_today data
2026-08-15 03:50:01.134696: Processing 721 30-minute periods for power integration
2026-08-15 03:50:01.285892: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 03:50:01.286009: Car charging hold False, threshold 6.0kWh
2026-08-15 03:50:01.286045: Current data so far today: load 3.75kWh, import 4.1kWh, export 0.0kWh, PV 0kWh
2026-08-15 03:50:01.297646: Cars: SoC: [12.892000000000001]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 03:50:01.297988: Standing charge is set to 49.98p
2026-08-15 03:50:01.325509: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 03:50:01.325617: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 03:50:01.325815: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 230.0 minutes
2026-08-15 03:50:01.326209: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 229.7 minutes
2026-08-15 03:50:01.329256: Loaded 47 datapoints of futurerate analysis
2026-08-15 03:50:01.412668: Predicted future rates: ['08-15 00:00:00 => 28.9 / 20.01', '08-15 01:00:00 => 27.54 / 19.31', '08-15 02:00:00 => 26.52 / 18.8', '08-15 03:00:00 => 25.99 / 18.53', '08-15 04:00:00 => 25.8 / 18.43', '08-15 05:00:00 => 25.96 / 18.51', '08-15 06:00:00 => 25.55 / 18.3', '08-15 07:00:00 => 24.33 / 17.68', '08-15 08:00:00 => 23.03 / 17.01', '08-15 09:00:00 => 22.05 / 16.51', '08-15 10:00:00 => 20.43 / 15.68', '08-15 11:00:00 => 18.01 / 14.45', '08-15 12:00:00 => 16.37 / 13.61', '08-15 13:00:00 => 15.76 / 13.3', '08-15 14:00:00 => 15.35 / 13.09', '08-15 15:00:00 => 15.86 / 13.35', '08-15 16:00:00 => 32.89 / 16.13', '08-15 17:00:00 => 38.02 / 18.75', '08-15 18:00:00 => 42.36 / 20.96', '08-15 19:00:00 => 31.09 / 21.13', '08-15 20:00:00 => 31.64 / 21.41', '08-15 21:00:00 => 31.64 / 21.41', '08-15 22:00:00 => 30.58 / 20.87']
2026-08-15 03:50:01.474307: Rate min forward looking: now 13.77p at end of forecast 13.77p
2026-08-15 03:50:01.474832: Import rates: min 13.77p, max 43.82p, average 25.96p
2026-08-15 03:50:01.518570: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 03:50:01.518700: Rate thresholds (for charge/export) are import 43.32p (0.0p), export -0.1p (0.0p)
2026-08-15 03:50:01.519900: High export rate found rates in range 99p to -99p
2026-08-15 03:50:01.600841: Low Import rate found rates in range 13.77p to 41.55p
2026-08-15 03:50:01.600992: Car 0 charging is not planned as it is not plugged in
2026-08-15 03:50:01.614074: Battery level now 1.57kWh, -1hr ago 1.92kWh, at midnight 1.66kWh, battery value change in the last hour -4.16p, change today -1.04p, rate_forward 11.83p
2026-08-15 03:50:01.614474: Last hour: net energy 0.08kWh, import 0.08kWh, export 0.0kWh, car 0kWh, load 0.6kWh, net cost 2.08p, import 2.08p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 03:50:01.661612: Today's energy total net 4.1kWh, import 4.1kWh, export 0.0kWh, cost 160.13p, import 110.15p, export 0.0p, carbon 0.0kg
2026-08-15 03:50:01.661760: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 03:50:01.737071: Using weighted-bucket historical load forecast over 14 days
2026-08-15 03:50:01.759771: Today's load divergence 105.67%, in-day adjustment 137.64%, damping 0.95x, yesterday 143.77% today 105.39% blend 84.03%
2026-08-15 03:50:01.759863: Today's predicted so far 2.8kWh with 0.0kWh car/iBoost excluded, 1.9kWh import ignored, and 2.8kWh forecast extra.
2026-08-15 03:50:01.759919: Today's actual load so far 3.74kWh with 0.0kWh car/iBoost excluded, and 1.9kWh import ignored.
2026-08-15 03:50:01.797810: Inverter 0: Type SK Sunsynk
2026-08-15 03:50:01.797916: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 03:50:01.798115: Reserve min: 7%, battery_min: 7%
2026-08-15 03:50:01.798210: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 03:50:01.798497: Inverter 0 SoC: 1.44kW 9%, current charge rate 5000W, current discharge rate 5250W, current battery power 442W, current battery voltage 51.2V, grid power -54W, load power 506W, PV Power 0W
2026-08-15 03:50:01.798653: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 03:50:01.798742: Inverter 0 scheduled charge enable is False
2026-08-15 03:50:01.798771: Inverter 0 charge windows currently []
2026-08-15 03:50:01.798796: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 03:50:01.798900: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 03:50:01.798936: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 03:50:01.798970: Inverter 0 scheduled discharge enable is False
2026-08-15 03:50:01.799099: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 03:50:01.799135: Inverter 0 discharge windows currently []
2026-08-15 03:50:01.799174: Note: Inverter does not support discharge freeze - disabled
2026-08-15 03:50:01.799198: Note: Inverter does not support charge freeze - disabled
2026-08-15 03:50:01.799216: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 03:50:01.856475: Dynamic load last period 0.60kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 03:50:01.856585: Plan was last updated on 2026-08-15 03:40:00+01:00 and is now 10.0 minutes old
2026-08-15 03:50:01.856856: Best charge window [ 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 00:30:00 @ 28.84p 100% ]
2026-08-15 03:50:01.856899: Best export window [  ]
2026-08-15 03:50:01.857763: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 03:50:01.861137: Load divergence over 8.0 hours mean 463.29W, min 278.4W, max 1666.2W, std dev 224.9W, divergence 24.27%
2026-08-15 03:50:01.879710: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 03:50:01.879833: LoadML is_calculating False
2026-08-15 03:50:01.879894: Creating pool of 12 processes to match your CPU count
2026-08-15 03:50:02.003228: predict base end_record 08-16 11:40:00, final soc 1.12kWh, metric 827.92p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 04:15:00, load 28.57kWh, PV 0.0kWh
2026-08-15 03:50:02.152825: Battery has 0.42 hours left - now at 1.44kWh
2026-08-15 03:50:02.194826: predict base10 end_record 08-16 11:40:00, final soc 1.12kWh, metric 857.71p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 04:15:00, load 29.75kWh, PV 0.0kWh
2026-08-15 03:50:02.266558: predict best10 end_record 08-16 11:40:00, final soc 1.77kWh, metric 694.94p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 04:15:00, load 29.75kWh, PV 0.0kWh
2026-08-15 03:50:02.347888: predict best end_record 08-16 11:40:00, final soc 1.9kWh, metric 668.64p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 04:15:00, load 28.57kWh, PV 0.0kWh
2026-08-15 03:50:02.347974: Saving plan best values to HA entities
2026-08-15 03:50:02.513034: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 03:50:02.518530: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 03:50:02.524248: Best charging limit SoC's [16.0, 3.5, 4.0, 16.0, 16.0, 16.0]kWh, export []kWh gives import battery 21.53kWh, house 5.95kWh, export 0.0kWh, metric 668.64p, metric10 694.94p
2026-08-15 03:50:02.597808: Marginal costs baseline metric (no standing charge): 618.6577
2026-08-15 03:50:02.831018: Marginal energy costs matrix computed: min=14.5 max=26.83
2026-08-15 03:50:02.906102: Rate array import [{'start': 230, 'end': 420, 'rate': 'expensive', 'range': '(24.6p - 27.6p)'}, {'start': 420, 'end': 450, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 450, 'end': 480, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 480, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 23.6p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1860, 'rate': 'expensive', 'range': '(24.6p - 32.9p)'}, {'start': 1860, 'end': 1890, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 1890, 'end': 1920, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 1920, 'end': 2140, 'rate': 'cheap', 'range': '(15.5p - 23.6p)'}] export [{'start': 230, 'end': 2140, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 03:50:02.906835: - Your estimated bill for today is £5.90 and tomorrow is £5.47
2026-08-15 03:50:02.906881: - Import rates are expensive (24.6p - 27.6p) for the next 3 and a quarter hours and then cheap (22.7p) for the next 30 minutes.
2026-08-15 03:50:02.906904: - The battery is currently at 9% and is in eco mode for the next 7 and three quarters hours.
2026-08-15 03:50:02.906922: - For the next 48 hours there will be no solar generation.
2026-08-15 03:50:02.906943: - You will run out of battery in 25 minutes.
2026-08-15 03:50:02.906961: - Your next charge slot will be in 7 and three quarters hours where import rates will be cheap (15.5p).
2026-08-15 03:50:02.906985: 
2026-08-15 03:50:02.962196: Plan calculation took 1.11 seconds
2026-08-15 03:50:02.965447: No high rate period found
2026-08-15 03:50:03.021649: Import threshold used for optimisation was 24.62p
2026-08-15 03:50:03.074958: Low import rate windows [0: 08-15 03:30:00 - 08-15 04:00:00 @ 24.62, 1: 08-15 04:00:00 - 08-15 04:30:00 @ 27.02, 2: 08-15 04:30:00 - 08-15 05:00:00 @ 26.47, 3: 08-15 05:00:00 - 08-15 05:30:00 @ 26.25, 4: 08-15 05:30:00 - 08-15 06:00:00 @ 26.4, 5: 08-15 06:00:00 - 08-15 06:30:00 @ 25.7, 6: 08-15 06:30:00 - 08-15 07:00:00 @ 27.63, 7: 08-15 07:00:00 - 08-15 07:30:00 @ 22.73, 8: 08-15 07:30:00 - 08-15 08:00:00 @ 26.7, 9: 08-15 08:00:00 - 08-15 08:30:00 @ 22.92, 10: 08-15 08:30:00 - 08-15 09:00:00 @ 22.48, 11: 08-15 09:00:00 - 08-15 09:30:00 @ 23.55, 12: 08-15 09:30:00 - 08-15 10:00:00 @ 23.64, 13: 08-15 10:00:00 - 08-15 10:30:00 @ 19.66, 14: 08-15 10:30:00 - 08-15 11:00:00 @ 17.66, 15: 08-15 11:00:00 - 08-15 11:30:00 @ 16.56, 16: 08-15 11:30:00 - 08-15 12:00:00 @ 15.46, 17: 08-15 12:00:00 - 08-15 12:30:00 @ 17.0, 18: 08-15 12:30:00 - 08-15 13:00:00 @ 16.34, 19: 08-15 13:00:00 - 08-15 13:30:00 @ 15.36, 20: 08-15 13:30:00 - 08-15 14:00:00 @ 15.74, 21: 08-15 14:00:00 - 08-15 14:30:00 @ 14.57, 22: 08-15 14:30:00 - 08-15 15:00:00 @ 13.77, 23: 08-15 15:00:00 - 08-15 15:30:00 @ 15.02, 24: 08-15 15:30:00 - 08-15 16:00:00 @ 15.87, 25: 08-15 16:00:00 - 08-15 16:30:00 @ 33.13, 26: 08-15 16:30:00 - 08-15 17:00:00 @ 33.13, 27: 08-15 17:00:00 - 08-15 17:30:00 @ 38.46, 28: 08-15 17:30:00 - 08-15 18:00:00 @ 40.44, 29: 08-15 18:00:00 - 08-15 18:30:00 @ 41.55, 30: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 31: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 32: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 33: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 34: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 35: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 36: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 37: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 38: 08-15 23:00:00 - 08-15 23:30:00 @ 27.8, 39: 08-15 23:30:00 - 08-16 00:00:00 @ 29.09, 40: 08-16 00:00:00 - 08-16 00:30:00 @ 28.47, 41: 08-16 00:30:00 - 08-16 01:00:00 @ 27.18, 42: 08-16 01:00:00 - 08-16 01:30:00 @ 27.57, 43: 08-16 01:30:00 - 08-16 02:00:00 @ 26.5, 44: 08-16 02:00:00 - 08-16 02:30:00 @ 25.6, 45: 08-16 02:30:00 - 08-16 03:00:00 @ 24.79, 46: 08-16 03:00:00 - 08-16 03:30:00 @ 25.08, 47: 08-16 03:30:00 - 08-16 04:00:00 @ 24.62, 48: 08-16 04:00:00 - 08-16 04:30:00 @ 27.02, 49: 08-16 04:30:00 - 08-16 05:00:00 @ 26.47, 50: 08-16 05:00:00 - 08-16 05:30:00 @ 26.25, 51: 08-16 05:30:00 - 08-16 06:00:00 @ 26.4, 52: 08-16 06:00:00 - 08-16 06:30:00 @ 25.7, 53: 08-16 06:30:00 - 08-16 07:00:00 @ 27.63, 54: 08-16 07:00:00 - 08-16 07:30:00 @ 22.73, 55: 08-16 07:30:00 - 08-16 08:00:00 @ 26.7, 56: 08-16 08:00:00 - 08-16 08:30:00 @ 22.92, 57: 08-16 08:30:00 - 08-16 09:00:00 @ 22.48, 58: 08-16 09:00:00 - 08-16 09:30:00 @ 23.55, 59: 08-16 09:30:00 - 08-16 10:00:00 @ 23.64, 60: 08-16 10:00:00 - 08-16 10:30:00 @ 19.66, 61: 08-16 10:30:00 - 08-16 11:00:00 @ 17.66, 62: 08-16 11:00:00 - 08-16 11:30:00 @ 16.56, 63: 08-16 11:30:00 - 08-16 12:00:00 @ 15.46, 64: 08-16 12:00:00 - 08-16 12:30:00 @ 17.0, 65: 08-16 12:30:00 - 08-16 13:00:00 @ 16.34, 66: 08-16 13:00:00 - 08-16 13:30:00 @ 15.36, 67: 08-16 13:30:00 - 08-16 14:00:00 @ 15.74, 68: 08-16 14:00:00 - 08-16 14:30:00 @ 14.57, 69: 08-16 14:30:00 - 08-16 15:00:00 @ 13.77, 70: 08-16 15:00:00 - 08-16 15:30:00 @ 15.02, 71: 08-16 15:30:00 - 08-16 16:00:00 @ 15.87, 72: 08-16 16:00:00 - 08-16 16:30:00 @ 33.13, 73: 08-16 16:30:00 - 08-16 17:00:00 @ 33.13, 74: 08-16 17:00:00 - 08-16 17:30:00 @ 38.46, 75: 08-16 17:30:00 - 08-16 18:00:00 @ 40.44, 76: 08-16 18:00:00 - 08-16 18:30:00 @ 41.55, 77: 08-16 19:00:00 - 08-16 19:30:00 @ 32.58, 78: 08-16 19:30:00 - 08-16 20:00:00 @ 32.9, 79: 08-16 20:00:00 - 08-16 20:30:00 @ 31.99, 80: 08-16 20:30:00 - 08-16 21:00:00 @ 32.1, 81: 08-16 21:00:00 - 08-16 21:30:00 @ 31.71, 82: 08-16 21:30:00 - 08-16 22:00:00 @ 31.67, 83: 08-16 22:00:00 - 08-16 22:30:00 @ 31.77, 84: 08-16 22:30:00 - 08-16 23:00:00 @ 29.81, 85: 08-16 23:00:00 - 08-16 23:30:00 @ 27.8, 86: 08-16 23:30:00 - 08-17 00:00:00 @ 29.09, 87: 08-17 00:00:00 - 08-17 00:30:00 @ 28.47, 88: 08-17 00:30:00 - 08-17 01:00:00 @ 27.18, 89: 08-17 01:00:00 - 08-17 01:30:00 @ 27.57, 90: 08-17 01:30:00 - 08-17 02:00:00 @ 26.5, 91: 08-17 02:00:00 - 08-17 02:30:00 @ 25.6, 92: 08-17 02:30:00 - 08-17 03:00:00 @ 24.79, 93: 08-17 03:00:00 - 08-17 03:30:00 @ 25.08, 94: 08-17 03:30:00 - 08-17 04:00:00 @ 24.62]
2026-08-15 03:50:03.081764: Inverter 0 Charge window will be: 2026-08-15 11:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 9%, target 100%
2026-08-15 03:50:03.081958: Inverter 0 disabled charge window while waiting for schedule (now 08-15 03:50:00 target set_window_minutes 30 charge start time 08-15 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 03:50:03.082122: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 03:50:03.082481: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 03:50:03.082626: No export window planned
2026-08-15 03:50:03.082829: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 03:50:03.082907: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 03:50:03.083162: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 03:50:03.083403: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 03:50:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 03:50:03.083479: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 03:50:03.083592: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 03:50:03.083742: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 03:50:03.083788: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 03:50:03.083854: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 03:50:03.083915: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 03:50:03.083983: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 03:50:03.084035: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 03:50:03.084097: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 03:50:03.084235: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 03:50:03.084293: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 03:50:03.084344: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 03:50:03.084403: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 03:50:03.084465: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 03:50:03.084529: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 03:50:03.084592: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 03:50:03.084643: Inverter 0 count register writes 0
2026-08-15 03:50:03.100005: Will recompute the plan as it is now 10.0 minutes old and will exceed the max age of 10 minutes before the next run
2026-08-15 03:50:03.100178: Recompute is saving previous plan...
2026-08-15 03:50:03.102731: Best charge window [ 15-08 03:30:00 - 15-08 04:00:00 @ 24.62p 0%, 15-08 04:00:00 - 15-08 04:30:00 @ 27.02p 0%, 15-08 04:30:00 - 15-08 05:00:00 @ 26.47p 0%, 15-08 05:00:00 - 15-08 05:30:00 @ 26.25p 0%, 15-08 05:30:00 - 15-08 06:00:00 @ 26.4p 0%, 15-08 06:00:00 - 15-08 06:30:00 @ 25.7p 0%, 15-08 06:30:00 - 15-08 07:00:00 @ 27.63p 0%, 15-08 07:00:00 - 15-08 07:30:00 @ 22.73p 0%, 15-08 07:30:00 - 15-08 08:00:00 @ 26.7p 0%, 15-08 08:00:00 - 15-08 08:30:00 @ 22.92p 0%, 15-08 08:30:00 - 15-08 09:00:00 @ 22.48p 0%, 15-08 09:00:00 - 15-08 09:30:00 @ 23.55p 0%, 15-08 09:30:00 - 15-08 10:00:00 @ 23.64p 0%, 15-08 10:00:00 - 15-08 10:30:00 @ 19.66p 0%, 15-08 10:30:00 - 15-08 11:00:00 @ 17.66p 0%, 15-08 11:00:00 - 15-08 11:30:00 @ 16.56p 0%, 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 0%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 0%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 0%, 15-08 13:00:00 - 15-08 13:30:00 @ 15.36p 0%, 15-08 13:30:00 - 15-08 14:00:00 @ 15.74p 0%, 15-08 14:00:00 - 15-08 14:30:00 @ 14.57p 0%, 15-08 14:30:00 - 15-08 15:00:00 @ 13.77p 0%, 15-08 15:00:00 - 15-08 15:30:00 @ 15.02p 0%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 0%, 15-08 16:00:00 - 15-08 16:30:00 @ 33.13p 0%, 15-08 16:30:00 - 15-08 17:00:00 @ 33.13p 0%, 15-08 17:00:00 - 15-08 17:30:00 @ 38.46p 0%, 15-08 17:30:00 - 15-08 18:00:00 @ 40.44p 0%, 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 0%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 0%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 0%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 0%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 0%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 27.8p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 29.09p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.47p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.18p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 27.57p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.5p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.6p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 24.79p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 25.08p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 24.62p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 27.02p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.47p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 26.25p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.4p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.7p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 27.63p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 22.73p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 26.7p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 22.92p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 22.48p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 23.55p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 23.64p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 19.66p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 17.66p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 16.56p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 15.46p 0%, 16-08 12:00:00 - 16-08 12:30:00 @ 17.0p 0%, 16-08 12:30:00 - 16-08 13:00:00 @ 16.34p 0%, 16-08 13:00:00 - 16-08 13:30:00 @ 15.36p 0%, 16-08 13:30:00 - 16-08 14:00:00 @ 15.74p 0%, 16-08 14:00:00 - 16-08 14:30:00 @ 14.57p 0%, 16-08 14:30:00 - 16-08 15:00:00 @ 13.77p 0%, 16-08 15:00:00 - 16-08 15:30:00 @ 15.02p 0%, 16-08 15:30:00 - 16-08 16:00:00 @ 15.87p 0%, 16-08 16:00:00 - 16-08 16:30:00 @ 33.13p 0%, 16-08 16:30:00 - 16-08 17:00:00 @ 33.13p 0%, 16-08 17:00:00 - 16-08 17:30:00 @ 38.46p 0%, 16-08 17:30:00 - 16-08 18:00:00 @ 40.44p 0%, 16-08 18:00:00 - 16-08 18:30:00 @ 41.55p 0%, 16-08 19:00:00 - 16-08 19:30:00 @ 32.58p 0%, 16-08 19:30:00 - 16-08 20:00:00 @ 32.9p 0%, 16-08 20:00:00 - 16-08 20:30:00 @ 31.99p 0%, 16-08 20:30:00 - 16-08 21:00:00 @ 32.1p 0%, 16-08 21:00:00 - 16-08 21:30:00 @ 31.71p 0%, 16-08 21:30:00 - 16-08 22:00:00 @ 31.67p 0%, 16-08 22:00:00 - 16-08 22:30:00 @ 31.77p 0%, 16-08 22:30:00 - 16-08 23:00:00 @ 29.81p 0%, 16-08 23:00:00 - 16-08 23:30:00 @ 27.8p 0%, 16-08 23:30:00 - 17-08 00:00:00 @ 29.09p 0%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.47p 0%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.18p 0%, 17-08 01:00:00 - 17-08 01:30:00 @ 27.57p 0%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.5p 0%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.6p 0%, 17-08 02:30:00 - 17-08 03:00:00 @ 24.79p 0%, 17-08 03:00:00 - 17-08 03:30:00 @ 25.08p 0%, 17-08 03:30:00 - 17-08 04:00:00 @ 24.62p 0% ]
2026-08-15 03:50:03.102798: Best export window [  ]
2026-08-15 03:50:03.103450: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 03:50:03.105914: Load divergence over 8.0 hours mean 463.29W, min 278.4W, max 1666.2W, std dev 224.9W, divergence 24.27%
2026-08-15 03:50:03.120167: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 03:50:03.120282: LoadML is_calculating False
2026-08-15 03:50:03.120344: Creating pool of 12 processes to match your CPU count
2026-08-15 03:50:03.207341: Calculate Best options: mode(Control charge & discharge), calculate_export_oncharge(False), calculate_export_on_pv(True), set_export_freeze_only(False), set_discharge_during_charge(True), combine_charge_slots(False), combine_export_slots(False), combine_rate_threshold(0.0), best_soc_min(0.0 kWh), best_soc_max(0.0 kWh), best_soc_keep(0.0 kWh), inverter_loss(4%), battery_loss(3%), battery_loss_discharge (3%), inverter_hybrid(True), metric_min_improvement(0.0p), metric_min_improvement_export(0.1p), metric_min_improvement_export_freeze(0.1p), metric_battery_cycle(0.0p/kWh), metric_battery_value_scaling(1.0 x) 
2026-08-15 03:50:03.209535: Optimise levels pass started at 2026-08-15 03:50:03
2026-08-15 03:50:03.209664: Optimise all windows, total charge 94 export 1
2026-08-15 03:50:04.314660: >> Region optimisation pass width 960 gives best_metric 799.15p, best_cost 804.54p, best_cycle 49.9kWh, best_import 39.65kWh
2026-08-15 03:50:04.741138: >> Region optimisation pass width 480 gives best_metric 799.15p, best_cost 804.54p, best_cycle 49.9kWh, best_import 39.65kWh
2026-08-15 03:50:05.292899: >> Region optimisation pass width 240 gives best_metric 799.15p, best_cost 804.54p, best_cycle 49.9kWh, best_import 39.65kWh
2026-08-15 03:50:06.452556: >> Region optimisation pass width 120 gives best_metric 799.15p, best_cost 804.54p, best_cycle 49.9kWh, best_import 39.65kWh
2026-08-15 03:50:06.453212: Calculated end_record as 08-16 11:30:00 based on best_price 16.34p, next_charge_start 08-15 11:30:00, max_windows 63
2026-08-15 03:50:06.453296: Optimise levels pass ended at 2026-08-15 03:50:06, duration 3.2 seconds tried 327 combinations
2026-08-15 03:50:06.453376: Set best_price_charge_level 17.6p, best_price_export_level 0p, best_price_charge 16.34p, best_cost_export 0p, best_metric 799.15p, best_keep 0kWh, best_cycle 49.9kWh, best_carbon 0kg, best_import 39.65kWh
2026-08-15 03:50:06.469732: Starting detailed optimisation end_record 08-16 11:30:00, best_price_charge 16.34p, best_price_export 0p. lowest_price_charge 13.77p with charge limits [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0]kWh and export limits []kWh
2026-08-15 03:50:10.847836: Tweak plan optimisation started metric 593.46p, cost 602.47p
2026-08-15 03:50:11.121429: Tweak optimisation finished metric 593.46p, cost 602.47p, metric_keep 0kWh, cycle 30.2kWh, carbon 0kg, import 26.45kWh, changed 8 window(s)
2026-08-15 03:50:11.140871: Swap charge optimisation started metric 593.46p, cost 602.47p, min_improvement_swap 0.1p
2026-08-15 03:50:16.895334: Swap charge optimisation finished metric 593.46p, cost 602.47p
2026-08-15 03:50:17.009392: Raw charge windows [ 15-08 03:30:00 - 15-08 04:00:00 @ 24.62p 9%, 15-08 04:00:00 - 15-08 04:30:00 @ 27.02p 0%, 15-08 04:30:00 - 15-08 05:00:00 @ 26.47p 0%, 15-08 05:00:00 - 15-08 05:30:00 @ 26.25p 0%, 15-08 05:30:00 - 15-08 06:00:00 @ 26.4p 0%, 15-08 06:00:00 - 15-08 06:30:00 @ 25.7p 0%, 15-08 06:30:00 - 15-08 07:00:00 @ 27.63p 0%, 15-08 07:00:00 - 15-08 07:30:00 @ 22.73p 0%, 15-08 07:30:00 - 15-08 08:00:00 @ 26.7p 0%, 15-08 08:00:00 - 15-08 08:30:00 @ 22.92p 0%, 15-08 08:30:00 - 15-08 09:00:00 @ 22.48p 0%, 15-08 09:00:00 - 15-08 09:30:00 @ 23.55p 0%, 15-08 09:30:00 - 15-08 10:00:00 @ 23.64p 0%, 15-08 10:00:00 - 15-08 10:30:00 @ 19.66p 0%, 15-08 10:30:00 - 15-08 11:00:00 @ 17.66p 0%, 15-08 11:00:00 - 15-08 11:30:00 @ 16.56p 0%, 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 13:30:00 @ 15.36p 100%, 15-08 13:30:00 - 15-08 14:00:00 @ 15.74p 100%, 15-08 14:00:00 - 15-08 14:30:00 @ 14.57p 100%, 15-08 14:30:00 - 15-08 15:00:00 @ 13.77p 100%, 15-08 15:00:00 - 15-08 15:30:00 @ 15.02p 100%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 100%, 15-08 16:00:00 - 15-08 16:30:00 @ 33.13p 0%, 15-08 16:30:00 - 15-08 17:00:00 @ 33.13p 0%, 15-08 17:00:00 - 15-08 17:30:00 @ 38.46p 0%, 15-08 17:30:00 - 15-08 18:00:00 @ 40.44p 0%, 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 0%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 0%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 0%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 0%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 0%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 27.8p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 29.09p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.47p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.18p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 27.57p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.5p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.6p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 24.79p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 25.08p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 24.62p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 27.02p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.47p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 26.25p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.4p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.7p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 27.63p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 22.73p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 26.7p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 22.92p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 22.48p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 23.55p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 23.64p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 19.66p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 17.66p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 16.56p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 15.46p 100%, 16-08 12:00:00 - 16-08 12:30:00 @ 17.0p 100%, 16-08 12:30:00 - 16-08 13:00:00 @ 16.34p 100%, 16-08 13:00:00 - 16-08 13:30:00 @ 15.36p 100%, 16-08 13:30:00 - 16-08 14:00:00 @ 15.74p 100%, 16-08 14:00:00 - 16-08 14:30:00 @ 14.57p 100%, 16-08 14:30:00 - 16-08 15:00:00 @ 13.77p 100%, 16-08 15:00:00 - 16-08 15:30:00 @ 15.02p 100%, 16-08 15:30:00 - 16-08 16:00:00 @ 15.87p 100%, 16-08 16:00:00 - 16-08 16:30:00 @ 33.13p 100%, 16-08 16:30:00 - 16-08 17:00:00 @ 33.13p 100%, 16-08 17:00:00 - 16-08 17:30:00 @ 38.46p 100%, 16-08 17:30:00 - 16-08 18:00:00 @ 40.44p 100%, 16-08 18:00:00 - 16-08 18:30:00 @ 41.55p 100%, 16-08 19:00:00 - 16-08 19:30:00 @ 32.58p 100%, 16-08 19:30:00 - 16-08 20:00:00 @ 32.9p 100%, 16-08 20:00:00 - 16-08 20:30:00 @ 31.99p 100%, 16-08 20:30:00 - 16-08 21:00:00 @ 32.1p 100%, 16-08 21:00:00 - 16-08 21:30:00 @ 31.71p 100%, 16-08 21:30:00 - 16-08 22:00:00 @ 31.67p 100%, 16-08 22:00:00 - 16-08 22:30:00 @ 31.77p 100%, 16-08 22:30:00 - 16-08 23:00:00 @ 29.81p 100%, 16-08 23:00:00 - 16-08 23:30:00 @ 27.8p 100%, 16-08 23:30:00 - 17-08 00:00:00 @ 29.09p 100%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.47p 100%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.18p 100%, 17-08 01:00:00 - 17-08 01:30:00 @ 27.57p 100%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.5p 100%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.6p 100%, 17-08 02:30:00 - 17-08 03:00:00 @ 24.79p 100%, 17-08 03:00:00 - 17-08 03:30:00 @ 25.08p 100%, 17-08 03:30:00 - 17-08 04:00:00 @ 24.62p 100% ] reserve 1.12
2026-08-15 03:50:17.010023: Unclipped charge windows [ 15-08 03:30:00 - 15-08 04:00:00 @ 24.62p 9%, 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 04:00:00 @ 24.98p 100% ] reserve 1.12
2026-08-15 03:50:17.010364: Unfiltered charge windows [ 15-08 03:30:00 - 15-08 04:00:00 @ 24.62p 9%, 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 04:00:00 @ 24.98p 100% ] reserve 1.12
2026-08-15 03:50:17.010622: Filtered charge windows [ 15-08 03:30:00 - 15-08 04:00:00 @ 24.62p 9%, 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 04:00:00 @ 24.98p 100% ] reserve 1.12
2026-08-15 03:50:17.049145: Previous plan best metric is 593.65 (cost 602.65) and new plan best metric is 593.46 (cost 602.47)
2026-08-15 03:50:17.049433: New plan metric is not significantly better (metric_min_improvement_plan 2.0) than previous plan, using previous plan
2026-08-15 03:50:17.049618: Plan valid is now true after recompute was False
2026-08-15 03:50:17.080906: predict base end_record 08-16 11:30:00, final soc 1.12kWh, metric 824.79p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 04:15:00, load 28.37kWh, PV 0.0kWh
2026-08-15 03:50:17.201393: Battery has 0.42 hours left - now at 1.44kWh
2026-08-15 03:50:17.249303: predict base10 end_record 08-16 11:30:00, final soc 1.12kWh, metric 854.43p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 04:15:00, load 29.54kWh, PV 0.0kWh
2026-08-15 03:50:17.327068: predict best10 end_record 08-16 11:30:00, final soc 1.12kWh, metric 680.93p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 04:15:00, load 29.54kWh, PV 0.0kWh
2026-08-15 03:50:17.405043: predict best end_record 08-16 11:30:00, final soc 1.12kWh, metric 652.63p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 04:15:00, load 28.37kWh, PV 0.0kWh
2026-08-15 03:50:17.405315: Saving plan best values to HA entities
2026-08-15 03:50:17.551233: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 03:50:17.557464: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 03:50:17.563360: Best charging limit SoC's [16.0, 3.5, 4.0, 16.0, 16.0, 16.0]kWh, export []kWh gives import battery 20.49kWh, house 5.95kWh, export 0.0kWh, metric 652.63p, metric10 680.93p
2026-08-15 03:50:17.646419: Marginal costs baseline metric (no standing charge): 602.6463
2026-08-15 03:50:17.866480: Marginal energy costs matrix computed: min=14.5 max=26.83
2026-08-15 03:50:17.936216: Rate array import [{'start': 230, 'end': 420, 'rate': 'expensive', 'range': '(24.6p - 27.6p)'}, {'start': 420, 'end': 450, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 450, 'end': 480, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 480, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 23.6p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1860, 'rate': 'expensive', 'range': '(24.6p - 32.9p)'}, {'start': 1860, 'end': 1890, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 1890, 'end': 1920, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 1920, 'end': 2130, 'rate': 'cheap', 'range': '(16.6p - 23.6p)'}] export [{'start': 230, 'end': 2130, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 03:50:17.936793: - Your estimated bill for today is £5.90 and tomorrow is £5.47
2026-08-15 03:50:17.936838: - Import rates are expensive (24.6p - 27.6p) for the next 3 and a quarter hours and then cheap (22.7p) for the next 30 minutes.
2026-08-15 03:50:17.936858: - The battery is currently at 9% and is in eco mode for the next 7 and three quarters hours.
2026-08-15 03:50:17.936873: - For the next 48 hours there will be no solar generation.
2026-08-15 03:50:17.936887: - You will run out of battery in 25 minutes.
2026-08-15 03:50:17.936903: - Your next charge slot will be in 7 and three quarters hours where import rates will be cheap (15.5p).
2026-08-15 03:50:17.936918: 
2026-08-15 03:50:17.995722: Plan calculation took 14.90 seconds
2026-08-15 03:50:17.996048: Inverter 0: Type SK Sunsynk
2026-08-15 03:50:17.996094: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 03:50:17.996311: Reserve min: 7%, battery_min: 7%
2026-08-15 03:50:17.996381: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 03:50:17.996683: Inverter 0 SoC: 1.44kW 9%, current charge rate 5000W, current discharge rate 5250W, current battery power 452W, current battery voltage 51.2V, grid power -43W, load power 508W, PV Power 0W
2026-08-15 03:50:17.996892: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 03:50:17.997047: Inverter 0 scheduled charge enable is False
2026-08-15 03:50:17.997097: Inverter 0 charge windows currently []
2026-08-15 03:50:17.997124: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 03:50:17.997260: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 03:50:17.997294: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 03:50:17.997328: Inverter 0 scheduled discharge enable is False
2026-08-15 03:50:17.997447: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 03:50:17.997478: Inverter 0 discharge windows currently []
2026-08-15 03:50:17.997498: Note: Inverter does not support discharge freeze - disabled
2026-08-15 03:50:17.997517: Note: Inverter does not support charge freeze - disabled
2026-08-15 03:50:17.997531: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 03:50:18.054590: Inverter 0 Charge window will be: 2026-08-15 11:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 9%, target 100%
2026-08-15 03:50:18.054802: Inverter 0 disabled charge window while waiting for schedule (now 08-15 03:50:00 target set_window_minutes 30 charge start time 08-15 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 03:50:18.054901: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 03:50:18.055192: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 03:50:18.055314: No export window planned
2026-08-15 03:50:18.055490: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 03:50:18.055546: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 03:50:18.055724: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 03:50:18.055892: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 03:50:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 03:50:18.055945: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 03:50:18.055994: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 03:50:18.056091: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 03:50:18.056131: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 03:50:18.056179: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 03:50:18.056208: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 03:50:18.056233: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 03:50:18.056256: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 03:50:18.056288: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 03:50:18.056375: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 03:50:18.056422: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 03:50:18.056463: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 03:50:18.056529: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 03:50:18.056578: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 03:50:18.056613: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 03:50:18.056637: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 03:50:18.056659: Inverter 0 count register writes 0
2026-08-15 03:50:18.082508: Total inverter register writes now 815
2026-08-15 03:50:18.115439: Info: Completed run status Demand
2026-08-15 03:50:18.121624: Info: record_status Demand
2026-08-15 03:50:18.128281: Saved current settings to /config/predbat_config.json
2026-08-15 03:50:18.128696: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 03:50:57.234052: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 03:50:57.234400: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 03:50:57.234460: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 03:50:57.234698: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 03:50:57.234752: Note: Inverter does not support discharge freeze - disabled
2026-08-15 03:50:57.234792: Note: Inverter does not support charge freeze - disabled
2026-08-15 03:50:57.234827: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 03:52:57.451221: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 03:52:57.451542: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 03:52:57.451629: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 03:52:57.451828: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 03:52:57.451880: Note: Inverter does not support discharge freeze - disabled
2026-08-15 03:52:57.451909: Note: Inverter does not support charge freeze - disabled
2026-08-15 03:52:57.451934: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 03:55:00.699723: --------------- PredBat - update at 2026-08-15 03:55:00+01:00 with clock skew 0 minutes, minutes now 235
2026-08-15 03:55:00.700537: Saved current settings to /config/predbat_config.json
2026-08-15 03:55:00.700673: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 110.0 minutes
2026-08-15 03:55:00.700805: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.1, latest beta is v8.48.1
2026-08-15 03:55:00.700928: Autoupdate: Currently up to date
2026-08-15 03:55:00.721204: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 03:55:00.721335: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 03:55:00.721520: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 03:55:00.722081: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 03:55:00.722221: Predbat mode is set to Control charge & discharge
2026-08-15 03:55:00.895270: Found 21602 load_today datapoints going back 28 days
2026-08-15 03:55:00.895414: Using load_power data to fill gaps in load_today data
2026-08-15 03:55:01.601955: Processing 721 30-minute periods for power integration
2026-08-15 03:55:01.753062: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 03:55:01.753198: Car charging hold False, threshold 6.0kWh
2026-08-15 03:55:01.753237: Current data so far today: load 3.8kWh, import 4.1kWh, export 0.0kWh, PV 0kWh
2026-08-15 03:55:01.764915: Cars: SoC: [12.892000000000001]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 03:55:01.765310: Standing charge is set to 49.98p
2026-08-15 03:55:01.792845: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 03:55:01.792936: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 03:55:01.793197: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 235.0 minutes
2026-08-15 03:55:01.793551: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 234.7 minutes
2026-08-15 03:55:01.795910: Loaded 47 datapoints of futurerate analysis
2026-08-15 03:55:01.863289: Predicted future rates: ['08-15 00:00:00 => 28.9 / 20.01', '08-15 01:00:00 => 27.54 / 19.31', '08-15 02:00:00 => 26.52 / 18.8', '08-15 03:00:00 => 25.99 / 18.53', '08-15 04:00:00 => 25.8 / 18.43', '08-15 05:00:00 => 25.96 / 18.51', '08-15 06:00:00 => 25.55 / 18.3', '08-15 07:00:00 => 24.33 / 17.68', '08-15 08:00:00 => 23.03 / 17.01', '08-15 09:00:00 => 22.05 / 16.51', '08-15 10:00:00 => 20.43 / 15.68', '08-15 11:00:00 => 18.01 / 14.45', '08-15 12:00:00 => 16.37 / 13.61', '08-15 13:00:00 => 15.76 / 13.3', '08-15 14:00:00 => 15.35 / 13.09', '08-15 15:00:00 => 15.86 / 13.35', '08-15 16:00:00 => 32.89 / 16.13', '08-15 17:00:00 => 38.02 / 18.75', '08-15 18:00:00 => 42.36 / 20.96', '08-15 19:00:00 => 31.09 / 21.13', '08-15 20:00:00 => 31.64 / 21.41', '08-15 21:00:00 => 31.64 / 21.41', '08-15 22:00:00 => 30.58 / 20.87']
2026-08-15 03:55:01.912428: Rate min forward looking: now 13.77p at end of forecast 13.77p
2026-08-15 03:55:01.912885: Import rates: min 13.77p, max 43.82p, average 25.96p
2026-08-15 03:55:01.948133: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 03:55:01.948271: Rate thresholds (for charge/export) are import 43.32p (0.0p), export -0.1p (0.0p)
2026-08-15 03:55:01.949346: High export rate found rates in range 99p to -99p
2026-08-15 03:55:02.013774: Low Import rate found rates in range 13.77p to 41.55p
2026-08-15 03:55:02.013885: Car 0 charging is not planned as it is not plugged in
2026-08-15 03:55:02.025425: Battery level now 1.44kWh, -1hr ago 1.92kWh, at midnight 1.66kWh, battery value change in the last hour -5.68p, change today -2.55p, rate_forward 11.83p
2026-08-15 03:55:02.025719: Last hour: net energy 0.07kWh, import 0.07kWh, export 0.0kWh, car 0kWh, load 0.6kWh, net cost 1.67p, import 1.67p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 03:55:02.068053: Today's energy total net 4.1kWh, import 4.1kWh, export 0.0kWh, cost 160.13p, import 110.15p, export 0.0p, carbon 0.0kg
2026-08-15 03:55:02.068207: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 03:55:02.141505: Using weighted-bucket historical load forecast over 14 days
2026-08-15 03:55:02.163744: Today's load divergence 105.56%, in-day adjustment 137.49%, damping 0.95x, yesterday 143.77% today 105.28% blend 83.68%
2026-08-15 03:55:02.164325: Today's predicted so far 2.82kWh with 0.0kWh car/iBoost excluded, 1.94kWh import ignored, and 2.82kWh forecast extra.
2026-08-15 03:55:02.164386: Today's actual load so far 3.74kWh with 0.0kWh car/iBoost excluded, and 1.94kWh import ignored.
2026-08-15 03:55:02.203041: Inverter 0: Type SK Sunsynk
2026-08-15 03:55:02.203123: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 03:55:02.203329: Reserve min: 7%, battery_min: 7%
2026-08-15 03:55:02.203386: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 03:55:02.203593: Inverter 0 SoC: 1.44kW 9%, current charge rate 5000W, current discharge rate 5250W, current battery power 508W, current battery voltage 51.2V, grid power -53W, load power 567W, PV Power 0W
2026-08-15 03:55:02.203730: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 03:55:02.203805: Inverter 0 scheduled charge enable is False
2026-08-15 03:55:02.203829: Inverter 0 charge windows currently []
2026-08-15 03:55:02.203850: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 03:55:02.203932: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 03:55:02.203961: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 03:55:02.203990: Inverter 0 scheduled discharge enable is False
2026-08-15 03:55:02.204091: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 03:55:02.204121: Inverter 0 discharge windows currently []
2026-08-15 03:55:02.204152: Note: Inverter does not support discharge freeze - disabled
2026-08-15 03:55:02.204169: Note: Inverter does not support charge freeze - disabled
2026-08-15 03:55:02.204183: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 03:55:02.259811: Dynamic load last period 0.60kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 03:55:02.259916: Plan was last updated on 2026-08-15 03:50:00+01:00 and is now 5.0 minutes old
2026-08-15 03:55:02.260206: Best charge window [ 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 00:30:00 @ 28.84p 100% ]
2026-08-15 03:55:02.260251: Best export window [  ]
2026-08-15 03:55:02.261129: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 03:55:02.264206: Load divergence over 8.0 hours mean 466.83W, min 287.4W, max 1543.2W, std dev 215.37W, divergence 23.07%
2026-08-15 03:55:02.279860: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 03:55:02.280403: LoadML is_calculating False
2026-08-15 03:55:02.280483: Creating pool of 12 processes to match your CPU count
2026-08-15 03:55:02.390557: predict base end_record 08-16 11:35:00, final soc 1.12kWh, metric 825.3p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 04:20:00, load 28.47kWh, PV 0.0kWh
2026-08-15 03:55:02.513199: Battery has 0.42 hours left - now at 1.44kWh
2026-08-15 03:55:02.561172: predict base10 end_record 08-16 11:35:00, final soc 1.12kWh, metric 854.96p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 04:15:00, load 29.64kWh, PV 0.0kWh
2026-08-15 03:55:02.665164: predict best10 end_record 08-16 11:35:00, final soc 1.44kWh, metric 686.66p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 04:15:00, load 29.64kWh, PV 0.0kWh
2026-08-15 03:55:02.749975: predict best end_record 08-16 11:35:00, final soc 1.51kWh, metric 659.4p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 04:20:00, load 28.47kWh, PV 0.0kWh
2026-08-15 03:55:02.750104: Saving plan best values to HA entities
2026-08-15 03:55:02.923698: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 03:55:02.929186: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 03:55:02.934691: Best charging limit SoC's [16.0, 3.5, 4.0, 16.0, 16.0, 16.0]kWh, export []kWh gives import battery 21.0kWh, house 5.91kWh, export 0.0kWh, metric 659.4p, metric10 686.66p
2026-08-15 03:55:03.015600: Marginal costs baseline metric (no standing charge): 609.4215
2026-08-15 03:55:03.264901: Marginal energy costs matrix computed: min=14.33 max=27.62
2026-08-15 03:55:03.341522: Rate array import [{'start': 235, 'end': 420, 'rate': 'expensive', 'range': '(24.6p - 27.6p)'}, {'start': 420, 'end': 450, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 450, 'end': 480, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 480, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 23.6p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1860, 'rate': 'expensive', 'range': '(24.6p - 32.9p)'}, {'start': 1860, 'end': 1890, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 1890, 'end': 1920, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 1920, 'end': 2135, 'rate': 'cheap', 'range': '(15.5p - 23.6p)'}] export [{'start': 235, 'end': 2135, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 03:55:03.342233: - Your estimated bill for today is £5.88 and tomorrow is £5.48
2026-08-15 03:55:03.342281: - Import rates are expensive (24.6p - 27.6p) for the next 3 hours and then cheap (22.7p) for the next 30 minutes.
2026-08-15 03:55:03.342304: - The battery is currently at 9% and is in eco mode for the next 7 and a half hours.
2026-08-15 03:55:03.342322: - For the next 48 hours there will be no solar generation.
2026-08-15 03:55:03.342339: - You will run out of battery in 25 minutes.
2026-08-15 03:55:03.342357: - Your next charge slot will be in 7 and a half hours where import rates will be cheap (15.5p).
2026-08-15 03:55:03.342375: 
2026-08-15 03:55:03.397462: Plan calculation took 1.14 seconds
2026-08-15 03:55:03.400664: No high rate period found
2026-08-15 03:55:03.451459: Import threshold used for optimisation was 24.62p
2026-08-15 03:55:03.527045: Low import rate windows [0: 08-15 03:30:00 - 08-15 04:00:00 @ 24.62, 1: 08-15 04:00:00 - 08-15 04:30:00 @ 27.02, 2: 08-15 04:30:00 - 08-15 05:00:00 @ 26.47, 3: 08-15 05:00:00 - 08-15 05:30:00 @ 26.25, 4: 08-15 05:30:00 - 08-15 06:00:00 @ 26.4, 5: 08-15 06:00:00 - 08-15 06:30:00 @ 25.7, 6: 08-15 06:30:00 - 08-15 07:00:00 @ 27.63, 7: 08-15 07:00:00 - 08-15 07:30:00 @ 22.73, 8: 08-15 07:30:00 - 08-15 08:00:00 @ 26.7, 9: 08-15 08:00:00 - 08-15 08:30:00 @ 22.92, 10: 08-15 08:30:00 - 08-15 09:00:00 @ 22.48, 11: 08-15 09:00:00 - 08-15 09:30:00 @ 23.55, 12: 08-15 09:30:00 - 08-15 10:00:00 @ 23.64, 13: 08-15 10:00:00 - 08-15 10:30:00 @ 19.66, 14: 08-15 10:30:00 - 08-15 11:00:00 @ 17.66, 15: 08-15 11:00:00 - 08-15 11:30:00 @ 16.56, 16: 08-15 11:30:00 - 08-15 12:00:00 @ 15.46, 17: 08-15 12:00:00 - 08-15 12:30:00 @ 17.0, 18: 08-15 12:30:00 - 08-15 13:00:00 @ 16.34, 19: 08-15 13:00:00 - 08-15 13:30:00 @ 15.36, 20: 08-15 13:30:00 - 08-15 14:00:00 @ 15.74, 21: 08-15 14:00:00 - 08-15 14:30:00 @ 14.57, 22: 08-15 14:30:00 - 08-15 15:00:00 @ 13.77, 23: 08-15 15:00:00 - 08-15 15:30:00 @ 15.02, 24: 08-15 15:30:00 - 08-15 16:00:00 @ 15.87, 25: 08-15 16:00:00 - 08-15 16:30:00 @ 33.13, 26: 08-15 16:30:00 - 08-15 17:00:00 @ 33.13, 27: 08-15 17:00:00 - 08-15 17:30:00 @ 38.46, 28: 08-15 17:30:00 - 08-15 18:00:00 @ 40.44, 29: 08-15 18:00:00 - 08-15 18:30:00 @ 41.55, 30: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 31: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 32: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 33: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 34: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 35: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 36: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 37: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 38: 08-15 23:00:00 - 08-15 23:30:00 @ 27.8, 39: 08-15 23:30:00 - 08-16 00:00:00 @ 29.09, 40: 08-16 00:00:00 - 08-16 00:30:00 @ 28.47, 41: 08-16 00:30:00 - 08-16 01:00:00 @ 27.18, 42: 08-16 01:00:00 - 08-16 01:30:00 @ 27.57, 43: 08-16 01:30:00 - 08-16 02:00:00 @ 26.5, 44: 08-16 02:00:00 - 08-16 02:30:00 @ 25.6, 45: 08-16 02:30:00 - 08-16 03:00:00 @ 24.79, 46: 08-16 03:00:00 - 08-16 03:30:00 @ 25.08, 47: 08-16 03:30:00 - 08-16 04:00:00 @ 24.62, 48: 08-16 04:00:00 - 08-16 04:30:00 @ 27.02, 49: 08-16 04:30:00 - 08-16 05:00:00 @ 26.47, 50: 08-16 05:00:00 - 08-16 05:30:00 @ 26.25, 51: 08-16 05:30:00 - 08-16 06:00:00 @ 26.4, 52: 08-16 06:00:00 - 08-16 06:30:00 @ 25.7, 53: 08-16 06:30:00 - 08-16 07:00:00 @ 27.63, 54: 08-16 07:00:00 - 08-16 07:30:00 @ 22.73, 55: 08-16 07:30:00 - 08-16 08:00:00 @ 26.7, 56: 08-16 08:00:00 - 08-16 08:30:00 @ 22.92, 57: 08-16 08:30:00 - 08-16 09:00:00 @ 22.48, 58: 08-16 09:00:00 - 08-16 09:30:00 @ 23.55, 59: 08-16 09:30:00 - 08-16 10:00:00 @ 23.64, 60: 08-16 10:00:00 - 08-16 10:30:00 @ 19.66, 61: 08-16 10:30:00 - 08-16 11:00:00 @ 17.66, 62: 08-16 11:00:00 - 08-16 11:30:00 @ 16.56, 63: 08-16 11:30:00 - 08-16 12:00:00 @ 15.46, 64: 08-16 12:00:00 - 08-16 12:30:00 @ 17.0, 65: 08-16 12:30:00 - 08-16 13:00:00 @ 16.34, 66: 08-16 13:00:00 - 08-16 13:30:00 @ 15.36, 67: 08-16 13:30:00 - 08-16 14:00:00 @ 15.74, 68: 08-16 14:00:00 - 08-16 14:30:00 @ 14.57, 69: 08-16 14:30:00 - 08-16 15:00:00 @ 13.77, 70: 08-16 15:00:00 - 08-16 15:30:00 @ 15.02, 71: 08-16 15:30:00 - 08-16 16:00:00 @ 15.87, 72: 08-16 16:00:00 - 08-16 16:30:00 @ 33.13, 73: 08-16 16:30:00 - 08-16 17:00:00 @ 33.13, 74: 08-16 17:00:00 - 08-16 17:30:00 @ 38.46, 75: 08-16 17:30:00 - 08-16 18:00:00 @ 40.44, 76: 08-16 18:00:00 - 08-16 18:30:00 @ 41.55, 77: 08-16 19:00:00 - 08-16 19:30:00 @ 32.58, 78: 08-16 19:30:00 - 08-16 20:00:00 @ 32.9, 79: 08-16 20:00:00 - 08-16 20:30:00 @ 31.99, 80: 08-16 20:30:00 - 08-16 21:00:00 @ 32.1, 81: 08-16 21:00:00 - 08-16 21:30:00 @ 31.71, 82: 08-16 21:30:00 - 08-16 22:00:00 @ 31.67, 83: 08-16 22:00:00 - 08-16 22:30:00 @ 31.77, 84: 08-16 22:30:00 - 08-16 23:00:00 @ 29.81, 85: 08-16 23:00:00 - 08-16 23:30:00 @ 27.8, 86: 08-16 23:30:00 - 08-17 00:00:00 @ 29.09, 87: 08-17 00:00:00 - 08-17 00:30:00 @ 28.47, 88: 08-17 00:30:00 - 08-17 01:00:00 @ 27.18, 89: 08-17 01:00:00 - 08-17 01:30:00 @ 27.57, 90: 08-17 01:30:00 - 08-17 02:00:00 @ 26.5, 91: 08-17 02:00:00 - 08-17 02:30:00 @ 25.6, 92: 08-17 02:30:00 - 08-17 03:00:00 @ 24.79, 93: 08-17 03:00:00 - 08-17 03:30:00 @ 25.08, 94: 08-17 03:30:00 - 08-17 04:00:00 @ 24.62]
2026-08-15 03:55:03.537945: Inverter 0 Charge window will be: 2026-08-15 11:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 9%, target 100%
2026-08-15 03:55:03.539507: Inverter 0 disabled charge window while waiting for schedule (now 08-15 03:55:00 target set_window_minutes 30 charge start time 08-15 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 03:55:03.539656: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 03:55:03.539926: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 03:55:03.540045: No export window planned
2026-08-15 03:55:03.540197: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 03:55:03.540264: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 03:55:03.540403: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 03:55:03.540653: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 03:55:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 03:55:03.540763: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 03:55:03.541007: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 03:55:03.541126: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 03:55:03.541187: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 03:55:03.541217: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 03:55:03.541243: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 03:55:03.541289: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 03:55:03.541315: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 03:55:03.541348: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 03:55:03.541411: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 03:55:03.541440: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 03:55:03.541465: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 03:55:03.541494: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 03:55:03.541518: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 03:55:03.541541: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 03:55:03.541565: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 03:55:03.541584: Inverter 0 count register writes 0
2026-08-15 03:55:03.570019: Will not recompute the plan, it is 5.0 minutes old and max age is 10 minutes
2026-08-15 03:55:03.578722: Total inverter register writes now 815
2026-08-15 03:55:03.636936: Info: Completed run status Demand
2026-08-15 03:55:03.649919: Info: record_status Demand
2026-08-15 03:55:03.665202: Saved current settings to /config/predbat_config.json
2026-08-15 03:55:03.665564: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 03:55:41.802128: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 03:55:41.802398: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 03:55:41.802448: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 03:55:41.802615: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 03:55:41.802659: Note: Inverter does not support discharge freeze - disabled
2026-08-15 03:55:41.802681: Note: Inverter does not support charge freeze - disabled
2026-08-15 03:55:41.802698: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 03:57:28.036634: TemperatureAPI: Using coordinates latitude 53.4, longitude -2.2
2026-08-15 03:57:28.764703: TemperatureAPI: Successfully fetched temperature data from Open-Meteo API
2026-08-15 03:57:42.028830: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 03:57:42.029230: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 03:57:42.029290: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 03:57:42.029485: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 03:57:42.029539: Note: Inverter does not support discharge freeze - disabled
2026-08-15 03:57:42.029566: Note: Inverter does not support charge freeze - disabled
2026-08-15 03:57:42.029599: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 03:59:04.549194: Info: HAHistory: Pruning history data started.
2026-08-15 03:59:04.552456: Info: HAHistory: Pruning history data completed.
2026-08-15 03:59:42.267545: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 03:59:42.267789: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 03:59:42.267826: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 03:59:42.267986: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 03:59:42.268027: Note: Inverter does not support discharge freeze - disabled
2026-08-15 03:59:42.268048: Note: Inverter does not support charge freeze - disabled
2026-08-15 03:59:42.268066: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 04:00:00.365938: --------------- PredBat - update at 2026-08-15 04:00:00+01:00 with clock skew 0 minutes, minutes now 240
2026-08-15 04:00:00.367163: Saved current settings to /config/predbat_config.json
2026-08-15 04:00:00.367360: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 115.0 minutes
2026-08-15 04:00:00.367516: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.1, latest beta is v8.48.1
2026-08-15 04:00:00.367635: Autoupdate: Currently up to date
2026-08-15 04:00:00.397603: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 04:00:00.397745: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 04:00:00.398030: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 04:00:00.398923: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 04:00:00.399064: Predbat mode is set to Control charge & discharge
2026-08-15 04:00:00.679074: Found 21602 load_today datapoints going back 27 days
2026-08-15 04:00:00.679322: Using load_power data to fill gaps in load_today data
2026-08-15 04:00:02.502869: Processing 721 30-minute periods for power integration
2026-08-15 04:00:02.882477: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 04:00:02.882673: Car charging hold False, threshold 6.0kWh
2026-08-15 04:00:02.882795: Current data so far today: load 3.7kWh, import 4.1kWh, export 0.0kWh, PV 0kWh
2026-08-15 04:00:02.914608: Cars: SoC: [12.892000000000001]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 04:00:02.915375: Standing charge is set to 49.98p
2026-08-15 04:00:03.001681: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 04:00:03.001923: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 04:00:03.002329: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 240.0 minutes
2026-08-15 04:00:03.003088: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 239.7 minutes
2026-08-15 04:00:03.013256: Loaded 47 datapoints of futurerate analysis
2026-08-15 04:00:03.162291: Predicted future rates: ['08-15 00:00:00 => 28.9 / 20.01', '08-15 01:00:00 => 27.54 / 19.31', '08-15 02:00:00 => 26.52 / 18.8', '08-15 03:00:00 => 25.99 / 18.53', '08-15 04:00:00 => 25.8 / 18.43', '08-15 05:00:00 => 25.96 / 18.51', '08-15 06:00:00 => 25.55 / 18.3', '08-15 07:00:00 => 24.33 / 17.68', '08-15 08:00:00 => 23.03 / 17.01', '08-15 09:00:00 => 22.05 / 16.51', '08-15 10:00:00 => 20.43 / 15.68', '08-15 11:00:00 => 18.01 / 14.45', '08-15 12:00:00 => 16.37 / 13.61', '08-15 13:00:00 => 15.76 / 13.3', '08-15 14:00:00 => 15.35 / 13.09', '08-15 15:00:00 => 15.86 / 13.35', '08-15 16:00:00 => 32.89 / 16.13', '08-15 17:00:00 => 38.02 / 18.75', '08-15 18:00:00 => 42.36 / 20.96', '08-15 19:00:00 => 31.09 / 21.13', '08-15 20:00:00 => 31.64 / 21.41', '08-15 21:00:00 => 31.64 / 21.41', '08-15 22:00:00 => 30.58 / 20.87']
2026-08-15 04:00:03.244629: Rate min forward looking: now 13.77p at end of forecast 13.77p
2026-08-15 04:00:03.245291: Import rates: min 13.77p, max 43.82p, average 25.96p
2026-08-15 04:00:03.314613: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 04:00:03.314769: Rate thresholds (for charge/export) are import 43.32p (0.0p), export -0.1p (0.0p)
2026-08-15 04:00:03.316339: High export rate found rates in range 99p to -99p
2026-08-15 04:00:03.434816: Low Import rate found rates in range 13.77p to 41.55p
2026-08-15 04:00:03.435044: Car 0 charging is not planned as it is not plugged in
2026-08-15 04:00:03.452085: Battery level now 1.44kWh, -1hr ago 1.92kWh, at midnight 1.66kWh, battery value change in the last hour -5.68p, change today -2.55p, rate_forward 11.83p
2026-08-15 04:00:03.452472: Last hour: net energy 0.05kWh, import 0.05kWh, export 0.0kWh, car 0kWh, load 0.45kWh, net cost 1.25p, import 1.25p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 04:00:03.530667: Today's energy total net 4.1kWh, import 4.1kWh, export 0.0kWh, cost 160.13p, import 110.15p, export 0.0p, carbon 0.0kg
2026-08-15 04:00:03.530853: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 04:00:03.627488: Using weighted-bucket historical load forecast over 14 days
2026-08-15 04:00:03.653010: Today's load divergence 105.2%, in-day adjustment 137.3%, damping 0.95x, yesterday 143.77% today 104.94% blend 83.33%
2026-08-15 04:00:03.653306: Today's predicted so far 2.92kWh with 0.0kWh car/iBoost excluded, 1.82kWh import ignored, and 2.92kWh forecast extra.
2026-08-15 04:00:03.653446: Today's actual load so far 3.78kWh with 0.0kWh car/iBoost excluded, and 1.82kWh import ignored.
2026-08-15 04:00:03.711055: Inverter 0: Type SK Sunsynk
2026-08-15 04:00:03.711212: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 04:00:03.711559: Reserve min: 7%, battery_min: 7%
2026-08-15 04:00:03.711713: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 04:00:03.712256: Inverter 0 SoC: 1.42kW 9%, current charge rate 5000W, current discharge rate 5250W, current battery power -4472W, current battery voltage 51.2V, grid power -5467W, load power 471W, PV Power 0W
2026-08-15 04:00:03.712532: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 04:00:03.712691: Inverter 0 scheduled charge enable is False
2026-08-15 04:00:03.712762: Inverter 0 charge windows currently []
2026-08-15 04:00:03.712824: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 04:00:03.713088: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 04:00:03.713189: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 04:00:03.713275: Inverter 0 scheduled discharge enable is False
2026-08-15 04:00:03.713550: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 04:00:03.713627: Inverter 0 discharge windows currently []
2026-08-15 04:00:03.713673: Note: Inverter does not support discharge freeze - disabled
2026-08-15 04:00:03.713719: Note: Inverter does not support charge freeze - disabled
2026-08-15 04:00:03.713756: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 04:00:03.822883: Dynamic load last period 0.00kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 04:00:03.823055: Plan was last updated on 2026-08-15 03:50:00+01:00 and is now 10.0 minutes old
2026-08-15 04:00:03.823395: Best charge window [ 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 00:30:00 @ 28.84p 100% ]
2026-08-15 04:00:03.823468: Best export window [  ]
2026-08-15 04:00:03.824797: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 04:00:03.829905: Load divergence over 8.0 hours mean 473.24W, min 281.4W, max 1483.8W, std dev 224.31W, divergence 23.7%
2026-08-15 04:00:03.857249: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 04:00:03.857386: LoadML is_calculating False
2026-08-15 04:00:03.857454: Creating pool of 12 processes to match your CPU count
2026-08-15 04:00:04.027435: predict base end_record 08-16 11:40:00, final soc 1.12kWh, metric 823.65p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 04:20:00, load 28.32kWh, PV 0.0kWh
2026-08-15 04:00:04.216530: Battery has 0.33 hours left - now at 1.42kWh
2026-08-15 04:00:04.266034: predict base10 end_record 08-16 11:40:00, final soc 1.12kWh, metric 853.19p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 04:20:00, load 29.49kWh, PV 0.0kWh
2026-08-15 04:00:04.372576: predict best10 end_record 08-16 11:40:00, final soc 1.77kWh, metric 690.79p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 04:20:00, load 29.49kWh, PV 0.0kWh
2026-08-15 04:00:04.490130: predict best end_record 08-16 11:40:00, final soc 1.9kWh, metric 664.96p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 04:20:00, load 28.32kWh, PV 0.0kWh
2026-08-15 04:00:04.490932: Saving plan best values to HA entities
2026-08-15 04:00:04.743525: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0
2026-08-15 04:00:04.749559: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 04:00:04.755431: Best charging limit SoC's [16.0, 3.5, 4.0, 16.0, 16.0, 16.0]kWh, export []kWh gives import battery 21.49kWh, house 5.81kWh, export 0.0kWh, metric 664.96p, metric10 690.79p
2026-08-15 04:00:04.842700: Marginal costs baseline metric (no standing charge): 614.9769
2026-08-15 04:00:05.155909: Marginal energy costs matrix computed: min=14.17 max=28.67
2026-08-15 04:00:05.245237: Rate array import [{'start': 240, 'end': 420, 'rate': 'expensive', 'range': '(25.7p - 27.6p)'}, {'start': 420, 'end': 450, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 450, 'end': 480, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 480, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 23.6p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1860, 'rate': 'expensive', 'range': '(24.6p - 32.9p)'}, {'start': 1860, 'end': 1890, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 1890, 'end': 1920, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 1920, 'end': 2140, 'rate': 'cheap', 'range': '(15.5p - 23.6p)'}] export [{'start': 240, 'end': 2140, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 04:00:05.246059: - Your estimated bill for today is £5.87 and tomorrow is £5.45
2026-08-15 04:00:05.246111: - Import rates are expensive (25.7p - 27.6p) for the next 3 hours and then cheap (22.7p) for the next 30 minutes.
2026-08-15 04:00:05.246135: - The battery is currently at 9% and is in eco mode for the next 7 and a half hours.
2026-08-15 04:00:05.246168: - For the next 48 hours there will be no solar generation.
2026-08-15 04:00:05.246187: - You will run out of battery in 20 minutes.
2026-08-15 04:00:05.246205: - Your next charge slot will be in 7 and a half hours where import rates will be cheap (15.5p).
2026-08-15 04:00:05.246223: 
2026-08-15 04:00:05.316797: Plan calculation took 1.49 seconds
2026-08-15 04:00:05.320360: No high rate period found
2026-08-15 04:00:05.384075: Import threshold used for optimisation was 24.62p
2026-08-15 04:00:05.471553: Low import rate windows [0: 08-15 04:00:00 - 08-15 04:30:00 @ 27.02, 1: 08-15 04:30:00 - 08-15 05:00:00 @ 26.47, 2: 08-15 05:00:00 - 08-15 05:30:00 @ 26.25, 3: 08-15 05:30:00 - 08-15 06:00:00 @ 26.4, 4: 08-15 06:00:00 - 08-15 06:30:00 @ 25.7, 5: 08-15 06:30:00 - 08-15 07:00:00 @ 27.63, 6: 08-15 07:00:00 - 08-15 07:30:00 @ 22.73, 7: 08-15 07:30:00 - 08-15 08:00:00 @ 26.7, 8: 08-15 08:00:00 - 08-15 08:30:00 @ 22.92, 9: 08-15 08:30:00 - 08-15 09:00:00 @ 22.48, 10: 08-15 09:00:00 - 08-15 09:30:00 @ 23.55, 11: 08-15 09:30:00 - 08-15 10:00:00 @ 23.64, 12: 08-15 10:00:00 - 08-15 10:30:00 @ 19.66, 13: 08-15 10:30:00 - 08-15 11:00:00 @ 17.66, 14: 08-15 11:00:00 - 08-15 11:30:00 @ 16.56, 15: 08-15 11:30:00 - 08-15 12:00:00 @ 15.46, 16: 08-15 12:00:00 - 08-15 12:30:00 @ 17.0, 17: 08-15 12:30:00 - 08-15 13:00:00 @ 16.34, 18: 08-15 13:00:00 - 08-15 13:30:00 @ 15.36, 19: 08-15 13:30:00 - 08-15 14:00:00 @ 15.74, 20: 08-15 14:00:00 - 08-15 14:30:00 @ 14.57, 21: 08-15 14:30:00 - 08-15 15:00:00 @ 13.77, 22: 08-15 15:00:00 - 08-15 15:30:00 @ 15.02, 23: 08-15 15:30:00 - 08-15 16:00:00 @ 15.87, 24: 08-15 16:00:00 - 08-15 16:30:00 @ 33.13, 25: 08-15 16:30:00 - 08-15 17:00:00 @ 33.13, 26: 08-15 17:00:00 - 08-15 17:30:00 @ 38.46, 27: 08-15 17:30:00 - 08-15 18:00:00 @ 40.44, 28: 08-15 18:00:00 - 08-15 18:30:00 @ 41.55, 29: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 30: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 31: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 32: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 33: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 34: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 35: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 36: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 37: 08-15 23:00:00 - 08-15 23:30:00 @ 27.8, 38: 08-15 23:30:00 - 08-16 00:00:00 @ 29.09, 39: 08-16 00:00:00 - 08-16 00:30:00 @ 28.47, 40: 08-16 00:30:00 - 08-16 01:00:00 @ 27.18, 41: 08-16 01:00:00 - 08-16 01:30:00 @ 27.57, 42: 08-16 01:30:00 - 08-16 02:00:00 @ 26.5, 43: 08-16 02:00:00 - 08-16 02:30:00 @ 25.6, 44: 08-16 02:30:00 - 08-16 03:00:00 @ 24.79, 45: 08-16 03:00:00 - 08-16 03:30:00 @ 25.08, 46: 08-16 03:30:00 - 08-16 04:00:00 @ 24.62, 47: 08-16 04:00:00 - 08-16 04:30:00 @ 27.02, 48: 08-16 04:30:00 - 08-16 05:00:00 @ 26.47, 49: 08-16 05:00:00 - 08-16 05:30:00 @ 26.25, 50: 08-16 05:30:00 - 08-16 06:00:00 @ 26.4, 51: 08-16 06:00:00 - 08-16 06:30:00 @ 25.7, 52: 08-16 06:30:00 - 08-16 07:00:00 @ 27.63, 53: 08-16 07:00:00 - 08-16 07:30:00 @ 22.73, 54: 08-16 07:30:00 - 08-16 08:00:00 @ 26.7, 55: 08-16 08:00:00 - 08-16 08:30:00 @ 22.92, 56: 08-16 08:30:00 - 08-16 09:00:00 @ 22.48, 57: 08-16 09:00:00 - 08-16 09:30:00 @ 23.55, 58: 08-16 09:30:00 - 08-16 10:00:00 @ 23.64, 59: 08-16 10:00:00 - 08-16 10:30:00 @ 19.66, 60: 08-16 10:30:00 - 08-16 11:00:00 @ 17.66, 61: 08-16 11:00:00 - 08-16 11:30:00 @ 16.56, 62: 08-16 11:30:00 - 08-16 12:00:00 @ 15.46, 63: 08-16 12:00:00 - 08-16 12:30:00 @ 17.0, 64: 08-16 12:30:00 - 08-16 13:00:00 @ 16.34, 65: 08-16 13:00:00 - 08-16 13:30:00 @ 15.36, 66: 08-16 13:30:00 - 08-16 14:00:00 @ 15.74, 67: 08-16 14:00:00 - 08-16 14:30:00 @ 14.57, 68: 08-16 14:30:00 - 08-16 15:00:00 @ 13.77, 69: 08-16 15:00:00 - 08-16 15:30:00 @ 15.02, 70: 08-16 15:30:00 - 08-16 16:00:00 @ 15.87, 71: 08-16 16:00:00 - 08-16 16:30:00 @ 33.13, 72: 08-16 16:30:00 - 08-16 17:00:00 @ 33.13, 73: 08-16 17:00:00 - 08-16 17:30:00 @ 38.46, 74: 08-16 17:30:00 - 08-16 18:00:00 @ 40.44, 75: 08-16 18:00:00 - 08-16 18:30:00 @ 41.55, 76: 08-16 19:00:00 - 08-16 19:30:00 @ 32.58, 77: 08-16 19:30:00 - 08-16 20:00:00 @ 32.9, 78: 08-16 20:00:00 - 08-16 20:30:00 @ 31.99, 79: 08-16 20:30:00 - 08-16 21:00:00 @ 32.1, 80: 08-16 21:00:00 - 08-16 21:30:00 @ 31.71, 81: 08-16 21:30:00 - 08-16 22:00:00 @ 31.67, 82: 08-16 22:00:00 - 08-16 22:30:00 @ 31.77, 83: 08-16 22:30:00 - 08-16 23:00:00 @ 29.81, 84: 08-16 23:00:00 - 08-16 23:30:00 @ 27.8, 85: 08-16 23:30:00 - 08-17 00:00:00 @ 29.09, 86: 08-17 00:00:00 - 08-17 00:30:00 @ 28.47, 87: 08-17 00:30:00 - 08-17 01:00:00 @ 27.18, 88: 08-17 01:00:00 - 08-17 01:30:00 @ 27.57, 89: 08-17 01:30:00 - 08-17 02:00:00 @ 26.5, 90: 08-17 02:00:00 - 08-17 02:30:00 @ 25.6, 91: 08-17 02:30:00 - 08-17 03:00:00 @ 24.79, 92: 08-17 03:00:00 - 08-17 03:30:00 @ 25.08, 93: 08-17 03:30:00 - 08-17 04:00:00 @ 24.62]
2026-08-15 04:00:05.481722: Inverter 0 Charge window will be: 2026-08-15 11:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 9%, target 100%
2026-08-15 04:00:05.481851: Inverter 0 disabled charge window while waiting for schedule (now 08-15 04:00:00 target set_window_minutes 30 charge start time 08-15 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 04:00:05.481992: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 04:00:05.482271: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 04:00:05.482376: No export window planned
2026-08-15 04:00:05.482483: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 04:00:05.482514: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 04:00:05.482633: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 04:00:05.482834: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 04:00:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 04:00:05.482926: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 04:00:05.482993: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 04:00:05.483113: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 04:00:05.483169: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 04:00:05.483194: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 04:00:05.483215: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 04:00:05.483236: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 04:00:05.483259: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 04:00:05.483279: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 04:00:05.483338: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 04:00:05.483371: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 04:00:05.483393: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 04:00:05.483412: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 04:00:05.483431: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 04:00:05.483450: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 04:00:05.483469: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 04:00:05.483485: Inverter 0 count register writes 0
2026-08-15 04:00:05.505540: Will recompute the plan as it is now 10.0 minutes old and will exceed the max age of 10 minutes before the next run
2026-08-15 04:00:05.505769: Recompute is saving previous plan...
2026-08-15 04:00:05.509914: Best charge window [ 15-08 04:00:00 - 15-08 04:30:00 @ 27.02p 0%, 15-08 04:30:00 - 15-08 05:00:00 @ 26.47p 0%, 15-08 05:00:00 - 15-08 05:30:00 @ 26.25p 0%, 15-08 05:30:00 - 15-08 06:00:00 @ 26.4p 0%, 15-08 06:00:00 - 15-08 06:30:00 @ 25.7p 0%, 15-08 06:30:00 - 15-08 07:00:00 @ 27.63p 0%, 15-08 07:00:00 - 15-08 07:30:00 @ 22.73p 0%, 15-08 07:30:00 - 15-08 08:00:00 @ 26.7p 0%, 15-08 08:00:00 - 15-08 08:30:00 @ 22.92p 0%, 15-08 08:30:00 - 15-08 09:00:00 @ 22.48p 0%, 15-08 09:00:00 - 15-08 09:30:00 @ 23.55p 0%, 15-08 09:30:00 - 15-08 10:00:00 @ 23.64p 0%, 15-08 10:00:00 - 15-08 10:30:00 @ 19.66p 0%, 15-08 10:30:00 - 15-08 11:00:00 @ 17.66p 0%, 15-08 11:00:00 - 15-08 11:30:00 @ 16.56p 0%, 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 0%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 0%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 0%, 15-08 13:00:00 - 15-08 13:30:00 @ 15.36p 0%, 15-08 13:30:00 - 15-08 14:00:00 @ 15.74p 0%, 15-08 14:00:00 - 15-08 14:30:00 @ 14.57p 0%, 15-08 14:30:00 - 15-08 15:00:00 @ 13.77p 0%, 15-08 15:00:00 - 15-08 15:30:00 @ 15.02p 0%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 0%, 15-08 16:00:00 - 15-08 16:30:00 @ 33.13p 0%, 15-08 16:30:00 - 15-08 17:00:00 @ 33.13p 0%, 15-08 17:00:00 - 15-08 17:30:00 @ 38.46p 0%, 15-08 17:30:00 - 15-08 18:00:00 @ 40.44p 0%, 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 0%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 0%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 0%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 0%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 0%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 27.8p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 29.09p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.47p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.18p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 27.57p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.5p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.6p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 24.79p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 25.08p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 24.62p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 27.02p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.47p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 26.25p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.4p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.7p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 27.63p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 22.73p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 26.7p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 22.92p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 22.48p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 23.55p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 23.64p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 19.66p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 17.66p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 16.56p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 15.46p 0%, 16-08 12:00:00 - 16-08 12:30:00 @ 17.0p 0%, 16-08 12:30:00 - 16-08 13:00:00 @ 16.34p 0%, 16-08 13:00:00 - 16-08 13:30:00 @ 15.36p 0%, 16-08 13:30:00 - 16-08 14:00:00 @ 15.74p 0%, 16-08 14:00:00 - 16-08 14:30:00 @ 14.57p 0%, 16-08 14:30:00 - 16-08 15:00:00 @ 13.77p 0%, 16-08 15:00:00 - 16-08 15:30:00 @ 15.02p 0%, 16-08 15:30:00 - 16-08 16:00:00 @ 15.87p 0%, 16-08 16:00:00 - 16-08 16:30:00 @ 33.13p 0%, 16-08 16:30:00 - 16-08 17:00:00 @ 33.13p 0%, 16-08 17:00:00 - 16-08 17:30:00 @ 38.46p 0%, 16-08 17:30:00 - 16-08 18:00:00 @ 40.44p 0%, 16-08 18:00:00 - 16-08 18:30:00 @ 41.55p 0%, 16-08 19:00:00 - 16-08 19:30:00 @ 32.58p 0%, 16-08 19:30:00 - 16-08 20:00:00 @ 32.9p 0%, 16-08 20:00:00 - 16-08 20:30:00 @ 31.99p 0%, 16-08 20:30:00 - 16-08 21:00:00 @ 32.1p 0%, 16-08 21:00:00 - 16-08 21:30:00 @ 31.71p 0%, 16-08 21:30:00 - 16-08 22:00:00 @ 31.67p 0%, 16-08 22:00:00 - 16-08 22:30:00 @ 31.77p 0%, 16-08 22:30:00 - 16-08 23:00:00 @ 29.81p 0%, 16-08 23:00:00 - 16-08 23:30:00 @ 27.8p 0%, 16-08 23:30:00 - 17-08 00:00:00 @ 29.09p 0%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.47p 0%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.18p 0%, 17-08 01:00:00 - 17-08 01:30:00 @ 27.57p 0%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.5p 0%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.6p 0%, 17-08 02:30:00 - 17-08 03:00:00 @ 24.79p 0%, 17-08 03:00:00 - 17-08 03:30:00 @ 25.08p 0%, 17-08 03:30:00 - 17-08 04:00:00 @ 24.62p 0% ]
2026-08-15 04:00:05.510025: Best export window [  ]
2026-08-15 04:00:05.511405: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 04:00:05.515688: Load divergence over 8.0 hours mean 473.24W, min 281.4W, max 1483.8W, std dev 224.31W, divergence 23.7%
2026-08-15 04:00:05.530638: Calculating data from yesterday for savings calculation
2026-08-15 04:00:05.541793: Yesterday basic charge window best: [{'start': 840, 'end': 870, 'average': 21.7}] charge limit best: [16.0] based on max charge slots 1
2026-08-15 04:00:05.589448: predict yesterday end_record 08-16 00:00:00, final soc 1.12kWh, metric 843.72p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 00:00:00, load 26.2kWh, PV 0.0kWh
2026-08-15 04:00:05.607482: predict yesterday10 end_record 08-16 00:00:00, final soc 1.12kWh, metric 848.0p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 00:00:00, load 26.2kWh, PV 0.0kWh
2026-08-15 04:00:05.629862: predict yesterday end_record 08-16 00:00:00, final soc 1.12kWh, metric 843.72p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 00:00:00, load 26.2kWh, PV 0.0kWh
2026-08-15 04:00:05.667740: Yesterday: Predbat disabled was £8.44 (adjusted £8.3) vs £7.38 (adjusted £7.17), saving £1.05 (adjusted £1.13) with import 26.53kWh, export 0.0kWh, battery_cycle 4.66kWh, start_soc 1.12kWh,  final_soc 1.12kWh and battery_value 13.25kWh
2026-08-15 04:00:05.747484: predict yesterday end_record 08-16 00:00:00, final soc 0.0kWh, metric 852.35p, metric_keep 0kWh, min_soc 0kWh @ 08-15 00:00:00, load 26.2kWh, PV 0.0kWh
2026-08-15 04:00:05.747694: Yesterday: No Battery/PV system cost predicted was £8.52 (adjusted £8.52) vs £7.38 (adjusted £7.17), saving £1.14 (adjusted £1.35) with import 26.2kWh, export 0kWh and battery_value 0.0kWh
2026-08-15 04:00:05.761664: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 04:00:05.761810: LoadML is_calculating False
2026-08-15 04:00:05.761892: Creating pool of 12 processes to match your CPU count
2026-08-15 04:00:05.856315: Calculate Best options: mode(Control charge & discharge), calculate_export_oncharge(False), calculate_export_on_pv(True), set_export_freeze_only(False), set_discharge_during_charge(True), combine_charge_slots(False), combine_export_slots(False), combine_rate_threshold(0.0), best_soc_min(0.0 kWh), best_soc_max(0.0 kWh), best_soc_keep(0.0 kWh), inverter_loss(4%), battery_loss(3%), battery_loss_discharge (3%), inverter_hybrid(True), metric_min_improvement(0.0p), metric_min_improvement_export(0.1p), metric_min_improvement_export_freeze(0.1p), metric_battery_cycle(0.0p/kWh), metric_battery_value_scaling(1.0 x) 
2026-08-15 04:00:05.858671: Optimise levels pass started at 2026-08-15 04:00:05
2026-08-15 04:00:05.858767: Optimise all windows, total charge 94 export 1
2026-08-15 04:00:07.589237: >> Region optimisation pass width 960 gives best_metric 794.26p, best_cost 801.61p, best_cycle 52.96kWh, best_import 39.87kWh
2026-08-15 04:00:08.449747: >> Region optimisation pass width 480 gives best_metric 794.26p, best_cost 801.61p, best_cycle 52.96kWh, best_import 39.87kWh
2026-08-15 04:00:09.030307: >> Region optimisation pass width 240 gives best_metric 794.26p, best_cost 801.61p, best_cycle 52.96kWh, best_import 39.87kWh
2026-08-15 04:00:10.394924: >> Region optimisation pass width 120 gives best_metric 794.26p, best_cost 801.61p, best_cycle 52.96kWh, best_import 39.87kWh
2026-08-15 04:00:10.395693: Calculated end_record as 08-16 11:30:00 based on best_price 16.34p, next_charge_start 08-15 11:30:00, max_windows 62
2026-08-15 04:00:10.395814: Optimise levels pass ended at 2026-08-15 04:00:10, duration 4.5 seconds tried 332 combinations
2026-08-15 04:00:10.395900: Set best_price_charge_level 17.6p, best_price_export_level 0p, best_price_charge 16.34p, best_cost_export 0p, best_metric 794.26p, best_keep 0kWh, best_cycle 52.96kWh, best_carbon 0kg, best_import 39.87kWh
2026-08-15 04:00:10.418319: Starting detailed optimisation end_record 08-16 11:30:00, best_price_charge 16.34p, best_price_export 0p. lowest_price_charge 13.77p with charge limits [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0]kWh and export limits []kWh
2026-08-15 04:00:15.772663: Tweak plan optimisation started metric 590.02p, cost 599.12p
2026-08-15 04:00:16.128373: Tweak optimisation finished metric 590.02p, cost 599.12p, metric_keep 0kWh, cycle 30.06kWh, carbon 0kg, import 26.28kWh, changed 8 window(s)
2026-08-15 04:00:16.148981: Swap charge optimisation started metric 590.02p, cost 599.12p, min_improvement_swap 0.1p
2026-08-15 04:00:22.815263: Swap charge optimisation finished metric 590.02p, cost 599.12p
2026-08-15 04:00:22.950139: Pruned 2 dead plan slot(s) in 11 trial(s), nominal metric 585.87p -> 585.87p, plan now metric 590.05p, cost 599.12p, cycle 30.06kWh, import 26.28kWh
2026-08-15 04:00:22.962508: Raw charge windows [ 15-08 04:00:00 - 15-08 04:30:00 @ 27.02p 0%, 15-08 04:30:00 - 15-08 05:00:00 @ 26.47p 0%, 15-08 05:00:00 - 15-08 05:30:00 @ 26.25p 0%, 15-08 05:30:00 - 15-08 06:00:00 @ 26.4p 0%, 15-08 06:00:00 - 15-08 06:30:00 @ 25.7p 0%, 15-08 06:30:00 - 15-08 07:00:00 @ 27.63p 0%, 15-08 07:00:00 - 15-08 07:30:00 @ 22.73p 0%, 15-08 07:30:00 - 15-08 08:00:00 @ 26.7p 0%, 15-08 08:00:00 - 15-08 08:30:00 @ 22.92p 0%, 15-08 08:30:00 - 15-08 09:00:00 @ 22.48p 0%, 15-08 09:00:00 - 15-08 09:30:00 @ 23.55p 0%, 15-08 09:30:00 - 15-08 10:00:00 @ 23.64p 0%, 15-08 10:00:00 - 15-08 10:30:00 @ 19.66p 0%, 15-08 10:30:00 - 15-08 11:00:00 @ 17.66p 0%, 15-08 11:00:00 - 15-08 11:30:00 @ 16.56p 0%, 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 13:30:00 @ 15.36p 100%, 15-08 13:30:00 - 15-08 14:00:00 @ 15.74p 100%, 15-08 14:00:00 - 15-08 14:30:00 @ 14.57p 100%, 15-08 14:30:00 - 15-08 15:00:00 @ 13.77p 100%, 15-08 15:00:00 - 15-08 15:30:00 @ 15.02p 100%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 100%, 15-08 16:00:00 - 15-08 16:30:00 @ 33.13p 0%, 15-08 16:30:00 - 15-08 17:00:00 @ 33.13p 0%, 15-08 17:00:00 - 15-08 17:30:00 @ 38.46p 0%, 15-08 17:30:00 - 15-08 18:00:00 @ 40.44p 0%, 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 0%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 0%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 0%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 0%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 0%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 27.8p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 29.09p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.47p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.18p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 27.57p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.5p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.6p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 24.79p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 25.08p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 24.62p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 27.02p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.47p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 26.25p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.4p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.7p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 27.63p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 22.73p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 26.7p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 22.92p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 22.48p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 23.55p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 23.64p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 19.66p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 17.66p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 16.56p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 15.46p 100%, 16-08 12:00:00 - 16-08 12:30:00 @ 17.0p 100%, 16-08 12:30:00 - 16-08 13:00:00 @ 16.34p 100%, 16-08 13:00:00 - 16-08 13:30:00 @ 15.36p 100%, 16-08 13:30:00 - 16-08 14:00:00 @ 15.74p 100%, 16-08 14:00:00 - 16-08 14:30:00 @ 14.57p 100%, 16-08 14:30:00 - 16-08 15:00:00 @ 13.77p 100%, 16-08 15:00:00 - 16-08 15:30:00 @ 15.02p 100%, 16-08 15:30:00 - 16-08 16:00:00 @ 15.87p 100%, 16-08 16:00:00 - 16-08 16:30:00 @ 33.13p 100%, 16-08 16:30:00 - 16-08 17:00:00 @ 33.13p 100%, 16-08 17:00:00 - 16-08 17:30:00 @ 38.46p 100%, 16-08 17:30:00 - 16-08 18:00:00 @ 40.44p 100%, 16-08 18:00:00 - 16-08 18:30:00 @ 41.55p 100%, 16-08 19:00:00 - 16-08 19:30:00 @ 32.58p 100%, 16-08 19:30:00 - 16-08 20:00:00 @ 32.9p 100%, 16-08 20:00:00 - 16-08 20:30:00 @ 31.99p 100%, 16-08 20:30:00 - 16-08 21:00:00 @ 32.1p 100%, 16-08 21:00:00 - 16-08 21:30:00 @ 31.71p 100%, 16-08 21:30:00 - 16-08 22:00:00 @ 31.67p 100%, 16-08 22:00:00 - 16-08 22:30:00 @ 31.77p 100%, 16-08 22:30:00 - 16-08 23:00:00 @ 29.81p 100%, 16-08 23:00:00 - 16-08 23:30:00 @ 27.8p 100%, 16-08 23:30:00 - 17-08 00:00:00 @ 29.09p 100%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.47p 100%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.18p 100%, 17-08 01:00:00 - 17-08 01:30:00 @ 27.57p 100%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.5p 100%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.6p 100%, 17-08 02:30:00 - 17-08 03:00:00 @ 24.79p 100%, 17-08 03:00:00 - 17-08 03:30:00 @ 25.08p 100%, 17-08 03:30:00 - 17-08 04:00:00 @ 24.62p 100% ] reserve 1.12
2026-08-15 04:00:22.963127: Unclipped charge windows [ 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 04:00:00 @ 24.98p 100% ] reserve 1.12
2026-08-15 04:00:22.963443: Unfiltered charge windows [ 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 04:00:00 @ 24.98p 100% ] reserve 1.12
2026-08-15 04:00:22.963675: Filtered charge windows [ 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 04:00:00 @ 24.98p 100% ] reserve 1.12
2026-08-15 04:00:23.002012: Previous plan best metric is 590.05 (cost 599.12) and new plan best metric is 590.02 (cost 599.12)
2026-08-15 04:00:23.002352: New plan metric is not significantly better (metric_min_improvement_plan 2.0) than previous plan, using previous plan
2026-08-15 04:00:23.002580: Plan valid is now true after recompute was False
2026-08-15 04:00:23.034702: predict base end_record 08-16 11:30:00, final soc 1.12kWh, metric 820.67p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 04:20:00, load 28.13kWh, PV 0.0kWh
2026-08-15 04:00:23.795948: Battery has 0.33 hours left - now at 1.42kWh
2026-08-15 04:00:23.843522: predict base10 end_record 08-16 11:30:00, final soc 1.12kWh, metric 850.07p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 04:20:00, load 29.29kWh, PV 0.0kWh
2026-08-15 04:00:23.932115: predict best10 end_record 08-16 11:30:00, final soc 1.12kWh, metric 676.94p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 04:20:00, load 29.29kWh, PV 0.0kWh
2026-08-15 04:00:24.016069: predict best end_record 08-16 11:30:00, final soc 1.12kWh, metric 649.1p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 04:20:00, load 28.13kWh, PV 0.0kWh
2026-08-15 04:00:24.016179: Saving plan best values to HA entities
2026-08-15 04:00:24.185509: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0
2026-08-15 04:00:24.191340: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 04:00:24.196561: Best charging limit SoC's [16.0, 3.5, 4.0, 16.0, 16.0, 16.0]kWh, export []kWh gives import battery 20.47kWh, house 5.81kWh, export 0.0kWh, metric 649.1p, metric10 676.94p
2026-08-15 04:00:24.280176: Marginal costs baseline metric (no standing charge): 599.1201
2026-08-15 04:00:24.591489: Marginal energy costs matrix computed: min=14.17 max=28.67
2026-08-15 04:00:24.663814: Rate array import [{'start': 240, 'end': 420, 'rate': 'expensive', 'range': '(25.7p - 27.6p)'}, {'start': 420, 'end': 450, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 450, 'end': 480, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 480, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 23.6p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1860, 'rate': 'expensive', 'range': '(24.6p - 32.9p)'}, {'start': 1860, 'end': 1890, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 1890, 'end': 1920, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 1920, 'end': 2130, 'rate': 'cheap', 'range': '(16.6p - 23.6p)'}] export [{'start': 240, 'end': 2130, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 04:00:24.664492: - Your estimated bill for today is £5.87 and tomorrow is £5.45
2026-08-15 04:00:24.664539: - Import rates are expensive (25.7p - 27.6p) for the next 3 hours and then cheap (22.7p) for the next 30 minutes.
2026-08-15 04:00:24.664558: - The battery is currently at 9% and is in eco mode for the next 7 and a half hours.
2026-08-15 04:00:24.664573: - For the next 48 hours there will be no solar generation.
2026-08-15 04:00:24.664587: - You will run out of battery in 20 minutes.
2026-08-15 04:00:24.664601: - Your next charge slot will be in 7 and a half hours where import rates will be cheap (15.5p).
2026-08-15 04:00:24.664615: 
2026-08-15 04:00:24.722738: Plan calculation took 19.22 seconds
2026-08-15 04:00:24.723259: Inverter 0: Type SK Sunsynk
2026-08-15 04:00:24.723323: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 04:00:24.723568: Reserve min: 7%, battery_min: 7%
2026-08-15 04:00:24.723648: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 04:00:24.723977: Inverter 0 SoC: 1.42kW 9%, current charge rate 5000W, current discharge rate 5250W, current battery power -4472W, current battery voltage 51.2V, grid power -5467W, load power 471W, PV Power 0W
2026-08-15 04:00:24.724247: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 04:00:24.724364: Inverter 0 scheduled charge enable is False
2026-08-15 04:00:24.724407: Inverter 0 charge windows currently []
2026-08-15 04:00:24.724438: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 04:00:24.724547: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 04:00:24.724583: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 04:00:24.724618: Inverter 0 scheduled discharge enable is False
2026-08-15 04:00:24.724744: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 04:00:24.724783: Inverter 0 discharge windows currently []
2026-08-15 04:00:24.724805: Note: Inverter does not support discharge freeze - disabled
2026-08-15 04:00:24.724824: Note: Inverter does not support charge freeze - disabled
2026-08-15 04:00:24.724841: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 04:00:24.791275: Inverter 0 Charge window will be: 2026-08-15 11:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 9%, target 100%
2026-08-15 04:00:24.791443: Inverter 0 disabled charge window while waiting for schedule (now 08-15 04:00:00 target set_window_minutes 30 charge start time 08-15 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 04:00:24.791523: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 04:00:24.791725: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 04:00:24.791836: No export window planned
2026-08-15 04:00:24.791949: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 04:00:24.791986: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 04:00:24.792228: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 04:00:24.792455: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 04:00:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 04:00:24.792518: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 04:00:24.792586: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 04:00:24.792698: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 04:00:24.792739: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 04:00:24.792791: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 04:00:24.792933: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 04:00:24.793024: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 04:00:24.793055: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 04:00:24.793085: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 04:00:24.793182: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 04:00:24.793225: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 04:00:24.793252: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 04:00:24.793279: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 04:00:24.793302: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 04:00:24.793330: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 04:00:24.793357: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 04:00:24.793382: Inverter 0 count register writes 0
2026-08-15 04:00:24.822229: Total inverter register writes now 815
2026-08-15 04:00:24.878165: Info: Completed run status Demand
2026-08-15 04:00:24.889091: Info: record_status Demand
2026-08-15 04:00:24.896354: Saved current settings to /config/predbat_config.json
2026-08-15 04:00:24.896741: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 04:00:26.126330: ML Component: Fetching 28 days of load history from ['sensor.sunsynk_day_load_energy']
2026-08-15 04:00:27.095114: Processing 1297 30-minute periods for power integration
2026-08-15 04:00:27.178636: ML Component: Car charging hold False, car energy reported load False
2026-08-15 04:00:27.257640: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 04:00:27.339066: ML Temperature data points: 48721
2026-08-15 04:00:27.555041: ML Component: Fetched 7776 load data points, 27.0 days of history
2026-08-15 04:00:27.594643: ML Component: Data fetch completed, load data age 56.0 days, 16313 data points
2026-08-15 04:00:27.594748: ML Component: Starting fine-tune training (2h interval), model age is 2.0308877941666665 hours
2026-08-15 04:00:27.594786: ML Component: Doing training...
2026-08-15 04:00:27.608302: ML Predictor: Curriculum training - capped to last 4 intermediate passes (starting at window=53.0 days)
2026-08-15 04:00:27.608408: ML Predictor: Curriculum training - 5 passes, window 53.0→56.0 days + final full pass (56.6 days)
2026-08-15 04:00:27.661912: ML Predictor: Curriculum pass 1/5: window=53.0 days (1272 hours of data)
2026-08-15 04:00:27.662023: ML Predictor: Starting initial training with 30 epochs
2026-08-15 04:00:28.151275: ML Predictor: Creating dataset with 1272 hours of training data, 48 hours validation
2026-08-15 04:00:33.243434: ML Predictor: Created 14976 training samples, 576 validation samples
2026-08-15 04:00:33.891437: ML Predictor: Normalization stats [fit] target(mean=0.0587 std=0.0474) load(mean=0.0589 std=0.0471) pv(mean=0.0000 std=0.0100) temp(mean=19.4859 std=4.4023) import_rate(mean=25.4946 std=2.4792) export_rate(mean=0.0000 std=1.0000) time(mean=-0.1907 std=0.5232)
2026-08-15 04:00:51.161007: ML Predictor: Epoch 1/30: lr=0.00100 huber_loss=0.0199 val_mae=0.0052 kWh val_bias=-0.0002 kWh (-0.3%) combined=0.0033 kWh ema_combined=0.0033 kWh
2026-08-15 04:00:56.857228: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 04:00:56.857490: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 04:00:56.857560: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 04:00:56.857773: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 04:00:56.857828: Note: Inverter does not support discharge freeze - disabled
2026-08-15 04:00:56.857851: Note: Inverter does not support charge freeze - disabled
2026-08-15 04:00:56.857869: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 04:01:08.817391: ML Predictor: Epoch 2/30: lr=0.00100 huber_loss=0.0326 val_mae=0.0053 kWh val_bias=-0.0001 kWh (-0.2%) combined=0.0037 kWh ema_combined=0.0034 kWh
2026-08-15 04:01:29.892242: ML Predictor: Epoch 3/30: lr=0.00099 huber_loss=0.0280 val_mae=0.0040 kWh val_bias=-0.0010 kWh (-1.8%) combined=0.0030 kWh ema_combined=0.0033 kWh
2026-08-15 04:01:53.020785: ML Predictor: Epoch 4/30: lr=0.00098 huber_loss=0.0232 val_mae=0.0044 kWh val_bias=-0.0023 kWh (-4.1%) combined=0.0042 kWh ema_combined=0.0036 kWh
2026-08-15 04:02:14.342443: ML Predictor: Epoch 5/30: lr=0.00096 huber_loss=0.0182 val_mae=0.0035 kWh val_bias=-0.0001 kWh (-0.3%) combined=0.0021 kWh ema_combined=0.0031 kWh
2026-08-15 04:02:36.237430: ML Predictor: Epoch 6/30: lr=0.00094 huber_loss=0.0157 val_mae=0.0031 kWh val_bias=+0.0000 kWh (+0.0%) combined=0.0017 kWh ema_combined=0.0027 kWh
2026-08-15 04:02:57.313857: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 04:02:57.314279: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 04:02:57.314336: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 04:02:57.314529: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 04:02:57.314579: Note: Inverter does not support discharge freeze - disabled
2026-08-15 04:02:57.314608: Note: Inverter does not support charge freeze - disabled
2026-08-15 04:02:57.314633: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 04:02:58.421791: ML Predictor: Epoch 7/30: lr=0.00091 huber_loss=0.0134 val_mae=0.0031 kWh val_bias=-0.0011 kWh (-1.9%) combined=0.0022 kWh ema_combined=0.0025 kWh
2026-08-15 04:03:19.096472: ML Predictor: Epoch 8/30: lr=0.00088 huber_loss=0.0125 val_mae=0.0028 kWh val_bias=+0.0009 kWh (+1.5%) combined=0.0023 kWh ema_combined=0.0025 kWh
2026-08-15 04:03:39.464689: ML Predictor: Epoch 9/30: lr=0.00084 huber_loss=0.0104 val_mae=0.0030 kWh val_bias=-0.0013 kWh (-2.3%) combined=0.0028 kWh ema_combined=0.0026 kWh
2026-08-15 04:04:00.519959: ML Predictor: Epoch 10/30: lr=0.00080 huber_loss=0.0099 val_mae=0.0032 kWh val_bias=-0.0013 kWh (-2.2%) combined=0.0021 kWh ema_combined=0.0024 kWh
2026-08-15 04:04:22.000888: ML Predictor: Epoch 11/30: lr=0.00076 huber_loss=0.0092 val_mae=0.0025 kWh val_bias=-0.0007 kWh (-1.1%) combined=0.0015 kWh ema_combined=0.0022 kWh
2026-08-15 04:04:42.448690: ML Predictor: Epoch 12/30: lr=0.00072 huber_loss=0.0112 val_mae=0.0025 kWh val_bias=-0.0002 kWh (-0.3%) combined=0.0013 kWh ema_combined=0.0019 kWh
2026-08-15 04:05:00.864901: --------------- PredBat - update at 2026-08-15 04:05:00+01:00 with clock skew 0 minutes, minutes now 245
2026-08-15 04:05:00.866277: Saved current settings to /config/predbat_config.json
2026-08-15 04:05:01.230742: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.1, latest beta is v8.48.1
2026-08-15 04:05:01.230930: Autoupdate: Currently up to date
2026-08-15 04:05:01.279658: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 04:05:01.279996: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 04:05:01.280400: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 04:05:01.281435: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 04:05:01.281733: Predbat mode is set to Control charge & discharge
2026-08-15 04:05:01.609012: Found 21602 load_today datapoints going back 27 days
2026-08-15 04:05:01.609221: Using load_power data to fill gaps in load_today data
2026-08-15 04:05:03.442675: Processing 721 30-minute periods for power integration
2026-08-15 04:05:03.694737: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 04:05:03.695068: Car charging hold False, threshold 6.0kWh
2026-08-15 04:05:03.695353: Current data so far today: load 3.7kWh, import 4.1kWh, export 0.0kWh, PV 0kWh
2026-08-15 04:05:03.723512: Cars: SoC: [12.892000000000001]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 04:05:03.724383: Standing charge is set to 49.98p
2026-08-15 04:05:03.840001: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 04:05:03.840450: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 04:05:03.841022: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 245.0 minutes
2026-08-15 04:05:03.841955: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 244.7 minutes
2026-08-15 04:05:03.847906: Loaded 47 datapoints of futurerate analysis
2026-08-15 04:05:04.050980: Predicted future rates: ['08-15 00:00:00 => 28.9 / 20.01', '08-15 01:00:00 => 27.54 / 19.31', '08-15 02:00:00 => 26.52 / 18.8', '08-15 03:00:00 => 25.99 / 18.53', '08-15 04:00:00 => 25.8 / 18.43', '08-15 05:00:00 => 25.96 / 18.51', '08-15 06:00:00 => 25.55 / 18.3', '08-15 07:00:00 => 24.33 / 17.68', '08-15 08:00:00 => 23.03 / 17.01', '08-15 09:00:00 => 22.05 / 16.51', '08-15 10:00:00 => 20.43 / 15.68', '08-15 11:00:00 => 18.01 / 14.45', '08-15 12:00:00 => 16.37 / 13.61', '08-15 13:00:00 => 15.76 / 13.3', '08-15 14:00:00 => 15.35 / 13.09', '08-15 15:00:00 => 15.86 / 13.35', '08-15 16:00:00 => 32.89 / 16.13', '08-15 17:00:00 => 38.02 / 18.75', '08-15 18:00:00 => 42.36 / 20.96', '08-15 19:00:00 => 31.09 / 21.13', '08-15 20:00:00 => 31.64 / 21.41', '08-15 21:00:00 => 31.64 / 21.41', '08-15 22:00:00 => 30.58 / 20.87']
2026-08-15 04:05:04.136860: Rate min forward looking: now 13.77p at end of forecast 13.77p
2026-08-15 04:05:04.137839: Import rates: min 13.77p, max 43.82p, average 25.96p
2026-08-15 04:05:04.189220: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 04:05:04.189890: Rate thresholds (for charge/export) are import 43.32p (0.0p), export -0.1p (0.0p)
2026-08-15 04:05:04.191551: High export rate found rates in range 99p to -99p
2026-08-15 04:05:04.289858: Low Import rate found rates in range 13.77p to 41.55p
2026-08-15 04:05:04.291065: Car 0 charging is not planned as it is not plugged in
2026-08-15 04:05:04.309144: Battery level now 1.42kWh, -1hr ago 1.81kWh, at midnight 1.66kWh, battery value change in the last hour -4.64p, change today -2.84p, rate_forward 11.83p
2026-08-15 04:05:04.309695: Last hour: net energy 0.03kWh, import 0.03kWh, export 0.0kWh, car 0kWh, load 0.4kWh, net cost 0.84p, import 0.84p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 04:05:04.433270: Today's energy total net 4.1kWh, import 4.1kWh, export 0.0kWh, cost 160.13p, import 110.15p, export 0.0p, carbon 0.0kg
2026-08-15 04:05:04.433482: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 04:05:04.587163: Using weighted-bucket historical load forecast over 14 days
2026-08-15 04:05:04.683046: Today's load divergence 105.26%, in-day adjustment 137.17%, damping 0.95x, yesterday 143.77% today 104.99% blend 82.99%
2026-08-15 04:05:04.683227: Today's predicted so far 3.0kWh with 0.0kWh car/iBoost excluded, 1.83kWh import ignored, and 3.0kWh forecast extra.
2026-08-15 04:05:04.683351: Today's actual load so far 3.87kWh with 0.0kWh car/iBoost excluded, and 1.83kWh import ignored.
2026-08-15 04:05:04.785879: Inverter 0: Type SK Sunsynk
2026-08-15 04:05:04.785991: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 04:05:04.786328: Reserve min: 7%, battery_min: 7%
2026-08-15 04:05:04.786534: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 04:05:04.786982: Inverter 0 SoC: 1.42kW 9%, current charge rate 5000W, current discharge rate 5250W, current battery power -4467W, current battery voltage 51.2V, grid power -5501W, load power 507W, PV Power 0W
2026-08-15 04:05:04.787267: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 04:05:04.787433: Inverter 0 scheduled charge enable is False
2026-08-15 04:05:04.787482: Inverter 0 charge windows currently []
2026-08-15 04:05:04.787600: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 04:05:04.787820: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 04:05:04.787981: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 04:05:04.788162: Inverter 0 scheduled discharge enable is False
2026-08-15 04:05:04.788470: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 04:05:04.788620: Inverter 0 discharge windows currently []
2026-08-15 04:05:04.788749: Note: Inverter does not support discharge freeze - disabled
2026-08-15 04:05:04.788871: Note: Inverter does not support charge freeze - disabled
2026-08-15 04:05:04.789027: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 04:05:04.932728: Dynamic load last period 0.00kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 04:05:04.933086: Plan was last updated on 2026-08-15 04:00:00+01:00 and is now 5.0 minutes old
2026-08-15 04:05:04.933687: Best charge window [ 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 00:30:00 @ 28.84p 100% ]
2026-08-15 04:05:04.933899: Best export window [  ]
2026-08-15 04:05:04.935348: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 04:05:04.940286: Load divergence over 8.0 hours mean 479.39W, min 269.4W, max 1367.4W, std dev 231.13W, divergence 24.11%
2026-08-15 04:05:04.985955: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 04:05:05.001117: LoadML is_calculating True
2026-08-15 04:05:05.001447: Not using thread pool as LoadML is calculating to avoid lockups
2026-08-15 04:05:05.114737: predict base end_record 08-16 11:35:00, final soc 1.12kWh, metric 819.42p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 04:25:00, load 28.14kWh, PV 0.0kWh
2026-08-15 04:05:05.359398: Battery has 0.33 hours left - now at 1.42kWh
2026-08-15 04:05:05.470914: predict base10 end_record 08-16 11:35:00, final soc 1.12kWh, metric 848.73p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 04:25:00, load 29.3kWh, PV 0.0kWh
2026-08-15 04:05:05.596910: predict best10 end_record 08-16 11:35:00, final soc 1.44kWh, metric 681.45p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 04:25:00, load 29.3kWh, PV 0.0kWh
2026-08-15 04:05:05.966675: predict best end_record 08-16 11:35:00, final soc 1.51kWh, metric 655.02p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 04:25:00, load 28.14kWh, PV 0.0kWh
2026-08-15 04:05:05.966791: Saving plan best values to HA entities
2026-08-15 04:05:06.573736: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 04:05:06.590052: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0.0
2026-08-15 04:05:06.614895: Best charging limit SoC's [16.0, 3.5, 4.0, 16.0, 16.0, 16.0]kWh, export []kWh gives import battery 20.99kWh, house 5.71kWh, export 0.0kWh, metric 655.02p, metric10 681.45p
2026-08-15 04:05:06.806794: Marginal costs baseline metric (no standing charge): 605.0346
2026-08-15 04:05:07.356120: Marginal energy costs matrix computed: min=14.21 max=28.84
2026-08-15 04:05:07.516506: Rate array import [{'start': 245, 'end': 420, 'rate': 'expensive', 'range': '(25.7p - 27.6p)'}, {'start': 420, 'end': 450, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 450, 'end': 480, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 480, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 23.6p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1860, 'rate': 'expensive', 'range': '(24.6p - 32.9p)'}, {'start': 1860, 'end': 1890, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 1890, 'end': 1920, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 1920, 'end': 2135, 'rate': 'cheap', 'range': '(15.5p - 23.6p)'}] export [{'start': 245, 'end': 2135, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 04:05:07.519339: - Your estimated bill for today is £5.86 and tomorrow is £5.42
2026-08-15 04:05:07.519561: - Import rates are expensive (25.7p - 27.6p) for the next 2  hours and then cheap (22.7p) for the next 30 minutes.
2026-08-15 04:05:07.519708: - The battery is currently at 9% and is in eco mode for the next 7 and a half hours.
2026-08-15 04:05:07.519835: - For the next 48 hours there will be no solar generation.
2026-08-15 04:05:07.519958: - You will run out of battery in 20 minutes.
2026-08-15 04:05:07.520079: - Your next charge slot will be in 7 and a half hours where import rates will be cheap (15.5p).
2026-08-15 04:05:07.520220: 
2026-08-15 04:05:07.570816: ML Predictor: Epoch 13/30: lr=0.00067 huber_loss=0.0103 val_mae=0.0026 kWh val_bias=+0.0004 kWh (+0.7%) combined=0.0018 kWh ema_combined=0.0019 kWh
2026-08-15 04:05:07.613103: Plan calculation took 2.68 seconds
2026-08-15 04:05:07.621554: No high rate period found
2026-08-15 04:05:07.746381: Import threshold used for optimisation was 22.92p
2026-08-15 04:05:07.862900: Low import rate windows [0: 08-15 04:00:00 - 08-15 04:30:00 @ 27.02, 1: 08-15 04:30:00 - 08-15 05:00:00 @ 26.47, 2: 08-15 05:00:00 - 08-15 05:30:00 @ 26.25, 3: 08-15 05:30:00 - 08-15 06:00:00 @ 26.4, 4: 08-15 06:00:00 - 08-15 06:30:00 @ 25.7, 5: 08-15 06:30:00 - 08-15 07:00:00 @ 27.63, 6: 08-15 07:00:00 - 08-15 07:30:00 @ 22.73, 7: 08-15 07:30:00 - 08-15 08:00:00 @ 26.7, 8: 08-15 08:00:00 - 08-15 08:30:00 @ 22.92, 9: 08-15 08:30:00 - 08-15 09:00:00 @ 22.48, 10: 08-15 09:00:00 - 08-15 09:30:00 @ 23.55, 11: 08-15 09:30:00 - 08-15 10:00:00 @ 23.64, 12: 08-15 10:00:00 - 08-15 10:30:00 @ 19.66, 13: 08-15 10:30:00 - 08-15 11:00:00 @ 17.66, 14: 08-15 11:00:00 - 08-15 11:30:00 @ 16.56, 15: 08-15 11:30:00 - 08-15 12:00:00 @ 15.46, 16: 08-15 12:00:00 - 08-15 12:30:00 @ 17.0, 17: 08-15 12:30:00 - 08-15 13:00:00 @ 16.34, 18: 08-15 13:00:00 - 08-15 13:30:00 @ 15.36, 19: 08-15 13:30:00 - 08-15 14:00:00 @ 15.74, 20: 08-15 14:00:00 - 08-15 14:30:00 @ 14.57, 21: 08-15 14:30:00 - 08-15 15:00:00 @ 13.77, 22: 08-15 15:00:00 - 08-15 15:30:00 @ 15.02, 23: 08-15 15:30:00 - 08-15 16:00:00 @ 15.87, 24: 08-15 16:00:00 - 08-15 16:30:00 @ 33.13, 25: 08-15 16:30:00 - 08-15 17:00:00 @ 33.13, 26: 08-15 17:00:00 - 08-15 17:30:00 @ 38.46, 27: 08-15 17:30:00 - 08-15 18:00:00 @ 40.44, 28: 08-15 18:00:00 - 08-15 18:30:00 @ 41.55, 29: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 30: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 31: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 32: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 33: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 34: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 35: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 36: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 37: 08-15 23:00:00 - 08-15 23:30:00 @ 27.8, 38: 08-15 23:30:00 - 08-16 00:00:00 @ 29.09, 39: 08-16 00:00:00 - 08-16 00:30:00 @ 28.47, 40: 08-16 00:30:00 - 08-16 01:00:00 @ 27.18, 41: 08-16 01:00:00 - 08-16 01:30:00 @ 27.57, 42: 08-16 01:30:00 - 08-16 02:00:00 @ 26.5, 43: 08-16 02:00:00 - 08-16 02:30:00 @ 25.6, 44: 08-16 02:30:00 - 08-16 03:00:00 @ 24.79, 45: 08-16 03:00:00 - 08-16 03:30:00 @ 25.08, 46: 08-16 03:30:00 - 08-16 04:00:00 @ 24.62, 47: 08-16 04:00:00 - 08-16 04:30:00 @ 27.02, 48: 08-16 04:30:00 - 08-16 05:00:00 @ 26.47, 49: 08-16 05:00:00 - 08-16 05:30:00 @ 26.25, 50: 08-16 05:30:00 - 08-16 06:00:00 @ 26.4, 51: 08-16 06:00:00 - 08-16 06:30:00 @ 25.7, 52: 08-16 06:30:00 - 08-16 07:00:00 @ 27.63, 53: 08-16 07:00:00 - 08-16 07:30:00 @ 22.73, 54: 08-16 07:30:00 - 08-16 08:00:00 @ 26.7, 55: 08-16 08:00:00 - 08-16 08:30:00 @ 22.92, 56: 08-16 08:30:00 - 08-16 09:00:00 @ 22.48, 57: 08-16 09:00:00 - 08-16 09:30:00 @ 23.55, 58: 08-16 09:30:00 - 08-16 10:00:00 @ 23.64, 59: 08-16 10:00:00 - 08-16 10:30:00 @ 19.66, 60: 08-16 10:30:00 - 08-16 11:00:00 @ 17.66, 61: 08-16 11:00:00 - 08-16 11:30:00 @ 16.56, 62: 08-16 11:30:00 - 08-16 12:00:00 @ 15.46, 63: 08-16 12:00:00 - 08-16 12:30:00 @ 17.0, 64: 08-16 12:30:00 - 08-16 13:00:00 @ 16.34, 65: 08-16 13:00:00 - 08-16 13:30:00 @ 15.36, 66: 08-16 13:30:00 - 08-16 14:00:00 @ 15.74, 67: 08-16 14:00:00 - 08-16 14:30:00 @ 14.57, 68: 08-16 14:30:00 - 08-16 15:00:00 @ 13.77, 69: 08-16 15:00:00 - 08-16 15:30:00 @ 15.02, 70: 08-16 15:30:00 - 08-16 16:00:00 @ 15.87, 71: 08-16 16:00:00 - 08-16 16:30:00 @ 33.13, 72: 08-16 16:30:00 - 08-16 17:00:00 @ 33.13, 73: 08-16 17:00:00 - 08-16 17:30:00 @ 38.46, 74: 08-16 17:30:00 - 08-16 18:00:00 @ 40.44, 75: 08-16 18:00:00 - 08-16 18:30:00 @ 41.55, 76: 08-16 19:00:00 - 08-16 19:30:00 @ 32.58, 77: 08-16 19:30:00 - 08-16 20:00:00 @ 32.9, 78: 08-16 20:00:00 - 08-16 20:30:00 @ 31.99, 79: 08-16 20:30:00 - 08-16 21:00:00 @ 32.1, 80: 08-16 21:00:00 - 08-16 21:30:00 @ 31.71, 81: 08-16 21:30:00 - 08-16 22:00:00 @ 31.67, 82: 08-16 22:00:00 - 08-16 22:30:00 @ 31.77, 83: 08-16 22:30:00 - 08-16 23:00:00 @ 29.81, 84: 08-16 23:00:00 - 08-16 23:30:00 @ 27.8, 85: 08-16 23:30:00 - 08-17 00:00:00 @ 29.09, 86: 08-17 00:00:00 - 08-17 00:30:00 @ 28.47, 87: 08-17 00:30:00 - 08-17 01:00:00 @ 27.18, 88: 08-17 01:00:00 - 08-17 01:30:00 @ 27.57, 89: 08-17 01:30:00 - 08-17 02:00:00 @ 26.5, 90: 08-17 02:00:00 - 08-17 02:30:00 @ 25.6, 91: 08-17 02:30:00 - 08-17 03:00:00 @ 24.79, 92: 08-17 03:00:00 - 08-17 03:30:00 @ 25.08, 93: 08-17 03:30:00 - 08-17 04:00:00 @ 24.62, 94: 08-17 04:00:00 - 08-17 04:30:00 @ 27.02]
2026-08-15 04:05:07.877965: Inverter 0 Charge window will be: 2026-08-15 11:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 9%, target 100%
2026-08-15 04:05:07.878173: Inverter 0 disabled charge window while waiting for schedule (now 08-15 04:05:00 target set_window_minutes 30 charge start time 08-15 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 04:05:07.878305: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 04:05:07.878625: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 04:05:07.878749: No export window planned
2026-08-15 04:05:07.878962: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 04:05:07.879022: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 04:05:07.879249: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 04:05:07.879464: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 04:05:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 04:05:07.879534: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 04:05:07.879619: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 04:05:07.879750: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 04:05:07.879803: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 04:05:07.879854: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 04:05:07.879906: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 04:05:07.879969: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 04:05:07.880029: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 04:05:07.880090: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 04:05:07.880228: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 04:05:07.880274: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 04:05:07.880309: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 04:05:07.880368: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 04:05:07.880429: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 04:05:07.880490: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 04:05:07.880549: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 04:05:07.880599: Inverter 0 count register writes 0
2026-08-15 04:05:07.906790: Will not recompute the plan, it is 5.0 minutes old and max age is 10 minutes
2026-08-15 04:05:07.916938: Total inverter register writes now 815
2026-08-15 04:05:07.968078: Info: Completed run status Demand
2026-08-15 04:05:08.250534: Info: record_status Demand
2026-08-15 04:05:08.260571: Saved current settings to /config/predbat_config.json
2026-08-15 04:05:08.260913: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 04:05:32.979507: ML Predictor: Epoch 14/30: lr=0.00062 huber_loss=0.0092 val_mae=0.0023 kWh val_bias=-0.0002 kWh (-0.4%) combined=0.0015 kWh ema_combined=0.0018 kWh
2026-08-15 04:05:42.455178: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 04:05:42.455479: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 04:05:42.455533: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 04:05:42.455706: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 04:05:42.455756: Note: Inverter does not support discharge freeze - disabled
2026-08-15 04:05:42.455783: Note: Inverter does not support charge freeze - disabled
2026-08-15 04:05:42.455807: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 04:05:52.689785: ML Predictor: Epoch 15/30: lr=0.00057 huber_loss=0.0079 val_mae=0.0022 kWh val_bias=-0.0001 kWh (-0.2%) combined=0.0012 kWh ema_combined=0.0016 kWh
2026-08-15 04:06:12.040595: ML Predictor: Epoch 16/30: lr=0.00053 huber_loss=0.0077 val_mae=0.0024 kWh val_bias=-0.0006 kWh (-1.0%) combined=0.0014 kWh ema_combined=0.0015 kWh
2026-08-15 04:06:32.183732: ML Predictor: Epoch 17/30: lr=0.00048 huber_loss=0.0075 val_mae=0.0022 kWh val_bias=+0.0002 kWh (+0.3%) combined=0.0014 kWh ema_combined=0.0015 kWh
2026-08-15 04:06:50.854228: ML Predictor: Epoch 18/30: lr=0.00043 huber_loss=0.0069 val_mae=0.0021 kWh val_bias=-0.0002 kWh (-0.4%) combined=0.0013 kWh ema_combined=0.0015 kWh
2026-08-15 04:07:12.972397: ML Predictor: Epoch 19/30: lr=0.00038 huber_loss=0.0071 val_mae=0.0022 kWh val_bias=-0.0007 kWh (-1.3%) combined=0.0018 kWh ema_combined=0.0016 kWh
2026-08-15 04:07:33.531500: ML Predictor: Epoch 20/30: lr=0.00034 huber_loss=0.0069 val_mae=0.0020 kWh val_bias=-0.0005 kWh (-0.8%) combined=0.0013 kWh ema_combined=0.0015 kWh
2026-08-15 04:07:53.238454: ML Predictor: Epoch 21/30: lr=0.00030 huber_loss=0.0069 val_mae=0.0020 kWh val_bias=+0.0002 kWh (+0.4%) combined=0.0012 kWh ema_combined=0.0014 kWh
2026-08-15 04:07:56.918905: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 04:07:56.919440: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 04:07:56.919638: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 04:07:56.919958: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 04:07:56.920153: Note: Inverter does not support discharge freeze - disabled
2026-08-15 04:07:56.920274: Note: Inverter does not support charge freeze - disabled
2026-08-15 04:07:56.920431: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 04:08:15.719066: ML Predictor: Epoch 22/30: lr=0.00026 huber_loss=0.0060 val_mae=0.0019 kWh val_bias=-0.0001 kWh (-0.2%) combined=0.0010 kWh ema_combined=0.0013 kWh
2026-08-15 04:08:35.388321: ML Predictor: Epoch 23/30: lr=0.00022 huber_loss=0.0065 val_mae=0.0019 kWh val_bias=-0.0002 kWh (-0.3%) combined=0.0011 kWh ema_combined=0.0012 kWh
2026-08-15 04:08:57.025357: ML Predictor: Epoch 24/30: lr=0.00019 huber_loss=0.0060 val_mae=0.0019 kWh val_bias=-0.0005 kWh (-0.8%) combined=0.0014 kWh ema_combined=0.0013 kWh
2026-08-15 04:09:16.942263: ML Predictor: Epoch 25/30: lr=0.00016 huber_loss=0.0056 val_mae=0.0018 kWh val_bias=+0.0001 kWh (+0.1%) combined=0.0009 kWh ema_combined=0.0012 kWh
2026-08-15 04:09:37.079824: ML Predictor: Epoch 26/30: lr=0.00014 huber_loss=0.0065 val_mae=0.0018 kWh val_bias=+0.0003 kWh (+0.5%) combined=0.0012 kWh ema_combined=0.0012 kWh
2026-08-15 04:09:57.023390: ML Predictor: Epoch 27/30: lr=0.00012 huber_loss=0.0057 val_mae=0.0020 kWh val_bias=-0.0006 kWh (-1.1%) combined=0.0015 kWh ema_combined=0.0013 kWh
2026-08-15 04:10:00.649497: --------------- PredBat - update at 2026-08-15 04:10:00+01:00 with clock skew 0 minutes, minutes now 250
2026-08-15 04:10:00.650566: Saved current settings to /config/predbat_config.json
2026-08-15 04:10:00.650730: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 5.0 minutes
2026-08-15 04:10:00.650817: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.1, latest beta is v8.48.1
2026-08-15 04:10:00.650952: Autoupdate: Currently up to date
2026-08-15 04:10:00.693553: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 04:10:00.694072: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 04:10:00.694384: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 04:10:00.695192: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 04:10:00.695400: Predbat mode is set to Control charge & discharge
2026-08-15 04:10:01.152110: Found 21602 load_today datapoints going back 28 days
2026-08-15 04:10:01.152483: Using load_power data to fill gaps in load_today data
2026-08-15 04:10:02.690063: Processing 721 30-minute periods for power integration
2026-08-15 04:10:02.910345: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 04:10:02.910667: Car charging hold False, threshold 6.0kWh
2026-08-15 04:10:02.910826: Current data so far today: load 3.83kWh, import 4.5kWh, export 0.0kWh, PV 0kWh
2026-08-15 04:10:02.935999: Cars: SoC: [12.892000000000001]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 04:10:02.936556: Standing charge is set to 49.98p
2026-08-15 04:10:03.058481: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 04:10:03.058622: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 04:10:03.058873: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 250.0 minutes
2026-08-15 04:10:03.059485: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 249.7 minutes
2026-08-15 04:10:03.063956: Loaded 47 datapoints of futurerate analysis
2026-08-15 04:10:03.198011: Predicted future rates: ['08-15 00:00:00 => 28.9 / 20.01', '08-15 01:00:00 => 27.54 / 19.31', '08-15 02:00:00 => 26.52 / 18.8', '08-15 03:00:00 => 25.99 / 18.53', '08-15 04:00:00 => 25.8 / 18.43', '08-15 05:00:00 => 25.96 / 18.51', '08-15 06:00:00 => 25.55 / 18.3', '08-15 07:00:00 => 24.33 / 17.68', '08-15 08:00:00 => 23.03 / 17.01', '08-15 09:00:00 => 22.05 / 16.51', '08-15 10:00:00 => 20.43 / 15.68', '08-15 11:00:00 => 18.01 / 14.45', '08-15 12:00:00 => 16.37 / 13.61', '08-15 13:00:00 => 15.76 / 13.3', '08-15 14:00:00 => 15.35 / 13.09', '08-15 15:00:00 => 15.86 / 13.35', '08-15 16:00:00 => 32.89 / 16.13', '08-15 17:00:00 => 38.02 / 18.75', '08-15 18:00:00 => 42.36 / 20.96', '08-15 19:00:00 => 31.09 / 21.13', '08-15 20:00:00 => 31.64 / 21.41', '08-15 21:00:00 => 31.64 / 21.41', '08-15 22:00:00 => 30.58 / 20.87']
2026-08-15 04:10:03.273699: Rate min forward looking: now 13.77p at end of forecast 13.77p
2026-08-15 04:10:03.274174: Import rates: min 13.77p, max 43.82p, average 25.96p
2026-08-15 04:10:03.323924: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 04:10:03.325085: Rate thresholds (for charge/export) are import 43.32p (0.0p), export -0.1p (0.0p)
2026-08-15 04:10:03.327533: High export rate found rates in range 99p to -99p
2026-08-15 04:10:03.457502: Low Import rate found rates in range 13.77p to 41.55p
2026-08-15 04:10:03.457669: Car 0 charging is not planned as it is not plugged in
2026-08-15 04:10:03.477569: Battery level now 1.42kWh, -1hr ago 1.76kWh, at midnight 1.66kWh, battery value change in the last hour -4.07p, change today -2.84p, rate_forward 11.83p
2026-08-15 04:10:03.478228: Last hour: net energy 0.42kWh, import 0.42kWh, export 0.0kWh, car 0kWh, load 0.47kWh, net cost 10.43p, import 10.43p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 04:10:03.582503: Today's energy total net 4.5kWh, import 4.5kWh, export 0.0kWh, cost 170.13p, import 120.15p, export 0.0p, carbon 0.0kg
2026-08-15 04:10:03.582679: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 04:10:03.747248: Using weighted-bucket historical load forecast over 14 days
2026-08-15 04:10:03.770953: Today's load divergence 105.53%, in-day adjustment 137.08%, damping 0.95x, yesterday 143.77% today 105.25% blend 82.64%
2026-08-15 04:10:03.771108: Today's predicted so far 3.0kWh with 0.0kWh car/iBoost excluded, 1.92kWh import ignored, and 3.0kWh forecast extra.
2026-08-15 04:10:03.771934: Today's actual load so far 3.91kWh with 0.0kWh car/iBoost excluded, and 1.92kWh import ignored.
2026-08-15 04:10:03.822663: Inverter 0: Type SK Sunsynk
2026-08-15 04:10:03.822870: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 04:10:03.823149: Reserve min: 7%, battery_min: 7%
2026-08-15 04:10:03.823245: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 04:10:03.823587: Inverter 0 SoC: 1.94kW 12%, current charge rate 5000W, current discharge rate 5250W, current battery power 2554W, current battery voltage 51.2V, grid power -55W, load power 2569W, PV Power 0W
2026-08-15 04:10:03.823802: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 04:10:03.823915: Inverter 0 scheduled charge enable is False
2026-08-15 04:10:03.823961: Inverter 0 charge windows currently []
2026-08-15 04:10:03.823995: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 04:10:03.824150: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 04:10:03.824199: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 04:10:03.824245: Inverter 0 scheduled discharge enable is False
2026-08-15 04:10:03.824412: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 04:10:03.824459: Inverter 0 discharge windows currently []
2026-08-15 04:10:03.826039: Note: Inverter does not support discharge freeze - disabled
2026-08-15 04:10:03.826084: Note: Inverter does not support charge freeze - disabled
2026-08-15 04:10:03.826116: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 04:10:04.004117: Dynamic load last period 0.30kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 04:10:04.004273: Plan was last updated on 2026-08-15 04:00:00+01:00 and is now 10.0 minutes old
2026-08-15 04:10:04.004653: Best charge window [ 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 00:30:00 @ 28.84p 100% ]
2026-08-15 04:10:04.004717: Best export window [  ]
2026-08-15 04:10:04.006122: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 04:10:04.019508: Load divergence over 8.0 hours mean 476.3W, min 268.2W, max 1500.0W, std dev 218.91W, divergence 22.98%
2026-08-15 04:10:04.051302: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 04:10:04.069339: LoadML is_calculating True
2026-08-15 04:10:04.069422: Not using thread pool as LoadML is calculating to avoid lockups
2026-08-15 04:10:04.166489: predict base end_record 08-16 11:40:00, final soc 1.12kWh, metric 817.09p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 05:10:00, load 28.33kWh, PV 0.0kWh
2026-08-15 04:10:04.392790: Battery has 1.0 hours left - now at 1.94kWh
2026-08-15 04:10:04.523704: predict base10 end_record 08-16 11:40:00, final soc 1.12kWh, metric 846.42p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 05:05:00, load 29.49kWh, PV 0.0kWh
2026-08-15 04:10:04.720757: predict best10 end_record 08-16 11:40:00, final soc 1.77kWh, metric 684.39p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 05:05:00, load 29.49kWh, PV 0.0kWh
2026-08-15 04:10:04.873634: predict best end_record 08-16 11:40:00, final soc 1.9kWh, metric 658.85p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 05:10:00, load 28.33kWh, PV 0.0kWh
2026-08-15 04:10:04.873772: Saving plan best values to HA entities
2026-08-15 04:10:05.259011: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 04:10:05.265525: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 04:10:05.271835: Best charging limit SoC's [16.0, 3.5, 4.0, 16.0, 16.0, 16.0]kWh, export []kWh gives import battery 21.5kWh, house 5.19kWh, export 0.0kWh, metric 658.85p, metric10 684.39p
2026-08-15 04:10:05.405554: Marginal costs baseline metric (no standing charge): 608.8679
2026-08-15 04:10:05.751685: Marginal energy costs matrix computed: min=14.24 max=29.1
2026-08-15 04:10:05.839989: Rate array import [{'start': 250, 'end': 420, 'rate': 'expensive', 'range': '(25.7p - 27.6p)'}, {'start': 420, 'end': 450, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 450, 'end': 480, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 480, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 23.6p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1860, 'rate': 'expensive', 'range': '(24.6p - 32.9p)'}, {'start': 1860, 'end': 1890, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 1890, 'end': 1920, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 1920, 'end': 2140, 'rate': 'cheap', 'range': '(15.5p - 23.6p)'}] export [{'start': 250, 'end': 2140, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 04:10:05.857919: - Your estimated bill for today is £5.81 and tomorrow is £5.44
2026-08-15 04:10:05.858146: - Import rates are expensive (25.7p - 27.6p) for the next 2 and three quarters hours and then cheap (22.7p) for the next 30 minutes.
2026-08-15 04:10:05.858317: - The battery is currently at 12% and is in eco mode for the next 7 and a quarter hours.
2026-08-15 04:10:05.858486: - For the next 48 hours there will be no solar generation.
2026-08-15 04:10:05.865087: - You will run out of battery in 1 hour.
2026-08-15 04:10:05.865218: - Your next charge slot will be in 7 and a quarter hours where import rates will be cheap (15.5p).
2026-08-15 04:10:05.865254: 
2026-08-15 04:10:05.940811: Plan calculation took 1.94 seconds
2026-08-15 04:10:05.947571: No high rate period found
2026-08-15 04:10:06.082376: Import threshold used for optimisation was 22.92p
2026-08-15 04:10:06.169599: Low import rate windows [0: 08-15 04:00:00 - 08-15 04:30:00 @ 27.02, 1: 08-15 04:30:00 - 08-15 05:00:00 @ 26.47, 2: 08-15 05:00:00 - 08-15 05:30:00 @ 26.25, 3: 08-15 05:30:00 - 08-15 06:00:00 @ 26.4, 4: 08-15 06:00:00 - 08-15 06:30:00 @ 25.7, 5: 08-15 06:30:00 - 08-15 07:00:00 @ 27.63, 6: 08-15 07:00:00 - 08-15 07:30:00 @ 22.73, 7: 08-15 07:30:00 - 08-15 08:00:00 @ 26.7, 8: 08-15 08:00:00 - 08-15 08:30:00 @ 22.92, 9: 08-15 08:30:00 - 08-15 09:00:00 @ 22.48, 10: 08-15 09:00:00 - 08-15 09:30:00 @ 23.55, 11: 08-15 09:30:00 - 08-15 10:00:00 @ 23.64, 12: 08-15 10:00:00 - 08-15 10:30:00 @ 19.66, 13: 08-15 10:30:00 - 08-15 11:00:00 @ 17.66, 14: 08-15 11:00:00 - 08-15 11:30:00 @ 16.56, 15: 08-15 11:30:00 - 08-15 12:00:00 @ 15.46, 16: 08-15 12:00:00 - 08-15 12:30:00 @ 17.0, 17: 08-15 12:30:00 - 08-15 13:00:00 @ 16.34, 18: 08-15 13:00:00 - 08-15 13:30:00 @ 15.36, 19: 08-15 13:30:00 - 08-15 14:00:00 @ 15.74, 20: 08-15 14:00:00 - 08-15 14:30:00 @ 14.57, 21: 08-15 14:30:00 - 08-15 15:00:00 @ 13.77, 22: 08-15 15:00:00 - 08-15 15:30:00 @ 15.02, 23: 08-15 15:30:00 - 08-15 16:00:00 @ 15.87, 24: 08-15 16:00:00 - 08-15 16:30:00 @ 33.13, 25: 08-15 16:30:00 - 08-15 17:00:00 @ 33.13, 26: 08-15 17:00:00 - 08-15 17:30:00 @ 38.46, 27: 08-15 17:30:00 - 08-15 18:00:00 @ 40.44, 28: 08-15 18:00:00 - 08-15 18:30:00 @ 41.55, 29: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 30: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 31: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 32: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 33: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 34: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 35: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 36: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 37: 08-15 23:00:00 - 08-15 23:30:00 @ 27.8, 38: 08-15 23:30:00 - 08-16 00:00:00 @ 29.09, 39: 08-16 00:00:00 - 08-16 00:30:00 @ 28.47, 40: 08-16 00:30:00 - 08-16 01:00:00 @ 27.18, 41: 08-16 01:00:00 - 08-16 01:30:00 @ 27.57, 42: 08-16 01:30:00 - 08-16 02:00:00 @ 26.5, 43: 08-16 02:00:00 - 08-16 02:30:00 @ 25.6, 44: 08-16 02:30:00 - 08-16 03:00:00 @ 24.79, 45: 08-16 03:00:00 - 08-16 03:30:00 @ 25.08, 46: 08-16 03:30:00 - 08-16 04:00:00 @ 24.62, 47: 08-16 04:00:00 - 08-16 04:30:00 @ 27.02, 48: 08-16 04:30:00 - 08-16 05:00:00 @ 26.47, 49: 08-16 05:00:00 - 08-16 05:30:00 @ 26.25, 50: 08-16 05:30:00 - 08-16 06:00:00 @ 26.4, 51: 08-16 06:00:00 - 08-16 06:30:00 @ 25.7, 52: 08-16 06:30:00 - 08-16 07:00:00 @ 27.63, 53: 08-16 07:00:00 - 08-16 07:30:00 @ 22.73, 54: 08-16 07:30:00 - 08-16 08:00:00 @ 26.7, 55: 08-16 08:00:00 - 08-16 08:30:00 @ 22.92, 56: 08-16 08:30:00 - 08-16 09:00:00 @ 22.48, 57: 08-16 09:00:00 - 08-16 09:30:00 @ 23.55, 58: 08-16 09:30:00 - 08-16 10:00:00 @ 23.64, 59: 08-16 10:00:00 - 08-16 10:30:00 @ 19.66, 60: 08-16 10:30:00 - 08-16 11:00:00 @ 17.66, 61: 08-16 11:00:00 - 08-16 11:30:00 @ 16.56, 62: 08-16 11:30:00 - 08-16 12:00:00 @ 15.46, 63: 08-16 12:00:00 - 08-16 12:30:00 @ 17.0, 64: 08-16 12:30:00 - 08-16 13:00:00 @ 16.34, 65: 08-16 13:00:00 - 08-16 13:30:00 @ 15.36, 66: 08-16 13:30:00 - 08-16 14:00:00 @ 15.74, 67: 08-16 14:00:00 - 08-16 14:30:00 @ 14.57, 68: 08-16 14:30:00 - 08-16 15:00:00 @ 13.77, 69: 08-16 15:00:00 - 08-16 15:30:00 @ 15.02, 70: 08-16 15:30:00 - 08-16 16:00:00 @ 15.87, 71: 08-16 16:00:00 - 08-16 16:30:00 @ 33.13, 72: 08-16 16:30:00 - 08-16 17:00:00 @ 33.13, 73: 08-16 17:00:00 - 08-16 17:30:00 @ 38.46, 74: 08-16 17:30:00 - 08-16 18:00:00 @ 40.44, 75: 08-16 18:00:00 - 08-16 18:30:00 @ 41.55, 76: 08-16 19:00:00 - 08-16 19:30:00 @ 32.58, 77: 08-16 19:30:00 - 08-16 20:00:00 @ 32.9, 78: 08-16 20:00:00 - 08-16 20:30:00 @ 31.99, 79: 08-16 20:30:00 - 08-16 21:00:00 @ 32.1, 80: 08-16 21:00:00 - 08-16 21:30:00 @ 31.71, 81: 08-16 21:30:00 - 08-16 22:00:00 @ 31.67, 82: 08-16 22:00:00 - 08-16 22:30:00 @ 31.77, 83: 08-16 22:30:00 - 08-16 23:00:00 @ 29.81, 84: 08-16 23:00:00 - 08-16 23:30:00 @ 27.8, 85: 08-16 23:30:00 - 08-17 00:00:00 @ 29.09, 86: 08-17 00:00:00 - 08-17 00:30:00 @ 28.47, 87: 08-17 00:30:00 - 08-17 01:00:00 @ 27.18, 88: 08-17 01:00:00 - 08-17 01:30:00 @ 27.57, 89: 08-17 01:30:00 - 08-17 02:00:00 @ 26.5, 90: 08-17 02:00:00 - 08-17 02:30:00 @ 25.6, 91: 08-17 02:30:00 - 08-17 03:00:00 @ 24.79, 92: 08-17 03:00:00 - 08-17 03:30:00 @ 25.08, 93: 08-17 03:30:00 - 08-17 04:00:00 @ 24.62, 94: 08-17 04:00:00 - 08-17 04:30:00 @ 27.02]
2026-08-15 04:10:06.178825: Inverter 0 Charge window will be: 2026-08-15 11:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 12%, target 100%
2026-08-15 04:10:06.178969: Inverter 0 disabled charge window while waiting for schedule (now 08-15 04:10:00 target set_window_minutes 30 charge start time 08-15 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 04:10:06.179069: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 04:10:06.180292: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 04:10:06.180490: No export window planned
2026-08-15 04:10:06.180689: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 04:10:06.180810: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 04:10:06.181081: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 04:10:06.181369: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 04:10:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 04:10:06.181491: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 04:10:06.181631: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 04:10:06.181789: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 04:10:06.181919: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 04:10:06.182021: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 04:10:06.182138: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 04:10:06.182247: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 04:10:06.182353: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 04:10:06.182451: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 04:10:06.182598: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 04:10:06.182704: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 04:10:06.182809: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 04:10:06.182909: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 04:10:06.183013: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 04:10:06.183110: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 04:10:06.183242: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 04:10:06.183335: Inverter 0 count register writes 0
2026-08-15 04:10:06.218317: Will recompute the plan as it is now 10.0 minutes old and will exceed the max age of 10 minutes before the next run
2026-08-15 04:10:06.233273: Recompute is saving previous plan...
2026-08-15 04:10:06.238346: Best charge window [ 15-08 04:00:00 - 15-08 04:30:00 @ 27.02p 0%, 15-08 04:30:00 - 15-08 05:00:00 @ 26.47p 0%, 15-08 05:00:00 - 15-08 05:30:00 @ 26.25p 0%, 15-08 05:30:00 - 15-08 06:00:00 @ 26.4p 0%, 15-08 06:00:00 - 15-08 06:30:00 @ 25.7p 0%, 15-08 06:30:00 - 15-08 07:00:00 @ 27.63p 0%, 15-08 07:00:00 - 15-08 07:30:00 @ 22.73p 0%, 15-08 07:30:00 - 15-08 08:00:00 @ 26.7p 0%, 15-08 08:00:00 - 15-08 08:30:00 @ 22.92p 0%, 15-08 08:30:00 - 15-08 09:00:00 @ 22.48p 0%, 15-08 09:00:00 - 15-08 09:30:00 @ 23.55p 0%, 15-08 09:30:00 - 15-08 10:00:00 @ 23.64p 0%, 15-08 10:00:00 - 15-08 10:30:00 @ 19.66p 0%, 15-08 10:30:00 - 15-08 11:00:00 @ 17.66p 0%, 15-08 11:00:00 - 15-08 11:30:00 @ 16.56p 0%, 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 0%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 0%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 0%, 15-08 13:00:00 - 15-08 13:30:00 @ 15.36p 0%, 15-08 13:30:00 - 15-08 14:00:00 @ 15.74p 0%, 15-08 14:00:00 - 15-08 14:30:00 @ 14.57p 0%, 15-08 14:30:00 - 15-08 15:00:00 @ 13.77p 0%, 15-08 15:00:00 - 15-08 15:30:00 @ 15.02p 0%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 0%, 15-08 16:00:00 - 15-08 16:30:00 @ 33.13p 0%, 15-08 16:30:00 - 15-08 17:00:00 @ 33.13p 0%, 15-08 17:00:00 - 15-08 17:30:00 @ 38.46p 0%, 15-08 17:30:00 - 15-08 18:00:00 @ 40.44p 0%, 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 0%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 0%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 0%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 0%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 0%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 27.8p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 29.09p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.47p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.18p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 27.57p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.5p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.6p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 24.79p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 25.08p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 24.62p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 27.02p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.47p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 26.25p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.4p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.7p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 27.63p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 22.73p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 26.7p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 22.92p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 22.48p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 23.55p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 23.64p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 19.66p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 17.66p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 16.56p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 15.46p 0%, 16-08 12:00:00 - 16-08 12:30:00 @ 17.0p 0%, 16-08 12:30:00 - 16-08 13:00:00 @ 16.34p 0%, 16-08 13:00:00 - 16-08 13:30:00 @ 15.36p 0%, 16-08 13:30:00 - 16-08 14:00:00 @ 15.74p 0%, 16-08 14:00:00 - 16-08 14:30:00 @ 14.57p 0%, 16-08 14:30:00 - 16-08 15:00:00 @ 13.77p 0%, 16-08 15:00:00 - 16-08 15:30:00 @ 15.02p 0%, 16-08 15:30:00 - 16-08 16:00:00 @ 15.87p 0%, 16-08 16:00:00 - 16-08 16:30:00 @ 33.13p 0%, 16-08 16:30:00 - 16-08 17:00:00 @ 33.13p 0%, 16-08 17:00:00 - 16-08 17:30:00 @ 38.46p 0%, 16-08 17:30:00 - 16-08 18:00:00 @ 40.44p 0%, 16-08 18:00:00 - 16-08 18:30:00 @ 41.55p 0%, 16-08 19:00:00 - 16-08 19:30:00 @ 32.58p 0%, 16-08 19:30:00 - 16-08 20:00:00 @ 32.9p 0%, 16-08 20:00:00 - 16-08 20:30:00 @ 31.99p 0%, 16-08 20:30:00 - 16-08 21:00:00 @ 32.1p 0%, 16-08 21:00:00 - 16-08 21:30:00 @ 31.71p 0%, 16-08 21:30:00 - 16-08 22:00:00 @ 31.67p 0%, 16-08 22:00:00 - 16-08 22:30:00 @ 31.77p 0%, 16-08 22:30:00 - 16-08 23:00:00 @ 29.81p 0%, 16-08 23:00:00 - 16-08 23:30:00 @ 27.8p 0%, 16-08 23:30:00 - 17-08 00:00:00 @ 29.09p 0%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.47p 0%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.18p 0%, 17-08 01:00:00 - 17-08 01:30:00 @ 27.57p 0%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.5p 0%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.6p 0%, 17-08 02:30:00 - 17-08 03:00:00 @ 24.79p 0%, 17-08 03:00:00 - 17-08 03:30:00 @ 25.08p 0%, 17-08 03:30:00 - 17-08 04:00:00 @ 24.62p 0%, 17-08 04:00:00 - 17-08 04:30:00 @ 27.02p 0% ]
2026-08-15 04:10:06.238665: Best export window [  ]
2026-08-15 04:10:06.240091: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 04:10:06.245501: Load divergence over 8.0 hours mean 476.3W, min 268.2W, max 1500.0W, std dev 218.91W, divergence 22.98%
2026-08-15 04:10:06.304584: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 04:10:06.304969: LoadML is_calculating True
2026-08-15 04:10:06.305113: Not using thread pool as LoadML is calculating to avoid lockups
2026-08-15 04:10:06.332519: Calculate Best options: mode(Control charge & discharge), calculate_export_oncharge(False), calculate_export_on_pv(True), set_export_freeze_only(False), set_discharge_during_charge(True), combine_charge_slots(False), combine_export_slots(False), combine_rate_threshold(0.0), best_soc_min(0.0 kWh), best_soc_max(0.0 kWh), best_soc_keep(0.0 kWh), inverter_loss(4%), battery_loss(3%), battery_loss_discharge (3%), inverter_hybrid(True), metric_min_improvement(0.0p), metric_min_improvement_export(0.1p), metric_min_improvement_export_freeze(0.1p), metric_battery_cycle(0.0p/kWh), metric_battery_value_scaling(1.0 x) 
2026-08-15 04:10:06.334368: Optimise levels pass started at 2026-08-15 04:10:06
2026-08-15 04:10:06.334563: Optimise all windows, total charge 94 export 1
2026-08-15 04:10:14.082739: >> Region optimisation pass width 960 gives best_metric 789.28p, best_cost 795.68p, best_cycle 53.53kWh, best_import 39.25kWh
2026-08-15 04:10:15.388060: >> Region optimisation pass width 480 gives best_metric 789.28p, best_cost 795.68p, best_cycle 53.53kWh, best_import 39.25kWh
2026-08-15 04:10:16.861490: >> Region optimisation pass width 240 gives best_metric 789.28p, best_cost 795.68p, best_cycle 53.53kWh, best_import 39.25kWh
2026-08-15 04:10:20.988877: >> Region optimisation pass width 120 gives best_metric 789.28p, best_cost 795.68p, best_cycle 53.53kWh, best_import 39.25kWh
2026-08-15 04:10:20.990149: Calculated end_record as 08-16 11:30:00 based on best_price 16.34p, next_charge_start 08-15 11:30:00, max_windows 62
2026-08-15 04:10:20.990330: Optimise levels pass ended at 2026-08-15 04:10:20, duration 14.7 seconds tried 324 combinations
2026-08-15 04:10:20.990484: Set best_price_charge_level 17.6p, best_price_export_level 0p, best_price_charge 16.34p, best_cost_export 0p, best_metric 789.28p, best_keep 0kWh, best_cycle 53.53kWh, best_carbon 0kg, best_import 39.25kWh
2026-08-15 04:10:21.058440: Starting detailed optimisation end_record 08-16 11:30:00, best_price_charge 16.34p, best_price_export 0p. lowest_price_charge 13.77p with charge limits [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0]kWh and export limits []kWh
2026-08-15 04:10:47.321647: Tweak plan optimisation started metric 583.85p, cost 592.99p
2026-08-15 04:10:48.066193: Tweak optimisation finished metric 583.85p, cost 592.99p, metric_keep 0kWh, cycle 30.57kWh, carbon 0kg, import 25.67kWh, changed 8 window(s)
2026-08-15 04:10:48.094315: Swap charge optimisation started metric 583.85p, cost 592.99p, min_improvement_swap 0.1p
2026-08-15 04:10:49.686836: ML Predictor: Epoch 28/30: lr=0.00011 huber_loss=0.0057 val_mae=0.0018 kWh val_bias=-0.0002 kWh (-0.4%) combined=0.0010 kWh ema_combined=0.0012 kWh
2026-08-15 04:10:58.972440: Swap charge optimisation finished metric 583.85p, cost 592.99p
2026-08-15 04:10:59.261916: Pruned 2 dead plan slot(s) in 11 trial(s), nominal metric 579.75p -> 579.75p, plan now metric 583.88p, cost 592.99p, cycle 30.57kWh, import 25.67kWh
2026-08-15 04:10:59.283263: Raw charge windows [ 15-08 04:00:00 - 15-08 04:30:00 @ 27.02p 0%, 15-08 04:30:00 - 15-08 05:00:00 @ 26.47p 0%, 15-08 05:00:00 - 15-08 05:30:00 @ 26.25p 0%, 15-08 05:30:00 - 15-08 06:00:00 @ 26.4p 0%, 15-08 06:00:00 - 15-08 06:30:00 @ 25.7p 0%, 15-08 06:30:00 - 15-08 07:00:00 @ 27.63p 0%, 15-08 07:00:00 - 15-08 07:30:00 @ 22.73p 0%, 15-08 07:30:00 - 15-08 08:00:00 @ 26.7p 0%, 15-08 08:00:00 - 15-08 08:30:00 @ 22.92p 0%, 15-08 08:30:00 - 15-08 09:00:00 @ 22.48p 0%, 15-08 09:00:00 - 15-08 09:30:00 @ 23.55p 0%, 15-08 09:30:00 - 15-08 10:00:00 @ 23.64p 0%, 15-08 10:00:00 - 15-08 10:30:00 @ 19.66p 0%, 15-08 10:30:00 - 15-08 11:00:00 @ 17.66p 0%, 15-08 11:00:00 - 15-08 11:30:00 @ 16.56p 0%, 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 13:30:00 @ 15.36p 100%, 15-08 13:30:00 - 15-08 14:00:00 @ 15.74p 100%, 15-08 14:00:00 - 15-08 14:30:00 @ 14.57p 100%, 15-08 14:30:00 - 15-08 15:00:00 @ 13.77p 100%, 15-08 15:00:00 - 15-08 15:30:00 @ 15.02p 100%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 100%, 15-08 16:00:00 - 15-08 16:30:00 @ 33.13p 0%, 15-08 16:30:00 - 15-08 17:00:00 @ 33.13p 0%, 15-08 17:00:00 - 15-08 17:30:00 @ 38.46p 0%, 15-08 17:30:00 - 15-08 18:00:00 @ 40.44p 0%, 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 0%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 0%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 0%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 0%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 0%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 27.8p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 29.09p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.47p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.18p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 27.57p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.5p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.6p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 24.79p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 25.08p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 24.62p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 27.02p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.47p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 26.25p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.4p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.7p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 27.63p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 22.73p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 26.7p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 22.92p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 22.48p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 23.55p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 23.64p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 19.66p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 17.66p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 16.56p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 15.46p 100%, 16-08 12:00:00 - 16-08 12:30:00 @ 17.0p 100%, 16-08 12:30:00 - 16-08 13:00:00 @ 16.34p 100%, 16-08 13:00:00 - 16-08 13:30:00 @ 15.36p 100%, 16-08 13:30:00 - 16-08 14:00:00 @ 15.74p 100%, 16-08 14:00:00 - 16-08 14:30:00 @ 14.57p 100%, 16-08 14:30:00 - 16-08 15:00:00 @ 13.77p 100%, 16-08 15:00:00 - 16-08 15:30:00 @ 15.02p 100%, 16-08 15:30:00 - 16-08 16:00:00 @ 15.87p 100%, 16-08 16:00:00 - 16-08 16:30:00 @ 33.13p 100%, 16-08 16:30:00 - 16-08 17:00:00 @ 33.13p 100%, 16-08 17:00:00 - 16-08 17:30:00 @ 38.46p 100%, 16-08 17:30:00 - 16-08 18:00:00 @ 40.44p 100%, 16-08 18:00:00 - 16-08 18:30:00 @ 41.55p 100%, 16-08 19:00:00 - 16-08 19:30:00 @ 32.58p 100%, 16-08 19:30:00 - 16-08 20:00:00 @ 32.9p 100%, 16-08 20:00:00 - 16-08 20:30:00 @ 31.99p 100%, 16-08 20:30:00 - 16-08 21:00:00 @ 32.1p 100%, 16-08 21:00:00 - 16-08 21:30:00 @ 31.71p 100%, 16-08 21:30:00 - 16-08 22:00:00 @ 31.67p 100%, 16-08 22:00:00 - 16-08 22:30:00 @ 31.77p 100%, 16-08 22:30:00 - 16-08 23:00:00 @ 29.81p 100%, 16-08 23:00:00 - 16-08 23:30:00 @ 27.8p 100%, 16-08 23:30:00 - 17-08 00:00:00 @ 29.09p 100%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.47p 100%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.18p 100%, 17-08 01:00:00 - 17-08 01:30:00 @ 27.57p 100%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.5p 100%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.6p 100%, 17-08 02:30:00 - 17-08 03:00:00 @ 24.79p 100%, 17-08 03:00:00 - 17-08 03:30:00 @ 25.08p 100%, 17-08 03:30:00 - 17-08 04:00:00 @ 24.62p 100%, 17-08 04:00:00 - 17-08 04:30:00 @ 27.02p 100% ] reserve 1.12
2026-08-15 04:10:59.284691: Unclipped charge windows [ 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 04:30:00 @ 26.0p 100% ] reserve 1.12
2026-08-15 04:10:59.285469: Unfiltered charge windows [ 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 04:30:00 @ 26.0p 100% ] reserve 1.12
2026-08-15 04:10:59.286030: Filtered charge windows [ 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 04:30:00 @ 26.0p 100% ] reserve 1.12
2026-08-15 04:10:59.350243: Previous plan best metric is 583.88 (cost 592.99) and new plan best metric is 583.85 (cost 592.99)
2026-08-15 04:10:59.351094: New plan metric is not significantly better (metric_min_improvement_plan 2.0) than previous plan, using previous plan
2026-08-15 04:10:59.351472: Plan valid is now true after recompute was False
2026-08-15 04:10:59.413399: predict base end_record 08-16 11:30:00, final soc 1.12kWh, metric 814.1p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 05:10:00, load 28.13kWh, PV 0.0kWh
2026-08-15 04:10:59.662240: Battery has 1.0 hours left - now at 1.94kWh
2026-08-15 04:10:59.735363: predict base10 end_record 08-16 11:30:00, final soc 1.12kWh, metric 843.29p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 05:05:00, load 29.29kWh, PV 0.0kWh
2026-08-15 04:10:59.893351: predict best10 end_record 08-16 11:30:00, final soc 1.12kWh, metric 670.52p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 05:05:00, load 29.29kWh, PV 0.0kWh
2026-08-15 04:11:00.058230: predict best end_record 08-16 11:30:00, final soc 1.12kWh, metric 642.98p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 05:10:00, load 28.13kWh, PV 0.0kWh
2026-08-15 04:11:00.059024: Saving plan best values to HA entities
2026-08-15 04:11:00.295088: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 04:11:00.313136: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 04:11:00.334041: Best charging limit SoC's [16.0, 3.5, 4.0, 16.0, 16.0, 16.0]kWh, export []kWh gives import battery 20.47kWh, house 5.19kWh, export 0.0kWh, metric 642.98p, metric10 670.52p
2026-08-15 04:11:00.491657: Marginal costs baseline metric (no standing charge): 592.9941
2026-08-15 04:11:00.861076: Marginal energy costs matrix computed: min=14.24 max=29.1
2026-08-15 04:11:01.100583: Rate array import [{'start': 250, 'end': 420, 'rate': 'expensive', 'range': '(25.7p - 27.6p)'}, {'start': 420, 'end': 450, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 450, 'end': 480, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 480, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 23.6p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1860, 'rate': 'expensive', 'range': '(24.6p - 32.9p)'}, {'start': 1860, 'end': 1890, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 1890, 'end': 1920, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 1920, 'end': 2130, 'rate': 'cheap', 'range': '(16.6p - 23.6p)'}] export [{'start': 250, 'end': 2130, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 04:11:01.101414: - Your estimated bill for today is £5.81 and tomorrow is £5.44
2026-08-15 04:11:01.102829: - Import rates are expensive (25.7p - 27.6p) for the next 2 and three quarters hours and then cheap (22.7p) for the next 30 minutes.
2026-08-15 04:11:01.103048: - The battery is currently at 12% and is in eco mode for the next 7 and a quarter hours.
2026-08-15 04:11:01.103251: - For the next 48 hours there will be no solar generation.
2026-08-15 04:11:01.103312: - You will run out of battery in 1 hour.
2026-08-15 04:11:01.103347: - Your next charge slot will be in 7 and a quarter hours where import rates will be cheap (15.5p).
2026-08-15 04:11:01.103413: 
2026-08-15 04:11:01.158656: Plan calculation took 54.93 seconds
2026-08-15 04:11:01.159466: Inverter 0: Type SK Sunsynk
2026-08-15 04:11:01.160231: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 04:11:01.160572: Reserve min: 7%, battery_min: 7%
2026-08-15 04:11:01.160771: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 04:11:01.161229: Inverter 0 SoC: 1.94kW 12%, current charge rate 5000W, current discharge rate 5250W, current battery power 2638W, current battery voltage 51.2V, grid power -55W, load power 2657W, PV Power 0W
2026-08-15 04:11:01.161581: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 04:11:01.161964: Inverter 0 scheduled charge enable is False
2026-08-15 04:11:01.162105: Inverter 0 charge windows currently []
2026-08-15 04:11:01.162269: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 04:11:01.162470: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 04:11:01.162627: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 04:11:01.162690: Inverter 0 scheduled discharge enable is False
2026-08-15 04:11:01.162848: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 04:11:01.163058: Inverter 0 discharge windows currently []
2026-08-15 04:11:01.163104: Note: Inverter does not support discharge freeze - disabled
2026-08-15 04:11:01.163140: Note: Inverter does not support charge freeze - disabled
2026-08-15 04:11:01.163161: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 04:11:01.331388: Inverter 0 Charge window will be: 2026-08-15 11:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 12%, target 100%
2026-08-15 04:11:01.331549: Inverter 0 disabled charge window while waiting for schedule (now 08-15 04:10:00 target set_window_minutes 30 charge start time 08-15 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 04:11:01.331622: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 04:11:01.331818: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 04:11:01.332674: No export window planned
2026-08-15 04:11:01.332816: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 04:11:01.332857: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 04:11:01.333054: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 04:11:01.333243: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 04:10:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 04:11:01.333300: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 04:11:01.333349: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 04:11:01.333435: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 04:11:01.333478: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 04:11:01.333508: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 04:11:01.333543: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 04:11:01.333571: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 04:11:01.333606: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 04:11:01.333665: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 04:11:01.333732: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 04:11:01.333770: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 04:11:01.333798: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 04:11:01.333832: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 04:11:01.333860: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 04:11:01.333893: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 04:11:01.333920: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 04:11:01.333949: Inverter 0 count register writes 0
2026-08-15 04:11:01.388164: Total inverter register writes now 815
2026-08-15 04:11:01.470072: Info: Completed run status Demand
2026-08-15 04:11:01.480168: Info: record_status Demand
2026-08-15 04:11:01.504884: Saved current settings to /config/predbat_config.json
2026-08-15 04:11:01.505339: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 04:11:17.696248: ML Predictor: Epoch 29/30: lr=0.00010 huber_loss=0.0057 val_mae=0.0019 kWh val_bias=-0.0007 kWh (-1.3%) combined=0.0016 kWh ema_combined=0.0013 kWh
2026-08-15 04:11:38.119036: ML Predictor: Epoch 30/30: lr=0.00010 huber_loss=0.0054 val_mae=0.0017 kWh val_bias=-0.0002 kWh (-0.3%) combined=0.0010 kWh ema_combined=0.0012 kWh
2026-08-15 04:11:38.120613: ML Predictor: Restored best weights from epoch with val_mae=0.0018 kWh val_bias=+0.0001 kWh (+0.1%)
2026-08-15 04:11:38.120995: ML Predictor: Training complete, final val_mae=0.0018 kWh val_bias=+0.0001 kWh (+0.1%)
2026-08-15 04:11:40.383382: ML Predictor: AR rollout over holdout: ar_mae=0.0020 kWh ar_bias=+0.0001 kWh (+0.2%) [drift vs teacher-forced: +0.0002 kWh]
2026-08-15 04:11:40.418607: ML Predictor: Curriculum pass 1/5 complete, val_mae=0.0018 kWh
2026-08-15 04:11:40.518250: ML Predictor: Curriculum pass 2/5: window=54.0 days (1296 hours of data)
2026-08-15 04:11:40.518540: ML Predictor: Starting fine-tune training with 30 epochs
2026-08-15 04:11:41.164231: ML Predictor: Creating dataset with 1296 hours of training data, 48 hours validation
2026-08-15 04:11:41.807347: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 04:11:41.812823: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 04:11:41.818107: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 04:11:41.833942: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 04:11:41.834038: Note: Inverter does not support discharge freeze - disabled
2026-08-15 04:11:41.839221: Note: Inverter does not support charge freeze - disabled
2026-08-15 04:11:41.844461: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 04:11:46.613722: ML Predictor: Created 15264 training samples, 576 validation samples
2026-08-15 04:11:46.670148: ML Predictor: Normalization stats [ema-update alpha=0.1] target(mean=0.0587 std=0.0470) load(mean=0.0589 std=0.0471) pv(mean=0.0000 std=0.0100) temp(mean=19.4873 std=4.4036) import_rate(mean=25.4977 std=2.4779) export_rate(mean=0.0000 std=1.0000) time(mean=-0.1905 std=0.5233)
2026-08-15 04:11:46.760680: ML Predictor: Applied EMA normalization update (alpha=0.1) to track feature drift
2026-08-15 04:11:46.778659: ML Predictor: Reset Adam optimiser state for fine-tuning
2026-08-15 04:11:46.811303: ML Predictor: Baseline (pre-finetune) val_mae=0.0031 kWh val_bias=+0.0001 kWh
2026-08-15 04:12:13.416322: ML Predictor: Epoch 1/30: lr=0.00100 huber_loss=0.0098 val_mae=0.0032 kWh val_bias=-0.0009 kWh (-1.7%) combined=0.0024 kWh ema_combined=0.0024 kWh
2026-08-15 04:12:48.915549: ML Predictor: Epoch 2/30: lr=0.00100 huber_loss=0.0110 val_mae=0.0035 kWh val_bias=+0.0018 kWh (+3.6%) combined=0.0032 kWh ema_combined=0.0027 kWh
2026-08-15 04:13:23.195009: ML Predictor: Epoch 3/30: lr=0.00099 huber_loss=0.0105 val_mae=0.0034 kWh val_bias=-0.0004 kWh (-0.7%) combined=0.0018 kWh ema_combined=0.0024 kWh
2026-08-15 04:13:42.425961: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 04:13:42.426780: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 04:13:42.426882: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 04:13:42.429690: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 04:13:42.430980: Note: Inverter does not support discharge freeze - disabled
2026-08-15 04:13:42.431226: Note: Inverter does not support charge freeze - disabled
2026-08-15 04:13:42.431348: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 04:13:56.604649: ML Predictor: Epoch 4/30: lr=0.00098 huber_loss=0.0152 val_mae=0.0033 kWh val_bias=-0.0004 kWh (-0.8%) combined=0.0017 kWh ema_combined=0.0022 kWh
2026-08-15 04:14:34.454892: ML Predictor: Epoch 5/30: lr=0.00096 huber_loss=0.0102 val_mae=0.0029 kWh val_bias=-0.0000 kWh (-0.1%) combined=0.0017 kWh ema_combined=0.0020 kWh
2026-08-15 04:15:00.982729: --------------- PredBat - update at 2026-08-15 04:15:00+01:00 with clock skew 0 minutes, minutes now 255
2026-08-15 04:15:00.983664: Saved current settings to /config/predbat_config.json
2026-08-15 04:15:00.983850: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 10.0 minutes
2026-08-15 04:15:00.983959: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.1, latest beta is v8.48.1
2026-08-15 04:15:00.984062: Autoupdate: Currently up to date
2026-08-15 04:15:01.029660: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 04:15:01.029829: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 04:15:01.030048: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 04:15:01.038008: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 04:15:01.038874: Predbat mode is set to Control charge & discharge
2026-08-15 04:15:01.410498: Found 21602 load_today datapoints going back 28 days
2026-08-15 04:15:01.410752: Using load_power data to fill gaps in load_today data
2026-08-15 04:15:03.022716: Processing 721 30-minute periods for power integration
2026-08-15 04:15:03.550692: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 04:15:03.550872: Car charging hold False, threshold 6.0kWh
2026-08-15 04:15:03.550947: Current data so far today: load 3.85kWh, import 4.5kWh, export 0.0kWh, PV 0kWh
2026-08-15 04:15:03.576087: Cars: SoC: [12.892000000000001]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 04:15:03.576653: Standing charge is set to 49.98p
2026-08-15 04:15:03.616386: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 04:15:03.616519: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 04:15:03.616825: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 255.0 minutes
2026-08-15 04:15:03.617550: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 254.7 minutes
2026-08-15 04:15:03.623029: Loaded 47 datapoints of futurerate analysis
2026-08-15 04:15:03.730124: Predicted future rates: ['08-15 00:00:00 => 28.9 / 20.01', '08-15 01:00:00 => 27.54 / 19.31', '08-15 02:00:00 => 26.52 / 18.8', '08-15 03:00:00 => 25.99 / 18.53', '08-15 04:00:00 => 25.8 / 18.43', '08-15 05:00:00 => 25.96 / 18.51', '08-15 06:00:00 => 25.55 / 18.3', '08-15 07:00:00 => 24.33 / 17.68', '08-15 08:00:00 => 23.03 / 17.01', '08-15 09:00:00 => 22.05 / 16.51', '08-15 10:00:00 => 20.43 / 15.68', '08-15 11:00:00 => 18.01 / 14.45', '08-15 12:00:00 => 16.37 / 13.61', '08-15 13:00:00 => 15.76 / 13.3', '08-15 14:00:00 => 15.35 / 13.09', '08-15 15:00:00 => 15.86 / 13.35', '08-15 16:00:00 => 32.89 / 16.13', '08-15 17:00:00 => 38.02 / 18.75', '08-15 18:00:00 => 42.36 / 20.96', '08-15 19:00:00 => 31.09 / 21.13', '08-15 20:00:00 => 31.64 / 21.41', '08-15 21:00:00 => 31.64 / 21.41', '08-15 22:00:00 => 30.58 / 20.87']
2026-08-15 04:15:03.956848: Rate min forward looking: now 13.77p at end of forecast 13.77p
2026-08-15 04:15:03.982595: Import rates: min 13.77p, max 43.82p, average 25.96p
2026-08-15 04:15:04.118170: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 04:15:04.139729: Rate thresholds (for charge/export) are import 43.32p (0.0p), export -0.1p (0.0p)
2026-08-15 04:15:04.141342: High export rate found rates in range 99p to -99p
2026-08-15 04:15:04.291904: Low Import rate found rates in range 13.77p to 41.55p
2026-08-15 04:15:04.293175: Car 0 charging is not planned as it is not plugged in
2026-08-15 04:15:04.319026: Battery level now 1.94kWh, -1hr ago 1.76kWh, at midnight 1.66kWh, battery value change in the last hour 2.18p, change today 3.41p, rate_forward 11.83p
2026-08-15 04:15:04.319882: Last hour: net energy 0.4kWh, import 0.4kWh, export 0.0kWh, car 0kWh, load 0.45kWh, net cost 10.02p, import 10.02p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 04:15:04.413484: Today's energy total net 4.5kWh, import 4.5kWh, export 0.0kWh, cost 170.13p, import 120.15p, export 0.0p, carbon 0.0kg
2026-08-15 04:15:04.413661: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 04:15:04.529092: Using weighted-bucket historical load forecast over 14 days
2026-08-15 04:15:04.568900: Today's load divergence 105.29%, in-day adjustment 136.91%, damping 0.95x, yesterday 143.77% today 105.02% blend 82.29%
2026-08-15 04:15:04.569227: Today's predicted so far 3.0kWh with 0.0kWh car/iBoost excluded, 1.94kWh import ignored, and 3.0kWh forecast extra.
2026-08-15 04:15:04.569407: Today's actual load so far 3.87kWh with 0.0kWh car/iBoost excluded, and 1.94kWh import ignored.
2026-08-15 04:15:04.670374: Inverter 0: Type SK Sunsynk
2026-08-15 04:15:04.670631: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 04:15:04.671176: Reserve min: 7%, battery_min: 7%
2026-08-15 04:15:04.671465: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 04:15:04.672048: Inverter 0 SoC: 1.94kW 12%, current charge rate 5000W, current discharge rate 5250W, current battery power 2565W, current battery voltage 51.2V, grid power -54W, load power 2595W, PV Power 0W
2026-08-15 04:15:04.672534: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 04:15:04.672851: Inverter 0 scheduled charge enable is False
2026-08-15 04:15:04.673122: Inverter 0 charge windows currently []
2026-08-15 04:15:04.673288: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 04:15:04.673666: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 04:15:04.673810: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 04:15:04.674062: Inverter 0 scheduled discharge enable is False
2026-08-15 04:15:04.674466: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 04:15:04.674674: Inverter 0 discharge windows currently []
2026-08-15 04:15:04.674802: Note: Inverter does not support discharge freeze - disabled
2026-08-15 04:15:04.674965: Note: Inverter does not support charge freeze - disabled
2026-08-15 04:15:04.675119: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 04:15:04.816492: Dynamic load last period 0.30kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 04:15:04.816648: Plan was last updated on 2026-08-15 04:10:00+01:00 and is now 5.0 minutes old
2026-08-15 04:15:04.817073: Best charge window [ 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 00:30:00 @ 28.84p 100% ]
2026-08-15 04:15:04.817156: Best export window [  ]
2026-08-15 04:15:04.818450: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 04:15:04.823160: Load divergence over 8.0 hours mean 473.27W, min 226.2W, max 1777.8W, std dev 246.79W, divergence 26.07%
2026-08-15 04:15:04.932897: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 04:15:04.933065: LoadML is_calculating True
2026-08-15 04:15:04.933125: Not using thread pool as LoadML is calculating to avoid lockups
2026-08-15 04:15:04.966943: predict base end_record 08-16 11:35:00, final soc 1.12kWh, metric 814.01p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 05:15:00, load 28.2kWh, PV 0.0kWh
2026-08-15 04:15:05.376489: Battery has 1.0 hours left - now at 1.94kWh
2026-08-15 04:15:05.458936: predict base10 end_record 08-16 11:35:00, final soc 1.12kWh, metric 843.23p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 05:15:00, load 29.36kWh, PV 0.0kWh
2026-08-15 04:15:05.667479: predict best10 end_record 08-16 11:35:00, final soc 1.44kWh, metric 675.73p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 05:15:00, load 29.36kWh, PV 0.0kWh
2026-08-15 04:15:05.801035: predict best end_record 08-16 11:35:00, final soc 1.51kWh, metric 649.16p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 05:15:00, load 28.2kWh, PV 0.0kWh
2026-08-15 04:15:05.801356: Saving plan best values to HA entities
2026-08-15 04:15:06.286443: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 04:15:06.295302: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0.0
2026-08-15 04:15:06.306958: Best charging limit SoC's [16.0, 3.5, 4.0, 16.0, 16.0, 16.0]kWh, export []kWh gives import battery 20.99kWh, house 5.13kWh, export 0.0kWh, metric 649.16p, metric10 675.73p
2026-08-15 04:15:06.489001: Marginal costs baseline metric (no standing charge): 599.1814
2026-08-15 04:15:07.137492: Marginal energy costs matrix computed: min=14.28 max=29.34
2026-08-15 04:15:07.258401: Rate array import [{'start': 255, 'end': 420, 'rate': 'expensive', 'range': '(25.7p - 27.6p)'}, {'start': 420, 'end': 450, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 450, 'end': 480, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 480, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 23.6p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1860, 'rate': 'expensive', 'range': '(24.6p - 32.9p)'}, {'start': 1860, 'end': 1890, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 1890, 'end': 1920, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 1920, 'end': 2135, 'rate': 'cheap', 'range': '(15.5p - 23.6p)'}] export [{'start': 255, 'end': 2135, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 04:15:07.259450: - Your estimated bill for today is £5.79 and tomorrow is £5.46
2026-08-15 04:15:07.259524: - Import rates are expensive (25.7p - 27.6p) for the next 2 and three quarters hours and then cheap (22.7p) for the next 30 minutes.
2026-08-15 04:15:07.259585: - The battery is currently at 12% and is in eco mode for the next 7 and a quarter hours.
2026-08-15 04:15:07.259655: - For the next 48 hours there will be no solar generation.
2026-08-15 04:15:07.259693: - You will run out of battery in 1 hour.
2026-08-15 04:15:07.259749: - Your next charge slot will be in 7 and a quarter hours where import rates will be cheap (15.5p).
2026-08-15 04:15:07.259782: 
2026-08-15 04:15:07.324026: Plan calculation took 2.51 seconds
2026-08-15 04:15:07.329014: No high rate period found
2026-08-15 04:15:07.527905: Import threshold used for optimisation was 22.92p
2026-08-15 04:15:07.638612: Low import rate windows [0: 08-15 04:00:00 - 08-15 04:30:00 @ 27.02, 1: 08-15 04:30:00 - 08-15 05:00:00 @ 26.47, 2: 08-15 05:00:00 - 08-15 05:30:00 @ 26.25, 3: 08-15 05:30:00 - 08-15 06:00:00 @ 26.4, 4: 08-15 06:00:00 - 08-15 06:30:00 @ 25.7, 5: 08-15 06:30:00 - 08-15 07:00:00 @ 27.63, 6: 08-15 07:00:00 - 08-15 07:30:00 @ 22.73, 7: 08-15 07:30:00 - 08-15 08:00:00 @ 26.7, 8: 08-15 08:00:00 - 08-15 08:30:00 @ 22.92, 9: 08-15 08:30:00 - 08-15 09:00:00 @ 22.48, 10: 08-15 09:00:00 - 08-15 09:30:00 @ 23.55, 11: 08-15 09:30:00 - 08-15 10:00:00 @ 23.64, 12: 08-15 10:00:00 - 08-15 10:30:00 @ 19.66, 13: 08-15 10:30:00 - 08-15 11:00:00 @ 17.66, 14: 08-15 11:00:00 - 08-15 11:30:00 @ 16.56, 15: 08-15 11:30:00 - 08-15 12:00:00 @ 15.46, 16: 08-15 12:00:00 - 08-15 12:30:00 @ 17.0, 17: 08-15 12:30:00 - 08-15 13:00:00 @ 16.34, 18: 08-15 13:00:00 - 08-15 13:30:00 @ 15.36, 19: 08-15 13:30:00 - 08-15 14:00:00 @ 15.74, 20: 08-15 14:00:00 - 08-15 14:30:00 @ 14.57, 21: 08-15 14:30:00 - 08-15 15:00:00 @ 13.77, 22: 08-15 15:00:00 - 08-15 15:30:00 @ 15.02, 23: 08-15 15:30:00 - 08-15 16:00:00 @ 15.87, 24: 08-15 16:00:00 - 08-15 16:30:00 @ 33.13, 25: 08-15 16:30:00 - 08-15 17:00:00 @ 33.13, 26: 08-15 17:00:00 - 08-15 17:30:00 @ 38.46, 27: 08-15 17:30:00 - 08-15 18:00:00 @ 40.44, 28: 08-15 18:00:00 - 08-15 18:30:00 @ 41.55, 29: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 30: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 31: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 32: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 33: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 34: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 35: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 36: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 37: 08-15 23:00:00 - 08-15 23:30:00 @ 27.8, 38: 08-15 23:30:00 - 08-16 00:00:00 @ 29.09, 39: 08-16 00:00:00 - 08-16 00:30:00 @ 28.47, 40: 08-16 00:30:00 - 08-16 01:00:00 @ 27.18, 41: 08-16 01:00:00 - 08-16 01:30:00 @ 27.57, 42: 08-16 01:30:00 - 08-16 02:00:00 @ 26.5, 43: 08-16 02:00:00 - 08-16 02:30:00 @ 25.6, 44: 08-16 02:30:00 - 08-16 03:00:00 @ 24.79, 45: 08-16 03:00:00 - 08-16 03:30:00 @ 25.08, 46: 08-16 03:30:00 - 08-16 04:00:00 @ 24.62, 47: 08-16 04:00:00 - 08-16 04:30:00 @ 27.02, 48: 08-16 04:30:00 - 08-16 05:00:00 @ 26.47, 49: 08-16 05:00:00 - 08-16 05:30:00 @ 26.25, 50: 08-16 05:30:00 - 08-16 06:00:00 @ 26.4, 51: 08-16 06:00:00 - 08-16 06:30:00 @ 25.7, 52: 08-16 06:30:00 - 08-16 07:00:00 @ 27.63, 53: 08-16 07:00:00 - 08-16 07:30:00 @ 22.73, 54: 08-16 07:30:00 - 08-16 08:00:00 @ 26.7, 55: 08-16 08:00:00 - 08-16 08:30:00 @ 22.92, 56: 08-16 08:30:00 - 08-16 09:00:00 @ 22.48, 57: 08-16 09:00:00 - 08-16 09:30:00 @ 23.55, 58: 08-16 09:30:00 - 08-16 10:00:00 @ 23.64, 59: 08-16 10:00:00 - 08-16 10:30:00 @ 19.66, 60: 08-16 10:30:00 - 08-16 11:00:00 @ 17.66, 61: 08-16 11:00:00 - 08-16 11:30:00 @ 16.56, 62: 08-16 11:30:00 - 08-16 12:00:00 @ 15.46, 63: 08-16 12:00:00 - 08-16 12:30:00 @ 17.0, 64: 08-16 12:30:00 - 08-16 13:00:00 @ 16.34, 65: 08-16 13:00:00 - 08-16 13:30:00 @ 15.36, 66: 08-16 13:30:00 - 08-16 14:00:00 @ 15.74, 67: 08-16 14:00:00 - 08-16 14:30:00 @ 14.57, 68: 08-16 14:30:00 - 08-16 15:00:00 @ 13.77, 69: 08-16 15:00:00 - 08-16 15:30:00 @ 15.02, 70: 08-16 15:30:00 - 08-16 16:00:00 @ 15.87, 71: 08-16 16:00:00 - 08-16 16:30:00 @ 33.13, 72: 08-16 16:30:00 - 08-16 17:00:00 @ 33.13, 73: 08-16 17:00:00 - 08-16 17:30:00 @ 38.46, 74: 08-16 17:30:00 - 08-16 18:00:00 @ 40.44, 75: 08-16 18:00:00 - 08-16 18:30:00 @ 41.55, 76: 08-16 19:00:00 - 08-16 19:30:00 @ 32.58, 77: 08-16 19:30:00 - 08-16 20:00:00 @ 32.9, 78: 08-16 20:00:00 - 08-16 20:30:00 @ 31.99, 79: 08-16 20:30:00 - 08-16 21:00:00 @ 32.1, 80: 08-16 21:00:00 - 08-16 21:30:00 @ 31.71, 81: 08-16 21:30:00 - 08-16 22:00:00 @ 31.67, 82: 08-16 22:00:00 - 08-16 22:30:00 @ 31.77, 83: 08-16 22:30:00 - 08-16 23:00:00 @ 29.81, 84: 08-16 23:00:00 - 08-16 23:30:00 @ 27.8, 85: 08-16 23:30:00 - 08-17 00:00:00 @ 29.09, 86: 08-17 00:00:00 - 08-17 00:30:00 @ 28.47, 87: 08-17 00:30:00 - 08-17 01:00:00 @ 27.18, 88: 08-17 01:00:00 - 08-17 01:30:00 @ 27.57, 89: 08-17 01:30:00 - 08-17 02:00:00 @ 26.5, 90: 08-17 02:00:00 - 08-17 02:30:00 @ 25.6, 91: 08-17 02:30:00 - 08-17 03:00:00 @ 24.79, 92: 08-17 03:00:00 - 08-17 03:30:00 @ 25.08, 93: 08-17 03:30:00 - 08-17 04:00:00 @ 24.62, 94: 08-17 04:00:00 - 08-17 04:30:00 @ 27.02]
2026-08-15 04:15:07.652003: Inverter 0 Charge window will be: 2026-08-15 11:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 12%, target 100%
2026-08-15 04:15:07.652521: Inverter 0 disabled charge window while waiting for schedule (now 08-15 04:15:00 target set_window_minutes 30 charge start time 08-15 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 04:15:07.652739: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 04:15:07.653220: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 04:15:07.653370: No export window planned
2026-08-15 04:15:07.653769: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 04:15:07.653925: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 04:15:07.654185: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 04:15:07.654494: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 04:15:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 04:15:07.654640: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 04:15:07.654726: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 04:15:07.654843: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 04:15:07.654904: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 04:15:07.654961: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 04:15:07.655024: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 04:15:07.655087: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 04:15:07.655310: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 04:15:07.655396: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 04:15:07.655567: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 04:15:07.655779: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 04:15:07.655876: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 04:15:07.655934: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 04:15:07.656001: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 04:15:07.656056: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 04:15:07.656104: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 04:15:07.656160: Inverter 0 count register writes 0
2026-08-15 04:15:07.682841: Will not recompute the plan, it is 5.0 minutes old and max age is 10 minutes
2026-08-15 04:15:07.694381: Total inverter register writes now 815
2026-08-15 04:15:07.789807: Info: Completed run status Demand
2026-08-15 04:15:07.800659: Info: record_status Demand
2026-08-15 04:15:07.815409: Saved current settings to /config/predbat_config.json
2026-08-15 04:15:07.817303: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 04:15:13.033259: ML Predictor: Epoch 6/30: lr=0.00094 huber_loss=0.0098 val_mae=0.0029 kWh val_bias=+0.0002 kWh (+0.3%) combined=0.0015 kWh ema_combined=0.0019 kWh
2026-08-15 04:15:42.149267: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 04:15:42.151106: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 04:15:42.151339: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 04:15:42.151665: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 04:15:42.151816: Note: Inverter does not support discharge freeze - disabled
2026-08-15 04:15:42.151913: Note: Inverter does not support charge freeze - disabled
2026-08-15 04:15:42.152010: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 04:15:48.241436: ML Predictor: Epoch 7/30: lr=0.00091 huber_loss=0.0125 val_mae=0.0033 kWh val_bias=+0.0006 kWh (+1.2%) combined=0.0019 kWh ema_combined=0.0019 kWh
2026-08-15 04:16:23.431240: ML Predictor: Epoch 8/30: lr=0.00088 huber_loss=0.0111 val_mae=0.0026 kWh val_bias=-0.0004 kWh (-0.8%) combined=0.0017 kWh ema_combined=0.0018 kWh
2026-08-15 04:16:58.808431: ML Predictor: Epoch 9/30: lr=0.00084 huber_loss=0.0087 val_mae=0.0029 kWh val_bias=-0.0011 kWh (-2.1%) combined=0.0022 kWh ema_combined=0.0019 kWh
2026-08-15 04:17:34.013653: ML Predictor: Epoch 10/30: lr=0.00080 huber_loss=0.0090 val_mae=0.0026 kWh val_bias=+0.0012 kWh (+2.2%) combined=0.0024 kWh ema_combined=0.0021 kWh
2026-08-15 04:17:34.013772: ML Predictor: Early stopping at epoch 10
2026-08-15 04:17:34.014725: ML Predictor: Restored best weights from epoch with val_mae=0.0031 kWh val_bias=+0.0001 kWh (+0.2%)
2026-08-15 04:17:34.014857: ML Predictor: Training complete, final val_mae=0.0031 kWh val_bias=+0.0001 kWh (+0.2%)
2026-08-15 04:17:43.423529: ML Predictor: AR rollout over holdout: ar_mae=0.0084 kWh ar_bias=-0.0056 kWh (-10.7%) [drift vs teacher-forced: +0.0053 kWh]
2026-08-15 04:17:43.493352: ML Predictor: Curriculum pass 2/5 complete, val_mae=0.0031 kWh
2026-08-15 04:17:43.615753: ML Predictor: Curriculum pass 3/5: window=55.0 days (1320 hours of data)
2026-08-15 04:17:43.615867: ML Predictor: Starting fine-tune training with 30 epochs
2026-08-15 04:17:44.168028: ML Predictor: Creating dataset with 1320 hours of training data, 48 hours validation
2026-08-15 04:17:49.398462: ML Predictor: Created 15552 training samples, 576 validation samples
2026-08-15 04:17:49.450925: ML Predictor: Normalization stats [ema-update alpha=0.1] target(mean=0.0587 std=0.0470) load(mean=0.0589 std=0.0470) pv(mean=0.0000 std=0.0100) temp(mean=19.4979 std=4.4109) import_rate(mean=25.5034 std=2.4753) export_rate(mean=0.0000 std=1.0000) time(mean=-0.1903 std=0.5235)
2026-08-15 04:17:49.530074: ML Predictor: Applied EMA normalization update (alpha=0.1) to track feature drift
2026-08-15 04:17:49.549047: ML Predictor: Reset Adam optimiser state for fine-tuning
2026-08-15 04:17:49.597785: ML Predictor: Baseline (pre-finetune) val_mae=0.0068 kWh val_bias=-0.0023 kWh
2026-08-15 04:17:57.410773: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 04:17:57.411615: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 04:17:57.411795: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 04:17:57.412105: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 04:17:57.412339: Note: Inverter does not support discharge freeze - disabled
2026-08-15 04:17:57.412518: Note: Inverter does not support charge freeze - disabled
2026-08-15 04:17:57.412637: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 04:18:22.566193: ML Predictor: Epoch 1/30: lr=0.00100 huber_loss=0.0100 val_mae=0.0057 kWh val_bias=-0.0014 kWh (-2.0%) combined=0.0032 kWh ema_combined=0.0032 kWh
2026-08-15 04:18:46.552939: ML Predictor: Epoch 2/30: lr=0.00100 huber_loss=0.0118 val_mae=0.0063 kWh val_bias=+0.0013 kWh (+1.8%) combined=0.0046 kWh ema_combined=0.0036 kWh
2026-08-15 04:19:09.126360: ML Predictor: Epoch 3/30: lr=0.00099 huber_loss=0.0142 val_mae=0.0048 kWh val_bias=-0.0009 kWh (-1.3%) combined=0.0029 kWh ema_combined=0.0034 kWh
2026-08-15 04:19:31.506174: ML Predictor: Epoch 4/30: lr=0.00098 huber_loss=0.0124 val_mae=0.0045 kWh val_bias=+0.0004 kWh (+0.6%) combined=0.0024 kWh ema_combined=0.0031 kWh
2026-08-15 04:19:51.420816: ML Predictor: Epoch 5/30: lr=0.00096 huber_loss=0.0115 val_mae=0.0048 kWh val_bias=-0.0006 kWh (-0.8%) combined=0.0031 kWh ema_combined=0.0031 kWh
2026-08-15 04:20:00.071065: --------------- PredBat - update at 2026-08-15 04:20:00+01:00 with clock skew 0 minutes, minutes now 260
2026-08-15 04:20:00.082796: Saved current settings to /config/predbat_config.json
2026-08-15 04:20:00.082954: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 15.0 minutes
2026-08-15 04:20:00.083287: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.1, latest beta is v8.48.1
2026-08-15 04:20:00.083416: Autoupdate: Currently up to date
2026-08-15 04:20:00.162872: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 04:20:00.163028: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 04:20:00.163274: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 04:20:00.163943: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 04:20:00.164081: Predbat mode is set to Control charge & discharge
2026-08-15 04:20:00.502258: Found 21602 load_today datapoints going back 28 days
2026-08-15 04:20:00.502434: Using load_power data to fill gaps in load_today data
2026-08-15 04:20:01.865158: Processing 721 30-minute periods for power integration
2026-08-15 04:20:02.149316: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 04:20:02.149656: Car charging hold False, threshold 6.0kWh
2026-08-15 04:20:02.149848: Current data so far today: load 4.25kWh, import 5.0kWh, export 0.0kWh, PV 0kWh
2026-08-15 04:20:02.167080: Cars: SoC: [12.892000000000001]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 04:20:02.167654: Standing charge is set to 49.98p
2026-08-15 04:20:02.215432: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 04:20:02.215566: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 04:20:02.215821: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 260.0 minutes
2026-08-15 04:20:02.216575: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 259.7 minutes
2026-08-15 04:20:02.223501: Loaded 47 datapoints of futurerate analysis
2026-08-15 04:20:02.342059: Predicted future rates: ['08-15 00:00:00 => 28.9 / 20.01', '08-15 01:00:00 => 27.54 / 19.31', '08-15 02:00:00 => 26.52 / 18.8', '08-15 03:00:00 => 25.99 / 18.53', '08-15 04:00:00 => 25.8 / 18.43', '08-15 05:00:00 => 25.96 / 18.51', '08-15 06:00:00 => 25.55 / 18.3', '08-15 07:00:00 => 24.33 / 17.68', '08-15 08:00:00 => 23.03 / 17.01', '08-15 09:00:00 => 22.05 / 16.51', '08-15 10:00:00 => 20.43 / 15.68', '08-15 11:00:00 => 18.01 / 14.45', '08-15 12:00:00 => 16.37 / 13.61', '08-15 13:00:00 => 15.76 / 13.3', '08-15 14:00:00 => 15.35 / 13.09', '08-15 15:00:00 => 15.86 / 13.35', '08-15 16:00:00 => 32.89 / 16.13', '08-15 17:00:00 => 38.02 / 18.75', '08-15 18:00:00 => 42.36 / 20.96', '08-15 19:00:00 => 31.09 / 21.13', '08-15 20:00:00 => 31.64 / 21.41', '08-15 21:00:00 => 31.64 / 21.41', '08-15 22:00:00 => 30.58 / 20.87']
2026-08-15 04:20:02.507103: Rate min forward looking: now 13.77p at end of forecast 13.77p
2026-08-15 04:20:02.507763: Import rates: min 13.77p, max 43.82p, average 25.96p
2026-08-15 04:20:02.688878: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 04:20:02.713103: Rate thresholds (for charge/export) are import 43.32p (0.0p), export -0.1p (0.0p)
2026-08-15 04:20:02.715018: High export rate found rates in range 99p to -99p
2026-08-15 04:20:02.823010: Low Import rate found rates in range 13.77p to 41.55p
2026-08-15 04:20:02.823348: Car 0 charging is not planned as it is not plugged in
2026-08-15 04:20:02.842037: Battery level now 1.94kWh, -1hr ago 1.76kWh, at midnight 1.66kWh, battery value change in the last hour 2.18p, change today 3.41p, rate_forward 11.83p
2026-08-15 04:20:02.842570: Last hour: net energy 0.86kWh, import 0.86kWh, export 0.0kWh, car 0kWh, load 0.8kWh, net cost 22.52p, import 22.52p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 04:20:02.994341: Today's energy total net 5.0kWh, import 5.0kWh, export 0.0kWh, cost 183.64p, import 133.66p, export 0.0p, carbon 0.0kg
2026-08-15 04:20:02.994529: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 04:20:03.159166: Using weighted-bucket historical load forecast over 14 days
2026-08-15 04:20:03.185506: Today's load divergence 107.14%, in-day adjustment 137.09%, damping 0.95x, yesterday 143.77% today 106.78% blend 81.94%
2026-08-15 04:20:03.185621: Today's predicted so far 3.04kWh with 0.0kWh car/iBoost excluded, 2.17kWh import ignored, and 3.04kWh forecast extra.
2026-08-15 04:20:03.185656: Today's actual load so far 4.24kWh with 0.0kWh car/iBoost excluded, and 2.17kWh import ignored.
2026-08-15 04:20:03.246640: Inverter 0: Type SK Sunsynk
2026-08-15 04:20:03.246750: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 04:20:03.246993: Reserve min: 7%, battery_min: 7%
2026-08-15 04:20:03.247086: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 04:20:03.247445: Inverter 0 SoC: 1.86kW 12%, current charge rate 5000W, current discharge rate 5250W, current battery power 574W, current battery voltage 51.2V, grid power -52W, load power 622W, PV Power 0W
2026-08-15 04:20:03.247665: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 04:20:03.247777: Inverter 0 scheduled charge enable is False
2026-08-15 04:20:03.247824: Inverter 0 charge windows currently []
2026-08-15 04:20:03.247860: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 04:20:03.248112: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 04:20:03.248188: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 04:20:03.248304: Inverter 0 scheduled discharge enable is False
2026-08-15 04:20:03.248548: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 04:20:03.248605: Inverter 0 discharge windows currently []
2026-08-15 04:20:03.248710: Note: Inverter does not support discharge freeze - disabled
2026-08-15 04:20:03.248757: Note: Inverter does not support charge freeze - disabled
2026-08-15 04:20:03.248831: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 04:20:03.369310: Dynamic load last period 1.80kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 04:20:03.369720: Plan was last updated on 2026-08-15 04:10:00+01:00 and is now 10.0 minutes old
2026-08-15 04:20:03.370347: Best charge window [ 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 00:30:00 @ 28.84p 100% ]
2026-08-15 04:20:03.380051: Best export window [  ]
2026-08-15 04:20:03.381614: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 04:20:03.386573: Load divergence over 8.0 hours mean 488.48W, min 278.4W, max 1666.2W, std dev 241.48W, divergence 24.72%
2026-08-15 04:20:03.482458: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 04:20:03.482795: LoadML is_calculating True
2026-08-15 04:20:03.483011: Not using thread pool as LoadML is calculating to avoid lockups
2026-08-15 04:20:03.558490: predict base end_record 08-16 11:40:00, final soc 1.12kWh, metric 830.11p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 05:15:00, load 28.66kWh, PV 0.0kWh
2026-08-15 04:20:03.819632: Battery has 0.92 hours left - now at 1.86kWh
2026-08-15 04:20:03.931226: predict base10 end_record 08-16 11:40:00, final soc 1.12kWh, metric 859.4p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 05:15:00, load 29.82kWh, PV 0.0kWh
2026-08-15 04:20:04.109968: predict best10 end_record 08-16 11:40:00, final soc 1.77kWh, metric 696.97p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 05:15:00, load 29.82kWh, PV 0.0kWh
2026-08-15 04:20:04.310018: predict best end_record 08-16 11:40:00, final soc 1.9kWh, metric 671.31p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 05:15:00, load 28.66kWh, PV 0.0kWh
2026-08-15 04:20:04.310167: Saving plan best values to HA entities
2026-08-15 04:20:04.737532: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 04:20:04.746422: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 04:20:04.759436: Best charging limit SoC's [16.0, 3.5, 4.0, 16.0, 16.0, 16.0]kWh, export []kWh gives import battery 21.51kWh, house 5.16kWh, export 0.0kWh, metric 671.31p, metric10 696.97p
2026-08-15 04:20:04.906635: Marginal costs baseline metric (no standing charge): 621.3264
2026-08-15 04:20:05.397643: Marginal energy costs matrix computed: min=14.32 max=29.6
2026-08-15 04:20:05.522923: Rate array import [{'start': 260, 'end': 420, 'rate': 'expensive', 'range': '(25.7p - 27.6p)'}, {'start': 420, 'end': 450, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 450, 'end': 480, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 480, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 23.6p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1860, 'rate': 'expensive', 'range': '(24.6p - 32.9p)'}, {'start': 1860, 'end': 1890, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 1890, 'end': 1920, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 1920, 'end': 2140, 'rate': 'cheap', 'range': '(15.5p - 23.6p)'}] export [{'start': 260, 'end': 2140, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 04:20:05.524496: - Your estimated bill for today is £5.93 and tomorrow is £5.47
2026-08-15 04:20:05.524835: - Import rates are expensive (25.7p - 27.6p) for the next 2 and three quarters hours and then cheap (22.7p) for the next 30 minutes.
2026-08-15 04:20:05.524994: - The battery is currently at 12% and is in eco mode for the next 7 and a quarter hours.
2026-08-15 04:20:05.525052: - For the next 48 hours there will be no solar generation.
2026-08-15 04:20:05.525288: - You will run out of battery in 55 minutes.
2026-08-15 04:20:05.525351: - Your next charge slot will be in 7 and a quarter hours where import rates will be cheap (15.5p).
2026-08-15 04:20:05.525380: 
2026-08-15 04:20:05.628393: Plan calculation took 2.26 seconds
2026-08-15 04:20:05.633352: No high rate period found
2026-08-15 04:20:05.740430: Import threshold used for optimisation was 22.92p
2026-08-15 04:20:05.831507: Low import rate windows [0: 08-15 04:00:00 - 08-15 04:30:00 @ 27.02, 1: 08-15 04:30:00 - 08-15 05:00:00 @ 26.47, 2: 08-15 05:00:00 - 08-15 05:30:00 @ 26.25, 3: 08-15 05:30:00 - 08-15 06:00:00 @ 26.4, 4: 08-15 06:00:00 - 08-15 06:30:00 @ 25.7, 5: 08-15 06:30:00 - 08-15 07:00:00 @ 27.63, 6: 08-15 07:00:00 - 08-15 07:30:00 @ 22.73, 7: 08-15 07:30:00 - 08-15 08:00:00 @ 26.7, 8: 08-15 08:00:00 - 08-15 08:30:00 @ 22.92, 9: 08-15 08:30:00 - 08-15 09:00:00 @ 22.48, 10: 08-15 09:00:00 - 08-15 09:30:00 @ 23.55, 11: 08-15 09:30:00 - 08-15 10:00:00 @ 23.64, 12: 08-15 10:00:00 - 08-15 10:30:00 @ 19.66, 13: 08-15 10:30:00 - 08-15 11:00:00 @ 17.66, 14: 08-15 11:00:00 - 08-15 11:30:00 @ 16.56, 15: 08-15 11:30:00 - 08-15 12:00:00 @ 15.46, 16: 08-15 12:00:00 - 08-15 12:30:00 @ 17.0, 17: 08-15 12:30:00 - 08-15 13:00:00 @ 16.34, 18: 08-15 13:00:00 - 08-15 13:30:00 @ 15.36, 19: 08-15 13:30:00 - 08-15 14:00:00 @ 15.74, 20: 08-15 14:00:00 - 08-15 14:30:00 @ 14.57, 21: 08-15 14:30:00 - 08-15 15:00:00 @ 13.77, 22: 08-15 15:00:00 - 08-15 15:30:00 @ 15.02, 23: 08-15 15:30:00 - 08-15 16:00:00 @ 15.87, 24: 08-15 16:00:00 - 08-15 16:30:00 @ 33.13, 25: 08-15 16:30:00 - 08-15 17:00:00 @ 33.13, 26: 08-15 17:00:00 - 08-15 17:30:00 @ 38.46, 27: 08-15 17:30:00 - 08-15 18:00:00 @ 40.44, 28: 08-15 18:00:00 - 08-15 18:30:00 @ 41.55, 29: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 30: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 31: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 32: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 33: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 34: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 35: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 36: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 37: 08-15 23:00:00 - 08-15 23:30:00 @ 27.8, 38: 08-15 23:30:00 - 08-16 00:00:00 @ 29.09, 39: 08-16 00:00:00 - 08-16 00:30:00 @ 28.47, 40: 08-16 00:30:00 - 08-16 01:00:00 @ 27.18, 41: 08-16 01:00:00 - 08-16 01:30:00 @ 27.57, 42: 08-16 01:30:00 - 08-16 02:00:00 @ 26.5, 43: 08-16 02:00:00 - 08-16 02:30:00 @ 25.6, 44: 08-16 02:30:00 - 08-16 03:00:00 @ 24.79, 45: 08-16 03:00:00 - 08-16 03:30:00 @ 25.08, 46: 08-16 03:30:00 - 08-16 04:00:00 @ 24.62, 47: 08-16 04:00:00 - 08-16 04:30:00 @ 27.02, 48: 08-16 04:30:00 - 08-16 05:00:00 @ 26.47, 49: 08-16 05:00:00 - 08-16 05:30:00 @ 26.25, 50: 08-16 05:30:00 - 08-16 06:00:00 @ 26.4, 51: 08-16 06:00:00 - 08-16 06:30:00 @ 25.7, 52: 08-16 06:30:00 - 08-16 07:00:00 @ 27.63, 53: 08-16 07:00:00 - 08-16 07:30:00 @ 22.73, 54: 08-16 07:30:00 - 08-16 08:00:00 @ 26.7, 55: 08-16 08:00:00 - 08-16 08:30:00 @ 22.92, 56: 08-16 08:30:00 - 08-16 09:00:00 @ 22.48, 57: 08-16 09:00:00 - 08-16 09:30:00 @ 23.55, 58: 08-16 09:30:00 - 08-16 10:00:00 @ 23.64, 59: 08-16 10:00:00 - 08-16 10:30:00 @ 19.66, 60: 08-16 10:30:00 - 08-16 11:00:00 @ 17.66, 61: 08-16 11:00:00 - 08-16 11:30:00 @ 16.56, 62: 08-16 11:30:00 - 08-16 12:00:00 @ 15.46, 63: 08-16 12:00:00 - 08-16 12:30:00 @ 17.0, 64: 08-16 12:30:00 - 08-16 13:00:00 @ 16.34, 65: 08-16 13:00:00 - 08-16 13:30:00 @ 15.36, 66: 08-16 13:30:00 - 08-16 14:00:00 @ 15.74, 67: 08-16 14:00:00 - 08-16 14:30:00 @ 14.57, 68: 08-16 14:30:00 - 08-16 15:00:00 @ 13.77, 69: 08-16 15:00:00 - 08-16 15:30:00 @ 15.02, 70: 08-16 15:30:00 - 08-16 16:00:00 @ 15.87, 71: 08-16 16:00:00 - 08-16 16:30:00 @ 33.13, 72: 08-16 16:30:00 - 08-16 17:00:00 @ 33.13, 73: 08-16 17:00:00 - 08-16 17:30:00 @ 38.46, 74: 08-16 17:30:00 - 08-16 18:00:00 @ 40.44, 75: 08-16 18:00:00 - 08-16 18:30:00 @ 41.55, 76: 08-16 19:00:00 - 08-16 19:30:00 @ 32.58, 77: 08-16 19:30:00 - 08-16 20:00:00 @ 32.9, 78: 08-16 20:00:00 - 08-16 20:30:00 @ 31.99, 79: 08-16 20:30:00 - 08-16 21:00:00 @ 32.1, 80: 08-16 21:00:00 - 08-16 21:30:00 @ 31.71, 81: 08-16 21:30:00 - 08-16 22:00:00 @ 31.67, 82: 08-16 22:00:00 - 08-16 22:30:00 @ 31.77, 83: 08-16 22:30:00 - 08-16 23:00:00 @ 29.81, 84: 08-16 23:00:00 - 08-16 23:30:00 @ 27.8, 85: 08-16 23:30:00 - 08-17 00:00:00 @ 29.09, 86: 08-17 00:00:00 - 08-17 00:30:00 @ 28.47, 87: 08-17 00:30:00 - 08-17 01:00:00 @ 27.18, 88: 08-17 01:00:00 - 08-17 01:30:00 @ 27.57, 89: 08-17 01:30:00 - 08-17 02:00:00 @ 26.5, 90: 08-17 02:00:00 - 08-17 02:30:00 @ 25.6, 91: 08-17 02:30:00 - 08-17 03:00:00 @ 24.79, 92: 08-17 03:00:00 - 08-17 03:30:00 @ 25.08, 93: 08-17 03:30:00 - 08-17 04:00:00 @ 24.62, 94: 08-17 04:00:00 - 08-17 04:30:00 @ 27.02]
2026-08-15 04:20:05.860610: Inverter 0 Charge window will be: 2026-08-15 11:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 12%, target 100%
2026-08-15 04:20:05.860793: Inverter 0 disabled charge window while waiting for schedule (now 08-15 04:20:00 target set_window_minutes 30 charge start time 08-15 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 04:20:05.861010: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 04:20:05.861405: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 04:20:05.861590: No export window planned
2026-08-15 04:20:05.861844: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 04:20:05.861969: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 04:20:05.862294: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 04:20:05.862587: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 04:20:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 04:20:05.862758: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 04:20:05.862907: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 04:20:05.863151: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 04:20:05.863297: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 04:20:05.863447: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 04:20:05.863571: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 04:20:05.863716: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 04:20:05.863839: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 04:20:05.863983: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 04:20:05.864172: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 04:20:05.864362: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 04:20:05.864489: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 04:20:05.864634: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 04:20:05.864758: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 04:20:05.864901: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 04:20:05.865060: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 04:20:05.865223: Inverter 0 count register writes 0
2026-08-15 04:20:05.911602: Will recompute the plan as it is now 10.0 minutes old and will exceed the max age of 10 minutes before the next run
2026-08-15 04:20:05.912025: Recompute is saving previous plan...
2026-08-15 04:20:05.916852: Best charge window [ 15-08 04:00:00 - 15-08 04:30:00 @ 27.02p 0%, 15-08 04:30:00 - 15-08 05:00:00 @ 26.47p 0%, 15-08 05:00:00 - 15-08 05:30:00 @ 26.25p 0%, 15-08 05:30:00 - 15-08 06:00:00 @ 26.4p 0%, 15-08 06:00:00 - 15-08 06:30:00 @ 25.7p 0%, 15-08 06:30:00 - 15-08 07:00:00 @ 27.63p 0%, 15-08 07:00:00 - 15-08 07:30:00 @ 22.73p 0%, 15-08 07:30:00 - 15-08 08:00:00 @ 26.7p 0%, 15-08 08:00:00 - 15-08 08:30:00 @ 22.92p 0%, 15-08 08:30:00 - 15-08 09:00:00 @ 22.48p 0%, 15-08 09:00:00 - 15-08 09:30:00 @ 23.55p 0%, 15-08 09:30:00 - 15-08 10:00:00 @ 23.64p 0%, 15-08 10:00:00 - 15-08 10:30:00 @ 19.66p 0%, 15-08 10:30:00 - 15-08 11:00:00 @ 17.66p 0%, 15-08 11:00:00 - 15-08 11:30:00 @ 16.56p 0%, 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 0%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 0%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 0%, 15-08 13:00:00 - 15-08 13:30:00 @ 15.36p 0%, 15-08 13:30:00 - 15-08 14:00:00 @ 15.74p 0%, 15-08 14:00:00 - 15-08 14:30:00 @ 14.57p 0%, 15-08 14:30:00 - 15-08 15:00:00 @ 13.77p 0%, 15-08 15:00:00 - 15-08 15:30:00 @ 15.02p 0%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 0%, 15-08 16:00:00 - 15-08 16:30:00 @ 33.13p 0%, 15-08 16:30:00 - 15-08 17:00:00 @ 33.13p 0%, 15-08 17:00:00 - 15-08 17:30:00 @ 38.46p 0%, 15-08 17:30:00 - 15-08 18:00:00 @ 40.44p 0%, 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 0%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 0%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 0%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 0%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 0%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 27.8p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 29.09p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.47p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.18p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 27.57p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.5p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.6p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 24.79p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 25.08p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 24.62p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 27.02p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.47p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 26.25p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.4p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.7p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 27.63p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 22.73p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 26.7p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 22.92p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 22.48p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 23.55p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 23.64p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 19.66p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 17.66p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 16.56p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 15.46p 0%, 16-08 12:00:00 - 16-08 12:30:00 @ 17.0p 0%, 16-08 12:30:00 - 16-08 13:00:00 @ 16.34p 0%, 16-08 13:00:00 - 16-08 13:30:00 @ 15.36p 0%, 16-08 13:30:00 - 16-08 14:00:00 @ 15.74p 0%, 16-08 14:00:00 - 16-08 14:30:00 @ 14.57p 0%, 16-08 14:30:00 - 16-08 15:00:00 @ 13.77p 0%, 16-08 15:00:00 - 16-08 15:30:00 @ 15.02p 0%, 16-08 15:30:00 - 16-08 16:00:00 @ 15.87p 0%, 16-08 16:00:00 - 16-08 16:30:00 @ 33.13p 0%, 16-08 16:30:00 - 16-08 17:00:00 @ 33.13p 0%, 16-08 17:00:00 - 16-08 17:30:00 @ 38.46p 0%, 16-08 17:30:00 - 16-08 18:00:00 @ 40.44p 0%, 16-08 18:00:00 - 16-08 18:30:00 @ 41.55p 0%, 16-08 19:00:00 - 16-08 19:30:00 @ 32.58p 0%, 16-08 19:30:00 - 16-08 20:00:00 @ 32.9p 0%, 16-08 20:00:00 - 16-08 20:30:00 @ 31.99p 0%, 16-08 20:30:00 - 16-08 21:00:00 @ 32.1p 0%, 16-08 21:00:00 - 16-08 21:30:00 @ 31.71p 0%, 16-08 21:30:00 - 16-08 22:00:00 @ 31.67p 0%, 16-08 22:00:00 - 16-08 22:30:00 @ 31.77p 0%, 16-08 22:30:00 - 16-08 23:00:00 @ 29.81p 0%, 16-08 23:00:00 - 16-08 23:30:00 @ 27.8p 0%, 16-08 23:30:00 - 17-08 00:00:00 @ 29.09p 0%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.47p 0%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.18p 0%, 17-08 01:00:00 - 17-08 01:30:00 @ 27.57p 0%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.5p 0%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.6p 0%, 17-08 02:30:00 - 17-08 03:00:00 @ 24.79p 0%, 17-08 03:00:00 - 17-08 03:30:00 @ 25.08p 0%, 17-08 03:30:00 - 17-08 04:00:00 @ 24.62p 0%, 17-08 04:00:00 - 17-08 04:30:00 @ 27.02p 0% ]
2026-08-15 04:20:05.920659: Best export window [  ]
2026-08-15 04:20:05.922112: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 04:20:05.926908: Load divergence over 8.0 hours mean 488.48W, min 278.4W, max 1666.2W, std dev 241.48W, divergence 24.72%
2026-08-15 04:20:05.979365: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 04:20:05.980664: LoadML is_calculating True
2026-08-15 04:20:05.980723: Not using thread pool as LoadML is calculating to avoid lockups
2026-08-15 04:20:06.001782: Calculate Best options: mode(Control charge & discharge), calculate_export_oncharge(False), calculate_export_on_pv(True), set_export_freeze_only(False), set_discharge_during_charge(True), combine_charge_slots(False), combine_export_slots(False), combine_rate_threshold(0.0), best_soc_min(0.0 kWh), best_soc_max(0.0 kWh), best_soc_keep(0.0 kWh), inverter_loss(4%), battery_loss(3%), battery_loss_discharge (3%), inverter_hybrid(True), metric_min_improvement(0.0p), metric_min_improvement_export(0.1p), metric_min_improvement_export_freeze(0.1p), metric_battery_cycle(0.0p/kWh), metric_battery_value_scaling(1.0 x) 
2026-08-15 04:20:06.004375: Optimise levels pass started at 2026-08-15 04:20:06
2026-08-15 04:20:06.004597: Optimise all windows, total charge 94 export 1
2026-08-15 04:20:13.608710: >> Region optimisation pass width 960 gives best_metric 804.23p, best_cost 812.18p, best_cycle 53.79kWh, best_import 39.5kWh
2026-08-15 04:20:14.692768: >> Region optimisation pass width 480 gives best_metric 804.23p, best_cost 812.18p, best_cycle 53.79kWh, best_import 39.5kWh
2026-08-15 04:20:15.879450: >> Region optimisation pass width 240 gives best_metric 804.23p, best_cost 812.18p, best_cycle 53.79kWh, best_import 39.5kWh
2026-08-15 04:20:19.603022: >> Region optimisation pass width 120 gives best_metric 804.23p, best_cost 812.18p, best_cycle 53.79kWh, best_import 39.5kWh
2026-08-15 04:20:19.603533: Calculated end_record as 08-16 11:30:00 based on best_price 16.34p, next_charge_start 08-15 11:30:00, max_windows 62
2026-08-15 04:20:19.603690: Optimise levels pass ended at 2026-08-15 04:20:19, duration 13.6 seconds tried 324 combinations
2026-08-15 04:20:19.603776: Set best_price_charge_level 17.6p, best_price_export_level 0p, best_price_charge 16.34p, best_cost_export 0p, best_metric 804.23p, best_keep 0kWh, best_cycle 53.79kWh, best_carbon 0kg, best_import 39.5kWh
2026-08-15 04:20:19.637063: Starting detailed optimisation end_record 08-16 11:30:00, best_price_charge 16.34p, best_price_export 0p. lowest_price_charge 13.77p with charge limits [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0]kWh and export limits []kWh
2026-08-15 04:20:32.351029: ML Predictor: Epoch 6/30: lr=0.00094 huber_loss=0.0133 val_mae=0.0046 kWh val_bias=+0.0005 kWh (+0.7%) combined=0.0027 kWh ema_combined=0.0030 kWh
2026-08-15 04:20:46.004628: Tweak plan optimisation started metric 596.2p, cost 605.32p
2026-08-15 04:20:46.717939: Tweak optimisation finished metric 596.2p, cost 605.32p, metric_keep 0kWh, cycle 30.5kWh, carbon 0kg, import 25.63kWh, changed 8 window(s)
2026-08-15 04:20:46.746668: Swap charge optimisation started metric 596.2p, cost 605.32p, min_improvement_swap 0.1p
2026-08-15 04:20:57.228541: Swap charge optimisation finished metric 596.2p, cost 605.32p
2026-08-15 04:20:57.545930: Pruned 2 dead plan slot(s) in 11 trial(s), nominal metric 592.07p -> 592.07p, plan now metric 596.22p, cost 605.32p, cycle 30.5kWh, import 25.63kWh
2026-08-15 04:20:57.561783: Raw charge windows [ 15-08 04:00:00 - 15-08 04:30:00 @ 27.02p 0%, 15-08 04:30:00 - 15-08 05:00:00 @ 26.47p 0%, 15-08 05:00:00 - 15-08 05:30:00 @ 26.25p 0%, 15-08 05:30:00 - 15-08 06:00:00 @ 26.4p 0%, 15-08 06:00:00 - 15-08 06:30:00 @ 25.7p 0%, 15-08 06:30:00 - 15-08 07:00:00 @ 27.63p 0%, 15-08 07:00:00 - 15-08 07:30:00 @ 22.73p 0%, 15-08 07:30:00 - 15-08 08:00:00 @ 26.7p 0%, 15-08 08:00:00 - 15-08 08:30:00 @ 22.92p 0%, 15-08 08:30:00 - 15-08 09:00:00 @ 22.48p 0%, 15-08 09:00:00 - 15-08 09:30:00 @ 23.55p 0%, 15-08 09:30:00 - 15-08 10:00:00 @ 23.64p 0%, 15-08 10:00:00 - 15-08 10:30:00 @ 19.66p 0%, 15-08 10:30:00 - 15-08 11:00:00 @ 17.66p 0%, 15-08 11:00:00 - 15-08 11:30:00 @ 16.56p 0%, 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 13:30:00 @ 15.36p 100%, 15-08 13:30:00 - 15-08 14:00:00 @ 15.74p 100%, 15-08 14:00:00 - 15-08 14:30:00 @ 14.57p 100%, 15-08 14:30:00 - 15-08 15:00:00 @ 13.77p 100%, 15-08 15:00:00 - 15-08 15:30:00 @ 15.02p 100%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 100%, 15-08 16:00:00 - 15-08 16:30:00 @ 33.13p 0%, 15-08 16:30:00 - 15-08 17:00:00 @ 33.13p 0%, 15-08 17:00:00 - 15-08 17:30:00 @ 38.46p 0%, 15-08 17:30:00 - 15-08 18:00:00 @ 40.44p 0%, 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 0%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 0%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 0%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 0%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 0%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 27.8p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 29.09p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.47p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.18p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 27.57p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.5p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.6p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 24.79p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 25.08p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 24.62p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 27.02p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.47p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 26.25p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.4p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.7p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 27.63p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 22.73p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 26.7p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 22.92p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 22.48p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 23.55p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 23.64p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 19.66p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 17.66p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 16.56p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 15.46p 100%, 16-08 12:00:00 - 16-08 12:30:00 @ 17.0p 100%, 16-08 12:30:00 - 16-08 13:00:00 @ 16.34p 100%, 16-08 13:00:00 - 16-08 13:30:00 @ 15.36p 100%, 16-08 13:30:00 - 16-08 14:00:00 @ 15.74p 100%, 16-08 14:00:00 - 16-08 14:30:00 @ 14.57p 100%, 16-08 14:30:00 - 16-08 15:00:00 @ 13.77p 100%, 16-08 15:00:00 - 16-08 15:30:00 @ 15.02p 100%, 16-08 15:30:00 - 16-08 16:00:00 @ 15.87p 100%, 16-08 16:00:00 - 16-08 16:30:00 @ 33.13p 100%, 16-08 16:30:00 - 16-08 17:00:00 @ 33.13p 100%, 16-08 17:00:00 - 16-08 17:30:00 @ 38.46p 100%, 16-08 17:30:00 - 16-08 18:00:00 @ 40.44p 100%, 16-08 18:00:00 - 16-08 18:30:00 @ 41.55p 100%, 16-08 19:00:00 - 16-08 19:30:00 @ 32.58p 100%, 16-08 19:30:00 - 16-08 20:00:00 @ 32.9p 100%, 16-08 20:00:00 - 16-08 20:30:00 @ 31.99p 100%, 16-08 20:30:00 - 16-08 21:00:00 @ 32.1p 100%, 16-08 21:00:00 - 16-08 21:30:00 @ 31.71p 100%, 16-08 21:30:00 - 16-08 22:00:00 @ 31.67p 100%, 16-08 22:00:00 - 16-08 22:30:00 @ 31.77p 100%, 16-08 22:30:00 - 16-08 23:00:00 @ 29.81p 100%, 16-08 23:00:00 - 16-08 23:30:00 @ 27.8p 100%, 16-08 23:30:00 - 17-08 00:00:00 @ 29.09p 100%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.47p 100%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.18p 100%, 17-08 01:00:00 - 17-08 01:30:00 @ 27.57p 100%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.5p 100%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.6p 100%, 17-08 02:30:00 - 17-08 03:00:00 @ 24.79p 100%, 17-08 03:00:00 - 17-08 03:30:00 @ 25.08p 100%, 17-08 03:30:00 - 17-08 04:00:00 @ 24.62p 100%, 17-08 04:00:00 - 17-08 04:30:00 @ 27.02p 100% ] reserve 1.12
2026-08-15 04:20:57.563112: Unclipped charge windows [ 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 04:30:00 @ 26.0p 100% ] reserve 1.12
2026-08-15 04:20:57.563504: Unfiltered charge windows [ 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 04:30:00 @ 26.0p 100% ] reserve 1.12
2026-08-15 04:20:57.564059: Filtered charge windows [ 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 04:30:00 @ 26.0p 100% ] reserve 1.12
2026-08-15 04:20:57.620339: Previous plan best metric is 596.22 (cost 605.32) and new plan best metric is 596.2 (cost 605.32)
2026-08-15 04:20:57.620654: New plan metric is not significantly better (metric_min_improvement_plan 2.0) than previous plan, using previous plan
2026-08-15 04:20:57.620863: Plan valid is now true after recompute was False
2026-08-15 04:20:57.661517: predict base end_record 08-16 11:30:00, final soc 1.12kWh, metric 826.97p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 05:15:00, load 28.45kWh, PV 0.0kWh
2026-08-15 04:20:57.982442: Battery has 0.92 hours left - now at 1.86kWh
2026-08-15 04:20:58.050538: predict base10 end_record 08-16 11:30:00, final soc 1.12kWh, metric 856.12p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 05:15:00, load 29.61kWh, PV 0.0kWh
2026-08-15 04:20:58.234435: predict best10 end_record 08-16 11:30:00, final soc 1.12kWh, metric 682.96p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 05:15:00, load 29.61kWh, PV 0.0kWh
2026-08-15 04:20:58.514277: predict best end_record 08-16 11:30:00, final soc 1.12kWh, metric 655.3p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 05:15:00, load 28.45kWh, PV 0.0kWh
2026-08-15 04:20:58.525994: Saving plan best values to HA entities
2026-08-15 04:20:58.903645: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 04:20:58.911062: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 04:20:58.930712: Best charging limit SoC's [16.0, 3.5, 4.0, 16.0, 16.0, 16.0]kWh, export []kWh gives import battery 20.47kWh, house 5.16kWh, export 0.0kWh, metric 655.3p, metric10 682.96p
2026-08-15 04:20:59.101586: Marginal costs baseline metric (no standing charge): 605.315
2026-08-15 04:20:59.628629: Marginal energy costs matrix computed: min=14.32 max=29.6
2026-08-15 04:20:59.824041: Rate array import [{'start': 260, 'end': 420, 'rate': 'expensive', 'range': '(25.7p - 27.6p)'}, {'start': 420, 'end': 450, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 450, 'end': 480, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 480, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 23.6p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1860, 'rate': 'expensive', 'range': '(24.6p - 32.9p)'}, {'start': 1860, 'end': 1890, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 1890, 'end': 1920, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 1920, 'end': 2130, 'rate': 'cheap', 'range': '(16.6p - 23.6p)'}] export [{'start': 260, 'end': 2130, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 04:20:59.825149: - Your estimated bill for today is £5.93 and tomorrow is £5.47
2026-08-15 04:20:59.825220: - Import rates are expensive (25.7p - 27.6p) for the next 2 and three quarters hours and then cheap (22.7p) for the next 30 minutes.
2026-08-15 04:20:59.825271: - The battery is currently at 12% and is in eco mode for the next 7 and a quarter hours.
2026-08-15 04:20:59.826383: - For the next 48 hours there will be no solar generation.
2026-08-15 04:20:59.826806: - You will run out of battery in 55 minutes.
2026-08-15 04:20:59.826928: - Your next charge slot will be in 7 and a quarter hours where import rates will be cheap (15.5p).
2026-08-15 04:20:59.826980: 
2026-08-15 04:20:59.907930: Plan calculation took 54.00 seconds
2026-08-15 04:20:59.908218: Inverter 0: Type SK Sunsynk
2026-08-15 04:20:59.908265: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 04:20:59.908445: Reserve min: 7%, battery_min: 7%
2026-08-15 04:20:59.908516: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 04:20:59.908779: Inverter 0 SoC: 1.76kW 11%, current charge rate 5000W, current discharge rate 5250W, current battery power 564W, current battery voltage 51.2V, grid power -54W, load power 619W, PV Power 0W
2026-08-15 04:20:59.909017: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 04:20:59.909302: Inverter 0 scheduled charge enable is False
2026-08-15 04:20:59.909349: Inverter 0 charge windows currently []
2026-08-15 04:20:59.909379: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 04:20:59.909519: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 04:20:59.909560: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 04:20:59.909599: Inverter 0 scheduled discharge enable is False
2026-08-15 04:20:59.909736: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 04:20:59.909776: Inverter 0 discharge windows currently []
2026-08-15 04:20:59.909799: Note: Inverter does not support discharge freeze - disabled
2026-08-15 04:20:59.909818: Note: Inverter does not support charge freeze - disabled
2026-08-15 04:20:59.909840: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 04:21:00.091241: Inverter 0 Charge window will be: 2026-08-15 11:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 11%, target 100%
2026-08-15 04:21:00.091410: Inverter 0 disabled charge window while waiting for schedule (now 08-15 04:20:00 target set_window_minutes 30 charge start time 08-15 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 04:21:00.091488: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 04:21:00.091682: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 04:21:00.091764: No export window planned
2026-08-15 04:21:00.091985: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 04:21:00.092037: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 04:21:00.092284: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 04:21:00.092510: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 04:20:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 04:21:00.092572: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 04:21:00.092714: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 04:21:00.092924: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 04:21:00.093004: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 04:21:00.093126: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 04:21:00.093262: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 04:21:00.093369: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 04:21:00.093504: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 04:21:00.093608: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 04:21:00.093749: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 04:21:00.093811: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 04:21:00.093951: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 04:21:00.094008: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 04:21:00.094093: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 04:21:00.094192: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 04:21:00.094278: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 04:21:00.094351: Inverter 0 count register writes 0
2026-08-15 04:21:00.142682: Total inverter register writes now 815
2026-08-15 04:21:00.220483: Info: Completed run status Demand
2026-08-15 04:21:00.231352: Info: record_status Demand
2026-08-15 04:21:00.243322: Saved current settings to /config/predbat_config.json
2026-08-15 04:21:00.243697: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 04:21:13.538336: ML Predictor: Epoch 7/30: lr=0.00091 huber_loss=0.0112 val_mae=0.0043 kWh val_bias=-0.0019 kWh (-2.6%) combined=0.0043 kWh ema_combined=0.0034 kWh
2026-08-15 04:21:33.402925: ML Predictor: Epoch 8/30: lr=0.00088 huber_loss=0.0103 val_mae=0.0038 kWh val_bias=-0.0013 kWh (-1.9%) combined=0.0025 kWh ema_combined=0.0031 kWh
2026-08-15 04:21:41.502304: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 04:21:41.502562: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 04:21:41.502619: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 04:21:41.502763: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 04:21:41.502882: Note: Inverter does not support discharge freeze - disabled
2026-08-15 04:21:41.502907: Note: Inverter does not support charge freeze - disabled
2026-08-15 04:21:41.503065: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 04:21:53.220792: ML Predictor: Epoch 9/30: lr=0.00084 huber_loss=0.0100 val_mae=0.0044 kWh val_bias=-0.0017 kWh (-2.5%) combined=0.0026 kWh ema_combined=0.0030 kWh
2026-08-15 04:22:13.396400: ML Predictor: Epoch 10/30: lr=0.00080 huber_loss=0.0096 val_mae=0.0043 kWh val_bias=+0.0019 kWh (+2.7%) combined=0.0032 kWh ema_combined=0.0030 kWh
2026-08-15 04:22:35.859310: ML Predictor: Epoch 11/30: lr=0.00076 huber_loss=0.0088 val_mae=0.0038 kWh val_bias=-0.0006 kWh (-0.9%) combined=0.0020 kWh ema_combined=0.0027 kWh
2026-08-15 04:22:55.433888: ML Predictor: Epoch 12/30: lr=0.00072 huber_loss=0.0091 val_mae=0.0034 kWh val_bias=+0.0003 kWh (+0.4%) combined=0.0018 kWh ema_combined=0.0025 kWh
2026-08-15 04:23:16.390077: ML Predictor: Epoch 13/30: lr=0.00067 huber_loss=0.0079 val_mae=0.0042 kWh val_bias=-0.0020 kWh (-2.8%) combined=0.0027 kWh ema_combined=0.0025 kWh
2026-08-15 04:23:38.750640: ML Predictor: Epoch 14/30: lr=0.00062 huber_loss=0.0081 val_mae=0.0036 kWh val_bias=-0.0012 kWh (-1.7%) combined=0.0022 kWh ema_combined=0.0024 kWh
2026-08-15 04:23:41.973122: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 04:23:41.977518: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 04:23:41.978264: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 04:23:41.978656: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 04:23:41.978835: Note: Inverter does not support discharge freeze - disabled
2026-08-15 04:23:41.978963: Note: Inverter does not support charge freeze - disabled
2026-08-15 04:23:41.979106: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 04:23:58.099128: ML Predictor: Epoch 15/30: lr=0.00057 huber_loss=0.0077 val_mae=0.0034 kWh val_bias=-0.0005 kWh (-0.7%) combined=0.0019 kWh ema_combined=0.0023 kWh
2026-08-15 04:24:20.448989: ML Predictor: Epoch 16/30: lr=0.00053 huber_loss=0.0084 val_mae=0.0030 kWh val_bias=-0.0000 kWh (-0.0%) combined=0.0019 kWh ema_combined=0.0022 kWh
2026-08-15 04:24:41.221877: ML Predictor: Epoch 17/30: lr=0.00048 huber_loss=0.0072 val_mae=0.0032 kWh val_bias=-0.0000 kWh (-0.0%) combined=0.0016 kWh ema_combined=0.0020 kWh
2026-08-15 04:25:00.359066: --------------- PredBat - update at 2026-08-15 04:25:00+01:00 with clock skew 0 minutes, minutes now 265
2026-08-15 04:25:00.360748: Saved current settings to /config/predbat_config.json
2026-08-15 04:25:00.361103: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 20.0 minutes
2026-08-15 04:25:00.361326: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.1, latest beta is v8.48.1
2026-08-15 04:25:00.361548: Autoupdate: Currently up to date
2026-08-15 04:25:00.404005: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 04:25:00.404199: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 04:25:00.404429: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 04:25:00.405197: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 04:25:00.405353: Predbat mode is set to Control charge & discharge
2026-08-15 04:25:00.772299: Found 21602 load_today datapoints going back 28 days
2026-08-15 04:25:00.772664: Using load_power data to fill gaps in load_today data
2026-08-15 04:25:02.230825: Processing 721 30-minute periods for power integration
2026-08-15 04:25:02.419692: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 04:25:02.419958: Car charging hold False, threshold 6.0kWh
2026-08-15 04:25:02.420027: Current data so far today: load 4.4kWh, import 5.0kWh, export 0.0kWh, PV 0kWh
2026-08-15 04:25:02.435866: Cars: SoC: [12.892000000000001]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 04:25:02.437242: Standing charge is set to 49.98p
2026-08-15 04:25:02.534011: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 04:25:02.534184: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 04:25:02.534491: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 265.0 minutes
2026-08-15 04:25:02.535184: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 264.7 minutes
2026-08-15 04:25:02.540484: Loaded 47 datapoints of futurerate analysis
2026-08-15 04:25:02.831490: Predicted future rates: ['08-15 00:00:00 => 28.9 / 20.01', '08-15 01:00:00 => 27.54 / 19.31', '08-15 02:00:00 => 26.52 / 18.8', '08-15 03:00:00 => 25.99 / 18.53', '08-15 04:00:00 => 25.8 / 18.43', '08-15 05:00:00 => 25.96 / 18.51', '08-15 06:00:00 => 25.55 / 18.3', '08-15 07:00:00 => 24.33 / 17.68', '08-15 08:00:00 => 23.03 / 17.01', '08-15 09:00:00 => 22.05 / 16.51', '08-15 10:00:00 => 20.43 / 15.68', '08-15 11:00:00 => 18.01 / 14.45', '08-15 12:00:00 => 16.37 / 13.61', '08-15 13:00:00 => 15.76 / 13.3', '08-15 14:00:00 => 15.35 / 13.09', '08-15 15:00:00 => 15.86 / 13.35', '08-15 16:00:00 => 32.89 / 16.13', '08-15 17:00:00 => 38.02 / 18.75', '08-15 18:00:00 => 42.36 / 20.96', '08-15 19:00:00 => 31.09 / 21.13', '08-15 20:00:00 => 31.64 / 21.41', '08-15 21:00:00 => 31.64 / 21.41', '08-15 22:00:00 => 30.58 / 20.87']
2026-08-15 04:25:02.905761: Rate min forward looking: now 13.77p at end of forecast 13.77p
2026-08-15 04:25:02.907895: Import rates: min 13.77p, max 43.82p, average 25.96p
2026-08-15 04:25:02.958371: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 04:25:02.958680: Rate thresholds (for charge/export) are import 43.32p (0.0p), export -0.1p (0.0p)
2026-08-15 04:25:02.960018: High export rate found rates in range 99p to -99p
2026-08-15 04:25:03.050849: Low Import rate found rates in range 13.77p to 41.55p
2026-08-15 04:25:03.051270: Car 0 charging is not planned as it is not plugged in
2026-08-15 04:25:03.075976: Battery level now 1.86kWh, -1hr ago 1.76kWh, at midnight 1.66kWh, battery value change in the last hour 1.23p, change today 2.46p, rate_forward 11.83p
2026-08-15 04:25:03.076534: Last hour: net energy 0.82kWh, import 0.82kWh, export 0.0kWh, car 0kWh, load 0.9kWh, net cost 21.52p, import 21.52p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 04:25:03.130199: ML Predictor: Epoch 18/30: lr=0.00043 huber_loss=0.0065 val_mae=0.0028 kWh val_bias=-0.0005 kWh (-0.7%) combined=0.0016 kWh ema_combined=0.0019 kWh
2026-08-15 04:25:03.201364: Today's energy total net 5.0kWh, import 5.0kWh, export 0.0kWh, cost 183.64p, import 133.66p, export 0.0p, carbon 0.0kg
2026-08-15 04:25:03.201537: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 04:25:03.400596: Using weighted-bucket historical load forecast over 14 days
2026-08-15 04:25:03.424287: Today's load divergence 107.54%, in-day adjustment 137.03%, damping 0.95x, yesterday 143.77% today 107.16% blend 81.6%
2026-08-15 04:25:03.424412: Today's predicted so far 3.06kWh with 0.0kWh car/iBoost excluded, 2.16kWh import ignored, and 3.06kWh forecast extra.
2026-08-15 04:25:03.424472: Today's actual load so far 4.33kWh with 0.0kWh car/iBoost excluded, and 2.16kWh import ignored.
2026-08-15 04:25:03.482302: Inverter 0: Type SK Sunsynk
2026-08-15 04:25:03.482402: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 04:25:03.482604: Reserve min: 7%, battery_min: 7%
2026-08-15 04:25:03.482685: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 04:25:03.482959: Inverter 0 SoC: 1.71kW 11%, current charge rate 5000W, current discharge rate 5250W, current battery power 2522W, current battery voltage 51.2V, grid power -54W, load power 2561W, PV Power 0W
2026-08-15 04:25:03.483176: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 04:25:03.483279: Inverter 0 scheduled charge enable is False
2026-08-15 04:25:03.483311: Inverter 0 charge windows currently []
2026-08-15 04:25:03.483343: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 04:25:03.483460: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 04:25:03.483495: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 04:25:03.483533: Inverter 0 scheduled discharge enable is False
2026-08-15 04:25:03.483668: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 04:25:03.483705: Inverter 0 discharge windows currently []
2026-08-15 04:25:03.483729: Note: Inverter does not support discharge freeze - disabled
2026-08-15 04:25:03.483747: Note: Inverter does not support charge freeze - disabled
2026-08-15 04:25:03.483770: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 04:25:03.635851: Dynamic load last period 1.80kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 04:25:03.636003: Plan was last updated on 2026-08-15 04:20:00+01:00 and is now 5.0 minutes old
2026-08-15 04:25:03.636405: Best charge window [ 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 00:30:00 @ 28.84p 100% ]
2026-08-15 04:25:03.636462: Best export window [  ]
2026-08-15 04:25:03.637775: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 04:25:03.642647: Load divergence over 8.0 hours mean 503.43W, min 287.4W, max 1543.2W, std dev 255.8W, divergence 25.41%
2026-08-15 04:25:03.701658: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 04:25:03.721062: LoadML is_calculating True
2026-08-15 04:25:03.721306: Not using thread pool as LoadML is calculating to avoid lockups
2026-08-15 04:25:03.792536: predict base end_record 08-16 11:35:00, final soc 1.12kWh, metric 831.45p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 05:10:00, load 28.66kWh, PV 0.0kWh
2026-08-15 04:25:04.041101: Battery has 0.75 hours left - now at 1.71kWh
2026-08-15 04:25:04.173731: predict base10 end_record 08-16 11:35:00, final soc 1.12kWh, metric 860.63p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 05:05:00, load 29.82kWh, PV 0.0kWh
2026-08-15 04:25:04.399388: predict best10 end_record 08-16 11:35:00, final soc 1.44kWh, metric 692.62p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 05:05:00, load 29.82kWh, PV 0.0kWh
2026-08-15 04:25:04.533619: predict best end_record 08-16 11:35:00, final soc 1.51kWh, metric 665.99p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 05:10:00, load 28.66kWh, PV 0.0kWh
2026-08-15 04:25:04.533737: Saving plan best values to HA entities
2026-08-15 04:25:04.847496: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 04:25:04.865253: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0.0
2026-08-15 04:25:04.873747: Best charging limit SoC's [16.0, 3.5, 4.0, 16.0, 16.0, 16.0]kWh, export []kWh gives import battery 20.98kWh, house 5.27kWh, export 0.0kWh, metric 665.99p, metric10 692.62p
2026-08-15 04:25:04.980934: Marginal costs baseline metric (no standing charge): 616.0022
2026-08-15 04:25:05.485580: Marginal energy costs matrix computed: min=14.35 max=29.84
2026-08-15 04:25:05.656055: Rate array import [{'start': 265, 'end': 420, 'rate': 'expensive', 'range': '(25.7p - 27.6p)'}, {'start': 420, 'end': 450, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 450, 'end': 480, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 480, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 23.6p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1860, 'rate': 'expensive', 'range': '(24.6p - 32.9p)'}, {'start': 1860, 'end': 1890, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 1890, 'end': 1920, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 1920, 'end': 2135, 'rate': 'cheap', 'range': '(15.5p - 23.6p)'}] export [{'start': 265, 'end': 2135, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 04:25:05.656995: - Your estimated bill for today is £5.95 and tomorrow is £5.47
2026-08-15 04:25:05.657078: - Import rates are expensive (25.7p - 27.6p) for the next 2 and a half hours and then cheap (22.7p) for the next 30 minutes.
2026-08-15 04:25:05.657106: - The battery is currently at 11% and is in eco mode for the next 7 hours.
2026-08-15 04:25:05.657302: - For the next 48 hours there will be no solar generation.
2026-08-15 04:25:05.673033: - You will run out of battery in 45 minutes.
2026-08-15 04:25:05.673153: - Your next charge slot will be in 7 hours where import rates will be cheap (15.5p).
2026-08-15 04:25:05.673237: 
2026-08-15 04:25:05.783316: Plan calculation took 2.15 seconds
2026-08-15 04:25:05.794223: No high rate period found
2026-08-15 04:25:05.942430: Import threshold used for optimisation was 22.92p
2026-08-15 04:25:06.106645: Low import rate windows [0: 08-15 04:00:00 - 08-15 04:30:00 @ 27.02, 1: 08-15 04:30:00 - 08-15 05:00:00 @ 26.47, 2: 08-15 05:00:00 - 08-15 05:30:00 @ 26.25, 3: 08-15 05:30:00 - 08-15 06:00:00 @ 26.4, 4: 08-15 06:00:00 - 08-15 06:30:00 @ 25.7, 5: 08-15 06:30:00 - 08-15 07:00:00 @ 27.63, 6: 08-15 07:00:00 - 08-15 07:30:00 @ 22.73, 7: 08-15 07:30:00 - 08-15 08:00:00 @ 26.7, 8: 08-15 08:00:00 - 08-15 08:30:00 @ 22.92, 9: 08-15 08:30:00 - 08-15 09:00:00 @ 22.48, 10: 08-15 09:00:00 - 08-15 09:30:00 @ 23.55, 11: 08-15 09:30:00 - 08-15 10:00:00 @ 23.64, 12: 08-15 10:00:00 - 08-15 10:30:00 @ 19.66, 13: 08-15 10:30:00 - 08-15 11:00:00 @ 17.66, 14: 08-15 11:00:00 - 08-15 11:30:00 @ 16.56, 15: 08-15 11:30:00 - 08-15 12:00:00 @ 15.46, 16: 08-15 12:00:00 - 08-15 12:30:00 @ 17.0, 17: 08-15 12:30:00 - 08-15 13:00:00 @ 16.34, 18: 08-15 13:00:00 - 08-15 13:30:00 @ 15.36, 19: 08-15 13:30:00 - 08-15 14:00:00 @ 15.74, 20: 08-15 14:00:00 - 08-15 14:30:00 @ 14.57, 21: 08-15 14:30:00 - 08-15 15:00:00 @ 13.77, 22: 08-15 15:00:00 - 08-15 15:30:00 @ 15.02, 23: 08-15 15:30:00 - 08-15 16:00:00 @ 15.87, 24: 08-15 16:00:00 - 08-15 16:30:00 @ 33.13, 25: 08-15 16:30:00 - 08-15 17:00:00 @ 33.13, 26: 08-15 17:00:00 - 08-15 17:30:00 @ 38.46, 27: 08-15 17:30:00 - 08-15 18:00:00 @ 40.44, 28: 08-15 18:00:00 - 08-15 18:30:00 @ 41.55, 29: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 30: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 31: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 32: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 33: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 34: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 35: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 36: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 37: 08-15 23:00:00 - 08-15 23:30:00 @ 27.8, 38: 08-15 23:30:00 - 08-16 00:00:00 @ 29.09, 39: 08-16 00:00:00 - 08-16 00:30:00 @ 28.47, 40: 08-16 00:30:00 - 08-16 01:00:00 @ 27.18, 41: 08-16 01:00:00 - 08-16 01:30:00 @ 27.57, 42: 08-16 01:30:00 - 08-16 02:00:00 @ 26.5, 43: 08-16 02:00:00 - 08-16 02:30:00 @ 25.6, 44: 08-16 02:30:00 - 08-16 03:00:00 @ 24.79, 45: 08-16 03:00:00 - 08-16 03:30:00 @ 25.08, 46: 08-16 03:30:00 - 08-16 04:00:00 @ 24.62, 47: 08-16 04:00:00 - 08-16 04:30:00 @ 27.02, 48: 08-16 04:30:00 - 08-16 05:00:00 @ 26.47, 49: 08-16 05:00:00 - 08-16 05:30:00 @ 26.25, 50: 08-16 05:30:00 - 08-16 06:00:00 @ 26.4, 51: 08-16 06:00:00 - 08-16 06:30:00 @ 25.7, 52: 08-16 06:30:00 - 08-16 07:00:00 @ 27.63, 53: 08-16 07:00:00 - 08-16 07:30:00 @ 22.73, 54: 08-16 07:30:00 - 08-16 08:00:00 @ 26.7, 55: 08-16 08:00:00 - 08-16 08:30:00 @ 22.92, 56: 08-16 08:30:00 - 08-16 09:00:00 @ 22.48, 57: 08-16 09:00:00 - 08-16 09:30:00 @ 23.55, 58: 08-16 09:30:00 - 08-16 10:00:00 @ 23.64, 59: 08-16 10:00:00 - 08-16 10:30:00 @ 19.66, 60: 08-16 10:30:00 - 08-16 11:00:00 @ 17.66, 61: 08-16 11:00:00 - 08-16 11:30:00 @ 16.56, 62: 08-16 11:30:00 - 08-16 12:00:00 @ 15.46, 63: 08-16 12:00:00 - 08-16 12:30:00 @ 17.0, 64: 08-16 12:30:00 - 08-16 13:00:00 @ 16.34, 65: 08-16 13:00:00 - 08-16 13:30:00 @ 15.36, 66: 08-16 13:30:00 - 08-16 14:00:00 @ 15.74, 67: 08-16 14:00:00 - 08-16 14:30:00 @ 14.57, 68: 08-16 14:30:00 - 08-16 15:00:00 @ 13.77, 69: 08-16 15:00:00 - 08-16 15:30:00 @ 15.02, 70: 08-16 15:30:00 - 08-16 16:00:00 @ 15.87, 71: 08-16 16:00:00 - 08-16 16:30:00 @ 33.13, 72: 08-16 16:30:00 - 08-16 17:00:00 @ 33.13, 73: 08-16 17:00:00 - 08-16 17:30:00 @ 38.46, 74: 08-16 17:30:00 - 08-16 18:00:00 @ 40.44, 75: 08-16 18:00:00 - 08-16 18:30:00 @ 41.55, 76: 08-16 19:00:00 - 08-16 19:30:00 @ 32.58, 77: 08-16 19:30:00 - 08-16 20:00:00 @ 32.9, 78: 08-16 20:00:00 - 08-16 20:30:00 @ 31.99, 79: 08-16 20:30:00 - 08-16 21:00:00 @ 32.1, 80: 08-16 21:00:00 - 08-16 21:30:00 @ 31.71, 81: 08-16 21:30:00 - 08-16 22:00:00 @ 31.67, 82: 08-16 22:00:00 - 08-16 22:30:00 @ 31.77, 83: 08-16 22:30:00 - 08-16 23:00:00 @ 29.81, 84: 08-16 23:00:00 - 08-16 23:30:00 @ 27.8, 85: 08-16 23:30:00 - 08-17 00:00:00 @ 29.09, 86: 08-17 00:00:00 - 08-17 00:30:00 @ 28.47, 87: 08-17 00:30:00 - 08-17 01:00:00 @ 27.18, 88: 08-17 01:00:00 - 08-17 01:30:00 @ 27.57, 89: 08-17 01:30:00 - 08-17 02:00:00 @ 26.5, 90: 08-17 02:00:00 - 08-17 02:30:00 @ 25.6, 91: 08-17 02:30:00 - 08-17 03:00:00 @ 24.79, 92: 08-17 03:00:00 - 08-17 03:30:00 @ 25.08, 93: 08-17 03:30:00 - 08-17 04:00:00 @ 24.62, 94: 08-17 04:00:00 - 08-17 04:30:00 @ 27.02]
2026-08-15 04:25:06.129496: Inverter 0 Charge window will be: 2026-08-15 11:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 11%, target 100%
2026-08-15 04:25:06.129888: Inverter 0 disabled charge window while waiting for schedule (now 08-15 04:25:00 target set_window_minutes 30 charge start time 08-15 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 04:25:06.130118: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 04:25:06.130509: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 04:25:06.130658: No export window planned
2026-08-15 04:25:06.130937: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 04:25:06.130996: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 04:25:06.131457: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 04:25:06.131802: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 04:25:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 04:25:06.131914: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 04:25:06.132100: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 04:25:06.132353: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 04:25:06.132419: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 04:25:06.132503: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 04:25:06.132603: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 04:25:06.132737: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 04:25:06.132829: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 04:25:06.132922: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 04:25:06.133172: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 04:25:06.133274: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 04:25:06.133373: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 04:25:06.133470: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 04:25:06.133565: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 04:25:06.133666: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 04:25:06.133755: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 04:25:06.133838: Inverter 0 count register writes 0
2026-08-15 04:25:06.177308: Will not recompute the plan, it is 5.0 minutes old and max age is 10 minutes
2026-08-15 04:25:06.192034: Total inverter register writes now 815
2026-08-15 04:25:06.274586: Info: Completed run status Demand
2026-08-15 04:25:06.290131: Info: record_status Demand
2026-08-15 04:25:06.309167: Saved current settings to /config/predbat_config.json
2026-08-15 04:25:06.309474: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 04:25:26.244580: ML Predictor: Epoch 19/30: lr=0.00038 huber_loss=0.0063 val_mae=0.0028 kWh val_bias=-0.0002 kWh (-0.2%) combined=0.0015 kWh ema_combined=0.0018 kWh
2026-08-15 04:25:41.531046: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 04:25:41.531372: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 04:25:41.531432: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 04:25:41.531611: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 04:25:41.531660: Note: Inverter does not support discharge freeze - disabled
2026-08-15 04:25:41.531687: Note: Inverter does not support charge freeze - disabled
2026-08-15 04:25:41.531711: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 04:25:48.359887: ML Predictor: Epoch 20/30: lr=0.00034 huber_loss=0.0063 val_mae=0.0028 kWh val_bias=-0.0009 kWh (-1.2%) combined=0.0019 kWh ema_combined=0.0018 kWh
2026-08-15 04:26:08.320603: ML Predictor: Epoch 21/30: lr=0.00030 huber_loss=0.0063 val_mae=0.0025 kWh val_bias=-0.0004 kWh (-0.6%) combined=0.0015 kWh ema_combined=0.0017 kWh
2026-08-15 04:26:30.736268: ML Predictor: Epoch 22/30: lr=0.00026 huber_loss=0.0060 val_mae=0.0030 kWh val_bias=-0.0008 kWh (-1.2%) combined=0.0016 kWh ema_combined=0.0017 kWh
2026-08-15 04:26:53.203493: ML Predictor: Epoch 23/30: lr=0.00022 huber_loss=0.0055 val_mae=0.0024 kWh val_bias=+0.0001 kWh (+0.1%) combined=0.0015 kWh ema_combined=0.0016 kWh
2026-08-15 04:27:15.187234: ML Predictor: Epoch 24/30: lr=0.00019 huber_loss=0.0057 val_mae=0.0026 kWh val_bias=+0.0007 kWh (+1.0%) combined=0.0017 kWh ema_combined=0.0017 kWh
2026-08-15 04:27:36.512010: ML Predictor: Epoch 25/30: lr=0.00016 huber_loss=0.0056 val_mae=0.0026 kWh val_bias=-0.0002 kWh (-0.2%) combined=0.0014 kWh ema_combined=0.0016 kWh
2026-08-15 04:27:42.024027: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 04:27:42.024441: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 04:27:42.024491: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 04:27:42.024686: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 04:27:42.024801: Note: Inverter does not support discharge freeze - disabled
2026-08-15 04:27:42.024841: Note: Inverter does not support charge freeze - disabled
2026-08-15 04:27:42.024891: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 04:27:57.688383: ML Predictor: Epoch 26/30: lr=0.00014 huber_loss=0.0053 val_mae=0.0023 kWh val_bias=-0.0002 kWh (-0.3%) combined=0.0012 kWh ema_combined=0.0015 kWh
2026-08-15 04:28:20.231519: ML Predictor: Epoch 27/30: lr=0.00012 huber_loss=0.0058 val_mae=0.0023 kWh val_bias=-0.0002 kWh (-0.3%) combined=0.0012 kWh ema_combined=0.0014 kWh
2026-08-15 04:28:41.561454: ML Predictor: Epoch 28/30: lr=0.00011 huber_loss=0.0057 val_mae=0.0023 kWh val_bias=+0.0001 kWh (+0.2%) combined=0.0014 kWh ema_combined=0.0014 kWh
2026-08-15 04:29:01.975384: ML Predictor: Epoch 29/30: lr=0.00010 huber_loss=0.0054 val_mae=0.0026 kWh val_bias=-0.0009 kWh (-1.2%) combined=0.0016 kWh ema_combined=0.0014 kWh
2026-08-15 04:29:23.466331: ML Predictor: Epoch 30/30: lr=0.00010 huber_loss=0.0053 val_mae=0.0024 kWh val_bias=-0.0006 kWh (-0.8%) combined=0.0014 kWh ema_combined=0.0014 kWh
2026-08-15 04:29:23.468604: ML Predictor: Restored best weights from epoch with val_mae=0.0023 kWh val_bias=-0.0002 kWh (-0.3%)
2026-08-15 04:29:23.468815: ML Predictor: Training complete, final val_mae=0.0023 kWh val_bias=-0.0002 kWh (-0.3%)
2026-08-15 04:29:26.259757: ML Predictor: AR rollout over holdout: ar_mae=0.0024 kWh ar_bias=-0.0001 kWh (-0.2%) [drift vs teacher-forced: +0.0000 kWh]
2026-08-15 04:29:26.278404: ML Predictor: Curriculum pass 3/5 complete, val_mae=0.0023 kWh
2026-08-15 04:29:26.361415: ML Predictor: Curriculum pass 4/5: window=56.0 days (1344 hours of data)
2026-08-15 04:29:26.361545: ML Predictor: Starting fine-tune training with 30 epochs
2026-08-15 04:29:27.063859: ML Predictor: Creating dataset with 1344 hours of training data, 48 hours validation
2026-08-15 04:29:32.256847: ML Predictor: Created 15840 training samples, 576 validation samples
2026-08-15 04:29:32.308329: ML Predictor: Normalization stats [ema-update alpha=0.1] target(mean=0.0587 std=0.0470) load(mean=0.0589 std=0.0471) pv(mean=0.0000 std=0.0100) temp(mean=19.5204 std=4.4281) import_rate(mean=25.5113 std=2.4718) export_rate(mean=0.0000 std=1.0000) time(mean=-0.1905 std=0.5239)
2026-08-15 04:29:32.401489: ML Predictor: Applied EMA normalization update (alpha=0.1) to track feature drift
2026-08-15 04:29:32.421136: ML Predictor: Reset Adam optimiser state for fine-tuning
2026-08-15 04:29:32.471937: ML Predictor: Baseline (pre-finetune) val_mae=0.0076 kWh val_bias=-0.0008 kWh
2026-08-15 04:29:54.997359: ML Predictor: Epoch 1/30: lr=0.00100 huber_loss=0.0112 val_mae=0.0071 kWh val_bias=-0.0012 kWh (-1.4%) combined=0.0042 kWh ema_combined=0.0042 kWh
2026-08-15 04:29:56.847613: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 04:29:56.847905: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 04:29:56.847989: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 04:29:56.848165: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 04:29:56.848232: Note: Inverter does not support discharge freeze - disabled
2026-08-15 04:29:56.848261: Note: Inverter does not support charge freeze - disabled
2026-08-15 04:29:56.848298: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 04:30:00.074504: --------------- PredBat - update at 2026-08-15 04:30:00+01:00 with clock skew 0 minutes, minutes now 270
2026-08-15 04:30:00.075582: Saved current settings to /config/predbat_config.json
2026-08-15 04:30:00.075789: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 25.0 minutes
2026-08-15 04:30:00.075890: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.1, latest beta is v8.48.1
2026-08-15 04:30:00.075997: Autoupdate: Currently up to date
2026-08-15 04:30:00.134895: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 04:30:00.135061: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 04:30:00.135306: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 04:30:00.136090: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 04:30:00.136286: Predbat mode is set to Control charge & discharge
2026-08-15 04:30:00.634172: Found 21602 load_today datapoints going back 28 days
2026-08-15 04:30:00.634587: Using load_power data to fill gaps in load_today data
2026-08-15 04:30:02.476977: Processing 721 30-minute periods for power integration
2026-08-15 04:30:02.692554: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 04:30:02.692826: Car charging hold False, threshold 6.0kWh
2026-08-15 04:30:02.692984: Current data so far today: load 4.25kWh, import 5.0kWh, export 0.0kWh, PV 0kWh
2026-08-15 04:30:02.710419: Cars: SoC: [12.892000000000001]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 04:30:02.721646: Standing charge is set to 49.98p
2026-08-15 04:30:02.792125: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 04:30:02.792407: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 04:30:02.792854: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 270.0 minutes
2026-08-15 04:30:02.793693: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 269.7 minutes
2026-08-15 04:30:02.798659: Loaded 47 datapoints of futurerate analysis
2026-08-15 04:30:03.131314: Predicted future rates: ['08-15 00:00:00 => 28.9 / 20.01', '08-15 01:00:00 => 27.54 / 19.31', '08-15 02:00:00 => 26.52 / 18.8', '08-15 03:00:00 => 25.99 / 18.53', '08-15 04:00:00 => 25.8 / 18.43', '08-15 05:00:00 => 25.96 / 18.51', '08-15 06:00:00 => 25.55 / 18.3', '08-15 07:00:00 => 24.33 / 17.68', '08-15 08:00:00 => 23.03 / 17.01', '08-15 09:00:00 => 22.05 / 16.51', '08-15 10:00:00 => 20.43 / 15.68', '08-15 11:00:00 => 18.01 / 14.45', '08-15 12:00:00 => 16.37 / 13.61', '08-15 13:00:00 => 15.76 / 13.3', '08-15 14:00:00 => 15.35 / 13.09', '08-15 15:00:00 => 15.86 / 13.35', '08-15 16:00:00 => 32.89 / 16.13', '08-15 17:00:00 => 38.02 / 18.75', '08-15 18:00:00 => 42.36 / 20.96', '08-15 19:00:00 => 31.09 / 21.13', '08-15 20:00:00 => 31.64 / 21.41', '08-15 21:00:00 => 31.64 / 21.41', '08-15 22:00:00 => 30.58 / 20.87']
2026-08-15 04:30:03.238957: Rate min forward looking: now 13.77p at end of forecast 13.77p
2026-08-15 04:30:03.239682: Import rates: min 13.77p, max 43.82p, average 25.96p
2026-08-15 04:30:03.295394: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 04:30:03.295763: Rate thresholds (for charge/export) are import 43.32p (0.0p), export -0.1p (0.0p)
2026-08-15 04:30:03.297370: High export rate found rates in range 99p to -99p
2026-08-15 04:30:03.377533: Low Import rate found rates in range 13.77p to 41.55p
2026-08-15 04:30:03.377773: Car 0 charging is not planned as it is not plugged in
2026-08-15 04:30:03.392724: Battery level now 1.71kWh, -1hr ago 1.62kWh, at midnight 1.66kWh, battery value change in the last hour 1.14p, change today 0.66p, rate_forward 11.83p
2026-08-15 04:30:03.393232: Last hour: net energy 0.78kWh, import 0.78kWh, export 0.0kWh, car 0kWh, load 0.7kWh, net cost 20.52p, import 20.52p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 04:30:03.478455: Today's energy total net 5.0kWh, import 5.0kWh, export 0.0kWh, cost 183.64p, import 133.66p, export 0.0p, carbon 0.0kg
2026-08-15 04:30:03.478767: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 04:30:03.594881: Using weighted-bucket historical load forecast over 14 days
2026-08-15 04:30:03.645636: Today's load divergence 106.87%, in-day adjustment 136.79%, damping 0.95x, yesterday 143.77% today 106.53% blend 81.25%
2026-08-15 04:30:03.645992: Today's predicted so far 3.17kWh with 0.0kWh car/iBoost excluded, 2.15kWh import ignored, and 3.17kWh forecast extra.
2026-08-15 04:30:03.646228: Today's actual load so far 4.32kWh with 0.0kWh car/iBoost excluded, and 2.15kWh import ignored.
2026-08-15 04:30:03.738750: Inverter 0: Type SK Sunsynk
2026-08-15 04:30:03.740909: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 04:30:03.741284: Reserve min: 7%, battery_min: 7%
2026-08-15 04:30:03.741382: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 04:30:03.741735: Inverter 0 SoC: 1.71kW 11%, current charge rate 5000W, current discharge rate 5250W, current battery power 496W, current battery voltage 51.2V, grid power -54W, load power 556W, PV Power 0W
2026-08-15 04:30:03.741945: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 04:30:03.742065: Inverter 0 scheduled charge enable is False
2026-08-15 04:30:03.742112: Inverter 0 charge windows currently []
2026-08-15 04:30:03.742147: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 04:30:03.742301: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 04:30:03.744877: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 04:30:03.745069: Inverter 0 scheduled discharge enable is False
2026-08-15 04:30:03.745407: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 04:30:03.745615: Inverter 0 discharge windows currently []
2026-08-15 04:30:03.745669: Note: Inverter does not support discharge freeze - disabled
2026-08-15 04:30:03.745761: Note: Inverter does not support charge freeze - disabled
2026-08-15 04:30:03.745839: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 04:30:03.920716: Dynamic load last period 0.60kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 04:30:03.921026: Plan was last updated on 2026-08-15 04:20:00+01:00 and is now 10.0 minutes old
2026-08-15 04:30:03.921509: Best charge window [ 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 00:30:00 @ 28.84p 100% ]
2026-08-15 04:30:03.921597: Best export window [  ]
2026-08-15 04:30:03.922992: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 04:30:03.927730: Load divergence over 8.0 hours mean 504.68W, min 281.4W, max 1483.8W, std dev 255.67W, divergence 25.33%
2026-08-15 04:30:03.971240: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 04:30:03.983322: LoadML is_calculating True
2026-08-15 04:30:03.983554: Not using thread pool as LoadML is calculating to avoid lockups
2026-08-15 04:30:04.077271: predict base end_record 08-16 11:40:00, final soc 1.12kWh, metric 828.82p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 05:15:00, load 28.45kWh, PV 0.0kWh
2026-08-15 04:30:04.347320: Battery has 0.75 hours left - now at 1.71kWh
2026-08-15 04:30:04.420507: predict base10 end_record 08-16 11:40:00, final soc 1.12kWh, metric 857.85p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 05:10:00, load 29.61kWh, PV 0.0kWh
2026-08-15 04:30:04.567688: predict best10 end_record 08-16 11:40:00, final soc 1.77kWh, metric 695.75p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 05:10:00, load 29.61kWh, PV 0.0kWh
2026-08-15 04:30:04.751323: predict best end_record 08-16 11:40:00, final soc 1.9kWh, metric 670.58p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 05:15:00, load 28.45kWh, PV 0.0kWh
2026-08-15 04:30:04.751558: Saving plan best values to HA entities
2026-08-15 04:30:05.134548: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 04:30:05.160933: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0.0
2026-08-15 04:30:05.187984: Best charging limit SoC's [16.0, 3.5, 4.0, 16.0, 16.0, 16.0]kWh, export []kWh gives import battery 21.48kWh, house 5.13kWh, export 0.0kWh, metric 670.58p, metric10 695.75p
2026-08-15 04:30:05.383977: Marginal costs baseline metric (no standing charge): 620.5932
2026-08-15 04:30:05.895484: Marginal energy costs matrix computed: min=14.39 max=30.01
2026-08-15 04:30:06.118477: Rate array import [{'start': 270, 'end': 420, 'rate': 'expensive', 'range': '(25.7p - 27.6p)'}, {'start': 420, 'end': 450, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 450, 'end': 480, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 480, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 23.6p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1860, 'rate': 'expensive', 'range': '(24.6p - 32.9p)'}, {'start': 1860, 'end': 1890, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 1890, 'end': 1920, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 1920, 'end': 2140, 'rate': 'cheap', 'range': '(15.5p - 23.6p)'}] export [{'start': 270, 'end': 2140, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 04:30:06.119508: - Your estimated bill for today is £5.93 and tomorrow is £5.44
2026-08-15 04:30:06.119565: - Import rates are expensive (25.7p - 27.6p) for the next 2 and a half hours and then cheap (22.7p) for the next 30 minutes.
2026-08-15 04:30:06.119593: - The battery is currently at 11% and is in eco mode for the next 7 hours.
2026-08-15 04:30:06.119617: - For the next 48 hours there will be no solar generation.
2026-08-15 04:30:06.119645: - You will run out of battery in 45 minutes.
2026-08-15 04:30:06.119668: - Your next charge slot will be in 7 hours where import rates will be cheap (15.5p).
2026-08-15 04:30:06.119702: 
2026-08-15 04:30:06.209253: Plan calculation took 2.29 seconds
2026-08-15 04:30:06.218247: No high rate period found
2026-08-15 04:30:06.318583: Import threshold used for optimisation was 22.92p
2026-08-15 04:30:06.395063: Low import rate windows [0: 08-15 04:30:00 - 08-15 05:00:00 @ 26.47, 1: 08-15 05:00:00 - 08-15 05:30:00 @ 26.25, 2: 08-15 05:30:00 - 08-15 06:00:00 @ 26.4, 3: 08-15 06:00:00 - 08-15 06:30:00 @ 25.7, 4: 08-15 06:30:00 - 08-15 07:00:00 @ 27.63, 5: 08-15 07:00:00 - 08-15 07:30:00 @ 22.73, 6: 08-15 07:30:00 - 08-15 08:00:00 @ 26.7, 7: 08-15 08:00:00 - 08-15 08:30:00 @ 22.92, 8: 08-15 08:30:00 - 08-15 09:00:00 @ 22.48, 9: 08-15 09:00:00 - 08-15 09:30:00 @ 23.55, 10: 08-15 09:30:00 - 08-15 10:00:00 @ 23.64, 11: 08-15 10:00:00 - 08-15 10:30:00 @ 19.66, 12: 08-15 10:30:00 - 08-15 11:00:00 @ 17.66, 13: 08-15 11:00:00 - 08-15 11:30:00 @ 16.56, 14: 08-15 11:30:00 - 08-15 12:00:00 @ 15.46, 15: 08-15 12:00:00 - 08-15 12:30:00 @ 17.0, 16: 08-15 12:30:00 - 08-15 13:00:00 @ 16.34, 17: 08-15 13:00:00 - 08-15 13:30:00 @ 15.36, 18: 08-15 13:30:00 - 08-15 14:00:00 @ 15.74, 19: 08-15 14:00:00 - 08-15 14:30:00 @ 14.57, 20: 08-15 14:30:00 - 08-15 15:00:00 @ 13.77, 21: 08-15 15:00:00 - 08-15 15:30:00 @ 15.02, 22: 08-15 15:30:00 - 08-15 16:00:00 @ 15.87, 23: 08-15 16:00:00 - 08-15 16:30:00 @ 33.13, 24: 08-15 16:30:00 - 08-15 17:00:00 @ 33.13, 25: 08-15 17:00:00 - 08-15 17:30:00 @ 38.46, 26: 08-15 17:30:00 - 08-15 18:00:00 @ 40.44, 27: 08-15 18:00:00 - 08-15 18:30:00 @ 41.55, 28: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 29: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 30: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 31: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 32: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 33: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 34: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 35: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 36: 08-15 23:00:00 - 08-15 23:30:00 @ 27.8, 37: 08-15 23:30:00 - 08-16 00:00:00 @ 29.09, 38: 08-16 00:00:00 - 08-16 00:30:00 @ 28.47, 39: 08-16 00:30:00 - 08-16 01:00:00 @ 27.18, 40: 08-16 01:00:00 - 08-16 01:30:00 @ 27.57, 41: 08-16 01:30:00 - 08-16 02:00:00 @ 26.5, 42: 08-16 02:00:00 - 08-16 02:30:00 @ 25.6, 43: 08-16 02:30:00 - 08-16 03:00:00 @ 24.79, 44: 08-16 03:00:00 - 08-16 03:30:00 @ 25.08, 45: 08-16 03:30:00 - 08-16 04:00:00 @ 24.62, 46: 08-16 04:00:00 - 08-16 04:30:00 @ 27.02, 47: 08-16 04:30:00 - 08-16 05:00:00 @ 26.47, 48: 08-16 05:00:00 - 08-16 05:30:00 @ 26.25, 49: 08-16 05:30:00 - 08-16 06:00:00 @ 26.4, 50: 08-16 06:00:00 - 08-16 06:30:00 @ 25.7, 51: 08-16 06:30:00 - 08-16 07:00:00 @ 27.63, 52: 08-16 07:00:00 - 08-16 07:30:00 @ 22.73, 53: 08-16 07:30:00 - 08-16 08:00:00 @ 26.7, 54: 08-16 08:00:00 - 08-16 08:30:00 @ 22.92, 55: 08-16 08:30:00 - 08-16 09:00:00 @ 22.48, 56: 08-16 09:00:00 - 08-16 09:30:00 @ 23.55, 57: 08-16 09:30:00 - 08-16 10:00:00 @ 23.64, 58: 08-16 10:00:00 - 08-16 10:30:00 @ 19.66, 59: 08-16 10:30:00 - 08-16 11:00:00 @ 17.66, 60: 08-16 11:00:00 - 08-16 11:30:00 @ 16.56, 61: 08-16 11:30:00 - 08-16 12:00:00 @ 15.46, 62: 08-16 12:00:00 - 08-16 12:30:00 @ 17.0, 63: 08-16 12:30:00 - 08-16 13:00:00 @ 16.34, 64: 08-16 13:00:00 - 08-16 13:30:00 @ 15.36, 65: 08-16 13:30:00 - 08-16 14:00:00 @ 15.74, 66: 08-16 14:00:00 - 08-16 14:30:00 @ 14.57, 67: 08-16 14:30:00 - 08-16 15:00:00 @ 13.77, 68: 08-16 15:00:00 - 08-16 15:30:00 @ 15.02, 69: 08-16 15:30:00 - 08-16 16:00:00 @ 15.87, 70: 08-16 16:00:00 - 08-16 16:30:00 @ 33.13, 71: 08-16 16:30:00 - 08-16 17:00:00 @ 33.13, 72: 08-16 17:00:00 - 08-16 17:30:00 @ 38.46, 73: 08-16 17:30:00 - 08-16 18:00:00 @ 40.44, 74: 08-16 18:00:00 - 08-16 18:30:00 @ 41.55, 75: 08-16 19:00:00 - 08-16 19:30:00 @ 32.58, 76: 08-16 19:30:00 - 08-16 20:00:00 @ 32.9, 77: 08-16 20:00:00 - 08-16 20:30:00 @ 31.99, 78: 08-16 20:30:00 - 08-16 21:00:00 @ 32.1, 79: 08-16 21:00:00 - 08-16 21:30:00 @ 31.71, 80: 08-16 21:30:00 - 08-16 22:00:00 @ 31.67, 81: 08-16 22:00:00 - 08-16 22:30:00 @ 31.77, 82: 08-16 22:30:00 - 08-16 23:00:00 @ 29.81, 83: 08-16 23:00:00 - 08-16 23:30:00 @ 27.8, 84: 08-16 23:30:00 - 08-17 00:00:00 @ 29.09, 85: 08-17 00:00:00 - 08-17 00:30:00 @ 28.47, 86: 08-17 00:30:00 - 08-17 01:00:00 @ 27.18, 87: 08-17 01:00:00 - 08-17 01:30:00 @ 27.57, 88: 08-17 01:30:00 - 08-17 02:00:00 @ 26.5, 89: 08-17 02:00:00 - 08-17 02:30:00 @ 25.6, 90: 08-17 02:30:00 - 08-17 03:00:00 @ 24.79, 91: 08-17 03:00:00 - 08-17 03:30:00 @ 25.08, 92: 08-17 03:30:00 - 08-17 04:00:00 @ 24.62, 93: 08-17 04:00:00 - 08-17 04:30:00 @ 27.02]
2026-08-15 04:30:06.405886: Inverter 0 Charge window will be: 2026-08-15 11:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 11%, target 100%
2026-08-15 04:30:06.406057: Inverter 0 disabled charge window while waiting for schedule (now 08-15 04:30:00 target set_window_minutes 30 charge start time 08-15 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 04:30:06.406153: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 04:30:06.406415: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 04:30:06.406515: No export window planned
2026-08-15 04:30:06.406652: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 04:30:06.406699: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 04:30:06.406982: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 04:30:06.407255: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 04:30:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 04:30:06.407366: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 04:30:06.407503: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 04:30:06.407664: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 04:30:06.407777: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 04:30:06.407873: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 04:30:06.407975: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 04:30:06.408056: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 04:30:06.408156: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 04:30:06.408249: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 04:30:06.408404: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 04:30:06.408501: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 04:30:06.408603: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 04:30:06.408681: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 04:30:06.408770: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 04:30:06.408844: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 04:30:06.408933: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 04:30:06.409005: Inverter 0 count register writes 0
2026-08-15 04:30:06.432703: Will recompute the plan as it is now 10.0 minutes old and will exceed the max age of 10 minutes before the next run
2026-08-15 04:30:06.432868: Recompute is saving previous plan...
2026-08-15 04:30:06.435572: Best charge window [ 15-08 04:30:00 - 15-08 05:00:00 @ 26.47p 0%, 15-08 05:00:00 - 15-08 05:30:00 @ 26.25p 0%, 15-08 05:30:00 - 15-08 06:00:00 @ 26.4p 0%, 15-08 06:00:00 - 15-08 06:30:00 @ 25.7p 0%, 15-08 06:30:00 - 15-08 07:00:00 @ 27.63p 0%, 15-08 07:00:00 - 15-08 07:30:00 @ 22.73p 0%, 15-08 07:30:00 - 15-08 08:00:00 @ 26.7p 0%, 15-08 08:00:00 - 15-08 08:30:00 @ 22.92p 0%, 15-08 08:30:00 - 15-08 09:00:00 @ 22.48p 0%, 15-08 09:00:00 - 15-08 09:30:00 @ 23.55p 0%, 15-08 09:30:00 - 15-08 10:00:00 @ 23.64p 0%, 15-08 10:00:00 - 15-08 10:30:00 @ 19.66p 0%, 15-08 10:30:00 - 15-08 11:00:00 @ 17.66p 0%, 15-08 11:00:00 - 15-08 11:30:00 @ 16.56p 0%, 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 0%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 0%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 0%, 15-08 13:00:00 - 15-08 13:30:00 @ 15.36p 0%, 15-08 13:30:00 - 15-08 14:00:00 @ 15.74p 0%, 15-08 14:00:00 - 15-08 14:30:00 @ 14.57p 0%, 15-08 14:30:00 - 15-08 15:00:00 @ 13.77p 0%, 15-08 15:00:00 - 15-08 15:30:00 @ 15.02p 0%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 0%, 15-08 16:00:00 - 15-08 16:30:00 @ 33.13p 0%, 15-08 16:30:00 - 15-08 17:00:00 @ 33.13p 0%, 15-08 17:00:00 - 15-08 17:30:00 @ 38.46p 0%, 15-08 17:30:00 - 15-08 18:00:00 @ 40.44p 0%, 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 0%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 0%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 0%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 0%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 0%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 27.8p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 29.09p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.47p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.18p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 27.57p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.5p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.6p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 24.79p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 25.08p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 24.62p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 27.02p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.47p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 26.25p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.4p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.7p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 27.63p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 22.73p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 26.7p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 22.92p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 22.48p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 23.55p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 23.64p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 19.66p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 17.66p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 16.56p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 15.46p 0%, 16-08 12:00:00 - 16-08 12:30:00 @ 17.0p 0%, 16-08 12:30:00 - 16-08 13:00:00 @ 16.34p 0%, 16-08 13:00:00 - 16-08 13:30:00 @ 15.36p 0%, 16-08 13:30:00 - 16-08 14:00:00 @ 15.74p 0%, 16-08 14:00:00 - 16-08 14:30:00 @ 14.57p 0%, 16-08 14:30:00 - 16-08 15:00:00 @ 13.77p 0%, 16-08 15:00:00 - 16-08 15:30:00 @ 15.02p 0%, 16-08 15:30:00 - 16-08 16:00:00 @ 15.87p 0%, 16-08 16:00:00 - 16-08 16:30:00 @ 33.13p 0%, 16-08 16:30:00 - 16-08 17:00:00 @ 33.13p 0%, 16-08 17:00:00 - 16-08 17:30:00 @ 38.46p 0%, 16-08 17:30:00 - 16-08 18:00:00 @ 40.44p 0%, 16-08 18:00:00 - 16-08 18:30:00 @ 41.55p 0%, 16-08 19:00:00 - 16-08 19:30:00 @ 32.58p 0%, 16-08 19:30:00 - 16-08 20:00:00 @ 32.9p 0%, 16-08 20:00:00 - 16-08 20:30:00 @ 31.99p 0%, 16-08 20:30:00 - 16-08 21:00:00 @ 32.1p 0%, 16-08 21:00:00 - 16-08 21:30:00 @ 31.71p 0%, 16-08 21:30:00 - 16-08 22:00:00 @ 31.67p 0%, 16-08 22:00:00 - 16-08 22:30:00 @ 31.77p 0%, 16-08 22:30:00 - 16-08 23:00:00 @ 29.81p 0%, 16-08 23:00:00 - 16-08 23:30:00 @ 27.8p 0%, 16-08 23:30:00 - 17-08 00:00:00 @ 29.09p 0%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.47p 0%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.18p 0%, 17-08 01:00:00 - 17-08 01:30:00 @ 27.57p 0%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.5p 0%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.6p 0%, 17-08 02:30:00 - 17-08 03:00:00 @ 24.79p 0%, 17-08 03:00:00 - 17-08 03:30:00 @ 25.08p 0%, 17-08 03:30:00 - 17-08 04:00:00 @ 24.62p 0%, 17-08 04:00:00 - 17-08 04:30:00 @ 27.02p 0% ]
2026-08-15 04:30:06.435660: Best export window [  ]
2026-08-15 04:30:06.436509: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 04:30:06.439089: Load divergence over 8.0 hours mean 504.68W, min 281.4W, max 1483.8W, std dev 255.67W, divergence 25.33%
2026-08-15 04:30:06.467811: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 04:30:06.467969: LoadML is_calculating True
2026-08-15 04:30:06.468003: Not using thread pool as LoadML is calculating to avoid lockups
2026-08-15 04:30:06.480543: Calculate Best options: mode(Control charge & discharge), calculate_export_oncharge(False), calculate_export_on_pv(True), set_export_freeze_only(False), set_discharge_during_charge(True), combine_charge_slots(False), combine_export_slots(False), combine_rate_threshold(0.0), best_soc_min(0.0 kWh), best_soc_max(0.0 kWh), best_soc_keep(0.0 kWh), inverter_loss(4%), battery_loss(3%), battery_loss_discharge (3%), inverter_hybrid(True), metric_min_improvement(0.0p), metric_min_improvement_export(0.1p), metric_min_improvement_export_freeze(0.1p), metric_battery_cycle(0.0p/kWh), metric_battery_value_scaling(1.0 x) 
2026-08-15 04:30:06.482064: Optimise levels pass started at 2026-08-15 04:30:06
2026-08-15 04:30:06.482131: Optimise all windows, total charge 94 export 1
2026-08-15 04:30:17.704383: >> Region optimisation pass width 960 gives best_metric 804.54p, best_cost 811.13p, best_cycle 53.76kWh, best_import 39.43kWh
2026-08-15 04:30:21.307974: >> Region optimisation pass width 480 gives best_metric 804.54p, best_cost 811.13p, best_cycle 53.76kWh, best_import 39.43kWh
2026-08-15 04:30:22.482245: >> Region optimisation pass width 240 gives best_metric 804.54p, best_cost 811.13p, best_cycle 53.76kWh, best_import 39.43kWh
2026-08-15 04:30:26.406355: >> Region optimisation pass width 120 gives best_metric 804.54p, best_cost 811.13p, best_cycle 53.76kWh, best_import 39.43kWh
2026-08-15 04:30:26.406742: Calculated end_record as 08-16 11:30:00 based on best_price 16.34p, next_charge_start 08-15 11:30:00, max_windows 61
2026-08-15 04:30:26.406809: Optimise levels pass ended at 2026-08-15 04:30:26, duration 19.9 seconds tried 318 combinations
2026-08-15 04:30:26.421104: Set best_price_charge_level 17.6p, best_price_export_level 0p, best_price_charge 16.34p, best_cost_export 0p, best_metric 804.54p, best_keep 0kWh, best_cycle 53.76kWh, best_carbon 0kg, best_import 39.43kWh
2026-08-15 04:30:26.464255: Starting detailed optimisation end_record 08-16 11:30:00, best_price_charge 16.34p, best_price_export 0p. lowest_price_charge 13.77p with charge limits [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0]kWh and export limits []kWh
2026-08-15 04:30:51.009883: Tweak plan optimisation started metric 595.53p, cost 604.74p
2026-08-15 04:30:51.518664: ML Predictor: Epoch 2/30: lr=0.00100 huber_loss=0.0134 val_mae=0.0072 kWh val_bias=-0.0011 kWh (-1.2%) combined=0.0041 kWh ema_combined=0.0042 kWh
2026-08-15 04:30:51.746096: Tweak optimisation finished metric 595.53p, cost 604.74p, metric_keep 0kWh, cycle 30.35kWh, carbon 0kg, import 25.58kWh, changed 8 window(s)
2026-08-15 04:30:51.773827: Swap charge optimisation started metric 595.53p, cost 604.74p, min_improvement_swap 0.1p
2026-08-15 04:31:01.755439: Swap charge optimisation finished metric 595.53p, cost 604.74p
2026-08-15 04:31:02.027683: Pruned 2 dead plan slot(s) in 11 trial(s), nominal metric 591.49p -> 591.49p, plan now metric 595.57p, cost 604.74p, cycle 30.35kWh, import 25.58kWh
2026-08-15 04:31:02.041831: Raw charge windows [ 15-08 04:30:00 - 15-08 05:00:00 @ 26.47p 0%, 15-08 05:00:00 - 15-08 05:30:00 @ 26.25p 0%, 15-08 05:30:00 - 15-08 06:00:00 @ 26.4p 0%, 15-08 06:00:00 - 15-08 06:30:00 @ 25.7p 0%, 15-08 06:30:00 - 15-08 07:00:00 @ 27.63p 0%, 15-08 07:00:00 - 15-08 07:30:00 @ 22.73p 0%, 15-08 07:30:00 - 15-08 08:00:00 @ 26.7p 0%, 15-08 08:00:00 - 15-08 08:30:00 @ 22.92p 0%, 15-08 08:30:00 - 15-08 09:00:00 @ 22.48p 0%, 15-08 09:00:00 - 15-08 09:30:00 @ 23.55p 0%, 15-08 09:30:00 - 15-08 10:00:00 @ 23.64p 0%, 15-08 10:00:00 - 15-08 10:30:00 @ 19.66p 0%, 15-08 10:30:00 - 15-08 11:00:00 @ 17.66p 0%, 15-08 11:00:00 - 15-08 11:30:00 @ 16.56p 0%, 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 13:30:00 @ 15.36p 100%, 15-08 13:30:00 - 15-08 14:00:00 @ 15.74p 100%, 15-08 14:00:00 - 15-08 14:30:00 @ 14.57p 100%, 15-08 14:30:00 - 15-08 15:00:00 @ 13.77p 100%, 15-08 15:00:00 - 15-08 15:30:00 @ 15.02p 100%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 100%, 15-08 16:00:00 - 15-08 16:30:00 @ 33.13p 0%, 15-08 16:30:00 - 15-08 17:00:00 @ 33.13p 0%, 15-08 17:00:00 - 15-08 17:30:00 @ 38.46p 0%, 15-08 17:30:00 - 15-08 18:00:00 @ 40.44p 0%, 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 0%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 0%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 0%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 0%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 0%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 27.8p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 29.09p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.47p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.18p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 27.57p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.5p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.6p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 24.79p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 25.08p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 24.62p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 27.02p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.47p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 26.25p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.4p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.7p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 27.63p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 22.73p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 26.7p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 22.92p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 22.48p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 23.55p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 23.64p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 19.66p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 17.66p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 16.56p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 15.46p 100%, 16-08 12:00:00 - 16-08 12:30:00 @ 17.0p 100%, 16-08 12:30:00 - 16-08 13:00:00 @ 16.34p 100%, 16-08 13:00:00 - 16-08 13:30:00 @ 15.36p 100%, 16-08 13:30:00 - 16-08 14:00:00 @ 15.74p 100%, 16-08 14:00:00 - 16-08 14:30:00 @ 14.57p 100%, 16-08 14:30:00 - 16-08 15:00:00 @ 13.77p 100%, 16-08 15:00:00 - 16-08 15:30:00 @ 15.02p 100%, 16-08 15:30:00 - 16-08 16:00:00 @ 15.87p 100%, 16-08 16:00:00 - 16-08 16:30:00 @ 33.13p 100%, 16-08 16:30:00 - 16-08 17:00:00 @ 33.13p 100%, 16-08 17:00:00 - 16-08 17:30:00 @ 38.46p 100%, 16-08 17:30:00 - 16-08 18:00:00 @ 40.44p 100%, 16-08 18:00:00 - 16-08 18:30:00 @ 41.55p 100%, 16-08 19:00:00 - 16-08 19:30:00 @ 32.58p 100%, 16-08 19:30:00 - 16-08 20:00:00 @ 32.9p 100%, 16-08 20:00:00 - 16-08 20:30:00 @ 31.99p 100%, 16-08 20:30:00 - 16-08 21:00:00 @ 32.1p 100%, 16-08 21:00:00 - 16-08 21:30:00 @ 31.71p 100%, 16-08 21:30:00 - 16-08 22:00:00 @ 31.67p 100%, 16-08 22:00:00 - 16-08 22:30:00 @ 31.77p 100%, 16-08 22:30:00 - 16-08 23:00:00 @ 29.81p 100%, 16-08 23:00:00 - 16-08 23:30:00 @ 27.8p 100%, 16-08 23:30:00 - 17-08 00:00:00 @ 29.09p 100%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.47p 100%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.18p 100%, 17-08 01:00:00 - 17-08 01:30:00 @ 27.57p 100%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.5p 100%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.6p 100%, 17-08 02:30:00 - 17-08 03:00:00 @ 24.79p 100%, 17-08 03:00:00 - 17-08 03:30:00 @ 25.08p 100%, 17-08 03:30:00 - 17-08 04:00:00 @ 24.62p 100%, 17-08 04:00:00 - 17-08 04:30:00 @ 27.02p 100% ] reserve 1.12
2026-08-15 04:31:02.042458: Unclipped charge windows [ 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 04:30:00 @ 26.0p 100% ] reserve 1.12
2026-08-15 04:31:02.042720: Unfiltered charge windows [ 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 04:30:00 @ 26.0p 100% ] reserve 1.12
2026-08-15 04:31:02.042957: Filtered charge windows [ 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 04:30:00 @ 26.0p 100% ] reserve 1.12
2026-08-15 04:31:02.095296: Previous plan best metric is 595.57 (cost 604.74) and new plan best metric is 595.53 (cost 604.74)
2026-08-15 04:31:02.095676: New plan metric is not significantly better (metric_min_improvement_plan 2.0) than previous plan, using previous plan
2026-08-15 04:31:02.095848: Plan valid is now true after recompute was False
2026-08-15 04:31:02.125439: predict base end_record 08-16 11:30:00, final soc 1.12kWh, metric 825.85p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 05:15:00, load 28.26kWh, PV 0.0kWh
2026-08-15 04:31:02.343615: Battery has 0.75 hours left - now at 1.71kWh
2026-08-15 04:31:02.447699: predict base10 end_record 08-16 11:30:00, final soc 1.12kWh, metric 854.73p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 05:10:00, load 29.4kWh, PV 0.0kWh
2026-08-15 04:31:02.617958: predict best10 end_record 08-16 11:30:00, final soc 1.12kWh, metric 681.9p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 05:10:00, load 29.4kWh, PV 0.0kWh
2026-08-15 04:31:02.742219: predict best end_record 08-16 11:30:00, final soc 1.12kWh, metric 654.72p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 05:15:00, load 28.26kWh, PV 0.0kWh
2026-08-15 04:31:02.742499: Saving plan best values to HA entities
2026-08-15 04:31:03.179406: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 04:31:03.199540: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0.0
2026-08-15 04:31:03.237386: Best charging limit SoC's [16.0, 3.5, 4.0, 16.0, 16.0, 16.0]kWh, export []kWh gives import battery 20.45kWh, house 5.13kWh, export 0.0kWh, metric 654.72p, metric10 681.9p
2026-08-15 04:31:03.347025: Marginal costs baseline metric (no standing charge): 604.7364
2026-08-15 04:31:03.866985: Marginal energy costs matrix computed: min=14.39 max=30.01
2026-08-15 04:31:03.988968: Rate array import [{'start': 270, 'end': 420, 'rate': 'expensive', 'range': '(25.7p - 27.6p)'}, {'start': 420, 'end': 450, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 450, 'end': 480, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 480, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 23.6p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1860, 'rate': 'expensive', 'range': '(24.6p - 32.9p)'}, {'start': 1860, 'end': 1890, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 1890, 'end': 1920, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 1920, 'end': 2130, 'rate': 'cheap', 'range': '(16.6p - 23.6p)'}] export [{'start': 270, 'end': 2130, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 04:31:03.993252: - Your estimated bill for today is £5.93 and tomorrow is £5.44
2026-08-15 04:31:03.993320: - Import rates are expensive (25.7p - 27.6p) for the next 2 and a half hours and then cheap (22.7p) for the next 30 minutes.
2026-08-15 04:31:03.993356: - The battery is currently at 11% and is in eco mode for the next 7 hours.
2026-08-15 04:31:03.999512: - For the next 48 hours there will be no solar generation.
2026-08-15 04:31:03.999625: - You will run out of battery in 45 minutes.
2026-08-15 04:31:03.999719: - Your next charge slot will be in 7 hours where import rates will be cheap (15.5p).
2026-08-15 04:31:03.999786: 
2026-08-15 04:31:04.049699: Plan calculation took 57.62 seconds
2026-08-15 04:31:04.049940: Inverter 0: Type SK Sunsynk
2026-08-15 04:31:04.049981: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 04:31:04.050134: Reserve min: 7%, battery_min: 7%
2026-08-15 04:31:04.050192: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 04:31:04.050431: Inverter 0 SoC: 1.6kW 10%, current charge rate 5000W, current discharge rate 5250W, current battery power 469W, current battery voltage 51.2V, grid power -54W, load power 524W, PV Power 0W
2026-08-15 04:31:04.050571: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 04:31:04.050652: Inverter 0 scheduled charge enable is False
2026-08-15 04:31:04.050684: Inverter 0 charge windows currently []
2026-08-15 04:31:04.050706: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 04:31:04.063661: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 04:31:04.063730: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 04:31:04.063773: Inverter 0 scheduled discharge enable is False
2026-08-15 04:31:04.064025: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 04:31:04.064144: Inverter 0 discharge windows currently []
2026-08-15 04:31:04.064239: Note: Inverter does not support discharge freeze - disabled
2026-08-15 04:31:04.064331: Note: Inverter does not support charge freeze - disabled
2026-08-15 04:31:04.064396: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 04:31:04.211235: Inverter 0 Charge window will be: 2026-08-15 11:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 10%, target 100%
2026-08-15 04:31:04.211423: Inverter 0 disabled charge window while waiting for schedule (now 08-15 04:30:00 target set_window_minutes 30 charge start time 08-15 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 04:31:04.211503: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 04:31:04.211723: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 04:31:04.211806: No export window planned
2026-08-15 04:31:04.211923: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 04:31:04.211969: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 04:31:04.212138: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 04:31:04.212341: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 04:30:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 04:31:04.212405: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 04:31:04.212469: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 04:31:04.212563: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 04:31:04.212617: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 04:31:04.212654: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 04:31:04.212699: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 04:31:04.212769: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 04:31:04.212808: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 04:31:04.212851: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 04:31:04.212927: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 04:31:04.213359: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 04:31:04.213432: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 04:31:04.213564: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 04:31:04.213619: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 04:31:04.213742: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 04:31:04.213797: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 04:31:04.213872: Inverter 0 count register writes 0
2026-08-15 04:31:04.293246: Total inverter register writes now 815
2026-08-15 04:31:04.346070: Info: Completed run status Demand
2026-08-15 04:31:04.355573: Info: record_status Demand
2026-08-15 04:31:04.366108: Saved current settings to /config/predbat_config.json
2026-08-15 04:31:04.366561: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 04:31:21.625923: ML Predictor: Epoch 3/30: lr=0.00099 huber_loss=0.0126 val_mae=0.0061 kWh val_bias=-0.0010 kWh (-1.1%) combined=0.0038 kWh ema_combined=0.0041 kWh
2026-08-15 04:31:41.518683: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 04:31:41.519026: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 04:31:41.519092: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 04:31:41.519338: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 04:31:41.519398: Note: Inverter does not support discharge freeze - disabled
2026-08-15 04:31:41.519436: Note: Inverter does not support charge freeze - disabled
2026-08-15 04:31:41.520476: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 04:31:41.715644: ML Predictor: Epoch 4/30: lr=0.00098 huber_loss=0.0122 val_mae=0.0064 kWh val_bias=-0.0012 kWh (-1.4%) combined=0.0041 kWh ema_combined=0.0041 kWh
2026-08-15 04:32:02.645980: ML Predictor: Epoch 5/30: lr=0.00096 huber_loss=0.0119 val_mae=0.0057 kWh val_bias=-0.0021 kWh (-2.3%) combined=0.0042 kWh ema_combined=0.0041 kWh
2026-08-15 04:32:23.223510: ML Predictor: Epoch 6/30: lr=0.00094 huber_loss=0.0127 val_mae=0.0084 kWh val_bias=-0.0055 kWh (-6.3%) combined=0.0083 kWh ema_combined=0.0054 kWh
2026-08-15 04:32:45.927040: ML Predictor: Epoch 7/30: lr=0.00091 huber_loss=0.0128 val_mae=0.0054 kWh val_bias=+0.0006 kWh (+0.7%) combined=0.0030 kWh ema_combined=0.0047 kWh
2026-08-15 04:33:04.969905: ML Predictor: Epoch 8/30: lr=0.00088 huber_loss=0.0112 val_mae=0.0056 kWh val_bias=+0.0015 kWh (+1.7%) combined=0.0042 kWh ema_combined=0.0045 kWh
2026-08-15 04:33:27.132358: ML Predictor: Epoch 9/30: lr=0.00084 huber_loss=0.0108 val_mae=0.0053 kWh val_bias=-0.0010 kWh (-1.2%) combined=0.0028 kWh ema_combined=0.0040 kWh
2026-08-15 04:33:41.970991: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 04:33:41.971287: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 04:33:41.971454: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 04:33:41.971826: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 04:33:41.971884: Note: Inverter does not support discharge freeze - disabled
2026-08-15 04:33:41.971961: Note: Inverter does not support charge freeze - disabled
2026-08-15 04:33:41.972023: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 04:33:48.469836: ML Predictor: Epoch 10/30: lr=0.00080 huber_loss=0.0106 val_mae=0.0056 kWh val_bias=-0.0015 kWh (-1.7%) combined=0.0040 kWh ema_combined=0.0040 kWh
2026-08-15 04:34:11.051460: ML Predictor: Epoch 11/30: lr=0.00076 huber_loss=0.0096 val_mae=0.0045 kWh val_bias=-0.0002 kWh (-0.3%) combined=0.0026 kWh ema_combined=0.0036 kWh
2026-08-15 04:34:32.945176: ML Predictor: Epoch 12/30: lr=0.00072 huber_loss=0.0089 val_mae=0.0046 kWh val_bias=-0.0010 kWh (-1.1%) combined=0.0023 kWh ema_combined=0.0032 kWh
2026-08-15 04:34:53.379765: ML Predictor: Epoch 13/30: lr=0.00067 huber_loss=0.0084 val_mae=0.0048 kWh val_bias=-0.0020 kWh (-2.2%) combined=0.0034 kWh ema_combined=0.0033 kWh
2026-08-15 04:35:00.355212: --------------- PredBat - update at 2026-08-15 04:35:00+01:00 with clock skew 0 minutes, minutes now 275
2026-08-15 04:35:00.356414: Saved current settings to /config/predbat_config.json
2026-08-15 04:35:00.356640: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 30.0 minutes
2026-08-15 04:35:00.356819: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.1, latest beta is v8.48.1
2026-08-15 04:35:00.357044: Autoupdate: Currently up to date
2026-08-15 04:35:00.396573: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 04:35:00.396724: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 04:35:00.396892: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 04:35:00.397582: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 04:35:00.397722: Predbat mode is set to Control charge & discharge
2026-08-15 04:35:00.939961: Found 21602 load_today datapoints going back 28 days
2026-08-15 04:35:00.940281: Using load_power data to fill gaps in load_today data
2026-08-15 04:35:02.291262: Processing 721 30-minute periods for power integration
2026-08-15 04:35:02.504851: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 04:35:02.506105: Car charging hold False, threshold 6.0kWh
2026-08-15 04:35:02.506282: Current data so far today: load 4.3kWh, import 5.0kWh, export 0.0kWh, PV 0kWh
2026-08-15 04:35:02.531083: Cars: SoC: [12.892000000000001]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 04:35:02.531752: Standing charge is set to 49.98p
2026-08-15 04:35:02.640145: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 04:35:02.640471: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 04:35:02.640832: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 275.0 minutes
2026-08-15 04:35:02.641550: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 274.7 minutes
2026-08-15 04:35:02.645828: Loaded 47 datapoints of futurerate analysis
2026-08-15 04:35:02.924700: Predicted future rates: ['08-15 00:00:00 => 28.9 / 20.01', '08-15 01:00:00 => 27.54 / 19.31', '08-15 02:00:00 => 26.52 / 18.8', '08-15 03:00:00 => 25.99 / 18.53', '08-15 04:00:00 => 25.8 / 18.43', '08-15 05:00:00 => 25.96 / 18.51', '08-15 06:00:00 => 25.55 / 18.3', '08-15 07:00:00 => 24.33 / 17.68', '08-15 08:00:00 => 23.03 / 17.01', '08-15 09:00:00 => 22.05 / 16.51', '08-15 10:00:00 => 20.43 / 15.68', '08-15 11:00:00 => 18.01 / 14.45', '08-15 12:00:00 => 16.37 / 13.61', '08-15 13:00:00 => 15.76 / 13.3', '08-15 14:00:00 => 15.35 / 13.09', '08-15 15:00:00 => 15.86 / 13.35', '08-15 16:00:00 => 32.89 / 16.13', '08-15 17:00:00 => 38.02 / 18.75', '08-15 18:00:00 => 42.36 / 20.96', '08-15 19:00:00 => 31.09 / 21.13', '08-15 20:00:00 => 31.64 / 21.41', '08-15 21:00:00 => 31.64 / 21.41', '08-15 22:00:00 => 30.58 / 20.87']
2026-08-15 04:35:03.004045: Rate min forward looking: now 13.77p at end of forecast 13.77p
2026-08-15 04:35:03.004630: Import rates: min 13.77p, max 43.82p, average 25.96p
2026-08-15 04:35:03.059397: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 04:35:03.059663: Rate thresholds (for charge/export) are import 43.32p (0.0p), export -0.1p (0.0p)
2026-08-15 04:35:03.061199: High export rate found rates in range 99p to -99p
2026-08-15 04:35:03.174410: Low Import rate found rates in range 13.77p to 41.55p
2026-08-15 04:35:03.174576: Car 0 charging is not planned as it is not plugged in
2026-08-15 04:35:03.193880: Battery level now 1.71kWh, -1hr ago 1.6kWh, at midnight 1.66kWh, battery value change in the last hour 1.32p, change today 0.66p, rate_forward 11.83p
2026-08-15 04:35:03.194701: Last hour: net energy 0.74kWh, import 0.74kWh, export 0.0kWh, car 0kWh, load 0.7kWh, net cost 19.53p, import 19.53p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 04:35:03.309857: Today's energy total net 5.0kWh, import 5.0kWh, export 0.0kWh, cost 183.64p, import 133.66p, export 0.0p, carbon 0.0kg
2026-08-15 04:35:03.310035: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 04:35:03.465939: Using weighted-bucket historical load forecast over 14 days
2026-08-15 04:35:03.490409: Today's load divergence 107.13%, in-day adjustment 136.7%, damping 0.95x, yesterday 143.77% today 106.77% blend 80.9%
2026-08-15 04:35:03.490656: Today's predicted so far 3.25kWh with 0.0kWh car/iBoost excluded, 2.17kWh import ignored, and 3.25kWh forecast extra.
2026-08-15 04:35:03.490702: Today's actual load so far 4.45kWh with 0.0kWh car/iBoost excluded, and 2.17kWh import ignored.
2026-08-15 04:35:03.541760: Inverter 0: Type SK Sunsynk
2026-08-15 04:35:03.541859: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 04:35:03.542041: Reserve min: 7%, battery_min: 7%
2026-08-15 04:35:03.542114: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 04:35:03.542399: Inverter 0 SoC: 1.6kW 10%, current charge rate 5000W, current discharge rate 5250W, current battery power 452W, current battery voltage 51.2V, grid power -54W, load power 512W, PV Power 0W
2026-08-15 04:35:03.542564: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 04:35:03.542656: Inverter 0 scheduled charge enable is False
2026-08-15 04:35:03.542694: Inverter 0 charge windows currently []
2026-08-15 04:35:03.542721: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 04:35:03.542833: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 04:35:03.542871: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 04:35:03.542907: Inverter 0 scheduled discharge enable is False
2026-08-15 04:35:03.543069: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 04:35:03.543108: Inverter 0 discharge windows currently []
2026-08-15 04:35:03.543131: Note: Inverter does not support discharge freeze - disabled
2026-08-15 04:35:03.543157: Note: Inverter does not support charge freeze - disabled
2026-08-15 04:35:03.543175: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 04:35:03.649067: Dynamic load last period 0.60kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 04:35:03.649211: Plan was last updated on 2026-08-15 04:30:00+01:00 and is now 5.0 minutes old
2026-08-15 04:35:03.649593: Best charge window [ 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 00:30:00 @ 28.84p 100% ]
2026-08-15 04:35:03.649709: Best export window [  ]
2026-08-15 04:35:03.651032: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 04:35:03.656194: Load divergence over 8.0 hours mean 505.81W, min 269.4W, max 1367.4W, std dev 255.16W, divergence 25.22%
2026-08-15 04:35:03.692374: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 04:35:03.692714: LoadML is_calculating True
2026-08-15 04:35:03.692893: Not using thread pool as LoadML is calculating to avoid lockups
2026-08-15 04:35:03.794433: predict base end_record 08-16 11:35:00, final soc 1.12kWh, metric 827.24p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 05:10:00, load 28.31kWh, PV 0.0kWh
2026-08-15 04:35:04.078987: Battery has 0.58 hours left - now at 1.6kWh
2026-08-15 04:35:04.189921: predict base10 end_record 08-16 11:35:00, final soc 1.12kWh, metric 856.07p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 05:05:00, load 29.46kWh, PV 0.0kWh
2026-08-15 04:35:04.311135: predict best10 end_record 08-16 11:35:00, final soc 1.44kWh, metric 689.05p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 05:05:00, load 29.46kWh, PV 0.0kWh
2026-08-15 04:35:04.490422: predict best end_record 08-16 11:35:00, final soc 1.51kWh, metric 663.26p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 05:10:00, load 28.31kWh, PV 0.0kWh
2026-08-15 04:35:04.490670: Saving plan best values to HA entities
2026-08-15 04:35:04.774459: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 04:35:04.783478: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0.0
2026-08-15 04:35:04.791994: Best charging limit SoC's [16.0, 3.5, 4.0, 16.0, 16.0, 16.0]kWh, export []kWh gives import battery 20.98kWh, house 5.13kWh, export 0.0kWh, metric 663.26p, metric10 689.05p
2026-08-15 04:35:04.941249: Marginal costs baseline metric (no standing charge): 613.2807
2026-08-15 04:35:05.371004: Marginal energy costs matrix computed: min=14.57 max=30.29
2026-08-15 04:35:05.480805: Rate array import [{'start': 275, 'end': 420, 'rate': 'expensive', 'range': '(25.7p - 27.6p)'}, {'start': 420, 'end': 450, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 450, 'end': 480, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 480, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 23.6p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1860, 'rate': 'expensive', 'range': '(24.6p - 32.9p)'}, {'start': 1860, 'end': 1890, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 1890, 'end': 1920, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 1920, 'end': 2135, 'rate': 'cheap', 'range': '(15.5p - 23.6p)'}] export [{'start': 275, 'end': 2135, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 04:35:05.481840: - Your estimated bill for today is £5.95 and tomorrow is £5.41
2026-08-15 04:35:05.481911: - Import rates are expensive (25.7p - 27.6p) for the next 2 and a half hours and then cheap (22.7p) for the next 30 minutes.
2026-08-15 04:35:05.481940: - The battery is currently at 10% and is in eco mode for the next 6  hours.
2026-08-15 04:35:05.482058: - For the next 48 hours there will be no solar generation.
2026-08-15 04:35:05.482110: - You will run out of battery in 35 minutes.
2026-08-15 04:35:05.482205: - Your next charge slot will be in 6  hours where import rates will be cheap (15.5p).
2026-08-15 04:35:05.482269: 
2026-08-15 04:35:05.533610: Plan calculation took 1.88 seconds
2026-08-15 04:35:05.541237: No high rate period found
2026-08-15 04:35:05.650592: Import threshold used for optimisation was 22.92p
2026-08-15 04:35:05.774897: Low import rate windows [0: 08-15 04:30:00 - 08-15 05:00:00 @ 26.47, 1: 08-15 05:00:00 - 08-15 05:30:00 @ 26.25, 2: 08-15 05:30:00 - 08-15 06:00:00 @ 26.4, 3: 08-15 06:00:00 - 08-15 06:30:00 @ 25.7, 4: 08-15 06:30:00 - 08-15 07:00:00 @ 27.63, 5: 08-15 07:00:00 - 08-15 07:30:00 @ 22.73, 6: 08-15 07:30:00 - 08-15 08:00:00 @ 26.7, 7: 08-15 08:00:00 - 08-15 08:30:00 @ 22.92, 8: 08-15 08:30:00 - 08-15 09:00:00 @ 22.48, 9: 08-15 09:00:00 - 08-15 09:30:00 @ 23.55, 10: 08-15 09:30:00 - 08-15 10:00:00 @ 23.64, 11: 08-15 10:00:00 - 08-15 10:30:00 @ 19.66, 12: 08-15 10:30:00 - 08-15 11:00:00 @ 17.66, 13: 08-15 11:00:00 - 08-15 11:30:00 @ 16.56, 14: 08-15 11:30:00 - 08-15 12:00:00 @ 15.46, 15: 08-15 12:00:00 - 08-15 12:30:00 @ 17.0, 16: 08-15 12:30:00 - 08-15 13:00:00 @ 16.34, 17: 08-15 13:00:00 - 08-15 13:30:00 @ 15.36, 18: 08-15 13:30:00 - 08-15 14:00:00 @ 15.74, 19: 08-15 14:00:00 - 08-15 14:30:00 @ 14.57, 20: 08-15 14:30:00 - 08-15 15:00:00 @ 13.77, 21: 08-15 15:00:00 - 08-15 15:30:00 @ 15.02, 22: 08-15 15:30:00 - 08-15 16:00:00 @ 15.87, 23: 08-15 16:00:00 - 08-15 16:30:00 @ 33.13, 24: 08-15 16:30:00 - 08-15 17:00:00 @ 33.13, 25: 08-15 17:00:00 - 08-15 17:30:00 @ 38.46, 26: 08-15 17:30:00 - 08-15 18:00:00 @ 40.44, 27: 08-15 18:00:00 - 08-15 18:30:00 @ 41.55, 28: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 29: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 30: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 31: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 32: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 33: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 34: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 35: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 36: 08-15 23:00:00 - 08-15 23:30:00 @ 27.8, 37: 08-15 23:30:00 - 08-16 00:00:00 @ 29.09, 38: 08-16 00:00:00 - 08-16 00:30:00 @ 28.47, 39: 08-16 00:30:00 - 08-16 01:00:00 @ 27.18, 40: 08-16 01:00:00 - 08-16 01:30:00 @ 27.57, 41: 08-16 01:30:00 - 08-16 02:00:00 @ 26.5, 42: 08-16 02:00:00 - 08-16 02:30:00 @ 25.6, 43: 08-16 02:30:00 - 08-16 03:00:00 @ 24.79, 44: 08-16 03:00:00 - 08-16 03:30:00 @ 25.08, 45: 08-16 03:30:00 - 08-16 04:00:00 @ 24.62, 46: 08-16 04:00:00 - 08-16 04:30:00 @ 27.02, 47: 08-16 04:30:00 - 08-16 05:00:00 @ 26.47, 48: 08-16 05:00:00 - 08-16 05:30:00 @ 26.25, 49: 08-16 05:30:00 - 08-16 06:00:00 @ 26.4, 50: 08-16 06:00:00 - 08-16 06:30:00 @ 25.7, 51: 08-16 06:30:00 - 08-16 07:00:00 @ 27.63, 52: 08-16 07:00:00 - 08-16 07:30:00 @ 22.73, 53: 08-16 07:30:00 - 08-16 08:00:00 @ 26.7, 54: 08-16 08:00:00 - 08-16 08:30:00 @ 22.92, 55: 08-16 08:30:00 - 08-16 09:00:00 @ 22.48, 56: 08-16 09:00:00 - 08-16 09:30:00 @ 23.55, 57: 08-16 09:30:00 - 08-16 10:00:00 @ 23.64, 58: 08-16 10:00:00 - 08-16 10:30:00 @ 19.66, 59: 08-16 10:30:00 - 08-16 11:00:00 @ 17.66, 60: 08-16 11:00:00 - 08-16 11:30:00 @ 16.56, 61: 08-16 11:30:00 - 08-16 12:00:00 @ 15.46, 62: 08-16 12:00:00 - 08-16 12:30:00 @ 17.0, 63: 08-16 12:30:00 - 08-16 13:00:00 @ 16.34, 64: 08-16 13:00:00 - 08-16 13:30:00 @ 15.36, 65: 08-16 13:30:00 - 08-16 14:00:00 @ 15.74, 66: 08-16 14:00:00 - 08-16 14:30:00 @ 14.57, 67: 08-16 14:30:00 - 08-16 15:00:00 @ 13.77, 68: 08-16 15:00:00 - 08-16 15:30:00 @ 15.02, 69: 08-16 15:30:00 - 08-16 16:00:00 @ 15.87, 70: 08-16 16:00:00 - 08-16 16:30:00 @ 33.13, 71: 08-16 16:30:00 - 08-16 17:00:00 @ 33.13, 72: 08-16 17:00:00 - 08-16 17:30:00 @ 38.46, 73: 08-16 17:30:00 - 08-16 18:00:00 @ 40.44, 74: 08-16 18:00:00 - 08-16 18:30:00 @ 41.55, 75: 08-16 19:00:00 - 08-16 19:30:00 @ 32.58, 76: 08-16 19:30:00 - 08-16 20:00:00 @ 32.9, 77: 08-16 20:00:00 - 08-16 20:30:00 @ 31.99, 78: 08-16 20:30:00 - 08-16 21:00:00 @ 32.1, 79: 08-16 21:00:00 - 08-16 21:30:00 @ 31.71, 80: 08-16 21:30:00 - 08-16 22:00:00 @ 31.67, 81: 08-16 22:00:00 - 08-16 22:30:00 @ 31.77, 82: 08-16 22:30:00 - 08-16 23:00:00 @ 29.81, 83: 08-16 23:00:00 - 08-16 23:30:00 @ 27.8, 84: 08-16 23:30:00 - 08-17 00:00:00 @ 29.09, 85: 08-17 00:00:00 - 08-17 00:30:00 @ 28.47, 86: 08-17 00:30:00 - 08-17 01:00:00 @ 27.18, 87: 08-17 01:00:00 - 08-17 01:30:00 @ 27.57, 88: 08-17 01:30:00 - 08-17 02:00:00 @ 26.5, 89: 08-17 02:00:00 - 08-17 02:30:00 @ 25.6, 90: 08-17 02:30:00 - 08-17 03:00:00 @ 24.79, 91: 08-17 03:00:00 - 08-17 03:30:00 @ 25.08, 92: 08-17 03:30:00 - 08-17 04:00:00 @ 24.62, 93: 08-17 04:00:00 - 08-17 04:30:00 @ 27.02, 94: 08-17 04:30:00 - 08-17 05:00:00 @ 26.47]
2026-08-15 04:35:05.786305: Inverter 0 Charge window will be: 2026-08-15 11:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 10%, target 100%
2026-08-15 04:35:05.786489: Inverter 0 disabled charge window while waiting for schedule (now 08-15 04:35:00 target set_window_minutes 30 charge start time 08-15 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 04:35:05.786583: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 04:35:05.786786: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 04:35:05.786868: No export window planned
2026-08-15 04:35:05.786980: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 04:35:05.787017: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 04:35:05.787160: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 04:35:05.787331: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 04:35:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 04:35:05.787387: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 04:35:05.787547: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 04:35:05.787751: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 04:35:05.787823: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 04:35:05.787927: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 04:35:05.787974: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 04:35:05.788075: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 04:35:05.788129: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 04:35:05.792556: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 04:35:05.792834: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 04:35:05.793044: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 04:35:05.793177: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 04:35:05.793311: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 04:35:05.793366: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 04:35:05.793871: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 04:35:05.793962: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 04:35:05.794010: Inverter 0 count register writes 0
2026-08-15 04:35:05.840883: Will not recompute the plan, it is 5.0 minutes old and max age is 10 minutes
2026-08-15 04:35:05.849504: Total inverter register writes now 815
2026-08-15 04:35:05.946181: Info: Completed run status Demand
2026-08-15 04:35:05.957865: Info: record_status Demand
2026-08-15 04:35:05.971042: Saved current settings to /config/predbat_config.json
2026-08-15 04:35:05.971512: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 04:35:18.093504: ML Predictor: Epoch 14/30: lr=0.00062 huber_loss=0.0080 val_mae=0.0044 kWh val_bias=-0.0002 kWh (-0.2%) combined=0.0026 kWh ema_combined=0.0031 kWh
2026-08-15 04:35:38.699611: ML Predictor: Epoch 15/30: lr=0.00057 huber_loss=0.0080 val_mae=0.0055 kWh val_bias=-0.0029 kWh (-3.3%) combined=0.0041 kWh ema_combined=0.0034 kWh
2026-08-15 04:35:42.168441: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 04:35:42.168736: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 04:35:42.168793: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 04:35:42.168999: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 04:35:42.169055: Note: Inverter does not support discharge freeze - disabled
2026-08-15 04:35:42.169082: Note: Inverter does not support charge freeze - disabled
2026-08-15 04:35:42.169107: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 04:35:58.930460: ML Predictor: Epoch 16/30: lr=0.00053 huber_loss=0.0074 val_mae=0.0050 kWh val_bias=-0.0029 kWh (-3.2%) combined=0.0042 kWh ema_combined=0.0036 kWh
2026-08-15 04:36:19.166915: ML Predictor: Epoch 17/30: lr=0.00048 huber_loss=0.0075 val_mae=0.0038 kWh val_bias=+0.0013 kWh (+1.5%) combined=0.0027 kWh ema_combined=0.0034 kWh
2026-08-15 04:36:39.645963: ML Predictor: Epoch 18/30: lr=0.00043 huber_loss=0.0068 val_mae=0.0040 kWh val_bias=-0.0013 kWh (-1.5%) combined=0.0026 kWh ema_combined=0.0031 kWh
2026-08-15 04:37:00.639404: ML Predictor: Epoch 19/30: lr=0.00038 huber_loss=0.0069 val_mae=0.0036 kWh val_bias=+0.0004 kWh (+0.4%) combined=0.0022 kWh ema_combined=0.0028 kWh
2026-08-15 04:37:21.240897: ML Predictor: Epoch 20/30: lr=0.00034 huber_loss=0.0066 val_mae=0.0033 kWh val_bias=-0.0007 kWh (-0.8%) combined=0.0022 kWh ema_combined=0.0027 kWh
2026-08-15 04:37:41.574983: ML Predictor: Epoch 21/30: lr=0.00030 huber_loss=0.0063 val_mae=0.0036 kWh val_bias=-0.0009 kWh (-1.1%) combined=0.0020 kWh ema_combined=0.0025 kWh
2026-08-15 04:37:56.769838: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 04:37:56.770162: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 04:37:56.770218: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 04:37:56.770415: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 04:37:56.770598: Note: Inverter does not support discharge freeze - disabled
2026-08-15 04:37:56.770743: Note: Inverter does not support charge freeze - disabled
2026-08-15 04:37:56.770871: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 04:38:00.486380: ML Predictor: Epoch 22/30: lr=0.00026 huber_loss=0.0065 val_mae=0.0031 kWh val_bias=+0.0004 kWh (+0.5%) combined=0.0019 kWh ema_combined=0.0023 kWh
2026-08-15 04:38:21.011946: ML Predictor: Epoch 23/30: lr=0.00022 huber_loss=0.0062 val_mae=0.0034 kWh val_bias=-0.0010 kWh (-1.1%) combined=0.0022 kWh ema_combined=0.0023 kWh
2026-08-15 04:38:41.936525: ML Predictor: Epoch 24/30: lr=0.00019 huber_loss=0.0064 val_mae=0.0031 kWh val_bias=-0.0004 kWh (-0.4%) combined=0.0018 kWh ema_combined=0.0021 kWh
2026-08-15 04:39:00.781987: ML Predictor: Epoch 25/30: lr=0.00016 huber_loss=0.0055 val_mae=0.0031 kWh val_bias=-0.0009 kWh (-1.0%) combined=0.0023 kWh ema_combined=0.0022 kWh
2026-08-15 04:39:20.440109: ML Predictor: Epoch 26/30: lr=0.00014 huber_loss=0.0056 val_mae=0.0030 kWh val_bias=-0.0004 kWh (-0.4%) combined=0.0017 kWh ema_combined=0.0020 kWh
2026-08-15 04:39:41.032698: ML Predictor: Epoch 27/30: lr=0.00012 huber_loss=0.0056 val_mae=0.0032 kWh val_bias=-0.0007 kWh (-0.8%) combined=0.0019 kWh ema_combined=0.0020 kWh
2026-08-15 04:39:57.165856: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 04:39:57.166188: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 04:39:57.166258: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 04:39:57.166653: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 04:39:57.166716: Note: Inverter does not support discharge freeze - disabled
2026-08-15 04:39:57.166807: Note: Inverter does not support charge freeze - disabled
2026-08-15 04:39:57.166984: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 04:40:00.361319: --------------- PredBat - update at 2026-08-15 04:40:00+01:00 with clock skew 0 minutes, minutes now 280
2026-08-15 04:40:00.362278: Saved current settings to /config/predbat_config.json
2026-08-15 04:40:00.362498: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 35.0 minutes
2026-08-15 04:40:00.363316: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.1, latest beta is v8.48.1
2026-08-15 04:40:00.363589: Autoupdate: Currently up to date
2026-08-15 04:40:00.408655: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 04:40:00.408972: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 04:40:00.409292: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 04:40:00.409945: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 04:40:00.410163: Predbat mode is set to Control charge & discharge
2026-08-15 04:40:00.719086: Found 21602 load_today datapoints going back 28 days
2026-08-15 04:40:00.719327: Using load_power data to fill gaps in load_today data
2026-08-15 04:40:02.146684: Processing 721 30-minute periods for power integration
2026-08-15 04:40:02.365774: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 04:40:02.365938: Car charging hold False, threshold 6.0kWh
2026-08-15 04:40:02.365986: Current data so far today: load 4.5kWh, import 5.0kWh, export 0.0kWh, PV 0kWh
2026-08-15 04:40:02.387869: Cars: SoC: [12.892000000000001]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 04:40:02.388444: Standing charge is set to 49.98p
2026-08-15 04:40:02.541972: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 04:40:02.542213: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 04:40:02.542518: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 280.0 minutes
2026-08-15 04:40:02.543107: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 279.7 minutes
2026-08-15 04:40:02.546608: Loaded 47 datapoints of futurerate analysis
2026-08-15 04:40:02.705992: Predicted future rates: ['08-15 00:00:00 => 28.9 / 20.01', '08-15 01:00:00 => 27.54 / 19.31', '08-15 02:00:00 => 26.52 / 18.8', '08-15 03:00:00 => 25.99 / 18.53', '08-15 04:00:00 => 25.8 / 18.43', '08-15 05:00:00 => 25.96 / 18.51', '08-15 06:00:00 => 25.55 / 18.3', '08-15 07:00:00 => 24.33 / 17.68', '08-15 08:00:00 => 23.03 / 17.01', '08-15 09:00:00 => 22.05 / 16.51', '08-15 10:00:00 => 20.43 / 15.68', '08-15 11:00:00 => 18.01 / 14.45', '08-15 12:00:00 => 16.37 / 13.61', '08-15 13:00:00 => 15.76 / 13.3', '08-15 14:00:00 => 15.35 / 13.09', '08-15 15:00:00 => 15.86 / 13.35', '08-15 16:00:00 => 32.89 / 16.13', '08-15 17:00:00 => 38.02 / 18.75', '08-15 18:00:00 => 42.36 / 20.96', '08-15 19:00:00 => 31.09 / 21.13', '08-15 20:00:00 => 31.64 / 21.41', '08-15 21:00:00 => 31.64 / 21.41', '08-15 22:00:00 => 30.58 / 20.87']
2026-08-15 04:40:02.779780: Rate min forward looking: now 13.77p at end of forecast 13.77p
2026-08-15 04:40:02.780366: Import rates: min 13.77p, max 43.82p, average 25.96p
2026-08-15 04:40:02.838783: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 04:40:02.839038: Rate thresholds (for charge/export) are import 43.32p (0.0p), export -0.1p (0.0p)
2026-08-15 04:40:02.841181: High export rate found rates in range 99p to -99p
2026-08-15 04:40:02.978482: ML Predictor: Epoch 28/30: lr=0.00011 huber_loss=0.0056 val_mae=0.0031 kWh val_bias=-0.0011 kWh (-1.3%) combined=0.0026 kWh ema_combined=0.0022 kWh
2026-08-15 04:40:03.074063: Low Import rate found rates in range 13.77p to 41.55p
2026-08-15 04:40:03.074384: Car 0 charging is not planned as it is not plugged in
2026-08-15 04:40:03.107940: Battery level now 1.6kWh, -1hr ago 1.57kWh, at midnight 1.66kWh, battery value change in the last hour 0.38p, change today -0.66p, rate_forward 11.83p
2026-08-15 04:40:03.108636: Last hour: net energy 0.7kWh, import 0.7kWh, export 0.0kWh, car 0kWh, load 0.85kWh, net cost 18.55p, import 18.55p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 04:40:03.218134: Today's energy total net 5.0kWh, import 5.0kWh, export 0.0kWh, cost 183.64p, import 133.66p, export 0.0p, carbon 0.0kg
2026-08-15 04:40:03.218314: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 04:40:03.329180: Using weighted-bucket historical load forecast over 14 days
2026-08-15 04:40:03.376309: Today's load divergence 107.87%, in-day adjustment 136.71%, damping 0.95x, yesterday 143.77% today 107.48% blend 80.56%
2026-08-15 04:40:03.376455: Today's predicted so far 3.25kWh with 0.0kWh car/iBoost excluded, 2.18kWh import ignored, and 3.25kWh forecast extra.
2026-08-15 04:40:03.376500: Today's actual load so far 4.58kWh with 0.0kWh car/iBoost excluded, and 2.18kWh import ignored.
2026-08-15 04:40:03.459435: Inverter 0: Type SK Sunsynk
2026-08-15 04:40:03.459542: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 04:40:03.459747: Reserve min: 7%, battery_min: 7%
2026-08-15 04:40:03.459822: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 04:40:03.460103: Inverter 0 SoC: 1.55kW 10%, current charge rate 5000W, current discharge rate 5250W, current battery power 473W, current battery voltage 51.2V, grid power -54W, load power 528W, PV Power 0W
2026-08-15 04:40:03.460433: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 04:40:03.460610: Inverter 0 scheduled charge enable is False
2026-08-15 04:40:03.460694: Inverter 0 charge windows currently []
2026-08-15 04:40:03.460769: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 04:40:03.461035: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 04:40:03.461177: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 04:40:03.461340: Inverter 0 scheduled discharge enable is False
2026-08-15 04:40:03.461611: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 04:40:03.461743: Inverter 0 discharge windows currently []
2026-08-15 04:40:03.461850: Note: Inverter does not support discharge freeze - disabled
2026-08-15 04:40:03.461953: Note: Inverter does not support charge freeze - disabled
2026-08-15 04:40:03.462052: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 04:40:03.597203: Dynamic load last period 1.20kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 04:40:03.597346: Plan was last updated on 2026-08-15 04:30:00+01:00 and is now 10.0 minutes old
2026-08-15 04:40:03.597654: Best charge window [ 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 00:30:00 @ 28.84p 100% ]
2026-08-15 04:40:03.597706: Best export window [  ]
2026-08-15 04:40:03.598473: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 04:40:03.601124: Load divergence over 8.0 hours mean 511.85W, min 268.2W, max 1500.0W, std dev 262.26W, divergence 25.62%
2026-08-15 04:40:03.617448: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 04:40:03.617629: LoadML is_calculating True
2026-08-15 04:40:03.617666: Not using thread pool as LoadML is calculating to avoid lockups
2026-08-15 04:40:03.646812: predict base end_record 08-16 11:40:00, final soc 1.12kWh, metric 829.44p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 05:10:00, load 28.59kWh, PV 0.0kWh
2026-08-15 04:40:03.855210: Battery has 0.5 hours left - now at 1.55kWh
2026-08-15 04:40:03.924202: predict base10 end_record 08-16 11:40:00, final soc 1.12kWh, metric 858.28p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 05:10:00, load 29.74kWh, PV 0.0kWh
2026-08-15 04:40:04.063331: predict best10 end_record 08-16 11:40:00, final soc 1.77kWh, metric 696.46p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 05:10:00, load 29.74kWh, PV 0.0kWh
2026-08-15 04:40:04.265448: predict best end_record 08-16 11:40:00, final soc 1.9kWh, metric 671.52p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 05:10:00, load 28.59kWh, PV 0.0kWh
2026-08-15 04:40:04.265566: Saving plan best values to HA entities
2026-08-15 04:40:04.701919: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 04:40:04.710449: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 04:40:04.732687: Best charging limit SoC's [16.0, 3.5, 4.0, 16.0, 16.0, 16.0]kWh, export []kWh gives import battery 21.49kWh, house 5.16kWh, export 0.0kWh, metric 671.52p, metric10 696.46p
2026-08-15 04:40:04.868078: Marginal costs baseline metric (no standing charge): 621.5414
2026-08-15 04:40:05.285350: Marginal energy costs matrix computed: min=14.74 max=30.64
2026-08-15 04:40:05.396026: Rate array import [{'start': 280, 'end': 420, 'rate': 'expensive', 'range': '(25.7p - 27.6p)'}, {'start': 420, 'end': 450, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 450, 'end': 480, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 480, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 23.6p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1860, 'rate': 'expensive', 'range': '(24.6p - 32.9p)'}, {'start': 1860, 'end': 1890, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 1890, 'end': 1920, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 1920, 'end': 2140, 'rate': 'cheap', 'range': '(15.5p - 23.6p)'}] export [{'start': 280, 'end': 2140, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 04:40:05.396711: - Your estimated bill for today is £5.94 and tomorrow is £5.44
2026-08-15 04:40:05.396760: - Import rates are expensive (25.7p - 27.6p) for the next 2 and a quarter hours and then cheap (22.7p) for the next 30 minutes.
2026-08-15 04:40:05.396782: - The battery is currently at 10% and is in eco mode for the next 6 and three quarters hours.
2026-08-15 04:40:05.396800: - For the next 48 hours there will be no solar generation.
2026-08-15 04:40:05.396818: - You will run out of battery in 30 minutes.
2026-08-15 04:40:05.396835: - Your next charge slot will be in 6 and three quarters hours where import rates will be cheap (15.5p).
2026-08-15 04:40:05.396861: 
2026-08-15 04:40:05.438751: Plan calculation took 1.84 seconds
2026-08-15 04:40:05.442062: No high rate period found
2026-08-15 04:40:05.517078: Import threshold used for optimisation was 22.92p
2026-08-15 04:40:05.646334: Low import rate windows [0: 08-15 04:30:00 - 08-15 05:00:00 @ 26.47, 1: 08-15 05:00:00 - 08-15 05:30:00 @ 26.25, 2: 08-15 05:30:00 - 08-15 06:00:00 @ 26.4, 3: 08-15 06:00:00 - 08-15 06:30:00 @ 25.7, 4: 08-15 06:30:00 - 08-15 07:00:00 @ 27.63, 5: 08-15 07:00:00 - 08-15 07:30:00 @ 22.73, 6: 08-15 07:30:00 - 08-15 08:00:00 @ 26.7, 7: 08-15 08:00:00 - 08-15 08:30:00 @ 22.92, 8: 08-15 08:30:00 - 08-15 09:00:00 @ 22.48, 9: 08-15 09:00:00 - 08-15 09:30:00 @ 23.55, 10: 08-15 09:30:00 - 08-15 10:00:00 @ 23.64, 11: 08-15 10:00:00 - 08-15 10:30:00 @ 19.66, 12: 08-15 10:30:00 - 08-15 11:00:00 @ 17.66, 13: 08-15 11:00:00 - 08-15 11:30:00 @ 16.56, 14: 08-15 11:30:00 - 08-15 12:00:00 @ 15.46, 15: 08-15 12:00:00 - 08-15 12:30:00 @ 17.0, 16: 08-15 12:30:00 - 08-15 13:00:00 @ 16.34, 17: 08-15 13:00:00 - 08-15 13:30:00 @ 15.36, 18: 08-15 13:30:00 - 08-15 14:00:00 @ 15.74, 19: 08-15 14:00:00 - 08-15 14:30:00 @ 14.57, 20: 08-15 14:30:00 - 08-15 15:00:00 @ 13.77, 21: 08-15 15:00:00 - 08-15 15:30:00 @ 15.02, 22: 08-15 15:30:00 - 08-15 16:00:00 @ 15.87, 23: 08-15 16:00:00 - 08-15 16:30:00 @ 33.13, 24: 08-15 16:30:00 - 08-15 17:00:00 @ 33.13, 25: 08-15 17:00:00 - 08-15 17:30:00 @ 38.46, 26: 08-15 17:30:00 - 08-15 18:00:00 @ 40.44, 27: 08-15 18:00:00 - 08-15 18:30:00 @ 41.55, 28: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 29: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 30: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 31: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 32: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 33: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 34: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 35: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 36: 08-15 23:00:00 - 08-15 23:30:00 @ 27.8, 37: 08-15 23:30:00 - 08-16 00:00:00 @ 29.09, 38: 08-16 00:00:00 - 08-16 00:30:00 @ 28.47, 39: 08-16 00:30:00 - 08-16 01:00:00 @ 27.18, 40: 08-16 01:00:00 - 08-16 01:30:00 @ 27.57, 41: 08-16 01:30:00 - 08-16 02:00:00 @ 26.5, 42: 08-16 02:00:00 - 08-16 02:30:00 @ 25.6, 43: 08-16 02:30:00 - 08-16 03:00:00 @ 24.79, 44: 08-16 03:00:00 - 08-16 03:30:00 @ 25.08, 45: 08-16 03:30:00 - 08-16 04:00:00 @ 24.62, 46: 08-16 04:00:00 - 08-16 04:30:00 @ 27.02, 47: 08-16 04:30:00 - 08-16 05:00:00 @ 26.47, 48: 08-16 05:00:00 - 08-16 05:30:00 @ 26.25, 49: 08-16 05:30:00 - 08-16 06:00:00 @ 26.4, 50: 08-16 06:00:00 - 08-16 06:30:00 @ 25.7, 51: 08-16 06:30:00 - 08-16 07:00:00 @ 27.63, 52: 08-16 07:00:00 - 08-16 07:30:00 @ 22.73, 53: 08-16 07:30:00 - 08-16 08:00:00 @ 26.7, 54: 08-16 08:00:00 - 08-16 08:30:00 @ 22.92, 55: 08-16 08:30:00 - 08-16 09:00:00 @ 22.48, 56: 08-16 09:00:00 - 08-16 09:30:00 @ 23.55, 57: 08-16 09:30:00 - 08-16 10:00:00 @ 23.64, 58: 08-16 10:00:00 - 08-16 10:30:00 @ 19.66, 59: 08-16 10:30:00 - 08-16 11:00:00 @ 17.66, 60: 08-16 11:00:00 - 08-16 11:30:00 @ 16.56, 61: 08-16 11:30:00 - 08-16 12:00:00 @ 15.46, 62: 08-16 12:00:00 - 08-16 12:30:00 @ 17.0, 63: 08-16 12:30:00 - 08-16 13:00:00 @ 16.34, 64: 08-16 13:00:00 - 08-16 13:30:00 @ 15.36, 65: 08-16 13:30:00 - 08-16 14:00:00 @ 15.74, 66: 08-16 14:00:00 - 08-16 14:30:00 @ 14.57, 67: 08-16 14:30:00 - 08-16 15:00:00 @ 13.77, 68: 08-16 15:00:00 - 08-16 15:30:00 @ 15.02, 69: 08-16 15:30:00 - 08-16 16:00:00 @ 15.87, 70: 08-16 16:00:00 - 08-16 16:30:00 @ 33.13, 71: 08-16 16:30:00 - 08-16 17:00:00 @ 33.13, 72: 08-16 17:00:00 - 08-16 17:30:00 @ 38.46, 73: 08-16 17:30:00 - 08-16 18:00:00 @ 40.44, 74: 08-16 18:00:00 - 08-16 18:30:00 @ 41.55, 75: 08-16 19:00:00 - 08-16 19:30:00 @ 32.58, 76: 08-16 19:30:00 - 08-16 20:00:00 @ 32.9, 77: 08-16 20:00:00 - 08-16 20:30:00 @ 31.99, 78: 08-16 20:30:00 - 08-16 21:00:00 @ 32.1, 79: 08-16 21:00:00 - 08-16 21:30:00 @ 31.71, 80: 08-16 21:30:00 - 08-16 22:00:00 @ 31.67, 81: 08-16 22:00:00 - 08-16 22:30:00 @ 31.77, 82: 08-16 22:30:00 - 08-16 23:00:00 @ 29.81, 83: 08-16 23:00:00 - 08-16 23:30:00 @ 27.8, 84: 08-16 23:30:00 - 08-17 00:00:00 @ 29.09, 85: 08-17 00:00:00 - 08-17 00:30:00 @ 28.47, 86: 08-17 00:30:00 - 08-17 01:00:00 @ 27.18, 87: 08-17 01:00:00 - 08-17 01:30:00 @ 27.57, 88: 08-17 01:30:00 - 08-17 02:00:00 @ 26.5, 89: 08-17 02:00:00 - 08-17 02:30:00 @ 25.6, 90: 08-17 02:30:00 - 08-17 03:00:00 @ 24.79, 91: 08-17 03:00:00 - 08-17 03:30:00 @ 25.08, 92: 08-17 03:30:00 - 08-17 04:00:00 @ 24.62, 93: 08-17 04:00:00 - 08-17 04:30:00 @ 27.02, 94: 08-17 04:30:00 - 08-17 05:00:00 @ 26.47]
2026-08-15 04:40:05.665947: Inverter 0 Charge window will be: 2026-08-15 11:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 10%, target 100%
2026-08-15 04:40:05.666384: Inverter 0 disabled charge window while waiting for schedule (now 08-15 04:40:00 target set_window_minutes 30 charge start time 08-15 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 04:40:05.666645: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 04:40:05.667093: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 04:40:05.667389: No export window planned
2026-08-15 04:40:05.667703: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 04:40:05.667862: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 04:40:05.668407: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 04:40:05.668784: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 04:40:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 04:40:05.669029: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 04:40:05.669352: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 04:40:05.669692: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 04:40:05.669962: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 04:40:05.670207: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 04:40:05.670427: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 04:40:05.670620: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 04:40:05.670815: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 04:40:05.671006: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 04:40:05.671270: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 04:40:05.671473: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 04:40:05.671690: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 04:40:05.671920: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 04:40:05.672114: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 04:40:05.672320: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 04:40:05.672516: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 04:40:05.672661: Inverter 0 count register writes 0
2026-08-15 04:40:05.719774: Will recompute the plan as it is now 10.0 minutes old and will exceed the max age of 10 minutes before the next run
2026-08-15 04:40:05.720524: Recompute is saving previous plan...
2026-08-15 04:40:05.723904: Best charge window [ 15-08 04:30:00 - 15-08 05:00:00 @ 26.47p 0%, 15-08 05:00:00 - 15-08 05:30:00 @ 26.25p 0%, 15-08 05:30:00 - 15-08 06:00:00 @ 26.4p 0%, 15-08 06:00:00 - 15-08 06:30:00 @ 25.7p 0%, 15-08 06:30:00 - 15-08 07:00:00 @ 27.63p 0%, 15-08 07:00:00 - 15-08 07:30:00 @ 22.73p 0%, 15-08 07:30:00 - 15-08 08:00:00 @ 26.7p 0%, 15-08 08:00:00 - 15-08 08:30:00 @ 22.92p 0%, 15-08 08:30:00 - 15-08 09:00:00 @ 22.48p 0%, 15-08 09:00:00 - 15-08 09:30:00 @ 23.55p 0%, 15-08 09:30:00 - 15-08 10:00:00 @ 23.64p 0%, 15-08 10:00:00 - 15-08 10:30:00 @ 19.66p 0%, 15-08 10:30:00 - 15-08 11:00:00 @ 17.66p 0%, 15-08 11:00:00 - 15-08 11:30:00 @ 16.56p 0%, 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 0%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 0%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 0%, 15-08 13:00:00 - 15-08 13:30:00 @ 15.36p 0%, 15-08 13:30:00 - 15-08 14:00:00 @ 15.74p 0%, 15-08 14:00:00 - 15-08 14:30:00 @ 14.57p 0%, 15-08 14:30:00 - 15-08 15:00:00 @ 13.77p 0%, 15-08 15:00:00 - 15-08 15:30:00 @ 15.02p 0%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 0%, 15-08 16:00:00 - 15-08 16:30:00 @ 33.13p 0%, 15-08 16:30:00 - 15-08 17:00:00 @ 33.13p 0%, 15-08 17:00:00 - 15-08 17:30:00 @ 38.46p 0%, 15-08 17:30:00 - 15-08 18:00:00 @ 40.44p 0%, 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 0%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 0%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 0%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 0%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 0%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 27.8p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 29.09p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.47p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.18p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 27.57p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.5p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.6p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 24.79p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 25.08p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 24.62p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 27.02p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.47p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 26.25p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.4p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.7p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 27.63p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 22.73p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 26.7p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 22.92p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 22.48p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 23.55p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 23.64p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 19.66p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 17.66p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 16.56p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 15.46p 0%, 16-08 12:00:00 - 16-08 12:30:00 @ 17.0p 0%, 16-08 12:30:00 - 16-08 13:00:00 @ 16.34p 0%, 16-08 13:00:00 - 16-08 13:30:00 @ 15.36p 0%, 16-08 13:30:00 - 16-08 14:00:00 @ 15.74p 0%, 16-08 14:00:00 - 16-08 14:30:00 @ 14.57p 0%, 16-08 14:30:00 - 16-08 15:00:00 @ 13.77p 0%, 16-08 15:00:00 - 16-08 15:30:00 @ 15.02p 0%, 16-08 15:30:00 - 16-08 16:00:00 @ 15.87p 0%, 16-08 16:00:00 - 16-08 16:30:00 @ 33.13p 0%, 16-08 16:30:00 - 16-08 17:00:00 @ 33.13p 0%, 16-08 17:00:00 - 16-08 17:30:00 @ 38.46p 0%, 16-08 17:30:00 - 16-08 18:00:00 @ 40.44p 0%, 16-08 18:00:00 - 16-08 18:30:00 @ 41.55p 0%, 16-08 19:00:00 - 16-08 19:30:00 @ 32.58p 0%, 16-08 19:30:00 - 16-08 20:00:00 @ 32.9p 0%, 16-08 20:00:00 - 16-08 20:30:00 @ 31.99p 0%, 16-08 20:30:00 - 16-08 21:00:00 @ 32.1p 0%, 16-08 21:00:00 - 16-08 21:30:00 @ 31.71p 0%, 16-08 21:30:00 - 16-08 22:00:00 @ 31.67p 0%, 16-08 22:00:00 - 16-08 22:30:00 @ 31.77p 0%, 16-08 22:30:00 - 16-08 23:00:00 @ 29.81p 0%, 16-08 23:00:00 - 16-08 23:30:00 @ 27.8p 0%, 16-08 23:30:00 - 17-08 00:00:00 @ 29.09p 0%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.47p 0%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.18p 0%, 17-08 01:00:00 - 17-08 01:30:00 @ 27.57p 0%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.5p 0%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.6p 0%, 17-08 02:30:00 - 17-08 03:00:00 @ 24.79p 0%, 17-08 03:00:00 - 17-08 03:30:00 @ 25.08p 0%, 17-08 03:30:00 - 17-08 04:00:00 @ 24.62p 0%, 17-08 04:00:00 - 17-08 04:30:00 @ 27.02p 0%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.47p 0% ]
2026-08-15 04:40:05.724050: Best export window [  ]
2026-08-15 04:40:05.724898: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 04:40:05.728725: Load divergence over 8.0 hours mean 511.85W, min 268.2W, max 1500.0W, std dev 262.26W, divergence 25.62%
2026-08-15 04:40:05.749383: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 04:40:05.749647: LoadML is_calculating True
2026-08-15 04:40:05.749682: Not using thread pool as LoadML is calculating to avoid lockups
2026-08-15 04:40:05.757144: Calculate Best options: mode(Control charge & discharge), calculate_export_oncharge(False), calculate_export_on_pv(True), set_export_freeze_only(False), set_discharge_during_charge(True), combine_charge_slots(False), combine_export_slots(False), combine_rate_threshold(0.0), best_soc_min(0.0 kWh), best_soc_max(0.0 kWh), best_soc_keep(0.0 kWh), inverter_loss(4%), battery_loss(3%), battery_loss_discharge (3%), inverter_hybrid(True), metric_min_improvement(0.0p), metric_min_improvement_export(0.1p), metric_min_improvement_export_freeze(0.1p), metric_battery_cycle(0.0p/kWh), metric_battery_value_scaling(1.0 x) 
2026-08-15 04:40:05.758390: Optimise levels pass started at 2026-08-15 04:40:05
2026-08-15 04:40:05.758557: Optimise all windows, total charge 94 export 1
2026-08-15 04:40:13.014697: >> Region optimisation pass width 960 gives best_metric 806.94p, best_cost 812.78p, best_cycle 53.66kWh, best_import 39.49kWh
2026-08-15 04:40:14.297207: >> Region optimisation pass width 480 gives best_metric 806.94p, best_cost 812.78p, best_cycle 53.66kWh, best_import 39.49kWh
2026-08-15 04:40:15.582171: >> Region optimisation pass width 240 gives best_metric 806.94p, best_cost 812.78p, best_cycle 53.66kWh, best_import 39.49kWh
2026-08-15 04:40:19.092060: >> Region optimisation pass width 120 gives best_metric 806.94p, best_cost 812.78p, best_cycle 53.66kWh, best_import 39.49kWh
2026-08-15 04:40:19.093413: Calculated end_record as 08-16 11:30:00 based on best_price 16.34p, next_charge_start 08-15 11:30:00, max_windows 61
2026-08-15 04:40:19.093642: Optimise levels pass ended at 2026-08-15 04:40:19, duration 13.3 seconds tried 313 combinations
2026-08-15 04:40:19.093793: Set best_price_charge_level 17.6p, best_price_export_level 0p, best_price_charge 16.34p, best_cost_export 0p, best_metric 806.94p, best_keep 0kWh, best_cycle 53.66kWh, best_carbon 0kg, best_import 39.49kWh
2026-08-15 04:40:19.141682: Starting detailed optimisation end_record 08-16 11:30:00, best_price_charge 16.34p, best_price_export 0p. lowest_price_charge 13.77p with charge limits [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0]kWh and export limits []kWh
2026-08-15 04:40:43.131123: Tweak plan optimisation started metric 596.43p, cost 605.67p
2026-08-15 04:40:43.783612: Tweak optimisation finished metric 596.43p, cost 605.67p, metric_keep 0kWh, cycle 30.19kWh, carbon 0kg, import 25.62kWh, changed 8 window(s)
2026-08-15 04:40:43.804207: Swap charge optimisation started metric 596.43p, cost 605.67p, min_improvement_swap 0.1p
2026-08-15 04:40:53.593169: Swap charge optimisation finished metric 596.43p, cost 605.67p
2026-08-15 04:40:53.919145: Pruned 2 dead plan slot(s) in 11 trial(s), nominal metric 592.42p -> 592.42p, plan now metric 596.46p, cost 605.67p, cycle 30.19kWh, import 25.62kWh
2026-08-15 04:40:53.932448: Raw charge windows [ 15-08 04:30:00 - 15-08 05:00:00 @ 26.47p 0%, 15-08 05:00:00 - 15-08 05:30:00 @ 26.25p 0%, 15-08 05:30:00 - 15-08 06:00:00 @ 26.4p 0%, 15-08 06:00:00 - 15-08 06:30:00 @ 25.7p 0%, 15-08 06:30:00 - 15-08 07:00:00 @ 27.63p 0%, 15-08 07:00:00 - 15-08 07:30:00 @ 22.73p 0%, 15-08 07:30:00 - 15-08 08:00:00 @ 26.7p 0%, 15-08 08:00:00 - 15-08 08:30:00 @ 22.92p 0%, 15-08 08:30:00 - 15-08 09:00:00 @ 22.48p 0%, 15-08 09:00:00 - 15-08 09:30:00 @ 23.55p 0%, 15-08 09:30:00 - 15-08 10:00:00 @ 23.64p 0%, 15-08 10:00:00 - 15-08 10:30:00 @ 19.66p 0%, 15-08 10:30:00 - 15-08 11:00:00 @ 17.66p 0%, 15-08 11:00:00 - 15-08 11:30:00 @ 16.56p 0%, 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 13:30:00 @ 15.36p 100%, 15-08 13:30:00 - 15-08 14:00:00 @ 15.74p 100%, 15-08 14:00:00 - 15-08 14:30:00 @ 14.57p 100%, 15-08 14:30:00 - 15-08 15:00:00 @ 13.77p 100%, 15-08 15:00:00 - 15-08 15:30:00 @ 15.02p 100%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 100%, 15-08 16:00:00 - 15-08 16:30:00 @ 33.13p 0%, 15-08 16:30:00 - 15-08 17:00:00 @ 33.13p 0%, 15-08 17:00:00 - 15-08 17:30:00 @ 38.46p 0%, 15-08 17:30:00 - 15-08 18:00:00 @ 40.44p 0%, 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 0%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 0%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 0%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 0%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 0%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 27.8p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 29.09p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.47p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.18p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 27.57p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.5p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.6p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 24.79p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 25.08p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 24.62p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 27.02p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.47p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 26.25p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.4p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.7p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 27.63p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 22.73p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 26.7p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 22.92p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 22.48p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 23.55p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 23.64p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 19.66p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 17.66p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 16.56p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 15.46p 100%, 16-08 12:00:00 - 16-08 12:30:00 @ 17.0p 100%, 16-08 12:30:00 - 16-08 13:00:00 @ 16.34p 100%, 16-08 13:00:00 - 16-08 13:30:00 @ 15.36p 100%, 16-08 13:30:00 - 16-08 14:00:00 @ 15.74p 100%, 16-08 14:00:00 - 16-08 14:30:00 @ 14.57p 100%, 16-08 14:30:00 - 16-08 15:00:00 @ 13.77p 100%, 16-08 15:00:00 - 16-08 15:30:00 @ 15.02p 100%, 16-08 15:30:00 - 16-08 16:00:00 @ 15.87p 100%, 16-08 16:00:00 - 16-08 16:30:00 @ 33.13p 100%, 16-08 16:30:00 - 16-08 17:00:00 @ 33.13p 100%, 16-08 17:00:00 - 16-08 17:30:00 @ 38.46p 100%, 16-08 17:30:00 - 16-08 18:00:00 @ 40.44p 100%, 16-08 18:00:00 - 16-08 18:30:00 @ 41.55p 100%, 16-08 19:00:00 - 16-08 19:30:00 @ 32.58p 100%, 16-08 19:30:00 - 16-08 20:00:00 @ 32.9p 100%, 16-08 20:00:00 - 16-08 20:30:00 @ 31.99p 100%, 16-08 20:30:00 - 16-08 21:00:00 @ 32.1p 100%, 16-08 21:00:00 - 16-08 21:30:00 @ 31.71p 100%, 16-08 21:30:00 - 16-08 22:00:00 @ 31.67p 100%, 16-08 22:00:00 - 16-08 22:30:00 @ 31.77p 100%, 16-08 22:30:00 - 16-08 23:00:00 @ 29.81p 100%, 16-08 23:00:00 - 16-08 23:30:00 @ 27.8p 100%, 16-08 23:30:00 - 17-08 00:00:00 @ 29.09p 100%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.47p 100%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.18p 100%, 17-08 01:00:00 - 17-08 01:30:00 @ 27.57p 100%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.5p 100%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.6p 100%, 17-08 02:30:00 - 17-08 03:00:00 @ 24.79p 100%, 17-08 03:00:00 - 17-08 03:30:00 @ 25.08p 100%, 17-08 03:30:00 - 17-08 04:00:00 @ 24.62p 100%, 17-08 04:00:00 - 17-08 04:30:00 @ 27.02p 100%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.47p 100% ] reserve 1.12
2026-08-15 04:40:53.933160: Unclipped charge windows [ 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 05:00:00 @ 26.23p 100% ] reserve 1.12
2026-08-15 04:40:53.933482: Unfiltered charge windows [ 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 05:00:00 @ 26.23p 100% ] reserve 1.12
2026-08-15 04:40:53.933811: Filtered charge windows [ 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 05:00:00 @ 26.23p 100% ] reserve 1.12
2026-08-15 04:40:53.978778: Previous plan best metric is 596.46 (cost 605.67) and new plan best metric is 596.43 (cost 605.67)
2026-08-15 04:40:53.979014: New plan metric is not significantly better (metric_min_improvement_plan 2.0) than previous plan, using previous plan
2026-08-15 04:40:53.979137: Plan valid is now true after recompute was False
2026-08-15 04:40:54.015507: predict base end_record 08-16 11:30:00, final soc 1.12kWh, metric 826.45p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 05:10:00, load 28.4kWh, PV 0.0kWh
2026-08-15 04:40:54.245505: Battery has 0.5 hours left - now at 1.55kWh
2026-08-15 04:40:54.305737: predict base10 end_record 08-16 11:30:00, final soc 1.12kWh, metric 855.14p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 05:10:00, load 29.54kWh, PV 0.0kWh
2026-08-15 04:40:54.477145: predict best10 end_record 08-16 11:30:00, final soc 1.12kWh, metric 682.6p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 05:10:00, load 29.54kWh, PV 0.0kWh
2026-08-15 04:40:54.683041: predict best end_record 08-16 11:30:00, final soc 1.12kWh, metric 655.65p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 05:10:00, load 28.4kWh, PV 0.0kWh
2026-08-15 04:40:54.683151: Saving plan best values to HA entities
2026-08-15 04:40:55.118762: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 04:40:55.139183: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 04:40:55.157012: Best charging limit SoC's [16.0, 3.5, 4.0, 16.0, 16.0, 16.0]kWh, export []kWh gives import battery 20.46kWh, house 5.16kWh, export 0.0kWh, metric 655.65p, metric10 682.6p
2026-08-15 04:40:55.364263: Marginal costs baseline metric (no standing charge): 605.6676
2026-08-15 04:40:55.798991: Marginal energy costs matrix computed: min=14.74 max=30.64
2026-08-15 04:40:55.974340: Rate array import [{'start': 280, 'end': 420, 'rate': 'expensive', 'range': '(25.7p - 27.6p)'}, {'start': 420, 'end': 450, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 450, 'end': 480, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 480, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 23.6p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1860, 'rate': 'expensive', 'range': '(24.6p - 32.9p)'}, {'start': 1860, 'end': 1890, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 1890, 'end': 1920, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 1920, 'end': 2130, 'rate': 'cheap', 'range': '(16.6p - 23.6p)'}] export [{'start': 280, 'end': 2130, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 04:40:55.975831: - Your estimated bill for today is £5.94 and tomorrow is £5.44
2026-08-15 04:40:55.976458: - Import rates are expensive (25.7p - 27.6p) for the next 2 and a quarter hours and then cheap (22.7p) for the next 30 minutes.
2026-08-15 04:40:55.976666: - The battery is currently at 10% and is in eco mode for the next 6 and three quarters hours.
2026-08-15 04:40:55.976848: - For the next 48 hours there will be no solar generation.
2026-08-15 04:40:55.977075: - You will run out of battery in 30 minutes.
2026-08-15 04:40:55.977128: - Your next charge slot will be in 6 and three quarters hours where import rates will be cheap (15.5p).
2026-08-15 04:40:55.977153: 
2026-08-15 04:40:56.042499: Plan calculation took 50.32 seconds
2026-08-15 04:40:56.042788: Inverter 0: Type SK Sunsynk
2026-08-15 04:40:56.042833: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 04:40:56.043031: Reserve min: 7%, battery_min: 7%
2026-08-15 04:40:56.043104: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 04:40:56.043400: Inverter 0 SoC: 1.44kW 9%, current charge rate 5000W, current discharge rate 5250W, current battery power 477W, current battery voltage 51.2V, grid power -52W, load power 532W, PV Power 0W
2026-08-15 04:40:56.043568: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 04:40:56.043663: Inverter 0 scheduled charge enable is False
2026-08-15 04:40:56.043693: Inverter 0 charge windows currently []
2026-08-15 04:40:56.043719: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 04:40:56.043822: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 04:40:56.043865: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 04:40:56.043903: Inverter 0 scheduled discharge enable is False
2026-08-15 04:40:56.044038: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 04:40:56.044077: Inverter 0 discharge windows currently []
2026-08-15 04:40:56.044106: Note: Inverter does not support discharge freeze - disabled
2026-08-15 04:40:56.044126: Note: Inverter does not support charge freeze - disabled
2026-08-15 04:40:56.046554: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 04:40:56.161534: Inverter 0 Charge window will be: 2026-08-15 11:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 9%, target 100%
2026-08-15 04:40:56.161708: Inverter 0 disabled charge window while waiting for schedule (now 08-15 04:40:00 target set_window_minutes 30 charge start time 08-15 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 04:40:56.161794: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 04:40:56.162048: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 04:40:56.162146: No export window planned
2026-08-15 04:40:56.162299: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 04:40:56.162374: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 04:40:56.162670: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 04:40:56.162933: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 04:40:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 04:40:56.163003: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 04:40:56.163192: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 04:40:56.163436: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 04:40:56.163507: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 04:40:56.163651: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 04:40:56.163746: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 04:40:56.163843: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 04:40:56.163938: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 04:40:56.164033: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 04:40:56.164180: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 04:40:56.164256: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 04:40:56.164398: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 04:40:56.164490: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 04:40:56.164586: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 04:40:56.164676: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 04:40:56.164733: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 04:40:56.164826: Inverter 0 count register writes 0
2026-08-15 04:40:56.209179: Total inverter register writes now 815
2026-08-15 04:40:56.307817: Info: Completed run status Demand
2026-08-15 04:40:56.341618: Info: record_status Demand
2026-08-15 04:40:56.360114: Saved current settings to /config/predbat_config.json
2026-08-15 04:40:56.360380: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 04:40:59.390084: ML Predictor: Epoch 29/30: lr=0.00010 huber_loss=0.0053 val_mae=0.0030 kWh val_bias=-0.0004 kWh (-0.5%) combined=0.0017 kWh ema_combined=0.0020 kWh
2026-08-15 04:41:20.976105: ML Predictor: Epoch 30/30: lr=0.00010 huber_loss=0.0057 val_mae=0.0030 kWh val_bias=-0.0006 kWh (-0.7%) combined=0.0017 kWh ema_combined=0.0019 kWh
2026-08-15 04:41:20.983257: ML Predictor: Restored best weights from epoch with val_mae=0.0030 kWh val_bias=-0.0006 kWh (-0.7%)
2026-08-15 04:41:20.983612: ML Predictor: Training complete, final val_mae=0.0030 kWh val_bias=-0.0006 kWh (-0.7%)
2026-08-15 04:41:22.474994: ML Predictor: AR rollout over holdout: ar_mae=0.0033 kWh ar_bias=-0.0005 kWh (-0.5%) [drift vs teacher-forced: +0.0004 kWh]
2026-08-15 04:41:22.481754: ML Predictor: Curriculum pass 4/5 complete, val_mae=0.0030 kWh
2026-08-15 04:41:22.485042: ML Predictor: Curriculum final pass 5/5: full dataset (56.6 days)
2026-08-15 04:41:22.485130: ML Predictor: Starting fine-tune training with 30 epochs
2026-08-15 04:41:23.321912: ML Predictor: Creating dataset with 1359 hours of training data, 48 hours validation
2026-08-15 04:41:27.114475: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 04:41:27.120060: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 04:41:27.125343: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 04:41:27.130807: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 04:41:27.136115: Note: Inverter does not support discharge freeze - disabled
2026-08-15 04:41:27.146474: Note: Inverter does not support charge freeze - disabled
2026-08-15 04:41:27.151717: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 04:41:28.580759: ML Predictor: Created 16024 training samples, 576 validation samples
2026-08-15 04:41:28.629548: ML Predictor: Normalization stats [ema-update alpha=0.1] target(mean=0.0587 std=0.0470) load(mean=0.0590 std=0.0472) pv(mean=0.0000 std=0.0100) temp(mean=19.5433 std=4.4433) import_rate(mean=25.5212 std=2.4786) export_rate(mean=0.0000 std=1.0000) time(mean=-0.1910 std=0.5243)
2026-08-15 04:41:28.712586: ML Predictor: Applied EMA normalization update (alpha=0.1) to track feature drift
2026-08-15 04:41:28.730629: ML Predictor: Reset Adam optimiser state for fine-tuning
2026-08-15 04:41:28.781945: ML Predictor: Baseline (pre-finetune) val_mae=0.0074 kWh val_bias=-0.0025 kWh
2026-08-15 04:41:51.287196: ML Predictor: Epoch 1/30: lr=0.00100 huber_loss=0.0125 val_mae=0.0078 kWh val_bias=-0.0004 kWh (-0.4%) combined=0.0049 kWh ema_combined=0.0049 kWh
2026-08-15 04:42:11.140544: ML Predictor: Epoch 2/30: lr=0.00100 huber_loss=0.0125 val_mae=0.0088 kWh val_bias=+0.0023 kWh (+2.5%) combined=0.0060 kWh ema_combined=0.0052 kWh
2026-08-15 04:42:32.041722: ML Predictor: Epoch 3/30: lr=0.00099 huber_loss=0.0130 val_mae=0.0072 kWh val_bias=-0.0002 kWh (-0.3%) combined=0.0041 kWh ema_combined=0.0049 kWh
2026-08-15 04:42:52.199611: ML Predictor: Epoch 4/30: lr=0.00098 huber_loss=0.0147 val_mae=0.0097 kWh val_bias=+0.0012 kWh (+1.3%) combined=0.0060 kWh ema_combined=0.0052 kWh
2026-08-15 04:43:12.750002: ML Predictor: Epoch 5/30: lr=0.00096 huber_loss=0.0173 val_mae=0.0081 kWh val_bias=-0.0040 kWh (-4.4%) combined=0.0061 kWh ema_combined=0.0055 kWh
2026-08-15 04:43:27.348154: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 04:43:27.348495: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 04:43:27.348552: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 04:43:27.348726: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 04:43:27.348775: Note: Inverter does not support discharge freeze - disabled
2026-08-15 04:43:27.348804: Note: Inverter does not support charge freeze - disabled
2026-08-15 04:43:27.348830: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 04:43:32.568427: ML Predictor: Epoch 6/30: lr=0.00094 huber_loss=0.0164 val_mae=0.0075 kWh val_bias=-0.0026 kWh (-2.8%) combined=0.0066 kWh ema_combined=0.0058 kWh
2026-08-15 04:43:52.983513: ML Predictor: Epoch 7/30: lr=0.00091 huber_loss=0.0138 val_mae=0.0081 kWh val_bias=-0.0003 kWh (-0.3%) combined=0.0043 kWh ema_combined=0.0054 kWh
2026-08-15 04:44:13.932030: ML Predictor: Epoch 8/30: lr=0.00088 huber_loss=0.0124 val_mae=0.0063 kWh val_bias=-0.0001 kWh (-0.1%) combined=0.0031 kWh ema_combined=0.0047 kWh
2026-08-15 04:44:36.317093: ML Predictor: Epoch 9/30: lr=0.00084 huber_loss=0.0103 val_mae=0.0065 kWh val_bias=+0.0009 kWh (+0.9%) combined=0.0041 kWh ema_combined=0.0045 kWh
2026-08-15 04:44:56.592295: ML Predictor: Epoch 10/30: lr=0.00080 huber_loss=0.0099 val_mae=0.0062 kWh val_bias=-0.0029 kWh (-3.2%) combined=0.0047 kWh ema_combined=0.0046 kWh
2026-08-15 04:45:00.742870: --------------- PredBat - update at 2026-08-15 04:45:00+01:00 with clock skew 0 minutes, minutes now 285
2026-08-15 04:45:00.743826: Saved current settings to /config/predbat_config.json
2026-08-15 04:45:00.743955: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 40.0 minutes
2026-08-15 04:45:00.744154: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.1, latest beta is v8.48.1
2026-08-15 04:45:00.744316: Autoupdate: Currently up to date
2026-08-15 04:45:00.796848: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 04:45:00.797049: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 04:45:00.797320: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 04:45:00.797971: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 04:45:00.798136: Predbat mode is set to Control charge & discharge
2026-08-15 04:45:01.231089: Found 21602 load_today datapoints going back 28 days
2026-08-15 04:45:01.231328: Using load_power data to fill gaps in load_today data
2026-08-15 04:45:02.402086: Processing 721 30-minute periods for power integration
2026-08-15 04:45:02.643070: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 04:45:02.643299: Car charging hold False, threshold 6.0kWh
2026-08-15 04:45:02.643376: Current data so far today: load 4.6kWh, import 5.0kWh, export 0.0kWh, PV 0kWh
2026-08-15 04:45:02.667370: Cars: SoC: [12.892000000000001]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 04:45:02.668070: Standing charge is set to 49.98p
2026-08-15 04:45:02.802704: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 04:45:02.802840: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 04:45:02.803083: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 285.0 minutes
2026-08-15 04:45:02.803685: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 284.7 minutes
2026-08-15 04:45:02.807980: Loaded 47 datapoints of futurerate analysis
2026-08-15 04:45:02.954543: Predicted future rates: ['08-15 00:00:00 => 28.9 / 20.01', '08-15 01:00:00 => 27.54 / 19.31', '08-15 02:00:00 => 26.52 / 18.8', '08-15 03:00:00 => 25.99 / 18.53', '08-15 04:00:00 => 25.8 / 18.43', '08-15 05:00:00 => 25.96 / 18.51', '08-15 06:00:00 => 25.55 / 18.3', '08-15 07:00:00 => 24.33 / 17.68', '08-15 08:00:00 => 23.03 / 17.01', '08-15 09:00:00 => 22.05 / 16.51', '08-15 10:00:00 => 20.43 / 15.68', '08-15 11:00:00 => 18.01 / 14.45', '08-15 12:00:00 => 16.37 / 13.61', '08-15 13:00:00 => 15.76 / 13.3', '08-15 14:00:00 => 15.35 / 13.09', '08-15 15:00:00 => 15.86 / 13.35', '08-15 16:00:00 => 32.89 / 16.13', '08-15 17:00:00 => 38.02 / 18.75', '08-15 18:00:00 => 42.36 / 20.96', '08-15 19:00:00 => 31.09 / 21.13', '08-15 20:00:00 => 31.64 / 21.41', '08-15 21:00:00 => 31.64 / 21.41', '08-15 22:00:00 => 30.58 / 20.87']
2026-08-15 04:45:03.026372: Rate min forward looking: now 13.77p at end of forecast 13.77p
2026-08-15 04:45:03.026836: Import rates: min 13.77p, max 43.82p, average 25.96p
2026-08-15 04:45:03.092900: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 04:45:03.093365: Rate thresholds (for charge/export) are import 43.32p (0.0p), export -0.1p (0.0p)
2026-08-15 04:45:03.095332: High export rate found rates in range 99p to -99p
2026-08-15 04:45:03.231689: Low Import rate found rates in range 13.77p to 41.55p
2026-08-15 04:45:03.232417: Car 0 charging is not planned as it is not plugged in
2026-08-15 04:45:03.266941: Battery level now 1.55kWh, -1hr ago 1.57kWh, at midnight 1.66kWh, battery value change in the last hour -0.19p, change today -1.23p, rate_forward 11.83p
2026-08-15 04:45:03.267486: Last hour: net energy 0.66kWh, import 0.66kWh, export 0.0kWh, car 0kWh, load 0.9kWh, net cost 17.56p, import 17.56p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 04:45:03.402292: Today's energy total net 5.0kWh, import 5.0kWh, export 0.0kWh, cost 183.64p, import 133.66p, export 0.0p, carbon 0.0kg
2026-08-15 04:45:03.402603: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 04:45:03.542592: Using weighted-bucket historical load forecast over 14 days
2026-08-15 04:45:03.565848: Today's load divergence 108.15%, in-day adjustment 136.64%, damping 0.95x, yesterday 143.77% today 107.74% blend 80.21%
2026-08-15 04:45:03.566151: Today's predicted so far 3.25kWh with 0.0kWh car/iBoost excluded, 2.2kWh import ignored, and 3.25kWh forecast extra.
2026-08-15 04:45:03.566198: Today's actual load so far 4.63kWh with 0.0kWh car/iBoost excluded, and 2.2kWh import ignored.
2026-08-15 04:45:03.638525: Inverter 0: Type SK Sunsynk
2026-08-15 04:45:03.638625: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 04:45:03.638808: Reserve min: 7%, battery_min: 7%
2026-08-15 04:45:03.638881: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 04:45:03.639146: Inverter 0 SoC: 1.44kW 9%, current charge rate 5000W, current discharge rate 5250W, current battery power 258W, current battery voltage 51.2V, grid power -54W, load power 314W, PV Power 0W
2026-08-15 04:45:03.639322: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 04:45:03.639417: Inverter 0 scheduled charge enable is False
2026-08-15 04:45:03.639455: Inverter 0 charge windows currently []
2026-08-15 04:45:03.639482: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 04:45:03.639585: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 04:45:03.639623: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 04:45:03.639658: Inverter 0 scheduled discharge enable is False
2026-08-15 04:45:03.639780: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 04:45:03.639819: Inverter 0 discharge windows currently []
2026-08-15 04:45:03.639842: Note: Inverter does not support discharge freeze - disabled
2026-08-15 04:45:03.639860: Note: Inverter does not support charge freeze - disabled
2026-08-15 04:45:03.639886: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 04:45:03.785600: Dynamic load last period 1.20kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 04:45:03.785724: Plan was last updated on 2026-08-15 04:40:00+01:00 and is now 5.0 minutes old
2026-08-15 04:45:03.785999: Best charge window [ 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 00:30:00 @ 28.84p 100% ]
2026-08-15 04:45:03.786046: Best export window [  ]
2026-08-15 04:45:03.786844: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 04:45:03.790043: Load divergence over 8.0 hours mean 518.01W, min 226.2W, max 1777.8W, std dev 306.48W, divergence 29.58%
2026-08-15 04:45:03.836098: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 04:45:03.836354: LoadML is_calculating True
2026-08-15 04:45:03.836461: Not using thread pool as LoadML is calculating to avoid lockups
2026-08-15 04:45:03.875612: predict base end_record 08-16 11:35:00, final soc 1.12kWh, metric 829.64p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 05:05:00, load 28.56kWh, PV 0.0kWh
2026-08-15 04:45:04.150392: Battery has 0.33 hours left - now at 1.44kWh
2026-08-15 04:45:04.206958: predict base10 end_record 08-16 11:35:00, final soc 1.12kWh, metric 858.39p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 05:05:00, load 29.7kWh, PV 0.0kWh
2026-08-15 04:45:04.411040: predict best10 end_record 08-16 11:35:00, final soc 1.44kWh, metric 691.05p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 05:05:00, load 29.7kWh, PV 0.0kWh
2026-08-15 04:45:04.536185: predict best end_record 08-16 11:35:00, final soc 1.51kWh, metric 665.04p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 05:05:00, load 28.56kWh, PV 0.0kWh
2026-08-15 04:45:04.536320: Saving plan best values to HA entities
2026-08-15 04:45:04.862373: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 04:45:04.886256: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0.0
2026-08-15 04:45:04.894149: Best charging limit SoC's [16.0, 3.5, 4.0, 16.0, 16.0, 16.0]kWh, export []kWh gives import battery 20.98kWh, house 5.22kWh, export 0.0kWh, metric 665.04p, metric10 691.05p
2026-08-15 04:45:05.049809: Marginal costs baseline metric (no standing charge): 615.0551
2026-08-15 04:45:05.485833: Marginal energy costs matrix computed: min=14.92 max=30.99
2026-08-15 04:45:05.653621: Rate array import [{'start': 285, 'end': 420, 'rate': 'expensive', 'range': '(25.7p - 27.6p)'}, {'start': 420, 'end': 450, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 450, 'end': 480, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 480, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 23.6p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1860, 'rate': 'expensive', 'range': '(24.6p - 32.9p)'}, {'start': 1860, 'end': 1890, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 1890, 'end': 1920, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 1920, 'end': 2135, 'rate': 'cheap', 'range': '(15.5p - 23.6p)'}] export [{'start': 285, 'end': 2135, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 04:45:05.654769: - Your estimated bill for today is £5.95 and tomorrow is £5.46
2026-08-15 04:45:05.654832: - Import rates are expensive (25.7p - 27.6p) for the next 2 and a quarter hours and then cheap (22.7p) for the next 30 minutes.
2026-08-15 04:45:05.654862: - The battery is currently at 9% and is in eco mode for the next 6 and three quarters hours.
2026-08-15 04:45:05.655003: - For the next 48 hours there will be no solar generation.
2026-08-15 04:45:05.655052: - You will run out of battery in 20 minutes.
2026-08-15 04:45:05.655078: - Your next charge slot will be in 6 and three quarters hours where import rates will be cheap (15.5p).
2026-08-15 04:45:05.655210: 
2026-08-15 04:45:05.733535: Plan calculation took 1.95 seconds
2026-08-15 04:45:05.737014: No high rate period found
2026-08-15 04:45:05.811809: Import threshold used for optimisation was 22.92p
2026-08-15 04:45:05.906242: Low import rate windows [0: 08-15 04:30:00 - 08-15 05:00:00 @ 26.47, 1: 08-15 05:00:00 - 08-15 05:30:00 @ 26.25, 2: 08-15 05:30:00 - 08-15 06:00:00 @ 26.4, 3: 08-15 06:00:00 - 08-15 06:30:00 @ 25.7, 4: 08-15 06:30:00 - 08-15 07:00:00 @ 27.63, 5: 08-15 07:00:00 - 08-15 07:30:00 @ 22.73, 6: 08-15 07:30:00 - 08-15 08:00:00 @ 26.7, 7: 08-15 08:00:00 - 08-15 08:30:00 @ 22.92, 8: 08-15 08:30:00 - 08-15 09:00:00 @ 22.48, 9: 08-15 09:00:00 - 08-15 09:30:00 @ 23.55, 10: 08-15 09:30:00 - 08-15 10:00:00 @ 23.64, 11: 08-15 10:00:00 - 08-15 10:30:00 @ 19.66, 12: 08-15 10:30:00 - 08-15 11:00:00 @ 17.66, 13: 08-15 11:00:00 - 08-15 11:30:00 @ 16.56, 14: 08-15 11:30:00 - 08-15 12:00:00 @ 15.46, 15: 08-15 12:00:00 - 08-15 12:30:00 @ 17.0, 16: 08-15 12:30:00 - 08-15 13:00:00 @ 16.34, 17: 08-15 13:00:00 - 08-15 13:30:00 @ 15.36, 18: 08-15 13:30:00 - 08-15 14:00:00 @ 15.74, 19: 08-15 14:00:00 - 08-15 14:30:00 @ 14.57, 20: 08-15 14:30:00 - 08-15 15:00:00 @ 13.77, 21: 08-15 15:00:00 - 08-15 15:30:00 @ 15.02, 22: 08-15 15:30:00 - 08-15 16:00:00 @ 15.87, 23: 08-15 16:00:00 - 08-15 16:30:00 @ 33.13, 24: 08-15 16:30:00 - 08-15 17:00:00 @ 33.13, 25: 08-15 17:00:00 - 08-15 17:30:00 @ 38.46, 26: 08-15 17:30:00 - 08-15 18:00:00 @ 40.44, 27: 08-15 18:00:00 - 08-15 18:30:00 @ 41.55, 28: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 29: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 30: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 31: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 32: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 33: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 34: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 35: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 36: 08-15 23:00:00 - 08-15 23:30:00 @ 27.8, 37: 08-15 23:30:00 - 08-16 00:00:00 @ 29.09, 38: 08-16 00:00:00 - 08-16 00:30:00 @ 28.47, 39: 08-16 00:30:00 - 08-16 01:00:00 @ 27.18, 40: 08-16 01:00:00 - 08-16 01:30:00 @ 27.57, 41: 08-16 01:30:00 - 08-16 02:00:00 @ 26.5, 42: 08-16 02:00:00 - 08-16 02:30:00 @ 25.6, 43: 08-16 02:30:00 - 08-16 03:00:00 @ 24.79, 44: 08-16 03:00:00 - 08-16 03:30:00 @ 25.08, 45: 08-16 03:30:00 - 08-16 04:00:00 @ 24.62, 46: 08-16 04:00:00 - 08-16 04:30:00 @ 27.02, 47: 08-16 04:30:00 - 08-16 05:00:00 @ 26.47, 48: 08-16 05:00:00 - 08-16 05:30:00 @ 26.25, 49: 08-16 05:30:00 - 08-16 06:00:00 @ 26.4, 50: 08-16 06:00:00 - 08-16 06:30:00 @ 25.7, 51: 08-16 06:30:00 - 08-16 07:00:00 @ 27.63, 52: 08-16 07:00:00 - 08-16 07:30:00 @ 22.73, 53: 08-16 07:30:00 - 08-16 08:00:00 @ 26.7, 54: 08-16 08:00:00 - 08-16 08:30:00 @ 22.92, 55: 08-16 08:30:00 - 08-16 09:00:00 @ 22.48, 56: 08-16 09:00:00 - 08-16 09:30:00 @ 23.55, 57: 08-16 09:30:00 - 08-16 10:00:00 @ 23.64, 58: 08-16 10:00:00 - 08-16 10:30:00 @ 19.66, 59: 08-16 10:30:00 - 08-16 11:00:00 @ 17.66, 60: 08-16 11:00:00 - 08-16 11:30:00 @ 16.56, 61: 08-16 11:30:00 - 08-16 12:00:00 @ 15.46, 62: 08-16 12:00:00 - 08-16 12:30:00 @ 17.0, 63: 08-16 12:30:00 - 08-16 13:00:00 @ 16.34, 64: 08-16 13:00:00 - 08-16 13:30:00 @ 15.36, 65: 08-16 13:30:00 - 08-16 14:00:00 @ 15.74, 66: 08-16 14:00:00 - 08-16 14:30:00 @ 14.57, 67: 08-16 14:30:00 - 08-16 15:00:00 @ 13.77, 68: 08-16 15:00:00 - 08-16 15:30:00 @ 15.02, 69: 08-16 15:30:00 - 08-16 16:00:00 @ 15.87, 70: 08-16 16:00:00 - 08-16 16:30:00 @ 33.13, 71: 08-16 16:30:00 - 08-16 17:00:00 @ 33.13, 72: 08-16 17:00:00 - 08-16 17:30:00 @ 38.46, 73: 08-16 17:30:00 - 08-16 18:00:00 @ 40.44, 74: 08-16 18:00:00 - 08-16 18:30:00 @ 41.55, 75: 08-16 19:00:00 - 08-16 19:30:00 @ 32.58, 76: 08-16 19:30:00 - 08-16 20:00:00 @ 32.9, 77: 08-16 20:00:00 - 08-16 20:30:00 @ 31.99, 78: 08-16 20:30:00 - 08-16 21:00:00 @ 32.1, 79: 08-16 21:00:00 - 08-16 21:30:00 @ 31.71, 80: 08-16 21:30:00 - 08-16 22:00:00 @ 31.67, 81: 08-16 22:00:00 - 08-16 22:30:00 @ 31.77, 82: 08-16 22:30:00 - 08-16 23:00:00 @ 29.81, 83: 08-16 23:00:00 - 08-16 23:30:00 @ 27.8, 84: 08-16 23:30:00 - 08-17 00:00:00 @ 29.09, 85: 08-17 00:00:00 - 08-17 00:30:00 @ 28.47, 86: 08-17 00:30:00 - 08-17 01:00:00 @ 27.18, 87: 08-17 01:00:00 - 08-17 01:30:00 @ 27.57, 88: 08-17 01:30:00 - 08-17 02:00:00 @ 26.5, 89: 08-17 02:00:00 - 08-17 02:30:00 @ 25.6, 90: 08-17 02:30:00 - 08-17 03:00:00 @ 24.79, 91: 08-17 03:00:00 - 08-17 03:30:00 @ 25.08, 92: 08-17 03:30:00 - 08-17 04:00:00 @ 24.62, 93: 08-17 04:00:00 - 08-17 04:30:00 @ 27.02, 94: 08-17 04:30:00 - 08-17 05:00:00 @ 26.47]
2026-08-15 04:45:05.913922: Inverter 0 Charge window will be: 2026-08-15 11:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 9%, target 100%
2026-08-15 04:45:05.914219: Inverter 0 disabled charge window while waiting for schedule (now 08-15 04:45:00 target set_window_minutes 30 charge start time 08-15 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 04:45:05.914419: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 04:45:05.914690: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 04:45:05.914804: No export window planned
2026-08-15 04:45:05.915016: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 04:45:05.915116: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 04:45:05.915374: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 04:45:05.915604: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 04:45:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 04:45:05.915747: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 04:45:05.915871: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 04:45:05.916051: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 04:45:05.916159: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 04:45:05.916206: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 04:45:05.916281: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 04:45:05.916382: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 04:45:05.916500: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 04:45:05.916600: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 04:45:05.916756: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 04:45:05.916865: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 04:45:05.917007: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 04:45:05.917114: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 04:45:05.917244: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 04:45:05.917350: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 04:45:05.917395: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 04:45:05.917451: Inverter 0 count register writes 0
2026-08-15 04:45:05.945757: Will not recompute the plan, it is 5.0 minutes old and max age is 10 minutes
2026-08-15 04:45:05.953038: Total inverter register writes now 815
2026-08-15 04:45:06.041937: Info: Completed run status Demand
2026-08-15 04:45:06.052890: Info: record_status Demand
2026-08-15 04:45:06.062540: Saved current settings to /config/predbat_config.json
2026-08-15 04:45:06.062900: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 04:45:22.355129: ML Predictor: Epoch 11/30: lr=0.00076 huber_loss=0.0088 val_mae=0.0059 kWh val_bias=-0.0007 kWh (-0.7%) combined=0.0030 kWh ema_combined=0.0041 kWh
2026-08-15 04:45:41.679529: ML Predictor: Epoch 12/30: lr=0.00072 huber_loss=0.0103 val_mae=0.0059 kWh val_bias=+0.0001 kWh (+0.1%) combined=0.0031 kWh ema_combined=0.0038 kWh
2026-08-15 04:45:42.193559: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 04:45:42.194038: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 04:45:42.194102: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 04:45:42.194380: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 04:45:42.194443: Note: Inverter does not support discharge freeze - disabled
2026-08-15 04:45:42.194472: Note: Inverter does not support charge freeze - disabled
2026-08-15 04:45:42.194568: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 04:46:00.868338: ML Predictor: Epoch 13/30: lr=0.00067 huber_loss=0.0097 val_mae=0.0063 kWh val_bias=-0.0029 kWh (-3.1%) combined=0.0051 kWh ema_combined=0.0042 kWh
2026-08-15 04:46:20.420545: ML Predictor: Epoch 14/30: lr=0.00062 huber_loss=0.0099 val_mae=0.0059 kWh val_bias=+0.0003 kWh (+0.3%) combined=0.0030 kWh ema_combined=0.0038 kWh
2026-08-15 04:46:40.382217: ML Predictor: Epoch 15/30: lr=0.00057 huber_loss=0.0087 val_mae=0.0052 kWh val_bias=+0.0006 kWh (+0.6%) combined=0.0033 kWh ema_combined=0.0037 kWh
2026-08-15 04:46:59.070454: ML Predictor: Epoch 16/30: lr=0.00053 huber_loss=0.0087 val_mae=0.0055 kWh val_bias=-0.0021 kWh (-2.3%) combined=0.0044 kWh ema_combined=0.0039 kWh
2026-08-15 04:47:20.619793: ML Predictor: Epoch 17/30: lr=0.00048 huber_loss=0.0075 val_mae=0.0055 kWh val_bias=-0.0009 kWh (-1.0%) combined=0.0034 kWh ema_combined=0.0037 kWh
2026-08-15 04:47:41.294792: ML Predictor: Epoch 18/30: lr=0.00043 huber_loss=0.0076 val_mae=0.0045 kWh val_bias=-0.0003 kWh (-0.3%) combined=0.0029 kWh ema_combined=0.0035 kWh
2026-08-15 04:47:56.698165: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 04:47:56.698769: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 04:47:56.698954: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 04:47:56.699283: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 04:47:56.699439: Note: Inverter does not support discharge freeze - disabled
2026-08-15 04:47:56.699801: Note: Inverter does not support charge freeze - disabled
2026-08-15 04:47:56.699862: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 04:48:00.247619: ML Predictor: Epoch 19/30: lr=0.00038 huber_loss=0.0085 val_mae=0.0049 kWh val_bias=-0.0019 kWh (-2.1%) combined=0.0038 kWh ema_combined=0.0036 kWh
2026-08-15 04:48:22.031217: ML Predictor: Epoch 20/30: lr=0.00034 huber_loss=0.0070 val_mae=0.0044 kWh val_bias=-0.0010 kWh (-1.1%) combined=0.0025 kWh ema_combined=0.0033 kWh
2026-08-15 04:48:42.434633: ML Predictor: Epoch 21/30: lr=0.00030 huber_loss=0.0071 val_mae=0.0051 kWh val_bias=-0.0022 kWh (-2.4%) combined=0.0041 kWh ema_combined=0.0035 kWh
2026-08-15 04:49:02.999488: ML Predictor: Epoch 22/30: lr=0.00026 huber_loss=0.0060 val_mae=0.0041 kWh val_bias=-0.0009 kWh (-0.9%) combined=0.0023 kWh ema_combined=0.0032 kWh
2026-08-15 04:49:22.212287: ML Predictor: Epoch 23/30: lr=0.00022 huber_loss=0.0064 val_mae=0.0038 kWh val_bias=-0.0005 kWh (-0.5%) combined=0.0024 kWh ema_combined=0.0029 kWh
2026-08-15 04:49:41.484424: ML Predictor: Epoch 24/30: lr=0.00019 huber_loss=0.0061 val_mae=0.0040 kWh val_bias=-0.0001 kWh (-0.1%) combined=0.0021 kWh ema_combined=0.0027 kWh
2026-08-15 04:49:57.187297: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 04:49:57.187575: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 04:49:57.187628: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 04:49:57.187797: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 04:49:57.187844: Note: Inverter does not support discharge freeze - disabled
2026-08-15 04:49:57.187871: Note: Inverter does not support charge freeze - disabled
2026-08-15 04:49:57.187918: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 04:50:00.421931: --------------- PredBat - update at 2026-08-15 04:50:00+01:00 with clock skew 0 minutes, minutes now 290
2026-08-15 04:50:00.422933: Saved current settings to /config/predbat_config.json
2026-08-15 04:50:00.423081: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 45.0 minutes
2026-08-15 04:50:00.423167: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.1, latest beta is v8.48.1
2026-08-15 04:50:00.428243: Autoupdate: Currently up to date
2026-08-15 04:50:00.473710: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 04:50:00.473870: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 04:50:00.474083: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 04:50:00.474747: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 04:50:00.474899: Predbat mode is set to Control charge & discharge
2026-08-15 04:50:00.714271: Found 21602 load_today datapoints going back 28 days
2026-08-15 04:50:00.714551: Using load_power data to fill gaps in load_today data
2026-08-15 04:50:01.909577: Processing 721 30-minute periods for power integration
2026-08-15 04:50:02.209239: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 04:50:02.211263: Car charging hold False, threshold 6.0kWh
2026-08-15 04:50:02.211325: Current data so far today: load 4.55kWh, import 5.0kWh, export 0.0kWh, PV 0kWh
2026-08-15 04:50:02.226745: Cars: SoC: [12.892000000000001]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 04:50:02.227796: Standing charge is set to 49.98p
2026-08-15 04:50:02.263055: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 04:50:02.263165: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 04:50:02.263354: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 290.0 minutes
2026-08-15 04:50:02.263668: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 289.7 minutes
2026-08-15 04:50:02.266650: Loaded 47 datapoints of futurerate analysis
2026-08-15 04:50:02.348604: Predicted future rates: ['08-15 00:00:00 => 28.9 / 20.01', '08-15 01:00:00 => 27.54 / 19.31', '08-15 02:00:00 => 26.52 / 18.8', '08-15 03:00:00 => 25.99 / 18.53', '08-15 04:00:00 => 25.8 / 18.43', '08-15 05:00:00 => 25.96 / 18.51', '08-15 06:00:00 => 25.55 / 18.3', '08-15 07:00:00 => 24.33 / 17.68', '08-15 08:00:00 => 23.03 / 17.01', '08-15 09:00:00 => 22.05 / 16.51', '08-15 10:00:00 => 20.43 / 15.68', '08-15 11:00:00 => 18.01 / 14.45', '08-15 12:00:00 => 16.37 / 13.61', '08-15 13:00:00 => 15.76 / 13.3', '08-15 14:00:00 => 15.35 / 13.09', '08-15 15:00:00 => 15.86 / 13.35', '08-15 16:00:00 => 32.89 / 16.13', '08-15 17:00:00 => 38.02 / 18.75', '08-15 18:00:00 => 42.36 / 20.96', '08-15 19:00:00 => 31.09 / 21.13', '08-15 20:00:00 => 31.64 / 21.41', '08-15 21:00:00 => 31.64 / 21.41', '08-15 22:00:00 => 30.58 / 20.87']
2026-08-15 04:50:02.418060: Rate min forward looking: now 13.77p at end of forecast 13.77p
2026-08-15 04:50:02.418728: Import rates: min 13.77p, max 43.82p, average 25.96p
2026-08-15 04:50:02.506787: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 04:50:02.506988: Rate thresholds (for charge/export) are import 43.32p (0.0p), export -0.1p (0.0p)
2026-08-15 04:50:02.508887: High export rate found rates in range 99p to -99p
2026-08-15 04:50:02.635457: Low Import rate found rates in range 13.77p to 41.55p
2026-08-15 04:50:02.636244: Car 0 charging is not planned as it is not plugged in
2026-08-15 04:50:02.651719: Battery level now 1.44kWh, -1hr ago 1.44kWh, at midnight 1.66kWh, battery value change in the last hour 0.0p, change today -2.55p, rate_forward 11.83p
2026-08-15 04:50:02.652198: Last hour: net energy 0.62kWh, import 0.62kWh, export 0.0kWh, car 0kWh, load 0.82kWh, net cost 16.58p, import 16.58p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 04:50:02.778973: Today's energy total net 5.0kWh, import 5.0kWh, export 0.0kWh, cost 183.64p, import 133.66p, export 0.0p, carbon 0.0kg
2026-08-15 04:50:02.779262: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 04:50:02.871789: Using weighted-bucket historical load forecast over 14 days
2026-08-15 04:50:02.890975: Today's load divergence 107.49%, in-day adjustment 136.39%, damping 0.95x, yesterday 143.77% today 107.11% blend 79.86%
2026-08-15 04:50:02.891400: Today's predicted so far 3.28kWh with 0.0kWh car/iBoost excluded, 2.22kWh import ignored, and 3.28kWh forecast extra.
2026-08-15 04:50:02.891623: Today's actual load so far 4.54kWh with 0.0kWh car/iBoost excluded, and 2.22kWh import ignored.
2026-08-15 04:50:02.934271: Inverter 0: Type SK Sunsynk
2026-08-15 04:50:02.934546: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 04:50:02.934871: Reserve min: 7%, battery_min: 7%
2026-08-15 04:50:02.935086: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 04:50:02.935524: Inverter 0 SoC: 1.44kW 9%, current charge rate 5000W, current discharge rate 5250W, current battery power 306W, current battery voltage 51.2V, grid power -50W, load power 353W, PV Power 0W
2026-08-15 04:50:02.935875: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 04:50:02.936135: Inverter 0 scheduled charge enable is False
2026-08-15 04:50:02.936322: Inverter 0 charge windows currently []
2026-08-15 04:50:02.936485: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 04:50:02.936758: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 04:50:02.936934: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 04:50:02.937136: Inverter 0 scheduled discharge enable is False
2026-08-15 04:50:02.937438: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 04:50:02.937559: Inverter 0 discharge windows currently []
2026-08-15 04:50:02.937940: Note: Inverter does not support discharge freeze - disabled
2026-08-15 04:50:02.938056: Note: Inverter does not support charge freeze - disabled
2026-08-15 04:50:02.938205: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 04:50:03.028428: Dynamic load last period 0.60kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 04:50:03.028712: Plan was last updated on 2026-08-15 04:40:00+01:00 and is now 10.0 minutes old
2026-08-15 04:50:03.029300: Best charge window [ 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 00:30:00 @ 28.84p 100% ]
2026-08-15 04:50:03.029466: Best export window [  ]
2026-08-15 04:50:03.030970: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 04:50:03.035972: Load divergence over 8.0 hours mean 521.4W, min 278.4W, max 1666.2W, std dev 274.66W, divergence 26.34%
2026-08-15 04:50:03.085410: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 04:50:03.101065: LoadML is_calculating True
2026-08-15 04:50:03.101410: Not using thread pool as LoadML is calculating to avoid lockups
2026-08-15 04:50:03.183262: predict base end_record 08-16 11:40:00, final soc 1.12kWh, metric 829.04p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 05:10:00, load 28.52kWh, PV 0.0kWh
2026-08-15 04:50:03.376449: Battery has 0.33 hours left - now at 1.44kWh
2026-08-15 04:50:03.430946: predict base10 end_record 08-16 11:40:00, final soc 1.12kWh, metric 857.88p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 05:10:00, load 29.67kWh, PV 0.0kWh
2026-08-15 04:50:03.592298: predict best10 end_record 08-16 11:40:00, final soc 1.77kWh, metric 695.89p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 05:10:00, load 29.67kWh, PV 0.0kWh
2026-08-15 04:50:03.682648: ML Predictor: Epoch 25/30: lr=0.00016 huber_loss=0.0067 val_mae=0.0043 kWh val_bias=-0.0008 kWh (-0.9%) combined=0.0028 kWh ema_combined=0.0027 kWh
2026-08-15 04:50:03.789487: predict best end_record 08-16 11:40:00, final soc 1.9kWh, metric 670.87p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 05:10:00, load 28.52kWh, PV 0.0kWh
2026-08-15 04:50:03.789963: Saving plan best values to HA entities
2026-08-15 04:50:04.118909: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0
2026-08-15 04:50:04.127704: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 04:50:04.156337: Best charging limit SoC's [16.0, 3.5, 4.0, 16.0, 16.0, 16.0]kWh, export []kWh gives import battery 21.48kWh, house 5.14kWh, export 0.0kWh, metric 670.87p, metric10 695.89p
2026-08-15 04:50:04.307790: Marginal costs baseline metric (no standing charge): 620.8868
2026-08-15 04:50:04.778377: Marginal energy costs matrix computed: min=15.09 max=31.29
2026-08-15 04:50:04.887537: Rate array import [{'start': 290, 'end': 420, 'rate': 'expensive', 'range': '(25.7p - 27.6p)'}, {'start': 420, 'end': 450, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 450, 'end': 480, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 480, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 23.6p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1860, 'rate': 'expensive', 'range': '(24.6p - 32.9p)'}, {'start': 1860, 'end': 1890, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 1890, 'end': 1920, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 1920, 'end': 2140, 'rate': 'cheap', 'range': '(15.5p - 23.6p)'}] export [{'start': 290, 'end': 2140, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 04:50:04.888193: - Your estimated bill for today is £5.93 and tomorrow is £5.46
2026-08-15 04:50:04.888259: - Import rates are expensive (25.7p - 27.6p) for the next 2 and a quarter hours and then cheap (22.7p) for the next 30 minutes.
2026-08-15 04:50:04.888285: - The battery is currently at 9% and is in eco mode for the next 6 and three quarters hours.
2026-08-15 04:50:04.888304: - For the next 48 hours there will be no solar generation.
2026-08-15 04:50:04.888411: - You will run out of battery in 20 minutes.
2026-08-15 04:50:04.890508: - Your next charge slot will be in 6 and three quarters hours where import rates will be cheap (15.5p).
2026-08-15 04:50:04.890567: 
2026-08-15 04:50:04.932790: Plan calculation took 1.90 seconds
2026-08-15 04:50:04.936012: No high rate period found
2026-08-15 04:50:05.042408: Import threshold used for optimisation was 22.92p
2026-08-15 04:50:05.154334: Low import rate windows [0: 08-15 04:30:00 - 08-15 05:00:00 @ 26.47, 1: 08-15 05:00:00 - 08-15 05:30:00 @ 26.25, 2: 08-15 05:30:00 - 08-15 06:00:00 @ 26.4, 3: 08-15 06:00:00 - 08-15 06:30:00 @ 25.7, 4: 08-15 06:30:00 - 08-15 07:00:00 @ 27.63, 5: 08-15 07:00:00 - 08-15 07:30:00 @ 22.73, 6: 08-15 07:30:00 - 08-15 08:00:00 @ 26.7, 7: 08-15 08:00:00 - 08-15 08:30:00 @ 22.92, 8: 08-15 08:30:00 - 08-15 09:00:00 @ 22.48, 9: 08-15 09:00:00 - 08-15 09:30:00 @ 23.55, 10: 08-15 09:30:00 - 08-15 10:00:00 @ 23.64, 11: 08-15 10:00:00 - 08-15 10:30:00 @ 19.66, 12: 08-15 10:30:00 - 08-15 11:00:00 @ 17.66, 13: 08-15 11:00:00 - 08-15 11:30:00 @ 16.56, 14: 08-15 11:30:00 - 08-15 12:00:00 @ 15.46, 15: 08-15 12:00:00 - 08-15 12:30:00 @ 17.0, 16: 08-15 12:30:00 - 08-15 13:00:00 @ 16.34, 17: 08-15 13:00:00 - 08-15 13:30:00 @ 15.36, 18: 08-15 13:30:00 - 08-15 14:00:00 @ 15.74, 19: 08-15 14:00:00 - 08-15 14:30:00 @ 14.57, 20: 08-15 14:30:00 - 08-15 15:00:00 @ 13.77, 21: 08-15 15:00:00 - 08-15 15:30:00 @ 15.02, 22: 08-15 15:30:00 - 08-15 16:00:00 @ 15.87, 23: 08-15 16:00:00 - 08-15 16:30:00 @ 33.13, 24: 08-15 16:30:00 - 08-15 17:00:00 @ 33.13, 25: 08-15 17:00:00 - 08-15 17:30:00 @ 38.46, 26: 08-15 17:30:00 - 08-15 18:00:00 @ 40.44, 27: 08-15 18:00:00 - 08-15 18:30:00 @ 41.55, 28: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 29: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 30: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 31: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 32: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 33: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 34: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 35: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 36: 08-15 23:00:00 - 08-15 23:30:00 @ 27.8, 37: 08-15 23:30:00 - 08-16 00:00:00 @ 29.09, 38: 08-16 00:00:00 - 08-16 00:30:00 @ 28.47, 39: 08-16 00:30:00 - 08-16 01:00:00 @ 27.18, 40: 08-16 01:00:00 - 08-16 01:30:00 @ 27.57, 41: 08-16 01:30:00 - 08-16 02:00:00 @ 26.5, 42: 08-16 02:00:00 - 08-16 02:30:00 @ 25.6, 43: 08-16 02:30:00 - 08-16 03:00:00 @ 24.79, 44: 08-16 03:00:00 - 08-16 03:30:00 @ 25.08, 45: 08-16 03:30:00 - 08-16 04:00:00 @ 24.62, 46: 08-16 04:00:00 - 08-16 04:30:00 @ 27.02, 47: 08-16 04:30:00 - 08-16 05:00:00 @ 26.47, 48: 08-16 05:00:00 - 08-16 05:30:00 @ 26.25, 49: 08-16 05:30:00 - 08-16 06:00:00 @ 26.4, 50: 08-16 06:00:00 - 08-16 06:30:00 @ 25.7, 51: 08-16 06:30:00 - 08-16 07:00:00 @ 27.63, 52: 08-16 07:00:00 - 08-16 07:30:00 @ 22.73, 53: 08-16 07:30:00 - 08-16 08:00:00 @ 26.7, 54: 08-16 08:00:00 - 08-16 08:30:00 @ 22.92, 55: 08-16 08:30:00 - 08-16 09:00:00 @ 22.48, 56: 08-16 09:00:00 - 08-16 09:30:00 @ 23.55, 57: 08-16 09:30:00 - 08-16 10:00:00 @ 23.64, 58: 08-16 10:00:00 - 08-16 10:30:00 @ 19.66, 59: 08-16 10:30:00 - 08-16 11:00:00 @ 17.66, 60: 08-16 11:00:00 - 08-16 11:30:00 @ 16.56, 61: 08-16 11:30:00 - 08-16 12:00:00 @ 15.46, 62: 08-16 12:00:00 - 08-16 12:30:00 @ 17.0, 63: 08-16 12:30:00 - 08-16 13:00:00 @ 16.34, 64: 08-16 13:00:00 - 08-16 13:30:00 @ 15.36, 65: 08-16 13:30:00 - 08-16 14:00:00 @ 15.74, 66: 08-16 14:00:00 - 08-16 14:30:00 @ 14.57, 67: 08-16 14:30:00 - 08-16 15:00:00 @ 13.77, 68: 08-16 15:00:00 - 08-16 15:30:00 @ 15.02, 69: 08-16 15:30:00 - 08-16 16:00:00 @ 15.87, 70: 08-16 16:00:00 - 08-16 16:30:00 @ 33.13, 71: 08-16 16:30:00 - 08-16 17:00:00 @ 33.13, 72: 08-16 17:00:00 - 08-16 17:30:00 @ 38.46, 73: 08-16 17:30:00 - 08-16 18:00:00 @ 40.44, 74: 08-16 18:00:00 - 08-16 18:30:00 @ 41.55, 75: 08-16 19:00:00 - 08-16 19:30:00 @ 32.58, 76: 08-16 19:30:00 - 08-16 20:00:00 @ 32.9, 77: 08-16 20:00:00 - 08-16 20:30:00 @ 31.99, 78: 08-16 20:30:00 - 08-16 21:00:00 @ 32.1, 79: 08-16 21:00:00 - 08-16 21:30:00 @ 31.71, 80: 08-16 21:30:00 - 08-16 22:00:00 @ 31.67, 81: 08-16 22:00:00 - 08-16 22:30:00 @ 31.77, 82: 08-16 22:30:00 - 08-16 23:00:00 @ 29.81, 83: 08-16 23:00:00 - 08-16 23:30:00 @ 27.8, 84: 08-16 23:30:00 - 08-17 00:00:00 @ 29.09, 85: 08-17 00:00:00 - 08-17 00:30:00 @ 28.47, 86: 08-17 00:30:00 - 08-17 01:00:00 @ 27.18, 87: 08-17 01:00:00 - 08-17 01:30:00 @ 27.57, 88: 08-17 01:30:00 - 08-17 02:00:00 @ 26.5, 89: 08-17 02:00:00 - 08-17 02:30:00 @ 25.6, 90: 08-17 02:30:00 - 08-17 03:00:00 @ 24.79, 91: 08-17 03:00:00 - 08-17 03:30:00 @ 25.08, 92: 08-17 03:30:00 - 08-17 04:00:00 @ 24.62, 93: 08-17 04:00:00 - 08-17 04:30:00 @ 27.02, 94: 08-17 04:30:00 - 08-17 05:00:00 @ 26.47]
2026-08-15 04:50:05.184058: Inverter 0 Charge window will be: 2026-08-15 11:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 9%, target 100%
2026-08-15 04:50:05.184418: Inverter 0 disabled charge window while waiting for schedule (now 08-15 04:50:00 target set_window_minutes 30 charge start time 08-15 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 04:50:05.184644: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 04:50:05.185042: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 04:50:05.185274: No export window planned
2026-08-15 04:50:05.185529: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 04:50:05.185675: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 04:50:05.185980: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 04:50:05.186302: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 04:50:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 04:50:05.186473: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 04:50:05.186641: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 04:50:05.186874: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 04:50:05.187031: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 04:50:05.187175: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 04:50:05.187336: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 04:50:05.187481: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 04:50:05.187623: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 04:50:05.187765: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 04:50:05.187959: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 04:50:05.188108: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 04:50:05.188266: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 04:50:05.188414: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 04:50:05.188556: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 04:50:05.188697: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 04:50:05.188835: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 04:50:05.188997: Inverter 0 count register writes 0
2026-08-15 04:50:05.225527: Will recompute the plan as it is now 10.0 minutes old and will exceed the max age of 10 minutes before the next run
2026-08-15 04:50:05.225917: Recompute is saving previous plan...
2026-08-15 04:50:05.230801: Best charge window [ 15-08 04:30:00 - 15-08 05:00:00 @ 26.47p 0%, 15-08 05:00:00 - 15-08 05:30:00 @ 26.25p 0%, 15-08 05:30:00 - 15-08 06:00:00 @ 26.4p 0%, 15-08 06:00:00 - 15-08 06:30:00 @ 25.7p 0%, 15-08 06:30:00 - 15-08 07:00:00 @ 27.63p 0%, 15-08 07:00:00 - 15-08 07:30:00 @ 22.73p 0%, 15-08 07:30:00 - 15-08 08:00:00 @ 26.7p 0%, 15-08 08:00:00 - 15-08 08:30:00 @ 22.92p 0%, 15-08 08:30:00 - 15-08 09:00:00 @ 22.48p 0%, 15-08 09:00:00 - 15-08 09:30:00 @ 23.55p 0%, 15-08 09:30:00 - 15-08 10:00:00 @ 23.64p 0%, 15-08 10:00:00 - 15-08 10:30:00 @ 19.66p 0%, 15-08 10:30:00 - 15-08 11:00:00 @ 17.66p 0%, 15-08 11:00:00 - 15-08 11:30:00 @ 16.56p 0%, 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 0%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 0%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 0%, 15-08 13:00:00 - 15-08 13:30:00 @ 15.36p 0%, 15-08 13:30:00 - 15-08 14:00:00 @ 15.74p 0%, 15-08 14:00:00 - 15-08 14:30:00 @ 14.57p 0%, 15-08 14:30:00 - 15-08 15:00:00 @ 13.77p 0%, 15-08 15:00:00 - 15-08 15:30:00 @ 15.02p 0%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 0%, 15-08 16:00:00 - 15-08 16:30:00 @ 33.13p 0%, 15-08 16:30:00 - 15-08 17:00:00 @ 33.13p 0%, 15-08 17:00:00 - 15-08 17:30:00 @ 38.46p 0%, 15-08 17:30:00 - 15-08 18:00:00 @ 40.44p 0%, 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 0%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 0%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 0%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 0%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 0%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 27.8p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 29.09p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.47p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.18p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 27.57p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.5p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.6p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 24.79p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 25.08p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 24.62p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 27.02p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.47p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 26.25p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.4p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.7p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 27.63p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 22.73p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 26.7p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 22.92p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 22.48p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 23.55p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 23.64p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 19.66p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 17.66p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 16.56p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 15.46p 0%, 16-08 12:00:00 - 16-08 12:30:00 @ 17.0p 0%, 16-08 12:30:00 - 16-08 13:00:00 @ 16.34p 0%, 16-08 13:00:00 - 16-08 13:30:00 @ 15.36p 0%, 16-08 13:30:00 - 16-08 14:00:00 @ 15.74p 0%, 16-08 14:00:00 - 16-08 14:30:00 @ 14.57p 0%, 16-08 14:30:00 - 16-08 15:00:00 @ 13.77p 0%, 16-08 15:00:00 - 16-08 15:30:00 @ 15.02p 0%, 16-08 15:30:00 - 16-08 16:00:00 @ 15.87p 0%, 16-08 16:00:00 - 16-08 16:30:00 @ 33.13p 0%, 16-08 16:30:00 - 16-08 17:00:00 @ 33.13p 0%, 16-08 17:00:00 - 16-08 17:30:00 @ 38.46p 0%, 16-08 17:30:00 - 16-08 18:00:00 @ 40.44p 0%, 16-08 18:00:00 - 16-08 18:30:00 @ 41.55p 0%, 16-08 19:00:00 - 16-08 19:30:00 @ 32.58p 0%, 16-08 19:30:00 - 16-08 20:00:00 @ 32.9p 0%, 16-08 20:00:00 - 16-08 20:30:00 @ 31.99p 0%, 16-08 20:30:00 - 16-08 21:00:00 @ 32.1p 0%, 16-08 21:00:00 - 16-08 21:30:00 @ 31.71p 0%, 16-08 21:30:00 - 16-08 22:00:00 @ 31.67p 0%, 16-08 22:00:00 - 16-08 22:30:00 @ 31.77p 0%, 16-08 22:30:00 - 16-08 23:00:00 @ 29.81p 0%, 16-08 23:00:00 - 16-08 23:30:00 @ 27.8p 0%, 16-08 23:30:00 - 17-08 00:00:00 @ 29.09p 0%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.47p 0%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.18p 0%, 17-08 01:00:00 - 17-08 01:30:00 @ 27.57p 0%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.5p 0%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.6p 0%, 17-08 02:30:00 - 17-08 03:00:00 @ 24.79p 0%, 17-08 03:00:00 - 17-08 03:30:00 @ 25.08p 0%, 17-08 03:30:00 - 17-08 04:00:00 @ 24.62p 0%, 17-08 04:00:00 - 17-08 04:30:00 @ 27.02p 0%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.47p 0% ]
2026-08-15 04:50:05.239644: Best export window [  ]
2026-08-15 04:50:05.241624: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 04:50:05.246458: Load divergence over 8.0 hours mean 521.4W, min 278.4W, max 1666.2W, std dev 274.66W, divergence 26.34%
2026-08-15 04:50:05.293893: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 04:50:05.294177: LoadML is_calculating True
2026-08-15 04:50:05.294316: Not using thread pool as LoadML is calculating to avoid lockups
2026-08-15 04:50:05.303149: Calculate Best options: mode(Control charge & discharge), calculate_export_oncharge(False), calculate_export_on_pv(True), set_export_freeze_only(False), set_discharge_during_charge(True), combine_charge_slots(False), combine_export_slots(False), combine_rate_threshold(0.0), best_soc_min(0.0 kWh), best_soc_max(0.0 kWh), best_soc_keep(0.0 kWh), inverter_loss(4%), battery_loss(3%), battery_loss_discharge (3%), inverter_hybrid(True), metric_min_improvement(0.0p), metric_min_improvement_export(0.1p), metric_min_improvement_export_freeze(0.1p), metric_battery_cycle(0.0p/kWh), metric_battery_value_scaling(1.0 x) 
2026-08-15 04:50:05.310289: Optimise levels pass started at 2026-08-15 04:50:05
2026-08-15 04:50:05.310493: Optimise all windows, total charge 94 export 1
2026-08-15 04:50:12.381489: >> Region optimisation pass width 960 gives best_metric 808.41p, best_cost 815.71p, best_cycle 53.89kWh, best_import 39.72kWh
2026-08-15 04:50:13.250251: >> Region optimisation pass width 480 gives best_metric 808.41p, best_cost 815.71p, best_cycle 53.89kWh, best_import 39.72kWh
2026-08-15 04:50:14.350310: >> Region optimisation pass width 240 gives best_metric 808.41p, best_cost 815.71p, best_cycle 53.89kWh, best_import 39.72kWh
2026-08-15 04:50:17.719739: >> Region optimisation pass width 120 gives best_metric 808.41p, best_cost 815.71p, best_cycle 53.89kWh, best_import 39.72kWh
2026-08-15 04:50:17.720705: Calculated end_record as 08-16 11:30:00 based on best_price 16.34p, next_charge_start 08-15 11:30:00, max_windows 61
2026-08-15 04:50:17.720821: Optimise levels pass ended at 2026-08-15 04:50:17, duration 12.4 seconds tried 313 combinations
2026-08-15 04:50:17.720914: Set best_price_charge_level 17.6p, best_price_export_level 0p, best_price_charge 16.34p, best_cost_export 0p, best_metric 808.41p, best_keep 0kWh, best_cycle 53.89kWh, best_carbon 0kg, best_import 39.72kWh
2026-08-15 04:50:17.744501: Starting detailed optimisation end_record 08-16 11:30:00, best_price_charge 16.34p, best_price_export 0p. lowest_price_charge 13.77p with charge limits [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0]kWh and export limits []kWh
2026-08-15 04:50:41.448928: Tweak plan optimisation started metric 595.65p, cost 604.88p
2026-08-15 04:50:42.226091: Tweak optimisation finished metric 595.65p, cost 604.88p, metric_keep 0kWh, cycle 30.08kWh, carbon 0kg, import 25.59kWh, changed 8 window(s)
2026-08-15 04:50:42.283767: Swap charge optimisation started metric 595.65p, cost 604.88p, min_improvement_swap 0.1p
2026-08-15 04:50:52.079419: Swap charge optimisation finished metric 595.65p, cost 604.88p
2026-08-15 04:50:52.214841: Pruned 2 dead plan slot(s) in 11 trial(s), nominal metric 591.63p -> 591.63p, plan now metric 595.68p, cost 604.88p, cycle 30.08kWh, import 25.59kWh
2026-08-15 04:50:52.229869: Raw charge windows [ 15-08 04:30:00 - 15-08 05:00:00 @ 26.47p 0%, 15-08 05:00:00 - 15-08 05:30:00 @ 26.25p 0%, 15-08 05:30:00 - 15-08 06:00:00 @ 26.4p 0%, 15-08 06:00:00 - 15-08 06:30:00 @ 25.7p 0%, 15-08 06:30:00 - 15-08 07:00:00 @ 27.63p 0%, 15-08 07:00:00 - 15-08 07:30:00 @ 22.73p 0%, 15-08 07:30:00 - 15-08 08:00:00 @ 26.7p 0%, 15-08 08:00:00 - 15-08 08:30:00 @ 22.92p 0%, 15-08 08:30:00 - 15-08 09:00:00 @ 22.48p 0%, 15-08 09:00:00 - 15-08 09:30:00 @ 23.55p 0%, 15-08 09:30:00 - 15-08 10:00:00 @ 23.64p 0%, 15-08 10:00:00 - 15-08 10:30:00 @ 19.66p 0%, 15-08 10:30:00 - 15-08 11:00:00 @ 17.66p 0%, 15-08 11:00:00 - 15-08 11:30:00 @ 16.56p 0%, 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 13:30:00 @ 15.36p 100%, 15-08 13:30:00 - 15-08 14:00:00 @ 15.74p 100%, 15-08 14:00:00 - 15-08 14:30:00 @ 14.57p 100%, 15-08 14:30:00 - 15-08 15:00:00 @ 13.77p 100%, 15-08 15:00:00 - 15-08 15:30:00 @ 15.02p 100%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 100%, 15-08 16:00:00 - 15-08 16:30:00 @ 33.13p 0%, 15-08 16:30:00 - 15-08 17:00:00 @ 33.13p 0%, 15-08 17:00:00 - 15-08 17:30:00 @ 38.46p 0%, 15-08 17:30:00 - 15-08 18:00:00 @ 40.44p 0%, 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 0%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 0%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 0%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 0%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 0%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 27.8p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 29.09p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.47p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.18p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 27.57p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.5p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.6p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 24.79p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 25.08p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 24.62p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 27.02p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.47p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 26.25p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.4p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.7p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 27.63p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 22.73p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 26.7p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 22.92p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 22.48p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 23.55p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 23.64p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 19.66p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 17.66p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 16.56p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 15.46p 100%, 16-08 12:00:00 - 16-08 12:30:00 @ 17.0p 100%, 16-08 12:30:00 - 16-08 13:00:00 @ 16.34p 100%, 16-08 13:00:00 - 16-08 13:30:00 @ 15.36p 100%, 16-08 13:30:00 - 16-08 14:00:00 @ 15.74p 100%, 16-08 14:00:00 - 16-08 14:30:00 @ 14.57p 100%, 16-08 14:30:00 - 16-08 15:00:00 @ 13.77p 100%, 16-08 15:00:00 - 16-08 15:30:00 @ 15.02p 100%, 16-08 15:30:00 - 16-08 16:00:00 @ 15.87p 100%, 16-08 16:00:00 - 16-08 16:30:00 @ 33.13p 100%, 16-08 16:30:00 - 16-08 17:00:00 @ 33.13p 100%, 16-08 17:00:00 - 16-08 17:30:00 @ 38.46p 100%, 16-08 17:30:00 - 16-08 18:00:00 @ 40.44p 100%, 16-08 18:00:00 - 16-08 18:30:00 @ 41.55p 100%, 16-08 19:00:00 - 16-08 19:30:00 @ 32.58p 100%, 16-08 19:30:00 - 16-08 20:00:00 @ 32.9p 100%, 16-08 20:00:00 - 16-08 20:30:00 @ 31.99p 100%, 16-08 20:30:00 - 16-08 21:00:00 @ 32.1p 100%, 16-08 21:00:00 - 16-08 21:30:00 @ 31.71p 100%, 16-08 21:30:00 - 16-08 22:00:00 @ 31.67p 100%, 16-08 22:00:00 - 16-08 22:30:00 @ 31.77p 100%, 16-08 22:30:00 - 16-08 23:00:00 @ 29.81p 100%, 16-08 23:00:00 - 16-08 23:30:00 @ 27.8p 100%, 16-08 23:30:00 - 17-08 00:00:00 @ 29.09p 100%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.47p 100%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.18p 100%, 17-08 01:00:00 - 17-08 01:30:00 @ 27.57p 100%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.5p 100%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.6p 100%, 17-08 02:30:00 - 17-08 03:00:00 @ 24.79p 100%, 17-08 03:00:00 - 17-08 03:30:00 @ 25.08p 100%, 17-08 03:30:00 - 17-08 04:00:00 @ 24.62p 100%, 17-08 04:00:00 - 17-08 04:30:00 @ 27.02p 100%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.47p 100% ] reserve 1.12
2026-08-15 04:50:52.230643: Unclipped charge windows [ 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 05:00:00 @ 26.23p 100% ] reserve 1.12
2026-08-15 04:50:52.231297: Unfiltered charge windows [ 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 05:00:00 @ 26.23p 100% ] reserve 1.12
2026-08-15 04:50:52.231780: Filtered charge windows [ 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 05:00:00 @ 26.23p 100% ] reserve 1.12
2026-08-15 04:50:52.268691: Previous plan best metric is 595.68 (cost 604.88) and new plan best metric is 595.65 (cost 604.88)
2026-08-15 04:50:52.268998: New plan metric is not significantly better (metric_min_improvement_plan 2.0) than previous plan, using previous plan
2026-08-15 04:50:52.269162: Plan valid is now true after recompute was False
2026-08-15 04:50:52.303308: predict base end_record 08-16 11:30:00, final soc 1.12kWh, metric 825.91p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 05:10:00, load 28.32kWh, PV 0.0kWh
2026-08-15 04:50:52.460655: Battery has 0.33 hours left - now at 1.44kWh
2026-08-15 04:50:52.518271: predict base10 end_record 08-16 11:30:00, final soc 1.12kWh, metric 854.6p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 05:10:00, load 29.45kWh, PV 0.0kWh
2026-08-15 04:50:52.623215: predict best10 end_record 08-16 11:30:00, final soc 1.12kWh, metric 681.87p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 05:10:00, load 29.45kWh, PV 0.0kWh
2026-08-15 04:50:52.765676: predict best end_record 08-16 11:30:00, final soc 1.12kWh, metric 654.86p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 05:10:00, load 28.32kWh, PV 0.0kWh
2026-08-15 04:50:52.765778: Saving plan best values to HA entities
2026-08-15 04:50:53.102248: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0
2026-08-15 04:50:53.110921: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 04:50:53.123159: Best charging limit SoC's [16.0, 3.5, 4.0, 16.0, 16.0, 16.0]kWh, export []kWh gives import battery 20.45kWh, house 5.14kWh, export 0.0kWh, metric 654.86p, metric10 681.87p
2026-08-15 04:50:53.263886: Marginal costs baseline metric (no standing charge): 604.8754
2026-08-15 04:50:53.602857: Marginal energy costs matrix computed: min=15.09 max=31.29
2026-08-15 04:50:53.695674: Rate array import [{'start': 290, 'end': 420, 'rate': 'expensive', 'range': '(25.7p - 27.6p)'}, {'start': 420, 'end': 450, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 450, 'end': 480, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 480, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 23.6p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1860, 'rate': 'expensive', 'range': '(24.6p - 32.9p)'}, {'start': 1860, 'end': 1890, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 1890, 'end': 1920, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 1920, 'end': 2130, 'rate': 'cheap', 'range': '(16.6p - 23.6p)'}] export [{'start': 290, 'end': 2130, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 04:50:53.696485: - Your estimated bill for today is £5.93 and tomorrow is £5.46
2026-08-15 04:50:53.696630: - Import rates are expensive (25.7p - 27.6p) for the next 2 and a quarter hours and then cheap (22.7p) for the next 30 minutes.
2026-08-15 04:50:53.696746: - The battery is currently at 9% and is in eco mode for the next 6 and three quarters hours.
2026-08-15 04:50:53.696877: - For the next 48 hours there will be no solar generation.
2026-08-15 04:50:53.697042: - You will run out of battery in 20 minutes.
2026-08-15 04:50:53.697167: - Your next charge slot will be in 6 and three quarters hours where import rates will be cheap (15.5p).
2026-08-15 04:50:53.697302: 
2026-08-15 04:50:53.765789: Plan calculation took 48.54 seconds
2026-08-15 04:50:53.766053: Inverter 0: Type SK Sunsynk
2026-08-15 04:50:53.766096: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 04:50:53.766285: Reserve min: 7%, battery_min: 7%
2026-08-15 04:50:53.766358: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 04:50:53.766616: Inverter 0 SoC: 1.44kW 9%, current charge rate 5000W, current discharge rate 5250W, current battery power 296W, current battery voltage 51.2V, grid power -56W, load power 356W, PV Power 0W
2026-08-15 04:50:53.766777: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 04:50:53.766870: Inverter 0 scheduled charge enable is False
2026-08-15 04:50:53.766908: Inverter 0 charge windows currently []
2026-08-15 04:50:53.766934: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 04:50:53.767038: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 04:50:53.767074: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 04:50:53.767110: Inverter 0 scheduled discharge enable is False
2026-08-15 04:50:53.767247: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 04:50:53.767288: Inverter 0 discharge windows currently []
2026-08-15 04:50:53.767311: Note: Inverter does not support discharge freeze - disabled
2026-08-15 04:50:53.767334: Note: Inverter does not support charge freeze - disabled
2026-08-15 04:50:53.767350: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 04:50:53.892585: Inverter 0 Charge window will be: 2026-08-15 11:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 9%, target 100%
2026-08-15 04:50:53.892904: Inverter 0 disabled charge window while waiting for schedule (now 08-15 04:50:00 target set_window_minutes 30 charge start time 08-15 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 04:50:53.893140: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 04:50:53.893516: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 04:50:53.893720: No export window planned
2026-08-15 04:50:53.893971: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 04:50:53.894115: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 04:50:53.894446: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 04:50:53.894761: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 04:50:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 04:50:53.894929: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 04:50:53.895103: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 04:50:53.895332: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 04:50:53.895495: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 04:50:53.895642: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 04:50:53.895785: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 04:50:53.895953: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 04:50:53.896098: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 04:50:53.896257: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 04:50:53.896455: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 04:50:53.896610: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 04:50:53.896753: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 04:50:53.896894: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 04:50:53.897119: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 04:50:53.897293: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 04:50:53.897441: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 04:50:53.897576: Inverter 0 count register writes 0
2026-08-15 04:50:53.930930: Total inverter register writes now 815
2026-08-15 04:50:53.981496: Info: Completed run status Demand
2026-08-15 04:50:53.992428: Info: record_status Demand
2026-08-15 04:50:54.002469: Saved current settings to /config/predbat_config.json
2026-08-15 04:50:54.002836: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 04:50:58.388123: ML Predictor: Epoch 26/30: lr=0.00014 huber_loss=0.0072 val_mae=0.0038 kWh val_bias=-0.0006 kWh (-0.7%) combined=0.0022 kWh ema_combined=0.0025 kWh
2026-08-15 04:51:16.680747: ML Predictor: Epoch 27/30: lr=0.00012 huber_loss=0.0063 val_mae=0.0038 kWh val_bias=-0.0007 kWh (-0.8%) combined=0.0022 kWh ema_combined=0.0024 kWh
2026-08-15 04:51:27.123624: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 04:51:27.123969: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 04:51:27.124034: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 04:51:27.124265: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 04:51:27.124326: Note: Inverter does not support discharge freeze - disabled
2026-08-15 04:51:27.124363: Note: Inverter does not support charge freeze - disabled
2026-08-15 04:51:27.124393: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 04:51:37.882030: ML Predictor: Epoch 28/30: lr=0.00011 huber_loss=0.0063 val_mae=0.0039 kWh val_bias=-0.0012 kWh (-1.3%) combined=0.0028 kWh ema_combined=0.0025 kWh
2026-08-15 04:51:59.310874: ML Predictor: Epoch 29/30: lr=0.00010 huber_loss=0.0059 val_mae=0.0038 kWh val_bias=-0.0005 kWh (-0.5%) combined=0.0019 kWh ema_combined=0.0024 kWh
2026-08-15 04:52:19.318898: ML Predictor: Epoch 30/30: lr=0.00010 huber_loss=0.0062 val_mae=0.0036 kWh val_bias=-0.0005 kWh (-0.6%) combined=0.0019 kWh ema_combined=0.0022 kWh
2026-08-15 04:52:19.326068: ML Predictor: Restored best weights from epoch with val_mae=0.0036 kWh val_bias=-0.0005 kWh (-0.6%)
2026-08-15 04:52:19.326453: ML Predictor: Training complete, final val_mae=0.0036 kWh val_bias=-0.0005 kWh (-0.6%)
2026-08-15 04:52:20.552170: ML Predictor: AR rollout over holdout: ar_mae=0.0039 kWh ar_bias=-0.0004 kWh (-0.5%) [drift vs teacher-forced: +0.0003 kWh]
2026-08-15 04:52:20.556861: ML Predictor: Curriculum training complete, final val_mae=0.0036 kWh
2026-08-15 04:52:20.568098: ML Component: Training successful, val_mae=0.0036 kWh
2026-08-15 04:52:20.686138: ML Predictor: Model saved to /config/predbat_ml_model.npz
2026-08-15 04:52:20.693079: ML Component: Generating predictions load data age 56.0 days, 16313 data points
2026-08-15 04:52:20.867376: ML Predictor: Starting autoregressive prediction loop for 576 steps (48.0 hours), prev_energy value 0.0244 max_dow {0: 0.10148124996256083, 1: 0.10722812486607582, 2: 0.11988124983031304, 3: 0.11477812442630529, 4: 0.1668593753574416, 5: 0.10612500002831221, 6: 0.10850624993629754}
2026-08-15 04:52:26.485095: ML Component: Generated 576 predictions (total 37.84 kWh over 48h)
2026-08-15 04:52:26.548331: ML Component: Prediction cycle completed
2026-08-15 04:52:26.808286: ML Component: Saved 16313 steps (56 days) of history to /config/predbat_ml_history.npz
2026-08-15 04:53:27.087192: ML Component: Fetching 28 days of load history from ['sensor.sunsynk_day_load_energy']
2026-08-15 04:53:27.985961: Processing 1345 30-minute periods for power integration
2026-08-15 04:53:28.087095: ML Component: Car charging hold False, car energy reported load False
2026-08-15 04:53:28.169220: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 04:53:28.252908: ML Temperature data points: 50111
2026-08-15 04:53:28.478576: ML Component: Fetched 8064 load data points, 28.0 days of history
2026-08-15 04:53:28.525847: ML Component: Data fetch completed, load data age 56.0 days, 16323 data points
2026-08-15 04:53:28.525968: ML Component: No training needed, model age is -0.04 hours
2026-08-15 04:53:28.526026: ML Component: Generating predictions load data age 56.0 days, 16323 data points
2026-08-15 04:53:28.667019: ML Predictor: Starting autoregressive prediction loop for 576 steps (48.0 hours), prev_energy value 0.041 max_dow {0: 0.10336562496256083, 1: 0.1091281248660758, 2: 0.11737499983031302, 3: 0.11972187416721135, 4: 0.17116562535744162, 5: 0.10228437502831222, 6: 0.10759687461592257}
2026-08-15 04:53:30.909425: ML Component: Generated 576 predictions (total 38.25 kWh over 48h)
2026-08-15 04:53:30.980472: ML Component: Prediction cycle completed
2026-08-15 04:53:31.080184: ML Component: Saved 16323 steps (56 days) of history to /config/predbat_ml_history.npz
2026-08-15 04:53:41.684532: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 04:53:41.684757: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 04:53:41.684813: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 04:53:41.685042: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 04:53:41.685110: Note: Inverter does not support discharge freeze - disabled
2026-08-15 04:53:41.685149: Note: Inverter does not support charge freeze - disabled
2026-08-15 04:53:41.685180: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 04:55:00.849223: --------------- PredBat - update at 2026-08-15 04:55:00+01:00 with clock skew 0 minutes, minutes now 295
2026-08-15 04:55:00.850308: Saved current settings to /config/predbat_config.json
2026-08-15 04:55:00.850481: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 50.0 minutes
2026-08-15 04:55:00.850608: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.1, latest beta is v8.48.1
2026-08-15 04:55:00.850697: Autoupdate: Currently up to date
2026-08-15 04:55:00.874622: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 04:55:00.874828: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 04:55:00.875167: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 04:55:00.875931: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 04:55:00.876130: Predbat mode is set to Control charge & discharge
2026-08-15 04:55:01.082170: Found 21602 load_today datapoints going back 28 days
2026-08-15 04:55:01.082350: Using load_power data to fill gaps in load_today data
2026-08-15 04:55:01.932277: Processing 721 30-minute periods for power integration
2026-08-15 04:55:02.124748: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 04:55:02.124881: Car charging hold False, threshold 6.0kWh
2026-08-15 04:55:02.124928: Current data so far today: load 4.6kWh, import 5.0kWh, export 0.0kWh, PV 0kWh
2026-08-15 04:55:02.139660: Cars: SoC: [12.892000000000001]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 04:55:02.140023: Standing charge is set to 49.98p
2026-08-15 04:55:02.167056: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 04:55:02.167190: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 04:55:02.167411: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 295.0 minutes
2026-08-15 04:55:02.167799: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 294.7 minutes
2026-08-15 04:55:02.170819: Loaded 47 datapoints of futurerate analysis
2026-08-15 04:55:02.258508: Predicted future rates: ['08-15 00:00:00 => 28.9 / 20.01', '08-15 01:00:00 => 27.54 / 19.31', '08-15 02:00:00 => 26.52 / 18.8', '08-15 03:00:00 => 25.99 / 18.53', '08-15 04:00:00 => 25.8 / 18.43', '08-15 05:00:00 => 25.96 / 18.51', '08-15 06:00:00 => 25.55 / 18.3', '08-15 07:00:00 => 24.33 / 17.68', '08-15 08:00:00 => 23.03 / 17.01', '08-15 09:00:00 => 22.05 / 16.51', '08-15 10:00:00 => 20.43 / 15.68', '08-15 11:00:00 => 18.01 / 14.45', '08-15 12:00:00 => 16.37 / 13.61', '08-15 13:00:00 => 15.76 / 13.3', '08-15 14:00:00 => 15.35 / 13.09', '08-15 15:00:00 => 15.86 / 13.35', '08-15 16:00:00 => 32.89 / 16.13', '08-15 17:00:00 => 38.02 / 18.75', '08-15 18:00:00 => 42.36 / 20.96', '08-15 19:00:00 => 31.09 / 21.13', '08-15 20:00:00 => 31.64 / 21.41', '08-15 21:00:00 => 31.64 / 21.41', '08-15 22:00:00 => 30.58 / 20.87']
2026-08-15 04:55:02.319897: Rate min forward looking: now 13.77p at end of forecast 13.77p
2026-08-15 04:55:02.320286: Import rates: min 13.77p, max 43.82p, average 25.96p
2026-08-15 04:55:02.363965: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 04:55:02.364106: Rate thresholds (for charge/export) are import 43.32p (0.0p), export -0.1p (0.0p)
2026-08-15 04:55:02.365442: High export rate found rates in range 99p to -99p
2026-08-15 04:55:02.450491: Low Import rate found rates in range 13.77p to 41.55p
2026-08-15 04:55:02.450631: Car 0 charging is not planned as it is not plugged in
2026-08-15 04:55:02.462067: Battery level now 1.44kWh, -1hr ago 1.44kWh, at midnight 1.66kWh, battery value change in the last hour 0.0p, change today -2.55p, rate_forward 11.83p
2026-08-15 04:55:02.462493: Last hour: net energy 0.58kWh, import 0.58kWh, export 0.0kWh, car 0kWh, load 0.85kWh, net cost 15.59p, import 15.59p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 04:55:02.507083: Today's energy total net 5.0kWh, import 5.0kWh, export 0.0kWh, cost 183.64p, import 133.66p, export 0.0p, carbon 0.0kg
2026-08-15 04:55:02.507212: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 04:55:02.580453: Using weighted-bucket historical load forecast over 14 days
2026-08-15 04:55:02.603361: Today's load divergence 107.21%, in-day adjustment 136.21%, damping 0.95x, yesterday 143.77% today 106.85% blend 79.51%
2026-08-15 04:55:02.604002: Today's predicted so far 3.31kWh with 0.0kWh car/iBoost excluded, 2.27kWh import ignored, and 3.31kWh forecast extra.
2026-08-15 04:55:02.604055: Today's actual load so far 4.52kWh with 0.0kWh car/iBoost excluded, and 2.27kWh import ignored.
2026-08-15 04:55:02.639063: Inverter 0: Type SK Sunsynk
2026-08-15 04:55:02.639154: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 04:55:02.639357: Reserve min: 7%, battery_min: 7%
2026-08-15 04:55:02.639449: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 04:55:02.639730: Inverter 0 SoC: 1.42kW 9%, current charge rate 5000W, current discharge rate 5250W, current battery power -4486W, current battery voltage 51.2V, grid power -5382W, load power 388W, PV Power 0W
2026-08-15 04:55:02.639887: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 04:55:02.639973: Inverter 0 scheduled charge enable is False
2026-08-15 04:55:02.640001: Inverter 0 charge windows currently []
2026-08-15 04:55:02.640026: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 04:55:02.640125: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 04:55:02.640161: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 04:55:02.640196: Inverter 0 scheduled discharge enable is False
2026-08-15 04:55:02.640341: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 04:55:02.640380: Inverter 0 discharge windows currently []
2026-08-15 04:55:02.640403: Note: Inverter does not support discharge freeze - disabled
2026-08-15 04:55:02.640421: Note: Inverter does not support charge freeze - disabled
2026-08-15 04:55:02.640438: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 04:55:02.695236: Dynamic load last period 0.60kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 04:55:02.695361: Plan was last updated on 2026-08-15 04:50:00+01:00 and is now 5.0 minutes old
2026-08-15 04:55:02.695665: Best charge window [ 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 00:30:00 @ 28.84p 100% ]
2026-08-15 04:55:02.695708: Best export window [  ]
2026-08-15 04:55:02.696463: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 04:55:02.699615: Load divergence over 8.0 hours mean 524.54W, min 287.4W, max 1543.2W, std dev 268.29W, divergence 25.57%
2026-08-15 04:55:02.719848: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 04:55:02.719955: LoadML is_calculating False
2026-08-15 04:55:02.720019: Creating pool of 12 processes to match your CPU count
2026-08-15 04:55:02.839616: predict base end_record 08-16 11:35:00, final soc 1.12kWh, metric 826.46p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 05:15:00, load 28.4kWh, PV 0.0kWh
2026-08-15 04:55:02.962479: Battery has 0.33 hours left - now at 1.42kWh
2026-08-15 04:55:03.002873: predict base10 end_record 08-16 11:35:00, final soc 1.12kWh, metric 855.02p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 05:15:00, load 29.53kWh, PV 0.0kWh
2026-08-15 04:55:03.082066: predict best10 end_record 08-16 11:35:00, final soc 1.44kWh, metric 687.55p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 05:15:00, load 29.53kWh, PV 0.0kWh
2026-08-15 04:55:03.174424: predict best end_record 08-16 11:35:00, final soc 1.51kWh, metric 661.71p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 05:15:00, load 28.4kWh, PV 0.0kWh
2026-08-15 04:55:03.174524: Saving plan best values to HA entities
2026-08-15 04:55:03.377643: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 04:55:03.383105: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0.0
2026-08-15 04:55:03.388498: Best charging limit SoC's [16.0, 3.5, 4.0, 16.0, 16.0, 16.0]kWh, export []kWh gives import battery 20.96kWh, house 5.1kWh, export 0.0kWh, metric 661.71p, metric10 687.55p
2026-08-15 04:55:03.454022: Marginal costs baseline metric (no standing charge): 611.7242
2026-08-15 04:55:03.684329: Marginal energy costs matrix computed: min=15.27 max=31.61
2026-08-15 04:55:03.747309: Rate array import [{'start': 295, 'end': 420, 'rate': 'expensive', 'range': '(25.7p - 27.6p)'}, {'start': 420, 'end': 450, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 450, 'end': 480, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 480, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 23.6p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1860, 'rate': 'expensive', 'range': '(24.6p - 32.9p)'}, {'start': 1860, 'end': 1890, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 1890, 'end': 1920, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 1920, 'end': 2135, 'rate': 'cheap', 'range': '(15.5p - 23.6p)'}] export [{'start': 295, 'end': 2135, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 04:55:03.747972: - Your estimated bill for today is £5.92 and tomorrow is £5.47
2026-08-15 04:55:03.748028: - Import rates are expensive (25.7p - 27.6p) for the next 2 hours and then cheap (22.7p) for the next 30 minutes.
2026-08-15 04:55:03.748056: - The battery is currently at 9% and is in eco mode for the next 6 and a half hours.
2026-08-15 04:55:03.748087: - For the next 48 hours there will be no solar generation.
2026-08-15 04:55:03.748104: - You will run out of battery in 20 minutes.
2026-08-15 04:55:03.748118: - Your next charge slot will be in 6 and a half hours where import rates will be cheap (15.5p).
2026-08-15 04:55:03.748135: 
2026-08-15 04:55:03.808484: Plan calculation took 1.11 seconds
2026-08-15 04:55:03.811738: No high rate period found
2026-08-15 04:55:03.864494: Import threshold used for optimisation was 22.92p
2026-08-15 04:55:03.912988: Low import rate windows [0: 08-15 04:30:00 - 08-15 05:00:00 @ 26.47, 1: 08-15 05:00:00 - 08-15 05:30:00 @ 26.25, 2: 08-15 05:30:00 - 08-15 06:00:00 @ 26.4, 3: 08-15 06:00:00 - 08-15 06:30:00 @ 25.7, 4: 08-15 06:30:00 - 08-15 07:00:00 @ 27.63, 5: 08-15 07:00:00 - 08-15 07:30:00 @ 22.73, 6: 08-15 07:30:00 - 08-15 08:00:00 @ 26.7, 7: 08-15 08:00:00 - 08-15 08:30:00 @ 22.92, 8: 08-15 08:30:00 - 08-15 09:00:00 @ 22.48, 9: 08-15 09:00:00 - 08-15 09:30:00 @ 23.55, 10: 08-15 09:30:00 - 08-15 10:00:00 @ 23.64, 11: 08-15 10:00:00 - 08-15 10:30:00 @ 19.66, 12: 08-15 10:30:00 - 08-15 11:00:00 @ 17.66, 13: 08-15 11:00:00 - 08-15 11:30:00 @ 16.56, 14: 08-15 11:30:00 - 08-15 12:00:00 @ 15.46, 15: 08-15 12:00:00 - 08-15 12:30:00 @ 17.0, 16: 08-15 12:30:00 - 08-15 13:00:00 @ 16.34, 17: 08-15 13:00:00 - 08-15 13:30:00 @ 15.36, 18: 08-15 13:30:00 - 08-15 14:00:00 @ 15.74, 19: 08-15 14:00:00 - 08-15 14:30:00 @ 14.57, 20: 08-15 14:30:00 - 08-15 15:00:00 @ 13.77, 21: 08-15 15:00:00 - 08-15 15:30:00 @ 15.02, 22: 08-15 15:30:00 - 08-15 16:00:00 @ 15.87, 23: 08-15 16:00:00 - 08-15 16:30:00 @ 33.13, 24: 08-15 16:30:00 - 08-15 17:00:00 @ 33.13, 25: 08-15 17:00:00 - 08-15 17:30:00 @ 38.46, 26: 08-15 17:30:00 - 08-15 18:00:00 @ 40.44, 27: 08-15 18:00:00 - 08-15 18:30:00 @ 41.55, 28: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 29: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 30: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 31: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 32: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 33: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 34: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 35: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 36: 08-15 23:00:00 - 08-15 23:30:00 @ 27.8, 37: 08-15 23:30:00 - 08-16 00:00:00 @ 29.09, 38: 08-16 00:00:00 - 08-16 00:30:00 @ 28.47, 39: 08-16 00:30:00 - 08-16 01:00:00 @ 27.18, 40: 08-16 01:00:00 - 08-16 01:30:00 @ 27.57, 41: 08-16 01:30:00 - 08-16 02:00:00 @ 26.5, 42: 08-16 02:00:00 - 08-16 02:30:00 @ 25.6, 43: 08-16 02:30:00 - 08-16 03:00:00 @ 24.79, 44: 08-16 03:00:00 - 08-16 03:30:00 @ 25.08, 45: 08-16 03:30:00 - 08-16 04:00:00 @ 24.62, 46: 08-16 04:00:00 - 08-16 04:30:00 @ 27.02, 47: 08-16 04:30:00 - 08-16 05:00:00 @ 26.47, 48: 08-16 05:00:00 - 08-16 05:30:00 @ 26.25, 49: 08-16 05:30:00 - 08-16 06:00:00 @ 26.4, 50: 08-16 06:00:00 - 08-16 06:30:00 @ 25.7, 51: 08-16 06:30:00 - 08-16 07:00:00 @ 27.63, 52: 08-16 07:00:00 - 08-16 07:30:00 @ 22.73, 53: 08-16 07:30:00 - 08-16 08:00:00 @ 26.7, 54: 08-16 08:00:00 - 08-16 08:30:00 @ 22.92, 55: 08-16 08:30:00 - 08-16 09:00:00 @ 22.48, 56: 08-16 09:00:00 - 08-16 09:30:00 @ 23.55, 57: 08-16 09:30:00 - 08-16 10:00:00 @ 23.64, 58: 08-16 10:00:00 - 08-16 10:30:00 @ 19.66, 59: 08-16 10:30:00 - 08-16 11:00:00 @ 17.66, 60: 08-16 11:00:00 - 08-16 11:30:00 @ 16.56, 61: 08-16 11:30:00 - 08-16 12:00:00 @ 15.46, 62: 08-16 12:00:00 - 08-16 12:30:00 @ 17.0, 63: 08-16 12:30:00 - 08-16 13:00:00 @ 16.34, 64: 08-16 13:00:00 - 08-16 13:30:00 @ 15.36, 65: 08-16 13:30:00 - 08-16 14:00:00 @ 15.74, 66: 08-16 14:00:00 - 08-16 14:30:00 @ 14.57, 67: 08-16 14:30:00 - 08-16 15:00:00 @ 13.77, 68: 08-16 15:00:00 - 08-16 15:30:00 @ 15.02, 69: 08-16 15:30:00 - 08-16 16:00:00 @ 15.87, 70: 08-16 16:00:00 - 08-16 16:30:00 @ 33.13, 71: 08-16 16:30:00 - 08-16 17:00:00 @ 33.13, 72: 08-16 17:00:00 - 08-16 17:30:00 @ 38.46, 73: 08-16 17:30:00 - 08-16 18:00:00 @ 40.44, 74: 08-16 18:00:00 - 08-16 18:30:00 @ 41.55, 75: 08-16 19:00:00 - 08-16 19:30:00 @ 32.58, 76: 08-16 19:30:00 - 08-16 20:00:00 @ 32.9, 77: 08-16 20:00:00 - 08-16 20:30:00 @ 31.99, 78: 08-16 20:30:00 - 08-16 21:00:00 @ 32.1, 79: 08-16 21:00:00 - 08-16 21:30:00 @ 31.71, 80: 08-16 21:30:00 - 08-16 22:00:00 @ 31.67, 81: 08-16 22:00:00 - 08-16 22:30:00 @ 31.77, 82: 08-16 22:30:00 - 08-16 23:00:00 @ 29.81, 83: 08-16 23:00:00 - 08-16 23:30:00 @ 27.8, 84: 08-16 23:30:00 - 08-17 00:00:00 @ 29.09, 85: 08-17 00:00:00 - 08-17 00:30:00 @ 28.47, 86: 08-17 00:30:00 - 08-17 01:00:00 @ 27.18, 87: 08-17 01:00:00 - 08-17 01:30:00 @ 27.57, 88: 08-17 01:30:00 - 08-17 02:00:00 @ 26.5, 89: 08-17 02:00:00 - 08-17 02:30:00 @ 25.6, 90: 08-17 02:30:00 - 08-17 03:00:00 @ 24.79, 91: 08-17 03:00:00 - 08-17 03:30:00 @ 25.08, 92: 08-17 03:30:00 - 08-17 04:00:00 @ 24.62, 93: 08-17 04:00:00 - 08-17 04:30:00 @ 27.02, 94: 08-17 04:30:00 - 08-17 05:00:00 @ 26.47]
2026-08-15 04:55:03.919093: Inverter 0 Charge window will be: 2026-08-15 11:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 9%, target 100%
2026-08-15 04:55:03.919279: Inverter 0 disabled charge window while waiting for schedule (now 08-15 04:55:00 target set_window_minutes 30 charge start time 08-15 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 04:55:03.919457: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 04:55:03.919775: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 04:55:03.919896: No export window planned
2026-08-15 04:55:03.920091: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 04:55:03.920163: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 04:55:03.920403: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 04:55:03.920615: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 04:55:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 04:55:03.920719: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 04:55:03.920815: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 04:55:03.920977: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 04:55:03.921094: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 04:55:03.921128: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 04:55:03.921151: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 04:55:03.921180: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 04:55:03.921205: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 04:55:03.921225: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 04:55:03.921316: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 04:55:03.921348: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 04:55:03.921371: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 04:55:03.921400: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 04:55:03.921422: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 04:55:03.921441: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 04:55:03.921459: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 04:55:03.921475: Inverter 0 count register writes 0
2026-08-15 04:55:03.936396: Will not recompute the plan, it is 5.0 minutes old and max age is 10 minutes
2026-08-15 04:55:03.941915: Total inverter register writes now 815
2026-08-15 04:55:03.973709: Info: Completed run status Demand
2026-08-15 04:55:03.979481: Info: record_status Demand
2026-08-15 04:55:04.000056: Saved current settings to /config/predbat_config.json
2026-08-15 04:55:04.000402: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 04:55:42.103536: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 04:55:42.103753: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 04:55:42.103786: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 04:55:42.103942: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 04:55:42.104022: Note: Inverter does not support discharge freeze - disabled
2026-08-15 04:55:42.104040: Note: Inverter does not support charge freeze - disabled
2026-08-15 04:55:42.104055: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 04:57:37.064684: TemperatureAPI: Using coordinates latitude 53.4, longitude -2.2
2026-08-15 04:57:37.219852: TemperatureAPI: Successfully fetched temperature data from Open-Meteo API
2026-08-15 04:57:42.314362: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 04:57:42.314593: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 04:57:42.314636: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 04:57:42.314792: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 04:57:42.314833: Note: Inverter does not support discharge freeze - disabled
2026-08-15 04:57:42.314858: Note: Inverter does not support charge freeze - disabled
2026-08-15 04:57:42.314881: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 04:59:20.919895: Info: HAHistory: Pruning history data started.
2026-08-15 04:59:20.934643: Info: HAHistory: Pruning history data completed.
2026-08-15 04:59:56.551738: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 04:59:56.551976: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 04:59:56.552012: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 04:59:56.552155: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 04:59:56.552197: Note: Inverter does not support discharge freeze - disabled
2026-08-15 04:59:56.552218: Note: Inverter does not support charge freeze - disabled
2026-08-15 04:59:56.552239: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 05:00:00.628193: --------------- PredBat - update at 2026-08-15 05:00:00+01:00 with clock skew 0 minutes, minutes now 300
2026-08-15 05:00:00.629068: Saved current settings to /config/predbat_config.json
2026-08-15 05:00:00.629344: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 55.0 minutes
2026-08-15 05:00:00.629444: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.1, latest beta is v8.48.1
2026-08-15 05:00:00.629603: Autoupdate: Currently up to date
2026-08-15 05:00:00.650151: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 05:00:00.650281: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 05:00:00.650472: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 05:00:00.651063: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 05:00:00.651188: Predbat mode is set to Control charge & discharge
2026-08-15 05:00:00.892544: Found 21602 load_today datapoints going back 27 days
2026-08-15 05:00:00.892712: Using load_power data to fill gaps in load_today data
2026-08-15 05:00:01.857900: Processing 721 30-minute periods for power integration
2026-08-15 05:00:02.066110: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 05:00:02.066254: Car charging hold False, threshold 6.0kWh
2026-08-15 05:00:02.066325: Current data so far today: load 4.5kWh, import 5.0kWh, export 0.0kWh, PV 0kWh
2026-08-15 05:00:02.092656: Cars: SoC: [12.892000000000001]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 05:00:02.093168: Standing charge is set to 49.98p
2026-08-15 05:00:02.130799: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 05:00:02.130926: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 05:00:02.131234: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 300.0 minutes
2026-08-15 05:00:02.131744: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 299.7 minutes
2026-08-15 05:00:02.136182: Loaded 47 datapoints of futurerate analysis
2026-08-15 05:00:02.244926: Predicted future rates: ['08-15 00:00:00 => 28.9 / 20.01', '08-15 01:00:00 => 27.54 / 19.31', '08-15 02:00:00 => 26.52 / 18.8', '08-15 03:00:00 => 25.99 / 18.53', '08-15 04:00:00 => 25.8 / 18.43', '08-15 05:00:00 => 25.96 / 18.51', '08-15 06:00:00 => 25.55 / 18.3', '08-15 07:00:00 => 24.33 / 17.68', '08-15 08:00:00 => 23.03 / 17.01', '08-15 09:00:00 => 22.05 / 16.51', '08-15 10:00:00 => 20.43 / 15.68', '08-15 11:00:00 => 18.01 / 14.45', '08-15 12:00:00 => 16.37 / 13.61', '08-15 13:00:00 => 15.76 / 13.3', '08-15 14:00:00 => 15.35 / 13.09', '08-15 15:00:00 => 15.86 / 13.35', '08-15 16:00:00 => 32.89 / 16.13', '08-15 17:00:00 => 38.02 / 18.75', '08-15 18:00:00 => 42.36 / 20.96', '08-15 19:00:00 => 31.09 / 21.13', '08-15 20:00:00 => 31.64 / 21.41', '08-15 21:00:00 => 31.64 / 21.41', '08-15 22:00:00 => 30.58 / 20.87']
2026-08-15 05:00:02.317256: Rate min forward looking: now 13.77p at end of forecast 13.77p
2026-08-15 05:00:02.317803: Import rates: min 13.77p, max 43.82p, average 25.96p
2026-08-15 05:00:02.363522: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 05:00:02.363652: Rate thresholds (for charge/export) are import 43.32p (0.0p), export -0.1p (0.0p)
2026-08-15 05:00:02.364850: High export rate found rates in range 99p to -99p
2026-08-15 05:00:02.453648: Low Import rate found rates in range 13.77p to 41.55p
2026-08-15 05:00:02.454054: Car 0 charging is not planned as it is not plugged in
2026-08-15 05:00:02.468902: Battery level now 1.42kWh, -1hr ago 1.42kWh, at midnight 1.66kWh, battery value change in the last hour 0.0p, change today -2.84p, rate_forward 11.83p
2026-08-15 05:00:02.469420: Last hour: net energy 0.54kWh, import 0.54kWh, export 0.0kWh, car 0kWh, load 0.73kWh, net cost 14.59p, import 14.59p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 05:00:02.530770: Today's energy total net 5.0kWh, import 5.0kWh, export 0.0kWh, cost 183.64p, import 133.66p, export 0.0p, carbon 0.0kg
2026-08-15 05:00:02.530948: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 05:00:02.619830: Using weighted-bucket historical load forecast over 14 days
2026-08-15 05:00:02.643935: Today's load divergence 106.86%, in-day adjustment 136.01%, damping 0.95x, yesterday 143.77% today 106.51% blend 79.17%
2026-08-15 05:00:02.644044: Today's predicted so far 3.43kWh with 0.0kWh car/iBoost excluded, 2.13kWh import ignored, and 3.43kWh forecast extra.
2026-08-15 05:00:02.644077: Today's actual load so far 4.57kWh with 0.0kWh car/iBoost excluded, and 2.13kWh import ignored.
2026-08-15 05:00:02.684804: Inverter 0: Type SK Sunsynk
2026-08-15 05:00:02.684904: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 05:00:02.685198: Reserve min: 7%, battery_min: 7%
2026-08-15 05:00:02.685340: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 05:00:02.685739: Inverter 0 SoC: 1.42kW 9%, current charge rate 5000W, current discharge rate 5250W, current battery power -4473W, current battery voltage 51.2V, grid power -5440W, load power 443W, PV Power 0W
2026-08-15 05:00:02.685966: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 05:00:02.686096: Inverter 0 scheduled charge enable is False
2026-08-15 05:00:02.686148: Inverter 0 charge windows currently []
2026-08-15 05:00:02.686201: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 05:00:02.686384: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 05:00:02.686430: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 05:00:02.686483: Inverter 0 scheduled discharge enable is False
2026-08-15 05:00:02.686678: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 05:00:02.686724: Inverter 0 discharge windows currently []
2026-08-15 05:00:02.686762: Note: Inverter does not support discharge freeze - disabled
2026-08-15 05:00:02.686804: Note: Inverter does not support charge freeze - disabled
2026-08-15 05:00:02.686826: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 05:00:02.750028: Dynamic load last period 0.00kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 05:00:02.750140: Plan was last updated on 2026-08-15 04:50:00+01:00 and is now 10.0 minutes old
2026-08-15 05:00:02.750442: Best charge window [ 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 00:30:00 @ 28.84p 100% ]
2026-08-15 05:00:02.750489: Best export window [  ]
2026-08-15 05:00:02.751367: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 05:00:02.754789: Load divergence over 8.0 hours mean 528.32W, min 281.4W, max 1483.8W, std dev 271.22W, divergence 25.67%
2026-08-15 05:00:02.774707: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 05:00:02.774837: LoadML is_calculating False
2026-08-15 05:00:02.774904: Creating pool of 12 processes to match your CPU count
2026-08-15 05:00:02.902794: predict base end_record 08-16 11:40:00, final soc 1.12kWh, metric 823.9p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 05:20:00, load 28.24kWh, PV 0.0kWh
2026-08-15 05:00:03.058983: Battery has 0.33 hours left - now at 1.42kWh
2026-08-15 05:00:03.109657: predict base10 end_record 08-16 11:40:00, final soc 1.12kWh, metric 852.33p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 05:20:00, load 29.37kWh, PV 0.0kWh
2026-08-15 05:00:03.216226: predict best10 end_record 08-16 11:40:00, final soc 1.77kWh, metric 690.68p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 05:20:00, load 29.37kWh, PV 0.0kWh
2026-08-15 05:00:03.301603: predict best end_record 08-16 11:40:00, final soc 1.9kWh, metric 666.33p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 05:20:00, load 28.24kWh, PV 0.0kWh
2026-08-15 05:00:03.301694: Saving plan best values to HA entities
2026-08-15 05:00:03.478526: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 05:00:03.483640: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0.0
2026-08-15 05:00:03.489084: Best charging limit SoC's [16.0, 3.5, 4.0, 16.0, 16.0, 16.0]kWh, export []kWh gives import battery 21.45kWh, house 4.97kWh, export 0.0kWh, metric 666.33p, metric10 690.68p
2026-08-15 05:00:03.559906: Marginal costs baseline metric (no standing charge): 616.3458
2026-08-15 05:00:03.791836: Marginal energy costs matrix computed: min=15.44 max=31.85
2026-08-15 05:00:03.860415: Rate array import [{'start': 300, 'end': 420, 'rate': 'expensive', 'range': '(25.7p - 27.6p)'}, {'start': 420, 'end': 450, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 450, 'end': 480, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 480, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 23.6p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1860, 'rate': 'expensive', 'range': '(24.6p - 32.9p)'}, {'start': 1860, 'end': 1890, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 1890, 'end': 1920, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 1920, 'end': 2140, 'rate': 'cheap', 'range': '(15.5p - 23.6p)'}] export [{'start': 300, 'end': 2140, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 05:00:03.861161: - Your estimated bill for today is £5.90 and tomorrow is £5.43
2026-08-15 05:00:03.861217: - Import rates are expensive (25.7p - 27.6p) for the next 2 hours and then cheap (22.7p) for the next 30 minutes.
2026-08-15 05:00:03.861251: - The battery is currently at 9% and is in eco mode for the next 6 and a half hours.
2026-08-15 05:00:03.861279: - For the next 48 hours there will be no solar generation.
2026-08-15 05:00:03.861346: - You will run out of battery in 20 minutes.
2026-08-15 05:00:03.861387: - Your next charge slot will be in 6 and a half hours where import rates will be cheap (15.5p).
2026-08-15 05:00:03.861417: 
2026-08-15 05:00:03.920016: Plan calculation took 1.17 seconds
2026-08-15 05:00:03.923817: No high rate period found
2026-08-15 05:00:03.981629: Import threshold used for optimisation was 22.92p
2026-08-15 05:00:04.075927: Low import rate windows [0: 08-15 05:00:00 - 08-15 05:30:00 @ 26.25, 1: 08-15 05:30:00 - 08-15 06:00:00 @ 26.4, 2: 08-15 06:00:00 - 08-15 06:30:00 @ 25.7, 3: 08-15 06:30:00 - 08-15 07:00:00 @ 27.63, 4: 08-15 07:00:00 - 08-15 07:30:00 @ 22.73, 5: 08-15 07:30:00 - 08-15 08:00:00 @ 26.7, 6: 08-15 08:00:00 - 08-15 08:30:00 @ 22.92, 7: 08-15 08:30:00 - 08-15 09:00:00 @ 22.48, 8: 08-15 09:00:00 - 08-15 09:30:00 @ 23.55, 9: 08-15 09:30:00 - 08-15 10:00:00 @ 23.64, 10: 08-15 10:00:00 - 08-15 10:30:00 @ 19.66, 11: 08-15 10:30:00 - 08-15 11:00:00 @ 17.66, 12: 08-15 11:00:00 - 08-15 11:30:00 @ 16.56, 13: 08-15 11:30:00 - 08-15 12:00:00 @ 15.46, 14: 08-15 12:00:00 - 08-15 12:30:00 @ 17.0, 15: 08-15 12:30:00 - 08-15 13:00:00 @ 16.34, 16: 08-15 13:00:00 - 08-15 13:30:00 @ 15.36, 17: 08-15 13:30:00 - 08-15 14:00:00 @ 15.74, 18: 08-15 14:00:00 - 08-15 14:30:00 @ 14.57, 19: 08-15 14:30:00 - 08-15 15:00:00 @ 13.77, 20: 08-15 15:00:00 - 08-15 15:30:00 @ 15.02, 21: 08-15 15:30:00 - 08-15 16:00:00 @ 15.87, 22: 08-15 16:00:00 - 08-15 16:30:00 @ 33.13, 23: 08-15 16:30:00 - 08-15 17:00:00 @ 33.13, 24: 08-15 17:00:00 - 08-15 17:30:00 @ 38.46, 25: 08-15 17:30:00 - 08-15 18:00:00 @ 40.44, 26: 08-15 18:00:00 - 08-15 18:30:00 @ 41.55, 27: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 28: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 29: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 30: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 31: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 32: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 33: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 34: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 35: 08-15 23:00:00 - 08-15 23:30:00 @ 27.8, 36: 08-15 23:30:00 - 08-16 00:00:00 @ 29.09, 37: 08-16 00:00:00 - 08-16 00:30:00 @ 28.47, 38: 08-16 00:30:00 - 08-16 01:00:00 @ 27.18, 39: 08-16 01:00:00 - 08-16 01:30:00 @ 27.57, 40: 08-16 01:30:00 - 08-16 02:00:00 @ 26.5, 41: 08-16 02:00:00 - 08-16 02:30:00 @ 25.6, 42: 08-16 02:30:00 - 08-16 03:00:00 @ 24.79, 43: 08-16 03:00:00 - 08-16 03:30:00 @ 25.08, 44: 08-16 03:30:00 - 08-16 04:00:00 @ 24.62, 45: 08-16 04:00:00 - 08-16 04:30:00 @ 27.02, 46: 08-16 04:30:00 - 08-16 05:00:00 @ 26.47, 47: 08-16 05:00:00 - 08-16 05:30:00 @ 26.25, 48: 08-16 05:30:00 - 08-16 06:00:00 @ 26.4, 49: 08-16 06:00:00 - 08-16 06:30:00 @ 25.7, 50: 08-16 06:30:00 - 08-16 07:00:00 @ 27.63, 51: 08-16 07:00:00 - 08-16 07:30:00 @ 22.73, 52: 08-16 07:30:00 - 08-16 08:00:00 @ 26.7, 53: 08-16 08:00:00 - 08-16 08:30:00 @ 22.92, 54: 08-16 08:30:00 - 08-16 09:00:00 @ 22.48, 55: 08-16 09:00:00 - 08-16 09:30:00 @ 23.55, 56: 08-16 09:30:00 - 08-16 10:00:00 @ 23.64, 57: 08-16 10:00:00 - 08-16 10:30:00 @ 19.66, 58: 08-16 10:30:00 - 08-16 11:00:00 @ 17.66, 59: 08-16 11:00:00 - 08-16 11:30:00 @ 16.56, 60: 08-16 11:30:00 - 08-16 12:00:00 @ 15.46, 61: 08-16 12:00:00 - 08-16 12:30:00 @ 17.0, 62: 08-16 12:30:00 - 08-16 13:00:00 @ 16.34, 63: 08-16 13:00:00 - 08-16 13:30:00 @ 15.36, 64: 08-16 13:30:00 - 08-16 14:00:00 @ 15.74, 65: 08-16 14:00:00 - 08-16 14:30:00 @ 14.57, 66: 08-16 14:30:00 - 08-16 15:00:00 @ 13.77, 67: 08-16 15:00:00 - 08-16 15:30:00 @ 15.02, 68: 08-16 15:30:00 - 08-16 16:00:00 @ 15.87, 69: 08-16 16:00:00 - 08-16 16:30:00 @ 33.13, 70: 08-16 16:30:00 - 08-16 17:00:00 @ 33.13, 71: 08-16 17:00:00 - 08-16 17:30:00 @ 38.46, 72: 08-16 17:30:00 - 08-16 18:00:00 @ 40.44, 73: 08-16 18:00:00 - 08-16 18:30:00 @ 41.55, 74: 08-16 19:00:00 - 08-16 19:30:00 @ 32.58, 75: 08-16 19:30:00 - 08-16 20:00:00 @ 32.9, 76: 08-16 20:00:00 - 08-16 20:30:00 @ 31.99, 77: 08-16 20:30:00 - 08-16 21:00:00 @ 32.1, 78: 08-16 21:00:00 - 08-16 21:30:00 @ 31.71, 79: 08-16 21:30:00 - 08-16 22:00:00 @ 31.67, 80: 08-16 22:00:00 - 08-16 22:30:00 @ 31.77, 81: 08-16 22:30:00 - 08-16 23:00:00 @ 29.81, 82: 08-16 23:00:00 - 08-16 23:30:00 @ 27.8, 83: 08-16 23:30:00 - 08-17 00:00:00 @ 29.09, 84: 08-17 00:00:00 - 08-17 00:30:00 @ 28.47, 85: 08-17 00:30:00 - 08-17 01:00:00 @ 27.18, 86: 08-17 01:00:00 - 08-17 01:30:00 @ 27.57, 87: 08-17 01:30:00 - 08-17 02:00:00 @ 26.5, 88: 08-17 02:00:00 - 08-17 02:30:00 @ 25.6, 89: 08-17 02:30:00 - 08-17 03:00:00 @ 24.79, 90: 08-17 03:00:00 - 08-17 03:30:00 @ 25.08, 91: 08-17 03:30:00 - 08-17 04:00:00 @ 24.62, 92: 08-17 04:00:00 - 08-17 04:30:00 @ 27.02, 93: 08-17 04:30:00 - 08-17 05:00:00 @ 26.47]
2026-08-15 05:00:04.084698: Inverter 0 Charge window will be: 2026-08-15 11:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 9%, target 100%
2026-08-15 05:00:04.084875: Inverter 0 disabled charge window while waiting for schedule (now 08-15 05:00:00 target set_window_minutes 30 charge start time 08-15 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 05:00:04.085036: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 05:00:04.085381: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 05:00:04.085496: No export window planned
2026-08-15 05:00:04.085655: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 05:00:04.085694: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 05:00:04.085876: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 05:00:04.086074: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 05:00:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 05:00:04.086151: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 05:00:04.086225: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 05:00:04.086339: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 05:00:04.086396: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 05:00:04.086439: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 05:00:04.086467: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 05:00:04.086490: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 05:00:04.086513: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 05:00:04.086534: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 05:00:04.086590: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 05:00:04.086625: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 05:00:04.086649: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 05:00:04.086672: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 05:00:04.086701: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 05:00:04.086725: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 05:00:04.086747: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 05:00:04.086767: Inverter 0 count register writes 0
2026-08-15 05:00:04.106410: Will recompute the plan as it is now 10.0 minutes old and will exceed the max age of 10 minutes before the next run
2026-08-15 05:00:04.106653: Recompute is saving previous plan...
2026-08-15 05:00:04.111025: Best charge window [ 15-08 05:00:00 - 15-08 05:30:00 @ 26.25p 0%, 15-08 05:30:00 - 15-08 06:00:00 @ 26.4p 0%, 15-08 06:00:00 - 15-08 06:30:00 @ 25.7p 0%, 15-08 06:30:00 - 15-08 07:00:00 @ 27.63p 0%, 15-08 07:00:00 - 15-08 07:30:00 @ 22.73p 0%, 15-08 07:30:00 - 15-08 08:00:00 @ 26.7p 0%, 15-08 08:00:00 - 15-08 08:30:00 @ 22.92p 0%, 15-08 08:30:00 - 15-08 09:00:00 @ 22.48p 0%, 15-08 09:00:00 - 15-08 09:30:00 @ 23.55p 0%, 15-08 09:30:00 - 15-08 10:00:00 @ 23.64p 0%, 15-08 10:00:00 - 15-08 10:30:00 @ 19.66p 0%, 15-08 10:30:00 - 15-08 11:00:00 @ 17.66p 0%, 15-08 11:00:00 - 15-08 11:30:00 @ 16.56p 0%, 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 0%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 0%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 0%, 15-08 13:00:00 - 15-08 13:30:00 @ 15.36p 0%, 15-08 13:30:00 - 15-08 14:00:00 @ 15.74p 0%, 15-08 14:00:00 - 15-08 14:30:00 @ 14.57p 0%, 15-08 14:30:00 - 15-08 15:00:00 @ 13.77p 0%, 15-08 15:00:00 - 15-08 15:30:00 @ 15.02p 0%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 0%, 15-08 16:00:00 - 15-08 16:30:00 @ 33.13p 0%, 15-08 16:30:00 - 15-08 17:00:00 @ 33.13p 0%, 15-08 17:00:00 - 15-08 17:30:00 @ 38.46p 0%, 15-08 17:30:00 - 15-08 18:00:00 @ 40.44p 0%, 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 0%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 0%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 0%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 0%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 0%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 27.8p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 29.09p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.47p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.18p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 27.57p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.5p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.6p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 24.79p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 25.08p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 24.62p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 27.02p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.47p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 26.25p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.4p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.7p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 27.63p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 22.73p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 26.7p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 22.92p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 22.48p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 23.55p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 23.64p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 19.66p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 17.66p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 16.56p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 15.46p 0%, 16-08 12:00:00 - 16-08 12:30:00 @ 17.0p 0%, 16-08 12:30:00 - 16-08 13:00:00 @ 16.34p 0%, 16-08 13:00:00 - 16-08 13:30:00 @ 15.36p 0%, 16-08 13:30:00 - 16-08 14:00:00 @ 15.74p 0%, 16-08 14:00:00 - 16-08 14:30:00 @ 14.57p 0%, 16-08 14:30:00 - 16-08 15:00:00 @ 13.77p 0%, 16-08 15:00:00 - 16-08 15:30:00 @ 15.02p 0%, 16-08 15:30:00 - 16-08 16:00:00 @ 15.87p 0%, 16-08 16:00:00 - 16-08 16:30:00 @ 33.13p 0%, 16-08 16:30:00 - 16-08 17:00:00 @ 33.13p 0%, 16-08 17:00:00 - 16-08 17:30:00 @ 38.46p 0%, 16-08 17:30:00 - 16-08 18:00:00 @ 40.44p 0%, 16-08 18:00:00 - 16-08 18:30:00 @ 41.55p 0%, 16-08 19:00:00 - 16-08 19:30:00 @ 32.58p 0%, 16-08 19:30:00 - 16-08 20:00:00 @ 32.9p 0%, 16-08 20:00:00 - 16-08 20:30:00 @ 31.99p 0%, 16-08 20:30:00 - 16-08 21:00:00 @ 32.1p 0%, 16-08 21:00:00 - 16-08 21:30:00 @ 31.71p 0%, 16-08 21:30:00 - 16-08 22:00:00 @ 31.67p 0%, 16-08 22:00:00 - 16-08 22:30:00 @ 31.77p 0%, 16-08 22:30:00 - 16-08 23:00:00 @ 29.81p 0%, 16-08 23:00:00 - 16-08 23:30:00 @ 27.8p 0%, 16-08 23:30:00 - 17-08 00:00:00 @ 29.09p 0%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.47p 0%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.18p 0%, 17-08 01:00:00 - 17-08 01:30:00 @ 27.57p 0%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.5p 0%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.6p 0%, 17-08 02:30:00 - 17-08 03:00:00 @ 24.79p 0%, 17-08 03:00:00 - 17-08 03:30:00 @ 25.08p 0%, 17-08 03:30:00 - 17-08 04:00:00 @ 24.62p 0%, 17-08 04:00:00 - 17-08 04:30:00 @ 27.02p 0%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.47p 0% ]
2026-08-15 05:00:04.111134: Best export window [  ]
2026-08-15 05:00:04.112052: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 05:00:04.115337: Load divergence over 8.0 hours mean 528.32W, min 281.4W, max 1483.8W, std dev 271.22W, divergence 25.67%
2026-08-15 05:00:04.136596: Calculating data from yesterday for savings calculation
2026-08-15 05:00:04.149374: Yesterday basic charge window best: [{'start': 840, 'end': 870, 'average': 21.7}] charge limit best: [16.0] based on max charge slots 1
2026-08-15 05:00:04.204040: predict yesterday end_record 08-16 00:00:00, final soc 1.12kWh, metric 843.72p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 00:00:00, load 26.2kWh, PV 0.0kWh
2026-08-15 05:00:04.219368: predict yesterday10 end_record 08-16 00:00:00, final soc 1.12kWh, metric 848.0p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 00:00:00, load 26.2kWh, PV 0.0kWh
2026-08-15 05:00:04.241146: predict yesterday end_record 08-16 00:00:00, final soc 1.12kWh, metric 843.72p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 00:00:00, load 26.2kWh, PV 0.0kWh
2026-08-15 05:00:04.278032: Yesterday: Predbat disabled was £8.44 (adjusted £8.3) vs £7.38 (adjusted £7.17), saving £1.05 (adjusted £1.13) with import 26.53kWh, export 0.0kWh, battery_cycle 4.66kWh, start_soc 1.12kWh,  final_soc 1.12kWh and battery_value 13.25kWh
2026-08-15 05:00:04.353908: predict yesterday end_record 08-16 00:00:00, final soc 0.0kWh, metric 852.35p, metric_keep 0kWh, min_soc 0kWh @ 08-15 00:00:00, load 26.2kWh, PV 0.0kWh
2026-08-15 05:00:04.354065: Yesterday: No Battery/PV system cost predicted was £8.52 (adjusted £8.52) vs £7.38 (adjusted £7.17), saving £1.14 (adjusted £1.35) with import 26.2kWh, export 0kWh and battery_value 0.0kWh
2026-08-15 05:00:04.366041: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 05:00:04.366185: LoadML is_calculating False
2026-08-15 05:00:04.366268: Creating pool of 12 processes to match your CPU count
2026-08-15 05:00:04.465866: Calculate Best options: mode(Control charge & discharge), calculate_export_oncharge(False), calculate_export_on_pv(True), set_export_freeze_only(False), set_discharge_during_charge(True), combine_charge_slots(False), combine_export_slots(False), combine_rate_threshold(0.0), best_soc_min(0.0 kWh), best_soc_max(0.0 kWh), best_soc_keep(0.0 kWh), inverter_loss(4%), battery_loss(3%), battery_loss_discharge (3%), inverter_hybrid(True), metric_min_improvement(0.0p), metric_min_improvement_export(0.1p), metric_min_improvement_export_freeze(0.1p), metric_battery_cycle(0.0p/kWh), metric_battery_value_scaling(1.0 x) 
2026-08-15 05:00:04.468186: Optimise levels pass started at 2026-08-15 05:00:04
2026-08-15 05:00:04.468247: Optimise all windows, total charge 94 export 1
2026-08-15 05:00:05.797353: >> Region optimisation pass width 960 gives best_metric 805.23p, best_cost 811.22p, best_cycle 54.01kWh, best_import 39.51kWh
2026-08-15 05:00:06.284873: >> Region optimisation pass width 480 gives best_metric 805.23p, best_cost 811.22p, best_cycle 54.01kWh, best_import 39.51kWh
2026-08-15 05:00:06.863390: >> Region optimisation pass width 240 gives best_metric 805.23p, best_cost 811.22p, best_cycle 54.01kWh, best_import 39.51kWh
2026-08-15 05:00:08.202029: >> Region optimisation pass width 120 gives best_metric 805.23p, best_cost 811.22p, best_cycle 54.01kWh, best_import 39.51kWh
2026-08-15 05:00:08.202550: Calculated end_record as 08-16 11:30:00 based on best_price 16.34p, next_charge_start 08-15 11:30:00, max_windows 60
2026-08-15 05:00:08.202694: Optimise levels pass ended at 2026-08-15 05:00:08, duration 3.7 seconds tried 313 combinations
2026-08-15 05:00:08.202806: Set best_price_charge_level 17.6p, best_price_export_level 0p, best_price_charge 16.34p, best_cost_export 0p, best_metric 805.23p, best_keep 0kWh, best_cycle 54.01kWh, best_carbon 0kg, best_import 39.51kWh
2026-08-15 05:00:08.224327: Starting detailed optimisation end_record 08-16 11:30:00, best_price_charge 16.34p, best_price_export 0p. lowest_price_charge 13.77p with charge limits [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0]kWh and export limits []kWh
2026-08-15 05:00:13.110158: Tweak plan optimisation started metric 591.17p, cost 600.49p
2026-08-15 05:00:13.393717: Tweak optimisation finished metric 591.17p, cost 600.49p, metric_keep 0kWh, cycle 30.06kWh, carbon 0kg, import 25.39kWh, changed 8 window(s)
2026-08-15 05:00:13.414756: Swap charge optimisation started metric 591.17p, cost 600.49p, min_improvement_swap 0.1p
2026-08-15 05:00:19.428676: Swap charge optimisation finished metric 591.17p, cost 600.49p
2026-08-15 05:00:19.545715: Pruned 2 dead plan slot(s) in 11 trial(s), nominal metric 587.24p -> 587.24p, plan now metric 591.2p, cost 600.49p, cycle 30.06kWh, import 25.39kWh
2026-08-15 05:00:19.556557: Raw charge windows [ 15-08 05:00:00 - 15-08 05:30:00 @ 26.25p 0%, 15-08 05:30:00 - 15-08 06:00:00 @ 26.4p 0%, 15-08 06:00:00 - 15-08 06:30:00 @ 25.7p 0%, 15-08 06:30:00 - 15-08 07:00:00 @ 27.63p 0%, 15-08 07:00:00 - 15-08 07:30:00 @ 22.73p 0%, 15-08 07:30:00 - 15-08 08:00:00 @ 26.7p 0%, 15-08 08:00:00 - 15-08 08:30:00 @ 22.92p 0%, 15-08 08:30:00 - 15-08 09:00:00 @ 22.48p 0%, 15-08 09:00:00 - 15-08 09:30:00 @ 23.55p 0%, 15-08 09:30:00 - 15-08 10:00:00 @ 23.64p 0%, 15-08 10:00:00 - 15-08 10:30:00 @ 19.66p 0%, 15-08 10:30:00 - 15-08 11:00:00 @ 17.66p 0%, 15-08 11:00:00 - 15-08 11:30:00 @ 16.56p 0%, 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 13:30:00 @ 15.36p 100%, 15-08 13:30:00 - 15-08 14:00:00 @ 15.74p 100%, 15-08 14:00:00 - 15-08 14:30:00 @ 14.57p 100%, 15-08 14:30:00 - 15-08 15:00:00 @ 13.77p 100%, 15-08 15:00:00 - 15-08 15:30:00 @ 15.02p 100%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 100%, 15-08 16:00:00 - 15-08 16:30:00 @ 33.13p 0%, 15-08 16:30:00 - 15-08 17:00:00 @ 33.13p 0%, 15-08 17:00:00 - 15-08 17:30:00 @ 38.46p 0%, 15-08 17:30:00 - 15-08 18:00:00 @ 40.44p 0%, 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 0%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 0%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 0%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 0%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 0%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 27.8p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 29.09p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.47p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.18p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 27.57p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.5p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.6p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 24.79p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 25.08p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 24.62p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 27.02p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.47p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 26.25p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.4p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.7p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 27.63p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 22.73p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 26.7p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 22.92p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 22.48p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 23.55p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 23.64p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 19.66p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 17.66p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 16.56p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 15.46p 100%, 16-08 12:00:00 - 16-08 12:30:00 @ 17.0p 100%, 16-08 12:30:00 - 16-08 13:00:00 @ 16.34p 100%, 16-08 13:00:00 - 16-08 13:30:00 @ 15.36p 100%, 16-08 13:30:00 - 16-08 14:00:00 @ 15.74p 100%, 16-08 14:00:00 - 16-08 14:30:00 @ 14.57p 100%, 16-08 14:30:00 - 16-08 15:00:00 @ 13.77p 100%, 16-08 15:00:00 - 16-08 15:30:00 @ 15.02p 100%, 16-08 15:30:00 - 16-08 16:00:00 @ 15.87p 100%, 16-08 16:00:00 - 16-08 16:30:00 @ 33.13p 100%, 16-08 16:30:00 - 16-08 17:00:00 @ 33.13p 100%, 16-08 17:00:00 - 16-08 17:30:00 @ 38.46p 100%, 16-08 17:30:00 - 16-08 18:00:00 @ 40.44p 100%, 16-08 18:00:00 - 16-08 18:30:00 @ 41.55p 100%, 16-08 19:00:00 - 16-08 19:30:00 @ 32.58p 100%, 16-08 19:30:00 - 16-08 20:00:00 @ 32.9p 100%, 16-08 20:00:00 - 16-08 20:30:00 @ 31.99p 100%, 16-08 20:30:00 - 16-08 21:00:00 @ 32.1p 100%, 16-08 21:00:00 - 16-08 21:30:00 @ 31.71p 100%, 16-08 21:30:00 - 16-08 22:00:00 @ 31.67p 100%, 16-08 22:00:00 - 16-08 22:30:00 @ 31.77p 100%, 16-08 22:30:00 - 16-08 23:00:00 @ 29.81p 100%, 16-08 23:00:00 - 16-08 23:30:00 @ 27.8p 100%, 16-08 23:30:00 - 17-08 00:00:00 @ 29.09p 100%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.47p 100%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.18p 100%, 17-08 01:00:00 - 17-08 01:30:00 @ 27.57p 100%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.5p 100%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.6p 100%, 17-08 02:30:00 - 17-08 03:00:00 @ 24.79p 100%, 17-08 03:00:00 - 17-08 03:30:00 @ 25.08p 100%, 17-08 03:30:00 - 17-08 04:00:00 @ 24.62p 100%, 17-08 04:00:00 - 17-08 04:30:00 @ 27.02p 100%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.47p 100% ] reserve 1.12
2026-08-15 05:00:19.557135: Unclipped charge windows [ 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 05:00:00 @ 26.23p 100% ] reserve 1.12
2026-08-15 05:00:19.557394: Unfiltered charge windows [ 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 05:00:00 @ 26.23p 100% ] reserve 1.12
2026-08-15 05:00:19.557615: Filtered charge windows [ 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 05:00:00 @ 26.23p 100% ] reserve 1.12
2026-08-15 05:00:19.588627: Previous plan best metric is 591.2 (cost 600.49) and new plan best metric is 591.17 (cost 600.49)
2026-08-15 05:00:19.588867: New plan metric is not significantly better (metric_min_improvement_plan 2.0) than previous plan, using previous plan
2026-08-15 05:00:19.589078: Plan valid is now true after recompute was False
2026-08-15 05:00:19.611350: predict base end_record 08-16 11:30:00, final soc 1.12kWh, metric 820.92p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 05:20:00, load 28.04kWh, PV 0.0kWh
2026-08-15 05:00:19.729668: Battery has 0.33 hours left - now at 1.42kWh
2026-08-15 05:00:19.772545: predict base10 end_record 08-16 11:30:00, final soc 1.12kWh, metric 849.21p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 05:20:00, load 29.16kWh, PV 0.0kWh
2026-08-15 05:00:19.854119: predict best10 end_record 08-16 11:30:00, final soc 1.12kWh, metric 676.83p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 05:20:00, load 29.16kWh, PV 0.0kWh
2026-08-15 05:00:19.933675: predict best end_record 08-16 11:30:00, final soc 1.12kWh, metric 650.47p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 05:20:00, load 28.04kWh, PV 0.0kWh
2026-08-15 05:00:19.933780: Saving plan best values to HA entities
2026-08-15 05:00:20.104821: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 05:00:20.110734: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0.0
2026-08-15 05:00:20.116502: Best charging limit SoC's [16.0, 3.5, 4.0, 16.0, 16.0, 16.0]kWh, export []kWh gives import battery 20.42kWh, house 4.97kWh, export 0.0kWh, metric 650.47p, metric10 676.83p
2026-08-15 05:00:20.191594: Marginal costs baseline metric (no standing charge): 600.489
2026-08-15 05:00:20.466361: Marginal energy costs matrix computed: min=15.44 max=31.85
2026-08-15 05:00:20.533904: Rate array import [{'start': 300, 'end': 420, 'rate': 'expensive', 'range': '(25.7p - 27.6p)'}, {'start': 420, 'end': 450, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 450, 'end': 480, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 480, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 23.6p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1860, 'rate': 'expensive', 'range': '(24.6p - 32.9p)'}, {'start': 1860, 'end': 1890, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 1890, 'end': 1920, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 1920, 'end': 2130, 'rate': 'cheap', 'range': '(16.6p - 23.6p)'}] export [{'start': 300, 'end': 2130, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 05:00:20.535131: - Your estimated bill for today is £5.90 and tomorrow is £5.43
2026-08-15 05:00:20.535186: - Import rates are expensive (25.7p - 27.6p) for the next 2 hours and then cheap (22.7p) for the next 30 minutes.
2026-08-15 05:00:20.535211: - The battery is currently at 9% and is in eco mode for the next 6 and a half hours.
2026-08-15 05:00:20.535229: - For the next 48 hours there will be no solar generation.
2026-08-15 05:00:20.535247: - You will run out of battery in 20 minutes.
2026-08-15 05:00:20.535265: - Your next charge slot will be in 6 and a half hours where import rates will be cheap (15.5p).
2026-08-15 05:00:20.535282: 
2026-08-15 05:00:20.595216: Plan calculation took 16.49 seconds
2026-08-15 05:00:20.595645: Inverter 0: Type SK Sunsynk
2026-08-15 05:00:20.595704: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 05:00:20.595998: Reserve min: 7%, battery_min: 7%
2026-08-15 05:00:20.596114: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 05:00:20.596532: Inverter 0 SoC: 1.55kW 10%, current charge rate 5000W, current discharge rate 5250W, current battery power -4474W, current battery voltage 51.2V, grid power -5459W, load power 462W, PV Power 0W
2026-08-15 05:00:20.596835: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 05:00:20.597016: Inverter 0 scheduled charge enable is False
2026-08-15 05:00:20.597069: Inverter 0 charge windows currently []
2026-08-15 05:00:20.597118: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 05:00:20.597286: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 05:00:20.597347: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 05:00:20.597407: Inverter 0 scheduled discharge enable is False
2026-08-15 05:00:20.597601: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 05:00:20.597645: Inverter 0 discharge windows currently []
2026-08-15 05:00:20.597676: Note: Inverter does not support discharge freeze - disabled
2026-08-15 05:00:20.597712: Note: Inverter does not support charge freeze - disabled
2026-08-15 05:00:20.597738: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 05:00:20.656377: Inverter 0 Charge window will be: 2026-08-15 11:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 10%, target 100%
2026-08-15 05:00:20.656530: Inverter 0 disabled charge window while waiting for schedule (now 08-15 05:00:00 target set_window_minutes 30 charge start time 08-15 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 05:00:20.656604: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 05:00:20.656805: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 05:00:20.656888: No export window planned
2026-08-15 05:00:20.657027: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 05:00:20.657069: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 05:00:20.657208: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 05:00:20.657402: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 05:00:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 05:00:20.657459: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 05:00:20.657512: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 05:00:20.657606: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 05:00:20.657645: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 05:00:20.657675: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 05:00:20.657701: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 05:00:20.657725: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 05:00:20.657749: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 05:00:20.657775: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 05:00:20.657830: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 05:00:20.657864: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 05:00:20.657890: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 05:00:20.657915: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 05:00:20.657939: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 05:00:20.657962: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 05:00:20.657991: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 05:00:20.658012: Inverter 0 count register writes 0
2026-08-15 05:00:20.681153: Total inverter register writes now 815
2026-08-15 05:00:20.715018: Info: Completed run status Demand
2026-08-15 05:00:20.721739: Info: record_status Demand
2026-08-15 05:00:20.728166: Saved current settings to /config/predbat_config.json
2026-08-15 05:00:20.728459: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 05:00:56.834263: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 05:00:56.834544: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 05:00:56.834609: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 05:00:56.834756: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 05:00:56.834798: Note: Inverter does not support discharge freeze - disabled
2026-08-15 05:00:56.834821: Note: Inverter does not support charge freeze - disabled
2026-08-15 05:00:56.834838: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 05:02:57.073735: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 05:02:57.073975: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 05:02:57.074010: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 05:02:57.074160: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 05:02:57.074199: Note: Inverter does not support discharge freeze - disabled
2026-08-15 05:02:57.074220: Note: Inverter does not support charge freeze - disabled
2026-08-15 05:02:57.074237: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 05:04:57.291536: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 05:04:57.291941: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 05:04:57.292025: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 05:04:57.292340: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 05:04:57.292420: Note: Inverter does not support discharge freeze - disabled
2026-08-15 05:04:57.292446: Note: Inverter does not support charge freeze - disabled
2026-08-15 05:04:57.292465: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 05:05:00.371357: --------------- PredBat - update at 2026-08-15 05:05:00+01:00 with clock skew 0 minutes, minutes now 305
2026-08-15 05:05:00.372087: Saved current settings to /config/predbat_config.json
2026-08-15 05:05:00.372216: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 60.0 minutes
2026-08-15 05:05:00.372313: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.1, latest beta is v8.48.1
2026-08-15 05:05:00.372484: Autoupdate: Currently up to date
2026-08-15 05:05:00.391928: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 05:05:00.392081: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 05:05:00.392266: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 05:05:00.392841: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 05:05:00.393011: Predbat mode is set to Control charge & discharge
2026-08-15 05:05:00.588987: Found 21602 load_today datapoints going back 27 days
2026-08-15 05:05:00.589160: Using load_power data to fill gaps in load_today data
2026-08-15 05:05:01.471022: Processing 721 30-minute periods for power integration
2026-08-15 05:05:01.657768: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 05:05:01.657915: Car charging hold False, threshold 6.0kWh
2026-08-15 05:05:01.657962: Current data so far today: load 4.5kWh, import 5.0kWh, export 0.0kWh, PV 0kWh
2026-08-15 05:05:01.672573: Cars: SoC: [12.892000000000001]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 05:05:01.672975: Standing charge is set to 49.98p
2026-08-15 05:05:01.699699: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 05:05:01.699815: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 05:05:01.700014: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 305.0 minutes
2026-08-15 05:05:01.700408: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 304.7 minutes
2026-08-15 05:05:01.703880: Loaded 47 datapoints of futurerate analysis
2026-08-15 05:05:01.791316: Predicted future rates: ['08-15 00:00:00 => 28.9 / 20.01', '08-15 01:00:00 => 27.54 / 19.31', '08-15 02:00:00 => 26.52 / 18.8', '08-15 03:00:00 => 25.99 / 18.53', '08-15 04:00:00 => 25.8 / 18.43', '08-15 05:00:00 => 25.96 / 18.51', '08-15 06:00:00 => 25.55 / 18.3', '08-15 07:00:00 => 24.33 / 17.68', '08-15 08:00:00 => 23.03 / 17.01', '08-15 09:00:00 => 22.05 / 16.51', '08-15 10:00:00 => 20.43 / 15.68', '08-15 11:00:00 => 18.01 / 14.45', '08-15 12:00:00 => 16.37 / 13.61', '08-15 13:00:00 => 15.76 / 13.3', '08-15 14:00:00 => 15.35 / 13.09', '08-15 15:00:00 => 15.86 / 13.35', '08-15 16:00:00 => 32.89 / 16.13', '08-15 17:00:00 => 38.02 / 18.75', '08-15 18:00:00 => 42.36 / 20.96', '08-15 19:00:00 => 31.09 / 21.13', '08-15 20:00:00 => 31.64 / 21.41', '08-15 21:00:00 => 31.64 / 21.41', '08-15 22:00:00 => 30.58 / 20.87']
2026-08-15 05:05:01.854270: Rate min forward looking: now 13.77p at end of forecast 13.77p
2026-08-15 05:05:01.854658: Import rates: min 13.77p, max 43.82p, average 25.96p
2026-08-15 05:05:01.897094: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 05:05:01.897235: Rate thresholds (for charge/export) are import 43.32p (0.0p), export -0.1p (0.0p)
2026-08-15 05:05:01.898494: High export rate found rates in range 99p to -99p
2026-08-15 05:05:01.979809: Low Import rate found rates in range 13.77p to 41.55p
2026-08-15 05:05:01.979934: Car 0 charging is not planned as it is not plugged in
2026-08-15 05:05:01.992793: Battery level now 1.42kWh, -1hr ago 1.42kWh, at midnight 1.66kWh, battery value change in the last hour 0.0p, change today -2.84p, rate_forward 11.83p
2026-08-15 05:05:01.993213: Last hour: net energy 0.5kWh, import 0.5kWh, export 0.0kWh, car 0kWh, load 0.7kWh, net cost 13.51p, import 13.51p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 05:05:02.039181: Today's energy total net 5.0kWh, import 5.0kWh, export 0.0kWh, cost 183.64p, import 133.66p, export 0.0p, carbon 0.0kg
2026-08-15 05:05:02.039320: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 05:05:02.102787: Using weighted-bucket historical load forecast over 14 days
2026-08-15 05:05:02.122270: Today's load divergence 106.88%, in-day adjustment 135.88%, damping 0.95x, yesterday 143.77% today 106.54% blend 78.82%
2026-08-15 05:05:02.122389: Today's predicted so far 3.51kWh with 0.0kWh car/iBoost excluded, 2.14kWh import ignored, and 3.51kWh forecast extra.
2026-08-15 05:05:02.122425: Today's actual load so far 4.67kWh with 0.0kWh car/iBoost excluded, and 2.14kWh import ignored.
2026-08-15 05:05:02.160141: Inverter 0: Type SK Sunsynk
2026-08-15 05:05:02.160233: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 05:05:02.160431: Reserve min: 7%, battery_min: 7%
2026-08-15 05:05:02.160505: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 05:05:02.160762: Inverter 0 SoC: 1.55kW 10%, current charge rate 5000W, current discharge rate 5250W, current battery power 478W, current battery voltage 51.2V, grid power -62W, load power 513W, PV Power 0W
2026-08-15 05:05:02.160919: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 05:05:02.161099: Inverter 0 scheduled charge enable is False
2026-08-15 05:05:02.161136: Inverter 0 charge windows currently []
2026-08-15 05:05:02.161162: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 05:05:02.161294: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 05:05:02.161331: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 05:05:02.161387: Inverter 0 scheduled discharge enable is False
2026-08-15 05:05:02.161530: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 05:05:02.161567: Inverter 0 discharge windows currently []
2026-08-15 05:05:02.161590: Note: Inverter does not support discharge freeze - disabled
2026-08-15 05:05:02.161613: Note: Inverter does not support charge freeze - disabled
2026-08-15 05:05:02.161630: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 05:05:02.218385: Dynamic load last period 0.00kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 05:05:02.218510: Plan was last updated on 2026-08-15 05:00:00+01:00 and is now 5.0 minutes old
2026-08-15 05:05:02.218738: Best charge window [ 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 00:30:00 @ 28.84p 100% ]
2026-08-15 05:05:02.218773: Best export window [  ]
2026-08-15 05:05:02.219472: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 05:05:02.221985: Load divergence over 8.0 hours mean 533.13W, min 269.4W, max 1367.4W, std dev 275.7W, divergence 25.86%
2026-08-15 05:05:02.237079: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 05:05:02.237181: LoadML is_calculating False
2026-08-15 05:05:02.237236: Creating pool of 12 processes to match your CPU count
2026-08-15 05:05:02.344550: predict base end_record 08-16 11:35:00, final soc 1.12kWh, metric 815.98p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 05:40:00, load 28.04kWh, PV 0.0kWh
2026-08-15 05:05:02.473049: Battery has 0.58 hours left - now at 1.55kWh
2026-08-15 05:05:02.517778: predict base10 end_record 08-16 11:35:00, final soc 1.12kWh, metric 844.21p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 05:40:00, load 29.16kWh, PV 0.0kWh
2026-08-15 05:05:02.600426: predict best10 end_record 08-16 11:35:00, final soc 1.44kWh, metric 677.64p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 05:40:00, load 29.16kWh, PV 0.0kWh
2026-08-15 05:05:02.683842: predict best end_record 08-16 11:35:00, final soc 1.51kWh, metric 652.69p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 05:40:00, load 28.04kWh, PV 0.0kWh
2026-08-15 05:05:02.683933: Saving plan best values to HA entities
2026-08-15 05:05:02.848851: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0
2026-08-15 05:05:02.854452: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 05:05:02.860927: Best charging limit SoC's [16.0, 3.5, 4.0, 16.0, 16.0, 16.0]kWh, export []kWh gives import battery 20.95kWh, house 4.73kWh, export 0.0kWh, metric 652.69p, metric10 677.64p
2026-08-15 05:05:02.936466: Marginal costs baseline metric (no standing charge): 602.7088
2026-08-15 05:05:03.174263: Marginal energy costs matrix computed: min=15.48 max=31.93
2026-08-15 05:05:03.263833: Rate array import [{'start': 305, 'end': 420, 'rate': 'expensive', 'range': '(25.7p - 27.6p)'}, {'start': 420, 'end': 450, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 450, 'end': 480, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 480, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 23.6p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1860, 'rate': 'expensive', 'range': '(24.6p - 32.9p)'}, {'start': 1860, 'end': 1890, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 1890, 'end': 1920, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 1920, 'end': 2135, 'rate': 'cheap', 'range': '(15.5p - 23.6p)'}] export [{'start': 305, 'end': 2135, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 05:05:03.264602: - Your estimated bill for today is £5.85 and tomorrow is £5.41
2026-08-15 05:05:03.264650: - Import rates are expensive (25.7p - 27.6p) for the next 1  hours and then cheap (22.7p) for the next 30 minutes.
2026-08-15 05:05:03.264673: - The battery is currently at 10% and is in eco mode for the next 6 and a half hours.
2026-08-15 05:05:03.264691: - For the next 48 hours there will be no solar generation.
2026-08-15 05:05:03.264708: - You will run out of battery in 35 minutes.
2026-08-15 05:05:03.264727: - Your next charge slot will be in 6 and a half hours where import rates will be cheap (15.5p).
2026-08-15 05:05:03.264744: 
2026-08-15 05:05:03.327623: Plan calculation took 1.11 seconds
2026-08-15 05:05:03.331073: No high rate period found
2026-08-15 05:05:03.384222: Import threshold used for optimisation was 22.92p
2026-08-15 05:05:03.436254: Low import rate windows [0: 08-15 05:00:00 - 08-15 05:30:00 @ 26.25, 1: 08-15 05:30:00 - 08-15 06:00:00 @ 26.4, 2: 08-15 06:00:00 - 08-15 06:30:00 @ 25.7, 3: 08-15 06:30:00 - 08-15 07:00:00 @ 27.63, 4: 08-15 07:00:00 - 08-15 07:30:00 @ 22.73, 5: 08-15 07:30:00 - 08-15 08:00:00 @ 26.7, 6: 08-15 08:00:00 - 08-15 08:30:00 @ 22.92, 7: 08-15 08:30:00 - 08-15 09:00:00 @ 22.48, 8: 08-15 09:00:00 - 08-15 09:30:00 @ 23.55, 9: 08-15 09:30:00 - 08-15 10:00:00 @ 23.64, 10: 08-15 10:00:00 - 08-15 10:30:00 @ 19.66, 11: 08-15 10:30:00 - 08-15 11:00:00 @ 17.66, 12: 08-15 11:00:00 - 08-15 11:30:00 @ 16.56, 13: 08-15 11:30:00 - 08-15 12:00:00 @ 15.46, 14: 08-15 12:00:00 - 08-15 12:30:00 @ 17.0, 15: 08-15 12:30:00 - 08-15 13:00:00 @ 16.34, 16: 08-15 13:00:00 - 08-15 13:30:00 @ 15.36, 17: 08-15 13:30:00 - 08-15 14:00:00 @ 15.74, 18: 08-15 14:00:00 - 08-15 14:30:00 @ 14.57, 19: 08-15 14:30:00 - 08-15 15:00:00 @ 13.77, 20: 08-15 15:00:00 - 08-15 15:30:00 @ 15.02, 21: 08-15 15:30:00 - 08-15 16:00:00 @ 15.87, 22: 08-15 16:00:00 - 08-15 16:30:00 @ 33.13, 23: 08-15 16:30:00 - 08-15 17:00:00 @ 33.13, 24: 08-15 17:00:00 - 08-15 17:30:00 @ 38.46, 25: 08-15 17:30:00 - 08-15 18:00:00 @ 40.44, 26: 08-15 18:00:00 - 08-15 18:30:00 @ 41.55, 27: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 28: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 29: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 30: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 31: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 32: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 33: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 34: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 35: 08-15 23:00:00 - 08-15 23:30:00 @ 27.8, 36: 08-15 23:30:00 - 08-16 00:00:00 @ 29.09, 37: 08-16 00:00:00 - 08-16 00:30:00 @ 28.47, 38: 08-16 00:30:00 - 08-16 01:00:00 @ 27.18, 39: 08-16 01:00:00 - 08-16 01:30:00 @ 27.57, 40: 08-16 01:30:00 - 08-16 02:00:00 @ 26.5, 41: 08-16 02:00:00 - 08-16 02:30:00 @ 25.6, 42: 08-16 02:30:00 - 08-16 03:00:00 @ 24.79, 43: 08-16 03:00:00 - 08-16 03:30:00 @ 25.08, 44: 08-16 03:30:00 - 08-16 04:00:00 @ 24.62, 45: 08-16 04:00:00 - 08-16 04:30:00 @ 27.02, 46: 08-16 04:30:00 - 08-16 05:00:00 @ 26.47, 47: 08-16 05:00:00 - 08-16 05:30:00 @ 26.25, 48: 08-16 05:30:00 - 08-16 06:00:00 @ 26.4, 49: 08-16 06:00:00 - 08-16 06:30:00 @ 25.7, 50: 08-16 06:30:00 - 08-16 07:00:00 @ 27.63, 51: 08-16 07:00:00 - 08-16 07:30:00 @ 22.73, 52: 08-16 07:30:00 - 08-16 08:00:00 @ 26.7, 53: 08-16 08:00:00 - 08-16 08:30:00 @ 22.92, 54: 08-16 08:30:00 - 08-16 09:00:00 @ 22.48, 55: 08-16 09:00:00 - 08-16 09:30:00 @ 23.55, 56: 08-16 09:30:00 - 08-16 10:00:00 @ 23.64, 57: 08-16 10:00:00 - 08-16 10:30:00 @ 19.66, 58: 08-16 10:30:00 - 08-16 11:00:00 @ 17.66, 59: 08-16 11:00:00 - 08-16 11:30:00 @ 16.56, 60: 08-16 11:30:00 - 08-16 12:00:00 @ 15.46, 61: 08-16 12:00:00 - 08-16 12:30:00 @ 17.0, 62: 08-16 12:30:00 - 08-16 13:00:00 @ 16.34, 63: 08-16 13:00:00 - 08-16 13:30:00 @ 15.36, 64: 08-16 13:30:00 - 08-16 14:00:00 @ 15.74, 65: 08-16 14:00:00 - 08-16 14:30:00 @ 14.57, 66: 08-16 14:30:00 - 08-16 15:00:00 @ 13.77, 67: 08-16 15:00:00 - 08-16 15:30:00 @ 15.02, 68: 08-16 15:30:00 - 08-16 16:00:00 @ 15.87, 69: 08-16 16:00:00 - 08-16 16:30:00 @ 33.13, 70: 08-16 16:30:00 - 08-16 17:00:00 @ 33.13, 71: 08-16 17:00:00 - 08-16 17:30:00 @ 38.46, 72: 08-16 17:30:00 - 08-16 18:00:00 @ 40.44, 73: 08-16 18:00:00 - 08-16 18:30:00 @ 41.55, 74: 08-16 19:00:00 - 08-16 19:30:00 @ 32.58, 75: 08-16 19:30:00 - 08-16 20:00:00 @ 32.9, 76: 08-16 20:00:00 - 08-16 20:30:00 @ 31.99, 77: 08-16 20:30:00 - 08-16 21:00:00 @ 32.1, 78: 08-16 21:00:00 - 08-16 21:30:00 @ 31.71, 79: 08-16 21:30:00 - 08-16 22:00:00 @ 31.67, 80: 08-16 22:00:00 - 08-16 22:30:00 @ 31.77, 81: 08-16 22:30:00 - 08-16 23:00:00 @ 29.81, 82: 08-16 23:00:00 - 08-16 23:30:00 @ 27.8, 83: 08-16 23:30:00 - 08-17 00:00:00 @ 29.09, 84: 08-17 00:00:00 - 08-17 00:30:00 @ 28.47, 85: 08-17 00:30:00 - 08-17 01:00:00 @ 27.18, 86: 08-17 01:00:00 - 08-17 01:30:00 @ 27.57, 87: 08-17 01:30:00 - 08-17 02:00:00 @ 26.5, 88: 08-17 02:00:00 - 08-17 02:30:00 @ 25.6, 89: 08-17 02:30:00 - 08-17 03:00:00 @ 24.79, 90: 08-17 03:00:00 - 08-17 03:30:00 @ 25.08, 91: 08-17 03:30:00 - 08-17 04:00:00 @ 24.62, 92: 08-17 04:00:00 - 08-17 04:30:00 @ 27.02, 93: 08-17 04:30:00 - 08-17 05:00:00 @ 26.47, 94: 08-17 05:00:00 - 08-17 05:30:00 @ 26.25]
2026-08-15 05:05:03.444012: Inverter 0 Charge window will be: 2026-08-15 11:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 10%, target 100%
2026-08-15 05:05:03.444156: Inverter 0 disabled charge window while waiting for schedule (now 08-15 05:05:00 target set_window_minutes 30 charge start time 08-15 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 05:05:03.444284: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 05:05:03.444571: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 05:05:03.444671: No export window planned
2026-08-15 05:05:03.444786: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 05:05:03.444822: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 05:05:03.444990: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 05:05:03.445183: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 05:05:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 05:05:03.445248: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 05:05:03.445311: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 05:05:03.445425: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 05:05:03.445470: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 05:05:03.445501: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 05:05:03.445532: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 05:05:03.445562: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 05:05:03.445586: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 05:05:03.445614: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 05:05:03.445680: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 05:05:03.445740: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 05:05:03.445771: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 05:05:03.445800: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 05:05:03.445829: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 05:05:03.445852: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 05:05:03.445875: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 05:05:03.445895: Inverter 0 count register writes 0
2026-08-15 05:05:03.461504: Will not recompute the plan, it is 5.0 minutes old and max age is 10 minutes
2026-08-15 05:05:03.466672: Total inverter register writes now 815
2026-08-15 05:05:03.498327: Info: Completed run status Demand
2026-08-15 05:05:03.504673: Info: record_status Demand
2026-08-15 05:05:03.510967: Saved current settings to /config/predbat_config.json
2026-08-15 05:05:03.511253: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 05:05:41.612626: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 05:05:41.612882: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 05:05:41.612944: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 05:05:41.613173: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 05:05:41.613217: Note: Inverter does not support discharge freeze - disabled
2026-08-15 05:05:41.613239: Note: Inverter does not support charge freeze - disabled
2026-08-15 05:05:41.613257: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 05:07:41.824139: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 05:07:41.824504: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 05:07:41.824566: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 05:07:41.824742: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 05:07:41.824811: Note: Inverter does not support discharge freeze - disabled
2026-08-15 05:07:41.824844: Note: Inverter does not support charge freeze - disabled
2026-08-15 05:07:41.824862: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 05:09:42.036376: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 05:09:42.036697: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 05:09:42.036759: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 05:09:42.036991: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 05:09:42.037051: Note: Inverter does not support discharge freeze - disabled
2026-08-15 05:09:42.037116: Note: Inverter does not support charge freeze - disabled
2026-08-15 05:09:42.037197: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 05:10:00.134821: --------------- PredBat - update at 2026-08-15 05:10:00+01:00 with clock skew 0 minutes, minutes now 310
2026-08-15 05:10:00.135805: Saved current settings to /config/predbat_config.json
2026-08-15 05:10:00.135941: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 65.0 minutes
2026-08-15 05:10:00.136064: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.1, latest beta is v8.48.1
2026-08-15 05:10:00.136151: Autoupdate: Currently up to date
2026-08-15 05:10:00.160385: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 05:10:00.160543: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 05:10:00.160714: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 05:10:00.161359: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 05:10:00.161537: Predbat mode is set to Control charge & discharge
2026-08-15 05:10:00.372557: Found 21602 load_today datapoints going back 28 days
2026-08-15 05:10:00.372718: Using load_power data to fill gaps in load_today data
2026-08-15 05:10:01.229881: Processing 721 30-minute periods for power integration
2026-08-15 05:10:01.398538: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 05:10:01.398688: Car charging hold False, threshold 6.0kWh
2026-08-15 05:10:01.398726: Current data so far today: load 4.62kWh, import 5.8kWh, export 0.0kWh, PV 0kWh
2026-08-15 05:10:01.410929: Cars: SoC: [12.892000000000001]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 05:10:01.412103: Standing charge is set to 49.98p
2026-08-15 05:10:01.438976: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 05:10:01.439044: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 05:10:01.439197: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 310.0 minutes
2026-08-15 05:10:01.439537: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 309.6 minutes
2026-08-15 05:10:01.441998: Loaded 47 datapoints of futurerate analysis
2026-08-15 05:10:01.509731: Predicted future rates: ['08-15 00:00:00 => 28.9 / 20.01', '08-15 01:00:00 => 27.54 / 19.31', '08-15 02:00:00 => 26.52 / 18.8', '08-15 03:00:00 => 25.99 / 18.53', '08-15 04:00:00 => 25.8 / 18.43', '08-15 05:00:00 => 25.96 / 18.51', '08-15 06:00:00 => 25.55 / 18.3', '08-15 07:00:00 => 24.33 / 17.68', '08-15 08:00:00 => 23.03 / 17.01', '08-15 09:00:00 => 22.05 / 16.51', '08-15 10:00:00 => 20.43 / 15.68', '08-15 11:00:00 => 18.01 / 14.45', '08-15 12:00:00 => 16.37 / 13.61', '08-15 13:00:00 => 15.76 / 13.3', '08-15 14:00:00 => 15.35 / 13.09', '08-15 15:00:00 => 15.86 / 13.35', '08-15 16:00:00 => 32.89 / 16.13', '08-15 17:00:00 => 38.02 / 18.75', '08-15 18:00:00 => 42.36 / 20.96', '08-15 19:00:00 => 31.09 / 21.13', '08-15 20:00:00 => 31.64 / 21.41', '08-15 21:00:00 => 31.64 / 21.41', '08-15 22:00:00 => 30.58 / 20.87']
2026-08-15 05:10:01.558762: Rate min forward looking: now 13.77p at end of forecast 13.77p
2026-08-15 05:10:01.559240: Import rates: min 13.77p, max 43.82p, average 25.96p
2026-08-15 05:10:01.593493: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 05:10:01.593604: Rate thresholds (for charge/export) are import 43.32p (0.0p), export -0.1p (0.0p)
2026-08-15 05:10:01.594648: High export rate found rates in range 99p to -99p
2026-08-15 05:10:01.661570: Low Import rate found rates in range 13.77p to 41.55p
2026-08-15 05:10:01.661705: Car 0 charging is not planned as it is not plugged in
2026-08-15 05:10:01.674402: Battery level now 1.55kWh, -1hr ago 1.94kWh, at midnight 1.66kWh, battery value change in the last hour -4.64p, change today -1.23p, rate_forward 11.83p
2026-08-15 05:10:01.674808: Last hour: net energy 1.05kWh, import 1.05kWh, export 0.0kWh, car 0kWh, load 0.67kWh, net cost 28.03p, import 28.03p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 05:10:01.719614: Today's energy total net 5.8kWh, import 5.8kWh, export 0.0kWh, cost 204.93p, import 154.95p, export 0.0p, carbon 0.0kg
2026-08-15 05:10:01.719747: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 05:10:01.793560: Using weighted-bucket historical load forecast over 14 days
2026-08-15 05:10:01.816611: Today's load divergence 107.23%, in-day adjustment 135.83%, damping 0.95x, yesterday 143.77% today 106.87% blend 78.47%
2026-08-15 05:10:01.816715: Today's predicted so far 3.51kWh with 0.0kWh car/iBoost excluded, 2.53kWh import ignored, and 3.51kWh forecast extra.
2026-08-15 05:10:01.816747: Today's actual load so far 4.73kWh with 0.0kWh car/iBoost excluded, and 2.53kWh import ignored.
2026-08-15 05:10:01.856223: Inverter 0: Type SK Sunsynk
2026-08-15 05:10:01.856326: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 05:10:01.856558: Reserve min: 7%, battery_min: 7%
2026-08-15 05:10:01.856640: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 05:10:01.856926: Inverter 0 SoC: 2.08kW 13%, current charge rate 5000W, current discharge rate 5250W, current battery power 513W, current battery voltage 51.2V, grid power -54W, load power 569W, PV Power 0W
2026-08-15 05:10:01.857117: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 05:10:01.857213: Inverter 0 scheduled charge enable is False
2026-08-15 05:10:01.857249: Inverter 0 charge windows currently []
2026-08-15 05:10:01.857275: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 05:10:01.857384: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 05:10:01.857440: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 05:10:01.857480: Inverter 0 scheduled discharge enable is False
2026-08-15 05:10:01.857605: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 05:10:01.857642: Inverter 0 discharge windows currently []
2026-08-15 05:10:01.857665: Note: Inverter does not support discharge freeze - disabled
2026-08-15 05:10:01.857688: Note: Inverter does not support charge freeze - disabled
2026-08-15 05:10:01.857707: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 05:10:01.920727: Dynamic load last period 0.30kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 05:10:01.920841: Plan was last updated on 2026-08-15 05:00:00+01:00 and is now 10.0 minutes old
2026-08-15 05:10:01.921159: Best charge window [ 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 00:30:00 @ 28.84p 100% ]
2026-08-15 05:10:01.921209: Best export window [  ]
2026-08-15 05:10:01.922039: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 05:10:01.924630: Load divergence over 8.0 hours mean 538.87W, min 268.2W, max 1500.0W, std dev 281.63W, divergence 26.13%
2026-08-15 05:10:01.939983: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 05:10:01.940082: LoadML is_calculating False
2026-08-15 05:10:01.940134: Creating pool of 12 processes to match your CPU count
2026-08-15 05:10:02.051894: predict base end_record 08-16 11:40:00, final soc 1.12kWh, metric 825.29p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 06:35:00, load 28.24kWh, PV 0.0kWh
2026-08-15 05:10:02.180991: Battery has 1.42 hours left - now at 2.08kWh
2026-08-15 05:10:02.227099: predict base10 end_record 08-16 11:40:00, final soc 1.12kWh, metric 853.6p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 06:30:00, load 29.36kWh, PV 0.0kWh
2026-08-15 05:10:02.318532: predict best10 end_record 08-16 11:40:00, final soc 1.77kWh, metric 692.29p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 06:30:00, load 29.36kWh, PV 0.0kWh
2026-08-15 05:10:02.409150: predict best end_record 08-16 11:40:00, final soc 1.9kWh, metric 668.16p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 06:35:00, load 28.24kWh, PV 0.0kWh
2026-08-15 05:10:02.409279: Saving plan best values to HA entities
2026-08-15 05:10:02.589247: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 05:10:02.595688: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 05:10:02.601462: Best charging limit SoC's [16.0, 3.5, 4.0, 16.0, 16.0, 16.0]kWh, export []kWh gives import battery 21.46kWh, house 4.22kWh, export 0.0kWh, metric 668.16p, metric10 692.29p
2026-08-15 05:10:02.667269: Marginal costs baseline metric (no standing charge): 618.172
2026-08-15 05:10:02.925473: Marginal energy costs matrix computed: min=15.42 max=32.1
2026-08-15 05:10:03.002257: Rate array import [{'start': 310, 'end': 420, 'rate': 'expensive', 'range': '(25.7p - 27.6p)'}, {'start': 420, 'end': 450, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 450, 'end': 480, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 480, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 23.6p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1860, 'rate': 'expensive', 'range': '(24.6p - 32.9p)'}, {'start': 1860, 'end': 1890, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 1890, 'end': 1920, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 1920, 'end': 2140, 'rate': 'cheap', 'range': '(15.5p - 23.6p)'}] export [{'start': 310, 'end': 2140, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 05:10:03.002833: - Your estimated bill for today is £5.92 and tomorrow is £5.43
2026-08-15 05:10:03.002872: - Import rates are expensive (25.7p - 27.6p) for the next 1 and three quarters hours and then cheap (22.7p) for the next 30 minutes.
2026-08-15 05:10:03.002890: - The battery is currently at 13% and is in eco mode for the next 6 and a quarter hours.
2026-08-15 05:10:03.002905: - For the next 48 hours there will be no solar generation.
2026-08-15 05:10:03.002918: - You will run out of battery in 1 and a half hours.
2026-08-15 05:10:03.002932: - Your next charge slot will be in 6 and a quarter hours where import rates will be cheap (15.5p).
2026-08-15 05:10:03.002945: 
2026-08-15 05:10:03.051926: Plan calculation took 1.13 seconds
2026-08-15 05:10:03.055592: No high rate period found
2026-08-15 05:10:03.111404: Import threshold used for optimisation was 22.92p
2026-08-15 05:10:03.162223: Low import rate windows [0: 08-15 05:00:00 - 08-15 05:30:00 @ 26.25, 1: 08-15 05:30:00 - 08-15 06:00:00 @ 26.4, 2: 08-15 06:00:00 - 08-15 06:30:00 @ 25.7, 3: 08-15 06:30:00 - 08-15 07:00:00 @ 27.63, 4: 08-15 07:00:00 - 08-15 07:30:00 @ 22.73, 5: 08-15 07:30:00 - 08-15 08:00:00 @ 26.7, 6: 08-15 08:00:00 - 08-15 08:30:00 @ 22.92, 7: 08-15 08:30:00 - 08-15 09:00:00 @ 22.48, 8: 08-15 09:00:00 - 08-15 09:30:00 @ 23.55, 9: 08-15 09:30:00 - 08-15 10:00:00 @ 23.64, 10: 08-15 10:00:00 - 08-15 10:30:00 @ 19.66, 11: 08-15 10:30:00 - 08-15 11:00:00 @ 17.66, 12: 08-15 11:00:00 - 08-15 11:30:00 @ 16.56, 13: 08-15 11:30:00 - 08-15 12:00:00 @ 15.46, 14: 08-15 12:00:00 - 08-15 12:30:00 @ 17.0, 15: 08-15 12:30:00 - 08-15 13:00:00 @ 16.34, 16: 08-15 13:00:00 - 08-15 13:30:00 @ 15.36, 17: 08-15 13:30:00 - 08-15 14:00:00 @ 15.74, 18: 08-15 14:00:00 - 08-15 14:30:00 @ 14.57, 19: 08-15 14:30:00 - 08-15 15:00:00 @ 13.77, 20: 08-15 15:00:00 - 08-15 15:30:00 @ 15.02, 21: 08-15 15:30:00 - 08-15 16:00:00 @ 15.87, 22: 08-15 16:00:00 - 08-15 16:30:00 @ 33.13, 23: 08-15 16:30:00 - 08-15 17:00:00 @ 33.13, 24: 08-15 17:00:00 - 08-15 17:30:00 @ 38.46, 25: 08-15 17:30:00 - 08-15 18:00:00 @ 40.44, 26: 08-15 18:00:00 - 08-15 18:30:00 @ 41.55, 27: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 28: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 29: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 30: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 31: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 32: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 33: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 34: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 35: 08-15 23:00:00 - 08-15 23:30:00 @ 27.8, 36: 08-15 23:30:00 - 08-16 00:00:00 @ 29.09, 37: 08-16 00:00:00 - 08-16 00:30:00 @ 28.47, 38: 08-16 00:30:00 - 08-16 01:00:00 @ 27.18, 39: 08-16 01:00:00 - 08-16 01:30:00 @ 27.57, 40: 08-16 01:30:00 - 08-16 02:00:00 @ 26.5, 41: 08-16 02:00:00 - 08-16 02:30:00 @ 25.6, 42: 08-16 02:30:00 - 08-16 03:00:00 @ 24.79, 43: 08-16 03:00:00 - 08-16 03:30:00 @ 25.08, 44: 08-16 03:30:00 - 08-16 04:00:00 @ 24.62, 45: 08-16 04:00:00 - 08-16 04:30:00 @ 27.02, 46: 08-16 04:30:00 - 08-16 05:00:00 @ 26.47, 47: 08-16 05:00:00 - 08-16 05:30:00 @ 26.25, 48: 08-16 05:30:00 - 08-16 06:00:00 @ 26.4, 49: 08-16 06:00:00 - 08-16 06:30:00 @ 25.7, 50: 08-16 06:30:00 - 08-16 07:00:00 @ 27.63, 51: 08-16 07:00:00 - 08-16 07:30:00 @ 22.73, 52: 08-16 07:30:00 - 08-16 08:00:00 @ 26.7, 53: 08-16 08:00:00 - 08-16 08:30:00 @ 22.92, 54: 08-16 08:30:00 - 08-16 09:00:00 @ 22.48, 55: 08-16 09:00:00 - 08-16 09:30:00 @ 23.55, 56: 08-16 09:30:00 - 08-16 10:00:00 @ 23.64, 57: 08-16 10:00:00 - 08-16 10:30:00 @ 19.66, 58: 08-16 10:30:00 - 08-16 11:00:00 @ 17.66, 59: 08-16 11:00:00 - 08-16 11:30:00 @ 16.56, 60: 08-16 11:30:00 - 08-16 12:00:00 @ 15.46, 61: 08-16 12:00:00 - 08-16 12:30:00 @ 17.0, 62: 08-16 12:30:00 - 08-16 13:00:00 @ 16.34, 63: 08-16 13:00:00 - 08-16 13:30:00 @ 15.36, 64: 08-16 13:30:00 - 08-16 14:00:00 @ 15.74, 65: 08-16 14:00:00 - 08-16 14:30:00 @ 14.57, 66: 08-16 14:30:00 - 08-16 15:00:00 @ 13.77, 67: 08-16 15:00:00 - 08-16 15:30:00 @ 15.02, 68: 08-16 15:30:00 - 08-16 16:00:00 @ 15.87, 69: 08-16 16:00:00 - 08-16 16:30:00 @ 33.13, 70: 08-16 16:30:00 - 08-16 17:00:00 @ 33.13, 71: 08-16 17:00:00 - 08-16 17:30:00 @ 38.46, 72: 08-16 17:30:00 - 08-16 18:00:00 @ 40.44, 73: 08-16 18:00:00 - 08-16 18:30:00 @ 41.55, 74: 08-16 19:00:00 - 08-16 19:30:00 @ 32.58, 75: 08-16 19:30:00 - 08-16 20:00:00 @ 32.9, 76: 08-16 20:00:00 - 08-16 20:30:00 @ 31.99, 77: 08-16 20:30:00 - 08-16 21:00:00 @ 32.1, 78: 08-16 21:00:00 - 08-16 21:30:00 @ 31.71, 79: 08-16 21:30:00 - 08-16 22:00:00 @ 31.67, 80: 08-16 22:00:00 - 08-16 22:30:00 @ 31.77, 81: 08-16 22:30:00 - 08-16 23:00:00 @ 29.81, 82: 08-16 23:00:00 - 08-16 23:30:00 @ 27.8, 83: 08-16 23:30:00 - 08-17 00:00:00 @ 29.09, 84: 08-17 00:00:00 - 08-17 00:30:00 @ 28.47, 85: 08-17 00:30:00 - 08-17 01:00:00 @ 27.18, 86: 08-17 01:00:00 - 08-17 01:30:00 @ 27.57, 87: 08-17 01:30:00 - 08-17 02:00:00 @ 26.5, 88: 08-17 02:00:00 - 08-17 02:30:00 @ 25.6, 89: 08-17 02:30:00 - 08-17 03:00:00 @ 24.79, 90: 08-17 03:00:00 - 08-17 03:30:00 @ 25.08, 91: 08-17 03:30:00 - 08-17 04:00:00 @ 24.62, 92: 08-17 04:00:00 - 08-17 04:30:00 @ 27.02, 93: 08-17 04:30:00 - 08-17 05:00:00 @ 26.47, 94: 08-17 05:00:00 - 08-17 05:30:00 @ 26.25]
2026-08-15 05:10:03.167871: Inverter 0 Charge window will be: 2026-08-15 11:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 13%, target 100%
2026-08-15 05:10:03.167976: Inverter 0 disabled charge window while waiting for schedule (now 08-15 05:10:00 target set_window_minutes 30 charge start time 08-15 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 05:10:03.168076: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 05:10:03.168374: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 05:10:03.168515: No export window planned
2026-08-15 05:10:03.168606: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 05:10:03.168630: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 05:10:03.168793: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 05:10:03.168996: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 05:10:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 05:10:03.169082: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 05:10:03.169135: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 05:10:03.169212: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 05:10:03.169239: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 05:10:03.169260: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 05:10:03.169279: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 05:10:03.169299: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 05:10:03.169319: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 05:10:03.169338: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 05:10:03.169395: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 05:10:03.169437: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 05:10:03.169460: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 05:10:03.169484: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 05:10:03.169503: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 05:10:03.169522: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 05:10:03.169541: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 05:10:03.169557: Inverter 0 count register writes 0
2026-08-15 05:10:03.186630: Will recompute the plan as it is now 10.0 minutes old and will exceed the max age of 10 minutes before the next run
2026-08-15 05:10:03.186805: Recompute is saving previous plan...
2026-08-15 05:10:03.189379: Best charge window [ 15-08 05:00:00 - 15-08 05:30:00 @ 26.25p 0%, 15-08 05:30:00 - 15-08 06:00:00 @ 26.4p 0%, 15-08 06:00:00 - 15-08 06:30:00 @ 25.7p 0%, 15-08 06:30:00 - 15-08 07:00:00 @ 27.63p 0%, 15-08 07:00:00 - 15-08 07:30:00 @ 22.73p 0%, 15-08 07:30:00 - 15-08 08:00:00 @ 26.7p 0%, 15-08 08:00:00 - 15-08 08:30:00 @ 22.92p 0%, 15-08 08:30:00 - 15-08 09:00:00 @ 22.48p 0%, 15-08 09:00:00 - 15-08 09:30:00 @ 23.55p 0%, 15-08 09:30:00 - 15-08 10:00:00 @ 23.64p 0%, 15-08 10:00:00 - 15-08 10:30:00 @ 19.66p 0%, 15-08 10:30:00 - 15-08 11:00:00 @ 17.66p 0%, 15-08 11:00:00 - 15-08 11:30:00 @ 16.56p 0%, 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 0%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 0%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 0%, 15-08 13:00:00 - 15-08 13:30:00 @ 15.36p 0%, 15-08 13:30:00 - 15-08 14:00:00 @ 15.74p 0%, 15-08 14:00:00 - 15-08 14:30:00 @ 14.57p 0%, 15-08 14:30:00 - 15-08 15:00:00 @ 13.77p 0%, 15-08 15:00:00 - 15-08 15:30:00 @ 15.02p 0%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 0%, 15-08 16:00:00 - 15-08 16:30:00 @ 33.13p 0%, 15-08 16:30:00 - 15-08 17:00:00 @ 33.13p 0%, 15-08 17:00:00 - 15-08 17:30:00 @ 38.46p 0%, 15-08 17:30:00 - 15-08 18:00:00 @ 40.44p 0%, 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 0%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 0%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 0%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 0%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 0%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 27.8p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 29.09p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.47p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.18p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 27.57p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.5p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.6p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 24.79p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 25.08p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 24.62p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 27.02p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.47p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 26.25p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.4p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.7p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 27.63p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 22.73p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 26.7p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 22.92p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 22.48p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 23.55p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 23.64p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 19.66p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 17.66p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 16.56p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 15.46p 0%, 16-08 12:00:00 - 16-08 12:30:00 @ 17.0p 0%, 16-08 12:30:00 - 16-08 13:00:00 @ 16.34p 0%, 16-08 13:00:00 - 16-08 13:30:00 @ 15.36p 0%, 16-08 13:30:00 - 16-08 14:00:00 @ 15.74p 0%, 16-08 14:00:00 - 16-08 14:30:00 @ 14.57p 0%, 16-08 14:30:00 - 16-08 15:00:00 @ 13.77p 0%, 16-08 15:00:00 - 16-08 15:30:00 @ 15.02p 0%, 16-08 15:30:00 - 16-08 16:00:00 @ 15.87p 0%, 16-08 16:00:00 - 16-08 16:30:00 @ 33.13p 0%, 16-08 16:30:00 - 16-08 17:00:00 @ 33.13p 0%, 16-08 17:00:00 - 16-08 17:30:00 @ 38.46p 0%, 16-08 17:30:00 - 16-08 18:00:00 @ 40.44p 0%, 16-08 18:00:00 - 16-08 18:30:00 @ 41.55p 0%, 16-08 19:00:00 - 16-08 19:30:00 @ 32.58p 0%, 16-08 19:30:00 - 16-08 20:00:00 @ 32.9p 0%, 16-08 20:00:00 - 16-08 20:30:00 @ 31.99p 0%, 16-08 20:30:00 - 16-08 21:00:00 @ 32.1p 0%, 16-08 21:00:00 - 16-08 21:30:00 @ 31.71p 0%, 16-08 21:30:00 - 16-08 22:00:00 @ 31.67p 0%, 16-08 22:00:00 - 16-08 22:30:00 @ 31.77p 0%, 16-08 22:30:00 - 16-08 23:00:00 @ 29.81p 0%, 16-08 23:00:00 - 16-08 23:30:00 @ 27.8p 0%, 16-08 23:30:00 - 17-08 00:00:00 @ 29.09p 0%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.47p 0%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.18p 0%, 17-08 01:00:00 - 17-08 01:30:00 @ 27.57p 0%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.5p 0%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.6p 0%, 17-08 02:30:00 - 17-08 03:00:00 @ 24.79p 0%, 17-08 03:00:00 - 17-08 03:30:00 @ 25.08p 0%, 17-08 03:30:00 - 17-08 04:00:00 @ 24.62p 0%, 17-08 04:00:00 - 17-08 04:30:00 @ 27.02p 0%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.47p 0%, 17-08 05:00:00 - 17-08 05:30:00 @ 26.25p 0% ]
2026-08-15 05:10:03.189459: Best export window [  ]
2026-08-15 05:10:03.190118: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 05:10:03.192556: Load divergence over 8.0 hours mean 538.87W, min 268.2W, max 1500.0W, std dev 281.63W, divergence 26.13%
2026-08-15 05:10:03.206684: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 05:10:03.206770: LoadML is_calculating False
2026-08-15 05:10:03.206825: Creating pool of 12 processes to match your CPU count
2026-08-15 05:10:03.289885: Calculate Best options: mode(Control charge & discharge), calculate_export_oncharge(False), calculate_export_on_pv(True), set_export_freeze_only(False), set_discharge_during_charge(True), combine_charge_slots(False), combine_export_slots(False), combine_rate_threshold(0.0), best_soc_min(0.0 kWh), best_soc_max(0.0 kWh), best_soc_keep(0.0 kWh), inverter_loss(4%), battery_loss(3%), battery_loss_discharge (3%), inverter_hybrid(True), metric_min_improvement(0.0p), metric_min_improvement_export(0.1p), metric_min_improvement_export_freeze(0.1p), metric_battery_cycle(0.0p/kWh), metric_battery_value_scaling(1.0 x) 
2026-08-15 05:10:03.291784: Optimise levels pass started at 2026-08-15 05:10:03
2026-08-15 05:10:03.291847: Optimise all windows, total charge 94 export 1
2026-08-15 05:10:04.346349: >> Region optimisation pass width 960 gives best_metric 808.9p, best_cost 814.49p, best_cycle 54.66kWh, best_import 38.82kWh
2026-08-15 05:10:04.754100: >> Region optimisation pass width 480 gives best_metric 808.9p, best_cost 814.49p, best_cycle 54.66kWh, best_import 38.82kWh
2026-08-15 05:10:05.226628: >> Region optimisation pass width 240 gives best_metric 808.9p, best_cost 814.49p, best_cycle 54.66kWh, best_import 38.82kWh
2026-08-15 05:10:06.227279: >> Region optimisation pass width 120 gives best_metric 808.9p, best_cost 814.49p, best_cycle 54.66kWh, best_import 38.82kWh
2026-08-15 05:10:06.227673: Calculated end_record as 08-16 11:30:00 based on best_price 16.34p, next_charge_start 08-15 11:30:00, max_windows 60
2026-08-15 05:10:06.227813: Optimise levels pass ended at 2026-08-15 05:10:06, duration 2.9 seconds tried 309 combinations
2026-08-15 05:10:06.227957: Set best_price_charge_level 17.6p, best_price_export_level 0p, best_price_charge 16.34p, best_cost_export 0p, best_metric 808.9p, best_keep 0kWh, best_cycle 54.66kWh, best_carbon 0kg, best_import 38.82kWh
2026-08-15 05:10:06.243910: Starting detailed optimisation end_record 08-16 11:30:00, best_price_charge 16.34p, best_price_export 0p. lowest_price_charge 13.77p with charge limits [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0]kWh and export limits []kWh
2026-08-15 05:10:10.417045: Tweak plan optimisation started metric 592.48p, cost 601.88p
2026-08-15 05:10:10.665974: Tweak optimisation finished metric 592.44p, cost 601.84p, metric_keep 0kWh, cycle 31.4kWh, carbon 0kg, import 24.7kWh, changed 8 window(s)
2026-08-15 05:10:10.686100: Swap charge optimisation started metric 592.44p, cost 601.84p, min_improvement_swap 0.1p
2026-08-15 05:10:17.103658: Swap charge optimisation finished metric 592.44p, cost 601.84p
2026-08-15 05:10:17.231376: Pruned 3 dead plan slot(s) in 14 trial(s), nominal metric 588.59p -> 588.59p, plan now metric 592.51p, cost 601.84p, cycle 31.4kWh, import 24.7kWh
2026-08-15 05:10:17.241329: Raw charge windows [ 15-08 05:00:00 - 15-08 05:30:00 @ 26.25p 0%, 15-08 05:30:00 - 15-08 06:00:00 @ 26.4p 0%, 15-08 06:00:00 - 15-08 06:30:00 @ 25.7p 9%, 15-08 06:30:00 - 15-08 07:00:00 @ 27.63p 0%, 15-08 07:00:00 - 15-08 07:30:00 @ 22.73p 9%, 15-08 07:30:00 - 15-08 08:00:00 @ 26.7p 0%, 15-08 08:00:00 - 15-08 08:30:00 @ 22.92p 0%, 15-08 08:30:00 - 15-08 09:00:00 @ 22.48p 0%, 15-08 09:00:00 - 15-08 09:30:00 @ 23.55p 0%, 15-08 09:30:00 - 15-08 10:00:00 @ 23.64p 0%, 15-08 10:00:00 - 15-08 10:30:00 @ 19.66p 0%, 15-08 10:30:00 - 15-08 11:00:00 @ 17.66p 0%, 15-08 11:00:00 - 15-08 11:30:00 @ 16.56p 0%, 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 13:30:00 @ 15.36p 100%, 15-08 13:30:00 - 15-08 14:00:00 @ 15.74p 100%, 15-08 14:00:00 - 15-08 14:30:00 @ 14.57p 100%, 15-08 14:30:00 - 15-08 15:00:00 @ 13.77p 100%, 15-08 15:00:00 - 15-08 15:30:00 @ 15.02p 100%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 100%, 15-08 16:00:00 - 15-08 16:30:00 @ 33.13p 0%, 15-08 16:30:00 - 15-08 17:00:00 @ 33.13p 0%, 15-08 17:00:00 - 15-08 17:30:00 @ 38.46p 0%, 15-08 17:30:00 - 15-08 18:00:00 @ 40.44p 0%, 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 0%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 0%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 0%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 0%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 0%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 27.8p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 29.09p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.47p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.18p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 27.57p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.5p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.6p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 24.79p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 25.08p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 24.62p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 27.02p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.47p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 26.25p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.4p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.7p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 27.63p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 22.73p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 26.7p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 22.92p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 22.48p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 23.55p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 23.64p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 19.66p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 17.66p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 16.56p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 15.46p 100%, 16-08 12:00:00 - 16-08 12:30:00 @ 17.0p 100%, 16-08 12:30:00 - 16-08 13:00:00 @ 16.34p 100%, 16-08 13:00:00 - 16-08 13:30:00 @ 15.36p 100%, 16-08 13:30:00 - 16-08 14:00:00 @ 15.74p 100%, 16-08 14:00:00 - 16-08 14:30:00 @ 14.57p 100%, 16-08 14:30:00 - 16-08 15:00:00 @ 13.77p 100%, 16-08 15:00:00 - 16-08 15:30:00 @ 15.02p 100%, 16-08 15:30:00 - 16-08 16:00:00 @ 15.87p 100%, 16-08 16:00:00 - 16-08 16:30:00 @ 33.13p 100%, 16-08 16:30:00 - 16-08 17:00:00 @ 33.13p 100%, 16-08 17:00:00 - 16-08 17:30:00 @ 38.46p 100%, 16-08 17:30:00 - 16-08 18:00:00 @ 40.44p 100%, 16-08 18:00:00 - 16-08 18:30:00 @ 41.55p 100%, 16-08 19:00:00 - 16-08 19:30:00 @ 32.58p 100%, 16-08 19:30:00 - 16-08 20:00:00 @ 32.9p 100%, 16-08 20:00:00 - 16-08 20:30:00 @ 31.99p 100%, 16-08 20:30:00 - 16-08 21:00:00 @ 32.1p 100%, 16-08 21:00:00 - 16-08 21:30:00 @ 31.71p 100%, 16-08 21:30:00 - 16-08 22:00:00 @ 31.67p 100%, 16-08 22:00:00 - 16-08 22:30:00 @ 31.77p 100%, 16-08 22:30:00 - 16-08 23:00:00 @ 29.81p 100%, 16-08 23:00:00 - 16-08 23:30:00 @ 27.8p 100%, 16-08 23:30:00 - 17-08 00:00:00 @ 29.09p 100%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.47p 100%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.18p 100%, 17-08 01:00:00 - 17-08 01:30:00 @ 27.57p 100%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.5p 100%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.6p 100%, 17-08 02:30:00 - 17-08 03:00:00 @ 24.79p 100%, 17-08 03:00:00 - 17-08 03:30:00 @ 25.08p 100%, 17-08 03:30:00 - 17-08 04:00:00 @ 24.62p 100%, 17-08 04:00:00 - 17-08 04:30:00 @ 27.02p 100%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.47p 100%, 17-08 05:00:00 - 17-08 05:30:00 @ 26.25p 100% ] reserve 1.12
2026-08-15 05:10:17.241922: Unclipped charge windows [ 15-08 06:00:00 - 15-08 06:30:00 @ 25.7p 9%, 15-08 07:00:00 - 15-08 07:30:00 @ 22.73p 9%, 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 05:30:00 @ 26.24p 100% ] reserve 1.12
2026-08-15 05:10:17.242225: Unfiltered charge windows [ 15-08 06:00:00 - 15-08 06:30:00 @ 25.7p 9%, 15-08 07:00:00 - 15-08 07:30:00 @ 22.73p 9%, 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 05:30:00 @ 26.24p 100% ] reserve 1.12
2026-08-15 05:10:17.242561: Filtered charge windows [ 15-08 06:00:00 - 15-08 06:30:00 @ 25.7p 9%, 15-08 07:00:00 - 15-08 07:30:00 @ 22.73p 9%, 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 05:30:00 @ 26.24p 100% ] reserve 1.12
2026-08-15 05:10:17.273450: Previous plan best metric is 592.97 (cost 602.3) and new plan best metric is 592.44 (cost 601.84)
2026-08-15 05:10:17.273675: New plan metric is not significantly better (metric_min_improvement_plan 2.0) than previous plan, using previous plan
2026-08-15 05:10:17.273842: Plan valid is now true after recompute was False
2026-08-15 05:10:17.296497: predict base end_record 08-16 11:30:00, final soc 1.12kWh, metric 822.3p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 06:35:00, load 28.04kWh, PV 0.0kWh
2026-08-15 05:10:17.397103: Battery has 1.42 hours left - now at 2.08kWh
2026-08-15 05:10:17.433809: predict base10 end_record 08-16 11:30:00, final soc 1.12kWh, metric 850.47p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 06:30:00, load 29.16kWh, PV 0.0kWh
2026-08-15 05:10:17.499072: predict best10 end_record 08-16 11:30:00, final soc 1.12kWh, metric 678.42p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 06:30:00, load 29.16kWh, PV 0.0kWh
2026-08-15 05:10:17.568325: predict best end_record 08-16 11:30:00, final soc 1.12kWh, metric 652.28p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 06:35:00, load 28.04kWh, PV 0.0kWh
2026-08-15 05:10:17.568404: Saving plan best values to HA entities
2026-08-15 05:10:17.703371: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 05:10:17.708183: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 05:10:17.713025: Best charging limit SoC's [16.0, 3.5, 4.0, 16.0, 16.0, 16.0]kWh, export []kWh gives import battery 20.43kWh, house 4.22kWh, export 0.0kWh, metric 652.28p, metric10 678.42p
2026-08-15 05:10:17.778219: Marginal costs baseline metric (no standing charge): 602.2982
2026-08-15 05:10:18.009280: Marginal energy costs matrix computed: min=15.42 max=32.1
2026-08-15 05:10:18.084538: Rate array import [{'start': 310, 'end': 420, 'rate': 'expensive', 'range': '(25.7p - 27.6p)'}, {'start': 420, 'end': 450, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 450, 'end': 480, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 480, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 23.6p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1860, 'rate': 'expensive', 'range': '(24.6p - 32.9p)'}, {'start': 1860, 'end': 1890, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 1890, 'end': 1920, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 1920, 'end': 2130, 'rate': 'cheap', 'range': '(16.6p - 23.6p)'}] export [{'start': 310, 'end': 2130, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 05:10:18.085156: - Your estimated bill for today is £5.92 and tomorrow is £5.43
2026-08-15 05:10:18.085213: - Import rates are expensive (25.7p - 27.6p) for the next 1 and three quarters hours and then cheap (22.7p) for the next 30 minutes.
2026-08-15 05:10:18.085239: - The battery is currently at 13% and is in eco mode for the next 6 and a quarter hours.
2026-08-15 05:10:18.085254: - For the next 48 hours there will be no solar generation.
2026-08-15 05:10:18.085268: - You will run out of battery in 1 and a half hours.
2026-08-15 05:10:18.085543: - Your next charge slot will be in 6 and a quarter hours where import rates will be cheap (15.5p).
2026-08-15 05:10:18.085613: 
2026-08-15 05:10:18.135546: Plan calculation took 14.95 seconds
2026-08-15 05:10:18.135881: Inverter 0: Type SK Sunsynk
2026-08-15 05:10:18.135926: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 05:10:18.136124: Reserve min: 7%, battery_min: 7%
2026-08-15 05:10:18.136218: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 05:10:18.136530: Inverter 0 SoC: 2.08kW 13%, current charge rate 5000W, current discharge rate 5250W, current battery power 359W, current battery voltage 51.2V, grid power -54W, load power 414W, PV Power 0W
2026-08-15 05:10:18.136744: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 05:10:18.136843: Inverter 0 scheduled charge enable is False
2026-08-15 05:10:18.136879: Inverter 0 charge windows currently []
2026-08-15 05:10:18.136905: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 05:10:18.137052: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 05:10:18.137093: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 05:10:18.137127: Inverter 0 scheduled discharge enable is False
2026-08-15 05:10:18.137246: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 05:10:18.137279: Inverter 0 discharge windows currently []
2026-08-15 05:10:18.137299: Note: Inverter does not support discharge freeze - disabled
2026-08-15 05:10:18.137314: Note: Inverter does not support charge freeze - disabled
2026-08-15 05:10:18.137333: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 05:10:18.190706: Inverter 0 Charge window will be: 2026-08-15 11:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 13%, target 100%
2026-08-15 05:10:18.190959: Inverter 0 disabled charge window while waiting for schedule (now 08-15 05:10:00 target set_window_minutes 30 charge start time 08-15 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 05:10:18.191052: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 05:10:18.191255: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 05:10:18.191343: No export window planned
2026-08-15 05:10:18.191502: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 05:10:18.191550: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 05:10:18.191700: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 05:10:18.191869: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 05:10:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 05:10:18.191924: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 05:10:18.191975: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 05:10:18.192061: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 05:10:18.192106: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 05:10:18.192134: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 05:10:18.192158: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 05:10:18.192188: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 05:10:18.192216: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 05:10:18.192240: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 05:10:18.192303: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 05:10:18.192363: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 05:10:18.192391: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 05:10:18.192433: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 05:10:18.192484: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 05:10:18.192536: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 05:10:18.192563: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 05:10:18.192585: Inverter 0 count register writes 0
2026-08-15 05:10:18.228608: Total inverter register writes now 815
2026-08-15 05:10:18.271230: Info: Completed run status Demand
2026-08-15 05:10:18.277616: Info: record_status Demand
2026-08-15 05:10:18.284576: Saved current settings to /config/predbat_config.json
2026-08-15 05:10:18.284911: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 05:10:57.402356: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 05:10:57.402725: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 05:10:57.402789: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 05:10:57.402942: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 05:10:57.402986: Note: Inverter does not support discharge freeze - disabled
2026-08-15 05:10:57.403027: Note: Inverter does not support charge freeze - disabled
2026-08-15 05:10:57.403041: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 05:13:11.631984: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 05:13:11.632278: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 05:13:11.632347: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 05:13:11.632570: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 05:13:11.632615: Note: Inverter does not support discharge freeze - disabled
2026-08-15 05:13:11.632636: Note: Inverter does not support charge freeze - disabled
2026-08-15 05:13:11.632653: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 05:15:00.829788: --------------- PredBat - update at 2026-08-15 05:15:00+01:00 with clock skew 0 minutes, minutes now 315
2026-08-15 05:15:00.830638: Saved current settings to /config/predbat_config.json
2026-08-15 05:15:00.830767: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 70.0 minutes
2026-08-15 05:15:00.830841: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.1, latest beta is v8.48.1
2026-08-15 05:15:00.830974: Autoupdate: Currently up to date
2026-08-15 05:15:00.848888: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 05:15:00.849039: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 05:15:00.849207: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 05:15:00.849766: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 05:15:00.849912: Predbat mode is set to Control charge & discharge
2026-08-15 05:15:01.041671: Found 21602 load_today datapoints going back 28 days
2026-08-15 05:15:01.041827: Using load_power data to fill gaps in load_today data
2026-08-15 05:15:01.888598: Processing 721 30-minute periods for power integration
2026-08-15 05:15:02.071397: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 05:15:02.071548: Car charging hold False, threshold 6.0kWh
2026-08-15 05:15:02.071593: Current data so far today: load 4.65kWh, import 5.8kWh, export 0.0kWh, PV 0kWh
2026-08-15 05:15:02.086457: Cars: SoC: [12.892000000000001]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 05:15:02.086826: Standing charge is set to 49.98p
2026-08-15 05:15:02.113833: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 05:15:02.113942: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 05:15:02.114200: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 315.0 minutes
2026-08-15 05:15:02.114688: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 314.7 minutes
2026-08-15 05:15:02.118209: Loaded 47 datapoints of futurerate analysis
2026-08-15 05:15:02.203312: Predicted future rates: ['08-15 00:00:00 => 28.9 / 20.01', '08-15 01:00:00 => 27.54 / 19.31', '08-15 02:00:00 => 26.52 / 18.8', '08-15 03:00:00 => 25.99 / 18.53', '08-15 04:00:00 => 25.8 / 18.43', '08-15 05:00:00 => 25.96 / 18.51', '08-15 06:00:00 => 25.55 / 18.3', '08-15 07:00:00 => 24.33 / 17.68', '08-15 08:00:00 => 23.03 / 17.01', '08-15 09:00:00 => 22.05 / 16.51', '08-15 10:00:00 => 20.43 / 15.68', '08-15 11:00:00 => 18.01 / 14.45', '08-15 12:00:00 => 16.37 / 13.61', '08-15 13:00:00 => 15.76 / 13.3', '08-15 14:00:00 => 15.35 / 13.09', '08-15 15:00:00 => 15.86 / 13.35', '08-15 16:00:00 => 32.89 / 16.13', '08-15 17:00:00 => 38.02 / 18.75', '08-15 18:00:00 => 42.36 / 20.96', '08-15 19:00:00 => 31.09 / 21.13', '08-15 20:00:00 => 31.64 / 21.41', '08-15 21:00:00 => 31.64 / 21.41', '08-15 22:00:00 => 30.58 / 20.87']
2026-08-15 05:15:02.264223: Rate min forward looking: now 13.77p at end of forecast 13.77p
2026-08-15 05:15:02.264763: Import rates: min 13.77p, max 43.82p, average 25.96p
2026-08-15 05:15:02.307652: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 05:15:02.307776: Rate thresholds (for charge/export) are import 43.32p (0.0p), export -0.1p (0.0p)
2026-08-15 05:15:02.309040: High export rate found rates in range 99p to -99p
2026-08-15 05:15:02.390615: Low Import rate found rates in range 13.77p to 41.55p
2026-08-15 05:15:02.390748: Car 0 charging is not planned as it is not plugged in
2026-08-15 05:15:02.403242: Battery level now 2.08kWh, -1hr ago 1.94kWh, at midnight 1.66kWh, battery value change in the last hour 1.61p, change today 5.01p, rate_forward 11.83p
2026-08-15 05:15:02.403716: Last hour: net energy 0.8kWh, import 0.8kWh, export 0.0kWh, car 0kWh, load 0.55kWh, net cost 21.28p, import 21.28p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 05:15:02.454642: Today's energy total net 5.8kWh, import 5.8kWh, export 0.0kWh, cost 204.93p, import 154.95p, export 0.0p, carbon 0.0kg
2026-08-15 05:15:02.454771: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 05:15:02.530107: Using weighted-bucket historical load forecast over 14 days
2026-08-15 05:15:02.553708: Today's load divergence 107.12%, in-day adjustment 135.68%, damping 0.95x, yesterday 143.77% today 106.77% blend 78.12%
2026-08-15 05:15:02.553790: Today's predicted so far 3.51kWh with 0.0kWh car/iBoost excluded, 2.51kWh import ignored, and 3.51kWh forecast extra.
2026-08-15 05:15:02.554066: Today's actual load so far 4.7kWh with 0.0kWh car/iBoost excluded, and 2.51kWh import ignored.
2026-08-15 05:15:02.591175: Inverter 0: Type SK Sunsynk
2026-08-15 05:15:02.591268: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 05:15:02.591462: Reserve min: 7%, battery_min: 7%
2026-08-15 05:15:02.591533: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 05:15:02.591802: Inverter 0 SoC: 2.08kW 13%, current charge rate 5000W, current discharge rate 5250W, current battery power 294W, current battery voltage 51.2V, grid power -50W, load power 348W, PV Power 0W
2026-08-15 05:15:02.591957: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 05:15:02.592046: Inverter 0 scheduled charge enable is False
2026-08-15 05:15:02.592075: Inverter 0 charge windows currently []
2026-08-15 05:15:02.592104: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 05:15:02.592206: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 05:15:02.592242: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 05:15:02.592277: Inverter 0 scheduled discharge enable is False
2026-08-15 05:15:02.592451: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 05:15:02.592503: Inverter 0 discharge windows currently []
2026-08-15 05:15:02.592527: Note: Inverter does not support discharge freeze - disabled
2026-08-15 05:15:02.592546: Note: Inverter does not support charge freeze - disabled
2026-08-15 05:15:02.592563: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 05:15:02.646238: Dynamic load last period 0.30kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 05:15:02.646374: Plan was last updated on 2026-08-15 05:10:00+01:00 and is now 5.0 minutes old
2026-08-15 05:15:02.646772: Best charge window [ 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 00:30:00 @ 28.84p 100% ]
2026-08-15 05:15:02.646820: Best export window [  ]
2026-08-15 05:15:02.647532: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 05:15:02.650041: Load divergence over 8.0 hours mean 546.3W, min 226.2W, max 1777.8W, std dev 331.19W, divergence 30.31%
2026-08-15 05:15:02.665077: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 05:15:02.665160: LoadML is_calculating False
2026-08-15 05:15:02.665212: Creating pool of 12 processes to match your CPU count
2026-08-15 05:15:02.774912: predict base end_record 08-16 11:35:00, final soc 1.12kWh, metric 822.53p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 06:40:00, load 28.12kWh, PV 0.0kWh
2026-08-15 05:15:02.896158: Battery has 1.42 hours left - now at 2.08kWh
2026-08-15 05:15:02.932587: predict base10 end_record 08-16 11:35:00, final soc 1.12kWh, metric 850.71p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 06:35:00, load 29.24kWh, PV 0.0kWh
2026-08-15 05:15:03.002033: predict best10 end_record 08-16 11:35:00, final soc 1.44kWh, metric 683.94p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 06:35:00, load 29.24kWh, PV 0.0kWh
2026-08-15 05:15:03.079728: predict best end_record 08-16 11:35:00, final soc 1.51kWh, metric 658.76p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 06:40:00, load 28.12kWh, PV 0.0kWh
2026-08-15 05:15:03.079824: Saving plan best values to HA entities
2026-08-15 05:15:03.226248: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 05:15:03.231224: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 05:15:03.236106: Best charging limit SoC's [16.0, 3.5, 4.0, 16.0, 16.0, 16.0]kWh, export []kWh gives import battery 20.95kWh, house 4.17kWh, export 0.0kWh, metric 658.76p, metric10 683.94p
2026-08-15 05:15:03.303319: Marginal costs baseline metric (no standing charge): 608.777
2026-08-15 05:15:03.523391: Marginal energy costs matrix computed: min=15.35 max=32.28
2026-08-15 05:15:03.589152: Rate array import [{'start': 315, 'end': 420, 'rate': 'expensive', 'range': '(25.7p - 27.6p)'}, {'start': 420, 'end': 450, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 450, 'end': 480, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 480, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 23.6p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1860, 'rate': 'expensive', 'range': '(24.6p - 32.9p)'}, {'start': 1860, 'end': 1890, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 1890, 'end': 1920, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 1920, 'end': 2135, 'rate': 'cheap', 'range': '(15.5p - 23.6p)'}] export [{'start': 315, 'end': 2135, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 05:15:03.589720: - Your estimated bill for today is £5.90 and tomorrow is £5.45
2026-08-15 05:15:03.589759: - Import rates are expensive (25.7p - 27.6p) for the next 1 and three quarters hours and then cheap (22.7p) for the next 30 minutes.
2026-08-15 05:15:03.589778: - The battery is currently at 13% and is in eco mode for the next 6 and a quarter hours.
2026-08-15 05:15:03.589793: - For the next 48 hours there will be no solar generation.
2026-08-15 05:15:03.589806: - You will run out of battery in 1 and a half hours.
2026-08-15 05:15:03.589820: - Your next charge slot will be in 6 and a quarter hours where import rates will be cheap (15.5p).
2026-08-15 05:15:03.589834: 
2026-08-15 05:15:03.638589: Plan calculation took 0.99 seconds
2026-08-15 05:15:03.641971: No high rate period found
2026-08-15 05:15:03.693702: Import threshold used for optimisation was 25.7p
2026-08-15 05:15:03.749173: Low import rate windows [0: 08-15 05:00:00 - 08-15 05:30:00 @ 26.25, 1: 08-15 05:30:00 - 08-15 06:00:00 @ 26.4, 2: 08-15 06:00:00 - 08-15 06:30:00 @ 25.7, 3: 08-15 06:30:00 - 08-15 07:00:00 @ 27.63, 4: 08-15 07:00:00 - 08-15 07:30:00 @ 22.73, 5: 08-15 07:30:00 - 08-15 08:00:00 @ 26.7, 6: 08-15 08:00:00 - 08-15 08:30:00 @ 22.92, 7: 08-15 08:30:00 - 08-15 09:00:00 @ 22.48, 8: 08-15 09:00:00 - 08-15 09:30:00 @ 23.55, 9: 08-15 09:30:00 - 08-15 10:00:00 @ 23.64, 10: 08-15 10:00:00 - 08-15 10:30:00 @ 19.66, 11: 08-15 10:30:00 - 08-15 11:00:00 @ 17.66, 12: 08-15 11:00:00 - 08-15 11:30:00 @ 16.56, 13: 08-15 11:30:00 - 08-15 12:00:00 @ 15.46, 14: 08-15 12:00:00 - 08-15 12:30:00 @ 17.0, 15: 08-15 12:30:00 - 08-15 13:00:00 @ 16.34, 16: 08-15 13:00:00 - 08-15 13:30:00 @ 15.36, 17: 08-15 13:30:00 - 08-15 14:00:00 @ 15.74, 18: 08-15 14:00:00 - 08-15 14:30:00 @ 14.57, 19: 08-15 14:30:00 - 08-15 15:00:00 @ 13.77, 20: 08-15 15:00:00 - 08-15 15:30:00 @ 15.02, 21: 08-15 15:30:00 - 08-15 16:00:00 @ 15.87, 22: 08-15 16:00:00 - 08-15 16:30:00 @ 33.13, 23: 08-15 16:30:00 - 08-15 17:00:00 @ 33.13, 24: 08-15 17:00:00 - 08-15 17:30:00 @ 38.46, 25: 08-15 17:30:00 - 08-15 18:00:00 @ 40.44, 26: 08-15 18:00:00 - 08-15 18:30:00 @ 41.55, 27: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 28: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 29: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 30: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 31: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 32: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 33: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 34: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 35: 08-15 23:00:00 - 08-15 23:30:00 @ 27.8, 36: 08-15 23:30:00 - 08-16 00:00:00 @ 29.09, 37: 08-16 00:00:00 - 08-16 00:30:00 @ 28.47, 38: 08-16 00:30:00 - 08-16 01:00:00 @ 27.18, 39: 08-16 01:00:00 - 08-16 01:30:00 @ 27.57, 40: 08-16 01:30:00 - 08-16 02:00:00 @ 26.5, 41: 08-16 02:00:00 - 08-16 02:30:00 @ 25.6, 42: 08-16 02:30:00 - 08-16 03:00:00 @ 24.79, 43: 08-16 03:00:00 - 08-16 03:30:00 @ 25.08, 44: 08-16 03:30:00 - 08-16 04:00:00 @ 24.62, 45: 08-16 04:00:00 - 08-16 04:30:00 @ 27.02, 46: 08-16 04:30:00 - 08-16 05:00:00 @ 26.47, 47: 08-16 05:00:00 - 08-16 05:30:00 @ 26.25, 48: 08-16 05:30:00 - 08-16 06:00:00 @ 26.4, 49: 08-16 06:00:00 - 08-16 06:30:00 @ 25.7, 50: 08-16 06:30:00 - 08-16 07:00:00 @ 27.63, 51: 08-16 07:00:00 - 08-16 07:30:00 @ 22.73, 52: 08-16 07:30:00 - 08-16 08:00:00 @ 26.7, 53: 08-16 08:00:00 - 08-16 08:30:00 @ 22.92, 54: 08-16 08:30:00 - 08-16 09:00:00 @ 22.48, 55: 08-16 09:00:00 - 08-16 09:30:00 @ 23.55, 56: 08-16 09:30:00 - 08-16 10:00:00 @ 23.64, 57: 08-16 10:00:00 - 08-16 10:30:00 @ 19.66, 58: 08-16 10:30:00 - 08-16 11:00:00 @ 17.66, 59: 08-16 11:00:00 - 08-16 11:30:00 @ 16.56, 60: 08-16 11:30:00 - 08-16 12:00:00 @ 15.46, 61: 08-16 12:00:00 - 08-16 12:30:00 @ 17.0, 62: 08-16 12:30:00 - 08-16 13:00:00 @ 16.34, 63: 08-16 13:00:00 - 08-16 13:30:00 @ 15.36, 64: 08-16 13:30:00 - 08-16 14:00:00 @ 15.74, 65: 08-16 14:00:00 - 08-16 14:30:00 @ 14.57, 66: 08-16 14:30:00 - 08-16 15:00:00 @ 13.77, 67: 08-16 15:00:00 - 08-16 15:30:00 @ 15.02, 68: 08-16 15:30:00 - 08-16 16:00:00 @ 15.87, 69: 08-16 16:00:00 - 08-16 16:30:00 @ 33.13, 70: 08-16 16:30:00 - 08-16 17:00:00 @ 33.13, 71: 08-16 17:00:00 - 08-16 17:30:00 @ 38.46, 72: 08-16 17:30:00 - 08-16 18:00:00 @ 40.44, 73: 08-16 18:00:00 - 08-16 18:30:00 @ 41.55, 74: 08-16 19:00:00 - 08-16 19:30:00 @ 32.58, 75: 08-16 19:30:00 - 08-16 20:00:00 @ 32.9, 76: 08-16 20:00:00 - 08-16 20:30:00 @ 31.99, 77: 08-16 20:30:00 - 08-16 21:00:00 @ 32.1, 78: 08-16 21:00:00 - 08-16 21:30:00 @ 31.71, 79: 08-16 21:30:00 - 08-16 22:00:00 @ 31.67, 80: 08-16 22:00:00 - 08-16 22:30:00 @ 31.77, 81: 08-16 22:30:00 - 08-16 23:00:00 @ 29.81, 82: 08-16 23:00:00 - 08-16 23:30:00 @ 27.8, 83: 08-16 23:30:00 - 08-17 00:00:00 @ 29.09, 84: 08-17 00:00:00 - 08-17 00:30:00 @ 28.47, 85: 08-17 00:30:00 - 08-17 01:00:00 @ 27.18, 86: 08-17 01:00:00 - 08-17 01:30:00 @ 27.57, 87: 08-17 01:30:00 - 08-17 02:00:00 @ 26.5, 88: 08-17 02:00:00 - 08-17 02:30:00 @ 25.6, 89: 08-17 02:30:00 - 08-17 03:00:00 @ 24.79, 90: 08-17 03:00:00 - 08-17 03:30:00 @ 25.08, 91: 08-17 03:30:00 - 08-17 04:00:00 @ 24.62, 92: 08-17 04:00:00 - 08-17 04:30:00 @ 27.02, 93: 08-17 04:30:00 - 08-17 05:00:00 @ 26.47, 94: 08-17 05:00:00 - 08-17 05:30:00 @ 26.25]
2026-08-15 05:15:03.757460: Inverter 0 Charge window will be: 2026-08-15 11:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 13%, target 100%
2026-08-15 05:15:03.757606: Inverter 0 disabled charge window while waiting for schedule (now 08-15 05:15:00 target set_window_minutes 30 charge start time 08-15 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 05:15:03.757735: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 05:15:03.757999: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 05:15:03.758097: No export window planned
2026-08-15 05:15:03.758212: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 05:15:03.758248: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 05:15:03.758381: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 05:15:03.758614: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 05:15:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 05:15:03.758682: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 05:15:03.758743: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 05:15:03.758838: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 05:15:03.758878: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 05:15:03.758927: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 05:15:03.758954: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 05:15:03.758980: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 05:15:03.759004: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 05:15:03.759027: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 05:15:03.759090: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 05:15:03.759127: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 05:15:03.759152: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 05:15:03.759180: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 05:15:03.759204: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 05:15:03.759228: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 05:15:03.759252: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 05:15:03.759272: Inverter 0 count register writes 0
2026-08-15 05:15:03.776309: Will not recompute the plan, it is 5.0 minutes old and max age is 10 minutes
2026-08-15 05:15:03.782016: Total inverter register writes now 815
2026-08-15 05:15:03.812656: Info: Completed run status Demand
2026-08-15 05:15:03.818544: Info: record_status Demand
2026-08-15 05:15:03.825559: Saved current settings to /config/predbat_config.json
2026-08-15 05:15:03.825915: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 05:15:41.928397: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 05:15:41.928676: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 05:15:41.928716: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 05:15:41.928911: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 05:15:41.929015: Note: Inverter does not support discharge freeze - disabled
2026-08-15 05:15:41.929047: Note: Inverter does not support charge freeze - disabled
2026-08-15 05:15:41.929065: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 05:17:42.137412: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 05:17:42.138416: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 05:17:42.138501: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 05:17:42.138708: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 05:17:42.138754: Note: Inverter does not support discharge freeze - disabled
2026-08-15 05:17:42.138808: Note: Inverter does not support charge freeze - disabled
2026-08-15 05:17:42.138832: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 05:19:42.352043: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 05:19:42.352281: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 05:19:42.352353: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 05:19:42.352610: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 05:19:42.352660: Note: Inverter does not support discharge freeze - disabled
2026-08-15 05:19:42.352681: Note: Inverter does not support charge freeze - disabled
2026-08-15 05:19:42.352698: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 05:20:00.458700: --------------- PredBat - update at 2026-08-15 05:20:00+01:00 with clock skew 0 minutes, minutes now 320
2026-08-15 05:20:00.459363: Saved current settings to /config/predbat_config.json
2026-08-15 05:20:00.459507: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 75.0 minutes
2026-08-15 05:20:00.459595: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.1, latest beta is v8.48.1
2026-08-15 05:20:00.459710: Autoupdate: Currently up to date
2026-08-15 05:20:00.480212: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 05:20:00.480349: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 05:20:00.480532: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 05:20:00.481100: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 05:20:00.481237: Predbat mode is set to Control charge & discharge
2026-08-15 05:20:00.696769: Found 21602 load_today datapoints going back 28 days
2026-08-15 05:20:00.696938: Using load_power data to fill gaps in load_today data
2026-08-15 05:20:01.561322: Processing 721 30-minute periods for power integration
2026-08-15 05:20:01.757432: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 05:20:01.757673: Car charging hold False, threshold 6.0kWh
2026-08-15 05:20:01.757721: Current data so far today: load 4.75kWh, import 5.9kWh, export 0.0kWh, PV 0kWh
2026-08-15 05:20:01.774985: Cars: SoC: [12.892000000000001]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 05:20:01.775407: Standing charge is set to 49.98p
2026-08-15 05:20:01.803896: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 05:20:01.804012: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 05:20:01.804193: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 320.0 minutes
2026-08-15 05:20:01.804523: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 319.7 minutes
2026-08-15 05:20:01.806925: Loaded 47 datapoints of futurerate analysis
2026-08-15 05:20:01.876352: Predicted future rates: ['08-15 00:00:00 => 28.9 / 20.01', '08-15 01:00:00 => 27.54 / 19.31', '08-15 02:00:00 => 26.52 / 18.8', '08-15 03:00:00 => 25.99 / 18.53', '08-15 04:00:00 => 25.8 / 18.43', '08-15 05:00:00 => 25.96 / 18.51', '08-15 06:00:00 => 25.55 / 18.3', '08-15 07:00:00 => 24.33 / 17.68', '08-15 08:00:00 => 23.03 / 17.01', '08-15 09:00:00 => 22.05 / 16.51', '08-15 10:00:00 => 20.43 / 15.68', '08-15 11:00:00 => 18.01 / 14.45', '08-15 12:00:00 => 16.37 / 13.61', '08-15 13:00:00 => 15.76 / 13.3', '08-15 14:00:00 => 15.35 / 13.09', '08-15 15:00:00 => 15.86 / 13.35', '08-15 16:00:00 => 32.89 / 16.13', '08-15 17:00:00 => 38.02 / 18.75', '08-15 18:00:00 => 42.36 / 20.96', '08-15 19:00:00 => 31.09 / 21.13', '08-15 20:00:00 => 31.64 / 21.41', '08-15 21:00:00 => 31.64 / 21.41', '08-15 22:00:00 => 30.58 / 20.87']
2026-08-15 05:20:01.927239: Rate min forward looking: now 13.77p at end of forecast 13.77p
2026-08-15 05:20:01.927719: Import rates: min 13.77p, max 43.82p, average 25.96p
2026-08-15 05:20:01.962280: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 05:20:01.962369: Rate thresholds (for charge/export) are import 43.32p (0.0p), export -0.1p (0.0p)
2026-08-15 05:20:01.963373: High export rate found rates in range 99p to -99p
2026-08-15 05:20:02.032867: Low Import rate found rates in range 13.77p to 41.55p
2026-08-15 05:20:02.033000: Car 0 charging is not planned as it is not plugged in
2026-08-15 05:20:02.046234: Battery level now 2.08kWh, -1hr ago 1.86kWh, at midnight 1.66kWh, battery value change in the last hour 2.55p, change today 5.01p, rate_forward 11.83p
2026-08-15 05:20:02.046625: Last hour: net energy 0.82kWh, import 0.82kWh, export 0.0kWh, car 0kWh, load 0.6kWh, net cost 21.74p, import 21.74p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 05:20:02.100938: Today's energy total net 5.9kWh, import 5.9kWh, export 0.0kWh, cost 207.56p, import 157.57p, export 0.0p, carbon 0.0kg
2026-08-15 05:20:02.101102: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 05:20:02.183229: Using weighted-bucket historical load forecast over 14 days
2026-08-15 05:20:02.208846: Today's load divergence 107.22%, in-day adjustment 135.57%, damping 0.95x, yesterday 143.77% today 106.86% blend 77.78%
2026-08-15 05:20:02.208976: Today's predicted so far 3.53kWh with 0.0kWh car/iBoost excluded, 2.52kWh import ignored, and 3.53kWh forecast extra.
2026-08-15 05:20:02.209037: Today's actual load so far 4.74kWh with 0.0kWh car/iBoost excluded, and 2.52kWh import ignored.
2026-08-15 05:20:02.260701: Inverter 0: Type SK Sunsynk
2026-08-15 05:20:02.260801: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 05:20:02.261038: Reserve min: 7%, battery_min: 7%
2026-08-15 05:20:02.261128: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 05:20:02.261420: Inverter 0 SoC: 1.92kW 12%, current charge rate 5000W, current discharge rate 5250W, current battery power 488W, current battery voltage 51.2V, grid power -53W, load power 547W, PV Power 0W
2026-08-15 05:20:02.261606: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 05:20:02.261700: Inverter 0 scheduled charge enable is False
2026-08-15 05:20:02.261727: Inverter 0 charge windows currently []
2026-08-15 05:20:02.261753: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 05:20:02.261862: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 05:20:02.261898: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 05:20:02.261934: Inverter 0 scheduled discharge enable is False
2026-08-15 05:20:02.262064: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 05:20:02.262100: Inverter 0 discharge windows currently []
2026-08-15 05:20:02.262122: Note: Inverter does not support discharge freeze - disabled
2026-08-15 05:20:02.262141: Note: Inverter does not support charge freeze - disabled
2026-08-15 05:20:02.262158: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 05:20:02.331765: Dynamic load last period 0.60kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 05:20:02.331892: Plan was last updated on 2026-08-15 05:10:00+01:00 and is now 10.0 minutes old
2026-08-15 05:20:02.332220: Best charge window [ 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 00:30:00 @ 28.84p 100% ]
2026-08-15 05:20:02.332294: Best export window [  ]
2026-08-15 05:20:02.333182: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 05:20:02.336316: Load divergence over 8.0 hours mean 557.37W, min 278.4W, max 1692.6W, std dev 311.5W, divergence 27.94%
2026-08-15 05:20:02.355205: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 05:20:02.355313: LoadML is_calculating False
2026-08-15 05:20:02.355375: Creating pool of 12 processes to match your CPU count
2026-08-15 05:20:02.483373: predict base end_record 08-16 11:40:00, final soc 1.12kWh, metric 829.34p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 06:30:00, load 28.26kWh, PV 0.0kWh
2026-08-15 05:20:02.620867: Battery has 1.17 hours left - now at 1.92kWh
2026-08-15 05:20:02.668919: predict base10 end_record 08-16 11:40:00, final soc 1.12kWh, metric 857.56p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 06:25:00, load 29.38kWh, PV 0.0kWh
2026-08-15 05:20:02.753909: predict best10 end_record 08-16 11:40:00, final soc 1.77kWh, metric 696.06p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 06:25:00, load 29.38kWh, PV 0.0kWh
2026-08-15 05:20:02.832412: predict best end_record 08-16 11:40:00, final soc 1.9kWh, metric 671.89p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 06:30:00, load 28.26kWh, PV 0.0kWh
2026-08-15 05:20:02.832521: Saving plan best values to HA entities
2026-08-15 05:20:03.003247: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 05:20:03.008892: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 05:20:03.014519: Best charging limit SoC's [16.0, 3.5, 4.0, 16.0, 16.0, 16.0]kWh, export []kWh gives import battery 21.46kWh, house 4.26kWh, export 0.0kWh, metric 671.89p, metric10 696.06p
2026-08-15 05:20:03.085991: Marginal costs baseline metric (no standing charge): 621.9107
2026-08-15 05:20:03.349128: Marginal energy costs matrix computed: min=15.29 max=32.47
2026-08-15 05:20:03.431886: Rate array import [{'start': 320, 'end': 420, 'rate': 'expensive', 'range': '(25.7p - 27.6p)'}, {'start': 420, 'end': 450, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 450, 'end': 480, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 480, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 23.6p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1860, 'rate': 'expensive', 'range': '(24.6p - 32.9p)'}, {'start': 1860, 'end': 1890, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 1890, 'end': 1920, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 1920, 'end': 2140, 'rate': 'cheap', 'range': '(15.5p - 23.6p)'}] export [{'start': 320, 'end': 2140, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 05:20:03.432673: - Your estimated bill for today is £5.95 and tomorrow is £5.45
2026-08-15 05:20:03.432723: - Import rates are expensive (25.7p - 27.6p) for the next 1 and three quarters hours and then cheap (22.7p) for the next 30 minutes.
2026-08-15 05:20:03.432746: - The battery is currently at 12% and is in eco mode for the next 6 and a quarter hours.
2026-08-15 05:20:03.432765: - For the next 48 hours there will be no solar generation.
2026-08-15 05:20:03.432786: - You will run out of battery in 1 and a quarter hours.
2026-08-15 05:20:03.432804: - Your next charge slot will be in 6 and a quarter hours where import rates will be cheap (15.5p).
2026-08-15 05:20:03.432824: 
2026-08-15 05:20:03.497162: Plan calculation took 1.17 seconds
2026-08-15 05:20:03.499801: No high rate period found
2026-08-15 05:20:03.551095: Import threshold used for optimisation was 25.7p
2026-08-15 05:20:03.605419: Low import rate windows [0: 08-15 05:00:00 - 08-15 05:30:00 @ 26.25, 1: 08-15 05:30:00 - 08-15 06:00:00 @ 26.4, 2: 08-15 06:00:00 - 08-15 06:30:00 @ 25.7, 3: 08-15 06:30:00 - 08-15 07:00:00 @ 27.63, 4: 08-15 07:00:00 - 08-15 07:30:00 @ 22.73, 5: 08-15 07:30:00 - 08-15 08:00:00 @ 26.7, 6: 08-15 08:00:00 - 08-15 08:30:00 @ 22.92, 7: 08-15 08:30:00 - 08-15 09:00:00 @ 22.48, 8: 08-15 09:00:00 - 08-15 09:30:00 @ 23.55, 9: 08-15 09:30:00 - 08-15 10:00:00 @ 23.64, 10: 08-15 10:00:00 - 08-15 10:30:00 @ 19.66, 11: 08-15 10:30:00 - 08-15 11:00:00 @ 17.66, 12: 08-15 11:00:00 - 08-15 11:30:00 @ 16.56, 13: 08-15 11:30:00 - 08-15 12:00:00 @ 15.46, 14: 08-15 12:00:00 - 08-15 12:30:00 @ 17.0, 15: 08-15 12:30:00 - 08-15 13:00:00 @ 16.34, 16: 08-15 13:00:00 - 08-15 13:30:00 @ 15.36, 17: 08-15 13:30:00 - 08-15 14:00:00 @ 15.74, 18: 08-15 14:00:00 - 08-15 14:30:00 @ 14.57, 19: 08-15 14:30:00 - 08-15 15:00:00 @ 13.77, 20: 08-15 15:00:00 - 08-15 15:30:00 @ 15.02, 21: 08-15 15:30:00 - 08-15 16:00:00 @ 15.87, 22: 08-15 16:00:00 - 08-15 16:30:00 @ 33.13, 23: 08-15 16:30:00 - 08-15 17:00:00 @ 33.13, 24: 08-15 17:00:00 - 08-15 17:30:00 @ 38.46, 25: 08-15 17:30:00 - 08-15 18:00:00 @ 40.44, 26: 08-15 18:00:00 - 08-15 18:30:00 @ 41.55, 27: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 28: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 29: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 30: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 31: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 32: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 33: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 34: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 35: 08-15 23:00:00 - 08-15 23:30:00 @ 27.8, 36: 08-15 23:30:00 - 08-16 00:00:00 @ 29.09, 37: 08-16 00:00:00 - 08-16 00:30:00 @ 28.47, 38: 08-16 00:30:00 - 08-16 01:00:00 @ 27.18, 39: 08-16 01:00:00 - 08-16 01:30:00 @ 27.57, 40: 08-16 01:30:00 - 08-16 02:00:00 @ 26.5, 41: 08-16 02:00:00 - 08-16 02:30:00 @ 25.6, 42: 08-16 02:30:00 - 08-16 03:00:00 @ 24.79, 43: 08-16 03:00:00 - 08-16 03:30:00 @ 25.08, 44: 08-16 03:30:00 - 08-16 04:00:00 @ 24.62, 45: 08-16 04:00:00 - 08-16 04:30:00 @ 27.02, 46: 08-16 04:30:00 - 08-16 05:00:00 @ 26.47, 47: 08-16 05:00:00 - 08-16 05:30:00 @ 26.25, 48: 08-16 05:30:00 - 08-16 06:00:00 @ 26.4, 49: 08-16 06:00:00 - 08-16 06:30:00 @ 25.7, 50: 08-16 06:30:00 - 08-16 07:00:00 @ 27.63, 51: 08-16 07:00:00 - 08-16 07:30:00 @ 22.73, 52: 08-16 07:30:00 - 08-16 08:00:00 @ 26.7, 53: 08-16 08:00:00 - 08-16 08:30:00 @ 22.92, 54: 08-16 08:30:00 - 08-16 09:00:00 @ 22.48, 55: 08-16 09:00:00 - 08-16 09:30:00 @ 23.55, 56: 08-16 09:30:00 - 08-16 10:00:00 @ 23.64, 57: 08-16 10:00:00 - 08-16 10:30:00 @ 19.66, 58: 08-16 10:30:00 - 08-16 11:00:00 @ 17.66, 59: 08-16 11:00:00 - 08-16 11:30:00 @ 16.56, 60: 08-16 11:30:00 - 08-16 12:00:00 @ 15.46, 61: 08-16 12:00:00 - 08-16 12:30:00 @ 17.0, 62: 08-16 12:30:00 - 08-16 13:00:00 @ 16.34, 63: 08-16 13:00:00 - 08-16 13:30:00 @ 15.36, 64: 08-16 13:30:00 - 08-16 14:00:00 @ 15.74, 65: 08-16 14:00:00 - 08-16 14:30:00 @ 14.57, 66: 08-16 14:30:00 - 08-16 15:00:00 @ 13.77, 67: 08-16 15:00:00 - 08-16 15:30:00 @ 15.02, 68: 08-16 15:30:00 - 08-16 16:00:00 @ 15.87, 69: 08-16 16:00:00 - 08-16 16:30:00 @ 33.13, 70: 08-16 16:30:00 - 08-16 17:00:00 @ 33.13, 71: 08-16 17:00:00 - 08-16 17:30:00 @ 38.46, 72: 08-16 17:30:00 - 08-16 18:00:00 @ 40.44, 73: 08-16 18:00:00 - 08-16 18:30:00 @ 41.55, 74: 08-16 19:00:00 - 08-16 19:30:00 @ 32.58, 75: 08-16 19:30:00 - 08-16 20:00:00 @ 32.9, 76: 08-16 20:00:00 - 08-16 20:30:00 @ 31.99, 77: 08-16 20:30:00 - 08-16 21:00:00 @ 32.1, 78: 08-16 21:00:00 - 08-16 21:30:00 @ 31.71, 79: 08-16 21:30:00 - 08-16 22:00:00 @ 31.67, 80: 08-16 22:00:00 - 08-16 22:30:00 @ 31.77, 81: 08-16 22:30:00 - 08-16 23:00:00 @ 29.81, 82: 08-16 23:00:00 - 08-16 23:30:00 @ 27.8, 83: 08-16 23:30:00 - 08-17 00:00:00 @ 29.09, 84: 08-17 00:00:00 - 08-17 00:30:00 @ 28.47, 85: 08-17 00:30:00 - 08-17 01:00:00 @ 27.18, 86: 08-17 01:00:00 - 08-17 01:30:00 @ 27.57, 87: 08-17 01:30:00 - 08-17 02:00:00 @ 26.5, 88: 08-17 02:00:00 - 08-17 02:30:00 @ 25.6, 89: 08-17 02:30:00 - 08-17 03:00:00 @ 24.79, 90: 08-17 03:00:00 - 08-17 03:30:00 @ 25.08, 91: 08-17 03:30:00 - 08-17 04:00:00 @ 24.62, 92: 08-17 04:00:00 - 08-17 04:30:00 @ 27.02, 93: 08-17 04:30:00 - 08-17 05:00:00 @ 26.47, 94: 08-17 05:00:00 - 08-17 05:30:00 @ 26.25]
2026-08-15 05:20:03.612685: Inverter 0 Charge window will be: 2026-08-15 11:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 12%, target 100%
2026-08-15 05:20:03.612832: Inverter 0 disabled charge window while waiting for schedule (now 08-15 05:20:00 target set_window_minutes 30 charge start time 08-15 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 05:20:03.612995: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 05:20:03.613280: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 05:20:03.613381: No export window planned
2026-08-15 05:20:03.613547: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 05:20:03.613589: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 05:20:03.613730: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 05:20:03.613915: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 05:20:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 05:20:03.613982: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 05:20:03.614041: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 05:20:03.614136: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 05:20:03.614176: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 05:20:03.614210: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 05:20:03.614235: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 05:20:03.614267: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 05:20:03.614292: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 05:20:03.614318: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 05:20:03.614385: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 05:20:03.614421: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 05:20:03.614463: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 05:20:03.614489: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 05:20:03.614512: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 05:20:03.614538: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 05:20:03.614561: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 05:20:03.614581: Inverter 0 count register writes 0
2026-08-15 05:20:03.637173: Will recompute the plan as it is now 10.0 minutes old and will exceed the max age of 10 minutes before the next run
2026-08-15 05:20:03.637398: Recompute is saving previous plan...
2026-08-15 05:20:03.640644: Best charge window [ 15-08 05:00:00 - 15-08 05:30:00 @ 26.25p 0%, 15-08 05:30:00 - 15-08 06:00:00 @ 26.4p 0%, 15-08 06:00:00 - 15-08 06:30:00 @ 25.7p 0%, 15-08 06:30:00 - 15-08 07:00:00 @ 27.63p 0%, 15-08 07:00:00 - 15-08 07:30:00 @ 22.73p 0%, 15-08 07:30:00 - 15-08 08:00:00 @ 26.7p 0%, 15-08 08:00:00 - 15-08 08:30:00 @ 22.92p 0%, 15-08 08:30:00 - 15-08 09:00:00 @ 22.48p 0%, 15-08 09:00:00 - 15-08 09:30:00 @ 23.55p 0%, 15-08 09:30:00 - 15-08 10:00:00 @ 23.64p 0%, 15-08 10:00:00 - 15-08 10:30:00 @ 19.66p 0%, 15-08 10:30:00 - 15-08 11:00:00 @ 17.66p 0%, 15-08 11:00:00 - 15-08 11:30:00 @ 16.56p 0%, 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 0%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 0%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 0%, 15-08 13:00:00 - 15-08 13:30:00 @ 15.36p 0%, 15-08 13:30:00 - 15-08 14:00:00 @ 15.74p 0%, 15-08 14:00:00 - 15-08 14:30:00 @ 14.57p 0%, 15-08 14:30:00 - 15-08 15:00:00 @ 13.77p 0%, 15-08 15:00:00 - 15-08 15:30:00 @ 15.02p 0%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 0%, 15-08 16:00:00 - 15-08 16:30:00 @ 33.13p 0%, 15-08 16:30:00 - 15-08 17:00:00 @ 33.13p 0%, 15-08 17:00:00 - 15-08 17:30:00 @ 38.46p 0%, 15-08 17:30:00 - 15-08 18:00:00 @ 40.44p 0%, 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 0%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 0%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 0%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 0%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 0%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 27.8p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 29.09p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.47p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.18p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 27.57p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.5p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.6p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 24.79p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 25.08p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 24.62p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 27.02p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.47p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 26.25p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.4p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.7p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 27.63p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 22.73p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 26.7p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 22.92p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 22.48p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 23.55p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 23.64p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 19.66p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 17.66p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 16.56p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 15.46p 0%, 16-08 12:00:00 - 16-08 12:30:00 @ 17.0p 0%, 16-08 12:30:00 - 16-08 13:00:00 @ 16.34p 0%, 16-08 13:00:00 - 16-08 13:30:00 @ 15.36p 0%, 16-08 13:30:00 - 16-08 14:00:00 @ 15.74p 0%, 16-08 14:00:00 - 16-08 14:30:00 @ 14.57p 0%, 16-08 14:30:00 - 16-08 15:00:00 @ 13.77p 0%, 16-08 15:00:00 - 16-08 15:30:00 @ 15.02p 0%, 16-08 15:30:00 - 16-08 16:00:00 @ 15.87p 0%, 16-08 16:00:00 - 16-08 16:30:00 @ 33.13p 0%, 16-08 16:30:00 - 16-08 17:00:00 @ 33.13p 0%, 16-08 17:00:00 - 16-08 17:30:00 @ 38.46p 0%, 16-08 17:30:00 - 16-08 18:00:00 @ 40.44p 0%, 16-08 18:00:00 - 16-08 18:30:00 @ 41.55p 0%, 16-08 19:00:00 - 16-08 19:30:00 @ 32.58p 0%, 16-08 19:30:00 - 16-08 20:00:00 @ 32.9p 0%, 16-08 20:00:00 - 16-08 20:30:00 @ 31.99p 0%, 16-08 20:30:00 - 16-08 21:00:00 @ 32.1p 0%, 16-08 21:00:00 - 16-08 21:30:00 @ 31.71p 0%, 16-08 21:30:00 - 16-08 22:00:00 @ 31.67p 0%, 16-08 22:00:00 - 16-08 22:30:00 @ 31.77p 0%, 16-08 22:30:00 - 16-08 23:00:00 @ 29.81p 0%, 16-08 23:00:00 - 16-08 23:30:00 @ 27.8p 0%, 16-08 23:30:00 - 17-08 00:00:00 @ 29.09p 0%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.47p 0%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.18p 0%, 17-08 01:00:00 - 17-08 01:30:00 @ 27.57p 0%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.5p 0%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.6p 0%, 17-08 02:30:00 - 17-08 03:00:00 @ 24.79p 0%, 17-08 03:00:00 - 17-08 03:30:00 @ 25.08p 0%, 17-08 03:30:00 - 17-08 04:00:00 @ 24.62p 0%, 17-08 04:00:00 - 17-08 04:30:00 @ 27.02p 0%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.47p 0%, 17-08 05:00:00 - 17-08 05:30:00 @ 26.25p 0% ]
2026-08-15 05:20:03.640744: Best export window [  ]
2026-08-15 05:20:03.641689: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 05:20:03.645484: Load divergence over 8.0 hours mean 557.37W, min 278.4W, max 1692.6W, std dev 311.5W, divergence 27.94%
2026-08-15 05:20:03.668923: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 05:20:03.669044: LoadML is_calculating False
2026-08-15 05:20:03.669127: Creating pool of 12 processes to match your CPU count
2026-08-15 05:20:03.751908: Calculate Best options: mode(Control charge & discharge), calculate_export_oncharge(False), calculate_export_on_pv(True), set_export_freeze_only(False), set_discharge_during_charge(True), combine_charge_slots(False), combine_export_slots(False), combine_rate_threshold(0.0), best_soc_min(0.0 kWh), best_soc_max(0.0 kWh), best_soc_keep(0.0 kWh), inverter_loss(4%), battery_loss(3%), battery_loss_discharge (3%), inverter_hybrid(True), metric_min_improvement(0.0p), metric_min_improvement_export(0.1p), metric_min_improvement_export_freeze(0.1p), metric_battery_cycle(0.0p/kWh), metric_battery_value_scaling(1.0 x) 
2026-08-15 05:20:03.754157: Optimise levels pass started at 2026-08-15 05:20:03
2026-08-15 05:20:03.754246: Optimise all windows, total charge 94 export 1
2026-08-15 05:20:04.771060: >> Region optimisation pass width 960 gives best_metric 814.11p, best_cost 820.65p, best_cycle 54.88kWh, best_import 39.07kWh
2026-08-15 05:20:05.199859: >> Region optimisation pass width 480 gives best_metric 814.11p, best_cost 820.65p, best_cycle 54.88kWh, best_import 39.07kWh
2026-08-15 05:20:05.690000: >> Region optimisation pass width 240 gives best_metric 814.11p, best_cost 820.65p, best_cycle 54.88kWh, best_import 39.07kWh
2026-08-15 05:20:06.735631: >> Region optimisation pass width 120 gives best_metric 814.11p, best_cost 820.65p, best_cycle 54.88kWh, best_import 39.07kWh
2026-08-15 05:20:06.735933: Calculated end_record as 08-16 11:30:00 based on best_price 16.34p, next_charge_start 08-15 11:30:00, max_windows 60
2026-08-15 05:20:06.736025: Optimise levels pass ended at 2026-08-15 05:20:06, duration 3.0 seconds tried 309 combinations
2026-08-15 05:20:06.736101: Set best_price_charge_level 17.6p, best_price_export_level 0p, best_price_charge 16.34p, best_cost_export 0p, best_metric 814.11p, best_keep 0kWh, best_cycle 54.88kWh, best_carbon 0kg, best_import 39.07kWh
2026-08-15 05:20:06.751858: Starting detailed optimisation end_record 08-16 11:30:00, best_price_charge 16.34p, best_price_export 0p. lowest_price_charge 13.77p with charge limits [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0]kWh and export limits []kWh
2026-08-15 05:20:10.768842: Tweak plan optimisation started metric 596.23p, cost 605.59p
2026-08-15 05:20:11.000081: Tweak optimisation finished metric 596.17p, cost 605.52p, metric_keep 0kWh, cycle 31.28kWh, carbon 0kg, import 24.74kWh, changed 8 window(s)
2026-08-15 05:20:11.016332: Swap charge optimisation started metric 596.17p, cost 605.52p, min_improvement_swap 0.1p
2026-08-15 05:20:16.483223: Swap charge optimisation finished metric 596.17p, cost 605.52p
2026-08-15 05:20:16.605702: Pruned 2 dead plan slot(s) in 13 trial(s), nominal metric 592.28p -> 592.28p, plan now metric 596.2p, cost 605.52p, cycle 31.28kWh, import 24.74kWh
2026-08-15 05:20:16.615482: Raw charge windows [ 15-08 05:00:00 - 15-08 05:30:00 @ 26.25p 0%, 15-08 05:30:00 - 15-08 06:00:00 @ 26.4p 0%, 15-08 06:00:00 - 15-08 06:30:00 @ 25.7p 9%, 15-08 06:30:00 - 15-08 07:00:00 @ 27.63p 0%, 15-08 07:00:00 - 15-08 07:30:00 @ 22.73p 9%, 15-08 07:30:00 - 15-08 08:00:00 @ 26.7p 0%, 15-08 08:00:00 - 15-08 08:30:00 @ 22.92p 0%, 15-08 08:30:00 - 15-08 09:00:00 @ 22.48p 0%, 15-08 09:00:00 - 15-08 09:30:00 @ 23.55p 0%, 15-08 09:30:00 - 15-08 10:00:00 @ 23.64p 0%, 15-08 10:00:00 - 15-08 10:30:00 @ 19.66p 0%, 15-08 10:30:00 - 15-08 11:00:00 @ 17.66p 0%, 15-08 11:00:00 - 15-08 11:30:00 @ 16.56p 0%, 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 13:30:00 @ 15.36p 100%, 15-08 13:30:00 - 15-08 14:00:00 @ 15.74p 100%, 15-08 14:00:00 - 15-08 14:30:00 @ 14.57p 100%, 15-08 14:30:00 - 15-08 15:00:00 @ 13.77p 100%, 15-08 15:00:00 - 15-08 15:30:00 @ 15.02p 100%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 100%, 15-08 16:00:00 - 15-08 16:30:00 @ 33.13p 0%, 15-08 16:30:00 - 15-08 17:00:00 @ 33.13p 0%, 15-08 17:00:00 - 15-08 17:30:00 @ 38.46p 0%, 15-08 17:30:00 - 15-08 18:00:00 @ 40.44p 0%, 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 0%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 0%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 0%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 0%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 0%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 27.8p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 29.09p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.47p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.18p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 27.57p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.5p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.6p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 24.79p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 25.08p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 24.62p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 27.02p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.47p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 26.25p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.4p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.7p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 27.63p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 22.73p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 26.7p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 22.92p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 22.48p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 23.55p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 23.64p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 19.66p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 17.66p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 16.56p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 15.46p 100%, 16-08 12:00:00 - 16-08 12:30:00 @ 17.0p 100%, 16-08 12:30:00 - 16-08 13:00:00 @ 16.34p 100%, 16-08 13:00:00 - 16-08 13:30:00 @ 15.36p 100%, 16-08 13:30:00 - 16-08 14:00:00 @ 15.74p 100%, 16-08 14:00:00 - 16-08 14:30:00 @ 14.57p 100%, 16-08 14:30:00 - 16-08 15:00:00 @ 13.77p 100%, 16-08 15:00:00 - 16-08 15:30:00 @ 15.02p 100%, 16-08 15:30:00 - 16-08 16:00:00 @ 15.87p 100%, 16-08 16:00:00 - 16-08 16:30:00 @ 33.13p 100%, 16-08 16:30:00 - 16-08 17:00:00 @ 33.13p 100%, 16-08 17:00:00 - 16-08 17:30:00 @ 38.46p 100%, 16-08 17:30:00 - 16-08 18:00:00 @ 40.44p 100%, 16-08 18:00:00 - 16-08 18:30:00 @ 41.55p 100%, 16-08 19:00:00 - 16-08 19:30:00 @ 32.58p 100%, 16-08 19:30:00 - 16-08 20:00:00 @ 32.9p 100%, 16-08 20:00:00 - 16-08 20:30:00 @ 31.99p 100%, 16-08 20:30:00 - 16-08 21:00:00 @ 32.1p 100%, 16-08 21:00:00 - 16-08 21:30:00 @ 31.71p 100%, 16-08 21:30:00 - 16-08 22:00:00 @ 31.67p 100%, 16-08 22:00:00 - 16-08 22:30:00 @ 31.77p 100%, 16-08 22:30:00 - 16-08 23:00:00 @ 29.81p 100%, 16-08 23:00:00 - 16-08 23:30:00 @ 27.8p 100%, 16-08 23:30:00 - 17-08 00:00:00 @ 29.09p 100%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.47p 100%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.18p 100%, 17-08 01:00:00 - 17-08 01:30:00 @ 27.57p 100%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.5p 100%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.6p 100%, 17-08 02:30:00 - 17-08 03:00:00 @ 24.79p 100%, 17-08 03:00:00 - 17-08 03:30:00 @ 25.08p 100%, 17-08 03:30:00 - 17-08 04:00:00 @ 24.62p 100%, 17-08 04:00:00 - 17-08 04:30:00 @ 27.02p 100%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.47p 100%, 17-08 05:00:00 - 17-08 05:30:00 @ 26.25p 100% ] reserve 1.12
2026-08-15 05:20:16.616080: Unclipped charge windows [ 15-08 06:00:00 - 15-08 06:30:00 @ 25.7p 9%, 15-08 07:00:00 - 15-08 07:30:00 @ 22.73p 9%, 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 05:30:00 @ 26.24p 100% ] reserve 1.12
2026-08-15 05:20:16.616398: Unfiltered charge windows [ 15-08 06:00:00 - 15-08 06:30:00 @ 25.7p 9%, 15-08 07:00:00 - 15-08 07:30:00 @ 22.73p 9%, 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 05:30:00 @ 26.24p 100% ] reserve 1.12
2026-08-15 05:20:16.616678: Filtered charge windows [ 15-08 06:00:00 - 15-08 06:30:00 @ 25.7p 9%, 15-08 07:00:00 - 15-08 07:30:00 @ 22.73p 9%, 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 05:30:00 @ 26.24p 100% ] reserve 1.12
2026-08-15 05:20:16.646605: Previous plan best metric is 596.58 (cost 605.9) and new plan best metric is 596.17 (cost 605.52)
2026-08-15 05:20:16.646834: New plan metric is not significantly better (metric_min_improvement_plan 2.0) than previous plan, using previous plan
2026-08-15 05:20:16.647026: Plan valid is now true after recompute was False
2026-08-15 05:20:16.669561: predict base end_record 08-16 11:30:00, final soc 1.12kWh, metric 826.21p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 06:30:00, load 28.06kWh, PV 0.0kWh
2026-08-15 05:20:16.775998: Battery has 1.17 hours left - now at 1.92kWh
2026-08-15 05:20:16.815778: predict base10 end_record 08-16 11:30:00, final soc 1.12kWh, metric 854.28p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 06:25:00, load 29.17kWh, PV 0.0kWh
2026-08-15 05:20:16.882429: predict best10 end_record 08-16 11:30:00, final soc 1.12kWh, metric 682.05p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 06:25:00, load 29.17kWh, PV 0.0kWh
2026-08-15 05:20:16.949974: predict best end_record 08-16 11:30:00, final soc 1.12kWh, metric 655.88p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 06:30:00, load 28.06kWh, PV 0.0kWh
2026-08-15 05:20:16.950068: Saving plan best values to HA entities
2026-08-15 05:20:17.094513: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 05:20:17.099095: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 05:20:17.106107: Best charging limit SoC's [16.0, 3.5, 4.0, 16.0, 16.0, 16.0]kWh, export []kWh gives import battery 20.42kWh, house 4.26kWh, export 0.0kWh, metric 655.88p, metric10 682.05p
2026-08-15 05:20:17.176462: Marginal costs baseline metric (no standing charge): 605.8993
2026-08-15 05:20:17.394197: Marginal energy costs matrix computed: min=15.29 max=32.47
2026-08-15 05:20:17.457110: Rate array import [{'start': 320, 'end': 420, 'rate': 'expensive', 'range': '(25.7p - 27.6p)'}, {'start': 420, 'end': 450, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 450, 'end': 480, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 480, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 23.6p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1860, 'rate': 'expensive', 'range': '(24.6p - 32.9p)'}, {'start': 1860, 'end': 1890, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 1890, 'end': 1920, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 1920, 'end': 2130, 'rate': 'cheap', 'range': '(16.6p - 23.6p)'}] export [{'start': 320, 'end': 2130, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 05:20:17.457757: - Your estimated bill for today is £5.95 and tomorrow is £5.45
2026-08-15 05:20:17.457801: - Import rates are expensive (25.7p - 27.6p) for the next 1 and three quarters hours and then cheap (22.7p) for the next 30 minutes.
2026-08-15 05:20:17.457820: - The battery is currently at 12% and is in eco mode for the next 6 and a quarter hours.
2026-08-15 05:20:17.457835: - For the next 48 hours there will be no solar generation.
2026-08-15 05:20:17.457849: - You will run out of battery in 1 and a quarter hours.
2026-08-15 05:20:17.457862: - Your next charge slot will be in 6 and a quarter hours where import rates will be cheap (15.5p).
2026-08-15 05:20:17.457881: 
2026-08-15 05:20:17.508052: Plan calculation took 13.87 seconds
2026-08-15 05:20:17.508376: Inverter 0: Type SK Sunsynk
2026-08-15 05:20:17.508415: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 05:20:17.508625: Reserve min: 7%, battery_min: 7%
2026-08-15 05:20:17.508698: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 05:20:17.509040: Inverter 0 SoC: 1.92kW 12%, current charge rate 5000W, current discharge rate 5250W, current battery power 486W, current battery voltage 51.2V, grid power -62W, load power 551W, PV Power 0W
2026-08-15 05:20:17.509261: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 05:20:17.509356: Inverter 0 scheduled charge enable is False
2026-08-15 05:20:17.509391: Inverter 0 charge windows currently []
2026-08-15 05:20:17.509417: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 05:20:17.509527: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 05:20:17.509560: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 05:20:17.509591: Inverter 0 scheduled discharge enable is False
2026-08-15 05:20:17.509703: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 05:20:17.509734: Inverter 0 discharge windows currently []
2026-08-15 05:20:17.509753: Note: Inverter does not support discharge freeze - disabled
2026-08-15 05:20:17.509768: Note: Inverter does not support charge freeze - disabled
2026-08-15 05:20:17.509784: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 05:20:17.558817: Inverter 0 Charge window will be: 2026-08-15 11:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 12%, target 100%
2026-08-15 05:20:17.558972: Inverter 0 disabled charge window while waiting for schedule (now 08-15 05:20:00 target set_window_minutes 30 charge start time 08-15 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 05:20:17.559045: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 05:20:17.559262: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 05:20:17.559344: No export window planned
2026-08-15 05:20:17.559473: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 05:20:17.559542: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 05:20:17.559682: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 05:20:17.559864: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 05:20:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 05:20:17.559946: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 05:20:17.559997: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 05:20:17.560086: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 05:20:17.560154: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 05:20:17.560205: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 05:20:17.560231: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 05:20:17.560256: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 05:20:17.560289: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 05:20:17.560324: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 05:20:17.560394: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 05:20:17.560430: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 05:20:17.560475: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 05:20:17.560504: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 05:20:17.560527: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 05:20:17.560550: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 05:20:17.560574: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 05:20:17.560599: Inverter 0 count register writes 0
2026-08-15 05:20:17.582044: Total inverter register writes now 815
2026-08-15 05:20:17.617252: Info: Completed run status Demand
2026-08-15 05:20:17.623733: Info: record_status Demand
2026-08-15 05:20:17.630455: Saved current settings to /config/predbat_config.json
2026-08-15 05:20:17.630849: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 05:20:56.740008: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 05:20:56.740293: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 05:20:56.740345: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 05:20:56.740548: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 05:20:56.740617: Note: Inverter does not support discharge freeze - disabled
2026-08-15 05:20:56.740652: Note: Inverter does not support charge freeze - disabled
2026-08-15 05:20:56.740677: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 05:22:56.967891: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 05:22:56.968088: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 05:22:56.968117: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 05:22:56.968235: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 05:22:56.968288: Note: Inverter does not support discharge freeze - disabled
2026-08-15 05:22:56.968305: Note: Inverter does not support charge freeze - disabled
2026-08-15 05:22:56.968325: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 05:23:32.830461: ML Component: Fetching 28 days of load history from ['sensor.sunsynk_day_load_energy']
2026-08-15 05:23:33.797162: Processing 1345 30-minute periods for power integration
2026-08-15 05:23:33.902843: ML Component: Car charging hold False, car energy reported load False
2026-08-15 05:23:34.000328: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 05:23:34.084667: ML Temperature data points: 50081
2026-08-15 05:23:34.303888: ML Component: Fetched 8064 load data points, 28.0 days of history
2026-08-15 05:23:34.338113: ML Component: Data fetch completed, load data age 56.0 days, 16329 data points
2026-08-15 05:23:34.338286: ML Component: No training needed, model age is 0.46 hours
2026-08-15 05:23:34.338342: ML Component: Generating predictions load data age 56.0 days, 16329 data points
2026-08-15 05:23:34.462194: ML Predictor: Starting autoregressive prediction loop for 576 steps (48.0 hours), prev_energy value 0.0371 max_dow {0: 0.10336562496256083, 1: 0.1091281248660758, 2: 0.11737499983031302, 3: 0.11972187416721135, 4: 0.17116562535744162, 5: 0.10228437502831222, 6: 0.10759687461592257}
2026-08-15 05:23:34.864366: ML Component: Generated 576 predictions (total 38.36 kWh over 48h)
2026-08-15 05:23:34.901810: ML Component: Prediction cycle completed
2026-08-15 05:23:35.023254: ML Component: Saved 16329 steps (56 days) of history to /config/predbat_ml_history.npz
2026-08-15 05:24:57.189137: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 05:24:57.189377: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 05:24:57.189468: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 05:24:57.189621: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 05:24:57.189661: Note: Inverter does not support discharge freeze - disabled
2026-08-15 05:24:57.189683: Note: Inverter does not support charge freeze - disabled
2026-08-15 05:24:57.189709: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 05:25:00.264052: --------------- PredBat - update at 2026-08-15 05:25:00+01:00 with clock skew 0 minutes, minutes now 325
2026-08-15 05:25:00.264879: Saved current settings to /config/predbat_config.json
2026-08-15 05:25:00.265068: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 80.0 minutes
2026-08-15 05:25:00.265200: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.1, latest beta is v8.48.1
2026-08-15 05:25:00.265296: Autoupdate: Currently up to date
2026-08-15 05:25:00.283987: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 05:25:00.284115: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 05:25:00.284283: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 05:25:00.284857: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 05:25:00.285066: Predbat mode is set to Control charge & discharge
2026-08-15 05:25:00.442785: Found 21602 load_today datapoints going back 28 days
2026-08-15 05:25:00.442939: Using load_power data to fill gaps in load_today data
2026-08-15 05:25:01.216052: Processing 721 30-minute periods for power integration
2026-08-15 05:25:01.363487: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 05:25:01.363609: Car charging hold False, threshold 6.0kWh
2026-08-15 05:25:01.363647: Current data so far today: load 4.8kWh, import 5.9kWh, export 0.0kWh, PV 0kWh
2026-08-15 05:25:01.375336: Cars: SoC: [12.892000000000001]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 05:25:01.375695: Standing charge is set to 49.98p
2026-08-15 05:25:01.403032: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 05:25:01.403130: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 05:25:01.403296: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 325.0 minutes
2026-08-15 05:25:01.403669: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 324.6 minutes
2026-08-15 05:25:01.406134: Loaded 47 datapoints of futurerate analysis
2026-08-15 05:25:01.475764: Predicted future rates: ['08-15 00:00:00 => 28.9 / 20.01', '08-15 01:00:00 => 27.54 / 19.31', '08-15 02:00:00 => 26.52 / 18.8', '08-15 03:00:00 => 25.99 / 18.53', '08-15 04:00:00 => 25.8 / 18.43', '08-15 05:00:00 => 25.96 / 18.51', '08-15 06:00:00 => 25.55 / 18.3', '08-15 07:00:00 => 24.33 / 17.68', '08-15 08:00:00 => 23.03 / 17.01', '08-15 09:00:00 => 22.05 / 16.51', '08-15 10:00:00 => 20.43 / 15.68', '08-15 11:00:00 => 18.01 / 14.45', '08-15 12:00:00 => 16.37 / 13.61', '08-15 13:00:00 => 15.76 / 13.3', '08-15 14:00:00 => 15.35 / 13.09', '08-15 15:00:00 => 15.86 / 13.35', '08-15 16:00:00 => 32.89 / 16.13', '08-15 17:00:00 => 38.02 / 18.75', '08-15 18:00:00 => 42.36 / 20.96', '08-15 19:00:00 => 31.09 / 21.13', '08-15 20:00:00 => 31.64 / 21.41', '08-15 21:00:00 => 31.64 / 21.41', '08-15 22:00:00 => 30.58 / 20.87']
2026-08-15 05:25:01.526991: Rate min forward looking: now 13.77p at end of forecast 13.77p
2026-08-15 05:25:01.527290: Import rates: min 13.77p, max 43.82p, average 25.96p
2026-08-15 05:25:01.562215: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 05:25:01.562327: Rate thresholds (for charge/export) are import 43.32p (0.0p), export -0.1p (0.0p)
2026-08-15 05:25:01.563379: High export rate found rates in range 99p to -99p
2026-08-15 05:25:01.634202: Low Import rate found rates in range 13.77p to 41.55p
2026-08-15 05:25:01.634921: Car 0 charging is not planned as it is not plugged in
2026-08-15 05:25:01.647918: Battery level now 1.92kWh, -1hr ago 1.71kWh, at midnight 1.66kWh, battery value change in the last hour 2.46p, change today 3.12p, rate_forward 11.83p
2026-08-15 05:25:01.648252: Last hour: net energy 0.74kWh, import 0.74kWh, export 0.0kWh, car 0kWh, load 0.6kWh, net cost 19.58p, import 19.58p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 05:25:01.715276: Today's energy total net 5.9kWh, import 5.9kWh, export 0.0kWh, cost 207.56p, import 157.57p, export 0.0p, carbon 0.0kg
2026-08-15 05:25:01.715431: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 05:25:01.791829: Using weighted-bucket historical load forecast over 14 days
2026-08-15 05:25:01.816227: Today's load divergence 107.1%, in-day adjustment 135.41%, damping 0.95x, yesterday 143.77% today 106.75% blend 77.43%
2026-08-15 05:25:01.816323: Today's predicted so far 3.55kWh with 0.0kWh car/iBoost excluded, 2.5kWh import ignored, and 3.55kWh forecast extra.
2026-08-15 05:25:01.816364: Today's actual load so far 4.74kWh with 0.0kWh car/iBoost excluded, and 2.5kWh import ignored.
2026-08-15 05:25:01.850018: Inverter 0: Type SK Sunsynk
2026-08-15 05:25:01.850094: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 05:25:01.850242: Reserve min: 7%, battery_min: 7%
2026-08-15 05:25:01.850301: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 05:25:01.850532: Inverter 0 SoC: 1.92kW 12%, current charge rate 5000W, current discharge rate 5250W, current battery power 442W, current battery voltage 51.2V, grid power -55W, load power 503W, PV Power 0W
2026-08-15 05:25:01.850662: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 05:25:01.850754: Inverter 0 scheduled charge enable is False
2026-08-15 05:25:01.850778: Inverter 0 charge windows currently []
2026-08-15 05:25:01.850799: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 05:25:01.850883: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 05:25:01.850913: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 05:25:01.850941: Inverter 0 scheduled discharge enable is False
2026-08-15 05:25:01.851042: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 05:25:01.851073: Inverter 0 discharge windows currently []
2026-08-15 05:25:01.851091: Note: Inverter does not support discharge freeze - disabled
2026-08-15 05:25:01.851105: Note: Inverter does not support charge freeze - disabled
2026-08-15 05:25:01.851122: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 05:25:01.902895: Dynamic load last period 0.60kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 05:25:01.902994: Plan was last updated on 2026-08-15 05:20:00+01:00 and is now 5.0 minutes old
2026-08-15 05:25:01.903230: Best charge window [ 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 00:30:00 @ 28.84p 100% ]
2026-08-15 05:25:01.903274: Best export window [  ]
2026-08-15 05:25:01.904089: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 05:25:01.906734: Load divergence over 8.0 hours mean 568.11W, min 287.4W, max 1838.4W, std dev 316.9W, divergence 27.89%
2026-08-15 05:25:01.921894: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 05:25:01.922011: LoadML is_calculating False
2026-08-15 05:25:01.922070: Creating pool of 12 processes to match your CPU count
2026-08-15 05:25:02.032185: predict base end_record 08-16 11:35:00, final soc 1.12kWh, metric 826.62p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 06:35:00, load 28.16kWh, PV 0.0kWh
2026-08-15 05:25:02.146205: Battery has 1.17 hours left - now at 1.92kWh
2026-08-15 05:25:02.196685: predict base10 end_record 08-16 11:35:00, final soc 1.12kWh, metric 854.72p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 06:30:00, load 29.27kWh, PV 0.0kWh
2026-08-15 05:25:02.265566: predict best10 end_record 08-16 11:35:00, final soc 1.44kWh, metric 687.7p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 06:30:00, load 29.27kWh, PV 0.0kWh
2026-08-15 05:25:02.332560: predict best end_record 08-16 11:35:00, final soc 1.51kWh, metric 662.58p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 06:35:00, load 28.16kWh, PV 0.0kWh
2026-08-15 05:25:02.332641: Saving plan best values to HA entities
2026-08-15 05:25:02.491989: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0
2026-08-15 05:25:02.496734: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 05:25:02.501700: Best charging limit SoC's [16.0, 3.5, 4.0, 16.0, 16.0, 16.0]kWh, export []kWh gives import battery 20.93kWh, house 4.22kWh, export 0.0kWh, metric 662.58p, metric10 687.7p
2026-08-15 05:25:02.568600: Marginal costs baseline metric (no standing charge): 612.6002
2026-08-15 05:25:02.785427: Marginal energy costs matrix computed: min=15.22 max=32.63
2026-08-15 05:25:02.852408: Rate array import [{'start': 325, 'end': 420, 'rate': 'expensive', 'range': '(25.7p - 27.6p)'}, {'start': 420, 'end': 450, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 450, 'end': 480, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 480, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 23.6p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1860, 'rate': 'expensive', 'range': '(24.6p - 32.9p)'}, {'start': 1860, 'end': 1890, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 1890, 'end': 1920, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 1920, 'end': 2135, 'rate': 'cheap', 'range': '(15.5p - 23.6p)'}] export [{'start': 325, 'end': 2135, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 05:25:02.853013: - Your estimated bill for today is £5.94 and tomorrow is £5.46
2026-08-15 05:25:02.853054: - Import rates are expensive (25.7p - 27.6p) for the next 1 and a half hours and then cheap (22.7p) for the next 30 minutes.
2026-08-15 05:25:02.853073: - The battery is currently at 12% and is in eco mode for the next 6 hours.
2026-08-15 05:25:02.853088: - For the next 48 hours there will be no solar generation.
2026-08-15 05:25:02.853102: - You will run out of battery in 1 and a quarter hours.
2026-08-15 05:25:02.853115: - Your next charge slot will be in 6 hours where import rates will be cheap (15.5p).
2026-08-15 05:25:02.853128: 
2026-08-15 05:25:02.899647: Plan calculation took 1.00 seconds
2026-08-15 05:25:02.903223: No high rate period found
2026-08-15 05:25:02.948378: Import threshold used for optimisation was 25.7p
2026-08-15 05:25:03.002656: Low import rate windows [0: 08-15 05:00:00 - 08-15 05:30:00 @ 26.25, 1: 08-15 05:30:00 - 08-15 06:00:00 @ 26.4, 2: 08-15 06:00:00 - 08-15 06:30:00 @ 25.7, 3: 08-15 06:30:00 - 08-15 07:00:00 @ 27.63, 4: 08-15 07:00:00 - 08-15 07:30:00 @ 22.73, 5: 08-15 07:30:00 - 08-15 08:00:00 @ 26.7, 6: 08-15 08:00:00 - 08-15 08:30:00 @ 22.92, 7: 08-15 08:30:00 - 08-15 09:00:00 @ 22.48, 8: 08-15 09:00:00 - 08-15 09:30:00 @ 23.55, 9: 08-15 09:30:00 - 08-15 10:00:00 @ 23.64, 10: 08-15 10:00:00 - 08-15 10:30:00 @ 19.66, 11: 08-15 10:30:00 - 08-15 11:00:00 @ 17.66, 12: 08-15 11:00:00 - 08-15 11:30:00 @ 16.56, 13: 08-15 11:30:00 - 08-15 12:00:00 @ 15.46, 14: 08-15 12:00:00 - 08-15 12:30:00 @ 17.0, 15: 08-15 12:30:00 - 08-15 13:00:00 @ 16.34, 16: 08-15 13:00:00 - 08-15 13:30:00 @ 15.36, 17: 08-15 13:30:00 - 08-15 14:00:00 @ 15.74, 18: 08-15 14:00:00 - 08-15 14:30:00 @ 14.57, 19: 08-15 14:30:00 - 08-15 15:00:00 @ 13.77, 20: 08-15 15:00:00 - 08-15 15:30:00 @ 15.02, 21: 08-15 15:30:00 - 08-15 16:00:00 @ 15.87, 22: 08-15 16:00:00 - 08-15 16:30:00 @ 33.13, 23: 08-15 16:30:00 - 08-15 17:00:00 @ 33.13, 24: 08-15 17:00:00 - 08-15 17:30:00 @ 38.46, 25: 08-15 17:30:00 - 08-15 18:00:00 @ 40.44, 26: 08-15 18:00:00 - 08-15 18:30:00 @ 41.55, 27: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 28: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 29: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 30: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 31: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 32: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 33: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 34: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 35: 08-15 23:00:00 - 08-15 23:30:00 @ 27.8, 36: 08-15 23:30:00 - 08-16 00:00:00 @ 29.09, 37: 08-16 00:00:00 - 08-16 00:30:00 @ 28.47, 38: 08-16 00:30:00 - 08-16 01:00:00 @ 27.18, 39: 08-16 01:00:00 - 08-16 01:30:00 @ 27.57, 40: 08-16 01:30:00 - 08-16 02:00:00 @ 26.5, 41: 08-16 02:00:00 - 08-16 02:30:00 @ 25.6, 42: 08-16 02:30:00 - 08-16 03:00:00 @ 24.79, 43: 08-16 03:00:00 - 08-16 03:30:00 @ 25.08, 44: 08-16 03:30:00 - 08-16 04:00:00 @ 24.62, 45: 08-16 04:00:00 - 08-16 04:30:00 @ 27.02, 46: 08-16 04:30:00 - 08-16 05:00:00 @ 26.47, 47: 08-16 05:00:00 - 08-16 05:30:00 @ 26.25, 48: 08-16 05:30:00 - 08-16 06:00:00 @ 26.4, 49: 08-16 06:00:00 - 08-16 06:30:00 @ 25.7, 50: 08-16 06:30:00 - 08-16 07:00:00 @ 27.63, 51: 08-16 07:00:00 - 08-16 07:30:00 @ 22.73, 52: 08-16 07:30:00 - 08-16 08:00:00 @ 26.7, 53: 08-16 08:00:00 - 08-16 08:30:00 @ 22.92, 54: 08-16 08:30:00 - 08-16 09:00:00 @ 22.48, 55: 08-16 09:00:00 - 08-16 09:30:00 @ 23.55, 56: 08-16 09:30:00 - 08-16 10:00:00 @ 23.64, 57: 08-16 10:00:00 - 08-16 10:30:00 @ 19.66, 58: 08-16 10:30:00 - 08-16 11:00:00 @ 17.66, 59: 08-16 11:00:00 - 08-16 11:30:00 @ 16.56, 60: 08-16 11:30:00 - 08-16 12:00:00 @ 15.46, 61: 08-16 12:00:00 - 08-16 12:30:00 @ 17.0, 62: 08-16 12:30:00 - 08-16 13:00:00 @ 16.34, 63: 08-16 13:00:00 - 08-16 13:30:00 @ 15.36, 64: 08-16 13:30:00 - 08-16 14:00:00 @ 15.74, 65: 08-16 14:00:00 - 08-16 14:30:00 @ 14.57, 66: 08-16 14:30:00 - 08-16 15:00:00 @ 13.77, 67: 08-16 15:00:00 - 08-16 15:30:00 @ 15.02, 68: 08-16 15:30:00 - 08-16 16:00:00 @ 15.87, 69: 08-16 16:00:00 - 08-16 16:30:00 @ 33.13, 70: 08-16 16:30:00 - 08-16 17:00:00 @ 33.13, 71: 08-16 17:00:00 - 08-16 17:30:00 @ 38.46, 72: 08-16 17:30:00 - 08-16 18:00:00 @ 40.44, 73: 08-16 18:00:00 - 08-16 18:30:00 @ 41.55, 74: 08-16 19:00:00 - 08-16 19:30:00 @ 32.58, 75: 08-16 19:30:00 - 08-16 20:00:00 @ 32.9, 76: 08-16 20:00:00 - 08-16 20:30:00 @ 31.99, 77: 08-16 20:30:00 - 08-16 21:00:00 @ 32.1, 78: 08-16 21:00:00 - 08-16 21:30:00 @ 31.71, 79: 08-16 21:30:00 - 08-16 22:00:00 @ 31.67, 80: 08-16 22:00:00 - 08-16 22:30:00 @ 31.77, 81: 08-16 22:30:00 - 08-16 23:00:00 @ 29.81, 82: 08-16 23:00:00 - 08-16 23:30:00 @ 27.8, 83: 08-16 23:30:00 - 08-17 00:00:00 @ 29.09, 84: 08-17 00:00:00 - 08-17 00:30:00 @ 28.47, 85: 08-17 00:30:00 - 08-17 01:00:00 @ 27.18, 86: 08-17 01:00:00 - 08-17 01:30:00 @ 27.57, 87: 08-17 01:30:00 - 08-17 02:00:00 @ 26.5, 88: 08-17 02:00:00 - 08-17 02:30:00 @ 25.6, 89: 08-17 02:30:00 - 08-17 03:00:00 @ 24.79, 90: 08-17 03:00:00 - 08-17 03:30:00 @ 25.08, 91: 08-17 03:30:00 - 08-17 04:00:00 @ 24.62, 92: 08-17 04:00:00 - 08-17 04:30:00 @ 27.02, 93: 08-17 04:30:00 - 08-17 05:00:00 @ 26.47, 94: 08-17 05:00:00 - 08-17 05:30:00 @ 26.25]
2026-08-15 05:25:03.008415: Inverter 0 Charge window will be: 2026-08-15 11:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 12%, target 100%
2026-08-15 05:25:03.008541: Inverter 0 disabled charge window while waiting for schedule (now 08-15 05:25:00 target set_window_minutes 30 charge start time 08-15 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 05:25:03.008649: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 05:25:03.008865: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 05:25:03.008944: No export window planned
2026-08-15 05:25:03.009068: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 05:25:03.009099: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 05:25:03.009210: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 05:25:03.009362: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 05:25:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 05:25:03.009415: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 05:25:03.009477: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 05:25:03.009553: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 05:25:03.009583: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 05:25:03.009605: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 05:25:03.009625: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 05:25:03.009645: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 05:25:03.009665: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 05:25:03.009684: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 05:25:03.009740: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 05:25:03.009764: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 05:25:03.009803: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 05:25:03.009842: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 05:25:03.009864: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 05:25:03.009882: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 05:25:03.009901: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 05:25:03.009917: Inverter 0 count register writes 0
2026-08-15 05:25:03.023690: Will not recompute the plan, it is 5.0 minutes old and max age is 10 minutes
2026-08-15 05:25:03.028395: Total inverter register writes now 815
2026-08-15 05:25:03.058028: Info: Completed run status Demand
2026-08-15 05:25:03.065856: Info: record_status Demand
2026-08-15 05:25:03.072796: Saved current settings to /config/predbat_config.json
2026-08-15 05:25:03.073216: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 05:25:42.181303: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 05:25:42.181717: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 05:25:42.181785: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 05:25:42.181946: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 05:25:42.182005: Note: Inverter does not support discharge freeze - disabled
2026-08-15 05:25:42.182027: Note: Inverter does not support charge freeze - disabled
2026-08-15 05:25:42.182044: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 05:27:42.401685: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 05:27:42.402054: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 05:27:42.402126: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 05:27:42.402329: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 05:27:42.402394: Note: Inverter does not support discharge freeze - disabled
2026-08-15 05:27:42.402430: Note: Inverter does not support charge freeze - disabled
2026-08-15 05:27:42.402480: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 05:29:56.670024: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 05:29:56.670231: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 05:29:56.670261: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 05:29:56.670368: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 05:29:56.670413: Note: Inverter does not support discharge freeze - disabled
2026-08-15 05:29:56.670430: Note: Inverter does not support charge freeze - disabled
2026-08-15 05:29:56.670444: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 05:30:00.736977: --------------- PredBat - update at 2026-08-15 05:30:00+01:00 with clock skew 0 minutes, minutes now 330
2026-08-15 05:30:00.738053: Saved current settings to /config/predbat_config.json
2026-08-15 05:30:00.738270: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 85.0 minutes
2026-08-15 05:30:00.738390: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.1, latest beta is v8.48.1
2026-08-15 05:30:00.738531: Autoupdate: Currently up to date
2026-08-15 05:30:00.759155: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 05:30:00.759307: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 05:30:00.759546: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 05:30:00.760111: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 05:30:00.760243: Predbat mode is set to Control charge & discharge
2026-08-15 05:30:00.939140: Found 21602 load_today datapoints going back 28 days
2026-08-15 05:30:00.939286: Using load_power data to fill gaps in load_today data
2026-08-15 05:30:01.808706: Processing 721 30-minute periods for power integration
2026-08-15 05:30:01.994121: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 05:30:01.994269: Car charging hold False, threshold 6.0kWh
2026-08-15 05:30:01.994317: Current data so far today: load 4.85kWh, import 5.9kWh, export 0.0kWh, PV 0kWh
2026-08-15 05:30:02.009390: Cars: SoC: [12.892000000000001]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 05:30:02.010121: Standing charge is set to 49.98p
2026-08-15 05:30:02.037765: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 05:30:02.037869: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 05:30:02.038129: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 330.0 minutes
2026-08-15 05:30:02.038596: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 329.7 minutes
2026-08-15 05:30:02.041726: Loaded 47 datapoints of futurerate analysis
2026-08-15 05:30:02.128631: Predicted future rates: ['08-15 00:00:00 => 28.9 / 20.01', '08-15 01:00:00 => 27.54 / 19.31', '08-15 02:00:00 => 26.52 / 18.8', '08-15 03:00:00 => 25.99 / 18.53', '08-15 04:00:00 => 25.8 / 18.43', '08-15 05:00:00 => 25.96 / 18.51', '08-15 06:00:00 => 25.55 / 18.3', '08-15 07:00:00 => 24.33 / 17.68', '08-15 08:00:00 => 23.03 / 17.01', '08-15 09:00:00 => 22.05 / 16.51', '08-15 10:00:00 => 20.43 / 15.68', '08-15 11:00:00 => 18.01 / 14.45', '08-15 12:00:00 => 16.37 / 13.61', '08-15 13:00:00 => 15.76 / 13.3', '08-15 14:00:00 => 15.35 / 13.09', '08-15 15:00:00 => 15.86 / 13.35', '08-15 16:00:00 => 32.89 / 16.13', '08-15 17:00:00 => 38.02 / 18.75', '08-15 18:00:00 => 42.36 / 20.96', '08-15 19:00:00 => 31.09 / 21.13', '08-15 20:00:00 => 31.64 / 21.41', '08-15 21:00:00 => 31.64 / 21.41', '08-15 22:00:00 => 30.58 / 20.87']
2026-08-15 05:30:02.206877: Rate min forward looking: now 13.77p at end of forecast 13.77p
2026-08-15 05:30:02.207339: Import rates: min 13.77p, max 43.82p, average 25.96p
2026-08-15 05:30:02.246252: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 05:30:02.246390: Rate thresholds (for charge/export) are import 43.32p (0.0p), export -0.1p (0.0p)
2026-08-15 05:30:02.247526: High export rate found rates in range 99p to -99p
2026-08-15 05:30:02.318463: Low Import rate found rates in range 13.77p to 41.55p
2026-08-15 05:30:02.318597: Car 0 charging is not planned as it is not plugged in
2026-08-15 05:30:02.331109: Battery level now 1.92kWh, -1hr ago 1.71kWh, at midnight 1.66kWh, battery value change in the last hour 2.46p, change today 3.12p, rate_forward 11.83p
2026-08-15 05:30:02.331494: Last hour: net energy 0.66kWh, import 0.66kWh, export 0.0kWh, car 0kWh, load 0.55kWh, net cost 17.43p, import 17.43p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 05:30:02.386897: Today's energy total net 5.9kWh, import 5.9kWh, export 0.0kWh, cost 207.56p, import 157.57p, export 0.0p, carbon 0.0kg
2026-08-15 05:30:02.387038: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 05:30:02.448795: Using weighted-bucket historical load forecast over 14 days
2026-08-15 05:30:02.467887: Today's load divergence 107.43%, in-day adjustment 135.36%, damping 0.95x, yesterday 143.77% today 107.06% blend 77.08%
2026-08-15 05:30:02.467977: Today's predicted so far 3.66kWh with 0.0kWh car/iBoost excluded, 2.42kWh import ignored, and 3.66kWh forecast extra.
2026-08-15 05:30:02.468004: Today's actual load so far 4.91kWh with 0.0kWh car/iBoost excluded, and 2.42kWh import ignored.
2026-08-15 05:30:02.508730: Inverter 0: Type SK Sunsynk
2026-08-15 05:30:02.508823: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 05:30:02.509103: Reserve min: 7%, battery_min: 7%
2026-08-15 05:30:02.509205: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 05:30:02.509507: Inverter 0 SoC: 1.92kW 12%, current charge rate 5000W, current discharge rate 5250W, current battery power 513W, current battery voltage 51.2V, grid power -49W, load power 573W, PV Power 0W
2026-08-15 05:30:02.509678: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 05:30:02.509781: Inverter 0 scheduled charge enable is False
2026-08-15 05:30:02.509824: Inverter 0 charge windows currently []
2026-08-15 05:30:02.509854: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 05:30:02.510002: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 05:30:02.510040: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 05:30:02.510093: Inverter 0 scheduled discharge enable is False
2026-08-15 05:30:02.510260: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 05:30:02.510305: Inverter 0 discharge windows currently []
2026-08-15 05:30:02.510333: Note: Inverter does not support discharge freeze - disabled
2026-08-15 05:30:02.510370: Note: Inverter does not support charge freeze - disabled
2026-08-15 05:30:02.510400: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 05:30:02.573254: Dynamic load last period 0.60kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 05:30:02.573365: Plan was last updated on 2026-08-15 05:20:00+01:00 and is now 10.0 minutes old
2026-08-15 05:30:02.573665: Best charge window [ 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 00:30:00 @ 28.84p 100% ]
2026-08-15 05:30:02.573710: Best export window [  ]
2026-08-15 05:30:02.574537: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 05:30:02.577313: Load divergence over 8.0 hours mean 565.45W, min 281.4W, max 1593.6W, std dev 301.63W, divergence 26.67%
2026-08-15 05:30:02.592267: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 05:30:02.592361: LoadML is_calculating False
2026-08-15 05:30:02.592420: Creating pool of 12 processes to match your CPU count
2026-08-15 05:30:02.704767: predict base end_record 08-16 11:40:00, final soc 1.12kWh, metric 824.68p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 06:40:00, load 28.18kWh, PV 0.0kWh
2026-08-15 05:30:02.826225: Battery has 1.17 hours left - now at 1.92kWh
2026-08-15 05:30:02.867325: predict base10 end_record 08-16 11:40:00, final soc 1.12kWh, metric 852.65p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 06:35:00, load 29.29kWh, PV 0.0kWh
2026-08-15 05:30:02.939406: predict best10 end_record 08-16 11:40:00, final soc 1.77kWh, metric 691.38p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 06:35:00, load 29.29kWh, PV 0.0kWh
2026-08-15 05:30:03.010173: predict best end_record 08-16 11:40:00, final soc 1.9kWh, metric 667.68p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 06:40:00, load 28.18kWh, PV 0.0kWh
2026-08-15 05:30:03.010260: Saving plan best values to HA entities
2026-08-15 05:30:03.176044: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0
2026-08-15 05:30:03.181738: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 05:30:03.187621: Best charging limit SoC's [16.0, 3.5, 4.0, 16.0, 16.0, 16.0]kWh, export []kWh gives import battery 21.43kWh, house 4.11kWh, export 0.0kWh, metric 667.68p, metric10 691.38p
2026-08-15 05:30:03.271684: Marginal costs baseline metric (no standing charge): 617.6991
2026-08-15 05:30:03.545875: Marginal energy costs matrix computed: min=15.16 max=32.77
2026-08-15 05:30:03.624006: Rate array import [{'start': 330, 'end': 420, 'rate': 'expensive', 'range': '(25.7p - 27.6p)'}, {'start': 420, 'end': 450, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 450, 'end': 480, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 480, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 23.6p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1860, 'rate': 'expensive', 'range': '(24.6p - 32.9p)'}, {'start': 1860, 'end': 1890, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 1890, 'end': 1920, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 1920, 'end': 2140, 'rate': 'cheap', 'range': '(15.5p - 23.6p)'}] export [{'start': 330, 'end': 2140, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 05:30:03.624772: - Your estimated bill for today is £5.92 and tomorrow is £5.43
2026-08-15 05:30:03.624830: - Import rates are expensive (25.7p - 27.6p) for the next 1 and a half hours and then cheap (22.7p) for the next 30 minutes.
2026-08-15 05:30:03.624856: - The battery is currently at 12% and is in eco mode for the next 6 hours.
2026-08-15 05:30:03.624875: - For the next 48 hours there will be no solar generation.
2026-08-15 05:30:03.624892: - You will run out of battery in 1 and a quarter hours.
2026-08-15 05:30:03.624910: - Your next charge slot will be in 6 hours where import rates will be cheap (15.5p).
2026-08-15 05:30:03.624927: 
2026-08-15 05:30:03.683644: Plan calculation took 1.11 seconds
2026-08-15 05:30:03.686971: No high rate period found
2026-08-15 05:30:03.742229: Import threshold used for optimisation was 25.7p
2026-08-15 05:30:03.794659: Low import rate windows [0: 08-15 05:30:00 - 08-15 06:00:00 @ 26.4, 1: 08-15 06:00:00 - 08-15 06:30:00 @ 25.7, 2: 08-15 06:30:00 - 08-15 07:00:00 @ 27.63, 3: 08-15 07:00:00 - 08-15 07:30:00 @ 22.73, 4: 08-15 07:30:00 - 08-15 08:00:00 @ 26.7, 5: 08-15 08:00:00 - 08-15 08:30:00 @ 22.92, 6: 08-15 08:30:00 - 08-15 09:00:00 @ 22.48, 7: 08-15 09:00:00 - 08-15 09:30:00 @ 23.55, 8: 08-15 09:30:00 - 08-15 10:00:00 @ 23.64, 9: 08-15 10:00:00 - 08-15 10:30:00 @ 19.66, 10: 08-15 10:30:00 - 08-15 11:00:00 @ 17.66, 11: 08-15 11:00:00 - 08-15 11:30:00 @ 16.56, 12: 08-15 11:30:00 - 08-15 12:00:00 @ 15.46, 13: 08-15 12:00:00 - 08-15 12:30:00 @ 17.0, 14: 08-15 12:30:00 - 08-15 13:00:00 @ 16.34, 15: 08-15 13:00:00 - 08-15 13:30:00 @ 15.36, 16: 08-15 13:30:00 - 08-15 14:00:00 @ 15.74, 17: 08-15 14:00:00 - 08-15 14:30:00 @ 14.57, 18: 08-15 14:30:00 - 08-15 15:00:00 @ 13.77, 19: 08-15 15:00:00 - 08-15 15:30:00 @ 15.02, 20: 08-15 15:30:00 - 08-15 16:00:00 @ 15.87, 21: 08-15 16:00:00 - 08-15 16:30:00 @ 33.13, 22: 08-15 16:30:00 - 08-15 17:00:00 @ 33.13, 23: 08-15 17:00:00 - 08-15 17:30:00 @ 38.46, 24: 08-15 17:30:00 - 08-15 18:00:00 @ 40.44, 25: 08-15 18:00:00 - 08-15 18:30:00 @ 41.55, 26: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 27: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 28: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 29: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 30: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 31: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 32: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 33: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 34: 08-15 23:00:00 - 08-15 23:30:00 @ 27.8, 35: 08-15 23:30:00 - 08-16 00:00:00 @ 29.09, 36: 08-16 00:00:00 - 08-16 00:30:00 @ 28.47, 37: 08-16 00:30:00 - 08-16 01:00:00 @ 27.18, 38: 08-16 01:00:00 - 08-16 01:30:00 @ 27.57, 39: 08-16 01:30:00 - 08-16 02:00:00 @ 26.5, 40: 08-16 02:00:00 - 08-16 02:30:00 @ 25.6, 41: 08-16 02:30:00 - 08-16 03:00:00 @ 24.79, 42: 08-16 03:00:00 - 08-16 03:30:00 @ 25.08, 43: 08-16 03:30:00 - 08-16 04:00:00 @ 24.62, 44: 08-16 04:00:00 - 08-16 04:30:00 @ 27.02, 45: 08-16 04:30:00 - 08-16 05:00:00 @ 26.47, 46: 08-16 05:00:00 - 08-16 05:30:00 @ 26.25, 47: 08-16 05:30:00 - 08-16 06:00:00 @ 26.4, 48: 08-16 06:00:00 - 08-16 06:30:00 @ 25.7, 49: 08-16 06:30:00 - 08-16 07:00:00 @ 27.63, 50: 08-16 07:00:00 - 08-16 07:30:00 @ 22.73, 51: 08-16 07:30:00 - 08-16 08:00:00 @ 26.7, 52: 08-16 08:00:00 - 08-16 08:30:00 @ 22.92, 53: 08-16 08:30:00 - 08-16 09:00:00 @ 22.48, 54: 08-16 09:00:00 - 08-16 09:30:00 @ 23.55, 55: 08-16 09:30:00 - 08-16 10:00:00 @ 23.64, 56: 08-16 10:00:00 - 08-16 10:30:00 @ 19.66, 57: 08-16 10:30:00 - 08-16 11:00:00 @ 17.66, 58: 08-16 11:00:00 - 08-16 11:30:00 @ 16.56, 59: 08-16 11:30:00 - 08-16 12:00:00 @ 15.46, 60: 08-16 12:00:00 - 08-16 12:30:00 @ 17.0, 61: 08-16 12:30:00 - 08-16 13:00:00 @ 16.34, 62: 08-16 13:00:00 - 08-16 13:30:00 @ 15.36, 63: 08-16 13:30:00 - 08-16 14:00:00 @ 15.74, 64: 08-16 14:00:00 - 08-16 14:30:00 @ 14.57, 65: 08-16 14:30:00 - 08-16 15:00:00 @ 13.77, 66: 08-16 15:00:00 - 08-16 15:30:00 @ 15.02, 67: 08-16 15:30:00 - 08-16 16:00:00 @ 15.87, 68: 08-16 16:00:00 - 08-16 16:30:00 @ 33.13, 69: 08-16 16:30:00 - 08-16 17:00:00 @ 33.13, 70: 08-16 17:00:00 - 08-16 17:30:00 @ 38.46, 71: 08-16 17:30:00 - 08-16 18:00:00 @ 40.44, 72: 08-16 18:00:00 - 08-16 18:30:00 @ 41.55, 73: 08-16 19:00:00 - 08-16 19:30:00 @ 32.58, 74: 08-16 19:30:00 - 08-16 20:00:00 @ 32.9, 75: 08-16 20:00:00 - 08-16 20:30:00 @ 31.99, 76: 08-16 20:30:00 - 08-16 21:00:00 @ 32.1, 77: 08-16 21:00:00 - 08-16 21:30:00 @ 31.71, 78: 08-16 21:30:00 - 08-16 22:00:00 @ 31.67, 79: 08-16 22:00:00 - 08-16 22:30:00 @ 31.77, 80: 08-16 22:30:00 - 08-16 23:00:00 @ 29.81, 81: 08-16 23:00:00 - 08-16 23:30:00 @ 27.8, 82: 08-16 23:30:00 - 08-17 00:00:00 @ 29.09, 83: 08-17 00:00:00 - 08-17 00:30:00 @ 28.47, 84: 08-17 00:30:00 - 08-17 01:00:00 @ 27.18, 85: 08-17 01:00:00 - 08-17 01:30:00 @ 27.57, 86: 08-17 01:30:00 - 08-17 02:00:00 @ 26.5, 87: 08-17 02:00:00 - 08-17 02:30:00 @ 25.6, 88: 08-17 02:30:00 - 08-17 03:00:00 @ 24.79, 89: 08-17 03:00:00 - 08-17 03:30:00 @ 25.08, 90: 08-17 03:30:00 - 08-17 04:00:00 @ 24.62, 91: 08-17 04:00:00 - 08-17 04:30:00 @ 27.02, 92: 08-17 04:30:00 - 08-17 05:00:00 @ 26.47, 93: 08-17 05:00:00 - 08-17 05:30:00 @ 26.25]
2026-08-15 05:30:03.803535: Inverter 0 Charge window will be: 2026-08-15 11:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 12%, target 100%
2026-08-15 05:30:03.803685: Inverter 0 disabled charge window while waiting for schedule (now 08-15 05:30:00 target set_window_minutes 30 charge start time 08-15 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 05:30:03.803799: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 05:30:03.804066: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 05:30:03.804167: No export window planned
2026-08-15 05:30:03.804275: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 05:30:03.804311: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 05:30:03.804463: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 05:30:03.804680: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 05:30:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 05:30:03.804746: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 05:30:03.804804: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 05:30:03.804896: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 05:30:03.804937: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 05:30:03.804995: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 05:30:03.805031: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 05:30:03.805061: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 05:30:03.805090: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 05:30:03.805116: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 05:30:03.805182: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 05:30:03.805218: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 05:30:03.805244: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 05:30:03.805268: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 05:30:03.805292: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 05:30:03.805325: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 05:30:03.805349: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 05:30:03.805374: Inverter 0 count register writes 0
2026-08-15 05:30:03.822434: Will recompute the plan as it is now 10.0 minutes old and will exceed the max age of 10 minutes before the next run
2026-08-15 05:30:03.822655: Recompute is saving previous plan...
2026-08-15 05:30:03.825304: Best charge window [ 15-08 05:30:00 - 15-08 06:00:00 @ 26.4p 0%, 15-08 06:00:00 - 15-08 06:30:00 @ 25.7p 0%, 15-08 06:30:00 - 15-08 07:00:00 @ 27.63p 0%, 15-08 07:00:00 - 15-08 07:30:00 @ 22.73p 0%, 15-08 07:30:00 - 15-08 08:00:00 @ 26.7p 0%, 15-08 08:00:00 - 15-08 08:30:00 @ 22.92p 0%, 15-08 08:30:00 - 15-08 09:00:00 @ 22.48p 0%, 15-08 09:00:00 - 15-08 09:30:00 @ 23.55p 0%, 15-08 09:30:00 - 15-08 10:00:00 @ 23.64p 0%, 15-08 10:00:00 - 15-08 10:30:00 @ 19.66p 0%, 15-08 10:30:00 - 15-08 11:00:00 @ 17.66p 0%, 15-08 11:00:00 - 15-08 11:30:00 @ 16.56p 0%, 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 0%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 0%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 0%, 15-08 13:00:00 - 15-08 13:30:00 @ 15.36p 0%, 15-08 13:30:00 - 15-08 14:00:00 @ 15.74p 0%, 15-08 14:00:00 - 15-08 14:30:00 @ 14.57p 0%, 15-08 14:30:00 - 15-08 15:00:00 @ 13.77p 0%, 15-08 15:00:00 - 15-08 15:30:00 @ 15.02p 0%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 0%, 15-08 16:00:00 - 15-08 16:30:00 @ 33.13p 0%, 15-08 16:30:00 - 15-08 17:00:00 @ 33.13p 0%, 15-08 17:00:00 - 15-08 17:30:00 @ 38.46p 0%, 15-08 17:30:00 - 15-08 18:00:00 @ 40.44p 0%, 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 0%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 0%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 0%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 0%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 0%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 27.8p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 29.09p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.47p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.18p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 27.57p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.5p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.6p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 24.79p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 25.08p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 24.62p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 27.02p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.47p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 26.25p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.4p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.7p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 27.63p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 22.73p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 26.7p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 22.92p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 22.48p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 23.55p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 23.64p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 19.66p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 17.66p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 16.56p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 15.46p 0%, 16-08 12:00:00 - 16-08 12:30:00 @ 17.0p 0%, 16-08 12:30:00 - 16-08 13:00:00 @ 16.34p 0%, 16-08 13:00:00 - 16-08 13:30:00 @ 15.36p 0%, 16-08 13:30:00 - 16-08 14:00:00 @ 15.74p 0%, 16-08 14:00:00 - 16-08 14:30:00 @ 14.57p 0%, 16-08 14:30:00 - 16-08 15:00:00 @ 13.77p 0%, 16-08 15:00:00 - 16-08 15:30:00 @ 15.02p 0%, 16-08 15:30:00 - 16-08 16:00:00 @ 15.87p 0%, 16-08 16:00:00 - 16-08 16:30:00 @ 33.13p 0%, 16-08 16:30:00 - 16-08 17:00:00 @ 33.13p 0%, 16-08 17:00:00 - 16-08 17:30:00 @ 38.46p 0%, 16-08 17:30:00 - 16-08 18:00:00 @ 40.44p 0%, 16-08 18:00:00 - 16-08 18:30:00 @ 41.55p 0%, 16-08 19:00:00 - 16-08 19:30:00 @ 32.58p 0%, 16-08 19:30:00 - 16-08 20:00:00 @ 32.9p 0%, 16-08 20:00:00 - 16-08 20:30:00 @ 31.99p 0%, 16-08 20:30:00 - 16-08 21:00:00 @ 32.1p 0%, 16-08 21:00:00 - 16-08 21:30:00 @ 31.71p 0%, 16-08 21:30:00 - 16-08 22:00:00 @ 31.67p 0%, 16-08 22:00:00 - 16-08 22:30:00 @ 31.77p 0%, 16-08 22:30:00 - 16-08 23:00:00 @ 29.81p 0%, 16-08 23:00:00 - 16-08 23:30:00 @ 27.8p 0%, 16-08 23:30:00 - 17-08 00:00:00 @ 29.09p 0%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.47p 0%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.18p 0%, 17-08 01:00:00 - 17-08 01:30:00 @ 27.57p 0%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.5p 0%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.6p 0%, 17-08 02:30:00 - 17-08 03:00:00 @ 24.79p 0%, 17-08 03:00:00 - 17-08 03:30:00 @ 25.08p 0%, 17-08 03:30:00 - 17-08 04:00:00 @ 24.62p 0%, 17-08 04:00:00 - 17-08 04:30:00 @ 27.02p 0%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.47p 0%, 17-08 05:00:00 - 17-08 05:30:00 @ 26.25p 0% ]
2026-08-15 05:30:03.825384: Best export window [  ]
2026-08-15 05:30:03.826105: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 05:30:03.828760: Load divergence over 8.0 hours mean 565.45W, min 281.4W, max 1593.6W, std dev 301.63W, divergence 26.67%
2026-08-15 05:30:03.843444: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 05:30:03.843558: LoadML is_calculating False
2026-08-15 05:30:03.843634: Creating pool of 12 processes to match your CPU count
2026-08-15 05:30:03.919181: Calculate Best options: mode(Control charge & discharge), calculate_export_oncharge(False), calculate_export_on_pv(True), set_export_freeze_only(False), set_discharge_during_charge(True), combine_charge_slots(False), combine_export_slots(False), combine_rate_threshold(0.0), best_soc_min(0.0 kWh), best_soc_max(0.0 kWh), best_soc_keep(0.0 kWh), inverter_loss(4%), battery_loss(3%), battery_loss_discharge (3%), inverter_hybrid(True), metric_min_improvement(0.0p), metric_min_improvement_export(0.1p), metric_min_improvement_export_freeze(0.1p), metric_battery_cycle(0.0p/kWh), metric_battery_value_scaling(1.0 x) 
2026-08-15 05:30:03.921000: Optimise levels pass started at 2026-08-15 05:30:03
2026-08-15 05:30:03.921073: Optimise all windows, total charge 94 export 1
2026-08-15 05:30:05.053168: >> Region optimisation pass width 960 gives best_metric 811.01p, best_cost 816.49p, best_cycle 55.0kWh, best_import 38.89kWh
2026-08-15 05:30:05.489114: >> Region optimisation pass width 480 gives best_metric 811.01p, best_cost 816.49p, best_cycle 55.0kWh, best_import 38.89kWh
2026-08-15 05:30:06.038903: >> Region optimisation pass width 240 gives best_metric 811.01p, best_cost 816.49p, best_cycle 55.0kWh, best_import 38.89kWh
2026-08-15 05:30:07.281466: >> Region optimisation pass width 120 gives best_metric 811.01p, best_cost 816.49p, best_cycle 55.0kWh, best_import 38.89kWh
2026-08-15 05:30:07.282476: Calculated end_record as 08-16 11:30:00 based on best_price 16.34p, next_charge_start 08-15 11:30:00, max_windows 59
2026-08-15 05:30:07.282568: Optimise levels pass ended at 2026-08-15 05:30:07, duration 3.4 seconds tried 307 combinations
2026-08-15 05:30:07.282643: Set best_price_charge_level 17.6p, best_price_export_level 0p, best_price_charge 16.34p, best_cost_export 0p, best_metric 811.01p, best_keep 0kWh, best_cycle 55.0kWh, best_carbon 0kg, best_import 38.89kWh
2026-08-15 05:30:07.303334: Starting detailed optimisation end_record 08-16 11:30:00, best_price_charge 16.34p, best_price_export 0p. lowest_price_charge 13.77p with charge limits [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0]kWh and export limits []kWh
2026-08-15 05:30:12.652462: Tweak plan optimisation started metric 592.34p, cost 601.82p
2026-08-15 05:30:13.001191: Tweak optimisation finished metric 591.98p, cost 601.45p, metric_keep 0kWh, cycle 31.07kWh, carbon 0kg, import 24.55kWh, changed 8 window(s)
2026-08-15 05:30:13.023942: Swap charge optimisation started metric 591.98p, cost 601.45p, min_improvement_swap 0.1p
2026-08-15 05:30:18.756644: Swap charge optimisation finished metric 591.98p, cost 601.45p
2026-08-15 05:30:18.883089: Pruned 2 dead plan slot(s) in 13 trial(s), nominal metric 588.21p -> 588.21p, plan now metric 592.04p, cost 601.45p, cycle 31.07kWh, import 24.55kWh
2026-08-15 05:30:18.892708: Raw charge windows [ 15-08 05:30:00 - 15-08 06:00:00 @ 26.4p 0%, 15-08 06:00:00 - 15-08 06:30:00 @ 25.7p 9%, 15-08 06:30:00 - 15-08 07:00:00 @ 27.63p 0%, 15-08 07:00:00 - 15-08 07:30:00 @ 22.73p 9%, 15-08 07:30:00 - 15-08 08:00:00 @ 26.7p 0%, 15-08 08:00:00 - 15-08 08:30:00 @ 22.92p 0%, 15-08 08:30:00 - 15-08 09:00:00 @ 22.48p 0%, 15-08 09:00:00 - 15-08 09:30:00 @ 23.55p 0%, 15-08 09:30:00 - 15-08 10:00:00 @ 23.64p 0%, 15-08 10:00:00 - 15-08 10:30:00 @ 19.66p 0%, 15-08 10:30:00 - 15-08 11:00:00 @ 17.66p 0%, 15-08 11:00:00 - 15-08 11:30:00 @ 16.56p 0%, 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 13:30:00 @ 15.36p 100%, 15-08 13:30:00 - 15-08 14:00:00 @ 15.74p 100%, 15-08 14:00:00 - 15-08 14:30:00 @ 14.57p 100%, 15-08 14:30:00 - 15-08 15:00:00 @ 13.77p 100%, 15-08 15:00:00 - 15-08 15:30:00 @ 15.02p 100%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 100%, 15-08 16:00:00 - 15-08 16:30:00 @ 33.13p 0%, 15-08 16:30:00 - 15-08 17:00:00 @ 33.13p 0%, 15-08 17:00:00 - 15-08 17:30:00 @ 38.46p 0%, 15-08 17:30:00 - 15-08 18:00:00 @ 40.44p 0%, 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 0%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 0%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 0%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 0%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 0%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 27.8p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 29.09p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.47p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.18p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 27.57p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.5p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.6p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 24.79p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 25.08p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 24.62p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 27.02p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.47p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 26.25p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.4p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.7p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 27.63p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 22.73p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 26.7p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 22.92p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 22.48p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 23.55p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 23.64p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 19.66p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 17.66p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 16.56p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 15.46p 100%, 16-08 12:00:00 - 16-08 12:30:00 @ 17.0p 100%, 16-08 12:30:00 - 16-08 13:00:00 @ 16.34p 100%, 16-08 13:00:00 - 16-08 13:30:00 @ 15.36p 100%, 16-08 13:30:00 - 16-08 14:00:00 @ 15.74p 100%, 16-08 14:00:00 - 16-08 14:30:00 @ 14.57p 100%, 16-08 14:30:00 - 16-08 15:00:00 @ 13.77p 100%, 16-08 15:00:00 - 16-08 15:30:00 @ 15.02p 100%, 16-08 15:30:00 - 16-08 16:00:00 @ 15.87p 100%, 16-08 16:00:00 - 16-08 16:30:00 @ 33.13p 100%, 16-08 16:30:00 - 16-08 17:00:00 @ 33.13p 100%, 16-08 17:00:00 - 16-08 17:30:00 @ 38.46p 100%, 16-08 17:30:00 - 16-08 18:00:00 @ 40.44p 100%, 16-08 18:00:00 - 16-08 18:30:00 @ 41.55p 100%, 16-08 19:00:00 - 16-08 19:30:00 @ 32.58p 100%, 16-08 19:30:00 - 16-08 20:00:00 @ 32.9p 100%, 16-08 20:00:00 - 16-08 20:30:00 @ 31.99p 100%, 16-08 20:30:00 - 16-08 21:00:00 @ 32.1p 100%, 16-08 21:00:00 - 16-08 21:30:00 @ 31.71p 100%, 16-08 21:30:00 - 16-08 22:00:00 @ 31.67p 100%, 16-08 22:00:00 - 16-08 22:30:00 @ 31.77p 100%, 16-08 22:30:00 - 16-08 23:00:00 @ 29.81p 100%, 16-08 23:00:00 - 16-08 23:30:00 @ 27.8p 100%, 16-08 23:30:00 - 17-08 00:00:00 @ 29.09p 100%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.47p 100%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.18p 100%, 17-08 01:00:00 - 17-08 01:30:00 @ 27.57p 100%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.5p 100%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.6p 100%, 17-08 02:30:00 - 17-08 03:00:00 @ 24.79p 100%, 17-08 03:00:00 - 17-08 03:30:00 @ 25.08p 100%, 17-08 03:30:00 - 17-08 04:00:00 @ 24.62p 100%, 17-08 04:00:00 - 17-08 04:30:00 @ 27.02p 100%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.47p 100%, 17-08 05:00:00 - 17-08 05:30:00 @ 26.25p 100% ] reserve 1.12
2026-08-15 05:30:18.893298: Unclipped charge windows [ 15-08 06:00:00 - 15-08 06:30:00 @ 25.7p 9%, 15-08 07:00:00 - 15-08 07:30:00 @ 22.73p 9%, 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 05:30:00 @ 26.24p 100% ] reserve 1.12
2026-08-15 05:30:18.893607: Unfiltered charge windows [ 15-08 06:00:00 - 15-08 06:30:00 @ 25.7p 9%, 15-08 07:00:00 - 15-08 07:30:00 @ 22.73p 9%, 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 05:30:00 @ 26.24p 100% ] reserve 1.12
2026-08-15 05:30:18.893838: Filtered charge windows [ 15-08 06:00:00 - 15-08 06:30:00 @ 25.7p 9%, 15-08 07:00:00 - 15-08 07:30:00 @ 22.73p 9%, 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 05:30:00 @ 26.24p 100% ] reserve 1.12
2026-08-15 05:30:18.923989: Previous plan best metric is 592.45 (cost 601.84) and new plan best metric is 591.98 (cost 601.45)
2026-08-15 05:30:18.924184: New plan metric is not significantly better (metric_min_improvement_plan 2.0) than previous plan, using previous plan
2026-08-15 05:30:18.924349: Plan valid is now true after recompute was False
2026-08-15 05:30:18.947465: predict base end_record 08-16 11:30:00, final soc 1.12kWh, metric 821.7p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 06:40:00, load 27.98kWh, PV 0.0kWh
2026-08-15 05:30:19.045276: Battery has 1.17 hours left - now at 1.92kWh
2026-08-15 05:30:19.087516: predict base10 end_record 08-16 11:30:00, final soc 1.12kWh, metric 849.53p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 06:35:00, load 29.08kWh, PV 0.0kWh
2026-08-15 05:30:19.165336: predict best10 end_record 08-16 11:30:00, final soc 1.12kWh, metric 677.52p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 06:35:00, load 29.08kWh, PV 0.0kWh
2026-08-15 05:30:19.247996: predict best end_record 08-16 11:30:00, final soc 1.12kWh, metric 651.83p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 06:40:00, load 27.98kWh, PV 0.0kWh
2026-08-15 05:30:19.248088: Saving plan best values to HA entities
2026-08-15 05:30:19.381572: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0
2026-08-15 05:30:19.386276: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 05:30:19.391248: Best charging limit SoC's [16.0, 3.5, 4.0, 16.0, 16.0, 16.0]kWh, export []kWh gives import battery 20.4kWh, house 4.11kWh, export 0.0kWh, metric 651.83p, metric10 677.52p
2026-08-15 05:30:19.453129: Marginal costs baseline metric (no standing charge): 601.8422
2026-08-15 05:30:19.683100: Marginal energy costs matrix computed: min=15.16 max=32.77
2026-08-15 05:30:19.753220: Rate array import [{'start': 330, 'end': 420, 'rate': 'expensive', 'range': '(25.7p - 27.6p)'}, {'start': 420, 'end': 450, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 450, 'end': 480, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 480, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 23.6p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1860, 'rate': 'expensive', 'range': '(24.6p - 32.9p)'}, {'start': 1860, 'end': 1890, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 1890, 'end': 1920, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 1920, 'end': 2130, 'rate': 'cheap', 'range': '(16.6p - 23.6p)'}] export [{'start': 330, 'end': 2130, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 05:30:19.754064: - Your estimated bill for today is £5.92 and tomorrow is £5.43
2026-08-15 05:30:19.754125: - Import rates are expensive (25.7p - 27.6p) for the next 1 and a half hours and then cheap (22.7p) for the next 30 minutes.
2026-08-15 05:30:19.754150: - The battery is currently at 12% and is in eco mode for the next 6 hours.
2026-08-15 05:30:19.754170: - For the next 48 hours there will be no solar generation.
2026-08-15 05:30:19.754187: - You will run out of battery in 1 and a quarter hours.
2026-08-15 05:30:19.754204: - Your next charge slot will be in 6 hours where import rates will be cheap (15.5p).
2026-08-15 05:30:19.754223: 
2026-08-15 05:30:19.809853: Plan calculation took 15.99 seconds
2026-08-15 05:30:19.810226: Inverter 0: Type SK Sunsynk
2026-08-15 05:30:19.810275: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 05:30:19.810528: Reserve min: 7%, battery_min: 7%
2026-08-15 05:30:19.810625: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 05:30:19.810980: Inverter 0 SoC: 1.92kW 12%, current charge rate 5000W, current discharge rate 5250W, current battery power 267W, current battery voltage 51.2V, grid power -54W, load power 331W, PV Power 0W
2026-08-15 05:30:19.811236: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 05:30:19.811358: Inverter 0 scheduled charge enable is False
2026-08-15 05:30:19.811407: Inverter 0 charge windows currently []
2026-08-15 05:30:19.811470: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 05:30:19.811603: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 05:30:19.811640: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 05:30:19.811686: Inverter 0 scheduled discharge enable is False
2026-08-15 05:30:19.811846: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 05:30:19.811885: Inverter 0 discharge windows currently []
2026-08-15 05:30:19.811913: Note: Inverter does not support discharge freeze - disabled
2026-08-15 05:30:19.811948: Note: Inverter does not support charge freeze - disabled
2026-08-15 05:30:19.811967: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 05:30:19.858794: Inverter 0 Charge window will be: 2026-08-15 11:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 12%, target 100%
2026-08-15 05:30:19.858957: Inverter 0 disabled charge window while waiting for schedule (now 08-15 05:30:00 target set_window_minutes 30 charge start time 08-15 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 05:30:19.859051: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 05:30:19.859273: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 05:30:19.859359: No export window planned
2026-08-15 05:30:19.859515: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 05:30:19.859557: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 05:30:19.859724: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 05:30:19.859922: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 05:30:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 05:30:19.859984: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 05:30:19.860058: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 05:30:19.860173: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 05:30:19.860227: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 05:30:19.860272: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 05:30:19.860300: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 05:30:19.860334: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 05:30:19.860380: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 05:30:19.860418: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 05:30:19.860518: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 05:30:19.860570: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 05:30:19.860610: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 05:30:19.860674: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 05:30:19.860724: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 05:30:19.860769: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 05:30:19.860799: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 05:30:19.860822: Inverter 0 count register writes 0
2026-08-15 05:30:19.879976: Total inverter register writes now 815
2026-08-15 05:30:19.911645: Info: Completed run status Demand
2026-08-15 05:30:19.917948: Info: record_status Demand
2026-08-15 05:30:19.924478: Saved current settings to /config/predbat_config.json
2026-08-15 05:30:19.924818: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 05:30:57.038953: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 05:30:57.039187: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 05:30:57.039254: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 05:30:57.039387: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 05:30:57.039482: Note: Inverter does not support discharge freeze - disabled
2026-08-15 05:30:57.039521: Note: Inverter does not support charge freeze - disabled
2026-08-15 05:30:57.039540: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 05:32:57.262193: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 05:32:57.262432: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 05:32:57.262492: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 05:32:57.262631: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 05:32:57.262671: Note: Inverter does not support discharge freeze - disabled
2026-08-15 05:32:57.262692: Note: Inverter does not support charge freeze - disabled
2026-08-15 05:32:57.262711: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 05:34:57.476522: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 05:34:57.476773: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 05:34:57.476809: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 05:34:57.476939: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 05:34:57.477049: Note: Inverter does not support discharge freeze - disabled
2026-08-15 05:34:57.477114: Note: Inverter does not support charge freeze - disabled
2026-08-15 05:34:57.477153: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 05:35:00.553372: --------------- PredBat - update at 2026-08-15 05:35:00+01:00 with clock skew 0 minutes, minutes now 335
2026-08-15 05:35:00.554128: Saved current settings to /config/predbat_config.json
2026-08-15 05:35:00.554277: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 90.0 minutes
2026-08-15 05:35:00.554359: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.1, latest beta is v8.48.1
2026-08-15 05:35:00.554516: Autoupdate: Currently up to date
2026-08-15 05:35:00.574453: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 05:35:00.574610: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 05:35:00.574805: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 05:35:00.575316: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 05:35:00.575452: Predbat mode is set to Control charge & discharge
2026-08-15 05:35:00.767388: Found 21602 load_today datapoints going back 28 days
2026-08-15 05:35:00.767538: Using load_power data to fill gaps in load_today data
2026-08-15 05:35:01.559604: Processing 721 30-minute periods for power integration
2026-08-15 05:35:01.767863: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 05:35:01.768013: Car charging hold False, threshold 6.0kWh
2026-08-15 05:35:01.768062: Current data so far today: load 4.9kWh, import 5.9kWh, export 0.0kWh, PV 0kWh
2026-08-15 05:35:01.782913: Cars: SoC: [12.892000000000001]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 05:35:01.783472: Standing charge is set to 49.98p
2026-08-15 05:35:01.825248: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 05:35:01.825399: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 05:35:01.825655: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 335.0 minutes
2026-08-15 05:35:01.826157: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 334.7 minutes
2026-08-15 05:35:01.829714: Loaded 47 datapoints of futurerate analysis
2026-08-15 05:35:01.925554: Predicted future rates: ['08-15 00:00:00 => 28.9 / 20.01', '08-15 01:00:00 => 27.54 / 19.31', '08-15 02:00:00 => 26.52 / 18.8', '08-15 03:00:00 => 25.99 / 18.53', '08-15 04:00:00 => 25.8 / 18.43', '08-15 05:00:00 => 25.96 / 18.51', '08-15 06:00:00 => 25.55 / 18.3', '08-15 07:00:00 => 24.33 / 17.68', '08-15 08:00:00 => 23.03 / 17.01', '08-15 09:00:00 => 22.05 / 16.51', '08-15 10:00:00 => 20.43 / 15.68', '08-15 11:00:00 => 18.01 / 14.45', '08-15 12:00:00 => 16.37 / 13.61', '08-15 13:00:00 => 15.76 / 13.3', '08-15 14:00:00 => 15.35 / 13.09', '08-15 15:00:00 => 15.86 / 13.35', '08-15 16:00:00 => 32.89 / 16.13', '08-15 17:00:00 => 38.02 / 18.75', '08-15 18:00:00 => 42.36 / 20.96', '08-15 19:00:00 => 31.09 / 21.13', '08-15 20:00:00 => 31.64 / 21.41', '08-15 21:00:00 => 31.64 / 21.41', '08-15 22:00:00 => 30.58 / 20.87']
2026-08-15 05:35:02.004645: Rate min forward looking: now 13.77p at end of forecast 13.77p
2026-08-15 05:35:02.005250: Import rates: min 13.77p, max 43.82p, average 25.96p
2026-08-15 05:35:02.053568: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 05:35:02.054208: Rate thresholds (for charge/export) are import 43.32p (0.0p), export -0.1p (0.0p)
2026-08-15 05:35:02.055513: High export rate found rates in range 99p to -99p
2026-08-15 05:35:02.145005: Low Import rate found rates in range 13.77p to 41.55p
2026-08-15 05:35:02.145197: Car 0 charging is not planned as it is not plugged in
2026-08-15 05:35:02.158937: Battery level now 1.92kWh, -1hr ago 1.6kWh, at midnight 1.66kWh, battery value change in the last hour 3.78p, change today 3.12p, rate_forward 11.83p
2026-08-15 05:35:02.159314: Last hour: net energy 0.58kWh, import 0.58kWh, export 0.0kWh, car 0kWh, load 0.5kWh, net cost 15.31p, import 15.31p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 05:35:02.214914: Today's energy total net 5.9kWh, import 5.9kWh, export 0.0kWh, cost 207.56p, import 157.57p, export 0.0p, carbon 0.0kg
2026-08-15 05:35:02.215057: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 05:35:02.301625: Using weighted-bucket historical load forecast over 14 days
2026-08-15 05:35:02.326475: Today's load divergence 107.71%, in-day adjustment 135.29%, damping 0.95x, yesterday 143.77% today 107.32% blend 76.74%
2026-08-15 05:35:02.326576: Today's predicted so far 3.74kWh with 0.0kWh car/iBoost excluded, 2.49kWh import ignored, and 3.74kWh forecast extra.
2026-08-15 05:35:02.326608: Today's actual load so far 5.04kWh with 0.0kWh car/iBoost excluded, and 2.49kWh import ignored.
2026-08-15 05:35:02.362857: Inverter 0: Type SK Sunsynk
2026-08-15 05:35:02.362947: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 05:35:02.363127: Reserve min: 7%, battery_min: 7%
2026-08-15 05:35:02.363197: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 05:35:02.363472: Inverter 0 SoC: 1.77kW 11%, current charge rate 5000W, current discharge rate 5250W, current battery power 290W, current battery voltage 51.2V, grid power -60W, load power 353W, PV Power 0W
2026-08-15 05:35:02.363631: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 05:35:02.363720: Inverter 0 scheduled charge enable is False
2026-08-15 05:35:02.363753: Inverter 0 charge windows currently []
2026-08-15 05:35:02.363780: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 05:35:02.363884: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 05:35:02.363920: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 05:35:02.363955: Inverter 0 scheduled discharge enable is False
2026-08-15 05:35:02.364074: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 05:35:02.364111: Inverter 0 discharge windows currently []
2026-08-15 05:35:02.364133: Note: Inverter does not support discharge freeze - disabled
2026-08-15 05:35:02.364159: Note: Inverter does not support charge freeze - disabled
2026-08-15 05:35:02.364177: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 05:35:02.426466: Dynamic load last period 0.60kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 05:35:02.426578: Plan was last updated on 2026-08-15 05:30:00+01:00 and is now 5.0 minutes old
2026-08-15 05:35:02.426861: Best charge window [ 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 00:30:00 @ 28.84p 100% ]
2026-08-15 05:35:02.426903: Best export window [  ]
2026-08-15 05:35:02.428102: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 05:35:02.432149: Load divergence over 8.0 hours mean 574.63W, min 269.4W, max 1564.2W, std dev 308.71W, divergence 26.86%
2026-08-15 05:35:02.451135: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 05:35:02.451254: LoadML is_calculating False
2026-08-15 05:35:02.451321: Creating pool of 12 processes to match your CPU count
2026-08-15 05:35:02.595800: predict base end_record 08-16 11:35:00, final soc 1.12kWh, metric 824.26p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 06:35:00, load 28.04kWh, PV 0.0kWh
2026-08-15 05:35:02.745310: Battery has 1.0 hours left - now at 1.77kWh
2026-08-15 05:35:02.804242: predict base10 end_record 08-16 11:35:00, final soc 1.12kWh, metric 852.03p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 06:30:00, load 29.14kWh, PV 0.0kWh
2026-08-15 05:35:02.888846: predict best10 end_record 08-16 11:35:00, final soc 1.44kWh, metric 685.8p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 06:30:00, load 29.14kWh, PV 0.0kWh
2026-08-15 05:35:02.977186: predict best end_record 08-16 11:35:00, final soc 1.51kWh, metric 661.5p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 06:35:00, load 28.04kWh, PV 0.0kWh
2026-08-15 05:35:02.977428: Saving plan best values to HA entities
2026-08-15 05:35:03.167087: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 05:35:03.173581: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 05:35:03.179237: Best charging limit SoC's [16.0, 3.5, 4.0, 16.0, 16.0, 16.0]kWh, export []kWh gives import battery 20.93kWh, house 4.15kWh, export 0.0kWh, metric 661.5p, metric10 685.8p
2026-08-15 05:35:03.263920: Marginal costs baseline metric (no standing charge): 611.516
2026-08-15 05:35:03.481704: Marginal energy costs matrix computed: min=14.99 max=32.98
2026-08-15 05:35:03.564713: Rate array import [{'start': 335, 'end': 420, 'rate': 'expensive', 'range': '(25.7p - 27.6p)'}, {'start': 420, 'end': 450, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 450, 'end': 480, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 480, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 23.6p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1860, 'rate': 'expensive', 'range': '(24.6p - 32.9p)'}, {'start': 1860, 'end': 1890, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 1890, 'end': 1920, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 1920, 'end': 2135, 'rate': 'cheap', 'range': '(15.5p - 23.6p)'}] export [{'start': 335, 'end': 2135, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 05:35:03.565532: - Your estimated bill for today is £5.94 and tomorrow is £5.40
2026-08-15 05:35:03.565597: - Import rates are expensive (25.7p - 27.6p) for the next 1 and a half hours and then cheap (22.7p) for the next 30 minutes.
2026-08-15 05:35:03.565622: - The battery is currently at 11% and is in eco mode for the next 5  hours.
2026-08-15 05:35:03.565641: - For the next 48 hours there will be no solar generation.
2026-08-15 05:35:03.565663: - You will run out of battery in 1 hour.
2026-08-15 05:35:03.565681: - Your next charge slot will be in 5  hours where import rates will be cheap (15.5p).
2026-08-15 05:35:03.565698: 
2026-08-15 05:35:03.625347: Plan calculation took 1.20 seconds
2026-08-15 05:35:03.628668: No high rate period found
2026-08-15 05:35:03.700151: Import threshold used for optimisation was 25.7p
2026-08-15 05:35:03.776680: Low import rate windows [0: 08-15 05:30:00 - 08-15 06:00:00 @ 26.4, 1: 08-15 06:00:00 - 08-15 06:30:00 @ 25.7, 2: 08-15 06:30:00 - 08-15 07:00:00 @ 27.63, 3: 08-15 07:00:00 - 08-15 07:30:00 @ 22.73, 4: 08-15 07:30:00 - 08-15 08:00:00 @ 26.7, 5: 08-15 08:00:00 - 08-15 08:30:00 @ 22.92, 6: 08-15 08:30:00 - 08-15 09:00:00 @ 22.48, 7: 08-15 09:00:00 - 08-15 09:30:00 @ 23.55, 8: 08-15 09:30:00 - 08-15 10:00:00 @ 23.64, 9: 08-15 10:00:00 - 08-15 10:30:00 @ 19.66, 10: 08-15 10:30:00 - 08-15 11:00:00 @ 17.66, 11: 08-15 11:00:00 - 08-15 11:30:00 @ 16.56, 12: 08-15 11:30:00 - 08-15 12:00:00 @ 15.46, 13: 08-15 12:00:00 - 08-15 12:30:00 @ 17.0, 14: 08-15 12:30:00 - 08-15 13:00:00 @ 16.34, 15: 08-15 13:00:00 - 08-15 13:30:00 @ 15.36, 16: 08-15 13:30:00 - 08-15 14:00:00 @ 15.74, 17: 08-15 14:00:00 - 08-15 14:30:00 @ 14.57, 18: 08-15 14:30:00 - 08-15 15:00:00 @ 13.77, 19: 08-15 15:00:00 - 08-15 15:30:00 @ 15.02, 20: 08-15 15:30:00 - 08-15 16:00:00 @ 15.87, 21: 08-15 16:00:00 - 08-15 16:30:00 @ 33.13, 22: 08-15 16:30:00 - 08-15 17:00:00 @ 33.13, 23: 08-15 17:00:00 - 08-15 17:30:00 @ 38.46, 24: 08-15 17:30:00 - 08-15 18:00:00 @ 40.44, 25: 08-15 18:00:00 - 08-15 18:30:00 @ 41.55, 26: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 27: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 28: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 29: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 30: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 31: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 32: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 33: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 34: 08-15 23:00:00 - 08-15 23:30:00 @ 27.8, 35: 08-15 23:30:00 - 08-16 00:00:00 @ 29.09, 36: 08-16 00:00:00 - 08-16 00:30:00 @ 28.47, 37: 08-16 00:30:00 - 08-16 01:00:00 @ 27.18, 38: 08-16 01:00:00 - 08-16 01:30:00 @ 27.57, 39: 08-16 01:30:00 - 08-16 02:00:00 @ 26.5, 40: 08-16 02:00:00 - 08-16 02:30:00 @ 25.6, 41: 08-16 02:30:00 - 08-16 03:00:00 @ 24.79, 42: 08-16 03:00:00 - 08-16 03:30:00 @ 25.08, 43: 08-16 03:30:00 - 08-16 04:00:00 @ 24.62, 44: 08-16 04:00:00 - 08-16 04:30:00 @ 27.02, 45: 08-16 04:30:00 - 08-16 05:00:00 @ 26.47, 46: 08-16 05:00:00 - 08-16 05:30:00 @ 26.25, 47: 08-16 05:30:00 - 08-16 06:00:00 @ 26.4, 48: 08-16 06:00:00 - 08-16 06:30:00 @ 25.7, 49: 08-16 06:30:00 - 08-16 07:00:00 @ 27.63, 50: 08-16 07:00:00 - 08-16 07:30:00 @ 22.73, 51: 08-16 07:30:00 - 08-16 08:00:00 @ 26.7, 52: 08-16 08:00:00 - 08-16 08:30:00 @ 22.92, 53: 08-16 08:30:00 - 08-16 09:00:00 @ 22.48, 54: 08-16 09:00:00 - 08-16 09:30:00 @ 23.55, 55: 08-16 09:30:00 - 08-16 10:00:00 @ 23.64, 56: 08-16 10:00:00 - 08-16 10:30:00 @ 19.66, 57: 08-16 10:30:00 - 08-16 11:00:00 @ 17.66, 58: 08-16 11:00:00 - 08-16 11:30:00 @ 16.56, 59: 08-16 11:30:00 - 08-16 12:00:00 @ 15.46, 60: 08-16 12:00:00 - 08-16 12:30:00 @ 17.0, 61: 08-16 12:30:00 - 08-16 13:00:00 @ 16.34, 62: 08-16 13:00:00 - 08-16 13:30:00 @ 15.36, 63: 08-16 13:30:00 - 08-16 14:00:00 @ 15.74, 64: 08-16 14:00:00 - 08-16 14:30:00 @ 14.57, 65: 08-16 14:30:00 - 08-16 15:00:00 @ 13.77, 66: 08-16 15:00:00 - 08-16 15:30:00 @ 15.02, 67: 08-16 15:30:00 - 08-16 16:00:00 @ 15.87, 68: 08-16 16:00:00 - 08-16 16:30:00 @ 33.13, 69: 08-16 16:30:00 - 08-16 17:00:00 @ 33.13, 70: 08-16 17:00:00 - 08-16 17:30:00 @ 38.46, 71: 08-16 17:30:00 - 08-16 18:00:00 @ 40.44, 72: 08-16 18:00:00 - 08-16 18:30:00 @ 41.55, 73: 08-16 19:00:00 - 08-16 19:30:00 @ 32.58, 74: 08-16 19:30:00 - 08-16 20:00:00 @ 32.9, 75: 08-16 20:00:00 - 08-16 20:30:00 @ 31.99, 76: 08-16 20:30:00 - 08-16 21:00:00 @ 32.1, 77: 08-16 21:00:00 - 08-16 21:30:00 @ 31.71, 78: 08-16 21:30:00 - 08-16 22:00:00 @ 31.67, 79: 08-16 22:00:00 - 08-16 22:30:00 @ 31.77, 80: 08-16 22:30:00 - 08-16 23:00:00 @ 29.81, 81: 08-16 23:00:00 - 08-16 23:30:00 @ 27.8, 82: 08-16 23:30:00 - 08-17 00:00:00 @ 29.09, 83: 08-17 00:00:00 - 08-17 00:30:00 @ 28.47, 84: 08-17 00:30:00 - 08-17 01:00:00 @ 27.18, 85: 08-17 01:00:00 - 08-17 01:30:00 @ 27.57, 86: 08-17 01:30:00 - 08-17 02:00:00 @ 26.5, 87: 08-17 02:00:00 - 08-17 02:30:00 @ 25.6, 88: 08-17 02:30:00 - 08-17 03:00:00 @ 24.79, 89: 08-17 03:00:00 - 08-17 03:30:00 @ 25.08, 90: 08-17 03:30:00 - 08-17 04:00:00 @ 24.62, 91: 08-17 04:00:00 - 08-17 04:30:00 @ 27.02, 92: 08-17 04:30:00 - 08-17 05:00:00 @ 26.47, 93: 08-17 05:00:00 - 08-17 05:30:00 @ 26.25, 94: 08-17 05:30:00 - 08-17 06:00:00 @ 26.4]
2026-08-15 05:35:03.784721: Inverter 0 Charge window will be: 2026-08-15 11:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 11%, target 100%
2026-08-15 05:35:03.784866: Inverter 0 disabled charge window while waiting for schedule (now 08-15 05:35:00 target set_window_minutes 30 charge start time 08-15 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 05:35:03.785028: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 05:35:03.785305: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 05:35:03.785419: No export window planned
2026-08-15 05:35:03.785547: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 05:35:03.785584: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 05:35:03.785723: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 05:35:03.785902: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 05:35:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 05:35:03.785965: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 05:35:03.786053: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 05:35:03.786158: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 05:35:03.786200: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 05:35:03.786229: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 05:35:03.786256: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 05:35:03.786280: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 05:35:03.786304: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 05:35:03.786333: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 05:35:03.786453: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 05:35:03.786522: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 05:35:03.786553: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 05:35:03.786584: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 05:35:03.786608: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 05:35:03.786638: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 05:35:03.786661: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 05:35:03.786683: Inverter 0 count register writes 0
2026-08-15 05:35:03.802444: Will not recompute the plan, it is 5.0 minutes old and max age is 10 minutes
2026-08-15 05:35:03.807096: Total inverter register writes now 815
2026-08-15 05:35:03.840457: Info: Completed run status Demand
2026-08-15 05:35:03.847860: Info: record_status Demand
2026-08-15 05:35:03.856342: Saved current settings to /config/predbat_config.json
2026-08-15 05:35:03.856790: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 05:35:41.974852: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 05:35:41.975134: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 05:35:41.975185: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 05:35:41.975410: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 05:35:41.975475: Note: Inverter does not support discharge freeze - disabled
2026-08-15 05:35:41.975499: Note: Inverter does not support charge freeze - disabled
2026-08-15 05:35:41.975516: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 05:37:42.198485: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 05:37:42.198768: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 05:37:42.198814: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 05:37:42.198953: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 05:37:42.198993: Note: Inverter does not support discharge freeze - disabled
2026-08-15 05:37:42.199013: Note: Inverter does not support charge freeze - disabled
2026-08-15 05:37:42.199053: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 05:39:42.419058: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 05:39:42.419330: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 05:39:42.419392: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 05:39:42.419559: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 05:39:42.419616: Note: Inverter does not support discharge freeze - disabled
2026-08-15 05:39:42.419637: Note: Inverter does not support charge freeze - disabled
2026-08-15 05:39:42.419655: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 05:40:00.517132: --------------- PredBat - update at 2026-08-15 05:40:00+01:00 with clock skew 0 minutes, minutes now 340
2026-08-15 05:40:00.517869: Saved current settings to /config/predbat_config.json
2026-08-15 05:40:00.518046: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 95.0 minutes
2026-08-15 05:40:00.518155: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.1, latest beta is v8.48.1
2026-08-15 05:40:00.518268: Autoupdate: Currently up to date
2026-08-15 05:40:00.537229: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 05:40:00.537419: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 05:40:00.537652: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 05:40:00.538228: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 05:40:00.538392: Predbat mode is set to Control charge & discharge
2026-08-15 05:40:00.710915: Found 21602 load_today datapoints going back 28 days
2026-08-15 05:40:00.711102: Using load_power data to fill gaps in load_today data
2026-08-15 05:40:01.400659: Processing 721 30-minute periods for power integration
2026-08-15 05:40:01.551885: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 05:40:01.552032: Car charging hold False, threshold 6.0kWh
2026-08-15 05:40:01.552071: Current data so far today: load 4.95kWh, import 5.9kWh, export 0.0kWh, PV 0kWh
2026-08-15 05:40:01.564426: Cars: SoC: [12.892000000000001]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 05:40:01.564778: Standing charge is set to 49.98p
2026-08-15 05:40:01.596884: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 05:40:01.597012: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 05:40:01.597190: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 340.0 minutes
2026-08-15 05:40:01.597566: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 339.6 minutes
2026-08-15 05:40:01.599919: Loaded 47 datapoints of futurerate analysis
2026-08-15 05:40:01.667859: Predicted future rates: ['08-15 00:00:00 => 28.9 / 20.01', '08-15 01:00:00 => 27.54 / 19.31', '08-15 02:00:00 => 26.52 / 18.8', '08-15 03:00:00 => 25.99 / 18.53', '08-15 04:00:00 => 25.8 / 18.43', '08-15 05:00:00 => 25.96 / 18.51', '08-15 06:00:00 => 25.55 / 18.3', '08-15 07:00:00 => 24.33 / 17.68', '08-15 08:00:00 => 23.03 / 17.01', '08-15 09:00:00 => 22.05 / 16.51', '08-15 10:00:00 => 20.43 / 15.68', '08-15 11:00:00 => 18.01 / 14.45', '08-15 12:00:00 => 16.37 / 13.61', '08-15 13:00:00 => 15.76 / 13.3', '08-15 14:00:00 => 15.35 / 13.09', '08-15 15:00:00 => 15.86 / 13.35', '08-15 16:00:00 => 32.89 / 16.13', '08-15 17:00:00 => 38.02 / 18.75', '08-15 18:00:00 => 42.36 / 20.96', '08-15 19:00:00 => 31.09 / 21.13', '08-15 20:00:00 => 31.64 / 21.41', '08-15 21:00:00 => 31.64 / 21.41', '08-15 22:00:00 => 30.58 / 20.87']
2026-08-15 05:40:01.719196: Rate min forward looking: now 13.77p at end of forecast 13.77p
2026-08-15 05:40:01.719649: Import rates: min 13.77p, max 43.82p, average 25.96p
2026-08-15 05:40:01.754011: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 05:40:01.754154: Rate thresholds (for charge/export) are import 43.32p (0.0p), export -0.1p (0.0p)
2026-08-15 05:40:01.755345: High export rate found rates in range 99p to -99p
2026-08-15 05:40:01.790224: MCP POST: Received request from 172.19.0.1
2026-08-15 05:40:01.795792: MCP: Could not even decode without verification: Not enough segments
2026-08-15 05:40:01.807267: MCP: Token verification failed: Not enough segments
2026-08-15 05:40:01.812760: MCP POST: Authenticated via legacy bearer token
2026-08-15 05:40:01.834332: Low Import rate found rates in range 13.77p to 41.55p
2026-08-15 05:40:01.834639: Car 0 charging is not planned as it is not plugged in
2026-08-15 05:40:01.845497: Battery level now 1.77kWh, -1hr ago 1.55kWh, at midnight 1.66kWh, battery value change in the last hour 2.55p, change today 1.32p, rate_forward 11.83p
2026-08-15 05:40:01.845887: Last hour: net energy 0.5kWh, import 0.5kWh, export 0.0kWh, car 0kWh, load 0.5kWh, net cost 13.19p, import 13.19p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 05:40:01.893641: Today's energy total net 5.9kWh, import 5.9kWh, export 0.0kWh, cost 207.56p, import 157.57p, export 0.0p, carbon 0.0kg
2026-08-15 05:40:01.893761: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 05:40:01.968115: Using weighted-bucket historical load forecast over 14 days
2026-08-15 05:40:01.993740: Today's load divergence 107.65%, in-day adjustment 135.15%, damping 0.95x, yesterday 143.77% today 107.27% blend 76.39%
2026-08-15 05:40:01.994180: Today's predicted so far 3.74kWh with 0.0kWh car/iBoost excluded, 2.54kWh import ignored, and 3.74kWh forecast extra.
2026-08-15 05:40:01.994234: Today's actual load so far 5.03kWh with 0.0kWh car/iBoost excluded, and 2.54kWh import ignored.
2026-08-15 05:40:02.036818: Inverter 0: Type SK Sunsynk
2026-08-15 05:40:02.036914: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 05:40:02.037145: Reserve min: 7%, battery_min: 7%
2026-08-15 05:40:02.037231: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 05:40:02.037536: Inverter 0 SoC: 1.77kW 11%, current charge rate 5000W, current discharge rate 5250W, current battery power 439W, current battery voltage 51.2V, grid power -49W, load power 501W, PV Power 0W
2026-08-15 05:40:02.037699: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 05:40:02.037790: Inverter 0 scheduled charge enable is False
2026-08-15 05:40:02.037819: Inverter 0 charge windows currently []
2026-08-15 05:40:02.037845: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 05:40:02.037955: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 05:40:02.037991: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 05:40:02.038026: Inverter 0 scheduled discharge enable is False
2026-08-15 05:40:02.038145: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 05:40:02.038181: Inverter 0 discharge windows currently []
2026-08-15 05:40:02.038230: Note: Inverter does not support discharge freeze - disabled
2026-08-15 05:40:02.038269: Note: Inverter does not support charge freeze - disabled
2026-08-15 05:40:02.038298: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 05:40:02.096397: Dynamic load last period 0.60kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 05:40:02.096495: Plan was last updated on 2026-08-15 05:30:00+01:00 and is now 10.0 minutes old
2026-08-15 05:40:02.096780: Best charge window [ 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 00:30:00 @ 28.84p 100% ]
2026-08-15 05:40:02.096823: Best export window [  ]
2026-08-15 05:40:02.097605: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 05:40:02.100157: Load divergence over 8.0 hours mean 583.24W, min 268.2W, max 1657.2W, std dev 318.98W, divergence 27.35%
2026-08-15 05:40:02.115614: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 05:40:02.115716: LoadML is_calculating False
2026-08-15 05:40:02.115792: Creating pool of 12 processes to match your CPU count
2026-08-15 05:40:02.221697: predict base end_record 08-16 11:40:00, final soc 1.12kWh, metric 824.95p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 06:40:00, load 28.16kWh, PV 0.0kWh
2026-08-15 05:40:02.341669: Battery has 1.0 hours left - now at 1.77kWh
2026-08-15 05:40:02.379142: predict base10 end_record 08-16 11:40:00, final soc 1.12kWh, metric 852.76p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 06:35:00, load 29.26kWh, PV 0.0kWh
2026-08-15 05:40:02.446925: predict best10 end_record 08-16 11:40:00, final soc 1.77kWh, metric 691.82p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 06:35:00, load 29.26kWh, PV 0.0kWh
2026-08-15 05:40:02.515857: predict best end_record 08-16 11:40:00, final soc 1.9kWh, metric 668.4p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 06:40:00, load 28.16kWh, PV 0.0kWh
2026-08-15 05:40:02.515936: Saving plan best values to HA entities
2026-08-15 05:40:02.665967: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 05:40:02.670462: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0.0
2026-08-15 05:40:02.674912: Best charging limit SoC's [16.0, 3.5, 4.0, 16.0, 16.0, 16.0]kWh, export []kWh gives import battery 21.43kWh, house 4.13kWh, export 0.0kWh, metric 668.4p, metric10 691.82p
2026-08-15 05:40:02.742308: Marginal costs baseline metric (no standing charge): 618.4138
2026-08-15 05:40:03.009061: Marginal energy costs matrix computed: min=14.83 max=33.17
2026-08-15 05:40:03.077548: Rate array import [{'start': 340, 'end': 420, 'rate': 'expensive', 'range': '(25.7p - 27.6p)'}, {'start': 420, 'end': 450, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 450, 'end': 480, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 480, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 23.6p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1860, 'rate': 'expensive', 'range': '(24.6p - 32.9p)'}, {'start': 1860, 'end': 1890, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 1890, 'end': 1920, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 1920, 'end': 2140, 'rate': 'cheap', 'range': '(15.5p - 23.6p)'}] export [{'start': 340, 'end': 2140, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 05:40:03.078097: - Your estimated bill for today is £5.93 and tomorrow is £5.42
2026-08-15 05:40:03.078134: - Import rates are expensive (25.7p - 27.6p) for the next 1 and a quarter hours and then cheap (22.7p) for the next 30 minutes.
2026-08-15 05:40:03.078169: - The battery is currently at 11% and is in eco mode for the next 5 and three quarters hours.
2026-08-15 05:40:03.078184: - For the next 48 hours there will be no solar generation.
2026-08-15 05:40:03.078199: - You will run out of battery in 1 hour.
2026-08-15 05:40:03.078212: - Your next charge slot will be in 5 and three quarters hours where import rates will be cheap (15.5p).
2026-08-15 05:40:03.078226: 
2026-08-15 05:40:03.127963: Plan calculation took 1.03 seconds
2026-08-15 05:40:03.131616: No high rate period found
2026-08-15 05:40:03.185952: Import threshold used for optimisation was 25.7p
2026-08-15 05:40:03.235336: Low import rate windows [0: 08-15 05:30:00 - 08-15 06:00:00 @ 26.4, 1: 08-15 06:00:00 - 08-15 06:30:00 @ 25.7, 2: 08-15 06:30:00 - 08-15 07:00:00 @ 27.63, 3: 08-15 07:00:00 - 08-15 07:30:00 @ 22.73, 4: 08-15 07:30:00 - 08-15 08:00:00 @ 26.7, 5: 08-15 08:00:00 - 08-15 08:30:00 @ 22.92, 6: 08-15 08:30:00 - 08-15 09:00:00 @ 22.48, 7: 08-15 09:00:00 - 08-15 09:30:00 @ 23.55, 8: 08-15 09:30:00 - 08-15 10:00:00 @ 23.64, 9: 08-15 10:00:00 - 08-15 10:30:00 @ 19.66, 10: 08-15 10:30:00 - 08-15 11:00:00 @ 17.66, 11: 08-15 11:00:00 - 08-15 11:30:00 @ 16.56, 12: 08-15 11:30:00 - 08-15 12:00:00 @ 15.46, 13: 08-15 12:00:00 - 08-15 12:30:00 @ 17.0, 14: 08-15 12:30:00 - 08-15 13:00:00 @ 16.34, 15: 08-15 13:00:00 - 08-15 13:30:00 @ 15.36, 16: 08-15 13:30:00 - 08-15 14:00:00 @ 15.74, 17: 08-15 14:00:00 - 08-15 14:30:00 @ 14.57, 18: 08-15 14:30:00 - 08-15 15:00:00 @ 13.77, 19: 08-15 15:00:00 - 08-15 15:30:00 @ 15.02, 20: 08-15 15:30:00 - 08-15 16:00:00 @ 15.87, 21: 08-15 16:00:00 - 08-15 16:30:00 @ 33.13, 22: 08-15 16:30:00 - 08-15 17:00:00 @ 33.13, 23: 08-15 17:00:00 - 08-15 17:30:00 @ 38.46, 24: 08-15 17:30:00 - 08-15 18:00:00 @ 40.44, 25: 08-15 18:00:00 - 08-15 18:30:00 @ 41.55, 26: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 27: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 28: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 29: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 30: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 31: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 32: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 33: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 34: 08-15 23:00:00 - 08-15 23:30:00 @ 27.8, 35: 08-15 23:30:00 - 08-16 00:00:00 @ 29.09, 36: 08-16 00:00:00 - 08-16 00:30:00 @ 28.47, 37: 08-16 00:30:00 - 08-16 01:00:00 @ 27.18, 38: 08-16 01:00:00 - 08-16 01:30:00 @ 27.57, 39: 08-16 01:30:00 - 08-16 02:00:00 @ 26.5, 40: 08-16 02:00:00 - 08-16 02:30:00 @ 25.6, 41: 08-16 02:30:00 - 08-16 03:00:00 @ 24.79, 42: 08-16 03:00:00 - 08-16 03:30:00 @ 25.08, 43: 08-16 03:30:00 - 08-16 04:00:00 @ 24.62, 44: 08-16 04:00:00 - 08-16 04:30:00 @ 27.02, 45: 08-16 04:30:00 - 08-16 05:00:00 @ 26.47, 46: 08-16 05:00:00 - 08-16 05:30:00 @ 26.25, 47: 08-16 05:30:00 - 08-16 06:00:00 @ 26.4, 48: 08-16 06:00:00 - 08-16 06:30:00 @ 25.7, 49: 08-16 06:30:00 - 08-16 07:00:00 @ 27.63, 50: 08-16 07:00:00 - 08-16 07:30:00 @ 22.73, 51: 08-16 07:30:00 - 08-16 08:00:00 @ 26.7, 52: 08-16 08:00:00 - 08-16 08:30:00 @ 22.92, 53: 08-16 08:30:00 - 08-16 09:00:00 @ 22.48, 54: 08-16 09:00:00 - 08-16 09:30:00 @ 23.55, 55: 08-16 09:30:00 - 08-16 10:00:00 @ 23.64, 56: 08-16 10:00:00 - 08-16 10:30:00 @ 19.66, 57: 08-16 10:30:00 - 08-16 11:00:00 @ 17.66, 58: 08-16 11:00:00 - 08-16 11:30:00 @ 16.56, 59: 08-16 11:30:00 - 08-16 12:00:00 @ 15.46, 60: 08-16 12:00:00 - 08-16 12:30:00 @ 17.0, 61: 08-16 12:30:00 - 08-16 13:00:00 @ 16.34, 62: 08-16 13:00:00 - 08-16 13:30:00 @ 15.36, 63: 08-16 13:30:00 - 08-16 14:00:00 @ 15.74, 64: 08-16 14:00:00 - 08-16 14:30:00 @ 14.57, 65: 08-16 14:30:00 - 08-16 15:00:00 @ 13.77, 66: 08-16 15:00:00 - 08-16 15:30:00 @ 15.02, 67: 08-16 15:30:00 - 08-16 16:00:00 @ 15.87, 68: 08-16 16:00:00 - 08-16 16:30:00 @ 33.13, 69: 08-16 16:30:00 - 08-16 17:00:00 @ 33.13, 70: 08-16 17:00:00 - 08-16 17:30:00 @ 38.46, 71: 08-16 17:30:00 - 08-16 18:00:00 @ 40.44, 72: 08-16 18:00:00 - 08-16 18:30:00 @ 41.55, 73: 08-16 19:00:00 - 08-16 19:30:00 @ 32.58, 74: 08-16 19:30:00 - 08-16 20:00:00 @ 32.9, 75: 08-16 20:00:00 - 08-16 20:30:00 @ 31.99, 76: 08-16 20:30:00 - 08-16 21:00:00 @ 32.1, 77: 08-16 21:00:00 - 08-16 21:30:00 @ 31.71, 78: 08-16 21:30:00 - 08-16 22:00:00 @ 31.67, 79: 08-16 22:00:00 - 08-16 22:30:00 @ 31.77, 80: 08-16 22:30:00 - 08-16 23:00:00 @ 29.81, 81: 08-16 23:00:00 - 08-16 23:30:00 @ 27.8, 82: 08-16 23:30:00 - 08-17 00:00:00 @ 29.09, 83: 08-17 00:00:00 - 08-17 00:30:00 @ 28.47, 84: 08-17 00:30:00 - 08-17 01:00:00 @ 27.18, 85: 08-17 01:00:00 - 08-17 01:30:00 @ 27.57, 86: 08-17 01:30:00 - 08-17 02:00:00 @ 26.5, 87: 08-17 02:00:00 - 08-17 02:30:00 @ 25.6, 88: 08-17 02:30:00 - 08-17 03:00:00 @ 24.79, 89: 08-17 03:00:00 - 08-17 03:30:00 @ 25.08, 90: 08-17 03:30:00 - 08-17 04:00:00 @ 24.62, 91: 08-17 04:00:00 - 08-17 04:30:00 @ 27.02, 92: 08-17 04:30:00 - 08-17 05:00:00 @ 26.47, 93: 08-17 05:00:00 - 08-17 05:30:00 @ 26.25, 94: 08-17 05:30:00 - 08-17 06:00:00 @ 26.4]
2026-08-15 05:40:03.241674: Inverter 0 Charge window will be: 2026-08-15 11:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 11%, target 100%
2026-08-15 05:40:03.241803: Inverter 0 disabled charge window while waiting for schedule (now 08-15 05:40:00 target set_window_minutes 30 charge start time 08-15 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 05:40:03.241932: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 05:40:03.242228: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 05:40:03.242339: No export window planned
2026-08-15 05:40:03.242476: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 05:40:03.242512: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 05:40:03.242646: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 05:40:03.242848: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 05:40:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 05:40:03.242937: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 05:40:03.243002: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 05:40:03.243101: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 05:40:03.243161: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 05:40:03.243188: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 05:40:03.243217: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 05:40:03.243246: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 05:40:03.243327: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 05:40:03.243353: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 05:40:03.243420: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 05:40:03.243448: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 05:40:03.243475: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 05:40:03.243498: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 05:40:03.243522: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 05:40:03.243548: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 05:40:03.243600: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 05:40:03.243623: Inverter 0 count register writes 0
2026-08-15 05:40:03.259542: Will recompute the plan as it is now 10.0 minutes old and will exceed the max age of 10 minutes before the next run
2026-08-15 05:40:03.259788: Recompute is saving previous plan...
2026-08-15 05:40:03.262941: Best charge window [ 15-08 05:30:00 - 15-08 06:00:00 @ 26.4p 0%, 15-08 06:00:00 - 15-08 06:30:00 @ 25.7p 0%, 15-08 06:30:00 - 15-08 07:00:00 @ 27.63p 0%, 15-08 07:00:00 - 15-08 07:30:00 @ 22.73p 0%, 15-08 07:30:00 - 15-08 08:00:00 @ 26.7p 0%, 15-08 08:00:00 - 15-08 08:30:00 @ 22.92p 0%, 15-08 08:30:00 - 15-08 09:00:00 @ 22.48p 0%, 15-08 09:00:00 - 15-08 09:30:00 @ 23.55p 0%, 15-08 09:30:00 - 15-08 10:00:00 @ 23.64p 0%, 15-08 10:00:00 - 15-08 10:30:00 @ 19.66p 0%, 15-08 10:30:00 - 15-08 11:00:00 @ 17.66p 0%, 15-08 11:00:00 - 15-08 11:30:00 @ 16.56p 0%, 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 0%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 0%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 0%, 15-08 13:00:00 - 15-08 13:30:00 @ 15.36p 0%, 15-08 13:30:00 - 15-08 14:00:00 @ 15.74p 0%, 15-08 14:00:00 - 15-08 14:30:00 @ 14.57p 0%, 15-08 14:30:00 - 15-08 15:00:00 @ 13.77p 0%, 15-08 15:00:00 - 15-08 15:30:00 @ 15.02p 0%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 0%, 15-08 16:00:00 - 15-08 16:30:00 @ 33.13p 0%, 15-08 16:30:00 - 15-08 17:00:00 @ 33.13p 0%, 15-08 17:00:00 - 15-08 17:30:00 @ 38.46p 0%, 15-08 17:30:00 - 15-08 18:00:00 @ 40.44p 0%, 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 0%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 0%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 0%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 0%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 0%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 27.8p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 29.09p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.47p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.18p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 27.57p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.5p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.6p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 24.79p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 25.08p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 24.62p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 27.02p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.47p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 26.25p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.4p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.7p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 27.63p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 22.73p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 26.7p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 22.92p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 22.48p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 23.55p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 23.64p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 19.66p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 17.66p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 16.56p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 15.46p 0%, 16-08 12:00:00 - 16-08 12:30:00 @ 17.0p 0%, 16-08 12:30:00 - 16-08 13:00:00 @ 16.34p 0%, 16-08 13:00:00 - 16-08 13:30:00 @ 15.36p 0%, 16-08 13:30:00 - 16-08 14:00:00 @ 15.74p 0%, 16-08 14:00:00 - 16-08 14:30:00 @ 14.57p 0%, 16-08 14:30:00 - 16-08 15:00:00 @ 13.77p 0%, 16-08 15:00:00 - 16-08 15:30:00 @ 15.02p 0%, 16-08 15:30:00 - 16-08 16:00:00 @ 15.87p 0%, 16-08 16:00:00 - 16-08 16:30:00 @ 33.13p 0%, 16-08 16:30:00 - 16-08 17:00:00 @ 33.13p 0%, 16-08 17:00:00 - 16-08 17:30:00 @ 38.46p 0%, 16-08 17:30:00 - 16-08 18:00:00 @ 40.44p 0%, 16-08 18:00:00 - 16-08 18:30:00 @ 41.55p 0%, 16-08 19:00:00 - 16-08 19:30:00 @ 32.58p 0%, 16-08 19:30:00 - 16-08 20:00:00 @ 32.9p 0%, 16-08 20:00:00 - 16-08 20:30:00 @ 31.99p 0%, 16-08 20:30:00 - 16-08 21:00:00 @ 32.1p 0%, 16-08 21:00:00 - 16-08 21:30:00 @ 31.71p 0%, 16-08 21:30:00 - 16-08 22:00:00 @ 31.67p 0%, 16-08 22:00:00 - 16-08 22:30:00 @ 31.77p 0%, 16-08 22:30:00 - 16-08 23:00:00 @ 29.81p 0%, 16-08 23:00:00 - 16-08 23:30:00 @ 27.8p 0%, 16-08 23:30:00 - 17-08 00:00:00 @ 29.09p 0%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.47p 0%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.18p 0%, 17-08 01:00:00 - 17-08 01:30:00 @ 27.57p 0%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.5p 0%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.6p 0%, 17-08 02:30:00 - 17-08 03:00:00 @ 24.79p 0%, 17-08 03:00:00 - 17-08 03:30:00 @ 25.08p 0%, 17-08 03:30:00 - 17-08 04:00:00 @ 24.62p 0%, 17-08 04:00:00 - 17-08 04:30:00 @ 27.02p 0%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.47p 0%, 17-08 05:00:00 - 17-08 05:30:00 @ 26.25p 0%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.4p 0% ]
2026-08-15 05:40:03.263021: Best export window [  ]
2026-08-15 05:40:03.263976: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 05:40:03.266992: Load divergence over 8.0 hours mean 583.24W, min 268.2W, max 1657.2W, std dev 318.98W, divergence 27.35%
2026-08-15 05:40:03.284414: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 05:40:03.284513: LoadML is_calculating False
2026-08-15 05:40:03.284573: Creating pool of 12 processes to match your CPU count
2026-08-15 05:40:03.372102: Calculate Best options: mode(Control charge & discharge), calculate_export_oncharge(False), calculate_export_on_pv(True), set_export_freeze_only(False), set_discharge_during_charge(True), combine_charge_slots(False), combine_export_slots(False), combine_rate_threshold(0.0), best_soc_min(0.0 kWh), best_soc_max(0.0 kWh), best_soc_keep(0.0 kWh), inverter_loss(4%), battery_loss(3%), battery_loss_discharge (3%), inverter_hybrid(True), metric_min_improvement(0.0p), metric_min_improvement_export(0.1p), metric_min_improvement_export_freeze(0.1p), metric_battery_cycle(0.0p/kWh), metric_battery_value_scaling(1.0 x) 
2026-08-15 05:40:03.374431: Optimise levels pass started at 2026-08-15 05:40:03
2026-08-15 05:40:03.374503: Optimise all windows, total charge 94 export 1
2026-08-15 05:40:04.412981: >> Region optimisation pass width 960 gives best_metric 813.54p, best_cost 818.87p, best_cycle 54.87kWh, best_import 38.99kWh
2026-08-15 05:40:04.823913: >> Region optimisation pass width 480 gives best_metric 813.54p, best_cost 818.87p, best_cycle 54.87kWh, best_import 38.99kWh
2026-08-15 05:40:05.281708: >> Region optimisation pass width 240 gives best_metric 813.54p, best_cost 818.87p, best_cycle 54.87kWh, best_import 38.99kWh
2026-08-15 05:40:06.351608: >> Region optimisation pass width 120 gives best_metric 813.54p, best_cost 818.87p, best_cycle 54.87kWh, best_import 38.99kWh
2026-08-15 05:40:06.351896: Calculated end_record as 08-16 11:30:00 based on best_price 16.34p, next_charge_start 08-15 11:30:00, max_windows 59
2026-08-15 05:40:06.351954: Optimise levels pass ended at 2026-08-15 05:40:06, duration 3.0 seconds tried 314 combinations
2026-08-15 05:40:06.352032: Set best_price_charge_level 17.6p, best_price_export_level 0p, best_price_charge 16.34p, best_cost_export 0p, best_metric 813.54p, best_keep 0kWh, best_cycle 54.87kWh, best_carbon 0kg, best_import 38.99kWh
2026-08-15 05:40:06.367779: Starting detailed optimisation end_record 08-16 11:30:00, best_price_charge 16.34p, best_price_export 0p. lowest_price_charge 13.77p with charge limits [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0]kWh and export limits []kWh
2026-08-15 05:40:10.470427: Tweak plan optimisation started metric 592.8p, cost 602.31p
2026-08-15 05:40:10.723244: Tweak optimisation finished metric 592.64p, cost 602.14p, metric_keep 0kWh, cycle 31.02kWh, carbon 0kg, import 24.58kWh, changed 8 window(s)
2026-08-15 05:40:10.745204: Swap charge optimisation started metric 592.64p, cost 602.14p, min_improvement_swap 0.1p
2026-08-15 05:40:16.677202: Swap charge optimisation finished metric 592.64p, cost 602.14p
2026-08-15 05:40:16.794574: Pruned 2 dead plan slot(s) in 13 trial(s), nominal metric 588.89p -> 588.89p, plan now metric 592.69p, cost 602.14p, cycle 31.02kWh, import 24.58kWh
2026-08-15 05:40:16.804312: Raw charge windows [ 15-08 05:30:00 - 15-08 06:00:00 @ 26.4p 0%, 15-08 06:00:00 - 15-08 06:30:00 @ 25.7p 9%, 15-08 06:30:00 - 15-08 07:00:00 @ 27.63p 0%, 15-08 07:00:00 - 15-08 07:30:00 @ 22.73p 9%, 15-08 07:30:00 - 15-08 08:00:00 @ 26.7p 0%, 15-08 08:00:00 - 15-08 08:30:00 @ 22.92p 0%, 15-08 08:30:00 - 15-08 09:00:00 @ 22.48p 0%, 15-08 09:00:00 - 15-08 09:30:00 @ 23.55p 0%, 15-08 09:30:00 - 15-08 10:00:00 @ 23.64p 0%, 15-08 10:00:00 - 15-08 10:30:00 @ 19.66p 0%, 15-08 10:30:00 - 15-08 11:00:00 @ 17.66p 0%, 15-08 11:00:00 - 15-08 11:30:00 @ 16.56p 0%, 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 13:30:00 @ 15.36p 100%, 15-08 13:30:00 - 15-08 14:00:00 @ 15.74p 100%, 15-08 14:00:00 - 15-08 14:30:00 @ 14.57p 100%, 15-08 14:30:00 - 15-08 15:00:00 @ 13.77p 100%, 15-08 15:00:00 - 15-08 15:30:00 @ 15.02p 100%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 100%, 15-08 16:00:00 - 15-08 16:30:00 @ 33.13p 0%, 15-08 16:30:00 - 15-08 17:00:00 @ 33.13p 0%, 15-08 17:00:00 - 15-08 17:30:00 @ 38.46p 0%, 15-08 17:30:00 - 15-08 18:00:00 @ 40.44p 0%, 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 0%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 0%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 0%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 0%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 0%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 27.8p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 29.09p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.47p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.18p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 27.57p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.5p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.6p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 24.79p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 25.08p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 24.62p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 27.02p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.47p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 26.25p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.4p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.7p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 27.63p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 22.73p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 26.7p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 22.92p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 22.48p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 23.55p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 23.64p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 19.66p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 17.66p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 16.56p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 15.46p 100%, 16-08 12:00:00 - 16-08 12:30:00 @ 17.0p 100%, 16-08 12:30:00 - 16-08 13:00:00 @ 16.34p 100%, 16-08 13:00:00 - 16-08 13:30:00 @ 15.36p 100%, 16-08 13:30:00 - 16-08 14:00:00 @ 15.74p 100%, 16-08 14:00:00 - 16-08 14:30:00 @ 14.57p 100%, 16-08 14:30:00 - 16-08 15:00:00 @ 13.77p 100%, 16-08 15:00:00 - 16-08 15:30:00 @ 15.02p 100%, 16-08 15:30:00 - 16-08 16:00:00 @ 15.87p 100%, 16-08 16:00:00 - 16-08 16:30:00 @ 33.13p 100%, 16-08 16:30:00 - 16-08 17:00:00 @ 33.13p 100%, 16-08 17:00:00 - 16-08 17:30:00 @ 38.46p 100%, 16-08 17:30:00 - 16-08 18:00:00 @ 40.44p 100%, 16-08 18:00:00 - 16-08 18:30:00 @ 41.55p 100%, 16-08 19:00:00 - 16-08 19:30:00 @ 32.58p 100%, 16-08 19:30:00 - 16-08 20:00:00 @ 32.9p 100%, 16-08 20:00:00 - 16-08 20:30:00 @ 31.99p 100%, 16-08 20:30:00 - 16-08 21:00:00 @ 32.1p 100%, 16-08 21:00:00 - 16-08 21:30:00 @ 31.71p 100%, 16-08 21:30:00 - 16-08 22:00:00 @ 31.67p 100%, 16-08 22:00:00 - 16-08 22:30:00 @ 31.77p 100%, 16-08 22:30:00 - 16-08 23:00:00 @ 29.81p 100%, 16-08 23:00:00 - 16-08 23:30:00 @ 27.8p 100%, 16-08 23:30:00 - 17-08 00:00:00 @ 29.09p 100%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.47p 100%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.18p 100%, 17-08 01:00:00 - 17-08 01:30:00 @ 27.57p 100%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.5p 100%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.6p 100%, 17-08 02:30:00 - 17-08 03:00:00 @ 24.79p 100%, 17-08 03:00:00 - 17-08 03:30:00 @ 25.08p 100%, 17-08 03:30:00 - 17-08 04:00:00 @ 24.62p 100%, 17-08 04:00:00 - 17-08 04:30:00 @ 27.02p 100%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.47p 100%, 17-08 05:00:00 - 17-08 05:30:00 @ 26.25p 100%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.4p 100% ] reserve 1.12
2026-08-15 05:40:16.804915: Unclipped charge windows [ 15-08 06:00:00 - 15-08 06:30:00 @ 25.7p 9%, 15-08 07:00:00 - 15-08 07:30:00 @ 22.73p 9%, 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 06:00:00 @ 26.32p 100% ] reserve 1.12
2026-08-15 05:40:16.805387: Unfiltered charge windows [ 15-08 06:00:00 - 15-08 06:30:00 @ 25.7p 9%, 15-08 07:00:00 - 15-08 07:30:00 @ 22.73p 9%, 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 06:00:00 @ 26.32p 100% ] reserve 1.12
2026-08-15 05:40:16.805637: Filtered charge windows [ 15-08 06:00:00 - 15-08 06:30:00 @ 25.7p 9%, 15-08 07:00:00 - 15-08 07:30:00 @ 22.73p 9%, 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 06:00:00 @ 26.32p 100% ] reserve 1.12
2026-08-15 05:40:16.835261: Previous plan best metric is 593.11 (cost 602.54) and new plan best metric is 592.64 (cost 602.14)
2026-08-15 05:40:16.835447: New plan metric is not significantly better (metric_min_improvement_plan 2.0) than previous plan, using previous plan
2026-08-15 05:40:16.835651: Plan valid is now true after recompute was False
2026-08-15 05:40:16.858588: predict base end_record 08-16 11:30:00, final soc 1.12kWh, metric 821.96p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 06:40:00, load 27.96kWh, PV 0.0kWh
2026-08-15 05:40:16.953493: Battery has 1.0 hours left - now at 1.77kWh
2026-08-15 05:40:16.990380: predict base10 end_record 08-16 11:30:00, final soc 1.12kWh, metric 849.62p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 06:35:00, load 29.06kWh, PV 0.0kWh
2026-08-15 05:40:17.078322: predict best10 end_record 08-16 11:30:00, final soc 1.12kWh, metric 677.95p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 06:35:00, load 29.06kWh, PV 0.0kWh
2026-08-15 05:40:17.146036: predict best end_record 08-16 11:30:00, final soc 1.12kWh, metric 652.52p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 06:40:00, load 27.96kWh, PV 0.0kWh
2026-08-15 05:40:17.146124: Saving plan best values to HA entities
2026-08-15 05:40:17.294283: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 05:40:17.298954: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0.0
2026-08-15 05:40:17.304138: Best charging limit SoC's [16.0, 3.5, 4.0, 16.0, 16.0, 16.0]kWh, export []kWh gives import battery 20.41kWh, house 4.13kWh, export 0.0kWh, metric 652.52p, metric10 677.95p
2026-08-15 05:40:17.373415: Marginal costs baseline metric (no standing charge): 602.54
2026-08-15 05:40:17.612931: Marginal energy costs matrix computed: min=14.83 max=33.17
2026-08-15 05:40:17.679763: Rate array import [{'start': 340, 'end': 420, 'rate': 'expensive', 'range': '(25.7p - 27.6p)'}, {'start': 420, 'end': 450, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 450, 'end': 480, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 480, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 23.6p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1860, 'rate': 'expensive', 'range': '(24.6p - 32.9p)'}, {'start': 1860, 'end': 1890, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 1890, 'end': 1920, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 1920, 'end': 2130, 'rate': 'cheap', 'range': '(16.6p - 23.6p)'}] export [{'start': 340, 'end': 2130, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 05:40:17.680315: - Your estimated bill for today is £5.93 and tomorrow is £5.42
2026-08-15 05:40:17.680353: - Import rates are expensive (25.7p - 27.6p) for the next 1 and a quarter hours and then cheap (22.7p) for the next 30 minutes.
2026-08-15 05:40:17.680372: - The battery is currently at 11% and is in eco mode for the next 5 and three quarters hours.
2026-08-15 05:40:17.680387: - For the next 48 hours there will be no solar generation.
2026-08-15 05:40:17.680401: - You will run out of battery in 1 hour.
2026-08-15 05:40:17.680415: - Your next charge slot will be in 5 and three quarters hours where import rates will be cheap (15.5p).
2026-08-15 05:40:17.680433: 
2026-08-15 05:40:17.727933: Plan calculation took 14.47 seconds
2026-08-15 05:40:17.728318: Inverter 0: Type SK Sunsynk
2026-08-15 05:40:17.728369: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 05:40:17.728594: Reserve min: 7%, battery_min: 7%
2026-08-15 05:40:17.728676: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 05:40:17.729028: Inverter 0 SoC: 1.76kW 11%, current charge rate 5000W, current discharge rate 5250W, current battery power 438W, current battery voltage 51.2V, grid power -57W, load power 500W, PV Power 0W
2026-08-15 05:40:17.729287: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 05:40:17.729401: Inverter 0 scheduled charge enable is False
2026-08-15 05:40:17.729442: Inverter 0 charge windows currently []
2026-08-15 05:40:17.729473: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 05:40:17.729582: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 05:40:17.729618: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 05:40:17.729654: Inverter 0 scheduled discharge enable is False
2026-08-15 05:40:17.729780: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 05:40:17.729818: Inverter 0 discharge windows currently []
2026-08-15 05:40:17.729841: Note: Inverter does not support discharge freeze - disabled
2026-08-15 05:40:17.729859: Note: Inverter does not support charge freeze - disabled
2026-08-15 05:40:17.729876: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 05:40:17.786833: Inverter 0 Charge window will be: 2026-08-15 11:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 11%, target 100%
2026-08-15 05:40:17.786987: Inverter 0 disabled charge window while waiting for schedule (now 08-15 05:40:00 target set_window_minutes 30 charge start time 08-15 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 05:40:17.787059: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 05:40:17.787290: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 05:40:17.787376: No export window planned
2026-08-15 05:40:17.787483: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 05:40:17.787519: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 05:40:17.787681: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 05:40:17.787845: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 05:40:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 05:40:17.787897: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 05:40:17.787949: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 05:40:17.788052: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 05:40:17.788124: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 05:40:17.788159: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 05:40:17.788194: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 05:40:17.788220: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 05:40:17.788257: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 05:40:17.788287: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 05:40:17.788356: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 05:40:17.788393: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 05:40:17.788418: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 05:40:17.788447: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 05:40:17.788472: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 05:40:17.788496: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 05:40:17.788524: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 05:40:17.788545: Inverter 0 count register writes 0
2026-08-15 05:40:17.809398: Total inverter register writes now 815
2026-08-15 05:40:17.840389: Info: Completed run status Demand
2026-08-15 05:40:17.846183: Info: record_status Demand
2026-08-15 05:40:17.852610: Saved current settings to /config/predbat_config.json
2026-08-15 05:40:17.853067: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 05:40:56.953631: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 05:40:56.953843: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 05:40:56.953880: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 05:40:56.953994: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 05:40:56.954026: Note: Inverter does not support discharge freeze - disabled
2026-08-15 05:40:56.954044: Note: Inverter does not support charge freeze - disabled
2026-08-15 05:40:56.954058: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 05:42:57.166406: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 05:42:57.166647: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 05:42:57.166692: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 05:42:57.166841: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 05:42:57.166918: Note: Inverter does not support discharge freeze - disabled
2026-08-15 05:42:57.166941: Note: Inverter does not support charge freeze - disabled
2026-08-15 05:42:57.166958: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 05:44:57.386137: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 05:44:57.386504: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 05:44:57.386551: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 05:44:57.386781: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 05:44:57.386863: Note: Inverter does not support discharge freeze - disabled
2026-08-15 05:44:57.386892: Note: Inverter does not support charge freeze - disabled
2026-08-15 05:44:57.386916: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 05:45:00.470755: --------------- PredBat - update at 2026-08-15 05:45:00+01:00 with clock skew 0 minutes, minutes now 345
2026-08-15 05:45:00.471504: Saved current settings to /config/predbat_config.json
2026-08-15 05:45:00.471627: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 100.0 minutes
2026-08-15 05:45:00.471732: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.1, latest beta is v8.48.1
2026-08-15 05:45:00.471824: Autoupdate: Currently up to date
2026-08-15 05:45:00.493294: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 05:45:00.493440: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 05:45:00.493685: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 05:45:00.494292: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 05:45:00.494457: Predbat mode is set to Control charge & discharge
2026-08-15 05:45:00.660868: Found 21602 load_today datapoints going back 28 days
2026-08-15 05:45:00.661073: Using load_power data to fill gaps in load_today data
2026-08-15 05:45:01.486413: Processing 721 30-minute periods for power integration
2026-08-15 05:45:01.671815: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 05:45:01.671956: Car charging hold False, threshold 6.0kWh
2026-08-15 05:45:01.672020: Current data so far today: load 5.0kWh, import 5.9kWh, export 0.0kWh, PV 0kWh
2026-08-15 05:45:01.686918: Cars: SoC: [12.892000000000001]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 05:45:01.687382: Standing charge is set to 49.98p
2026-08-15 05:45:01.714969: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 05:45:01.715075: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 05:45:01.715367: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 345.0 minutes
2026-08-15 05:45:01.715810: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 344.7 minutes
2026-08-15 05:45:01.719068: Loaded 47 datapoints of futurerate analysis
2026-08-15 05:45:01.809317: Predicted future rates: ['08-15 00:00:00 => 28.9 / 20.01', '08-15 01:00:00 => 27.54 / 19.31', '08-15 02:00:00 => 26.52 / 18.8', '08-15 03:00:00 => 25.99 / 18.53', '08-15 04:00:00 => 25.8 / 18.43', '08-15 05:00:00 => 25.96 / 18.51', '08-15 06:00:00 => 25.55 / 18.3', '08-15 07:00:00 => 24.33 / 17.68', '08-15 08:00:00 => 23.03 / 17.01', '08-15 09:00:00 => 22.05 / 16.51', '08-15 10:00:00 => 20.43 / 15.68', '08-15 11:00:00 => 18.01 / 14.45', '08-15 12:00:00 => 16.37 / 13.61', '08-15 13:00:00 => 15.76 / 13.3', '08-15 14:00:00 => 15.35 / 13.09', '08-15 15:00:00 => 15.86 / 13.35', '08-15 16:00:00 => 32.89 / 16.13', '08-15 17:00:00 => 38.02 / 18.75', '08-15 18:00:00 => 42.36 / 20.96', '08-15 19:00:00 => 31.09 / 21.13', '08-15 20:00:00 => 31.64 / 21.41', '08-15 21:00:00 => 31.64 / 21.41', '08-15 22:00:00 => 30.58 / 20.87']
2026-08-15 05:45:01.870875: Rate min forward looking: now 13.77p at end of forecast 13.77p
2026-08-15 05:45:01.871331: Import rates: min 13.77p, max 43.82p, average 25.96p
2026-08-15 05:45:01.913705: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 05:45:01.913836: Rate thresholds (for charge/export) are import 43.32p (0.0p), export -0.1p (0.0p)
2026-08-15 05:45:01.915155: High export rate found rates in range 99p to -99p
2026-08-15 05:45:01.998154: Low Import rate found rates in range 13.77p to 41.55p
2026-08-15 05:45:01.998325: Car 0 charging is not planned as it is not plugged in
2026-08-15 05:45:02.022756: Battery level now 1.77kWh, -1hr ago 1.44kWh, at midnight 1.66kWh, battery value change in the last hour 3.88p, change today 1.32p, rate_forward 11.83p
2026-08-15 05:45:02.023206: Last hour: net energy 0.42kWh, import 0.42kWh, export 0.0kWh, car 0kWh, load 0.5kWh, net cost 11.07p, import 11.07p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 05:45:02.074942: Today's energy total net 5.9kWh, import 5.9kWh, export 0.0kWh, cost 207.56p, import 157.57p, export 0.0p, carbon 0.0kg
2026-08-15 05:45:02.075098: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 05:45:02.151990: Using weighted-bucket historical load forecast over 14 days
2026-08-15 05:45:02.175729: Today's load divergence 107.69%, in-day adjustment 135.03%, damping 0.95x, yesterday 143.77% today 107.3% blend 76.04%
2026-08-15 05:45:02.175806: Today's predicted so far 3.73kWh with 0.0kWh car/iBoost excluded, 2.51kWh import ignored, and 3.73kWh forecast extra.
2026-08-15 05:45:02.175837: Today's actual load so far 5.03kWh with 0.0kWh car/iBoost excluded, and 2.51kWh import ignored.
2026-08-15 05:45:02.212492: Inverter 0: Type SK Sunsynk
2026-08-15 05:45:02.212582: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 05:45:02.212760: Reserve min: 7%, battery_min: 7%
2026-08-15 05:45:02.212829: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 05:45:02.213153: Inverter 0 SoC: 1.76kW 11%, current charge rate 5000W, current discharge rate 5250W, current battery power 473W, current battery voltage 51.2V, grid power -52W, load power 534W, PV Power 0W
2026-08-15 05:45:02.213342: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 05:45:02.213431: Inverter 0 scheduled charge enable is False
2026-08-15 05:45:02.213460: Inverter 0 charge windows currently []
2026-08-15 05:45:02.213490: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 05:45:02.213597: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 05:45:02.213632: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 05:45:02.213668: Inverter 0 scheduled discharge enable is False
2026-08-15 05:45:02.213791: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 05:45:02.213827: Inverter 0 discharge windows currently []
2026-08-15 05:45:02.213850: Note: Inverter does not support discharge freeze - disabled
2026-08-15 05:45:02.213890: Note: Inverter does not support charge freeze - disabled
2026-08-15 05:45:02.213912: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 05:45:02.273560: Dynamic load last period 0.60kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 05:45:02.273671: Plan was last updated on 2026-08-15 05:40:00+01:00 and is now 5.0 minutes old
2026-08-15 05:45:02.273938: Best charge window [ 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 00:30:00 @ 28.84p 100% ]
2026-08-15 05:45:02.273980: Best export window [  ]
2026-08-15 05:45:02.274791: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 05:45:02.277880: Load divergence over 8.0 hours mean 591.99W, min 226.2W, max 1777.8W, std dev 360.47W, divergence 30.45%
2026-08-15 05:45:02.296282: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 05:45:02.296396: LoadML is_calculating False
2026-08-15 05:45:02.296465: Creating pool of 12 processes to match your CPU count
2026-08-15 05:45:02.413511: predict base end_record 08-16 11:35:00, final soc 1.12kWh, metric 822.52p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 06:40:00, load 28.07kWh, PV 0.0kWh
2026-08-15 05:45:02.529813: Battery has 0.92 hours left - now at 1.76kWh
2026-08-15 05:45:02.573887: predict base10 end_record 08-16 11:35:00, final soc 1.12kWh, metric 850.24p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 06:40:00, load 29.17kWh, PV 0.0kWh
2026-08-15 05:45:02.652186: predict best10 end_record 08-16 11:35:00, final soc 1.44kWh, metric 683.83p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 06:40:00, load 29.17kWh, PV 0.0kWh
2026-08-15 05:45:02.736282: predict best end_record 08-16 11:35:00, final soc 1.51kWh, metric 659.33p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 06:40:00, load 28.07kWh, PV 0.0kWh
2026-08-15 05:45:02.736379: Saving plan best values to HA entities
2026-08-15 05:45:02.902777: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 05:45:02.907591: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 05:45:02.912469: Best charging limit SoC's [16.0, 3.5, 4.0, 16.0, 16.0, 16.0]kWh, export []kWh gives import battery 20.93kWh, house 4.09kWh, export 0.0kWh, metric 659.33p, metric10 683.83p
2026-08-15 05:45:02.974562: Marginal costs baseline metric (no standing charge): 609.3502
2026-08-15 05:45:03.194636: Marginal energy costs matrix computed: min=14.66 max=33.32
2026-08-15 05:45:03.260825: Rate array import [{'start': 345, 'end': 420, 'rate': 'expensive', 'range': '(25.7p - 27.6p)'}, {'start': 420, 'end': 450, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 450, 'end': 480, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 480, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 23.6p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1860, 'rate': 'expensive', 'range': '(24.6p - 32.9p)'}, {'start': 1860, 'end': 1890, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 1890, 'end': 1920, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 1920, 'end': 2135, 'rate': 'cheap', 'range': '(15.5p - 23.6p)'}] export [{'start': 345, 'end': 2135, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 05:45:03.261429: - Your estimated bill for today is £5.91 and tomorrow is £5.44
2026-08-15 05:45:03.261473: - Import rates are expensive (25.7p - 27.6p) for the next 1 and a quarter hours and then cheap (22.7p) for the next 30 minutes.
2026-08-15 05:45:03.261493: - The battery is currently at 11% and is in eco mode for the next 5 and three quarters hours.
2026-08-15 05:45:03.261526: - For the next 48 hours there will be no solar generation.
2026-08-15 05:45:03.261541: - You will run out of battery in 55 minutes.
2026-08-15 05:45:03.261555: - Your next charge slot will be in 5 and three quarters hours where import rates will be cheap (15.5p).
2026-08-15 05:45:03.261569: 
2026-08-15 05:45:03.311221: Plan calculation took 1.04 seconds
2026-08-15 05:45:03.314731: No high rate period found
2026-08-15 05:45:03.364977: Import threshold used for optimisation was 25.7p
2026-08-15 05:45:03.416899: Low import rate windows [0: 08-15 05:30:00 - 08-15 06:00:00 @ 26.4, 1: 08-15 06:00:00 - 08-15 06:30:00 @ 25.7, 2: 08-15 06:30:00 - 08-15 07:00:00 @ 27.63, 3: 08-15 07:00:00 - 08-15 07:30:00 @ 22.73, 4: 08-15 07:30:00 - 08-15 08:00:00 @ 26.7, 5: 08-15 08:00:00 - 08-15 08:30:00 @ 22.92, 6: 08-15 08:30:00 - 08-15 09:00:00 @ 22.48, 7: 08-15 09:00:00 - 08-15 09:30:00 @ 23.55, 8: 08-15 09:30:00 - 08-15 10:00:00 @ 23.64, 9: 08-15 10:00:00 - 08-15 10:30:00 @ 19.66, 10: 08-15 10:30:00 - 08-15 11:00:00 @ 17.66, 11: 08-15 11:00:00 - 08-15 11:30:00 @ 16.56, 12: 08-15 11:30:00 - 08-15 12:00:00 @ 15.46, 13: 08-15 12:00:00 - 08-15 12:30:00 @ 17.0, 14: 08-15 12:30:00 - 08-15 13:00:00 @ 16.34, 15: 08-15 13:00:00 - 08-15 13:30:00 @ 15.36, 16: 08-15 13:30:00 - 08-15 14:00:00 @ 15.74, 17: 08-15 14:00:00 - 08-15 14:30:00 @ 14.57, 18: 08-15 14:30:00 - 08-15 15:00:00 @ 13.77, 19: 08-15 15:00:00 - 08-15 15:30:00 @ 15.02, 20: 08-15 15:30:00 - 08-15 16:00:00 @ 15.87, 21: 08-15 16:00:00 - 08-15 16:30:00 @ 33.13, 22: 08-15 16:30:00 - 08-15 17:00:00 @ 33.13, 23: 08-15 17:00:00 - 08-15 17:30:00 @ 38.46, 24: 08-15 17:30:00 - 08-15 18:00:00 @ 40.44, 25: 08-15 18:00:00 - 08-15 18:30:00 @ 41.55, 26: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 27: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 28: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 29: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 30: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 31: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 32: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 33: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 34: 08-15 23:00:00 - 08-15 23:30:00 @ 27.8, 35: 08-15 23:30:00 - 08-16 00:00:00 @ 29.09, 36: 08-16 00:00:00 - 08-16 00:30:00 @ 28.47, 37: 08-16 00:30:00 - 08-16 01:00:00 @ 27.18, 38: 08-16 01:00:00 - 08-16 01:30:00 @ 27.57, 39: 08-16 01:30:00 - 08-16 02:00:00 @ 26.5, 40: 08-16 02:00:00 - 08-16 02:30:00 @ 25.6, 41: 08-16 02:30:00 - 08-16 03:00:00 @ 24.79, 42: 08-16 03:00:00 - 08-16 03:30:00 @ 25.08, 43: 08-16 03:30:00 - 08-16 04:00:00 @ 24.62, 44: 08-16 04:00:00 - 08-16 04:30:00 @ 27.02, 45: 08-16 04:30:00 - 08-16 05:00:00 @ 26.47, 46: 08-16 05:00:00 - 08-16 05:30:00 @ 26.25, 47: 08-16 05:30:00 - 08-16 06:00:00 @ 26.4, 48: 08-16 06:00:00 - 08-16 06:30:00 @ 25.7, 49: 08-16 06:30:00 - 08-16 07:00:00 @ 27.63, 50: 08-16 07:00:00 - 08-16 07:30:00 @ 22.73, 51: 08-16 07:30:00 - 08-16 08:00:00 @ 26.7, 52: 08-16 08:00:00 - 08-16 08:30:00 @ 22.92, 53: 08-16 08:30:00 - 08-16 09:00:00 @ 22.48, 54: 08-16 09:00:00 - 08-16 09:30:00 @ 23.55, 55: 08-16 09:30:00 - 08-16 10:00:00 @ 23.64, 56: 08-16 10:00:00 - 08-16 10:30:00 @ 19.66, 57: 08-16 10:30:00 - 08-16 11:00:00 @ 17.66, 58: 08-16 11:00:00 - 08-16 11:30:00 @ 16.56, 59: 08-16 11:30:00 - 08-16 12:00:00 @ 15.46, 60: 08-16 12:00:00 - 08-16 12:30:00 @ 17.0, 61: 08-16 12:30:00 - 08-16 13:00:00 @ 16.34, 62: 08-16 13:00:00 - 08-16 13:30:00 @ 15.36, 63: 08-16 13:30:00 - 08-16 14:00:00 @ 15.74, 64: 08-16 14:00:00 - 08-16 14:30:00 @ 14.57, 65: 08-16 14:30:00 - 08-16 15:00:00 @ 13.77, 66: 08-16 15:00:00 - 08-16 15:30:00 @ 15.02, 67: 08-16 15:30:00 - 08-16 16:00:00 @ 15.87, 68: 08-16 16:00:00 - 08-16 16:30:00 @ 33.13, 69: 08-16 16:30:00 - 08-16 17:00:00 @ 33.13, 70: 08-16 17:00:00 - 08-16 17:30:00 @ 38.46, 71: 08-16 17:30:00 - 08-16 18:00:00 @ 40.44, 72: 08-16 18:00:00 - 08-16 18:30:00 @ 41.55, 73: 08-16 19:00:00 - 08-16 19:30:00 @ 32.58, 74: 08-16 19:30:00 - 08-16 20:00:00 @ 32.9, 75: 08-16 20:00:00 - 08-16 20:30:00 @ 31.99, 76: 08-16 20:30:00 - 08-16 21:00:00 @ 32.1, 77: 08-16 21:00:00 - 08-16 21:30:00 @ 31.71, 78: 08-16 21:30:00 - 08-16 22:00:00 @ 31.67, 79: 08-16 22:00:00 - 08-16 22:30:00 @ 31.77, 80: 08-16 22:30:00 - 08-16 23:00:00 @ 29.81, 81: 08-16 23:00:00 - 08-16 23:30:00 @ 27.8, 82: 08-16 23:30:00 - 08-17 00:00:00 @ 29.09, 83: 08-17 00:00:00 - 08-17 00:30:00 @ 28.47, 84: 08-17 00:30:00 - 08-17 01:00:00 @ 27.18, 85: 08-17 01:00:00 - 08-17 01:30:00 @ 27.57, 86: 08-17 01:30:00 - 08-17 02:00:00 @ 26.5, 87: 08-17 02:00:00 - 08-17 02:30:00 @ 25.6, 88: 08-17 02:30:00 - 08-17 03:00:00 @ 24.79, 89: 08-17 03:00:00 - 08-17 03:30:00 @ 25.08, 90: 08-17 03:30:00 - 08-17 04:00:00 @ 24.62, 91: 08-17 04:00:00 - 08-17 04:30:00 @ 27.02, 92: 08-17 04:30:00 - 08-17 05:00:00 @ 26.47, 93: 08-17 05:00:00 - 08-17 05:30:00 @ 26.25, 94: 08-17 05:30:00 - 08-17 06:00:00 @ 26.4]
2026-08-15 05:45:03.423800: Inverter 0 Charge window will be: 2026-08-15 11:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 11%, target 100%
2026-08-15 05:45:03.423988: Inverter 0 disabled charge window while waiting for schedule (now 08-15 05:45:00 target set_window_minutes 30 charge start time 08-15 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 05:45:03.424160: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 05:45:03.424598: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 05:45:03.424747: No export window planned
2026-08-15 05:45:03.425005: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 05:45:03.425094: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 05:45:03.425312: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 05:45:03.425535: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 05:45:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 05:45:03.425610: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 05:45:03.425718: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 05:45:03.425862: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 05:45:03.425912: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 05:45:03.425958: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 05:45:03.426010: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 05:45:03.426069: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 05:45:03.426121: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 05:45:03.426154: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 05:45:03.426310: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 05:45:03.426358: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 05:45:03.426399: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 05:45:03.426452: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 05:45:03.426505: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 05:45:03.426564: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 05:45:03.426639: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 05:45:03.426687: Inverter 0 count register writes 0
2026-08-15 05:45:03.443593: Will not recompute the plan, it is 5.0 minutes old and max age is 10 minutes
2026-08-15 05:45:03.449146: Total inverter register writes now 815
2026-08-15 05:45:03.484189: Info: Completed run status Demand
2026-08-15 05:45:03.490120: Info: record_status Demand
2026-08-15 05:45:03.497079: Saved current settings to /config/predbat_config.json
2026-08-15 05:45:03.497436: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 05:45:41.606564: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 05:45:41.606802: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 05:45:41.606860: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 05:45:41.607075: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 05:45:41.607137: Note: Inverter does not support discharge freeze - disabled
2026-08-15 05:45:41.607159: Note: Inverter does not support charge freeze - disabled
2026-08-15 05:45:41.607198: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 05:47:41.824454: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 05:47:41.824709: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 05:47:41.824748: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 05:47:41.824932: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 05:47:41.825010: Note: Inverter does not support discharge freeze - disabled
2026-08-15 05:47:41.825054: Note: Inverter does not support charge freeze - disabled
2026-08-15 05:47:41.825071: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 05:49:42.045371: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 05:49:42.045636: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 05:49:42.045670: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 05:49:42.045828: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 05:49:42.045879: Note: Inverter does not support discharge freeze - disabled
2026-08-15 05:49:42.045900: Note: Inverter does not support charge freeze - disabled
2026-08-15 05:49:42.045918: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 05:50:00.135626: --------------- PredBat - update at 2026-08-15 05:50:00+01:00 with clock skew 0 minutes, minutes now 350
2026-08-15 05:50:00.136708: Saved current settings to /config/predbat_config.json
2026-08-15 05:50:00.136868: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 105.0 minutes
2026-08-15 05:50:00.137028: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.1, latest beta is v8.48.1
2026-08-15 05:50:00.137180: Autoupdate: Currently up to date
2026-08-15 05:50:00.168482: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 05:50:00.168619: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 05:50:00.168783: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 05:50:00.169457: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 05:50:00.169628: Predbat mode is set to Control charge & discharge
2026-08-15 05:50:00.341672: Found 21602 load_today datapoints going back 28 days
2026-08-15 05:50:00.341801: Using load_power data to fill gaps in load_today data
2026-08-15 05:50:01.057173: Processing 721 30-minute periods for power integration
2026-08-15 05:50:01.203404: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 05:50:01.203519: Car charging hold False, threshold 6.0kWh
2026-08-15 05:50:01.203554: Current data so far today: load 4.9kWh, import 5.9kWh, export 0.0kWh, PV 0kWh
2026-08-15 05:50:01.215050: Cars: SoC: [12.892000000000001]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 05:50:01.215377: Standing charge is set to 49.98p
2026-08-15 05:50:01.238684: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 05:50:01.238770: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 05:50:01.238957: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 350.0 minutes
2026-08-15 05:50:01.239461: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 349.6 minutes
2026-08-15 05:50:01.242479: Loaded 47 datapoints of futurerate analysis
2026-08-15 05:50:01.327398: Predicted future rates: ['08-15 00:00:00 => 28.9 / 20.01', '08-15 01:00:00 => 27.54 / 19.31', '08-15 02:00:00 => 26.52 / 18.8', '08-15 03:00:00 => 25.99 / 18.53', '08-15 04:00:00 => 25.8 / 18.43', '08-15 05:00:00 => 25.96 / 18.51', '08-15 06:00:00 => 25.55 / 18.3', '08-15 07:00:00 => 24.33 / 17.68', '08-15 08:00:00 => 23.03 / 17.01', '08-15 09:00:00 => 22.05 / 16.51', '08-15 10:00:00 => 20.43 / 15.68', '08-15 11:00:00 => 18.01 / 14.45', '08-15 12:00:00 => 16.37 / 13.61', '08-15 13:00:00 => 15.76 / 13.3', '08-15 14:00:00 => 15.35 / 13.09', '08-15 15:00:00 => 15.86 / 13.35', '08-15 16:00:00 => 32.89 / 16.13', '08-15 17:00:00 => 38.02 / 18.75', '08-15 18:00:00 => 42.36 / 20.96', '08-15 19:00:00 => 31.09 / 21.13', '08-15 20:00:00 => 31.64 / 21.41', '08-15 21:00:00 => 31.64 / 21.41', '08-15 22:00:00 => 30.58 / 20.87']
2026-08-15 05:50:01.388418: Rate min forward looking: now 13.77p at end of forecast 13.77p
2026-08-15 05:50:01.388984: Import rates: min 13.77p, max 43.82p, average 25.96p
2026-08-15 05:50:01.431425: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 05:50:01.431569: Rate thresholds (for charge/export) are import 43.32p (0.0p), export -0.1p (0.0p)
2026-08-15 05:50:01.432854: High export rate found rates in range 99p to -99p
2026-08-15 05:50:01.517326: Low Import rate found rates in range 13.77p to 41.55p
2026-08-15 05:50:01.517468: Car 0 charging is not planned as it is not plugged in
2026-08-15 05:50:01.530546: Battery level now 1.76kWh, -1hr ago 1.44kWh, at midnight 1.66kWh, battery value change in the last hour 3.78p, change today 1.23p, rate_forward 11.83p
2026-08-15 05:50:01.530867: Last hour: net energy 0.34kWh, import 0.34kWh, export 0.0kWh, car 0kWh, load 0.38kWh, net cost 8.96p, import 8.96p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 05:50:01.578509: Today's energy total net 5.9kWh, import 5.9kWh, export 0.0kWh, cost 207.56p, import 157.57p, export 0.0p, carbon 0.0kg
2026-08-15 05:50:01.578640: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 05:50:01.640496: Using weighted-bucket historical load forecast over 14 days
2026-08-15 05:50:01.660838: Today's load divergence 106.9%, in-day adjustment 134.73%, damping 0.95x, yesterday 143.77% today 106.56% blend 75.69%
2026-08-15 05:50:01.660910: Today's predicted so far 3.75kWh with 0.0kWh car/iBoost excluded, 2.52kWh import ignored, and 3.75kWh forecast extra.
2026-08-15 05:50:01.660936: Today's actual load so far 4.91kWh with 0.0kWh car/iBoost excluded, and 2.52kWh import ignored.
2026-08-15 05:50:01.694008: Inverter 0: Type SK Sunsynk
2026-08-15 05:50:01.694109: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 05:50:01.694347: Reserve min: 7%, battery_min: 7%
2026-08-15 05:50:01.694428: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 05:50:01.694664: Inverter 0 SoC: 1.76kW 11%, current charge rate 5000W, current discharge rate 5250W, current battery power 423W, current battery voltage 51.2V, grid power -61W, load power 502W, PV Power 0W
2026-08-15 05:50:01.694802: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 05:50:01.694879: Inverter 0 scheduled charge enable is False
2026-08-15 05:50:01.694909: Inverter 0 charge windows currently []
2026-08-15 05:50:01.694930: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 05:50:01.695018: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 05:50:01.695047: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 05:50:01.695078: Inverter 0 scheduled discharge enable is False
2026-08-15 05:50:01.695196: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 05:50:01.695229: Inverter 0 discharge windows currently []
2026-08-15 05:50:01.695248: Note: Inverter does not support discharge freeze - disabled
2026-08-15 05:50:01.695264: Note: Inverter does not support charge freeze - disabled
2026-08-15 05:50:01.695277: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 05:50:01.751064: Dynamic load last period 0.00kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 05:50:01.751179: Plan was last updated on 2026-08-15 05:40:00+01:00 and is now 10.0 minutes old
2026-08-15 05:50:01.751408: Best charge window [ 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 00:30:00 @ 28.84p 100% ]
2026-08-15 05:50:01.751446: Best export window [  ]
2026-08-15 05:50:01.752103: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 05:50:01.754604: Load divergence over 8.0 hours mean 595.31W, min 278.4W, max 1692.6W, std dev 332.64W, divergence 27.94%
2026-08-15 05:50:01.770798: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 05:50:01.771976: LoadML is_calculating False
2026-08-15 05:50:01.772071: Creating pool of 12 processes to match your CPU count
2026-08-15 05:50:01.872821: predict base end_record 08-16 11:40:00, final soc 1.12kWh, metric 822.23p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 06:45:00, load 28.0kWh, PV 0.0kWh
2026-08-15 05:50:02.002965: Battery has 0.92 hours left - now at 1.76kWh
2026-08-15 05:50:02.041000: predict base10 end_record 08-16 11:40:00, final soc 1.12kWh, metric 849.89p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 06:45:00, load 29.1kWh, PV 0.0kWh
2026-08-15 05:50:02.116826: predict best10 end_record 08-16 11:40:00, final soc 1.77kWh, metric 688.88p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 06:45:00, load 29.1kWh, PV 0.0kWh
2026-08-15 05:50:02.194627: predict best end_record 08-16 11:40:00, final soc 1.9kWh, metric 665.51p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 06:45:00, load 28.0kWh, PV 0.0kWh
2026-08-15 05:50:02.194714: Saving plan best values to HA entities
2026-08-15 05:50:02.343302: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 05:50:02.348911: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0.0
2026-08-15 05:50:02.354427: Best charging limit SoC's [16.0, 3.5, 4.0, 16.0, 16.0, 16.0]kWh, export []kWh gives import battery 21.43kWh, house 4.03kWh, export 0.0kWh, metric 665.51p, metric10 688.88p
2026-08-15 05:50:02.438863: Marginal costs baseline metric (no standing charge): 615.5281
2026-08-15 05:50:02.672889: Marginal energy costs matrix computed: min=14.5 max=33.48
2026-08-15 05:50:02.742625: Rate array import [{'start': 350, 'end': 420, 'rate': 'expensive', 'range': '(25.7p - 27.6p)'}, {'start': 420, 'end': 450, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 450, 'end': 480, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 480, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 23.6p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1860, 'rate': 'expensive', 'range': '(24.6p - 32.9p)'}, {'start': 1860, 'end': 1890, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 1890, 'end': 1920, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 1920, 'end': 2140, 'rate': 'cheap', 'range': '(15.5p - 23.6p)'}] export [{'start': 350, 'end': 2140, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 05:50:02.743289: - Your estimated bill for today is £5.89 and tomorrow is £5.44
2026-08-15 05:50:02.743337: - Import rates are expensive (25.7p - 27.6p) for the next 1 and a quarter hours and then cheap (22.7p) for the next 30 minutes.
2026-08-15 05:50:02.743357: - The battery is currently at 11% and is in eco mode for the next 5 and three quarters hours.
2026-08-15 05:50:02.743373: - For the next 48 hours there will be no solar generation.
2026-08-15 05:50:02.743399: - You will run out of battery in 55 minutes.
2026-08-15 05:50:02.743433: - Your next charge slot will be in 5 and three quarters hours where import rates will be cheap (15.5p).
2026-08-15 05:50:02.743460: 
2026-08-15 05:50:02.791445: Plan calculation took 1.04 seconds
2026-08-15 05:50:02.794280: No high rate period found
2026-08-15 05:50:02.840566: Import threshold used for optimisation was 25.7p
2026-08-15 05:50:02.887485: Low import rate windows [0: 08-15 05:30:00 - 08-15 06:00:00 @ 26.4, 1: 08-15 06:00:00 - 08-15 06:30:00 @ 25.7, 2: 08-15 06:30:00 - 08-15 07:00:00 @ 27.63, 3: 08-15 07:00:00 - 08-15 07:30:00 @ 22.73, 4: 08-15 07:30:00 - 08-15 08:00:00 @ 26.7, 5: 08-15 08:00:00 - 08-15 08:30:00 @ 22.92, 6: 08-15 08:30:00 - 08-15 09:00:00 @ 22.48, 7: 08-15 09:00:00 - 08-15 09:30:00 @ 23.55, 8: 08-15 09:30:00 - 08-15 10:00:00 @ 23.64, 9: 08-15 10:00:00 - 08-15 10:30:00 @ 19.66, 10: 08-15 10:30:00 - 08-15 11:00:00 @ 17.66, 11: 08-15 11:00:00 - 08-15 11:30:00 @ 16.56, 12: 08-15 11:30:00 - 08-15 12:00:00 @ 15.46, 13: 08-15 12:00:00 - 08-15 12:30:00 @ 17.0, 14: 08-15 12:30:00 - 08-15 13:00:00 @ 16.34, 15: 08-15 13:00:00 - 08-15 13:30:00 @ 15.36, 16: 08-15 13:30:00 - 08-15 14:00:00 @ 15.74, 17: 08-15 14:00:00 - 08-15 14:30:00 @ 14.57, 18: 08-15 14:30:00 - 08-15 15:00:00 @ 13.77, 19: 08-15 15:00:00 - 08-15 15:30:00 @ 15.02, 20: 08-15 15:30:00 - 08-15 16:00:00 @ 15.87, 21: 08-15 16:00:00 - 08-15 16:30:00 @ 33.13, 22: 08-15 16:30:00 - 08-15 17:00:00 @ 33.13, 23: 08-15 17:00:00 - 08-15 17:30:00 @ 38.46, 24: 08-15 17:30:00 - 08-15 18:00:00 @ 40.44, 25: 08-15 18:00:00 - 08-15 18:30:00 @ 41.55, 26: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 27: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 28: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 29: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 30: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 31: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 32: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 33: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 34: 08-15 23:00:00 - 08-15 23:30:00 @ 27.8, 35: 08-15 23:30:00 - 08-16 00:00:00 @ 29.09, 36: 08-16 00:00:00 - 08-16 00:30:00 @ 28.47, 37: 08-16 00:30:00 - 08-16 01:00:00 @ 27.18, 38: 08-16 01:00:00 - 08-16 01:30:00 @ 27.57, 39: 08-16 01:30:00 - 08-16 02:00:00 @ 26.5, 40: 08-16 02:00:00 - 08-16 02:30:00 @ 25.6, 41: 08-16 02:30:00 - 08-16 03:00:00 @ 24.79, 42: 08-16 03:00:00 - 08-16 03:30:00 @ 25.08, 43: 08-16 03:30:00 - 08-16 04:00:00 @ 24.62, 44: 08-16 04:00:00 - 08-16 04:30:00 @ 27.02, 45: 08-16 04:30:00 - 08-16 05:00:00 @ 26.47, 46: 08-16 05:00:00 - 08-16 05:30:00 @ 26.25, 47: 08-16 05:30:00 - 08-16 06:00:00 @ 26.4, 48: 08-16 06:00:00 - 08-16 06:30:00 @ 25.7, 49: 08-16 06:30:00 - 08-16 07:00:00 @ 27.63, 50: 08-16 07:00:00 - 08-16 07:30:00 @ 22.73, 51: 08-16 07:30:00 - 08-16 08:00:00 @ 26.7, 52: 08-16 08:00:00 - 08-16 08:30:00 @ 22.92, 53: 08-16 08:30:00 - 08-16 09:00:00 @ 22.48, 54: 08-16 09:00:00 - 08-16 09:30:00 @ 23.55, 55: 08-16 09:30:00 - 08-16 10:00:00 @ 23.64, 56: 08-16 10:00:00 - 08-16 10:30:00 @ 19.66, 57: 08-16 10:30:00 - 08-16 11:00:00 @ 17.66, 58: 08-16 11:00:00 - 08-16 11:30:00 @ 16.56, 59: 08-16 11:30:00 - 08-16 12:00:00 @ 15.46, 60: 08-16 12:00:00 - 08-16 12:30:00 @ 17.0, 61: 08-16 12:30:00 - 08-16 13:00:00 @ 16.34, 62: 08-16 13:00:00 - 08-16 13:30:00 @ 15.36, 63: 08-16 13:30:00 - 08-16 14:00:00 @ 15.74, 64: 08-16 14:00:00 - 08-16 14:30:00 @ 14.57, 65: 08-16 14:30:00 - 08-16 15:00:00 @ 13.77, 66: 08-16 15:00:00 - 08-16 15:30:00 @ 15.02, 67: 08-16 15:30:00 - 08-16 16:00:00 @ 15.87, 68: 08-16 16:00:00 - 08-16 16:30:00 @ 33.13, 69: 08-16 16:30:00 - 08-16 17:00:00 @ 33.13, 70: 08-16 17:00:00 - 08-16 17:30:00 @ 38.46, 71: 08-16 17:30:00 - 08-16 18:00:00 @ 40.44, 72: 08-16 18:00:00 - 08-16 18:30:00 @ 41.55, 73: 08-16 19:00:00 - 08-16 19:30:00 @ 32.58, 74: 08-16 19:30:00 - 08-16 20:00:00 @ 32.9, 75: 08-16 20:00:00 - 08-16 20:30:00 @ 31.99, 76: 08-16 20:30:00 - 08-16 21:00:00 @ 32.1, 77: 08-16 21:00:00 - 08-16 21:30:00 @ 31.71, 78: 08-16 21:30:00 - 08-16 22:00:00 @ 31.67, 79: 08-16 22:00:00 - 08-16 22:30:00 @ 31.77, 80: 08-16 22:30:00 - 08-16 23:00:00 @ 29.81, 81: 08-16 23:00:00 - 08-16 23:30:00 @ 27.8, 82: 08-16 23:30:00 - 08-17 00:00:00 @ 29.09, 83: 08-17 00:00:00 - 08-17 00:30:00 @ 28.47, 84: 08-17 00:30:00 - 08-17 01:00:00 @ 27.18, 85: 08-17 01:00:00 - 08-17 01:30:00 @ 27.57, 86: 08-17 01:30:00 - 08-17 02:00:00 @ 26.5, 87: 08-17 02:00:00 - 08-17 02:30:00 @ 25.6, 88: 08-17 02:30:00 - 08-17 03:00:00 @ 24.79, 89: 08-17 03:00:00 - 08-17 03:30:00 @ 25.08, 90: 08-17 03:30:00 - 08-17 04:00:00 @ 24.62, 91: 08-17 04:00:00 - 08-17 04:30:00 @ 27.02, 92: 08-17 04:30:00 - 08-17 05:00:00 @ 26.47, 93: 08-17 05:00:00 - 08-17 05:30:00 @ 26.25, 94: 08-17 05:30:00 - 08-17 06:00:00 @ 26.4]
2026-08-15 05:50:02.893230: Inverter 0 Charge window will be: 2026-08-15 11:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 11%, target 100%
2026-08-15 05:50:02.893373: Inverter 0 disabled charge window while waiting for schedule (now 08-15 05:50:00 target set_window_minutes 30 charge start time 08-15 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 05:50:02.893507: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 05:50:02.893859: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 05:50:02.894020: No export window planned
2026-08-15 05:50:02.894180: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 05:50:02.894221: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 05:50:02.894364: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 05:50:02.894624: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 05:50:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 05:50:02.894696: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 05:50:02.894750: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 05:50:02.894840: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 05:50:02.894869: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 05:50:02.894915: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 05:50:02.894937: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 05:50:02.894958: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 05:50:02.894977: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 05:50:02.894999: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 05:50:02.895054: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 05:50:02.895087: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 05:50:02.895109: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 05:50:02.895146: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 05:50:02.895175: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 05:50:02.895195: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 05:50:02.895221: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 05:50:02.895238: Inverter 0 count register writes 0
2026-08-15 05:50:02.910192: Will recompute the plan as it is now 10.0 minutes old and will exceed the max age of 10 minutes before the next run
2026-08-15 05:50:02.910369: Recompute is saving previous plan...
2026-08-15 05:50:02.913674: Best charge window [ 15-08 05:30:00 - 15-08 06:00:00 @ 26.4p 0%, 15-08 06:00:00 - 15-08 06:30:00 @ 25.7p 0%, 15-08 06:30:00 - 15-08 07:00:00 @ 27.63p 0%, 15-08 07:00:00 - 15-08 07:30:00 @ 22.73p 0%, 15-08 07:30:00 - 15-08 08:00:00 @ 26.7p 0%, 15-08 08:00:00 - 15-08 08:30:00 @ 22.92p 0%, 15-08 08:30:00 - 15-08 09:00:00 @ 22.48p 0%, 15-08 09:00:00 - 15-08 09:30:00 @ 23.55p 0%, 15-08 09:30:00 - 15-08 10:00:00 @ 23.64p 0%, 15-08 10:00:00 - 15-08 10:30:00 @ 19.66p 0%, 15-08 10:30:00 - 15-08 11:00:00 @ 17.66p 0%, 15-08 11:00:00 - 15-08 11:30:00 @ 16.56p 0%, 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 0%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 0%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 0%, 15-08 13:00:00 - 15-08 13:30:00 @ 15.36p 0%, 15-08 13:30:00 - 15-08 14:00:00 @ 15.74p 0%, 15-08 14:00:00 - 15-08 14:30:00 @ 14.57p 0%, 15-08 14:30:00 - 15-08 15:00:00 @ 13.77p 0%, 15-08 15:00:00 - 15-08 15:30:00 @ 15.02p 0%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 0%, 15-08 16:00:00 - 15-08 16:30:00 @ 33.13p 0%, 15-08 16:30:00 - 15-08 17:00:00 @ 33.13p 0%, 15-08 17:00:00 - 15-08 17:30:00 @ 38.46p 0%, 15-08 17:30:00 - 15-08 18:00:00 @ 40.44p 0%, 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 0%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 0%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 0%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 0%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 0%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 27.8p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 29.09p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.47p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.18p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 27.57p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.5p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.6p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 24.79p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 25.08p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 24.62p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 27.02p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.47p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 26.25p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.4p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.7p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 27.63p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 22.73p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 26.7p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 22.92p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 22.48p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 23.55p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 23.64p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 19.66p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 17.66p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 16.56p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 15.46p 0%, 16-08 12:00:00 - 16-08 12:30:00 @ 17.0p 0%, 16-08 12:30:00 - 16-08 13:00:00 @ 16.34p 0%, 16-08 13:00:00 - 16-08 13:30:00 @ 15.36p 0%, 16-08 13:30:00 - 16-08 14:00:00 @ 15.74p 0%, 16-08 14:00:00 - 16-08 14:30:00 @ 14.57p 0%, 16-08 14:30:00 - 16-08 15:00:00 @ 13.77p 0%, 16-08 15:00:00 - 16-08 15:30:00 @ 15.02p 0%, 16-08 15:30:00 - 16-08 16:00:00 @ 15.87p 0%, 16-08 16:00:00 - 16-08 16:30:00 @ 33.13p 0%, 16-08 16:30:00 - 16-08 17:00:00 @ 33.13p 0%, 16-08 17:00:00 - 16-08 17:30:00 @ 38.46p 0%, 16-08 17:30:00 - 16-08 18:00:00 @ 40.44p 0%, 16-08 18:00:00 - 16-08 18:30:00 @ 41.55p 0%, 16-08 19:00:00 - 16-08 19:30:00 @ 32.58p 0%, 16-08 19:30:00 - 16-08 20:00:00 @ 32.9p 0%, 16-08 20:00:00 - 16-08 20:30:00 @ 31.99p 0%, 16-08 20:30:00 - 16-08 21:00:00 @ 32.1p 0%, 16-08 21:00:00 - 16-08 21:30:00 @ 31.71p 0%, 16-08 21:30:00 - 16-08 22:00:00 @ 31.67p 0%, 16-08 22:00:00 - 16-08 22:30:00 @ 31.77p 0%, 16-08 22:30:00 - 16-08 23:00:00 @ 29.81p 0%, 16-08 23:00:00 - 16-08 23:30:00 @ 27.8p 0%, 16-08 23:30:00 - 17-08 00:00:00 @ 29.09p 0%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.47p 0%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.18p 0%, 17-08 01:00:00 - 17-08 01:30:00 @ 27.57p 0%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.5p 0%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.6p 0%, 17-08 02:30:00 - 17-08 03:00:00 @ 24.79p 0%, 17-08 03:00:00 - 17-08 03:30:00 @ 25.08p 0%, 17-08 03:30:00 - 17-08 04:00:00 @ 24.62p 0%, 17-08 04:00:00 - 17-08 04:30:00 @ 27.02p 0%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.47p 0%, 17-08 05:00:00 - 17-08 05:30:00 @ 26.25p 0%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.4p 0% ]
2026-08-15 05:50:02.913759: Best export window [  ]
2026-08-15 05:50:02.914566: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 05:50:02.917727: Load divergence over 8.0 hours mean 595.31W, min 278.4W, max 1692.6W, std dev 332.64W, divergence 27.94%
2026-08-15 05:50:02.935644: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 05:50:02.935741: LoadML is_calculating False
2026-08-15 05:50:02.935802: Creating pool of 12 processes to match your CPU count
2026-08-15 05:50:03.016344: Calculate Best options: mode(Control charge & discharge), calculate_export_oncharge(False), calculate_export_on_pv(True), set_export_freeze_only(False), set_discharge_during_charge(True), combine_charge_slots(False), combine_export_slots(False), combine_rate_threshold(0.0), best_soc_min(0.0 kWh), best_soc_max(0.0 kWh), best_soc_keep(0.0 kWh), inverter_loss(4%), battery_loss(3%), battery_loss_discharge (3%), inverter_hybrid(True), metric_min_improvement(0.0p), metric_min_improvement_export(0.1p), metric_min_improvement_export_freeze(0.1p), metric_battery_cycle(0.0p/kWh), metric_battery_value_scaling(1.0 x) 
2026-08-15 05:50:03.018078: Optimise levels pass started at 2026-08-15 05:50:03
2026-08-15 05:50:03.018140: Optimise all windows, total charge 94 export 1
2026-08-15 05:50:04.134044: >> Region optimisation pass width 960 gives best_metric 812.62p, best_cost 817.97p, best_cycle 54.85kWh, best_import 38.96kWh
2026-08-15 05:50:04.524544: >> Region optimisation pass width 480 gives best_metric 812.62p, best_cost 817.97p, best_cycle 54.85kWh, best_import 38.96kWh
2026-08-15 05:50:05.004402: >> Region optimisation pass width 240 gives best_metric 812.62p, best_cost 817.97p, best_cycle 54.85kWh, best_import 38.96kWh
2026-08-15 05:50:06.045996: >> Region optimisation pass width 120 gives best_metric 812.62p, best_cost 817.97p, best_cycle 54.85kWh, best_import 38.96kWh
2026-08-15 05:50:06.046433: Calculated end_record as 08-16 11:30:00 based on best_price 16.34p, next_charge_start 08-15 11:30:00, max_windows 59
2026-08-15 05:50:06.046534: Optimise levels pass ended at 2026-08-15 05:50:06, duration 3.0 seconds tried 315 combinations
2026-08-15 05:50:06.046663: Set best_price_charge_level 17.6p, best_price_export_level 0p, best_price_charge 16.34p, best_cost_export 0p, best_metric 812.62p, best_keep 0kWh, best_cycle 54.85kWh, best_carbon 0kg, best_import 38.96kWh
2026-08-15 05:50:06.063687: Starting detailed optimisation end_record 08-16 11:30:00, best_price_charge 16.34p, best_price_export 0p. lowest_price_charge 13.77p with charge limits [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0]kWh and export limits []kWh
2026-08-15 05:50:09.953261: Tweak plan optimisation started metric 590.01p, cost 599.52p
2026-08-15 05:50:10.221830: Tweak optimisation finished metric 590.01p, cost 599.52p, metric_keep 0kWh, cycle 30.39kWh, carbon 0kg, import 24.42kWh, changed 8 window(s)
2026-08-15 05:50:10.241742: Swap charge optimisation started metric 590.01p, cost 599.52p, min_improvement_swap 0.1p
2026-08-15 05:50:15.747373: Swap charge optimisation finished metric 590.01p, cost 599.52p
2026-08-15 05:50:15.868873: Pruned 2 dead plan slot(s) in 11 trial(s), nominal metric 586.27p -> 586.27p, plan now metric 590.08p, cost 599.52p, cycle 30.39kWh, import 24.42kWh
2026-08-15 05:50:15.880181: Raw charge windows [ 15-08 05:30:00 - 15-08 06:00:00 @ 26.4p 0%, 15-08 06:00:00 - 15-08 06:30:00 @ 25.7p 0%, 15-08 06:30:00 - 15-08 07:00:00 @ 27.63p 0%, 15-08 07:00:00 - 15-08 07:30:00 @ 22.73p 0%, 15-08 07:30:00 - 15-08 08:00:00 @ 26.7p 0%, 15-08 08:00:00 - 15-08 08:30:00 @ 22.92p 0%, 15-08 08:30:00 - 15-08 09:00:00 @ 22.48p 0%, 15-08 09:00:00 - 15-08 09:30:00 @ 23.55p 0%, 15-08 09:30:00 - 15-08 10:00:00 @ 23.64p 0%, 15-08 10:00:00 - 15-08 10:30:00 @ 19.66p 0%, 15-08 10:30:00 - 15-08 11:00:00 @ 17.66p 0%, 15-08 11:00:00 - 15-08 11:30:00 @ 16.56p 0%, 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 13:30:00 @ 15.36p 100%, 15-08 13:30:00 - 15-08 14:00:00 @ 15.74p 100%, 15-08 14:00:00 - 15-08 14:30:00 @ 14.57p 100%, 15-08 14:30:00 - 15-08 15:00:00 @ 13.77p 100%, 15-08 15:00:00 - 15-08 15:30:00 @ 15.02p 100%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 100%, 15-08 16:00:00 - 15-08 16:30:00 @ 33.13p 0%, 15-08 16:30:00 - 15-08 17:00:00 @ 33.13p 0%, 15-08 17:00:00 - 15-08 17:30:00 @ 38.46p 0%, 15-08 17:30:00 - 15-08 18:00:00 @ 40.44p 0%, 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 0%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 0%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 0%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 0%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 0%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 27.8p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 29.09p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.47p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.18p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 27.57p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.5p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.6p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 24.79p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 25.08p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 24.62p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 27.02p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.47p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 26.25p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.4p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.7p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 27.63p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 22.73p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 26.7p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 22.92p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 22.48p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 23.55p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 23.64p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 19.66p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 17.66p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 16.56p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 15.46p 100%, 16-08 12:00:00 - 16-08 12:30:00 @ 17.0p 100%, 16-08 12:30:00 - 16-08 13:00:00 @ 16.34p 100%, 16-08 13:00:00 - 16-08 13:30:00 @ 15.36p 100%, 16-08 13:30:00 - 16-08 14:00:00 @ 15.74p 100%, 16-08 14:00:00 - 16-08 14:30:00 @ 14.57p 100%, 16-08 14:30:00 - 16-08 15:00:00 @ 13.77p 100%, 16-08 15:00:00 - 16-08 15:30:00 @ 15.02p 100%, 16-08 15:30:00 - 16-08 16:00:00 @ 15.87p 100%, 16-08 16:00:00 - 16-08 16:30:00 @ 33.13p 100%, 16-08 16:30:00 - 16-08 17:00:00 @ 33.13p 100%, 16-08 17:00:00 - 16-08 17:30:00 @ 38.46p 100%, 16-08 17:30:00 - 16-08 18:00:00 @ 40.44p 100%, 16-08 18:00:00 - 16-08 18:30:00 @ 41.55p 100%, 16-08 19:00:00 - 16-08 19:30:00 @ 32.58p 100%, 16-08 19:30:00 - 16-08 20:00:00 @ 32.9p 100%, 16-08 20:00:00 - 16-08 20:30:00 @ 31.99p 100%, 16-08 20:30:00 - 16-08 21:00:00 @ 32.1p 100%, 16-08 21:00:00 - 16-08 21:30:00 @ 31.71p 100%, 16-08 21:30:00 - 16-08 22:00:00 @ 31.67p 100%, 16-08 22:00:00 - 16-08 22:30:00 @ 31.77p 100%, 16-08 22:30:00 - 16-08 23:00:00 @ 29.81p 100%, 16-08 23:00:00 - 16-08 23:30:00 @ 27.8p 100%, 16-08 23:30:00 - 17-08 00:00:00 @ 29.09p 100%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.47p 100%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.18p 100%, 17-08 01:00:00 - 17-08 01:30:00 @ 27.57p 100%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.5p 100%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.6p 100%, 17-08 02:30:00 - 17-08 03:00:00 @ 24.79p 100%, 17-08 03:00:00 - 17-08 03:30:00 @ 25.08p 100%, 17-08 03:30:00 - 17-08 04:00:00 @ 24.62p 100%, 17-08 04:00:00 - 17-08 04:30:00 @ 27.02p 100%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.47p 100%, 17-08 05:00:00 - 17-08 05:30:00 @ 26.25p 100%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.4p 100% ] reserve 1.12
2026-08-15 05:50:15.880719: Unclipped charge windows [ 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 06:00:00 @ 26.32p 100% ] reserve 1.12
2026-08-15 05:50:15.880989: Unfiltered charge windows [ 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 06:00:00 @ 26.32p 100% ] reserve 1.12
2026-08-15 05:50:15.881202: Filtered charge windows [ 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 06:00:00 @ 26.32p 100% ] reserve 1.12
2026-08-15 05:50:15.913617: Previous plan best metric is 590.08 (cost 599.52) and new plan best metric is 590.01 (cost 599.52)
2026-08-15 05:50:15.913846: New plan metric is not significantly better (metric_min_improvement_plan 2.0) than previous plan, using previous plan
2026-08-15 05:50:15.913998: Plan valid is now true after recompute was False
2026-08-15 05:50:15.938252: predict base end_record 08-16 11:30:00, final soc 1.12kWh, metric 819.1p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 06:45:00, load 27.79kWh, PV 0.0kWh
2026-08-15 05:50:16.053959: Battery has 0.92 hours left - now at 1.76kWh
2026-08-15 05:50:16.111664: predict base10 end_record 08-16 11:30:00, final soc 1.12kWh, metric 846.61p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 06:45:00, load 28.88kWh, PV 0.0kWh
2026-08-15 05:50:16.186200: predict best10 end_record 08-16 11:30:00, final soc 1.12kWh, metric 674.87p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 06:45:00, load 28.88kWh, PV 0.0kWh
2026-08-15 05:50:16.263275: predict best end_record 08-16 11:30:00, final soc 1.12kWh, metric 649.5p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 06:45:00, load 27.79kWh, PV 0.0kWh
2026-08-15 05:50:16.263366: Saving plan best values to HA entities
2026-08-15 05:50:16.416267: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 05:50:16.421256: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0.0
2026-08-15 05:50:16.426010: Best charging limit SoC's [16.0, 3.5, 4.0, 16.0, 16.0, 16.0]kWh, export []kWh gives import battery 20.39kWh, house 4.03kWh, export 0.0kWh, metric 649.5p, metric10 674.87p
2026-08-15 05:50:16.485522: Marginal costs baseline metric (no standing charge): 599.5167
2026-08-15 05:50:16.707106: Marginal energy costs matrix computed: min=14.5 max=33.48
2026-08-15 05:50:16.775985: Rate array import [{'start': 350, 'end': 420, 'rate': 'expensive', 'range': '(25.7p - 27.6p)'}, {'start': 420, 'end': 450, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 450, 'end': 480, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 480, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 23.6p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1860, 'rate': 'expensive', 'range': '(24.6p - 32.9p)'}, {'start': 1860, 'end': 1890, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 1890, 'end': 1920, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 1920, 'end': 2130, 'rate': 'cheap', 'range': '(16.6p - 23.6p)'}] export [{'start': 350, 'end': 2130, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 05:50:16.776603: - Your estimated bill for today is £5.89 and tomorrow is £5.44
2026-08-15 05:50:16.777659: - Import rates are expensive (25.7p - 27.6p) for the next 1 and a quarter hours and then cheap (22.7p) for the next 30 minutes.
2026-08-15 05:50:16.777711: - The battery is currently at 11% and is in eco mode for the next 5 and three quarters hours.
2026-08-15 05:50:16.777729: - For the next 48 hours there will be no solar generation.
2026-08-15 05:50:16.777744: - You will run out of battery in 55 minutes.
2026-08-15 05:50:16.777758: - Your next charge slot will be in 5 and three quarters hours where import rates will be cheap (15.5p).
2026-08-15 05:50:16.777772: 
2026-08-15 05:50:16.824009: Plan calculation took 13.91 seconds
2026-08-15 05:50:16.824351: Inverter 0: Type SK Sunsynk
2026-08-15 05:50:16.824395: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 05:50:16.824595: Reserve min: 7%, battery_min: 7%
2026-08-15 05:50:16.824663: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 05:50:16.825021: Inverter 0 SoC: 1.76kW 11%, current charge rate 5000W, current discharge rate 5250W, current battery power 413W, current battery voltage 51.2V, grid power -56W, load power 472W, PV Power 0W
2026-08-15 05:50:16.825303: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 05:50:16.825428: Inverter 0 scheduled charge enable is False
2026-08-15 05:50:16.825476: Inverter 0 charge windows currently []
2026-08-15 05:50:16.825525: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 05:50:16.825665: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 05:50:16.825702: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 05:50:16.825783: Inverter 0 scheduled discharge enable is False
2026-08-15 05:50:16.825936: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 05:50:16.825976: Inverter 0 discharge windows currently []
2026-08-15 05:50:16.826007: Note: Inverter does not support discharge freeze - disabled
2026-08-15 05:50:16.826036: Note: Inverter does not support charge freeze - disabled
2026-08-15 05:50:16.826051: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 05:50:16.873297: Inverter 0 Charge window will be: 2026-08-15 11:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 11%, target 100%
2026-08-15 05:50:16.873452: Inverter 0 disabled charge window while waiting for schedule (now 08-15 05:50:00 target set_window_minutes 30 charge start time 08-15 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 05:50:16.873523: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 05:50:16.873723: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 05:50:16.873804: No export window planned
2026-08-15 05:50:16.873909: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 05:50:16.873974: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 05:50:16.874106: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 05:50:16.874320: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 05:50:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 05:50:16.874428: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 05:50:16.874538: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 05:50:16.874700: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 05:50:16.874757: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 05:50:16.874820: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 05:50:16.874876: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 05:50:16.874932: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 05:50:16.874991: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 05:50:16.875053: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 05:50:16.875193: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 05:50:16.875244: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 05:50:16.875284: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 05:50:16.875335: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 05:50:16.875395: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 05:50:16.875456: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 05:50:16.875519: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 05:50:16.875569: Inverter 0 count register writes 0
2026-08-15 05:50:16.894700: Total inverter register writes now 815
2026-08-15 05:50:16.927449: Info: Completed run status Demand
2026-08-15 05:50:16.933767: Info: record_status Demand
2026-08-15 05:50:16.940706: Saved current settings to /config/predbat_config.json
2026-08-15 05:50:16.941167: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 05:50:57.052382: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 05:50:57.052693: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 05:50:57.052791: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 05:50:57.053076: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 05:50:57.053138: Note: Inverter does not support discharge freeze - disabled
2026-08-15 05:50:57.053175: Note: Inverter does not support charge freeze - disabled
2026-08-15 05:50:57.053219: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 05:52:57.261535: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 05:52:57.261804: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 05:52:57.261859: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 05:52:57.262031: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 05:52:57.262077: Note: Inverter does not support discharge freeze - disabled
2026-08-15 05:52:57.262125: Note: Inverter does not support charge freeze - disabled
2026-08-15 05:52:57.262158: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 05:53:36.734686: ML Component: Fetching 28 days of load history from ['sensor.sunsynk_day_load_energy']
2026-08-15 05:53:37.688217: Processing 1345 30-minute periods for power integration
2026-08-15 05:53:37.775010: ML Component: Car charging hold False, car energy reported load False
2026-08-15 05:53:37.857772: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 05:53:37.942090: ML Temperature data points: 50051
2026-08-15 05:53:38.185064: ML Component: Fetched 8064 load data points, 28.0 days of history
2026-08-15 05:53:38.226917: ML Component: Data fetch completed, load data age 56.0 days, 16335 data points
2026-08-15 05:53:38.227047: ML Component: No training needed, model age is 0.96 hours
2026-08-15 05:53:38.227125: ML Component: Generating predictions load data age 56.0 days, 16335 data points
2026-08-15 05:53:38.368024: ML Predictor: Starting autoregressive prediction loop for 576 steps (48.0 hours), prev_energy value 0.026 max_dow {0: 0.10336562496256083, 1: 0.1091281248660758, 2: 0.11737499983031302, 3: 0.11972187416721135, 4: 0.17116562535744162, 5: 0.10228437502831222, 6: 0.10759687461592257}
2026-08-15 05:53:39.137896: ML Component: Generated 576 predictions (total 38.28 kWh over 48h)
2026-08-15 05:53:39.173541: ML Component: Prediction cycle completed
2026-08-15 05:53:39.276751: ML Component: Saved 16335 steps (56 days) of history to /config/predbat_ml_history.npz
2026-08-15 05:55:00.485664: --------------- PredBat - update at 2026-08-15 05:55:00+01:00 with clock skew 0 minutes, minutes now 355
2026-08-15 05:55:00.486364: Saved current settings to /config/predbat_config.json
2026-08-15 05:55:00.486469: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 110.0 minutes
2026-08-15 05:55:00.486567: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.1, latest beta is v8.48.1
2026-08-15 05:55:00.486662: Autoupdate: Currently up to date
2026-08-15 05:55:00.505690: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 05:55:00.505873: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 05:55:00.506085: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 05:55:00.506622: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 05:55:00.506740: Predbat mode is set to Control charge & discharge
2026-08-15 05:55:00.703088: Found 21602 load_today datapoints going back 28 days
2026-08-15 05:55:00.703249: Using load_power data to fill gaps in load_today data
2026-08-15 05:55:01.430175: Processing 721 30-minute periods for power integration
2026-08-15 05:55:01.611901: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 05:55:01.612036: Car charging hold False, threshold 6.0kWh
2026-08-15 05:55:01.612080: Current data so far today: load 4.9kWh, import 5.9kWh, export 0.0kWh, PV 0kWh
2026-08-15 05:55:01.626216: Cars: SoC: [12.892000000000001]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 05:55:01.626649: Standing charge is set to 49.98p
2026-08-15 05:55:01.653382: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 05:55:01.653453: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 05:55:01.653613: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 355.0 minutes
2026-08-15 05:55:01.653963: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 354.6 minutes
2026-08-15 05:55:01.656307: Loaded 47 datapoints of futurerate analysis
2026-08-15 05:55:01.723236: Predicted future rates: ['08-15 00:00:00 => 28.9 / 20.01', '08-15 01:00:00 => 27.54 / 19.31', '08-15 02:00:00 => 26.52 / 18.8', '08-15 03:00:00 => 25.99 / 18.53', '08-15 04:00:00 => 25.8 / 18.43', '08-15 05:00:00 => 25.96 / 18.51', '08-15 06:00:00 => 25.55 / 18.3', '08-15 07:00:00 => 24.33 / 17.68', '08-15 08:00:00 => 23.03 / 17.01', '08-15 09:00:00 => 22.05 / 16.51', '08-15 10:00:00 => 20.43 / 15.68', '08-15 11:00:00 => 18.01 / 14.45', '08-15 12:00:00 => 16.37 / 13.61', '08-15 13:00:00 => 15.76 / 13.3', '08-15 14:00:00 => 15.35 / 13.09', '08-15 15:00:00 => 15.86 / 13.35', '08-15 16:00:00 => 32.89 / 16.13', '08-15 17:00:00 => 38.02 / 18.75', '08-15 18:00:00 => 42.36 / 20.96', '08-15 19:00:00 => 31.09 / 21.13', '08-15 20:00:00 => 31.64 / 21.41', '08-15 21:00:00 => 31.64 / 21.41', '08-15 22:00:00 => 30.58 / 20.87']
2026-08-15 05:55:01.771963: Rate min forward looking: now 13.77p at end of forecast 13.77p
2026-08-15 05:55:01.772328: Import rates: min 13.77p, max 43.82p, average 25.96p
2026-08-15 05:55:01.806825: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 05:55:01.806941: Rate thresholds (for charge/export) are import 43.32p (0.0p), export -0.1p (0.0p)
2026-08-15 05:55:01.808005: High export rate found rates in range 99p to -99p
2026-08-15 05:55:01.874714: Low Import rate found rates in range 13.77p to 41.55p
2026-08-15 05:55:01.874856: Car 0 charging is not planned as it is not plugged in
2026-08-15 05:55:01.885317: Battery level now 1.76kWh, -1hr ago 1.42kWh, at midnight 1.66kWh, battery value change in the last hour 4.07p, change today 1.23p, rate_forward 11.83p
2026-08-15 05:55:01.885637: Last hour: net energy 0.26kWh, import 0.26kWh, export 0.0kWh, car 0kWh, load 0.35kWh, net cost 6.84p, import 6.84p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 05:55:01.934746: Today's energy total net 5.9kWh, import 5.9kWh, export 0.0kWh, cost 207.56p, import 157.57p, export 0.0p, carbon 0.0kg
2026-08-15 05:55:01.934859: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 05:55:01.997325: Using weighted-bucket historical load forecast over 14 days
2026-08-15 05:55:02.016157: Today's load divergence 106.59%, in-day adjustment 134.52%, damping 0.95x, yesterday 143.77% today 106.26% blend 75.35%
2026-08-15 05:55:02.016225: Today's predicted so far 3.77kWh with 0.0kWh car/iBoost excluded, 2.5kWh import ignored, and 3.77kWh forecast extra.
2026-08-15 05:55:02.016250: Today's actual load so far 4.87kWh with 0.0kWh car/iBoost excluded, and 2.5kWh import ignored.
2026-08-15 05:55:02.047965: Inverter 0: Type SK Sunsynk
2026-08-15 05:55:02.048048: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 05:55:02.048216: Reserve min: 7%, battery_min: 7%
2026-08-15 05:55:02.048276: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 05:55:02.048493: Inverter 0 SoC: 1.76kW 11%, current charge rate 5000W, current discharge rate 5250W, current battery power 436W, current battery voltage 51.2V, grid power -54W, load power 500W, PV Power 0W
2026-08-15 05:55:02.048624: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 05:55:02.048698: Inverter 0 scheduled charge enable is False
2026-08-15 05:55:02.048721: Inverter 0 charge windows currently []
2026-08-15 05:55:02.048742: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 05:55:02.048830: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 05:55:02.048861: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 05:55:02.048890: Inverter 0 scheduled discharge enable is False
2026-08-15 05:55:02.049039: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 05:55:02.049079: Inverter 0 discharge windows currently []
2026-08-15 05:55:02.049112: Note: Inverter does not support discharge freeze - disabled
2026-08-15 05:55:02.049130: Note: Inverter does not support charge freeze - disabled
2026-08-15 05:55:02.049144: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 05:55:02.098712: Dynamic load last period 0.00kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 05:55:02.098806: Plan was last updated on 2026-08-15 05:50:00+01:00 and is now 5.0 minutes old
2026-08-15 05:55:02.099045: Best charge window [ 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 00:30:00 @ 28.84p 100% ]
2026-08-15 05:55:02.099123: Best export window [  ]
2026-08-15 05:55:02.099785: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 05:55:02.102383: Load divergence over 8.0 hours mean 598.11W, min 287.4W, max 1838.4W, std dev 335.08W, divergence 28.01%
2026-08-15 05:55:02.117291: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 05:55:02.117370: LoadML is_calculating False
2026-08-15 05:55:02.117424: Creating pool of 12 processes to match your CPU count
2026-08-15 05:55:02.217110: predict base end_record 08-16 11:35:00, final soc 1.12kWh, metric 819.5p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 06:50:00, load 27.84kWh, PV 0.0kWh
2026-08-15 05:55:02.327795: Battery has 0.92 hours left - now at 1.76kWh
2026-08-15 05:55:02.366739: predict base10 end_record 08-16 11:35:00, final soc 1.12kWh, metric 847.08p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 06:45:00, load 28.94kWh, PV 0.0kWh
2026-08-15 05:55:02.443453: predict best10 end_record 08-16 11:35:00, final soc 1.44kWh, metric 680.57p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 06:45:00, load 28.94kWh, PV 0.0kWh
2026-08-15 05:55:02.515387: predict best end_record 08-16 11:35:00, final soc 1.51kWh, metric 656.24p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 06:50:00, load 27.84kWh, PV 0.0kWh
2026-08-15 05:55:02.515469: Saving plan best values to HA entities
2026-08-15 05:55:02.669335: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 05:55:02.675178: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0.0
2026-08-15 05:55:02.680370: Best charging limit SoC's [16.0, 3.5, 4.0, 16.0, 16.0, 16.0]kWh, export []kWh gives import battery 20.9kWh, house 3.99kWh, export 0.0kWh, metric 656.24p, metric10 680.57p
2026-08-15 05:55:02.745250: Marginal costs baseline metric (no standing charge): 606.2571
2026-08-15 05:55:02.959074: Marginal energy costs matrix computed: min=14.33 max=33.62
2026-08-15 05:55:03.041935: Rate array import [{'start': 355, 'end': 420, 'rate': 'expensive', 'range': '(25.7p - 27.6p)'}, {'start': 420, 'end': 450, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 450, 'end': 480, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 480, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 23.6p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1860, 'rate': 'expensive', 'range': '(24.6p - 32.9p)'}, {'start': 1860, 'end': 1890, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 1890, 'end': 1920, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 1920, 'end': 2135, 'rate': 'cheap', 'range': '(15.5p - 23.6p)'}] export [{'start': 355, 'end': 2135, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 05:55:03.042770: - Your estimated bill for today is £5.88 and tomorrow is £5.45
2026-08-15 05:55:03.042834: - Import rates are expensive (25.7p - 27.6p) for the next 1 hour and then cheap (22.7p) for the next 30 minutes.
2026-08-15 05:55:03.042858: - The battery is currently at 11% and is in eco mode for the next 5 and a half hours.
2026-08-15 05:55:03.042877: - For the next 48 hours there will be no solar generation.
2026-08-15 05:55:03.042896: - You will run out of battery in 55 minutes.
2026-08-15 05:55:03.042913: - Your next charge slot will be in 5 and a half hours where import rates will be cheap (15.5p).
2026-08-15 05:55:03.042932: 
2026-08-15 05:55:03.094261: Plan calculation took 1.00 seconds
2026-08-15 05:55:03.097068: No high rate period found
2026-08-15 05:55:03.139498: Import threshold used for optimisation was 22.73p
2026-08-15 05:55:03.186628: Low import rate windows [0: 08-15 05:30:00 - 08-15 06:00:00 @ 26.4, 1: 08-15 06:00:00 - 08-15 06:30:00 @ 25.7, 2: 08-15 06:30:00 - 08-15 07:00:00 @ 27.63, 3: 08-15 07:00:00 - 08-15 07:30:00 @ 22.73, 4: 08-15 07:30:00 - 08-15 08:00:00 @ 26.7, 5: 08-15 08:00:00 - 08-15 08:30:00 @ 22.92, 6: 08-15 08:30:00 - 08-15 09:00:00 @ 22.48, 7: 08-15 09:00:00 - 08-15 09:30:00 @ 23.55, 8: 08-15 09:30:00 - 08-15 10:00:00 @ 23.64, 9: 08-15 10:00:00 - 08-15 10:30:00 @ 19.66, 10: 08-15 10:30:00 - 08-15 11:00:00 @ 17.66, 11: 08-15 11:00:00 - 08-15 11:30:00 @ 16.56, 12: 08-15 11:30:00 - 08-15 12:00:00 @ 15.46, 13: 08-15 12:00:00 - 08-15 12:30:00 @ 17.0, 14: 08-15 12:30:00 - 08-15 13:00:00 @ 16.34, 15: 08-15 13:00:00 - 08-15 13:30:00 @ 15.36, 16: 08-15 13:30:00 - 08-15 14:00:00 @ 15.74, 17: 08-15 14:00:00 - 08-15 14:30:00 @ 14.57, 18: 08-15 14:30:00 - 08-15 15:00:00 @ 13.77, 19: 08-15 15:00:00 - 08-15 15:30:00 @ 15.02, 20: 08-15 15:30:00 - 08-15 16:00:00 @ 15.87, 21: 08-15 16:00:00 - 08-15 16:30:00 @ 33.13, 22: 08-15 16:30:00 - 08-15 17:00:00 @ 33.13, 23: 08-15 17:00:00 - 08-15 17:30:00 @ 38.46, 24: 08-15 17:30:00 - 08-15 18:00:00 @ 40.44, 25: 08-15 18:00:00 - 08-15 18:30:00 @ 41.55, 26: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 27: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 28: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 29: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 30: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 31: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 32: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 33: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 34: 08-15 23:00:00 - 08-15 23:30:00 @ 27.8, 35: 08-15 23:30:00 - 08-16 00:00:00 @ 29.09, 36: 08-16 00:00:00 - 08-16 00:30:00 @ 28.47, 37: 08-16 00:30:00 - 08-16 01:00:00 @ 27.18, 38: 08-16 01:00:00 - 08-16 01:30:00 @ 27.57, 39: 08-16 01:30:00 - 08-16 02:00:00 @ 26.5, 40: 08-16 02:00:00 - 08-16 02:30:00 @ 25.6, 41: 08-16 02:30:00 - 08-16 03:00:00 @ 24.79, 42: 08-16 03:00:00 - 08-16 03:30:00 @ 25.08, 43: 08-16 03:30:00 - 08-16 04:00:00 @ 24.62, 44: 08-16 04:00:00 - 08-16 04:30:00 @ 27.02, 45: 08-16 04:30:00 - 08-16 05:00:00 @ 26.47, 46: 08-16 05:00:00 - 08-16 05:30:00 @ 26.25, 47: 08-16 05:30:00 - 08-16 06:00:00 @ 26.4, 48: 08-16 06:00:00 - 08-16 06:30:00 @ 25.7, 49: 08-16 06:30:00 - 08-16 07:00:00 @ 27.63, 50: 08-16 07:00:00 - 08-16 07:30:00 @ 22.73, 51: 08-16 07:30:00 - 08-16 08:00:00 @ 26.7, 52: 08-16 08:00:00 - 08-16 08:30:00 @ 22.92, 53: 08-16 08:30:00 - 08-16 09:00:00 @ 22.48, 54: 08-16 09:00:00 - 08-16 09:30:00 @ 23.55, 55: 08-16 09:30:00 - 08-16 10:00:00 @ 23.64, 56: 08-16 10:00:00 - 08-16 10:30:00 @ 19.66, 57: 08-16 10:30:00 - 08-16 11:00:00 @ 17.66, 58: 08-16 11:00:00 - 08-16 11:30:00 @ 16.56, 59: 08-16 11:30:00 - 08-16 12:00:00 @ 15.46, 60: 08-16 12:00:00 - 08-16 12:30:00 @ 17.0, 61: 08-16 12:30:00 - 08-16 13:00:00 @ 16.34, 62: 08-16 13:00:00 - 08-16 13:30:00 @ 15.36, 63: 08-16 13:30:00 - 08-16 14:00:00 @ 15.74, 64: 08-16 14:00:00 - 08-16 14:30:00 @ 14.57, 65: 08-16 14:30:00 - 08-16 15:00:00 @ 13.77, 66: 08-16 15:00:00 - 08-16 15:30:00 @ 15.02, 67: 08-16 15:30:00 - 08-16 16:00:00 @ 15.87, 68: 08-16 16:00:00 - 08-16 16:30:00 @ 33.13, 69: 08-16 16:30:00 - 08-16 17:00:00 @ 33.13, 70: 08-16 17:00:00 - 08-16 17:30:00 @ 38.46, 71: 08-16 17:30:00 - 08-16 18:00:00 @ 40.44, 72: 08-16 18:00:00 - 08-16 18:30:00 @ 41.55, 73: 08-16 19:00:00 - 08-16 19:30:00 @ 32.58, 74: 08-16 19:30:00 - 08-16 20:00:00 @ 32.9, 75: 08-16 20:00:00 - 08-16 20:30:00 @ 31.99, 76: 08-16 20:30:00 - 08-16 21:00:00 @ 32.1, 77: 08-16 21:00:00 - 08-16 21:30:00 @ 31.71, 78: 08-16 21:30:00 - 08-16 22:00:00 @ 31.67, 79: 08-16 22:00:00 - 08-16 22:30:00 @ 31.77, 80: 08-16 22:30:00 - 08-16 23:00:00 @ 29.81, 81: 08-16 23:00:00 - 08-16 23:30:00 @ 27.8, 82: 08-16 23:30:00 - 08-17 00:00:00 @ 29.09, 83: 08-17 00:00:00 - 08-17 00:30:00 @ 28.47, 84: 08-17 00:30:00 - 08-17 01:00:00 @ 27.18, 85: 08-17 01:00:00 - 08-17 01:30:00 @ 27.57, 86: 08-17 01:30:00 - 08-17 02:00:00 @ 26.5, 87: 08-17 02:00:00 - 08-17 02:30:00 @ 25.6, 88: 08-17 02:30:00 - 08-17 03:00:00 @ 24.79, 89: 08-17 03:00:00 - 08-17 03:30:00 @ 25.08, 90: 08-17 03:30:00 - 08-17 04:00:00 @ 24.62, 91: 08-17 04:00:00 - 08-17 04:30:00 @ 27.02, 92: 08-17 04:30:00 - 08-17 05:00:00 @ 26.47, 93: 08-17 05:00:00 - 08-17 05:30:00 @ 26.25, 94: 08-17 05:30:00 - 08-17 06:00:00 @ 26.4]
2026-08-15 05:55:03.193845: Inverter 0 Charge window will be: 2026-08-15 11:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 11%, target 100%
2026-08-15 05:55:03.193969: Inverter 0 disabled charge window while waiting for schedule (now 08-15 05:55:00 target set_window_minutes 30 charge start time 08-15 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 05:55:03.194070: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 05:55:03.194305: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 05:55:03.194388: No export window planned
2026-08-15 05:55:03.194487: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 05:55:03.194521: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 05:55:03.194631: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 05:55:03.194775: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 05:55:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 05:55:03.194829: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 05:55:03.194907: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 05:55:03.194986: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 05:55:03.195021: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 05:55:03.195045: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 05:55:03.195065: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 05:55:03.195086: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 05:55:03.195121: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 05:55:03.195143: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 05:55:03.195196: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 05:55:03.195221: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 05:55:03.195243: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 05:55:03.195262: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 05:55:03.195281: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 05:55:03.195300: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 05:55:03.195324: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 05:55:03.195340: Inverter 0 count register writes 0
2026-08-15 05:55:03.213483: Will not recompute the plan, it is 5.0 minutes old and max age is 10 minutes
2026-08-15 05:55:03.218090: Total inverter register writes now 815
2026-08-15 05:55:03.257436: Info: Completed run status Demand
2026-08-15 05:55:03.263882: Info: record_status Demand
2026-08-15 05:55:03.269865: Saved current settings to /config/predbat_config.json
2026-08-15 05:55:03.270143: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 05:55:42.376405: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 05:55:42.376650: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 05:55:42.376691: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 05:55:42.376851: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 05:55:42.376909: Note: Inverter does not support discharge freeze - disabled
2026-08-15 05:55:42.376929: Note: Inverter does not support charge freeze - disabled
2026-08-15 05:55:42.377008: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 05:57:41.397063: TemperatureAPI: Using coordinates latitude 53.4, longitude -2.2
2026-08-15 05:57:41.566528: TemperatureAPI: Successfully fetched temperature data from Open-Meteo API
2026-08-15 05:57:56.657490: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 05:57:56.657727: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 05:57:56.657769: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 05:57:56.657919: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 05:57:56.657975: Note: Inverter does not support discharge freeze - disabled
2026-08-15 05:57:56.657997: Note: Inverter does not support charge freeze - disabled
2026-08-15 05:57:56.658015: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 05:59:32.670306: Info: HAHistory: Pruning history data started.
2026-08-15 05:59:32.673751: Info: HAHistory: Pruning history data completed.
2026-08-15 05:59:56.868224: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 05:59:56.868486: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 05:59:56.868562: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 05:59:56.868786: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 05:59:56.868875: Note: Inverter does not support discharge freeze - disabled
2026-08-15 05:59:56.868896: Note: Inverter does not support charge freeze - disabled
2026-08-15 05:59:56.868913: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 06:00:00.946181: --------------- PredBat - update at 2026-08-15 06:00:00+01:00 with clock skew 0 minutes, minutes now 360
2026-08-15 06:00:00.947341: Saved current settings to /config/predbat_config.json
2026-08-15 06:00:00.947584: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 115.0 minutes
2026-08-15 06:00:00.947731: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.1, latest beta is v8.48.1
2026-08-15 06:00:00.947882: Autoupdate: Currently up to date
2026-08-15 06:00:01.060695: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 06:00:01.060837: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 06:00:01.061041: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 06:00:01.061826: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 06:00:01.062001: Predbat mode is set to Control charge & discharge
2026-08-15 06:00:01.299388: Found 21602 load_today datapoints going back 27 days
2026-08-15 06:00:01.299541: Using load_power data to fill gaps in load_today data
2026-08-15 06:00:02.084495: Processing 721 30-minute periods for power integration
2026-08-15 06:00:02.281245: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 06:00:02.281416: Car charging hold False, threshold 6.0kWh
2026-08-15 06:00:02.281522: Current data so far today: load 5.03kWh, import 5.9kWh, export 0.0kWh, PV 0kWh
2026-08-15 06:00:02.298210: Cars: SoC: [12.892000000000001]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 06:00:02.298684: Standing charge is set to 49.98p
2026-08-15 06:00:02.326749: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 06:00:02.326859: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 06:00:02.327120: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 360.0 minutes
2026-08-15 06:00:02.327551: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 359.7 minutes
2026-08-15 06:00:02.330723: Loaded 47 datapoints of futurerate analysis
2026-08-15 06:00:02.430731: Predicted future rates: ['08-15 00:00:00 => 28.9 / 20.01', '08-15 01:00:00 => 27.54 / 19.31', '08-15 02:00:00 => 26.52 / 18.8', '08-15 03:00:00 => 25.99 / 18.53', '08-15 04:00:00 => 25.8 / 18.43', '08-15 05:00:00 => 25.96 / 18.51', '08-15 06:00:00 => 25.55 / 18.3', '08-15 07:00:00 => 24.33 / 17.68', '08-15 08:00:00 => 23.03 / 17.01', '08-15 09:00:00 => 22.05 / 16.51', '08-15 10:00:00 => 20.43 / 15.68', '08-15 11:00:00 => 18.01 / 14.45', '08-15 12:00:00 => 16.37 / 13.61', '08-15 13:00:00 => 15.76 / 13.3', '08-15 14:00:00 => 15.35 / 13.09', '08-15 15:00:00 => 15.86 / 13.35', '08-15 16:00:00 => 32.89 / 16.13', '08-15 17:00:00 => 38.02 / 18.75', '08-15 18:00:00 => 42.36 / 20.96', '08-15 19:00:00 => 31.09 / 21.13', '08-15 20:00:00 => 31.64 / 21.41', '08-15 21:00:00 => 31.64 / 21.41', '08-15 22:00:00 => 30.58 / 20.87']
2026-08-15 06:00:02.493496: Rate min forward looking: now 13.77p at end of forecast 13.77p
2026-08-15 06:00:02.493958: Import rates: min 13.77p, max 43.82p, average 25.96p
2026-08-15 06:00:02.528815: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 06:00:02.528940: Rate thresholds (for charge/export) are import 43.32p (0.0p), export -0.1p (0.0p)
2026-08-15 06:00:02.530071: High export rate found rates in range 99p to -99p
2026-08-15 06:00:02.607431: Low Import rate found rates in range 13.77p to 41.55p
2026-08-15 06:00:02.607583: Car 0 charging is not planned as it is not plugged in
2026-08-15 06:00:02.623261: Battery level now 1.76kWh, -1hr ago 1.42kWh, at midnight 1.66kWh, battery value change in the last hour 4.07p, change today 1.23p, rate_forward 11.83p
2026-08-15 06:00:02.623640: Last hour: net energy 0.18kWh, import 0.18kWh, export 0.0kWh, car 0kWh, load 0.45kWh, net cost 4.73p, import 4.73p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 06:00:02.685561: Today's energy total net 5.9kWh, import 5.9kWh, export 0.0kWh, cost 207.56p, import 157.57p, export 0.0p, carbon 0.0kg
2026-08-15 06:00:02.685771: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 06:00:02.766109: Using weighted-bucket historical load forecast over 14 days
2026-08-15 06:00:02.789893: Today's load divergence 107.32%, in-day adjustment 134.57%, damping 0.95x, yesterday 143.77% today 106.95% blend 75.0%
2026-08-15 06:00:02.789998: Today's predicted so far 3.88kWh with 0.0kWh car/iBoost excluded, 2.42kWh import ignored, and 3.88kWh forecast extra.
2026-08-15 06:00:02.790030: Today's actual load so far 5.1kWh with 0.0kWh car/iBoost excluded, and 2.42kWh import ignored.
2026-08-15 06:00:02.844140: Inverter 0: Type SK Sunsynk
2026-08-15 06:00:02.844264: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 06:00:02.844553: Reserve min: 7%, battery_min: 7%
2026-08-15 06:00:02.844664: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 06:00:02.845051: Inverter 0 SoC: 1.63kW 10%, current charge rate 5000W, current discharge rate 5250W, current battery power 241W, current battery voltage 51.2V, grid power -54W, load power 301W, PV Power 0W
2026-08-15 06:00:02.845274: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 06:00:02.845370: Inverter 0 scheduled charge enable is False
2026-08-15 06:00:02.845399: Inverter 0 charge windows currently []
2026-08-15 06:00:02.845425: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 06:00:02.845540: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 06:00:02.845576: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 06:00:02.845611: Inverter 0 scheduled discharge enable is False
2026-08-15 06:00:02.845733: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 06:00:02.845769: Inverter 0 discharge windows currently []
2026-08-15 06:00:02.845817: Note: Inverter does not support discharge freeze - disabled
2026-08-15 06:00:02.845838: Note: Inverter does not support charge freeze - disabled
2026-08-15 06:00:02.845859: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 06:00:02.913194: Dynamic load last period 0.30kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 06:00:02.913309: Plan was last updated on 2026-08-15 05:50:00+01:00 and is now 10.0 minutes old
2026-08-15 06:00:02.913604: Best charge window [ 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 00:30:00 @ 28.84p 100% ]
2026-08-15 06:00:02.913649: Best export window [  ]
2026-08-15 06:00:02.914590: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 06:00:02.917927: Load divergence over 8.0 hours mean 595.92W, min 281.4W, max 1607.4W, std dev 332.89W, divergence 27.93%
2026-08-15 06:00:02.937835: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 06:00:02.937956: LoadML is_calculating False
2026-08-15 06:00:02.938033: Creating pool of 12 processes to match your CPU count
2026-08-15 06:00:03.067632: predict base end_record 08-16 11:40:00, final soc 1.12kWh, metric 821.31p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 06:45:00, load 27.95kWh, PV 0.0kWh
2026-08-15 06:00:03.226599: Battery has 0.75 hours left - now at 1.63kWh
2026-08-15 06:00:03.283821: predict base10 end_record 08-16 11:40:00, final soc 1.12kWh, metric 848.75p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 06:40:00, load 29.04kWh, PV 0.0kWh
2026-08-15 06:00:03.397688: predict best10 end_record 08-16 11:40:00, final soc 1.77kWh, metric 687.92p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 06:40:00, load 29.04kWh, PV 0.0kWh
2026-08-15 06:00:03.536942: predict best end_record 08-16 11:40:00, final soc 1.9kWh, metric 664.99p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 06:45:00, load 27.95kWh, PV 0.0kWh
2026-08-15 06:00:03.537106: Saving plan best values to HA entities
2026-08-15 06:00:03.758632: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0
2026-08-15 06:00:03.767424: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 06:00:03.777348: Best charging limit SoC's [16.0, 3.5, 4.0, 16.0, 16.0, 16.0]kWh, export []kWh gives import battery 21.4kWh, house 4.0kWh, export 0.0kWh, metric 664.99p, metric10 687.92p
2026-08-15 06:00:03.896159: Marginal costs baseline metric (no standing charge): 615.0075
2026-08-15 06:00:04.179532: Marginal energy costs matrix computed: min=14.17 max=33.73
2026-08-15 06:00:04.259892: Rate array import [{'start': 360, 'end': 420, 'rate': 'expensive', 'range': '(25.7p - 27.6p)'}, {'start': 420, 'end': 450, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 450, 'end': 480, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 480, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 23.6p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1860, 'rate': 'expensive', 'range': '(24.6p - 32.9p)'}, {'start': 1860, 'end': 1890, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 1890, 'end': 1920, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 1920, 'end': 2140, 'rate': 'cheap', 'range': '(15.5p - 23.6p)'}] export [{'start': 360, 'end': 2140, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 06:00:04.260767: - Your estimated bill for today is £5.90 and tomorrow is £5.42
2026-08-15 06:00:04.260833: - Import rates are expensive (25.7p - 27.6p) for the next 1 hour and then cheap (22.7p) for the next 30 minutes.
2026-08-15 06:00:04.260916: - The battery is currently at 10% and is in eco mode for the next 5 and a half hours.
2026-08-15 06:00:04.260986: - For the next 48 hours there will be no solar generation.
2026-08-15 06:00:04.261036: - You will run out of battery in 45 minutes.
2026-08-15 06:00:04.261065: - Your next charge slot will be in 5 and a half hours where import rates will be cheap (15.5p).
2026-08-15 06:00:04.261115: 
2026-08-15 06:00:04.329369: Plan calculation took 1.42 seconds
2026-08-15 06:00:04.332649: No high rate period found
2026-08-15 06:00:04.401880: Import threshold used for optimisation was 22.73p
2026-08-15 06:00:04.456986: Low import rate windows [0: 08-15 06:00:00 - 08-15 06:30:00 @ 25.7, 1: 08-15 06:30:00 - 08-15 07:00:00 @ 27.63, 2: 08-15 07:00:00 - 08-15 07:30:00 @ 22.73, 3: 08-15 07:30:00 - 08-15 08:00:00 @ 26.7, 4: 08-15 08:00:00 - 08-15 08:30:00 @ 22.92, 5: 08-15 08:30:00 - 08-15 09:00:00 @ 22.48, 6: 08-15 09:00:00 - 08-15 09:30:00 @ 23.55, 7: 08-15 09:30:00 - 08-15 10:00:00 @ 23.64, 8: 08-15 10:00:00 - 08-15 10:30:00 @ 19.66, 9: 08-15 10:30:00 - 08-15 11:00:00 @ 17.66, 10: 08-15 11:00:00 - 08-15 11:30:00 @ 16.56, 11: 08-15 11:30:00 - 08-15 12:00:00 @ 15.46, 12: 08-15 12:00:00 - 08-15 12:30:00 @ 17.0, 13: 08-15 12:30:00 - 08-15 13:00:00 @ 16.34, 14: 08-15 13:00:00 - 08-15 13:30:00 @ 15.36, 15: 08-15 13:30:00 - 08-15 14:00:00 @ 15.74, 16: 08-15 14:00:00 - 08-15 14:30:00 @ 14.57, 17: 08-15 14:30:00 - 08-15 15:00:00 @ 13.77, 18: 08-15 15:00:00 - 08-15 15:30:00 @ 15.02, 19: 08-15 15:30:00 - 08-15 16:00:00 @ 15.87, 20: 08-15 16:00:00 - 08-15 16:30:00 @ 33.13, 21: 08-15 16:30:00 - 08-15 17:00:00 @ 33.13, 22: 08-15 17:00:00 - 08-15 17:30:00 @ 38.46, 23: 08-15 17:30:00 - 08-15 18:00:00 @ 40.44, 24: 08-15 18:00:00 - 08-15 18:30:00 @ 41.55, 25: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 26: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 27: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 28: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 29: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 30: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 31: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 32: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 33: 08-15 23:00:00 - 08-15 23:30:00 @ 27.8, 34: 08-15 23:30:00 - 08-16 00:00:00 @ 29.09, 35: 08-16 00:00:00 - 08-16 00:30:00 @ 28.47, 36: 08-16 00:30:00 - 08-16 01:00:00 @ 27.18, 37: 08-16 01:00:00 - 08-16 01:30:00 @ 27.57, 38: 08-16 01:30:00 - 08-16 02:00:00 @ 26.5, 39: 08-16 02:00:00 - 08-16 02:30:00 @ 25.6, 40: 08-16 02:30:00 - 08-16 03:00:00 @ 24.79, 41: 08-16 03:00:00 - 08-16 03:30:00 @ 25.08, 42: 08-16 03:30:00 - 08-16 04:00:00 @ 24.62, 43: 08-16 04:00:00 - 08-16 04:30:00 @ 27.02, 44: 08-16 04:30:00 - 08-16 05:00:00 @ 26.47, 45: 08-16 05:00:00 - 08-16 05:30:00 @ 26.25, 46: 08-16 05:30:00 - 08-16 06:00:00 @ 26.4, 47: 08-16 06:00:00 - 08-16 06:30:00 @ 25.7, 48: 08-16 06:30:00 - 08-16 07:00:00 @ 27.63, 49: 08-16 07:00:00 - 08-16 07:30:00 @ 22.73, 50: 08-16 07:30:00 - 08-16 08:00:00 @ 26.7, 51: 08-16 08:00:00 - 08-16 08:30:00 @ 22.92, 52: 08-16 08:30:00 - 08-16 09:00:00 @ 22.48, 53: 08-16 09:00:00 - 08-16 09:30:00 @ 23.55, 54: 08-16 09:30:00 - 08-16 10:00:00 @ 23.64, 55: 08-16 10:00:00 - 08-16 10:30:00 @ 19.66, 56: 08-16 10:30:00 - 08-16 11:00:00 @ 17.66, 57: 08-16 11:00:00 - 08-16 11:30:00 @ 16.56, 58: 08-16 11:30:00 - 08-16 12:00:00 @ 15.46, 59: 08-16 12:00:00 - 08-16 12:30:00 @ 17.0, 60: 08-16 12:30:00 - 08-16 13:00:00 @ 16.34, 61: 08-16 13:00:00 - 08-16 13:30:00 @ 15.36, 62: 08-16 13:30:00 - 08-16 14:00:00 @ 15.74, 63: 08-16 14:00:00 - 08-16 14:30:00 @ 14.57, 64: 08-16 14:30:00 - 08-16 15:00:00 @ 13.77, 65: 08-16 15:00:00 - 08-16 15:30:00 @ 15.02, 66: 08-16 15:30:00 - 08-16 16:00:00 @ 15.87, 67: 08-16 16:00:00 - 08-16 16:30:00 @ 33.13, 68: 08-16 16:30:00 - 08-16 17:00:00 @ 33.13, 69: 08-16 17:00:00 - 08-16 17:30:00 @ 38.46, 70: 08-16 17:30:00 - 08-16 18:00:00 @ 40.44, 71: 08-16 18:00:00 - 08-16 18:30:00 @ 41.55, 72: 08-16 19:00:00 - 08-16 19:30:00 @ 32.58, 73: 08-16 19:30:00 - 08-16 20:00:00 @ 32.9, 74: 08-16 20:00:00 - 08-16 20:30:00 @ 31.99, 75: 08-16 20:30:00 - 08-16 21:00:00 @ 32.1, 76: 08-16 21:00:00 - 08-16 21:30:00 @ 31.71, 77: 08-16 21:30:00 - 08-16 22:00:00 @ 31.67, 78: 08-16 22:00:00 - 08-16 22:30:00 @ 31.77, 79: 08-16 22:30:00 - 08-16 23:00:00 @ 29.81, 80: 08-16 23:00:00 - 08-16 23:30:00 @ 27.8, 81: 08-16 23:30:00 - 08-17 00:00:00 @ 29.09, 82: 08-17 00:00:00 - 08-17 00:30:00 @ 28.47, 83: 08-17 00:30:00 - 08-17 01:00:00 @ 27.18, 84: 08-17 01:00:00 - 08-17 01:30:00 @ 27.57, 85: 08-17 01:30:00 - 08-17 02:00:00 @ 26.5, 86: 08-17 02:00:00 - 08-17 02:30:00 @ 25.6, 87: 08-17 02:30:00 - 08-17 03:00:00 @ 24.79, 88: 08-17 03:00:00 - 08-17 03:30:00 @ 25.08, 89: 08-17 03:30:00 - 08-17 04:00:00 @ 24.62, 90: 08-17 04:00:00 - 08-17 04:30:00 @ 27.02, 91: 08-17 04:30:00 - 08-17 05:00:00 @ 26.47, 92: 08-17 05:00:00 - 08-17 05:30:00 @ 26.25, 93: 08-17 05:30:00 - 08-17 06:00:00 @ 26.4]
2026-08-15 06:00:04.464747: Inverter 0 Charge window will be: 2026-08-15 11:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 10%, target 100%
2026-08-15 06:00:04.464886: Inverter 0 disabled charge window while waiting for schedule (now 08-15 06:00:00 target set_window_minutes 30 charge start time 08-15 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 06:00:04.465051: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 06:00:04.465376: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 06:00:04.465475: No export window planned
2026-08-15 06:00:04.465627: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 06:00:04.465671: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 06:00:04.465813: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 06:00:04.465994: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 06:00:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 06:00:04.466061: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 06:00:04.466173: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 06:00:04.466276: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 06:00:04.466320: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 06:00:04.466349: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 06:00:04.466392: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 06:00:04.466447: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 06:00:04.466492: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 06:00:04.466539: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 06:00:04.466616: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 06:00:04.466654: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 06:00:04.466680: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 06:00:04.466705: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 06:00:04.466730: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 06:00:04.466760: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 06:00:04.466807: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 06:00:04.466836: Inverter 0 count register writes 0
2026-08-15 06:00:04.486810: Will recompute the plan as it is now 10.0 minutes old and will exceed the max age of 10 minutes before the next run
2026-08-15 06:00:04.487006: Recompute is saving previous plan...
2026-08-15 06:00:04.490777: Best charge window [ 15-08 06:00:00 - 15-08 06:30:00 @ 25.7p 0%, 15-08 06:30:00 - 15-08 07:00:00 @ 27.63p 0%, 15-08 07:00:00 - 15-08 07:30:00 @ 22.73p 0%, 15-08 07:30:00 - 15-08 08:00:00 @ 26.7p 0%, 15-08 08:00:00 - 15-08 08:30:00 @ 22.92p 0%, 15-08 08:30:00 - 15-08 09:00:00 @ 22.48p 0%, 15-08 09:00:00 - 15-08 09:30:00 @ 23.55p 0%, 15-08 09:30:00 - 15-08 10:00:00 @ 23.64p 0%, 15-08 10:00:00 - 15-08 10:30:00 @ 19.66p 0%, 15-08 10:30:00 - 15-08 11:00:00 @ 17.66p 0%, 15-08 11:00:00 - 15-08 11:30:00 @ 16.56p 0%, 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 0%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 0%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 0%, 15-08 13:00:00 - 15-08 13:30:00 @ 15.36p 0%, 15-08 13:30:00 - 15-08 14:00:00 @ 15.74p 0%, 15-08 14:00:00 - 15-08 14:30:00 @ 14.57p 0%, 15-08 14:30:00 - 15-08 15:00:00 @ 13.77p 0%, 15-08 15:00:00 - 15-08 15:30:00 @ 15.02p 0%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 0%, 15-08 16:00:00 - 15-08 16:30:00 @ 33.13p 0%, 15-08 16:30:00 - 15-08 17:00:00 @ 33.13p 0%, 15-08 17:00:00 - 15-08 17:30:00 @ 38.46p 0%, 15-08 17:30:00 - 15-08 18:00:00 @ 40.44p 0%, 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 0%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 0%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 0%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 0%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 0%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 27.8p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 29.09p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.47p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.18p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 27.57p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.5p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.6p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 24.79p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 25.08p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 24.62p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 27.02p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.47p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 26.25p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.4p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.7p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 27.63p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 22.73p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 26.7p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 22.92p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 22.48p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 23.55p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 23.64p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 19.66p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 17.66p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 16.56p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 15.46p 0%, 16-08 12:00:00 - 16-08 12:30:00 @ 17.0p 0%, 16-08 12:30:00 - 16-08 13:00:00 @ 16.34p 0%, 16-08 13:00:00 - 16-08 13:30:00 @ 15.36p 0%, 16-08 13:30:00 - 16-08 14:00:00 @ 15.74p 0%, 16-08 14:00:00 - 16-08 14:30:00 @ 14.57p 0%, 16-08 14:30:00 - 16-08 15:00:00 @ 13.77p 0%, 16-08 15:00:00 - 16-08 15:30:00 @ 15.02p 0%, 16-08 15:30:00 - 16-08 16:00:00 @ 15.87p 0%, 16-08 16:00:00 - 16-08 16:30:00 @ 33.13p 0%, 16-08 16:30:00 - 16-08 17:00:00 @ 33.13p 0%, 16-08 17:00:00 - 16-08 17:30:00 @ 38.46p 0%, 16-08 17:30:00 - 16-08 18:00:00 @ 40.44p 0%, 16-08 18:00:00 - 16-08 18:30:00 @ 41.55p 0%, 16-08 19:00:00 - 16-08 19:30:00 @ 32.58p 0%, 16-08 19:30:00 - 16-08 20:00:00 @ 32.9p 0%, 16-08 20:00:00 - 16-08 20:30:00 @ 31.99p 0%, 16-08 20:30:00 - 16-08 21:00:00 @ 32.1p 0%, 16-08 21:00:00 - 16-08 21:30:00 @ 31.71p 0%, 16-08 21:30:00 - 16-08 22:00:00 @ 31.67p 0%, 16-08 22:00:00 - 16-08 22:30:00 @ 31.77p 0%, 16-08 22:30:00 - 16-08 23:00:00 @ 29.81p 0%, 16-08 23:00:00 - 16-08 23:30:00 @ 27.8p 0%, 16-08 23:30:00 - 17-08 00:00:00 @ 29.09p 0%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.47p 0%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.18p 0%, 17-08 01:00:00 - 17-08 01:30:00 @ 27.57p 0%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.5p 0%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.6p 0%, 17-08 02:30:00 - 17-08 03:00:00 @ 24.79p 0%, 17-08 03:00:00 - 17-08 03:30:00 @ 25.08p 0%, 17-08 03:30:00 - 17-08 04:00:00 @ 24.62p 0%, 17-08 04:00:00 - 17-08 04:30:00 @ 27.02p 0%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.47p 0%, 17-08 05:00:00 - 17-08 05:30:00 @ 26.25p 0%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.4p 0% ]
2026-08-15 06:00:04.490885: Best export window [  ]
2026-08-15 06:00:04.491917: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 06:00:04.496525: Load divergence over 8.0 hours mean 595.92W, min 281.4W, max 1607.4W, std dev 332.89W, divergence 27.93%
2026-08-15 06:00:04.517180: Calculating data from yesterday for savings calculation
2026-08-15 06:00:04.532978: Yesterday basic charge window best: [{'start': 840, 'end': 870, 'average': 21.7}] charge limit best: [16.0] based on max charge slots 1
2026-08-15 06:00:04.596046: predict yesterday end_record 08-16 00:00:00, final soc 1.12kWh, metric 843.72p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 00:00:00, load 26.2kWh, PV 0.0kWh
2026-08-15 06:00:04.619385: predict yesterday10 end_record 08-16 00:00:00, final soc 1.12kWh, metric 848.0p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 00:00:00, load 26.2kWh, PV 0.0kWh
2026-08-15 06:00:04.639510: predict yesterday end_record 08-16 00:00:00, final soc 1.12kWh, metric 843.72p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 00:00:00, load 26.2kWh, PV 0.0kWh
2026-08-15 06:00:04.678287: Yesterday: Predbat disabled was £8.44 (adjusted £8.3) vs £7.38 (adjusted £7.17), saving £1.05 (adjusted £1.13) with import 26.53kWh, export 0.0kWh, battery_cycle 4.66kWh, start_soc 1.12kWh,  final_soc 1.12kWh and battery_value 13.25kWh
2026-08-15 06:00:04.754728: predict yesterday end_record 08-16 00:00:00, final soc 0.0kWh, metric 852.35p, metric_keep 0kWh, min_soc 0kWh @ 08-15 00:00:00, load 26.2kWh, PV 0.0kWh
2026-08-15 06:00:04.754886: Yesterday: No Battery/PV system cost predicted was £8.52 (adjusted £8.52) vs £7.38 (adjusted £7.17), saving £1.14 (adjusted £1.35) with import 26.2kWh, export 0kWh and battery_value 0.0kWh
2026-08-15 06:00:04.766407: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 06:00:04.766547: LoadML is_calculating False
2026-08-15 06:00:04.766631: Creating pool of 12 processes to match your CPU count
2026-08-15 06:00:04.861944: Calculate Best options: mode(Control charge & discharge), calculate_export_oncharge(False), calculate_export_on_pv(True), set_export_freeze_only(False), set_discharge_during_charge(True), combine_charge_slots(False), combine_export_slots(False), combine_rate_threshold(0.0), best_soc_min(0.0 kWh), best_soc_max(0.0 kWh), best_soc_keep(0.0 kWh), inverter_loss(4%), battery_loss(3%), battery_loss_discharge (3%), inverter_hybrid(True), metric_min_improvement(0.0p), metric_min_improvement_export(0.1p), metric_min_improvement_export_freeze(0.1p), metric_battery_cycle(0.0p/kWh), metric_battery_value_scaling(1.0 x) 
2026-08-15 06:00:04.864590: Optimise levels pass started at 2026-08-15 06:00:04
2026-08-15 06:00:04.864660: Optimise all windows, total charge 94 export 1
2026-08-15 06:00:06.353855: >> Region optimisation pass width 960 gives best_metric 814.03p, best_cost 819.42p, best_cycle 54.74kWh, best_import 38.98kWh
2026-08-15 06:00:06.855282: >> Region optimisation pass width 480 gives best_metric 814.03p, best_cost 819.42p, best_cycle 54.74kWh, best_import 38.98kWh
2026-08-15 06:00:07.479483: >> Region optimisation pass width 240 gives best_metric 814.03p, best_cost 819.42p, best_cycle 54.74kWh, best_import 38.98kWh
2026-08-15 06:00:08.873208: >> Region optimisation pass width 120 gives best_metric 814.03p, best_cost 819.42p, best_cycle 54.74kWh, best_import 38.98kWh
2026-08-15 06:00:08.873619: Calculated end_record as 08-16 11:30:00 based on best_price 16.34p, next_charge_start 08-15 11:30:00, max_windows 58
2026-08-15 06:00:08.873708: Optimise levels pass ended at 2026-08-15 06:00:08, duration 4.0 seconds tried 310 combinations
2026-08-15 06:00:08.873821: Set best_price_charge_level 17.6p, best_price_export_level 0p, best_price_charge 16.34p, best_cost_export 0p, best_metric 814.03p, best_keep 0kWh, best_cycle 54.74kWh, best_carbon 0kg, best_import 38.98kWh
2026-08-15 06:00:08.894376: Starting detailed optimisation end_record 08-16 11:30:00, best_price_charge 16.34p, best_price_export 0p. lowest_price_charge 13.77p with charge limits [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0]kWh and export limits []kWh
2026-08-15 06:00:13.376613: Tweak plan optimisation started metric 589.59p, cost 599.15p
2026-08-15 06:00:13.623171: Tweak optimisation finished metric 589.59p, cost 599.15p, metric_keep 0kWh, cycle 30.27kWh, carbon 0kg, import 24.38kWh, changed 8 window(s)
2026-08-15 06:00:13.639410: Swap charge optimisation started metric 589.59p, cost 599.15p, min_improvement_swap 0.1p
2026-08-15 06:00:18.542684: Swap charge optimisation finished metric 589.59p, cost 599.15p
2026-08-15 06:00:18.673351: Pruned 2 dead plan slot(s) in 11 trial(s), nominal metric 585.91p -> 585.91p, plan now metric 589.64p, cost 599.15p, cycle 30.27kWh, import 24.38kWh
2026-08-15 06:00:18.685897: Raw charge windows [ 15-08 06:00:00 - 15-08 06:30:00 @ 25.7p 0%, 15-08 06:30:00 - 15-08 07:00:00 @ 27.63p 0%, 15-08 07:00:00 - 15-08 07:30:00 @ 22.73p 0%, 15-08 07:30:00 - 15-08 08:00:00 @ 26.7p 0%, 15-08 08:00:00 - 15-08 08:30:00 @ 22.92p 0%, 15-08 08:30:00 - 15-08 09:00:00 @ 22.48p 0%, 15-08 09:00:00 - 15-08 09:30:00 @ 23.55p 0%, 15-08 09:30:00 - 15-08 10:00:00 @ 23.64p 0%, 15-08 10:00:00 - 15-08 10:30:00 @ 19.66p 0%, 15-08 10:30:00 - 15-08 11:00:00 @ 17.66p 0%, 15-08 11:00:00 - 15-08 11:30:00 @ 16.56p 0%, 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 13:30:00 @ 15.36p 100%, 15-08 13:30:00 - 15-08 14:00:00 @ 15.74p 100%, 15-08 14:00:00 - 15-08 14:30:00 @ 14.57p 100%, 15-08 14:30:00 - 15-08 15:00:00 @ 13.77p 100%, 15-08 15:00:00 - 15-08 15:30:00 @ 15.02p 100%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 100%, 15-08 16:00:00 - 15-08 16:30:00 @ 33.13p 0%, 15-08 16:30:00 - 15-08 17:00:00 @ 33.13p 0%, 15-08 17:00:00 - 15-08 17:30:00 @ 38.46p 0%, 15-08 17:30:00 - 15-08 18:00:00 @ 40.44p 0%, 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 0%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 0%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 0%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 0%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 0%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 27.8p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 29.09p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.47p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.18p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 27.57p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.5p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.6p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 24.79p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 25.08p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 24.62p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 27.02p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.47p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 26.25p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.4p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.7p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 27.63p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 22.73p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 26.7p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 22.92p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 22.48p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 23.55p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 23.64p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 19.66p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 17.66p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 16.56p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 15.46p 100%, 16-08 12:00:00 - 16-08 12:30:00 @ 17.0p 100%, 16-08 12:30:00 - 16-08 13:00:00 @ 16.34p 100%, 16-08 13:00:00 - 16-08 13:30:00 @ 15.36p 100%, 16-08 13:30:00 - 16-08 14:00:00 @ 15.74p 100%, 16-08 14:00:00 - 16-08 14:30:00 @ 14.57p 100%, 16-08 14:30:00 - 16-08 15:00:00 @ 13.77p 100%, 16-08 15:00:00 - 16-08 15:30:00 @ 15.02p 100%, 16-08 15:30:00 - 16-08 16:00:00 @ 15.87p 100%, 16-08 16:00:00 - 16-08 16:30:00 @ 33.13p 100%, 16-08 16:30:00 - 16-08 17:00:00 @ 33.13p 100%, 16-08 17:00:00 - 16-08 17:30:00 @ 38.46p 100%, 16-08 17:30:00 - 16-08 18:00:00 @ 40.44p 100%, 16-08 18:00:00 - 16-08 18:30:00 @ 41.55p 100%, 16-08 19:00:00 - 16-08 19:30:00 @ 32.58p 100%, 16-08 19:30:00 - 16-08 20:00:00 @ 32.9p 100%, 16-08 20:00:00 - 16-08 20:30:00 @ 31.99p 100%, 16-08 20:30:00 - 16-08 21:00:00 @ 32.1p 100%, 16-08 21:00:00 - 16-08 21:30:00 @ 31.71p 100%, 16-08 21:30:00 - 16-08 22:00:00 @ 31.67p 100%, 16-08 22:00:00 - 16-08 22:30:00 @ 31.77p 100%, 16-08 22:30:00 - 16-08 23:00:00 @ 29.81p 100%, 16-08 23:00:00 - 16-08 23:30:00 @ 27.8p 100%, 16-08 23:30:00 - 17-08 00:00:00 @ 29.09p 100%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.47p 100%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.18p 100%, 17-08 01:00:00 - 17-08 01:30:00 @ 27.57p 100%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.5p 100%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.6p 100%, 17-08 02:30:00 - 17-08 03:00:00 @ 24.79p 100%, 17-08 03:00:00 - 17-08 03:30:00 @ 25.08p 100%, 17-08 03:30:00 - 17-08 04:00:00 @ 24.62p 100%, 17-08 04:00:00 - 17-08 04:30:00 @ 27.02p 100%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.47p 100%, 17-08 05:00:00 - 17-08 05:30:00 @ 26.25p 100%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.4p 100% ] reserve 1.12
2026-08-15 06:00:18.686520: Unclipped charge windows [ 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 06:00:00 @ 26.32p 100% ] reserve 1.12
2026-08-15 06:00:18.686801: Unfiltered charge windows [ 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 06:00:00 @ 26.32p 100% ] reserve 1.12
2026-08-15 06:00:18.687037: Filtered charge windows [ 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 06:00:00 @ 26.32p 100% ] reserve 1.12
2026-08-15 06:00:18.724214: Previous plan best metric is 589.64 (cost 599.15) and new plan best metric is 589.59 (cost 599.15)
2026-08-15 06:00:18.724486: New plan metric is not significantly better (metric_min_improvement_plan 2.0) than previous plan, using previous plan
2026-08-15 06:00:18.724692: Plan valid is now true after recompute was False
2026-08-15 06:00:18.752363: predict base end_record 08-16 11:30:00, final soc 1.12kWh, metric 818.33p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 06:45:00, load 27.76kWh, PV 0.0kWh
2026-08-15 06:00:18.878422: Battery has 0.75 hours left - now at 1.63kWh
2026-08-15 06:00:18.922226: predict base10 end_record 08-16 11:30:00, final soc 1.12kWh, metric 845.63p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 06:40:00, load 28.84kWh, PV 0.0kWh
2026-08-15 06:00:18.994738: predict best10 end_record 08-16 11:30:00, final soc 1.12kWh, metric 674.06p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 06:40:00, load 28.84kWh, PV 0.0kWh
2026-08-15 06:00:19.082885: predict best end_record 08-16 11:30:00, final soc 1.12kWh, metric 649.13p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 06:45:00, load 27.76kWh, PV 0.0kWh
2026-08-15 06:00:19.082983: Saving plan best values to HA entities
2026-08-15 06:00:19.264422: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0
2026-08-15 06:00:19.270493: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 06:00:19.276767: Best charging limit SoC's [16.0, 3.5, 4.0, 16.0, 16.0, 16.0]kWh, export []kWh gives import battery 20.38kWh, house 4.0kWh, export 0.0kWh, metric 649.13p, metric10 674.06p
2026-08-15 06:00:19.356629: Marginal costs baseline metric (no standing charge): 599.1506
2026-08-15 06:00:19.648482: Marginal energy costs matrix computed: min=14.17 max=33.73
2026-08-15 06:00:19.713055: Rate array import [{'start': 360, 'end': 420, 'rate': 'expensive', 'range': '(25.7p - 27.6p)'}, {'start': 420, 'end': 450, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 450, 'end': 480, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 480, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 23.6p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1860, 'rate': 'expensive', 'range': '(24.6p - 32.9p)'}, {'start': 1860, 'end': 1890, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 1890, 'end': 1920, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 1920, 'end': 2130, 'rate': 'cheap', 'range': '(16.6p - 23.6p)'}] export [{'start': 360, 'end': 2130, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 06:00:19.713607: - Your estimated bill for today is £5.90 and tomorrow is £5.42
2026-08-15 06:00:19.713647: - Import rates are expensive (25.7p - 27.6p) for the next 1 hour and then cheap (22.7p) for the next 30 minutes.
2026-08-15 06:00:19.713665: - The battery is currently at 10% and is in eco mode for the next 5 and a half hours.
2026-08-15 06:00:19.713680: - For the next 48 hours there will be no solar generation.
2026-08-15 06:00:19.713694: - You will run out of battery in 45 minutes.
2026-08-15 06:00:19.713708: - Your next charge slot will be in 5 and a half hours where import rates will be cheap (15.5p).
2026-08-15 06:00:19.713723: 
2026-08-15 06:00:19.768451: Plan calculation took 15.28 seconds
2026-08-15 06:00:19.768845: Inverter 0: Type SK Sunsynk
2026-08-15 06:00:19.768894: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 06:00:19.769171: Reserve min: 7%, battery_min: 7%
2026-08-15 06:00:19.769276: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 06:00:19.769620: Inverter 0 SoC: 1.6kW 10%, current charge rate 5000W, current discharge rate 5250W, current battery power 448W, current battery voltage 51.2V, grid power -55W, load power 515W, PV Power 0W
2026-08-15 06:00:19.769859: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 06:00:19.769973: Inverter 0 scheduled charge enable is False
2026-08-15 06:00:19.770013: Inverter 0 charge windows currently []
2026-08-15 06:00:19.770043: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 06:00:19.770174: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 06:00:19.770213: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 06:00:19.770249: Inverter 0 scheduled discharge enable is False
2026-08-15 06:00:19.770416: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 06:00:19.770460: Inverter 0 discharge windows currently []
2026-08-15 06:00:19.770483: Note: Inverter does not support discharge freeze - disabled
2026-08-15 06:00:19.770529: Note: Inverter does not support charge freeze - disabled
2026-08-15 06:00:19.770549: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 06:00:19.827522: Inverter 0 Charge window will be: 2026-08-15 11:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 10%, target 100%
2026-08-15 06:00:19.827688: Inverter 0 disabled charge window while waiting for schedule (now 08-15 06:00:00 target set_window_minutes 30 charge start time 08-15 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 06:00:19.827828: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 06:00:19.828099: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 06:00:19.828200: No export window planned
2026-08-15 06:00:19.828387: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 06:00:19.828432: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 06:00:19.828614: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 06:00:19.828829: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 06:00:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 06:00:19.828902: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 06:00:19.829028: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 06:00:19.829202: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 06:00:19.829259: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 06:00:19.829318: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 06:00:19.829370: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 06:00:19.829428: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 06:00:19.829490: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 06:00:19.829529: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 06:00:19.829593: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 06:00:19.829627: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 06:00:19.829653: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 06:00:19.829682: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 06:00:19.829708: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 06:00:19.829733: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 06:00:19.829756: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 06:00:19.829781: Inverter 0 count register writes 0
2026-08-15 06:00:19.851188: Total inverter register writes now 815
2026-08-15 06:00:19.885945: Info: Completed run status Demand
2026-08-15 06:00:19.893057: Info: record_status Demand
2026-08-15 06:00:19.899658: Saved current settings to /config/predbat_config.json
2026-08-15 06:00:19.899932: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 06:00:57.004295: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 06:00:57.004519: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 06:00:57.004556: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 06:00:57.004673: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 06:00:57.004706: Note: Inverter does not support discharge freeze - disabled
2026-08-15 06:00:57.004723: Note: Inverter does not support charge freeze - disabled
2026-08-15 06:00:57.004737: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 06:02:57.220607: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 06:02:57.220851: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 06:02:57.220886: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 06:02:57.221065: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 06:02:57.221141: Note: Inverter does not support discharge freeze - disabled
2026-08-15 06:02:57.221166: Note: Inverter does not support charge freeze - disabled
2026-08-15 06:02:57.221184: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 06:04:57.436251: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 06:04:57.436507: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 06:04:57.436543: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 06:04:57.436670: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 06:04:57.436709: Note: Inverter does not support discharge freeze - disabled
2026-08-15 06:04:57.436730: Note: Inverter does not support charge freeze - disabled
2026-08-15 06:04:57.436748: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 06:05:00.521992: --------------- PredBat - update at 2026-08-15 06:05:00+01:00 with clock skew 0 minutes, minutes now 365
2026-08-15 06:05:00.522790: Saved current settings to /config/predbat_config.json
2026-08-15 06:05:00.522919: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 120.0 minutes
2026-08-15 06:05:00.523027: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.1, latest beta is v8.48.1
2026-08-15 06:05:00.523173: Autoupdate: Currently up to date
2026-08-15 06:05:00.543207: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 06:05:00.543335: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 06:05:00.543502: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 06:05:00.544004: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 06:05:00.544142: Predbat mode is set to Control charge & discharge
2026-08-15 06:05:00.741815: Found 21602 load_today datapoints going back 27 days
2026-08-15 06:05:00.742121: Using load_power data to fill gaps in load_today data
2026-08-15 06:05:01.586169: Processing 721 30-minute periods for power integration
2026-08-15 06:05:01.777505: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 06:05:01.777651: Car charging hold False, threshold 6.0kWh
2026-08-15 06:05:01.777722: Current data so far today: load 5.05kWh, import 5.9kWh, export 0.0kWh, PV 0kWh
2026-08-15 06:05:01.793115: Cars: SoC: [12.892000000000001]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 06:05:01.793572: Standing charge is set to 49.98p
2026-08-15 06:05:01.821346: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 06:05:01.821453: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 06:05:01.821701: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 365.0 minutes
2026-08-15 06:05:01.822144: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 364.7 minutes
2026-08-15 06:05:01.825291: Loaded 47 datapoints of futurerate analysis
2026-08-15 06:05:01.909348: Predicted future rates: ['08-15 00:00:00 => 28.9 / 20.01', '08-15 01:00:00 => 27.54 / 19.31', '08-15 02:00:00 => 26.52 / 18.8', '08-15 03:00:00 => 25.99 / 18.53', '08-15 04:00:00 => 25.8 / 18.43', '08-15 05:00:00 => 25.96 / 18.51', '08-15 06:00:00 => 25.55 / 18.3', '08-15 07:00:00 => 24.33 / 17.68', '08-15 08:00:00 => 23.03 / 17.01', '08-15 09:00:00 => 22.05 / 16.51', '08-15 10:00:00 => 20.43 / 15.68', '08-15 11:00:00 => 18.01 / 14.45', '08-15 12:00:00 => 16.37 / 13.61', '08-15 13:00:00 => 15.76 / 13.3', '08-15 14:00:00 => 15.35 / 13.09', '08-15 15:00:00 => 15.86 / 13.35', '08-15 16:00:00 => 32.89 / 16.13', '08-15 17:00:00 => 38.02 / 18.75', '08-15 18:00:00 => 42.36 / 20.96', '08-15 19:00:00 => 31.09 / 21.13', '08-15 20:00:00 => 31.64 / 21.41', '08-15 21:00:00 => 31.64 / 21.41', '08-15 22:00:00 => 30.58 / 20.87']
2026-08-15 06:05:01.971169: Rate min forward looking: now 13.77p at end of forecast 13.77p
2026-08-15 06:05:01.971672: Import rates: min 13.77p, max 43.82p, average 25.96p
2026-08-15 06:05:02.018750: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 06:05:02.018888: Rate thresholds (for charge/export) are import 43.32p (0.0p), export -0.1p (0.0p)
2026-08-15 06:05:02.020222: High export rate found rates in range 99p to -99p
2026-08-15 06:05:02.104550: Low Import rate found rates in range 13.77p to 41.55p
2026-08-15 06:05:02.104687: Car 0 charging is not planned as it is not plugged in
2026-08-15 06:05:02.117212: Battery level now 1.63kWh, -1hr ago 1.55kWh, at midnight 1.66kWh, battery value change in the last hour 0.95p, change today -0.28p, rate_forward 11.83p
2026-08-15 06:05:02.117638: Last hour: net energy 0.1kWh, import 0.1kWh, export 0.0kWh, car 0kWh, load 0.45kWh, net cost 2.63p, import 2.63p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 06:05:02.162521: Today's energy total net 5.9kWh, import 5.9kWh, export 0.0kWh, cost 207.56p, import 157.57p, export 0.0p, carbon 0.0kg
2026-08-15 06:05:02.162636: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 06:05:02.227238: Using weighted-bucket historical load forecast over 14 days
2026-08-15 06:05:02.247969: Today's load divergence 107.44%, in-day adjustment 134.47%, damping 0.95x, yesterday 143.77% today 107.07% blend 74.65%
2026-08-15 06:05:02.248057: Today's predicted so far 3.96kWh with 0.0kWh car/iBoost excluded, 2.49kWh import ignored, and 3.96kWh forecast extra.
2026-08-15 06:05:02.248098: Today's actual load so far 5.21kWh with 0.0kWh car/iBoost excluded, and 2.49kWh import ignored.
2026-08-15 06:05:02.290363: Inverter 0: Type SK Sunsynk
2026-08-15 06:05:02.290449: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 06:05:02.290601: Reserve min: 7%, battery_min: 7%
2026-08-15 06:05:02.290659: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 06:05:02.290875: Inverter 0 SoC: 1.6kW 10%, current charge rate 5000W, current discharge rate 5250W, current battery power 448W, current battery voltage 51.2V, grid power -61W, load power 505W, PV Power 0W
2026-08-15 06:05:02.291029: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 06:05:02.291116: Inverter 0 scheduled charge enable is False
2026-08-15 06:05:02.291141: Inverter 0 charge windows currently []
2026-08-15 06:05:02.291162: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 06:05:02.291248: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 06:05:02.291278: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 06:05:02.291308: Inverter 0 scheduled discharge enable is False
2026-08-15 06:05:02.291450: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 06:05:02.291489: Inverter 0 discharge windows currently []
2026-08-15 06:05:02.291508: Note: Inverter does not support discharge freeze - disabled
2026-08-15 06:05:02.291533: Note: Inverter does not support charge freeze - disabled
2026-08-15 06:05:02.291568: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 06:05:02.343787: Dynamic load last period 0.30kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 06:05:02.343897: Plan was last updated on 2026-08-15 06:00:00+01:00 and is now 5.0 minutes old
2026-08-15 06:05:02.344196: Best charge window [ 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 00:30:00 @ 28.84p 100% ]
2026-08-15 06:05:02.344240: Best export window [  ]
2026-08-15 06:05:02.345132: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 06:05:02.348247: Load divergence over 8.0 hours mean 593.77W, min 269.4W, max 1564.2W, std dev 326.77W, divergence 27.52%
2026-08-15 06:05:02.367002: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 06:05:02.367177: LoadML is_calculating False
2026-08-15 06:05:02.367269: Creating pool of 12 processes to match your CPU count
2026-08-15 06:05:02.494787: predict base end_record 08-16 11:35:00, final soc 1.12kWh, metric 817.57p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 06:45:00, load 27.78kWh, PV 0.0kWh
2026-08-15 06:05:02.629125: Battery has 0.67 hours left - now at 1.6kWh
2026-08-15 06:05:02.674485: predict base10 end_record 08-16 11:35:00, final soc 1.12kWh, metric 844.82p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 06:45:00, load 28.87kWh, PV 0.0kWh
2026-08-15 06:05:02.755516: predict best10 end_record 08-16 11:35:00, final soc 1.44kWh, metric 679.06p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 06:45:00, load 28.87kWh, PV 0.0kWh
2026-08-15 06:05:02.837196: predict best end_record 08-16 11:35:00, final soc 1.51kWh, metric 655.52p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 06:45:00, load 27.78kWh, PV 0.0kWh
2026-08-15 06:05:02.837307: Saving plan best values to HA entities
2026-08-15 06:05:03.009870: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0
2026-08-15 06:05:03.016412: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 06:05:03.022352: Best charging limit SoC's [16.0, 3.5, 4.0, 16.0, 16.0, 16.0]kWh, export []kWh gives import battery 20.9kWh, house 3.92kWh, export 0.0kWh, metric 655.52p, metric10 679.06p
2026-08-15 06:05:03.101391: Marginal costs baseline metric (no standing charge): 605.5338
2026-08-15 06:05:03.374527: Marginal energy costs matrix computed: min=14.21 max=33.32
2026-08-15 06:05:03.454441: Rate array import [{'start': 365, 'end': 420, 'rate': 'expensive', 'range': '(25.7p - 27.6p)'}, {'start': 420, 'end': 450, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 450, 'end': 480, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 480, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 23.6p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1860, 'rate': 'expensive', 'range': '(24.6p - 32.9p)'}, {'start': 1860, 'end': 1890, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 1890, 'end': 1920, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 1920, 'end': 2135, 'rate': 'cheap', 'range': '(15.5p - 23.6p)'}] export [{'start': 365, 'end': 2135, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 06:05:03.455138: - Your estimated bill for today is £5.89 and tomorrow is £5.39
2026-08-15 06:05:03.455186: - Import rates are expensive (25.7p - 27.6p) for the next 55 minutes and then cheap (22.7p) for the next 30 minutes.
2026-08-15 06:05:03.455208: - The battery is currently at 10% and is in eco mode for the next 5 and a half hours.
2026-08-15 06:05:03.455227: - For the next 48 hours there will be no solar generation.
2026-08-15 06:05:03.455244: - You will run out of battery in 40 minutes.
2026-08-15 06:05:03.455262: - Your next charge slot will be in 5 and a half hours where import rates will be cheap (15.5p).
2026-08-15 06:05:03.455279: 
2026-08-15 06:05:03.516229: Plan calculation took 1.17 seconds
2026-08-15 06:05:03.519661: No high rate period found
2026-08-15 06:05:03.576619: Import threshold used for optimisation was 22.73p
2026-08-15 06:05:03.636491: Low import rate windows [0: 08-15 06:00:00 - 08-15 06:30:00 @ 25.7, 1: 08-15 06:30:00 - 08-15 07:00:00 @ 27.63, 2: 08-15 07:00:00 - 08-15 07:30:00 @ 22.73, 3: 08-15 07:30:00 - 08-15 08:00:00 @ 26.7, 4: 08-15 08:00:00 - 08-15 08:30:00 @ 22.92, 5: 08-15 08:30:00 - 08-15 09:00:00 @ 22.48, 6: 08-15 09:00:00 - 08-15 09:30:00 @ 23.55, 7: 08-15 09:30:00 - 08-15 10:00:00 @ 23.64, 8: 08-15 10:00:00 - 08-15 10:30:00 @ 19.66, 9: 08-15 10:30:00 - 08-15 11:00:00 @ 17.66, 10: 08-15 11:00:00 - 08-15 11:30:00 @ 16.56, 11: 08-15 11:30:00 - 08-15 12:00:00 @ 15.46, 12: 08-15 12:00:00 - 08-15 12:30:00 @ 17.0, 13: 08-15 12:30:00 - 08-15 13:00:00 @ 16.34, 14: 08-15 13:00:00 - 08-15 13:30:00 @ 15.36, 15: 08-15 13:30:00 - 08-15 14:00:00 @ 15.74, 16: 08-15 14:00:00 - 08-15 14:30:00 @ 14.57, 17: 08-15 14:30:00 - 08-15 15:00:00 @ 13.77, 18: 08-15 15:00:00 - 08-15 15:30:00 @ 15.02, 19: 08-15 15:30:00 - 08-15 16:00:00 @ 15.87, 20: 08-15 16:00:00 - 08-15 16:30:00 @ 33.13, 21: 08-15 16:30:00 - 08-15 17:00:00 @ 33.13, 22: 08-15 17:00:00 - 08-15 17:30:00 @ 38.46, 23: 08-15 17:30:00 - 08-15 18:00:00 @ 40.44, 24: 08-15 18:00:00 - 08-15 18:30:00 @ 41.55, 25: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 26: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 27: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 28: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 29: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 30: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 31: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 32: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 33: 08-15 23:00:00 - 08-15 23:30:00 @ 27.8, 34: 08-15 23:30:00 - 08-16 00:00:00 @ 29.09, 35: 08-16 00:00:00 - 08-16 00:30:00 @ 28.47, 36: 08-16 00:30:00 - 08-16 01:00:00 @ 27.18, 37: 08-16 01:00:00 - 08-16 01:30:00 @ 27.57, 38: 08-16 01:30:00 - 08-16 02:00:00 @ 26.5, 39: 08-16 02:00:00 - 08-16 02:30:00 @ 25.6, 40: 08-16 02:30:00 - 08-16 03:00:00 @ 24.79, 41: 08-16 03:00:00 - 08-16 03:30:00 @ 25.08, 42: 08-16 03:30:00 - 08-16 04:00:00 @ 24.62, 43: 08-16 04:00:00 - 08-16 04:30:00 @ 27.02, 44: 08-16 04:30:00 - 08-16 05:00:00 @ 26.47, 45: 08-16 05:00:00 - 08-16 05:30:00 @ 26.25, 46: 08-16 05:30:00 - 08-16 06:00:00 @ 26.4, 47: 08-16 06:00:00 - 08-16 06:30:00 @ 25.7, 48: 08-16 06:30:00 - 08-16 07:00:00 @ 27.63, 49: 08-16 07:00:00 - 08-16 07:30:00 @ 22.73, 50: 08-16 07:30:00 - 08-16 08:00:00 @ 26.7, 51: 08-16 08:00:00 - 08-16 08:30:00 @ 22.92, 52: 08-16 08:30:00 - 08-16 09:00:00 @ 22.48, 53: 08-16 09:00:00 - 08-16 09:30:00 @ 23.55, 54: 08-16 09:30:00 - 08-16 10:00:00 @ 23.64, 55: 08-16 10:00:00 - 08-16 10:30:00 @ 19.66, 56: 08-16 10:30:00 - 08-16 11:00:00 @ 17.66, 57: 08-16 11:00:00 - 08-16 11:30:00 @ 16.56, 58: 08-16 11:30:00 - 08-16 12:00:00 @ 15.46, 59: 08-16 12:00:00 - 08-16 12:30:00 @ 17.0, 60: 08-16 12:30:00 - 08-16 13:00:00 @ 16.34, 61: 08-16 13:00:00 - 08-16 13:30:00 @ 15.36, 62: 08-16 13:30:00 - 08-16 14:00:00 @ 15.74, 63: 08-16 14:00:00 - 08-16 14:30:00 @ 14.57, 64: 08-16 14:30:00 - 08-16 15:00:00 @ 13.77, 65: 08-16 15:00:00 - 08-16 15:30:00 @ 15.02, 66: 08-16 15:30:00 - 08-16 16:00:00 @ 15.87, 67: 08-16 16:00:00 - 08-16 16:30:00 @ 33.13, 68: 08-16 16:30:00 - 08-16 17:00:00 @ 33.13, 69: 08-16 17:00:00 - 08-16 17:30:00 @ 38.46, 70: 08-16 17:30:00 - 08-16 18:00:00 @ 40.44, 71: 08-16 18:00:00 - 08-16 18:30:00 @ 41.55, 72: 08-16 19:00:00 - 08-16 19:30:00 @ 32.58, 73: 08-16 19:30:00 - 08-16 20:00:00 @ 32.9, 74: 08-16 20:00:00 - 08-16 20:30:00 @ 31.99, 75: 08-16 20:30:00 - 08-16 21:00:00 @ 32.1, 76: 08-16 21:00:00 - 08-16 21:30:00 @ 31.71, 77: 08-16 21:30:00 - 08-16 22:00:00 @ 31.67, 78: 08-16 22:00:00 - 08-16 22:30:00 @ 31.77, 79: 08-16 22:30:00 - 08-16 23:00:00 @ 29.81, 80: 08-16 23:00:00 - 08-16 23:30:00 @ 27.8, 81: 08-16 23:30:00 - 08-17 00:00:00 @ 29.09, 82: 08-17 00:00:00 - 08-17 00:30:00 @ 28.47, 83: 08-17 00:30:00 - 08-17 01:00:00 @ 27.18, 84: 08-17 01:00:00 - 08-17 01:30:00 @ 27.57, 85: 08-17 01:30:00 - 08-17 02:00:00 @ 26.5, 86: 08-17 02:00:00 - 08-17 02:30:00 @ 25.6, 87: 08-17 02:30:00 - 08-17 03:00:00 @ 24.79, 88: 08-17 03:00:00 - 08-17 03:30:00 @ 25.08, 89: 08-17 03:30:00 - 08-17 04:00:00 @ 24.62, 90: 08-17 04:00:00 - 08-17 04:30:00 @ 27.02, 91: 08-17 04:30:00 - 08-17 05:00:00 @ 26.47, 92: 08-17 05:00:00 - 08-17 05:30:00 @ 26.25, 93: 08-17 05:30:00 - 08-17 06:00:00 @ 26.4, 94: 08-17 06:00:00 - 08-17 06:30:00 @ 25.7]
2026-08-15 06:05:03.653680: Inverter 0 Charge window will be: 2026-08-15 11:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 10%, target 100%
2026-08-15 06:05:03.653880: Inverter 0 disabled charge window while waiting for schedule (now 08-15 06:05:00 target set_window_minutes 30 charge start time 08-15 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 06:05:03.654141: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 06:05:03.654508: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 06:05:03.654614: No export window planned
2026-08-15 06:05:03.654753: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 06:05:03.654806: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 06:05:03.654942: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 06:05:03.655290: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 06:05:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 06:05:03.655370: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 06:05:03.655440: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 06:05:03.655529: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 06:05:03.655573: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 06:05:03.655601: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 06:05:03.655631: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 06:05:03.655657: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 06:05:03.655685: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 06:05:03.655711: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 06:05:03.655798: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 06:05:03.655836: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 06:05:03.655862: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 06:05:03.655886: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 06:05:03.655909: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 06:05:03.655938: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 06:05:03.655963: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 06:05:03.655984: Inverter 0 count register writes 0
2026-08-15 06:05:03.674747: Will not recompute the plan, it is 5.0 minutes old and max age is 10 minutes
2026-08-15 06:05:03.680720: Total inverter register writes now 815
2026-08-15 06:05:03.715948: Info: Completed run status Demand
2026-08-15 06:05:03.724372: Info: record_status Demand
2026-08-15 06:05:03.732262: Saved current settings to /config/predbat_config.json
2026-08-15 06:05:03.732616: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 06:05:41.847646: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 06:05:41.847924: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 06:05:41.848031: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 06:05:41.848285: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 06:05:41.848370: Note: Inverter does not support discharge freeze - disabled
2026-08-15 06:05:41.848425: Note: Inverter does not support charge freeze - disabled
2026-08-15 06:05:41.848462: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 06:07:56.718759: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 06:07:56.718997: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 06:07:56.719034: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 06:07:56.719217: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 06:07:56.719258: Note: Inverter does not support discharge freeze - disabled
2026-08-15 06:07:56.719279: Note: Inverter does not support charge freeze - disabled
2026-08-15 06:07:56.719296: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 06:09:56.936730: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 06:09:56.937106: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 06:09:56.937171: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 06:09:56.937419: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 06:09:56.937469: Note: Inverter does not support discharge freeze - disabled
2026-08-15 06:09:56.937498: Note: Inverter does not support charge freeze - disabled
2026-08-15 06:09:56.937535: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 06:10:00.021054: --------------- PredBat - update at 2026-08-15 06:10:00+01:00 with clock skew 0 minutes, minutes now 370
2026-08-15 06:10:00.021820: Saved current settings to /config/predbat_config.json
2026-08-15 06:10:00.454992: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.1, latest beta is v8.48.1
2026-08-15 06:10:00.455133: Autoupdate: Currently up to date
2026-08-15 06:10:00.473672: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 06:10:00.473806: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 06:10:00.474068: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 06:10:00.474697: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 06:10:00.474825: Predbat mode is set to Control charge & discharge
2026-08-15 06:10:00.650461: Found 21602 load_today datapoints going back 28 days
2026-08-15 06:10:00.650597: Using load_power data to fill gaps in load_today data
2026-08-15 06:10:01.348082: Processing 721 30-minute periods for power integration
2026-08-15 06:10:01.507005: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 06:10:01.507120: Car charging hold False, threshold 6.0kWh
2026-08-15 06:10:01.507157: Current data so far today: load 5.15kWh, import 5.9kWh, export 0.0kWh, PV 0kWh
2026-08-15 06:10:01.518695: Cars: SoC: [12.892000000000001]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 06:10:01.519025: Standing charge is set to 49.98p
2026-08-15 06:10:01.546190: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 06:10:01.546286: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 06:10:01.546455: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 370.0 minutes
2026-08-15 06:10:01.546794: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 369.6 minutes
2026-08-15 06:10:01.549158: Loaded 47 datapoints of futurerate analysis
2026-08-15 06:10:01.618036: Predicted future rates: ['08-15 00:00:00 => 28.9 / 20.01', '08-15 01:00:00 => 27.54 / 19.31', '08-15 02:00:00 => 26.52 / 18.8', '08-15 03:00:00 => 25.99 / 18.53', '08-15 04:00:00 => 25.8 / 18.43', '08-15 05:00:00 => 25.96 / 18.51', '08-15 06:00:00 => 25.55 / 18.3', '08-15 07:00:00 => 24.33 / 17.68', '08-15 08:00:00 => 23.03 / 17.01', '08-15 09:00:00 => 22.05 / 16.51', '08-15 10:00:00 => 20.43 / 15.68', '08-15 11:00:00 => 18.01 / 14.45', '08-15 12:00:00 => 16.37 / 13.61', '08-15 13:00:00 => 15.76 / 13.3', '08-15 14:00:00 => 15.35 / 13.09', '08-15 15:00:00 => 15.86 / 13.35', '08-15 16:00:00 => 32.89 / 16.13', '08-15 17:00:00 => 38.02 / 18.75', '08-15 18:00:00 => 42.36 / 20.96', '08-15 19:00:00 => 31.09 / 21.13', '08-15 20:00:00 => 31.64 / 21.41', '08-15 21:00:00 => 31.64 / 21.41', '08-15 22:00:00 => 30.58 / 20.87']
2026-08-15 06:10:01.667088: Rate min forward looking: now 13.77p at end of forecast 13.77p
2026-08-15 06:10:01.667461: Import rates: min 13.77p, max 43.82p, average 25.96p
2026-08-15 06:10:01.702795: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 06:10:01.702929: Rate thresholds (for charge/export) are import 43.32p (0.0p), export -0.1p (0.0p)
2026-08-15 06:10:01.704040: High export rate found rates in range 99p to -99p
2026-08-15 06:10:01.771420: Low Import rate found rates in range 13.77p to 41.55p
2026-08-15 06:10:01.771534: Car 0 charging is not planned as it is not plugged in
2026-08-15 06:10:01.782254: Battery level now 1.6kWh, -1hr ago 2.08kWh, at midnight 1.66kWh, battery value change in the last hour -5.68p, change today -0.66p, rate_forward 11.83p
2026-08-15 06:10:01.782623: Last hour: net energy 0.05kWh, import 0.05kWh, export 0.0kWh, car 0kWh, load 0.5kWh, net cost 1.31p, import 1.31p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 06:10:01.842038: Today's energy total net 5.9kWh, import 5.9kWh, export 0.0kWh, cost 207.56p, import 157.57p, export 0.0p, carbon 0.0kg
2026-08-15 06:10:01.842169: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 06:10:01.915813: Using weighted-bucket historical load forecast over 14 days
2026-08-15 06:10:01.937547: Today's load divergence 107.65%, in-day adjustment 134.39%, damping 0.95x, yesterday 143.77% today 107.27% blend 74.31%
2026-08-15 06:10:01.937642: Today's predicted so far 3.96kWh with 0.0kWh car/iBoost excluded, 2.54kWh import ignored, and 3.96kWh forecast extra.
2026-08-15 06:10:01.937670: Today's actual load so far 5.25kWh with 0.0kWh car/iBoost excluded, and 2.54kWh import ignored.
2026-08-15 06:10:01.978234: Inverter 0: Type SK Sunsynk
2026-08-15 06:10:01.978341: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 06:10:01.978544: Reserve min: 7%, battery_min: 7%
2026-08-15 06:10:01.978640: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 06:10:01.978939: Inverter 0 SoC: 1.6kW 10%, current charge rate 5000W, current discharge rate 5250W, current battery power 421W, current battery voltage 51.2V, grid power -52W, load power 476W, PV Power 0W
2026-08-15 06:10:01.979096: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 06:10:01.979203: Inverter 0 scheduled charge enable is False
2026-08-15 06:10:01.979243: Inverter 0 charge windows currently []
2026-08-15 06:10:01.979284: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 06:10:01.979437: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 06:10:01.979475: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 06:10:01.979512: Inverter 0 scheduled discharge enable is False
2026-08-15 06:10:01.979645: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 06:10:01.979683: Inverter 0 discharge windows currently []
2026-08-15 06:10:01.979705: Note: Inverter does not support discharge freeze - disabled
2026-08-15 06:10:01.979725: Note: Inverter does not support charge freeze - disabled
2026-08-15 06:10:01.979742: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 06:10:02.076576: Dynamic load last period 0.60kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 06:10:02.076695: Plan was last updated on 2026-08-15 06:00:00+01:00 and is now 10.0 minutes old
2026-08-15 06:10:02.077075: Best charge window [ 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 00:30:00 @ 28.84p 100% ]
2026-08-15 06:10:02.077154: Best export window [  ]
2026-08-15 06:10:02.078065: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 06:10:02.081262: Load divergence over 8.0 hours mean 593.4W, min 268.2W, max 1657.2W, std dev 328.37W, divergence 27.67%
2026-08-15 06:10:02.101085: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 06:10:02.101215: LoadML is_calculating False
2026-08-15 06:10:02.101294: Creating pool of 12 processes to match your CPU count
2026-08-15 06:10:02.226220: predict base end_record 08-16 11:40:00, final soc 1.12kWh, metric 818.35p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 06:50:00, load 27.96kWh, PV 0.0kWh
2026-08-15 06:10:02.365015: Battery has 0.67 hours left - now at 1.6kWh
2026-08-15 06:10:02.412106: predict base10 end_record 08-16 11:40:00, final soc 1.12kWh, metric 845.6p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 06:50:00, load 29.04kWh, PV 0.0kWh
2026-08-15 06:10:02.494452: predict best10 end_record 08-16 11:40:00, final soc 1.77kWh, metric 685.1p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 06:50:00, load 29.04kWh, PV 0.0kWh
2026-08-15 06:10:02.579945: predict best end_record 08-16 11:40:00, final soc 1.9kWh, metric 662.45p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 06:50:00, load 27.96kWh, PV 0.0kWh
2026-08-15 06:10:02.580032: Saving plan best values to HA entities
2026-08-15 06:10:02.759212: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 06:10:02.764367: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 06:10:02.769571: Best charging limit SoC's [16.0, 3.5, 4.0, 16.0, 16.0, 16.0]kWh, export []kWh gives import battery 21.41kWh, house 3.91kWh, export 0.0kWh, metric 662.45p, metric10 685.1p
2026-08-15 06:10:02.836176: Marginal costs baseline metric (no standing charge): 612.469
2026-08-15 06:10:03.050511: Marginal energy costs matrix computed: min=14.24 max=32.94
2026-08-15 06:10:03.140778: Rate array import [{'start': 370, 'end': 420, 'rate': 'expensive', 'range': '(25.7p - 27.6p)'}, {'start': 420, 'end': 450, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 450, 'end': 480, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 480, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 23.6p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1860, 'rate': 'expensive', 'range': '(24.6p - 32.9p)'}, {'start': 1860, 'end': 1890, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 1890, 'end': 1920, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 1920, 'end': 2140, 'rate': 'cheap', 'range': '(15.5p - 23.6p)'}] export [{'start': 370, 'end': 2140, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 06:10:03.141388: - Your estimated bill for today is £5.87 and tomorrow is £5.41
2026-08-15 06:10:03.141431: - Import rates are expensive (25.7p - 27.6p) for the next 50 minutes and then cheap (22.7p) for the next 30 minutes.
2026-08-15 06:10:03.141450: - The battery is currently at 10% and is in eco mode for the next 5 and a quarter hours.
2026-08-15 06:10:03.141465: - For the next 48 hours there will be no solar generation.
2026-08-15 06:10:03.141479: - You will run out of battery in 40 minutes.
2026-08-15 06:10:03.141498: - Your next charge slot will be in 5 and a quarter hours where import rates will be cheap (15.5p).
2026-08-15 06:10:03.141512: 
2026-08-15 06:10:03.202027: Plan calculation took 1.13 seconds
2026-08-15 06:10:03.205566: No high rate period found
2026-08-15 06:10:03.256152: Import threshold used for optimisation was 22.73p
2026-08-15 06:10:03.309875: Low import rate windows [0: 08-15 06:00:00 - 08-15 06:30:00 @ 25.7, 1: 08-15 06:30:00 - 08-15 07:00:00 @ 27.63, 2: 08-15 07:00:00 - 08-15 07:30:00 @ 22.73, 3: 08-15 07:30:00 - 08-15 08:00:00 @ 26.7, 4: 08-15 08:00:00 - 08-15 08:30:00 @ 22.92, 5: 08-15 08:30:00 - 08-15 09:00:00 @ 22.48, 6: 08-15 09:00:00 - 08-15 09:30:00 @ 23.55, 7: 08-15 09:30:00 - 08-15 10:00:00 @ 23.64, 8: 08-15 10:00:00 - 08-15 10:30:00 @ 19.66, 9: 08-15 10:30:00 - 08-15 11:00:00 @ 17.66, 10: 08-15 11:00:00 - 08-15 11:30:00 @ 16.56, 11: 08-15 11:30:00 - 08-15 12:00:00 @ 15.46, 12: 08-15 12:00:00 - 08-15 12:30:00 @ 17.0, 13: 08-15 12:30:00 - 08-15 13:00:00 @ 16.34, 14: 08-15 13:00:00 - 08-15 13:30:00 @ 15.36, 15: 08-15 13:30:00 - 08-15 14:00:00 @ 15.74, 16: 08-15 14:00:00 - 08-15 14:30:00 @ 14.57, 17: 08-15 14:30:00 - 08-15 15:00:00 @ 13.77, 18: 08-15 15:00:00 - 08-15 15:30:00 @ 15.02, 19: 08-15 15:30:00 - 08-15 16:00:00 @ 15.87, 20: 08-15 16:00:00 - 08-15 16:30:00 @ 33.13, 21: 08-15 16:30:00 - 08-15 17:00:00 @ 33.13, 22: 08-15 17:00:00 - 08-15 17:30:00 @ 38.46, 23: 08-15 17:30:00 - 08-15 18:00:00 @ 40.44, 24: 08-15 18:00:00 - 08-15 18:30:00 @ 41.55, 25: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 26: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 27: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 28: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 29: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 30: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 31: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 32: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 33: 08-15 23:00:00 - 08-15 23:30:00 @ 27.8, 34: 08-15 23:30:00 - 08-16 00:00:00 @ 29.09, 35: 08-16 00:00:00 - 08-16 00:30:00 @ 28.47, 36: 08-16 00:30:00 - 08-16 01:00:00 @ 27.18, 37: 08-16 01:00:00 - 08-16 01:30:00 @ 27.57, 38: 08-16 01:30:00 - 08-16 02:00:00 @ 26.5, 39: 08-16 02:00:00 - 08-16 02:30:00 @ 25.6, 40: 08-16 02:30:00 - 08-16 03:00:00 @ 24.79, 41: 08-16 03:00:00 - 08-16 03:30:00 @ 25.08, 42: 08-16 03:30:00 - 08-16 04:00:00 @ 24.62, 43: 08-16 04:00:00 - 08-16 04:30:00 @ 27.02, 44: 08-16 04:30:00 - 08-16 05:00:00 @ 26.47, 45: 08-16 05:00:00 - 08-16 05:30:00 @ 26.25, 46: 08-16 05:30:00 - 08-16 06:00:00 @ 26.4, 47: 08-16 06:00:00 - 08-16 06:30:00 @ 25.7, 48: 08-16 06:30:00 - 08-16 07:00:00 @ 27.63, 49: 08-16 07:00:00 - 08-16 07:30:00 @ 22.73, 50: 08-16 07:30:00 - 08-16 08:00:00 @ 26.7, 51: 08-16 08:00:00 - 08-16 08:30:00 @ 22.92, 52: 08-16 08:30:00 - 08-16 09:00:00 @ 22.48, 53: 08-16 09:00:00 - 08-16 09:30:00 @ 23.55, 54: 08-16 09:30:00 - 08-16 10:00:00 @ 23.64, 55: 08-16 10:00:00 - 08-16 10:30:00 @ 19.66, 56: 08-16 10:30:00 - 08-16 11:00:00 @ 17.66, 57: 08-16 11:00:00 - 08-16 11:30:00 @ 16.56, 58: 08-16 11:30:00 - 08-16 12:00:00 @ 15.46, 59: 08-16 12:00:00 - 08-16 12:30:00 @ 17.0, 60: 08-16 12:30:00 - 08-16 13:00:00 @ 16.34, 61: 08-16 13:00:00 - 08-16 13:30:00 @ 15.36, 62: 08-16 13:30:00 - 08-16 14:00:00 @ 15.74, 63: 08-16 14:00:00 - 08-16 14:30:00 @ 14.57, 64: 08-16 14:30:00 - 08-16 15:00:00 @ 13.77, 65: 08-16 15:00:00 - 08-16 15:30:00 @ 15.02, 66: 08-16 15:30:00 - 08-16 16:00:00 @ 15.87, 67: 08-16 16:00:00 - 08-16 16:30:00 @ 33.13, 68: 08-16 16:30:00 - 08-16 17:00:00 @ 33.13, 69: 08-16 17:00:00 - 08-16 17:30:00 @ 38.46, 70: 08-16 17:30:00 - 08-16 18:00:00 @ 40.44, 71: 08-16 18:00:00 - 08-16 18:30:00 @ 41.55, 72: 08-16 19:00:00 - 08-16 19:30:00 @ 32.58, 73: 08-16 19:30:00 - 08-16 20:00:00 @ 32.9, 74: 08-16 20:00:00 - 08-16 20:30:00 @ 31.99, 75: 08-16 20:30:00 - 08-16 21:00:00 @ 32.1, 76: 08-16 21:00:00 - 08-16 21:30:00 @ 31.71, 77: 08-16 21:30:00 - 08-16 22:00:00 @ 31.67, 78: 08-16 22:00:00 - 08-16 22:30:00 @ 31.77, 79: 08-16 22:30:00 - 08-16 23:00:00 @ 29.81, 80: 08-16 23:00:00 - 08-16 23:30:00 @ 27.8, 81: 08-16 23:30:00 - 08-17 00:00:00 @ 29.09, 82: 08-17 00:00:00 - 08-17 00:30:00 @ 28.47, 83: 08-17 00:30:00 - 08-17 01:00:00 @ 27.18, 84: 08-17 01:00:00 - 08-17 01:30:00 @ 27.57, 85: 08-17 01:30:00 - 08-17 02:00:00 @ 26.5, 86: 08-17 02:00:00 - 08-17 02:30:00 @ 25.6, 87: 08-17 02:30:00 - 08-17 03:00:00 @ 24.79, 88: 08-17 03:00:00 - 08-17 03:30:00 @ 25.08, 89: 08-17 03:30:00 - 08-17 04:00:00 @ 24.62, 90: 08-17 04:00:00 - 08-17 04:30:00 @ 27.02, 91: 08-17 04:30:00 - 08-17 05:00:00 @ 26.47, 92: 08-17 05:00:00 - 08-17 05:30:00 @ 26.25, 93: 08-17 05:30:00 - 08-17 06:00:00 @ 26.4, 94: 08-17 06:00:00 - 08-17 06:30:00 @ 25.7]
2026-08-15 06:10:03.316191: Inverter 0 Charge window will be: 2026-08-15 11:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 10%, target 100%
2026-08-15 06:10:03.316337: Inverter 0 disabled charge window while waiting for schedule (now 08-15 06:10:00 target set_window_minutes 30 charge start time 08-15 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 06:10:03.316453: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 06:10:03.316730: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 06:10:03.316827: No export window planned
2026-08-15 06:10:03.316944: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 06:10:03.317062: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 06:10:03.317210: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 06:10:03.317410: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 06:10:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 06:10:03.317475: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 06:10:03.317535: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 06:10:03.317621: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 06:10:03.317658: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 06:10:03.317693: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 06:10:03.317720: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 06:10:03.317750: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 06:10:03.317774: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 06:10:03.317797: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 06:10:03.317859: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 06:10:03.317895: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 06:10:03.317920: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 06:10:03.317944: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 06:10:03.317969: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 06:10:03.317994: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 06:10:03.318018: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 06:10:03.318039: Inverter 0 count register writes 0
2026-08-15 06:10:03.333998: Will recompute the plan as it is now 10.0 minutes old and will exceed the max age of 10 minutes before the next run
2026-08-15 06:10:03.334192: Recompute is saving previous plan...
2026-08-15 06:10:03.337609: Best charge window [ 15-08 06:00:00 - 15-08 06:30:00 @ 25.7p 0%, 15-08 06:30:00 - 15-08 07:00:00 @ 27.63p 0%, 15-08 07:00:00 - 15-08 07:30:00 @ 22.73p 0%, 15-08 07:30:00 - 15-08 08:00:00 @ 26.7p 0%, 15-08 08:00:00 - 15-08 08:30:00 @ 22.92p 0%, 15-08 08:30:00 - 15-08 09:00:00 @ 22.48p 0%, 15-08 09:00:00 - 15-08 09:30:00 @ 23.55p 0%, 15-08 09:30:00 - 15-08 10:00:00 @ 23.64p 0%, 15-08 10:00:00 - 15-08 10:30:00 @ 19.66p 0%, 15-08 10:30:00 - 15-08 11:00:00 @ 17.66p 0%, 15-08 11:00:00 - 15-08 11:30:00 @ 16.56p 0%, 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 0%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 0%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 0%, 15-08 13:00:00 - 15-08 13:30:00 @ 15.36p 0%, 15-08 13:30:00 - 15-08 14:00:00 @ 15.74p 0%, 15-08 14:00:00 - 15-08 14:30:00 @ 14.57p 0%, 15-08 14:30:00 - 15-08 15:00:00 @ 13.77p 0%, 15-08 15:00:00 - 15-08 15:30:00 @ 15.02p 0%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 0%, 15-08 16:00:00 - 15-08 16:30:00 @ 33.13p 0%, 15-08 16:30:00 - 15-08 17:00:00 @ 33.13p 0%, 15-08 17:00:00 - 15-08 17:30:00 @ 38.46p 0%, 15-08 17:30:00 - 15-08 18:00:00 @ 40.44p 0%, 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 0%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 0%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 0%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 0%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 0%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 27.8p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 29.09p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.47p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.18p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 27.57p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.5p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.6p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 24.79p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 25.08p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 24.62p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 27.02p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.47p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 26.25p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.4p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.7p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 27.63p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 22.73p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 26.7p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 22.92p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 22.48p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 23.55p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 23.64p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 19.66p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 17.66p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 16.56p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 15.46p 0%, 16-08 12:00:00 - 16-08 12:30:00 @ 17.0p 0%, 16-08 12:30:00 - 16-08 13:00:00 @ 16.34p 0%, 16-08 13:00:00 - 16-08 13:30:00 @ 15.36p 0%, 16-08 13:30:00 - 16-08 14:00:00 @ 15.74p 0%, 16-08 14:00:00 - 16-08 14:30:00 @ 14.57p 0%, 16-08 14:30:00 - 16-08 15:00:00 @ 13.77p 0%, 16-08 15:00:00 - 16-08 15:30:00 @ 15.02p 0%, 16-08 15:30:00 - 16-08 16:00:00 @ 15.87p 0%, 16-08 16:00:00 - 16-08 16:30:00 @ 33.13p 0%, 16-08 16:30:00 - 16-08 17:00:00 @ 33.13p 0%, 16-08 17:00:00 - 16-08 17:30:00 @ 38.46p 0%, 16-08 17:30:00 - 16-08 18:00:00 @ 40.44p 0%, 16-08 18:00:00 - 16-08 18:30:00 @ 41.55p 0%, 16-08 19:00:00 - 16-08 19:30:00 @ 32.58p 0%, 16-08 19:30:00 - 16-08 20:00:00 @ 32.9p 0%, 16-08 20:00:00 - 16-08 20:30:00 @ 31.99p 0%, 16-08 20:30:00 - 16-08 21:00:00 @ 32.1p 0%, 16-08 21:00:00 - 16-08 21:30:00 @ 31.71p 0%, 16-08 21:30:00 - 16-08 22:00:00 @ 31.67p 0%, 16-08 22:00:00 - 16-08 22:30:00 @ 31.77p 0%, 16-08 22:30:00 - 16-08 23:00:00 @ 29.81p 0%, 16-08 23:00:00 - 16-08 23:30:00 @ 27.8p 0%, 16-08 23:30:00 - 17-08 00:00:00 @ 29.09p 0%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.47p 0%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.18p 0%, 17-08 01:00:00 - 17-08 01:30:00 @ 27.57p 0%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.5p 0%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.6p 0%, 17-08 02:30:00 - 17-08 03:00:00 @ 24.79p 0%, 17-08 03:00:00 - 17-08 03:30:00 @ 25.08p 0%, 17-08 03:30:00 - 17-08 04:00:00 @ 24.62p 0%, 17-08 04:00:00 - 17-08 04:30:00 @ 27.02p 0%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.47p 0%, 17-08 05:00:00 - 17-08 05:30:00 @ 26.25p 0%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.4p 0%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.7p 0% ]
2026-08-15 06:10:03.337724: Best export window [  ]
2026-08-15 06:10:03.338625: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 06:10:03.341840: Load divergence over 8.0 hours mean 593.4W, min 268.2W, max 1657.2W, std dev 328.37W, divergence 27.67%
2026-08-15 06:10:03.361770: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 06:10:03.361894: LoadML is_calculating False
2026-08-15 06:10:03.361963: Creating pool of 12 processes to match your CPU count
2026-08-15 06:10:03.445197: Calculate Best options: mode(Control charge & discharge), calculate_export_oncharge(False), calculate_export_on_pv(True), set_export_freeze_only(False), set_discharge_during_charge(True), combine_charge_slots(False), combine_export_slots(False), combine_rate_threshold(0.0), best_soc_min(0.0 kWh), best_soc_max(0.0 kWh), best_soc_keep(0.0 kWh), inverter_loss(4%), battery_loss(3%), battery_loss_discharge (3%), inverter_hybrid(True), metric_min_improvement(0.0p), metric_min_improvement_export(0.1p), metric_min_improvement_export_freeze(0.1p), metric_battery_cycle(0.0p/kWh), metric_battery_value_scaling(1.0 x) 
2026-08-15 06:10:03.447542: Optimise levels pass started at 2026-08-15 06:10:03
2026-08-15 06:10:03.447603: Optimise all windows, total charge 94 export 1
2026-08-15 06:10:04.491801: >> Region optimisation pass width 960 gives best_metric 815.52p, best_cost 820.97p, best_cycle 54.7kWh, best_import 38.97kWh
2026-08-15 06:10:04.893193: >> Region optimisation pass width 480 gives best_metric 815.52p, best_cost 820.97p, best_cycle 54.7kWh, best_import 38.97kWh
2026-08-15 06:10:05.377046: >> Region optimisation pass width 240 gives best_metric 815.52p, best_cost 820.97p, best_cycle 54.7kWh, best_import 38.97kWh
2026-08-15 06:10:06.452297: >> Region optimisation pass width 120 gives best_metric 815.52p, best_cost 820.97p, best_cycle 54.7kWh, best_import 38.97kWh
2026-08-15 06:10:06.452643: Calculated end_record as 08-16 11:30:00 based on best_price 16.34p, next_charge_start 08-15 11:30:00, max_windows 58
2026-08-15 06:10:06.452708: Optimise levels pass ended at 2026-08-15 06:10:06, duration 3.0 seconds tried 320 combinations
2026-08-15 06:10:06.452761: Set best_price_charge_level 17.6p, best_price_export_level 0p, best_price_charge 16.34p, best_cost_export 0p, best_metric 815.52p, best_keep 0kWh, best_cycle 54.7kWh, best_carbon 0kg, best_import 38.97kWh
2026-08-15 06:10:06.469653: Starting detailed optimisation end_record 08-16 11:30:00, best_price_charge 16.34p, best_price_export 0p. lowest_price_charge 13.77p with charge limits [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0]kWh and export limits []kWh
2026-08-15 06:10:10.892305: Tweak plan optimisation started metric 587.0p, cost 596.6p
2026-08-15 06:10:11.165766: Tweak optimisation finished metric 587.0p, cost 596.6p, metric_keep 0kWh, cycle 30.24kWh, carbon 0kg, import 24.29kWh, changed 8 window(s)
2026-08-15 06:10:11.187472: Swap charge optimisation started metric 587.0p, cost 596.6p, min_improvement_swap 0.1p
2026-08-15 06:10:16.163883: Swap charge optimisation finished metric 587.0p, cost 596.6p
2026-08-15 06:10:16.266787: Pruned 2 dead plan slot(s) in 11 trial(s), nominal metric 583.35p -> 583.35p, plan now metric 587.05p, cost 596.6p, cycle 30.24kWh, import 24.29kWh
2026-08-15 06:10:16.276320: Raw charge windows [ 15-08 06:00:00 - 15-08 06:30:00 @ 25.7p 0%, 15-08 06:30:00 - 15-08 07:00:00 @ 27.63p 0%, 15-08 07:00:00 - 15-08 07:30:00 @ 22.73p 0%, 15-08 07:30:00 - 15-08 08:00:00 @ 26.7p 0%, 15-08 08:00:00 - 15-08 08:30:00 @ 22.92p 0%, 15-08 08:30:00 - 15-08 09:00:00 @ 22.48p 0%, 15-08 09:00:00 - 15-08 09:30:00 @ 23.55p 0%, 15-08 09:30:00 - 15-08 10:00:00 @ 23.64p 0%, 15-08 10:00:00 - 15-08 10:30:00 @ 19.66p 0%, 15-08 10:30:00 - 15-08 11:00:00 @ 17.66p 0%, 15-08 11:00:00 - 15-08 11:30:00 @ 16.56p 0%, 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 13:30:00 @ 15.36p 100%, 15-08 13:30:00 - 15-08 14:00:00 @ 15.74p 100%, 15-08 14:00:00 - 15-08 14:30:00 @ 14.57p 100%, 15-08 14:30:00 - 15-08 15:00:00 @ 13.77p 100%, 15-08 15:00:00 - 15-08 15:30:00 @ 15.02p 100%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 100%, 15-08 16:00:00 - 15-08 16:30:00 @ 33.13p 0%, 15-08 16:30:00 - 15-08 17:00:00 @ 33.13p 0%, 15-08 17:00:00 - 15-08 17:30:00 @ 38.46p 0%, 15-08 17:30:00 - 15-08 18:00:00 @ 40.44p 0%, 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 0%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 0%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 0%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 0%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 0%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 27.8p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 29.09p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.47p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.18p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 27.57p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.5p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.6p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 24.79p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 25.08p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 24.62p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 27.02p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.47p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 26.25p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.4p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.7p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 27.63p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 22.73p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 26.7p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 22.92p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 22.48p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 23.55p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 23.64p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 19.66p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 17.66p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 16.56p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 15.46p 100%, 16-08 12:00:00 - 16-08 12:30:00 @ 17.0p 100%, 16-08 12:30:00 - 16-08 13:00:00 @ 16.34p 100%, 16-08 13:00:00 - 16-08 13:30:00 @ 15.36p 100%, 16-08 13:30:00 - 16-08 14:00:00 @ 15.74p 100%, 16-08 14:00:00 - 16-08 14:30:00 @ 14.57p 100%, 16-08 14:30:00 - 16-08 15:00:00 @ 13.77p 100%, 16-08 15:00:00 - 16-08 15:30:00 @ 15.02p 100%, 16-08 15:30:00 - 16-08 16:00:00 @ 15.87p 100%, 16-08 16:00:00 - 16-08 16:30:00 @ 33.13p 100%, 16-08 16:30:00 - 16-08 17:00:00 @ 33.13p 100%, 16-08 17:00:00 - 16-08 17:30:00 @ 38.46p 100%, 16-08 17:30:00 - 16-08 18:00:00 @ 40.44p 100%, 16-08 18:00:00 - 16-08 18:30:00 @ 41.55p 100%, 16-08 19:00:00 - 16-08 19:30:00 @ 32.58p 100%, 16-08 19:30:00 - 16-08 20:00:00 @ 32.9p 100%, 16-08 20:00:00 - 16-08 20:30:00 @ 31.99p 100%, 16-08 20:30:00 - 16-08 21:00:00 @ 32.1p 100%, 16-08 21:00:00 - 16-08 21:30:00 @ 31.71p 100%, 16-08 21:30:00 - 16-08 22:00:00 @ 31.67p 100%, 16-08 22:00:00 - 16-08 22:30:00 @ 31.77p 100%, 16-08 22:30:00 - 16-08 23:00:00 @ 29.81p 100%, 16-08 23:00:00 - 16-08 23:30:00 @ 27.8p 100%, 16-08 23:30:00 - 17-08 00:00:00 @ 29.09p 100%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.47p 100%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.18p 100%, 17-08 01:00:00 - 17-08 01:30:00 @ 27.57p 100%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.5p 100%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.6p 100%, 17-08 02:30:00 - 17-08 03:00:00 @ 24.79p 100%, 17-08 03:00:00 - 17-08 03:30:00 @ 25.08p 100%, 17-08 03:30:00 - 17-08 04:00:00 @ 24.62p 100%, 17-08 04:00:00 - 17-08 04:30:00 @ 27.02p 100%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.47p 100%, 17-08 05:00:00 - 17-08 05:30:00 @ 26.25p 100%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.4p 100%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.7p 100% ] reserve 1.12
2026-08-15 06:10:16.276851: Unclipped charge windows [ 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 06:30:00 @ 26.01p 100% ] reserve 1.12
2026-08-15 06:10:16.277169: Unfiltered charge windows [ 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 06:30:00 @ 26.01p 100% ] reserve 1.12
2026-08-15 06:10:16.277397: Filtered charge windows [ 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 06:30:00 @ 26.01p 100% ] reserve 1.12
2026-08-15 06:10:16.307103: Previous plan best metric is 587.05 (cost 596.6) and new plan best metric is 587.0 (cost 596.6)
2026-08-15 06:10:16.307296: New plan metric is not significantly better (metric_min_improvement_plan 2.0) than previous plan, using previous plan
2026-08-15 06:10:16.307477: Plan valid is now true after recompute was False
2026-08-15 06:10:16.330664: predict base end_record 08-16 11:30:00, final soc 1.12kWh, metric 815.36p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 06:50:00, load 27.76kWh, PV 0.0kWh
2026-08-15 06:10:16.437669: Battery has 0.67 hours left - now at 1.6kWh
2026-08-15 06:10:16.476308: predict base10 end_record 08-16 11:30:00, final soc 1.12kWh, metric 842.47p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 06:50:00, load 28.84kWh, PV 0.0kWh
2026-08-15 06:10:16.552480: predict best10 end_record 08-16 11:30:00, final soc 1.12kWh, metric 671.23p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 06:50:00, load 28.84kWh, PV 0.0kWh
2026-08-15 06:10:16.630741: predict best end_record 08-16 11:30:00, final soc 1.12kWh, metric 646.58p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 06:50:00, load 27.76kWh, PV 0.0kWh
2026-08-15 06:10:16.630838: Saving plan best values to HA entities
2026-08-15 06:10:16.787212: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 06:10:16.792078: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 06:10:16.797116: Best charging limit SoC's [16.0, 3.5, 4.0, 16.0, 16.0, 16.0]kWh, export []kWh gives import battery 20.38kWh, house 3.91kWh, export 0.0kWh, metric 646.58p, metric10 671.23p
2026-08-15 06:10:16.869528: Marginal costs baseline metric (no standing charge): 596.5951
2026-08-15 06:10:17.133233: Marginal energy costs matrix computed: min=14.24 max=32.94
2026-08-15 06:10:17.199726: Rate array import [{'start': 370, 'end': 420, 'rate': 'expensive', 'range': '(25.7p - 27.6p)'}, {'start': 420, 'end': 450, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 450, 'end': 480, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 480, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 23.6p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1860, 'rate': 'expensive', 'range': '(24.6p - 32.9p)'}, {'start': 1860, 'end': 1890, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 1890, 'end': 1920, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 1920, 'end': 2130, 'rate': 'cheap', 'range': '(16.6p - 23.6p)'}] export [{'start': 370, 'end': 2130, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 06:10:17.200472: - Your estimated bill for today is £5.87 and tomorrow is £5.41
2026-08-15 06:10:17.200531: - Import rates are expensive (25.7p - 27.6p) for the next 50 minutes and then cheap (22.7p) for the next 30 minutes.
2026-08-15 06:10:17.200573: - The battery is currently at 10% and is in eco mode for the next 5 and a quarter hours.
2026-08-15 06:10:17.200608: - For the next 48 hours there will be no solar generation.
2026-08-15 06:10:17.200647: - You will run out of battery in 40 minutes.
2026-08-15 06:10:17.200681: - Your next charge slot will be in 5 and a quarter hours where import rates will be cheap (15.5p).
2026-08-15 06:10:17.200721: 
2026-08-15 06:10:17.252005: Plan calculation took 13.92 seconds
2026-08-15 06:10:17.252412: Inverter 0: Type SK Sunsynk
2026-08-15 06:10:17.252461: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 06:10:17.252685: Reserve min: 7%, battery_min: 7%
2026-08-15 06:10:17.252769: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 06:10:17.253208: Inverter 0 SoC: 1.6kW 10%, current charge rate 5000W, current discharge rate 5250W, current battery power 421W, current battery voltage 51.2V, grid power -52W, load power 476W, PV Power 0W
2026-08-15 06:10:17.253485: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 06:10:17.253624: Inverter 0 scheduled charge enable is False
2026-08-15 06:10:17.253665: Inverter 0 charge windows currently []
2026-08-15 06:10:17.253695: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 06:10:17.253816: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 06:10:17.253852: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 06:10:17.253888: Inverter 0 scheduled discharge enable is False
2026-08-15 06:10:17.254024: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 06:10:17.254061: Inverter 0 discharge windows currently []
2026-08-15 06:10:17.254083: Note: Inverter does not support discharge freeze - disabled
2026-08-15 06:10:17.254102: Note: Inverter does not support charge freeze - disabled
2026-08-15 06:10:17.254123: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 06:10:17.305331: Inverter 0 Charge window will be: 2026-08-15 11:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 10%, target 100%
2026-08-15 06:10:17.305490: Inverter 0 disabled charge window while waiting for schedule (now 08-15 06:10:00 target set_window_minutes 30 charge start time 08-15 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 06:10:17.305566: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 06:10:17.305755: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 06:10:17.305837: No export window planned
2026-08-15 06:10:17.305948: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 06:10:17.305983: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 06:10:17.306116: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 06:10:17.306277: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 06:10:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 06:10:17.306347: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 06:10:17.306403: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 06:10:17.306498: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 06:10:17.306543: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 06:10:17.306571: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 06:10:17.306602: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 06:10:17.306628: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 06:10:17.306659: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 06:10:17.306685: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 06:10:17.306743: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 06:10:17.306771: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 06:10:17.306796: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 06:10:17.306848: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 06:10:17.306875: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 06:10:17.306900: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 06:10:17.306925: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 06:10:17.306945: Inverter 0 count register writes 0
2026-08-15 06:10:17.327576: Total inverter register writes now 815
2026-08-15 06:10:17.358872: Info: Completed run status Demand
2026-08-15 06:10:17.365515: Info: record_status Demand
2026-08-15 06:10:17.371682: Saved current settings to /config/predbat_config.json
2026-08-15 06:10:17.371930: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 06:10:56.479147: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 06:10:56.479409: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 06:10:56.479480: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 06:10:56.479664: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 06:10:56.479703: Note: Inverter does not support discharge freeze - disabled
2026-08-15 06:10:56.479729: Note: Inverter does not support charge freeze - disabled
2026-08-15 06:10:56.479751: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 06:12:56.691101: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 06:12:56.691337: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 06:12:56.691399: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 06:12:56.691585: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 06:12:56.691626: Note: Inverter does not support discharge freeze - disabled
2026-08-15 06:12:56.691648: Note: Inverter does not support charge freeze - disabled
2026-08-15 06:12:56.691665: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 06:14:56.913394: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 06:14:56.913628: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 06:14:56.913664: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 06:14:56.913773: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 06:14:56.913863: Note: Inverter does not support discharge freeze - disabled
2026-08-15 06:14:56.913879: Note: Inverter does not support charge freeze - disabled
2026-08-15 06:14:56.913893: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 06:15:00.994980: --------------- PredBat - update at 2026-08-15 06:15:00+01:00 with clock skew 0 minutes, minutes now 375
2026-08-15 06:15:00.995765: Saved current settings to /config/predbat_config.json
2026-08-15 06:15:00.995904: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 5.0 minutes
2026-08-15 06:15:00.996004: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.1, latest beta is v8.48.1
2026-08-15 06:15:00.996081: Autoupdate: Currently up to date
2026-08-15 06:15:01.014130: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 06:15:01.014251: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 06:15:01.014439: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 06:15:01.014967: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 06:15:01.015086: Predbat mode is set to Control charge & discharge
2026-08-15 06:15:01.184744: Found 21602 load_today datapoints going back 28 days
2026-08-15 06:15:01.184889: Using load_power data to fill gaps in load_today data
2026-08-15 06:15:01.934180: Processing 721 30-minute periods for power integration
2026-08-15 06:15:02.130793: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 06:15:02.131432: Car charging hold False, threshold 6.0kWh
2026-08-15 06:15:02.131498: Current data so far today: load 5.2kWh, import 5.9kWh, export 0.0kWh, PV 0kWh
2026-08-15 06:15:02.147419: Cars: SoC: [12.892000000000001]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 06:15:02.147874: Standing charge is set to 49.98p
2026-08-15 06:15:02.174182: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 06:15:02.174276: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 06:15:02.174475: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 375.0 minutes
2026-08-15 06:15:02.174873: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 374.7 minutes
2026-08-15 06:15:02.178162: Loaded 47 datapoints of futurerate analysis
2026-08-15 06:15:02.267142: Predicted future rates: ['08-15 00:00:00 => 28.9 / 20.01', '08-15 01:00:00 => 27.54 / 19.31', '08-15 02:00:00 => 26.52 / 18.8', '08-15 03:00:00 => 25.99 / 18.53', '08-15 04:00:00 => 25.8 / 18.43', '08-15 05:00:00 => 25.96 / 18.51', '08-15 06:00:00 => 25.55 / 18.3', '08-15 07:00:00 => 24.33 / 17.68', '08-15 08:00:00 => 23.03 / 17.01', '08-15 09:00:00 => 22.05 / 16.51', '08-15 10:00:00 => 20.43 / 15.68', '08-15 11:00:00 => 18.01 / 14.45', '08-15 12:00:00 => 16.37 / 13.61', '08-15 13:00:00 => 15.76 / 13.3', '08-15 14:00:00 => 15.35 / 13.09', '08-15 15:00:00 => 15.86 / 13.35', '08-15 16:00:00 => 32.89 / 16.13', '08-15 17:00:00 => 38.02 / 18.75', '08-15 18:00:00 => 42.36 / 20.96', '08-15 19:00:00 => 31.09 / 21.13', '08-15 20:00:00 => 31.64 / 21.41', '08-15 21:00:00 => 31.64 / 21.41', '08-15 22:00:00 => 30.58 / 20.87']
2026-08-15 06:15:02.331147: Rate min forward looking: now 13.77p at end of forecast 13.77p
2026-08-15 06:15:02.331607: Import rates: min 13.77p, max 43.82p, average 25.96p
2026-08-15 06:15:02.373966: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 06:15:02.374078: Rate thresholds (for charge/export) are import 43.32p (0.0p), export -0.1p (0.0p)
2026-08-15 06:15:02.375602: High export rate found rates in range 99p to -99p
2026-08-15 06:15:02.462042: Low Import rate found rates in range 13.77p to 41.55p
2026-08-15 06:15:02.462167: Car 0 charging is not planned as it is not plugged in
2026-08-15 06:15:02.474555: Battery level now 1.6kWh, -1hr ago 2.08kWh, at midnight 1.66kWh, battery value change in the last hour -5.68p, change today -0.66p, rate_forward 11.83p
2026-08-15 06:15:02.474914: Last hour: net energy 0.0kWh, import 0.0kWh, export 0.0kWh, car 0kWh, load 0.5kWh, net cost 0.0p, import 0.0p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 06:15:02.522861: Today's energy total net 5.9kWh, import 5.9kWh, export 0.0kWh, cost 207.56p, import 157.57p, export 0.0p, carbon 0.0kg
2026-08-15 06:15:02.522996: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 06:15:02.603228: Using weighted-bucket historical load forecast over 14 days
2026-08-15 06:15:02.628361: Today's load divergence 107.63%, in-day adjustment 134.26%, damping 0.95x, yesterday 143.77% today 107.24% blend 73.96%
2026-08-15 06:15:02.628461: Today's predicted so far 3.96kWh with 0.0kWh car/iBoost excluded, 2.51kWh import ignored, and 3.96kWh forecast extra.
2026-08-15 06:15:02.628493: Today's actual load so far 5.24kWh with 0.0kWh car/iBoost excluded, and 2.51kWh import ignored.
2026-08-15 06:15:02.664585: Inverter 0: Type SK Sunsynk
2026-08-15 06:15:02.664672: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 06:15:02.664853: Reserve min: 7%, battery_min: 7%
2026-08-15 06:15:02.664921: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 06:15:02.665284: Inverter 0 SoC: 1.53kW 10%, current charge rate 5000W, current discharge rate 5250W, current battery power 281W, current battery voltage 51.2V, grid power -56W, load power 340W, PV Power 0W
2026-08-15 06:15:02.665485: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 06:15:02.665624: Inverter 0 scheduled charge enable is False
2026-08-15 06:15:02.665663: Inverter 0 charge windows currently []
2026-08-15 06:15:02.665691: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 06:15:02.665841: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 06:15:02.665881: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 06:15:02.665919: Inverter 0 scheduled discharge enable is False
2026-08-15 06:15:02.666044: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 06:15:02.666080: Inverter 0 discharge windows currently []
2026-08-15 06:15:02.666102: Note: Inverter does not support discharge freeze - disabled
2026-08-15 06:15:02.666120: Note: Inverter does not support charge freeze - disabled
2026-08-15 06:15:02.666138: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 06:15:02.741480: Dynamic load last period 0.60kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 06:15:02.741611: Plan was last updated on 2026-08-15 06:10:00+01:00 and is now 5.0 minutes old
2026-08-15 06:15:02.741884: Best charge window [ 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 00:30:00 @ 28.84p 100% ]
2026-08-15 06:15:02.741926: Best export window [  ]
2026-08-15 06:15:02.742852: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 06:15:02.746072: Load divergence over 8.0 hours mean 593.64W, min 226.2W, max 1777.8W, std dev 364.41W, divergence 30.69%
2026-08-15 06:15:02.765013: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 06:15:02.765147: LoadML is_calculating False
2026-08-15 06:15:02.765213: Creating pool of 12 processes to match your CPU count
2026-08-15 06:15:02.885919: predict base end_record 08-16 11:35:00, final soc 1.12kWh, metric 817.46p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 06:50:00, load 27.87kWh, PV 0.0kWh
2026-08-15 06:15:03.004944: Battery has 0.58 hours left - now at 1.53kWh
2026-08-15 06:15:03.042487: predict base10 end_record 08-16 11:35:00, final soc 1.12kWh, metric 844.61p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 06:50:00, load 28.94kWh, PV 0.0kWh
2026-08-15 06:15:03.113992: predict best10 end_record 08-16 11:35:00, final soc 1.44kWh, metric 678.65p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 06:50:00, load 28.94kWh, PV 0.0kWh
2026-08-15 06:15:03.190607: predict best end_record 08-16 11:35:00, final soc 1.51kWh, metric 654.95p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 06:50:00, load 27.87kWh, PV 0.0kWh
2026-08-15 06:15:03.190700: Saving plan best values to HA entities
2026-08-15 06:15:03.339791: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 06:15:03.345467: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0.0
2026-08-15 06:15:03.350923: Best charging limit SoC's [16.0, 3.5, 4.0, 16.0, 16.0, 16.0]kWh, export []kWh gives import battery 20.9kWh, house 3.92kWh, export 0.0kWh, metric 654.95p, metric10 678.65p
2026-08-15 06:15:03.418330: Marginal costs baseline metric (no standing charge): 604.9621
2026-08-15 06:15:03.688995: Marginal energy costs matrix computed: min=14.28 max=32.52
2026-08-15 06:15:03.753987: Rate array import [{'start': 375, 'end': 420, 'rate': 'expensive', 'range': '(25.7p - 27.6p)'}, {'start': 420, 'end': 450, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 450, 'end': 480, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 480, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 23.6p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1860, 'rate': 'expensive', 'range': '(24.6p - 32.9p)'}, {'start': 1860, 'end': 1890, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 1890, 'end': 1920, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 1920, 'end': 2135, 'rate': 'cheap', 'range': '(15.5p - 23.6p)'}] export [{'start': 375, 'end': 2135, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 06:15:03.754801: - Your estimated bill for today is £5.87 and tomorrow is £5.43
2026-08-15 06:15:03.754855: - Import rates are expensive (25.7p - 27.6p) for the next 45 minutes and then cheap (22.7p) for the next 30 minutes.
2026-08-15 06:15:03.754889: - The battery is currently at 10% and is in eco mode for the next 5 and a quarter hours.
2026-08-15 06:15:03.754916: - For the next 48 hours there will be no solar generation.
2026-08-15 06:15:03.754944: - You will run out of battery in 35 minutes.
2026-08-15 06:15:03.754971: - Your next charge slot will be in 5 and a quarter hours where import rates will be cheap (15.5p).
2026-08-15 06:15:03.755034: 
2026-08-15 06:15:03.803858: Plan calculation took 1.06 seconds
2026-08-15 06:15:03.807303: No high rate period found
2026-08-15 06:15:03.857512: Import threshold used for optimisation was 22.73p
2026-08-15 06:15:03.911069: Low import rate windows [0: 08-15 06:00:00 - 08-15 06:30:00 @ 25.7, 1: 08-15 06:30:00 - 08-15 07:00:00 @ 27.63, 2: 08-15 07:00:00 - 08-15 07:30:00 @ 22.73, 3: 08-15 07:30:00 - 08-15 08:00:00 @ 26.7, 4: 08-15 08:00:00 - 08-15 08:30:00 @ 22.92, 5: 08-15 08:30:00 - 08-15 09:00:00 @ 22.48, 6: 08-15 09:00:00 - 08-15 09:30:00 @ 23.55, 7: 08-15 09:30:00 - 08-15 10:00:00 @ 23.64, 8: 08-15 10:00:00 - 08-15 10:30:00 @ 19.66, 9: 08-15 10:30:00 - 08-15 11:00:00 @ 17.66, 10: 08-15 11:00:00 - 08-15 11:30:00 @ 16.56, 11: 08-15 11:30:00 - 08-15 12:00:00 @ 15.46, 12: 08-15 12:00:00 - 08-15 12:30:00 @ 17.0, 13: 08-15 12:30:00 - 08-15 13:00:00 @ 16.34, 14: 08-15 13:00:00 - 08-15 13:30:00 @ 15.36, 15: 08-15 13:30:00 - 08-15 14:00:00 @ 15.74, 16: 08-15 14:00:00 - 08-15 14:30:00 @ 14.57, 17: 08-15 14:30:00 - 08-15 15:00:00 @ 13.77, 18: 08-15 15:00:00 - 08-15 15:30:00 @ 15.02, 19: 08-15 15:30:00 - 08-15 16:00:00 @ 15.87, 20: 08-15 16:00:00 - 08-15 16:30:00 @ 33.13, 21: 08-15 16:30:00 - 08-15 17:00:00 @ 33.13, 22: 08-15 17:00:00 - 08-15 17:30:00 @ 38.46, 23: 08-15 17:30:00 - 08-15 18:00:00 @ 40.44, 24: 08-15 18:00:00 - 08-15 18:30:00 @ 41.55, 25: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 26: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 27: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 28: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 29: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 30: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 31: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 32: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 33: 08-15 23:00:00 - 08-15 23:30:00 @ 27.8, 34: 08-15 23:30:00 - 08-16 00:00:00 @ 29.09, 35: 08-16 00:00:00 - 08-16 00:30:00 @ 28.47, 36: 08-16 00:30:00 - 08-16 01:00:00 @ 27.18, 37: 08-16 01:00:00 - 08-16 01:30:00 @ 27.57, 38: 08-16 01:30:00 - 08-16 02:00:00 @ 26.5, 39: 08-16 02:00:00 - 08-16 02:30:00 @ 25.6, 40: 08-16 02:30:00 - 08-16 03:00:00 @ 24.79, 41: 08-16 03:00:00 - 08-16 03:30:00 @ 25.08, 42: 08-16 03:30:00 - 08-16 04:00:00 @ 24.62, 43: 08-16 04:00:00 - 08-16 04:30:00 @ 27.02, 44: 08-16 04:30:00 - 08-16 05:00:00 @ 26.47, 45: 08-16 05:00:00 - 08-16 05:30:00 @ 26.25, 46: 08-16 05:30:00 - 08-16 06:00:00 @ 26.4, 47: 08-16 06:00:00 - 08-16 06:30:00 @ 25.7, 48: 08-16 06:30:00 - 08-16 07:00:00 @ 27.63, 49: 08-16 07:00:00 - 08-16 07:30:00 @ 22.73, 50: 08-16 07:30:00 - 08-16 08:00:00 @ 26.7, 51: 08-16 08:00:00 - 08-16 08:30:00 @ 22.92, 52: 08-16 08:30:00 - 08-16 09:00:00 @ 22.48, 53: 08-16 09:00:00 - 08-16 09:30:00 @ 23.55, 54: 08-16 09:30:00 - 08-16 10:00:00 @ 23.64, 55: 08-16 10:00:00 - 08-16 10:30:00 @ 19.66, 56: 08-16 10:30:00 - 08-16 11:00:00 @ 17.66, 57: 08-16 11:00:00 - 08-16 11:30:00 @ 16.56, 58: 08-16 11:30:00 - 08-16 12:00:00 @ 15.46, 59: 08-16 12:00:00 - 08-16 12:30:00 @ 17.0, 60: 08-16 12:30:00 - 08-16 13:00:00 @ 16.34, 61: 08-16 13:00:00 - 08-16 13:30:00 @ 15.36, 62: 08-16 13:30:00 - 08-16 14:00:00 @ 15.74, 63: 08-16 14:00:00 - 08-16 14:30:00 @ 14.57, 64: 08-16 14:30:00 - 08-16 15:00:00 @ 13.77, 65: 08-16 15:00:00 - 08-16 15:30:00 @ 15.02, 66: 08-16 15:30:00 - 08-16 16:00:00 @ 15.87, 67: 08-16 16:00:00 - 08-16 16:30:00 @ 33.13, 68: 08-16 16:30:00 - 08-16 17:00:00 @ 33.13, 69: 08-16 17:00:00 - 08-16 17:30:00 @ 38.46, 70: 08-16 17:30:00 - 08-16 18:00:00 @ 40.44, 71: 08-16 18:00:00 - 08-16 18:30:00 @ 41.55, 72: 08-16 19:00:00 - 08-16 19:30:00 @ 32.58, 73: 08-16 19:30:00 - 08-16 20:00:00 @ 32.9, 74: 08-16 20:00:00 - 08-16 20:30:00 @ 31.99, 75: 08-16 20:30:00 - 08-16 21:00:00 @ 32.1, 76: 08-16 21:00:00 - 08-16 21:30:00 @ 31.71, 77: 08-16 21:30:00 - 08-16 22:00:00 @ 31.67, 78: 08-16 22:00:00 - 08-16 22:30:00 @ 31.77, 79: 08-16 22:30:00 - 08-16 23:00:00 @ 29.81, 80: 08-16 23:00:00 - 08-16 23:30:00 @ 27.8, 81: 08-16 23:30:00 - 08-17 00:00:00 @ 29.09, 82: 08-17 00:00:00 - 08-17 00:30:00 @ 28.47, 83: 08-17 00:30:00 - 08-17 01:00:00 @ 27.18, 84: 08-17 01:00:00 - 08-17 01:30:00 @ 27.57, 85: 08-17 01:30:00 - 08-17 02:00:00 @ 26.5, 86: 08-17 02:00:00 - 08-17 02:30:00 @ 25.6, 87: 08-17 02:30:00 - 08-17 03:00:00 @ 24.79, 88: 08-17 03:00:00 - 08-17 03:30:00 @ 25.08, 89: 08-17 03:30:00 - 08-17 04:00:00 @ 24.62, 90: 08-17 04:00:00 - 08-17 04:30:00 @ 27.02, 91: 08-17 04:30:00 - 08-17 05:00:00 @ 26.47, 92: 08-17 05:00:00 - 08-17 05:30:00 @ 26.25, 93: 08-17 05:30:00 - 08-17 06:00:00 @ 26.4, 94: 08-17 06:00:00 - 08-17 06:30:00 @ 25.7]
2026-08-15 06:15:03.917871: Inverter 0 Charge window will be: 2026-08-15 11:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 10%, target 100%
2026-08-15 06:15:03.918028: Inverter 0 disabled charge window while waiting for schedule (now 08-15 06:15:00 target set_window_minutes 30 charge start time 08-15 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 06:15:03.918145: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 06:15:03.918414: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 06:15:03.918510: No export window planned
2026-08-15 06:15:03.918650: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 06:15:03.918689: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 06:15:03.918824: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 06:15:03.919003: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 06:15:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 06:15:03.919067: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 06:15:03.919151: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 06:15:03.919243: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 06:15:03.919281: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 06:15:03.919310: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 06:15:03.919334: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 06:15:03.919366: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 06:15:03.919392: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 06:15:03.919422: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 06:15:03.919482: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 06:15:03.919516: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 06:15:03.919571: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 06:15:03.919598: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 06:15:03.919627: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 06:15:03.919651: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 06:15:03.919674: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 06:15:03.919697: Inverter 0 count register writes 0
2026-08-15 06:15:03.936215: Will not recompute the plan, it is 5.0 minutes old and max age is 10 minutes
2026-08-15 06:15:03.942586: Total inverter register writes now 815
2026-08-15 06:15:03.978750: Info: Completed run status Demand
2026-08-15 06:15:03.984836: Info: record_status Demand
2026-08-15 06:15:03.991225: Saved current settings to /config/predbat_config.json
2026-08-15 06:15:03.991544: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 06:15:42.096504: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 06:15:42.096789: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 06:15:42.096836: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 06:15:42.097115: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 06:15:42.097177: Note: Inverter does not support discharge freeze - disabled
2026-08-15 06:15:42.097213: Note: Inverter does not support charge freeze - disabled
2026-08-15 06:15:42.097231: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 06:17:42.307422: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 06:17:42.307689: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 06:17:42.307745: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 06:17:42.307888: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 06:17:42.307927: Note: Inverter does not support discharge freeze - disabled
2026-08-15 06:17:42.307948: Note: Inverter does not support charge freeze - disabled
2026-08-15 06:17:42.307984: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 06:19:56.543504: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 06:19:56.543880: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 06:19:56.543950: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 06:19:56.544201: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 06:19:56.544266: Note: Inverter does not support discharge freeze - disabled
2026-08-15 06:19:56.544306: Note: Inverter does not support charge freeze - disabled
2026-08-15 06:19:56.544336: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 06:20:00.632004: --------------- PredBat - update at 2026-08-15 06:20:00+01:00 with clock skew 0 minutes, minutes now 380
2026-08-15 06:20:00.632854: Saved current settings to /config/predbat_config.json
2026-08-15 06:20:00.633074: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 10.0 minutes
2026-08-15 06:20:00.633217: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.1, latest beta is v8.48.1
2026-08-15 06:20:00.633308: Autoupdate: Currently up to date
2026-08-15 06:20:00.653414: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 06:20:00.653577: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 06:20:00.653835: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 06:20:00.654502: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 06:20:00.654651: Predbat mode is set to Control charge & discharge
2026-08-15 06:20:00.853107: Found 21602 load_today datapoints going back 28 days
2026-08-15 06:20:00.853310: Using load_power data to fill gaps in load_today data
2026-08-15 06:20:01.708781: Processing 721 30-minute periods for power integration
2026-08-15 06:20:01.898450: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 06:20:01.898596: Car charging hold False, threshold 6.0kWh
2026-08-15 06:20:01.898644: Current data so far today: load 5.25kWh, import 5.9kWh, export 0.0kWh, PV 0kWh
2026-08-15 06:20:01.913671: Cars: SoC: [12.892000000000001]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 06:20:01.914097: Standing charge is set to 49.98p
2026-08-15 06:20:01.936578: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 06:20:01.936699: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 06:20:01.936916: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 380.0 minutes
2026-08-15 06:20:01.937323: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 379.7 minutes
2026-08-15 06:20:01.940224: Loaded 47 datapoints of futurerate analysis
2026-08-15 06:20:02.028224: Predicted future rates: ['08-15 00:00:00 => 28.9 / 20.01', '08-15 01:00:00 => 27.54 / 19.31', '08-15 02:00:00 => 26.52 / 18.8', '08-15 03:00:00 => 25.99 / 18.53', '08-15 04:00:00 => 25.8 / 18.43', '08-15 05:00:00 => 25.96 / 18.51', '08-15 06:00:00 => 25.55 / 18.3', '08-15 07:00:00 => 24.33 / 17.68', '08-15 08:00:00 => 23.03 / 17.01', '08-15 09:00:00 => 22.05 / 16.51', '08-15 10:00:00 => 20.43 / 15.68', '08-15 11:00:00 => 18.01 / 14.45', '08-15 12:00:00 => 16.37 / 13.61', '08-15 13:00:00 => 15.76 / 13.3', '08-15 14:00:00 => 15.35 / 13.09', '08-15 15:00:00 => 15.86 / 13.35', '08-15 16:00:00 => 32.89 / 16.13', '08-15 17:00:00 => 38.02 / 18.75', '08-15 18:00:00 => 42.36 / 20.96', '08-15 19:00:00 => 31.09 / 21.13', '08-15 20:00:00 => 31.64 / 21.41', '08-15 21:00:00 => 31.64 / 21.41', '08-15 22:00:00 => 30.58 / 20.87']
2026-08-15 06:20:02.089022: Rate min forward looking: now 13.77p at end of forecast 13.77p
2026-08-15 06:20:02.089480: Import rates: min 13.77p, max 43.82p, average 25.96p
2026-08-15 06:20:02.132454: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 06:20:02.132557: Rate thresholds (for charge/export) are import 43.32p (0.0p), export -0.1p (0.0p)
2026-08-15 06:20:02.133769: High export rate found rates in range 99p to -99p
2026-08-15 06:20:02.218121: Low Import rate found rates in range 13.77p to 41.55p
2026-08-15 06:20:02.218252: Car 0 charging is not planned as it is not plugged in
2026-08-15 06:20:02.231208: Battery level now 1.53kWh, -1hr ago 1.92kWh, at midnight 1.66kWh, battery value change in the last hour -4.64p, change today -1.51p, rate_forward 11.83p
2026-08-15 06:20:02.231580: Last hour: net energy 0.0kWh, import 0.0kWh, export 0.0kWh, car 0kWh, load 0.5kWh, net cost 0.0p, import 0.0p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 06:20:02.277676: Today's energy total net 5.9kWh, import 5.9kWh, export 0.0kWh, cost 207.56p, import 157.57p, export 0.0p, carbon 0.0kg
2026-08-15 06:20:02.277833: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 06:20:02.354099: Using weighted-bucket historical load forecast over 14 days
2026-08-15 06:20:02.378281: Today's load divergence 107.53%, in-day adjustment 134.11%, damping 0.95x, yesterday 143.77% today 107.15% blend 73.61%
2026-08-15 06:20:02.378711: Today's predicted so far 3.97kWh with 0.0kWh car/iBoost excluded, 2.52kWh import ignored, and 3.97kWh forecast extra.
2026-08-15 06:20:02.378767: Today's actual load so far 5.24kWh with 0.0kWh car/iBoost excluded, and 2.52kWh import ignored.
2026-08-15 06:20:02.413553: Inverter 0: Type SK Sunsynk
2026-08-15 06:20:02.413738: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 06:20:02.414291: Reserve min: 7%, battery_min: 7%
2026-08-15 06:20:02.414386: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 06:20:02.414707: Inverter 0 SoC: 1.53kW 10%, current charge rate 5000W, current discharge rate 5250W, current battery power 458W, current battery voltage 51.2V, grid power -55W, load power 519W, PV Power 0W
2026-08-15 06:20:02.414877: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 06:20:02.414985: Inverter 0 scheduled charge enable is False
2026-08-15 06:20:02.415027: Inverter 0 charge windows currently []
2026-08-15 06:20:02.415054: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 06:20:02.415187: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 06:20:02.415222: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 06:20:02.415257: Inverter 0 scheduled discharge enable is False
2026-08-15 06:20:02.415379: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 06:20:02.415415: Inverter 0 discharge windows currently []
2026-08-15 06:20:02.415437: Note: Inverter does not support discharge freeze - disabled
2026-08-15 06:20:02.415460: Note: Inverter does not support charge freeze - disabled
2026-08-15 06:20:02.415477: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 06:20:02.472874: Dynamic load last period 0.60kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 06:20:02.473008: Plan was last updated on 2026-08-15 06:10:00+01:00 and is now 10.0 minutes old
2026-08-15 06:20:02.473321: Best charge window [ 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 00:30:00 @ 28.84p 100% ]
2026-08-15 06:20:02.473365: Best export window [  ]
2026-08-15 06:20:02.474227: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 06:20:02.477421: Load divergence over 8.0 hours mean 593.11W, min 278.4W, max 1692.6W, std dev 334.96W, divergence 28.24%
2026-08-15 06:20:02.495925: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 06:20:02.496034: LoadML is_calculating False
2026-08-15 06:20:02.496097: Creating pool of 12 processes to match your CPU count
2026-08-15 06:20:02.619826: predict base end_record 08-16 11:40:00, final soc 1.12kWh, metric 817.68p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 06:55:00, load 27.96kWh, PV 0.0kWh
2026-08-15 06:20:02.734623: Battery has 0.58 hours left - now at 1.53kWh
2026-08-15 06:20:02.777215: predict base10 end_record 08-16 11:40:00, final soc 1.12kWh, metric 844.87p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 06:55:00, load 29.04kWh, PV 0.0kWh
2026-08-15 06:20:02.882824: predict best10 end_record 08-16 11:40:00, final soc 1.77kWh, metric 684.2p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 06:55:00, load 29.04kWh, PV 0.0kWh
2026-08-15 06:20:02.968315: predict best end_record 08-16 11:40:00, final soc 1.9kWh, metric 661.5p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 06:55:00, load 27.96kWh, PV 0.0kWh
2026-08-15 06:20:02.968415: Saving plan best values to HA entities
2026-08-15 06:20:03.134147: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 06:20:03.139238: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0.0
2026-08-15 06:20:03.144565: Best charging limit SoC's [16.0, 3.5, 4.0, 16.0, 16.0, 16.0]kWh, export []kWh gives import battery 21.41kWh, house 3.88kWh, export 0.0kWh, metric 661.5p, metric10 684.2p
2026-08-15 06:20:03.213478: Marginal costs baseline metric (no standing charge): 611.5159
2026-08-15 06:20:03.433935: Marginal energy costs matrix computed: min=14.32 max=32.12
2026-08-15 06:20:03.496880: Rate array import [{'start': 380, 'end': 420, 'rate': 'expensive', 'range': '(25.7p - 27.6p)'}, {'start': 420, 'end': 450, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 450, 'end': 480, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 480, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 23.6p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1860, 'rate': 'expensive', 'range': '(24.6p - 32.9p)'}, {'start': 1860, 'end': 1890, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 1890, 'end': 1920, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 1920, 'end': 2140, 'rate': 'cheap', 'range': '(15.5p - 23.6p)'}] export [{'start': 380, 'end': 2140, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 06:20:03.497469: - Your estimated bill for today is £5.86 and tomorrow is £5.44
2026-08-15 06:20:03.497514: - Import rates are expensive (25.7p - 27.6p) for the next 40 minutes and then cheap (22.7p) for the next 30 minutes.
2026-08-15 06:20:03.497533: - The battery is currently at 10% and is in eco mode for the next 5 and a quarter hours.
2026-08-15 06:20:03.497548: - For the next 48 hours there will be no solar generation.
2026-08-15 06:20:03.497561: - You will run out of battery in 35 minutes.
2026-08-15 06:20:03.497591: - Your next charge slot will be in 5 and a quarter hours where import rates will be cheap (15.5p).
2026-08-15 06:20:03.497607: 
2026-08-15 06:20:03.544678: Plan calculation took 1.07 seconds
2026-08-15 06:20:03.548264: No high rate period found
2026-08-15 06:20:03.599113: Import threshold used for optimisation was 22.73p
2026-08-15 06:20:03.650796: Low import rate windows [0: 08-15 06:00:00 - 08-15 06:30:00 @ 25.7, 1: 08-15 06:30:00 - 08-15 07:00:00 @ 27.63, 2: 08-15 07:00:00 - 08-15 07:30:00 @ 22.73, 3: 08-15 07:30:00 - 08-15 08:00:00 @ 26.7, 4: 08-15 08:00:00 - 08-15 08:30:00 @ 22.92, 5: 08-15 08:30:00 - 08-15 09:00:00 @ 22.48, 6: 08-15 09:00:00 - 08-15 09:30:00 @ 23.55, 7: 08-15 09:30:00 - 08-15 10:00:00 @ 23.64, 8: 08-15 10:00:00 - 08-15 10:30:00 @ 19.66, 9: 08-15 10:30:00 - 08-15 11:00:00 @ 17.66, 10: 08-15 11:00:00 - 08-15 11:30:00 @ 16.56, 11: 08-15 11:30:00 - 08-15 12:00:00 @ 15.46, 12: 08-15 12:00:00 - 08-15 12:30:00 @ 17.0, 13: 08-15 12:30:00 - 08-15 13:00:00 @ 16.34, 14: 08-15 13:00:00 - 08-15 13:30:00 @ 15.36, 15: 08-15 13:30:00 - 08-15 14:00:00 @ 15.74, 16: 08-15 14:00:00 - 08-15 14:30:00 @ 14.57, 17: 08-15 14:30:00 - 08-15 15:00:00 @ 13.77, 18: 08-15 15:00:00 - 08-15 15:30:00 @ 15.02, 19: 08-15 15:30:00 - 08-15 16:00:00 @ 15.87, 20: 08-15 16:00:00 - 08-15 16:30:00 @ 33.13, 21: 08-15 16:30:00 - 08-15 17:00:00 @ 33.13, 22: 08-15 17:00:00 - 08-15 17:30:00 @ 38.46, 23: 08-15 17:30:00 - 08-15 18:00:00 @ 40.44, 24: 08-15 18:00:00 - 08-15 18:30:00 @ 41.55, 25: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 26: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 27: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 28: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 29: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 30: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 31: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 32: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 33: 08-15 23:00:00 - 08-15 23:30:00 @ 27.8, 34: 08-15 23:30:00 - 08-16 00:00:00 @ 29.09, 35: 08-16 00:00:00 - 08-16 00:30:00 @ 28.47, 36: 08-16 00:30:00 - 08-16 01:00:00 @ 27.18, 37: 08-16 01:00:00 - 08-16 01:30:00 @ 27.57, 38: 08-16 01:30:00 - 08-16 02:00:00 @ 26.5, 39: 08-16 02:00:00 - 08-16 02:30:00 @ 25.6, 40: 08-16 02:30:00 - 08-16 03:00:00 @ 24.79, 41: 08-16 03:00:00 - 08-16 03:30:00 @ 25.08, 42: 08-16 03:30:00 - 08-16 04:00:00 @ 24.62, 43: 08-16 04:00:00 - 08-16 04:30:00 @ 27.02, 44: 08-16 04:30:00 - 08-16 05:00:00 @ 26.47, 45: 08-16 05:00:00 - 08-16 05:30:00 @ 26.25, 46: 08-16 05:30:00 - 08-16 06:00:00 @ 26.4, 47: 08-16 06:00:00 - 08-16 06:30:00 @ 25.7, 48: 08-16 06:30:00 - 08-16 07:00:00 @ 27.63, 49: 08-16 07:00:00 - 08-16 07:30:00 @ 22.73, 50: 08-16 07:30:00 - 08-16 08:00:00 @ 26.7, 51: 08-16 08:00:00 - 08-16 08:30:00 @ 22.92, 52: 08-16 08:30:00 - 08-16 09:00:00 @ 22.48, 53: 08-16 09:00:00 - 08-16 09:30:00 @ 23.55, 54: 08-16 09:30:00 - 08-16 10:00:00 @ 23.64, 55: 08-16 10:00:00 - 08-16 10:30:00 @ 19.66, 56: 08-16 10:30:00 - 08-16 11:00:00 @ 17.66, 57: 08-16 11:00:00 - 08-16 11:30:00 @ 16.56, 58: 08-16 11:30:00 - 08-16 12:00:00 @ 15.46, 59: 08-16 12:00:00 - 08-16 12:30:00 @ 17.0, 60: 08-16 12:30:00 - 08-16 13:00:00 @ 16.34, 61: 08-16 13:00:00 - 08-16 13:30:00 @ 15.36, 62: 08-16 13:30:00 - 08-16 14:00:00 @ 15.74, 63: 08-16 14:00:00 - 08-16 14:30:00 @ 14.57, 64: 08-16 14:30:00 - 08-16 15:00:00 @ 13.77, 65: 08-16 15:00:00 - 08-16 15:30:00 @ 15.02, 66: 08-16 15:30:00 - 08-16 16:00:00 @ 15.87, 67: 08-16 16:00:00 - 08-16 16:30:00 @ 33.13, 68: 08-16 16:30:00 - 08-16 17:00:00 @ 33.13, 69: 08-16 17:00:00 - 08-16 17:30:00 @ 38.46, 70: 08-16 17:30:00 - 08-16 18:00:00 @ 40.44, 71: 08-16 18:00:00 - 08-16 18:30:00 @ 41.55, 72: 08-16 19:00:00 - 08-16 19:30:00 @ 32.58, 73: 08-16 19:30:00 - 08-16 20:00:00 @ 32.9, 74: 08-16 20:00:00 - 08-16 20:30:00 @ 31.99, 75: 08-16 20:30:00 - 08-16 21:00:00 @ 32.1, 76: 08-16 21:00:00 - 08-16 21:30:00 @ 31.71, 77: 08-16 21:30:00 - 08-16 22:00:00 @ 31.67, 78: 08-16 22:00:00 - 08-16 22:30:00 @ 31.77, 79: 08-16 22:30:00 - 08-16 23:00:00 @ 29.81, 80: 08-16 23:00:00 - 08-16 23:30:00 @ 27.8, 81: 08-16 23:30:00 - 08-17 00:00:00 @ 29.09, 82: 08-17 00:00:00 - 08-17 00:30:00 @ 28.47, 83: 08-17 00:30:00 - 08-17 01:00:00 @ 27.18, 84: 08-17 01:00:00 - 08-17 01:30:00 @ 27.57, 85: 08-17 01:30:00 - 08-17 02:00:00 @ 26.5, 86: 08-17 02:00:00 - 08-17 02:30:00 @ 25.6, 87: 08-17 02:30:00 - 08-17 03:00:00 @ 24.79, 88: 08-17 03:00:00 - 08-17 03:30:00 @ 25.08, 89: 08-17 03:30:00 - 08-17 04:00:00 @ 24.62, 90: 08-17 04:00:00 - 08-17 04:30:00 @ 27.02, 91: 08-17 04:30:00 - 08-17 05:00:00 @ 26.47, 92: 08-17 05:00:00 - 08-17 05:30:00 @ 26.25, 93: 08-17 05:30:00 - 08-17 06:00:00 @ 26.4, 94: 08-17 06:00:00 - 08-17 06:30:00 @ 25.7]
2026-08-15 06:20:03.656868: Inverter 0 Charge window will be: 2026-08-15 11:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 10%, target 100%
2026-08-15 06:20:03.657025: Inverter 0 disabled charge window while waiting for schedule (now 08-15 06:20:00 target set_window_minutes 30 charge start time 08-15 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 06:20:03.657166: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 06:20:03.657446: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 06:20:03.657540: No export window planned
2026-08-15 06:20:03.657651: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 06:20:03.657704: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 06:20:03.657863: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 06:20:03.658070: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 06:20:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 06:20:03.658150: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 06:20:03.658218: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 06:20:03.658311: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 06:20:03.658348: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 06:20:03.658385: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 06:20:03.658411: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 06:20:03.658435: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 06:20:03.658459: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 06:20:03.658483: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 06:20:03.658543: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 06:20:03.658578: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 06:20:03.658605: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 06:20:03.658630: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 06:20:03.658658: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 06:20:03.658695: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 06:20:03.658722: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 06:20:03.658748: Inverter 0 count register writes 0
2026-08-15 06:20:03.675366: Will recompute the plan as it is now 10.0 minutes old and will exceed the max age of 10 minutes before the next run
2026-08-15 06:20:03.675619: Recompute is saving previous plan...
2026-08-15 06:20:03.678832: Best charge window [ 15-08 06:00:00 - 15-08 06:30:00 @ 25.7p 0%, 15-08 06:30:00 - 15-08 07:00:00 @ 27.63p 0%, 15-08 07:00:00 - 15-08 07:30:00 @ 22.73p 0%, 15-08 07:30:00 - 15-08 08:00:00 @ 26.7p 0%, 15-08 08:00:00 - 15-08 08:30:00 @ 22.92p 0%, 15-08 08:30:00 - 15-08 09:00:00 @ 22.48p 0%, 15-08 09:00:00 - 15-08 09:30:00 @ 23.55p 0%, 15-08 09:30:00 - 15-08 10:00:00 @ 23.64p 0%, 15-08 10:00:00 - 15-08 10:30:00 @ 19.66p 0%, 15-08 10:30:00 - 15-08 11:00:00 @ 17.66p 0%, 15-08 11:00:00 - 15-08 11:30:00 @ 16.56p 0%, 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 0%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 0%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 0%, 15-08 13:00:00 - 15-08 13:30:00 @ 15.36p 0%, 15-08 13:30:00 - 15-08 14:00:00 @ 15.74p 0%, 15-08 14:00:00 - 15-08 14:30:00 @ 14.57p 0%, 15-08 14:30:00 - 15-08 15:00:00 @ 13.77p 0%, 15-08 15:00:00 - 15-08 15:30:00 @ 15.02p 0%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 0%, 15-08 16:00:00 - 15-08 16:30:00 @ 33.13p 0%, 15-08 16:30:00 - 15-08 17:00:00 @ 33.13p 0%, 15-08 17:00:00 - 15-08 17:30:00 @ 38.46p 0%, 15-08 17:30:00 - 15-08 18:00:00 @ 40.44p 0%, 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 0%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 0%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 0%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 0%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 0%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 27.8p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 29.09p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.47p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.18p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 27.57p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.5p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.6p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 24.79p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 25.08p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 24.62p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 27.02p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.47p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 26.25p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.4p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.7p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 27.63p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 22.73p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 26.7p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 22.92p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 22.48p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 23.55p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 23.64p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 19.66p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 17.66p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 16.56p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 15.46p 0%, 16-08 12:00:00 - 16-08 12:30:00 @ 17.0p 0%, 16-08 12:30:00 - 16-08 13:00:00 @ 16.34p 0%, 16-08 13:00:00 - 16-08 13:30:00 @ 15.36p 0%, 16-08 13:30:00 - 16-08 14:00:00 @ 15.74p 0%, 16-08 14:00:00 - 16-08 14:30:00 @ 14.57p 0%, 16-08 14:30:00 - 16-08 15:00:00 @ 13.77p 0%, 16-08 15:00:00 - 16-08 15:30:00 @ 15.02p 0%, 16-08 15:30:00 - 16-08 16:00:00 @ 15.87p 0%, 16-08 16:00:00 - 16-08 16:30:00 @ 33.13p 0%, 16-08 16:30:00 - 16-08 17:00:00 @ 33.13p 0%, 16-08 17:00:00 - 16-08 17:30:00 @ 38.46p 0%, 16-08 17:30:00 - 16-08 18:00:00 @ 40.44p 0%, 16-08 18:00:00 - 16-08 18:30:00 @ 41.55p 0%, 16-08 19:00:00 - 16-08 19:30:00 @ 32.58p 0%, 16-08 19:30:00 - 16-08 20:00:00 @ 32.9p 0%, 16-08 20:00:00 - 16-08 20:30:00 @ 31.99p 0%, 16-08 20:30:00 - 16-08 21:00:00 @ 32.1p 0%, 16-08 21:00:00 - 16-08 21:30:00 @ 31.71p 0%, 16-08 21:30:00 - 16-08 22:00:00 @ 31.67p 0%, 16-08 22:00:00 - 16-08 22:30:00 @ 31.77p 0%, 16-08 22:30:00 - 16-08 23:00:00 @ 29.81p 0%, 16-08 23:00:00 - 16-08 23:30:00 @ 27.8p 0%, 16-08 23:30:00 - 17-08 00:00:00 @ 29.09p 0%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.47p 0%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.18p 0%, 17-08 01:00:00 - 17-08 01:30:00 @ 27.57p 0%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.5p 0%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.6p 0%, 17-08 02:30:00 - 17-08 03:00:00 @ 24.79p 0%, 17-08 03:00:00 - 17-08 03:30:00 @ 25.08p 0%, 17-08 03:30:00 - 17-08 04:00:00 @ 24.62p 0%, 17-08 04:00:00 - 17-08 04:30:00 @ 27.02p 0%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.47p 0%, 17-08 05:00:00 - 17-08 05:30:00 @ 26.25p 0%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.4p 0%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.7p 0% ]
2026-08-15 06:20:03.678908: Best export window [  ]
2026-08-15 06:20:03.679800: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 06:20:03.682933: Load divergence over 8.0 hours mean 593.11W, min 278.4W, max 1692.6W, std dev 334.96W, divergence 28.24%
2026-08-15 06:20:03.700622: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 06:20:03.700750: LoadML is_calculating False
2026-08-15 06:20:03.700832: Creating pool of 12 processes to match your CPU count
2026-08-15 06:20:03.792808: Calculate Best options: mode(Control charge & discharge), calculate_export_oncharge(False), calculate_export_on_pv(True), set_export_freeze_only(False), set_discharge_during_charge(True), combine_charge_slots(False), combine_export_slots(False), combine_rate_threshold(0.0), best_soc_min(0.0 kWh), best_soc_max(0.0 kWh), best_soc_keep(0.0 kWh), inverter_loss(4%), battery_loss(3%), battery_loss_discharge (3%), inverter_hybrid(True), metric_min_improvement(0.0p), metric_min_improvement_export(0.1p), metric_min_improvement_export_freeze(0.1p), metric_battery_cycle(0.0p/kWh), metric_battery_value_scaling(1.0 x) 
2026-08-15 06:20:03.795057: Optimise levels pass started at 2026-08-15 06:20:03
2026-08-15 06:20:03.795125: Optimise all windows, total charge 94 export 1
2026-08-15 06:20:04.841505: >> Region optimisation pass width 960 gives best_metric 816.57p, best_cost 822.01p, best_cycle 54.61kWh, best_import 39.02kWh
2026-08-15 06:20:05.255775: >> Region optimisation pass width 480 gives best_metric 816.57p, best_cost 822.01p, best_cycle 54.61kWh, best_import 39.02kWh
2026-08-15 06:20:05.763925: >> Region optimisation pass width 240 gives best_metric 816.57p, best_cost 822.01p, best_cycle 54.61kWh, best_import 39.02kWh
2026-08-15 06:20:06.852638: >> Region optimisation pass width 120 gives best_metric 816.57p, best_cost 822.01p, best_cycle 54.61kWh, best_import 39.02kWh
2026-08-15 06:20:06.852927: Calculated end_record as 08-16 11:30:00 based on best_price 16.34p, next_charge_start 08-15 11:30:00, max_windows 58
2026-08-15 06:20:06.853195: Optimise levels pass ended at 2026-08-15 06:20:06, duration 3.1 seconds tried 320 combinations
2026-08-15 06:20:06.853276: Set best_price_charge_level 17.6p, best_price_export_level 0p, best_price_charge 16.34p, best_cost_export 0p, best_metric 816.57p, best_keep 0kWh, best_cycle 54.61kWh, best_carbon 0kg, best_import 39.02kWh
2026-08-15 06:20:06.870671: Starting detailed optimisation end_record 08-16 11:30:00, best_price_charge 16.34p, best_price_export 0p. lowest_price_charge 13.77p with charge limits [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0]kWh and export limits []kWh
2026-08-15 06:20:10.786619: Tweak plan optimisation started metric 585.91p, cost 595.5p
2026-08-15 06:20:11.030039: Tweak optimisation finished metric 585.91p, cost 595.5p, metric_keep 0kWh, cycle 30.17kWh, carbon 0kg, import 24.25kWh, changed 8 window(s)
2026-08-15 06:20:11.046361: Swap charge optimisation started metric 585.91p, cost 595.5p, min_improvement_swap 0.1p
2026-08-15 06:20:15.806147: Swap charge optimisation finished metric 585.91p, cost 595.5p
2026-08-15 06:20:15.912458: Pruned 2 dead plan slot(s) in 11 trial(s), nominal metric 582.26p -> 582.26p, plan now metric 585.96p, cost 595.5p, cycle 30.17kWh, import 24.25kWh
2026-08-15 06:20:15.922727: Raw charge windows [ 15-08 06:00:00 - 15-08 06:30:00 @ 25.7p 0%, 15-08 06:30:00 - 15-08 07:00:00 @ 27.63p 0%, 15-08 07:00:00 - 15-08 07:30:00 @ 22.73p 0%, 15-08 07:30:00 - 15-08 08:00:00 @ 26.7p 0%, 15-08 08:00:00 - 15-08 08:30:00 @ 22.92p 0%, 15-08 08:30:00 - 15-08 09:00:00 @ 22.48p 0%, 15-08 09:00:00 - 15-08 09:30:00 @ 23.55p 0%, 15-08 09:30:00 - 15-08 10:00:00 @ 23.64p 0%, 15-08 10:00:00 - 15-08 10:30:00 @ 19.66p 0%, 15-08 10:30:00 - 15-08 11:00:00 @ 17.66p 0%, 15-08 11:00:00 - 15-08 11:30:00 @ 16.56p 0%, 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 13:30:00 @ 15.36p 100%, 15-08 13:30:00 - 15-08 14:00:00 @ 15.74p 100%, 15-08 14:00:00 - 15-08 14:30:00 @ 14.57p 100%, 15-08 14:30:00 - 15-08 15:00:00 @ 13.77p 100%, 15-08 15:00:00 - 15-08 15:30:00 @ 15.02p 100%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 100%, 15-08 16:00:00 - 15-08 16:30:00 @ 33.13p 0%, 15-08 16:30:00 - 15-08 17:00:00 @ 33.13p 0%, 15-08 17:00:00 - 15-08 17:30:00 @ 38.46p 0%, 15-08 17:30:00 - 15-08 18:00:00 @ 40.44p 0%, 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 0%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 0%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 0%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 0%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 0%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 27.8p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 29.09p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.47p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.18p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 27.57p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.5p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.6p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 24.79p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 25.08p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 24.62p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 27.02p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.47p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 26.25p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.4p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.7p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 27.63p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 22.73p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 26.7p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 22.92p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 22.48p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 23.55p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 23.64p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 19.66p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 17.66p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 16.56p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 15.46p 100%, 16-08 12:00:00 - 16-08 12:30:00 @ 17.0p 100%, 16-08 12:30:00 - 16-08 13:00:00 @ 16.34p 100%, 16-08 13:00:00 - 16-08 13:30:00 @ 15.36p 100%, 16-08 13:30:00 - 16-08 14:00:00 @ 15.74p 100%, 16-08 14:00:00 - 16-08 14:30:00 @ 14.57p 100%, 16-08 14:30:00 - 16-08 15:00:00 @ 13.77p 100%, 16-08 15:00:00 - 16-08 15:30:00 @ 15.02p 100%, 16-08 15:30:00 - 16-08 16:00:00 @ 15.87p 100%, 16-08 16:00:00 - 16-08 16:30:00 @ 33.13p 100%, 16-08 16:30:00 - 16-08 17:00:00 @ 33.13p 100%, 16-08 17:00:00 - 16-08 17:30:00 @ 38.46p 100%, 16-08 17:30:00 - 16-08 18:00:00 @ 40.44p 100%, 16-08 18:00:00 - 16-08 18:30:00 @ 41.55p 100%, 16-08 19:00:00 - 16-08 19:30:00 @ 32.58p 100%, 16-08 19:30:00 - 16-08 20:00:00 @ 32.9p 100%, 16-08 20:00:00 - 16-08 20:30:00 @ 31.99p 100%, 16-08 20:30:00 - 16-08 21:00:00 @ 32.1p 100%, 16-08 21:00:00 - 16-08 21:30:00 @ 31.71p 100%, 16-08 21:30:00 - 16-08 22:00:00 @ 31.67p 100%, 16-08 22:00:00 - 16-08 22:30:00 @ 31.77p 100%, 16-08 22:30:00 - 16-08 23:00:00 @ 29.81p 100%, 16-08 23:00:00 - 16-08 23:30:00 @ 27.8p 100%, 16-08 23:30:00 - 17-08 00:00:00 @ 29.09p 100%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.47p 100%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.18p 100%, 17-08 01:00:00 - 17-08 01:30:00 @ 27.57p 100%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.5p 100%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.6p 100%, 17-08 02:30:00 - 17-08 03:00:00 @ 24.79p 100%, 17-08 03:00:00 - 17-08 03:30:00 @ 25.08p 100%, 17-08 03:30:00 - 17-08 04:00:00 @ 24.62p 100%, 17-08 04:00:00 - 17-08 04:30:00 @ 27.02p 100%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.47p 100%, 17-08 05:00:00 - 17-08 05:30:00 @ 26.25p 100%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.4p 100%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.7p 100% ] reserve 1.12
2026-08-15 06:20:15.923255: Unclipped charge windows [ 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 06:30:00 @ 26.01p 100% ] reserve 1.12
2026-08-15 06:20:15.923494: Unfiltered charge windows [ 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 06:30:00 @ 26.01p 100% ] reserve 1.12
2026-08-15 06:20:15.923681: Filtered charge windows [ 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 06:30:00 @ 26.01p 100% ] reserve 1.12
2026-08-15 06:20:15.954881: Previous plan best metric is 585.96 (cost 595.5) and new plan best metric is 585.91 (cost 595.5)
2026-08-15 06:20:15.955086: New plan metric is not significantly better (metric_min_improvement_plan 2.0) than previous plan, using previous plan
2026-08-15 06:20:15.955265: Plan valid is now true after recompute was False
2026-08-15 06:20:15.978216: predict base end_record 08-16 11:30:00, final soc 1.12kWh, metric 814.55p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 06:55:00, load 27.76kWh, PV 0.0kWh
2026-08-15 06:20:16.098177: Battery has 0.58 hours left - now at 1.53kWh
2026-08-15 06:20:16.145706: predict base10 end_record 08-16 11:30:00, final soc 1.12kWh, metric 841.59p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 06:55:00, load 28.83kWh, PV 0.0kWh
2026-08-15 06:20:16.222249: predict best10 end_record 08-16 11:30:00, final soc 1.12kWh, metric 670.19p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 06:55:00, load 28.83kWh, PV 0.0kWh
2026-08-15 06:20:16.301429: predict best end_record 08-16 11:30:00, final soc 1.12kWh, metric 645.49p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 06:55:00, load 27.76kWh, PV 0.0kWh
2026-08-15 06:20:16.301539: Saving plan best values to HA entities
2026-08-15 06:20:16.445840: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 06:20:16.450822: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0.0
2026-08-15 06:20:16.456239: Best charging limit SoC's [16.0, 3.5, 4.0, 16.0, 16.0, 16.0]kWh, export []kWh gives import battery 20.37kWh, house 3.88kWh, export 0.0kWh, metric 645.49p, metric10 670.19p
2026-08-15 06:20:16.525592: Marginal costs baseline metric (no standing charge): 595.5045
2026-08-15 06:20:16.798221: Marginal energy costs matrix computed: min=14.32 max=32.12
2026-08-15 06:20:16.864612: Rate array import [{'start': 380, 'end': 420, 'rate': 'expensive', 'range': '(25.7p - 27.6p)'}, {'start': 420, 'end': 450, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 450, 'end': 480, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 480, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 23.6p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1860, 'rate': 'expensive', 'range': '(24.6p - 32.9p)'}, {'start': 1860, 'end': 1890, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 1890, 'end': 1920, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 1920, 'end': 2130, 'rate': 'cheap', 'range': '(16.6p - 23.6p)'}] export [{'start': 380, 'end': 2130, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 06:20:16.865334: - Your estimated bill for today is £5.86 and tomorrow is £5.44
2026-08-15 06:20:16.865389: - Import rates are expensive (25.7p - 27.6p) for the next 40 minutes and then cheap (22.7p) for the next 30 minutes.
2026-08-15 06:20:16.865413: - The battery is currently at 10% and is in eco mode for the next 5 and a quarter hours.
2026-08-15 06:20:16.865431: - For the next 48 hours there will be no solar generation.
2026-08-15 06:20:16.865448: - You will run out of battery in 35 minutes.
2026-08-15 06:20:16.865465: - Your next charge slot will be in 5 and a quarter hours where import rates will be cheap (15.5p).
2026-08-15 06:20:16.865482: 
2026-08-15 06:20:16.918927: Plan calculation took 13.24 seconds
2026-08-15 06:20:16.919298: Inverter 0: Type SK Sunsynk
2026-08-15 06:20:16.919344: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 06:20:16.919576: Reserve min: 7%, battery_min: 7%
2026-08-15 06:20:16.919655: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 06:20:16.919991: Inverter 0 SoC: 1.44kW 9%, current charge rate 5000W, current discharge rate 5250W, current battery power 458W, current battery voltage 51.2V, grid power -55W, load power 519W, PV Power 0W
2026-08-15 06:20:16.920230: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 06:20:16.920342: Inverter 0 scheduled charge enable is False
2026-08-15 06:20:16.920383: Inverter 0 charge windows currently []
2026-08-15 06:20:16.920414: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 06:20:16.920521: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 06:20:16.920557: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 06:20:16.920592: Inverter 0 scheduled discharge enable is False
2026-08-15 06:20:16.920733: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 06:20:16.920772: Inverter 0 discharge windows currently []
2026-08-15 06:20:16.920795: Note: Inverter does not support discharge freeze - disabled
2026-08-15 06:20:16.920817: Note: Inverter does not support charge freeze - disabled
2026-08-15 06:20:16.920834: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 06:20:16.971330: Inverter 0 Charge window will be: 2026-08-15 11:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 9%, target 100%
2026-08-15 06:20:16.971484: Inverter 0 disabled charge window while waiting for schedule (now 08-15 06:20:00 target set_window_minutes 30 charge start time 08-15 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 06:20:16.971551: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 06:20:16.971755: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 06:20:16.971843: No export window planned
2026-08-15 06:20:16.971951: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 06:20:16.971988: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 06:20:16.972125: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 06:20:16.972286: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 06:20:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 06:20:16.972339: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 06:20:16.972389: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 06:20:16.972475: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 06:20:16.972543: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 06:20:16.972574: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 06:20:16.972599: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 06:20:16.972625: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 06:20:16.972649: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 06:20:16.972673: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 06:20:16.972746: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 06:20:16.972785: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 06:20:16.972812: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 06:20:16.972835: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 06:20:16.972860: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 06:20:16.972884: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 06:20:16.972907: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 06:20:16.972927: Inverter 0 count register writes 0
2026-08-15 06:20:16.995929: Total inverter register writes now 815
2026-08-15 06:20:17.026216: Info: Completed run status Demand
2026-08-15 06:20:17.033527: Info: record_status Demand
2026-08-15 06:20:17.042742: Saved current settings to /config/predbat_config.json
2026-08-15 06:20:17.043130: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 06:20:57.150891: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 06:20:57.151139: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 06:20:57.151183: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 06:20:57.151342: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 06:20:57.151386: Note: Inverter does not support discharge freeze - disabled
2026-08-15 06:20:57.151408: Note: Inverter does not support charge freeze - disabled
2026-08-15 06:20:57.151426: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 06:22:57.384198: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 06:22:57.384444: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 06:22:57.384480: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 06:22:57.384635: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 06:22:57.384675: Note: Inverter does not support discharge freeze - disabled
2026-08-15 06:22:57.384707: Note: Inverter does not support charge freeze - disabled
2026-08-15 06:22:57.384749: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 06:23:40.971884: ML Component: Fetching 28 days of load history from ['sensor.sunsynk_day_load_energy']
2026-08-15 06:23:41.842349: Processing 1345 30-minute periods for power integration
2026-08-15 06:23:41.932520: ML Component: Car charging hold False, car energy reported load False
2026-08-15 06:23:42.013032: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 06:23:42.096080: ML Temperature data points: 50021
2026-08-15 06:23:42.315889: ML Component: Fetched 8064 load data points, 28.0 days of history
2026-08-15 06:23:42.349048: ML Component: Data fetch completed, load data age 56.0 days, 16341 data points
2026-08-15 06:23:42.349193: ML Component: No training needed, model age is 1.46 hours
2026-08-15 06:23:42.349249: ML Component: Generating predictions load data age 56.0 days, 16341 data points
2026-08-15 06:23:42.461565: ML Predictor: Starting autoregressive prediction loop for 576 steps (48.0 hours), prev_energy value 0.0417 max_dow {0: 0.10336562496256083, 1: 0.1091281248660758, 2: 0.11737499983031302, 3: 0.11972187416721135, 4: 0.17116562535744162, 5: 0.10228437502831222, 6: 0.10759687461592257}
2026-08-15 06:23:42.862212: ML Component: Generated 576 predictions (total 38.22 kWh over 48h)
2026-08-15 06:23:42.894509: ML Component: Prediction cycle completed
2026-08-15 06:23:42.997894: ML Component: Saved 16341 steps (56 days) of history to /config/predbat_ml_history.npz
2026-08-15 06:25:00.620038: --------------- PredBat - update at 2026-08-15 06:25:00+01:00 with clock skew 0 minutes, minutes now 385
2026-08-15 06:25:00.620997: Saved current settings to /config/predbat_config.json
2026-08-15 06:25:00.621195: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 15.0 minutes
2026-08-15 06:25:00.621317: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.1, latest beta is v8.48.1
2026-08-15 06:25:00.621399: Autoupdate: Currently up to date
2026-08-15 06:25:00.642382: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 06:25:00.642508: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 06:25:00.642677: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 06:25:00.643227: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 06:25:00.643351: Predbat mode is set to Control charge & discharge
2026-08-15 06:25:00.835170: Found 21602 load_today datapoints going back 28 days
2026-08-15 06:25:00.835316: Using load_power data to fill gaps in load_today data
2026-08-15 06:25:01.567549: Processing 721 30-minute periods for power integration
2026-08-15 06:25:01.726668: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 06:25:01.726783: Car charging hold False, threshold 6.0kWh
2026-08-15 06:25:01.726836: Current data so far today: load 5.3kWh, import 5.9kWh, export 0.0kWh, PV 0kWh
2026-08-15 06:25:01.738687: Cars: SoC: [12.892000000000001]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 06:25:01.739097: Standing charge is set to 49.98p
2026-08-15 06:25:01.765353: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 06:25:01.765441: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 06:25:01.765675: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 385.0 minutes
2026-08-15 06:25:01.766104: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 384.7 minutes
2026-08-15 06:25:01.768639: Loaded 47 datapoints of futurerate analysis
2026-08-15 06:25:01.839988: Predicted future rates: ['08-15 00:00:00 => 28.9 / 20.01', '08-15 01:00:00 => 27.54 / 19.31', '08-15 02:00:00 => 26.52 / 18.8', '08-15 03:00:00 => 25.99 / 18.53', '08-15 04:00:00 => 25.8 / 18.43', '08-15 05:00:00 => 25.96 / 18.51', '08-15 06:00:00 => 25.55 / 18.3', '08-15 07:00:00 => 24.33 / 17.68', '08-15 08:00:00 => 23.03 / 17.01', '08-15 09:00:00 => 22.05 / 16.51', '08-15 10:00:00 => 20.43 / 15.68', '08-15 11:00:00 => 18.01 / 14.45', '08-15 12:00:00 => 16.37 / 13.61', '08-15 13:00:00 => 15.76 / 13.3', '08-15 14:00:00 => 15.35 / 13.09', '08-15 15:00:00 => 15.86 / 13.35', '08-15 16:00:00 => 32.89 / 16.13', '08-15 17:00:00 => 38.02 / 18.75', '08-15 18:00:00 => 42.36 / 20.96', '08-15 19:00:00 => 31.09 / 21.13', '08-15 20:00:00 => 31.64 / 21.41', '08-15 21:00:00 => 31.64 / 21.41', '08-15 22:00:00 => 30.58 / 20.87']
2026-08-15 06:25:01.889350: Rate min forward looking: now 13.77p at end of forecast 13.77p
2026-08-15 06:25:01.889797: Import rates: min 13.77p, max 43.82p, average 25.96p
2026-08-15 06:25:01.924436: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 06:25:01.924568: Rate thresholds (for charge/export) are import 43.32p (0.0p), export -0.1p (0.0p)
2026-08-15 06:25:01.925759: High export rate found rates in range 99p to -99p
2026-08-15 06:25:01.996150: Low Import rate found rates in range 13.77p to 41.55p
2026-08-15 06:25:01.996607: Car 0 charging is not planned as it is not plugged in
2026-08-15 06:25:02.008443: Battery level now 1.53kWh, -1hr ago 1.92kWh, at midnight 1.66kWh, battery value change in the last hour -4.64p, change today -1.51p, rate_forward 11.83p
2026-08-15 06:25:02.008873: Last hour: net energy 0.0kWh, import 0.0kWh, export 0.0kWh, car 0kWh, load 0.5kWh, net cost 0.0p, import 0.0p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 06:25:02.059693: Today's energy total net 5.9kWh, import 5.9kWh, export 0.0kWh, cost 207.56p, import 157.57p, export 0.0p, carbon 0.0kg
2026-08-15 06:25:02.059881: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 06:25:02.138426: Using weighted-bucket historical load forecast over 14 days
2026-08-15 06:25:02.163871: Today's load divergence 107.43%, in-day adjustment 133.96%, damping 0.95x, yesterday 143.77% today 107.06% blend 73.26%
2026-08-15 06:25:02.163969: Today's predicted so far 3.99kWh with 0.0kWh car/iBoost excluded, 2.5kWh import ignored, and 3.99kWh forecast extra.
2026-08-15 06:25:02.164004: Today's actual load so far 5.24kWh with 0.0kWh car/iBoost excluded, and 2.5kWh import ignored.
2026-08-15 06:25:02.203328: Inverter 0: Type SK Sunsynk
2026-08-15 06:25:02.203424: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 06:25:02.203656: Reserve min: 7%, battery_min: 7%
2026-08-15 06:25:02.203742: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 06:25:02.204074: Inverter 0 SoC: 1.44kW 9%, current charge rate 5000W, current discharge rate 5250W, current battery power 434W, current battery voltage 51.2V, grid power -55W, load power 561W, PV Power 0W
2026-08-15 06:25:02.204274: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 06:25:02.204389: Inverter 0 scheduled charge enable is False
2026-08-15 06:25:02.204438: Inverter 0 charge windows currently []
2026-08-15 06:25:02.204475: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 06:25:02.204636: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 06:25:02.204679: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 06:25:02.204730: Inverter 0 scheduled discharge enable is False
2026-08-15 06:25:02.204923: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 06:25:02.205040: Inverter 0 discharge windows currently []
2026-08-15 06:25:02.205077: Note: Inverter does not support discharge freeze - disabled
2026-08-15 06:25:02.205121: Note: Inverter does not support charge freeze - disabled
2026-08-15 06:25:02.205162: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 06:25:02.272795: Dynamic load last period 0.60kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 06:25:02.272929: Plan was last updated on 2026-08-15 06:20:00+01:00 and is now 5.0 minutes old
2026-08-15 06:25:02.273235: Best charge window [ 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 00:30:00 @ 28.84p 100% ]
2026-08-15 06:25:02.273283: Best export window [  ]
2026-08-15 06:25:02.274049: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 06:25:02.277151: Load divergence over 8.0 hours mean 593.37W, min 287.4W, max 1838.4W, std dev 338.52W, divergence 28.53%
2026-08-15 06:25:02.296114: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 06:25:02.296247: LoadML is_calculating False
2026-08-15 06:25:02.296314: Creating pool of 12 processes to match your CPU count
2026-08-15 06:25:02.423241: predict base end_record 08-16 11:35:00, final soc 1.12kWh, metric 817.48p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 06:50:00, load 27.87kWh, PV 0.0kWh
2026-08-15 06:25:02.555504: Battery has 0.42 hours left - now at 1.44kWh
2026-08-15 06:25:02.599957: predict base10 end_record 08-16 11:35:00, final soc 1.12kWh, metric 844.54p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 06:50:00, load 28.94kWh, PV 0.0kWh
2026-08-15 06:25:02.676644: predict best10 end_record 08-16 11:35:00, final soc 1.44kWh, metric 678.36p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 06:50:00, load 28.94kWh, PV 0.0kWh
2026-08-15 06:25:02.759152: predict best end_record 08-16 11:35:00, final soc 1.51kWh, metric 654.71p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 06:50:00, load 27.87kWh, PV 0.0kWh
2026-08-15 06:25:02.759273: Saving plan best values to HA entities
2026-08-15 06:25:02.944274: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0
2026-08-15 06:25:02.950131: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 06:25:02.955572: Best charging limit SoC's [16.0, 3.5, 4.0, 16.0, 16.0, 16.0]kWh, export []kWh gives import battery 20.88kWh, house 3.93kWh, export 0.0kWh, metric 654.71p, metric10 678.36p
2026-08-15 06:25:03.022485: Marginal costs baseline metric (no standing charge): 604.7307
2026-08-15 06:25:03.242760: Marginal energy costs matrix computed: min=14.35 max=31.76
2026-08-15 06:25:03.308653: Rate array import [{'start': 385, 'end': 420, 'rate': 'expensive', 'range': '(25.7p - 27.6p)'}, {'start': 420, 'end': 450, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 450, 'end': 480, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 480, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 23.6p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1860, 'rate': 'expensive', 'range': '(24.6p - 32.9p)'}, {'start': 1860, 'end': 1890, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 1890, 'end': 1920, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 1920, 'end': 2135, 'rate': 'cheap', 'range': '(15.5p - 23.6p)'}] export [{'start': 385, 'end': 2135, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 06:25:03.309366: - Your estimated bill for today is £5.87 and tomorrow is £5.44
2026-08-15 06:25:03.309416: - Import rates are expensive (25.7p - 27.6p) for the next 35 minutes and then cheap (22.7p) for the next 30 minutes.
2026-08-15 06:25:03.309456: - The battery is currently at 9% and is in eco mode for the next 5 hours.
2026-08-15 06:25:03.309473: - For the next 48 hours there will be no solar generation.
2026-08-15 06:25:03.309487: - You will run out of battery in 25 minutes.
2026-08-15 06:25:03.309501: - Your next charge slot will be in 5 hours where import rates will be cheap (15.5p).
2026-08-15 06:25:03.309514: 
2026-08-15 06:25:03.358504: Plan calculation took 1.09 seconds
2026-08-15 06:25:03.361345: No high rate period found
2026-08-15 06:25:03.408149: Import threshold used for optimisation was 22.73p
2026-08-15 06:25:03.466947: Low import rate windows [0: 08-15 06:00:00 - 08-15 06:30:00 @ 25.7, 1: 08-15 06:30:00 - 08-15 07:00:00 @ 27.63, 2: 08-15 07:00:00 - 08-15 07:30:00 @ 22.73, 3: 08-15 07:30:00 - 08-15 08:00:00 @ 26.7, 4: 08-15 08:00:00 - 08-15 08:30:00 @ 22.92, 5: 08-15 08:30:00 - 08-15 09:00:00 @ 22.48, 6: 08-15 09:00:00 - 08-15 09:30:00 @ 23.55, 7: 08-15 09:30:00 - 08-15 10:00:00 @ 23.64, 8: 08-15 10:00:00 - 08-15 10:30:00 @ 19.66, 9: 08-15 10:30:00 - 08-15 11:00:00 @ 17.66, 10: 08-15 11:00:00 - 08-15 11:30:00 @ 16.56, 11: 08-15 11:30:00 - 08-15 12:00:00 @ 15.46, 12: 08-15 12:00:00 - 08-15 12:30:00 @ 17.0, 13: 08-15 12:30:00 - 08-15 13:00:00 @ 16.34, 14: 08-15 13:00:00 - 08-15 13:30:00 @ 15.36, 15: 08-15 13:30:00 - 08-15 14:00:00 @ 15.74, 16: 08-15 14:00:00 - 08-15 14:30:00 @ 14.57, 17: 08-15 14:30:00 - 08-15 15:00:00 @ 13.77, 18: 08-15 15:00:00 - 08-15 15:30:00 @ 15.02, 19: 08-15 15:30:00 - 08-15 16:00:00 @ 15.87, 20: 08-15 16:00:00 - 08-15 16:30:00 @ 33.13, 21: 08-15 16:30:00 - 08-15 17:00:00 @ 33.13, 22: 08-15 17:00:00 - 08-15 17:30:00 @ 38.46, 23: 08-15 17:30:00 - 08-15 18:00:00 @ 40.44, 24: 08-15 18:00:00 - 08-15 18:30:00 @ 41.55, 25: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 26: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 27: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 28: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 29: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 30: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 31: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 32: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 33: 08-15 23:00:00 - 08-15 23:30:00 @ 27.8, 34: 08-15 23:30:00 - 08-16 00:00:00 @ 29.09, 35: 08-16 00:00:00 - 08-16 00:30:00 @ 28.47, 36: 08-16 00:30:00 - 08-16 01:00:00 @ 27.18, 37: 08-16 01:00:00 - 08-16 01:30:00 @ 27.57, 38: 08-16 01:30:00 - 08-16 02:00:00 @ 26.5, 39: 08-16 02:00:00 - 08-16 02:30:00 @ 25.6, 40: 08-16 02:30:00 - 08-16 03:00:00 @ 24.79, 41: 08-16 03:00:00 - 08-16 03:30:00 @ 25.08, 42: 08-16 03:30:00 - 08-16 04:00:00 @ 24.62, 43: 08-16 04:00:00 - 08-16 04:30:00 @ 27.02, 44: 08-16 04:30:00 - 08-16 05:00:00 @ 26.47, 45: 08-16 05:00:00 - 08-16 05:30:00 @ 26.25, 46: 08-16 05:30:00 - 08-16 06:00:00 @ 26.4, 47: 08-16 06:00:00 - 08-16 06:30:00 @ 25.7, 48: 08-16 06:30:00 - 08-16 07:00:00 @ 27.63, 49: 08-16 07:00:00 - 08-16 07:30:00 @ 22.73, 50: 08-16 07:30:00 - 08-16 08:00:00 @ 26.7, 51: 08-16 08:00:00 - 08-16 08:30:00 @ 22.92, 52: 08-16 08:30:00 - 08-16 09:00:00 @ 22.48, 53: 08-16 09:00:00 - 08-16 09:30:00 @ 23.55, 54: 08-16 09:30:00 - 08-16 10:00:00 @ 23.64, 55: 08-16 10:00:00 - 08-16 10:30:00 @ 19.66, 56: 08-16 10:30:00 - 08-16 11:00:00 @ 17.66, 57: 08-16 11:00:00 - 08-16 11:30:00 @ 16.56, 58: 08-16 11:30:00 - 08-16 12:00:00 @ 15.46, 59: 08-16 12:00:00 - 08-16 12:30:00 @ 17.0, 60: 08-16 12:30:00 - 08-16 13:00:00 @ 16.34, 61: 08-16 13:00:00 - 08-16 13:30:00 @ 15.36, 62: 08-16 13:30:00 - 08-16 14:00:00 @ 15.74, 63: 08-16 14:00:00 - 08-16 14:30:00 @ 14.57, 64: 08-16 14:30:00 - 08-16 15:00:00 @ 13.77, 65: 08-16 15:00:00 - 08-16 15:30:00 @ 15.02, 66: 08-16 15:30:00 - 08-16 16:00:00 @ 15.87, 67: 08-16 16:00:00 - 08-16 16:30:00 @ 33.13, 68: 08-16 16:30:00 - 08-16 17:00:00 @ 33.13, 69: 08-16 17:00:00 - 08-16 17:30:00 @ 38.46, 70: 08-16 17:30:00 - 08-16 18:00:00 @ 40.44, 71: 08-16 18:00:00 - 08-16 18:30:00 @ 41.55, 72: 08-16 19:00:00 - 08-16 19:30:00 @ 32.58, 73: 08-16 19:30:00 - 08-16 20:00:00 @ 32.9, 74: 08-16 20:00:00 - 08-16 20:30:00 @ 31.99, 75: 08-16 20:30:00 - 08-16 21:00:00 @ 32.1, 76: 08-16 21:00:00 - 08-16 21:30:00 @ 31.71, 77: 08-16 21:30:00 - 08-16 22:00:00 @ 31.67, 78: 08-16 22:00:00 - 08-16 22:30:00 @ 31.77, 79: 08-16 22:30:00 - 08-16 23:00:00 @ 29.81, 80: 08-16 23:00:00 - 08-16 23:30:00 @ 27.8, 81: 08-16 23:30:00 - 08-17 00:00:00 @ 29.09, 82: 08-17 00:00:00 - 08-17 00:30:00 @ 28.47, 83: 08-17 00:30:00 - 08-17 01:00:00 @ 27.18, 84: 08-17 01:00:00 - 08-17 01:30:00 @ 27.57, 85: 08-17 01:30:00 - 08-17 02:00:00 @ 26.5, 86: 08-17 02:00:00 - 08-17 02:30:00 @ 25.6, 87: 08-17 02:30:00 - 08-17 03:00:00 @ 24.79, 88: 08-17 03:00:00 - 08-17 03:30:00 @ 25.08, 89: 08-17 03:30:00 - 08-17 04:00:00 @ 24.62, 90: 08-17 04:00:00 - 08-17 04:30:00 @ 27.02, 91: 08-17 04:30:00 - 08-17 05:00:00 @ 26.47, 92: 08-17 05:00:00 - 08-17 05:30:00 @ 26.25, 93: 08-17 05:30:00 - 08-17 06:00:00 @ 26.4, 94: 08-17 06:00:00 - 08-17 06:30:00 @ 25.7]
2026-08-15 06:25:03.473946: Inverter 0 Charge window will be: 2026-08-15 11:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 9%, target 100%
2026-08-15 06:25:03.474105: Inverter 0 disabled charge window while waiting for schedule (now 08-15 06:25:00 target set_window_minutes 30 charge start time 08-15 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 06:25:03.474226: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 06:25:03.474493: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 06:25:03.474591: No export window planned
2026-08-15 06:25:03.474714: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 06:25:03.474751: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 06:25:03.474920: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 06:25:03.475107: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 06:25:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 06:25:03.475171: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 06:25:03.475233: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 06:25:03.475323: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 06:25:03.475367: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 06:25:03.475399: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 06:25:03.475424: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 06:25:03.475474: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 06:25:03.475500: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 06:25:03.475530: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 06:25:03.475593: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 06:25:03.475628: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 06:25:03.475654: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 06:25:03.475680: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 06:25:03.475704: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 06:25:03.475728: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 06:25:03.475771: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 06:25:03.475793: Inverter 0 count register writes 0
2026-08-15 06:25:03.491550: Will not recompute the plan, it is 5.0 minutes old and max age is 10 minutes
2026-08-15 06:25:03.497438: Total inverter register writes now 815
2026-08-15 06:25:03.530519: Info: Completed run status Demand
2026-08-15 06:25:03.536773: Info: record_status Demand
2026-08-15 06:25:03.544821: Saved current settings to /config/predbat_config.json
2026-08-15 06:25:03.545200: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 06:25:41.642693: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 06:25:41.643083: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 06:25:41.643141: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 06:25:41.643395: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 06:25:41.643445: Note: Inverter does not support discharge freeze - disabled
2026-08-15 06:25:41.643469: Note: Inverter does not support charge freeze - disabled
2026-08-15 06:25:41.643486: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 06:27:41.868510: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 06:27:41.868751: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 06:27:41.868813: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 06:27:41.869060: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 06:27:41.869121: Note: Inverter does not support discharge freeze - disabled
2026-08-15 06:27:41.869164: Note: Inverter does not support charge freeze - disabled
2026-08-15 06:27:41.869182: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 06:29:42.083340: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 06:29:42.083654: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 06:29:42.083718: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 06:29:42.083962: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 06:29:42.084023: Note: Inverter does not support discharge freeze - disabled
2026-08-15 06:29:42.084046: Note: Inverter does not support charge freeze - disabled
2026-08-15 06:29:42.084064: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 06:30:00.180274: --------------- PredBat - update at 2026-08-15 06:30:00+01:00 with clock skew 0 minutes, minutes now 390
2026-08-15 06:30:00.181191: Saved current settings to /config/predbat_config.json
2026-08-15 06:30:00.181321: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 20.0 minutes
2026-08-15 06:30:00.181506: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.1, latest beta is v8.48.1
2026-08-15 06:30:00.181608: Autoupdate: Currently up to date
2026-08-15 06:30:00.202209: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 06:30:00.202358: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 06:30:00.202594: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 06:30:00.203226: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 06:30:00.203414: Predbat mode is set to Control charge & discharge
2026-08-15 06:30:00.380110: Found 21602 load_today datapoints going back 28 days
2026-08-15 06:30:00.380286: Using load_power data to fill gaps in load_today data
2026-08-15 06:30:01.196126: Processing 721 30-minute periods for power integration
2026-08-15 06:30:01.390959: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 06:30:01.391080: Car charging hold False, threshold 6.0kWh
2026-08-15 06:30:01.391119: Current data so far today: load 5.35kWh, import 5.9kWh, export 0.0kWh, PV 0kWh
2026-08-15 06:30:01.405024: Cars: SoC: [12.892000000000001]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 06:30:01.405377: Standing charge is set to 49.98p
2026-08-15 06:30:01.433197: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 06:30:01.433318: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 06:30:01.433578: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 390.0 minutes
2026-08-15 06:30:01.434057: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 389.6 minutes
2026-08-15 06:30:01.437076: Loaded 47 datapoints of futurerate analysis
2026-08-15 06:30:01.532109: Predicted future rates: ['08-15 00:00:00 => 28.9 / 20.01', '08-15 01:00:00 => 27.54 / 19.31', '08-15 02:00:00 => 26.52 / 18.8', '08-15 03:00:00 => 25.99 / 18.53', '08-15 04:00:00 => 25.8 / 18.43', '08-15 05:00:00 => 25.96 / 18.51', '08-15 06:00:00 => 25.55 / 18.3', '08-15 07:00:00 => 24.33 / 17.68', '08-15 08:00:00 => 23.03 / 17.01', '08-15 09:00:00 => 22.05 / 16.51', '08-15 10:00:00 => 20.43 / 15.68', '08-15 11:00:00 => 18.01 / 14.45', '08-15 12:00:00 => 16.37 / 13.61', '08-15 13:00:00 => 15.76 / 13.3', '08-15 14:00:00 => 15.35 / 13.09', '08-15 15:00:00 => 15.86 / 13.35', '08-15 16:00:00 => 32.89 / 16.13', '08-15 17:00:00 => 38.02 / 18.75', '08-15 18:00:00 => 42.36 / 20.96', '08-15 19:00:00 => 31.09 / 21.13', '08-15 20:00:00 => 31.64 / 21.41', '08-15 21:00:00 => 31.64 / 21.41', '08-15 22:00:00 => 30.58 / 20.87']
2026-08-15 06:30:01.587351: Rate min forward looking: now 13.77p at end of forecast 13.77p
2026-08-15 06:30:01.587807: Import rates: min 13.77p, max 43.82p, average 25.96p
2026-08-15 06:30:01.624083: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 06:30:01.624199: Rate thresholds (for charge/export) are import 43.32p (0.0p), export -0.1p (0.0p)
2026-08-15 06:30:01.625270: High export rate found rates in range 99p to -99p
2026-08-15 06:30:01.691789: Low Import rate found rates in range 13.77p to 41.55p
2026-08-15 06:30:01.691936: Car 0 charging is not planned as it is not plugged in
2026-08-15 06:30:01.703861: Battery level now 1.44kWh, -1hr ago 1.92kWh, at midnight 1.66kWh, battery value change in the last hour -5.68p, change today -2.55p, rate_forward 11.83p
2026-08-15 06:30:01.704242: Last hour: net energy 0.0kWh, import 0.0kWh, export 0.0kWh, car 0kWh, load 0.5kWh, net cost 0.0p, import 0.0p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 06:30:01.756655: Today's energy total net 5.9kWh, import 5.9kWh, export 0.0kWh, cost 207.56p, import 157.57p, export 0.0p, carbon 0.0kg
2026-08-15 06:30:01.756792: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 06:30:01.849489: Using weighted-bucket historical load forecast over 14 days
2026-08-15 06:30:01.875556: Today's load divergence 107.81%, in-day adjustment 133.92%, damping 0.95x, yesterday 143.77% today 107.42% blend 72.92%
2026-08-15 06:30:01.875672: Today's predicted so far 4.09kWh with 0.0kWh car/iBoost excluded, 2.42kWh import ignored, and 4.09kWh forecast extra.
2026-08-15 06:30:01.875758: Today's actual load so far 5.41kWh with 0.0kWh car/iBoost excluded, and 2.42kWh import ignored.
2026-08-15 06:30:01.911887: Inverter 0: Type SK Sunsynk
2026-08-15 06:30:01.912011: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 06:30:01.912231: Reserve min: 7%, battery_min: 7%
2026-08-15 06:30:01.912312: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 06:30:01.912603: Inverter 0 SoC: 1.44kW 9%, current charge rate 5000W, current discharge rate 5250W, current battery power 441W, current battery voltage 51.2V, grid power -59W, load power 502W, PV Power 0W
2026-08-15 06:30:01.912766: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 06:30:01.912857: Inverter 0 scheduled charge enable is False
2026-08-15 06:30:01.912889: Inverter 0 charge windows currently []
2026-08-15 06:30:01.912941: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 06:30:01.913094: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 06:30:01.913131: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 06:30:01.913168: Inverter 0 scheduled discharge enable is False
2026-08-15 06:30:01.913296: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 06:30:01.913333: Inverter 0 discharge windows currently []
2026-08-15 06:30:01.913355: Note: Inverter does not support discharge freeze - disabled
2026-08-15 06:30:01.913373: Note: Inverter does not support charge freeze - disabled
2026-08-15 06:30:01.913397: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 06:30:01.972248: Dynamic load last period 0.60kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 06:30:01.972342: Plan was last updated on 2026-08-15 06:20:00+01:00 and is now 10.0 minutes old
2026-08-15 06:30:01.972574: Best charge window [ 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 00:30:00 @ 28.84p 100% ]
2026-08-15 06:30:01.972640: Best export window [  ]
2026-08-15 06:30:01.973355: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 06:30:01.975913: Load divergence over 8.0 hours mean 598.21W, min 281.4W, max 1607.4W, std dev 333.89W, divergence 27.91%
2026-08-15 06:30:01.990983: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 06:30:01.991094: LoadML is_calculating False
2026-08-15 06:30:01.991157: Creating pool of 12 processes to match your CPU count
2026-08-15 06:30:02.102369: predict base end_record 08-16 11:40:00, final soc 1.12kWh, metric 816.1p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 06:55:00, load 27.91kWh, PV 0.0kWh
2026-08-15 06:30:02.233585: Battery has 0.42 hours left - now at 1.44kWh
2026-08-15 06:30:02.272091: predict base10 end_record 08-16 11:40:00, final soc 1.12kWh, metric 843.04p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 06:55:00, load 28.98kWh, PV 0.0kWh
2026-08-15 06:30:02.353303: predict best10 end_record 08-16 11:40:00, final soc 1.77kWh, metric 682.58p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 06:55:00, load 28.98kWh, PV 0.0kWh
2026-08-15 06:30:02.435148: predict best end_record 08-16 11:40:00, final soc 1.9kWh, metric 660.33p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 06:55:00, load 27.91kWh, PV 0.0kWh
2026-08-15 06:30:02.435267: Saving plan best values to HA entities
2026-08-15 06:30:02.637145: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 06:30:02.642887: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0.0
2026-08-15 06:30:02.649312: Best charging limit SoC's [16.0, 3.5, 4.0, 16.0, 16.0, 16.0]kWh, export []kWh gives import battery 21.38kWh, house 3.83kWh, export 0.0kWh, metric 660.33p, metric10 682.58p
2026-08-15 06:30:02.726244: Marginal costs baseline metric (no standing charge): 610.3506
2026-08-15 06:30:03.023198: Marginal energy costs matrix computed: min=14.39 max=31.34
2026-08-15 06:30:03.100319: Rate array import [{'start': 390, 'end': 420, 'rate': 'expensive', 'range': '(27.6p)'}, {'start': 420, 'end': 450, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 450, 'end': 480, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 480, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 23.6p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1860, 'rate': 'expensive', 'range': '(24.6p - 32.9p)'}, {'start': 1860, 'end': 1890, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 1890, 'end': 1920, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 1920, 'end': 2140, 'rate': 'cheap', 'range': '(15.5p - 23.6p)'}] export [{'start': 390, 'end': 2140, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 06:30:03.101043: - Your estimated bill for today is £5.86 and tomorrow is £5.41
2026-08-15 06:30:03.101103: - Import rates are expensive (27.6p) for the next 30 minutes and then cheap (22.7p) for the next 30 minutes.
2026-08-15 06:30:03.101126: - The battery is currently at 9% and is in eco mode for the next 5 hours.
2026-08-15 06:30:03.101145: - For the next 48 hours there will be no solar generation.
2026-08-15 06:30:03.101162: - You will run out of battery in 25 minutes.
2026-08-15 06:30:03.101179: - Your next charge slot will be in 5 hours where import rates will be cheap (15.5p).
2026-08-15 06:30:03.101197: 
2026-08-15 06:30:03.157107: Plan calculation took 1.18 seconds
2026-08-15 06:30:03.160448: No high rate period found
2026-08-15 06:30:03.211247: Import threshold used for optimisation was 22.73p
2026-08-15 06:30:03.269843: Low import rate windows [0: 08-15 06:30:00 - 08-15 07:00:00 @ 27.63, 1: 08-15 07:00:00 - 08-15 07:30:00 @ 22.73, 2: 08-15 07:30:00 - 08-15 08:00:00 @ 26.7, 3: 08-15 08:00:00 - 08-15 08:30:00 @ 22.92, 4: 08-15 08:30:00 - 08-15 09:00:00 @ 22.48, 5: 08-15 09:00:00 - 08-15 09:30:00 @ 23.55, 6: 08-15 09:30:00 - 08-15 10:00:00 @ 23.64, 7: 08-15 10:00:00 - 08-15 10:30:00 @ 19.66, 8: 08-15 10:30:00 - 08-15 11:00:00 @ 17.66, 9: 08-15 11:00:00 - 08-15 11:30:00 @ 16.56, 10: 08-15 11:30:00 - 08-15 12:00:00 @ 15.46, 11: 08-15 12:00:00 - 08-15 12:30:00 @ 17.0, 12: 08-15 12:30:00 - 08-15 13:00:00 @ 16.34, 13: 08-15 13:00:00 - 08-15 13:30:00 @ 15.36, 14: 08-15 13:30:00 - 08-15 14:00:00 @ 15.74, 15: 08-15 14:00:00 - 08-15 14:30:00 @ 14.57, 16: 08-15 14:30:00 - 08-15 15:00:00 @ 13.77, 17: 08-15 15:00:00 - 08-15 15:30:00 @ 15.02, 18: 08-15 15:30:00 - 08-15 16:00:00 @ 15.87, 19: 08-15 16:00:00 - 08-15 16:30:00 @ 33.13, 20: 08-15 16:30:00 - 08-15 17:00:00 @ 33.13, 21: 08-15 17:00:00 - 08-15 17:30:00 @ 38.46, 22: 08-15 17:30:00 - 08-15 18:00:00 @ 40.44, 23: 08-15 18:00:00 - 08-15 18:30:00 @ 41.55, 24: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 25: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 26: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 27: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 28: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 29: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 30: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 31: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 32: 08-15 23:00:00 - 08-15 23:30:00 @ 27.8, 33: 08-15 23:30:00 - 08-16 00:00:00 @ 29.09, 34: 08-16 00:00:00 - 08-16 00:30:00 @ 28.47, 35: 08-16 00:30:00 - 08-16 01:00:00 @ 27.18, 36: 08-16 01:00:00 - 08-16 01:30:00 @ 27.57, 37: 08-16 01:30:00 - 08-16 02:00:00 @ 26.5, 38: 08-16 02:00:00 - 08-16 02:30:00 @ 25.6, 39: 08-16 02:30:00 - 08-16 03:00:00 @ 24.79, 40: 08-16 03:00:00 - 08-16 03:30:00 @ 25.08, 41: 08-16 03:30:00 - 08-16 04:00:00 @ 24.62, 42: 08-16 04:00:00 - 08-16 04:30:00 @ 27.02, 43: 08-16 04:30:00 - 08-16 05:00:00 @ 26.47, 44: 08-16 05:00:00 - 08-16 05:30:00 @ 26.25, 45: 08-16 05:30:00 - 08-16 06:00:00 @ 26.4, 46: 08-16 06:00:00 - 08-16 06:30:00 @ 25.7, 47: 08-16 06:30:00 - 08-16 07:00:00 @ 27.63, 48: 08-16 07:00:00 - 08-16 07:30:00 @ 22.73, 49: 08-16 07:30:00 - 08-16 08:00:00 @ 26.7, 50: 08-16 08:00:00 - 08-16 08:30:00 @ 22.92, 51: 08-16 08:30:00 - 08-16 09:00:00 @ 22.48, 52: 08-16 09:00:00 - 08-16 09:30:00 @ 23.55, 53: 08-16 09:30:00 - 08-16 10:00:00 @ 23.64, 54: 08-16 10:00:00 - 08-16 10:30:00 @ 19.66, 55: 08-16 10:30:00 - 08-16 11:00:00 @ 17.66, 56: 08-16 11:00:00 - 08-16 11:30:00 @ 16.56, 57: 08-16 11:30:00 - 08-16 12:00:00 @ 15.46, 58: 08-16 12:00:00 - 08-16 12:30:00 @ 17.0, 59: 08-16 12:30:00 - 08-16 13:00:00 @ 16.34, 60: 08-16 13:00:00 - 08-16 13:30:00 @ 15.36, 61: 08-16 13:30:00 - 08-16 14:00:00 @ 15.74, 62: 08-16 14:00:00 - 08-16 14:30:00 @ 14.57, 63: 08-16 14:30:00 - 08-16 15:00:00 @ 13.77, 64: 08-16 15:00:00 - 08-16 15:30:00 @ 15.02, 65: 08-16 15:30:00 - 08-16 16:00:00 @ 15.87, 66: 08-16 16:00:00 - 08-16 16:30:00 @ 33.13, 67: 08-16 16:30:00 - 08-16 17:00:00 @ 33.13, 68: 08-16 17:00:00 - 08-16 17:30:00 @ 38.46, 69: 08-16 17:30:00 - 08-16 18:00:00 @ 40.44, 70: 08-16 18:00:00 - 08-16 18:30:00 @ 41.55, 71: 08-16 19:00:00 - 08-16 19:30:00 @ 32.58, 72: 08-16 19:30:00 - 08-16 20:00:00 @ 32.9, 73: 08-16 20:00:00 - 08-16 20:30:00 @ 31.99, 74: 08-16 20:30:00 - 08-16 21:00:00 @ 32.1, 75: 08-16 21:00:00 - 08-16 21:30:00 @ 31.71, 76: 08-16 21:30:00 - 08-16 22:00:00 @ 31.67, 77: 08-16 22:00:00 - 08-16 22:30:00 @ 31.77, 78: 08-16 22:30:00 - 08-16 23:00:00 @ 29.81, 79: 08-16 23:00:00 - 08-16 23:30:00 @ 27.8, 80: 08-16 23:30:00 - 08-17 00:00:00 @ 29.09, 81: 08-17 00:00:00 - 08-17 00:30:00 @ 28.47, 82: 08-17 00:30:00 - 08-17 01:00:00 @ 27.18, 83: 08-17 01:00:00 - 08-17 01:30:00 @ 27.57, 84: 08-17 01:30:00 - 08-17 02:00:00 @ 26.5, 85: 08-17 02:00:00 - 08-17 02:30:00 @ 25.6, 86: 08-17 02:30:00 - 08-17 03:00:00 @ 24.79, 87: 08-17 03:00:00 - 08-17 03:30:00 @ 25.08, 88: 08-17 03:30:00 - 08-17 04:00:00 @ 24.62, 89: 08-17 04:00:00 - 08-17 04:30:00 @ 27.02, 90: 08-17 04:30:00 - 08-17 05:00:00 @ 26.47, 91: 08-17 05:00:00 - 08-17 05:30:00 @ 26.25, 92: 08-17 05:30:00 - 08-17 06:00:00 @ 26.4, 93: 08-17 06:00:00 - 08-17 06:30:00 @ 25.7]
2026-08-15 06:30:03.277530: Inverter 0 Charge window will be: 2026-08-15 11:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 9%, target 100%
2026-08-15 06:30:03.277678: Inverter 0 disabled charge window while waiting for schedule (now 08-15 06:30:00 target set_window_minutes 30 charge start time 08-15 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 06:30:03.277804: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 06:30:03.278094: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 06:30:03.278191: No export window planned
2026-08-15 06:30:03.278306: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 06:30:03.278342: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 06:30:03.278478: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 06:30:03.278678: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 06:30:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 06:30:03.278741: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 06:30:03.278810: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 06:30:03.278923: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 06:30:03.278980: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 06:30:03.279040: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 06:30:03.279068: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 06:30:03.279093: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 06:30:03.279116: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 06:30:03.279139: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 06:30:03.279207: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 06:30:03.279243: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 06:30:03.279269: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 06:30:03.279294: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 06:30:03.279318: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 06:30:03.279341: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 06:30:03.279368: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 06:30:03.279388: Inverter 0 count register writes 0
2026-08-15 06:30:03.296628: Will recompute the plan as it is now 10.0 minutes old and will exceed the max age of 10 minutes before the next run
2026-08-15 06:30:03.296823: Recompute is saving previous plan...
2026-08-15 06:30:03.299987: Best charge window [ 15-08 06:30:00 - 15-08 07:00:00 @ 27.63p 0%, 15-08 07:00:00 - 15-08 07:30:00 @ 22.73p 0%, 15-08 07:30:00 - 15-08 08:00:00 @ 26.7p 0%, 15-08 08:00:00 - 15-08 08:30:00 @ 22.92p 0%, 15-08 08:30:00 - 15-08 09:00:00 @ 22.48p 0%, 15-08 09:00:00 - 15-08 09:30:00 @ 23.55p 0%, 15-08 09:30:00 - 15-08 10:00:00 @ 23.64p 0%, 15-08 10:00:00 - 15-08 10:30:00 @ 19.66p 0%, 15-08 10:30:00 - 15-08 11:00:00 @ 17.66p 0%, 15-08 11:00:00 - 15-08 11:30:00 @ 16.56p 0%, 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 0%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 0%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 0%, 15-08 13:00:00 - 15-08 13:30:00 @ 15.36p 0%, 15-08 13:30:00 - 15-08 14:00:00 @ 15.74p 0%, 15-08 14:00:00 - 15-08 14:30:00 @ 14.57p 0%, 15-08 14:30:00 - 15-08 15:00:00 @ 13.77p 0%, 15-08 15:00:00 - 15-08 15:30:00 @ 15.02p 0%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 0%, 15-08 16:00:00 - 15-08 16:30:00 @ 33.13p 0%, 15-08 16:30:00 - 15-08 17:00:00 @ 33.13p 0%, 15-08 17:00:00 - 15-08 17:30:00 @ 38.46p 0%, 15-08 17:30:00 - 15-08 18:00:00 @ 40.44p 0%, 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 0%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 0%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 0%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 0%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 0%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 27.8p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 29.09p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.47p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.18p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 27.57p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.5p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.6p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 24.79p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 25.08p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 24.62p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 27.02p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.47p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 26.25p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.4p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.7p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 27.63p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 22.73p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 26.7p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 22.92p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 22.48p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 23.55p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 23.64p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 19.66p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 17.66p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 16.56p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 15.46p 0%, 16-08 12:00:00 - 16-08 12:30:00 @ 17.0p 0%, 16-08 12:30:00 - 16-08 13:00:00 @ 16.34p 0%, 16-08 13:00:00 - 16-08 13:30:00 @ 15.36p 0%, 16-08 13:30:00 - 16-08 14:00:00 @ 15.74p 0%, 16-08 14:00:00 - 16-08 14:30:00 @ 14.57p 0%, 16-08 14:30:00 - 16-08 15:00:00 @ 13.77p 0%, 16-08 15:00:00 - 16-08 15:30:00 @ 15.02p 0%, 16-08 15:30:00 - 16-08 16:00:00 @ 15.87p 0%, 16-08 16:00:00 - 16-08 16:30:00 @ 33.13p 0%, 16-08 16:30:00 - 16-08 17:00:00 @ 33.13p 0%, 16-08 17:00:00 - 16-08 17:30:00 @ 38.46p 0%, 16-08 17:30:00 - 16-08 18:00:00 @ 40.44p 0%, 16-08 18:00:00 - 16-08 18:30:00 @ 41.55p 0%, 16-08 19:00:00 - 16-08 19:30:00 @ 32.58p 0%, 16-08 19:30:00 - 16-08 20:00:00 @ 32.9p 0%, 16-08 20:00:00 - 16-08 20:30:00 @ 31.99p 0%, 16-08 20:30:00 - 16-08 21:00:00 @ 32.1p 0%, 16-08 21:00:00 - 16-08 21:30:00 @ 31.71p 0%, 16-08 21:30:00 - 16-08 22:00:00 @ 31.67p 0%, 16-08 22:00:00 - 16-08 22:30:00 @ 31.77p 0%, 16-08 22:30:00 - 16-08 23:00:00 @ 29.81p 0%, 16-08 23:00:00 - 16-08 23:30:00 @ 27.8p 0%, 16-08 23:30:00 - 17-08 00:00:00 @ 29.09p 0%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.47p 0%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.18p 0%, 17-08 01:00:00 - 17-08 01:30:00 @ 27.57p 0%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.5p 0%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.6p 0%, 17-08 02:30:00 - 17-08 03:00:00 @ 24.79p 0%, 17-08 03:00:00 - 17-08 03:30:00 @ 25.08p 0%, 17-08 03:30:00 - 17-08 04:00:00 @ 24.62p 0%, 17-08 04:00:00 - 17-08 04:30:00 @ 27.02p 0%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.47p 0%, 17-08 05:00:00 - 17-08 05:30:00 @ 26.25p 0%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.4p 0%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.7p 0% ]
2026-08-15 06:30:03.300069: Best export window [  ]
2026-08-15 06:30:03.300918: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 06:30:03.304090: Load divergence over 8.0 hours mean 598.21W, min 281.4W, max 1607.4W, std dev 333.89W, divergence 27.91%
2026-08-15 06:30:03.320593: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 06:30:03.320701: LoadML is_calculating False
2026-08-15 06:30:03.320759: Creating pool of 12 processes to match your CPU count
2026-08-15 06:30:03.408063: Calculate Best options: mode(Control charge & discharge), calculate_export_oncharge(False), calculate_export_on_pv(True), set_export_freeze_only(False), set_discharge_during_charge(True), combine_charge_slots(False), combine_export_slots(False), combine_rate_threshold(0.0), best_soc_min(0.0 kWh), best_soc_max(0.0 kWh), best_soc_keep(0.0 kWh), inverter_loss(4%), battery_loss(3%), battery_loss_discharge (3%), inverter_hybrid(True), metric_min_improvement(0.0p), metric_min_improvement_export(0.1p), metric_min_improvement_export_freeze(0.1p), metric_battery_cycle(0.0p/kWh), metric_battery_value_scaling(1.0 x) 
2026-08-15 06:30:03.410264: Optimise levels pass started at 2026-08-15 06:30:03
2026-08-15 06:30:03.410343: Optimise all windows, total charge 94 export 1
2026-08-15 06:30:04.577701: >> Region optimisation pass width 960 gives best_metric 817.04p, best_cost 822.53p, best_cycle 54.55kWh, best_import 39.01kWh
2026-08-15 06:30:05.010704: >> Region optimisation pass width 480 gives best_metric 817.04p, best_cost 822.53p, best_cycle 54.55kWh, best_import 39.01kWh
2026-08-15 06:30:05.517299: >> Region optimisation pass width 240 gives best_metric 817.04p, best_cost 822.53p, best_cycle 54.55kWh, best_import 39.01kWh
2026-08-15 06:30:06.699478: >> Region optimisation pass width 120 gives best_metric 817.04p, best_cost 822.53p, best_cycle 54.55kWh, best_import 39.01kWh
2026-08-15 06:30:06.699881: Calculated end_record as 08-16 11:30:00 based on best_price 16.34p, next_charge_start 08-15 11:30:00, max_windows 57
2026-08-15 06:30:06.699985: Optimise levels pass ended at 2026-08-15 06:30:06, duration 3.3 seconds tried 317 combinations
2026-08-15 06:30:06.700054: Set best_price_charge_level 17.6p, best_price_export_level 0p, best_price_charge 16.34p, best_cost_export 0p, best_metric 817.04p, best_keep 0kWh, best_cycle 54.55kWh, best_carbon 0kg, best_import 39.01kWh
2026-08-15 06:30:06.721066: Starting detailed optimisation end_record 08-16 11:30:00, best_price_charge 16.34p, best_price_export 0p. lowest_price_charge 13.77p with charge limits [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0]kWh and export limits []kWh
2026-08-15 06:30:12.030041: Tweak plan optimisation started metric 584.83p, cost 594.37p
2026-08-15 06:30:12.297143: Tweak optimisation finished metric 584.83p, cost 594.37p, metric_keep 0kWh, cycle 29.36kWh, carbon 0kg, import 24.14kWh, changed 8 window(s)
2026-08-15 06:30:12.317335: Swap charge optimisation started metric 584.83p, cost 594.37p, min_improvement_swap 0.1p
2026-08-15 06:30:17.337766: Swap charge optimisation finished metric 584.83p, cost 594.37p
2026-08-15 06:30:17.458701: Pruned 2 dead plan slot(s) in 11 trial(s), nominal metric 581.13p -> 581.13p, plan now metric 584.89p, cost 594.37p, cycle 29.36kWh, import 24.14kWh
2026-08-15 06:30:17.468247: Raw charge windows [ 15-08 06:30:00 - 15-08 07:00:00 @ 27.63p 0%, 15-08 07:00:00 - 15-08 07:30:00 @ 22.73p 0%, 15-08 07:30:00 - 15-08 08:00:00 @ 26.7p 0%, 15-08 08:00:00 - 15-08 08:30:00 @ 22.92p 0%, 15-08 08:30:00 - 15-08 09:00:00 @ 22.48p 0%, 15-08 09:00:00 - 15-08 09:30:00 @ 23.55p 0%, 15-08 09:30:00 - 15-08 10:00:00 @ 23.64p 0%, 15-08 10:00:00 - 15-08 10:30:00 @ 19.66p 0%, 15-08 10:30:00 - 15-08 11:00:00 @ 17.66p 0%, 15-08 11:00:00 - 15-08 11:30:00 @ 16.56p 0%, 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 13:30:00 @ 15.36p 100%, 15-08 13:30:00 - 15-08 14:00:00 @ 15.74p 100%, 15-08 14:00:00 - 15-08 14:30:00 @ 14.57p 100%, 15-08 14:30:00 - 15-08 15:00:00 @ 13.77p 100%, 15-08 15:00:00 - 15-08 15:30:00 @ 15.02p 100%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 97%, 15-08 16:00:00 - 15-08 16:30:00 @ 33.13p 0%, 15-08 16:30:00 - 15-08 17:00:00 @ 33.13p 0%, 15-08 17:00:00 - 15-08 17:30:00 @ 38.46p 0%, 15-08 17:30:00 - 15-08 18:00:00 @ 40.44p 0%, 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 0%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 0%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 0%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 0%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 0%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 27.8p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 29.09p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.47p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.18p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 27.57p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.5p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.6p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 24.79p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 25.08p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 24.62p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 27.02p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.47p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 26.25p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.4p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.7p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 27.63p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 22.73p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 26.7p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 22.92p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 22.48p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 23.55p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 23.64p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 19.66p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 17.66p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 16.56p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 15.46p 100%, 16-08 12:00:00 - 16-08 12:30:00 @ 17.0p 100%, 16-08 12:30:00 - 16-08 13:00:00 @ 16.34p 100%, 16-08 13:00:00 - 16-08 13:30:00 @ 15.36p 100%, 16-08 13:30:00 - 16-08 14:00:00 @ 15.74p 100%, 16-08 14:00:00 - 16-08 14:30:00 @ 14.57p 100%, 16-08 14:30:00 - 16-08 15:00:00 @ 13.77p 100%, 16-08 15:00:00 - 16-08 15:30:00 @ 15.02p 100%, 16-08 15:30:00 - 16-08 16:00:00 @ 15.87p 100%, 16-08 16:00:00 - 16-08 16:30:00 @ 33.13p 100%, 16-08 16:30:00 - 16-08 17:00:00 @ 33.13p 100%, 16-08 17:00:00 - 16-08 17:30:00 @ 38.46p 100%, 16-08 17:30:00 - 16-08 18:00:00 @ 40.44p 100%, 16-08 18:00:00 - 16-08 18:30:00 @ 41.55p 100%, 16-08 19:00:00 - 16-08 19:30:00 @ 32.58p 100%, 16-08 19:30:00 - 16-08 20:00:00 @ 32.9p 100%, 16-08 20:00:00 - 16-08 20:30:00 @ 31.99p 100%, 16-08 20:30:00 - 16-08 21:00:00 @ 32.1p 100%, 16-08 21:00:00 - 16-08 21:30:00 @ 31.71p 100%, 16-08 21:30:00 - 16-08 22:00:00 @ 31.67p 100%, 16-08 22:00:00 - 16-08 22:30:00 @ 31.77p 100%, 16-08 22:30:00 - 16-08 23:00:00 @ 29.81p 100%, 16-08 23:00:00 - 16-08 23:30:00 @ 27.8p 100%, 16-08 23:30:00 - 17-08 00:00:00 @ 29.09p 100%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.47p 100%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.18p 100%, 17-08 01:00:00 - 17-08 01:30:00 @ 27.57p 100%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.5p 100%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.6p 100%, 17-08 02:30:00 - 17-08 03:00:00 @ 24.79p 100%, 17-08 03:00:00 - 17-08 03:30:00 @ 25.08p 100%, 17-08 03:30:00 - 17-08 04:00:00 @ 24.62p 100%, 17-08 04:00:00 - 17-08 04:30:00 @ 27.02p 100%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.47p 100%, 17-08 05:00:00 - 17-08 05:30:00 @ 26.25p 100%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.4p 100%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.7p 100% ] reserve 1.12
2026-08-15 06:30:17.468801: Unclipped charge windows [ 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 15:30:00 @ 14.71p 100%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 97%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 06:30:00 @ 26.01p 100% ] reserve 1.12
2026-08-15 06:30:17.469104: Unfiltered charge windows [ 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 15:30:00 @ 14.71p 100%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 97%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 06:30:00 @ 26.01p 100% ] reserve 1.12
2026-08-15 06:30:17.469338: Filtered charge windows [ 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 15:30:00 @ 14.71p 100%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 97%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 06:30:00 @ 26.01p 100% ] reserve 1.12
2026-08-15 06:30:17.503651: Previous plan best metric is 584.89 (cost 594.49) and new plan best metric is 584.83 (cost 594.37)
2026-08-15 06:30:17.503930: New plan metric is not significantly better (metric_min_improvement_plan 2.0) than previous plan, using previous plan
2026-08-15 06:30:17.504108: Plan valid is now true after recompute was False
2026-08-15 06:30:17.532784: predict base end_record 08-16 11:30:00, final soc 1.12kWh, metric 813.12p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 06:55:00, load 27.71kWh, PV 0.0kWh
2026-08-15 06:30:17.648308: Battery has 0.42 hours left - now at 1.44kWh
2026-08-15 06:30:17.692416: predict base10 end_record 08-16 11:30:00, final soc 1.12kWh, metric 839.92p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 06:55:00, load 28.78kWh, PV 0.0kWh
2026-08-15 06:30:17.775398: predict best10 end_record 08-16 11:30:00, final soc 1.12kWh, metric 668.73p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 06:55:00, load 28.78kWh, PV 0.0kWh
2026-08-15 06:30:17.870356: predict best end_record 08-16 11:30:00, final soc 1.12kWh, metric 644.48p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 06:55:00, load 27.71kWh, PV 0.0kWh
2026-08-15 06:30:17.870458: Saving plan best values to HA entities
2026-08-15 06:30:18.043866: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 06:30:18.049304: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0.0
2026-08-15 06:30:18.054572: Best charging limit SoC's [16.0, 3.5, 4.0, 16.0, 16.0, 16.0]kWh, export []kWh gives import battery 20.36kWh, house 3.83kWh, export 0.0kWh, metric 644.48p, metric10 668.73p
2026-08-15 06:30:18.136620: Marginal costs baseline metric (no standing charge): 594.4938
2026-08-15 06:30:18.389989: Marginal energy costs matrix computed: min=14.39 max=31.34
2026-08-15 06:30:18.458785: Rate array import [{'start': 390, 'end': 420, 'rate': 'expensive', 'range': '(27.6p)'}, {'start': 420, 'end': 450, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 450, 'end': 480, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 480, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 23.6p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1860, 'rate': 'expensive', 'range': '(24.6p - 32.9p)'}, {'start': 1860, 'end': 1890, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 1890, 'end': 1920, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 1920, 'end': 2130, 'rate': 'cheap', 'range': '(16.6p - 23.6p)'}] export [{'start': 390, 'end': 2130, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 06:30:18.459545: - Your estimated bill for today is £5.86 and tomorrow is £5.41
2026-08-15 06:30:18.459606: - Import rates are expensive (27.6p) for the next 30 minutes and then cheap (22.7p) for the next 30 minutes.
2026-08-15 06:30:18.459651: - The battery is currently at 9% and is in eco mode for the next 5 hours.
2026-08-15 06:30:18.459685: - For the next 48 hours there will be no solar generation.
2026-08-15 06:30:18.459727: - You will run out of battery in 25 minutes.
2026-08-15 06:30:18.459749: - Your next charge slot will be in 5 hours where import rates will be cheap (15.5p).
2026-08-15 06:30:18.459773: 
2026-08-15 06:30:18.510205: Plan calculation took 15.21 seconds
2026-08-15 06:30:18.510582: Inverter 0: Type SK Sunsynk
2026-08-15 06:30:18.510631: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 06:30:18.510858: Reserve min: 7%, battery_min: 7%
2026-08-15 06:30:18.510954: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 06:30:18.511285: Inverter 0 SoC: 1.44kW 9%, current charge rate 5000W, current discharge rate 5250W, current battery power 337W, current battery voltage 51.2V, grid power -59W, load power 341W, PV Power 0W
2026-08-15 06:30:18.511525: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 06:30:18.511638: Inverter 0 scheduled charge enable is False
2026-08-15 06:30:18.511679: Inverter 0 charge windows currently []
2026-08-15 06:30:18.511709: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 06:30:18.511828: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 06:30:18.511865: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 06:30:18.511945: Inverter 0 scheduled discharge enable is False
2026-08-15 06:30:18.512092: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 06:30:18.512130: Inverter 0 discharge windows currently []
2026-08-15 06:30:18.512153: Note: Inverter does not support discharge freeze - disabled
2026-08-15 06:30:18.512171: Note: Inverter does not support charge freeze - disabled
2026-08-15 06:30:18.512193: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 06:30:18.569445: Inverter 0 Charge window will be: 2026-08-15 11:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 9%, target 100%
2026-08-15 06:30:18.569663: Inverter 0 disabled charge window while waiting for schedule (now 08-15 06:30:00 target set_window_minutes 30 charge start time 08-15 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 06:30:18.569764: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 06:30:18.570062: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 06:30:18.570156: No export window planned
2026-08-15 06:30:18.570270: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 06:30:18.570306: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 06:30:18.570440: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 06:30:18.570636: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 06:30:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 06:30:18.570723: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 06:30:18.570812: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 06:30:18.570974: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 06:30:18.571054: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 06:30:18.571117: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 06:30:18.571174: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 06:30:18.571232: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 06:30:18.571291: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 06:30:18.571353: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 06:30:18.571472: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 06:30:18.571537: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 06:30:18.571587: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 06:30:18.571633: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 06:30:18.571676: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 06:30:18.571713: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 06:30:18.571755: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 06:30:18.571784: Inverter 0 count register writes 0
2026-08-15 06:30:18.594705: Total inverter register writes now 815
2026-08-15 06:30:18.626894: Info: Completed run status Demand
2026-08-15 06:30:18.632758: Info: record_status Demand
2026-08-15 06:30:18.639365: Saved current settings to /config/predbat_config.json
2026-08-15 06:30:18.639674: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 06:30:56.749838: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 06:30:56.750107: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 06:30:56.750152: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 06:30:56.750313: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 06:30:56.750372: Note: Inverter does not support discharge freeze - disabled
2026-08-15 06:30:56.750393: Note: Inverter does not support charge freeze - disabled
2026-08-15 06:30:56.750414: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 06:32:56.979656: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 06:32:56.979894: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 06:32:56.979936: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 06:32:56.980150: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 06:32:56.980189: Note: Inverter does not support discharge freeze - disabled
2026-08-15 06:32:56.980229: Note: Inverter does not support charge freeze - disabled
2026-08-15 06:32:56.980247: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 06:34:57.193841: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 06:34:57.194072: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 06:34:57.194103: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 06:34:57.194217: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 06:34:57.194250: Note: Inverter does not support discharge freeze - disabled
2026-08-15 06:34:57.194267: Note: Inverter does not support charge freeze - disabled
2026-08-15 06:34:57.194281: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 06:35:00.265081: --------------- PredBat - update at 2026-08-15 06:35:00+01:00 with clock skew 0 minutes, minutes now 395
2026-08-15 06:35:00.265806: Saved current settings to /config/predbat_config.json
2026-08-15 06:35:00.265931: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 25.0 minutes
2026-08-15 06:35:00.266022: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.1, latest beta is v8.48.1
2026-08-15 06:35:00.266137: Autoupdate: Currently up to date
2026-08-15 06:35:00.285773: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 06:35:00.285905: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 06:35:00.286093: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 06:35:00.286627: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 06:35:00.286749: Predbat mode is set to Control charge & discharge
2026-08-15 06:35:00.484710: Found 21602 load_today datapoints going back 28 days
2026-08-15 06:35:00.484848: Using load_power data to fill gaps in load_today data
2026-08-15 06:35:01.320141: Processing 721 30-minute periods for power integration
2026-08-15 06:35:01.511191: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 06:35:01.511341: Car charging hold False, threshold 6.0kWh
2026-08-15 06:35:01.511389: Current data so far today: load 5.4kWh, import 5.9kWh, export 0.0kWh, PV 0kWh
2026-08-15 06:35:01.525989: Cars: SoC: [12.892000000000001]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 06:35:01.526349: Standing charge is set to 49.98p
2026-08-15 06:35:01.552113: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 06:35:01.552216: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 06:35:01.552417: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 395.0 minutes
2026-08-15 06:35:01.552794: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 394.6 minutes
2026-08-15 06:35:01.555715: Loaded 47 datapoints of futurerate analysis
2026-08-15 06:35:01.644070: Predicted future rates: ['08-15 00:00:00 => 28.9 / 20.01', '08-15 01:00:00 => 27.54 / 19.31', '08-15 02:00:00 => 26.52 / 18.8', '08-15 03:00:00 => 25.99 / 18.53', '08-15 04:00:00 => 25.8 / 18.43', '08-15 05:00:00 => 25.96 / 18.51', '08-15 06:00:00 => 25.55 / 18.3', '08-15 07:00:00 => 24.33 / 17.68', '08-15 08:00:00 => 23.03 / 17.01', '08-15 09:00:00 => 22.05 / 16.51', '08-15 10:00:00 => 20.43 / 15.68', '08-15 11:00:00 => 18.01 / 14.45', '08-15 12:00:00 => 16.37 / 13.61', '08-15 13:00:00 => 15.76 / 13.3', '08-15 14:00:00 => 15.35 / 13.09', '08-15 15:00:00 => 15.86 / 13.35', '08-15 16:00:00 => 32.89 / 16.13', '08-15 17:00:00 => 38.02 / 18.75', '08-15 18:00:00 => 42.36 / 20.96', '08-15 19:00:00 => 31.09 / 21.13', '08-15 20:00:00 => 31.64 / 21.41', '08-15 21:00:00 => 31.64 / 21.41', '08-15 22:00:00 => 30.58 / 20.87']
2026-08-15 06:35:01.708219: Rate min forward looking: now 13.77p at end of forecast 13.77p
2026-08-15 06:35:01.708716: Import rates: min 13.77p, max 43.82p, average 25.96p
2026-08-15 06:35:01.753486: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 06:35:01.753631: Rate thresholds (for charge/export) are import 43.32p (0.0p), export -0.1p (0.0p)
2026-08-15 06:35:01.754910: High export rate found rates in range 99p to -99p
2026-08-15 06:35:01.840224: Low Import rate found rates in range 13.77p to 41.55p
2026-08-15 06:35:01.840357: Car 0 charging is not planned as it is not plugged in
2026-08-15 06:35:01.851686: Battery level now 1.44kWh, -1hr ago 1.77kWh, at midnight 1.66kWh, battery value change in the last hour -3.88p, change today -2.55p, rate_forward 11.83p
2026-08-15 06:35:01.852032: Last hour: net energy 0.0kWh, import 0.0kWh, export 0.0kWh, car 0kWh, load 0.5kWh, net cost 0.0p, import 0.0p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 06:35:01.899046: Today's energy total net 5.9kWh, import 5.9kWh, export 0.0kWh, cost 207.56p, import 157.57p, export 0.0p, carbon 0.0kg
2026-08-15 06:35:01.899187: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 06:35:01.979523: Using weighted-bucket historical load forecast over 14 days
2026-08-15 06:35:02.004318: Today's load divergence 108.18%, in-day adjustment 133.9%, damping 0.95x, yesterday 143.77% today 107.77% blend 72.57%
2026-08-15 06:35:02.004404: Today's predicted so far 4.16kWh with 0.0kWh car/iBoost excluded, 2.49kWh import ignored, and 4.16kWh forecast extra.
2026-08-15 06:35:02.004435: Today's actual load so far 5.54kWh with 0.0kWh car/iBoost excluded, and 2.49kWh import ignored.
2026-08-15 06:35:02.042355: Inverter 0: Type SK Sunsynk
2026-08-15 06:35:02.042451: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 06:35:02.042630: Reserve min: 7%, battery_min: 7%
2026-08-15 06:35:02.042722: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 06:35:02.043003: Inverter 0 SoC: 1.44kW 9%, current charge rate 5000W, current discharge rate 5250W, current battery power -4484W, current battery voltage 51.2V, grid power -5233W, load power 239W, PV Power 0W
2026-08-15 06:35:02.043162: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 06:35:02.043250: Inverter 0 scheduled charge enable is False
2026-08-15 06:35:02.043284: Inverter 0 charge windows currently []
2026-08-15 06:35:02.043310: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 06:35:02.043418: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 06:35:02.043453: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 06:35:02.043488: Inverter 0 scheduled discharge enable is False
2026-08-15 06:35:02.043607: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 06:35:02.043643: Inverter 0 discharge windows currently []
2026-08-15 06:35:02.043666: Note: Inverter does not support discharge freeze - disabled
2026-08-15 06:35:02.043686: Note: Inverter does not support charge freeze - disabled
2026-08-15 06:35:02.043703: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 06:35:02.101654: Dynamic load last period 0.60kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 06:35:02.101763: Plan was last updated on 2026-08-15 06:30:00+01:00 and is now 5.0 minutes old
2026-08-15 06:35:02.102067: Best charge window [ 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 00:30:00 @ 28.84p 100% ]
2026-08-15 06:35:02.102115: Best export window [  ]
2026-08-15 06:35:02.102959: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 06:35:02.105574: Load divergence over 8.0 hours mean 602.78W, min 269.4W, max 1564.2W, std dev 325.0W, divergence 26.96%
2026-08-15 06:35:02.120835: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 06:35:02.120969: LoadML is_calculating False
2026-08-15 06:35:02.121047: Creating pool of 12 processes to match your CPU count
2026-08-15 06:35:02.233302: predict base end_record 08-16 11:35:00, final soc 1.12kWh, metric 812.44p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 07:00:00, load 27.79kWh, PV 0.0kWh
2026-08-15 06:35:02.359493: Battery has 0.42 hours left - now at 1.44kWh
2026-08-15 06:35:02.398176: predict base10 end_record 08-16 11:35:00, final soc 1.12kWh, metric 839.15p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 06:55:00, load 28.86kWh, PV 0.0kWh
2026-08-15 06:35:02.472659: predict best10 end_record 08-16 11:35:00, final soc 1.44kWh, metric 673.7p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 06:55:00, load 28.86kWh, PV 0.0kWh
2026-08-15 06:35:02.549157: predict best end_record 08-16 11:35:00, final soc 1.51kWh, metric 650.86p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 07:00:00, load 27.79kWh, PV 0.0kWh
2026-08-15 06:35:02.549244: Saving plan best values to HA entities
2026-08-15 06:35:02.694368: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0
2026-08-15 06:35:02.699729: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 06:35:02.705011: Best charging limit SoC's [16.0, 3.5, 4.0, 16.0, 16.0, 16.0]kWh, export []kWh gives import battery 20.88kWh, house 3.75kWh, export 0.0kWh, metric 650.86p, metric10 673.7p
2026-08-15 06:35:02.767085: Marginal costs baseline metric (no standing charge): 600.8727
2026-08-15 06:35:02.982573: Marginal energy costs matrix computed: min=14.57 max=30.78
2026-08-15 06:35:03.054930: Rate array import [{'start': 395, 'end': 420, 'rate': 'expensive', 'range': '(27.6p)'}, {'start': 420, 'end': 450, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 450, 'end': 480, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 480, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 23.6p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1860, 'rate': 'expensive', 'range': '(24.6p - 32.9p)'}, {'start': 1860, 'end': 1890, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 1890, 'end': 1920, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 1920, 'end': 2135, 'rate': 'cheap', 'range': '(15.5p - 23.6p)'}] export [{'start': 395, 'end': 2135, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 06:35:03.055567: - Your estimated bill for today is £5.85 and tomorrow is £5.39
2026-08-15 06:35:03.055618: - Import rates are expensive (27.6p) for the next 25 minutes and then cheap (22.7p) for the next 30 minutes.
2026-08-15 06:35:03.055651: - The battery is currently at 9% and is in eco mode for the next 4  hours.
2026-08-15 06:35:03.055679: - For the next 48 hours there will be no solar generation.
2026-08-15 06:35:03.055716: - You will run out of battery in 25 minutes.
2026-08-15 06:35:03.055744: - Your next charge slot will be in 4  hours where import rates will be cheap (15.5p).
2026-08-15 06:35:03.055770: 
2026-08-15 06:35:03.102428: Plan calculation took 1.00 seconds
2026-08-15 06:35:03.105177: No high rate period found
2026-08-15 06:35:03.152000: Import threshold used for optimisation was 22.73p
2026-08-15 06:35:03.200935: Low import rate windows [0: 08-15 06:30:00 - 08-15 07:00:00 @ 27.63, 1: 08-15 07:00:00 - 08-15 07:30:00 @ 22.73, 2: 08-15 07:30:00 - 08-15 08:00:00 @ 26.7, 3: 08-15 08:00:00 - 08-15 08:30:00 @ 22.92, 4: 08-15 08:30:00 - 08-15 09:00:00 @ 22.48, 5: 08-15 09:00:00 - 08-15 09:30:00 @ 23.55, 6: 08-15 09:30:00 - 08-15 10:00:00 @ 23.64, 7: 08-15 10:00:00 - 08-15 10:30:00 @ 19.66, 8: 08-15 10:30:00 - 08-15 11:00:00 @ 17.66, 9: 08-15 11:00:00 - 08-15 11:30:00 @ 16.56, 10: 08-15 11:30:00 - 08-15 12:00:00 @ 15.46, 11: 08-15 12:00:00 - 08-15 12:30:00 @ 17.0, 12: 08-15 12:30:00 - 08-15 13:00:00 @ 16.34, 13: 08-15 13:00:00 - 08-15 13:30:00 @ 15.36, 14: 08-15 13:30:00 - 08-15 14:00:00 @ 15.74, 15: 08-15 14:00:00 - 08-15 14:30:00 @ 14.57, 16: 08-15 14:30:00 - 08-15 15:00:00 @ 13.77, 17: 08-15 15:00:00 - 08-15 15:30:00 @ 15.02, 18: 08-15 15:30:00 - 08-15 16:00:00 @ 15.87, 19: 08-15 16:00:00 - 08-15 16:30:00 @ 33.13, 20: 08-15 16:30:00 - 08-15 17:00:00 @ 33.13, 21: 08-15 17:00:00 - 08-15 17:30:00 @ 38.46, 22: 08-15 17:30:00 - 08-15 18:00:00 @ 40.44, 23: 08-15 18:00:00 - 08-15 18:30:00 @ 41.55, 24: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 25: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 26: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 27: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 28: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 29: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 30: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 31: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 32: 08-15 23:00:00 - 08-15 23:30:00 @ 27.8, 33: 08-15 23:30:00 - 08-16 00:00:00 @ 29.09, 34: 08-16 00:00:00 - 08-16 00:30:00 @ 28.47, 35: 08-16 00:30:00 - 08-16 01:00:00 @ 27.18, 36: 08-16 01:00:00 - 08-16 01:30:00 @ 27.57, 37: 08-16 01:30:00 - 08-16 02:00:00 @ 26.5, 38: 08-16 02:00:00 - 08-16 02:30:00 @ 25.6, 39: 08-16 02:30:00 - 08-16 03:00:00 @ 24.79, 40: 08-16 03:00:00 - 08-16 03:30:00 @ 25.08, 41: 08-16 03:30:00 - 08-16 04:00:00 @ 24.62, 42: 08-16 04:00:00 - 08-16 04:30:00 @ 27.02, 43: 08-16 04:30:00 - 08-16 05:00:00 @ 26.47, 44: 08-16 05:00:00 - 08-16 05:30:00 @ 26.25, 45: 08-16 05:30:00 - 08-16 06:00:00 @ 26.4, 46: 08-16 06:00:00 - 08-16 06:30:00 @ 25.7, 47: 08-16 06:30:00 - 08-16 07:00:00 @ 27.63, 48: 08-16 07:00:00 - 08-16 07:30:00 @ 22.73, 49: 08-16 07:30:00 - 08-16 08:00:00 @ 26.7, 50: 08-16 08:00:00 - 08-16 08:30:00 @ 22.92, 51: 08-16 08:30:00 - 08-16 09:00:00 @ 22.48, 52: 08-16 09:00:00 - 08-16 09:30:00 @ 23.55, 53: 08-16 09:30:00 - 08-16 10:00:00 @ 23.64, 54: 08-16 10:00:00 - 08-16 10:30:00 @ 19.66, 55: 08-16 10:30:00 - 08-16 11:00:00 @ 17.66, 56: 08-16 11:00:00 - 08-16 11:30:00 @ 16.56, 57: 08-16 11:30:00 - 08-16 12:00:00 @ 15.46, 58: 08-16 12:00:00 - 08-16 12:30:00 @ 17.0, 59: 08-16 12:30:00 - 08-16 13:00:00 @ 16.34, 60: 08-16 13:00:00 - 08-16 13:30:00 @ 15.36, 61: 08-16 13:30:00 - 08-16 14:00:00 @ 15.74, 62: 08-16 14:00:00 - 08-16 14:30:00 @ 14.57, 63: 08-16 14:30:00 - 08-16 15:00:00 @ 13.77, 64: 08-16 15:00:00 - 08-16 15:30:00 @ 15.02, 65: 08-16 15:30:00 - 08-16 16:00:00 @ 15.87, 66: 08-16 16:00:00 - 08-16 16:30:00 @ 33.13, 67: 08-16 16:30:00 - 08-16 17:00:00 @ 33.13, 68: 08-16 17:00:00 - 08-16 17:30:00 @ 38.46, 69: 08-16 17:30:00 - 08-16 18:00:00 @ 40.44, 70: 08-16 18:00:00 - 08-16 18:30:00 @ 41.55, 71: 08-16 19:00:00 - 08-16 19:30:00 @ 32.58, 72: 08-16 19:30:00 - 08-16 20:00:00 @ 32.9, 73: 08-16 20:00:00 - 08-16 20:30:00 @ 31.99, 74: 08-16 20:30:00 - 08-16 21:00:00 @ 32.1, 75: 08-16 21:00:00 - 08-16 21:30:00 @ 31.71, 76: 08-16 21:30:00 - 08-16 22:00:00 @ 31.67, 77: 08-16 22:00:00 - 08-16 22:30:00 @ 31.77, 78: 08-16 22:30:00 - 08-16 23:00:00 @ 29.81, 79: 08-16 23:00:00 - 08-16 23:30:00 @ 27.8, 80: 08-16 23:30:00 - 08-17 00:00:00 @ 29.09, 81: 08-17 00:00:00 - 08-17 00:30:00 @ 28.47, 82: 08-17 00:30:00 - 08-17 01:00:00 @ 27.18, 83: 08-17 01:00:00 - 08-17 01:30:00 @ 27.57, 84: 08-17 01:30:00 - 08-17 02:00:00 @ 26.5, 85: 08-17 02:00:00 - 08-17 02:30:00 @ 25.6, 86: 08-17 02:30:00 - 08-17 03:00:00 @ 24.79, 87: 08-17 03:00:00 - 08-17 03:30:00 @ 25.08, 88: 08-17 03:30:00 - 08-17 04:00:00 @ 24.62, 89: 08-17 04:00:00 - 08-17 04:30:00 @ 27.02, 90: 08-17 04:30:00 - 08-17 05:00:00 @ 26.47, 91: 08-17 05:00:00 - 08-17 05:30:00 @ 26.25, 92: 08-17 05:30:00 - 08-17 06:00:00 @ 26.4, 93: 08-17 06:00:00 - 08-17 06:30:00 @ 25.7, 94: 08-17 06:30:00 - 08-17 07:00:00 @ 27.63]
2026-08-15 06:35:03.207903: Inverter 0 Charge window will be: 2026-08-15 11:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 9%, target 100%
2026-08-15 06:35:03.208057: Inverter 0 disabled charge window while waiting for schedule (now 08-15 06:35:00 target set_window_minutes 30 charge start time 08-15 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 06:35:03.208232: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 06:35:03.208570: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 06:35:03.208687: No export window planned
2026-08-15 06:35:03.208873: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 06:35:03.208919: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 06:35:03.209156: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 06:35:03.209386: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 06:35:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 06:35:03.209464: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 06:35:03.209575: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 06:35:03.209725: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 06:35:03.209780: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 06:35:03.209841: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 06:35:03.209908: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 06:35:03.209964: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 06:35:03.210067: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 06:35:03.210135: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 06:35:03.210256: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 06:35:03.210310: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 06:35:03.210352: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 06:35:03.210403: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 06:35:03.210464: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 06:35:03.210525: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 06:35:03.210587: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 06:35:03.210636: Inverter 0 count register writes 0
2026-08-15 06:35:03.225565: Will not recompute the plan, it is 5.0 minutes old and max age is 10 minutes
2026-08-15 06:35:03.230857: Total inverter register writes now 815
2026-08-15 06:35:03.263015: Info: Completed run status Demand
2026-08-15 06:35:03.269017: Info: record_status Demand
2026-08-15 06:35:03.275398: Saved current settings to /config/predbat_config.json
2026-08-15 06:35:03.275767: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 06:35:42.387472: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 06:35:42.387749: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 06:35:42.387790: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 06:35:42.387942: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 06:35:42.388003: Note: Inverter does not support discharge freeze - disabled
2026-08-15 06:35:42.388028: Note: Inverter does not support charge freeze - disabled
2026-08-15 06:35:42.388046: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 06:37:56.627619: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 06:37:56.627882: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 06:37:56.627948: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 06:37:56.628132: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 06:37:56.628221: Note: Inverter does not support discharge freeze - disabled
2026-08-15 06:37:56.628244: Note: Inverter does not support charge freeze - disabled
2026-08-15 06:37:56.628262: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 06:39:56.843687: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 06:39:56.843924: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 06:39:56.843959: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 06:39:56.844142: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 06:39:56.844208: Note: Inverter does not support discharge freeze - disabled
2026-08-15 06:39:56.844225: Note: Inverter does not support charge freeze - disabled
2026-08-15 06:39:56.844240: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 06:40:00.916664: --------------- PredBat - update at 2026-08-15 06:40:00+01:00 with clock skew 0 minutes, minutes now 400
2026-08-15 06:40:00.917683: Saved current settings to /config/predbat_config.json
2026-08-15 06:40:00.917878: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 30.0 minutes
2026-08-15 06:40:00.918009: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.1, latest beta is v8.48.1
2026-08-15 06:40:00.918159: Autoupdate: Currently up to date
2026-08-15 06:40:00.937536: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 06:40:00.937684: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 06:40:00.937867: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 06:40:00.938381: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 06:40:00.938523: Predbat mode is set to Control charge & discharge
2026-08-15 06:40:01.145221: Found 21602 load_today datapoints going back 28 days
2026-08-15 06:40:01.145381: Using load_power data to fill gaps in load_today data
2026-08-15 06:40:01.894368: Processing 721 30-minute periods for power integration
2026-08-15 06:40:02.046097: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 06:40:02.046225: Car charging hold False, threshold 6.0kWh
2026-08-15 06:40:02.046262: Current data so far today: load 5.3kWh, import 5.9kWh, export 0.0kWh, PV 0kWh
2026-08-15 06:40:02.058404: Cars: SoC: [12.892000000000001]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 06:40:02.058744: Standing charge is set to 49.98p
2026-08-15 06:40:02.085939: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 06:40:02.086025: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 06:40:02.086245: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 400.0 minutes
2026-08-15 06:40:02.086596: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 399.7 minutes
2026-08-15 06:40:02.089715: Loaded 47 datapoints of futurerate analysis
2026-08-15 06:40:02.175437: Predicted future rates: ['08-15 00:00:00 => 28.9 / 20.01', '08-15 01:00:00 => 27.54 / 19.31', '08-15 02:00:00 => 26.52 / 18.8', '08-15 03:00:00 => 25.99 / 18.53', '08-15 04:00:00 => 25.8 / 18.43', '08-15 05:00:00 => 25.96 / 18.51', '08-15 06:00:00 => 25.55 / 18.3', '08-15 07:00:00 => 24.33 / 17.68', '08-15 08:00:00 => 23.03 / 17.01', '08-15 09:00:00 => 22.05 / 16.51', '08-15 10:00:00 => 20.43 / 15.68', '08-15 11:00:00 => 18.01 / 14.45', '08-15 12:00:00 => 16.37 / 13.61', '08-15 13:00:00 => 15.76 / 13.3', '08-15 14:00:00 => 15.35 / 13.09', '08-15 15:00:00 => 15.86 / 13.35', '08-15 16:00:00 => 32.89 / 16.13', '08-15 17:00:00 => 38.02 / 18.75', '08-15 18:00:00 => 42.36 / 20.96', '08-15 19:00:00 => 31.09 / 21.13', '08-15 20:00:00 => 31.64 / 21.41', '08-15 21:00:00 => 31.64 / 21.41', '08-15 22:00:00 => 30.58 / 20.87']
2026-08-15 06:40:02.236303: Rate min forward looking: now 13.77p at end of forecast 13.77p
2026-08-15 06:40:02.236823: Import rates: min 13.77p, max 43.82p, average 25.96p
2026-08-15 06:40:02.274832: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 06:40:02.275886: Rate thresholds (for charge/export) are import 43.32p (0.0p), export -0.1p (0.0p)
2026-08-15 06:40:02.277249: High export rate found rates in range 99p to -99p
2026-08-15 06:40:02.352634: Low Import rate found rates in range 13.77p to 41.55p
2026-08-15 06:40:02.352762: Car 0 charging is not planned as it is not plugged in
2026-08-15 06:40:02.365023: Battery level now 1.44kWh, -1hr ago 1.77kWh, at midnight 1.66kWh, battery value change in the last hour -3.88p, change today -2.55p, rate_forward 11.83p
2026-08-15 06:40:02.365432: Last hour: net energy 0.0kWh, import 0.0kWh, export 0.0kWh, car 0kWh, load 0.38kWh, net cost 0.0p, import 0.0p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 06:40:02.410353: Today's energy total net 5.9kWh, import 5.9kWh, export 0.0kWh, cost 207.56p, import 157.57p, export 0.0p, carbon 0.0kg
2026-08-15 06:40:02.410494: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 06:40:02.487635: Using weighted-bucket historical load forecast over 14 days
2026-08-15 06:40:02.512194: Today's load divergence 107.41%, in-day adjustment 133.57%, damping 0.95x, yesterday 143.77% today 107.04% blend 72.22%
2026-08-15 06:40:02.512560: Today's predicted so far 4.16kWh with 0.0kWh car/iBoost excluded, 2.54kWh import ignored, and 4.16kWh forecast extra.
2026-08-15 06:40:02.512633: Today's actual load so far 5.41kWh with 0.0kWh car/iBoost excluded, and 2.54kWh import ignored.
2026-08-15 06:40:02.546863: Inverter 0: Type SK Sunsynk
2026-08-15 06:40:02.546956: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 06:40:02.547169: Reserve min: 7%, battery_min: 7%
2026-08-15 06:40:02.547250: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 06:40:02.547522: Inverter 0 SoC: 1.42kW 9%, current charge rate 5000W, current discharge rate 5250W, current battery power -4473W, current battery voltage 51.2V, grid power -5452W, load power 457W, PV Power 0W
2026-08-15 06:40:02.547680: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 06:40:02.547767: Inverter 0 scheduled charge enable is False
2026-08-15 06:40:02.547797: Inverter 0 charge windows currently []
2026-08-15 06:40:02.547823: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 06:40:02.547931: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 06:40:02.547968: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 06:40:02.548003: Inverter 0 scheduled discharge enable is False
2026-08-15 06:40:02.548142: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 06:40:02.548182: Inverter 0 discharge windows currently []
2026-08-15 06:40:02.548204: Note: Inverter does not support discharge freeze - disabled
2026-08-15 06:40:02.548223: Note: Inverter does not support charge freeze - disabled
2026-08-15 06:40:02.548239: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 06:40:02.603752: Dynamic load last period 0.00kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 06:40:02.603859: Plan was last updated on 2026-08-15 06:30:00+01:00 and is now 10.0 minutes old
2026-08-15 06:40:02.604167: Best charge window [ 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 00:30:00 @ 28.84p 100% ]
2026-08-15 06:40:02.604213: Best export window [  ]
2026-08-15 06:40:02.605098: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 06:40:02.608226: Load divergence over 8.0 hours mean 607.27W, min 268.2W, max 1657.2W, std dev 324.41W, divergence 26.71%
2026-08-15 06:40:02.626597: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 06:40:02.626726: LoadML is_calculating False
2026-08-15 06:40:02.626822: Creating pool of 12 processes to match your CPU count
2026-08-15 06:40:02.734941: predict base end_record 08-16 11:40:00, final soc 1.12kWh, metric 812.97p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 07:05:00, load 27.72kWh, PV 0.0kWh
2026-08-15 06:40:02.853484: Battery has 0.42 hours left - now at 1.42kWh
2026-08-15 06:40:02.891938: predict base10 end_record 08-16 11:40:00, final soc 1.12kWh, metric 839.73p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 07:00:00, load 28.79kWh, PV 0.0kWh
2026-08-15 06:40:02.971868: predict best10 end_record 08-16 11:40:00, final soc 1.77kWh, metric 679.69p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 07:00:00, load 28.79kWh, PV 0.0kWh
2026-08-15 06:40:03.058011: predict best end_record 08-16 11:40:00, final soc 1.9kWh, metric 657.8p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 07:05:00, load 27.72kWh, PV 0.0kWh
2026-08-15 06:40:03.058106: Saving plan best values to HA entities
2026-08-15 06:40:03.223628: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0
2026-08-15 06:40:03.228746: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 06:40:03.233989: Best charging limit SoC's [16.0, 3.5, 4.0, 16.0, 16.0, 16.0]kWh, export []kWh gives import battery 21.38kWh, house 3.72kWh, export 0.0kWh, metric 657.8p, metric10 679.69p
2026-08-15 06:40:03.307510: Marginal costs baseline metric (no standing charge): 607.8205
2026-08-15 06:40:03.575179: Marginal energy costs matrix computed: min=14.74 max=30.46
2026-08-15 06:40:03.657908: Rate array import [{'start': 400, 'end': 420, 'rate': 'expensive', 'range': '(27.6p)'}, {'start': 420, 'end': 450, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 450, 'end': 480, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 480, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 23.6p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1860, 'rate': 'expensive', 'range': '(24.6p - 32.9p)'}, {'start': 1860, 'end': 1890, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 1890, 'end': 1920, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 1920, 'end': 2140, 'rate': 'cheap', 'range': '(15.5p - 23.6p)'}] export [{'start': 400, 'end': 2140, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 06:40:03.658470: - Your estimated bill for today is £5.83 and tomorrow is £5.41
2026-08-15 06:40:03.658509: - Import rates are expensive (27.6p) for the next 20 minutes and then cheap (22.7p) for the next 30 minutes.
2026-08-15 06:40:03.658528: - The battery is currently at 9% and is in eco mode for the next 4 and three quarters hours.
2026-08-15 06:40:03.658542: - For the next 48 hours there will be no solar generation.
2026-08-15 06:40:03.658556: - You will run out of battery in 25 minutes.
2026-08-15 06:40:03.658569: - Your next charge slot will be in 4 and three quarters hours where import rates will be cheap (15.5p).
2026-08-15 06:40:03.658583: 
2026-08-15 06:40:03.706187: Plan calculation took 1.10 seconds
2026-08-15 06:40:03.709677: No high rate period found
2026-08-15 06:40:03.757687: Import threshold used for optimisation was 22.73p
2026-08-15 06:40:03.807255: Low import rate windows [0: 08-15 06:30:00 - 08-15 07:00:00 @ 27.63, 1: 08-15 07:00:00 - 08-15 07:30:00 @ 22.73, 2: 08-15 07:30:00 - 08-15 08:00:00 @ 26.7, 3: 08-15 08:00:00 - 08-15 08:30:00 @ 22.92, 4: 08-15 08:30:00 - 08-15 09:00:00 @ 22.48, 5: 08-15 09:00:00 - 08-15 09:30:00 @ 23.55, 6: 08-15 09:30:00 - 08-15 10:00:00 @ 23.64, 7: 08-15 10:00:00 - 08-15 10:30:00 @ 19.66, 8: 08-15 10:30:00 - 08-15 11:00:00 @ 17.66, 9: 08-15 11:00:00 - 08-15 11:30:00 @ 16.56, 10: 08-15 11:30:00 - 08-15 12:00:00 @ 15.46, 11: 08-15 12:00:00 - 08-15 12:30:00 @ 17.0, 12: 08-15 12:30:00 - 08-15 13:00:00 @ 16.34, 13: 08-15 13:00:00 - 08-15 13:30:00 @ 15.36, 14: 08-15 13:30:00 - 08-15 14:00:00 @ 15.74, 15: 08-15 14:00:00 - 08-15 14:30:00 @ 14.57, 16: 08-15 14:30:00 - 08-15 15:00:00 @ 13.77, 17: 08-15 15:00:00 - 08-15 15:30:00 @ 15.02, 18: 08-15 15:30:00 - 08-15 16:00:00 @ 15.87, 19: 08-15 16:00:00 - 08-15 16:30:00 @ 33.13, 20: 08-15 16:30:00 - 08-15 17:00:00 @ 33.13, 21: 08-15 17:00:00 - 08-15 17:30:00 @ 38.46, 22: 08-15 17:30:00 - 08-15 18:00:00 @ 40.44, 23: 08-15 18:00:00 - 08-15 18:30:00 @ 41.55, 24: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 25: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 26: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 27: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 28: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 29: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 30: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 31: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 32: 08-15 23:00:00 - 08-15 23:30:00 @ 27.8, 33: 08-15 23:30:00 - 08-16 00:00:00 @ 29.09, 34: 08-16 00:00:00 - 08-16 00:30:00 @ 28.47, 35: 08-16 00:30:00 - 08-16 01:00:00 @ 27.18, 36: 08-16 01:00:00 - 08-16 01:30:00 @ 27.57, 37: 08-16 01:30:00 - 08-16 02:00:00 @ 26.5, 38: 08-16 02:00:00 - 08-16 02:30:00 @ 25.6, 39: 08-16 02:30:00 - 08-16 03:00:00 @ 24.79, 40: 08-16 03:00:00 - 08-16 03:30:00 @ 25.08, 41: 08-16 03:30:00 - 08-16 04:00:00 @ 24.62, 42: 08-16 04:00:00 - 08-16 04:30:00 @ 27.02, 43: 08-16 04:30:00 - 08-16 05:00:00 @ 26.47, 44: 08-16 05:00:00 - 08-16 05:30:00 @ 26.25, 45: 08-16 05:30:00 - 08-16 06:00:00 @ 26.4, 46: 08-16 06:00:00 - 08-16 06:30:00 @ 25.7, 47: 08-16 06:30:00 - 08-16 07:00:00 @ 27.63, 48: 08-16 07:00:00 - 08-16 07:30:00 @ 22.73, 49: 08-16 07:30:00 - 08-16 08:00:00 @ 26.7, 50: 08-16 08:00:00 - 08-16 08:30:00 @ 22.92, 51: 08-16 08:30:00 - 08-16 09:00:00 @ 22.48, 52: 08-16 09:00:00 - 08-16 09:30:00 @ 23.55, 53: 08-16 09:30:00 - 08-16 10:00:00 @ 23.64, 54: 08-16 10:00:00 - 08-16 10:30:00 @ 19.66, 55: 08-16 10:30:00 - 08-16 11:00:00 @ 17.66, 56: 08-16 11:00:00 - 08-16 11:30:00 @ 16.56, 57: 08-16 11:30:00 - 08-16 12:00:00 @ 15.46, 58: 08-16 12:00:00 - 08-16 12:30:00 @ 17.0, 59: 08-16 12:30:00 - 08-16 13:00:00 @ 16.34, 60: 08-16 13:00:00 - 08-16 13:30:00 @ 15.36, 61: 08-16 13:30:00 - 08-16 14:00:00 @ 15.74, 62: 08-16 14:00:00 - 08-16 14:30:00 @ 14.57, 63: 08-16 14:30:00 - 08-16 15:00:00 @ 13.77, 64: 08-16 15:00:00 - 08-16 15:30:00 @ 15.02, 65: 08-16 15:30:00 - 08-16 16:00:00 @ 15.87, 66: 08-16 16:00:00 - 08-16 16:30:00 @ 33.13, 67: 08-16 16:30:00 - 08-16 17:00:00 @ 33.13, 68: 08-16 17:00:00 - 08-16 17:30:00 @ 38.46, 69: 08-16 17:30:00 - 08-16 18:00:00 @ 40.44, 70: 08-16 18:00:00 - 08-16 18:30:00 @ 41.55, 71: 08-16 19:00:00 - 08-16 19:30:00 @ 32.58, 72: 08-16 19:30:00 - 08-16 20:00:00 @ 32.9, 73: 08-16 20:00:00 - 08-16 20:30:00 @ 31.99, 74: 08-16 20:30:00 - 08-16 21:00:00 @ 32.1, 75: 08-16 21:00:00 - 08-16 21:30:00 @ 31.71, 76: 08-16 21:30:00 - 08-16 22:00:00 @ 31.67, 77: 08-16 22:00:00 - 08-16 22:30:00 @ 31.77, 78: 08-16 22:30:00 - 08-16 23:00:00 @ 29.81, 79: 08-16 23:00:00 - 08-16 23:30:00 @ 27.8, 80: 08-16 23:30:00 - 08-17 00:00:00 @ 29.09, 81: 08-17 00:00:00 - 08-17 00:30:00 @ 28.47, 82: 08-17 00:30:00 - 08-17 01:00:00 @ 27.18, 83: 08-17 01:00:00 - 08-17 01:30:00 @ 27.57, 84: 08-17 01:30:00 - 08-17 02:00:00 @ 26.5, 85: 08-17 02:00:00 - 08-17 02:30:00 @ 25.6, 86: 08-17 02:30:00 - 08-17 03:00:00 @ 24.79, 87: 08-17 03:00:00 - 08-17 03:30:00 @ 25.08, 88: 08-17 03:30:00 - 08-17 04:00:00 @ 24.62, 89: 08-17 04:00:00 - 08-17 04:30:00 @ 27.02, 90: 08-17 04:30:00 - 08-17 05:00:00 @ 26.47, 91: 08-17 05:00:00 - 08-17 05:30:00 @ 26.25, 92: 08-17 05:30:00 - 08-17 06:00:00 @ 26.4, 93: 08-17 06:00:00 - 08-17 06:30:00 @ 25.7, 94: 08-17 06:30:00 - 08-17 07:00:00 @ 27.63]
2026-08-15 06:40:03.813162: Inverter 0 Charge window will be: 2026-08-15 11:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 9%, target 100%
2026-08-15 06:40:03.813269: Inverter 0 disabled charge window while waiting for schedule (now 08-15 06:40:00 target set_window_minutes 30 charge start time 08-15 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 06:40:03.813388: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 06:40:03.813661: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 06:40:03.813739: No export window planned
2026-08-15 06:40:03.813844: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 06:40:03.813874: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 06:40:03.814008: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 06:40:03.814167: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 06:40:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 06:40:03.814214: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 06:40:03.814271: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 06:40:03.814350: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 06:40:03.814382: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 06:40:03.814413: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 06:40:03.814442: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 06:40:03.814463: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 06:40:03.814486: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 06:40:03.814507: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 06:40:03.814556: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 06:40:03.814587: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 06:40:03.814607: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 06:40:03.814630: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 06:40:03.814649: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 06:40:03.814668: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 06:40:03.814687: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 06:40:03.814703: Inverter 0 count register writes 0
2026-08-15 06:40:03.827969: Will recompute the plan as it is now 10.0 minutes old and will exceed the max age of 10 minutes before the next run
2026-08-15 06:40:03.828130: Recompute is saving previous plan...
2026-08-15 06:40:03.830653: Best charge window [ 15-08 06:30:00 - 15-08 07:00:00 @ 27.63p 0%, 15-08 07:00:00 - 15-08 07:30:00 @ 22.73p 0%, 15-08 07:30:00 - 15-08 08:00:00 @ 26.7p 0%, 15-08 08:00:00 - 15-08 08:30:00 @ 22.92p 0%, 15-08 08:30:00 - 15-08 09:00:00 @ 22.48p 0%, 15-08 09:00:00 - 15-08 09:30:00 @ 23.55p 0%, 15-08 09:30:00 - 15-08 10:00:00 @ 23.64p 0%, 15-08 10:00:00 - 15-08 10:30:00 @ 19.66p 0%, 15-08 10:30:00 - 15-08 11:00:00 @ 17.66p 0%, 15-08 11:00:00 - 15-08 11:30:00 @ 16.56p 0%, 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 0%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 0%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 0%, 15-08 13:00:00 - 15-08 13:30:00 @ 15.36p 0%, 15-08 13:30:00 - 15-08 14:00:00 @ 15.74p 0%, 15-08 14:00:00 - 15-08 14:30:00 @ 14.57p 0%, 15-08 14:30:00 - 15-08 15:00:00 @ 13.77p 0%, 15-08 15:00:00 - 15-08 15:30:00 @ 15.02p 0%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 0%, 15-08 16:00:00 - 15-08 16:30:00 @ 33.13p 0%, 15-08 16:30:00 - 15-08 17:00:00 @ 33.13p 0%, 15-08 17:00:00 - 15-08 17:30:00 @ 38.46p 0%, 15-08 17:30:00 - 15-08 18:00:00 @ 40.44p 0%, 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 0%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 0%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 0%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 0%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 0%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 27.8p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 29.09p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.47p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.18p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 27.57p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.5p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.6p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 24.79p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 25.08p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 24.62p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 27.02p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.47p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 26.25p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.4p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.7p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 27.63p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 22.73p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 26.7p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 22.92p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 22.48p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 23.55p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 23.64p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 19.66p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 17.66p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 16.56p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 15.46p 0%, 16-08 12:00:00 - 16-08 12:30:00 @ 17.0p 0%, 16-08 12:30:00 - 16-08 13:00:00 @ 16.34p 0%, 16-08 13:00:00 - 16-08 13:30:00 @ 15.36p 0%, 16-08 13:30:00 - 16-08 14:00:00 @ 15.74p 0%, 16-08 14:00:00 - 16-08 14:30:00 @ 14.57p 0%, 16-08 14:30:00 - 16-08 15:00:00 @ 13.77p 0%, 16-08 15:00:00 - 16-08 15:30:00 @ 15.02p 0%, 16-08 15:30:00 - 16-08 16:00:00 @ 15.87p 0%, 16-08 16:00:00 - 16-08 16:30:00 @ 33.13p 0%, 16-08 16:30:00 - 16-08 17:00:00 @ 33.13p 0%, 16-08 17:00:00 - 16-08 17:30:00 @ 38.46p 0%, 16-08 17:30:00 - 16-08 18:00:00 @ 40.44p 0%, 16-08 18:00:00 - 16-08 18:30:00 @ 41.55p 0%, 16-08 19:00:00 - 16-08 19:30:00 @ 32.58p 0%, 16-08 19:30:00 - 16-08 20:00:00 @ 32.9p 0%, 16-08 20:00:00 - 16-08 20:30:00 @ 31.99p 0%, 16-08 20:30:00 - 16-08 21:00:00 @ 32.1p 0%, 16-08 21:00:00 - 16-08 21:30:00 @ 31.71p 0%, 16-08 21:30:00 - 16-08 22:00:00 @ 31.67p 0%, 16-08 22:00:00 - 16-08 22:30:00 @ 31.77p 0%, 16-08 22:30:00 - 16-08 23:00:00 @ 29.81p 0%, 16-08 23:00:00 - 16-08 23:30:00 @ 27.8p 0%, 16-08 23:30:00 - 17-08 00:00:00 @ 29.09p 0%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.47p 0%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.18p 0%, 17-08 01:00:00 - 17-08 01:30:00 @ 27.57p 0%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.5p 0%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.6p 0%, 17-08 02:30:00 - 17-08 03:00:00 @ 24.79p 0%, 17-08 03:00:00 - 17-08 03:30:00 @ 25.08p 0%, 17-08 03:30:00 - 17-08 04:00:00 @ 24.62p 0%, 17-08 04:00:00 - 17-08 04:30:00 @ 27.02p 0%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.47p 0%, 17-08 05:00:00 - 17-08 05:30:00 @ 26.25p 0%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.4p 0%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.7p 0%, 17-08 06:30:00 - 17-08 07:00:00 @ 27.63p 0% ]
2026-08-15 06:40:03.830717: Best export window [  ]
2026-08-15 06:40:03.831403: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 06:40:03.833972: Load divergence over 8.0 hours mean 607.27W, min 268.2W, max 1657.2W, std dev 324.41W, divergence 26.71%
2026-08-15 06:40:03.848086: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 06:40:03.848182: LoadML is_calculating False
2026-08-15 06:40:03.848234: Creating pool of 12 processes to match your CPU count
2026-08-15 06:40:03.926902: Calculate Best options: mode(Control charge & discharge), calculate_export_oncharge(False), calculate_export_on_pv(True), set_export_freeze_only(False), set_discharge_during_charge(True), combine_charge_slots(False), combine_export_slots(False), combine_rate_threshold(0.0), best_soc_min(0.0 kWh), best_soc_max(0.0 kWh), best_soc_keep(0.0 kWh), inverter_loss(4%), battery_loss(3%), battery_loss_discharge (3%), inverter_hybrid(True), metric_min_improvement(0.0p), metric_min_improvement_export(0.1p), metric_min_improvement_export_freeze(0.1p), metric_battery_cycle(0.0p/kWh), metric_battery_value_scaling(1.0 x) 
2026-08-15 06:40:03.928628: Optimise levels pass started at 2026-08-15 06:40:03
2026-08-15 06:40:03.928680: Optimise all windows, total charge 94 export 1
2026-08-15 06:40:04.977383: >> Region optimisation pass width 960 gives best_metric 816.47p, best_cost 822.0p, best_cycle 54.52kWh, best_import 38.97kWh
2026-08-15 06:40:05.390366: >> Region optimisation pass width 480 gives best_metric 816.47p, best_cost 822.0p, best_cycle 54.52kWh, best_import 38.97kWh
2026-08-15 06:40:05.920164: >> Region optimisation pass width 240 gives best_metric 816.47p, best_cost 822.0p, best_cycle 54.52kWh, best_import 38.97kWh
2026-08-15 06:40:06.967642: >> Region optimisation pass width 120 gives best_metric 816.47p, best_cost 822.0p, best_cycle 54.52kWh, best_import 38.97kWh
2026-08-15 06:40:06.967963: Calculated end_record as 08-16 11:30:00 based on best_price 16.34p, next_charge_start 08-15 11:30:00, max_windows 57
2026-08-15 06:40:06.968104: Optimise levels pass ended at 2026-08-15 06:40:06, duration 3.0 seconds tried 323 combinations
2026-08-15 06:40:06.968222: Set best_price_charge_level 17.6p, best_price_export_level 0p, best_price_charge 16.34p, best_cost_export 0p, best_metric 816.47p, best_keep 0kWh, best_cycle 54.52kWh, best_carbon 0kg, best_import 38.97kWh
2026-08-15 06:40:06.985315: Starting detailed optimisation end_record 08-16 11:30:00, best_price_charge 16.34p, best_price_export 0p. lowest_price_charge 13.77p with charge limits [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0]kWh and export limits []kWh
2026-08-15 06:40:11.017845: Tweak plan optimisation started metric 582.07p, cost 591.67p
2026-08-15 06:40:11.266646: Tweak optimisation finished metric 582.07p, cost 591.67p, metric_keep 0kWh, cycle 29.98kWh, carbon 0kg, import 24.07kWh, changed 8 window(s)
2026-08-15 06:40:11.286422: Swap charge optimisation started metric 582.07p, cost 591.67p, min_improvement_swap 0.1p
2026-08-15 06:40:16.423663: Swap charge optimisation finished metric 582.07p, cost 591.67p
2026-08-15 06:40:16.539841: Pruned 3 dead plan slot(s) in 13 trial(s), nominal metric 578.42p -> 578.42p, plan now metric 582.13p, cost 591.67p, cycle 29.98kWh, import 24.07kWh
2026-08-15 06:40:16.549679: Raw charge windows [ 15-08 06:30:00 - 15-08 07:00:00 @ 27.63p 0%, 15-08 07:00:00 - 15-08 07:30:00 @ 22.73p 9%, 15-08 07:30:00 - 15-08 08:00:00 @ 26.7p 0%, 15-08 08:00:00 - 15-08 08:30:00 @ 22.92p 0%, 15-08 08:30:00 - 15-08 09:00:00 @ 22.48p 0%, 15-08 09:00:00 - 15-08 09:30:00 @ 23.55p 0%, 15-08 09:30:00 - 15-08 10:00:00 @ 23.64p 0%, 15-08 10:00:00 - 15-08 10:30:00 @ 19.66p 0%, 15-08 10:30:00 - 15-08 11:00:00 @ 17.66p 0%, 15-08 11:00:00 - 15-08 11:30:00 @ 16.56p 0%, 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 13:30:00 @ 15.36p 100%, 15-08 13:30:00 - 15-08 14:00:00 @ 15.74p 100%, 15-08 14:00:00 - 15-08 14:30:00 @ 14.57p 100%, 15-08 14:30:00 - 15-08 15:00:00 @ 13.77p 100%, 15-08 15:00:00 - 15-08 15:30:00 @ 15.02p 100%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 97%, 15-08 16:00:00 - 15-08 16:30:00 @ 33.13p 0%, 15-08 16:30:00 - 15-08 17:00:00 @ 33.13p 0%, 15-08 17:00:00 - 15-08 17:30:00 @ 38.46p 0%, 15-08 17:30:00 - 15-08 18:00:00 @ 40.44p 0%, 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 0%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 0%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 0%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 0%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 0%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 27.8p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 29.09p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.47p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.18p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 27.57p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.5p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.6p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 24.79p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 25.08p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 24.62p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 27.02p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.47p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 26.25p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.4p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.7p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 27.63p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 22.73p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 26.7p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 22.92p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 22.48p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 23.55p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 23.64p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 19.66p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 17.66p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 16.56p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 15.46p 100%, 16-08 12:00:00 - 16-08 12:30:00 @ 17.0p 100%, 16-08 12:30:00 - 16-08 13:00:00 @ 16.34p 100%, 16-08 13:00:00 - 16-08 13:30:00 @ 15.36p 100%, 16-08 13:30:00 - 16-08 14:00:00 @ 15.74p 100%, 16-08 14:00:00 - 16-08 14:30:00 @ 14.57p 100%, 16-08 14:30:00 - 16-08 15:00:00 @ 13.77p 100%, 16-08 15:00:00 - 16-08 15:30:00 @ 15.02p 100%, 16-08 15:30:00 - 16-08 16:00:00 @ 15.87p 100%, 16-08 16:00:00 - 16-08 16:30:00 @ 33.13p 100%, 16-08 16:30:00 - 16-08 17:00:00 @ 33.13p 100%, 16-08 17:00:00 - 16-08 17:30:00 @ 38.46p 100%, 16-08 17:30:00 - 16-08 18:00:00 @ 40.44p 100%, 16-08 18:00:00 - 16-08 18:30:00 @ 41.55p 100%, 16-08 19:00:00 - 16-08 19:30:00 @ 32.58p 100%, 16-08 19:30:00 - 16-08 20:00:00 @ 32.9p 100%, 16-08 20:00:00 - 16-08 20:30:00 @ 31.99p 100%, 16-08 20:30:00 - 16-08 21:00:00 @ 32.1p 100%, 16-08 21:00:00 - 16-08 21:30:00 @ 31.71p 100%, 16-08 21:30:00 - 16-08 22:00:00 @ 31.67p 100%, 16-08 22:00:00 - 16-08 22:30:00 @ 31.77p 100%, 16-08 22:30:00 - 16-08 23:00:00 @ 29.81p 100%, 16-08 23:00:00 - 16-08 23:30:00 @ 27.8p 100%, 16-08 23:30:00 - 17-08 00:00:00 @ 29.09p 100%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.47p 100%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.18p 100%, 17-08 01:00:00 - 17-08 01:30:00 @ 27.57p 100%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.5p 100%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.6p 100%, 17-08 02:30:00 - 17-08 03:00:00 @ 24.79p 100%, 17-08 03:00:00 - 17-08 03:30:00 @ 25.08p 100%, 17-08 03:30:00 - 17-08 04:00:00 @ 24.62p 100%, 17-08 04:00:00 - 17-08 04:30:00 @ 27.02p 100%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.47p 100%, 17-08 05:00:00 - 17-08 05:30:00 @ 26.25p 100%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.4p 100%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.7p 100%, 17-08 06:30:00 - 17-08 07:00:00 @ 27.63p 100% ] reserve 1.12
2026-08-15 06:40:16.550287: Unclipped charge windows [ 15-08 07:00:00 - 15-08 07:30:00 @ 22.73p 9%, 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 15:30:00 @ 14.71p 100%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 97%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 07:00:00 @ 26.82p 100% ] reserve 1.12
2026-08-15 06:40:16.550611: Unfiltered charge windows [ 15-08 07:00:00 - 15-08 07:30:00 @ 22.73p 9%, 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 15:30:00 @ 14.71p 100%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 97%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 07:00:00 @ 26.82p 100% ] reserve 1.12
2026-08-15 06:40:16.550879: Filtered charge windows [ 15-08 07:00:00 - 15-08 07:30:00 @ 22.73p 9%, 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 15:30:00 @ 14.71p 100%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 97%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 07:00:00 @ 26.82p 100% ] reserve 1.12
2026-08-15 06:40:16.580764: Previous plan best metric is 582.29 (cost 591.95) and new plan best metric is 582.07 (cost 591.67)
2026-08-15 06:40:16.580937: New plan metric is not significantly better (metric_min_improvement_plan 2.0) than previous plan, using previous plan
2026-08-15 06:40:16.581229: Plan valid is now true after recompute was False
2026-08-15 06:40:16.604266: predict base end_record 08-16 11:30:00, final soc 1.12kWh, metric 809.97p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 07:05:00, load 27.53kWh, PV 0.0kWh
2026-08-15 06:40:16.708927: Battery has 0.42 hours left - now at 1.42kWh
2026-08-15 06:40:16.746193: predict base10 end_record 08-16 11:30:00, final soc 1.12kWh, metric 836.6p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 07:00:00, load 28.59kWh, PV 0.0kWh
2026-08-15 06:40:16.818183: predict best10 end_record 08-16 11:30:00, final soc 1.12kWh, metric 665.82p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 07:00:00, load 28.59kWh, PV 0.0kWh
2026-08-15 06:40:16.885177: predict best end_record 08-16 11:30:00, final soc 1.12kWh, metric 641.93p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 07:05:00, load 27.53kWh, PV 0.0kWh
2026-08-15 06:40:16.885253: Saving plan best values to HA entities
2026-08-15 06:40:17.021929: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0
2026-08-15 06:40:17.026544: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 06:40:17.031143: Best charging limit SoC's [16.0, 3.5, 4.0, 16.0, 16.0, 16.0]kWh, export []kWh gives import battery 20.36kWh, house 3.72kWh, export 0.0kWh, metric 641.93p, metric10 665.82p
2026-08-15 06:40:17.091486: Marginal costs baseline metric (no standing charge): 591.9466
2026-08-15 06:40:17.309232: Marginal energy costs matrix computed: min=14.74 max=30.46
2026-08-15 06:40:17.366279: Rate array import [{'start': 400, 'end': 420, 'rate': 'expensive', 'range': '(27.6p)'}, {'start': 420, 'end': 450, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 450, 'end': 480, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 480, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 23.6p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1860, 'rate': 'expensive', 'range': '(24.6p - 32.9p)'}, {'start': 1860, 'end': 1890, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 1890, 'end': 1920, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 1920, 'end': 2130, 'rate': 'cheap', 'range': '(16.6p - 23.6p)'}] export [{'start': 400, 'end': 2130, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 06:40:17.366840: - Your estimated bill for today is £5.83 and tomorrow is £5.41
2026-08-15 06:40:17.366879: - Import rates are expensive (27.6p) for the next 20 minutes and then cheap (22.7p) for the next 30 minutes.
2026-08-15 06:40:17.366897: - The battery is currently at 9% and is in eco mode for the next 4 and three quarters hours.
2026-08-15 06:40:17.366911: - For the next 48 hours there will be no solar generation.
2026-08-15 06:40:17.366943: - You will run out of battery in 25 minutes.
2026-08-15 06:40:17.366958: - Your next charge slot will be in 4 and three quarters hours where import rates will be cheap (15.5p).
2026-08-15 06:40:17.366972: 
2026-08-15 06:40:17.412495: Plan calculation took 13.58 seconds
2026-08-15 06:40:17.412870: Inverter 0: Type SK Sunsynk
2026-08-15 06:40:17.412928: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 06:40:17.413208: Reserve min: 7%, battery_min: 7%
2026-08-15 06:40:17.413289: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 06:40:17.413615: Inverter 0 SoC: 1.6kW 10%, current charge rate 5000W, current discharge rate 5250W, current battery power -4475W, current battery voltage 51.2V, grid power -5432W, load power 436W, PV Power 0W
2026-08-15 06:40:17.413849: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 06:40:17.413966: Inverter 0 scheduled charge enable is False
2026-08-15 06:40:17.414009: Inverter 0 charge windows currently []
2026-08-15 06:40:17.414055: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 06:40:17.414193: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 06:40:17.414232: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 06:40:17.414276: Inverter 0 scheduled discharge enable is False
2026-08-15 06:40:17.414438: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 06:40:17.414477: Inverter 0 discharge windows currently []
2026-08-15 06:40:17.414499: Note: Inverter does not support discharge freeze - disabled
2026-08-15 06:40:17.414536: Note: Inverter does not support charge freeze - disabled
2026-08-15 06:40:17.414566: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 06:40:17.463567: Inverter 0 Charge window will be: 2026-08-15 11:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 10%, target 100%
2026-08-15 06:40:17.463703: Inverter 0 disabled charge window while waiting for schedule (now 08-15 06:40:00 target set_window_minutes 30 charge start time 08-15 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 06:40:17.463769: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 06:40:17.464040: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 06:40:17.464132: No export window planned
2026-08-15 06:40:17.464260: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 06:40:17.464298: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 06:40:17.464462: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 06:40:17.464640: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 06:40:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 06:40:17.464690: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 06:40:17.464748: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 06:40:17.464864: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 06:40:17.464911: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 06:40:17.464991: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 06:40:17.465040: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 06:40:17.465097: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 06:40:17.465163: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 06:40:17.465202: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 06:40:17.465291: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 06:40:17.465335: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 06:40:17.465364: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 06:40:17.465412: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 06:40:17.465458: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 06:40:17.465504: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 06:40:17.465532: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 06:40:17.465571: Inverter 0 count register writes 0
2026-08-15 06:40:17.484797: Total inverter register writes now 815
2026-08-15 06:40:17.513562: Info: Completed run status Demand
2026-08-15 06:40:17.519352: Info: record_status Demand
2026-08-15 06:40:17.525203: Saved current settings to /config/predbat_config.json
2026-08-15 06:40:17.525487: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 06:40:56.629174: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 06:40:56.629481: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 06:40:56.629537: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 06:40:56.629685: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 06:40:56.629726: Note: Inverter does not support discharge freeze - disabled
2026-08-15 06:40:56.629748: Note: Inverter does not support charge freeze - disabled
2026-08-15 06:40:56.629766: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 06:42:56.862072: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 06:42:56.862548: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 06:42:56.862638: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 06:42:56.862786: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 06:42:56.862846: Note: Inverter does not support discharge freeze - disabled
2026-08-15 06:42:56.862867: Note: Inverter does not support charge freeze - disabled
2026-08-15 06:42:56.862884: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 06:44:57.077275: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 06:44:57.077609: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 06:44:57.077662: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 06:44:57.077839: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 06:44:57.077885: Note: Inverter does not support discharge freeze - disabled
2026-08-15 06:44:57.077907: Note: Inverter does not support charge freeze - disabled
2026-08-15 06:44:57.077934: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 06:45:00.176795: --------------- PredBat - update at 2026-08-15 06:45:00+01:00 with clock skew 0 minutes, minutes now 405
2026-08-15 06:45:00.177501: Saved current settings to /config/predbat_config.json
2026-08-15 06:45:00.177629: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 35.0 minutes
2026-08-15 06:45:00.177699: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.1, latest beta is v8.48.1
2026-08-15 06:45:00.177775: Autoupdate: Currently up to date
2026-08-15 06:45:00.196633: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 06:45:00.196783: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 06:45:00.197081: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 06:45:00.197913: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 06:45:00.198118: Predbat mode is set to Control charge & discharge
2026-08-15 06:45:00.374799: Found 21602 load_today datapoints going back 28 days
2026-08-15 06:45:00.374944: Using load_power data to fill gaps in load_today data
2026-08-15 06:45:01.106521: Processing 721 30-minute periods for power integration
2026-08-15 06:45:01.256551: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 06:45:01.256667: Car charging hold False, threshold 6.0kWh
2026-08-15 06:45:01.256704: Current data so far today: load 5.3kWh, import 5.9kWh, export 0.0kWh, PV 0kWh
2026-08-15 06:45:01.268245: Cars: SoC: [12.892000000000001]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 06:45:01.268627: Standing charge is set to 49.98p
2026-08-15 06:45:01.291509: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 06:45:01.291618: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 06:45:01.291941: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 405.0 minutes
2026-08-15 06:45:01.292493: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 404.6 minutes
2026-08-15 06:45:01.295872: Loaded 47 datapoints of futurerate analysis
2026-08-15 06:45:01.395388: Predicted future rates: ['08-15 00:00:00 => 28.9 / 20.01', '08-15 01:00:00 => 27.54 / 19.31', '08-15 02:00:00 => 26.52 / 18.8', '08-15 03:00:00 => 25.99 / 18.53', '08-15 04:00:00 => 25.8 / 18.43', '08-15 05:00:00 => 25.96 / 18.51', '08-15 06:00:00 => 25.55 / 18.3', '08-15 07:00:00 => 24.33 / 17.68', '08-15 08:00:00 => 23.03 / 17.01', '08-15 09:00:00 => 22.05 / 16.51', '08-15 10:00:00 => 20.43 / 15.68', '08-15 11:00:00 => 18.01 / 14.45', '08-15 12:00:00 => 16.37 / 13.61', '08-15 13:00:00 => 15.76 / 13.3', '08-15 14:00:00 => 15.35 / 13.09', '08-15 15:00:00 => 15.86 / 13.35', '08-15 16:00:00 => 32.89 / 16.13', '08-15 17:00:00 => 38.02 / 18.75', '08-15 18:00:00 => 42.36 / 20.96', '08-15 19:00:00 => 31.09 / 21.13', '08-15 20:00:00 => 31.64 / 21.41', '08-15 21:00:00 => 31.64 / 21.41', '08-15 22:00:00 => 30.58 / 20.87']
2026-08-15 06:45:01.449118: Rate min forward looking: now 13.77p at end of forecast 13.77p
2026-08-15 06:45:01.449550: Import rates: min 13.77p, max 43.82p, average 25.96p
2026-08-15 06:45:01.484054: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 06:45:01.484149: Rate thresholds (for charge/export) are import 43.32p (0.0p), export -0.1p (0.0p)
2026-08-15 06:45:01.485372: High export rate found rates in range 99p to -99p
2026-08-15 06:45:01.556243: Low Import rate found rates in range 13.77p to 41.55p
2026-08-15 06:45:01.556409: Car 0 charging is not planned as it is not plugged in
2026-08-15 06:45:01.568773: Battery level now 1.42kWh, -1hr ago 1.76kWh, at midnight 1.66kWh, battery value change in the last hour -4.07p, change today -2.84p, rate_forward 11.83p
2026-08-15 06:45:01.569194: Last hour: net energy 0.0kWh, import 0.0kWh, export 0.0kWh, car 0kWh, load 0.35kWh, net cost 0.0p, import 0.0p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 06:45:01.615789: Today's energy total net 5.9kWh, import 5.9kWh, export 0.0kWh, cost 207.56p, import 157.57p, export 0.0p, carbon 0.0kg
2026-08-15 06:45:01.615927: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 06:45:01.680773: Using weighted-bucket historical load forecast over 14 days
2026-08-15 06:45:01.700674: Today's load divergence 107.13%, in-day adjustment 133.36%, damping 0.95x, yesterday 143.77% today 106.77% blend 71.88%
2026-08-15 06:45:01.700754: Today's predicted so far 4.17kWh with 0.0kWh car/iBoost excluded, 2.51kWh import ignored, and 4.17kWh forecast extra.
2026-08-15 06:45:01.700780: Today's actual load so far 5.36kWh with 0.0kWh car/iBoost excluded, and 2.51kWh import ignored.
2026-08-15 06:45:01.739454: Inverter 0: Type SK Sunsynk
2026-08-15 06:45:01.739543: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 06:45:01.739763: Reserve min: 7%, battery_min: 7%
2026-08-15 06:45:01.739851: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 06:45:01.740159: Inverter 0 SoC: 1.6kW 10%, current charge rate 5000W, current discharge rate 5250W, current battery power 443W, current battery voltage 51.2V, grid power -54W, load power 487W, PV Power 0W
2026-08-15 06:45:01.740377: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 06:45:01.740490: Inverter 0 scheduled charge enable is False
2026-08-15 06:45:01.740543: Inverter 0 charge windows currently []
2026-08-15 06:45:01.740579: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 06:45:01.740738: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 06:45:01.740782: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 06:45:01.740831: Inverter 0 scheduled discharge enable is False
2026-08-15 06:45:01.741063: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 06:45:01.741112: Inverter 0 discharge windows currently []
2026-08-15 06:45:01.741136: Note: Inverter does not support discharge freeze - disabled
2026-08-15 06:45:01.741176: Note: Inverter does not support charge freeze - disabled
2026-08-15 06:45:01.741211: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 06:45:01.800058: Dynamic load last period 0.00kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 06:45:01.800167: Plan was last updated on 2026-08-15 06:40:00+01:00 and is now 5.0 minutes old
2026-08-15 06:45:01.800497: Best charge window [ 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 00:30:00 @ 28.84p 100% ]
2026-08-15 06:45:01.800548: Best export window [  ]
2026-08-15 06:45:01.801565: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 06:45:01.804802: Load divergence over 8.0 hours mean 611.89W, min 226.2W, max 1777.8W, std dev 359.36W, divergence 29.37%
2026-08-15 06:45:01.824793: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 06:45:01.824925: LoadML is_calculating False
2026-08-15 06:45:01.825025: Creating pool of 12 processes to match your CPU count
2026-08-15 06:45:01.959514: predict base end_record 08-16 11:35:00, final soc 1.12kWh, metric 806.04p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 07:30:00, load 27.56kWh, PV 0.0kWh
2026-08-15 06:45:02.083877: Battery has 0.75 hours left - now at 1.6kWh
2026-08-15 06:45:02.134523: predict base10 end_record 08-16 11:35:00, final soc 1.12kWh, metric 832.8p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 07:30:00, load 28.63kWh, PV 0.0kWh
2026-08-15 06:45:02.217167: predict best10 end_record 08-16 11:35:00, final soc 1.44kWh, metric 667.35p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 07:30:00, load 28.63kWh, PV 0.0kWh
2026-08-15 06:45:02.295849: predict best end_record 08-16 11:35:00, final soc 1.51kWh, metric 644.33p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 07:30:00, load 27.56kWh, PV 0.0kWh
2026-08-15 06:45:02.295945: Saving plan best values to HA entities
2026-08-15 06:45:02.448443: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 06:45:02.453913: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0.0
2026-08-15 06:45:02.459441: Best charging limit SoC's [16.0, 3.5, 4.0, 16.0, 16.0, 16.0]kWh, export []kWh gives import battery 20.87kWh, house 3.48kWh, export 0.0kWh, metric 644.33p, metric10 667.35p
2026-08-15 06:45:02.525157: Marginal costs baseline metric (no standing charge): 594.3451
2026-08-15 06:45:02.763697: Marginal energy costs matrix computed: min=14.92 max=30.79
2026-08-15 06:45:02.832772: Rate array import [{'start': 405, 'end': 420, 'rate': 'expensive', 'range': '(27.6p)'}, {'start': 420, 'end': 450, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 450, 'end': 480, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 480, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 23.6p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1860, 'rate': 'expensive', 'range': '(24.6p - 32.9p)'}, {'start': 1860, 'end': 1890, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 1890, 'end': 1920, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 1920, 'end': 2135, 'rate': 'cheap', 'range': '(15.5p - 23.6p)'}] export [{'start': 405, 'end': 2135, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 06:45:02.833353: - Your estimated bill for today is £5.78 and tomorrow is £5.42
2026-08-15 06:45:02.833397: - Import rates are expensive (27.6p) for the next 15 minutes and then cheap (22.7p) for the next 30 minutes.
2026-08-15 06:45:02.833416: - The battery is currently at 10% and is in eco mode for the next 4 and three quarters hours.
2026-08-15 06:45:02.833431: - For the next 48 hours there will be no solar generation.
2026-08-15 06:45:02.833445: - You will run out of battery in 45 minutes.
2026-08-15 06:45:02.833460: - Your next charge slot will be in 4 and three quarters hours where import rates will be cheap (15.5p).
2026-08-15 06:45:02.833474: 
2026-08-15 06:45:02.880903: Plan calculation took 1.08 seconds
2026-08-15 06:45:02.883715: No high rate period found
2026-08-15 06:45:02.926909: Import threshold used for optimisation was 22.92p
2026-08-15 06:45:02.971690: Low import rate windows [0: 08-15 06:30:00 - 08-15 07:00:00 @ 27.63, 1: 08-15 07:00:00 - 08-15 07:30:00 @ 22.73, 2: 08-15 07:30:00 - 08-15 08:00:00 @ 26.7, 3: 08-15 08:00:00 - 08-15 08:30:00 @ 22.92, 4: 08-15 08:30:00 - 08-15 09:00:00 @ 22.48, 5: 08-15 09:00:00 - 08-15 09:30:00 @ 23.55, 6: 08-15 09:30:00 - 08-15 10:00:00 @ 23.64, 7: 08-15 10:00:00 - 08-15 10:30:00 @ 19.66, 8: 08-15 10:30:00 - 08-15 11:00:00 @ 17.66, 9: 08-15 11:00:00 - 08-15 11:30:00 @ 16.56, 10: 08-15 11:30:00 - 08-15 12:00:00 @ 15.46, 11: 08-15 12:00:00 - 08-15 12:30:00 @ 17.0, 12: 08-15 12:30:00 - 08-15 13:00:00 @ 16.34, 13: 08-15 13:00:00 - 08-15 13:30:00 @ 15.36, 14: 08-15 13:30:00 - 08-15 14:00:00 @ 15.74, 15: 08-15 14:00:00 - 08-15 14:30:00 @ 14.57, 16: 08-15 14:30:00 - 08-15 15:00:00 @ 13.77, 17: 08-15 15:00:00 - 08-15 15:30:00 @ 15.02, 18: 08-15 15:30:00 - 08-15 16:00:00 @ 15.87, 19: 08-15 16:00:00 - 08-15 16:30:00 @ 33.13, 20: 08-15 16:30:00 - 08-15 17:00:00 @ 33.13, 21: 08-15 17:00:00 - 08-15 17:30:00 @ 38.46, 22: 08-15 17:30:00 - 08-15 18:00:00 @ 40.44, 23: 08-15 18:00:00 - 08-15 18:30:00 @ 41.55, 24: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 25: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 26: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 27: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 28: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 29: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 30: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 31: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 32: 08-15 23:00:00 - 08-15 23:30:00 @ 27.8, 33: 08-15 23:30:00 - 08-16 00:00:00 @ 29.09, 34: 08-16 00:00:00 - 08-16 00:30:00 @ 28.47, 35: 08-16 00:30:00 - 08-16 01:00:00 @ 27.18, 36: 08-16 01:00:00 - 08-16 01:30:00 @ 27.57, 37: 08-16 01:30:00 - 08-16 02:00:00 @ 26.5, 38: 08-16 02:00:00 - 08-16 02:30:00 @ 25.6, 39: 08-16 02:30:00 - 08-16 03:00:00 @ 24.79, 40: 08-16 03:00:00 - 08-16 03:30:00 @ 25.08, 41: 08-16 03:30:00 - 08-16 04:00:00 @ 24.62, 42: 08-16 04:00:00 - 08-16 04:30:00 @ 27.02, 43: 08-16 04:30:00 - 08-16 05:00:00 @ 26.47, 44: 08-16 05:00:00 - 08-16 05:30:00 @ 26.25, 45: 08-16 05:30:00 - 08-16 06:00:00 @ 26.4, 46: 08-16 06:00:00 - 08-16 06:30:00 @ 25.7, 47: 08-16 06:30:00 - 08-16 07:00:00 @ 27.63, 48: 08-16 07:00:00 - 08-16 07:30:00 @ 22.73, 49: 08-16 07:30:00 - 08-16 08:00:00 @ 26.7, 50: 08-16 08:00:00 - 08-16 08:30:00 @ 22.92, 51: 08-16 08:30:00 - 08-16 09:00:00 @ 22.48, 52: 08-16 09:00:00 - 08-16 09:30:00 @ 23.55, 53: 08-16 09:30:00 - 08-16 10:00:00 @ 23.64, 54: 08-16 10:00:00 - 08-16 10:30:00 @ 19.66, 55: 08-16 10:30:00 - 08-16 11:00:00 @ 17.66, 56: 08-16 11:00:00 - 08-16 11:30:00 @ 16.56, 57: 08-16 11:30:00 - 08-16 12:00:00 @ 15.46, 58: 08-16 12:00:00 - 08-16 12:30:00 @ 17.0, 59: 08-16 12:30:00 - 08-16 13:00:00 @ 16.34, 60: 08-16 13:00:00 - 08-16 13:30:00 @ 15.36, 61: 08-16 13:30:00 - 08-16 14:00:00 @ 15.74, 62: 08-16 14:00:00 - 08-16 14:30:00 @ 14.57, 63: 08-16 14:30:00 - 08-16 15:00:00 @ 13.77, 64: 08-16 15:00:00 - 08-16 15:30:00 @ 15.02, 65: 08-16 15:30:00 - 08-16 16:00:00 @ 15.87, 66: 08-16 16:00:00 - 08-16 16:30:00 @ 33.13, 67: 08-16 16:30:00 - 08-16 17:00:00 @ 33.13, 68: 08-16 17:00:00 - 08-16 17:30:00 @ 38.46, 69: 08-16 17:30:00 - 08-16 18:00:00 @ 40.44, 70: 08-16 18:00:00 - 08-16 18:30:00 @ 41.55, 71: 08-16 19:00:00 - 08-16 19:30:00 @ 32.58, 72: 08-16 19:30:00 - 08-16 20:00:00 @ 32.9, 73: 08-16 20:00:00 - 08-16 20:30:00 @ 31.99, 74: 08-16 20:30:00 - 08-16 21:00:00 @ 32.1, 75: 08-16 21:00:00 - 08-16 21:30:00 @ 31.71, 76: 08-16 21:30:00 - 08-16 22:00:00 @ 31.67, 77: 08-16 22:00:00 - 08-16 22:30:00 @ 31.77, 78: 08-16 22:30:00 - 08-16 23:00:00 @ 29.81, 79: 08-16 23:00:00 - 08-16 23:30:00 @ 27.8, 80: 08-16 23:30:00 - 08-17 00:00:00 @ 29.09, 81: 08-17 00:00:00 - 08-17 00:30:00 @ 28.47, 82: 08-17 00:30:00 - 08-17 01:00:00 @ 27.18, 83: 08-17 01:00:00 - 08-17 01:30:00 @ 27.57, 84: 08-17 01:30:00 - 08-17 02:00:00 @ 26.5, 85: 08-17 02:00:00 - 08-17 02:30:00 @ 25.6, 86: 08-17 02:30:00 - 08-17 03:00:00 @ 24.79, 87: 08-17 03:00:00 - 08-17 03:30:00 @ 25.08, 88: 08-17 03:30:00 - 08-17 04:00:00 @ 24.62, 89: 08-17 04:00:00 - 08-17 04:30:00 @ 27.02, 90: 08-17 04:30:00 - 08-17 05:00:00 @ 26.47, 91: 08-17 05:00:00 - 08-17 05:30:00 @ 26.25, 92: 08-17 05:30:00 - 08-17 06:00:00 @ 26.4, 93: 08-17 06:00:00 - 08-17 06:30:00 @ 25.7, 94: 08-17 06:30:00 - 08-17 07:00:00 @ 27.63]
2026-08-15 06:45:02.978463: Inverter 0 Charge window will be: 2026-08-15 11:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 10%, target 100%
2026-08-15 06:45:02.978598: Inverter 0 disabled charge window while waiting for schedule (now 08-15 06:45:00 target set_window_minutes 30 charge start time 08-15 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 06:45:02.978763: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 06:45:02.979088: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 06:45:02.979199: No export window planned
2026-08-15 06:45:02.979368: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 06:45:02.979420: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 06:45:02.979607: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 06:45:02.979837: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 06:45:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 06:45:02.979909: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 06:45:02.979984: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 06:45:02.980086: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 06:45:02.980148: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 06:45:02.980187: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 06:45:02.980210: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 06:45:02.980246: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 06:45:02.980291: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 06:45:02.980339: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 06:45:02.980437: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 06:45:02.980482: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 06:45:02.980549: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 06:45:02.980585: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 06:45:02.980625: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 06:45:02.980666: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 06:45:02.980692: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 06:45:02.980713: Inverter 0 count register writes 0
2026-08-15 06:45:02.996867: Will not recompute the plan, it is 5.0 minutes old and max age is 10 minutes
2026-08-15 06:45:03.001912: Total inverter register writes now 815
2026-08-15 06:45:03.036746: Info: Completed run status Demand
2026-08-15 06:45:03.042753: Info: record_status Demand
2026-08-15 06:45:03.049671: Saved current settings to /config/predbat_config.json
2026-08-15 06:45:03.049988: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 06:45:42.168524: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 06:45:42.169709: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 06:45:42.169815: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 06:45:42.171625: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 06:45:42.171714: Note: Inverter does not support discharge freeze - disabled
2026-08-15 06:45:42.171788: Note: Inverter does not support charge freeze - disabled
2026-08-15 06:45:42.171870: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 06:47:42.413766: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 06:47:42.413990: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 06:47:42.414034: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 06:47:42.414164: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 06:47:42.414202: Note: Inverter does not support discharge freeze - disabled
2026-08-15 06:47:42.414224: Note: Inverter does not support charge freeze - disabled
2026-08-15 06:47:42.414241: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 06:49:56.715947: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 06:49:56.716167: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 06:49:56.716202: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 06:49:56.716354: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 06:49:56.716407: Note: Inverter does not support discharge freeze - disabled
2026-08-15 06:49:56.716425: Note: Inverter does not support charge freeze - disabled
2026-08-15 06:49:56.716439: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 06:50:00.786324: --------------- PredBat - update at 2026-08-15 06:50:00+01:00 with clock skew 0 minutes, minutes now 410
2026-08-15 06:50:00.787182: Saved current settings to /config/predbat_config.json
2026-08-15 06:50:00.787335: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 40.0 minutes
2026-08-15 06:50:00.787439: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.1, latest beta is v8.48.1
2026-08-15 06:50:00.787593: Autoupdate: Currently up to date
2026-08-15 06:50:00.812566: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 06:50:00.812721: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 06:50:00.813027: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 06:50:00.813594: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 06:50:00.813718: Predbat mode is set to Control charge & discharge
2026-08-15 06:50:01.012729: Found 21602 load_today datapoints going back 28 days
2026-08-15 06:50:01.012884: Using load_power data to fill gaps in load_today data
2026-08-15 06:50:01.791630: Processing 721 30-minute periods for power integration
2026-08-15 06:50:01.947220: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 06:50:01.947345: Car charging hold False, threshold 6.0kWh
2026-08-15 06:50:01.947384: Current data so far today: load 5.42kWh, import 6.8kWh, export 0.0kWh, PV 0kWh
2026-08-15 06:50:01.959300: Cars: SoC: [12.892000000000001]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 06:50:01.959659: Standing charge is set to 49.98p
2026-08-15 06:50:01.987290: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 06:50:01.987410: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 06:50:01.987683: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 410.0 minutes
2026-08-15 06:50:01.988286: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 409.7 minutes
2026-08-15 06:50:01.991332: Loaded 47 datapoints of futurerate analysis
2026-08-15 06:50:02.074736: Predicted future rates: ['08-15 00:00:00 => 28.9 / 20.01', '08-15 01:00:00 => 27.54 / 19.31', '08-15 02:00:00 => 26.52 / 18.8', '08-15 03:00:00 => 25.99 / 18.53', '08-15 04:00:00 => 25.8 / 18.43', '08-15 05:00:00 => 25.96 / 18.51', '08-15 06:00:00 => 25.55 / 18.3', '08-15 07:00:00 => 24.33 / 17.68', '08-15 08:00:00 => 23.03 / 17.01', '08-15 09:00:00 => 22.05 / 16.51', '08-15 10:00:00 => 20.43 / 15.68', '08-15 11:00:00 => 18.01 / 14.45', '08-15 12:00:00 => 16.37 / 13.61', '08-15 13:00:00 => 15.76 / 13.3', '08-15 14:00:00 => 15.35 / 13.09', '08-15 15:00:00 => 15.86 / 13.35', '08-15 16:00:00 => 32.89 / 16.13', '08-15 17:00:00 => 38.02 / 18.75', '08-15 18:00:00 => 42.36 / 20.96', '08-15 19:00:00 => 31.09 / 21.13', '08-15 20:00:00 => 31.64 / 21.41', '08-15 21:00:00 => 31.64 / 21.41', '08-15 22:00:00 => 30.58 / 20.87']
2026-08-15 06:50:02.135572: Rate min forward looking: now 13.77p at end of forecast 13.77p
2026-08-15 06:50:02.136087: Import rates: min 13.77p, max 43.82p, average 25.96p
2026-08-15 06:50:02.178179: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 06:50:02.178304: Rate thresholds (for charge/export) are import 43.32p (0.0p), export -0.1p (0.0p)
2026-08-15 06:50:02.179544: High export rate found rates in range 99p to -99p
2026-08-15 06:50:02.264595: Low Import rate found rates in range 13.77p to 41.55p
2026-08-15 06:50:02.264722: Car 0 charging is not planned as it is not plugged in
2026-08-15 06:50:02.276322: Battery level now 1.6kWh, -1hr ago 1.76kWh, at midnight 1.66kWh, battery value change in the last hour -1.89p, change today -0.66p, rate_forward 11.83p
2026-08-15 06:50:02.276748: Last hour: net energy 0.55kWh, import 0.55kWh, export 0.0kWh, car 0kWh, load 0.45kWh, net cost 14.51p, import 14.51p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 06:50:02.323575: Today's energy total net 6.8kWh, import 6.8kWh, export 0.0kWh, cost 231.27p, import 181.28p, export 0.0p, carbon 0.0kg
2026-08-15 06:50:02.323704: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 06:50:02.401233: Using weighted-bucket historical load forecast over 14 days
2026-08-15 06:50:02.425512: Today's load divergence 107.37%, in-day adjustment 133.3%, damping 0.95x, yesterday 143.77% today 107.0% blend 71.53%
2026-08-15 06:50:02.425612: Today's predicted so far 4.18kWh with 0.0kWh car/iBoost excluded, 2.74kWh import ignored, and 4.18kWh forecast extra.
2026-08-15 06:50:02.425646: Today's actual load so far 5.42kWh with 0.0kWh car/iBoost excluded, and 2.74kWh import ignored.
2026-08-15 06:50:02.462171: Inverter 0: Type SK Sunsynk
2026-08-15 06:50:02.462266: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 06:50:02.462477: Reserve min: 7%, battery_min: 7%
2026-08-15 06:50:02.462582: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 06:50:02.462863: Inverter 0 SoC: 1.96kW 12%, current charge rate 5000W, current discharge rate 5250W, current battery power 518W, current battery voltage 51.2V, grid power -54W, load power 568W, PV Power 0W
2026-08-15 06:50:02.463021: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 06:50:02.463110: Inverter 0 scheduled charge enable is False
2026-08-15 06:50:02.463138: Inverter 0 charge windows currently []
2026-08-15 06:50:02.463168: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 06:50:02.463301: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 06:50:02.463338: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 06:50:02.463374: Inverter 0 scheduled discharge enable is False
2026-08-15 06:50:02.463496: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 06:50:02.463569: Inverter 0 discharge windows currently []
2026-08-15 06:50:02.463605: Note: Inverter does not support discharge freeze - disabled
2026-08-15 06:50:02.463625: Note: Inverter does not support charge freeze - disabled
2026-08-15 06:50:02.463643: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 06:50:02.520361: Dynamic load last period 0.30kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 06:50:02.520475: Plan was last updated on 2026-08-15 06:40:00+01:00 and is now 10.0 minutes old
2026-08-15 06:50:02.520786: Best charge window [ 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 00:30:00 @ 28.84p 100% ]
2026-08-15 06:50:02.520834: Best export window [  ]
2026-08-15 06:50:02.521658: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 06:50:02.524837: Load divergence over 8.0 hours mean 613.37W, min 278.4W, max 1692.6W, std dev 331.25W, divergence 27.0%
2026-08-15 06:50:02.543602: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 06:50:02.543730: LoadML is_calculating False
2026-08-15 06:50:02.543796: Creating pool of 12 processes to match your CPU count
2026-08-15 06:50:02.660217: predict base end_record 08-16 11:40:00, final soc 1.12kWh, metric 821.91p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 08:10:00, load 27.75kWh, PV 0.0kWh
2026-08-15 06:50:02.776649: Battery has 1.33 hours left - now at 1.96kWh
2026-08-15 06:50:02.813806: predict base10 end_record 08-16 11:40:00, final soc 1.12kWh, metric 848.42p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 08:10:00, load 28.81kWh, PV 0.0kWh
2026-08-15 06:50:02.890090: predict best10 end_record 08-16 11:40:00, final soc 1.77kWh, metric 688.23p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 08:10:00, load 28.81kWh, PV 0.0kWh
2026-08-15 06:50:02.986237: predict best end_record 08-16 11:40:00, final soc 1.9kWh, metric 666.41p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 08:10:00, load 27.75kWh, PV 0.0kWh
2026-08-15 06:50:02.986328: Saving plan best values to HA entities
2026-08-15 06:50:03.158295: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 06:50:03.166722: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 06:50:03.174510: Best charging limit SoC's [16.0, 3.5, 4.0, 16.0, 16.0, 16.0]kWh, export []kWh gives import battery 21.38kWh, house 3.11kWh, export 0.0kWh, metric 666.41p, metric10 688.23p
2026-08-15 06:50:03.237123: Marginal costs baseline metric (no standing charge): 616.4302
2026-08-15 06:50:03.454199: Marginal energy costs matrix computed: min=15.09 max=31.11
2026-08-15 06:50:03.518095: Rate array import [{'start': 410, 'end': 420, 'rate': 'expensive', 'range': '(27.6p)'}, {'start': 420, 'end': 450, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 450, 'end': 480, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 480, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 23.6p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1860, 'rate': 'expensive', 'range': '(24.6p - 32.9p)'}, {'start': 1860, 'end': 1890, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 1890, 'end': 1920, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 1920, 'end': 2140, 'rate': 'cheap', 'range': '(15.5p - 23.6p)'}] export [{'start': 410, 'end': 2140, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 06:50:03.518673: - Your estimated bill for today is £5.92 and tomorrow is £5.43
2026-08-15 06:50:03.518712: - Import rates are expensive (27.6p) for the next 10 minutes and then cheap (22.7p) for the next 30 minutes.
2026-08-15 06:50:03.518730: - The battery is currently at 12% and is in eco mode for the next 4 and three quarters hours.
2026-08-15 06:50:03.518745: - For the next 48 hours there will be no solar generation.
2026-08-15 06:50:03.518759: - You will run out of battery in 1 and a quarter hours.
2026-08-15 06:50:03.518773: - Your next charge slot will be in 4 and three quarters hours where import rates will be cheap (15.5p).
2026-08-15 06:50:03.518790: 
2026-08-15 06:50:03.565339: Plan calculation took 1.04 seconds
2026-08-15 06:50:03.568007: No high rate period found
2026-08-15 06:50:03.618031: Import threshold used for optimisation was 22.92p
2026-08-15 06:50:03.670285: Low import rate windows [0: 08-15 06:30:00 - 08-15 07:00:00 @ 27.63, 1: 08-15 07:00:00 - 08-15 07:30:00 @ 22.73, 2: 08-15 07:30:00 - 08-15 08:00:00 @ 26.7, 3: 08-15 08:00:00 - 08-15 08:30:00 @ 22.92, 4: 08-15 08:30:00 - 08-15 09:00:00 @ 22.48, 5: 08-15 09:00:00 - 08-15 09:30:00 @ 23.55, 6: 08-15 09:30:00 - 08-15 10:00:00 @ 23.64, 7: 08-15 10:00:00 - 08-15 10:30:00 @ 19.66, 8: 08-15 10:30:00 - 08-15 11:00:00 @ 17.66, 9: 08-15 11:00:00 - 08-15 11:30:00 @ 16.56, 10: 08-15 11:30:00 - 08-15 12:00:00 @ 15.46, 11: 08-15 12:00:00 - 08-15 12:30:00 @ 17.0, 12: 08-15 12:30:00 - 08-15 13:00:00 @ 16.34, 13: 08-15 13:00:00 - 08-15 13:30:00 @ 15.36, 14: 08-15 13:30:00 - 08-15 14:00:00 @ 15.74, 15: 08-15 14:00:00 - 08-15 14:30:00 @ 14.57, 16: 08-15 14:30:00 - 08-15 15:00:00 @ 13.77, 17: 08-15 15:00:00 - 08-15 15:30:00 @ 15.02, 18: 08-15 15:30:00 - 08-15 16:00:00 @ 15.87, 19: 08-15 16:00:00 - 08-15 16:30:00 @ 33.13, 20: 08-15 16:30:00 - 08-15 17:00:00 @ 33.13, 21: 08-15 17:00:00 - 08-15 17:30:00 @ 38.46, 22: 08-15 17:30:00 - 08-15 18:00:00 @ 40.44, 23: 08-15 18:00:00 - 08-15 18:30:00 @ 41.55, 24: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 25: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 26: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 27: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 28: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 29: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 30: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 31: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 32: 08-15 23:00:00 - 08-15 23:30:00 @ 27.8, 33: 08-15 23:30:00 - 08-16 00:00:00 @ 29.09, 34: 08-16 00:00:00 - 08-16 00:30:00 @ 28.47, 35: 08-16 00:30:00 - 08-16 01:00:00 @ 27.18, 36: 08-16 01:00:00 - 08-16 01:30:00 @ 27.57, 37: 08-16 01:30:00 - 08-16 02:00:00 @ 26.5, 38: 08-16 02:00:00 - 08-16 02:30:00 @ 25.6, 39: 08-16 02:30:00 - 08-16 03:00:00 @ 24.79, 40: 08-16 03:00:00 - 08-16 03:30:00 @ 25.08, 41: 08-16 03:30:00 - 08-16 04:00:00 @ 24.62, 42: 08-16 04:00:00 - 08-16 04:30:00 @ 27.02, 43: 08-16 04:30:00 - 08-16 05:00:00 @ 26.47, 44: 08-16 05:00:00 - 08-16 05:30:00 @ 26.25, 45: 08-16 05:30:00 - 08-16 06:00:00 @ 26.4, 46: 08-16 06:00:00 - 08-16 06:30:00 @ 25.7, 47: 08-16 06:30:00 - 08-16 07:00:00 @ 27.63, 48: 08-16 07:00:00 - 08-16 07:30:00 @ 22.73, 49: 08-16 07:30:00 - 08-16 08:00:00 @ 26.7, 50: 08-16 08:00:00 - 08-16 08:30:00 @ 22.92, 51: 08-16 08:30:00 - 08-16 09:00:00 @ 22.48, 52: 08-16 09:00:00 - 08-16 09:30:00 @ 23.55, 53: 08-16 09:30:00 - 08-16 10:00:00 @ 23.64, 54: 08-16 10:00:00 - 08-16 10:30:00 @ 19.66, 55: 08-16 10:30:00 - 08-16 11:00:00 @ 17.66, 56: 08-16 11:00:00 - 08-16 11:30:00 @ 16.56, 57: 08-16 11:30:00 - 08-16 12:00:00 @ 15.46, 58: 08-16 12:00:00 - 08-16 12:30:00 @ 17.0, 59: 08-16 12:30:00 - 08-16 13:00:00 @ 16.34, 60: 08-16 13:00:00 - 08-16 13:30:00 @ 15.36, 61: 08-16 13:30:00 - 08-16 14:00:00 @ 15.74, 62: 08-16 14:00:00 - 08-16 14:30:00 @ 14.57, 63: 08-16 14:30:00 - 08-16 15:00:00 @ 13.77, 64: 08-16 15:00:00 - 08-16 15:30:00 @ 15.02, 65: 08-16 15:30:00 - 08-16 16:00:00 @ 15.87, 66: 08-16 16:00:00 - 08-16 16:30:00 @ 33.13, 67: 08-16 16:30:00 - 08-16 17:00:00 @ 33.13, 68: 08-16 17:00:00 - 08-16 17:30:00 @ 38.46, 69: 08-16 17:30:00 - 08-16 18:00:00 @ 40.44, 70: 08-16 18:00:00 - 08-16 18:30:00 @ 41.55, 71: 08-16 19:00:00 - 08-16 19:30:00 @ 32.58, 72: 08-16 19:30:00 - 08-16 20:00:00 @ 32.9, 73: 08-16 20:00:00 - 08-16 20:30:00 @ 31.99, 74: 08-16 20:30:00 - 08-16 21:00:00 @ 32.1, 75: 08-16 21:00:00 - 08-16 21:30:00 @ 31.71, 76: 08-16 21:30:00 - 08-16 22:00:00 @ 31.67, 77: 08-16 22:00:00 - 08-16 22:30:00 @ 31.77, 78: 08-16 22:30:00 - 08-16 23:00:00 @ 29.81, 79: 08-16 23:00:00 - 08-16 23:30:00 @ 27.8, 80: 08-16 23:30:00 - 08-17 00:00:00 @ 29.09, 81: 08-17 00:00:00 - 08-17 00:30:00 @ 28.47, 82: 08-17 00:30:00 - 08-17 01:00:00 @ 27.18, 83: 08-17 01:00:00 - 08-17 01:30:00 @ 27.57, 84: 08-17 01:30:00 - 08-17 02:00:00 @ 26.5, 85: 08-17 02:00:00 - 08-17 02:30:00 @ 25.6, 86: 08-17 02:30:00 - 08-17 03:00:00 @ 24.79, 87: 08-17 03:00:00 - 08-17 03:30:00 @ 25.08, 88: 08-17 03:30:00 - 08-17 04:00:00 @ 24.62, 89: 08-17 04:00:00 - 08-17 04:30:00 @ 27.02, 90: 08-17 04:30:00 - 08-17 05:00:00 @ 26.47, 91: 08-17 05:00:00 - 08-17 05:30:00 @ 26.25, 92: 08-17 05:30:00 - 08-17 06:00:00 @ 26.4, 93: 08-17 06:00:00 - 08-17 06:30:00 @ 25.7, 94: 08-17 06:30:00 - 08-17 07:00:00 @ 27.63]
2026-08-15 06:50:03.676711: Inverter 0 Charge window will be: 2026-08-15 11:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 12%, target 100%
2026-08-15 06:50:03.676850: Inverter 0 disabled charge window while waiting for schedule (now 08-15 06:50:00 target set_window_minutes 30 charge start time 08-15 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 06:50:03.677018: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 06:50:03.677389: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 06:50:03.677516: No export window planned
2026-08-15 06:50:03.677652: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 06:50:03.677690: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 06:50:03.677824: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 06:50:03.678003: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 06:50:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 06:50:03.678066: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 06:50:03.678134: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 06:50:03.678228: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 06:50:03.678274: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 06:50:03.678307: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 06:50:03.678332: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 06:50:03.678359: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 06:50:03.678383: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 06:50:03.678408: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 06:50:03.678466: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 06:50:03.678501: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 06:50:03.678527: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 06:50:03.678637: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 06:50:03.678675: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 06:50:03.678700: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 06:50:03.678724: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 06:50:03.678746: Inverter 0 count register writes 0
2026-08-15 06:50:03.694473: Will recompute the plan as it is now 10.0 minutes old and will exceed the max age of 10 minutes before the next run
2026-08-15 06:50:03.694662: Recompute is saving previous plan...
2026-08-15 06:50:03.697329: Best charge window [ 15-08 06:30:00 - 15-08 07:00:00 @ 27.63p 0%, 15-08 07:00:00 - 15-08 07:30:00 @ 22.73p 0%, 15-08 07:30:00 - 15-08 08:00:00 @ 26.7p 0%, 15-08 08:00:00 - 15-08 08:30:00 @ 22.92p 0%, 15-08 08:30:00 - 15-08 09:00:00 @ 22.48p 0%, 15-08 09:00:00 - 15-08 09:30:00 @ 23.55p 0%, 15-08 09:30:00 - 15-08 10:00:00 @ 23.64p 0%, 15-08 10:00:00 - 15-08 10:30:00 @ 19.66p 0%, 15-08 10:30:00 - 15-08 11:00:00 @ 17.66p 0%, 15-08 11:00:00 - 15-08 11:30:00 @ 16.56p 0%, 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 0%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 0%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 0%, 15-08 13:00:00 - 15-08 13:30:00 @ 15.36p 0%, 15-08 13:30:00 - 15-08 14:00:00 @ 15.74p 0%, 15-08 14:00:00 - 15-08 14:30:00 @ 14.57p 0%, 15-08 14:30:00 - 15-08 15:00:00 @ 13.77p 0%, 15-08 15:00:00 - 15-08 15:30:00 @ 15.02p 0%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 0%, 15-08 16:00:00 - 15-08 16:30:00 @ 33.13p 0%, 15-08 16:30:00 - 15-08 17:00:00 @ 33.13p 0%, 15-08 17:00:00 - 15-08 17:30:00 @ 38.46p 0%, 15-08 17:30:00 - 15-08 18:00:00 @ 40.44p 0%, 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 0%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 0%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 0%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 0%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 0%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 27.8p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 29.09p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.47p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.18p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 27.57p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.5p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.6p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 24.79p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 25.08p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 24.62p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 27.02p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.47p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 26.25p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.4p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.7p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 27.63p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 22.73p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 26.7p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 22.92p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 22.48p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 23.55p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 23.64p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 19.66p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 17.66p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 16.56p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 15.46p 0%, 16-08 12:00:00 - 16-08 12:30:00 @ 17.0p 0%, 16-08 12:30:00 - 16-08 13:00:00 @ 16.34p 0%, 16-08 13:00:00 - 16-08 13:30:00 @ 15.36p 0%, 16-08 13:30:00 - 16-08 14:00:00 @ 15.74p 0%, 16-08 14:00:00 - 16-08 14:30:00 @ 14.57p 0%, 16-08 14:30:00 - 16-08 15:00:00 @ 13.77p 0%, 16-08 15:00:00 - 16-08 15:30:00 @ 15.02p 0%, 16-08 15:30:00 - 16-08 16:00:00 @ 15.87p 0%, 16-08 16:00:00 - 16-08 16:30:00 @ 33.13p 0%, 16-08 16:30:00 - 16-08 17:00:00 @ 33.13p 0%, 16-08 17:00:00 - 16-08 17:30:00 @ 38.46p 0%, 16-08 17:30:00 - 16-08 18:00:00 @ 40.44p 0%, 16-08 18:00:00 - 16-08 18:30:00 @ 41.55p 0%, 16-08 19:00:00 - 16-08 19:30:00 @ 32.58p 0%, 16-08 19:30:00 - 16-08 20:00:00 @ 32.9p 0%, 16-08 20:00:00 - 16-08 20:30:00 @ 31.99p 0%, 16-08 20:30:00 - 16-08 21:00:00 @ 32.1p 0%, 16-08 21:00:00 - 16-08 21:30:00 @ 31.71p 0%, 16-08 21:30:00 - 16-08 22:00:00 @ 31.67p 0%, 16-08 22:00:00 - 16-08 22:30:00 @ 31.77p 0%, 16-08 22:30:00 - 16-08 23:00:00 @ 29.81p 0%, 16-08 23:00:00 - 16-08 23:30:00 @ 27.8p 0%, 16-08 23:30:00 - 17-08 00:00:00 @ 29.09p 0%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.47p 0%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.18p 0%, 17-08 01:00:00 - 17-08 01:30:00 @ 27.57p 0%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.5p 0%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.6p 0%, 17-08 02:30:00 - 17-08 03:00:00 @ 24.79p 0%, 17-08 03:00:00 - 17-08 03:30:00 @ 25.08p 0%, 17-08 03:30:00 - 17-08 04:00:00 @ 24.62p 0%, 17-08 04:00:00 - 17-08 04:30:00 @ 27.02p 0%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.47p 0%, 17-08 05:00:00 - 17-08 05:30:00 @ 26.25p 0%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.4p 0%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.7p 0%, 17-08 06:30:00 - 17-08 07:00:00 @ 27.63p 0% ]
2026-08-15 06:50:03.697396: Best export window [  ]
2026-08-15 06:50:03.698084: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 06:50:03.700906: Load divergence over 8.0 hours mean 613.37W, min 278.4W, max 1692.6W, std dev 331.25W, divergence 27.0%
2026-08-15 06:50:03.718465: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 06:50:03.718586: LoadML is_calculating False
2026-08-15 06:50:03.718657: Creating pool of 12 processes to match your CPU count
2026-08-15 06:50:03.803986: Calculate Best options: mode(Control charge & discharge), calculate_export_oncharge(False), calculate_export_on_pv(True), set_export_freeze_only(False), set_discharge_during_charge(True), combine_charge_slots(False), combine_export_slots(False), combine_rate_threshold(0.0), best_soc_min(0.0 kWh), best_soc_max(0.0 kWh), best_soc_keep(0.0 kWh), inverter_loss(4%), battery_loss(3%), battery_loss_discharge (3%), inverter_hybrid(True), metric_min_improvement(0.0p), metric_min_improvement_export(0.1p), metric_min_improvement_export_freeze(0.1p), metric_battery_cycle(0.0p/kWh), metric_battery_value_scaling(1.0 x) 
2026-08-15 06:50:03.805719: Optimise levels pass started at 2026-08-15 06:50:03
2026-08-15 06:50:03.805821: Optimise all windows, total charge 94 export 1
2026-08-15 06:50:04.844177: >> Region optimisation pass width 960 gives best_metric 827.45p, best_cost 832.99p, best_cycle 55.03kWh, best_import 38.46kWh
2026-08-15 06:50:05.251804: >> Region optimisation pass width 480 gives best_metric 827.45p, best_cost 832.99p, best_cycle 55.03kWh, best_import 38.46kWh
2026-08-15 06:50:05.755852: >> Region optimisation pass width 240 gives best_metric 827.45p, best_cost 832.99p, best_cycle 55.03kWh, best_import 38.46kWh
2026-08-15 06:50:06.778566: >> Region optimisation pass width 120 gives best_metric 827.45p, best_cost 832.99p, best_cycle 55.03kWh, best_import 38.46kWh
2026-08-15 06:50:06.778945: Calculated end_record as 08-16 11:30:00 based on best_price 16.34p, next_charge_start 08-15 11:30:00, max_windows 57
2026-08-15 06:50:06.779073: Optimise levels pass ended at 2026-08-15 06:50:06, duration 3.0 seconds tried 323 combinations
2026-08-15 06:50:06.779178: Set best_price_charge_level 17.6p, best_price_export_level 0p, best_price_charge 16.34p, best_cost_export 0p, best_metric 827.45p, best_keep 0kWh, best_cycle 55.03kWh, best_carbon 0kg, best_import 38.46kWh
2026-08-15 06:50:06.795822: Starting detailed optimisation end_record 08-16 11:30:00, best_price_charge 16.34p, best_price_export 0p. lowest_price_charge 13.77p with charge limits [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0]kWh and export limits []kWh
2026-08-15 06:50:10.764477: Tweak plan optimisation started metric 590.68p, cost 600.4p
2026-08-15 06:50:11.004121: Tweak optimisation finished metric 590.68p, cost 600.4p, metric_keep 0kWh, cycle 30.59kWh, carbon 0kg, import 23.46kWh, changed 8 window(s)
2026-08-15 06:50:11.024208: Swap charge optimisation started metric 590.68p, cost 600.4p, min_improvement_swap 0.1p
2026-08-15 06:50:16.205355: Swap charge optimisation finished metric 590.68p, cost 600.4p
2026-08-15 06:50:16.331654: Pruned 3 dead plan slot(s) in 12 trial(s), nominal metric 587.16p -> 587.17p, plan now metric 590.75p, cost 600.42p, cycle 30.59kWh, import 23.46kWh
2026-08-15 06:50:16.343716: Raw charge windows [ 15-08 06:30:00 - 15-08 07:00:00 @ 27.63p 0%, 15-08 07:00:00 - 15-08 07:30:00 @ 22.73p 0%, 15-08 07:30:00 - 15-08 08:00:00 @ 26.7p 0%, 15-08 08:00:00 - 15-08 08:30:00 @ 22.92p 0%, 15-08 08:30:00 - 15-08 09:00:00 @ 22.48p 0%, 15-08 09:00:00 - 15-08 09:30:00 @ 23.55p 0%, 15-08 09:30:00 - 15-08 10:00:00 @ 23.64p 0%, 15-08 10:00:00 - 15-08 10:30:00 @ 19.66p 0%, 15-08 10:30:00 - 15-08 11:00:00 @ 17.66p 0%, 15-08 11:00:00 - 15-08 11:30:00 @ 16.56p 0%, 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 13:30:00 @ 15.36p 100%, 15-08 13:30:00 - 15-08 14:00:00 @ 15.74p 100%, 15-08 14:00:00 - 15-08 14:30:00 @ 14.57p 100%, 15-08 14:30:00 - 15-08 15:00:00 @ 13.77p 100%, 15-08 15:00:00 - 15-08 15:30:00 @ 15.02p 100%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 100%, 15-08 16:00:00 - 15-08 16:30:00 @ 33.13p 0%, 15-08 16:30:00 - 15-08 17:00:00 @ 33.13p 0%, 15-08 17:00:00 - 15-08 17:30:00 @ 38.46p 0%, 15-08 17:30:00 - 15-08 18:00:00 @ 40.44p 0%, 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 0%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 0%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 0%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 0%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 0%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 27.8p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 29.09p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.47p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.18p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 27.57p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.5p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.6p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 24.79p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 25.08p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 24.62p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 27.02p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.47p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 26.25p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.4p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.7p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 27.63p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 22.73p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 26.7p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 22.92p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 22.48p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 23.55p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 23.64p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 19.66p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 17.66p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 16.56p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 15.46p 100%, 16-08 12:00:00 - 16-08 12:30:00 @ 17.0p 100%, 16-08 12:30:00 - 16-08 13:00:00 @ 16.34p 100%, 16-08 13:00:00 - 16-08 13:30:00 @ 15.36p 100%, 16-08 13:30:00 - 16-08 14:00:00 @ 15.74p 100%, 16-08 14:00:00 - 16-08 14:30:00 @ 14.57p 100%, 16-08 14:30:00 - 16-08 15:00:00 @ 13.77p 100%, 16-08 15:00:00 - 16-08 15:30:00 @ 15.02p 100%, 16-08 15:30:00 - 16-08 16:00:00 @ 15.87p 100%, 16-08 16:00:00 - 16-08 16:30:00 @ 33.13p 100%, 16-08 16:30:00 - 16-08 17:00:00 @ 33.13p 100%, 16-08 17:00:00 - 16-08 17:30:00 @ 38.46p 100%, 16-08 17:30:00 - 16-08 18:00:00 @ 40.44p 100%, 16-08 18:00:00 - 16-08 18:30:00 @ 41.55p 100%, 16-08 19:00:00 - 16-08 19:30:00 @ 32.58p 100%, 16-08 19:30:00 - 16-08 20:00:00 @ 32.9p 100%, 16-08 20:00:00 - 16-08 20:30:00 @ 31.99p 100%, 16-08 20:30:00 - 16-08 21:00:00 @ 32.1p 100%, 16-08 21:00:00 - 16-08 21:30:00 @ 31.71p 100%, 16-08 21:30:00 - 16-08 22:00:00 @ 31.67p 100%, 16-08 22:00:00 - 16-08 22:30:00 @ 31.77p 100%, 16-08 22:30:00 - 16-08 23:00:00 @ 29.81p 100%, 16-08 23:00:00 - 16-08 23:30:00 @ 27.8p 100%, 16-08 23:30:00 - 17-08 00:00:00 @ 29.09p 100%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.47p 100%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.18p 100%, 17-08 01:00:00 - 17-08 01:30:00 @ 27.57p 100%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.5p 100%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.6p 100%, 17-08 02:30:00 - 17-08 03:00:00 @ 24.79p 100%, 17-08 03:00:00 - 17-08 03:30:00 @ 25.08p 100%, 17-08 03:30:00 - 17-08 04:00:00 @ 24.62p 100%, 17-08 04:00:00 - 17-08 04:30:00 @ 27.02p 100%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.47p 100%, 17-08 05:00:00 - 17-08 05:30:00 @ 26.25p 100%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.4p 100%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.7p 100%, 17-08 06:30:00 - 17-08 07:00:00 @ 27.63p 100% ] reserve 1.12
2026-08-15 06:50:16.344376: Unclipped charge windows [ 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 07:00:00 @ 26.82p 100% ] reserve 1.12
2026-08-15 06:50:16.344703: Unfiltered charge windows [ 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 07:00:00 @ 26.82p 100% ] reserve 1.12
2026-08-15 06:50:16.344935: Filtered charge windows [ 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 07:00:00 @ 26.82p 100% ] reserve 1.12
2026-08-15 06:50:16.380246: Previous plan best metric is 590.75 (cost 600.42) and new plan best metric is 590.68 (cost 600.4)
2026-08-15 06:50:16.380428: New plan metric is not significantly better (metric_min_improvement_plan 2.0) than previous plan, using previous plan
2026-08-15 06:50:16.380623: Plan valid is now true after recompute was False
2026-08-15 06:50:16.403145: predict base end_record 08-16 11:30:00, final soc 1.12kWh, metric 818.77p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 08:10:00, load 27.54kWh, PV 0.0kWh
2026-08-15 06:50:16.507184: Battery has 1.33 hours left - now at 1.96kWh
2026-08-15 06:50:16.550905: predict base10 end_record 08-16 11:30:00, final soc 1.12kWh, metric 845.14p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 08:10:00, load 28.59kWh, PV 0.0kWh
2026-08-15 06:50:16.623383: predict best10 end_record 08-16 11:30:00, final soc 1.12kWh, metric 674.21p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 08:10:00, load 28.59kWh, PV 0.0kWh
2026-08-15 06:50:16.700865: predict best end_record 08-16 11:30:00, final soc 1.12kWh, metric 650.4p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 08:10:00, load 27.54kWh, PV 0.0kWh
2026-08-15 06:50:16.701007: Saving plan best values to HA entities
2026-08-15 06:50:16.855790: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 06:50:16.860741: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 06:50:16.865829: Best charging limit SoC's [16.0, 3.5, 4.0, 16.0, 16.0, 16.0]kWh, export []kWh gives import battery 20.35kWh, house 3.11kWh, export 0.0kWh, metric 650.4p, metric10 674.21p
2026-08-15 06:50:16.934528: Marginal costs baseline metric (no standing charge): 600.4188
2026-08-15 06:50:17.151635: Marginal energy costs matrix computed: min=15.09 max=31.11
2026-08-15 06:50:17.220161: Rate array import [{'start': 410, 'end': 420, 'rate': 'expensive', 'range': '(27.6p)'}, {'start': 420, 'end': 450, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 450, 'end': 480, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 480, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 23.6p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1860, 'rate': 'expensive', 'range': '(24.6p - 32.9p)'}, {'start': 1860, 'end': 1890, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 1890, 'end': 1920, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 1920, 'end': 2130, 'rate': 'cheap', 'range': '(16.6p - 23.6p)'}] export [{'start': 410, 'end': 2130, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 06:50:17.220920: - Your estimated bill for today is £5.92 and tomorrow is £5.43
2026-08-15 06:50:17.220997: - Import rates are expensive (27.6p) for the next 10 minutes and then cheap (22.7p) for the next 30 minutes.
2026-08-15 06:50:17.221037: - The battery is currently at 12% and is in eco mode for the next 4 and three quarters hours.
2026-08-15 06:50:17.221087: - For the next 48 hours there will be no solar generation.
2026-08-15 06:50:17.221121: - You will run out of battery in 1 and a quarter hours.
2026-08-15 06:50:17.221144: - Your next charge slot will be in 4 and three quarters hours where import rates will be cheap (15.5p).
2026-08-15 06:50:17.221177: 
2026-08-15 06:50:17.271816: Plan calculation took 13.58 seconds
2026-08-15 06:50:17.272235: Inverter 0: Type SK Sunsynk
2026-08-15 06:50:17.272291: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 06:50:17.272587: Reserve min: 7%, battery_min: 7%
2026-08-15 06:50:17.272704: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 06:50:17.273168: Inverter 0 SoC: 2.07kW 13%, current charge rate 5000W, current discharge rate 5250W, current battery power 288W, current battery voltage 51.2V, grid power -49W, load power 330W, PV Power 0W
2026-08-15 06:50:17.273481: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 06:50:17.273645: Inverter 0 scheduled charge enable is False
2026-08-15 06:50:17.273706: Inverter 0 charge windows currently []
2026-08-15 06:50:17.273756: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 06:50:17.273927: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 06:50:17.273974: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 06:50:17.274015: Inverter 0 scheduled discharge enable is False
2026-08-15 06:50:17.274160: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 06:50:17.274199: Inverter 0 discharge windows currently []
2026-08-15 06:50:17.274222: Note: Inverter does not support discharge freeze - disabled
2026-08-15 06:50:17.274245: Note: Inverter does not support charge freeze - disabled
2026-08-15 06:50:17.274262: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 06:50:17.335514: Inverter 0 Charge window will be: 2026-08-15 11:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 13%, target 100%
2026-08-15 06:50:17.335731: Inverter 0 disabled charge window while waiting for schedule (now 08-15 06:50:00 target set_window_minutes 30 charge start time 08-15 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 06:50:17.335821: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 06:50:17.336015: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 06:50:17.336098: No export window planned
2026-08-15 06:50:17.336207: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 06:50:17.336265: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 06:50:17.336408: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 06:50:17.336605: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 06:50:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 06:50:17.336662: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 06:50:17.336716: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 06:50:17.336805: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 06:50:17.336842: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 06:50:17.336876: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 06:50:17.336902: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 06:50:17.336930: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 06:50:17.337009: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 06:50:17.337066: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 06:50:17.337147: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 06:50:17.337178: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 06:50:17.337203: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 06:50:17.337232: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 06:50:17.337256: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 06:50:17.337279: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 06:50:17.337302: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 06:50:17.337322: Inverter 0 count register writes 0
2026-08-15 06:50:17.361702: Total inverter register writes now 815
2026-08-15 06:50:17.394868: Info: Completed run status Demand
2026-08-15 06:50:17.400799: Info: record_status Demand
2026-08-15 06:50:17.407687: Saved current settings to /config/predbat_config.json
2026-08-15 06:50:17.407979: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 06:50:56.514775: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 06:50:56.514981: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 06:50:56.515011: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 06:50:56.515127: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 06:50:56.515187: Note: Inverter does not support discharge freeze - disabled
2026-08-15 06:50:56.515204: Note: Inverter does not support charge freeze - disabled
2026-08-15 06:50:56.515218: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 06:52:56.734933: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 06:52:56.735293: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 06:52:56.735421: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 06:52:56.735792: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 06:52:56.735884: Note: Inverter does not support discharge freeze - disabled
2026-08-15 06:52:56.735911: Note: Inverter does not support charge freeze - disabled
2026-08-15 06:52:56.735934: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 06:53:44.696028: ML Component: Fetching 28 days of load history from ['sensor.sunsynk_day_load_energy']
2026-08-15 06:53:45.730335: Processing 1345 30-minute periods for power integration
2026-08-15 06:53:45.839562: ML Component: Car charging hold False, car energy reported load False
2026-08-15 06:53:45.945639: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 06:53:46.051099: ML Temperature data points: 49991
2026-08-15 06:53:46.323612: ML Component: Fetched 8064 load data points, 28.0 days of history
2026-08-15 06:53:46.368124: ML Component: Data fetch completed, load data age 56.0 days, 16347 data points
2026-08-15 06:53:46.368243: ML Component: No training needed, model age is 1.96 hours
2026-08-15 06:53:46.368304: ML Component: Generating predictions load data age 56.0 days, 16347 data points
2026-08-15 06:53:46.513616: ML Predictor: Starting autoregressive prediction loop for 576 steps (48.0 hours), prev_energy value 0.0342 max_dow {0: 0.10336562496256083, 1: 0.1091281248660758, 2: 0.11737499983031302, 3: 0.11972187416721135, 4: 0.17116562535744162, 5: 0.10228437502831222, 6: 0.10759687461592257}
2026-08-15 06:53:47.002806: ML Component: Generated 576 predictions (total 38.23 kWh over 48h)
2026-08-15 06:53:47.046717: ML Component: Prediction cycle completed
2026-08-15 06:53:47.168261: ML Component: Saved 16347 steps (56 days) of history to /config/predbat_ml_history.npz
2026-08-15 06:54:56.958931: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 06:54:56.959178: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 06:54:56.959214: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 06:54:56.959385: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 06:54:56.959424: Note: Inverter does not support discharge freeze - disabled
2026-08-15 06:54:56.959444: Note: Inverter does not support charge freeze - disabled
2026-08-15 06:54:56.959464: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 06:55:00.035612: --------------- PredBat - update at 2026-08-15 06:55:00+01:00 with clock skew 0 minutes, minutes now 415
2026-08-15 06:55:00.036403: Saved current settings to /config/predbat_config.json
2026-08-15 06:55:00.036564: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 45.0 minutes
2026-08-15 06:55:00.036653: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.1, latest beta is v8.48.1
2026-08-15 06:55:00.036763: Autoupdate: Currently up to date
2026-08-15 06:55:00.059118: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 06:55:00.059281: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 06:55:00.059505: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 06:55:00.060144: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 06:55:00.060297: Predbat mode is set to Control charge & discharge
2026-08-15 06:55:00.251103: Found 21602 load_today datapoints going back 28 days
2026-08-15 06:55:00.251275: Using load_power data to fill gaps in load_today data
2026-08-15 06:55:01.010843: Processing 721 30-minute periods for power integration
2026-08-15 06:55:01.197671: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 06:55:01.197831: Car charging hold False, threshold 6.0kWh
2026-08-15 06:55:01.197878: Current data so far today: load 5.45kWh, import 6.8kWh, export 0.0kWh, PV 0kWh
2026-08-15 06:55:01.212253: Cars: SoC: [12.892000000000001]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 06:55:01.212659: Standing charge is set to 49.98p
2026-08-15 06:55:01.240591: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 06:55:01.240663: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 06:55:01.240846: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 415.0 minutes
2026-08-15 06:55:01.241261: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 414.6 minutes
2026-08-15 06:55:01.243741: Loaded 47 datapoints of futurerate analysis
2026-08-15 06:55:01.315869: Predicted future rates: ['08-15 00:00:00 => 28.9 / 20.01', '08-15 01:00:00 => 27.54 / 19.31', '08-15 02:00:00 => 26.52 / 18.8', '08-15 03:00:00 => 25.99 / 18.53', '08-15 04:00:00 => 25.8 / 18.43', '08-15 05:00:00 => 25.96 / 18.51', '08-15 06:00:00 => 25.55 / 18.3', '08-15 07:00:00 => 24.33 / 17.68', '08-15 08:00:00 => 23.03 / 17.01', '08-15 09:00:00 => 22.05 / 16.51', '08-15 10:00:00 => 20.43 / 15.68', '08-15 11:00:00 => 18.01 / 14.45', '08-15 12:00:00 => 16.37 / 13.61', '08-15 13:00:00 => 15.76 / 13.3', '08-15 14:00:00 => 15.35 / 13.09', '08-15 15:00:00 => 15.86 / 13.35', '08-15 16:00:00 => 32.89 / 16.13', '08-15 17:00:00 => 38.02 / 18.75', '08-15 18:00:00 => 42.36 / 20.96', '08-15 19:00:00 => 31.09 / 21.13', '08-15 20:00:00 => 31.64 / 21.41', '08-15 21:00:00 => 31.64 / 21.41', '08-15 22:00:00 => 30.58 / 20.87']
2026-08-15 06:55:01.378817: Rate min forward looking: now 13.77p at end of forecast 13.77p
2026-08-15 06:55:01.379215: Import rates: min 13.77p, max 43.82p, average 25.96p
2026-08-15 06:55:01.422760: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 06:55:01.422893: Rate thresholds (for charge/export) are import 43.32p (0.0p), export -0.1p (0.0p)
2026-08-15 06:55:01.424183: High export rate found rates in range 99p to -99p
2026-08-15 06:55:01.510779: Low Import rate found rates in range 13.77p to 41.55p
2026-08-15 06:55:01.510897: Car 0 charging is not planned as it is not plugged in
2026-08-15 06:55:01.526974: Battery level now 1.96kWh, -1hr ago 1.76kWh, at midnight 1.66kWh, battery value change in the last hour 2.37p, change today 3.6p, rate_forward 11.83p
2026-08-15 06:55:01.527353: Last hour: net energy 0.5kWh, import 0.5kWh, export 0.0kWh, car 0kWh, load 0.45kWh, net cost 13.19p, import 13.19p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 06:55:01.570512: Today's energy total net 6.8kWh, import 6.8kWh, export 0.0kWh, cost 231.27p, import 181.28p, export 0.0p, carbon 0.0kg
2026-08-15 06:55:01.570669: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 06:55:01.638460: Using weighted-bucket historical load forecast over 14 days
2026-08-15 06:55:01.657644: Today's load divergence 107.14%, in-day adjustment 133.11%, damping 0.95x, yesterday 143.77% today 106.79% blend 71.18%
2026-08-15 06:55:01.657739: Today's predicted so far 4.21kWh with 0.0kWh car/iBoost excluded, 2.72kWh import ignored, and 4.21kWh forecast extra.
2026-08-15 06:55:01.657766: Today's actual load so far 5.41kWh with 0.0kWh car/iBoost excluded, and 2.72kWh import ignored.
2026-08-15 06:55:01.691931: Inverter 0: Type SK Sunsynk
2026-08-15 06:55:01.692027: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 06:55:01.692246: Reserve min: 7%, battery_min: 7%
2026-08-15 06:55:01.692330: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 06:55:01.692644: Inverter 0 SoC: 1.92kW 12%, current charge rate 5000W, current discharge rate 5250W, current battery power 334W, current battery voltage 51.2V, grid power -52W, load power 394W, PV Power 0W
2026-08-15 06:55:01.692855: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 06:55:01.693001: Inverter 0 scheduled charge enable is False
2026-08-15 06:55:01.693055: Inverter 0 charge windows currently []
2026-08-15 06:55:01.693104: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 06:55:01.693256: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 06:55:01.693296: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 06:55:01.693334: Inverter 0 scheduled discharge enable is False
2026-08-15 06:55:01.693539: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 06:55:01.693603: Inverter 0 discharge windows currently []
2026-08-15 06:55:01.693632: Note: Inverter does not support discharge freeze - disabled
2026-08-15 06:55:01.693652: Note: Inverter does not support charge freeze - disabled
2026-08-15 06:55:01.693670: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 06:55:01.756858: Dynamic load last period 0.30kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 06:55:01.756980: Plan was last updated on 2026-08-15 06:50:00+01:00 and is now 5.0 minutes old
2026-08-15 06:55:01.757212: Best charge window [ 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 00:30:00 @ 28.84p 100% ]
2026-08-15 06:55:01.757248: Best export window [  ]
2026-08-15 06:55:01.757869: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 06:55:01.760388: Load divergence over 8.0 hours mean 614.85W, min 287.4W, max 1838.4W, std dev 336.81W, divergence 27.39%
2026-08-15 06:55:01.775562: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 06:55:01.775663: LoadML is_calculating False
2026-08-15 06:55:01.775744: Creating pool of 12 processes to match your CPU count
2026-08-15 06:55:01.884446: predict base end_record 08-16 11:35:00, final soc 1.12kWh, metric 819.79p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 08:15:00, load 27.6kWh, PV 0.0kWh
2026-08-15 06:55:02.007066: Battery has 1.33 hours left - now at 1.92kWh
2026-08-15 06:55:02.045358: predict base10 end_record 08-16 11:35:00, final soc 1.12kWh, metric 846.27p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 08:10:00, load 28.66kWh, PV 0.0kWh
2026-08-15 06:55:02.126545: predict best10 end_record 08-16 11:35:00, final soc 1.44kWh, metric 680.57p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 08:10:00, load 28.66kWh, PV 0.0kWh
2026-08-15 06:55:02.207242: predict best end_record 08-16 11:35:00, final soc 1.51kWh, metric 657.77p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 08:15:00, load 27.6kWh, PV 0.0kWh
2026-08-15 06:55:02.207338: Saving plan best values to HA entities
2026-08-15 06:55:02.375998: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 06:55:02.381468: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 06:55:02.387232: Best charging limit SoC's [16.0, 3.5, 4.0, 16.0, 16.0, 16.0]kWh, export []kWh gives import battery 20.85kWh, house 3.09kWh, export 0.0kWh, metric 657.77p, metric10 680.57p
2026-08-15 06:55:02.461368: Marginal costs baseline metric (no standing charge): 607.7875
2026-08-15 06:55:02.736448: Marginal energy costs matrix computed: min=15.27 max=31.42
2026-08-15 06:55:02.810181: Rate array import [{'start': 415, 'end': 420, 'rate': 'expensive', 'range': '(27.6p)'}, {'start': 420, 'end': 450, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 450, 'end': 480, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 480, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 23.6p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1860, 'rate': 'expensive', 'range': '(24.6p - 32.9p)'}, {'start': 1860, 'end': 1890, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 1890, 'end': 1920, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 1920, 'end': 2135, 'rate': 'cheap', 'range': '(15.5p - 23.6p)'}] export [{'start': 415, 'end': 2135, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 06:55:02.810862: - Your estimated bill for today is £5.91 and tomorrow is £5.44
2026-08-15 06:55:02.810910: - Import rates are expensive (27.6p) for the next 5 minutes and then cheap (22.7p) for the next 30 minutes.
2026-08-15 06:55:02.810933: - The battery is currently at 12% and is in eco mode for the next 4 and a half hours.
2026-08-15 06:55:02.810951: - For the next 48 hours there will be no solar generation.
2026-08-15 06:55:02.810970: - You will run out of battery in 1 and a quarter hours.
2026-08-15 06:55:02.810987: - Your next charge slot will be in 4 and a half hours where import rates will be cheap (15.5p).
2026-08-15 06:55:02.811008: 
2026-08-15 06:55:02.861666: Plan calculation took 1.10 seconds
2026-08-15 06:55:02.865058: No high rate period found
2026-08-15 06:55:02.911333: Import threshold used for optimisation was 22.73p
2026-08-15 06:55:02.963132: Low import rate windows [0: 08-15 06:30:00 - 08-15 07:00:00 @ 27.63, 1: 08-15 07:00:00 - 08-15 07:30:00 @ 22.73, 2: 08-15 07:30:00 - 08-15 08:00:00 @ 26.7, 3: 08-15 08:00:00 - 08-15 08:30:00 @ 22.92, 4: 08-15 08:30:00 - 08-15 09:00:00 @ 22.48, 5: 08-15 09:00:00 - 08-15 09:30:00 @ 23.55, 6: 08-15 09:30:00 - 08-15 10:00:00 @ 23.64, 7: 08-15 10:00:00 - 08-15 10:30:00 @ 19.66, 8: 08-15 10:30:00 - 08-15 11:00:00 @ 17.66, 9: 08-15 11:00:00 - 08-15 11:30:00 @ 16.56, 10: 08-15 11:30:00 - 08-15 12:00:00 @ 15.46, 11: 08-15 12:00:00 - 08-15 12:30:00 @ 17.0, 12: 08-15 12:30:00 - 08-15 13:00:00 @ 16.34, 13: 08-15 13:00:00 - 08-15 13:30:00 @ 15.36, 14: 08-15 13:30:00 - 08-15 14:00:00 @ 15.74, 15: 08-15 14:00:00 - 08-15 14:30:00 @ 14.57, 16: 08-15 14:30:00 - 08-15 15:00:00 @ 13.77, 17: 08-15 15:00:00 - 08-15 15:30:00 @ 15.02, 18: 08-15 15:30:00 - 08-15 16:00:00 @ 15.87, 19: 08-15 16:00:00 - 08-15 16:30:00 @ 33.13, 20: 08-15 16:30:00 - 08-15 17:00:00 @ 33.13, 21: 08-15 17:00:00 - 08-15 17:30:00 @ 38.46, 22: 08-15 17:30:00 - 08-15 18:00:00 @ 40.44, 23: 08-15 18:00:00 - 08-15 18:30:00 @ 41.55, 24: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 25: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 26: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 27: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 28: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 29: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 30: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 31: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 32: 08-15 23:00:00 - 08-15 23:30:00 @ 27.8, 33: 08-15 23:30:00 - 08-16 00:00:00 @ 29.09, 34: 08-16 00:00:00 - 08-16 00:30:00 @ 28.47, 35: 08-16 00:30:00 - 08-16 01:00:00 @ 27.18, 36: 08-16 01:00:00 - 08-16 01:30:00 @ 27.57, 37: 08-16 01:30:00 - 08-16 02:00:00 @ 26.5, 38: 08-16 02:00:00 - 08-16 02:30:00 @ 25.6, 39: 08-16 02:30:00 - 08-16 03:00:00 @ 24.79, 40: 08-16 03:00:00 - 08-16 03:30:00 @ 25.08, 41: 08-16 03:30:00 - 08-16 04:00:00 @ 24.62, 42: 08-16 04:00:00 - 08-16 04:30:00 @ 27.02, 43: 08-16 04:30:00 - 08-16 05:00:00 @ 26.47, 44: 08-16 05:00:00 - 08-16 05:30:00 @ 26.25, 45: 08-16 05:30:00 - 08-16 06:00:00 @ 26.4, 46: 08-16 06:00:00 - 08-16 06:30:00 @ 25.7, 47: 08-16 06:30:00 - 08-16 07:00:00 @ 27.63, 48: 08-16 07:00:00 - 08-16 07:30:00 @ 22.73, 49: 08-16 07:30:00 - 08-16 08:00:00 @ 26.7, 50: 08-16 08:00:00 - 08-16 08:30:00 @ 22.92, 51: 08-16 08:30:00 - 08-16 09:00:00 @ 22.48, 52: 08-16 09:00:00 - 08-16 09:30:00 @ 23.55, 53: 08-16 09:30:00 - 08-16 10:00:00 @ 23.64, 54: 08-16 10:00:00 - 08-16 10:30:00 @ 19.66, 55: 08-16 10:30:00 - 08-16 11:00:00 @ 17.66, 56: 08-16 11:00:00 - 08-16 11:30:00 @ 16.56, 57: 08-16 11:30:00 - 08-16 12:00:00 @ 15.46, 58: 08-16 12:00:00 - 08-16 12:30:00 @ 17.0, 59: 08-16 12:30:00 - 08-16 13:00:00 @ 16.34, 60: 08-16 13:00:00 - 08-16 13:30:00 @ 15.36, 61: 08-16 13:30:00 - 08-16 14:00:00 @ 15.74, 62: 08-16 14:00:00 - 08-16 14:30:00 @ 14.57, 63: 08-16 14:30:00 - 08-16 15:00:00 @ 13.77, 64: 08-16 15:00:00 - 08-16 15:30:00 @ 15.02, 65: 08-16 15:30:00 - 08-16 16:00:00 @ 15.87, 66: 08-16 16:00:00 - 08-16 16:30:00 @ 33.13, 67: 08-16 16:30:00 - 08-16 17:00:00 @ 33.13, 68: 08-16 17:00:00 - 08-16 17:30:00 @ 38.46, 69: 08-16 17:30:00 - 08-16 18:00:00 @ 40.44, 70: 08-16 18:00:00 - 08-16 18:30:00 @ 41.55, 71: 08-16 19:00:00 - 08-16 19:30:00 @ 32.58, 72: 08-16 19:30:00 - 08-16 20:00:00 @ 32.9, 73: 08-16 20:00:00 - 08-16 20:30:00 @ 31.99, 74: 08-16 20:30:00 - 08-16 21:00:00 @ 32.1, 75: 08-16 21:00:00 - 08-16 21:30:00 @ 31.71, 76: 08-16 21:30:00 - 08-16 22:00:00 @ 31.67, 77: 08-16 22:00:00 - 08-16 22:30:00 @ 31.77, 78: 08-16 22:30:00 - 08-16 23:00:00 @ 29.81, 79: 08-16 23:00:00 - 08-16 23:30:00 @ 27.8, 80: 08-16 23:30:00 - 08-17 00:00:00 @ 29.09, 81: 08-17 00:00:00 - 08-17 00:30:00 @ 28.47, 82: 08-17 00:30:00 - 08-17 01:00:00 @ 27.18, 83: 08-17 01:00:00 - 08-17 01:30:00 @ 27.57, 84: 08-17 01:30:00 - 08-17 02:00:00 @ 26.5, 85: 08-17 02:00:00 - 08-17 02:30:00 @ 25.6, 86: 08-17 02:30:00 - 08-17 03:00:00 @ 24.79, 87: 08-17 03:00:00 - 08-17 03:30:00 @ 25.08, 88: 08-17 03:30:00 - 08-17 04:00:00 @ 24.62, 89: 08-17 04:00:00 - 08-17 04:30:00 @ 27.02, 90: 08-17 04:30:00 - 08-17 05:00:00 @ 26.47, 91: 08-17 05:00:00 - 08-17 05:30:00 @ 26.25, 92: 08-17 05:30:00 - 08-17 06:00:00 @ 26.4, 93: 08-17 06:00:00 - 08-17 06:30:00 @ 25.7, 94: 08-17 06:30:00 - 08-17 07:00:00 @ 27.63]
2026-08-15 06:55:02.970947: Inverter 0 Charge window will be: 2026-08-15 11:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 12%, target 100%
2026-08-15 06:55:02.971086: Inverter 0 disabled charge window while waiting for schedule (now 08-15 06:55:00 target set_window_minutes 30 charge start time 08-15 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 06:55:02.971210: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 06:55:02.971600: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 06:55:02.971735: No export window planned
2026-08-15 06:55:02.971871: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 06:55:02.971909: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 06:55:02.972079: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 06:55:02.972325: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 06:55:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 06:55:02.972403: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 06:55:02.972471: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 06:55:02.972566: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 06:55:02.972602: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 06:55:02.972629: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 06:55:02.972675: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 06:55:02.972720: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 06:55:02.972750: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 06:55:02.972776: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 06:55:02.972840: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 06:55:02.972869: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 06:55:02.972893: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 06:55:02.972920: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 06:55:02.972974: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 06:55:02.973037: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 06:55:02.973260: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 06:55:02.973318: Inverter 0 count register writes 0
2026-08-15 06:55:02.989681: Will not recompute the plan, it is 5.0 minutes old and max age is 10 minutes
2026-08-15 06:55:02.995300: Total inverter register writes now 815
2026-08-15 06:55:03.028206: Info: Completed run status Demand
2026-08-15 06:55:03.034582: Info: record_status Demand
2026-08-15 06:55:03.041510: Saved current settings to /config/predbat_config.json
2026-08-15 06:55:03.041844: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 06:55:42.152925: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 06:55:42.153225: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 06:55:42.153298: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 06:55:42.153522: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 06:55:42.153573: Note: Inverter does not support discharge freeze - disabled
2026-08-15 06:55:42.153594: Note: Inverter does not support charge freeze - disabled
2026-08-15 06:55:42.153613: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 06:55:47.366463: ML Component: Fetching 28 days of load history from ['sensor.sunsynk_day_load_energy']
2026-08-15 06:55:48.488401: Processing 1345 30-minute periods for power integration
2026-08-15 06:55:48.584669: ML Component: Car charging hold False, car energy reported load False
2026-08-15 06:55:48.667839: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 06:55:48.755703: ML Temperature data points: 49986
2026-08-15 06:55:48.986052: ML Component: Fetched 8064 load data points, 28.0 days of history
2026-08-15 06:55:49.028390: ML Component: Data fetch completed, load data age 56.0 days, 16348 data points
2026-08-15 06:55:49.028588: ML Component: Starting fine-tune training (2h interval), model age is 2.0442866527777777 hours
2026-08-15 06:55:49.028623: ML Component: Doing training...
2026-08-15 06:55:49.041574: ML Predictor: Curriculum training - capped to last 4 intermediate passes (starting at window=53.0 days)
2026-08-15 06:55:49.041674: ML Predictor: Curriculum training - 5 passes, window 53.0→56.0 days + final full pass (56.8 days)
2026-08-15 06:55:49.090800: ML Predictor: Curriculum pass 1/5: window=53.0 days (1272 hours of data)
2026-08-15 06:55:49.090911: ML Predictor: Starting initial training with 30 epochs
2026-08-15 06:55:49.583260: ML Predictor: Creating dataset with 1272 hours of training data, 48 hours validation
2026-08-15 06:55:54.401167: ML Predictor: Created 14976 training samples, 576 validation samples
2026-08-15 06:55:54.454412: ML Predictor: Normalization stats [fit] target(mean=0.0587 std=0.0470) load(mean=0.0589 std=0.0473) pv(mean=0.0000 std=0.0100) temp(mean=19.4859 std=4.4023) import_rate(mean=25.4946 std=2.4792) export_rate(mean=0.0000 std=1.0000) time(mean=-0.1907 std=0.5232)
2026-08-15 06:56:11.176917: ML Predictor: Epoch 1/30: lr=0.00100 huber_loss=0.0181 val_mae=0.0055 kWh val_bias=+0.0015 kWh (+2.7%) combined=0.0029 kWh ema_combined=0.0029 kWh
2026-08-15 06:56:23.197701: ML Predictor: Epoch 2/30: lr=0.00100 huber_loss=0.0347 val_mae=0.0052 kWh val_bias=+0.0002 kWh (+0.4%) combined=0.0029 kWh ema_combined=0.0029 kWh
2026-08-15 06:56:35.771696: ML Predictor: Epoch 3/30: lr=0.00099 huber_loss=0.0303 val_mae=0.0044 kWh val_bias=-0.0001 kWh (-0.2%) combined=0.0024 kWh ema_combined=0.0027 kWh
2026-08-15 06:56:51.547000: ML Predictor: Epoch 4/30: lr=0.00098 huber_loss=0.0210 val_mae=0.0037 kWh val_bias=+0.0002 kWh (+0.3%) combined=0.0019 kWh ema_combined=0.0025 kWh
2026-08-15 06:57:10.482076: ML Predictor: Epoch 5/30: lr=0.00096 huber_loss=0.0182 val_mae=0.0044 kWh val_bias=+0.0025 kWh (+4.3%) combined=0.0042 kWh ema_combined=0.0030 kWh
2026-08-15 06:57:28.869007: ML Predictor: Epoch 6/30: lr=0.00094 huber_loss=0.0179 val_mae=0.0035 kWh val_bias=+0.0003 kWh (+0.6%) combined=0.0026 kWh ema_combined=0.0029 kWh
2026-08-15 06:57:42.163922: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 06:57:42.165156: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 06:57:42.165329: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 06:57:42.165542: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 06:57:42.165594: Note: Inverter does not support discharge freeze - disabled
2026-08-15 06:57:42.165645: Note: Inverter does not support charge freeze - disabled
2026-08-15 06:57:42.165685: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 06:57:45.945231: TemperatureAPI: Using coordinates latitude 53.4, longitude -2.2
2026-08-15 06:57:46.127551: TemperatureAPI: Successfully fetched temperature data from Open-Meteo API
2026-08-15 06:57:48.786328: ML Predictor: Epoch 7/30: lr=0.00091 huber_loss=0.0148 val_mae=0.0036 kWh val_bias=-0.0004 kWh (-0.7%) combined=0.0024 kWh ema_combined=0.0027 kWh
2026-08-15 06:58:07.872838: ML Predictor: Epoch 8/30: lr=0.00088 huber_loss=0.0127 val_mae=0.0033 kWh val_bias=+0.0005 kWh (+0.9%) combined=0.0028 kWh ema_combined=0.0028 kWh
2026-08-15 06:58:28.884047: ML Predictor: Epoch 9/30: lr=0.00084 huber_loss=0.0107 val_mae=0.0028 kWh val_bias=+0.0005 kWh (+0.8%) combined=0.0020 kWh ema_combined=0.0025 kWh
2026-08-15 06:58:47.854135: ML Predictor: Epoch 10/30: lr=0.00080 huber_loss=0.0100 val_mae=0.0027 kWh val_bias=-0.0003 kWh (-0.6%) combined=0.0014 kWh ema_combined=0.0022 kWh
2026-08-15 06:59:07.317482: ML Predictor: Epoch 11/30: lr=0.00076 huber_loss=0.0090 val_mae=0.0027 kWh val_bias=+0.0005 kWh (+0.8%) combined=0.0019 kWh ema_combined=0.0021 kWh
2026-08-15 06:59:26.167512: ML Predictor: Epoch 12/30: lr=0.00072 huber_loss=0.0091 val_mae=0.0026 kWh val_bias=-0.0004 kWh (-0.7%) combined=0.0014 kWh ema_combined=0.0019 kWh
2026-08-15 06:59:45.253372: Info: HAHistory: Pruning history data started.
2026-08-15 06:59:45.257809: Info: HAHistory: Pruning history data completed.
2026-08-15 06:59:46.277642: ML Predictor: Epoch 13/30: lr=0.00067 huber_loss=0.0079 val_mae=0.0025 kWh val_bias=+0.0006 kWh (+1.1%) combined=0.0022 kWh ema_combined=0.0020 kWh
2026-08-15 06:59:56.670309: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 06:59:56.670577: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 06:59:56.670700: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 06:59:56.670969: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 06:59:56.671109: Note: Inverter does not support discharge freeze - disabled
2026-08-15 06:59:56.671224: Note: Inverter does not support charge freeze - disabled
2026-08-15 06:59:56.671397: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 07:00:00.825266: --------------- PredBat - update at 2026-08-15 07:00:00+01:00 with clock skew 0 minutes, minutes now 420
2026-08-15 07:00:00.826992: Saved current settings to /config/predbat_config.json
2026-08-15 07:00:00.827460: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 50.0 minutes
2026-08-15 07:00:00.827742: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.1, latest beta is v8.48.1
2026-08-15 07:00:00.828060: Autoupdate: Currently up to date
2026-08-15 07:00:00.860181: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 07:00:00.860586: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 07:00:00.861034: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 07:00:00.861922: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 07:00:00.862224: Predbat mode is set to Control charge & discharge
2026-08-15 07:00:01.316336: Found 21602 load_today datapoints going back 27 days
2026-08-15 07:00:01.317170: Using load_power data to fill gaps in load_today data
2026-08-15 07:00:02.781695: Processing 721 30-minute periods for power integration
2026-08-15 07:00:03.124092: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 07:00:03.124686: Car charging hold False, threshold 6.0kWh
2026-08-15 07:00:03.125122: Current data so far today: load 5.55kWh, import 6.8kWh, export 0.0kWh, PV 0kWh
2026-08-15 07:00:03.144782: Cars: SoC: [12.892000000000001]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 07:00:03.145585: Standing charge is set to 49.98p
2026-08-15 07:00:03.221085: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 07:00:03.221242: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 07:00:03.221584: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 420.0 minutes
2026-08-15 07:00:03.222341: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 419.7 minutes
2026-08-15 07:00:03.228695: Loaded 47 datapoints of futurerate analysis
2026-08-15 07:00:03.530992: Predicted future rates: ['08-15 00:00:00 => 28.9 / 20.01', '08-15 01:00:00 => 27.54 / 19.31', '08-15 02:00:00 => 26.52 / 18.8', '08-15 03:00:00 => 25.99 / 18.53', '08-15 04:00:00 => 25.8 / 18.43', '08-15 05:00:00 => 25.96 / 18.51', '08-15 06:00:00 => 25.55 / 18.3', '08-15 07:00:00 => 24.33 / 17.68', '08-15 08:00:00 => 23.03 / 17.01', '08-15 09:00:00 => 22.05 / 16.51', '08-15 10:00:00 => 20.43 / 15.68', '08-15 11:00:00 => 18.01 / 14.45', '08-15 12:00:00 => 16.37 / 13.61', '08-15 13:00:00 => 15.76 / 13.3', '08-15 14:00:00 => 15.35 / 13.09', '08-15 15:00:00 => 15.86 / 13.35', '08-15 16:00:00 => 32.89 / 16.13', '08-15 17:00:00 => 38.02 / 18.75', '08-15 18:00:00 => 42.36 / 20.96', '08-15 19:00:00 => 31.09 / 21.13', '08-15 20:00:00 => 31.64 / 21.41', '08-15 21:00:00 => 31.64 / 21.41', '08-15 22:00:00 => 30.58 / 20.87']
2026-08-15 07:00:03.647591: Rate min forward looking: now 13.77p at end of forecast 13.77p
2026-08-15 07:00:03.648176: Import rates: min 13.77p, max 43.82p, average 25.96p
2026-08-15 07:00:03.694191: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 07:00:03.694327: Rate thresholds (for charge/export) are import 43.32p (0.0p), export -0.1p (0.0p)
2026-08-15 07:00:03.695512: High export rate found rates in range 99p to -99p
2026-08-15 07:00:03.792931: Low Import rate found rates in range 13.77p to 41.55p
2026-08-15 07:00:03.793258: Car 0 charging is not planned as it is not plugged in
2026-08-15 07:00:03.816057: Battery level now 1.92kWh, -1hr ago 1.63kWh, at midnight 1.66kWh, battery value change in the last hour 3.41p, change today 3.12p, rate_forward 11.83p
2026-08-15 07:00:03.816724: Last hour: net energy 0.45kWh, import 0.45kWh, export 0.0kWh, car 0kWh, load 0.5kWh, net cost 11.87p, import 11.87p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 07:00:03.957988: Today's energy total net 6.8kWh, import 6.8kWh, export 0.0kWh, cost 231.27p, import 181.28p, export 0.0p, carbon 0.0kg
2026-08-15 07:00:03.958124: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 07:00:04.310287: Using weighted-bucket historical load forecast over 14 days
2026-08-15 07:00:04.421106: Today's load divergence 107.7%, in-day adjustment 133.14%, damping 0.95x, yesterday 143.77% today 107.32% blend 70.83%
2026-08-15 07:00:04.421433: Today's predicted so far 4.32kWh with 0.0kWh car/iBoost excluded, 2.6kWh import ignored, and 4.32kWh forecast extra.
2026-08-15 07:00:04.421643: Today's actual load so far 5.62kWh with 0.0kWh car/iBoost excluded, and 2.6kWh import ignored.
2026-08-15 07:00:04.508968: Inverter 0: Type SK Sunsynk
2026-08-15 07:00:04.509267: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 07:00:04.509793: Reserve min: 7%, battery_min: 7%
2026-08-15 07:00:04.510107: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 07:00:04.510636: Inverter 0 SoC: 1.92kW 12%, current charge rate 5000W, current discharge rate 5250W, current battery power 441W, current battery voltage 51.2V, grid power -55W, load power 500W, PV Power 0W
2026-08-15 07:00:04.511068: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 07:00:04.511357: Inverter 0 scheduled charge enable is False
2026-08-15 07:00:04.511514: Inverter 0 charge windows currently []
2026-08-15 07:00:04.511681: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 07:00:04.512012: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 07:00:04.512322: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 07:00:04.512556: Inverter 0 scheduled discharge enable is False
2026-08-15 07:00:04.513051: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 07:00:04.513230: Inverter 0 discharge windows currently []
2026-08-15 07:00:04.513409: Note: Inverter does not support discharge freeze - disabled
2026-08-15 07:00:04.513581: Note: Inverter does not support charge freeze - disabled
2026-08-15 07:00:04.514137: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 07:00:04.606236: Dynamic load last period 0.60kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 07:00:04.606387: Plan was last updated on 2026-08-15 06:50:00+01:00 and is now 10.0 minutes old
2026-08-15 07:00:04.606809: Best charge window [ 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 00:30:00 @ 28.84p 100% ]
2026-08-15 07:00:04.606887: Best export window [  ]
2026-08-15 07:00:04.608203: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 07:00:04.613731: Load divergence over 8.0 hours mean 621.09W, min 281.4W, max 1607.4W, std dev 334.06W, divergence 26.89%
2026-08-15 07:00:04.656485: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 07:00:04.656654: LoadML is_calculating True
2026-08-15 07:00:04.656703: Not using thread pool as LoadML is calculating to avoid lockups
2026-08-15 07:00:04.751712: predict base end_record 08-16 11:40:00, final soc 1.12kWh, metric 818.62p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 08:20:00, load 27.69kWh, PV 0.0kWh
2026-08-15 07:00:05.027837: Battery has 1.33 hours left - now at 1.92kWh
2026-08-15 07:00:05.106965: predict base10 end_record 08-16 11:40:00, final soc 1.12kWh, metric 845.04p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 08:15:00, load 28.75kWh, PV 0.0kWh
2026-08-15 07:00:05.302387: predict best10 end_record 08-16 11:40:00, final soc 1.77kWh, metric 685.03p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 08:15:00, load 28.75kWh, PV 0.0kWh
2026-08-15 07:00:05.514869: predict best end_record 08-16 11:40:00, final soc 1.9kWh, metric 663.57p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 08:20:00, load 27.69kWh, PV 0.0kWh
2026-08-15 07:00:05.515165: Saving plan best values to HA entities
2026-08-15 07:00:05.874952: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0
2026-08-15 07:00:05.886002: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 07:00:05.915551: Best charging limit SoC's [16.0, 3.5, 4.0, 16.0, 16.0, 16.0]kWh, export []kWh gives import battery 21.36kWh, house 2.99kWh, export 0.0kWh, metric 663.57p, metric10 685.03p
2026-08-15 07:00:06.106276: Marginal costs baseline metric (no standing charge): 613.5843
2026-08-15 07:00:06.646644: Marginal energy costs matrix computed: min=15.44 max=31.68
2026-08-15 07:00:06.899682: Rate array import [{'start': 420, 'end': 450, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 450, 'end': 480, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 480, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 23.6p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1860, 'rate': 'expensive', 'range': '(24.6p - 32.9p)'}, {'start': 1860, 'end': 1890, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 1890, 'end': 1920, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 1920, 'end': 2140, 'rate': 'cheap', 'range': '(15.5p - 23.6p)'}] export [{'start': 420, 'end': 2140, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 07:00:06.909897: - Your estimated bill for today is £5.90 and tomorrow is £5.40
2026-08-15 07:00:06.911376: - Import rates are cheap (22.7p) for the next 30 minutes and then expensive (26.7p) for the next 30 minutes.
2026-08-15 07:00:06.911419: - The battery is currently at 12% and is in eco mode for the next 4 and a half hours.
2026-08-15 07:00:06.913133: - For the next 48 hours there will be no solar generation.
2026-08-15 07:00:06.913287: - You will run out of battery in 1 and a quarter hours.
2026-08-15 07:00:06.913367: - Your next charge slot will be in 4 and a half hours where import rates will be cheap (15.5p).
2026-08-15 07:00:06.913442: 
2026-08-15 07:00:07.027520: Plan calculation took 2.42 seconds
2026-08-15 07:00:07.031662: No high rate period found
2026-08-15 07:00:07.123480: Import threshold used for optimisation was 22.73p
2026-08-15 07:00:07.223692: Low import rate windows [0: 08-15 07:00:00 - 08-15 07:30:00 @ 22.73, 1: 08-15 07:30:00 - 08-15 08:00:00 @ 26.7, 2: 08-15 08:00:00 - 08-15 08:30:00 @ 22.92, 3: 08-15 08:30:00 - 08-15 09:00:00 @ 22.48, 4: 08-15 09:00:00 - 08-15 09:30:00 @ 23.55, 5: 08-15 09:30:00 - 08-15 10:00:00 @ 23.64, 6: 08-15 10:00:00 - 08-15 10:30:00 @ 19.66, 7: 08-15 10:30:00 - 08-15 11:00:00 @ 17.66, 8: 08-15 11:00:00 - 08-15 11:30:00 @ 16.56, 9: 08-15 11:30:00 - 08-15 12:00:00 @ 15.46, 10: 08-15 12:00:00 - 08-15 12:30:00 @ 17.0, 11: 08-15 12:30:00 - 08-15 13:00:00 @ 16.34, 12: 08-15 13:00:00 - 08-15 13:30:00 @ 15.36, 13: 08-15 13:30:00 - 08-15 14:00:00 @ 15.74, 14: 08-15 14:00:00 - 08-15 14:30:00 @ 14.57, 15: 08-15 14:30:00 - 08-15 15:00:00 @ 13.77, 16: 08-15 15:00:00 - 08-15 15:30:00 @ 15.02, 17: 08-15 15:30:00 - 08-15 16:00:00 @ 15.87, 18: 08-15 16:00:00 - 08-15 16:30:00 @ 33.13, 19: 08-15 16:30:00 - 08-15 17:00:00 @ 33.13, 20: 08-15 17:00:00 - 08-15 17:30:00 @ 38.46, 21: 08-15 17:30:00 - 08-15 18:00:00 @ 40.44, 22: 08-15 18:00:00 - 08-15 18:30:00 @ 41.55, 23: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 24: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 25: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 26: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 27: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 28: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 29: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 30: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 31: 08-15 23:00:00 - 08-15 23:30:00 @ 27.8, 32: 08-15 23:30:00 - 08-16 00:00:00 @ 29.09, 33: 08-16 00:00:00 - 08-16 00:30:00 @ 28.47, 34: 08-16 00:30:00 - 08-16 01:00:00 @ 27.18, 35: 08-16 01:00:00 - 08-16 01:30:00 @ 27.57, 36: 08-16 01:30:00 - 08-16 02:00:00 @ 26.5, 37: 08-16 02:00:00 - 08-16 02:30:00 @ 25.6, 38: 08-16 02:30:00 - 08-16 03:00:00 @ 24.79, 39: 08-16 03:00:00 - 08-16 03:30:00 @ 25.08, 40: 08-16 03:30:00 - 08-16 04:00:00 @ 24.62, 41: 08-16 04:00:00 - 08-16 04:30:00 @ 27.02, 42: 08-16 04:30:00 - 08-16 05:00:00 @ 26.47, 43: 08-16 05:00:00 - 08-16 05:30:00 @ 26.25, 44: 08-16 05:30:00 - 08-16 06:00:00 @ 26.4, 45: 08-16 06:00:00 - 08-16 06:30:00 @ 25.7, 46: 08-16 06:30:00 - 08-16 07:00:00 @ 27.63, 47: 08-16 07:00:00 - 08-16 07:30:00 @ 22.73, 48: 08-16 07:30:00 - 08-16 08:00:00 @ 26.7, 49: 08-16 08:00:00 - 08-16 08:30:00 @ 22.92, 50: 08-16 08:30:00 - 08-16 09:00:00 @ 22.48, 51: 08-16 09:00:00 - 08-16 09:30:00 @ 23.55, 52: 08-16 09:30:00 - 08-16 10:00:00 @ 23.64, 53: 08-16 10:00:00 - 08-16 10:30:00 @ 19.66, 54: 08-16 10:30:00 - 08-16 11:00:00 @ 17.66, 55: 08-16 11:00:00 - 08-16 11:30:00 @ 16.56, 56: 08-16 11:30:00 - 08-16 12:00:00 @ 15.46, 57: 08-16 12:00:00 - 08-16 12:30:00 @ 17.0, 58: 08-16 12:30:00 - 08-16 13:00:00 @ 16.34, 59: 08-16 13:00:00 - 08-16 13:30:00 @ 15.36, 60: 08-16 13:30:00 - 08-16 14:00:00 @ 15.74, 61: 08-16 14:00:00 - 08-16 14:30:00 @ 14.57, 62: 08-16 14:30:00 - 08-16 15:00:00 @ 13.77, 63: 08-16 15:00:00 - 08-16 15:30:00 @ 15.02, 64: 08-16 15:30:00 - 08-16 16:00:00 @ 15.87, 65: 08-16 16:00:00 - 08-16 16:30:00 @ 33.13, 66: 08-16 16:30:00 - 08-16 17:00:00 @ 33.13, 67: 08-16 17:00:00 - 08-16 17:30:00 @ 38.46, 68: 08-16 17:30:00 - 08-16 18:00:00 @ 40.44, 69: 08-16 18:00:00 - 08-16 18:30:00 @ 41.55, 70: 08-16 19:00:00 - 08-16 19:30:00 @ 32.58, 71: 08-16 19:30:00 - 08-16 20:00:00 @ 32.9, 72: 08-16 20:00:00 - 08-16 20:30:00 @ 31.99, 73: 08-16 20:30:00 - 08-16 21:00:00 @ 32.1, 74: 08-16 21:00:00 - 08-16 21:30:00 @ 31.71, 75: 08-16 21:30:00 - 08-16 22:00:00 @ 31.67, 76: 08-16 22:00:00 - 08-16 22:30:00 @ 31.77, 77: 08-16 22:30:00 - 08-16 23:00:00 @ 29.81, 78: 08-16 23:00:00 - 08-16 23:30:00 @ 27.8, 79: 08-16 23:30:00 - 08-17 00:00:00 @ 29.09, 80: 08-17 00:00:00 - 08-17 00:30:00 @ 28.47, 81: 08-17 00:30:00 - 08-17 01:00:00 @ 27.18, 82: 08-17 01:00:00 - 08-17 01:30:00 @ 27.57, 83: 08-17 01:30:00 - 08-17 02:00:00 @ 26.5, 84: 08-17 02:00:00 - 08-17 02:30:00 @ 25.6, 85: 08-17 02:30:00 - 08-17 03:00:00 @ 24.79, 86: 08-17 03:00:00 - 08-17 03:30:00 @ 25.08, 87: 08-17 03:30:00 - 08-17 04:00:00 @ 24.62, 88: 08-17 04:00:00 - 08-17 04:30:00 @ 27.02, 89: 08-17 04:30:00 - 08-17 05:00:00 @ 26.47, 90: 08-17 05:00:00 - 08-17 05:30:00 @ 26.25, 91: 08-17 05:30:00 - 08-17 06:00:00 @ 26.4, 92: 08-17 06:00:00 - 08-17 06:30:00 @ 25.7, 93: 08-17 06:30:00 - 08-17 07:00:00 @ 27.63]
2026-08-15 07:00:07.237827: Inverter 0 Charge window will be: 2026-08-15 11:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 12%, target 100%
2026-08-15 07:00:07.238193: Inverter 0 disabled charge window while waiting for schedule (now 08-15 07:00:00 target set_window_minutes 30 charge start time 08-15 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 07:00:07.238440: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 07:00:07.239544: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 07:00:07.239794: No export window planned
2026-08-15 07:00:07.240137: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 07:00:07.240325: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 07:00:07.240724: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 07:00:07.241165: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 07:00:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 07:00:07.241355: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 07:00:07.241529: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 07:00:07.241740: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 07:00:07.242086: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 07:00:07.242283: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 07:00:07.242438: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 07:00:07.242583: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 07:00:07.242725: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 07:00:07.242901: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 07:00:07.243150: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 07:00:07.243336: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 07:00:07.243518: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 07:00:07.243718: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 07:00:07.243932: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 07:00:07.244124: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 07:00:07.244318: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 07:00:07.244488: Inverter 0 count register writes 0
2026-08-15 07:00:07.275806: Will recompute the plan as it is now 10.0 minutes old and will exceed the max age of 10 minutes before the next run
2026-08-15 07:00:07.276015: Recompute is saving previous plan...
2026-08-15 07:00:07.279775: Best charge window [ 15-08 07:00:00 - 15-08 07:30:00 @ 22.73p 0%, 15-08 07:30:00 - 15-08 08:00:00 @ 26.7p 0%, 15-08 08:00:00 - 15-08 08:30:00 @ 22.92p 0%, 15-08 08:30:00 - 15-08 09:00:00 @ 22.48p 0%, 15-08 09:00:00 - 15-08 09:30:00 @ 23.55p 0%, 15-08 09:30:00 - 15-08 10:00:00 @ 23.64p 0%, 15-08 10:00:00 - 15-08 10:30:00 @ 19.66p 0%, 15-08 10:30:00 - 15-08 11:00:00 @ 17.66p 0%, 15-08 11:00:00 - 15-08 11:30:00 @ 16.56p 0%, 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 0%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 0%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 0%, 15-08 13:00:00 - 15-08 13:30:00 @ 15.36p 0%, 15-08 13:30:00 - 15-08 14:00:00 @ 15.74p 0%, 15-08 14:00:00 - 15-08 14:30:00 @ 14.57p 0%, 15-08 14:30:00 - 15-08 15:00:00 @ 13.77p 0%, 15-08 15:00:00 - 15-08 15:30:00 @ 15.02p 0%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 0%, 15-08 16:00:00 - 15-08 16:30:00 @ 33.13p 0%, 15-08 16:30:00 - 15-08 17:00:00 @ 33.13p 0%, 15-08 17:00:00 - 15-08 17:30:00 @ 38.46p 0%, 15-08 17:30:00 - 15-08 18:00:00 @ 40.44p 0%, 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 0%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 0%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 0%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 0%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 0%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 27.8p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 29.09p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.47p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.18p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 27.57p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.5p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.6p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 24.79p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 25.08p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 24.62p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 27.02p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.47p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 26.25p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.4p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.7p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 27.63p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 22.73p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 26.7p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 22.92p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 22.48p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 23.55p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 23.64p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 19.66p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 17.66p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 16.56p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 15.46p 0%, 16-08 12:00:00 - 16-08 12:30:00 @ 17.0p 0%, 16-08 12:30:00 - 16-08 13:00:00 @ 16.34p 0%, 16-08 13:00:00 - 16-08 13:30:00 @ 15.36p 0%, 16-08 13:30:00 - 16-08 14:00:00 @ 15.74p 0%, 16-08 14:00:00 - 16-08 14:30:00 @ 14.57p 0%, 16-08 14:30:00 - 16-08 15:00:00 @ 13.77p 0%, 16-08 15:00:00 - 16-08 15:30:00 @ 15.02p 0%, 16-08 15:30:00 - 16-08 16:00:00 @ 15.87p 0%, 16-08 16:00:00 - 16-08 16:30:00 @ 33.13p 0%, 16-08 16:30:00 - 16-08 17:00:00 @ 33.13p 0%, 16-08 17:00:00 - 16-08 17:30:00 @ 38.46p 0%, 16-08 17:30:00 - 16-08 18:00:00 @ 40.44p 0%, 16-08 18:00:00 - 16-08 18:30:00 @ 41.55p 0%, 16-08 19:00:00 - 16-08 19:30:00 @ 32.58p 0%, 16-08 19:30:00 - 16-08 20:00:00 @ 32.9p 0%, 16-08 20:00:00 - 16-08 20:30:00 @ 31.99p 0%, 16-08 20:30:00 - 16-08 21:00:00 @ 32.1p 0%, 16-08 21:00:00 - 16-08 21:30:00 @ 31.71p 0%, 16-08 21:30:00 - 16-08 22:00:00 @ 31.67p 0%, 16-08 22:00:00 - 16-08 22:30:00 @ 31.77p 0%, 16-08 22:30:00 - 16-08 23:00:00 @ 29.81p 0%, 16-08 23:00:00 - 16-08 23:30:00 @ 27.8p 0%, 16-08 23:30:00 - 17-08 00:00:00 @ 29.09p 0%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.47p 0%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.18p 0%, 17-08 01:00:00 - 17-08 01:30:00 @ 27.57p 0%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.5p 0%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.6p 0%, 17-08 02:30:00 - 17-08 03:00:00 @ 24.79p 0%, 17-08 03:00:00 - 17-08 03:30:00 @ 25.08p 0%, 17-08 03:30:00 - 17-08 04:00:00 @ 24.62p 0%, 17-08 04:00:00 - 17-08 04:30:00 @ 27.02p 0%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.47p 0%, 17-08 05:00:00 - 17-08 05:30:00 @ 26.25p 0%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.4p 0%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.7p 0%, 17-08 06:30:00 - 17-08 07:00:00 @ 27.63p 0% ]
2026-08-15 07:00:07.280006: Best export window [  ]
2026-08-15 07:00:07.280719: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 07:00:07.283463: Load divergence over 8.0 hours mean 621.09W, min 281.4W, max 1607.4W, std dev 334.06W, divergence 26.89%
2026-08-15 07:00:07.315294: Calculating data from yesterday for savings calculation
2026-08-15 07:00:07.353290: Yesterday basic charge window best: [{'start': 840, 'end': 870, 'average': 21.7}] charge limit best: [16.0] based on max charge slots 1
2026-08-15 07:00:07.533582: predict yesterday end_record 08-16 00:00:00, final soc 1.12kWh, metric 843.72p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 00:00:00, load 26.2kWh, PV 0.0kWh
2026-08-15 07:00:07.587701: predict yesterday10 end_record 08-16 00:00:00, final soc 1.12kWh, metric 848.0p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 00:00:00, load 26.2kWh, PV 0.0kWh
2026-08-15 07:00:07.643178: predict yesterday end_record 08-16 00:00:00, final soc 1.12kWh, metric 843.72p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 00:00:00, load 26.2kWh, PV 0.0kWh
2026-08-15 07:00:07.681002: Yesterday: Predbat disabled was £8.44 (adjusted £8.3) vs £7.38 (adjusted £7.17), saving £1.05 (adjusted £1.13) with import 26.53kWh, export 0.0kWh, battery_cycle 4.66kWh, start_soc 1.12kWh,  final_soc 1.12kWh and battery_value 13.25kWh
2026-08-15 07:00:07.799026: predict yesterday end_record 08-16 00:00:00, final soc 0.0kWh, metric 852.35p, metric_keep 0kWh, min_soc 0kWh @ 08-15 00:00:00, load 26.2kWh, PV 0.0kWh
2026-08-15 07:00:07.799330: Yesterday: No Battery/PV system cost predicted was £8.52 (adjusted £8.52) vs £7.38 (adjusted £7.17), saving £1.14 (adjusted £1.35) with import 26.2kWh, export 0kWh and battery_value 0.0kWh
2026-08-15 07:00:07.812910: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 07:00:07.813045: LoadML is_calculating True
2026-08-15 07:00:07.813075: Not using thread pool as LoadML is calculating to avoid lockups
2026-08-15 07:00:07.822121: Calculate Best options: mode(Control charge & discharge), calculate_export_oncharge(False), calculate_export_on_pv(True), set_export_freeze_only(False), set_discharge_during_charge(True), combine_charge_slots(False), combine_export_slots(False), combine_rate_threshold(0.0), best_soc_min(0.0 kWh), best_soc_max(0.0 kWh), best_soc_keep(0.0 kWh), inverter_loss(4%), battery_loss(3%), battery_loss_discharge (3%), inverter_hybrid(True), metric_min_improvement(0.0p), metric_min_improvement_export(0.1p), metric_min_improvement_export_freeze(0.1p), metric_battery_cycle(0.0p/kWh), metric_battery_value_scaling(1.0 x) 
2026-08-15 07:00:07.823225: Optimise levels pass started at 2026-08-15 07:00:07
2026-08-15 07:00:07.823274: Optimise all windows, total charge 94 export 1
2026-08-15 07:00:16.275499: >> Region optimisation pass width 960 gives best_metric 818.25p, best_cost 825.93p, best_cycle 55.76kWh, best_import 38.47kWh
2026-08-15 07:00:19.334265: >> Region optimisation pass width 480 gives best_metric 818.25p, best_cost 825.93p, best_cycle 55.76kWh, best_import 38.47kWh
2026-08-15 07:00:20.792179: >> Region optimisation pass width 240 gives best_metric 818.25p, best_cost 825.93p, best_cycle 55.76kWh, best_import 38.47kWh
2026-08-15 07:00:20.852082: ML Predictor: Epoch 14/30: lr=0.00062 huber_loss=0.0077 val_mae=0.0022 kWh val_bias=-0.0001 kWh (-0.1%) combined=0.0012 kWh ema_combined=0.0018 kWh
2026-08-15 07:00:24.643318: >> Region optimisation pass width 120 gives best_metric 817.85p, best_cost 824.27p, best_cycle 53.96kWh, best_import 38.35kWh
2026-08-15 07:00:24.669419: Calculated end_record as 08-16 11:30:00 based on best_price 16.34p, next_charge_start 08-15 11:30:00, max_windows 56
2026-08-15 07:00:24.669502: Optimise levels pass ended at 2026-08-15 07:00:24, duration 16.8 seconds tried 362 combinations
2026-08-15 07:00:24.669584: Set best_price_charge_level 17.6p, best_price_export_level 0p, best_price_charge 16.34p, best_cost_export 0p, best_metric 817.85p, best_keep 0kWh, best_cycle 53.96kWh, best_carbon 0kg, best_import 38.35kWh
2026-08-15 07:00:24.692785: Starting detailed optimisation end_record 08-16 11:30:00, best_price_charge 16.34p, best_price_export 0p. lowest_price_charge 13.77p with charge limits [0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0]kWh and export limits []kWh
2026-08-15 07:00:48.039270: Tweak plan optimisation started metric 587.87p, cost 597.52p
2026-08-15 07:00:49.248892: Tweak optimisation finished metric 587.87p, cost 597.52p, metric_keep 0kWh, cycle 29.83kWh, carbon 0kg, import 23.27kWh, changed 8 window(s)
2026-08-15 07:00:49.270460: Swap charge optimisation started metric 587.87p, cost 597.52p, min_improvement_swap 0.1p
2026-08-15 07:00:59.803845: Swap charge optimisation finished metric 587.87p, cost 597.52p
2026-08-15 07:00:59.951291: Pruned 3 dead plan slot(s) in 12 trial(s), nominal metric 584.27p -> 584.27p, plan now metric 587.93p, cost 597.52p, cycle 29.83kWh, import 23.27kWh
2026-08-15 07:00:59.974419: Raw charge windows [ 15-08 07:00:00 - 15-08 07:30:00 @ 22.73p 0%, 15-08 07:30:00 - 15-08 08:00:00 @ 26.7p 0%, 15-08 08:00:00 - 15-08 08:30:00 @ 22.92p 0%, 15-08 08:30:00 - 15-08 09:00:00 @ 22.48p 0%, 15-08 09:00:00 - 15-08 09:30:00 @ 23.55p 0%, 15-08 09:30:00 - 15-08 10:00:00 @ 23.64p 0%, 15-08 10:00:00 - 15-08 10:30:00 @ 19.66p 0%, 15-08 10:30:00 - 15-08 11:00:00 @ 17.66p 0%, 15-08 11:00:00 - 15-08 11:30:00 @ 16.56p 0%, 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 13:30:00 @ 15.36p 100%, 15-08 13:30:00 - 15-08 14:00:00 @ 15.74p 100%, 15-08 14:00:00 - 15-08 14:30:00 @ 14.57p 100%, 15-08 14:30:00 - 15-08 15:00:00 @ 13.77p 100%, 15-08 15:00:00 - 15-08 15:30:00 @ 15.02p 100%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 97%, 15-08 16:00:00 - 15-08 16:30:00 @ 33.13p 0%, 15-08 16:30:00 - 15-08 17:00:00 @ 33.13p 0%, 15-08 17:00:00 - 15-08 17:30:00 @ 38.46p 0%, 15-08 17:30:00 - 15-08 18:00:00 @ 40.44p 0%, 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 0%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 0%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 0%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 0%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 0%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 27.8p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 29.09p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.47p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.18p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 27.57p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.5p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.6p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 24.79p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 25.08p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 24.62p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 27.02p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.47p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 26.25p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.4p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.7p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 27.63p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 22.73p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 26.7p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 22.92p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 22.48p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 23.55p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 23.64p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 19.66p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 17.66p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 16.56p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 15.46p 100%, 16-08 12:00:00 - 16-08 12:30:00 @ 17.0p 100%, 16-08 12:30:00 - 16-08 13:00:00 @ 16.34p 100%, 16-08 13:00:00 - 16-08 13:30:00 @ 15.36p 100%, 16-08 13:30:00 - 16-08 14:00:00 @ 15.74p 100%, 16-08 14:00:00 - 16-08 14:30:00 @ 14.57p 100%, 16-08 14:30:00 - 16-08 15:00:00 @ 13.77p 100%, 16-08 15:00:00 - 16-08 15:30:00 @ 15.02p 100%, 16-08 15:30:00 - 16-08 16:00:00 @ 15.87p 100%, 16-08 16:00:00 - 16-08 16:30:00 @ 33.13p 100%, 16-08 16:30:00 - 16-08 17:00:00 @ 33.13p 100%, 16-08 17:00:00 - 16-08 17:30:00 @ 38.46p 100%, 16-08 17:30:00 - 16-08 18:00:00 @ 40.44p 100%, 16-08 18:00:00 - 16-08 18:30:00 @ 41.55p 100%, 16-08 19:00:00 - 16-08 19:30:00 @ 32.58p 100%, 16-08 19:30:00 - 16-08 20:00:00 @ 32.9p 100%, 16-08 20:00:00 - 16-08 20:30:00 @ 31.99p 100%, 16-08 20:30:00 - 16-08 21:00:00 @ 32.1p 100%, 16-08 21:00:00 - 16-08 21:30:00 @ 31.71p 100%, 16-08 21:30:00 - 16-08 22:00:00 @ 31.67p 100%, 16-08 22:00:00 - 16-08 22:30:00 @ 31.77p 100%, 16-08 22:30:00 - 16-08 23:00:00 @ 29.81p 100%, 16-08 23:00:00 - 16-08 23:30:00 @ 27.8p 100%, 16-08 23:30:00 - 17-08 00:00:00 @ 29.09p 100%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.47p 100%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.18p 100%, 17-08 01:00:00 - 17-08 01:30:00 @ 27.57p 100%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.5p 100%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.6p 100%, 17-08 02:30:00 - 17-08 03:00:00 @ 24.79p 100%, 17-08 03:00:00 - 17-08 03:30:00 @ 25.08p 100%, 17-08 03:30:00 - 17-08 04:00:00 @ 24.62p 100%, 17-08 04:00:00 - 17-08 04:30:00 @ 27.02p 100%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.47p 100%, 17-08 05:00:00 - 17-08 05:30:00 @ 26.25p 100%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.4p 100%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.7p 100%, 17-08 06:30:00 - 17-08 07:00:00 @ 27.63p 100% ] reserve 1.12
2026-08-15 07:00:59.975276: Unclipped charge windows [ 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 15:30:00 @ 14.71p 100%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 97%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 07:00:00 @ 26.82p 100% ] reserve 1.12
2026-08-15 07:00:59.975743: Unfiltered charge windows [ 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 15:30:00 @ 14.71p 100%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 97%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 07:00:00 @ 26.82p 100% ] reserve 1.12
2026-08-15 07:00:59.976141: Filtered charge windows [ 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 15:30:00 @ 14.71p 100%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 97%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 07:00:00 @ 26.82p 100% ] reserve 1.12
2026-08-15 07:01:00.079600: Previous plan best metric is 588.0 (cost 597.73) and new plan best metric is 587.87 (cost 597.52)
2026-08-15 07:01:00.079917: New plan metric is not significantly better (metric_min_improvement_plan 2.0) than previous plan, using previous plan
2026-08-15 07:01:00.080064: Plan valid is now true after recompute was False
2026-08-15 07:01:00.153688: predict base end_record 08-16 11:30:00, final soc 1.12kWh, metric 815.65p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 08:20:00, load 27.5kWh, PV 0.0kWh
2026-08-15 07:01:00.339257: Battery has 1.33 hours left - now at 1.92kWh
2026-08-15 07:01:00.463817: predict base10 end_record 08-16 11:30:00, final soc 1.12kWh, metric 841.93p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 08:15:00, load 28.54kWh, PV 0.0kWh
2026-08-15 07:01:00.603844: predict best10 end_record 08-16 11:30:00, final soc 1.12kWh, metric 671.18p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 08:15:00, load 28.54kWh, PV 0.0kWh
2026-08-15 07:01:00.720070: predict best end_record 08-16 11:30:00, final soc 1.12kWh, metric 647.71p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 08:20:00, load 27.5kWh, PV 0.0kWh
2026-08-15 07:01:00.720362: Saving plan best values to HA entities
2026-08-15 07:01:02.525169: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0
2026-08-15 07:01:02.533595: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 07:01:02.543678: Best charging limit SoC's [16.0, 3.5, 4.0, 16.0, 16.0, 16.0]kWh, export []kWh gives import battery 20.33kWh, house 2.99kWh, export 0.0kWh, metric 647.71p, metric10 671.18p
2026-08-15 07:01:02.841986: Marginal costs baseline metric (no standing charge): 597.7275
2026-08-15 07:01:03.451293: Marginal energy costs matrix computed: min=15.44 max=31.68
2026-08-15 07:01:05.718524: Rate array import [{'start': 420, 'end': 450, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 450, 'end': 480, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 480, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 23.6p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1860, 'rate': 'expensive', 'range': '(24.6p - 32.9p)'}, {'start': 1860, 'end': 1890, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 1890, 'end': 1920, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 1920, 'end': 2130, 'rate': 'cheap', 'range': '(16.6p - 23.6p)'}] export [{'start': 420, 'end': 2130, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 07:01:05.719414: - Your estimated bill for today is £5.90 and tomorrow is £5.40
2026-08-15 07:01:05.720124: - Import rates are cheap (22.7p) for the next 30 minutes and then expensive (26.7p) for the next 30 minutes.
2026-08-15 07:01:05.720234: - The battery is currently at 12% and is in eco mode for the next 4 and a half hours.
2026-08-15 07:01:05.720343: - For the next 48 hours there will be no solar generation.
2026-08-15 07:01:05.720456: - You will run out of battery in 1 and a quarter hours.
2026-08-15 07:01:05.720567: - Your next charge slot will be in 4 and a half hours where import rates will be cheap (15.5p).
2026-08-15 07:01:05.720680: 
2026-08-15 07:01:06.573402: Plan calculation took 59.30 seconds
2026-08-15 07:01:06.573931: Inverter 0: Type SK Sunsynk
2026-08-15 07:01:06.574135: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 07:01:06.574487: Reserve min: 7%, battery_min: 7%
2026-08-15 07:01:06.574709: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 07:01:06.575189: Inverter 0 SoC: 1.92kW 12%, current charge rate 5000W, current discharge rate 5250W, current battery power 278W, current battery voltage 51.2V, grid power -56W, load power 338W, PV Power 0W
2026-08-15 07:01:06.575530: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 07:01:06.575774: Inverter 0 scheduled charge enable is False
2026-08-15 07:01:06.575981: Inverter 0 charge windows currently []
2026-08-15 07:01:06.576153: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 07:01:06.576447: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 07:01:06.576566: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 07:01:06.576797: Inverter 0 scheduled discharge enable is False
2026-08-15 07:01:06.577160: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 07:01:06.577291: Inverter 0 discharge windows currently []
2026-08-15 07:01:06.577451: Note: Inverter does not support discharge freeze - disabled
2026-08-15 07:01:06.577600: Note: Inverter does not support charge freeze - disabled
2026-08-15 07:01:06.577747: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 07:01:06.686114: Inverter 0 Charge window will be: 2026-08-15 11:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 12%, target 100%
2026-08-15 07:01:06.686639: Inverter 0 disabled charge window while waiting for schedule (now 08-15 07:00:00 target set_window_minutes 30 charge start time 08-15 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 07:01:06.686728: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 07:01:06.686935: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 07:01:06.687023: No export window planned
2026-08-15 07:01:06.687297: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 07:01:06.687342: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 07:01:06.687488: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 07:01:06.687641: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 07:00:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 07:01:06.687692: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 07:01:06.687749: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 07:01:06.687925: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 07:01:06.687984: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 07:01:06.688015: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 07:01:06.688051: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 07:01:06.688079: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 07:01:06.688113: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 07:01:06.688141: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 07:01:06.688215: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 07:01:06.688255: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 07:01:06.688283: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 07:01:06.688317: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 07:01:06.688521: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 07:01:06.688562: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 07:01:06.688600: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 07:01:06.688625: Inverter 0 count register writes 0
2026-08-15 07:01:07.666075: Total inverter register writes now 815
2026-08-15 07:01:07.764672: Info: Completed run status Demand
2026-08-15 07:01:07.785405: Info: record_status Demand
2026-08-15 07:01:07.798798: Saved current settings to /config/predbat_config.json
2026-08-15 07:01:07.799043: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 07:01:16.072706: ML Predictor: Epoch 15/30: lr=0.00057 huber_loss=0.0077 val_mae=0.0023 kWh val_bias=+0.0004 kWh (+0.6%) combined=0.0018 kWh ema_combined=0.0018 kWh
2026-08-15 07:01:41.767820: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 07:01:41.768087: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 07:01:41.768264: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 07:01:41.768533: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 07:01:41.768663: Note: Inverter does not support discharge freeze - disabled
2026-08-15 07:01:41.768770: Note: Inverter does not support charge freeze - disabled
2026-08-15 07:01:41.768863: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 07:01:50.604392: ML Predictor: Epoch 16/30: lr=0.00053 huber_loss=0.0080 val_mae=0.0022 kWh val_bias=-0.0003 kWh (-0.5%) combined=0.0014 kWh ema_combined=0.0017 kWh
2026-08-15 07:02:23.841360: ML Predictor: Epoch 17/30: lr=0.00048 huber_loss=0.0069 val_mae=0.0020 kWh val_bias=-0.0003 kWh (-0.5%) combined=0.0012 kWh ema_combined=0.0015 kWh
2026-08-15 07:02:59.420595: ML Predictor: Epoch 18/30: lr=0.00043 huber_loss=0.0069 val_mae=0.0020 kWh val_bias=+0.0002 kWh (+0.3%) combined=0.0013 kWh ema_combined=0.0014 kWh
2026-08-15 07:03:27.564654: ML Predictor: Epoch 19/30: lr=0.00038 huber_loss=0.0071 val_mae=0.0021 kWh val_bias=-0.0004 kWh (-0.7%) combined=0.0011 kWh ema_combined=0.0014 kWh
2026-08-15 07:03:42.372539: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 07:03:42.372835: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 07:03:42.373022: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 07:03:42.373339: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 07:03:42.373501: Note: Inverter does not support discharge freeze - disabled
2026-08-15 07:03:42.373608: Note: Inverter does not support charge freeze - disabled
2026-08-15 07:03:42.373726: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 07:03:51.707685: ML Predictor: Epoch 20/30: lr=0.00034 huber_loss=0.0067 val_mae=0.0019 kWh val_bias=+0.0002 kWh (+0.4%) combined=0.0013 kWh ema_combined=0.0013 kWh
2026-08-15 07:04:18.871272: ML Predictor: Epoch 21/30: lr=0.00030 huber_loss=0.0069 val_mae=0.0018 kWh val_bias=-0.0000 kWh (-0.0%) combined=0.0010 kWh ema_combined=0.0012 kWh
2026-08-15 07:04:45.667455: ML Predictor: Epoch 22/30: lr=0.00026 huber_loss=0.0064 val_mae=0.0019 kWh val_bias=-0.0002 kWh (-0.4%) combined=0.0011 kWh ema_combined=0.0012 kWh
2026-08-15 07:05:00.680435: --------------- PredBat - update at 2026-08-15 07:05:00+01:00 with clock skew 0 minutes, minutes now 425
2026-08-15 07:05:00.681720: Saved current settings to /config/predbat_config.json
2026-08-15 07:05:00.682021: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 55.0 minutes
2026-08-15 07:05:00.682152: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.1, latest beta is v8.48.1
2026-08-15 07:05:00.682298: Autoupdate: Currently up to date
2026-08-15 07:05:00.718673: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 07:05:00.719046: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 07:05:00.719437: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 07:05:00.720231: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 07:05:00.726394: Predbat mode is set to Control charge & discharge
2026-08-15 07:05:00.976417: Found 21602 load_today datapoints going back 27 days
2026-08-15 07:05:00.976745: Using load_power data to fill gaps in load_today data
2026-08-15 07:05:02.383060: Processing 721 30-minute periods for power integration
2026-08-15 07:05:02.643307: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 07:05:02.643583: Car charging hold False, threshold 6.0kWh
2026-08-15 07:05:02.643731: Current data so far today: load 5.6kWh, import 6.8kWh, export 0.0kWh, PV 0kWh
2026-08-15 07:05:02.656737: Cars: SoC: [12.892000000000001]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 07:05:02.673899: Standing charge is set to 49.98p
2026-08-15 07:05:02.737817: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 07:05:02.738067: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 07:05:02.738352: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 425.0 minutes
2026-08-15 07:05:02.738824: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 424.7 minutes
2026-08-15 07:05:02.741381: Loaded 47 datapoints of futurerate analysis
2026-08-15 07:05:02.863773: Predicted future rates: ['08-15 00:00:00 => 28.9 / 20.01', '08-15 01:00:00 => 27.54 / 19.31', '08-15 02:00:00 => 26.52 / 18.8', '08-15 03:00:00 => 25.99 / 18.53', '08-15 04:00:00 => 25.8 / 18.43', '08-15 05:00:00 => 25.96 / 18.51', '08-15 06:00:00 => 25.55 / 18.3', '08-15 07:00:00 => 24.33 / 17.68', '08-15 08:00:00 => 23.03 / 17.01', '08-15 09:00:00 => 22.05 / 16.51', '08-15 10:00:00 => 20.43 / 15.68', '08-15 11:00:00 => 18.01 / 14.45', '08-15 12:00:00 => 16.37 / 13.61', '08-15 13:00:00 => 15.76 / 13.3', '08-15 14:00:00 => 15.35 / 13.09', '08-15 15:00:00 => 15.86 / 13.35', '08-15 16:00:00 => 32.89 / 16.13', '08-15 17:00:00 => 38.02 / 18.75', '08-15 18:00:00 => 42.36 / 20.96', '08-15 19:00:00 => 31.09 / 21.13', '08-15 20:00:00 => 31.64 / 21.41', '08-15 21:00:00 => 31.64 / 21.41', '08-15 22:00:00 => 30.58 / 20.87']
2026-08-15 07:05:02.964992: Rate min forward looking: now 13.77p at end of forecast 13.77p
2026-08-15 07:05:02.975714: Import rates: min 13.77p, max 43.82p, average 25.96p
2026-08-15 07:05:03.024436: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 07:05:03.024630: Rate thresholds (for charge/export) are import 43.32p (0.0p), export -0.1p (0.0p)
2026-08-15 07:05:03.025808: High export rate found rates in range 99p to -99p
2026-08-15 07:05:03.096901: Low Import rate found rates in range 13.77p to 41.55p
2026-08-15 07:05:03.097069: Car 0 charging is not planned as it is not plugged in
2026-08-15 07:05:03.112448: Battery level now 1.92kWh, -1hr ago 1.6kWh, at midnight 1.66kWh, battery value change in the last hour 3.78p, change today 3.12p, rate_forward 11.83p
2026-08-15 07:05:03.112796: Last hour: net energy 0.4kWh, import 0.4kWh, export 0.0kWh, car 0kWh, load 0.5kWh, net cost 10.59p, import 10.59p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 07:05:03.190793: Today's energy total net 6.8kWh, import 6.8kWh, export 0.0kWh, cost 231.27p, import 181.28p, export 0.0p, carbon 0.0kg
2026-08-15 07:05:03.191107: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 07:05:03.358372: Using weighted-bucket historical load forecast over 14 days
2026-08-15 07:05:03.397327: Today's load divergence 108.01%, in-day adjustment 133.1%, damping 0.95x, yesterday 143.77% today 107.61% blend 70.49%
2026-08-15 07:05:03.397660: Today's predicted so far 4.4kWh with 0.0kWh car/iBoost excluded, 2.67kWh import ignored, and 4.4kWh forecast extra.
2026-08-15 07:05:03.397860: Today's actual load so far 5.75kWh with 0.0kWh car/iBoost excluded, and 2.67kWh import ignored.
2026-08-15 07:05:03.468710: Inverter 0: Type SK Sunsynk
2026-08-15 07:05:03.468808: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 07:05:03.469053: Reserve min: 7%, battery_min: 7%
2026-08-15 07:05:03.469659: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 07:05:03.469954: Inverter 0 SoC: 1.92kW 12%, current charge rate 5000W, current discharge rate 5250W, current battery power 270W, current battery voltage 51.2V, grid power -54W, load power 330W, PV Power 0W
2026-08-15 07:05:03.470142: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 07:05:03.470235: Inverter 0 scheduled charge enable is False
2026-08-15 07:05:03.470265: Inverter 0 charge windows currently []
2026-08-15 07:05:03.470295: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 07:05:03.470410: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 07:05:03.470445: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 07:05:03.470480: Inverter 0 scheduled discharge enable is False
2026-08-15 07:05:03.470606: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 07:05:03.470642: Inverter 0 discharge windows currently []
2026-08-15 07:05:03.470664: Note: Inverter does not support discharge freeze - disabled
2026-08-15 07:05:03.470685: Note: Inverter does not support charge freeze - disabled
2026-08-15 07:05:03.470702: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 07:05:03.562956: Dynamic load last period 0.60kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 07:05:03.563117: Plan was last updated on 2026-08-15 07:00:00+01:00 and is now 5.0 minutes old
2026-08-15 07:05:03.563508: Best charge window [ 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 00:30:00 @ 28.84p 100% ]
2026-08-15 07:05:03.563654: Best export window [  ]
2026-08-15 07:05:03.565051: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 07:05:03.569906: Load divergence over 8.0 hours mean 627.07W, min 269.4W, max 1564.2W, std dev 327.45W, divergence 26.11%
2026-08-15 07:05:03.632420: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 07:05:03.632679: LoadML is_calculating True
2026-08-15 07:05:03.632779: Not using thread pool as LoadML is calculating to avoid lockups
2026-08-15 07:05:03.687309: predict base end_record 08-16 11:35:00, final soc 1.12kWh, metric 814.79p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 08:25:00, load 27.56kWh, PV 0.0kWh
2026-08-15 07:05:03.996827: Battery has 1.33 hours left - now at 1.92kWh
2026-08-15 07:05:04.065722: predict base10 end_record 08-16 11:35:00, final soc 1.12kWh, metric 840.97p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 08:25:00, load 28.61kWh, PV 0.0kWh
2026-08-15 07:05:04.253223: predict best10 end_record 08-16 11:35:00, final soc 1.44kWh, metric 675.98p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 08:25:00, load 28.61kWh, PV 0.0kWh
2026-08-15 07:05:04.482621: predict best end_record 08-16 11:35:00, final soc 1.51kWh, metric 653.89p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 08:25:00, load 27.56kWh, PV 0.0kWh
2026-08-15 07:05:04.489152: Saving plan best values to HA entities
2026-08-15 07:05:04.916580: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0
2026-08-15 07:05:04.929133: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 07:05:04.940747: Best charging limit SoC's [16.0, 3.5, 4.0, 16.0, 16.0, 16.0]kWh, export []kWh gives import battery 20.86kWh, house 2.9kWh, export 0.0kWh, metric 653.89p, metric10 675.98p
2026-08-15 07:05:05.147707: Marginal costs baseline metric (no standing charge): 603.9116
2026-08-15 07:05:05.778808: Marginal energy costs matrix computed: min=15.48 max=31.77
2026-08-15 07:05:05.972407: Rate array import [{'start': 425, 'end': 450, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 450, 'end': 480, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 480, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 23.6p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1860, 'rate': 'expensive', 'range': '(24.6p - 32.9p)'}, {'start': 1860, 'end': 1890, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 1890, 'end': 1920, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 1920, 'end': 2135, 'rate': 'cheap', 'range': '(15.5p - 23.6p)'}] export [{'start': 425, 'end': 2135, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 07:05:05.973079: - Your estimated bill for today is £5.89 and tomorrow is £5.38
2026-08-15 07:05:05.973136: - Import rates are cheap (22.7p) for the next 25 minutes and then expensive (26.7p) for the next 30 minutes.
2026-08-15 07:05:05.973159: - The battery is currently at 12% and is in eco mode for the next 4 and a half hours.
2026-08-15 07:05:05.973177: - For the next 48 hours there will be no solar generation.
2026-08-15 07:05:05.973195: - You will run out of battery in 1 and a quarter hours.
2026-08-15 07:05:05.973212: - Your next charge slot will be in 4 and a half hours where import rates will be cheap (15.5p).
2026-08-15 07:05:05.973230: 
2026-08-15 07:05:06.062863: Plan calculation took 2.50 seconds
2026-08-15 07:05:06.067497: No high rate period found
2026-08-15 07:05:06.233604: Import threshold used for optimisation was 22.92p
2026-08-15 07:05:06.377913: Low import rate windows [0: 08-15 07:00:00 - 08-15 07:30:00 @ 22.73, 1: 08-15 07:30:00 - 08-15 08:00:00 @ 26.7, 2: 08-15 08:00:00 - 08-15 08:30:00 @ 22.92, 3: 08-15 08:30:00 - 08-15 09:00:00 @ 22.48, 4: 08-15 09:00:00 - 08-15 09:30:00 @ 23.55, 5: 08-15 09:30:00 - 08-15 10:00:00 @ 23.64, 6: 08-15 10:00:00 - 08-15 10:30:00 @ 19.66, 7: 08-15 10:30:00 - 08-15 11:00:00 @ 17.66, 8: 08-15 11:00:00 - 08-15 11:30:00 @ 16.56, 9: 08-15 11:30:00 - 08-15 12:00:00 @ 15.46, 10: 08-15 12:00:00 - 08-15 12:30:00 @ 17.0, 11: 08-15 12:30:00 - 08-15 13:00:00 @ 16.34, 12: 08-15 13:00:00 - 08-15 13:30:00 @ 15.36, 13: 08-15 13:30:00 - 08-15 14:00:00 @ 15.74, 14: 08-15 14:00:00 - 08-15 14:30:00 @ 14.57, 15: 08-15 14:30:00 - 08-15 15:00:00 @ 13.77, 16: 08-15 15:00:00 - 08-15 15:30:00 @ 15.02, 17: 08-15 15:30:00 - 08-15 16:00:00 @ 15.87, 18: 08-15 16:00:00 - 08-15 16:30:00 @ 33.13, 19: 08-15 16:30:00 - 08-15 17:00:00 @ 33.13, 20: 08-15 17:00:00 - 08-15 17:30:00 @ 38.46, 21: 08-15 17:30:00 - 08-15 18:00:00 @ 40.44, 22: 08-15 18:00:00 - 08-15 18:30:00 @ 41.55, 23: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 24: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 25: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 26: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 27: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 28: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 29: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 30: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 31: 08-15 23:00:00 - 08-15 23:30:00 @ 27.8, 32: 08-15 23:30:00 - 08-16 00:00:00 @ 29.09, 33: 08-16 00:00:00 - 08-16 00:30:00 @ 28.47, 34: 08-16 00:30:00 - 08-16 01:00:00 @ 27.18, 35: 08-16 01:00:00 - 08-16 01:30:00 @ 27.57, 36: 08-16 01:30:00 - 08-16 02:00:00 @ 26.5, 37: 08-16 02:00:00 - 08-16 02:30:00 @ 25.6, 38: 08-16 02:30:00 - 08-16 03:00:00 @ 24.79, 39: 08-16 03:00:00 - 08-16 03:30:00 @ 25.08, 40: 08-16 03:30:00 - 08-16 04:00:00 @ 24.62, 41: 08-16 04:00:00 - 08-16 04:30:00 @ 27.02, 42: 08-16 04:30:00 - 08-16 05:00:00 @ 26.47, 43: 08-16 05:00:00 - 08-16 05:30:00 @ 26.25, 44: 08-16 05:30:00 - 08-16 06:00:00 @ 26.4, 45: 08-16 06:00:00 - 08-16 06:30:00 @ 25.7, 46: 08-16 06:30:00 - 08-16 07:00:00 @ 27.63, 47: 08-16 07:00:00 - 08-16 07:30:00 @ 22.73, 48: 08-16 07:30:00 - 08-16 08:00:00 @ 26.7, 49: 08-16 08:00:00 - 08-16 08:30:00 @ 22.92, 50: 08-16 08:30:00 - 08-16 09:00:00 @ 22.48, 51: 08-16 09:00:00 - 08-16 09:30:00 @ 23.55, 52: 08-16 09:30:00 - 08-16 10:00:00 @ 23.64, 53: 08-16 10:00:00 - 08-16 10:30:00 @ 19.66, 54: 08-16 10:30:00 - 08-16 11:00:00 @ 17.66, 55: 08-16 11:00:00 - 08-16 11:30:00 @ 16.56, 56: 08-16 11:30:00 - 08-16 12:00:00 @ 15.46, 57: 08-16 12:00:00 - 08-16 12:30:00 @ 17.0, 58: 08-16 12:30:00 - 08-16 13:00:00 @ 16.34, 59: 08-16 13:00:00 - 08-16 13:30:00 @ 15.36, 60: 08-16 13:30:00 - 08-16 14:00:00 @ 15.74, 61: 08-16 14:00:00 - 08-16 14:30:00 @ 14.57, 62: 08-16 14:30:00 - 08-16 15:00:00 @ 13.77, 63: 08-16 15:00:00 - 08-16 15:30:00 @ 15.02, 64: 08-16 15:30:00 - 08-16 16:00:00 @ 15.87, 65: 08-16 16:00:00 - 08-16 16:30:00 @ 33.13, 66: 08-16 16:30:00 - 08-16 17:00:00 @ 33.13, 67: 08-16 17:00:00 - 08-16 17:30:00 @ 38.46, 68: 08-16 17:30:00 - 08-16 18:00:00 @ 40.44, 69: 08-16 18:00:00 - 08-16 18:30:00 @ 41.55, 70: 08-16 19:00:00 - 08-16 19:30:00 @ 32.58, 71: 08-16 19:30:00 - 08-16 20:00:00 @ 32.9, 72: 08-16 20:00:00 - 08-16 20:30:00 @ 31.99, 73: 08-16 20:30:00 - 08-16 21:00:00 @ 32.1, 74: 08-16 21:00:00 - 08-16 21:30:00 @ 31.71, 75: 08-16 21:30:00 - 08-16 22:00:00 @ 31.67, 76: 08-16 22:00:00 - 08-16 22:30:00 @ 31.77, 77: 08-16 22:30:00 - 08-16 23:00:00 @ 29.81, 78: 08-16 23:00:00 - 08-16 23:30:00 @ 27.8, 79: 08-16 23:30:00 - 08-17 00:00:00 @ 29.09, 80: 08-17 00:00:00 - 08-17 00:30:00 @ 28.47, 81: 08-17 00:30:00 - 08-17 01:00:00 @ 27.18, 82: 08-17 01:00:00 - 08-17 01:30:00 @ 27.57, 83: 08-17 01:30:00 - 08-17 02:00:00 @ 26.5, 84: 08-17 02:00:00 - 08-17 02:30:00 @ 25.6, 85: 08-17 02:30:00 - 08-17 03:00:00 @ 24.79, 86: 08-17 03:00:00 - 08-17 03:30:00 @ 25.08, 87: 08-17 03:30:00 - 08-17 04:00:00 @ 24.62, 88: 08-17 04:00:00 - 08-17 04:30:00 @ 27.02, 89: 08-17 04:30:00 - 08-17 05:00:00 @ 26.47, 90: 08-17 05:00:00 - 08-17 05:30:00 @ 26.25, 91: 08-17 05:30:00 - 08-17 06:00:00 @ 26.4, 92: 08-17 06:00:00 - 08-17 06:30:00 @ 25.7, 93: 08-17 06:30:00 - 08-17 07:00:00 @ 27.63, 94: 08-17 07:00:00 - 08-17 07:30:00 @ 22.73]
2026-08-15 07:05:06.410864: Inverter 0 Charge window will be: 2026-08-15 11:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 12%, target 100%
2026-08-15 07:05:06.411297: Inverter 0 disabled charge window while waiting for schedule (now 08-15 07:05:00 target set_window_minutes 30 charge start time 08-15 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 07:05:06.411565: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 07:05:06.412070: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 07:05:06.412333: No export window planned
2026-08-15 07:05:06.412666: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 07:05:06.412868: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 07:05:06.413353: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 07:05:06.413762: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 07:05:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 07:05:06.413992: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 07:05:06.414301: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 07:05:06.414649: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 07:05:06.414919: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 07:05:06.415255: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 07:05:06.415587: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 07:05:06.415838: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 07:05:06.416156: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 07:05:06.416423: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 07:05:06.416756: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 07:05:06.417040: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 07:05:06.417302: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 07:05:06.417570: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 07:05:06.417845: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 07:05:06.418122: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 07:05:06.418383: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 07:05:06.418583: Inverter 0 count register writes 0
2026-08-15 07:05:06.475551: Will not recompute the plan, it is 5.0 minutes old and max age is 10 minutes
2026-08-15 07:05:06.494304: Total inverter register writes now 815
2026-08-15 07:05:06.604637: Info: Completed run status Demand
2026-08-15 07:05:06.617850: Info: record_status Demand
2026-08-15 07:05:06.645976: Saved current settings to /config/predbat_config.json
2026-08-15 07:05:06.646398: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 07:05:15.027934: ML Predictor: Epoch 23/30: lr=0.00022 huber_loss=0.0065 val_mae=0.0019 kWh val_bias=-0.0003 kWh (-0.5%) combined=0.0010 kWh ema_combined=0.0011 kWh
2026-08-15 07:05:34.475815: ML Predictor: Epoch 24/30: lr=0.00019 huber_loss=0.0060 val_mae=0.0018 kWh val_bias=+0.0004 kWh (+0.6%) combined=0.0012 kWh ema_combined=0.0012 kWh
2026-08-15 07:05:41.887440: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 07:05:41.888107: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 07:05:41.888169: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 07:05:41.888320: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 07:05:41.888364: Note: Inverter does not support discharge freeze - disabled
2026-08-15 07:05:41.888386: Note: Inverter does not support charge freeze - disabled
2026-08-15 07:05:41.888404: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 07:05:55.359444: ML Predictor: Epoch 25/30: lr=0.00016 huber_loss=0.0058 val_mae=0.0018 kWh val_bias=+0.0003 kWh (+0.6%) combined=0.0014 kWh ema_combined=0.0012 kWh
2026-08-15 07:06:14.201127: ML Predictor: Epoch 26/30: lr=0.00014 huber_loss=0.0061 val_mae=0.0017 kWh val_bias=-0.0002 kWh (-0.4%) combined=0.0010 kWh ema_combined=0.0012 kWh
2026-08-15 07:06:31.731491: ML Predictor: Epoch 27/30: lr=0.00012 huber_loss=0.0062 val_mae=0.0017 kWh val_bias=+0.0000 kWh (+0.0%) combined=0.0008 kWh ema_combined=0.0011 kWh
2026-08-15 07:06:48.747074: ML Predictor: Epoch 28/30: lr=0.00011 huber_loss=0.0055 val_mae=0.0017 kWh val_bias=-0.0004 kWh (-0.8%) combined=0.0012 kWh ema_combined=0.0011 kWh
2026-08-15 07:07:06.692350: ML Predictor: Epoch 29/30: lr=0.00010 huber_loss=0.0055 val_mae=0.0017 kWh val_bias=-0.0004 kWh (-0.6%) combined=0.0012 kWh ema_combined=0.0011 kWh
2026-08-15 07:07:29.046632: ML Predictor: Epoch 30/30: lr=0.00010 huber_loss=0.0058 val_mae=0.0017 kWh val_bias=+0.0001 kWh (+0.1%) combined=0.0009 kWh ema_combined=0.0011 kWh
2026-08-15 07:07:29.052890: ML Predictor: Restored best weights from epoch with val_mae=0.0017 kWh val_bias=+0.0001 kWh (+0.1%)
2026-08-15 07:07:29.053221: ML Predictor: Training complete, final val_mae=0.0017 kWh val_bias=+0.0001 kWh (+0.1%)
2026-08-15 07:07:30.563999: ML Predictor: AR rollout over holdout: ar_mae=0.0018 kWh ar_bias=+0.0001 kWh (+0.2%) [drift vs teacher-forced: +0.0001 kWh]
2026-08-15 07:07:30.575862: ML Predictor: Curriculum pass 1/5 complete, val_mae=0.0017 kWh
2026-08-15 07:07:30.665306: ML Predictor: Curriculum pass 2/5: window=54.0 days (1296 hours of data)
2026-08-15 07:07:30.665458: ML Predictor: Starting fine-tune training with 30 epochs
2026-08-15 07:07:31.296832: ML Predictor: Creating dataset with 1296 hours of training data, 48 hours validation
2026-08-15 07:07:35.615104: ML Predictor: Created 15264 training samples, 576 validation samples
2026-08-15 07:07:35.663371: ML Predictor: Normalization stats [ema-update alpha=0.1] target(mean=0.0587 std=0.0472) load(mean=0.0589 std=0.0473) pv(mean=0.0000 std=0.0100) temp(mean=19.4873 std=4.4036) import_rate(mean=25.4977 std=2.4779) export_rate(mean=0.0000 std=1.0000) time(mean=-0.1905 std=0.5233)
2026-08-15 07:07:35.734890: ML Predictor: Applied EMA normalization update (alpha=0.1) to track feature drift
2026-08-15 07:07:35.749078: ML Predictor: Reset Adam optimiser state for fine-tuning
2026-08-15 07:07:35.797763: ML Predictor: Baseline (pre-finetune) val_mae=0.0031 kWh val_bias=-0.0002 kWh
2026-08-15 07:07:54.498916: ML Predictor: Epoch 1/30: lr=0.00100 huber_loss=0.0100 val_mae=0.0034 kWh val_bias=-0.0012 kWh (-2.4%) combined=0.0022 kWh ema_combined=0.0022 kWh
2026-08-15 07:07:56.572531: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 07:07:56.572788: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 07:07:56.572836: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 07:07:56.573095: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 07:07:56.573155: Note: Inverter does not support discharge freeze - disabled
2026-08-15 07:07:56.573178: Note: Inverter does not support charge freeze - disabled
2026-08-15 07:07:56.573833: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 07:08:14.160316: ML Predictor: Epoch 2/30: lr=0.00100 huber_loss=0.0113 val_mae=0.0033 kWh val_bias=-0.0000 kWh (-0.0%) combined=0.0019 kWh ema_combined=0.0021 kWh
2026-08-15 07:08:33.592215: ML Predictor: Epoch 3/30: lr=0.00099 huber_loss=0.0111 val_mae=0.0034 kWh val_bias=-0.0016 kWh (-3.1%) combined=0.0034 kWh ema_combined=0.0025 kWh
2026-08-15 07:08:51.215559: ML Predictor: Epoch 4/30: lr=0.00098 huber_loss=0.0122 val_mae=0.0033 kWh val_bias=+0.0010 kWh (+1.9%) combined=0.0030 kWh ema_combined=0.0027 kWh
2026-08-15 07:09:10.779686: ML Predictor: Epoch 5/30: lr=0.00096 huber_loss=0.0115 val_mae=0.0031 kWh val_bias=-0.0001 kWh (-0.2%) combined=0.0020 kWh ema_combined=0.0025 kWh
2026-08-15 07:09:27.087947: ML Predictor: Epoch 6/30: lr=0.00094 huber_loss=0.0104 val_mae=0.0028 kWh val_bias=-0.0000 kWh (-0.0%) combined=0.0018 kWh ema_combined=0.0023 kWh
2026-08-15 07:09:45.667815: ML Predictor: Epoch 7/30: lr=0.00091 huber_loss=0.0108 val_mae=0.0030 kWh val_bias=-0.0004 kWh (-0.8%) combined=0.0017 kWh ema_combined=0.0021 kWh
2026-08-15 07:09:56.998452: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 07:09:56.998733: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 07:09:56.998911: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 07:09:56.999254: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 07:09:56.999402: Note: Inverter does not support discharge freeze - disabled
2026-08-15 07:09:56.999521: Note: Inverter does not support charge freeze - disabled
2026-08-15 07:09:56.999633: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 07:10:00.158417: --------------- PredBat - update at 2026-08-15 07:10:00+01:00 with clock skew 0 minutes, minutes now 430
2026-08-15 07:10:00.159611: Saved current settings to /config/predbat_config.json
2026-08-15 07:10:00.159954: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 60.0 minutes
2026-08-15 07:10:00.160170: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.1, latest beta is v8.48.1
2026-08-15 07:10:00.160400: Autoupdate: Currently up to date
2026-08-15 07:10:00.185416: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 07:10:00.185745: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 07:10:00.186060: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 07:10:00.186734: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 07:10:00.186980: Predbat mode is set to Control charge & discharge
2026-08-15 07:10:00.517894: Found 21602 load_today datapoints going back 28 days
2026-08-15 07:10:00.518247: Using load_power data to fill gaps in load_today data
2026-08-15 07:10:01.969951: Processing 721 30-minute periods for power integration
2026-08-15 07:10:02.233021: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 07:10:02.233205: Car charging hold False, threshold 6.0kWh
2026-08-15 07:10:02.233257: Current data so far today: load 5.5kWh, import 6.8kWh, export 0.0kWh, PV 0kWh
2026-08-15 07:10:02.251892: Cars: SoC: [12.892000000000001]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 07:10:02.265626: Standing charge is set to 49.98p
2026-08-15 07:10:02.358625: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 07:10:02.358746: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 07:10:02.358959: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 430.0 minutes
2026-08-15 07:10:02.359454: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 429.7 minutes
2026-08-15 07:10:02.362851: Loaded 47 datapoints of futurerate analysis
2026-08-15 07:10:02.556142: Predicted future rates: ['08-15 00:00:00 => 28.9 / 20.01', '08-15 01:00:00 => 27.54 / 19.31', '08-15 02:00:00 => 26.52 / 18.8', '08-15 03:00:00 => 25.99 / 18.53', '08-15 04:00:00 => 25.8 / 18.43', '08-15 05:00:00 => 25.96 / 18.51', '08-15 06:00:00 => 25.55 / 18.3', '08-15 07:00:00 => 24.33 / 17.68', '08-15 08:00:00 => 23.03 / 17.01', '08-15 09:00:00 => 22.05 / 16.51', '08-15 10:00:00 => 20.43 / 15.68', '08-15 11:00:00 => 18.01 / 14.45', '08-15 12:00:00 => 16.37 / 13.61', '08-15 13:00:00 => 15.76 / 13.3', '08-15 14:00:00 => 15.35 / 13.09', '08-15 15:00:00 => 15.86 / 13.35', '08-15 16:00:00 => 32.89 / 16.13', '08-15 17:00:00 => 38.02 / 18.75', '08-15 18:00:00 => 42.36 / 20.96', '08-15 19:00:00 => 31.09 / 21.13', '08-15 20:00:00 => 31.64 / 21.41', '08-15 21:00:00 => 31.64 / 21.41', '08-15 22:00:00 => 30.58 / 20.87']
2026-08-15 07:10:02.710816: Rate min forward looking: now 13.77p at end of forecast 13.77p
2026-08-15 07:10:02.722411: Import rates: min 13.77p, max 43.82p, average 25.96p
2026-08-15 07:10:02.795729: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 07:10:02.795863: Rate thresholds (for charge/export) are import 43.32p (0.0p), export -0.1p (0.0p)
2026-08-15 07:10:02.797380: High export rate found rates in range 99p to -99p
2026-08-15 07:10:02.974304: Low Import rate found rates in range 13.77p to 41.55p
2026-08-15 07:10:02.975461: Car 0 charging is not planned as it is not plugged in
2026-08-15 07:10:03.006703: Battery level now 1.92kWh, -1hr ago 1.6kWh, at midnight 1.66kWh, battery value change in the last hour 3.78p, change today 3.12p, rate_forward 11.83p
2026-08-15 07:10:03.007262: Last hour: net energy 0.35kWh, import 0.35kWh, export 0.0kWh, car 0kWh, load 0.35kWh, net cost 9.3p, import 9.3p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 07:10:03.114612: Today's energy total net 6.8kWh, import 6.8kWh, export 0.0kWh, cost 231.27p, import 181.28p, export 0.0p, carbon 0.0kg
2026-08-15 07:10:03.114894: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 07:10:03.259806: Using weighted-bucket historical load forecast over 14 days
2026-08-15 07:10:03.286243: Today's load divergence 107.3%, in-day adjustment 132.77%, damping 0.95x, yesterday 143.77% today 106.93% blend 70.14%
2026-08-15 07:10:03.286422: Today's predicted so far 4.39kWh with 0.0kWh car/iBoost excluded, 2.72kWh import ignored, and 4.39kWh forecast extra.
2026-08-15 07:10:03.286480: Today's actual load so far 5.61kWh with 0.0kWh car/iBoost excluded, and 2.72kWh import ignored.
2026-08-15 07:10:03.350027: Inverter 0: Type SK Sunsynk
2026-08-15 07:10:03.350252: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 07:10:03.350512: Reserve min: 7%, battery_min: 7%
2026-08-15 07:10:03.350690: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 07:10:03.351029: Inverter 0 SoC: 1.92kW 12%, current charge rate 5000W, current discharge rate 5250W, current battery power 261W, current battery voltage 51.2V, grid power -55W, load power 323W, PV Power 0W
2026-08-15 07:10:03.351267: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 07:10:03.351417: Inverter 0 scheduled charge enable is False
2026-08-15 07:10:03.351465: Inverter 0 charge windows currently []
2026-08-15 07:10:03.351565: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 07:10:03.351879: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 07:10:03.351932: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 07:10:03.352049: Inverter 0 scheduled discharge enable is False
2026-08-15 07:10:03.352277: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 07:10:03.352326: Inverter 0 discharge windows currently []
2026-08-15 07:10:03.352351: Note: Inverter does not support discharge freeze - disabled
2026-08-15 07:10:03.352422: Note: Inverter does not support charge freeze - disabled
2026-08-15 07:10:03.352560: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 07:10:03.456711: Dynamic load last period 0.00kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 07:10:03.456971: Plan was last updated on 2026-08-15 07:00:00+01:00 and is now 10.0 minutes old
2026-08-15 07:10:03.457343: Best charge window [ 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 00:30:00 @ 28.84p 100% ]
2026-08-15 07:10:03.457399: Best export window [  ]
2026-08-15 07:10:03.458313: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 07:10:03.461472: Load divergence over 8.0 hours mean 631.81W, min 268.2W, max 1657.2W, std dev 326.43W, divergence 25.83%
2026-08-15 07:10:03.483006: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 07:10:03.483130: LoadML is_calculating True
2026-08-15 07:10:03.483159: Not using thread pool as LoadML is calculating to avoid lockups
2026-08-15 07:10:03.567019: predict base end_record 08-16 11:40:00, final soc 1.12kWh, metric 815.32p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 08:30:00, load 27.52kWh, PV 0.0kWh
2026-08-15 07:10:03.794360: Battery has 1.33 hours left - now at 1.92kWh
2026-08-15 07:10:03.899839: predict base10 end_record 08-16 11:40:00, final soc 1.12kWh, metric 841.59p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 08:30:00, load 28.57kWh, PV 0.0kWh
2026-08-15 07:10:04.082592: predict best10 end_record 08-16 11:40:00, final soc 1.77kWh, metric 682.0p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 08:30:00, load 28.57kWh, PV 0.0kWh
2026-08-15 07:10:04.305706: predict best end_record 08-16 11:40:00, final soc 1.9kWh, metric 660.85p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 08:30:00, load 27.52kWh, PV 0.0kWh
2026-08-15 07:10:04.307314: Saving plan best values to HA entities
2026-08-15 07:10:04.649050: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 07:10:04.655709: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 07:10:04.674126: Best charging limit SoC's [16.0, 3.5, 4.0, 16.0, 16.0, 16.0]kWh, export []kWh gives import battery 21.36kWh, house 2.87kWh, export 0.0kWh, metric 660.85p, metric10 682.0p
2026-08-15 07:10:04.795046: Marginal costs baseline metric (no standing charge): 610.8677
2026-08-15 07:10:05.310877: Marginal energy costs matrix computed: min=15.42 max=31.92
2026-08-15 07:10:05.483795: Rate array import [{'start': 430, 'end': 450, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 450, 'end': 480, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 480, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 23.6p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1860, 'rate': 'expensive', 'range': '(24.6p - 32.9p)'}, {'start': 1860, 'end': 1890, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 1890, 'end': 1920, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 1920, 'end': 2140, 'rate': 'cheap', 'range': '(15.5p - 23.6p)'}] export [{'start': 430, 'end': 2140, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 07:10:05.484789: - Your estimated bill for today is £5.87 and tomorrow is £5.40
2026-08-15 07:10:05.484848: - Import rates are cheap (22.7p) for the next 20 minutes and then expensive (26.7p) for the next 30 minutes.
2026-08-15 07:10:05.484879: - The battery is currently at 12% and is in eco mode for the next 4 and a quarter hours.
2026-08-15 07:10:05.485121: - For the next 48 hours there will be no solar generation.
2026-08-15 07:10:05.490314: - You will run out of battery in 1 and a quarter hours.
2026-08-15 07:10:05.497200: - Your next charge slot will be in 4 and a quarter hours where import rates will be cheap (15.5p).
2026-08-15 07:10:05.497297: 
2026-08-15 07:10:05.576744: Plan calculation took 2.12 seconds
2026-08-15 07:10:05.582830: No high rate period found
2026-08-15 07:10:05.685565: Import threshold used for optimisation was 22.92p
2026-08-15 07:10:05.766068: Low import rate windows [0: 08-15 07:00:00 - 08-15 07:30:00 @ 22.73, 1: 08-15 07:30:00 - 08-15 08:00:00 @ 26.7, 2: 08-15 08:00:00 - 08-15 08:30:00 @ 22.92, 3: 08-15 08:30:00 - 08-15 09:00:00 @ 22.48, 4: 08-15 09:00:00 - 08-15 09:30:00 @ 23.55, 5: 08-15 09:30:00 - 08-15 10:00:00 @ 23.64, 6: 08-15 10:00:00 - 08-15 10:30:00 @ 19.66, 7: 08-15 10:30:00 - 08-15 11:00:00 @ 17.66, 8: 08-15 11:00:00 - 08-15 11:30:00 @ 16.56, 9: 08-15 11:30:00 - 08-15 12:00:00 @ 15.46, 10: 08-15 12:00:00 - 08-15 12:30:00 @ 17.0, 11: 08-15 12:30:00 - 08-15 13:00:00 @ 16.34, 12: 08-15 13:00:00 - 08-15 13:30:00 @ 15.36, 13: 08-15 13:30:00 - 08-15 14:00:00 @ 15.74, 14: 08-15 14:00:00 - 08-15 14:30:00 @ 14.57, 15: 08-15 14:30:00 - 08-15 15:00:00 @ 13.77, 16: 08-15 15:00:00 - 08-15 15:30:00 @ 15.02, 17: 08-15 15:30:00 - 08-15 16:00:00 @ 15.87, 18: 08-15 16:00:00 - 08-15 16:30:00 @ 33.13, 19: 08-15 16:30:00 - 08-15 17:00:00 @ 33.13, 20: 08-15 17:00:00 - 08-15 17:30:00 @ 38.46, 21: 08-15 17:30:00 - 08-15 18:00:00 @ 40.44, 22: 08-15 18:00:00 - 08-15 18:30:00 @ 41.55, 23: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 24: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 25: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 26: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 27: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 28: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 29: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 30: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 31: 08-15 23:00:00 - 08-15 23:30:00 @ 27.8, 32: 08-15 23:30:00 - 08-16 00:00:00 @ 29.09, 33: 08-16 00:00:00 - 08-16 00:30:00 @ 28.47, 34: 08-16 00:30:00 - 08-16 01:00:00 @ 27.18, 35: 08-16 01:00:00 - 08-16 01:30:00 @ 27.57, 36: 08-16 01:30:00 - 08-16 02:00:00 @ 26.5, 37: 08-16 02:00:00 - 08-16 02:30:00 @ 25.6, 38: 08-16 02:30:00 - 08-16 03:00:00 @ 24.79, 39: 08-16 03:00:00 - 08-16 03:30:00 @ 25.08, 40: 08-16 03:30:00 - 08-16 04:00:00 @ 24.62, 41: 08-16 04:00:00 - 08-16 04:30:00 @ 27.02, 42: 08-16 04:30:00 - 08-16 05:00:00 @ 26.47, 43: 08-16 05:00:00 - 08-16 05:30:00 @ 26.25, 44: 08-16 05:30:00 - 08-16 06:00:00 @ 26.4, 45: 08-16 06:00:00 - 08-16 06:30:00 @ 25.7, 46: 08-16 06:30:00 - 08-16 07:00:00 @ 27.63, 47: 08-16 07:00:00 - 08-16 07:30:00 @ 22.73, 48: 08-16 07:30:00 - 08-16 08:00:00 @ 26.7, 49: 08-16 08:00:00 - 08-16 08:30:00 @ 22.92, 50: 08-16 08:30:00 - 08-16 09:00:00 @ 22.48, 51: 08-16 09:00:00 - 08-16 09:30:00 @ 23.55, 52: 08-16 09:30:00 - 08-16 10:00:00 @ 23.64, 53: 08-16 10:00:00 - 08-16 10:30:00 @ 19.66, 54: 08-16 10:30:00 - 08-16 11:00:00 @ 17.66, 55: 08-16 11:00:00 - 08-16 11:30:00 @ 16.56, 56: 08-16 11:30:00 - 08-16 12:00:00 @ 15.46, 57: 08-16 12:00:00 - 08-16 12:30:00 @ 17.0, 58: 08-16 12:30:00 - 08-16 13:00:00 @ 16.34, 59: 08-16 13:00:00 - 08-16 13:30:00 @ 15.36, 60: 08-16 13:30:00 - 08-16 14:00:00 @ 15.74, 61: 08-16 14:00:00 - 08-16 14:30:00 @ 14.57, 62: 08-16 14:30:00 - 08-16 15:00:00 @ 13.77, 63: 08-16 15:00:00 - 08-16 15:30:00 @ 15.02, 64: 08-16 15:30:00 - 08-16 16:00:00 @ 15.87, 65: 08-16 16:00:00 - 08-16 16:30:00 @ 33.13, 66: 08-16 16:30:00 - 08-16 17:00:00 @ 33.13, 67: 08-16 17:00:00 - 08-16 17:30:00 @ 38.46, 68: 08-16 17:30:00 - 08-16 18:00:00 @ 40.44, 69: 08-16 18:00:00 - 08-16 18:30:00 @ 41.55, 70: 08-16 19:00:00 - 08-16 19:30:00 @ 32.58, 71: 08-16 19:30:00 - 08-16 20:00:00 @ 32.9, 72: 08-16 20:00:00 - 08-16 20:30:00 @ 31.99, 73: 08-16 20:30:00 - 08-16 21:00:00 @ 32.1, 74: 08-16 21:00:00 - 08-16 21:30:00 @ 31.71, 75: 08-16 21:30:00 - 08-16 22:00:00 @ 31.67, 76: 08-16 22:00:00 - 08-16 22:30:00 @ 31.77, 77: 08-16 22:30:00 - 08-16 23:00:00 @ 29.81, 78: 08-16 23:00:00 - 08-16 23:30:00 @ 27.8, 79: 08-16 23:30:00 - 08-17 00:00:00 @ 29.09, 80: 08-17 00:00:00 - 08-17 00:30:00 @ 28.47, 81: 08-17 00:30:00 - 08-17 01:00:00 @ 27.18, 82: 08-17 01:00:00 - 08-17 01:30:00 @ 27.57, 83: 08-17 01:30:00 - 08-17 02:00:00 @ 26.5, 84: 08-17 02:00:00 - 08-17 02:30:00 @ 25.6, 85: 08-17 02:30:00 - 08-17 03:00:00 @ 24.79, 86: 08-17 03:00:00 - 08-17 03:30:00 @ 25.08, 87: 08-17 03:30:00 - 08-17 04:00:00 @ 24.62, 88: 08-17 04:00:00 - 08-17 04:30:00 @ 27.02, 89: 08-17 04:30:00 - 08-17 05:00:00 @ 26.47, 90: 08-17 05:00:00 - 08-17 05:30:00 @ 26.25, 91: 08-17 05:30:00 - 08-17 06:00:00 @ 26.4, 92: 08-17 06:00:00 - 08-17 06:30:00 @ 25.7, 93: 08-17 06:30:00 - 08-17 07:00:00 @ 27.63, 94: 08-17 07:00:00 - 08-17 07:30:00 @ 22.73]
2026-08-15 07:10:05.776613: Inverter 0 Charge window will be: 2026-08-15 11:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 12%, target 100%
2026-08-15 07:10:05.776870: Inverter 0 disabled charge window while waiting for schedule (now 08-15 07:10:00 target set_window_minutes 30 charge start time 08-15 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 07:10:05.777091: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 07:10:05.777400: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 07:10:05.777555: No export window planned
2026-08-15 07:10:05.777775: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 07:10:05.777835: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 07:10:05.778134: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 07:10:05.778397: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 07:10:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 07:10:05.778510: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 07:10:05.778635: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 07:10:05.778796: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 07:10:05.778858: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 07:10:05.778997: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 07:10:05.779057: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 07:10:05.779173: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 07:10:05.779271: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 07:10:05.779527: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 07:10:05.779703: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 07:10:05.779764: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 07:10:05.779886: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 07:10:05.779941: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 07:10:05.780058: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 07:10:05.780263: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 07:10:05.780327: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 07:10:05.780406: Inverter 0 count register writes 0
2026-08-15 07:10:05.808381: Will recompute the plan as it is now 10.0 minutes old and will exceed the max age of 10 minutes before the next run
2026-08-15 07:10:05.808722: Recompute is saving previous plan...
2026-08-15 07:10:05.812003: Best charge window [ 15-08 07:00:00 - 15-08 07:30:00 @ 22.73p 0%, 15-08 07:30:00 - 15-08 08:00:00 @ 26.7p 0%, 15-08 08:00:00 - 15-08 08:30:00 @ 22.92p 0%, 15-08 08:30:00 - 15-08 09:00:00 @ 22.48p 0%, 15-08 09:00:00 - 15-08 09:30:00 @ 23.55p 0%, 15-08 09:30:00 - 15-08 10:00:00 @ 23.64p 0%, 15-08 10:00:00 - 15-08 10:30:00 @ 19.66p 0%, 15-08 10:30:00 - 15-08 11:00:00 @ 17.66p 0%, 15-08 11:00:00 - 15-08 11:30:00 @ 16.56p 0%, 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 0%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 0%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 0%, 15-08 13:00:00 - 15-08 13:30:00 @ 15.36p 0%, 15-08 13:30:00 - 15-08 14:00:00 @ 15.74p 0%, 15-08 14:00:00 - 15-08 14:30:00 @ 14.57p 0%, 15-08 14:30:00 - 15-08 15:00:00 @ 13.77p 0%, 15-08 15:00:00 - 15-08 15:30:00 @ 15.02p 0%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 0%, 15-08 16:00:00 - 15-08 16:30:00 @ 33.13p 0%, 15-08 16:30:00 - 15-08 17:00:00 @ 33.13p 0%, 15-08 17:00:00 - 15-08 17:30:00 @ 38.46p 0%, 15-08 17:30:00 - 15-08 18:00:00 @ 40.44p 0%, 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 0%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 0%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 0%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 0%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 0%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 27.8p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 29.09p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.47p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.18p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 27.57p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.5p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.6p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 24.79p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 25.08p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 24.62p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 27.02p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.47p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 26.25p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.4p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.7p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 27.63p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 22.73p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 26.7p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 22.92p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 22.48p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 23.55p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 23.64p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 19.66p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 17.66p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 16.56p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 15.46p 0%, 16-08 12:00:00 - 16-08 12:30:00 @ 17.0p 0%, 16-08 12:30:00 - 16-08 13:00:00 @ 16.34p 0%, 16-08 13:00:00 - 16-08 13:30:00 @ 15.36p 0%, 16-08 13:30:00 - 16-08 14:00:00 @ 15.74p 0%, 16-08 14:00:00 - 16-08 14:30:00 @ 14.57p 0%, 16-08 14:30:00 - 16-08 15:00:00 @ 13.77p 0%, 16-08 15:00:00 - 16-08 15:30:00 @ 15.02p 0%, 16-08 15:30:00 - 16-08 16:00:00 @ 15.87p 0%, 16-08 16:00:00 - 16-08 16:30:00 @ 33.13p 0%, 16-08 16:30:00 - 16-08 17:00:00 @ 33.13p 0%, 16-08 17:00:00 - 16-08 17:30:00 @ 38.46p 0%, 16-08 17:30:00 - 16-08 18:00:00 @ 40.44p 0%, 16-08 18:00:00 - 16-08 18:30:00 @ 41.55p 0%, 16-08 19:00:00 - 16-08 19:30:00 @ 32.58p 0%, 16-08 19:30:00 - 16-08 20:00:00 @ 32.9p 0%, 16-08 20:00:00 - 16-08 20:30:00 @ 31.99p 0%, 16-08 20:30:00 - 16-08 21:00:00 @ 32.1p 0%, 16-08 21:00:00 - 16-08 21:30:00 @ 31.71p 0%, 16-08 21:30:00 - 16-08 22:00:00 @ 31.67p 0%, 16-08 22:00:00 - 16-08 22:30:00 @ 31.77p 0%, 16-08 22:30:00 - 16-08 23:00:00 @ 29.81p 0%, 16-08 23:00:00 - 16-08 23:30:00 @ 27.8p 0%, 16-08 23:30:00 - 17-08 00:00:00 @ 29.09p 0%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.47p 0%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.18p 0%, 17-08 01:00:00 - 17-08 01:30:00 @ 27.57p 0%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.5p 0%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.6p 0%, 17-08 02:30:00 - 17-08 03:00:00 @ 24.79p 0%, 17-08 03:00:00 - 17-08 03:30:00 @ 25.08p 0%, 17-08 03:30:00 - 17-08 04:00:00 @ 24.62p 0%, 17-08 04:00:00 - 17-08 04:30:00 @ 27.02p 0%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.47p 0%, 17-08 05:00:00 - 17-08 05:30:00 @ 26.25p 0%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.4p 0%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.7p 0%, 17-08 06:30:00 - 17-08 07:00:00 @ 27.63p 0%, 17-08 07:00:00 - 17-08 07:30:00 @ 22.73p 0% ]
2026-08-15 07:10:05.812197: Best export window [  ]
2026-08-15 07:10:05.813185: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 07:10:05.816379: Load divergence over 8.0 hours mean 631.81W, min 268.2W, max 1657.2W, std dev 326.43W, divergence 25.83%
2026-08-15 07:10:05.838825: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 07:10:05.840647: LoadML is_calculating True
2026-08-15 07:10:05.840779: Not using thread pool as LoadML is calculating to avoid lockups
2026-08-15 07:10:05.860573: Calculate Best options: mode(Control charge & discharge), calculate_export_oncharge(False), calculate_export_on_pv(True), set_export_freeze_only(False), set_discharge_during_charge(True), combine_charge_slots(False), combine_export_slots(False), combine_rate_threshold(0.0), best_soc_min(0.0 kWh), best_soc_max(0.0 kWh), best_soc_keep(0.0 kWh), inverter_loss(4%), battery_loss(3%), battery_loss_discharge (3%), inverter_hybrid(True), metric_min_improvement(0.0p), metric_min_improvement_export(0.1p), metric_min_improvement_export_freeze(0.1p), metric_battery_cycle(0.0p/kWh), metric_battery_value_scaling(1.0 x) 
2026-08-15 07:10:05.864191: Optimise levels pass started at 2026-08-15 07:10:05
2026-08-15 07:10:05.865830: Optimise all windows, total charge 94 export 1
2026-08-15 07:10:13.208995: >> Region optimisation pass width 960 gives best_metric 817.03p, best_cost 824.2p, best_cycle 54.25kWh, best_import 38.38kWh
2026-08-15 07:10:14.446971: >> Region optimisation pass width 480 gives best_metric 817.03p, best_cost 824.2p, best_cycle 54.25kWh, best_import 38.38kWh
2026-08-15 07:10:15.518396: ML Predictor: Epoch 8/30: lr=0.00088 huber_loss=0.0098 val_mae=0.0026 kWh val_bias=+0.0002 kWh (+0.4%) combined=0.0016 kWh ema_combined=0.0020 kWh
2026-08-15 07:10:15.731195: >> Region optimisation pass width 240 gives best_metric 817.03p, best_cost 824.2p, best_cycle 54.25kWh, best_import 38.38kWh
2026-08-15 07:10:19.248149: >> Region optimisation pass width 120 gives best_metric 817.03p, best_cost 824.2p, best_cycle 54.25kWh, best_import 38.38kWh
2026-08-15 07:10:19.248767: Calculated end_record as 08-16 11:30:00 based on best_price 16.34p, next_charge_start 08-15 11:30:00, max_windows 56
2026-08-15 07:10:19.260659: Optimise levels pass ended at 2026-08-15 07:10:19, duration 13.4 seconds tried 337 combinations
2026-08-15 07:10:19.260756: Set best_price_charge_level 17.6p, best_price_export_level 0p, best_price_charge 16.34p, best_cost_export 0p, best_metric 817.03p, best_keep 0kWh, best_cycle 54.25kWh, best_carbon 0kg, best_import 38.38kWh
2026-08-15 07:10:19.323983: Starting detailed optimisation end_record 08-16 11:30:00, best_price_charge 16.34p, best_price_export 0p. lowest_price_charge 13.77p with charge limits [0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0]kWh and export limits []kWh
2026-08-15 07:10:41.125146: Tweak plan optimisation started metric 585.09p, cost 594.78p
2026-08-15 07:10:42.045191: Tweak optimisation finished metric 585.09p, cost 594.78p, metric_keep 0kWh, cycle 29.83kWh, carbon 0kg, import 23.15kWh, changed 8 window(s)
2026-08-15 07:10:42.063288: Swap charge optimisation started metric 585.09p, cost 594.78p, min_improvement_swap 0.1p
2026-08-15 07:10:49.624579: Swap charge optimisation finished metric 585.09p, cost 594.78p
2026-08-15 07:10:49.871650: Pruned 2 dead plan slot(s) in 11 trial(s), nominal metric 581.54p -> 581.54p, plan now metric 585.15p, cost 594.78p, cycle 29.83kWh, import 23.15kWh
2026-08-15 07:10:49.902185: Raw charge windows [ 15-08 07:00:00 - 15-08 07:30:00 @ 22.73p 0%, 15-08 07:30:00 - 15-08 08:00:00 @ 26.7p 0%, 15-08 08:00:00 - 15-08 08:30:00 @ 22.92p 0%, 15-08 08:30:00 - 15-08 09:00:00 @ 22.48p 0%, 15-08 09:00:00 - 15-08 09:30:00 @ 23.55p 0%, 15-08 09:30:00 - 15-08 10:00:00 @ 23.64p 0%, 15-08 10:00:00 - 15-08 10:30:00 @ 19.66p 0%, 15-08 10:30:00 - 15-08 11:00:00 @ 17.66p 0%, 15-08 11:00:00 - 15-08 11:30:00 @ 16.56p 0%, 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 13:30:00 @ 15.36p 100%, 15-08 13:30:00 - 15-08 14:00:00 @ 15.74p 100%, 15-08 14:00:00 - 15-08 14:30:00 @ 14.57p 100%, 15-08 14:30:00 - 15-08 15:00:00 @ 13.77p 100%, 15-08 15:00:00 - 15-08 15:30:00 @ 15.02p 100%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 97%, 15-08 16:00:00 - 15-08 16:30:00 @ 33.13p 0%, 15-08 16:30:00 - 15-08 17:00:00 @ 33.13p 0%, 15-08 17:00:00 - 15-08 17:30:00 @ 38.46p 0%, 15-08 17:30:00 - 15-08 18:00:00 @ 40.44p 0%, 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 0%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 0%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 0%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 0%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 0%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 27.8p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 29.09p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.47p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.18p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 27.57p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.5p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.6p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 24.79p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 25.08p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 24.62p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 27.02p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.47p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 26.25p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.4p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.7p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 27.63p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 22.73p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 26.7p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 22.92p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 22.48p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 23.55p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 23.64p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 19.66p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 17.66p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 16.56p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 15.46p 100%, 16-08 12:00:00 - 16-08 12:30:00 @ 17.0p 100%, 16-08 12:30:00 - 16-08 13:00:00 @ 16.34p 100%, 16-08 13:00:00 - 16-08 13:30:00 @ 15.36p 100%, 16-08 13:30:00 - 16-08 14:00:00 @ 15.74p 100%, 16-08 14:00:00 - 16-08 14:30:00 @ 14.57p 100%, 16-08 14:30:00 - 16-08 15:00:00 @ 13.77p 100%, 16-08 15:00:00 - 16-08 15:30:00 @ 15.02p 100%, 16-08 15:30:00 - 16-08 16:00:00 @ 15.87p 100%, 16-08 16:00:00 - 16-08 16:30:00 @ 33.13p 100%, 16-08 16:30:00 - 16-08 17:00:00 @ 33.13p 100%, 16-08 17:00:00 - 16-08 17:30:00 @ 38.46p 100%, 16-08 17:30:00 - 16-08 18:00:00 @ 40.44p 100%, 16-08 18:00:00 - 16-08 18:30:00 @ 41.55p 100%, 16-08 19:00:00 - 16-08 19:30:00 @ 32.58p 100%, 16-08 19:30:00 - 16-08 20:00:00 @ 32.9p 100%, 16-08 20:00:00 - 16-08 20:30:00 @ 31.99p 100%, 16-08 20:30:00 - 16-08 21:00:00 @ 32.1p 100%, 16-08 21:00:00 - 16-08 21:30:00 @ 31.71p 100%, 16-08 21:30:00 - 16-08 22:00:00 @ 31.67p 100%, 16-08 22:00:00 - 16-08 22:30:00 @ 31.77p 100%, 16-08 22:30:00 - 16-08 23:00:00 @ 29.81p 100%, 16-08 23:00:00 - 16-08 23:30:00 @ 27.8p 100%, 16-08 23:30:00 - 17-08 00:00:00 @ 29.09p 100%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.47p 100%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.18p 100%, 17-08 01:00:00 - 17-08 01:30:00 @ 27.57p 100%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.5p 100%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.6p 100%, 17-08 02:30:00 - 17-08 03:00:00 @ 24.79p 100%, 17-08 03:00:00 - 17-08 03:30:00 @ 25.08p 100%, 17-08 03:30:00 - 17-08 04:00:00 @ 24.62p 100%, 17-08 04:00:00 - 17-08 04:30:00 @ 27.02p 100%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.47p 100%, 17-08 05:00:00 - 17-08 05:30:00 @ 26.25p 100%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.4p 100%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.7p 100%, 17-08 06:30:00 - 17-08 07:00:00 @ 27.63p 100%, 17-08 07:00:00 - 17-08 07:30:00 @ 22.73p 100% ] reserve 1.12
2026-08-15 07:10:49.903254: Unclipped charge windows [ 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 15:30:00 @ 14.71p 100%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 97%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 07:30:00 @ 24.77p 100% ] reserve 1.12
2026-08-15 07:10:49.903848: Unfiltered charge windows [ 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 15:30:00 @ 14.71p 100%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 97%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 07:30:00 @ 24.77p 100% ] reserve 1.12
2026-08-15 07:10:49.904396: Filtered charge windows [ 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 15:30:00 @ 14.71p 100%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 97%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 07:30:00 @ 24.77p 100% ] reserve 1.12
2026-08-15 07:10:50.024891: Previous plan best metric is 585.22 (cost 594.99) and new plan best metric is 585.09 (cost 594.78)
2026-08-15 07:10:50.025375: New plan metric is not significantly better (metric_min_improvement_plan 2.0) than previous plan, using previous plan
2026-08-15 07:10:50.033114: Plan valid is now true after recompute was False
2026-08-15 07:10:50.099648: predict base end_record 08-16 11:30:00, final soc 1.12kWh, metric 812.32p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 08:30:00, load 27.32kWh, PV 0.0kWh
2026-08-15 07:10:50.251279: Battery has 1.33 hours left - now at 1.92kWh
2026-08-15 07:10:50.315011: predict base10 end_record 08-16 11:30:00, final soc 1.12kWh, metric 838.45p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 08:30:00, load 28.36kWh, PV 0.0kWh
2026-08-15 07:10:50.474784: predict best10 end_record 08-16 11:30:00, final soc 1.12kWh, metric 668.13p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 08:30:00, load 28.36kWh, PV 0.0kWh
2026-08-15 07:10:50.625840: predict best end_record 08-16 11:30:00, final soc 1.12kWh, metric 644.98p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 08:30:00, load 27.32kWh, PV 0.0kWh
2026-08-15 07:10:50.625957: Saving plan best values to HA entities
2026-08-15 07:10:50.886855: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 07:10:50.896398: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 07:10:50.904747: Best charging limit SoC's [16.0, 3.5, 4.0, 16.0, 16.0, 16.0]kWh, export []kWh gives import battery 20.33kWh, house 2.87kWh, export 0.0kWh, metric 644.98p, metric10 668.13p
2026-08-15 07:10:51.056589: Marginal costs baseline metric (no standing charge): 594.9939
2026-08-15 07:10:51.385278: Marginal energy costs matrix computed: min=15.42 max=31.92
2026-08-15 07:10:51.531852: Rate array import [{'start': 430, 'end': 450, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 450, 'end': 480, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 480, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 23.6p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1860, 'rate': 'expensive', 'range': '(24.6p - 32.9p)'}, {'start': 1860, 'end': 1890, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 1890, 'end': 1920, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 1920, 'end': 2130, 'rate': 'cheap', 'range': '(16.6p - 23.6p)'}] export [{'start': 430, 'end': 2130, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 07:10:51.533088: - Your estimated bill for today is £5.87 and tomorrow is £5.40
2026-08-15 07:10:51.533191: - Import rates are cheap (22.7p) for the next 20 minutes and then expensive (26.7p) for the next 30 minutes.
2026-08-15 07:10:51.533223: - The battery is currently at 12% and is in eco mode for the next 4 and a quarter hours.
2026-08-15 07:10:51.541275: - For the next 48 hours there will be no solar generation.
2026-08-15 07:10:51.541349: - You will run out of battery in 1 and a quarter hours.
2026-08-15 07:10:51.541594: - Your next charge slot will be in 4 and a quarter hours where import rates will be cheap (15.5p).
2026-08-15 07:10:51.541765: 
2026-08-15 07:10:51.600676: Plan calculation took 45.79 seconds
2026-08-15 07:10:51.601003: Inverter 0: Type SK Sunsynk
2026-08-15 07:10:51.601080: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 07:10:51.601357: Reserve min: 7%, battery_min: 7%
2026-08-15 07:10:51.601466: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 07:10:51.601885: Inverter 0 SoC: 1.92kW 12%, current charge rate 5000W, current discharge rate 5250W, current battery power 258W, current battery voltage 51.2V, grid power -55W, load power 319W, PV Power 0W
2026-08-15 07:10:51.602168: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 07:10:51.602322: Inverter 0 scheduled charge enable is False
2026-08-15 07:10:51.602391: Inverter 0 charge windows currently []
2026-08-15 07:10:51.602451: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 07:10:51.602662: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 07:10:51.602734: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 07:10:51.602814: Inverter 0 scheduled discharge enable is False
2026-08-15 07:10:51.603039: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 07:10:51.603126: Inverter 0 discharge windows currently []
2026-08-15 07:10:51.603182: Note: Inverter does not support discharge freeze - disabled
2026-08-15 07:10:51.603220: Note: Inverter does not support charge freeze - disabled
2026-08-15 07:10:51.603262: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 07:10:51.732731: Inverter 0 Charge window will be: 2026-08-15 11:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 12%, target 100%
2026-08-15 07:10:51.732915: Inverter 0 disabled charge window while waiting for schedule (now 08-15 07:10:00 target set_window_minutes 30 charge start time 08-15 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 07:10:51.733020: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 07:10:51.733280: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 07:10:51.733376: No export window planned
2026-08-15 07:10:51.733529: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 07:10:51.733586: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 07:10:51.733820: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 07:10:51.734026: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 07:10:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 07:10:51.734106: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 07:10:51.734179: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 07:10:51.734296: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 07:10:51.734353: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 07:10:51.734391: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 07:10:51.734425: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 07:10:51.734459: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 07:10:51.734946: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 07:10:51.734992: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 07:10:51.735205: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 07:10:51.735269: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 07:10:51.735882: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 07:10:51.735968: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 07:10:51.736020: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 07:10:51.736073: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 07:10:51.736136: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 07:10:51.745208: Inverter 0 count register writes 0
2026-08-15 07:10:51.784707: Total inverter register writes now 815
2026-08-15 07:10:51.867059: Info: Completed run status Demand
2026-08-15 07:10:51.876543: Info: record_status Demand
2026-08-15 07:10:51.899239: Saved current settings to /config/predbat_config.json
2026-08-15 07:10:51.899604: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 07:10:57.183729: ML Predictor: Epoch 9/30: lr=0.00084 huber_loss=0.0101 val_mae=0.0027 kWh val_bias=-0.0008 kWh (-1.6%) combined=0.0020 kWh ema_combined=0.0020 kWh
2026-08-15 07:11:16.887613: ML Predictor: Epoch 10/30: lr=0.00080 huber_loss=0.0092 val_mae=0.0022 kWh val_bias=-0.0000 kWh (-0.0%) combined=0.0012 kWh ema_combined=0.0017 kWh
2026-08-15 07:11:27.099760: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 07:11:27.100271: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 07:11:27.100445: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 07:11:27.100708: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 07:11:27.100839: Note: Inverter does not support discharge freeze - disabled
2026-08-15 07:11:27.100974: Note: Inverter does not support charge freeze - disabled
2026-08-15 07:11:27.101091: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 07:11:38.775434: ML Predictor: Epoch 11/30: lr=0.00076 huber_loss=0.0090 val_mae=0.0023 kWh val_bias=+0.0004 kWh (+0.9%) combined=0.0015 kWh ema_combined=0.0017 kWh
2026-08-15 07:11:57.657054: ML Predictor: Epoch 12/30: lr=0.00072 huber_loss=0.0079 val_mae=0.0025 kWh val_bias=-0.0010 kWh (-1.9%) combined=0.0024 kWh ema_combined=0.0019 kWh
2026-08-15 07:12:17.255634: ML Predictor: Epoch 13/30: lr=0.00067 huber_loss=0.0085 val_mae=0.0022 kWh val_bias=-0.0002 kWh (-0.4%) combined=0.0011 kWh ema_combined=0.0017 kWh
2026-08-15 07:12:38.725234: ML Predictor: Epoch 14/30: lr=0.00062 huber_loss=0.0075 val_mae=0.0023 kWh val_bias=-0.0006 kWh (-1.1%) combined=0.0013 kWh ema_combined=0.0016 kWh
2026-08-15 07:12:58.634949: ML Predictor: Epoch 15/30: lr=0.00057 huber_loss=0.0091 val_mae=0.0021 kWh val_bias=+0.0003 kWh (+0.5%) combined=0.0012 kWh ema_combined=0.0014 kWh
2026-08-15 07:13:18.358015: ML Predictor: Epoch 16/30: lr=0.00053 huber_loss=0.0072 val_mae=0.0020 kWh val_bias=+0.0006 kWh (+1.1%) combined=0.0016 kWh ema_combined=0.0015 kWh
2026-08-15 07:13:39.927035: ML Predictor: Epoch 17/30: lr=0.00048 huber_loss=0.0061 val_mae=0.0019 kWh val_bias=-0.0001 kWh (-0.3%) combined=0.0010 kWh ema_combined=0.0013 kWh
2026-08-15 07:13:41.613039: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 07:13:41.613392: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 07:13:41.613460: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 07:13:41.613648: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 07:13:41.613702: Note: Inverter does not support discharge freeze - disabled
2026-08-15 07:13:41.613731: Note: Inverter does not support charge freeze - disabled
2026-08-15 07:13:41.613867: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 07:13:57.519522: ML Predictor: Epoch 18/30: lr=0.00043 huber_loss=0.0060 val_mae=0.0018 kWh val_bias=-0.0006 kWh (-1.1%) combined=0.0013 kWh ema_combined=0.0013 kWh
2026-08-15 07:14:18.548521: ML Predictor: Epoch 19/30: lr=0.00038 huber_loss=0.0060 val_mae=0.0018 kWh val_bias=-0.0006 kWh (-1.2%) combined=0.0015 kWh ema_combined=0.0014 kWh
2026-08-15 07:14:36.776412: ML Predictor: Epoch 20/30: lr=0.00034 huber_loss=0.0060 val_mae=0.0017 kWh val_bias=-0.0003 kWh (-0.5%) combined=0.0010 kWh ema_combined=0.0013 kWh
2026-08-15 07:14:55.141146: ML Predictor: Epoch 21/30: lr=0.00030 huber_loss=0.0058 val_mae=0.0017 kWh val_bias=+0.0002 kWh (+0.4%) combined=0.0009 kWh ema_combined=0.0012 kWh
2026-08-15 07:15:00.913725: --------------- PredBat - update at 2026-08-15 07:15:00+01:00 with clock skew 0 minutes, minutes now 435
2026-08-15 07:15:00.914987: Saved current settings to /config/predbat_config.json
2026-08-15 07:15:00.915143: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 65.0 minutes
2026-08-15 07:15:00.915283: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.1, latest beta is v8.48.1
2026-08-15 07:15:00.915371: Autoupdate: Currently up to date
2026-08-15 07:15:00.968089: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 07:15:00.968270: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 07:15:00.968599: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 07:15:00.969371: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 07:15:00.969575: Predbat mode is set to Control charge & discharge
2026-08-15 07:15:01.298392: Found 21602 load_today datapoints going back 28 days
2026-08-15 07:15:01.298560: Using load_power data to fill gaps in load_today data
2026-08-15 07:15:02.440725: Processing 721 30-minute periods for power integration
2026-08-15 07:15:02.625037: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 07:15:02.625210: Car charging hold False, threshold 6.0kWh
2026-08-15 07:15:02.625269: Current data so far today: load 5.5kWh, import 6.8kWh, export 0.0kWh, PV 0kWh
2026-08-15 07:15:02.653433: Cars: SoC: [12.892000000000001]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 07:15:02.661524: Standing charge is set to 49.98p
2026-08-15 07:15:02.726462: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 07:15:02.726700: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 07:15:02.727175: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 435.0 minutes
2026-08-15 07:15:02.727969: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 434.7 minutes
2026-08-15 07:15:02.730598: Loaded 47 datapoints of futurerate analysis
2026-08-15 07:15:02.951036: Predicted future rates: ['08-15 00:00:00 => 28.9 / 20.01', '08-15 01:00:00 => 27.54 / 19.31', '08-15 02:00:00 => 26.52 / 18.8', '08-15 03:00:00 => 25.99 / 18.53', '08-15 04:00:00 => 25.8 / 18.43', '08-15 05:00:00 => 25.96 / 18.51', '08-15 06:00:00 => 25.55 / 18.3', '08-15 07:00:00 => 24.33 / 17.68', '08-15 08:00:00 => 23.03 / 17.01', '08-15 09:00:00 => 22.05 / 16.51', '08-15 10:00:00 => 20.43 / 15.68', '08-15 11:00:00 => 18.01 / 14.45', '08-15 12:00:00 => 16.37 / 13.61', '08-15 13:00:00 => 15.76 / 13.3', '08-15 14:00:00 => 15.35 / 13.09', '08-15 15:00:00 => 15.86 / 13.35', '08-15 16:00:00 => 32.89 / 16.13', '08-15 17:00:00 => 38.02 / 18.75', '08-15 18:00:00 => 42.36 / 20.96', '08-15 19:00:00 => 31.09 / 21.13', '08-15 20:00:00 => 31.64 / 21.41', '08-15 21:00:00 => 31.64 / 21.41', '08-15 22:00:00 => 30.58 / 20.87']
2026-08-15 07:15:03.028170: Rate min forward looking: now 13.77p at end of forecast 13.77p
2026-08-15 07:15:03.028688: Import rates: min 13.77p, max 43.82p, average 25.96p
2026-08-15 07:15:03.077062: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 07:15:03.077329: Rate thresholds (for charge/export) are import 43.32p (0.0p), export -0.1p (0.0p)
2026-08-15 07:15:03.078419: High export rate found rates in range 99p to -99p
2026-08-15 07:15:03.162414: Low Import rate found rates in range 13.77p to 41.55p
2026-08-15 07:15:03.162679: Car 0 charging is not planned as it is not plugged in
2026-08-15 07:15:03.181662: Battery level now 1.92kWh, -1hr ago 1.53kWh, at midnight 1.66kWh, battery value change in the last hour 4.64p, change today 3.12p, rate_forward 11.83p
2026-08-15 07:15:03.182332: Last hour: net energy 0.3kWh, import 0.3kWh, export 0.0kWh, car 0kWh, load 0.3kWh, net cost 8.02p, import 8.02p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 07:15:03.291477: Today's energy total net 6.8kWh, import 6.8kWh, export 0.0kWh, cost 231.27p, import 181.28p, export 0.0p, carbon 0.0kg
2026-08-15 07:15:03.291618: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 07:15:03.494000: Using weighted-bucket historical load forecast over 14 days
2026-08-15 07:15:03.532455: Today's load divergence 107.11%, in-day adjustment 132.59%, damping 0.95x, yesterday 143.77% today 106.76% blend 69.79%
2026-08-15 07:15:03.532740: Today's predicted so far 4.37kWh with 0.0kWh car/iBoost excluded, 2.71kWh import ignored, and 4.37kWh forecast extra.
2026-08-15 07:15:03.532916: Today's actual load so far 5.56kWh with 0.0kWh car/iBoost excluded, and 2.71kWh import ignored.
2026-08-15 07:15:03.595555: Inverter 0: Type SK Sunsynk
2026-08-15 07:15:03.595850: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 07:15:03.596166: Reserve min: 7%, battery_min: 7%
2026-08-15 07:15:03.596332: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 07:15:03.596786: Inverter 0 SoC: 1.92kW 12%, current charge rate 5000W, current discharge rate 5250W, current battery power 264W, current battery voltage 51.2V, grid power -55W, load power 326W, PV Power 0W
2026-08-15 07:15:03.597124: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 07:15:03.597364: Inverter 0 scheduled charge enable is False
2026-08-15 07:15:03.597497: Inverter 0 charge windows currently []
2026-08-15 07:15:03.597623: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 07:15:03.597869: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 07:15:03.598002: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 07:15:03.598171: Inverter 0 scheduled discharge enable is False
2026-08-15 07:15:03.598468: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 07:15:03.598605: Inverter 0 discharge windows currently []
2026-08-15 07:15:03.598719: Note: Inverter does not support discharge freeze - disabled
2026-08-15 07:15:03.598830: Note: Inverter does not support charge freeze - disabled
2026-08-15 07:15:03.598938: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 07:15:03.732305: Dynamic load last period 0.00kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 07:15:03.732442: Plan was last updated on 2026-08-15 07:10:00+01:00 and is now 5.0 minutes old
2026-08-15 07:15:03.732800: Best charge window [ 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 00:30:00 @ 28.84p 100% ]
2026-08-15 07:15:03.732853: Best export window [  ]
2026-08-15 07:15:03.734158: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 07:15:03.741216: Load divergence over 8.0 hours mean 636.54W, min 226.2W, max 1777.8W, std dev 360.57W, divergence 28.32%
2026-08-15 07:15:03.796842: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 07:15:03.797015: LoadML is_calculating True
2026-08-15 07:15:03.797054: Not using thread pool as LoadML is calculating to avoid lockups
2026-08-15 07:15:03.893597: predict base end_record 08-16 11:35:00, final soc 1.12kWh, metric 813.32p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 08:35:00, load 27.39kWh, PV 0.0kWh
2026-08-15 07:15:04.094101: Battery has 1.33 hours left - now at 1.92kWh
2026-08-15 07:15:04.157581: predict base10 end_record 08-16 11:35:00, final soc 1.12kWh, metric 839.44p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 08:30:00, load 28.43kWh, PV 0.0kWh
2026-08-15 07:15:04.369283: predict best10 end_record 08-16 11:35:00, final soc 1.44kWh, metric 674.43p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 08:30:00, load 28.43kWh, PV 0.0kWh
2026-08-15 07:15:04.518435: predict best end_record 08-16 11:35:00, final soc 1.51kWh, metric 652.27p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 08:35:00, load 27.39kWh, PV 0.0kWh
2026-08-15 07:15:04.518643: Saving plan best values to HA entities
2026-08-15 07:15:04.841293: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0
2026-08-15 07:15:04.847832: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 07:15:04.853836: Best charging limit SoC's [16.0, 3.5, 4.0, 16.0, 16.0, 16.0]kWh, export []kWh gives import battery 20.85kWh, house 2.84kWh, export 0.0kWh, metric 652.27p, metric10 674.43p
2026-08-15 07:15:04.979801: Marginal costs baseline metric (no standing charge): 602.2818
2026-08-15 07:15:05.448747: Marginal energy costs matrix computed: min=15.35 max=32.09
2026-08-15 07:15:05.608864: Rate array import [{'start': 435, 'end': 450, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 450, 'end': 480, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 480, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 23.6p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1860, 'rate': 'expensive', 'range': '(24.6p - 32.9p)'}, {'start': 1860, 'end': 1890, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 1890, 'end': 1920, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 1920, 'end': 2135, 'rate': 'cheap', 'range': '(15.5p - 23.6p)'}] export [{'start': 435, 'end': 2135, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 07:15:05.610450: - Your estimated bill for today is £5.86 and tomorrow is £5.41
2026-08-15 07:15:05.610697: - Import rates are cheap (22.7p) for the next 15 minutes and then expensive (26.7p) for the next 30 minutes.
2026-08-15 07:15:05.610896: - The battery is currently at 12% and is in eco mode for the next 4 and a quarter hours.
2026-08-15 07:15:05.611071: - For the next 48 hours there will be no solar generation.
2026-08-15 07:15:05.611261: - You will run out of battery in 1 and a quarter hours.
2026-08-15 07:15:05.611429: - Your next charge slot will be in 4 and a quarter hours where import rates will be cheap (15.5p).
2026-08-15 07:15:05.611596: 
2026-08-15 07:15:05.686579: Plan calculation took 1.95 seconds
2026-08-15 07:15:05.691380: No high rate period found
2026-08-15 07:15:05.830430: Import threshold used for optimisation was 22.73p
2026-08-15 07:15:05.976832: Low import rate windows [0: 08-15 07:00:00 - 08-15 07:30:00 @ 22.73, 1: 08-15 07:30:00 - 08-15 08:00:00 @ 26.7, 2: 08-15 08:00:00 - 08-15 08:30:00 @ 22.92, 3: 08-15 08:30:00 - 08-15 09:00:00 @ 22.48, 4: 08-15 09:00:00 - 08-15 09:30:00 @ 23.55, 5: 08-15 09:30:00 - 08-15 10:00:00 @ 23.64, 6: 08-15 10:00:00 - 08-15 10:30:00 @ 19.66, 7: 08-15 10:30:00 - 08-15 11:00:00 @ 17.66, 8: 08-15 11:00:00 - 08-15 11:30:00 @ 16.56, 9: 08-15 11:30:00 - 08-15 12:00:00 @ 15.46, 10: 08-15 12:00:00 - 08-15 12:30:00 @ 17.0, 11: 08-15 12:30:00 - 08-15 13:00:00 @ 16.34, 12: 08-15 13:00:00 - 08-15 13:30:00 @ 15.36, 13: 08-15 13:30:00 - 08-15 14:00:00 @ 15.74, 14: 08-15 14:00:00 - 08-15 14:30:00 @ 14.57, 15: 08-15 14:30:00 - 08-15 15:00:00 @ 13.77, 16: 08-15 15:00:00 - 08-15 15:30:00 @ 15.02, 17: 08-15 15:30:00 - 08-15 16:00:00 @ 15.87, 18: 08-15 16:00:00 - 08-15 16:30:00 @ 33.13, 19: 08-15 16:30:00 - 08-15 17:00:00 @ 33.13, 20: 08-15 17:00:00 - 08-15 17:30:00 @ 38.46, 21: 08-15 17:30:00 - 08-15 18:00:00 @ 40.44, 22: 08-15 18:00:00 - 08-15 18:30:00 @ 41.55, 23: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 24: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 25: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 26: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 27: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 28: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 29: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 30: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 31: 08-15 23:00:00 - 08-15 23:30:00 @ 27.8, 32: 08-15 23:30:00 - 08-16 00:00:00 @ 29.09, 33: 08-16 00:00:00 - 08-16 00:30:00 @ 28.47, 34: 08-16 00:30:00 - 08-16 01:00:00 @ 27.18, 35: 08-16 01:00:00 - 08-16 01:30:00 @ 27.57, 36: 08-16 01:30:00 - 08-16 02:00:00 @ 26.5, 37: 08-16 02:00:00 - 08-16 02:30:00 @ 25.6, 38: 08-16 02:30:00 - 08-16 03:00:00 @ 24.79, 39: 08-16 03:00:00 - 08-16 03:30:00 @ 25.08, 40: 08-16 03:30:00 - 08-16 04:00:00 @ 24.62, 41: 08-16 04:00:00 - 08-16 04:30:00 @ 27.02, 42: 08-16 04:30:00 - 08-16 05:00:00 @ 26.47, 43: 08-16 05:00:00 - 08-16 05:30:00 @ 26.25, 44: 08-16 05:30:00 - 08-16 06:00:00 @ 26.4, 45: 08-16 06:00:00 - 08-16 06:30:00 @ 25.7, 46: 08-16 06:30:00 - 08-16 07:00:00 @ 27.63, 47: 08-16 07:00:00 - 08-16 07:30:00 @ 22.73, 48: 08-16 07:30:00 - 08-16 08:00:00 @ 26.7, 49: 08-16 08:00:00 - 08-16 08:30:00 @ 22.92, 50: 08-16 08:30:00 - 08-16 09:00:00 @ 22.48, 51: 08-16 09:00:00 - 08-16 09:30:00 @ 23.55, 52: 08-16 09:30:00 - 08-16 10:00:00 @ 23.64, 53: 08-16 10:00:00 - 08-16 10:30:00 @ 19.66, 54: 08-16 10:30:00 - 08-16 11:00:00 @ 17.66, 55: 08-16 11:00:00 - 08-16 11:30:00 @ 16.56, 56: 08-16 11:30:00 - 08-16 12:00:00 @ 15.46, 57: 08-16 12:00:00 - 08-16 12:30:00 @ 17.0, 58: 08-16 12:30:00 - 08-16 13:00:00 @ 16.34, 59: 08-16 13:00:00 - 08-16 13:30:00 @ 15.36, 60: 08-16 13:30:00 - 08-16 14:00:00 @ 15.74, 61: 08-16 14:00:00 - 08-16 14:30:00 @ 14.57, 62: 08-16 14:30:00 - 08-16 15:00:00 @ 13.77, 63: 08-16 15:00:00 - 08-16 15:30:00 @ 15.02, 64: 08-16 15:30:00 - 08-16 16:00:00 @ 15.87, 65: 08-16 16:00:00 - 08-16 16:30:00 @ 33.13, 66: 08-16 16:30:00 - 08-16 17:00:00 @ 33.13, 67: 08-16 17:00:00 - 08-16 17:30:00 @ 38.46, 68: 08-16 17:30:00 - 08-16 18:00:00 @ 40.44, 69: 08-16 18:00:00 - 08-16 18:30:00 @ 41.55, 70: 08-16 19:00:00 - 08-16 19:30:00 @ 32.58, 71: 08-16 19:30:00 - 08-16 20:00:00 @ 32.9, 72: 08-16 20:00:00 - 08-16 20:30:00 @ 31.99, 73: 08-16 20:30:00 - 08-16 21:00:00 @ 32.1, 74: 08-16 21:00:00 - 08-16 21:30:00 @ 31.71, 75: 08-16 21:30:00 - 08-16 22:00:00 @ 31.67, 76: 08-16 22:00:00 - 08-16 22:30:00 @ 31.77, 77: 08-16 22:30:00 - 08-16 23:00:00 @ 29.81, 78: 08-16 23:00:00 - 08-16 23:30:00 @ 27.8, 79: 08-16 23:30:00 - 08-17 00:00:00 @ 29.09, 80: 08-17 00:00:00 - 08-17 00:30:00 @ 28.47, 81: 08-17 00:30:00 - 08-17 01:00:00 @ 27.18, 82: 08-17 01:00:00 - 08-17 01:30:00 @ 27.57, 83: 08-17 01:30:00 - 08-17 02:00:00 @ 26.5, 84: 08-17 02:00:00 - 08-17 02:30:00 @ 25.6, 85: 08-17 02:30:00 - 08-17 03:00:00 @ 24.79, 86: 08-17 03:00:00 - 08-17 03:30:00 @ 25.08, 87: 08-17 03:30:00 - 08-17 04:00:00 @ 24.62, 88: 08-17 04:00:00 - 08-17 04:30:00 @ 27.02, 89: 08-17 04:30:00 - 08-17 05:00:00 @ 26.47, 90: 08-17 05:00:00 - 08-17 05:30:00 @ 26.25, 91: 08-17 05:30:00 - 08-17 06:00:00 @ 26.4, 92: 08-17 06:00:00 - 08-17 06:30:00 @ 25.7, 93: 08-17 06:30:00 - 08-17 07:00:00 @ 27.63, 94: 08-17 07:00:00 - 08-17 07:30:00 @ 22.73]
2026-08-15 07:15:06.002032: Inverter 0 Charge window will be: 2026-08-15 11:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 12%, target 100%
2026-08-15 07:15:06.002410: Inverter 0 disabled charge window while waiting for schedule (now 08-15 07:15:00 target set_window_minutes 30 charge start time 08-15 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 07:15:06.002588: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 07:15:06.002892: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 07:15:06.003043: No export window planned
2026-08-15 07:15:06.003260: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 07:15:06.003359: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 07:15:06.003615: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 07:15:06.003868: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 07:15:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 07:15:06.003980: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 07:15:06.004098: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 07:15:06.004274: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 07:15:06.004382: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 07:15:06.004476: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 07:15:06.004565: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 07:15:06.004654: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 07:15:06.004741: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 07:15:06.004828: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 07:15:06.004993: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 07:15:06.005102: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 07:15:06.005210: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 07:15:06.005312: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 07:15:06.005401: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 07:15:06.005518: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 07:15:06.005607: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 07:15:06.005686: Inverter 0 count register writes 0
2026-08-15 07:15:06.054137: Will not recompute the plan, it is 5.0 minutes old and max age is 10 minutes
2026-08-15 07:15:06.068011: Total inverter register writes now 815
2026-08-15 07:15:06.133659: Info: Completed run status Demand
2026-08-15 07:15:06.146253: Info: record_status Demand
2026-08-15 07:15:06.158151: Saved current settings to /config/predbat_config.json
2026-08-15 07:15:06.158389: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 07:15:18.851788: ML Predictor: Epoch 22/30: lr=0.00026 huber_loss=0.0054 val_mae=0.0017 kWh val_bias=+0.0000 kWh (+0.0%) combined=0.0009 kWh ema_combined=0.0011 kWh
2026-08-15 07:15:36.839882: ML Predictor: Epoch 23/30: lr=0.00022 huber_loss=0.0055 val_mae=0.0017 kWh val_bias=+0.0002 kWh (+0.4%) combined=0.0012 kWh ema_combined=0.0011 kWh
2026-08-15 07:15:42.303654: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 07:15:42.304099: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 07:15:42.304253: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 07:15:42.304564: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 07:15:42.304702: Note: Inverter does not support discharge freeze - disabled
2026-08-15 07:15:42.304847: Note: Inverter does not support charge freeze - disabled
2026-08-15 07:15:42.304990: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 07:15:56.848865: ML Predictor: Epoch 24/30: lr=0.00019 huber_loss=0.0053 val_mae=0.0016 kWh val_bias=-0.0001 kWh (-0.1%) combined=0.0008 kWh ema_combined=0.0010 kWh
2026-08-15 07:16:17.812096: ML Predictor: Epoch 25/30: lr=0.00016 huber_loss=0.0056 val_mae=0.0015 kWh val_bias=-0.0005 kWh (-0.9%) combined=0.0012 kWh ema_combined=0.0011 kWh
2026-08-15 07:16:36.572270: ML Predictor: Epoch 26/30: lr=0.00014 huber_loss=0.0052 val_mae=0.0016 kWh val_bias=-0.0005 kWh (-0.9%) combined=0.0011 kWh ema_combined=0.0011 kWh
2026-08-15 07:16:56.166386: ML Predictor: Epoch 27/30: lr=0.00012 huber_loss=0.0053 val_mae=0.0015 kWh val_bias=-0.0002 kWh (-0.4%) combined=0.0008 kWh ema_combined=0.0010 kWh
2026-08-15 07:17:15.696812: ML Predictor: Epoch 28/30: lr=0.00011 huber_loss=0.0052 val_mae=0.0015 kWh val_bias=+0.0002 kWh (+0.4%) combined=0.0010 kWh ema_combined=0.0010 kWh
2026-08-15 07:17:35.287989: ML Predictor: Epoch 29/30: lr=0.00010 huber_loss=0.0049 val_mae=0.0015 kWh val_bias=-0.0000 kWh (-0.0%) combined=0.0009 kWh ema_combined=0.0010 kWh
2026-08-15 07:17:56.796380: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 07:17:56.796759: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 07:17:56.796925: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 07:17:56.797241: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 07:17:56.797303: Note: Inverter does not support discharge freeze - disabled
2026-08-15 07:17:56.797392: Note: Inverter does not support charge freeze - disabled
2026-08-15 07:17:56.797530: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 07:17:59.020118: ML Predictor: Epoch 30/30: lr=0.00010 huber_loss=0.0049 val_mae=0.0015 kWh val_bias=-0.0001 kWh (-0.1%) combined=0.0008 kWh ema_combined=0.0009 kWh
2026-08-15 07:17:59.027536: ML Predictor: Restored best weights from epoch with val_mae=0.0015 kWh val_bias=-0.0001 kWh (-0.1%)
2026-08-15 07:17:59.027749: ML Predictor: Training complete, final val_mae=0.0015 kWh val_bias=-0.0001 kWh (-0.1%)
2026-08-15 07:18:00.616364: ML Predictor: AR rollout over holdout: ar_mae=0.0016 kWh ar_bias=-0.0000 kWh (-0.1%) [drift vs teacher-forced: +0.0001 kWh]
2026-08-15 07:18:00.621782: ML Predictor: Curriculum pass 2/5 complete, val_mae=0.0015 kWh
2026-08-15 07:18:00.731085: ML Predictor: Curriculum pass 3/5: window=55.0 days (1320 hours of data)
2026-08-15 07:18:00.731502: ML Predictor: Starting fine-tune training with 30 epochs
2026-08-15 07:18:01.386375: ML Predictor: Creating dataset with 1320 hours of training data, 48 hours validation
2026-08-15 07:18:06.783145: ML Predictor: Created 15552 training samples, 576 validation samples
2026-08-15 07:18:06.842488: ML Predictor: Normalization stats [ema-update alpha=0.1] target(mean=0.0587 std=0.0472) load(mean=0.0589 std=0.0472) pv(mean=0.0000 std=0.0100) temp(mean=19.4979 std=4.4109) import_rate(mean=25.5034 std=2.4753) export_rate(mean=0.0000 std=1.0000) time(mean=-0.1903 std=0.5235)
2026-08-15 07:18:06.932026: ML Predictor: Applied EMA normalization update (alpha=0.1) to track feature drift
2026-08-15 07:18:06.946724: ML Predictor: Reset Adam optimiser state for fine-tuning
2026-08-15 07:18:06.996197: ML Predictor: Baseline (pre-finetune) val_mae=0.0055 kWh val_bias=-0.0023 kWh
2026-08-15 07:18:25.854504: ML Predictor: Epoch 1/30: lr=0.00100 huber_loss=0.0100 val_mae=0.0050 kWh val_bias=+0.0010 kWh (+1.4%) combined=0.0032 kWh ema_combined=0.0032 kWh
2026-08-15 07:18:43.747518: ML Predictor: Epoch 2/30: lr=0.00100 huber_loss=0.0103 val_mae=0.0037 kWh val_bias=+0.0001 kWh (+0.1%) combined=0.0021 kWh ema_combined=0.0029 kWh
2026-08-15 07:19:01.513576: ML Predictor: Epoch 3/30: lr=0.00099 huber_loss=0.0108 val_mae=0.0043 kWh val_bias=-0.0006 kWh (-0.9%) combined=0.0026 kWh ema_combined=0.0028 kWh
2026-08-15 07:19:21.921136: ML Predictor: Epoch 4/30: lr=0.00098 huber_loss=0.0107 val_mae=0.0050 kWh val_bias=-0.0014 kWh (-2.0%) combined=0.0038 kWh ema_combined=0.0031 kWh
2026-08-15 07:19:41.721033: ML Predictor: Epoch 5/30: lr=0.00096 huber_loss=0.0120 val_mae=0.0041 kWh val_bias=-0.0001 kWh (-0.2%) combined=0.0022 kWh ema_combined=0.0028 kWh
2026-08-15 07:20:00.488465: --------------- PredBat - update at 2026-08-15 07:20:00+01:00 with clock skew 0 minutes, minutes now 440
2026-08-15 07:20:00.489524: Saved current settings to /config/predbat_config.json
2026-08-15 07:20:00.489695: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 70.0 minutes
2026-08-15 07:20:00.489959: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.1, latest beta is v8.48.1
2026-08-15 07:20:00.490162: Autoupdate: Currently up to date
2026-08-15 07:20:00.565102: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 07:20:00.565283: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 07:20:00.565521: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 07:20:00.566179: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 07:20:00.566347: Predbat mode is set to Control charge & discharge
2026-08-15 07:20:00.967835: Found 21602 load_today datapoints going back 28 days
2026-08-15 07:20:00.968396: Using load_power data to fill gaps in load_today data
2026-08-15 07:20:02.244652: Processing 721 30-minute periods for power integration
2026-08-15 07:20:02.480554: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 07:20:02.493013: Car charging hold False, threshold 6.0kWh
2026-08-15 07:20:02.493142: Current data so far today: load 5.62kWh, import 6.8kWh, export 0.0kWh, PV 0kWh
2026-08-15 07:20:02.530547: Cars: SoC: [12.892000000000001]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 07:20:02.531055: Standing charge is set to 49.98p
2026-08-15 07:20:02.652018: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 07:20:02.652336: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 07:20:02.652724: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 440.0 minutes
2026-08-15 07:20:02.653464: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 439.7 minutes
2026-08-15 07:20:02.657765: Loaded 47 datapoints of futurerate analysis
2026-08-15 07:20:02.760109: Predicted future rates: ['08-15 00:00:00 => 28.9 / 20.01', '08-15 01:00:00 => 27.54 / 19.31', '08-15 02:00:00 => 26.52 / 18.8', '08-15 03:00:00 => 25.99 / 18.53', '08-15 04:00:00 => 25.8 / 18.43', '08-15 05:00:00 => 25.96 / 18.51', '08-15 06:00:00 => 25.55 / 18.3', '08-15 07:00:00 => 24.33 / 17.68', '08-15 08:00:00 => 23.03 / 17.01', '08-15 09:00:00 => 22.05 / 16.51', '08-15 10:00:00 => 20.43 / 15.68', '08-15 11:00:00 => 18.01 / 14.45', '08-15 12:00:00 => 16.37 / 13.61', '08-15 13:00:00 => 15.76 / 13.3', '08-15 14:00:00 => 15.35 / 13.09', '08-15 15:00:00 => 15.86 / 13.35', '08-15 16:00:00 => 32.89 / 16.13', '08-15 17:00:00 => 38.02 / 18.75', '08-15 18:00:00 => 42.36 / 20.96', '08-15 19:00:00 => 31.09 / 21.13', '08-15 20:00:00 => 31.64 / 21.41', '08-15 21:00:00 => 31.64 / 21.41', '08-15 22:00:00 => 30.58 / 20.87']
2026-08-15 07:20:02.824336: Rate min forward looking: now 13.77p at end of forecast 13.77p
2026-08-15 07:20:02.824986: Import rates: min 13.77p, max 43.82p, average 25.96p
2026-08-15 07:20:02.863836: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 07:20:02.863997: Rate thresholds (for charge/export) are import 43.32p (0.0p), export -0.1p (0.0p)
2026-08-15 07:20:02.865868: High export rate found rates in range 99p to -99p
2026-08-15 07:20:03.019882: Low Import rate found rates in range 13.77p to 41.55p
2026-08-15 07:20:03.020755: Car 0 charging is not planned as it is not plugged in
2026-08-15 07:20:03.053430: Battery level now 1.92kWh, -1hr ago 1.53kWh, at midnight 1.66kWh, battery value change in the last hour 4.64p, change today 3.12p, rate_forward 11.83p
2026-08-15 07:20:03.054130: Last hour: net energy 0.25kWh, import 0.25kWh, export 0.0kWh, car 0kWh, load 0.38kWh, net cost 6.73p, import 6.73p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 07:20:03.172564: Today's energy total net 6.8kWh, import 6.8kWh, export 0.0kWh, cost 231.27p, import 181.28p, export 0.0p, carbon 0.0kg
2026-08-15 07:20:03.172876: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 07:20:03.279310: Using weighted-bucket historical load forecast over 14 days
2026-08-15 07:20:03.315854: Today's load divergence 107.39%, in-day adjustment 132.54%, damping 0.95x, yesterday 143.77% today 107.02% blend 69.44%
2026-08-15 07:20:03.316222: Today's predicted so far 4.39kWh with 0.0kWh car/iBoost excluded, 2.73kWh import ignored, and 4.39kWh forecast extra.
2026-08-15 07:20:03.316787: Today's actual load so far 5.63kWh with 0.0kWh car/iBoost excluded, and 2.73kWh import ignored.
2026-08-15 07:20:03.422804: Inverter 0: Type SK Sunsynk
2026-08-15 07:20:03.423112: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 07:20:03.423399: Reserve min: 7%, battery_min: 7%
2026-08-15 07:20:03.423540: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 07:20:03.423905: Inverter 0 SoC: 1.78kW 11%, current charge rate 5000W, current discharge rate 5250W, current battery power 222W, current battery voltage 51.2V, grid power -55W, load power 285W, PV Power 0W
2026-08-15 07:20:03.424288: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 07:20:03.424454: Inverter 0 scheduled charge enable is False
2026-08-15 07:20:03.424517: Inverter 0 charge windows currently []
2026-08-15 07:20:03.424623: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 07:20:03.424813: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 07:20:03.424862: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 07:20:03.424975: Inverter 0 scheduled discharge enable is False
2026-08-15 07:20:03.425211: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 07:20:03.425336: Inverter 0 discharge windows currently []
2026-08-15 07:20:03.425376: Note: Inverter does not support discharge freeze - disabled
2026-08-15 07:20:03.425397: Note: Inverter does not support charge freeze - disabled
2026-08-15 07:20:03.425472: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 07:20:03.538475: Dynamic load last period 0.30kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 07:20:03.538729: Plan was last updated on 2026-08-15 07:10:00+01:00 and is now 10.0 minutes old
2026-08-15 07:20:03.539078: Best charge window [ 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 00:30:00 @ 28.84p 100% ]
2026-08-15 07:20:03.539131: Best export window [  ]
2026-08-15 07:20:03.540062: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 07:20:03.543413: Load divergence over 8.0 hours mean 641.89W, min 278.4W, max 1692.6W, std dev 331.73W, divergence 25.84%
2026-08-15 07:20:03.562250: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 07:20:03.562512: LoadML is_calculating True
2026-08-15 07:20:03.562639: Not using thread pool as LoadML is calculating to avoid lockups
2026-08-15 07:20:03.602811: predict base end_record 08-16 11:40:00, final soc 1.12kWh, metric 817.02p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 08:25:00, load 27.57kWh, PV 0.0kWh
2026-08-15 07:20:03.830236: Battery has 1.08 hours left - now at 1.78kWh
2026-08-15 07:20:03.906821: predict base10 end_record 08-16 11:40:00, final soc 1.12kWh, metric 843.22p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 08:20:00, load 28.62kWh, PV 0.0kWh
2026-08-15 07:20:04.115307: predict best10 end_record 08-16 11:40:00, final soc 1.77kWh, metric 683.46p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 08:20:00, load 28.62kWh, PV 0.0kWh
2026-08-15 07:20:04.234885: predict best end_record 08-16 11:40:00, final soc 1.9kWh, metric 662.23p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 08:25:00, load 27.57kWh, PV 0.0kWh
2026-08-15 07:20:04.235050: Saving plan best values to HA entities
2026-08-15 07:20:04.590951: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 07:20:04.597448: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0.0
2026-08-15 07:20:04.604645: Best charging limit SoC's [16.0, 3.5, 4.0, 16.0, 16.0, 16.0]kWh, export []kWh gives import battery 21.36kWh, house 2.93kWh, export 0.0kWh, metric 662.23p, metric10 683.46p
2026-08-15 07:20:04.703922: Marginal costs baseline metric (no standing charge): 612.248
2026-08-15 07:20:05.168362: Marginal energy costs matrix computed: min=15.29 max=32.28
2026-08-15 07:20:05.305808: Rate array import [{'start': 440, 'end': 450, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 450, 'end': 480, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 480, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 23.6p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1860, 'rate': 'expensive', 'range': '(24.6p - 32.9p)'}, {'start': 1860, 'end': 1890, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 1890, 'end': 1920, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 1920, 'end': 2140, 'rate': 'cheap', 'range': '(15.5p - 23.6p)'}] export [{'start': 440, 'end': 2140, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 07:20:05.317845: - Your estimated bill for today is £5.88 and tomorrow is £5.42
2026-08-15 07:20:05.317922: - Import rates are cheap (22.7p) for the next 10 minutes and then expensive (26.7p) for the next 30 minutes.
2026-08-15 07:20:05.317946: - The battery is currently at 11% and is in eco mode for the next 4 and a quarter hours.
2026-08-15 07:20:05.317965: - For the next 48 hours there will be no solar generation.
2026-08-15 07:20:05.318029: - You will run out of battery in 1 hour.
2026-08-15 07:20:05.318159: - Your next charge slot will be in 4 and a quarter hours where import rates will be cheap (15.5p).
2026-08-15 07:20:05.318283: 
2026-08-15 07:20:05.377520: Plan calculation took 1.84 seconds
2026-08-15 07:20:05.380916: No high rate period found
2026-08-15 07:20:05.474134: Import threshold used for optimisation was 22.73p
2026-08-15 07:20:05.553579: ML Predictor: Epoch 6/30: lr=0.00094 huber_loss=0.0105 val_mae=0.0037 kWh val_bias=-0.0001 kWh (-0.1%) combined=0.0022 kWh ema_combined=0.0026 kWh
2026-08-15 07:20:05.593100: Low import rate windows [0: 08-15 07:00:00 - 08-15 07:30:00 @ 22.73, 1: 08-15 07:30:00 - 08-15 08:00:00 @ 26.7, 2: 08-15 08:00:00 - 08-15 08:30:00 @ 22.92, 3: 08-15 08:30:00 - 08-15 09:00:00 @ 22.48, 4: 08-15 09:00:00 - 08-15 09:30:00 @ 23.55, 5: 08-15 09:30:00 - 08-15 10:00:00 @ 23.64, 6: 08-15 10:00:00 - 08-15 10:30:00 @ 19.66, 7: 08-15 10:30:00 - 08-15 11:00:00 @ 17.66, 8: 08-15 11:00:00 - 08-15 11:30:00 @ 16.56, 9: 08-15 11:30:00 - 08-15 12:00:00 @ 15.46, 10: 08-15 12:00:00 - 08-15 12:30:00 @ 17.0, 11: 08-15 12:30:00 - 08-15 13:00:00 @ 16.34, 12: 08-15 13:00:00 - 08-15 13:30:00 @ 15.36, 13: 08-15 13:30:00 - 08-15 14:00:00 @ 15.74, 14: 08-15 14:00:00 - 08-15 14:30:00 @ 14.57, 15: 08-15 14:30:00 - 08-15 15:00:00 @ 13.77, 16: 08-15 15:00:00 - 08-15 15:30:00 @ 15.02, 17: 08-15 15:30:00 - 08-15 16:00:00 @ 15.87, 18: 08-15 16:00:00 - 08-15 16:30:00 @ 33.13, 19: 08-15 16:30:00 - 08-15 17:00:00 @ 33.13, 20: 08-15 17:00:00 - 08-15 17:30:00 @ 38.46, 21: 08-15 17:30:00 - 08-15 18:00:00 @ 40.44, 22: 08-15 18:00:00 - 08-15 18:30:00 @ 41.55, 23: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 24: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 25: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 26: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 27: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 28: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 29: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 30: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 31: 08-15 23:00:00 - 08-15 23:30:00 @ 27.8, 32: 08-15 23:30:00 - 08-16 00:00:00 @ 29.09, 33: 08-16 00:00:00 - 08-16 00:30:00 @ 28.47, 34: 08-16 00:30:00 - 08-16 01:00:00 @ 27.18, 35: 08-16 01:00:00 - 08-16 01:30:00 @ 27.57, 36: 08-16 01:30:00 - 08-16 02:00:00 @ 26.5, 37: 08-16 02:00:00 - 08-16 02:30:00 @ 25.6, 38: 08-16 02:30:00 - 08-16 03:00:00 @ 24.79, 39: 08-16 03:00:00 - 08-16 03:30:00 @ 25.08, 40: 08-16 03:30:00 - 08-16 04:00:00 @ 24.62, 41: 08-16 04:00:00 - 08-16 04:30:00 @ 27.02, 42: 08-16 04:30:00 - 08-16 05:00:00 @ 26.47, 43: 08-16 05:00:00 - 08-16 05:30:00 @ 26.25, 44: 08-16 05:30:00 - 08-16 06:00:00 @ 26.4, 45: 08-16 06:00:00 - 08-16 06:30:00 @ 25.7, 46: 08-16 06:30:00 - 08-16 07:00:00 @ 27.63, 47: 08-16 07:00:00 - 08-16 07:30:00 @ 22.73, 48: 08-16 07:30:00 - 08-16 08:00:00 @ 26.7, 49: 08-16 08:00:00 - 08-16 08:30:00 @ 22.92, 50: 08-16 08:30:00 - 08-16 09:00:00 @ 22.48, 51: 08-16 09:00:00 - 08-16 09:30:00 @ 23.55, 52: 08-16 09:30:00 - 08-16 10:00:00 @ 23.64, 53: 08-16 10:00:00 - 08-16 10:30:00 @ 19.66, 54: 08-16 10:30:00 - 08-16 11:00:00 @ 17.66, 55: 08-16 11:00:00 - 08-16 11:30:00 @ 16.56, 56: 08-16 11:30:00 - 08-16 12:00:00 @ 15.46, 57: 08-16 12:00:00 - 08-16 12:30:00 @ 17.0, 58: 08-16 12:30:00 - 08-16 13:00:00 @ 16.34, 59: 08-16 13:00:00 - 08-16 13:30:00 @ 15.36, 60: 08-16 13:30:00 - 08-16 14:00:00 @ 15.74, 61: 08-16 14:00:00 - 08-16 14:30:00 @ 14.57, 62: 08-16 14:30:00 - 08-16 15:00:00 @ 13.77, 63: 08-16 15:00:00 - 08-16 15:30:00 @ 15.02, 64: 08-16 15:30:00 - 08-16 16:00:00 @ 15.87, 65: 08-16 16:00:00 - 08-16 16:30:00 @ 33.13, 66: 08-16 16:30:00 - 08-16 17:00:00 @ 33.13, 67: 08-16 17:00:00 - 08-16 17:30:00 @ 38.46, 68: 08-16 17:30:00 - 08-16 18:00:00 @ 40.44, 69: 08-16 18:00:00 - 08-16 18:30:00 @ 41.55, 70: 08-16 19:00:00 - 08-16 19:30:00 @ 32.58, 71: 08-16 19:30:00 - 08-16 20:00:00 @ 32.9, 72: 08-16 20:00:00 - 08-16 20:30:00 @ 31.99, 73: 08-16 20:30:00 - 08-16 21:00:00 @ 32.1, 74: 08-16 21:00:00 - 08-16 21:30:00 @ 31.71, 75: 08-16 21:30:00 - 08-16 22:00:00 @ 31.67, 76: 08-16 22:00:00 - 08-16 22:30:00 @ 31.77, 77: 08-16 22:30:00 - 08-16 23:00:00 @ 29.81, 78: 08-16 23:00:00 - 08-16 23:30:00 @ 27.8, 79: 08-16 23:30:00 - 08-17 00:00:00 @ 29.09, 80: 08-17 00:00:00 - 08-17 00:30:00 @ 28.47, 81: 08-17 00:30:00 - 08-17 01:00:00 @ 27.18, 82: 08-17 01:00:00 - 08-17 01:30:00 @ 27.57, 83: 08-17 01:30:00 - 08-17 02:00:00 @ 26.5, 84: 08-17 02:00:00 - 08-17 02:30:00 @ 25.6, 85: 08-17 02:30:00 - 08-17 03:00:00 @ 24.79, 86: 08-17 03:00:00 - 08-17 03:30:00 @ 25.08, 87: 08-17 03:30:00 - 08-17 04:00:00 @ 24.62, 88: 08-17 04:00:00 - 08-17 04:30:00 @ 27.02, 89: 08-17 04:30:00 - 08-17 05:00:00 @ 26.47, 90: 08-17 05:00:00 - 08-17 05:30:00 @ 26.25, 91: 08-17 05:30:00 - 08-17 06:00:00 @ 26.4, 92: 08-17 06:00:00 - 08-17 06:30:00 @ 25.7, 93: 08-17 06:30:00 - 08-17 07:00:00 @ 27.63, 94: 08-17 07:00:00 - 08-17 07:30:00 @ 22.73]
2026-08-15 07:20:05.614498: Inverter 0 Charge window will be: 2026-08-15 11:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 11%, target 100%
2026-08-15 07:20:05.614961: Inverter 0 disabled charge window while waiting for schedule (now 08-15 07:20:00 target set_window_minutes 30 charge start time 08-15 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 07:20:05.615177: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 07:20:05.615552: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 07:20:05.615756: No export window planned
2026-08-15 07:20:05.616000: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 07:20:05.616144: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 07:20:05.616439: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 07:20:05.616811: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 07:20:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 07:20:05.617009: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 07:20:05.617190: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 07:20:05.617399: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 07:20:05.617575: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 07:20:05.617724: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 07:20:05.617867: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 07:20:05.618007: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 07:20:05.618150: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 07:20:05.618328: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 07:20:05.618537: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 07:20:05.618692: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 07:20:05.618835: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 07:20:05.618978: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 07:20:05.619118: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 07:20:05.619257: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 07:20:05.619397: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 07:20:05.619544: Inverter 0 count register writes 0
2026-08-15 07:20:05.672287: Will recompute the plan as it is now 10.0 minutes old and will exceed the max age of 10 minutes before the next run
2026-08-15 07:20:05.672511: Recompute is saving previous plan...
2026-08-15 07:20:05.675984: Best charge window [ 15-08 07:00:00 - 15-08 07:30:00 @ 22.73p 0%, 15-08 07:30:00 - 15-08 08:00:00 @ 26.7p 0%, 15-08 08:00:00 - 15-08 08:30:00 @ 22.92p 0%, 15-08 08:30:00 - 15-08 09:00:00 @ 22.48p 0%, 15-08 09:00:00 - 15-08 09:30:00 @ 23.55p 0%, 15-08 09:30:00 - 15-08 10:00:00 @ 23.64p 0%, 15-08 10:00:00 - 15-08 10:30:00 @ 19.66p 0%, 15-08 10:30:00 - 15-08 11:00:00 @ 17.66p 0%, 15-08 11:00:00 - 15-08 11:30:00 @ 16.56p 0%, 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 0%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 0%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 0%, 15-08 13:00:00 - 15-08 13:30:00 @ 15.36p 0%, 15-08 13:30:00 - 15-08 14:00:00 @ 15.74p 0%, 15-08 14:00:00 - 15-08 14:30:00 @ 14.57p 0%, 15-08 14:30:00 - 15-08 15:00:00 @ 13.77p 0%, 15-08 15:00:00 - 15-08 15:30:00 @ 15.02p 0%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 0%, 15-08 16:00:00 - 15-08 16:30:00 @ 33.13p 0%, 15-08 16:30:00 - 15-08 17:00:00 @ 33.13p 0%, 15-08 17:00:00 - 15-08 17:30:00 @ 38.46p 0%, 15-08 17:30:00 - 15-08 18:00:00 @ 40.44p 0%, 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 0%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 0%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 0%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 0%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 0%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 27.8p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 29.09p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.47p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.18p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 27.57p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.5p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.6p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 24.79p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 25.08p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 24.62p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 27.02p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.47p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 26.25p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.4p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.7p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 27.63p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 22.73p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 26.7p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 22.92p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 22.48p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 23.55p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 23.64p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 19.66p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 17.66p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 16.56p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 15.46p 0%, 16-08 12:00:00 - 16-08 12:30:00 @ 17.0p 0%, 16-08 12:30:00 - 16-08 13:00:00 @ 16.34p 0%, 16-08 13:00:00 - 16-08 13:30:00 @ 15.36p 0%, 16-08 13:30:00 - 16-08 14:00:00 @ 15.74p 0%, 16-08 14:00:00 - 16-08 14:30:00 @ 14.57p 0%, 16-08 14:30:00 - 16-08 15:00:00 @ 13.77p 0%, 16-08 15:00:00 - 16-08 15:30:00 @ 15.02p 0%, 16-08 15:30:00 - 16-08 16:00:00 @ 15.87p 0%, 16-08 16:00:00 - 16-08 16:30:00 @ 33.13p 0%, 16-08 16:30:00 - 16-08 17:00:00 @ 33.13p 0%, 16-08 17:00:00 - 16-08 17:30:00 @ 38.46p 0%, 16-08 17:30:00 - 16-08 18:00:00 @ 40.44p 0%, 16-08 18:00:00 - 16-08 18:30:00 @ 41.55p 0%, 16-08 19:00:00 - 16-08 19:30:00 @ 32.58p 0%, 16-08 19:30:00 - 16-08 20:00:00 @ 32.9p 0%, 16-08 20:00:00 - 16-08 20:30:00 @ 31.99p 0%, 16-08 20:30:00 - 16-08 21:00:00 @ 32.1p 0%, 16-08 21:00:00 - 16-08 21:30:00 @ 31.71p 0%, 16-08 21:30:00 - 16-08 22:00:00 @ 31.67p 0%, 16-08 22:00:00 - 16-08 22:30:00 @ 31.77p 0%, 16-08 22:30:00 - 16-08 23:00:00 @ 29.81p 0%, 16-08 23:00:00 - 16-08 23:30:00 @ 27.8p 0%, 16-08 23:30:00 - 17-08 00:00:00 @ 29.09p 0%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.47p 0%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.18p 0%, 17-08 01:00:00 - 17-08 01:30:00 @ 27.57p 0%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.5p 0%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.6p 0%, 17-08 02:30:00 - 17-08 03:00:00 @ 24.79p 0%, 17-08 03:00:00 - 17-08 03:30:00 @ 25.08p 0%, 17-08 03:30:00 - 17-08 04:00:00 @ 24.62p 0%, 17-08 04:00:00 - 17-08 04:30:00 @ 27.02p 0%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.47p 0%, 17-08 05:00:00 - 17-08 05:30:00 @ 26.25p 0%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.4p 0%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.7p 0%, 17-08 06:30:00 - 17-08 07:00:00 @ 27.63p 0%, 17-08 07:00:00 - 17-08 07:30:00 @ 22.73p 0% ]
2026-08-15 07:20:05.676172: Best export window [  ]
2026-08-15 07:20:05.677042: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 07:20:05.680220: Load divergence over 8.0 hours mean 641.89W, min 278.4W, max 1692.6W, std dev 331.73W, divergence 25.84%
2026-08-15 07:20:05.703039: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 07:20:05.703349: LoadML is_calculating True
2026-08-15 07:20:05.703503: Not using thread pool as LoadML is calculating to avoid lockups
2026-08-15 07:20:05.717151: Calculate Best options: mode(Control charge & discharge), calculate_export_oncharge(False), calculate_export_on_pv(True), set_export_freeze_only(False), set_discharge_during_charge(True), combine_charge_slots(False), combine_export_slots(False), combine_rate_threshold(0.0), best_soc_min(0.0 kWh), best_soc_max(0.0 kWh), best_soc_keep(0.0 kWh), inverter_loss(4%), battery_loss(3%), battery_loss_discharge (3%), inverter_hybrid(True), metric_min_improvement(0.0p), metric_min_improvement_export(0.1p), metric_min_improvement_export_freeze(0.1p), metric_battery_cycle(0.0p/kWh), metric_battery_value_scaling(1.0 x) 
2026-08-15 07:20:05.718931: Optimise levels pass started at 2026-08-15 07:20:05
2026-08-15 07:20:05.719103: Optimise all windows, total charge 94 export 1
2026-08-15 07:20:13.066985: >> Region optimisation pass width 960 gives best_metric 819.35p, best_cost 825.48p, best_cycle 54.17kWh, best_import 38.43kWh
2026-08-15 07:20:14.297724: >> Region optimisation pass width 480 gives best_metric 819.35p, best_cost 825.48p, best_cycle 54.17kWh, best_import 38.43kWh
2026-08-15 07:20:15.776662: >> Region optimisation pass width 240 gives best_metric 819.35p, best_cost 825.48p, best_cycle 54.17kWh, best_import 38.43kWh
2026-08-15 07:20:19.376290: >> Region optimisation pass width 120 gives best_metric 819.35p, best_cost 825.48p, best_cycle 54.17kWh, best_import 38.43kWh
2026-08-15 07:20:19.376806: Calculated end_record as 08-16 11:30:00 based on best_price 16.34p, next_charge_start 08-15 11:30:00, max_windows 56
2026-08-15 07:20:19.376913: Optimise levels pass ended at 2026-08-15 07:20:19, duration 13.7 seconds tried 337 combinations
2026-08-15 07:20:19.377009: Set best_price_charge_level 17.6p, best_price_export_level 0p, best_price_charge 16.34p, best_cost_export 0p, best_metric 819.35p, best_keep 0kWh, best_cycle 54.17kWh, best_carbon 0kg, best_import 38.43kWh
2026-08-15 07:20:19.402631: Starting detailed optimisation end_record 08-16 11:30:00, best_price_charge 16.34p, best_price_export 0p. lowest_price_charge 13.77p with charge limits [0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0]kWh and export limits []kWh
2026-08-15 07:20:41.773939: Tweak plan optimisation started metric 586.35p, cost 596.04p
2026-08-15 07:20:42.897607: Tweak optimisation finished metric 586.35p, cost 596.04p, metric_keep 0kWh, cycle 29.69kWh, carbon 0kg, import 23.21kWh, changed 8 window(s)
2026-08-15 07:20:42.962696: Swap charge optimisation started metric 586.35p, cost 596.04p, min_improvement_swap 0.1p
2026-08-15 07:20:51.347263: Swap charge optimisation finished metric 586.35p, cost 596.04p
2026-08-15 07:20:51.596937: Pruned 2 dead plan slot(s) in 11 trial(s), nominal metric 582.79p -> 582.79p, plan now metric 586.41p, cost 596.04p, cycle 29.69kWh, import 23.21kWh
2026-08-15 07:20:51.614405: Raw charge windows [ 15-08 07:00:00 - 15-08 07:30:00 @ 22.73p 0%, 15-08 07:30:00 - 15-08 08:00:00 @ 26.7p 0%, 15-08 08:00:00 - 15-08 08:30:00 @ 22.92p 0%, 15-08 08:30:00 - 15-08 09:00:00 @ 22.48p 0%, 15-08 09:00:00 - 15-08 09:30:00 @ 23.55p 0%, 15-08 09:30:00 - 15-08 10:00:00 @ 23.64p 0%, 15-08 10:00:00 - 15-08 10:30:00 @ 19.66p 0%, 15-08 10:30:00 - 15-08 11:00:00 @ 17.66p 0%, 15-08 11:00:00 - 15-08 11:30:00 @ 16.56p 0%, 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 13:30:00 @ 15.36p 100%, 15-08 13:30:00 - 15-08 14:00:00 @ 15.74p 100%, 15-08 14:00:00 - 15-08 14:30:00 @ 14.57p 100%, 15-08 14:30:00 - 15-08 15:00:00 @ 13.77p 100%, 15-08 15:00:00 - 15-08 15:30:00 @ 15.02p 100%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 97%, 15-08 16:00:00 - 15-08 16:30:00 @ 33.13p 0%, 15-08 16:30:00 - 15-08 17:00:00 @ 33.13p 0%, 15-08 17:00:00 - 15-08 17:30:00 @ 38.46p 0%, 15-08 17:30:00 - 15-08 18:00:00 @ 40.44p 0%, 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 0%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 0%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 0%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 0%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 0%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 27.8p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 29.09p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.47p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.18p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 27.57p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.5p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.6p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 24.79p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 25.08p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 24.62p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 27.02p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.47p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 26.25p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.4p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.7p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 27.63p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 22.73p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 26.7p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 22.92p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 22.48p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 23.55p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 23.64p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 19.66p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 17.66p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 16.56p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 15.46p 100%, 16-08 12:00:00 - 16-08 12:30:00 @ 17.0p 100%, 16-08 12:30:00 - 16-08 13:00:00 @ 16.34p 100%, 16-08 13:00:00 - 16-08 13:30:00 @ 15.36p 100%, 16-08 13:30:00 - 16-08 14:00:00 @ 15.74p 100%, 16-08 14:00:00 - 16-08 14:30:00 @ 14.57p 100%, 16-08 14:30:00 - 16-08 15:00:00 @ 13.77p 100%, 16-08 15:00:00 - 16-08 15:30:00 @ 15.02p 100%, 16-08 15:30:00 - 16-08 16:00:00 @ 15.87p 100%, 16-08 16:00:00 - 16-08 16:30:00 @ 33.13p 100%, 16-08 16:30:00 - 16-08 17:00:00 @ 33.13p 100%, 16-08 17:00:00 - 16-08 17:30:00 @ 38.46p 100%, 16-08 17:30:00 - 16-08 18:00:00 @ 40.44p 100%, 16-08 18:00:00 - 16-08 18:30:00 @ 41.55p 100%, 16-08 19:00:00 - 16-08 19:30:00 @ 32.58p 100%, 16-08 19:30:00 - 16-08 20:00:00 @ 32.9p 100%, 16-08 20:00:00 - 16-08 20:30:00 @ 31.99p 100%, 16-08 20:30:00 - 16-08 21:00:00 @ 32.1p 100%, 16-08 21:00:00 - 16-08 21:30:00 @ 31.71p 100%, 16-08 21:30:00 - 16-08 22:00:00 @ 31.67p 100%, 16-08 22:00:00 - 16-08 22:30:00 @ 31.77p 100%, 16-08 22:30:00 - 16-08 23:00:00 @ 29.81p 100%, 16-08 23:00:00 - 16-08 23:30:00 @ 27.8p 100%, 16-08 23:30:00 - 17-08 00:00:00 @ 29.09p 100%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.47p 100%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.18p 100%, 17-08 01:00:00 - 17-08 01:30:00 @ 27.57p 100%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.5p 100%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.6p 100%, 17-08 02:30:00 - 17-08 03:00:00 @ 24.79p 100%, 17-08 03:00:00 - 17-08 03:30:00 @ 25.08p 100%, 17-08 03:30:00 - 17-08 04:00:00 @ 24.62p 100%, 17-08 04:00:00 - 17-08 04:30:00 @ 27.02p 100%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.47p 100%, 17-08 05:00:00 - 17-08 05:30:00 @ 26.25p 100%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.4p 100%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.7p 100%, 17-08 06:30:00 - 17-08 07:00:00 @ 27.63p 100%, 17-08 07:00:00 - 17-08 07:30:00 @ 22.73p 100% ] reserve 1.12
2026-08-15 07:20:51.616259: Unclipped charge windows [ 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 15:30:00 @ 14.71p 100%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 97%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 07:30:00 @ 24.77p 100% ] reserve 1.12
2026-08-15 07:20:51.617185: Unfiltered charge windows [ 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 15:30:00 @ 14.71p 100%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 97%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 07:30:00 @ 24.77p 100% ] reserve 1.12
2026-08-15 07:20:51.618330: Filtered charge windows [ 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 15:30:00 @ 14.71p 100%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 97%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 07:30:00 @ 24.77p 100% ] reserve 1.12
2026-08-15 07:20:51.692757: Previous plan best metric is 586.47 (cost 596.24) and new plan best metric is 586.35 (cost 596.04)
2026-08-15 07:20:51.693098: New plan metric is not significantly better (metric_min_improvement_plan 2.0) than previous plan, using previous plan
2026-08-15 07:20:51.693260: Plan valid is now true after recompute was False
2026-08-15 07:20:51.725930: predict base end_record 08-16 11:30:00, final soc 1.12kWh, metric 813.89p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 08:25:00, load 27.37kWh, PV 0.0kWh
2026-08-15 07:20:51.967769: Battery has 1.08 hours left - now at 1.78kWh
2026-08-15 07:20:52.036062: predict base10 end_record 08-16 11:30:00, final soc 1.12kWh, metric 839.94p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 08:20:00, load 28.41kWh, PV 0.0kWh
2026-08-15 07:20:52.176048: predict best10 end_record 08-16 11:30:00, final soc 1.12kWh, metric 669.44p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 08:20:00, load 28.41kWh, PV 0.0kWh
2026-08-15 07:20:52.338799: predict best end_record 08-16 11:30:00, final soc 1.12kWh, metric 646.22p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 08:25:00, load 27.37kWh, PV 0.0kWh
2026-08-15 07:20:52.339013: Saving plan best values to HA entities
2026-08-15 07:20:52.715196: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 07:20:52.726979: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0.0
2026-08-15 07:20:52.738890: Best charging limit SoC's [16.0, 3.5, 4.0, 16.0, 16.0, 16.0]kWh, export []kWh gives import battery 20.32kWh, house 2.93kWh, export 0.0kWh, metric 646.22p, metric10 669.44p
2026-08-15 07:20:52.949111: Marginal costs baseline metric (no standing charge): 596.2366
2026-08-15 07:20:53.601058: Marginal energy costs matrix computed: min=15.29 max=32.28
2026-08-15 07:20:53.770248: Rate array import [{'start': 440, 'end': 450, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 450, 'end': 480, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 480, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 23.6p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1860, 'rate': 'expensive', 'range': '(24.6p - 32.9p)'}, {'start': 1860, 'end': 1890, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 1890, 'end': 1920, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 1920, 'end': 2130, 'rate': 'cheap', 'range': '(16.6p - 23.6p)'}] export [{'start': 440, 'end': 2130, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 07:20:53.771012: - Your estimated bill for today is £5.88 and tomorrow is £5.42
2026-08-15 07:20:53.771071: - Import rates are cheap (22.7p) for the next 10 minutes and then expensive (26.7p) for the next 30 minutes.
2026-08-15 07:20:53.771095: - The battery is currently at 11% and is in eco mode for the next 4 and a quarter hours.
2026-08-15 07:20:53.771114: - For the next 48 hours there will be no solar generation.
2026-08-15 07:20:53.771131: - You will run out of battery in 1 hour.
2026-08-15 07:20:53.771148: - Your next charge slot will be in 4 and a quarter hours where import rates will be cheap (15.5p).
2026-08-15 07:20:53.771184: 
2026-08-15 07:20:53.831844: Plan calculation took 48.16 seconds
2026-08-15 07:20:53.832111: Inverter 0: Type SK Sunsynk
2026-08-15 07:20:53.832165: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 07:20:53.832369: Reserve min: 7%, battery_min: 7%
2026-08-15 07:20:53.832465: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 07:20:53.832750: Inverter 0 SoC: 1.78kW 11%, current charge rate 5000W, current discharge rate 5250W, current battery power 222W, current battery voltage 51.2V, grid power -55W, load power 285W, PV Power 0W
2026-08-15 07:20:53.832909: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 07:20:53.833034: Inverter 0 scheduled charge enable is False
2026-08-15 07:20:53.833077: Inverter 0 charge windows currently []
2026-08-15 07:20:53.833106: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 07:20:53.833229: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 07:20:53.833270: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 07:20:53.833313: Inverter 0 scheduled discharge enable is False
2026-08-15 07:20:53.833480: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 07:20:53.833523: Inverter 0 discharge windows currently []
2026-08-15 07:20:53.833547: Note: Inverter does not support discharge freeze - disabled
2026-08-15 07:20:53.833583: Note: Inverter does not support charge freeze - disabled
2026-08-15 07:20:53.833633: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 07:20:53.966617: Inverter 0 Charge window will be: 2026-08-15 11:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 11%, target 100%
2026-08-15 07:20:53.966776: Inverter 0 disabled charge window while waiting for schedule (now 08-15 07:20:00 target set_window_minutes 30 charge start time 08-15 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 07:20:53.966862: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 07:20:53.967079: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 07:20:53.967166: No export window planned
2026-08-15 07:20:53.967293: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 07:20:53.967335: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 07:20:53.967514: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 07:20:53.967689: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 07:20:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 07:20:53.967747: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 07:20:53.971551: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 07:20:53.971727: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 07:20:53.971829: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 07:20:53.971956: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 07:20:53.972016: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 07:20:53.972151: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 07:20:53.972201: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 07:20:53.972314: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 07:20:53.972469: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 07:20:53.972525: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 07:20:53.972640: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 07:20:53.972690: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 07:20:53.972836: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 07:20:53.972996: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 07:20:53.973148: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 07:20:53.973255: Inverter 0 count register writes 0
2026-08-15 07:20:54.018065: Total inverter register writes now 815
2026-08-15 07:20:54.082375: Info: Completed run status Demand
2026-08-15 07:20:54.098325: Info: record_status Demand
2026-08-15 07:20:54.121652: Saved current settings to /config/predbat_config.json
2026-08-15 07:20:54.121908: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 07:20:58.712112: ML Predictor: Epoch 7/30: lr=0.00091 huber_loss=0.0102 val_mae=0.0041 kWh val_bias=-0.0005 kWh (-0.8%) combined=0.0024 kWh ema_combined=0.0026 kWh
2026-08-15 07:21:19.780653: ML Predictor: Epoch 8/30: lr=0.00088 huber_loss=0.0093 val_mae=0.0036 kWh val_bias=+0.0004 kWh (+0.5%) combined=0.0022 kWh ema_combined=0.0025 kWh
2026-08-15 07:21:27.344471: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 07:21:27.345062: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 07:21:27.345270: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 07:21:27.345756: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 07:21:27.345927: Note: Inverter does not support discharge freeze - disabled
2026-08-15 07:21:27.346104: Note: Inverter does not support charge freeze - disabled
2026-08-15 07:21:27.346250: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 07:21:39.623883: ML Predictor: Epoch 9/30: lr=0.00084 huber_loss=0.0098 val_mae=0.0041 kWh val_bias=-0.0019 kWh (-2.7%) combined=0.0027 kWh ema_combined=0.0025 kWh
2026-08-15 07:21:59.680176: ML Predictor: Epoch 10/30: lr=0.00080 huber_loss=0.0094 val_mae=0.0034 kWh val_bias=-0.0004 kWh (-0.6%) combined=0.0021 kWh ema_combined=0.0024 kWh
2026-08-15 07:22:19.916091: ML Predictor: Epoch 11/30: lr=0.00076 huber_loss=0.0095 val_mae=0.0030 kWh val_bias=-0.0000 kWh (-0.0%) combined=0.0019 kWh ema_combined=0.0022 kWh
2026-08-15 07:22:39.627972: ML Predictor: Epoch 12/30: lr=0.00072 huber_loss=0.0080 val_mae=0.0039 kWh val_bias=+0.0011 kWh (+1.6%) combined=0.0024 kWh ema_combined=0.0023 kWh
2026-08-15 07:22:59.262038: ML Predictor: Epoch 13/30: lr=0.00067 huber_loss=0.0078 val_mae=0.0030 kWh val_bias=-0.0005 kWh (-0.7%) combined=0.0017 kWh ema_combined=0.0021 kWh
2026-08-15 07:23:19.679293: ML Predictor: Epoch 14/30: lr=0.00062 huber_loss=0.0081 val_mae=0.0035 kWh val_bias=-0.0009 kWh (-1.3%) combined=0.0018 kWh ema_combined=0.0020 kWh
2026-08-15 07:23:38.498412: ML Predictor: Epoch 15/30: lr=0.00057 huber_loss=0.0079 val_mae=0.0031 kWh val_bias=-0.0015 kWh (-2.1%) combined=0.0023 kWh ema_combined=0.0021 kWh
2026-08-15 07:23:41.803951: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 07:23:41.804342: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 07:23:41.804497: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 07:23:41.804722: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 07:23:41.804857: Note: Inverter does not support discharge freeze - disabled
2026-08-15 07:23:41.805124: Note: Inverter does not support charge freeze - disabled
2026-08-15 07:23:41.805263: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 07:23:59.388512: ML Predictor: Epoch 16/30: lr=0.00053 huber_loss=0.0072 val_mae=0.0026 kWh val_bias=+0.0001 kWh (+0.2%) combined=0.0014 kWh ema_combined=0.0019 kWh
2026-08-15 07:24:20.814695: ML Predictor: Epoch 17/30: lr=0.00048 huber_loss=0.0072 val_mae=0.0032 kWh val_bias=-0.0003 kWh (-0.4%) combined=0.0018 kWh ema_combined=0.0019 kWh
2026-08-15 07:24:41.196426: ML Predictor: Epoch 18/30: lr=0.00043 huber_loss=0.0067 val_mae=0.0029 kWh val_bias=-0.0007 kWh (-1.0%) combined=0.0016 kWh ema_combined=0.0018 kWh
2026-08-15 07:25:00.149268: --------------- PredBat - update at 2026-08-15 07:25:00+01:00 with clock skew 0 minutes, minutes now 445
2026-08-15 07:25:00.150345: Saved current settings to /config/predbat_config.json
2026-08-15 07:25:00.150492: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 75.0 minutes
2026-08-15 07:25:00.150580: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.1, latest beta is v8.48.1
2026-08-15 07:25:00.150702: Autoupdate: Currently up to date
2026-08-15 07:25:00.190624: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 07:25:00.190804: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 07:25:00.191108: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 07:25:00.191761: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 07:25:00.191913: Predbat mode is set to Control charge & discharge
2026-08-15 07:25:00.533360: Found 21602 load_today datapoints going back 28 days
2026-08-15 07:25:00.533691: Using load_power data to fill gaps in load_today data
2026-08-15 07:25:01.632402: Processing 721 30-minute periods for power integration
2026-08-15 07:25:01.809968: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 07:25:01.810108: Car charging hold False, threshold 6.0kWh
2026-08-15 07:25:01.810148: Current data so far today: load 5.65kWh, import 6.8kWh, export 0.0kWh, PV 0kWh
2026-08-15 07:25:01.827925: Cars: SoC: [12.892000000000001]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 07:25:01.828524: Standing charge is set to 49.98p
2026-08-15 07:25:01.873809: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 07:25:01.874064: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 07:25:01.874400: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 445.0 minutes
2026-08-15 07:25:01.875058: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 444.7 minutes
2026-08-15 07:25:01.878797: Loaded 47 datapoints of futurerate analysis
2026-08-15 07:25:01.965181: Predicted future rates: ['08-15 00:00:00 => 28.9 / 20.01', '08-15 01:00:00 => 27.54 / 19.31', '08-15 02:00:00 => 26.52 / 18.8', '08-15 03:00:00 => 25.99 / 18.53', '08-15 04:00:00 => 25.8 / 18.43', '08-15 05:00:00 => 25.96 / 18.51', '08-15 06:00:00 => 25.55 / 18.3', '08-15 07:00:00 => 24.33 / 17.68', '08-15 08:00:00 => 23.03 / 17.01', '08-15 09:00:00 => 22.05 / 16.51', '08-15 10:00:00 => 20.43 / 15.68', '08-15 11:00:00 => 18.01 / 14.45', '08-15 12:00:00 => 16.37 / 13.61', '08-15 13:00:00 => 15.76 / 13.3', '08-15 14:00:00 => 15.35 / 13.09', '08-15 15:00:00 => 15.86 / 13.35', '08-15 16:00:00 => 32.89 / 16.13', '08-15 17:00:00 => 38.02 / 18.75', '08-15 18:00:00 => 42.36 / 20.96', '08-15 19:00:00 => 31.09 / 21.13', '08-15 20:00:00 => 31.64 / 21.41', '08-15 21:00:00 => 31.64 / 21.41', '08-15 22:00:00 => 30.58 / 20.87']
2026-08-15 07:25:02.139941: Rate min forward looking: now 13.77p at end of forecast 13.77p
2026-08-15 07:25:02.141381: Import rates: min 13.77p, max 43.82p, average 25.96p
2026-08-15 07:25:02.197295: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 07:25:02.197469: Rate thresholds (for charge/export) are import 43.32p (0.0p), export -0.1p (0.0p)
2026-08-15 07:25:02.199559: High export rate found rates in range 99p to -99p
2026-08-15 07:25:02.303896: Low Import rate found rates in range 13.77p to 41.55p
2026-08-15 07:25:02.304294: Car 0 charging is not planned as it is not plugged in
2026-08-15 07:25:02.323122: Battery level now 1.78kWh, -1hr ago 1.44kWh, at midnight 1.66kWh, battery value change in the last hour 3.97p, change today 1.42p, rate_forward 11.83p
2026-08-15 07:25:02.323670: Last hour: net energy 0.2kWh, import 0.2kWh, export 0.0kWh, car 0kWh, load 0.35kWh, net cost 5.45p, import 5.45p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 07:25:02.430962: Today's energy total net 6.8kWh, import 6.8kWh, export 0.0kWh, cost 231.27p, import 181.28p, export 0.0p, carbon 0.0kg
2026-08-15 07:25:02.431151: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 07:25:02.609892: Using weighted-bucket historical load forecast over 14 days
2026-08-15 07:25:02.684562: Today's load divergence 107.23%, in-day adjustment 132.37%, damping 0.95x, yesterday 143.77% today 106.87% blend 69.1%
2026-08-15 07:25:02.684699: Today's predicted so far 4.4kWh with 0.0kWh car/iBoost excluded, 2.69kWh import ignored, and 4.4kWh forecast extra.
2026-08-15 07:25:02.684739: Today's actual load so far 5.61kWh with 0.0kWh car/iBoost excluded, and 2.69kWh import ignored.
2026-08-15 07:25:02.769607: Inverter 0: Type SK Sunsynk
2026-08-15 07:25:02.769723: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 07:25:02.769950: Reserve min: 7%, battery_min: 7%
2026-08-15 07:25:02.770055: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 07:25:02.770386: Inverter 0 SoC: 1.76kW 11%, current charge rate 5000W, current discharge rate 5250W, current battery power 284W, current battery voltage 51.2V, grid power -55W, load power 345W, PV Power 0W
2026-08-15 07:25:02.770576: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 07:25:02.770684: Inverter 0 scheduled charge enable is False
2026-08-15 07:25:02.770728: Inverter 0 charge windows currently []
2026-08-15 07:25:02.770763: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 07:25:02.770887: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 07:25:02.770929: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 07:25:02.770972: Inverter 0 scheduled discharge enable is False
2026-08-15 07:25:02.771137: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 07:25:02.771185: Inverter 0 discharge windows currently []
2026-08-15 07:25:02.771213: Note: Inverter does not support discharge freeze - disabled
2026-08-15 07:25:02.771242: Note: Inverter does not support charge freeze - disabled
2026-08-15 07:25:02.771269: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 07:25:02.900897: Dynamic load last period 0.30kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 07:25:02.901098: Plan was last updated on 2026-08-15 07:20:00+01:00 and is now 5.0 minutes old
2026-08-15 07:25:02.901551: Best charge window [ 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 00:30:00 @ 28.84p 100% ]
2026-08-15 07:25:02.901627: Best export window [  ]
2026-08-15 07:25:02.902980: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 07:25:02.908223: Load divergence over 8.0 hours mean 646.38W, min 287.4W, max 1838.4W, std dev 336.79W, divergence 26.05%
2026-08-15 07:25:02.932799: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 07:25:02.932906: LoadML is_calculating True
2026-08-15 07:25:02.932935: Not using thread pool as LoadML is calculating to avoid lockups
2026-08-15 07:25:02.976725: predict base end_record 08-16 11:35:00, final soc 1.12kWh, metric 815.12p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 08:25:00, load 27.46kWh, PV 0.0kWh
2026-08-15 07:25:03.218508: Battery has 1.0 hours left - now at 1.76kWh
2026-08-15 07:25:03.278938: predict base10 end_record 08-16 11:35:00, final soc 1.12kWh, metric 841.16p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 08:25:00, load 28.49kWh, PV 0.0kWh
2026-08-15 07:25:03.386184: ML Predictor: Epoch 19/30: lr=0.00038 huber_loss=0.0062 val_mae=0.0027 kWh val_bias=-0.0009 kWh (-1.3%) combined=0.0023 kWh ema_combined=0.0019 kWh
2026-08-15 07:25:03.488400: predict best10 end_record 08-16 11:35:00, final soc 1.44kWh, metric 675.89p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 08:25:00, load 28.49kWh, PV 0.0kWh
2026-08-15 07:25:03.704737: predict best end_record 08-16 11:35:00, final soc 1.51kWh, metric 653.75p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 08:25:00, load 27.46kWh, PV 0.0kWh
2026-08-15 07:25:03.704864: Saving plan best values to HA entities
2026-08-15 07:25:04.103866: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 07:25:04.111631: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0.0
2026-08-15 07:25:04.124229: Best charging limit SoC's [16.0, 3.5, 4.0, 16.0, 16.0, 16.0]kWh, export []kWh gives import battery 20.83kWh, house 2.92kWh, export 0.0kWh, metric 653.75p, metric10 675.89p
2026-08-15 07:25:04.245959: Marginal costs baseline metric (no standing charge): 603.7697
2026-08-15 07:25:04.721227: Marginal energy costs matrix computed: min=15.22 max=32.44
2026-08-15 07:25:04.832448: Rate array import [{'start': 445, 'end': 450, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 450, 'end': 480, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 480, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 23.6p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1860, 'rate': 'expensive', 'range': '(24.6p - 32.9p)'}, {'start': 1860, 'end': 1890, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 1890, 'end': 1920, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 1920, 'end': 2135, 'rate': 'cheap', 'range': '(15.5p - 23.6p)'}] export [{'start': 445, 'end': 2135, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 07:25:04.833143: - Your estimated bill for today is £5.88 and tomorrow is £5.43
2026-08-15 07:25:04.833223: - Import rates are cheap (22.7p) for the next 5 minutes and then expensive (26.7p) for the next 30 minutes.
2026-08-15 07:25:04.833273: - The battery is currently at 11% and is in eco mode for the next 4 hours.
2026-08-15 07:25:04.833293: - For the next 48 hours there will be no solar generation.
2026-08-15 07:25:04.833311: - You will run out of battery in 1 hour.
2026-08-15 07:25:04.833328: - Your next charge slot will be in 4 hours where import rates will be cheap (15.5p).
2026-08-15 07:25:04.833347: 
2026-08-15 07:25:04.897545: Plan calculation took 2.00 seconds
2026-08-15 07:25:04.900708: No high rate period found
2026-08-15 07:25:05.037284: Import threshold used for optimisation was 22.73p
2026-08-15 07:25:05.186233: Low import rate windows [0: 08-15 07:00:00 - 08-15 07:30:00 @ 22.73, 1: 08-15 07:30:00 - 08-15 08:00:00 @ 26.7, 2: 08-15 08:00:00 - 08-15 08:30:00 @ 22.92, 3: 08-15 08:30:00 - 08-15 09:00:00 @ 22.48, 4: 08-15 09:00:00 - 08-15 09:30:00 @ 23.55, 5: 08-15 09:30:00 - 08-15 10:00:00 @ 23.64, 6: 08-15 10:00:00 - 08-15 10:30:00 @ 19.66, 7: 08-15 10:30:00 - 08-15 11:00:00 @ 17.66, 8: 08-15 11:00:00 - 08-15 11:30:00 @ 16.56, 9: 08-15 11:30:00 - 08-15 12:00:00 @ 15.46, 10: 08-15 12:00:00 - 08-15 12:30:00 @ 17.0, 11: 08-15 12:30:00 - 08-15 13:00:00 @ 16.34, 12: 08-15 13:00:00 - 08-15 13:30:00 @ 15.36, 13: 08-15 13:30:00 - 08-15 14:00:00 @ 15.74, 14: 08-15 14:00:00 - 08-15 14:30:00 @ 14.57, 15: 08-15 14:30:00 - 08-15 15:00:00 @ 13.77, 16: 08-15 15:00:00 - 08-15 15:30:00 @ 15.02, 17: 08-15 15:30:00 - 08-15 16:00:00 @ 15.87, 18: 08-15 16:00:00 - 08-15 16:30:00 @ 33.13, 19: 08-15 16:30:00 - 08-15 17:00:00 @ 33.13, 20: 08-15 17:00:00 - 08-15 17:30:00 @ 38.46, 21: 08-15 17:30:00 - 08-15 18:00:00 @ 40.44, 22: 08-15 18:00:00 - 08-15 18:30:00 @ 41.55, 23: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 24: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 25: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 26: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 27: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 28: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 29: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 30: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 31: 08-15 23:00:00 - 08-15 23:30:00 @ 27.8, 32: 08-15 23:30:00 - 08-16 00:00:00 @ 29.09, 33: 08-16 00:00:00 - 08-16 00:30:00 @ 28.47, 34: 08-16 00:30:00 - 08-16 01:00:00 @ 27.18, 35: 08-16 01:00:00 - 08-16 01:30:00 @ 27.57, 36: 08-16 01:30:00 - 08-16 02:00:00 @ 26.5, 37: 08-16 02:00:00 - 08-16 02:30:00 @ 25.6, 38: 08-16 02:30:00 - 08-16 03:00:00 @ 24.79, 39: 08-16 03:00:00 - 08-16 03:30:00 @ 25.08, 40: 08-16 03:30:00 - 08-16 04:00:00 @ 24.62, 41: 08-16 04:00:00 - 08-16 04:30:00 @ 27.02, 42: 08-16 04:30:00 - 08-16 05:00:00 @ 26.47, 43: 08-16 05:00:00 - 08-16 05:30:00 @ 26.25, 44: 08-16 05:30:00 - 08-16 06:00:00 @ 26.4, 45: 08-16 06:00:00 - 08-16 06:30:00 @ 25.7, 46: 08-16 06:30:00 - 08-16 07:00:00 @ 27.63, 47: 08-16 07:00:00 - 08-16 07:30:00 @ 22.73, 48: 08-16 07:30:00 - 08-16 08:00:00 @ 26.7, 49: 08-16 08:00:00 - 08-16 08:30:00 @ 22.92, 50: 08-16 08:30:00 - 08-16 09:00:00 @ 22.48, 51: 08-16 09:00:00 - 08-16 09:30:00 @ 23.55, 52: 08-16 09:30:00 - 08-16 10:00:00 @ 23.64, 53: 08-16 10:00:00 - 08-16 10:30:00 @ 19.66, 54: 08-16 10:30:00 - 08-16 11:00:00 @ 17.66, 55: 08-16 11:00:00 - 08-16 11:30:00 @ 16.56, 56: 08-16 11:30:00 - 08-16 12:00:00 @ 15.46, 57: 08-16 12:00:00 - 08-16 12:30:00 @ 17.0, 58: 08-16 12:30:00 - 08-16 13:00:00 @ 16.34, 59: 08-16 13:00:00 - 08-16 13:30:00 @ 15.36, 60: 08-16 13:30:00 - 08-16 14:00:00 @ 15.74, 61: 08-16 14:00:00 - 08-16 14:30:00 @ 14.57, 62: 08-16 14:30:00 - 08-16 15:00:00 @ 13.77, 63: 08-16 15:00:00 - 08-16 15:30:00 @ 15.02, 64: 08-16 15:30:00 - 08-16 16:00:00 @ 15.87, 65: 08-16 16:00:00 - 08-16 16:30:00 @ 33.13, 66: 08-16 16:30:00 - 08-16 17:00:00 @ 33.13, 67: 08-16 17:00:00 - 08-16 17:30:00 @ 38.46, 68: 08-16 17:30:00 - 08-16 18:00:00 @ 40.44, 69: 08-16 18:00:00 - 08-16 18:30:00 @ 41.55, 70: 08-16 19:00:00 - 08-16 19:30:00 @ 32.58, 71: 08-16 19:30:00 - 08-16 20:00:00 @ 32.9, 72: 08-16 20:00:00 - 08-16 20:30:00 @ 31.99, 73: 08-16 20:30:00 - 08-16 21:00:00 @ 32.1, 74: 08-16 21:00:00 - 08-16 21:30:00 @ 31.71, 75: 08-16 21:30:00 - 08-16 22:00:00 @ 31.67, 76: 08-16 22:00:00 - 08-16 22:30:00 @ 31.77, 77: 08-16 22:30:00 - 08-16 23:00:00 @ 29.81, 78: 08-16 23:00:00 - 08-16 23:30:00 @ 27.8, 79: 08-16 23:30:00 - 08-17 00:00:00 @ 29.09, 80: 08-17 00:00:00 - 08-17 00:30:00 @ 28.47, 81: 08-17 00:30:00 - 08-17 01:00:00 @ 27.18, 82: 08-17 01:00:00 - 08-17 01:30:00 @ 27.57, 83: 08-17 01:30:00 - 08-17 02:00:00 @ 26.5, 84: 08-17 02:00:00 - 08-17 02:30:00 @ 25.6, 85: 08-17 02:30:00 - 08-17 03:00:00 @ 24.79, 86: 08-17 03:00:00 - 08-17 03:30:00 @ 25.08, 87: 08-17 03:30:00 - 08-17 04:00:00 @ 24.62, 88: 08-17 04:00:00 - 08-17 04:30:00 @ 27.02, 89: 08-17 04:30:00 - 08-17 05:00:00 @ 26.47, 90: 08-17 05:00:00 - 08-17 05:30:00 @ 26.25, 91: 08-17 05:30:00 - 08-17 06:00:00 @ 26.4, 92: 08-17 06:00:00 - 08-17 06:30:00 @ 25.7, 93: 08-17 06:30:00 - 08-17 07:00:00 @ 27.63, 94: 08-17 07:00:00 - 08-17 07:30:00 @ 22.73]
2026-08-15 07:25:05.200272: Inverter 0 Charge window will be: 2026-08-15 11:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 11%, target 100%
2026-08-15 07:25:05.200478: Inverter 0 disabled charge window while waiting for schedule (now 08-15 07:25:00 target set_window_minutes 30 charge start time 08-15 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 07:25:05.200578: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 07:25:05.200802: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 07:25:05.200881: No export window planned
2026-08-15 07:25:05.201112: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 07:25:05.201167: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 07:25:05.201349: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 07:25:05.201543: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 07:25:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 07:25:05.201594: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 07:25:05.201648: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 07:25:05.201738: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 07:25:05.201787: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 07:25:05.201824: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 07:25:05.201950: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 07:25:05.202133: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 07:25:05.202319: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 07:25:05.202473: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 07:25:05.202671: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 07:25:05.202823: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 07:25:05.202967: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 07:25:05.203128: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 07:25:05.203302: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 07:25:05.203449: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 07:25:05.203590: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 07:25:05.203722: Inverter 0 count register writes 0
2026-08-15 07:25:05.242462: Will not recompute the plan, it is 5.0 minutes old and max age is 10 minutes
2026-08-15 07:25:05.259786: Total inverter register writes now 815
2026-08-15 07:25:05.352239: Info: Completed run status Demand
2026-08-15 07:25:05.363532: Info: record_status Demand
2026-08-15 07:25:05.385477: Saved current settings to /config/predbat_config.json
2026-08-15 07:25:05.385876: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 07:25:25.763784: ML Predictor: Epoch 20/30: lr=0.00034 huber_loss=0.0063 val_mae=0.0024 kWh val_bias=+0.0005 kWh (+0.7%) combined=0.0016 kWh ema_combined=0.0018 kWh
2026-08-15 07:25:41.523163: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 07:25:41.523452: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 07:25:41.523506: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 07:25:41.523690: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 07:25:41.523744: Note: Inverter does not support discharge freeze - disabled
2026-08-15 07:25:41.523775: Note: Inverter does not support charge freeze - disabled
2026-08-15 07:25:41.523806: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 07:25:45.409613: ML Predictor: Epoch 21/30: lr=0.00030 huber_loss=0.0058 val_mae=0.0025 kWh val_bias=-0.0005 kWh (-0.7%) combined=0.0013 kWh ema_combined=0.0017 kWh
2026-08-15 07:26:07.857025: ML Predictor: Epoch 22/30: lr=0.00026 huber_loss=0.0063 val_mae=0.0023 kWh val_bias=+0.0002 kWh (+0.3%) combined=0.0014 kWh ema_combined=0.0016 kWh
2026-08-15 07:26:26.874278: ML Predictor: Epoch 23/30: lr=0.00022 huber_loss=0.0056 val_mae=0.0026 kWh val_bias=-0.0009 kWh (-1.3%) combined=0.0015 kWh ema_combined=0.0016 kWh
2026-08-15 07:26:46.230274: ML Predictor: Epoch 24/30: lr=0.00019 huber_loss=0.0058 val_mae=0.0025 kWh val_bias=-0.0012 kWh (-1.8%) combined=0.0019 kWh ema_combined=0.0017 kWh
2026-08-15 07:27:05.992195: ML Predictor: Epoch 25/30: lr=0.00016 huber_loss=0.0056 val_mae=0.0022 kWh val_bias=+0.0001 kWh (+0.2%) combined=0.0014 kWh ema_combined=0.0016 kWh
2026-08-15 07:27:24.902425: ML Predictor: Epoch 26/30: lr=0.00014 huber_loss=0.0055 val_mae=0.0023 kWh val_bias=-0.0010 kWh (-1.4%) combined=0.0018 kWh ema_combined=0.0017 kWh
2026-08-15 07:27:41.994222: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 07:27:41.994484: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 07:27:41.994532: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 07:27:41.994700: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 07:27:41.994760: Note: Inverter does not support discharge freeze - disabled
2026-08-15 07:27:41.994785: Note: Inverter does not support charge freeze - disabled
2026-08-15 07:27:41.994806: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 07:27:46.546563: ML Predictor: Epoch 27/30: lr=0.00012 huber_loss=0.0053 val_mae=0.0021 kWh val_bias=-0.0003 kWh (-0.5%) combined=0.0011 kWh ema_combined=0.0015 kWh
2026-08-15 07:28:05.628100: ML Predictor: Epoch 28/30: lr=0.00011 huber_loss=0.0054 val_mae=0.0021 kWh val_bias=-0.0006 kWh (-0.8%) combined=0.0014 kWh ema_combined=0.0015 kWh
2026-08-15 07:28:27.612561: ML Predictor: Epoch 29/30: lr=0.00010 huber_loss=0.0056 val_mae=0.0020 kWh val_bias=-0.0003 kWh (-0.5%) combined=0.0011 kWh ema_combined=0.0014 kWh
2026-08-15 07:28:46.542686: ML Predictor: Epoch 30/30: lr=0.00010 huber_loss=0.0051 val_mae=0.0020 kWh val_bias=-0.0003 kWh (-0.4%) combined=0.0012 kWh ema_combined=0.0013 kWh
2026-08-15 07:28:46.548299: ML Predictor: Restored best weights from epoch with val_mae=0.0020 kWh val_bias=-0.0003 kWh (-0.4%)
2026-08-15 07:28:46.548716: ML Predictor: Training complete, final val_mae=0.0020 kWh val_bias=-0.0003 kWh (-0.4%)
2026-08-15 07:28:48.033728: ML Predictor: AR rollout over holdout: ar_mae=0.0020 kWh ar_bias=-0.0003 kWh (-0.4%) [drift vs teacher-forced: +0.0001 kWh]
2026-08-15 07:28:48.039139: ML Predictor: Curriculum pass 3/5 complete, val_mae=0.0020 kWh
2026-08-15 07:28:48.117860: ML Predictor: Curriculum pass 4/5: window=56.0 days (1344 hours of data)
2026-08-15 07:28:48.118140: ML Predictor: Starting fine-tune training with 30 epochs
2026-08-15 07:28:48.822766: ML Predictor: Creating dataset with 1344 hours of training data, 48 hours validation
2026-08-15 07:28:53.570427: ML Predictor: Created 15840 training samples, 576 validation samples
2026-08-15 07:28:53.619019: ML Predictor: Normalization stats [ema-update alpha=0.1] target(mean=0.0587 std=0.0472) load(mean=0.0589 std=0.0473) pv(mean=0.0000 std=0.0100) temp(mean=19.5204 std=4.4281) import_rate(mean=25.5113 std=2.4718) export_rate(mean=0.0000 std=1.0000) time(mean=-0.1905 std=0.5239)
2026-08-15 07:28:53.706771: ML Predictor: Applied EMA normalization update (alpha=0.1) to track feature drift
2026-08-15 07:28:53.724067: ML Predictor: Reset Adam optimiser state for fine-tuning
2026-08-15 07:28:53.776911: ML Predictor: Baseline (pre-finetune) val_mae=0.0077 kWh val_bias=-0.0030 kWh
2026-08-15 07:29:11.887182: ML Predictor: Epoch 1/30: lr=0.00100 huber_loss=0.0113 val_mae=0.0082 kWh val_bias=-0.0040 kWh (-4.5%) combined=0.0052 kWh ema_combined=0.0052 kWh
2026-08-15 07:29:29.900429: ML Predictor: Epoch 2/30: lr=0.00100 huber_loss=0.0111 val_mae=0.0070 kWh val_bias=-0.0001 kWh (-0.1%) combined=0.0040 kWh ema_combined=0.0048 kWh
2026-08-15 07:29:42.317737: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 07:29:42.318205: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 07:29:42.318303: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 07:29:42.318560: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 07:29:42.318654: Note: Inverter does not support discharge freeze - disabled
2026-08-15 07:29:42.318736: Note: Inverter does not support charge freeze - disabled
2026-08-15 07:29:42.318781: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 07:29:50.454408: ML Predictor: Epoch 3/30: lr=0.00099 huber_loss=0.0116 val_mae=0.0067 kWh val_bias=-0.0024 kWh (-2.7%) combined=0.0045 kWh ema_combined=0.0047 kWh
2026-08-15 07:30:00.591308: --------------- PredBat - update at 2026-08-15 07:30:00+01:00 with clock skew 0 minutes, minutes now 450
2026-08-15 07:30:00.592676: Saved current settings to /config/predbat_config.json
2026-08-15 07:30:00.593036: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 80.0 minutes
2026-08-15 07:30:00.593247: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.1, latest beta is v8.48.1
2026-08-15 07:30:00.593438: Autoupdate: Currently up to date
2026-08-15 07:30:00.647893: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 07:30:00.648239: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 07:30:00.648625: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 07:30:00.649522: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 07:30:00.653217: Predbat mode is set to Control charge & discharge
2026-08-15 07:30:01.130740: Found 21602 load_today datapoints going back 28 days
2026-08-15 07:30:01.131070: Using load_power data to fill gaps in load_today data
2026-08-15 07:30:02.247673: Processing 721 30-minute periods for power integration
2026-08-15 07:30:02.529324: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 07:30:02.529613: Car charging hold False, threshold 6.0kWh
2026-08-15 07:30:02.529759: Current data so far today: load 5.75kWh, import 6.8kWh, export 0.0kWh, PV 0kWh
2026-08-15 07:30:02.557443: Cars: SoC: [12.892000000000001]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 07:30:02.559387: Standing charge is set to 49.98p
2026-08-15 07:30:02.622110: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 07:30:02.622799: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 07:30:02.623296: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 450.0 minutes
2026-08-15 07:30:02.623811: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 449.7 minutes
2026-08-15 07:30:02.626773: Loaded 47 datapoints of futurerate analysis
2026-08-15 07:30:02.728041: Predicted future rates: ['08-15 00:00:00 => 28.9 / 20.01', '08-15 01:00:00 => 27.54 / 19.31', '08-15 02:00:00 => 26.52 / 18.8', '08-15 03:00:00 => 25.99 / 18.53', '08-15 04:00:00 => 25.8 / 18.43', '08-15 05:00:00 => 25.96 / 18.51', '08-15 06:00:00 => 25.55 / 18.3', '08-15 07:00:00 => 24.33 / 17.68', '08-15 08:00:00 => 23.03 / 17.01', '08-15 09:00:00 => 22.05 / 16.51', '08-15 10:00:00 => 20.43 / 15.68', '08-15 11:00:00 => 18.01 / 14.45', '08-15 12:00:00 => 16.37 / 13.61', '08-15 13:00:00 => 15.76 / 13.3', '08-15 14:00:00 => 15.35 / 13.09', '08-15 15:00:00 => 15.86 / 13.35', '08-15 16:00:00 => 32.89 / 16.13', '08-15 17:00:00 => 38.02 / 18.75', '08-15 18:00:00 => 42.36 / 20.96', '08-15 19:00:00 => 31.09 / 21.13', '08-15 20:00:00 => 31.64 / 21.41', '08-15 21:00:00 => 31.64 / 21.41', '08-15 22:00:00 => 30.58 / 20.87']
2026-08-15 07:30:02.794995: Rate min forward looking: now 13.77p at end of forecast 13.77p
2026-08-15 07:30:02.795509: Import rates: min 13.77p, max 43.82p, average 25.96p
2026-08-15 07:30:02.839877: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 07:30:02.840459: Rate thresholds (for charge/export) are import 43.32p (0.0p), export -0.1p (0.0p)
2026-08-15 07:30:02.842008: High export rate found rates in range 99p to -99p
2026-08-15 07:30:02.937086: Low Import rate found rates in range 13.77p to 41.55p
2026-08-15 07:30:02.938673: Car 0 charging is not planned as it is not plugged in
2026-08-15 07:30:02.957685: Battery level now 1.76kWh, -1hr ago 1.44kWh, at midnight 1.66kWh, battery value change in the last hour 3.78p, change today 1.23p, rate_forward 11.83p
2026-08-15 07:30:02.958228: Last hour: net energy 0.15kWh, import 0.15kWh, export 0.0kWh, car 0kWh, load 0.43kWh, net cost 4.14p, import 4.14p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 07:30:03.044533: Today's energy total net 6.8kWh, import 6.8kWh, export 0.0kWh, cost 231.27p, import 181.28p, export 0.0p, carbon 0.0kg
2026-08-15 07:30:03.044690: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 07:30:03.239323: Using weighted-bucket historical load forecast over 14 days
2026-08-15 07:30:03.287556: Today's load divergence 107.83%, in-day adjustment 132.42%, damping 0.95x, yesterday 143.77% today 107.44% blend 68.75%
2026-08-15 07:30:03.287690: Today's predicted so far 4.5kWh with 0.0kWh car/iBoost excluded, 2.61kWh import ignored, and 4.5kWh forecast extra.
2026-08-15 07:30:03.287727: Today's actual load so far 5.82kWh with 0.0kWh car/iBoost excluded, and 2.61kWh import ignored.
2026-08-15 07:30:03.361955: Inverter 0: Type SK Sunsynk
2026-08-15 07:30:03.362173: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 07:30:03.362506: Reserve min: 7%, battery_min: 7%
2026-08-15 07:30:03.362714: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 07:30:03.363159: Inverter 0 SoC: 1.76kW 11%, current charge rate 5000W, current discharge rate 5250W, current battery power 230W, current battery voltage 51.2V, grid power -55W, load power 294W, PV Power 0W
2026-08-15 07:30:03.363443: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 07:30:03.363639: Inverter 0 scheduled charge enable is False
2026-08-15 07:30:03.363807: Inverter 0 charge windows currently []
2026-08-15 07:30:03.363943: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 07:30:03.364189: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 07:30:03.364315: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 07:30:03.364448: Inverter 0 scheduled discharge enable is False
2026-08-15 07:30:03.364707: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 07:30:03.364878: Inverter 0 discharge windows currently []
2026-08-15 07:30:03.365113: Note: Inverter does not support discharge freeze - disabled
2026-08-15 07:30:03.393039: Note: Inverter does not support charge freeze - disabled
2026-08-15 07:30:03.393313: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 07:30:03.538706: Dynamic load last period 0.60kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 07:30:03.538990: Plan was last updated on 2026-08-15 07:20:00+01:00 and is now 10.0 minutes old
2026-08-15 07:30:03.539368: Best charge window [ 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 00:30:00 @ 28.84p 100% ]
2026-08-15 07:30:03.539669: Best export window [  ]
2026-08-15 07:30:03.542043: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 07:30:03.550989: Load divergence over 8.0 hours mean 647.35W, min 281.4W, max 1607.4W, std dev 329.12W, divergence 25.42%
2026-08-15 07:30:03.597402: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 07:30:03.597559: LoadML is_calculating True
2026-08-15 07:30:03.597593: Not using thread pool as LoadML is calculating to avoid lockups
2026-08-15 07:30:03.708307: predict base end_record 08-16 11:40:00, final soc 1.12kWh, metric 814.27p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 08:35:00, load 27.56kWh, PV 0.0kWh
2026-08-15 07:30:04.027665: Battery has 1.08 hours left - now at 1.76kWh
2026-08-15 07:30:04.091651: predict base10 end_record 08-16 11:40:00, final soc 1.12kWh, metric 840.24p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 08:30:00, load 28.6kWh, PV 0.0kWh
2026-08-15 07:30:04.327584: predict best10 end_record 08-16 11:40:00, final soc 1.77kWh, metric 680.64p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 08:30:00, load 28.6kWh, PV 0.0kWh
2026-08-15 07:30:04.589146: predict best end_record 08-16 11:40:00, final soc 1.9kWh, metric 659.82p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 08:35:00, load 27.56kWh, PV 0.0kWh
2026-08-15 07:30:04.589254: Saving plan best values to HA entities
2026-08-15 07:30:05.056140: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 07:30:05.063846: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0.0
2026-08-15 07:30:05.087765: Best charging limit SoC's [16.0, 3.5, 4.0, 16.0, 16.0, 16.0]kWh, export []kWh gives import battery 21.33kWh, house 2.84kWh, export 0.0kWh, metric 659.82p, metric10 680.64p
2026-08-15 07:30:05.235636: Marginal costs baseline metric (no standing charge): 609.8384
2026-08-15 07:30:05.762979: Marginal energy costs matrix computed: min=15.16 max=32.58
2026-08-15 07:30:05.961092: Rate array import [{'start': 450, 'end': 480, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 480, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 23.6p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1860, 'rate': 'expensive', 'range': '(24.6p - 32.9p)'}, {'start': 1860, 'end': 1890, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 1890, 'end': 1920, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 1920, 'end': 2140, 'rate': 'cheap', 'range': '(15.5p - 23.6p)'}] export [{'start': 450, 'end': 2140, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 07:30:05.973824: - Your estimated bill for today is £5.87 and tomorrow is £5.40
2026-08-15 07:30:05.973902: - Import rates are expensive (26.7p) for the next 30 minutes and then cheap (13.8p - 23.6p) for the next 8 hours.
2026-08-15 07:30:05.973940: - The battery is currently at 11% and is in eco mode for the next 4 hours.
2026-08-15 07:30:05.973973: - For the next 48 hours there will be no solar generation.
2026-08-15 07:30:05.974005: - You will run out of battery in 1 hour.
2026-08-15 07:30:05.974147: - Your next charge slot will be in 4 hours where import rates will be cheap (15.5p).
2026-08-15 07:30:05.974319: 
2026-08-15 07:30:06.033089: Plan calculation took 2.49 seconds
2026-08-15 07:30:06.048110: No high rate period found
2026-08-15 07:30:06.193764: Import threshold used for optimisation was 22.73p
2026-08-15 07:30:06.294648: Low import rate windows [0: 08-15 07:30:00 - 08-15 08:00:00 @ 26.7, 1: 08-15 08:00:00 - 08-15 08:30:00 @ 22.92, 2: 08-15 08:30:00 - 08-15 09:00:00 @ 22.48, 3: 08-15 09:00:00 - 08-15 09:30:00 @ 23.55, 4: 08-15 09:30:00 - 08-15 10:00:00 @ 23.64, 5: 08-15 10:00:00 - 08-15 10:30:00 @ 19.66, 6: 08-15 10:30:00 - 08-15 11:00:00 @ 17.66, 7: 08-15 11:00:00 - 08-15 11:30:00 @ 16.56, 8: 08-15 11:30:00 - 08-15 12:00:00 @ 15.46, 9: 08-15 12:00:00 - 08-15 12:30:00 @ 17.0, 10: 08-15 12:30:00 - 08-15 13:00:00 @ 16.34, 11: 08-15 13:00:00 - 08-15 13:30:00 @ 15.36, 12: 08-15 13:30:00 - 08-15 14:00:00 @ 15.74, 13: 08-15 14:00:00 - 08-15 14:30:00 @ 14.57, 14: 08-15 14:30:00 - 08-15 15:00:00 @ 13.77, 15: 08-15 15:00:00 - 08-15 15:30:00 @ 15.02, 16: 08-15 15:30:00 - 08-15 16:00:00 @ 15.87, 17: 08-15 16:00:00 - 08-15 16:30:00 @ 33.13, 18: 08-15 16:30:00 - 08-15 17:00:00 @ 33.13, 19: 08-15 17:00:00 - 08-15 17:30:00 @ 38.46, 20: 08-15 17:30:00 - 08-15 18:00:00 @ 40.44, 21: 08-15 18:00:00 - 08-15 18:30:00 @ 41.55, 22: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 23: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 24: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 25: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 26: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 27: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 28: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 29: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 30: 08-15 23:00:00 - 08-15 23:30:00 @ 27.8, 31: 08-15 23:30:00 - 08-16 00:00:00 @ 29.09, 32: 08-16 00:00:00 - 08-16 00:30:00 @ 28.47, 33: 08-16 00:30:00 - 08-16 01:00:00 @ 27.18, 34: 08-16 01:00:00 - 08-16 01:30:00 @ 27.57, 35: 08-16 01:30:00 - 08-16 02:00:00 @ 26.5, 36: 08-16 02:00:00 - 08-16 02:30:00 @ 25.6, 37: 08-16 02:30:00 - 08-16 03:00:00 @ 24.79, 38: 08-16 03:00:00 - 08-16 03:30:00 @ 25.08, 39: 08-16 03:30:00 - 08-16 04:00:00 @ 24.62, 40: 08-16 04:00:00 - 08-16 04:30:00 @ 27.02, 41: 08-16 04:30:00 - 08-16 05:00:00 @ 26.47, 42: 08-16 05:00:00 - 08-16 05:30:00 @ 26.25, 43: 08-16 05:30:00 - 08-16 06:00:00 @ 26.4, 44: 08-16 06:00:00 - 08-16 06:30:00 @ 25.7, 45: 08-16 06:30:00 - 08-16 07:00:00 @ 27.63, 46: 08-16 07:00:00 - 08-16 07:30:00 @ 22.73, 47: 08-16 07:30:00 - 08-16 08:00:00 @ 26.7, 48: 08-16 08:00:00 - 08-16 08:30:00 @ 22.92, 49: 08-16 08:30:00 - 08-16 09:00:00 @ 22.48, 50: 08-16 09:00:00 - 08-16 09:30:00 @ 23.55, 51: 08-16 09:30:00 - 08-16 10:00:00 @ 23.64, 52: 08-16 10:00:00 - 08-16 10:30:00 @ 19.66, 53: 08-16 10:30:00 - 08-16 11:00:00 @ 17.66, 54: 08-16 11:00:00 - 08-16 11:30:00 @ 16.56, 55: 08-16 11:30:00 - 08-16 12:00:00 @ 15.46, 56: 08-16 12:00:00 - 08-16 12:30:00 @ 17.0, 57: 08-16 12:30:00 - 08-16 13:00:00 @ 16.34, 58: 08-16 13:00:00 - 08-16 13:30:00 @ 15.36, 59: 08-16 13:30:00 - 08-16 14:00:00 @ 15.74, 60: 08-16 14:00:00 - 08-16 14:30:00 @ 14.57, 61: 08-16 14:30:00 - 08-16 15:00:00 @ 13.77, 62: 08-16 15:00:00 - 08-16 15:30:00 @ 15.02, 63: 08-16 15:30:00 - 08-16 16:00:00 @ 15.87, 64: 08-16 16:00:00 - 08-16 16:30:00 @ 33.13, 65: 08-16 16:30:00 - 08-16 17:00:00 @ 33.13, 66: 08-16 17:00:00 - 08-16 17:30:00 @ 38.46, 67: 08-16 17:30:00 - 08-16 18:00:00 @ 40.44, 68: 08-16 18:00:00 - 08-16 18:30:00 @ 41.55, 69: 08-16 19:00:00 - 08-16 19:30:00 @ 32.58, 70: 08-16 19:30:00 - 08-16 20:00:00 @ 32.9, 71: 08-16 20:00:00 - 08-16 20:30:00 @ 31.99, 72: 08-16 20:30:00 - 08-16 21:00:00 @ 32.1, 73: 08-16 21:00:00 - 08-16 21:30:00 @ 31.71, 74: 08-16 21:30:00 - 08-16 22:00:00 @ 31.67, 75: 08-16 22:00:00 - 08-16 22:30:00 @ 31.77, 76: 08-16 22:30:00 - 08-16 23:00:00 @ 29.81, 77: 08-16 23:00:00 - 08-16 23:30:00 @ 27.8, 78: 08-16 23:30:00 - 08-17 00:00:00 @ 29.09, 79: 08-17 00:00:00 - 08-17 00:30:00 @ 28.47, 80: 08-17 00:30:00 - 08-17 01:00:00 @ 27.18, 81: 08-17 01:00:00 - 08-17 01:30:00 @ 27.57, 82: 08-17 01:30:00 - 08-17 02:00:00 @ 26.5, 83: 08-17 02:00:00 - 08-17 02:30:00 @ 25.6, 84: 08-17 02:30:00 - 08-17 03:00:00 @ 24.79, 85: 08-17 03:00:00 - 08-17 03:30:00 @ 25.08, 86: 08-17 03:30:00 - 08-17 04:00:00 @ 24.62, 87: 08-17 04:00:00 - 08-17 04:30:00 @ 27.02, 88: 08-17 04:30:00 - 08-17 05:00:00 @ 26.47, 89: 08-17 05:00:00 - 08-17 05:30:00 @ 26.25, 90: 08-17 05:30:00 - 08-17 06:00:00 @ 26.4, 91: 08-17 06:00:00 - 08-17 06:30:00 @ 25.7, 92: 08-17 06:30:00 - 08-17 07:00:00 @ 27.63, 93: 08-17 07:00:00 - 08-17 07:30:00 @ 22.73]
2026-08-15 07:30:06.304084: Inverter 0 Charge window will be: 2026-08-15 11:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 11%, target 100%
2026-08-15 07:30:06.304241: Inverter 0 disabled charge window while waiting for schedule (now 08-15 07:30:00 target set_window_minutes 30 charge start time 08-15 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 07:30:06.304316: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 07:30:06.304504: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 07:30:06.304646: No export window planned
2026-08-15 07:30:06.304829: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 07:30:06.304872: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 07:30:06.305704: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 07:30:06.306290: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 07:30:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 07:30:06.306567: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 07:30:06.306654: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 07:30:06.307235: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 07:30:06.307320: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 07:30:06.307360: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 07:30:06.307388: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 07:30:06.307416: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 07:30:06.307441: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 07:30:06.307538: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 07:30:06.307620: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 07:30:06.307650: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 07:30:06.307689: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 07:30:06.307720: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 07:30:06.307751: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 07:30:06.307800: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 07:30:06.307993: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 07:30:06.308035: Inverter 0 count register writes 0
2026-08-15 07:30:06.360686: Will recompute the plan as it is now 10.0 minutes old and will exceed the max age of 10 minutes before the next run
2026-08-15 07:30:06.360995: Recompute is saving previous plan...
2026-08-15 07:30:06.366190: Best charge window [ 15-08 07:30:00 - 15-08 08:00:00 @ 26.7p 0%, 15-08 08:00:00 - 15-08 08:30:00 @ 22.92p 0%, 15-08 08:30:00 - 15-08 09:00:00 @ 22.48p 0%, 15-08 09:00:00 - 15-08 09:30:00 @ 23.55p 0%, 15-08 09:30:00 - 15-08 10:00:00 @ 23.64p 0%, 15-08 10:00:00 - 15-08 10:30:00 @ 19.66p 0%, 15-08 10:30:00 - 15-08 11:00:00 @ 17.66p 0%, 15-08 11:00:00 - 15-08 11:30:00 @ 16.56p 0%, 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 0%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 0%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 0%, 15-08 13:00:00 - 15-08 13:30:00 @ 15.36p 0%, 15-08 13:30:00 - 15-08 14:00:00 @ 15.74p 0%, 15-08 14:00:00 - 15-08 14:30:00 @ 14.57p 0%, 15-08 14:30:00 - 15-08 15:00:00 @ 13.77p 0%, 15-08 15:00:00 - 15-08 15:30:00 @ 15.02p 0%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 0%, 15-08 16:00:00 - 15-08 16:30:00 @ 33.13p 0%, 15-08 16:30:00 - 15-08 17:00:00 @ 33.13p 0%, 15-08 17:00:00 - 15-08 17:30:00 @ 38.46p 0%, 15-08 17:30:00 - 15-08 18:00:00 @ 40.44p 0%, 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 0%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 0%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 0%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 0%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 0%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 27.8p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 29.09p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.47p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.18p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 27.57p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.5p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.6p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 24.79p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 25.08p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 24.62p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 27.02p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.47p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 26.25p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.4p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.7p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 27.63p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 22.73p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 26.7p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 22.92p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 22.48p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 23.55p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 23.64p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 19.66p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 17.66p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 16.56p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 15.46p 0%, 16-08 12:00:00 - 16-08 12:30:00 @ 17.0p 0%, 16-08 12:30:00 - 16-08 13:00:00 @ 16.34p 0%, 16-08 13:00:00 - 16-08 13:30:00 @ 15.36p 0%, 16-08 13:30:00 - 16-08 14:00:00 @ 15.74p 0%, 16-08 14:00:00 - 16-08 14:30:00 @ 14.57p 0%, 16-08 14:30:00 - 16-08 15:00:00 @ 13.77p 0%, 16-08 15:00:00 - 16-08 15:30:00 @ 15.02p 0%, 16-08 15:30:00 - 16-08 16:00:00 @ 15.87p 0%, 16-08 16:00:00 - 16-08 16:30:00 @ 33.13p 0%, 16-08 16:30:00 - 16-08 17:00:00 @ 33.13p 0%, 16-08 17:00:00 - 16-08 17:30:00 @ 38.46p 0%, 16-08 17:30:00 - 16-08 18:00:00 @ 40.44p 0%, 16-08 18:00:00 - 16-08 18:30:00 @ 41.55p 0%, 16-08 19:00:00 - 16-08 19:30:00 @ 32.58p 0%, 16-08 19:30:00 - 16-08 20:00:00 @ 32.9p 0%, 16-08 20:00:00 - 16-08 20:30:00 @ 31.99p 0%, 16-08 20:30:00 - 16-08 21:00:00 @ 32.1p 0%, 16-08 21:00:00 - 16-08 21:30:00 @ 31.71p 0%, 16-08 21:30:00 - 16-08 22:00:00 @ 31.67p 0%, 16-08 22:00:00 - 16-08 22:30:00 @ 31.77p 0%, 16-08 22:30:00 - 16-08 23:00:00 @ 29.81p 0%, 16-08 23:00:00 - 16-08 23:30:00 @ 27.8p 0%, 16-08 23:30:00 - 17-08 00:00:00 @ 29.09p 0%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.47p 0%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.18p 0%, 17-08 01:00:00 - 17-08 01:30:00 @ 27.57p 0%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.5p 0%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.6p 0%, 17-08 02:30:00 - 17-08 03:00:00 @ 24.79p 0%, 17-08 03:00:00 - 17-08 03:30:00 @ 25.08p 0%, 17-08 03:30:00 - 17-08 04:00:00 @ 24.62p 0%, 17-08 04:00:00 - 17-08 04:30:00 @ 27.02p 0%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.47p 0%, 17-08 05:00:00 - 17-08 05:30:00 @ 26.25p 0%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.4p 0%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.7p 0%, 17-08 06:30:00 - 17-08 07:00:00 @ 27.63p 0%, 17-08 07:00:00 - 17-08 07:30:00 @ 22.73p 0% ]
2026-08-15 07:30:06.366293: Best export window [  ]
2026-08-15 07:30:06.367662: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 07:30:06.385267: Load divergence over 8.0 hours mean 647.35W, min 281.4W, max 1607.4W, std dev 329.12W, divergence 25.42%
2026-08-15 07:30:06.436157: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 07:30:06.436290: LoadML is_calculating True
2026-08-15 07:30:06.436324: Not using thread pool as LoadML is calculating to avoid lockups
2026-08-15 07:30:06.451601: Calculate Best options: mode(Control charge & discharge), calculate_export_oncharge(False), calculate_export_on_pv(True), set_export_freeze_only(False), set_discharge_during_charge(True), combine_charge_slots(False), combine_export_slots(False), combine_rate_threshold(0.0), best_soc_min(0.0 kWh), best_soc_max(0.0 kWh), best_soc_keep(0.0 kWh), inverter_loss(4%), battery_loss(3%), battery_loss_discharge (3%), inverter_hybrid(True), metric_min_improvement(0.0p), metric_min_improvement_export(0.1p), metric_min_improvement_export_freeze(0.1p), metric_battery_cycle(0.0p/kWh), metric_battery_value_scaling(1.0 x) 
2026-08-15 07:30:06.453698: Optimise levels pass started at 2026-08-15 07:30:06
2026-08-15 07:30:06.454004: Optimise all windows, total charge 94 export 1
2026-08-15 07:30:14.069741: >> Region optimisation pass width 960 gives best_metric 818.06p, best_cost 826.21p, best_cycle 56.05kWh, best_import 38.56kWh
2026-08-15 07:30:15.629430: >> Region optimisation pass width 480 gives best_metric 818.06p, best_cost 826.21p, best_cycle 56.05kWh, best_import 38.56kWh
2026-08-15 07:30:16.907673: >> Region optimisation pass width 240 gives best_metric 818.06p, best_cost 826.21p, best_cycle 56.05kWh, best_import 38.56kWh
2026-08-15 07:30:23.175606: >> Region optimisation pass width 120 gives best_metric 817.56p, best_cost 824.32p, best_cycle 54.24kWh, best_import 38.42kWh
2026-08-15 07:30:23.176027: Calculated end_record as 08-16 11:30:00 based on best_price 16.34p, next_charge_start 08-15 11:30:00, max_windows 55
2026-08-15 07:30:23.176096: Optimise levels pass ended at 2026-08-15 07:30:23, duration 16.7 seconds tried 358 combinations
2026-08-15 07:30:23.176141: Set best_price_charge_level 17.6p, best_price_export_level 0p, best_price_charge 16.34p, best_cost_export 0p, best_metric 817.56p, best_keep 0kWh, best_cycle 54.24kWh, best_carbon 0kg, best_import 38.42kWh
2026-08-15 07:30:23.216254: Starting detailed optimisation end_record 08-16 11:30:00, best_price_charge 16.34p, best_price_export 0p. lowest_price_charge 13.77p with charge limits [0, 0, 0, 0, 0, 0, 0, 0, 16.0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0]kWh and export limits []kWh
2026-08-15 07:30:26.781170: ML Predictor: Epoch 4/30: lr=0.00098 huber_loss=0.0131 val_mae=0.0068 kWh val_bias=+0.0004 kWh (+0.4%) combined=0.0046 kWh ema_combined=0.0047 kWh
2026-08-15 07:30:45.222607: Tweak plan optimisation started metric 584.03p, cost 593.77p
2026-08-15 07:30:46.299035: Tweak optimisation finished metric 584.03p, cost 593.77p, metric_keep 0kWh, cycle 29.67kWh, carbon 0kg, import 23.09kWh, changed 8 window(s)
2026-08-15 07:30:46.327159: Swap charge optimisation started metric 584.03p, cost 593.77p, min_improvement_swap 0.1p
2026-08-15 07:30:54.551623: Swap charge optimisation finished metric 584.03p, cost 593.77p
2026-08-15 07:30:54.704228: Pruned 2 dead plan slot(s) in 11 trial(s), nominal metric 580.52p -> 580.52p, plan now metric 584.09p, cost 593.77p, cycle 29.67kWh, import 23.09kWh
2026-08-15 07:30:54.720659: Raw charge windows [ 15-08 07:30:00 - 15-08 08:00:00 @ 26.7p 0%, 15-08 08:00:00 - 15-08 08:30:00 @ 22.92p 0%, 15-08 08:30:00 - 15-08 09:00:00 @ 22.48p 0%, 15-08 09:00:00 - 15-08 09:30:00 @ 23.55p 0%, 15-08 09:30:00 - 15-08 10:00:00 @ 23.64p 0%, 15-08 10:00:00 - 15-08 10:30:00 @ 19.66p 0%, 15-08 10:30:00 - 15-08 11:00:00 @ 17.66p 0%, 15-08 11:00:00 - 15-08 11:30:00 @ 16.56p 0%, 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 13:30:00 @ 15.36p 100%, 15-08 13:30:00 - 15-08 14:00:00 @ 15.74p 100%, 15-08 14:00:00 - 15-08 14:30:00 @ 14.57p 100%, 15-08 14:30:00 - 15-08 15:00:00 @ 13.77p 100%, 15-08 15:00:00 - 15-08 15:30:00 @ 15.02p 100%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 97%, 15-08 16:00:00 - 15-08 16:30:00 @ 33.13p 0%, 15-08 16:30:00 - 15-08 17:00:00 @ 33.13p 0%, 15-08 17:00:00 - 15-08 17:30:00 @ 38.46p 0%, 15-08 17:30:00 - 15-08 18:00:00 @ 40.44p 0%, 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 0%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 0%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 0%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 0%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 0%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 27.8p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 29.09p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.47p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.18p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 27.57p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.5p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.6p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 24.79p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 25.08p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 24.62p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 27.02p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.47p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 26.25p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.4p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.7p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 27.63p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 22.73p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 26.7p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 22.92p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 22.48p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 23.55p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 23.64p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 19.66p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 17.66p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 16.56p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 15.46p 100%, 16-08 12:00:00 - 16-08 12:30:00 @ 17.0p 100%, 16-08 12:30:00 - 16-08 13:00:00 @ 16.34p 100%, 16-08 13:00:00 - 16-08 13:30:00 @ 15.36p 100%, 16-08 13:30:00 - 16-08 14:00:00 @ 15.74p 100%, 16-08 14:00:00 - 16-08 14:30:00 @ 14.57p 100%, 16-08 14:30:00 - 16-08 15:00:00 @ 13.77p 100%, 16-08 15:00:00 - 16-08 15:30:00 @ 15.02p 100%, 16-08 15:30:00 - 16-08 16:00:00 @ 15.87p 100%, 16-08 16:00:00 - 16-08 16:30:00 @ 33.13p 100%, 16-08 16:30:00 - 16-08 17:00:00 @ 33.13p 100%, 16-08 17:00:00 - 16-08 17:30:00 @ 38.46p 100%, 16-08 17:30:00 - 16-08 18:00:00 @ 40.44p 100%, 16-08 18:00:00 - 16-08 18:30:00 @ 41.55p 100%, 16-08 19:00:00 - 16-08 19:30:00 @ 32.58p 100%, 16-08 19:30:00 - 16-08 20:00:00 @ 32.9p 100%, 16-08 20:00:00 - 16-08 20:30:00 @ 31.99p 100%, 16-08 20:30:00 - 16-08 21:00:00 @ 32.1p 100%, 16-08 21:00:00 - 16-08 21:30:00 @ 31.71p 100%, 16-08 21:30:00 - 16-08 22:00:00 @ 31.67p 100%, 16-08 22:00:00 - 16-08 22:30:00 @ 31.77p 100%, 16-08 22:30:00 - 16-08 23:00:00 @ 29.81p 100%, 16-08 23:00:00 - 16-08 23:30:00 @ 27.8p 100%, 16-08 23:30:00 - 17-08 00:00:00 @ 29.09p 100%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.47p 100%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.18p 100%, 17-08 01:00:00 - 17-08 01:30:00 @ 27.57p 100%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.5p 100%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.6p 100%, 17-08 02:30:00 - 17-08 03:00:00 @ 24.79p 100%, 17-08 03:00:00 - 17-08 03:30:00 @ 25.08p 100%, 17-08 03:30:00 - 17-08 04:00:00 @ 24.62p 100%, 17-08 04:00:00 - 17-08 04:30:00 @ 27.02p 100%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.47p 100%, 17-08 05:00:00 - 17-08 05:30:00 @ 26.25p 100%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.4p 100%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.7p 100%, 17-08 06:30:00 - 17-08 07:00:00 @ 27.63p 100%, 17-08 07:00:00 - 17-08 07:30:00 @ 22.73p 100% ] reserve 1.12
2026-08-15 07:30:54.721588: Unclipped charge windows [ 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 15:30:00 @ 14.71p 100%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 97%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 07:30:00 @ 24.77p 100% ] reserve 1.12
2026-08-15 07:30:54.722067: Unfiltered charge windows [ 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 15:30:00 @ 14.71p 100%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 97%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 07:30:00 @ 24.77p 100% ] reserve 1.12
2026-08-15 07:30:54.722468: Filtered charge windows [ 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 15:30:00 @ 14.71p 100%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 97%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 07:30:00 @ 24.77p 100% ] reserve 1.12
2026-08-15 07:30:54.813621: Previous plan best metric is 584.16 (cost 593.98) and new plan best metric is 584.03 (cost 593.77)
2026-08-15 07:30:54.829243: New plan metric is not significantly better (metric_min_improvement_plan 2.0) than previous plan, using previous plan
2026-08-15 07:30:54.829524: Plan valid is now true after recompute was False
2026-08-15 07:30:54.890812: predict base end_record 08-16 11:30:00, final soc 1.12kWh, metric 811.29p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 08:35:00, load 27.37kWh, PV 0.0kWh
2026-08-15 07:30:55.109026: Battery has 1.08 hours left - now at 1.76kWh
2026-08-15 07:30:55.183402: predict base10 end_record 08-16 11:30:00, final soc 1.12kWh, metric 837.12p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 08:30:00, load 28.39kWh, PV 0.0kWh
2026-08-15 07:30:55.309484: predict best10 end_record 08-16 11:30:00, final soc 1.12kWh, metric 666.79p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 08:30:00, load 28.39kWh, PV 0.0kWh
2026-08-15 07:30:55.506170: predict best end_record 08-16 11:30:00, final soc 1.12kWh, metric 643.96p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 08:35:00, load 27.37kWh, PV 0.0kWh
2026-08-15 07:30:55.506791: Saving plan best values to HA entities
2026-08-15 07:30:55.779826: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 07:30:55.788164: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0.0
2026-08-15 07:30:55.796416: Best charging limit SoC's [16.0, 3.5, 4.0, 16.0, 16.0, 16.0]kWh, export []kWh gives import battery 20.31kWh, house 2.84kWh, export 0.0kWh, metric 643.96p, metric10 666.79p
2026-08-15 07:30:55.914403: Marginal costs baseline metric (no standing charge): 593.9816
2026-08-15 07:30:56.256623: Marginal energy costs matrix computed: min=15.16 max=32.58
2026-08-15 07:30:56.361930: Rate array import [{'start': 450, 'end': 480, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 480, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 23.6p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1860, 'rate': 'expensive', 'range': '(24.6p - 32.9p)'}, {'start': 1860, 'end': 1890, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 1890, 'end': 1920, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 1920, 'end': 2130, 'rate': 'cheap', 'range': '(16.6p - 23.6p)'}] export [{'start': 450, 'end': 2130, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 07:30:56.363853: - Your estimated bill for today is £5.87 and tomorrow is £5.40
2026-08-15 07:30:56.364043: - Import rates are expensive (26.7p) for the next 30 minutes and then cheap (13.8p - 23.6p) for the next 8 hours.
2026-08-15 07:30:56.364378: - The battery is currently at 11% and is in eco mode for the next 4 hours.
2026-08-15 07:30:56.364550: - For the next 48 hours there will be no solar generation.
2026-08-15 07:30:56.364717: - You will run out of battery in 1 hour.
2026-08-15 07:30:56.364897: - Your next charge slot will be in 4 hours where import rates will be cheap (15.5p).
2026-08-15 07:30:56.365096: 
2026-08-15 07:30:56.429467: Plan calculation took 50.07 seconds
2026-08-15 07:30:56.429723: Inverter 0: Type SK Sunsynk
2026-08-15 07:30:56.429778: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 07:30:56.429931: Reserve min: 7%, battery_min: 7%
2026-08-15 07:30:56.429994: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 07:30:56.430211: Inverter 0 SoC: 1.76kW 11%, current charge rate 5000W, current discharge rate 5250W, current battery power 225W, current battery voltage 51.2V, grid power -54W, load power 290W, PV Power 0W
2026-08-15 07:30:56.430347: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 07:30:56.430425: Inverter 0 scheduled charge enable is False
2026-08-15 07:30:56.430449: Inverter 0 charge windows currently []
2026-08-15 07:30:56.430471: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 07:30:56.430713: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 07:30:56.430859: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 07:30:56.430918: Inverter 0 scheduled discharge enable is False
2026-08-15 07:30:56.431120: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 07:30:56.431162: Inverter 0 discharge windows currently []
2026-08-15 07:30:56.431219: Note: Inverter does not support discharge freeze - disabled
2026-08-15 07:30:56.431249: Note: Inverter does not support charge freeze - disabled
2026-08-15 07:30:56.431264: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 07:30:56.525702: Inverter 0 Charge window will be: 2026-08-15 11:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 11%, target 100%
2026-08-15 07:30:56.525849: Inverter 0 disabled charge window while waiting for schedule (now 08-15 07:30:00 target set_window_minutes 30 charge start time 08-15 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 07:30:56.526043: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 07:30:56.526298: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 07:30:56.526451: No export window planned
2026-08-15 07:30:56.526637: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 07:30:56.526757: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 07:30:56.526973: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 07:30:56.527197: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 07:30:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 07:30:56.527580: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 07:30:56.527824: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 07:30:56.528026: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 07:30:56.528170: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 07:30:56.528311: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 07:30:56.528445: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 07:30:56.528573: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 07:30:56.528705: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 07:30:56.528851: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 07:30:56.529129: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 07:30:56.529257: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 07:30:56.533086: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 07:30:56.533264: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 07:30:56.533404: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 07:30:56.533538: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 07:30:56.533672: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 07:30:56.533795: Inverter 0 count register writes 0
2026-08-15 07:30:56.592442: Total inverter register writes now 815
2026-08-15 07:30:56.649981: Info: Completed run status Demand
2026-08-15 07:30:56.660831: Info: record_status Demand
2026-08-15 07:30:56.672818: Saved current settings to /config/predbat_config.json
2026-08-15 07:30:56.673203: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 07:31:04.340892: ML Predictor: Epoch 5/30: lr=0.00096 huber_loss=0.0147 val_mae=0.0060 kWh val_bias=-0.0007 kWh (-0.8%) combined=0.0034 kWh ema_combined=0.0043 kWh
2026-08-15 07:31:25.119694: ML Predictor: Epoch 6/30: lr=0.00094 huber_loss=0.0142 val_mae=0.0070 kWh val_bias=-0.0010 kWh (-1.2%) combined=0.0053 kWh ema_combined=0.0046 kWh
2026-08-15 07:31:26.811554: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 07:31:26.812091: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 07:31:26.812216: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 07:31:26.812432: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 07:31:26.812533: Note: Inverter does not support discharge freeze - disabled
2026-08-15 07:31:26.812615: Note: Inverter does not support charge freeze - disabled
2026-08-15 07:31:26.812689: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 07:31:43.583164: ML Predictor: Epoch 7/30: lr=0.00091 huber_loss=0.0146 val_mae=0.0054 kWh val_bias=-0.0008 kWh (-1.0%) combined=0.0032 kWh ema_combined=0.0042 kWh
2026-08-15 07:32:04.389538: ML Predictor: Epoch 8/30: lr=0.00088 huber_loss=0.0114 val_mae=0.0048 kWh val_bias=-0.0005 kWh (-0.5%) combined=0.0029 kWh ema_combined=0.0038 kWh
2026-08-15 07:32:25.781914: ML Predictor: Epoch 9/30: lr=0.00084 huber_loss=0.0101 val_mae=0.0050 kWh val_bias=-0.0012 kWh (-1.3%) combined=0.0027 kWh ema_combined=0.0035 kWh
2026-08-15 07:32:44.890472: ML Predictor: Epoch 10/30: lr=0.00080 huber_loss=0.0095 val_mae=0.0046 kWh val_bias=-0.0007 kWh (-0.8%) combined=0.0024 kWh ema_combined=0.0031 kWh
2026-08-15 07:33:04.431797: ML Predictor: Epoch 11/30: lr=0.00076 huber_loss=0.0081 val_mae=0.0044 kWh val_bias=-0.0004 kWh (-0.5%) combined=0.0026 kWh ema_combined=0.0030 kWh
2026-08-15 07:33:23.199246: ML Predictor: Epoch 12/30: lr=0.00072 huber_loss=0.0083 val_mae=0.0047 kWh val_bias=-0.0005 kWh (-0.6%) combined=0.0026 kWh ema_combined=0.0029 kWh
2026-08-15 07:33:27.307624: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 07:33:27.308162: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 07:33:27.308338: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 07:33:27.308677: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 07:33:27.308842: Note: Inverter does not support discharge freeze - disabled
2026-08-15 07:33:27.309008: Note: Inverter does not support charge freeze - disabled
2026-08-15 07:33:27.309147: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 07:33:41.888558: ML Predictor: Epoch 13/30: lr=0.00067 huber_loss=0.0077 val_mae=0.0046 kWh val_bias=-0.0014 kWh (-1.6%) combined=0.0026 kWh ema_combined=0.0028 kWh
2026-08-15 07:34:01.545288: ML Predictor: Epoch 14/30: lr=0.00062 huber_loss=0.0084 val_mae=0.0042 kWh val_bias=-0.0004 kWh (-0.5%) combined=0.0023 kWh ema_combined=0.0026 kWh
2026-08-15 07:34:21.984604: ML Predictor: Epoch 15/30: lr=0.00057 huber_loss=0.0077 val_mae=0.0047 kWh val_bias=+0.0005 kWh (+0.5%) combined=0.0028 kWh ema_combined=0.0027 kWh
2026-08-15 07:34:41.231880: ML Predictor: Epoch 16/30: lr=0.00053 huber_loss=0.0078 val_mae=0.0040 kWh val_bias=-0.0008 kWh (-0.9%) combined=0.0025 kWh ema_combined=0.0026 kWh
2026-08-15 07:35:00.709336: --------------- PredBat - update at 2026-08-15 07:35:00+01:00 with clock skew 0 minutes, minutes now 455
2026-08-15 07:35:00.710120: Saved current settings to /config/predbat_config.json
2026-08-15 07:35:00.710367: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 85.0 minutes
2026-08-15 07:35:00.710552: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.1, latest beta is v8.48.1
2026-08-15 07:35:00.710685: Autoupdate: Currently up to date
2026-08-15 07:35:00.754384: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 07:35:00.754653: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 07:35:00.755056: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 07:35:00.755916: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 07:35:00.756165: Predbat mode is set to Control charge & discharge
2026-08-15 07:35:01.138240: Found 21602 load_today datapoints going back 28 days
2026-08-15 07:35:01.139329: Using load_power data to fill gaps in load_today data
2026-08-15 07:35:02.567551: Processing 721 30-minute periods for power integration
2026-08-15 07:35:02.767902: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 07:35:02.768068: Car charging hold False, threshold 6.0kWh
2026-08-15 07:35:02.768123: Current data so far today: load 5.8kWh, import 6.8kWh, export 0.0kWh, PV 0kWh
2026-08-15 07:35:02.789928: Cars: SoC: [12.892000000000001]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 07:35:02.790401: Standing charge is set to 49.98p
2026-08-15 07:35:02.844181: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 07:35:02.844326: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 07:35:02.844556: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 455.0 minutes
2026-08-15 07:35:02.845144: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 454.7 minutes
2026-08-15 07:35:02.849521: Loaded 47 datapoints of futurerate analysis
2026-08-15 07:35:03.063069: Predicted future rates: ['08-15 00:00:00 => 28.9 / 20.01', '08-15 01:00:00 => 27.54 / 19.31', '08-15 02:00:00 => 26.52 / 18.8', '08-15 03:00:00 => 25.99 / 18.53', '08-15 04:00:00 => 25.8 / 18.43', '08-15 05:00:00 => 25.96 / 18.51', '08-15 06:00:00 => 25.55 / 18.3', '08-15 07:00:00 => 24.33 / 17.68', '08-15 08:00:00 => 23.03 / 17.01', '08-15 09:00:00 => 22.05 / 16.51', '08-15 10:00:00 => 20.43 / 15.68', '08-15 11:00:00 => 18.01 / 14.45', '08-15 12:00:00 => 16.37 / 13.61', '08-15 13:00:00 => 15.76 / 13.3', '08-15 14:00:00 => 15.35 / 13.09', '08-15 15:00:00 => 15.86 / 13.35', '08-15 16:00:00 => 32.89 / 16.13', '08-15 17:00:00 => 38.02 / 18.75', '08-15 18:00:00 => 42.36 / 20.96', '08-15 19:00:00 => 31.09 / 21.13', '08-15 20:00:00 => 31.64 / 21.41', '08-15 21:00:00 => 31.64 / 21.41', '08-15 22:00:00 => 30.58 / 20.87']
2026-08-15 07:35:03.120325: Rate min forward looking: now 13.77p at end of forecast 13.77p
2026-08-15 07:35:03.120807: Import rates: min 13.77p, max 43.82p, average 25.96p
2026-08-15 07:35:03.162438: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 07:35:03.162643: Rate thresholds (for charge/export) are import 43.32p (0.0p), export -0.1p (0.0p)
2026-08-15 07:35:03.163788: High export rate found rates in range 99p to -99p
2026-08-15 07:35:03.249152: Low Import rate found rates in range 13.77p to 41.55p
2026-08-15 07:35:03.265092: Car 0 charging is not planned as it is not plugged in
2026-08-15 07:35:03.291510: Battery level now 1.76kWh, -1hr ago 1.44kWh, at midnight 1.66kWh, battery value change in the last hour 3.78p, change today 1.23p, rate_forward 11.83p
2026-08-15 07:35:03.291955: Last hour: net energy 0.1kWh, import 0.1kWh, export 0.0kWh, car 0kWh, load 0.45kWh, net cost 2.76p, import 2.76p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 07:35:03.364270: Today's energy total net 6.8kWh, import 6.8kWh, export 0.0kWh, cost 231.27p, import 181.28p, export 0.0p, carbon 0.0kg
2026-08-15 07:35:03.365534: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 07:35:03.489920: Using weighted-bucket historical load forecast over 14 days
2026-08-15 07:35:03.510321: Today's load divergence 108.14%, in-day adjustment 132.38%, damping 0.95x, yesterday 143.77% today 107.73% blend 68.4%
2026-08-15 07:35:03.510413: Today's predicted so far 4.57kWh with 0.0kWh car/iBoost excluded, 2.68kWh import ignored, and 4.57kWh forecast extra.
2026-08-15 07:35:03.510444: Today's actual load so far 5.95kWh with 0.0kWh car/iBoost excluded, and 2.68kWh import ignored.
2026-08-15 07:35:03.587526: Inverter 0: Type SK Sunsynk
2026-08-15 07:35:03.587643: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 07:35:03.587839: Reserve min: 7%, battery_min: 7%
2026-08-15 07:35:03.587916: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 07:35:03.588194: Inverter 0 SoC: 1.76kW 11%, current charge rate 5000W, current discharge rate 5250W, current battery power 284W, current battery voltage 51.2V, grid power -54W, load power 345W, PV Power 0W
2026-08-15 07:35:03.588385: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 07:35:03.588515: Inverter 0 scheduled charge enable is False
2026-08-15 07:35:03.588556: Inverter 0 charge windows currently []
2026-08-15 07:35:03.588584: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 07:35:03.588766: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 07:35:03.588840: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 07:35:03.588897: Inverter 0 scheduled discharge enable is False
2026-08-15 07:35:03.589067: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 07:35:03.589114: Inverter 0 discharge windows currently []
2026-08-15 07:35:03.589137: Note: Inverter does not support discharge freeze - disabled
2026-08-15 07:35:03.589163: Note: Inverter does not support charge freeze - disabled
2026-08-15 07:35:03.589181: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 07:35:03.692760: Dynamic load last period 0.60kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 07:35:03.692875: Plan was last updated on 2026-08-15 07:30:00+01:00 and is now 5.0 minutes old
2026-08-15 07:35:03.693178: Best charge window [ 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 00:30:00 @ 28.84p 100% ]
2026-08-15 07:35:03.693270: Best export window [  ]
2026-08-15 07:35:03.694164: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 07:35:03.712283: Load divergence over 8.0 hours mean 648.36W, min 296.4W, max 1564.2W, std dev 318.87W, divergence 24.59%
2026-08-15 07:35:03.745069: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 07:35:03.745413: LoadML is_calculating True
2026-08-15 07:35:03.745689: Not using thread pool as LoadML is calculating to avoid lockups
2026-08-15 07:35:03.816133: predict base end_record 08-16 11:35:00, final soc 1.12kWh, metric 810.74p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 08:40:00, load 27.44kWh, PV 0.0kWh
2026-08-15 07:35:04.072834: Battery has 1.08 hours left - now at 1.76kWh
2026-08-15 07:35:04.156593: predict base10 end_record 08-16 11:35:00, final soc 1.12kWh, metric 836.55p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 08:35:00, load 28.47kWh, PV 0.0kWh
2026-08-15 07:35:04.328825: predict best10 end_record 08-16 11:35:00, final soc 1.44kWh, metric 671.96p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 08:35:00, load 28.47kWh, PV 0.0kWh
2026-08-15 07:35:04.452041: ML Predictor: Epoch 17/30: lr=0.00048 huber_loss=0.0072 val_mae=0.0039 kWh val_bias=-0.0008 kWh (-0.9%) combined=0.0023 kWh ema_combined=0.0025 kWh
2026-08-15 07:35:04.542959: predict best end_record 08-16 11:35:00, final soc 1.51kWh, metric 650.52p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 08:40:00, load 27.44kWh, PV 0.0kWh
2026-08-15 07:35:04.543256: Saving plan best values to HA entities
2026-08-15 07:35:05.009591: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 07:35:05.020696: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 07:35:05.031594: Best charging limit SoC's [16.0, 3.5, 4.0, 16.0, 16.0, 16.0]kWh, export []kWh gives import battery 20.83kWh, house 2.75kWh, export 0.0kWh, metric 650.52p, metric10 671.96p
2026-08-15 07:35:05.202903: Marginal costs baseline metric (no standing charge): 600.5318
2026-08-15 07:35:05.606618: Marginal energy costs matrix computed: min=14.99 max=32.78
2026-08-15 07:35:05.778937: Rate array import [{'start': 455, 'end': 480, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 480, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 23.6p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1860, 'rate': 'expensive', 'range': '(24.6p - 32.9p)'}, {'start': 1860, 'end': 1890, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 1890, 'end': 1920, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 1920, 'end': 2135, 'rate': 'cheap', 'range': '(15.5p - 23.6p)'}] export [{'start': 455, 'end': 2135, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 07:35:05.790130: - Your estimated bill for today is £5.86 and tomorrow is £5.37
2026-08-15 07:35:05.790240: - Import rates are expensive (26.7p) for the next 25 minutes and then cheap (13.8p - 23.6p) for the next 8 hours.
2026-08-15 07:35:05.790277: - The battery is currently at 11% and is in eco mode for the next 3  hours.
2026-08-15 07:35:05.790307: - For the next 48 hours there will be no solar generation.
2026-08-15 07:35:05.790449: - You will run out of battery in 1 hour.
2026-08-15 07:35:05.794192: - Your next charge slot will be in 3  hours where import rates will be cheap (15.5p).
2026-08-15 07:35:05.794274: 
2026-08-15 07:35:05.848011: Plan calculation took 2.16 seconds
2026-08-15 07:35:05.852547: No high rate period found
2026-08-15 07:35:05.997380: Import threshold used for optimisation was 22.73p
2026-08-15 07:35:06.120001: Low import rate windows [0: 08-15 07:30:00 - 08-15 08:00:00 @ 26.7, 1: 08-15 08:00:00 - 08-15 08:30:00 @ 22.92, 2: 08-15 08:30:00 - 08-15 09:00:00 @ 22.48, 3: 08-15 09:00:00 - 08-15 09:30:00 @ 23.55, 4: 08-15 09:30:00 - 08-15 10:00:00 @ 23.64, 5: 08-15 10:00:00 - 08-15 10:30:00 @ 19.66, 6: 08-15 10:30:00 - 08-15 11:00:00 @ 17.66, 7: 08-15 11:00:00 - 08-15 11:30:00 @ 16.56, 8: 08-15 11:30:00 - 08-15 12:00:00 @ 15.46, 9: 08-15 12:00:00 - 08-15 12:30:00 @ 17.0, 10: 08-15 12:30:00 - 08-15 13:00:00 @ 16.34, 11: 08-15 13:00:00 - 08-15 13:30:00 @ 15.36, 12: 08-15 13:30:00 - 08-15 14:00:00 @ 15.74, 13: 08-15 14:00:00 - 08-15 14:30:00 @ 14.57, 14: 08-15 14:30:00 - 08-15 15:00:00 @ 13.77, 15: 08-15 15:00:00 - 08-15 15:30:00 @ 15.02, 16: 08-15 15:30:00 - 08-15 16:00:00 @ 15.87, 17: 08-15 16:00:00 - 08-15 16:30:00 @ 33.13, 18: 08-15 16:30:00 - 08-15 17:00:00 @ 33.13, 19: 08-15 17:00:00 - 08-15 17:30:00 @ 38.46, 20: 08-15 17:30:00 - 08-15 18:00:00 @ 40.44, 21: 08-15 18:00:00 - 08-15 18:30:00 @ 41.55, 22: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 23: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 24: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 25: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 26: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 27: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 28: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 29: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 30: 08-15 23:00:00 - 08-15 23:30:00 @ 27.8, 31: 08-15 23:30:00 - 08-16 00:00:00 @ 29.09, 32: 08-16 00:00:00 - 08-16 00:30:00 @ 28.47, 33: 08-16 00:30:00 - 08-16 01:00:00 @ 27.18, 34: 08-16 01:00:00 - 08-16 01:30:00 @ 27.57, 35: 08-16 01:30:00 - 08-16 02:00:00 @ 26.5, 36: 08-16 02:00:00 - 08-16 02:30:00 @ 25.6, 37: 08-16 02:30:00 - 08-16 03:00:00 @ 24.79, 38: 08-16 03:00:00 - 08-16 03:30:00 @ 25.08, 39: 08-16 03:30:00 - 08-16 04:00:00 @ 24.62, 40: 08-16 04:00:00 - 08-16 04:30:00 @ 27.02, 41: 08-16 04:30:00 - 08-16 05:00:00 @ 26.47, 42: 08-16 05:00:00 - 08-16 05:30:00 @ 26.25, 43: 08-16 05:30:00 - 08-16 06:00:00 @ 26.4, 44: 08-16 06:00:00 - 08-16 06:30:00 @ 25.7, 45: 08-16 06:30:00 - 08-16 07:00:00 @ 27.63, 46: 08-16 07:00:00 - 08-16 07:30:00 @ 22.73, 47: 08-16 07:30:00 - 08-16 08:00:00 @ 26.7, 48: 08-16 08:00:00 - 08-16 08:30:00 @ 22.92, 49: 08-16 08:30:00 - 08-16 09:00:00 @ 22.48, 50: 08-16 09:00:00 - 08-16 09:30:00 @ 23.55, 51: 08-16 09:30:00 - 08-16 10:00:00 @ 23.64, 52: 08-16 10:00:00 - 08-16 10:30:00 @ 19.66, 53: 08-16 10:30:00 - 08-16 11:00:00 @ 17.66, 54: 08-16 11:00:00 - 08-16 11:30:00 @ 16.56, 55: 08-16 11:30:00 - 08-16 12:00:00 @ 15.46, 56: 08-16 12:00:00 - 08-16 12:30:00 @ 17.0, 57: 08-16 12:30:00 - 08-16 13:00:00 @ 16.34, 58: 08-16 13:00:00 - 08-16 13:30:00 @ 15.36, 59: 08-16 13:30:00 - 08-16 14:00:00 @ 15.74, 60: 08-16 14:00:00 - 08-16 14:30:00 @ 14.57, 61: 08-16 14:30:00 - 08-16 15:00:00 @ 13.77, 62: 08-16 15:00:00 - 08-16 15:30:00 @ 15.02, 63: 08-16 15:30:00 - 08-16 16:00:00 @ 15.87, 64: 08-16 16:00:00 - 08-16 16:30:00 @ 33.13, 65: 08-16 16:30:00 - 08-16 17:00:00 @ 33.13, 66: 08-16 17:00:00 - 08-16 17:30:00 @ 38.46, 67: 08-16 17:30:00 - 08-16 18:00:00 @ 40.44, 68: 08-16 18:00:00 - 08-16 18:30:00 @ 41.55, 69: 08-16 19:00:00 - 08-16 19:30:00 @ 32.58, 70: 08-16 19:30:00 - 08-16 20:00:00 @ 32.9, 71: 08-16 20:00:00 - 08-16 20:30:00 @ 31.99, 72: 08-16 20:30:00 - 08-16 21:00:00 @ 32.1, 73: 08-16 21:00:00 - 08-16 21:30:00 @ 31.71, 74: 08-16 21:30:00 - 08-16 22:00:00 @ 31.67, 75: 08-16 22:00:00 - 08-16 22:30:00 @ 31.77, 76: 08-16 22:30:00 - 08-16 23:00:00 @ 29.81, 77: 08-16 23:00:00 - 08-16 23:30:00 @ 27.8, 78: 08-16 23:30:00 - 08-17 00:00:00 @ 29.09, 79: 08-17 00:00:00 - 08-17 00:30:00 @ 28.47, 80: 08-17 00:30:00 - 08-17 01:00:00 @ 27.18, 81: 08-17 01:00:00 - 08-17 01:30:00 @ 27.57, 82: 08-17 01:30:00 - 08-17 02:00:00 @ 26.5, 83: 08-17 02:00:00 - 08-17 02:30:00 @ 25.6, 84: 08-17 02:30:00 - 08-17 03:00:00 @ 24.79, 85: 08-17 03:00:00 - 08-17 03:30:00 @ 25.08, 86: 08-17 03:30:00 - 08-17 04:00:00 @ 24.62, 87: 08-17 04:00:00 - 08-17 04:30:00 @ 27.02, 88: 08-17 04:30:00 - 08-17 05:00:00 @ 26.47, 89: 08-17 05:00:00 - 08-17 05:30:00 @ 26.25, 90: 08-17 05:30:00 - 08-17 06:00:00 @ 26.4, 91: 08-17 06:00:00 - 08-17 06:30:00 @ 25.7, 92: 08-17 06:30:00 - 08-17 07:00:00 @ 27.63, 93: 08-17 07:00:00 - 08-17 07:30:00 @ 22.73, 94: 08-17 07:30:00 - 08-17 08:00:00 @ 26.7]
2026-08-15 07:35:06.132186: Inverter 0 Charge window will be: 2026-08-15 11:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 11%, target 100%
2026-08-15 07:35:06.132378: Inverter 0 disabled charge window while waiting for schedule (now 08-15 07:35:00 target set_window_minutes 30 charge start time 08-15 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 07:35:06.132654: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 07:35:06.132879: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 07:35:06.133037: No export window planned
2026-08-15 07:35:06.133154: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 07:35:06.133189: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 07:35:06.133314: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 07:35:06.133454: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 07:35:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 07:35:06.133504: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 07:35:06.133551: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 07:35:06.133636: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 07:35:06.133779: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 07:35:06.133822: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 07:35:06.133844: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 07:35:06.134020: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 07:35:06.134058: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 07:35:06.134081: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 07:35:06.134143: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 07:35:06.134179: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 07:35:06.134275: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 07:35:06.134309: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 07:35:06.134331: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 07:35:06.134353: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 07:35:06.134426: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 07:35:06.134455: Inverter 0 count register writes 0
2026-08-15 07:35:06.159030: Will not recompute the plan, it is 5.0 minutes old and max age is 10 minutes
2026-08-15 07:35:06.169516: Total inverter register writes now 815
2026-08-15 07:35:06.250075: Info: Completed run status Demand
2026-08-15 07:35:06.263524: Info: record_status Demand
2026-08-15 07:35:06.295890: Saved current settings to /config/predbat_config.json
2026-08-15 07:35:06.296237: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 07:35:27.460349: ML Predictor: Epoch 18/30: lr=0.00043 huber_loss=0.0066 val_mae=0.0037 kWh val_bias=-0.0015 kWh (-1.7%) combined=0.0027 kWh ema_combined=0.0026 kWh
2026-08-15 07:35:42.458228: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 07:35:42.458647: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 07:35:42.458879: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 07:35:42.459245: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 07:35:42.459399: Note: Inverter does not support discharge freeze - disabled
2026-08-15 07:35:42.459520: Note: Inverter does not support charge freeze - disabled
2026-08-15 07:35:42.459667: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 07:35:47.230072: ML Predictor: Epoch 19/30: lr=0.00038 huber_loss=0.0064 val_mae=0.0039 kWh val_bias=-0.0017 kWh (-1.9%) combined=0.0025 kWh ema_combined=0.0026 kWh
2026-08-15 07:36:05.695994: ML Predictor: Epoch 20/30: lr=0.00034 huber_loss=0.0073 val_mae=0.0042 kWh val_bias=-0.0020 kWh (-2.2%) combined=0.0031 kWh ema_combined=0.0027 kWh
2026-08-15 07:36:24.716395: ML Predictor: Epoch 21/30: lr=0.00030 huber_loss=0.0066 val_mae=0.0037 kWh val_bias=-0.0019 kWh (-2.1%) combined=0.0029 kWh ema_combined=0.0028 kWh
2026-08-15 07:36:44.791529: ML Predictor: Epoch 22/30: lr=0.00026 huber_loss=0.0075 val_mae=0.0045 kWh val_bias=-0.0027 kWh (-3.1%) combined=0.0037 kWh ema_combined=0.0030 kWh
2026-08-15 07:37:05.706239: ML Predictor: Epoch 23/30: lr=0.00022 huber_loss=0.0059 val_mae=0.0040 kWh val_bias=-0.0018 kWh (-2.0%) combined=0.0026 kWh ema_combined=0.0029 kWh
2026-08-15 07:37:26.558710: ML Predictor: Epoch 24/30: lr=0.00019 huber_loss=0.0058 val_mae=0.0030 kWh val_bias=+0.0000 kWh (+0.0%) combined=0.0019 kWh ema_combined=0.0026 kWh
2026-08-15 07:37:46.399861: ML Predictor: Epoch 25/30: lr=0.00016 huber_loss=0.0061 val_mae=0.0032 kWh val_bias=-0.0015 kWh (-1.7%) combined=0.0023 kWh ema_combined=0.0025 kWh
2026-08-15 07:37:56.939405: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 07:37:56.939851: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 07:37:56.939920: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 07:37:56.940260: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 07:37:56.940322: Note: Inverter does not support discharge freeze - disabled
2026-08-15 07:37:56.940417: Note: Inverter does not support charge freeze - disabled
2026-08-15 07:37:56.940601: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 07:38:06.295891: ML Predictor: Epoch 26/30: lr=0.00014 huber_loss=0.0060 val_mae=0.0029 kWh val_bias=-0.0005 kWh (-0.5%) combined=0.0016 kWh ema_combined=0.0022 kWh
2026-08-15 07:38:25.941055: ML Predictor: Epoch 27/30: lr=0.00012 huber_loss=0.0054 val_mae=0.0030 kWh val_bias=-0.0009 kWh (-1.0%) combined=0.0018 kWh ema_combined=0.0021 kWh
2026-08-15 07:38:46.797466: ML Predictor: Epoch 28/30: lr=0.00011 huber_loss=0.0057 val_mae=0.0029 kWh val_bias=-0.0001 kWh (-0.1%) combined=0.0016 kWh ema_combined=0.0020 kWh
2026-08-15 07:39:07.829881: ML Predictor: Epoch 29/30: lr=0.00010 huber_loss=0.0052 val_mae=0.0028 kWh val_bias=-0.0009 kWh (-1.0%) combined=0.0019 kWh ema_combined=0.0020 kWh
2026-08-15 07:39:28.396827: ML Predictor: Epoch 30/30: lr=0.00010 huber_loss=0.0056 val_mae=0.0030 kWh val_bias=-0.0012 kWh (-1.3%) combined=0.0021 kWh ema_combined=0.0020 kWh
2026-08-15 07:39:28.397981: ML Predictor: Restored best weights from epoch with val_mae=0.0028 kWh val_bias=-0.0009 kWh (-1.0%)
2026-08-15 07:39:28.398273: ML Predictor: Training complete, final val_mae=0.0028 kWh val_bias=-0.0009 kWh (-1.0%)
2026-08-15 07:39:30.007962: ML Predictor: AR rollout over holdout: ar_mae=0.0031 kWh ar_bias=-0.0009 kWh (-1.1%) [drift vs teacher-forced: +0.0003 kWh]
2026-08-15 07:39:30.012909: ML Predictor: Curriculum pass 4/5 complete, val_mae=0.0028 kWh
2026-08-15 07:39:30.013025: ML Predictor: Curriculum final pass 5/5: full dataset (56.8 days)
2026-08-15 07:39:30.013060: ML Predictor: Starting fine-tune training with 30 epochs
2026-08-15 07:39:30.726917: ML Predictor: Creating dataset with 1362 hours of training data, 48 hours validation
2026-08-15 07:39:35.690801: ML Predictor: Created 16059 training samples, 576 validation samples
2026-08-15 07:39:35.746941: ML Predictor: Normalization stats [ema-update alpha=0.1] target(mean=0.0587 std=0.0472) load(mean=0.0590 std=0.0474) pv(mean=0.0000 std=0.0100) temp(mean=19.5433 std=4.4431) import_rate(mean=25.5221 std=2.4817) export_rate(mean=0.0000 std=1.0000) time(mean=-0.1910 std=0.5243)
2026-08-15 07:39:35.839995: ML Predictor: Applied EMA normalization update (alpha=0.1) to track feature drift
2026-08-15 07:39:35.859446: ML Predictor: Reset Adam optimiser state for fine-tuning
2026-08-15 07:39:36.018012: ML Predictor: Baseline (pre-finetune) val_mae=0.0082 kWh val_bias=-0.0032 kWh
2026-08-15 07:39:58.016348: ML Predictor: Epoch 1/30: lr=0.00100 huber_loss=0.0112 val_mae=0.0075 kWh val_bias=-0.0010 kWh (-1.0%) combined=0.0037 kWh ema_combined=0.0037 kWh
2026-08-15 07:40:00.888081: --------------- PredBat - update at 2026-08-15 07:40:00+01:00 with clock skew 0 minutes, minutes now 460
2026-08-15 07:40:00.889600: Saved current settings to /config/predbat_config.json
2026-08-15 07:40:00.889990: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 90.0 minutes
2026-08-15 07:40:00.890209: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.1, latest beta is v8.48.1
2026-08-15 07:40:00.890394: Autoupdate: Currently up to date
2026-08-15 07:40:00.930496: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 07:40:00.930745: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 07:40:00.931021: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 07:40:00.931926: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 07:40:00.932155: Predbat mode is set to Control charge & discharge
2026-08-15 07:40:01.283345: Found 21602 load_today datapoints going back 28 days
2026-08-15 07:40:01.283578: Using load_power data to fill gaps in load_today data
2026-08-15 07:40:02.435214: Processing 721 30-minute periods for power integration
2026-08-15 07:40:02.777201: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 07:40:02.779607: Car charging hold False, threshold 6.0kWh
2026-08-15 07:40:02.782964: Current data so far today: load 5.7kWh, import 6.8kWh, export 0.0kWh, PV 0kWh
2026-08-15 07:40:02.798501: Cars: SoC: [12.892000000000001]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 07:40:02.798963: Standing charge is set to 49.98p
2026-08-15 07:40:02.870069: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 07:40:02.870184: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 07:40:02.870402: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 460.0 minutes
2026-08-15 07:40:02.870837: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 459.7 minutes
2026-08-15 07:40:02.873872: Loaded 47 datapoints of futurerate analysis
2026-08-15 07:40:03.050336: Predicted future rates: ['08-15 00:00:00 => 28.9 / 20.01', '08-15 01:00:00 => 27.54 / 19.31', '08-15 02:00:00 => 26.52 / 18.8', '08-15 03:00:00 => 25.99 / 18.53', '08-15 04:00:00 => 25.8 / 18.43', '08-15 05:00:00 => 25.96 / 18.51', '08-15 06:00:00 => 25.55 / 18.3', '08-15 07:00:00 => 24.33 / 17.68', '08-15 08:00:00 => 23.03 / 17.01', '08-15 09:00:00 => 22.05 / 16.51', '08-15 10:00:00 => 20.43 / 15.68', '08-15 11:00:00 => 18.01 / 14.45', '08-15 12:00:00 => 16.37 / 13.61', '08-15 13:00:00 => 15.76 / 13.3', '08-15 14:00:00 => 15.35 / 13.09', '08-15 15:00:00 => 15.86 / 13.35', '08-15 16:00:00 => 32.89 / 16.13', '08-15 17:00:00 => 38.02 / 18.75', '08-15 18:00:00 => 42.36 / 20.96', '08-15 19:00:00 => 31.09 / 21.13', '08-15 20:00:00 => 31.64 / 21.41', '08-15 21:00:00 => 31.64 / 21.41', '08-15 22:00:00 => 30.58 / 20.87']
2026-08-15 07:40:03.121389: Rate min forward looking: now 13.77p at end of forecast 13.77p
2026-08-15 07:40:03.121848: Import rates: min 13.77p, max 43.82p, average 25.96p
2026-08-15 07:40:03.176414: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 07:40:03.176741: Rate thresholds (for charge/export) are import 43.32p (0.0p), export -0.1p (0.0p)
2026-08-15 07:40:03.178064: High export rate found rates in range 99p to -99p
2026-08-15 07:40:03.403079: Low Import rate found rates in range 13.77p to 41.55p
2026-08-15 07:40:03.417107: Car 0 charging is not planned as it is not plugged in
2026-08-15 07:40:03.436436: Battery level now 1.76kWh, -1hr ago 1.42kWh, at midnight 1.66kWh, battery value change in the last hour 4.07p, change today 1.23p, rate_forward 11.83p
2026-08-15 07:40:03.443976: Last hour: net energy 0.05kWh, import 0.05kWh, export 0.0kWh, car 0kWh, load 0.33kWh, net cost 1.38p, import 1.38p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 07:40:03.533166: Today's energy total net 6.8kWh, import 6.8kWh, export 0.0kWh, cost 231.27p, import 181.28p, export 0.0p, carbon 0.0kg
2026-08-15 07:40:03.533433: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 07:40:03.689202: Using weighted-bucket historical load forecast over 14 days
2026-08-15 07:40:03.720421: Today's load divergence 107.45%, in-day adjustment 132.05%, damping 0.95x, yesterday 143.77% today 107.07% blend 68.06%
2026-08-15 07:40:03.720826: Today's predicted so far 4.56kWh with 0.0kWh car/iBoost excluded, 2.72kWh import ignored, and 4.56kWh forecast extra.
2026-08-15 07:40:03.720876: Today's actual load so far 5.81kWh with 0.0kWh car/iBoost excluded, and 2.72kWh import ignored.
2026-08-15 07:40:03.771081: Inverter 0: Type SK Sunsynk
2026-08-15 07:40:03.771182: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 07:40:03.771375: Reserve min: 7%, battery_min: 7%
2026-08-15 07:40:03.771450: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 07:40:03.771745: Inverter 0 SoC: 1.76kW 11%, current charge rate 5000W, current discharge rate 5250W, current battery power 235W, current battery voltage 51.2V, grid power -54W, load power 294W, PV Power 0W
2026-08-15 07:40:03.771905: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 07:40:03.771996: Inverter 0 scheduled charge enable is False
2026-08-15 07:40:03.772032: Inverter 0 charge windows currently []
2026-08-15 07:40:03.772059: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 07:40:03.772170: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 07:40:03.772205: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 07:40:03.772240: Inverter 0 scheduled discharge enable is False
2026-08-15 07:40:03.772373: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 07:40:03.772410: Inverter 0 discharge windows currently []
2026-08-15 07:40:03.772432: Note: Inverter does not support discharge freeze - disabled
2026-08-15 07:40:03.772452: Note: Inverter does not support charge freeze - disabled
2026-08-15 07:40:03.772564: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 07:40:03.848233: Dynamic load last period 0.00kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 07:40:03.848354: Plan was last updated on 2026-08-15 07:30:00+01:00 and is now 10.0 minutes old
2026-08-15 07:40:03.848733: Best charge window [ 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 00:30:00 @ 28.84p 100% ]
2026-08-15 07:40:03.848892: Best export window [  ]
2026-08-15 07:40:03.850021: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 07:40:03.853973: Load divergence over 8.0 hours mean 652.36W, min 296.4W, max 1657.2W, std dev 316.72W, divergence 24.27%
2026-08-15 07:40:03.883782: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 07:40:03.884443: LoadML is_calculating True
2026-08-15 07:40:03.886638: Not using thread pool as LoadML is calculating to avoid lockups
2026-08-15 07:40:03.988715: predict base end_record 08-16 11:40:00, final soc 1.12kWh, metric 811.36p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 08:40:00, load 27.4kWh, PV 0.0kWh
2026-08-15 07:40:04.274880: Battery has 1.0 hours left - now at 1.76kWh
2026-08-15 07:40:04.420672: predict base10 end_record 08-16 11:40:00, final soc 1.12kWh, metric 837.21p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 08:40:00, load 28.43kWh, PV 0.0kWh
2026-08-15 07:40:04.554805: predict best10 end_record 08-16 11:40:00, final soc 1.77kWh, metric 678.03p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 08:40:00, load 28.43kWh, PV 0.0kWh
2026-08-15 07:40:04.666146: predict best end_record 08-16 11:40:00, final soc 1.9kWh, metric 657.52p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 08:40:00, load 27.4kWh, PV 0.0kWh
2026-08-15 07:40:04.666254: Saving plan best values to HA entities
2026-08-15 07:40:05.039343: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0
2026-08-15 07:40:05.058074: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 07:40:05.066717: Best charging limit SoC's [16.0, 3.5, 4.0, 16.0, 16.0, 16.0]kWh, export []kWh gives import battery 21.33kWh, house 2.73kWh, export 0.0kWh, metric 657.52p, metric10 678.03p
2026-08-15 07:40:05.212798: Marginal costs baseline metric (no standing charge): 607.5406
2026-08-15 07:40:05.642204: Marginal energy costs matrix computed: min=14.83 max=32.97
2026-08-15 07:40:05.762569: Rate array import [{'start': 460, 'end': 480, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 480, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 23.6p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1860, 'rate': 'expensive', 'range': '(24.6p - 32.9p)'}, {'start': 1860, 'end': 1890, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 1890, 'end': 1920, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 1920, 'end': 2140, 'rate': 'cheap', 'range': '(15.5p - 23.6p)'}] export [{'start': 460, 'end': 2140, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 07:40:05.763193: - Your estimated bill for today is £5.85 and tomorrow is £5.39
2026-08-15 07:40:05.763239: - Import rates are expensive (26.7p) for the next 20 minutes and then cheap (13.8p - 23.6p) for the next 8 hours.
2026-08-15 07:40:05.763261: - The battery is currently at 11% and is in eco mode for the next 3 and three quarters hours.
2026-08-15 07:40:05.763280: - For the next 48 hours there will be no solar generation.
2026-08-15 07:40:05.763297: - You will run out of battery in 1 hour.
2026-08-15 07:40:05.763314: - Your next charge slot will be in 3 and three quarters hours where import rates will be cheap (15.5p).
2026-08-15 07:40:05.763332: 
2026-08-15 07:40:05.853614: Plan calculation took 2.01 seconds
2026-08-15 07:40:05.857234: No high rate period found
2026-08-15 07:40:05.956497: Import threshold used for optimisation was 22.73p
2026-08-15 07:40:06.066664: Low import rate windows [0: 08-15 07:30:00 - 08-15 08:00:00 @ 26.7, 1: 08-15 08:00:00 - 08-15 08:30:00 @ 22.92, 2: 08-15 08:30:00 - 08-15 09:00:00 @ 22.48, 3: 08-15 09:00:00 - 08-15 09:30:00 @ 23.55, 4: 08-15 09:30:00 - 08-15 10:00:00 @ 23.64, 5: 08-15 10:00:00 - 08-15 10:30:00 @ 19.66, 6: 08-15 10:30:00 - 08-15 11:00:00 @ 17.66, 7: 08-15 11:00:00 - 08-15 11:30:00 @ 16.56, 8: 08-15 11:30:00 - 08-15 12:00:00 @ 15.46, 9: 08-15 12:00:00 - 08-15 12:30:00 @ 17.0, 10: 08-15 12:30:00 - 08-15 13:00:00 @ 16.34, 11: 08-15 13:00:00 - 08-15 13:30:00 @ 15.36, 12: 08-15 13:30:00 - 08-15 14:00:00 @ 15.74, 13: 08-15 14:00:00 - 08-15 14:30:00 @ 14.57, 14: 08-15 14:30:00 - 08-15 15:00:00 @ 13.77, 15: 08-15 15:00:00 - 08-15 15:30:00 @ 15.02, 16: 08-15 15:30:00 - 08-15 16:00:00 @ 15.87, 17: 08-15 16:00:00 - 08-15 16:30:00 @ 33.13, 18: 08-15 16:30:00 - 08-15 17:00:00 @ 33.13, 19: 08-15 17:00:00 - 08-15 17:30:00 @ 38.46, 20: 08-15 17:30:00 - 08-15 18:00:00 @ 40.44, 21: 08-15 18:00:00 - 08-15 18:30:00 @ 41.55, 22: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 23: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 24: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 25: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 26: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 27: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 28: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 29: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 30: 08-15 23:00:00 - 08-15 23:30:00 @ 27.8, 31: 08-15 23:30:00 - 08-16 00:00:00 @ 29.09, 32: 08-16 00:00:00 - 08-16 00:30:00 @ 28.47, 33: 08-16 00:30:00 - 08-16 01:00:00 @ 27.18, 34: 08-16 01:00:00 - 08-16 01:30:00 @ 27.57, 35: 08-16 01:30:00 - 08-16 02:00:00 @ 26.5, 36: 08-16 02:00:00 - 08-16 02:30:00 @ 25.6, 37: 08-16 02:30:00 - 08-16 03:00:00 @ 24.79, 38: 08-16 03:00:00 - 08-16 03:30:00 @ 25.08, 39: 08-16 03:30:00 - 08-16 04:00:00 @ 24.62, 40: 08-16 04:00:00 - 08-16 04:30:00 @ 27.02, 41: 08-16 04:30:00 - 08-16 05:00:00 @ 26.47, 42: 08-16 05:00:00 - 08-16 05:30:00 @ 26.25, 43: 08-16 05:30:00 - 08-16 06:00:00 @ 26.4, 44: 08-16 06:00:00 - 08-16 06:30:00 @ 25.7, 45: 08-16 06:30:00 - 08-16 07:00:00 @ 27.63, 46: 08-16 07:00:00 - 08-16 07:30:00 @ 22.73, 47: 08-16 07:30:00 - 08-16 08:00:00 @ 26.7, 48: 08-16 08:00:00 - 08-16 08:30:00 @ 22.92, 49: 08-16 08:30:00 - 08-16 09:00:00 @ 22.48, 50: 08-16 09:00:00 - 08-16 09:30:00 @ 23.55, 51: 08-16 09:30:00 - 08-16 10:00:00 @ 23.64, 52: 08-16 10:00:00 - 08-16 10:30:00 @ 19.66, 53: 08-16 10:30:00 - 08-16 11:00:00 @ 17.66, 54: 08-16 11:00:00 - 08-16 11:30:00 @ 16.56, 55: 08-16 11:30:00 - 08-16 12:00:00 @ 15.46, 56: 08-16 12:00:00 - 08-16 12:30:00 @ 17.0, 57: 08-16 12:30:00 - 08-16 13:00:00 @ 16.34, 58: 08-16 13:00:00 - 08-16 13:30:00 @ 15.36, 59: 08-16 13:30:00 - 08-16 14:00:00 @ 15.74, 60: 08-16 14:00:00 - 08-16 14:30:00 @ 14.57, 61: 08-16 14:30:00 - 08-16 15:00:00 @ 13.77, 62: 08-16 15:00:00 - 08-16 15:30:00 @ 15.02, 63: 08-16 15:30:00 - 08-16 16:00:00 @ 15.87, 64: 08-16 16:00:00 - 08-16 16:30:00 @ 33.13, 65: 08-16 16:30:00 - 08-16 17:00:00 @ 33.13, 66: 08-16 17:00:00 - 08-16 17:30:00 @ 38.46, 67: 08-16 17:30:00 - 08-16 18:00:00 @ 40.44, 68: 08-16 18:00:00 - 08-16 18:30:00 @ 41.55, 69: 08-16 19:00:00 - 08-16 19:30:00 @ 32.58, 70: 08-16 19:30:00 - 08-16 20:00:00 @ 32.9, 71: 08-16 20:00:00 - 08-16 20:30:00 @ 31.99, 72: 08-16 20:30:00 - 08-16 21:00:00 @ 32.1, 73: 08-16 21:00:00 - 08-16 21:30:00 @ 31.71, 74: 08-16 21:30:00 - 08-16 22:00:00 @ 31.67, 75: 08-16 22:00:00 - 08-16 22:30:00 @ 31.77, 76: 08-16 22:30:00 - 08-16 23:00:00 @ 29.81, 77: 08-16 23:00:00 - 08-16 23:30:00 @ 27.8, 78: 08-16 23:30:00 - 08-17 00:00:00 @ 29.09, 79: 08-17 00:00:00 - 08-17 00:30:00 @ 28.47, 80: 08-17 00:30:00 - 08-17 01:00:00 @ 27.18, 81: 08-17 01:00:00 - 08-17 01:30:00 @ 27.57, 82: 08-17 01:30:00 - 08-17 02:00:00 @ 26.5, 83: 08-17 02:00:00 - 08-17 02:30:00 @ 25.6, 84: 08-17 02:30:00 - 08-17 03:00:00 @ 24.79, 85: 08-17 03:00:00 - 08-17 03:30:00 @ 25.08, 86: 08-17 03:30:00 - 08-17 04:00:00 @ 24.62, 87: 08-17 04:00:00 - 08-17 04:30:00 @ 27.02, 88: 08-17 04:30:00 - 08-17 05:00:00 @ 26.47, 89: 08-17 05:00:00 - 08-17 05:30:00 @ 26.25, 90: 08-17 05:30:00 - 08-17 06:00:00 @ 26.4, 91: 08-17 06:00:00 - 08-17 06:30:00 @ 25.7, 92: 08-17 06:30:00 - 08-17 07:00:00 @ 27.63, 93: 08-17 07:00:00 - 08-17 07:30:00 @ 22.73, 94: 08-17 07:30:00 - 08-17 08:00:00 @ 26.7]
2026-08-15 07:40:06.075373: Inverter 0 Charge window will be: 2026-08-15 11:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 11%, target 100%
2026-08-15 07:40:06.075521: Inverter 0 disabled charge window while waiting for schedule (now 08-15 07:40:00 target set_window_minutes 30 charge start time 08-15 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 07:40:06.075614: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 07:40:06.075798: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 07:40:06.075875: No export window planned
2026-08-15 07:40:06.075981: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 07:40:06.076016: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 07:40:06.076151: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 07:40:06.076300: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 07:40:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 07:40:06.076713: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 07:40:06.076798: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 07:40:06.076890: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 07:40:06.077225: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 07:40:06.077767: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 07:40:06.077815: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 07:40:06.077912: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 07:40:06.077953: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 07:40:06.077980: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 07:40:06.078101: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 07:40:06.078146: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 07:40:06.078330: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 07:40:06.078374: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 07:40:06.078400: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 07:40:06.078469: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 07:40:06.078507: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 07:40:06.078543: Inverter 0 count register writes 0
2026-08-15 07:40:06.104822: Will recompute the plan as it is now 10.0 minutes old and will exceed the max age of 10 minutes before the next run
2026-08-15 07:40:06.105106: Recompute is saving previous plan...
2026-08-15 07:40:06.109769: Best charge window [ 15-08 07:30:00 - 15-08 08:00:00 @ 26.7p 0%, 15-08 08:00:00 - 15-08 08:30:00 @ 22.92p 0%, 15-08 08:30:00 - 15-08 09:00:00 @ 22.48p 0%, 15-08 09:00:00 - 15-08 09:30:00 @ 23.55p 0%, 15-08 09:30:00 - 15-08 10:00:00 @ 23.64p 0%, 15-08 10:00:00 - 15-08 10:30:00 @ 19.66p 0%, 15-08 10:30:00 - 15-08 11:00:00 @ 17.66p 0%, 15-08 11:00:00 - 15-08 11:30:00 @ 16.56p 0%, 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 0%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 0%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 0%, 15-08 13:00:00 - 15-08 13:30:00 @ 15.36p 0%, 15-08 13:30:00 - 15-08 14:00:00 @ 15.74p 0%, 15-08 14:00:00 - 15-08 14:30:00 @ 14.57p 0%, 15-08 14:30:00 - 15-08 15:00:00 @ 13.77p 0%, 15-08 15:00:00 - 15-08 15:30:00 @ 15.02p 0%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 0%, 15-08 16:00:00 - 15-08 16:30:00 @ 33.13p 0%, 15-08 16:30:00 - 15-08 17:00:00 @ 33.13p 0%, 15-08 17:00:00 - 15-08 17:30:00 @ 38.46p 0%, 15-08 17:30:00 - 15-08 18:00:00 @ 40.44p 0%, 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 0%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 0%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 0%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 0%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 0%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 27.8p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 29.09p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.47p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.18p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 27.57p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.5p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.6p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 24.79p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 25.08p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 24.62p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 27.02p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.47p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 26.25p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.4p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.7p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 27.63p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 22.73p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 26.7p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 22.92p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 22.48p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 23.55p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 23.64p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 19.66p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 17.66p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 16.56p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 15.46p 0%, 16-08 12:00:00 - 16-08 12:30:00 @ 17.0p 0%, 16-08 12:30:00 - 16-08 13:00:00 @ 16.34p 0%, 16-08 13:00:00 - 16-08 13:30:00 @ 15.36p 0%, 16-08 13:30:00 - 16-08 14:00:00 @ 15.74p 0%, 16-08 14:00:00 - 16-08 14:30:00 @ 14.57p 0%, 16-08 14:30:00 - 16-08 15:00:00 @ 13.77p 0%, 16-08 15:00:00 - 16-08 15:30:00 @ 15.02p 0%, 16-08 15:30:00 - 16-08 16:00:00 @ 15.87p 0%, 16-08 16:00:00 - 16-08 16:30:00 @ 33.13p 0%, 16-08 16:30:00 - 16-08 17:00:00 @ 33.13p 0%, 16-08 17:00:00 - 16-08 17:30:00 @ 38.46p 0%, 16-08 17:30:00 - 16-08 18:00:00 @ 40.44p 0%, 16-08 18:00:00 - 16-08 18:30:00 @ 41.55p 0%, 16-08 19:00:00 - 16-08 19:30:00 @ 32.58p 0%, 16-08 19:30:00 - 16-08 20:00:00 @ 32.9p 0%, 16-08 20:00:00 - 16-08 20:30:00 @ 31.99p 0%, 16-08 20:30:00 - 16-08 21:00:00 @ 32.1p 0%, 16-08 21:00:00 - 16-08 21:30:00 @ 31.71p 0%, 16-08 21:30:00 - 16-08 22:00:00 @ 31.67p 0%, 16-08 22:00:00 - 16-08 22:30:00 @ 31.77p 0%, 16-08 22:30:00 - 16-08 23:00:00 @ 29.81p 0%, 16-08 23:00:00 - 16-08 23:30:00 @ 27.8p 0%, 16-08 23:30:00 - 17-08 00:00:00 @ 29.09p 0%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.47p 0%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.18p 0%, 17-08 01:00:00 - 17-08 01:30:00 @ 27.57p 0%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.5p 0%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.6p 0%, 17-08 02:30:00 - 17-08 03:00:00 @ 24.79p 0%, 17-08 03:00:00 - 17-08 03:30:00 @ 25.08p 0%, 17-08 03:30:00 - 17-08 04:00:00 @ 24.62p 0%, 17-08 04:00:00 - 17-08 04:30:00 @ 27.02p 0%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.47p 0%, 17-08 05:00:00 - 17-08 05:30:00 @ 26.25p 0%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.4p 0%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.7p 0%, 17-08 06:30:00 - 17-08 07:00:00 @ 27.63p 0%, 17-08 07:00:00 - 17-08 07:30:00 @ 22.73p 0%, 17-08 07:30:00 - 17-08 08:00:00 @ 26.7p 0% ]
2026-08-15 07:40:06.109880: Best export window [  ]
2026-08-15 07:40:06.111189: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 07:40:06.116023: Load divergence over 8.0 hours mean 652.36W, min 296.4W, max 1657.2W, std dev 316.72W, divergence 24.27%
2026-08-15 07:40:06.145113: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 07:40:06.145716: LoadML is_calculating True
2026-08-15 07:40:06.145782: Not using thread pool as LoadML is calculating to avoid lockups
2026-08-15 07:40:06.171831: Calculate Best options: mode(Control charge & discharge), calculate_export_oncharge(False), calculate_export_on_pv(True), set_export_freeze_only(False), set_discharge_during_charge(True), combine_charge_slots(False), combine_export_slots(False), combine_rate_threshold(0.0), best_soc_min(0.0 kWh), best_soc_max(0.0 kWh), best_soc_keep(0.0 kWh), inverter_loss(4%), battery_loss(3%), battery_loss_discharge (3%), inverter_hybrid(True), metric_min_improvement(0.0p), metric_min_improvement_export(0.1p), metric_min_improvement_export_freeze(0.1p), metric_battery_cycle(0.0p/kWh), metric_battery_value_scaling(1.0 x) 
2026-08-15 07:40:06.173419: Optimise levels pass started at 2026-08-15 07:40:06
2026-08-15 07:40:06.173481: Optimise all windows, total charge 94 export 1
2026-08-15 07:40:11.410680: >> Region optimisation pass width 960 gives best_metric 823.23p, best_cost 856.79p, best_cycle 57.6kWh, best_import 40.62kWh
2026-08-15 07:40:12.350502: >> Region optimisation pass width 480 gives best_metric 823.23p, best_cost 856.79p, best_cycle 57.6kWh, best_import 40.62kWh
2026-08-15 07:40:13.706912: >> Region optimisation pass width 240 gives best_metric 823.23p, best_cost 856.79p, best_cycle 57.6kWh, best_import 40.62kWh
2026-08-15 07:40:20.053314: >> Region optimisation pass width 120 gives best_metric 816.15p, best_cost 822.14p, best_cycle 54.3kWh, best_import 38.31kWh
2026-08-15 07:40:20.053786: Calculated end_record as 08-16 11:30:00 based on best_price 16.34p, next_charge_start 08-15 11:30:00, max_windows 55
2026-08-15 07:40:20.053975: Optimise levels pass ended at 2026-08-15 07:40:20, duration 13.9 seconds tried 364 combinations
2026-08-15 07:40:20.054041: Set best_price_charge_level 17.6p, best_price_export_level 0p, best_price_charge 16.34p, best_cost_export 0p, best_metric 816.15p, best_keep 0kWh, best_cycle 54.3kWh, best_carbon 0kg, best_import 38.31kWh
2026-08-15 07:40:20.076386: Starting detailed optimisation end_record 08-16 11:30:00, best_price_charge 16.34p, best_price_export 0p. lowest_price_charge 13.77p with charge limits [0, 0, 0, 0, 0, 0, 0, 0, 16.0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0]kWh and export limits []kWh
2026-08-15 07:40:42.402493: Tweak plan optimisation started metric 581.63p, cost 591.41p
2026-08-15 07:40:43.840565: Tweak optimisation finished metric 581.35p, cost 591.12p, metric_keep 0kWh, cycle 29.67kWh, carbon 0kg, import 22.98kWh, changed 8 window(s)
2026-08-15 07:40:43.861343: Swap charge optimisation started metric 581.35p, cost 591.12p, min_improvement_swap 0.1p
2026-08-15 07:40:51.719986: ML Predictor: Epoch 2/30: lr=0.00100 huber_loss=0.0122 val_mae=0.0093 kWh val_bias=-0.0028 kWh (-3.0%) combined=0.0063 kWh ema_combined=0.0045 kWh
2026-08-15 07:40:52.999501: Swap charge optimisation finished metric 581.35p, cost 591.12p
2026-08-15 07:40:53.210210: Pruned 2 dead plan slot(s) in 13 trial(s), nominal metric 577.88p -> 577.88p, plan now metric 581.4p, cost 591.12p, cycle 29.67kWh, import 22.98kWh
2026-08-15 07:40:53.231981: Raw charge windows [ 15-08 07:30:00 - 15-08 08:00:00 @ 26.7p 0%, 15-08 08:00:00 - 15-08 08:30:00 @ 22.92p 9%, 15-08 08:30:00 - 15-08 09:00:00 @ 22.48p 9%, 15-08 09:00:00 - 15-08 09:30:00 @ 23.55p 0%, 15-08 09:30:00 - 15-08 10:00:00 @ 23.64p 0%, 15-08 10:00:00 - 15-08 10:30:00 @ 19.66p 0%, 15-08 10:30:00 - 15-08 11:00:00 @ 17.66p 0%, 15-08 11:00:00 - 15-08 11:30:00 @ 16.56p 0%, 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 13:30:00 @ 15.36p 100%, 15-08 13:30:00 - 15-08 14:00:00 @ 15.74p 100%, 15-08 14:00:00 - 15-08 14:30:00 @ 14.57p 100%, 15-08 14:30:00 - 15-08 15:00:00 @ 13.77p 100%, 15-08 15:00:00 - 15-08 15:30:00 @ 15.02p 100%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 97%, 15-08 16:00:00 - 15-08 16:30:00 @ 33.13p 0%, 15-08 16:30:00 - 15-08 17:00:00 @ 33.13p 0%, 15-08 17:00:00 - 15-08 17:30:00 @ 38.46p 0%, 15-08 17:30:00 - 15-08 18:00:00 @ 40.44p 0%, 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 0%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 0%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 0%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 0%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 0%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 27.8p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 29.09p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.47p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.18p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 27.57p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.5p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.6p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 24.79p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 25.08p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 24.62p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 27.02p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.47p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 26.25p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.4p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.7p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 27.63p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 22.73p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 26.7p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 22.92p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 22.48p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 23.55p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 23.64p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 19.66p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 17.66p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 16.56p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 15.46p 100%, 16-08 12:00:00 - 16-08 12:30:00 @ 17.0p 100%, 16-08 12:30:00 - 16-08 13:00:00 @ 16.34p 100%, 16-08 13:00:00 - 16-08 13:30:00 @ 15.36p 100%, 16-08 13:30:00 - 16-08 14:00:00 @ 15.74p 100%, 16-08 14:00:00 - 16-08 14:30:00 @ 14.57p 100%, 16-08 14:30:00 - 16-08 15:00:00 @ 13.77p 100%, 16-08 15:00:00 - 16-08 15:30:00 @ 15.02p 100%, 16-08 15:30:00 - 16-08 16:00:00 @ 15.87p 100%, 16-08 16:00:00 - 16-08 16:30:00 @ 33.13p 100%, 16-08 16:30:00 - 16-08 17:00:00 @ 33.13p 100%, 16-08 17:00:00 - 16-08 17:30:00 @ 38.46p 100%, 16-08 17:30:00 - 16-08 18:00:00 @ 40.44p 100%, 16-08 18:00:00 - 16-08 18:30:00 @ 41.55p 100%, 16-08 19:00:00 - 16-08 19:30:00 @ 32.58p 100%, 16-08 19:30:00 - 16-08 20:00:00 @ 32.9p 100%, 16-08 20:00:00 - 16-08 20:30:00 @ 31.99p 100%, 16-08 20:30:00 - 16-08 21:00:00 @ 32.1p 100%, 16-08 21:00:00 - 16-08 21:30:00 @ 31.71p 100%, 16-08 21:30:00 - 16-08 22:00:00 @ 31.67p 100%, 16-08 22:00:00 - 16-08 22:30:00 @ 31.77p 100%, 16-08 22:30:00 - 16-08 23:00:00 @ 29.81p 100%, 16-08 23:00:00 - 16-08 23:30:00 @ 27.8p 100%, 16-08 23:30:00 - 17-08 00:00:00 @ 29.09p 100%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.47p 100%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.18p 100%, 17-08 01:00:00 - 17-08 01:30:00 @ 27.57p 100%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.5p 100%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.6p 100%, 17-08 02:30:00 - 17-08 03:00:00 @ 24.79p 100%, 17-08 03:00:00 - 17-08 03:30:00 @ 25.08p 100%, 17-08 03:30:00 - 17-08 04:00:00 @ 24.62p 100%, 17-08 04:00:00 - 17-08 04:30:00 @ 27.02p 100%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.47p 100%, 17-08 05:00:00 - 17-08 05:30:00 @ 26.25p 100%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.4p 100%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.7p 100%, 17-08 06:30:00 - 17-08 07:00:00 @ 27.63p 100%, 17-08 07:00:00 - 17-08 07:30:00 @ 22.73p 100%, 17-08 07:30:00 - 17-08 08:00:00 @ 26.7p 100% ] reserve 1.12
2026-08-15 07:40:53.233393: Unclipped charge windows [ 15-08 08:00:00 - 15-08 09:00:00 @ 22.7p 9%, 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 15:30:00 @ 14.71p 100%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 97%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 08:00:00 @ 25.73p 100% ] reserve 1.12
2026-08-15 07:40:53.234079: Unfiltered charge windows [ 15-08 08:00:00 - 15-08 09:00:00 @ 22.7p 9%, 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 15:30:00 @ 14.71p 100%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 97%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 08:00:00 @ 25.73p 100% ] reserve 1.12
2026-08-15 07:40:53.234691: Filtered charge windows [ 15-08 08:00:00 - 15-08 09:00:00 @ 22.7p 9%, 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 15:30:00 @ 14.71p 100%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 97%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 08:00:00 @ 25.73p 100% ] reserve 1.12
2026-08-15 07:40:53.323366: Previous plan best metric is 581.8 (cost 591.67) and new plan best metric is 581.35 (cost 591.12)
2026-08-15 07:40:53.329034: New plan metric is not significantly better (metric_min_improvement_plan 2.0) than previous plan, using previous plan
2026-08-15 07:40:53.329364: Plan valid is now true after recompute was False
2026-08-15 07:40:53.396274: predict base end_record 08-16 11:30:00, final soc 1.12kWh, metric 808.37p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 08:40:00, load 27.21kWh, PV 0.0kWh
2026-08-15 07:40:53.670692: Battery has 1.0 hours left - now at 1.76kWh
2026-08-15 07:40:53.820199: predict base10 end_record 08-16 11:30:00, final soc 1.12kWh, metric 834.07p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 08:40:00, load 28.23kWh, PV 0.0kWh
2026-08-15 07:40:53.979483: predict best10 end_record 08-16 11:30:00, final soc 1.12kWh, metric 664.16p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 08:40:00, load 28.23kWh, PV 0.0kWh
2026-08-15 07:40:54.181326: predict best end_record 08-16 11:30:00, final soc 1.12kWh, metric 641.65p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 08:40:00, load 27.21kWh, PV 0.0kWh
2026-08-15 07:40:54.186502: Saving plan best values to HA entities
2026-08-15 07:40:54.596239: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0
2026-08-15 07:40:54.608666: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 07:40:54.620285: Best charging limit SoC's [16.0, 3.5, 4.0, 16.0, 16.0, 16.0]kWh, export []kWh gives import battery 20.31kWh, house 2.73kWh, export 0.0kWh, metric 641.65p, metric10 664.16p
2026-08-15 07:40:54.807957: Marginal costs baseline metric (no standing charge): 591.6668
2026-08-15 07:40:55.225951: Marginal energy costs matrix computed: min=14.83 max=32.97
2026-08-15 07:40:55.389216: Rate array import [{'start': 460, 'end': 480, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 480, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 23.6p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1860, 'rate': 'expensive', 'range': '(24.6p - 32.9p)'}, {'start': 1860, 'end': 1890, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 1890, 'end': 1920, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 1920, 'end': 2130, 'rate': 'cheap', 'range': '(16.6p - 23.6p)'}] export [{'start': 460, 'end': 2130, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 07:40:55.390264: - Your estimated bill for today is £5.85 and tomorrow is £5.39
2026-08-15 07:40:55.390443: - Import rates are expensive (26.7p) for the next 20 minutes and then cheap (13.8p - 23.6p) for the next 8 hours.
2026-08-15 07:40:55.390586: - The battery is currently at 11% and is in eco mode for the next 3 and three quarters hours.
2026-08-15 07:40:55.390847: - For the next 48 hours there will be no solar generation.
2026-08-15 07:40:55.391084: - You will run out of battery in 1 hour.
2026-08-15 07:40:55.391355: - Your next charge slot will be in 3 and three quarters hours where import rates will be cheap (15.5p).
2026-08-15 07:40:55.391615: 
2026-08-15 07:40:55.464321: Plan calculation took 49.36 seconds
2026-08-15 07:40:55.464647: Inverter 0: Type SK Sunsynk
2026-08-15 07:40:55.464738: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 07:40:55.465043: Reserve min: 7%, battery_min: 7%
2026-08-15 07:40:55.465231: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 07:40:55.465551: Inverter 0 SoC: 1.76kW 11%, current charge rate 5000W, current discharge rate 5250W, current battery power 231W, current battery voltage 51.2V, grid power -56W, load power 291W, PV Power 0W
2026-08-15 07:40:55.465799: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 07:40:55.465934: Inverter 0 scheduled charge enable is False
2026-08-15 07:40:55.465990: Inverter 0 charge windows currently []
2026-08-15 07:40:55.466046: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 07:40:55.466199: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 07:40:55.466294: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 07:40:55.466371: Inverter 0 scheduled discharge enable is False
2026-08-15 07:40:55.466577: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 07:40:55.466756: Inverter 0 discharge windows currently []
2026-08-15 07:40:55.466809: Note: Inverter does not support discharge freeze - disabled
2026-08-15 07:40:55.466853: Note: Inverter does not support charge freeze - disabled
2026-08-15 07:40:55.466892: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 07:40:55.576898: Inverter 0 Charge window will be: 2026-08-15 11:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 11%, target 100%
2026-08-15 07:40:55.577115: Inverter 0 disabled charge window while waiting for schedule (now 08-15 07:40:00 target set_window_minutes 30 charge start time 08-15 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 07:40:55.577202: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 07:40:55.577429: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 07:40:55.577539: No export window planned
2026-08-15 07:40:55.578860: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 07:40:55.578933: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 07:40:55.579144: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 07:40:55.589099: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 07:40:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 07:40:55.589239: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 07:40:55.589354: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 07:40:55.589467: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 07:40:55.589559: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 07:40:55.589636: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 07:40:55.589675: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 07:40:55.589724: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 07:40:55.589795: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 07:40:55.589843: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 07:40:55.589913: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 07:40:55.589966: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 07:40:55.590035: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 07:40:55.590098: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 07:40:55.590137: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 07:40:55.590190: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 07:40:55.590256: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 07:40:55.590309: Inverter 0 count register writes 0
2026-08-15 07:40:55.649571: Total inverter register writes now 815
2026-08-15 07:40:55.751899: Info: Completed run status Demand
2026-08-15 07:40:55.766008: Info: record_status Demand
2026-08-15 07:40:55.779454: Saved current settings to /config/predbat_config.json
2026-08-15 07:40:55.779863: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 07:41:17.245215: ML Predictor: Epoch 3/30: lr=0.00099 huber_loss=0.0132 val_mae=0.0075 kWh val_bias=-0.0020 kWh (-2.1%) combined=0.0045 kWh ema_combined=0.0045 kWh
2026-08-15 07:41:26.989276: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 07:41:26.989692: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 07:41:26.989747: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 07:41:26.989954: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 07:41:26.990005: Note: Inverter does not support discharge freeze - disabled
2026-08-15 07:41:26.990068: Note: Inverter does not support charge freeze - disabled
2026-08-15 07:41:26.990133: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 07:41:38.212256: ML Predictor: Epoch 4/30: lr=0.00098 huber_loss=0.0140 val_mae=0.0078 kWh val_bias=-0.0009 kWh (-0.9%) combined=0.0039 kWh ema_combined=0.0043 kWh
2026-08-15 07:41:58.719136: ML Predictor: Epoch 5/30: lr=0.00096 huber_loss=0.0138 val_mae=0.0078 kWh val_bias=-0.0007 kWh (-0.7%) combined=0.0042 kWh ema_combined=0.0043 kWh
2026-08-15 07:42:19.197093: ML Predictor: Epoch 6/30: lr=0.00094 huber_loss=0.0143 val_mae=0.0086 kWh val_bias=+0.0038 kWh (+4.1%) combined=0.0074 kWh ema_combined=0.0052 kWh
2026-08-15 07:42:39.115991: ML Predictor: Epoch 7/30: lr=0.00091 huber_loss=0.0139 val_mae=0.0083 kWh val_bias=-0.0040 kWh (-4.3%) combined=0.0061 kWh ema_combined=0.0055 kWh
2026-08-15 07:43:00.394090: ML Predictor: Epoch 8/30: lr=0.00088 huber_loss=0.0115 val_mae=0.0064 kWh val_bias=-0.0021 kWh (-2.3%) combined=0.0045 kWh ema_combined=0.0052 kWh
2026-08-15 07:43:21.895682: ML Predictor: Epoch 9/30: lr=0.00084 huber_loss=0.0103 val_mae=0.0060 kWh val_bias=-0.0014 kWh (-1.5%) combined=0.0035 kWh ema_combined=0.0047 kWh
2026-08-15 07:43:27.373300: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 07:43:27.375389: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 07:43:27.375506: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 07:43:27.375786: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 07:43:27.375859: Note: Inverter does not support discharge freeze - disabled
2026-08-15 07:43:27.375898: Note: Inverter does not support charge freeze - disabled
2026-08-15 07:43:27.375941: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 07:43:41.394617: ML Predictor: Epoch 10/30: lr=0.00080 huber_loss=0.0096 val_mae=0.0059 kWh val_bias=-0.0011 kWh (-1.2%) combined=0.0034 kWh ema_combined=0.0043 kWh
2026-08-15 07:43:59.408615: ML Predictor: Epoch 11/30: lr=0.00076 huber_loss=0.0105 val_mae=0.0070 kWh val_bias=-0.0030 kWh (-3.2%) combined=0.0052 kWh ema_combined=0.0046 kWh
2026-08-15 07:43:59.408860: ML Predictor: Early stopping at epoch 11
2026-08-15 07:43:59.409755: ML Predictor: Restored best weights from epoch with val_mae=0.0075 kWh val_bias=-0.0010 kWh (-1.0%)
2026-08-15 07:43:59.409992: ML Predictor: Training complete, final val_mae=0.0075 kWh val_bias=-0.0010 kWh (-1.0%)
2026-08-15 07:44:02.682109: ML Predictor: AR rollout over holdout: ar_mae=0.0108 kWh ar_bias=+0.0012 kWh (+1.3%) [drift vs teacher-forced: +0.0033 kWh]
2026-08-15 07:44:02.686729: ML Predictor: Curriculum training complete, final val_mae=0.0075 kWh
2026-08-15 07:44:02.698920: ML Component: Training successful, val_mae=0.0075 kWh
2026-08-15 07:44:02.855776: ML Predictor: Model saved to /config/predbat_ml_model.npz
2026-08-15 07:44:02.860532: ML Component: Generating predictions load data age 56.0 days, 16348 data points
2026-08-15 07:44:02.987284: ML Predictor: Starting autoregressive prediction loop for 576 steps (48.0 hours), prev_energy value 0.0335 max_dow {0: 0.10282812496256083, 1: 0.11130937486607581, 2: 0.11949062483031303, 3: 0.1146749994263053, 4: 0.1683562503574416, 5: 0.10359687502831222, 6: 0.10919687573947012}
2026-08-15 07:44:04.013720: ML Component: Generated 576 predictions (total 39.87 kWh over 48h)
2026-08-15 07:44:04.068141: ML Component: Prediction cycle completed
2026-08-15 07:44:04.180439: ML Component: Saved 16348 steps (56 days) of history to /config/predbat_ml_history.npz
2026-08-15 07:45:00.262680: --------------- PredBat - update at 2026-08-15 07:45:00+01:00 with clock skew 0 minutes, minutes now 465
2026-08-15 07:45:00.263350: Saved current settings to /config/predbat_config.json
2026-08-15 07:45:00.263453: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 95.0 minutes
2026-08-15 07:45:00.263537: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.1, latest beta is v8.48.1
2026-08-15 07:45:00.263589: Autoupdate: Currently up to date
2026-08-15 07:45:00.280670: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 07:45:00.280796: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 07:45:00.281020: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 07:45:00.281642: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 07:45:00.281759: Predbat mode is set to Control charge & discharge
2026-08-15 07:45:00.451442: Found 21602 load_today datapoints going back 28 days
2026-08-15 07:45:00.451632: Using load_power data to fill gaps in load_today data
2026-08-15 07:45:01.265726: Processing 721 30-minute periods for power integration
2026-08-15 07:45:01.440904: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 07:45:01.441077: Car charging hold False, threshold 6.0kWh
2026-08-15 07:45:01.441125: Current data so far today: load 5.7kWh, import 6.8kWh, export 0.0kWh, PV 0kWh
2026-08-15 07:45:01.455870: Cars: SoC: [12.892000000000001]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 07:45:01.456310: Standing charge is set to 49.98p
2026-08-15 07:45:01.478404: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 07:45:01.478513: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 07:45:01.478702: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 465.0 minutes
2026-08-15 07:45:01.479073: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 464.6 minutes
2026-08-15 07:45:01.481819: Loaded 47 datapoints of futurerate analysis
2026-08-15 07:45:01.552172: Predicted future rates: ['08-15 00:00:00 => 28.9 / 20.01', '08-15 01:00:00 => 27.54 / 19.31', '08-15 02:00:00 => 26.52 / 18.8', '08-15 03:00:00 => 25.99 / 18.53', '08-15 04:00:00 => 25.8 / 18.43', '08-15 05:00:00 => 25.96 / 18.51', '08-15 06:00:00 => 25.55 / 18.3', '08-15 07:00:00 => 24.33 / 17.68', '08-15 08:00:00 => 23.03 / 17.01', '08-15 09:00:00 => 22.05 / 16.51', '08-15 10:00:00 => 20.43 / 15.68', '08-15 11:00:00 => 18.01 / 14.45', '08-15 12:00:00 => 16.37 / 13.61', '08-15 13:00:00 => 15.76 / 13.3', '08-15 14:00:00 => 15.35 / 13.09', '08-15 15:00:00 => 15.86 / 13.35', '08-15 16:00:00 => 32.89 / 16.13', '08-15 17:00:00 => 38.02 / 18.75', '08-15 18:00:00 => 42.36 / 20.96', '08-15 19:00:00 => 31.09 / 21.13', '08-15 20:00:00 => 31.64 / 21.41', '08-15 21:00:00 => 31.64 / 21.41', '08-15 22:00:00 => 30.58 / 20.87']
2026-08-15 07:45:01.602304: Rate min forward looking: now 13.77p at end of forecast 13.77p
2026-08-15 07:45:01.602613: Import rates: min 13.77p, max 43.82p, average 25.96p
2026-08-15 07:45:01.637095: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 07:45:01.637224: Rate thresholds (for charge/export) are import 43.32p (0.0p), export -0.1p (0.0p)
2026-08-15 07:45:01.638397: High export rate found rates in range 99p to -99p
2026-08-15 07:45:01.722125: Low Import rate found rates in range 13.77p to 41.55p
2026-08-15 07:45:01.722272: Car 0 charging is not planned as it is not plugged in
2026-08-15 07:45:01.735577: Battery level now 1.76kWh, -1hr ago 1.6kWh, at midnight 1.66kWh, battery value change in the last hour 1.89p, change today 1.23p, rate_forward 11.83p
2026-08-15 07:45:01.735952: Last hour: net energy 0.0kWh, import 0.0kWh, export 0.0kWh, car 0kWh, load 0.3kWh, net cost 0.0p, import 0.0p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 07:45:01.802581: Today's energy total net 6.8kWh, import 6.8kWh, export 0.0kWh, cost 231.27p, import 181.28p, export 0.0p, carbon 0.0kg
2026-08-15 07:45:01.802713: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 07:45:01.868187: Using weighted-bucket historical load forecast over 14 days
2026-08-15 07:45:01.887954: Today's load divergence 107.25%, in-day adjustment 131.86%, damping 0.95x, yesterday 143.77% today 106.88% blend 67.71%
2026-08-15 07:45:01.888050: Today's predicted so far 4.54kWh with 0.0kWh car/iBoost excluded, 2.71kWh import ignored, and 4.54kWh forecast extra.
2026-08-15 07:45:01.888076: Today's actual load so far 5.76kWh with 0.0kWh car/iBoost excluded, and 2.71kWh import ignored.
2026-08-15 07:45:01.926206: Inverter 0: Type SK Sunsynk
2026-08-15 07:45:01.926301: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 07:45:01.926498: Reserve min: 7%, battery_min: 7%
2026-08-15 07:45:01.926571: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 07:45:01.926838: Inverter 0 SoC: 1.76kW 11%, current charge rate 5000W, current discharge rate 5250W, current battery power 305W, current battery voltage 51.2V, grid power -55W, load power 367W, PV Power 0W
2026-08-15 07:45:01.926997: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 07:45:01.927086: Inverter 0 scheduled charge enable is False
2026-08-15 07:45:01.927115: Inverter 0 charge windows currently []
2026-08-15 07:45:01.927145: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 07:45:01.927251: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 07:45:01.927287: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 07:45:01.927322: Inverter 0 scheduled discharge enable is False
2026-08-15 07:45:01.927445: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 07:45:01.927499: Inverter 0 discharge windows currently []
2026-08-15 07:45:01.927523: Note: Inverter does not support discharge freeze - disabled
2026-08-15 07:45:01.927542: Note: Inverter does not support charge freeze - disabled
2026-08-15 07:45:01.927562: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 07:45:01.990089: Dynamic load last period 0.00kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 07:45:01.990202: Plan was last updated on 2026-08-15 07:40:00+01:00 and is now 5.0 minutes old
2026-08-15 07:45:01.990525: Best charge window [ 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 00:30:00 @ 28.84p 100% ]
2026-08-15 07:45:01.990571: Best export window [  ]
2026-08-15 07:45:01.991509: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 07:45:01.994593: Load divergence over 8.0 hours mean 657.29W, min 274.2W, max 1777.8W, std dev 348.75W, divergence 26.53%
2026-08-15 07:45:02.014913: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 07:45:02.015041: LoadML is_calculating False
2026-08-15 07:45:02.015115: Creating pool of 12 processes to match your CPU count
2026-08-15 07:45:02.143749: predict base end_record 08-16 11:35:00, final soc 1.12kWh, metric 809.19p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 08:45:00, load 27.27kWh, PV 0.0kWh
2026-08-15 07:45:02.275892: Battery has 1.0 hours left - now at 1.76kWh
2026-08-15 07:45:02.322381: predict base10 end_record 08-16 11:35:00, final soc 1.12kWh, metric 834.96p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 08:45:00, load 28.3kWh, PV 0.0kWh
2026-08-15 07:45:02.398977: predict best10 end_record 08-16 11:35:00, final soc 1.44kWh, metric 670.36p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 08:45:00, load 28.3kWh, PV 0.0kWh
2026-08-15 07:45:02.480660: predict best end_record 08-16 11:35:00, final soc 1.51kWh, metric 648.79p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 08:45:00, load 27.27kWh, PV 0.0kWh
2026-08-15 07:45:02.480788: Saving plan best values to HA entities
2026-08-15 07:45:02.638242: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 07:45:02.643571: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0.0
2026-08-15 07:45:02.648764: Best charging limit SoC's [16.0, 3.5, 4.0, 16.0, 16.0, 16.0]kWh, export []kWh gives import battery 20.82kWh, house 2.69kWh, export 0.0kWh, metric 648.79p, metric10 670.36p
2026-08-15 07:45:02.721561: Marginal costs baseline metric (no standing charge): 598.8048
2026-08-15 07:45:02.991136: Marginal energy costs matrix computed: min=14.66 max=33.11
2026-08-15 07:45:03.072001: Rate array import [{'start': 465, 'end': 480, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 480, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 23.6p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1860, 'rate': 'expensive', 'range': '(24.6p - 32.9p)'}, {'start': 1860, 'end': 1890, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 1890, 'end': 1920, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 1920, 'end': 2135, 'rate': 'cheap', 'range': '(15.5p - 23.6p)'}] export [{'start': 465, 'end': 2135, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 07:45:03.072722: - Your estimated bill for today is £5.84 and tomorrow is £5.41
2026-08-15 07:45:03.072774: - Import rates are expensive (26.7p) for the next 15 minutes and then cheap (13.8p - 23.6p) for the next 8 hours.
2026-08-15 07:45:03.072797: - The battery is currently at 11% and is in eco mode for the next 3 and three quarters hours.
2026-08-15 07:45:03.072815: - For the next 48 hours there will be no solar generation.
2026-08-15 07:45:03.072833: - You will run out of battery in 1 hour.
2026-08-15 07:45:03.072850: - Your next charge slot will be in 3 and three quarters hours where import rates will be cheap (15.5p).
2026-08-15 07:45:03.072867: 
2026-08-15 07:45:03.122634: Plan calculation took 1.13 seconds
2026-08-15 07:45:03.126216: No high rate period found
2026-08-15 07:45:03.176749: Import threshold used for optimisation was 22.92p
2026-08-15 07:45:03.231644: Low import rate windows [0: 08-15 07:30:00 - 08-15 08:00:00 @ 26.7, 1: 08-15 08:00:00 - 08-15 08:30:00 @ 22.92, 2: 08-15 08:30:00 - 08-15 09:00:00 @ 22.48, 3: 08-15 09:00:00 - 08-15 09:30:00 @ 23.55, 4: 08-15 09:30:00 - 08-15 10:00:00 @ 23.64, 5: 08-15 10:00:00 - 08-15 10:30:00 @ 19.66, 6: 08-15 10:30:00 - 08-15 11:00:00 @ 17.66, 7: 08-15 11:00:00 - 08-15 11:30:00 @ 16.56, 8: 08-15 11:30:00 - 08-15 12:00:00 @ 15.46, 9: 08-15 12:00:00 - 08-15 12:30:00 @ 17.0, 10: 08-15 12:30:00 - 08-15 13:00:00 @ 16.34, 11: 08-15 13:00:00 - 08-15 13:30:00 @ 15.36, 12: 08-15 13:30:00 - 08-15 14:00:00 @ 15.74, 13: 08-15 14:00:00 - 08-15 14:30:00 @ 14.57, 14: 08-15 14:30:00 - 08-15 15:00:00 @ 13.77, 15: 08-15 15:00:00 - 08-15 15:30:00 @ 15.02, 16: 08-15 15:30:00 - 08-15 16:00:00 @ 15.87, 17: 08-15 16:00:00 - 08-15 16:30:00 @ 33.13, 18: 08-15 16:30:00 - 08-15 17:00:00 @ 33.13, 19: 08-15 17:00:00 - 08-15 17:30:00 @ 38.46, 20: 08-15 17:30:00 - 08-15 18:00:00 @ 40.44, 21: 08-15 18:00:00 - 08-15 18:30:00 @ 41.55, 22: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 23: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 24: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 25: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 26: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 27: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 28: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 29: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 30: 08-15 23:00:00 - 08-15 23:30:00 @ 27.8, 31: 08-15 23:30:00 - 08-16 00:00:00 @ 29.09, 32: 08-16 00:00:00 - 08-16 00:30:00 @ 28.47, 33: 08-16 00:30:00 - 08-16 01:00:00 @ 27.18, 34: 08-16 01:00:00 - 08-16 01:30:00 @ 27.57, 35: 08-16 01:30:00 - 08-16 02:00:00 @ 26.5, 36: 08-16 02:00:00 - 08-16 02:30:00 @ 25.6, 37: 08-16 02:30:00 - 08-16 03:00:00 @ 24.79, 38: 08-16 03:00:00 - 08-16 03:30:00 @ 25.08, 39: 08-16 03:30:00 - 08-16 04:00:00 @ 24.62, 40: 08-16 04:00:00 - 08-16 04:30:00 @ 27.02, 41: 08-16 04:30:00 - 08-16 05:00:00 @ 26.47, 42: 08-16 05:00:00 - 08-16 05:30:00 @ 26.25, 43: 08-16 05:30:00 - 08-16 06:00:00 @ 26.4, 44: 08-16 06:00:00 - 08-16 06:30:00 @ 25.7, 45: 08-16 06:30:00 - 08-16 07:00:00 @ 27.63, 46: 08-16 07:00:00 - 08-16 07:30:00 @ 22.73, 47: 08-16 07:30:00 - 08-16 08:00:00 @ 26.7, 48: 08-16 08:00:00 - 08-16 08:30:00 @ 22.92, 49: 08-16 08:30:00 - 08-16 09:00:00 @ 22.48, 50: 08-16 09:00:00 - 08-16 09:30:00 @ 23.55, 51: 08-16 09:30:00 - 08-16 10:00:00 @ 23.64, 52: 08-16 10:00:00 - 08-16 10:30:00 @ 19.66, 53: 08-16 10:30:00 - 08-16 11:00:00 @ 17.66, 54: 08-16 11:00:00 - 08-16 11:30:00 @ 16.56, 55: 08-16 11:30:00 - 08-16 12:00:00 @ 15.46, 56: 08-16 12:00:00 - 08-16 12:30:00 @ 17.0, 57: 08-16 12:30:00 - 08-16 13:00:00 @ 16.34, 58: 08-16 13:00:00 - 08-16 13:30:00 @ 15.36, 59: 08-16 13:30:00 - 08-16 14:00:00 @ 15.74, 60: 08-16 14:00:00 - 08-16 14:30:00 @ 14.57, 61: 08-16 14:30:00 - 08-16 15:00:00 @ 13.77, 62: 08-16 15:00:00 - 08-16 15:30:00 @ 15.02, 63: 08-16 15:30:00 - 08-16 16:00:00 @ 15.87, 64: 08-16 16:00:00 - 08-16 16:30:00 @ 33.13, 65: 08-16 16:30:00 - 08-16 17:00:00 @ 33.13, 66: 08-16 17:00:00 - 08-16 17:30:00 @ 38.46, 67: 08-16 17:30:00 - 08-16 18:00:00 @ 40.44, 68: 08-16 18:00:00 - 08-16 18:30:00 @ 41.55, 69: 08-16 19:00:00 - 08-16 19:30:00 @ 32.58, 70: 08-16 19:30:00 - 08-16 20:00:00 @ 32.9, 71: 08-16 20:00:00 - 08-16 20:30:00 @ 31.99, 72: 08-16 20:30:00 - 08-16 21:00:00 @ 32.1, 73: 08-16 21:00:00 - 08-16 21:30:00 @ 31.71, 74: 08-16 21:30:00 - 08-16 22:00:00 @ 31.67, 75: 08-16 22:00:00 - 08-16 22:30:00 @ 31.77, 76: 08-16 22:30:00 - 08-16 23:00:00 @ 29.81, 77: 08-16 23:00:00 - 08-16 23:30:00 @ 27.8, 78: 08-16 23:30:00 - 08-17 00:00:00 @ 29.09, 79: 08-17 00:00:00 - 08-17 00:30:00 @ 28.47, 80: 08-17 00:30:00 - 08-17 01:00:00 @ 27.18, 81: 08-17 01:00:00 - 08-17 01:30:00 @ 27.57, 82: 08-17 01:30:00 - 08-17 02:00:00 @ 26.5, 83: 08-17 02:00:00 - 08-17 02:30:00 @ 25.6, 84: 08-17 02:30:00 - 08-17 03:00:00 @ 24.79, 85: 08-17 03:00:00 - 08-17 03:30:00 @ 25.08, 86: 08-17 03:30:00 - 08-17 04:00:00 @ 24.62, 87: 08-17 04:00:00 - 08-17 04:30:00 @ 27.02, 88: 08-17 04:30:00 - 08-17 05:00:00 @ 26.47, 89: 08-17 05:00:00 - 08-17 05:30:00 @ 26.25, 90: 08-17 05:30:00 - 08-17 06:00:00 @ 26.4, 91: 08-17 06:00:00 - 08-17 06:30:00 @ 25.7, 92: 08-17 06:30:00 - 08-17 07:00:00 @ 27.63, 93: 08-17 07:00:00 - 08-17 07:30:00 @ 22.73, 94: 08-17 07:30:00 - 08-17 08:00:00 @ 26.7]
2026-08-15 07:45:03.240697: Inverter 0 Charge window will be: 2026-08-15 11:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 11%, target 100%
2026-08-15 07:45:03.240850: Inverter 0 disabled charge window while waiting for schedule (now 08-15 07:45:00 target set_window_minutes 30 charge start time 08-15 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 07:45:03.241038: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 07:45:03.241339: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 07:45:03.241444: No export window planned
2026-08-15 07:45:03.241581: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 07:45:03.241622: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 07:45:03.241766: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 07:45:03.241946: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 07:45:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 07:45:03.242011: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 07:45:03.242083: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 07:45:03.242177: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 07:45:03.242222: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 07:45:03.242250: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 07:45:03.242277: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 07:45:03.242303: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 07:45:03.242326: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 07:45:03.242350: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 07:45:03.242411: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 07:45:03.242440: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 07:45:03.242465: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 07:45:03.242508: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 07:45:03.242534: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 07:45:03.242558: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 07:45:03.242581: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 07:45:03.242602: Inverter 0 count register writes 0
2026-08-15 07:45:03.258491: Will not recompute the plan, it is 5.0 minutes old and max age is 10 minutes
2026-08-15 07:45:03.263648: Total inverter register writes now 815
2026-08-15 07:45:03.301454: Info: Completed run status Demand
2026-08-15 07:45:03.308844: Info: record_status Demand
2026-08-15 07:45:03.316539: Saved current settings to /config/predbat_config.json
2026-08-15 07:45:03.317044: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 07:45:42.434183: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 07:45:42.434555: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 07:45:42.434658: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 07:45:42.434935: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 07:45:42.434987: Note: Inverter does not support discharge freeze - disabled
2026-08-15 07:45:42.435010: Note: Inverter does not support charge freeze - disabled
2026-08-15 07:45:42.435028: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 07:47:56.670096: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 07:47:56.670411: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 07:47:56.670520: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 07:47:56.670757: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 07:47:56.670817: Note: Inverter does not support discharge freeze - disabled
2026-08-15 07:47:56.670840: Note: Inverter does not support charge freeze - disabled
2026-08-15 07:47:56.670876: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 07:49:56.886420: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 07:49:56.886726: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 07:49:56.886764: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 07:49:56.886944: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 07:49:56.887000: Note: Inverter does not support discharge freeze - disabled
2026-08-15 07:49:56.887025: Note: Inverter does not support charge freeze - disabled
2026-08-15 07:49:56.887042: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 07:50:00.980369: --------------- PredBat - update at 2026-08-15 07:50:00+01:00 with clock skew 0 minutes, minutes now 470
2026-08-15 07:50:00.981284: Saved current settings to /config/predbat_config.json
2026-08-15 07:50:00.981432: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 100.0 minutes
2026-08-15 07:50:00.981579: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.1, latest beta is v8.48.1
2026-08-15 07:50:00.981679: Autoupdate: Currently up to date
2026-08-15 07:50:01.002095: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 07:50:01.002222: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 07:50:01.002407: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 07:50:01.002972: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 07:50:01.003094: Predbat mode is set to Control charge & discharge
2026-08-15 07:50:01.158506: Found 21602 load_today datapoints going back 28 days
2026-08-15 07:50:01.158645: Using load_power data to fill gaps in load_today data
2026-08-15 07:50:01.979567: Processing 721 30-minute periods for power integration
2026-08-15 07:50:02.158708: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 07:50:02.158869: Car charging hold False, threshold 6.0kWh
2026-08-15 07:50:02.159102: Current data so far today: load 5.82kWh, import 6.8kWh, export 0.0kWh, PV 0kWh
2026-08-15 07:50:02.171071: Cars: SoC: [12.892000000000001]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 07:50:02.172292: Standing charge is set to 49.98p
2026-08-15 07:50:02.205564: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 07:50:02.205662: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 07:50:02.205867: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 470.0 minutes
2026-08-15 07:50:02.206256: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 469.7 minutes
2026-08-15 07:50:02.209155: Loaded 47 datapoints of futurerate analysis
2026-08-15 07:50:02.286158: Predicted future rates: ['08-15 00:00:00 => 28.9 / 20.01', '08-15 01:00:00 => 27.54 / 19.31', '08-15 02:00:00 => 26.52 / 18.8', '08-15 03:00:00 => 25.99 / 18.53', '08-15 04:00:00 => 25.8 / 18.43', '08-15 05:00:00 => 25.96 / 18.51', '08-15 06:00:00 => 25.55 / 18.3', '08-15 07:00:00 => 24.33 / 17.68', '08-15 08:00:00 => 23.03 / 17.01', '08-15 09:00:00 => 22.05 / 16.51', '08-15 10:00:00 => 20.43 / 15.68', '08-15 11:00:00 => 18.01 / 14.45', '08-15 12:00:00 => 16.37 / 13.61', '08-15 13:00:00 => 15.76 / 13.3', '08-15 14:00:00 => 15.35 / 13.09', '08-15 15:00:00 => 15.86 / 13.35', '08-15 16:00:00 => 32.89 / 16.13', '08-15 17:00:00 => 38.02 / 18.75', '08-15 18:00:00 => 42.36 / 20.96', '08-15 19:00:00 => 31.09 / 21.13', '08-15 20:00:00 => 31.64 / 21.41', '08-15 21:00:00 => 31.64 / 21.41', '08-15 22:00:00 => 30.58 / 20.87']
2026-08-15 07:50:02.348187: Rate min forward looking: now 13.77p at end of forecast 13.77p
2026-08-15 07:50:02.349371: Import rates: min 13.77p, max 43.82p, average 25.96p
2026-08-15 07:50:02.395546: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 07:50:02.396544: Rate thresholds (for charge/export) are import 43.32p (0.0p), export -0.1p (0.0p)
2026-08-15 07:50:02.399525: High export rate found rates in range 99p to -99p
2026-08-15 07:50:02.486165: Low Import rate found rates in range 13.77p to 41.55p
2026-08-15 07:50:02.487203: Car 0 charging is not planned as it is not plugged in
2026-08-15 07:50:02.535405: Battery level now 1.76kWh, -1hr ago 1.96kWh, at midnight 1.66kWh, battery value change in the last hour -2.37p, change today 1.23p, rate_forward 11.83p
2026-08-15 07:50:02.535820: Last hour: net energy 0.0kWh, import 0.0kWh, export 0.0kWh, car 0kWh, load 0.38kWh, net cost 0.0p, import 0.0p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 07:50:02.609257: Today's energy total net 6.8kWh, import 6.8kWh, export 0.0kWh, cost 231.27p, import 181.28p, export 0.0p, carbon 0.0kg
2026-08-15 07:50:02.609384: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 07:50:02.674481: Using weighted-bucket historical load forecast over 14 days
2026-08-15 07:50:02.694878: Today's load divergence 107.41%, in-day adjustment 131.78%, damping 0.95x, yesterday 143.77% today 107.04% blend 67.36%
2026-08-15 07:50:02.694946: Today's predicted so far 4.58kWh with 0.0kWh car/iBoost excluded, 2.73kWh import ignored, and 4.58kWh forecast extra.
2026-08-15 07:50:02.695001: Today's actual load so far 5.82kWh with 0.0kWh car/iBoost excluded, and 2.73kWh import ignored.
2026-08-15 07:50:02.728071: Inverter 0: Type SK Sunsynk
2026-08-15 07:50:02.728163: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 07:50:02.728405: Reserve min: 7%, battery_min: 7%
2026-08-15 07:50:02.728551: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 07:50:02.728931: Inverter 0 SoC: 1.76kW 11%, current charge rate 5000W, current discharge rate 5250W, current battery power 262W, current battery voltage 51.2V, grid power -54W, load power 322W, PV Power 0W
2026-08-15 07:50:02.729167: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 07:50:02.729298: Inverter 0 scheduled charge enable is False
2026-08-15 07:50:02.729346: Inverter 0 charge windows currently []
2026-08-15 07:50:02.729395: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 07:50:02.729585: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 07:50:02.729631: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 07:50:02.729688: Inverter 0 scheduled discharge enable is False
2026-08-15 07:50:02.729871: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 07:50:02.729917: Inverter 0 discharge windows currently []
2026-08-15 07:50:02.729967: Note: Inverter does not support discharge freeze - disabled
2026-08-15 07:50:02.730007: Note: Inverter does not support charge freeze - disabled
2026-08-15 07:50:02.730027: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 07:50:02.783574: Dynamic load last period 0.30kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 07:50:02.783683: Plan was last updated on 2026-08-15 07:40:00+01:00 and is now 10.0 minutes old
2026-08-15 07:50:02.783996: Best charge window [ 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 00:30:00 @ 28.84p 100% ]
2026-08-15 07:50:02.784048: Best export window [  ]
2026-08-15 07:50:02.784728: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 07:50:02.787298: Load divergence over 8.0 hours mean 653.22W, min 283.2W, max 1692.6W, std dev 324.17W, divergence 24.81%
2026-08-15 07:50:02.802971: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 07:50:02.803068: LoadML is_calculating False
2026-08-15 07:50:02.803145: Creating pool of 12 processes to match your CPU count
2026-08-15 07:50:02.912125: predict base end_record 08-16 11:40:00, final soc 1.12kWh, metric 809.25p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 08:55:00, load 27.42kWh, PV 0.0kWh
2026-08-15 07:50:03.034408: Battery has 1.08 hours left - now at 1.76kWh
2026-08-15 07:50:03.078921: predict base10 end_record 08-16 11:40:00, final soc 1.12kWh, metric 835.07p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 08:50:00, load 28.45kWh, PV 0.0kWh
2026-08-15 07:50:03.150873: predict best10 end_record 08-16 11:40:00, final soc 1.77kWh, metric 675.73p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 08:50:00, load 28.45kWh, PV 0.0kWh
2026-08-15 07:50:03.230946: predict best end_record 08-16 11:40:00, final soc 1.9kWh, metric 655.11p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 08:55:00, load 27.42kWh, PV 0.0kWh
2026-08-15 07:50:03.231216: Saving plan best values to HA entities
2026-08-15 07:50:03.398019: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 07:50:03.402904: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 07:50:03.407656: Best charging limit SoC's [16.0, 3.5, 4.0, 16.0, 16.0, 16.0]kWh, export []kWh gives import battery 21.33kWh, house 2.62kWh, export 0.0kWh, metric 655.11p, metric10 675.73p
2026-08-15 07:50:03.472669: Marginal costs baseline metric (no standing charge): 605.13
2026-08-15 07:50:03.691061: Marginal energy costs matrix computed: min=14.5 max=33.28
2026-08-15 07:50:03.764834: Rate array import [{'start': 470, 'end': 480, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 480, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 23.6p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1860, 'rate': 'expensive', 'range': '(24.6p - 32.9p)'}, {'start': 1860, 'end': 1890, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 1890, 'end': 1920, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 1920, 'end': 2140, 'rate': 'cheap', 'range': '(15.5p - 23.6p)'}] export [{'start': 470, 'end': 2140, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 07:50:03.765393: - Your estimated bill for today is £5.82 and tomorrow is £5.42
2026-08-15 07:50:03.765436: - Import rates are expensive (26.7p) for the next 10 minutes and then cheap (13.8p - 23.6p) for the next 8 hours.
2026-08-15 07:50:03.765470: - The battery is currently at 11% and is in eco mode for the next 3 and three quarters hours.
2026-08-15 07:50:03.765486: - For the next 48 hours there will be no solar generation.
2026-08-15 07:50:03.765500: - You will run out of battery in 1 hour.
2026-08-15 07:50:03.765514: - Your next charge slot will be in 3 and three quarters hours where import rates will be cheap (15.5p).
2026-08-15 07:50:03.765528: 
2026-08-15 07:50:03.815261: Plan calculation took 1.03 seconds
2026-08-15 07:50:03.818930: No high rate period found
2026-08-15 07:50:03.869817: Import threshold used for optimisation was 22.92p
2026-08-15 07:50:03.918326: Low import rate windows [0: 08-15 07:30:00 - 08-15 08:00:00 @ 26.7, 1: 08-15 08:00:00 - 08-15 08:30:00 @ 22.92, 2: 08-15 08:30:00 - 08-15 09:00:00 @ 22.48, 3: 08-15 09:00:00 - 08-15 09:30:00 @ 23.55, 4: 08-15 09:30:00 - 08-15 10:00:00 @ 23.64, 5: 08-15 10:00:00 - 08-15 10:30:00 @ 19.66, 6: 08-15 10:30:00 - 08-15 11:00:00 @ 17.66, 7: 08-15 11:00:00 - 08-15 11:30:00 @ 16.56, 8: 08-15 11:30:00 - 08-15 12:00:00 @ 15.46, 9: 08-15 12:00:00 - 08-15 12:30:00 @ 17.0, 10: 08-15 12:30:00 - 08-15 13:00:00 @ 16.34, 11: 08-15 13:00:00 - 08-15 13:30:00 @ 15.36, 12: 08-15 13:30:00 - 08-15 14:00:00 @ 15.74, 13: 08-15 14:00:00 - 08-15 14:30:00 @ 14.57, 14: 08-15 14:30:00 - 08-15 15:00:00 @ 13.77, 15: 08-15 15:00:00 - 08-15 15:30:00 @ 15.02, 16: 08-15 15:30:00 - 08-15 16:00:00 @ 15.87, 17: 08-15 16:00:00 - 08-15 16:30:00 @ 33.13, 18: 08-15 16:30:00 - 08-15 17:00:00 @ 33.13, 19: 08-15 17:00:00 - 08-15 17:30:00 @ 38.46, 20: 08-15 17:30:00 - 08-15 18:00:00 @ 40.44, 21: 08-15 18:00:00 - 08-15 18:30:00 @ 41.55, 22: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 23: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 24: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 25: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 26: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 27: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 28: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 29: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 30: 08-15 23:00:00 - 08-15 23:30:00 @ 27.8, 31: 08-15 23:30:00 - 08-16 00:00:00 @ 29.09, 32: 08-16 00:00:00 - 08-16 00:30:00 @ 28.47, 33: 08-16 00:30:00 - 08-16 01:00:00 @ 27.18, 34: 08-16 01:00:00 - 08-16 01:30:00 @ 27.57, 35: 08-16 01:30:00 - 08-16 02:00:00 @ 26.5, 36: 08-16 02:00:00 - 08-16 02:30:00 @ 25.6, 37: 08-16 02:30:00 - 08-16 03:00:00 @ 24.79, 38: 08-16 03:00:00 - 08-16 03:30:00 @ 25.08, 39: 08-16 03:30:00 - 08-16 04:00:00 @ 24.62, 40: 08-16 04:00:00 - 08-16 04:30:00 @ 27.02, 41: 08-16 04:30:00 - 08-16 05:00:00 @ 26.47, 42: 08-16 05:00:00 - 08-16 05:30:00 @ 26.25, 43: 08-16 05:30:00 - 08-16 06:00:00 @ 26.4, 44: 08-16 06:00:00 - 08-16 06:30:00 @ 25.7, 45: 08-16 06:30:00 - 08-16 07:00:00 @ 27.63, 46: 08-16 07:00:00 - 08-16 07:30:00 @ 22.73, 47: 08-16 07:30:00 - 08-16 08:00:00 @ 26.7, 48: 08-16 08:00:00 - 08-16 08:30:00 @ 22.92, 49: 08-16 08:30:00 - 08-16 09:00:00 @ 22.48, 50: 08-16 09:00:00 - 08-16 09:30:00 @ 23.55, 51: 08-16 09:30:00 - 08-16 10:00:00 @ 23.64, 52: 08-16 10:00:00 - 08-16 10:30:00 @ 19.66, 53: 08-16 10:30:00 - 08-16 11:00:00 @ 17.66, 54: 08-16 11:00:00 - 08-16 11:30:00 @ 16.56, 55: 08-16 11:30:00 - 08-16 12:00:00 @ 15.46, 56: 08-16 12:00:00 - 08-16 12:30:00 @ 17.0, 57: 08-16 12:30:00 - 08-16 13:00:00 @ 16.34, 58: 08-16 13:00:00 - 08-16 13:30:00 @ 15.36, 59: 08-16 13:30:00 - 08-16 14:00:00 @ 15.74, 60: 08-16 14:00:00 - 08-16 14:30:00 @ 14.57, 61: 08-16 14:30:00 - 08-16 15:00:00 @ 13.77, 62: 08-16 15:00:00 - 08-16 15:30:00 @ 15.02, 63: 08-16 15:30:00 - 08-16 16:00:00 @ 15.87, 64: 08-16 16:00:00 - 08-16 16:30:00 @ 33.13, 65: 08-16 16:30:00 - 08-16 17:00:00 @ 33.13, 66: 08-16 17:00:00 - 08-16 17:30:00 @ 38.46, 67: 08-16 17:30:00 - 08-16 18:00:00 @ 40.44, 68: 08-16 18:00:00 - 08-16 18:30:00 @ 41.55, 69: 08-16 19:00:00 - 08-16 19:30:00 @ 32.58, 70: 08-16 19:30:00 - 08-16 20:00:00 @ 32.9, 71: 08-16 20:00:00 - 08-16 20:30:00 @ 31.99, 72: 08-16 20:30:00 - 08-16 21:00:00 @ 32.1, 73: 08-16 21:00:00 - 08-16 21:30:00 @ 31.71, 74: 08-16 21:30:00 - 08-16 22:00:00 @ 31.67, 75: 08-16 22:00:00 - 08-16 22:30:00 @ 31.77, 76: 08-16 22:30:00 - 08-16 23:00:00 @ 29.81, 77: 08-16 23:00:00 - 08-16 23:30:00 @ 27.8, 78: 08-16 23:30:00 - 08-17 00:00:00 @ 29.09, 79: 08-17 00:00:00 - 08-17 00:30:00 @ 28.47, 80: 08-17 00:30:00 - 08-17 01:00:00 @ 27.18, 81: 08-17 01:00:00 - 08-17 01:30:00 @ 27.57, 82: 08-17 01:30:00 - 08-17 02:00:00 @ 26.5, 83: 08-17 02:00:00 - 08-17 02:30:00 @ 25.6, 84: 08-17 02:30:00 - 08-17 03:00:00 @ 24.79, 85: 08-17 03:00:00 - 08-17 03:30:00 @ 25.08, 86: 08-17 03:30:00 - 08-17 04:00:00 @ 24.62, 87: 08-17 04:00:00 - 08-17 04:30:00 @ 27.02, 88: 08-17 04:30:00 - 08-17 05:00:00 @ 26.47, 89: 08-17 05:00:00 - 08-17 05:30:00 @ 26.25, 90: 08-17 05:30:00 - 08-17 06:00:00 @ 26.4, 91: 08-17 06:00:00 - 08-17 06:30:00 @ 25.7, 92: 08-17 06:30:00 - 08-17 07:00:00 @ 27.63, 93: 08-17 07:00:00 - 08-17 07:30:00 @ 22.73, 94: 08-17 07:30:00 - 08-17 08:00:00 @ 26.7]
2026-08-15 07:50:03.923924: Inverter 0 Charge window will be: 2026-08-15 11:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 11%, target 100%
2026-08-15 07:50:03.924064: Inverter 0 disabled charge window while waiting for schedule (now 08-15 07:50:00 target set_window_minutes 30 charge start time 08-15 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 07:50:03.924227: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 07:50:03.924533: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 07:50:03.924645: No export window planned
2026-08-15 07:50:03.924812: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 07:50:03.924856: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 07:50:03.925068: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 07:50:03.925284: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 07:50:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 07:50:03.925359: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 07:50:03.925462: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 07:50:03.925600: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 07:50:03.925669: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 07:50:03.925718: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 07:50:03.925799: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 07:50:03.925845: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 07:50:03.925895: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 07:50:03.925943: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 07:50:03.926104: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 07:50:03.926159: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 07:50:03.926209: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 07:50:03.926252: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 07:50:03.926297: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 07:50:03.926338: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 07:50:03.926385: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 07:50:03.926420: Inverter 0 count register writes 0
2026-08-15 07:50:03.942386: Will recompute the plan as it is now 10.0 minutes old and will exceed the max age of 10 minutes before the next run
2026-08-15 07:50:03.942621: Recompute is saving previous plan...
2026-08-15 07:50:03.946112: Best charge window [ 15-08 07:30:00 - 15-08 08:00:00 @ 26.7p 0%, 15-08 08:00:00 - 15-08 08:30:00 @ 22.92p 0%, 15-08 08:30:00 - 15-08 09:00:00 @ 22.48p 0%, 15-08 09:00:00 - 15-08 09:30:00 @ 23.55p 0%, 15-08 09:30:00 - 15-08 10:00:00 @ 23.64p 0%, 15-08 10:00:00 - 15-08 10:30:00 @ 19.66p 0%, 15-08 10:30:00 - 15-08 11:00:00 @ 17.66p 0%, 15-08 11:00:00 - 15-08 11:30:00 @ 16.56p 0%, 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 0%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 0%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 0%, 15-08 13:00:00 - 15-08 13:30:00 @ 15.36p 0%, 15-08 13:30:00 - 15-08 14:00:00 @ 15.74p 0%, 15-08 14:00:00 - 15-08 14:30:00 @ 14.57p 0%, 15-08 14:30:00 - 15-08 15:00:00 @ 13.77p 0%, 15-08 15:00:00 - 15-08 15:30:00 @ 15.02p 0%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 0%, 15-08 16:00:00 - 15-08 16:30:00 @ 33.13p 0%, 15-08 16:30:00 - 15-08 17:00:00 @ 33.13p 0%, 15-08 17:00:00 - 15-08 17:30:00 @ 38.46p 0%, 15-08 17:30:00 - 15-08 18:00:00 @ 40.44p 0%, 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 0%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 0%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 0%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 0%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 0%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 27.8p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 29.09p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.47p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.18p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 27.57p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.5p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.6p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 24.79p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 25.08p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 24.62p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 27.02p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.47p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 26.25p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.4p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.7p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 27.63p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 22.73p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 26.7p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 22.92p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 22.48p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 23.55p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 23.64p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 19.66p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 17.66p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 16.56p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 15.46p 0%, 16-08 12:00:00 - 16-08 12:30:00 @ 17.0p 0%, 16-08 12:30:00 - 16-08 13:00:00 @ 16.34p 0%, 16-08 13:00:00 - 16-08 13:30:00 @ 15.36p 0%, 16-08 13:30:00 - 16-08 14:00:00 @ 15.74p 0%, 16-08 14:00:00 - 16-08 14:30:00 @ 14.57p 0%, 16-08 14:30:00 - 16-08 15:00:00 @ 13.77p 0%, 16-08 15:00:00 - 16-08 15:30:00 @ 15.02p 0%, 16-08 15:30:00 - 16-08 16:00:00 @ 15.87p 0%, 16-08 16:00:00 - 16-08 16:30:00 @ 33.13p 0%, 16-08 16:30:00 - 16-08 17:00:00 @ 33.13p 0%, 16-08 17:00:00 - 16-08 17:30:00 @ 38.46p 0%, 16-08 17:30:00 - 16-08 18:00:00 @ 40.44p 0%, 16-08 18:00:00 - 16-08 18:30:00 @ 41.55p 0%, 16-08 19:00:00 - 16-08 19:30:00 @ 32.58p 0%, 16-08 19:30:00 - 16-08 20:00:00 @ 32.9p 0%, 16-08 20:00:00 - 16-08 20:30:00 @ 31.99p 0%, 16-08 20:30:00 - 16-08 21:00:00 @ 32.1p 0%, 16-08 21:00:00 - 16-08 21:30:00 @ 31.71p 0%, 16-08 21:30:00 - 16-08 22:00:00 @ 31.67p 0%, 16-08 22:00:00 - 16-08 22:30:00 @ 31.77p 0%, 16-08 22:30:00 - 16-08 23:00:00 @ 29.81p 0%, 16-08 23:00:00 - 16-08 23:30:00 @ 27.8p 0%, 16-08 23:30:00 - 17-08 00:00:00 @ 29.09p 0%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.47p 0%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.18p 0%, 17-08 01:00:00 - 17-08 01:30:00 @ 27.57p 0%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.5p 0%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.6p 0%, 17-08 02:30:00 - 17-08 03:00:00 @ 24.79p 0%, 17-08 03:00:00 - 17-08 03:30:00 @ 25.08p 0%, 17-08 03:30:00 - 17-08 04:00:00 @ 24.62p 0%, 17-08 04:00:00 - 17-08 04:30:00 @ 27.02p 0%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.47p 0%, 17-08 05:00:00 - 17-08 05:30:00 @ 26.25p 0%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.4p 0%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.7p 0%, 17-08 06:30:00 - 17-08 07:00:00 @ 27.63p 0%, 17-08 07:00:00 - 17-08 07:30:00 @ 22.73p 0%, 17-08 07:30:00 - 17-08 08:00:00 @ 26.7p 0% ]
2026-08-15 07:50:03.946201: Best export window [  ]
2026-08-15 07:50:03.947086: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 07:50:03.950163: Load divergence over 8.0 hours mean 653.22W, min 283.2W, max 1692.6W, std dev 324.17W, divergence 24.81%
2026-08-15 07:50:03.967876: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 07:50:03.967982: LoadML is_calculating False
2026-08-15 07:50:03.968047: Creating pool of 12 processes to match your CPU count
2026-08-15 07:50:04.051019: Calculate Best options: mode(Control charge & discharge), calculate_export_oncharge(False), calculate_export_on_pv(True), set_export_freeze_only(False), set_discharge_during_charge(True), combine_charge_slots(False), combine_export_slots(False), combine_rate_threshold(0.0), best_soc_min(0.0 kWh), best_soc_max(0.0 kWh), best_soc_keep(0.0 kWh), inverter_loss(4%), battery_loss(3%), battery_loss_discharge (3%), inverter_hybrid(True), metric_min_improvement(0.0p), metric_min_improvement_export(0.1p), metric_min_improvement_export_freeze(0.1p), metric_battery_cycle(0.0p/kWh), metric_battery_value_scaling(1.0 x) 
2026-08-15 07:50:04.053199: Optimise levels pass started at 2026-08-15 07:50:04
2026-08-15 07:50:04.053259: Optimise all windows, total charge 94 export 1
2026-08-15 07:50:04.904196: >> Region optimisation pass width 960 gives best_metric 821.94p, best_cost 854.27p, best_cycle 57.68kWh, best_import 40.51kWh
2026-08-15 07:50:05.298850: >> Region optimisation pass width 480 gives best_metric 821.94p, best_cost 854.27p, best_cycle 57.68kWh, best_import 40.51kWh
2026-08-15 07:50:05.839900: >> Region optimisation pass width 240 gives best_metric 821.94p, best_cost 854.27p, best_cycle 57.68kWh, best_import 40.51kWh
2026-08-15 07:50:07.271663: >> Region optimisation pass width 120 gives best_metric 815.96p, best_cost 823.65p, best_cycle 54.63kWh, best_import 38.47kWh
2026-08-15 07:50:07.272082: Calculated end_record as 08-16 11:30:00 based on best_price 16.34p, next_charge_start 08-15 11:30:00, max_windows 55
2026-08-15 07:50:07.272178: Optimise levels pass ended at 2026-08-15 07:50:07, duration 3.2 seconds tried 364 combinations
2026-08-15 07:50:07.272329: Set best_price_charge_level 17.6p, best_price_export_level 0p, best_price_charge 16.34p, best_cost_export 0p, best_metric 815.96p, best_keep 0kWh, best_cycle 54.63kWh, best_carbon 0kg, best_import 38.47kWh
2026-08-15 07:50:07.289360: Starting detailed optimisation end_record 08-16 11:30:00, best_price_charge 16.34p, best_price_export 0p. lowest_price_charge 13.77p with charge limits [0, 0, 0, 0, 0, 0, 0, 0, 16.0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0]kWh and export limits []kWh
2026-08-15 07:50:11.122866: Tweak plan optimisation started metric 579.0p, cost 588.76p
2026-08-15 07:50:11.368115: Tweak optimisation finished metric 578.7p, cost 588.47p, metric_keep 0kWh, cycle 29.67kWh, carbon 0kg, import 22.87kWh, changed 8 window(s)
2026-08-15 07:50:11.388139: Swap charge optimisation started metric 578.7p, cost 588.47p, min_improvement_swap 0.1p
2026-08-15 07:50:17.249199: Swap charge optimisation finished metric 578.7p, cost 588.47p
2026-08-15 07:50:17.397823: Pruned 2 dead plan slot(s) in 13 trial(s), nominal metric 575.22p -> 575.22p, plan now metric 578.76p, cost 588.47p, cycle 29.67kWh, import 22.87kWh
2026-08-15 07:50:17.409826: Raw charge windows [ 15-08 07:30:00 - 15-08 08:00:00 @ 26.7p 0%, 15-08 08:00:00 - 15-08 08:30:00 @ 22.92p 9%, 15-08 08:30:00 - 15-08 09:00:00 @ 22.48p 9%, 15-08 09:00:00 - 15-08 09:30:00 @ 23.55p 0%, 15-08 09:30:00 - 15-08 10:00:00 @ 23.64p 0%, 15-08 10:00:00 - 15-08 10:30:00 @ 19.66p 0%, 15-08 10:30:00 - 15-08 11:00:00 @ 17.66p 0%, 15-08 11:00:00 - 15-08 11:30:00 @ 16.56p 0%, 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 13:30:00 @ 15.36p 100%, 15-08 13:30:00 - 15-08 14:00:00 @ 15.74p 100%, 15-08 14:00:00 - 15-08 14:30:00 @ 14.57p 100%, 15-08 14:30:00 - 15-08 15:00:00 @ 13.77p 100%, 15-08 15:00:00 - 15-08 15:30:00 @ 15.02p 100%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 97%, 15-08 16:00:00 - 15-08 16:30:00 @ 33.13p 0%, 15-08 16:30:00 - 15-08 17:00:00 @ 33.13p 0%, 15-08 17:00:00 - 15-08 17:30:00 @ 38.46p 0%, 15-08 17:30:00 - 15-08 18:00:00 @ 40.44p 0%, 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 0%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 0%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 0%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 0%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 0%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 27.8p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 29.09p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.47p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.18p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 27.57p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.5p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.6p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 24.79p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 25.08p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 24.62p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 27.02p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.47p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 26.25p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.4p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.7p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 27.63p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 22.73p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 26.7p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 22.92p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 22.48p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 23.55p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 23.64p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 19.66p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 17.66p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 16.56p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 15.46p 100%, 16-08 12:00:00 - 16-08 12:30:00 @ 17.0p 100%, 16-08 12:30:00 - 16-08 13:00:00 @ 16.34p 100%, 16-08 13:00:00 - 16-08 13:30:00 @ 15.36p 100%, 16-08 13:30:00 - 16-08 14:00:00 @ 15.74p 100%, 16-08 14:00:00 - 16-08 14:30:00 @ 14.57p 100%, 16-08 14:30:00 - 16-08 15:00:00 @ 13.77p 100%, 16-08 15:00:00 - 16-08 15:30:00 @ 15.02p 100%, 16-08 15:30:00 - 16-08 16:00:00 @ 15.87p 100%, 16-08 16:00:00 - 16-08 16:30:00 @ 33.13p 100%, 16-08 16:30:00 - 16-08 17:00:00 @ 33.13p 100%, 16-08 17:00:00 - 16-08 17:30:00 @ 38.46p 100%, 16-08 17:30:00 - 16-08 18:00:00 @ 40.44p 100%, 16-08 18:00:00 - 16-08 18:30:00 @ 41.55p 100%, 16-08 19:00:00 - 16-08 19:30:00 @ 32.58p 100%, 16-08 19:30:00 - 16-08 20:00:00 @ 32.9p 100%, 16-08 20:00:00 - 16-08 20:30:00 @ 31.99p 100%, 16-08 20:30:00 - 16-08 21:00:00 @ 32.1p 100%, 16-08 21:00:00 - 16-08 21:30:00 @ 31.71p 100%, 16-08 21:30:00 - 16-08 22:00:00 @ 31.67p 100%, 16-08 22:00:00 - 16-08 22:30:00 @ 31.77p 100%, 16-08 22:30:00 - 16-08 23:00:00 @ 29.81p 100%, 16-08 23:00:00 - 16-08 23:30:00 @ 27.8p 100%, 16-08 23:30:00 - 17-08 00:00:00 @ 29.09p 100%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.47p 100%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.18p 100%, 17-08 01:00:00 - 17-08 01:30:00 @ 27.57p 100%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.5p 100%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.6p 100%, 17-08 02:30:00 - 17-08 03:00:00 @ 24.79p 100%, 17-08 03:00:00 - 17-08 03:30:00 @ 25.08p 100%, 17-08 03:30:00 - 17-08 04:00:00 @ 24.62p 100%, 17-08 04:00:00 - 17-08 04:30:00 @ 27.02p 100%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.47p 100%, 17-08 05:00:00 - 17-08 05:30:00 @ 26.25p 100%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.4p 100%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.7p 100%, 17-08 06:30:00 - 17-08 07:00:00 @ 27.63p 100%, 17-08 07:00:00 - 17-08 07:30:00 @ 22.73p 100%, 17-08 07:30:00 - 17-08 08:00:00 @ 26.7p 100% ] reserve 1.12
2026-08-15 07:50:17.410613: Unclipped charge windows [ 15-08 08:00:00 - 15-08 09:00:00 @ 22.7p 9%, 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 15:30:00 @ 14.71p 100%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 97%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 08:00:00 @ 25.73p 100% ] reserve 1.12
2026-08-15 07:50:17.411015: Unfiltered charge windows [ 15-08 08:00:00 - 15-08 09:00:00 @ 22.7p 9%, 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 15:30:00 @ 14.71p 100%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 97%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 08:00:00 @ 25.73p 100% ] reserve 1.12
2026-08-15 07:50:17.411351: Filtered charge windows [ 15-08 08:00:00 - 15-08 09:00:00 @ 22.7p 9%, 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 15:30:00 @ 14.71p 100%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 97%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 08:00:00 @ 25.73p 100% ] reserve 1.12
2026-08-15 07:50:17.449203: Previous plan best metric is 579.27 (cost 589.12) and new plan best metric is 578.7 (cost 588.47)
2026-08-15 07:50:17.449431: New plan metric is not significantly better (metric_min_improvement_plan 2.0) than previous plan, using previous plan
2026-08-15 07:50:17.449697: Plan valid is now true after recompute was False
2026-08-15 07:50:17.478959: predict base end_record 08-16 11:30:00, final soc 1.12kWh, metric 806.12p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 08:55:00, load 27.22kWh, PV 0.0kWh
2026-08-15 07:50:17.579008: Battery has 1.08 hours left - now at 1.76kWh
2026-08-15 07:50:17.616841: predict base10 end_record 08-16 11:30:00, final soc 1.12kWh, metric 831.79p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 08:50:00, load 28.24kWh, PV 0.0kWh
2026-08-15 07:50:17.689712: predict best10 end_record 08-16 11:30:00, final soc 1.12kWh, metric 661.72p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 08:50:00, load 28.24kWh, PV 0.0kWh
2026-08-15 07:50:17.767883: predict best end_record 08-16 11:30:00, final soc 1.12kWh, metric 639.1p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 08:55:00, load 27.22kWh, PV 0.0kWh
2026-08-15 07:50:17.767992: Saving plan best values to HA entities
2026-08-15 07:50:17.910886: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 07:50:17.916179: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 07:50:17.921592: Best charging limit SoC's [16.0, 3.5, 4.0, 16.0, 16.0, 16.0]kWh, export []kWh gives import battery 20.3kWh, house 2.62kWh, export 0.0kWh, metric 639.1p, metric10 661.72p
2026-08-15 07:50:17.993575: Marginal costs baseline metric (no standing charge): 589.1186
2026-08-15 07:50:18.261769: Marginal energy costs matrix computed: min=14.5 max=33.28
2026-08-15 07:50:18.328235: Rate array import [{'start': 470, 'end': 480, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 480, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 23.6p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1860, 'rate': 'expensive', 'range': '(24.6p - 32.9p)'}, {'start': 1860, 'end': 1890, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 1890, 'end': 1920, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 1920, 'end': 2130, 'rate': 'cheap', 'range': '(16.6p - 23.6p)'}] export [{'start': 470, 'end': 2130, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 07:50:18.328884: - Your estimated bill for today is £5.82 and tomorrow is £5.42
2026-08-15 07:50:18.328932: - Import rates are expensive (26.7p) for the next 10 minutes and then cheap (13.8p - 23.6p) for the next 8 hours.
2026-08-15 07:50:18.328988: - The battery is currently at 11% and is in eco mode for the next 3 and three quarters hours.
2026-08-15 07:50:18.329008: - For the next 48 hours there will be no solar generation.
2026-08-15 07:50:18.329026: - You will run out of battery in 1 hour.
2026-08-15 07:50:18.329061: - Your next charge slot will be in 3 and three quarters hours where import rates will be cheap (15.5p).
2026-08-15 07:50:18.329094: 
2026-08-15 07:50:18.378485: Plan calculation took 14.44 seconds
2026-08-15 07:50:18.378864: Inverter 0: Type SK Sunsynk
2026-08-15 07:50:18.378912: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 07:50:18.379134: Reserve min: 7%, battery_min: 7%
2026-08-15 07:50:18.379217: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 07:50:18.379562: Inverter 0 SoC: 1.7kW 11%, current charge rate 5000W, current discharge rate 5250W, current battery power 249W, current battery voltage 51.2V, grid power -55W, load power 310W, PV Power 0W
2026-08-15 07:50:18.379804: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 07:50:18.379915: Inverter 0 scheduled charge enable is False
2026-08-15 07:50:18.379956: Inverter 0 charge windows currently []
2026-08-15 07:50:18.379988: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 07:50:18.380094: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 07:50:18.380132: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 07:50:18.380168: Inverter 0 scheduled discharge enable is False
2026-08-15 07:50:18.380311: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 07:50:18.380349: Inverter 0 discharge windows currently []
2026-08-15 07:50:18.380371: Note: Inverter does not support discharge freeze - disabled
2026-08-15 07:50:18.380389: Note: Inverter does not support charge freeze - disabled
2026-08-15 07:50:18.380407: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 07:50:18.439697: Inverter 0 Charge window will be: 2026-08-15 11:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 11%, target 100%
2026-08-15 07:50:18.439849: Inverter 0 disabled charge window while waiting for schedule (now 08-15 07:50:00 target set_window_minutes 30 charge start time 08-15 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 07:50:18.439921: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 07:50:18.440136: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 07:50:18.440218: No export window planned
2026-08-15 07:50:18.440327: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 07:50:18.440392: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 07:50:18.440572: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 07:50:18.440739: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 07:50:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 07:50:18.440785: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 07:50:18.440834: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 07:50:18.440924: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 07:50:18.441007: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 07:50:18.441044: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 07:50:18.441071: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 07:50:18.441109: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 07:50:18.441154: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 07:50:18.441178: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 07:50:18.441237: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 07:50:18.441265: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 07:50:18.441305: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 07:50:18.441331: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 07:50:18.441354: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 07:50:18.441378: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 07:50:18.441406: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 07:50:18.441427: Inverter 0 count register writes 0
2026-08-15 07:50:18.462569: Total inverter register writes now 815
2026-08-15 07:50:18.494030: Info: Completed run status Demand
2026-08-15 07:50:18.500356: Info: record_status Demand
2026-08-15 07:50:18.507248: Saved current settings to /config/predbat_config.json
2026-08-15 07:50:18.507568: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 07:50:56.615598: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 07:50:56.616071: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 07:50:56.616154: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 07:50:56.616344: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 07:50:56.616392: Note: Inverter does not support discharge freeze - disabled
2026-08-15 07:50:56.616420: Note: Inverter does not support charge freeze - disabled
2026-08-15 07:50:56.616455: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 07:52:56.843024: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 07:52:56.843259: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 07:52:56.843328: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 07:52:56.843525: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 07:52:56.843593: Note: Inverter does not support discharge freeze - disabled
2026-08-15 07:52:56.843633: Note: Inverter does not support charge freeze - disabled
2026-08-15 07:52:56.843651: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 07:54:57.062474: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 07:54:57.062738: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 07:54:57.062783: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 07:54:57.062932: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 07:54:57.062971: Note: Inverter does not support discharge freeze - disabled
2026-08-15 07:54:57.062992: Note: Inverter does not support charge freeze - disabled
2026-08-15 07:54:57.063010: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 07:55:00.147074: --------------- PredBat - update at 2026-08-15 07:55:00+01:00 with clock skew 0 minutes, minutes now 475
2026-08-15 07:55:00.147958: Saved current settings to /config/predbat_config.json
2026-08-15 07:55:00.148079: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 105.0 minutes
2026-08-15 07:55:00.148224: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.1, latest beta is v8.48.1
2026-08-15 07:55:00.148412: Autoupdate: Currently up to date
2026-08-15 07:55:00.168279: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 07:55:00.168400: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 07:55:00.168574: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 07:55:00.169212: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 07:55:00.169320: Predbat mode is set to Control charge & discharge
2026-08-15 07:55:00.338038: Found 21602 load_today datapoints going back 28 days
2026-08-15 07:55:00.338181: Using load_power data to fill gaps in load_today data
2026-08-15 07:55:01.021713: Processing 721 30-minute periods for power integration
2026-08-15 07:55:01.172802: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 07:55:01.173015: Car charging hold False, threshold 6.0kWh
2026-08-15 07:55:01.173126: Current data so far today: load 5.85kWh, import 6.8kWh, export 0.0kWh, PV 0kWh
2026-08-15 07:55:01.185236: Cars: SoC: [12.892000000000001]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 07:55:01.185588: Standing charge is set to 49.98p
2026-08-15 07:55:01.215792: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 07:55:01.215930: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 07:55:01.216147: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 475.0 minutes
2026-08-15 07:55:01.216473: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 474.6 minutes
2026-08-15 07:55:01.220450: Loaded 47 datapoints of futurerate analysis
2026-08-15 07:55:01.298724: Predicted future rates: ['08-15 00:00:00 => 28.9 / 20.01', '08-15 01:00:00 => 27.54 / 19.31', '08-15 02:00:00 => 26.52 / 18.8', '08-15 03:00:00 => 25.99 / 18.53', '08-15 04:00:00 => 25.8 / 18.43', '08-15 05:00:00 => 25.96 / 18.51', '08-15 06:00:00 => 25.55 / 18.3', '08-15 07:00:00 => 24.33 / 17.68', '08-15 08:00:00 => 23.03 / 17.01', '08-15 09:00:00 => 22.05 / 16.51', '08-15 10:00:00 => 20.43 / 15.68', '08-15 11:00:00 => 18.01 / 14.45', '08-15 12:00:00 => 16.37 / 13.61', '08-15 13:00:00 => 15.76 / 13.3', '08-15 14:00:00 => 15.35 / 13.09', '08-15 15:00:00 => 15.86 / 13.35', '08-15 16:00:00 => 32.89 / 16.13', '08-15 17:00:00 => 38.02 / 18.75', '08-15 18:00:00 => 42.36 / 20.96', '08-15 19:00:00 => 31.09 / 21.13', '08-15 20:00:00 => 31.64 / 21.41', '08-15 21:00:00 => 31.64 / 21.41', '08-15 22:00:00 => 30.58 / 20.87']
2026-08-15 07:55:01.362136: Rate min forward looking: now 13.77p at end of forecast 13.77p
2026-08-15 07:55:01.362585: Import rates: min 13.77p, max 43.82p, average 25.96p
2026-08-15 07:55:01.397978: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 07:55:01.398115: Rate thresholds (for charge/export) are import 43.32p (0.0p), export -0.1p (0.0p)
2026-08-15 07:55:01.399190: High export rate found rates in range 99p to -99p
2026-08-15 07:55:01.472314: Low Import rate found rates in range 13.77p to 41.55p
2026-08-15 07:55:01.472460: Car 0 charging is not planned as it is not plugged in
2026-08-15 07:55:01.484028: Battery level now 1.76kWh, -1hr ago 1.92kWh, at midnight 1.66kWh, battery value change in the last hour -1.89p, change today 1.23p, rate_forward 11.83p
2026-08-15 07:55:01.484418: Last hour: net energy 0.0kWh, import 0.0kWh, export 0.0kWh, car 0kWh, load 0.35kWh, net cost 0.0p, import 0.0p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 07:55:01.528450: Today's energy total net 6.8kWh, import 6.8kWh, export 0.0kWh, cost 231.27p, import 181.28p, export 0.0p, carbon 0.0kg
2026-08-15 07:55:01.528612: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 07:55:01.601127: Using weighted-bucket historical load forecast over 14 days
2026-08-15 07:55:01.621231: Today's load divergence 107.17%, in-day adjustment 131.58%, damping 0.95x, yesterday 143.77% today 106.81% blend 67.01%
2026-08-15 07:55:01.621304: Today's predicted so far 4.61kWh with 0.0kWh car/iBoost excluded, 2.69kWh import ignored, and 4.61kWh forecast extra.
2026-08-15 07:55:01.621351: Today's actual load so far 5.81kWh with 0.0kWh car/iBoost excluded, and 2.69kWh import ignored.
2026-08-15 07:55:01.654718: Inverter 0: Type SK Sunsynk
2026-08-15 07:55:01.654811: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 07:55:01.655005: Reserve min: 7%, battery_min: 7%
2026-08-15 07:55:01.655076: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 07:55:01.655324: Inverter 0 SoC: 1.6kW 10%, current charge rate 5000W, current discharge rate 5250W, current battery power 310W, current battery voltage 51.2V, grid power -54W, load power 371W, PV Power 0W
2026-08-15 07:55:01.655479: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 07:55:01.655590: Inverter 0 scheduled charge enable is False
2026-08-15 07:55:01.655642: Inverter 0 charge windows currently []
2026-08-15 07:55:01.655668: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 07:55:01.655785: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 07:55:01.655866: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 07:55:01.655903: Inverter 0 scheduled discharge enable is False
2026-08-15 07:55:01.656057: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 07:55:01.656094: Inverter 0 discharge windows currently []
2026-08-15 07:55:01.656116: Note: Inverter does not support discharge freeze - disabled
2026-08-15 07:55:01.656155: Note: Inverter does not support charge freeze - disabled
2026-08-15 07:55:01.656175: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 07:55:01.715582: Dynamic load last period 0.30kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 07:55:01.715751: Plan was last updated on 2026-08-15 07:50:00+01:00 and is now 5.0 minutes old
2026-08-15 07:55:01.715994: Best charge window [ 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 00:30:00 @ 28.84p 100% ]
2026-08-15 07:55:01.716063: Best export window [  ]
2026-08-15 07:55:01.716708: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 07:55:01.719260: Load divergence over 8.0 hours mean 649.64W, min 287.4W, max 1838.4W, std dev 330.88W, divergence 25.47%
2026-08-15 07:55:01.735055: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 07:55:01.735174: LoadML is_calculating False
2026-08-15 07:55:01.735256: Creating pool of 12 processes to match your CPU count
2026-08-15 07:55:01.861328: predict base end_record 08-16 11:35:00, final soc 1.12kWh, metric 809.75p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 08:45:00, load 27.28kWh, PV 0.0kWh
2026-08-15 07:55:01.981158: Battery has 0.83 hours left - now at 1.6kWh
2026-08-15 07:55:02.029448: predict base10 end_record 08-16 11:35:00, final soc 1.12kWh, metric 835.38p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 08:45:00, load 28.3kWh, PV 0.0kWh
2026-08-15 07:55:02.124740: predict best10 end_record 08-16 11:35:00, final soc 1.44kWh, metric 670.56p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 08:45:00, load 28.3kWh, PV 0.0kWh
2026-08-15 07:55:02.227781: predict best end_record 08-16 11:35:00, final soc 1.51kWh, metric 649.08p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 08:45:00, load 27.28kWh, PV 0.0kWh
2026-08-15 07:55:02.228339: Saving plan best values to HA entities
2026-08-15 07:55:02.388367: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 07:55:02.393214: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0.0
2026-08-15 07:55:02.397915: Best charging limit SoC's [16.0, 3.5, 4.0, 16.0, 16.0, 16.0]kWh, export []kWh gives import battery 20.8kWh, house 2.72kWh, export 0.0kWh, metric 649.08p, metric10 670.56p
2026-08-15 07:55:02.461020: Marginal costs baseline metric (no standing charge): 599.0919
2026-08-15 07:55:02.673477: Marginal energy costs matrix computed: min=14.33 max=33.43
2026-08-15 07:55:02.742255: Rate array import [{'start': 475, 'end': 480, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 480, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 23.6p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1860, 'rate': 'expensive', 'range': '(24.6p - 32.9p)'}, {'start': 1860, 'end': 1890, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 1890, 'end': 1920, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 1920, 'end': 2135, 'rate': 'cheap', 'range': '(15.5p - 23.6p)'}] export [{'start': 475, 'end': 2135, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 07:55:02.742964: - Your estimated bill for today is £5.84 and tomorrow is £5.42
2026-08-15 07:55:02.743013: - Import rates are expensive (26.7p) for the next 5 minutes and then cheap (13.8p - 23.6p) for the next 8 hours.
2026-08-15 07:55:02.743036: - The battery is currently at 10% and is in eco mode for the next 3 and a half hours.
2026-08-15 07:55:02.743054: - For the next 48 hours there will be no solar generation.
2026-08-15 07:55:02.743071: - You will run out of battery in 50 minutes.
2026-08-15 07:55:02.743096: - Your next charge slot will be in 3 and a half hours where import rates will be cheap (15.5p).
2026-08-15 07:55:02.743123: 
2026-08-15 07:55:02.797206: Plan calculation took 1.08 seconds
2026-08-15 07:55:02.800536: No high rate period found
2026-08-15 07:55:02.852761: Import threshold used for optimisation was 22.92p
2026-08-15 07:55:02.903072: Low import rate windows [0: 08-15 07:30:00 - 08-15 08:00:00 @ 26.7, 1: 08-15 08:00:00 - 08-15 08:30:00 @ 22.92, 2: 08-15 08:30:00 - 08-15 09:00:00 @ 22.48, 3: 08-15 09:00:00 - 08-15 09:30:00 @ 23.55, 4: 08-15 09:30:00 - 08-15 10:00:00 @ 23.64, 5: 08-15 10:00:00 - 08-15 10:30:00 @ 19.66, 6: 08-15 10:30:00 - 08-15 11:00:00 @ 17.66, 7: 08-15 11:00:00 - 08-15 11:30:00 @ 16.56, 8: 08-15 11:30:00 - 08-15 12:00:00 @ 15.46, 9: 08-15 12:00:00 - 08-15 12:30:00 @ 17.0, 10: 08-15 12:30:00 - 08-15 13:00:00 @ 16.34, 11: 08-15 13:00:00 - 08-15 13:30:00 @ 15.36, 12: 08-15 13:30:00 - 08-15 14:00:00 @ 15.74, 13: 08-15 14:00:00 - 08-15 14:30:00 @ 14.57, 14: 08-15 14:30:00 - 08-15 15:00:00 @ 13.77, 15: 08-15 15:00:00 - 08-15 15:30:00 @ 15.02, 16: 08-15 15:30:00 - 08-15 16:00:00 @ 15.87, 17: 08-15 16:00:00 - 08-15 16:30:00 @ 33.13, 18: 08-15 16:30:00 - 08-15 17:00:00 @ 33.13, 19: 08-15 17:00:00 - 08-15 17:30:00 @ 38.46, 20: 08-15 17:30:00 - 08-15 18:00:00 @ 40.44, 21: 08-15 18:00:00 - 08-15 18:30:00 @ 41.55, 22: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 23: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 24: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 25: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 26: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 27: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 28: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 29: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 30: 08-15 23:00:00 - 08-15 23:30:00 @ 27.8, 31: 08-15 23:30:00 - 08-16 00:00:00 @ 29.09, 32: 08-16 00:00:00 - 08-16 00:30:00 @ 28.47, 33: 08-16 00:30:00 - 08-16 01:00:00 @ 27.18, 34: 08-16 01:00:00 - 08-16 01:30:00 @ 27.57, 35: 08-16 01:30:00 - 08-16 02:00:00 @ 26.5, 36: 08-16 02:00:00 - 08-16 02:30:00 @ 25.6, 37: 08-16 02:30:00 - 08-16 03:00:00 @ 24.79, 38: 08-16 03:00:00 - 08-16 03:30:00 @ 25.08, 39: 08-16 03:30:00 - 08-16 04:00:00 @ 24.62, 40: 08-16 04:00:00 - 08-16 04:30:00 @ 27.02, 41: 08-16 04:30:00 - 08-16 05:00:00 @ 26.47, 42: 08-16 05:00:00 - 08-16 05:30:00 @ 26.25, 43: 08-16 05:30:00 - 08-16 06:00:00 @ 26.4, 44: 08-16 06:00:00 - 08-16 06:30:00 @ 25.7, 45: 08-16 06:30:00 - 08-16 07:00:00 @ 27.63, 46: 08-16 07:00:00 - 08-16 07:30:00 @ 22.73, 47: 08-16 07:30:00 - 08-16 08:00:00 @ 26.7, 48: 08-16 08:00:00 - 08-16 08:30:00 @ 22.92, 49: 08-16 08:30:00 - 08-16 09:00:00 @ 22.48, 50: 08-16 09:00:00 - 08-16 09:30:00 @ 23.55, 51: 08-16 09:30:00 - 08-16 10:00:00 @ 23.64, 52: 08-16 10:00:00 - 08-16 10:30:00 @ 19.66, 53: 08-16 10:30:00 - 08-16 11:00:00 @ 17.66, 54: 08-16 11:00:00 - 08-16 11:30:00 @ 16.56, 55: 08-16 11:30:00 - 08-16 12:00:00 @ 15.46, 56: 08-16 12:00:00 - 08-16 12:30:00 @ 17.0, 57: 08-16 12:30:00 - 08-16 13:00:00 @ 16.34, 58: 08-16 13:00:00 - 08-16 13:30:00 @ 15.36, 59: 08-16 13:30:00 - 08-16 14:00:00 @ 15.74, 60: 08-16 14:00:00 - 08-16 14:30:00 @ 14.57, 61: 08-16 14:30:00 - 08-16 15:00:00 @ 13.77, 62: 08-16 15:00:00 - 08-16 15:30:00 @ 15.02, 63: 08-16 15:30:00 - 08-16 16:00:00 @ 15.87, 64: 08-16 16:00:00 - 08-16 16:30:00 @ 33.13, 65: 08-16 16:30:00 - 08-16 17:00:00 @ 33.13, 66: 08-16 17:00:00 - 08-16 17:30:00 @ 38.46, 67: 08-16 17:30:00 - 08-16 18:00:00 @ 40.44, 68: 08-16 18:00:00 - 08-16 18:30:00 @ 41.55, 69: 08-16 19:00:00 - 08-16 19:30:00 @ 32.58, 70: 08-16 19:30:00 - 08-16 20:00:00 @ 32.9, 71: 08-16 20:00:00 - 08-16 20:30:00 @ 31.99, 72: 08-16 20:30:00 - 08-16 21:00:00 @ 32.1, 73: 08-16 21:00:00 - 08-16 21:30:00 @ 31.71, 74: 08-16 21:30:00 - 08-16 22:00:00 @ 31.67, 75: 08-16 22:00:00 - 08-16 22:30:00 @ 31.77, 76: 08-16 22:30:00 - 08-16 23:00:00 @ 29.81, 77: 08-16 23:00:00 - 08-16 23:30:00 @ 27.8, 78: 08-16 23:30:00 - 08-17 00:00:00 @ 29.09, 79: 08-17 00:00:00 - 08-17 00:30:00 @ 28.47, 80: 08-17 00:30:00 - 08-17 01:00:00 @ 27.18, 81: 08-17 01:00:00 - 08-17 01:30:00 @ 27.57, 82: 08-17 01:30:00 - 08-17 02:00:00 @ 26.5, 83: 08-17 02:00:00 - 08-17 02:30:00 @ 25.6, 84: 08-17 02:30:00 - 08-17 03:00:00 @ 24.79, 85: 08-17 03:00:00 - 08-17 03:30:00 @ 25.08, 86: 08-17 03:30:00 - 08-17 04:00:00 @ 24.62, 87: 08-17 04:00:00 - 08-17 04:30:00 @ 27.02, 88: 08-17 04:30:00 - 08-17 05:00:00 @ 26.47, 89: 08-17 05:00:00 - 08-17 05:30:00 @ 26.25, 90: 08-17 05:30:00 - 08-17 06:00:00 @ 26.4, 91: 08-17 06:00:00 - 08-17 06:30:00 @ 25.7, 92: 08-17 06:30:00 - 08-17 07:00:00 @ 27.63, 93: 08-17 07:00:00 - 08-17 07:30:00 @ 22.73, 94: 08-17 07:30:00 - 08-17 08:00:00 @ 26.7]
2026-08-15 07:55:02.909278: Inverter 0 Charge window will be: 2026-08-15 11:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 10%, target 100%
2026-08-15 07:55:02.909434: Inverter 0 disabled charge window while waiting for schedule (now 08-15 07:55:00 target set_window_minutes 30 charge start time 08-15 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 07:55:02.909642: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 07:55:02.910016: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 07:55:02.910143: No export window planned
2026-08-15 07:55:02.910358: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 07:55:02.910404: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 07:55:02.910608: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 07:55:02.910840: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 07:55:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 07:55:02.910918: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 07:55:02.911035: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 07:55:02.911188: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 07:55:02.911244: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 07:55:02.911305: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 07:55:02.911370: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 07:55:02.911425: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 07:55:02.911479: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 07:55:02.911531: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 07:55:02.911676: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 07:55:02.911731: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 07:55:02.911777: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 07:55:02.911807: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 07:55:02.911831: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 07:55:02.911855: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 07:55:02.911884: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 07:55:02.911905: Inverter 0 count register writes 0
2026-08-15 07:55:02.927060: Will not recompute the plan, it is 5.0 minutes old and max age is 10 minutes
2026-08-15 07:55:02.932773: Total inverter register writes now 815
2026-08-15 07:55:02.967091: Info: Completed run status Demand
2026-08-15 07:55:02.974075: Info: record_status Demand
2026-08-15 07:55:02.981011: Saved current settings to /config/predbat_config.json
2026-08-15 07:55:02.981417: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 07:55:12.057140: Info: Refresh config entities due to their age of 480.0 minutes
2026-08-15 07:55:12.057264: Refreshing Predbat configuration
2026-08-15 07:55:12.648536: Saved current settings to /config/predbat_config.json
2026-08-15 07:55:12.650869: Validation of apps.yaml was successful
2026-08-15 07:55:12.651021: --------------- PredBat - update at 2026-08-15 07:55:00+01:00 with clock skew 0 minutes, minutes now 475
2026-08-15 07:55:12.651467: Saved current settings to /config/predbat_config.json
2026-08-15 07:55:12.651555: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 105.2 minutes
2026-08-15 07:55:12.651702: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.1, latest beta is v8.48.1
2026-08-15 07:55:12.651782: Autoupdate: Currently up to date
2026-08-15 07:55:12.666992: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 07:55:12.667097: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 07:55:12.667237: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 07:55:12.667699: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 07:55:12.667802: Predbat mode is set to Control charge & discharge
2026-08-15 07:55:12.827701: Found 21602 load_today datapoints going back 28 days
2026-08-15 07:55:12.827832: Using load_power data to fill gaps in load_today data
2026-08-15 07:55:13.612731: Processing 721 30-minute periods for power integration
2026-08-15 07:55:13.795099: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 07:55:13.795939: Car charging hold False, threshold 6.0kWh
2026-08-15 07:55:13.796005: Current data so far today: load 5.85kWh, import 6.8kWh, export 0.0kWh, PV 0kWh
2026-08-15 07:55:13.810922: Cars: SoC: [12.892000000000001]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 07:55:13.811286: Standing charge is set to 49.98p
2026-08-15 07:55:13.838259: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 07:55:13.838348: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 07:55:13.838562: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 475.2 minutes
2026-08-15 07:55:13.838981: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 474.9 minutes
2026-08-15 07:55:13.841426: Loaded 47 datapoints of futurerate analysis
2026-08-15 07:55:13.912134: Predicted future rates: ['08-15 00:00:00 => 28.9 / 20.01', '08-15 01:00:00 => 27.54 / 19.31', '08-15 02:00:00 => 26.52 / 18.8', '08-15 03:00:00 => 25.99 / 18.53', '08-15 04:00:00 => 25.8 / 18.43', '08-15 05:00:00 => 25.96 / 18.51', '08-15 06:00:00 => 25.55 / 18.3', '08-15 07:00:00 => 24.33 / 17.68', '08-15 08:00:00 => 23.03 / 17.01', '08-15 09:00:00 => 22.05 / 16.51', '08-15 10:00:00 => 20.43 / 15.68', '08-15 11:00:00 => 18.01 / 14.45', '08-15 12:00:00 => 16.37 / 13.61', '08-15 13:00:00 => 15.76 / 13.3', '08-15 14:00:00 => 15.35 / 13.09', '08-15 15:00:00 => 15.86 / 13.35', '08-15 16:00:00 => 32.89 / 16.13', '08-15 17:00:00 => 38.02 / 18.75', '08-15 18:00:00 => 42.36 / 20.96', '08-15 19:00:00 => 31.09 / 21.13', '08-15 20:00:00 => 31.64 / 21.41', '08-15 21:00:00 => 31.64 / 21.41', '08-15 22:00:00 => 30.58 / 20.87']
2026-08-15 07:55:13.963457: Rate min forward looking: now 13.77p at end of forecast 13.77p
2026-08-15 07:55:13.964013: Import rates: min 13.77p, max 43.82p, average 25.96p
2026-08-15 07:55:14.002014: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 07:55:14.002424: Rate thresholds (for charge/export) are import 43.32p (0.0p), export -0.1p (0.0p)
2026-08-15 07:55:14.003562: High export rate found rates in range 99p to -99p
2026-08-15 07:55:14.079036: Low Import rate found rates in range 13.77p to 41.55p
2026-08-15 07:55:14.079168: Car 0 charging is not planned as it is not plugged in
2026-08-15 07:55:14.091731: Battery level now 1.76kWh, -1hr ago 1.92kWh, at midnight 1.66kWh, battery value change in the last hour -1.89p, change today 1.23p, rate_forward 11.83p
2026-08-15 07:55:14.092038: Last hour: net energy 0.0kWh, import 0.0kWh, export 0.0kWh, car 0kWh, load 0.35kWh, net cost 0.0p, import 0.0p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 07:55:14.132304: Today's energy total net 6.8kWh, import 6.8kWh, export 0.0kWh, cost 231.27p, import 181.28p, export 0.0p, carbon 0.0kg
2026-08-15 07:55:14.132431: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 07:55:14.203649: Using weighted-bucket historical load forecast over 14 days
2026-08-15 07:55:14.224987: Today's load divergence 107.17%, in-day adjustment 131.58%, damping 0.95x, yesterday 143.77% today 106.81% blend 67.01%
2026-08-15 07:55:14.225059: Today's predicted so far 4.61kWh with 0.0kWh car/iBoost excluded, 2.69kWh import ignored, and 4.61kWh forecast extra.
2026-08-15 07:55:14.225641: Today's actual load so far 5.81kWh with 0.0kWh car/iBoost excluded, and 2.69kWh import ignored.
2026-08-15 07:55:14.253487: Inverter 0: Type SK Sunsynk
2026-08-15 07:55:14.253568: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 07:55:14.253747: Reserve min: 7%, battery_min: 7%
2026-08-15 07:55:14.253806: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 07:55:14.254091: Inverter 0 SoC: 1.6kW 10%, current charge rate 5000W, current discharge rate 5250W, current battery power 310W, current battery voltage 51.2V, grid power -54W, load power 371W, PV Power 0W
2026-08-15 07:55:14.254231: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 07:55:14.254314: Inverter 0 scheduled charge enable is False
2026-08-15 07:55:14.254343: Inverter 0 charge windows currently []
2026-08-15 07:55:14.254367: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 07:55:14.254501: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 07:55:14.254525: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 07:55:14.254554: Inverter 0 scheduled discharge enable is False
2026-08-15 07:55:14.254675: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 07:55:14.254708: Inverter 0 discharge windows currently []
2026-08-15 07:55:14.254727: Note: Inverter does not support discharge freeze - disabled
2026-08-15 07:55:14.254742: Note: Inverter does not support charge freeze - disabled
2026-08-15 07:55:14.254757: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 07:55:14.308931: Dynamic load last period 0.30kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 07:55:14.309051: Will recompute the plan as it is invalid
2026-08-15 07:55:14.309146: Recompute is saving previous plan...
2026-08-15 07:55:14.311620: Best charge window [ 15-08 07:30:00 - 15-08 08:00:00 @ 26.7p 0%, 15-08 08:00:00 - 15-08 08:30:00 @ 22.92p 0%, 15-08 08:30:00 - 15-08 09:00:00 @ 22.48p 0%, 15-08 09:00:00 - 15-08 09:30:00 @ 23.55p 0%, 15-08 09:30:00 - 15-08 10:00:00 @ 23.64p 0%, 15-08 10:00:00 - 15-08 10:30:00 @ 19.66p 0%, 15-08 10:30:00 - 15-08 11:00:00 @ 17.66p 0%, 15-08 11:00:00 - 15-08 11:30:00 @ 16.56p 0%, 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 0%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 0%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 0%, 15-08 13:00:00 - 15-08 13:30:00 @ 15.36p 0%, 15-08 13:30:00 - 15-08 14:00:00 @ 15.74p 0%, 15-08 14:00:00 - 15-08 14:30:00 @ 14.57p 0%, 15-08 14:30:00 - 15-08 15:00:00 @ 13.77p 0%, 15-08 15:00:00 - 15-08 15:30:00 @ 15.02p 0%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 0%, 15-08 16:00:00 - 15-08 16:30:00 @ 33.13p 0%, 15-08 16:30:00 - 15-08 17:00:00 @ 33.13p 0%, 15-08 17:00:00 - 15-08 17:30:00 @ 38.46p 0%, 15-08 17:30:00 - 15-08 18:00:00 @ 40.44p 0%, 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 0%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 0%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 0%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 0%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 0%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 27.8p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 29.09p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.47p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.18p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 27.57p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.5p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.6p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 24.79p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 25.08p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 24.62p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 27.02p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.47p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 26.25p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.4p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.7p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 27.63p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 22.73p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 26.7p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 22.92p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 22.48p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 23.55p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 23.64p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 19.66p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 17.66p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 16.56p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 15.46p 0%, 16-08 12:00:00 - 16-08 12:30:00 @ 17.0p 0%, 16-08 12:30:00 - 16-08 13:00:00 @ 16.34p 0%, 16-08 13:00:00 - 16-08 13:30:00 @ 15.36p 0%, 16-08 13:30:00 - 16-08 14:00:00 @ 15.74p 0%, 16-08 14:00:00 - 16-08 14:30:00 @ 14.57p 0%, 16-08 14:30:00 - 16-08 15:00:00 @ 13.77p 0%, 16-08 15:00:00 - 16-08 15:30:00 @ 15.02p 0%, 16-08 15:30:00 - 16-08 16:00:00 @ 15.87p 0%, 16-08 16:00:00 - 16-08 16:30:00 @ 33.13p 0%, 16-08 16:30:00 - 16-08 17:00:00 @ 33.13p 0%, 16-08 17:00:00 - 16-08 17:30:00 @ 38.46p 0%, 16-08 17:30:00 - 16-08 18:00:00 @ 40.44p 0%, 16-08 18:00:00 - 16-08 18:30:00 @ 41.55p 0%, 16-08 19:00:00 - 16-08 19:30:00 @ 32.58p 0%, 16-08 19:30:00 - 16-08 20:00:00 @ 32.9p 0%, 16-08 20:00:00 - 16-08 20:30:00 @ 31.99p 0%, 16-08 20:30:00 - 16-08 21:00:00 @ 32.1p 0%, 16-08 21:00:00 - 16-08 21:30:00 @ 31.71p 0%, 16-08 21:30:00 - 16-08 22:00:00 @ 31.67p 0%, 16-08 22:00:00 - 16-08 22:30:00 @ 31.77p 0%, 16-08 22:30:00 - 16-08 23:00:00 @ 29.81p 0%, 16-08 23:00:00 - 16-08 23:30:00 @ 27.8p 0%, 16-08 23:30:00 - 17-08 00:00:00 @ 29.09p 0%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.47p 0%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.18p 0%, 17-08 01:00:00 - 17-08 01:30:00 @ 27.57p 0%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.5p 0%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.6p 0%, 17-08 02:30:00 - 17-08 03:00:00 @ 24.79p 0%, 17-08 03:00:00 - 17-08 03:30:00 @ 25.08p 0%, 17-08 03:30:00 - 17-08 04:00:00 @ 24.62p 0%, 17-08 04:00:00 - 17-08 04:30:00 @ 27.02p 0%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.47p 0%, 17-08 05:00:00 - 17-08 05:30:00 @ 26.25p 0%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.4p 0%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.7p 0%, 17-08 06:30:00 - 17-08 07:00:00 @ 27.63p 0%, 17-08 07:00:00 - 17-08 07:30:00 @ 22.73p 0%, 17-08 07:30:00 - 17-08 08:00:00 @ 26.7p 0% ]
2026-08-15 07:55:14.311684: Best export window [  ]
2026-08-15 07:55:14.312279: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 07:55:14.314766: Load divergence over 8.0 hours mean 649.64W, min 287.4W, max 1838.4W, std dev 330.88W, divergence 25.47%
2026-08-15 07:55:14.330090: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 07:55:14.330182: LoadML is_calculating False
2026-08-15 07:55:14.330240: Creating pool of 12 processes to match your CPU count
2026-08-15 07:55:14.401893: Calculate Best options: mode(Control charge & discharge), calculate_export_oncharge(False), calculate_export_on_pv(True), set_export_freeze_only(False), set_discharge_during_charge(True), combine_charge_slots(False), combine_export_slots(False), combine_rate_threshold(0.0), best_soc_min(0.0 kWh), best_soc_max(0.0 kWh), best_soc_keep(0.0 kWh), inverter_loss(4%), battery_loss(3%), battery_loss_discharge (3%), inverter_hybrid(True), metric_min_improvement(0.0p), metric_min_improvement_export(0.1p), metric_min_improvement_export_freeze(0.1p), metric_battery_cycle(0.0p/kWh), metric_battery_value_scaling(1.0 x) 
2026-08-15 07:55:14.403434: Optimise levels pass started at 2026-08-15 07:55:14
2026-08-15 07:55:14.403482: Optimise all windows, total charge 94 export 1
2026-08-15 07:55:15.234772: >> Region optimisation pass width 960 gives best_metric 824.48p, best_cost 856.24p, best_cycle 57.6kWh, best_import 40.59kWh
2026-08-15 07:55:15.636179: >> Region optimisation pass width 480 gives best_metric 824.48p, best_cost 856.24p, best_cycle 57.6kWh, best_import 40.59kWh
2026-08-15 07:55:16.188367: >> Region optimisation pass width 240 gives best_metric 824.48p, best_cost 856.24p, best_cycle 57.6kWh, best_import 40.59kWh
2026-08-15 07:55:17.609335: >> Region optimisation pass width 120 gives best_metric 818.61p, best_cost 825.62p, best_cycle 54.56kWh, best_import 38.56kWh
2026-08-15 07:55:17.609798: Calculated end_record as 08-16 11:30:00 based on best_price 16.34p, next_charge_start 08-15 11:30:00, max_windows 55
2026-08-15 07:55:17.609909: Optimise levels pass ended at 2026-08-15 07:55:17, duration 3.2 seconds tried 364 combinations
2026-08-15 07:55:17.610000: Set best_price_charge_level 17.6p, best_price_export_level 0p, best_price_charge 16.34p, best_cost_export 0p, best_metric 818.61p, best_keep 0kWh, best_cycle 54.56kWh, best_carbon 0kg, best_import 38.56kWh
2026-08-15 07:55:17.627760: Starting detailed optimisation end_record 08-16 11:30:00, best_price_charge 16.34p, best_price_export 0p. lowest_price_charge 13.77p with charge limits [0, 0, 0, 0, 0, 0, 0, 0, 16.0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0]kWh and export limits []kWh
2026-08-15 07:55:22.396510: Tweak plan optimisation started metric 581.09p, cost 590.88p
2026-08-15 07:55:22.695575: Tweak optimisation finished metric 580.82p, cost 590.61p, metric_keep 0kWh, cycle 29.52kWh, carbon 0kg, import 22.96kWh, changed 8 window(s)
2026-08-15 07:55:22.711835: Swap charge optimisation started metric 580.82p, cost 590.61p, min_improvement_swap 0.1p
2026-08-15 07:55:27.758880: Swap charge optimisation finished metric 580.82p, cost 590.61p
2026-08-15 07:55:27.878014: Pruned 2 dead plan slot(s) in 13 trial(s), nominal metric 577.36p -> 577.36p, plan now metric 580.87p, cost 590.61p, cycle 29.52kWh, import 22.96kWh
2026-08-15 07:55:27.888068: Raw charge windows [ 15-08 07:30:00 - 15-08 08:00:00 @ 26.7p 0%, 15-08 08:00:00 - 15-08 08:30:00 @ 22.92p 9%, 15-08 08:30:00 - 15-08 09:00:00 @ 22.48p 9%, 15-08 09:00:00 - 15-08 09:30:00 @ 23.55p 0%, 15-08 09:30:00 - 15-08 10:00:00 @ 23.64p 0%, 15-08 10:00:00 - 15-08 10:30:00 @ 19.66p 0%, 15-08 10:30:00 - 15-08 11:00:00 @ 17.66p 0%, 15-08 11:00:00 - 15-08 11:30:00 @ 16.56p 0%, 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 13:30:00 @ 15.36p 100%, 15-08 13:30:00 - 15-08 14:00:00 @ 15.74p 100%, 15-08 14:00:00 - 15-08 14:30:00 @ 14.57p 100%, 15-08 14:30:00 - 15-08 15:00:00 @ 13.77p 100%, 15-08 15:00:00 - 15-08 15:30:00 @ 15.02p 100%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 97%, 15-08 16:00:00 - 15-08 16:30:00 @ 33.13p 0%, 15-08 16:30:00 - 15-08 17:00:00 @ 33.13p 0%, 15-08 17:00:00 - 15-08 17:30:00 @ 38.46p 0%, 15-08 17:30:00 - 15-08 18:00:00 @ 40.44p 0%, 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 0%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 0%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 0%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 0%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 0%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 27.8p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 29.09p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.47p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.18p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 27.57p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.5p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.6p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 24.79p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 25.08p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 24.62p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 27.02p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.47p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 26.25p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.4p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.7p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 27.63p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 22.73p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 26.7p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 22.92p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 22.48p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 23.55p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 23.64p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 19.66p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 17.66p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 16.56p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 15.46p 100%, 16-08 12:00:00 - 16-08 12:30:00 @ 17.0p 100%, 16-08 12:30:00 - 16-08 13:00:00 @ 16.34p 100%, 16-08 13:00:00 - 16-08 13:30:00 @ 15.36p 100%, 16-08 13:30:00 - 16-08 14:00:00 @ 15.74p 100%, 16-08 14:00:00 - 16-08 14:30:00 @ 14.57p 100%, 16-08 14:30:00 - 16-08 15:00:00 @ 13.77p 100%, 16-08 15:00:00 - 16-08 15:30:00 @ 15.02p 100%, 16-08 15:30:00 - 16-08 16:00:00 @ 15.87p 100%, 16-08 16:00:00 - 16-08 16:30:00 @ 33.13p 100%, 16-08 16:30:00 - 16-08 17:00:00 @ 33.13p 100%, 16-08 17:00:00 - 16-08 17:30:00 @ 38.46p 100%, 16-08 17:30:00 - 16-08 18:00:00 @ 40.44p 100%, 16-08 18:00:00 - 16-08 18:30:00 @ 41.55p 100%, 16-08 19:00:00 - 16-08 19:30:00 @ 32.58p 100%, 16-08 19:30:00 - 16-08 20:00:00 @ 32.9p 100%, 16-08 20:00:00 - 16-08 20:30:00 @ 31.99p 100%, 16-08 20:30:00 - 16-08 21:00:00 @ 32.1p 100%, 16-08 21:00:00 - 16-08 21:30:00 @ 31.71p 100%, 16-08 21:30:00 - 16-08 22:00:00 @ 31.67p 100%, 16-08 22:00:00 - 16-08 22:30:00 @ 31.77p 100%, 16-08 22:30:00 - 16-08 23:00:00 @ 29.81p 100%, 16-08 23:00:00 - 16-08 23:30:00 @ 27.8p 100%, 16-08 23:30:00 - 17-08 00:00:00 @ 29.09p 100%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.47p 100%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.18p 100%, 17-08 01:00:00 - 17-08 01:30:00 @ 27.57p 100%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.5p 100%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.6p 100%, 17-08 02:30:00 - 17-08 03:00:00 @ 24.79p 100%, 17-08 03:00:00 - 17-08 03:30:00 @ 25.08p 100%, 17-08 03:30:00 - 17-08 04:00:00 @ 24.62p 100%, 17-08 04:00:00 - 17-08 04:30:00 @ 27.02p 100%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.47p 100%, 17-08 05:00:00 - 17-08 05:30:00 @ 26.25p 100%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.4p 100%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.7p 100%, 17-08 06:30:00 - 17-08 07:00:00 @ 27.63p 100%, 17-08 07:00:00 - 17-08 07:30:00 @ 22.73p 100%, 17-08 07:30:00 - 17-08 08:00:00 @ 26.7p 100% ] reserve 1.12
2026-08-15 07:55:27.889173: Unclipped charge windows [ 15-08 08:00:00 - 15-08 09:00:00 @ 22.7p 9%, 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 15:30:00 @ 14.71p 100%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 97%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 08:00:00 @ 25.73p 100% ] reserve 1.12
2026-08-15 07:55:27.889478: Unfiltered charge windows [ 15-08 08:00:00 - 15-08 09:00:00 @ 22.7p 9%, 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 15:30:00 @ 14.71p 100%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 97%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 08:00:00 @ 25.73p 100% ] reserve 1.12
2026-08-15 07:55:27.889728: Filtered charge windows [ 15-08 08:00:00 - 15-08 09:00:00 @ 22.7p 9%, 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 15:30:00 @ 14.71p 100%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 97%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 08:00:00 @ 25.73p 100% ] reserve 1.12
2026-08-15 07:55:27.922048: Previous plan best metric is 581.27 (cost 591.14) and new plan best metric is 580.82 (cost 590.61)
2026-08-15 07:55:27.922312: New plan metric is not significantly better (metric_min_improvement_plan 2.0) than previous plan, using previous plan
2026-08-15 07:55:27.922612: Plan valid is now true after recompute was False
2026-08-15 07:55:27.946408: predict base end_record 08-16 11:30:00, final soc 1.12kWh, metric 808.24p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 08:45:00, load 27.18kWh, PV 0.0kWh
2026-08-15 07:55:28.046018: Battery has 0.83 hours left - now at 1.6kWh
2026-08-15 07:55:28.083541: predict base10 end_record 08-16 11:30:00, final soc 1.12kWh, metric 833.8p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 08:45:00, load 28.2kWh, PV 0.0kWh
2026-08-15 07:55:28.147900: predict best10 end_record 08-16 11:30:00, final soc 1.12kWh, metric 663.62p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 08:45:00, load 28.2kWh, PV 0.0kWh
2026-08-15 07:55:28.215855: predict best end_record 08-16 11:30:00, final soc 1.12kWh, metric 641.13p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 08:45:00, load 27.18kWh, PV 0.0kWh
2026-08-15 07:55:28.215935: Saving plan best values to HA entities
2026-08-15 07:55:28.358186: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 07:55:28.362920: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0.0
2026-08-15 07:55:28.367571: Best charging limit SoC's [16.0, 3.5, 4.0, 16.0, 16.0, 16.0]kWh, export []kWh gives import battery 20.29kWh, house 2.72kWh, export 0.0kWh, metric 641.13p, metric10 663.62p
2026-08-15 07:55:28.429310: Marginal costs baseline metric (no standing charge): 591.1434
2026-08-15 07:55:28.651612: Marginal energy costs matrix computed: min=14.33 max=33.43
2026-08-15 07:55:28.711080: Rate array import [{'start': 475, 'end': 480, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 480, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 23.6p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1860, 'rate': 'expensive', 'range': '(24.6p - 32.9p)'}, {'start': 1860, 'end': 1890, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 1890, 'end': 1920, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 1920, 'end': 2130, 'rate': 'cheap', 'range': '(16.6p - 23.6p)'}] export [{'start': 475, 'end': 2130, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 07:55:28.711589: - Your estimated bill for today is £5.84 and tomorrow is £5.42
2026-08-15 07:55:28.711642: - Import rates are expensive (26.7p) for the next 5 minutes and then cheap (13.8p - 23.6p) for the next 8 hours.
2026-08-15 07:55:28.711662: - The battery is currently at 10% and is in eco mode for the next 3 and a half hours.
2026-08-15 07:55:28.711677: - For the next 48 hours there will be no solar generation.
2026-08-15 07:55:28.711691: - You will run out of battery in 50 minutes.
2026-08-15 07:55:28.711704: - Your next charge slot will be in 3 and a half hours where import rates will be cheap (15.5p).
2026-08-15 07:55:28.711718: 
2026-08-15 07:55:28.757910: Plan calculation took 14.45 seconds
2026-08-15 07:55:28.762752: Saved plan to storage
2026-08-15 07:55:28.765501: No high rate period found
2026-08-15 07:55:28.809523: Import threshold used for optimisation was 22.92p
2026-08-15 07:55:28.852039: Low import rate windows [0: 08-15 07:30:00 - 08-15 08:00:00 @ 26.7, 1: 08-15 08:00:00 - 08-15 08:30:00 @ 22.92, 2: 08-15 08:30:00 - 08-15 09:00:00 @ 22.48, 3: 08-15 09:00:00 - 08-15 09:30:00 @ 23.55, 4: 08-15 09:30:00 - 08-15 10:00:00 @ 23.64, 5: 08-15 10:00:00 - 08-15 10:30:00 @ 19.66, 6: 08-15 10:30:00 - 08-15 11:00:00 @ 17.66, 7: 08-15 11:00:00 - 08-15 11:30:00 @ 16.56, 8: 08-15 11:30:00 - 08-15 12:00:00 @ 15.46, 9: 08-15 12:00:00 - 08-15 12:30:00 @ 17.0, 10: 08-15 12:30:00 - 08-15 13:00:00 @ 16.34, 11: 08-15 13:00:00 - 08-15 13:30:00 @ 15.36, 12: 08-15 13:30:00 - 08-15 14:00:00 @ 15.74, 13: 08-15 14:00:00 - 08-15 14:30:00 @ 14.57, 14: 08-15 14:30:00 - 08-15 15:00:00 @ 13.77, 15: 08-15 15:00:00 - 08-15 15:30:00 @ 15.02, 16: 08-15 15:30:00 - 08-15 16:00:00 @ 15.87, 17: 08-15 16:00:00 - 08-15 16:30:00 @ 33.13, 18: 08-15 16:30:00 - 08-15 17:00:00 @ 33.13, 19: 08-15 17:00:00 - 08-15 17:30:00 @ 38.46, 20: 08-15 17:30:00 - 08-15 18:00:00 @ 40.44, 21: 08-15 18:00:00 - 08-15 18:30:00 @ 41.55, 22: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 23: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 24: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 25: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 26: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 27: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 28: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 29: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 30: 08-15 23:00:00 - 08-15 23:30:00 @ 27.8, 31: 08-15 23:30:00 - 08-16 00:00:00 @ 29.09, 32: 08-16 00:00:00 - 08-16 00:30:00 @ 28.47, 33: 08-16 00:30:00 - 08-16 01:00:00 @ 27.18, 34: 08-16 01:00:00 - 08-16 01:30:00 @ 27.57, 35: 08-16 01:30:00 - 08-16 02:00:00 @ 26.5, 36: 08-16 02:00:00 - 08-16 02:30:00 @ 25.6, 37: 08-16 02:30:00 - 08-16 03:00:00 @ 24.79, 38: 08-16 03:00:00 - 08-16 03:30:00 @ 25.08, 39: 08-16 03:30:00 - 08-16 04:00:00 @ 24.62, 40: 08-16 04:00:00 - 08-16 04:30:00 @ 27.02, 41: 08-16 04:30:00 - 08-16 05:00:00 @ 26.47, 42: 08-16 05:00:00 - 08-16 05:30:00 @ 26.25, 43: 08-16 05:30:00 - 08-16 06:00:00 @ 26.4, 44: 08-16 06:00:00 - 08-16 06:30:00 @ 25.7, 45: 08-16 06:30:00 - 08-16 07:00:00 @ 27.63, 46: 08-16 07:00:00 - 08-16 07:30:00 @ 22.73, 47: 08-16 07:30:00 - 08-16 08:00:00 @ 26.7, 48: 08-16 08:00:00 - 08-16 08:30:00 @ 22.92, 49: 08-16 08:30:00 - 08-16 09:00:00 @ 22.48, 50: 08-16 09:00:00 - 08-16 09:30:00 @ 23.55, 51: 08-16 09:30:00 - 08-16 10:00:00 @ 23.64, 52: 08-16 10:00:00 - 08-16 10:30:00 @ 19.66, 53: 08-16 10:30:00 - 08-16 11:00:00 @ 17.66, 54: 08-16 11:00:00 - 08-16 11:30:00 @ 16.56, 55: 08-16 11:30:00 - 08-16 12:00:00 @ 15.46, 56: 08-16 12:00:00 - 08-16 12:30:00 @ 17.0, 57: 08-16 12:30:00 - 08-16 13:00:00 @ 16.34, 58: 08-16 13:00:00 - 08-16 13:30:00 @ 15.36, 59: 08-16 13:30:00 - 08-16 14:00:00 @ 15.74, 60: 08-16 14:00:00 - 08-16 14:30:00 @ 14.57, 61: 08-16 14:30:00 - 08-16 15:00:00 @ 13.77, 62: 08-16 15:00:00 - 08-16 15:30:00 @ 15.02, 63: 08-16 15:30:00 - 08-16 16:00:00 @ 15.87, 64: 08-16 16:00:00 - 08-16 16:30:00 @ 33.13, 65: 08-16 16:30:00 - 08-16 17:00:00 @ 33.13, 66: 08-16 17:00:00 - 08-16 17:30:00 @ 38.46, 67: 08-16 17:30:00 - 08-16 18:00:00 @ 40.44, 68: 08-16 18:00:00 - 08-16 18:30:00 @ 41.55, 69: 08-16 19:00:00 - 08-16 19:30:00 @ 32.58, 70: 08-16 19:30:00 - 08-16 20:00:00 @ 32.9, 71: 08-16 20:00:00 - 08-16 20:30:00 @ 31.99, 72: 08-16 20:30:00 - 08-16 21:00:00 @ 32.1, 73: 08-16 21:00:00 - 08-16 21:30:00 @ 31.71, 74: 08-16 21:30:00 - 08-16 22:00:00 @ 31.67, 75: 08-16 22:00:00 - 08-16 22:30:00 @ 31.77, 76: 08-16 22:30:00 - 08-16 23:00:00 @ 29.81, 77: 08-16 23:00:00 - 08-16 23:30:00 @ 27.8, 78: 08-16 23:30:00 - 08-17 00:00:00 @ 29.09, 79: 08-17 00:00:00 - 08-17 00:30:00 @ 28.47, 80: 08-17 00:30:00 - 08-17 01:00:00 @ 27.18, 81: 08-17 01:00:00 - 08-17 01:30:00 @ 27.57, 82: 08-17 01:30:00 - 08-17 02:00:00 @ 26.5, 83: 08-17 02:00:00 - 08-17 02:30:00 @ 25.6, 84: 08-17 02:30:00 - 08-17 03:00:00 @ 24.79, 85: 08-17 03:00:00 - 08-17 03:30:00 @ 25.08, 86: 08-17 03:30:00 - 08-17 04:00:00 @ 24.62, 87: 08-17 04:00:00 - 08-17 04:30:00 @ 27.02, 88: 08-17 04:30:00 - 08-17 05:00:00 @ 26.47, 89: 08-17 05:00:00 - 08-17 05:30:00 @ 26.25, 90: 08-17 05:30:00 - 08-17 06:00:00 @ 26.4, 91: 08-17 06:00:00 - 08-17 06:30:00 @ 25.7, 92: 08-17 06:30:00 - 08-17 07:00:00 @ 27.63, 93: 08-17 07:00:00 - 08-17 07:30:00 @ 22.73, 94: 08-17 07:30:00 - 08-17 08:00:00 @ 26.7]
2026-08-15 07:55:28.858036: Inverter 0: Type SK Sunsynk
2026-08-15 07:55:28.858113: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 07:55:28.858718: Reserve min: 7%, battery_min: 7%
2026-08-15 07:55:28.858829: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 07:55:28.859280: Inverter 0 SoC: 1.6kW 10%, current charge rate 5000W, current discharge rate 5250W, current battery power 310W, current battery voltage 51.2V, grid power -54W, load power 371W, PV Power 0W
2026-08-15 07:55:28.859593: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 07:55:28.859764: Inverter 0 scheduled charge enable is False
2026-08-15 07:55:28.859857: Inverter 0 charge windows currently []
2026-08-15 07:55:28.860047: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 07:55:28.860207: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 07:55:28.860278: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 07:55:28.860337: Inverter 0 scheduled discharge enable is False
2026-08-15 07:55:28.860533: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 07:55:28.860580: Inverter 0 discharge windows currently []
2026-08-15 07:55:28.860632: Note: Inverter does not support discharge freeze - disabled
2026-08-15 07:55:28.860665: Note: Inverter does not support charge freeze - disabled
2026-08-15 07:55:28.860694: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 07:55:28.905950: Inverter 0 Charge window will be: 2026-08-15 11:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 10%, target 100%
2026-08-15 07:55:28.906128: Inverter 0 disabled charge window while waiting for schedule (now 08-15 07:55:00 target set_window_minutes 30 charge start time 08-15 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 07:55:28.906220: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 07:55:28.906437: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 07:55:28.906542: No export window planned
2026-08-15 07:55:28.906699: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 07:55:28.906746: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 07:55:28.906924: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 07:55:28.907121: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 07:55:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 07:55:28.907187: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 07:55:28.907263: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 07:55:28.907390: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 07:55:28.907452: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 07:55:28.907501: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 07:55:28.907550: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 07:55:28.907579: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 07:55:28.907614: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 07:55:28.907644: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 07:55:28.907721: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 07:55:28.907766: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 07:55:28.907792: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 07:55:28.907836: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 07:55:28.907884: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 07:55:28.907922: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 07:55:28.907964: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 07:55:28.907998: Inverter 0 count register writes 0
2026-08-15 07:55:28.926854: Total inverter register writes now 815
2026-08-15 07:55:28.955982: Info: Completed run status Demand
2026-08-15 07:55:28.962393: Info: record_status Demand
2026-08-15 07:55:28.969023: Saved current settings to /config/predbat_config.json
2026-08-15 07:55:28.969326: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 07:55:29.029915: Creating predbat dashboard at /config/predbat_dashboard.yaml
2026-08-15 07:56:12.078335: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 07:56:12.078576: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 07:56:12.078989: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 07:56:12.079243: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 07:56:12.079287: Note: Inverter does not support discharge freeze - disabled
2026-08-15 07:56:12.079309: Note: Inverter does not support charge freeze - disabled
2026-08-15 07:56:12.079326: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 07:57:51.588636: TemperatureAPI: Using coordinates latitude 53.4, longitude -2.2
2026-08-15 07:57:51.763640: TemperatureAPI: Successfully fetched temperature data from Open-Meteo API
2026-08-15 07:58:12.293851: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 07:58:12.294152: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 07:58:12.294212: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 07:58:12.294428: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 07:58:12.294503: Note: Inverter does not support discharge freeze - disabled
2026-08-15 07:58:12.294526: Note: Inverter does not support charge freeze - disabled
2026-08-15 07:58:12.294551: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 08:00:00.496225: --------------- PredBat - update at 2026-08-15 08:00:00+01:00 with clock skew 0 minutes, minutes now 480
2026-08-15 08:00:00.497063: Saved current settings to /config/predbat_config.json
2026-08-15 08:00:00.497197: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 110.0 minutes
2026-08-15 08:00:00.497276: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.1, latest beta is v8.48.1
2026-08-15 08:00:00.497360: Autoupdate: Currently up to date
2026-08-15 08:00:00.516721: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 08:00:00.516860: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 08:00:00.517069: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 08:00:00.517591: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 08:00:00.517733: Predbat mode is set to Control charge & discharge
2026-08-15 08:00:00.713343: Found 21602 load_today datapoints going back 28 days
2026-08-15 08:00:00.713502: Using load_power data to fill gaps in load_today data
2026-08-15 08:00:01.586601: Processing 721 30-minute periods for power integration
2026-08-15 08:00:01.774783: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 08:00:01.774941: Car charging hold False, threshold 6.0kWh
2026-08-15 08:00:01.774991: Current data so far today: load 5.8kWh, import 6.8kWh, export 0.0kWh, PV 0kWh
2026-08-15 08:00:01.790549: Cars: SoC: [12.892000000000001]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 08:00:01.791002: Standing charge is set to 49.98p
2026-08-15 08:00:01.819478: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 08:00:01.819587: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 08:00:01.819816: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 480.0 minutes
2026-08-15 08:00:01.820202: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 479.7 minutes
2026-08-15 08:00:01.823188: Loaded 47 datapoints of futurerate analysis
2026-08-15 08:00:01.908832: Predicted future rates: ['08-15 00:00:00 => 28.9 / 20.01', '08-15 01:00:00 => 27.54 / 19.31', '08-15 02:00:00 => 26.52 / 18.8', '08-15 03:00:00 => 25.99 / 18.53', '08-15 04:00:00 => 25.8 / 18.43', '08-15 05:00:00 => 25.96 / 18.51', '08-15 06:00:00 => 25.55 / 18.3', '08-15 07:00:00 => 24.33 / 17.68', '08-15 08:00:00 => 23.03 / 17.01', '08-15 09:00:00 => 22.05 / 16.51', '08-15 10:00:00 => 20.43 / 15.68', '08-15 11:00:00 => 18.01 / 14.45', '08-15 12:00:00 => 16.37 / 13.61', '08-15 13:00:00 => 15.76 / 13.3', '08-15 14:00:00 => 15.35 / 13.09', '08-15 15:00:00 => 15.86 / 13.35', '08-15 16:00:00 => 32.89 / 16.13', '08-15 17:00:00 => 38.02 / 18.75', '08-15 18:00:00 => 42.36 / 20.96', '08-15 19:00:00 => 31.09 / 21.13', '08-15 20:00:00 => 31.64 / 21.41', '08-15 21:00:00 => 31.64 / 21.41', '08-15 22:00:00 => 30.58 / 20.87']
2026-08-15 08:00:01.970898: Rate min forward looking: now 13.77p at end of forecast 13.77p
2026-08-15 08:00:01.971301: Import rates: min 13.77p, max 43.82p, average 25.96p
2026-08-15 08:00:02.016667: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 08:00:02.016811: Rate thresholds (for charge/export) are import 43.32p (0.0p), export -0.1p (0.0p)
2026-08-15 08:00:02.018136: High export rate found rates in range 99p to -99p
2026-08-15 08:00:02.105427: Low Import rate found rates in range 13.77p to 41.55p
2026-08-15 08:00:02.105579: Car 0 charging is not planned as it is not plugged in
2026-08-15 08:00:02.121001: Battery level now 1.6kWh, -1hr ago 1.92kWh, at midnight 1.66kWh, battery value change in the last hour -3.78p, change today -0.66p, rate_forward 11.83p
2026-08-15 08:00:02.121474: Last hour: net energy 0.0kWh, import 0.0kWh, export 0.0kWh, car 0kWh, load 0.28kWh, net cost 0.0p, import 0.0p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 08:00:02.180508: Today's energy total net 6.8kWh, import 6.8kWh, export 0.0kWh, cost 231.27p, import 181.28p, export 0.0p, carbon 0.0kg
2026-08-15 08:00:02.180656: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 08:00:02.264020: Using weighted-bucket historical load forecast over 14 days
2026-08-15 08:00:02.290763: Today's load divergence 107.05%, in-day adjustment 131.41%, damping 0.95x, yesterday 143.77% today 106.69% blend 66.67%
2026-08-15 08:00:02.290893: Today's predicted so far 4.71kWh with 0.0kWh car/iBoost excluded, 2.61kWh import ignored, and 4.71kWh forecast extra.
2026-08-15 08:00:02.290948: Today's actual load so far 5.89kWh with 0.0kWh car/iBoost excluded, and 2.61kWh import ignored.
2026-08-15 08:00:02.329982: Inverter 0: Type SK Sunsynk
2026-08-15 08:00:02.330080: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 08:00:02.330317: Reserve min: 7%, battery_min: 7%
2026-08-15 08:00:02.330401: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 08:00:02.330728: Inverter 0 SoC: 1.6kW 10%, current charge rate 5000W, current discharge rate 5250W, current battery power 260W, current battery voltage 51.2V, grid power -55W, load power 322W, PV Power 0W
2026-08-15 08:00:02.330977: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 08:00:02.331118: Inverter 0 scheduled charge enable is False
2026-08-15 08:00:02.331172: Inverter 0 charge windows currently []
2026-08-15 08:00:02.331229: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 08:00:02.331404: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 08:00:02.331466: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 08:00:02.331581: Inverter 0 scheduled discharge enable is False
2026-08-15 08:00:02.331815: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 08:00:02.331869: Inverter 0 discharge windows currently []
2026-08-15 08:00:02.331914: Note: Inverter does not support discharge freeze - disabled
2026-08-15 08:00:02.331952: Note: Inverter does not support charge freeze - disabled
2026-08-15 08:00:02.331986: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 08:00:02.397000: Dynamic load last period 0.00kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 08:00:02.397167: Plan was last updated on 2026-08-15 07:55:00+01:00 and is now 5.0 minutes old
2026-08-15 08:00:02.397670: Best charge window [ 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 00:30:00 @ 28.84p 100% ]
2026-08-15 08:00:02.397761: Best export window [  ]
2026-08-15 08:00:02.399022: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 08:00:02.402127: Load divergence over 8.0 hours mean 650.16W, min 281.4W, max 1607.4W, std dev 322.89W, divergence 24.83%
2026-08-15 08:00:02.422749: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 08:00:02.423737: LoadML is_calculating False
2026-08-15 08:00:02.423877: Creating pool of 12 processes to match your CPU count
2026-08-15 08:00:02.553843: predict base end_record 08-16 11:35:00, final soc 1.12kWh, metric 806.66p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 08:50:00, load 27.11kWh, PV 0.0kWh
2026-08-15 08:00:02.691512: Battery has 0.83 hours left - now at 1.6kWh
2026-08-15 08:00:02.737350: predict base10 end_record 08-16 11:35:00, final soc 1.12kWh, metric 832.11p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 08:50:00, load 28.12kWh, PV 0.0kWh
2026-08-15 08:00:02.829637: predict best10 end_record 08-16 11:35:00, final soc 1.44kWh, metric 667.71p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 08:50:00, load 28.12kWh, PV 0.0kWh
2026-08-15 08:00:02.911933: predict best end_record 08-16 11:35:00, final soc 1.51kWh, metric 646.71p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 08:50:00, load 27.11kWh, PV 0.0kWh
2026-08-15 08:00:02.912027: Saving plan best values to HA entities
2026-08-15 08:00:03.085835: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0
2026-08-15 08:00:03.091497: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 08:00:03.097224: Best charging limit SoC's [16.0, 3.5, 4.0, 16.0, 16.0, 16.0]kWh, export []kWh gives import battery 20.78kWh, house 2.61kWh, export 0.0kWh, metric 646.71p, metric10 667.71p
2026-08-15 08:00:03.180753: Marginal costs baseline metric (no standing charge): 596.7287
2026-08-15 08:00:03.456478: Marginal energy costs matrix computed: min=14.17 max=33.51
2026-08-15 08:00:03.526767: Rate array import [{'start': 480, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 23.6p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1860, 'rate': 'expensive', 'range': '(24.6p - 32.9p)'}, {'start': 1860, 'end': 1890, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 1890, 'end': 1920, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 1920, 'end': 2135, 'rate': 'cheap', 'range': '(15.5p - 23.6p)'}] export [{'start': 480, 'end': 2135, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 08:00:03.527439: - Your estimated bill for today is £5.82 and tomorrow is £5.39
2026-08-15 08:00:03.527486: - Import rates are cheap (13.8p - 23.6p) for the next 8 hours and then expensive (33.1p) for the next 1 hour.
2026-08-15 08:00:03.527528: - The battery is currently at 10% and is in eco mode for the next 3 and a half hours.
2026-08-15 08:00:03.527548: - For the next 48 hours there will be no solar generation.
2026-08-15 08:00:03.527566: - You will run out of battery in 50 minutes.
2026-08-15 08:00:03.527588: - Your next charge slot will be in 3 and a half hours where import rates will be cheap (15.5p).
2026-08-15 08:00:03.527606: 
2026-08-15 08:00:03.583028: Plan calculation took 1.19 seconds
2026-08-15 08:00:03.586654: No high rate period found
2026-08-15 08:00:03.640165: Import threshold used for optimisation was 22.92p
2026-08-15 08:00:03.696086: Low import rate windows [0: 08-15 08:00:00 - 08-15 08:30:00 @ 22.92, 1: 08-15 08:30:00 - 08-15 09:00:00 @ 22.48, 2: 08-15 09:00:00 - 08-15 09:30:00 @ 23.55, 3: 08-15 09:30:00 - 08-15 10:00:00 @ 23.64, 4: 08-15 10:00:00 - 08-15 10:30:00 @ 19.66, 5: 08-15 10:30:00 - 08-15 11:00:00 @ 17.66, 6: 08-15 11:00:00 - 08-15 11:30:00 @ 16.56, 7: 08-15 11:30:00 - 08-15 12:00:00 @ 15.46, 8: 08-15 12:00:00 - 08-15 12:30:00 @ 17.0, 9: 08-15 12:30:00 - 08-15 13:00:00 @ 16.34, 10: 08-15 13:00:00 - 08-15 13:30:00 @ 15.36, 11: 08-15 13:30:00 - 08-15 14:00:00 @ 15.74, 12: 08-15 14:00:00 - 08-15 14:30:00 @ 14.57, 13: 08-15 14:30:00 - 08-15 15:00:00 @ 13.77, 14: 08-15 15:00:00 - 08-15 15:30:00 @ 15.02, 15: 08-15 15:30:00 - 08-15 16:00:00 @ 15.87, 16: 08-15 16:00:00 - 08-15 16:30:00 @ 33.13, 17: 08-15 16:30:00 - 08-15 17:00:00 @ 33.13, 18: 08-15 17:00:00 - 08-15 17:30:00 @ 38.46, 19: 08-15 17:30:00 - 08-15 18:00:00 @ 40.44, 20: 08-15 18:00:00 - 08-15 18:30:00 @ 41.55, 21: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 22: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 23: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 24: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 25: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 26: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 27: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 28: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 29: 08-15 23:00:00 - 08-15 23:30:00 @ 27.8, 30: 08-15 23:30:00 - 08-16 00:00:00 @ 29.09, 31: 08-16 00:00:00 - 08-16 00:30:00 @ 28.47, 32: 08-16 00:30:00 - 08-16 01:00:00 @ 27.18, 33: 08-16 01:00:00 - 08-16 01:30:00 @ 27.57, 34: 08-16 01:30:00 - 08-16 02:00:00 @ 26.5, 35: 08-16 02:00:00 - 08-16 02:30:00 @ 25.6, 36: 08-16 02:30:00 - 08-16 03:00:00 @ 24.79, 37: 08-16 03:00:00 - 08-16 03:30:00 @ 25.08, 38: 08-16 03:30:00 - 08-16 04:00:00 @ 24.62, 39: 08-16 04:00:00 - 08-16 04:30:00 @ 27.02, 40: 08-16 04:30:00 - 08-16 05:00:00 @ 26.47, 41: 08-16 05:00:00 - 08-16 05:30:00 @ 26.25, 42: 08-16 05:30:00 - 08-16 06:00:00 @ 26.4, 43: 08-16 06:00:00 - 08-16 06:30:00 @ 25.7, 44: 08-16 06:30:00 - 08-16 07:00:00 @ 27.63, 45: 08-16 07:00:00 - 08-16 07:30:00 @ 22.73, 46: 08-16 07:30:00 - 08-16 08:00:00 @ 26.7, 47: 08-16 08:00:00 - 08-16 08:30:00 @ 22.92, 48: 08-16 08:30:00 - 08-16 09:00:00 @ 22.48, 49: 08-16 09:00:00 - 08-16 09:30:00 @ 23.55, 50: 08-16 09:30:00 - 08-16 10:00:00 @ 23.64, 51: 08-16 10:00:00 - 08-16 10:30:00 @ 19.66, 52: 08-16 10:30:00 - 08-16 11:00:00 @ 17.66, 53: 08-16 11:00:00 - 08-16 11:30:00 @ 16.56, 54: 08-16 11:30:00 - 08-16 12:00:00 @ 15.46, 55: 08-16 12:00:00 - 08-16 12:30:00 @ 17.0, 56: 08-16 12:30:00 - 08-16 13:00:00 @ 16.34, 57: 08-16 13:00:00 - 08-16 13:30:00 @ 15.36, 58: 08-16 13:30:00 - 08-16 14:00:00 @ 15.74, 59: 08-16 14:00:00 - 08-16 14:30:00 @ 14.57, 60: 08-16 14:30:00 - 08-16 15:00:00 @ 13.77, 61: 08-16 15:00:00 - 08-16 15:30:00 @ 15.02, 62: 08-16 15:30:00 - 08-16 16:00:00 @ 15.87, 63: 08-16 16:00:00 - 08-16 16:30:00 @ 33.13, 64: 08-16 16:30:00 - 08-16 17:00:00 @ 33.13, 65: 08-16 17:00:00 - 08-16 17:30:00 @ 38.46, 66: 08-16 17:30:00 - 08-16 18:00:00 @ 40.44, 67: 08-16 18:00:00 - 08-16 18:30:00 @ 41.55, 68: 08-16 19:00:00 - 08-16 19:30:00 @ 32.58, 69: 08-16 19:30:00 - 08-16 20:00:00 @ 32.9, 70: 08-16 20:00:00 - 08-16 20:30:00 @ 31.99, 71: 08-16 20:30:00 - 08-16 21:00:00 @ 32.1, 72: 08-16 21:00:00 - 08-16 21:30:00 @ 31.71, 73: 08-16 21:30:00 - 08-16 22:00:00 @ 31.67, 74: 08-16 22:00:00 - 08-16 22:30:00 @ 31.77, 75: 08-16 22:30:00 - 08-16 23:00:00 @ 29.81, 76: 08-16 23:00:00 - 08-16 23:30:00 @ 27.8, 77: 08-16 23:30:00 - 08-17 00:00:00 @ 29.09, 78: 08-17 00:00:00 - 08-17 00:30:00 @ 28.47, 79: 08-17 00:30:00 - 08-17 01:00:00 @ 27.18, 80: 08-17 01:00:00 - 08-17 01:30:00 @ 27.57, 81: 08-17 01:30:00 - 08-17 02:00:00 @ 26.5, 82: 08-17 02:00:00 - 08-17 02:30:00 @ 25.6, 83: 08-17 02:30:00 - 08-17 03:00:00 @ 24.79, 84: 08-17 03:00:00 - 08-17 03:30:00 @ 25.08, 85: 08-17 03:30:00 - 08-17 04:00:00 @ 24.62, 86: 08-17 04:00:00 - 08-17 04:30:00 @ 27.02, 87: 08-17 04:30:00 - 08-17 05:00:00 @ 26.47, 88: 08-17 05:00:00 - 08-17 05:30:00 @ 26.25, 89: 08-17 05:30:00 - 08-17 06:00:00 @ 26.4, 90: 08-17 06:00:00 - 08-17 06:30:00 @ 25.7, 91: 08-17 06:30:00 - 08-17 07:00:00 @ 27.63, 92: 08-17 07:00:00 - 08-17 07:30:00 @ 22.73, 93: 08-17 07:30:00 - 08-17 08:00:00 @ 26.7]
2026-08-15 08:00:03.703014: Inverter 0 Charge window will be: 2026-08-15 11:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 10%, target 100%
2026-08-15 08:00:03.703143: Inverter 0 disabled charge window while waiting for schedule (now 08-15 08:00:00 target set_window_minutes 30 charge start time 08-15 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 08:00:03.703249: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 08:00:03.703475: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 08:00:03.703555: No export window planned
2026-08-15 08:00:03.703658: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 08:00:03.703704: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 08:00:03.703890: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 08:00:03.704065: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 08:00:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 08:00:03.704121: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 08:00:03.704175: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 08:00:03.704252: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 08:00:03.704285: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 08:00:03.704309: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 08:00:03.704329: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 08:00:03.704357: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 08:00:03.704379: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 08:00:03.704403: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 08:00:03.704454: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 08:00:03.704478: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 08:00:03.704499: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 08:00:03.704518: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 08:00:03.704537: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 08:00:03.704556: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 08:00:03.704593: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 08:00:03.704610: Inverter 0 count register writes 0
2026-08-15 08:00:03.719881: Will not recompute the plan, it is 5.0 minutes old and max age is 10 minutes
2026-08-15 08:00:03.725093: Total inverter register writes now 815
2026-08-15 08:00:03.757180: Info: Completed run status Demand
2026-08-15 08:00:03.764002: Info: record_status Demand
2026-08-15 08:00:03.770463: Saved current settings to /config/predbat_config.json
2026-08-15 08:00:03.770760: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 08:00:04.576760: Info: HAHistory: Pruning history data started.
2026-08-15 08:00:04.580326: Info: HAHistory: Pruning history data completed.
2026-08-15 08:00:41.879768: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 08:00:41.880033: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 08:00:41.880078: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 08:00:41.880310: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 08:00:41.880366: Note: Inverter does not support discharge freeze - disabled
2026-08-15 08:00:41.880400: Note: Inverter does not support charge freeze - disabled
2026-08-15 08:00:41.880452: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 08:02:42.114244: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 08:02:42.114454: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 08:02:42.114493: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 08:02:42.114608: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 08:02:42.114640: Note: Inverter does not support discharge freeze - disabled
2026-08-15 08:02:42.114658: Note: Inverter does not support charge freeze - disabled
2026-08-15 08:02:42.114672: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 08:04:42.344730: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 08:04:42.345083: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 08:04:42.345141: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 08:04:42.345345: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 08:04:42.345412: Note: Inverter does not support discharge freeze - disabled
2026-08-15 08:04:42.345445: Note: Inverter does not support charge freeze - disabled
2026-08-15 08:04:42.345473: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 08:05:00.442993: --------------- PredBat - update at 2026-08-15 08:05:00+01:00 with clock skew 0 minutes, minutes now 485
2026-08-15 08:05:00.443929: Saved current settings to /config/predbat_config.json
2026-08-15 08:05:00.444084: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 115.0 minutes
2026-08-15 08:05:00.444267: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.1, latest beta is v8.48.1
2026-08-15 08:05:00.444414: Autoupdate: Currently up to date
2026-08-15 08:05:00.477069: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 08:05:00.477194: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 08:05:00.477421: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 08:05:00.478115: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 08:05:00.478307: Predbat mode is set to Control charge & discharge
2026-08-15 08:05:00.648673: Found 21602 load_today datapoints going back 27 days
2026-08-15 08:05:00.648831: Using load_power data to fill gaps in load_today data
2026-08-15 08:05:01.359680: Processing 721 30-minute periods for power integration
2026-08-15 08:05:01.516325: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 08:05:01.516461: Car charging hold False, threshold 6.0kWh
2026-08-15 08:05:01.516504: Current data so far today: load 5.8kWh, import 6.8kWh, export 0.0kWh, PV 0kWh
2026-08-15 08:05:01.529227: Cars: SoC: [12.892000000000001]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 08:05:01.529647: Standing charge is set to 49.98p
2026-08-15 08:05:01.557682: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 08:05:01.557789: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 08:05:01.558004: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 485.0 minutes
2026-08-15 08:05:01.558327: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 484.6 minutes
2026-08-15 08:05:01.560826: Loaded 47 datapoints of futurerate analysis
2026-08-15 08:05:01.635415: Predicted future rates: ['08-15 00:00:00 => 28.9 / 20.01', '08-15 01:00:00 => 27.54 / 19.31', '08-15 02:00:00 => 26.52 / 18.8', '08-15 03:00:00 => 25.99 / 18.53', '08-15 04:00:00 => 25.8 / 18.43', '08-15 05:00:00 => 25.96 / 18.51', '08-15 06:00:00 => 25.55 / 18.3', '08-15 07:00:00 => 24.33 / 17.68', '08-15 08:00:00 => 23.03 / 17.01', '08-15 09:00:00 => 22.05 / 16.51', '08-15 10:00:00 => 20.43 / 15.68', '08-15 11:00:00 => 18.01 / 14.45', '08-15 12:00:00 => 16.37 / 13.61', '08-15 13:00:00 => 15.76 / 13.3', '08-15 14:00:00 => 15.35 / 13.09', '08-15 15:00:00 => 15.86 / 13.35', '08-15 16:00:00 => 32.89 / 16.13', '08-15 17:00:00 => 38.02 / 18.75', '08-15 18:00:00 => 42.36 / 20.96', '08-15 19:00:00 => 31.09 / 21.13', '08-15 20:00:00 => 31.64 / 21.41', '08-15 21:00:00 => 31.64 / 21.41', '08-15 22:00:00 => 30.58 / 20.87']
2026-08-15 08:05:01.685540: Rate min forward looking: now 13.77p at end of forecast 13.77p
2026-08-15 08:05:01.686447: Import rates: min 13.77p, max 43.82p, average 25.96p
2026-08-15 08:05:01.731896: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 08:05:01.732039: Rate thresholds (for charge/export) are import 43.32p (0.0p), export -0.1p (0.0p)
2026-08-15 08:05:01.733302: High export rate found rates in range 99p to -99p
2026-08-15 08:05:01.826875: Low Import rate found rates in range 13.77p to 41.55p
2026-08-15 08:05:01.827022: Car 0 charging is not planned as it is not plugged in
2026-08-15 08:05:01.840764: Battery level now 1.6kWh, -1hr ago 1.92kWh, at midnight 1.66kWh, battery value change in the last hour -3.78p, change today -0.66p, rate_forward 11.83p
2026-08-15 08:05:01.841194: Last hour: net energy 0.0kWh, import 0.0kWh, export 0.0kWh, car 0kWh, load 0.25kWh, net cost 0.0p, import 0.0p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 08:05:01.895896: Today's energy total net 6.8kWh, import 6.8kWh, export 0.0kWh, cost 231.27p, import 181.28p, export 0.0p, carbon 0.0kg
2026-08-15 08:05:01.896036: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 08:05:01.979163: Using weighted-bucket historical load forecast over 14 days
2026-08-15 08:05:02.005691: Today's load divergence 107.12%, in-day adjustment 131.31%, damping 0.95x, yesterday 143.77% today 106.77% blend 66.32%
2026-08-15 08:05:02.005861: Today's predicted so far 4.78kWh with 0.0kWh car/iBoost excluded, 2.68kWh import ignored, and 4.78kWh forecast extra.
2026-08-15 08:05:02.005916: Today's actual load so far 5.97kWh with 0.0kWh car/iBoost excluded, and 2.68kWh import ignored.
2026-08-15 08:05:02.053749: Inverter 0: Type SK Sunsynk
2026-08-15 08:05:02.053851: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 08:05:02.054105: Reserve min: 7%, battery_min: 7%
2026-08-15 08:05:02.054213: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 08:05:02.054553: Inverter 0 SoC: 1.6kW 10%, current charge rate 5000W, current discharge rate 5250W, current battery power 304W, current battery voltage 51.2V, grid power -55W, load power 363W, PV Power 0W
2026-08-15 08:05:02.054770: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 08:05:02.054891: Inverter 0 scheduled charge enable is False
2026-08-15 08:05:02.054940: Inverter 0 charge windows currently []
2026-08-15 08:05:02.054984: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 08:05:02.055167: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 08:05:02.055212: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 08:05:02.055260: Inverter 0 scheduled discharge enable is False
2026-08-15 08:05:02.055460: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 08:05:02.055505: Inverter 0 discharge windows currently []
2026-08-15 08:05:02.055531: Note: Inverter does not support discharge freeze - disabled
2026-08-15 08:05:02.055573: Note: Inverter does not support charge freeze - disabled
2026-08-15 08:05:02.055609: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 08:05:02.131221: Dynamic load last period 0.00kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 08:05:02.131354: Plan was last updated on 2026-08-15 07:55:00+01:00 and is now 10.0 minutes old
2026-08-15 08:05:02.131770: Best charge window [ 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 00:30:00 @ 28.84p 100% ]
2026-08-15 08:05:02.131825: Best export window [  ]
2026-08-15 08:05:02.133209: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 08:05:02.137479: Load divergence over 8.0 hours mean 650.09W, min 296.4W, max 1564.2W, std dev 314.03W, divergence 24.15%
2026-08-15 08:05:02.157059: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 08:05:02.157174: LoadML is_calculating False
2026-08-15 08:05:02.157232: Creating pool of 12 processes to match your CPU count
2026-08-15 08:05:02.266054: predict base end_record 08-16 11:40:00, final soc 1.12kWh, metric 805.95p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 08:55:00, load 27.13kWh, PV 0.0kWh
2026-08-15 08:05:02.409775: Battery has 0.83 hours left - now at 1.6kWh
2026-08-15 08:05:02.457368: predict base10 end_record 08-16 11:40:00, final soc 1.12kWh, metric 831.43p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 08:55:00, load 28.14kWh, PV 0.0kWh
2026-08-15 08:05:02.542600: predict best10 end_record 08-16 11:40:00, final soc 1.77kWh, metric 672.81p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 08:55:00, load 28.14kWh, PV 0.0kWh
2026-08-15 08:05:02.618707: predict best end_record 08-16 11:40:00, final soc 1.9kWh, metric 653.17p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 08:55:00, load 27.13kWh, PV 0.0kWh
2026-08-15 08:05:02.618849: Saving plan best values to HA entities
2026-08-15 08:05:02.807045: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0
2026-08-15 08:05:02.815459: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 08:05:02.822637: Best charging limit SoC's [16.0, 3.5, 4.0, 16.0, 16.0, 16.0]kWh, export []kWh gives import battery 21.31kWh, house 2.53kWh, export 0.0kWh, metric 653.17p, metric10 672.81p
2026-08-15 08:05:02.901297: Marginal costs baseline metric (no standing charge): 603.1914
2026-08-15 08:05:03.198390: Marginal energy costs matrix computed: min=14.21 max=33.1
2026-08-15 08:05:03.285763: Rate array import [{'start': 485, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 23.6p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1860, 'rate': 'expensive', 'range': '(24.6p - 32.9p)'}, {'start': 1860, 'end': 1890, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 1890, 'end': 1920, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 1920, 'end': 2140, 'rate': 'cheap', 'range': '(15.5p - 23.6p)'}] export [{'start': 485, 'end': 2140, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 08:05:03.286604: - Your estimated bill for today is £5.82 and tomorrow is £5.36
2026-08-15 08:05:03.286671: - Import rates are cheap (13.8p - 23.6p) for the next 7  hours and then expensive (33.1p) for the next 1 hour.
2026-08-15 08:05:03.286728: - The battery is currently at 10% and is in eco mode for the next 3 and a half hours.
2026-08-15 08:05:03.286790: - For the next 48 hours there will be no solar generation.
2026-08-15 08:05:03.286833: - You will run out of battery in 50 minutes.
2026-08-15 08:05:03.286865: - Your next charge slot will be in 3 and a half hours where import rates will be cheap (15.5p).
2026-08-15 08:05:03.286884: 
2026-08-15 08:05:03.345024: Plan calculation took 1.21 seconds
2026-08-15 08:05:03.348860: No high rate period found
2026-08-15 08:05:03.402998: Import threshold used for optimisation was 22.92p
2026-08-15 08:05:03.458590: Low import rate windows [0: 08-15 08:00:00 - 08-15 08:30:00 @ 22.92, 1: 08-15 08:30:00 - 08-15 09:00:00 @ 22.48, 2: 08-15 09:00:00 - 08-15 09:30:00 @ 23.55, 3: 08-15 09:30:00 - 08-15 10:00:00 @ 23.64, 4: 08-15 10:00:00 - 08-15 10:30:00 @ 19.66, 5: 08-15 10:30:00 - 08-15 11:00:00 @ 17.66, 6: 08-15 11:00:00 - 08-15 11:30:00 @ 16.56, 7: 08-15 11:30:00 - 08-15 12:00:00 @ 15.46, 8: 08-15 12:00:00 - 08-15 12:30:00 @ 17.0, 9: 08-15 12:30:00 - 08-15 13:00:00 @ 16.34, 10: 08-15 13:00:00 - 08-15 13:30:00 @ 15.36, 11: 08-15 13:30:00 - 08-15 14:00:00 @ 15.74, 12: 08-15 14:00:00 - 08-15 14:30:00 @ 14.57, 13: 08-15 14:30:00 - 08-15 15:00:00 @ 13.77, 14: 08-15 15:00:00 - 08-15 15:30:00 @ 15.02, 15: 08-15 15:30:00 - 08-15 16:00:00 @ 15.87, 16: 08-15 16:00:00 - 08-15 16:30:00 @ 33.13, 17: 08-15 16:30:00 - 08-15 17:00:00 @ 33.13, 18: 08-15 17:00:00 - 08-15 17:30:00 @ 38.46, 19: 08-15 17:30:00 - 08-15 18:00:00 @ 40.44, 20: 08-15 18:00:00 - 08-15 18:30:00 @ 41.55, 21: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 22: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 23: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 24: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 25: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 26: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 27: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 28: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 29: 08-15 23:00:00 - 08-15 23:30:00 @ 27.8, 30: 08-15 23:30:00 - 08-16 00:00:00 @ 29.09, 31: 08-16 00:00:00 - 08-16 00:30:00 @ 28.47, 32: 08-16 00:30:00 - 08-16 01:00:00 @ 27.18, 33: 08-16 01:00:00 - 08-16 01:30:00 @ 27.57, 34: 08-16 01:30:00 - 08-16 02:00:00 @ 26.5, 35: 08-16 02:00:00 - 08-16 02:30:00 @ 25.6, 36: 08-16 02:30:00 - 08-16 03:00:00 @ 24.79, 37: 08-16 03:00:00 - 08-16 03:30:00 @ 25.08, 38: 08-16 03:30:00 - 08-16 04:00:00 @ 24.62, 39: 08-16 04:00:00 - 08-16 04:30:00 @ 27.02, 40: 08-16 04:30:00 - 08-16 05:00:00 @ 26.47, 41: 08-16 05:00:00 - 08-16 05:30:00 @ 26.25, 42: 08-16 05:30:00 - 08-16 06:00:00 @ 26.4, 43: 08-16 06:00:00 - 08-16 06:30:00 @ 25.7, 44: 08-16 06:30:00 - 08-16 07:00:00 @ 27.63, 45: 08-16 07:00:00 - 08-16 07:30:00 @ 22.73, 46: 08-16 07:30:00 - 08-16 08:00:00 @ 26.7, 47: 08-16 08:00:00 - 08-16 08:30:00 @ 22.92, 48: 08-16 08:30:00 - 08-16 09:00:00 @ 22.48, 49: 08-16 09:00:00 - 08-16 09:30:00 @ 23.55, 50: 08-16 09:30:00 - 08-16 10:00:00 @ 23.64, 51: 08-16 10:00:00 - 08-16 10:30:00 @ 19.66, 52: 08-16 10:30:00 - 08-16 11:00:00 @ 17.66, 53: 08-16 11:00:00 - 08-16 11:30:00 @ 16.56, 54: 08-16 11:30:00 - 08-16 12:00:00 @ 15.46, 55: 08-16 12:00:00 - 08-16 12:30:00 @ 17.0, 56: 08-16 12:30:00 - 08-16 13:00:00 @ 16.34, 57: 08-16 13:00:00 - 08-16 13:30:00 @ 15.36, 58: 08-16 13:30:00 - 08-16 14:00:00 @ 15.74, 59: 08-16 14:00:00 - 08-16 14:30:00 @ 14.57, 60: 08-16 14:30:00 - 08-16 15:00:00 @ 13.77, 61: 08-16 15:00:00 - 08-16 15:30:00 @ 15.02, 62: 08-16 15:30:00 - 08-16 16:00:00 @ 15.87, 63: 08-16 16:00:00 - 08-16 16:30:00 @ 33.13, 64: 08-16 16:30:00 - 08-16 17:00:00 @ 33.13, 65: 08-16 17:00:00 - 08-16 17:30:00 @ 38.46, 66: 08-16 17:30:00 - 08-16 18:00:00 @ 40.44, 67: 08-16 18:00:00 - 08-16 18:30:00 @ 41.55, 68: 08-16 19:00:00 - 08-16 19:30:00 @ 32.58, 69: 08-16 19:30:00 - 08-16 20:00:00 @ 32.9, 70: 08-16 20:00:00 - 08-16 20:30:00 @ 31.99, 71: 08-16 20:30:00 - 08-16 21:00:00 @ 32.1, 72: 08-16 21:00:00 - 08-16 21:30:00 @ 31.71, 73: 08-16 21:30:00 - 08-16 22:00:00 @ 31.67, 74: 08-16 22:00:00 - 08-16 22:30:00 @ 31.77, 75: 08-16 22:30:00 - 08-16 23:00:00 @ 29.81, 76: 08-16 23:00:00 - 08-16 23:30:00 @ 27.8, 77: 08-16 23:30:00 - 08-17 00:00:00 @ 29.09, 78: 08-17 00:00:00 - 08-17 00:30:00 @ 28.47, 79: 08-17 00:30:00 - 08-17 01:00:00 @ 27.18, 80: 08-17 01:00:00 - 08-17 01:30:00 @ 27.57, 81: 08-17 01:30:00 - 08-17 02:00:00 @ 26.5, 82: 08-17 02:00:00 - 08-17 02:30:00 @ 25.6, 83: 08-17 02:30:00 - 08-17 03:00:00 @ 24.79, 84: 08-17 03:00:00 - 08-17 03:30:00 @ 25.08, 85: 08-17 03:30:00 - 08-17 04:00:00 @ 24.62, 86: 08-17 04:00:00 - 08-17 04:30:00 @ 27.02, 87: 08-17 04:30:00 - 08-17 05:00:00 @ 26.47, 88: 08-17 05:00:00 - 08-17 05:30:00 @ 26.25, 89: 08-17 05:30:00 - 08-17 06:00:00 @ 26.4, 90: 08-17 06:00:00 - 08-17 06:30:00 @ 25.7, 91: 08-17 06:30:00 - 08-17 07:00:00 @ 27.63, 92: 08-17 07:00:00 - 08-17 07:30:00 @ 22.73, 93: 08-17 07:30:00 - 08-17 08:00:00 @ 26.7, 94: 08-17 08:00:00 - 08-17 08:30:00 @ 22.92]
2026-08-15 08:05:03.467410: Inverter 0 Charge window will be: 2026-08-15 11:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 10%, target 100%
2026-08-15 08:05:03.467566: Inverter 0 disabled charge window while waiting for schedule (now 08-15 08:05:00 target set_window_minutes 30 charge start time 08-15 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 08:05:03.467688: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 08:05:03.468015: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 08:05:03.468145: No export window planned
2026-08-15 08:05:03.468280: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 08:05:03.468319: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 08:05:03.468463: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 08:05:03.468650: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 08:05:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 08:05:03.468732: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 08:05:03.468795: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 08:05:03.468901: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 08:05:03.468936: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 08:05:03.469001: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 08:05:03.469050: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 08:05:03.469077: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 08:05:03.469105: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 08:05:03.469129: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 08:05:03.469204: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 08:05:03.469242: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 08:05:03.469269: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 08:05:03.469293: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 08:05:03.469316: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 08:05:03.469339: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 08:05:03.469362: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 08:05:03.469388: Inverter 0 count register writes 0
2026-08-15 08:05:03.487824: Will recompute the plan as it is now 10.0 minutes old and will exceed the max age of 10 minutes before the next run
2026-08-15 08:05:03.488032: Recompute is saving previous plan...
2026-08-15 08:05:03.491168: Best charge window [ 15-08 08:00:00 - 15-08 08:30:00 @ 22.92p 0%, 15-08 08:30:00 - 15-08 09:00:00 @ 22.48p 0%, 15-08 09:00:00 - 15-08 09:30:00 @ 23.55p 0%, 15-08 09:30:00 - 15-08 10:00:00 @ 23.64p 0%, 15-08 10:00:00 - 15-08 10:30:00 @ 19.66p 0%, 15-08 10:30:00 - 15-08 11:00:00 @ 17.66p 0%, 15-08 11:00:00 - 15-08 11:30:00 @ 16.56p 0%, 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 0%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 0%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 0%, 15-08 13:00:00 - 15-08 13:30:00 @ 15.36p 0%, 15-08 13:30:00 - 15-08 14:00:00 @ 15.74p 0%, 15-08 14:00:00 - 15-08 14:30:00 @ 14.57p 0%, 15-08 14:30:00 - 15-08 15:00:00 @ 13.77p 0%, 15-08 15:00:00 - 15-08 15:30:00 @ 15.02p 0%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 0%, 15-08 16:00:00 - 15-08 16:30:00 @ 33.13p 0%, 15-08 16:30:00 - 15-08 17:00:00 @ 33.13p 0%, 15-08 17:00:00 - 15-08 17:30:00 @ 38.46p 0%, 15-08 17:30:00 - 15-08 18:00:00 @ 40.44p 0%, 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 0%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 0%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 0%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 0%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 0%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 27.8p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 29.09p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.47p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.18p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 27.57p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.5p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.6p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 24.79p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 25.08p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 24.62p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 27.02p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.47p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 26.25p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.4p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.7p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 27.63p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 22.73p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 26.7p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 22.92p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 22.48p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 23.55p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 23.64p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 19.66p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 17.66p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 16.56p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 15.46p 0%, 16-08 12:00:00 - 16-08 12:30:00 @ 17.0p 0%, 16-08 12:30:00 - 16-08 13:00:00 @ 16.34p 0%, 16-08 13:00:00 - 16-08 13:30:00 @ 15.36p 0%, 16-08 13:30:00 - 16-08 14:00:00 @ 15.74p 0%, 16-08 14:00:00 - 16-08 14:30:00 @ 14.57p 0%, 16-08 14:30:00 - 16-08 15:00:00 @ 13.77p 0%, 16-08 15:00:00 - 16-08 15:30:00 @ 15.02p 0%, 16-08 15:30:00 - 16-08 16:00:00 @ 15.87p 0%, 16-08 16:00:00 - 16-08 16:30:00 @ 33.13p 0%, 16-08 16:30:00 - 16-08 17:00:00 @ 33.13p 0%, 16-08 17:00:00 - 16-08 17:30:00 @ 38.46p 0%, 16-08 17:30:00 - 16-08 18:00:00 @ 40.44p 0%, 16-08 18:00:00 - 16-08 18:30:00 @ 41.55p 0%, 16-08 19:00:00 - 16-08 19:30:00 @ 32.58p 0%, 16-08 19:30:00 - 16-08 20:00:00 @ 32.9p 0%, 16-08 20:00:00 - 16-08 20:30:00 @ 31.99p 0%, 16-08 20:30:00 - 16-08 21:00:00 @ 32.1p 0%, 16-08 21:00:00 - 16-08 21:30:00 @ 31.71p 0%, 16-08 21:30:00 - 16-08 22:00:00 @ 31.67p 0%, 16-08 22:00:00 - 16-08 22:30:00 @ 31.77p 0%, 16-08 22:30:00 - 16-08 23:00:00 @ 29.81p 0%, 16-08 23:00:00 - 16-08 23:30:00 @ 27.8p 0%, 16-08 23:30:00 - 17-08 00:00:00 @ 29.09p 0%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.47p 0%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.18p 0%, 17-08 01:00:00 - 17-08 01:30:00 @ 27.57p 0%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.5p 0%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.6p 0%, 17-08 02:30:00 - 17-08 03:00:00 @ 24.79p 0%, 17-08 03:00:00 - 17-08 03:30:00 @ 25.08p 0%, 17-08 03:30:00 - 17-08 04:00:00 @ 24.62p 0%, 17-08 04:00:00 - 17-08 04:30:00 @ 27.02p 0%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.47p 0%, 17-08 05:00:00 - 17-08 05:30:00 @ 26.25p 0%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.4p 0%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.7p 0%, 17-08 06:30:00 - 17-08 07:00:00 @ 27.63p 0%, 17-08 07:00:00 - 17-08 07:30:00 @ 22.73p 0%, 17-08 07:30:00 - 17-08 08:00:00 @ 26.7p 0%, 17-08 08:00:00 - 17-08 08:30:00 @ 22.92p 0% ]
2026-08-15 08:05:03.491262: Best export window [  ]
2026-08-15 08:05:03.492074: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 08:05:03.495733: Load divergence over 8.0 hours mean 650.09W, min 296.4W, max 1564.2W, std dev 314.03W, divergence 24.15%
2026-08-15 08:05:03.512894: Calculating data from yesterday for savings calculation
2026-08-15 08:05:03.525182: Yesterday basic charge window best: [{'start': 840, 'end': 870, 'average': 21.7}] charge limit best: [16.0] based on max charge slots 1
2026-08-15 08:05:03.570144: predict yesterday end_record 08-16 00:00:00, final soc 1.12kWh, metric 843.63p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 00:00:00, load 26.2kWh, PV 0.0kWh
2026-08-15 08:05:03.585082: predict yesterday10 end_record 08-16 00:00:00, final soc 1.12kWh, metric 847.91p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 00:00:00, load 26.2kWh, PV 0.0kWh
2026-08-15 08:05:03.604264: predict yesterday end_record 08-16 00:00:00, final soc 1.12kWh, metric 843.63p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 00:00:00, load 26.2kWh, PV 0.0kWh
2026-08-15 08:05:03.642039: Yesterday: Predbat disabled was £8.44 (adjusted £8.3) vs £7.38 (adjusted £7.17), saving £1.05 (adjusted £1.13) with import 26.54kWh, export 0.0kWh, battery_cycle 4.66kWh, start_soc 1.12kWh,  final_soc 1.12kWh and battery_value 13.25kWh
2026-08-15 08:05:03.713630: predict yesterday end_record 08-16 00:00:00, final soc 0.0kWh, metric 849.84p, metric_keep 0kWh, min_soc 0kWh @ 08-15 00:00:00, load 26.2kWh, PV 0.0kWh
2026-08-15 08:05:03.713826: Yesterday: No Battery/PV system cost predicted was £8.5 (adjusted £8.5) vs £7.38 (adjusted £7.17), saving £1.12 (adjusted £1.33) with import 26.2kWh, export 0kWh and battery_value 0.0kWh
2026-08-15 08:05:03.726327: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 08:05:03.726485: LoadML is_calculating False
2026-08-15 08:05:03.726565: Creating pool of 12 processes to match your CPU count
2026-08-15 08:05:03.817653: Calculate Best options: mode(Control charge & discharge), calculate_export_oncharge(False), calculate_export_on_pv(True), set_export_freeze_only(False), set_discharge_during_charge(True), combine_charge_slots(False), combine_export_slots(False), combine_rate_threshold(0.0), best_soc_min(0.0 kWh), best_soc_max(0.0 kWh), best_soc_keep(0.0 kWh), inverter_loss(4%), battery_loss(3%), battery_loss_discharge (3%), inverter_hybrid(True), metric_min_improvement(0.0p), metric_min_improvement_export(0.1p), metric_min_improvement_export_freeze(0.1p), metric_battery_cycle(0.0p/kWh), metric_battery_value_scaling(1.0 x) 
2026-08-15 08:05:03.819873: Optimise levels pass started at 2026-08-15 08:05:03
2026-08-15 08:05:03.819937: Optimise all windows, total charge 94 export 1
2026-08-15 08:05:04.793790: >> Region optimisation pass width 960 gives best_metric 821.31p, best_cost 852.67p, best_cycle 57.61kWh, best_import 40.41kWh
2026-08-15 08:05:05.175875: >> Region optimisation pass width 480 gives best_metric 821.31p, best_cost 852.67p, best_cycle 57.61kWh, best_import 40.41kWh
2026-08-15 08:05:05.757366: >> Region optimisation pass width 240 gives best_metric 820.41p, best_cost 852.32p, best_cycle 55.82kWh, best_import 40.28kWh
2026-08-15 08:05:07.380809: >> Region optimisation pass width 120 gives best_metric 815.49p, best_cost 821.84p, best_cycle 54.57kWh, best_import 38.36kWh
2026-08-15 08:05:07.381573: Calculated end_record as 08-16 11:30:00 based on best_price 16.34p, next_charge_start 08-15 11:30:00, max_windows 54
2026-08-15 08:05:07.381749: Optimise levels pass ended at 2026-08-15 08:05:07, duration 3.6 seconds tried 399 combinations
2026-08-15 08:05:07.382022: Set best_price_charge_level 17.6p, best_price_export_level 0p, best_price_charge 16.34p, best_cost_export 0p, best_metric 815.49p, best_keep 0kWh, best_cycle 54.57kWh, best_carbon 0kg, best_import 38.36kWh
2026-08-15 08:05:07.404841: Starting detailed optimisation end_record 08-16 11:30:00, best_price_charge 16.34p, best_price_export 0p. lowest_price_charge 13.77p with charge limits [0, 0, 0, 0, 0, 0, 0, 16.0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0]kWh and export limits []kWh
2026-08-15 08:05:12.263988: Tweak plan optimisation started metric 577.07p, cost 586.66p
2026-08-15 08:05:12.582262: Tweak optimisation finished metric 576.79p, cost 586.38p, metric_keep 0kWh, cycle 29.24kWh, carbon 0kg, import 22.75kWh, changed 8 window(s)
2026-08-15 08:05:12.604263: Swap charge optimisation started metric 576.79p, cost 586.38p, min_improvement_swap 0.1p
2026-08-15 08:05:17.125027: Swap charge optimisation finished metric 576.79p, cost 586.38p
2026-08-15 08:05:17.246363: Raw charge windows [ 15-08 08:00:00 - 15-08 08:30:00 @ 22.92p 9%, 15-08 08:30:00 - 15-08 09:00:00 @ 22.48p 9%, 15-08 09:00:00 - 15-08 09:30:00 @ 23.55p 0%, 15-08 09:30:00 - 15-08 10:00:00 @ 23.64p 0%, 15-08 10:00:00 - 15-08 10:30:00 @ 19.66p 0%, 15-08 10:30:00 - 15-08 11:00:00 @ 17.66p 0%, 15-08 11:00:00 - 15-08 11:30:00 @ 16.56p 0%, 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 22%, 15-08 13:00:00 - 15-08 13:30:00 @ 15.36p 100%, 15-08 13:30:00 - 15-08 14:00:00 @ 15.74p 100%, 15-08 14:00:00 - 15-08 14:30:00 @ 14.57p 100%, 15-08 14:30:00 - 15-08 15:00:00 @ 13.77p 100%, 15-08 15:00:00 - 15-08 15:30:00 @ 15.02p 100%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 97%, 15-08 16:00:00 - 15-08 16:30:00 @ 33.13p 0%, 15-08 16:30:00 - 15-08 17:00:00 @ 33.13p 0%, 15-08 17:00:00 - 15-08 17:30:00 @ 38.46p 0%, 15-08 17:30:00 - 15-08 18:00:00 @ 40.44p 0%, 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 0%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 0%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 0%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 0%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 0%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 27.8p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 29.09p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.47p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.18p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 27.57p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.5p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.6p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 24.79p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 25.08p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 24.62p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 27.02p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.47p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 26.25p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.4p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.7p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 27.63p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 22.73p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 26.7p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 22.92p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 22.48p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 23.55p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 23.64p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 19.66p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 17.66p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 16.56p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 15.46p 100%, 16-08 12:00:00 - 16-08 12:30:00 @ 17.0p 100%, 16-08 12:30:00 - 16-08 13:00:00 @ 16.34p 100%, 16-08 13:00:00 - 16-08 13:30:00 @ 15.36p 100%, 16-08 13:30:00 - 16-08 14:00:00 @ 15.74p 100%, 16-08 14:00:00 - 16-08 14:30:00 @ 14.57p 100%, 16-08 14:30:00 - 16-08 15:00:00 @ 13.77p 100%, 16-08 15:00:00 - 16-08 15:30:00 @ 15.02p 100%, 16-08 15:30:00 - 16-08 16:00:00 @ 15.87p 100%, 16-08 16:00:00 - 16-08 16:30:00 @ 33.13p 100%, 16-08 16:30:00 - 16-08 17:00:00 @ 33.13p 100%, 16-08 17:00:00 - 16-08 17:30:00 @ 38.46p 100%, 16-08 17:30:00 - 16-08 18:00:00 @ 40.44p 100%, 16-08 18:00:00 - 16-08 18:30:00 @ 41.55p 100%, 16-08 19:00:00 - 16-08 19:30:00 @ 32.58p 100%, 16-08 19:30:00 - 16-08 20:00:00 @ 32.9p 100%, 16-08 20:00:00 - 16-08 20:30:00 @ 31.99p 100%, 16-08 20:30:00 - 16-08 21:00:00 @ 32.1p 100%, 16-08 21:00:00 - 16-08 21:30:00 @ 31.71p 100%, 16-08 21:30:00 - 16-08 22:00:00 @ 31.67p 100%, 16-08 22:00:00 - 16-08 22:30:00 @ 31.77p 100%, 16-08 22:30:00 - 16-08 23:00:00 @ 29.81p 100%, 16-08 23:00:00 - 16-08 23:30:00 @ 27.8p 100%, 16-08 23:30:00 - 17-08 00:00:00 @ 29.09p 100%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.47p 100%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.18p 100%, 17-08 01:00:00 - 17-08 01:30:00 @ 27.57p 100%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.5p 100%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.6p 100%, 17-08 02:30:00 - 17-08 03:00:00 @ 24.79p 100%, 17-08 03:00:00 - 17-08 03:30:00 @ 25.08p 100%, 17-08 03:30:00 - 17-08 04:00:00 @ 24.62p 100%, 17-08 04:00:00 - 17-08 04:30:00 @ 27.02p 100%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.47p 100%, 17-08 05:00:00 - 17-08 05:30:00 @ 26.25p 100%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.4p 100%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.7p 100%, 17-08 06:30:00 - 17-08 07:00:00 @ 27.63p 100%, 17-08 07:00:00 - 17-08 07:30:00 @ 22.73p 100%, 17-08 07:30:00 - 17-08 08:00:00 @ 26.7p 100%, 17-08 08:00:00 - 17-08 08:30:00 @ 22.92p 100% ] reserve 1.12
2026-08-15 08:05:17.247214: Unclipped charge windows [ 15-08 08:00:00 - 15-08 09:00:00 @ 22.7p 9%, 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 13:00:00 @ 16.67p 22%, 15-08 13:00:00 - 15-08 15:30:00 @ 14.71p 100%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 97%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 08:30:00 @ 24.33p 100% ] reserve 1.12
2026-08-15 08:05:17.247732: Unfiltered charge windows [ 15-08 08:00:00 - 15-08 09:00:00 @ 22.7p 9%, 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 13:00:00 @ 16.67p 22%, 15-08 13:00:00 - 15-08 15:30:00 @ 14.71p 100%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 97%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 08:30:00 @ 24.33p 100% ] reserve 1.12
2026-08-15 08:05:17.248147: Filtered charge windows [ 15-08 08:00:00 - 15-08 09:00:00 @ 22.7p 9%, 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 13:00:00 @ 16.67p 22%, 15-08 13:00:00 - 15-08 15:30:00 @ 14.71p 100%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 97%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 08:30:00 @ 24.33p 100% ] reserve 1.12
2026-08-15 08:05:17.287228: Previous plan best metric is 577.43 (cost 587.43) and new plan best metric is 576.79 (cost 586.38)
2026-08-15 08:05:17.287493: New plan metric is not significantly better (metric_min_improvement_plan 2.0) than previous plan, using previous plan
2026-08-15 08:05:17.287831: Plan valid is now true after recompute was False
2026-08-15 08:05:17.312304: predict base end_record 08-16 11:30:00, final soc 1.12kWh, metric 803.07p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 08:55:00, load 26.94kWh, PV 0.0kWh
2026-08-15 08:05:17.418521: Battery has 0.83 hours left - now at 1.6kWh
2026-08-15 08:05:17.460932: predict base10 end_record 08-16 11:30:00, final soc 1.12kWh, metric 828.41p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 08:55:00, load 27.95kWh, PV 0.0kWh
2026-08-15 08:05:17.541941: predict best10 end_record 08-16 11:30:00, final soc 1.12kWh, metric 659.05p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 08:55:00, load 27.95kWh, PV 0.0kWh
2026-08-15 08:05:17.608736: predict best end_record 08-16 11:30:00, final soc 1.12kWh, metric 637.42p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 08:55:00, load 26.94kWh, PV 0.0kWh
2026-08-15 08:05:17.608844: Saving plan best values to HA entities
2026-08-15 08:05:17.766454: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0
2026-08-15 08:05:17.772102: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 08:05:17.777593: Best charging limit SoC's [16.0, 3.5, 4.0, 16.0, 16.0, 16.0]kWh, export []kWh gives import battery 20.29kWh, house 2.53kWh, export 0.0kWh, metric 637.42p, metric10 659.05p
2026-08-15 08:05:17.849525: Marginal costs baseline metric (no standing charge): 587.432
2026-08-15 08:05:18.075734: Marginal energy costs matrix computed: min=14.21 max=33.1
2026-08-15 08:05:18.138096: Rate array import [{'start': 485, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 23.6p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1860, 'rate': 'expensive', 'range': '(24.6p - 32.9p)'}, {'start': 1860, 'end': 1890, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 1890, 'end': 1920, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 1920, 'end': 2130, 'rate': 'cheap', 'range': '(16.6p - 23.6p)'}] export [{'start': 485, 'end': 2130, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 08:05:18.138801: - Your estimated bill for today is £5.82 and tomorrow is £5.36
2026-08-15 08:05:18.138860: - Import rates are cheap (13.8p - 23.6p) for the next 7  hours and then expensive (33.1p) for the next 1 hour.
2026-08-15 08:05:18.138884: - The battery is currently at 10% and is in eco mode for the next 3 and a half hours.
2026-08-15 08:05:18.138902: - For the next 48 hours there will be no solar generation.
2026-08-15 08:05:18.138933: - You will run out of battery in 50 minutes.
2026-08-15 08:05:18.138964: - Your next charge slot will be in 3 and a half hours where import rates will be cheap (15.5p).
2026-08-15 08:05:18.138980: 
2026-08-15 08:05:18.195535: Plan calculation took 14.71 seconds
2026-08-15 08:05:18.195930: Inverter 0: Type SK Sunsynk
2026-08-15 08:05:18.195988: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 08:05:18.196248: Reserve min: 7%, battery_min: 7%
2026-08-15 08:05:18.196325: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 08:05:18.196607: Inverter 0 SoC: 1.6kW 10%, current charge rate 5000W, current discharge rate 5250W, current battery power 316W, current battery voltage 51.2V, grid power -55W, load power 375W, PV Power 0W
2026-08-15 08:05:18.196831: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 08:05:18.196929: Inverter 0 scheduled charge enable is False
2026-08-15 08:05:18.196999: Inverter 0 charge windows currently []
2026-08-15 08:05:18.197075: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 08:05:18.197190: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 08:05:18.197221: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 08:05:18.197252: Inverter 0 scheduled discharge enable is False
2026-08-15 08:05:18.197360: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 08:05:18.197385: Inverter 0 discharge windows currently []
2026-08-15 08:05:18.197403: Note: Inverter does not support discharge freeze - disabled
2026-08-15 08:05:18.197419: Note: Inverter does not support charge freeze - disabled
2026-08-15 08:05:18.197433: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 08:05:18.250109: Inverter 0 Charge window will be: 2026-08-15 11:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 10%, target 100%
2026-08-15 08:05:18.250245: Inverter 0 disabled charge window while waiting for schedule (now 08-15 08:05:00 target set_window_minutes 30 charge start time 08-15 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 08:05:18.250310: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 08:05:18.250490: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 08:05:18.250563: No export window planned
2026-08-15 08:05:18.250658: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 08:05:18.250682: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 08:05:18.250839: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 08:05:18.251005: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 08:05:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 08:05:18.251052: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 08:05:18.251097: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 08:05:18.251183: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 08:05:18.251212: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 08:05:18.251246: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 08:05:18.251268: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 08:05:18.251290: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 08:05:18.251310: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 08:05:18.251330: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 08:05:18.251397: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 08:05:18.251422: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 08:05:18.251442: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 08:05:18.251461: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 08:05:18.251481: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 08:05:18.251501: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 08:05:18.251521: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 08:05:18.251537: Inverter 0 count register writes 0
2026-08-15 08:05:18.271058: Total inverter register writes now 815
2026-08-15 08:05:18.302752: Info: Completed run status Demand
2026-08-15 08:05:18.308870: Info: record_status Demand
2026-08-15 08:05:18.316081: Saved current settings to /config/predbat_config.json
2026-08-15 08:05:18.316448: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 08:05:57.427558: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 08:05:57.427936: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 08:05:57.428035: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 08:05:57.428258: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 08:05:57.428313: Note: Inverter does not support discharge freeze - disabled
2026-08-15 08:05:57.428354: Note: Inverter does not support charge freeze - disabled
2026-08-15 08:05:57.428389: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 08:08:11.671361: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 08:08:11.672042: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 08:08:11.672100: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 08:08:11.672271: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 08:08:11.672314: Note: Inverter does not support discharge freeze - disabled
2026-08-15 08:08:11.672335: Note: Inverter does not support charge freeze - disabled
2026-08-15 08:08:11.672361: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 08:10:00.882005: --------------- PredBat - update at 2026-08-15 08:10:00+01:00 with clock skew 0 minutes, minutes now 490
2026-08-15 08:10:00.882764: Saved current settings to /config/predbat_config.json
2026-08-15 08:10:01.126867: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.1, latest beta is v8.48.1
2026-08-15 08:10:01.127005: Autoupdate: Currently up to date
2026-08-15 08:10:01.146339: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 08:10:01.146470: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 08:10:01.146660: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 08:10:01.147209: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 08:10:01.147357: Predbat mode is set to Control charge & discharge
2026-08-15 08:10:01.346785: Found 21602 load_today datapoints going back 28 days
2026-08-15 08:10:01.346937: Using load_power data to fill gaps in load_today data
2026-08-15 08:10:02.242331: Processing 721 30-minute periods for power integration
2026-08-15 08:10:02.419497: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 08:10:02.419633: Car charging hold False, threshold 6.0kWh
2026-08-15 08:10:02.419673: Current data so far today: load 5.92kWh, import 6.9kWh, export 0.0kWh, PV 0kWh
2026-08-15 08:10:02.431300: Cars: SoC: [12.892000000000001]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 08:10:02.431617: Standing charge is set to 49.98p
2026-08-15 08:10:02.459377: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 08:10:02.459469: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 08:10:02.459645: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 490.0 minutes
2026-08-15 08:10:02.459975: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 489.7 minutes
2026-08-15 08:10:02.462440: Loaded 47 datapoints of futurerate analysis
2026-08-15 08:10:02.534244: Predicted future rates: ['08-15 00:00:00 => 28.9 / 20.01', '08-15 01:00:00 => 27.54 / 19.31', '08-15 02:00:00 => 26.52 / 18.8', '08-15 03:00:00 => 25.99 / 18.53', '08-15 04:00:00 => 25.8 / 18.43', '08-15 05:00:00 => 25.96 / 18.51', '08-15 06:00:00 => 25.55 / 18.3', '08-15 07:00:00 => 24.33 / 17.68', '08-15 08:00:00 => 23.03 / 17.01', '08-15 09:00:00 => 22.05 / 16.51', '08-15 10:00:00 => 20.43 / 15.68', '08-15 11:00:00 => 18.01 / 14.45', '08-15 12:00:00 => 16.37 / 13.61', '08-15 13:00:00 => 15.76 / 13.3', '08-15 14:00:00 => 15.35 / 13.09', '08-15 15:00:00 => 15.86 / 13.35', '08-15 16:00:00 => 32.89 / 16.13', '08-15 17:00:00 => 38.02 / 18.75', '08-15 18:00:00 => 42.36 / 20.96', '08-15 19:00:00 => 31.09 / 21.13', '08-15 20:00:00 => 31.64 / 21.41', '08-15 21:00:00 => 31.64 / 21.41', '08-15 22:00:00 => 30.58 / 20.87']
2026-08-15 08:10:02.583964: Rate min forward looking: now 13.77p at end of forecast 13.77p
2026-08-15 08:10:02.584317: Import rates: min 13.77p, max 43.82p, average 25.96p
2026-08-15 08:10:02.618887: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 08:10:02.619235: Rate thresholds (for charge/export) are import 43.32p (0.0p), export -0.1p (0.0p)
2026-08-15 08:10:02.620298: High export rate found rates in range 99p to -99p
2026-08-15 08:10:02.690400: Low Import rate found rates in range 13.77p to 41.55p
2026-08-15 08:10:02.690511: Car 0 charging is not planned as it is not plugged in
2026-08-15 08:10:02.702878: Battery level now 1.6kWh, -1hr ago 1.92kWh, at midnight 1.66kWh, battery value change in the last hour -3.78p, change today -0.66p, rate_forward 11.83p
2026-08-15 08:10:02.703376: Last hour: net energy 0.07kWh, import 0.07kWh, export 0.0kWh, car 0kWh, load 0.35kWh, net cost 1.71p, import 1.71p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 08:10:02.751870: Today's energy total net 6.9kWh, import 6.9kWh, export 0.0kWh, cost 233.78p, import 183.8p, export 0.0p, carbon 0.0kg
2026-08-15 08:10:02.751996: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 08:10:02.817095: Using weighted-bucket historical load forecast over 14 days
2026-08-15 08:10:02.838291: Today's load divergence 107.49%, in-day adjustment 131.3%, damping 0.95x, yesterday 143.77% today 107.11% blend 65.97%
2026-08-15 08:10:02.838372: Today's predicted so far 4.77kWh with 0.0kWh car/iBoost excluded, 2.72kWh import ignored, and 4.77kWh forecast extra.
2026-08-15 08:10:02.838399: Today's actual load so far 6.03kWh with 0.0kWh car/iBoost excluded, and 2.72kWh import ignored.
2026-08-15 08:10:02.869761: Inverter 0: Type SK Sunsynk
2026-08-15 08:10:02.869842: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 08:10:02.869999: Reserve min: 7%, battery_min: 7%
2026-08-15 08:10:02.870051: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 08:10:02.870270: Inverter 0 SoC: 1.6kW 10%, current charge rate 5000W, current discharge rate 5250W, current battery power 265W, current battery voltage 51.2V, grid power -54W, load power 326W, PV Power 0W
2026-08-15 08:10:02.870403: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 08:10:02.870471: Inverter 0 scheduled charge enable is False
2026-08-15 08:10:02.870496: Inverter 0 charge windows currently []
2026-08-15 08:10:02.870517: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 08:10:02.870608: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 08:10:02.870638: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 08:10:02.870669: Inverter 0 scheduled discharge enable is False
2026-08-15 08:10:02.870792: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 08:10:02.870820: Inverter 0 discharge windows currently []
2026-08-15 08:10:02.870838: Note: Inverter does not support discharge freeze - disabled
2026-08-15 08:10:02.870853: Note: Inverter does not support charge freeze - disabled
2026-08-15 08:10:02.870867: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 08:10:02.935436: Dynamic load last period 0.30kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 08:10:02.935547: Plan was last updated on 2026-08-15 08:05:00+01:00 and is now 5.0 minutes old
2026-08-15 08:10:02.936005: Best charge window [ 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 00:30:00 @ 28.84p 100% ]
2026-08-15 08:10:02.936056: Best export window [  ]
2026-08-15 08:10:02.937109: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 08:10:02.940286: Load divergence over 8.0 hours mean 650.11W, min 296.4W, max 1657.2W, std dev 313.9W, divergence 24.14%
2026-08-15 08:10:02.959270: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 08:10:02.959379: LoadML is_calculating False
2026-08-15 08:10:02.959442: Creating pool of 12 processes to match your CPU count
2026-08-15 08:10:03.079737: predict base end_record 08-16 11:35:00, final soc 1.12kWh, metric 806.9p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 09:00:00, load 27.15kWh, PV 0.0kWh
2026-08-15 08:10:03.222343: Battery has 0.83 hours left - now at 1.6kWh
2026-08-15 08:10:03.267769: predict base10 end_record 08-16 11:35:00, final soc 1.12kWh, metric 832.3p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 09:00:00, load 28.16kWh, PV 0.0kWh
2026-08-15 08:10:03.351514: predict best10 end_record 08-16 11:35:00, final soc 1.44kWh, metric 668.18p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 09:00:00, load 28.16kWh, PV 0.0kWh
2026-08-15 08:10:03.444128: predict best end_record 08-16 11:35:00, final soc 1.51kWh, metric 647.35p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 09:00:00, load 27.15kWh, PV 0.0kWh
2026-08-15 08:10:03.444246: Saving plan best values to HA entities
2026-08-15 08:10:03.610686: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0
2026-08-15 08:10:03.616127: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 08:10:03.621552: Best charging limit SoC's [16.0, 3.5, 4.0, 16.0, 16.0, 16.0]kWh, export []kWh gives import battery 20.79kWh, house 2.52kWh, export 0.0kWh, metric 647.35p, metric10 668.18p
2026-08-15 08:10:03.697825: Marginal costs baseline metric (no standing charge): 597.3654
2026-08-15 08:10:03.914245: Marginal energy costs matrix computed: min=14.24 max=32.72
2026-08-15 08:10:03.984474: Rate array import [{'start': 490, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 23.6p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1860, 'rate': 'expensive', 'range': '(24.6p - 32.9p)'}, {'start': 1860, 'end': 1890, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 1890, 'end': 1920, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 1920, 'end': 2135, 'rate': 'cheap', 'range': '(15.5p - 23.6p)'}] export [{'start': 490, 'end': 2135, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 08:10:03.985088: - Your estimated bill for today is £5.83 and tomorrow is £5.38
2026-08-15 08:10:03.985136: - Import rates are cheap (13.8p - 23.6p) for the next 7 and three quarters hours and then expensive (33.1p) for the next 1 hour.
2026-08-15 08:10:03.985156: - The battery is currently at 10% and is in eco mode for the next 3 and a quarter hours.
2026-08-15 08:10:03.985170: - For the next 48 hours there will be no solar generation.
2026-08-15 08:10:03.985185: - You will run out of battery in 50 minutes.
2026-08-15 08:10:03.985200: - Your next charge slot will be in 3 and a quarter hours where import rates will be cheap (15.5p).
2026-08-15 08:10:03.985214: 
2026-08-15 08:10:04.041583: Plan calculation took 1.11 seconds
2026-08-15 08:10:04.044316: No high rate period found
2026-08-15 08:10:04.093709: Import threshold used for optimisation was 22.92p
2026-08-15 08:10:04.146161: Low import rate windows [0: 08-15 08:00:00 - 08-15 08:30:00 @ 22.92, 1: 08-15 08:30:00 - 08-15 09:00:00 @ 22.48, 2: 08-15 09:00:00 - 08-15 09:30:00 @ 23.55, 3: 08-15 09:30:00 - 08-15 10:00:00 @ 23.64, 4: 08-15 10:00:00 - 08-15 10:30:00 @ 19.66, 5: 08-15 10:30:00 - 08-15 11:00:00 @ 17.66, 6: 08-15 11:00:00 - 08-15 11:30:00 @ 16.56, 7: 08-15 11:30:00 - 08-15 12:00:00 @ 15.46, 8: 08-15 12:00:00 - 08-15 12:30:00 @ 17.0, 9: 08-15 12:30:00 - 08-15 13:00:00 @ 16.34, 10: 08-15 13:00:00 - 08-15 13:30:00 @ 15.36, 11: 08-15 13:30:00 - 08-15 14:00:00 @ 15.74, 12: 08-15 14:00:00 - 08-15 14:30:00 @ 14.57, 13: 08-15 14:30:00 - 08-15 15:00:00 @ 13.77, 14: 08-15 15:00:00 - 08-15 15:30:00 @ 15.02, 15: 08-15 15:30:00 - 08-15 16:00:00 @ 15.87, 16: 08-15 16:00:00 - 08-15 16:30:00 @ 33.13, 17: 08-15 16:30:00 - 08-15 17:00:00 @ 33.13, 18: 08-15 17:00:00 - 08-15 17:30:00 @ 38.46, 19: 08-15 17:30:00 - 08-15 18:00:00 @ 40.44, 20: 08-15 18:00:00 - 08-15 18:30:00 @ 41.55, 21: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 22: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 23: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 24: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 25: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 26: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 27: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 28: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 29: 08-15 23:00:00 - 08-15 23:30:00 @ 27.8, 30: 08-15 23:30:00 - 08-16 00:00:00 @ 29.09, 31: 08-16 00:00:00 - 08-16 00:30:00 @ 28.47, 32: 08-16 00:30:00 - 08-16 01:00:00 @ 27.18, 33: 08-16 01:00:00 - 08-16 01:30:00 @ 27.57, 34: 08-16 01:30:00 - 08-16 02:00:00 @ 26.5, 35: 08-16 02:00:00 - 08-16 02:30:00 @ 25.6, 36: 08-16 02:30:00 - 08-16 03:00:00 @ 24.79, 37: 08-16 03:00:00 - 08-16 03:30:00 @ 25.08, 38: 08-16 03:30:00 - 08-16 04:00:00 @ 24.62, 39: 08-16 04:00:00 - 08-16 04:30:00 @ 27.02, 40: 08-16 04:30:00 - 08-16 05:00:00 @ 26.47, 41: 08-16 05:00:00 - 08-16 05:30:00 @ 26.25, 42: 08-16 05:30:00 - 08-16 06:00:00 @ 26.4, 43: 08-16 06:00:00 - 08-16 06:30:00 @ 25.7, 44: 08-16 06:30:00 - 08-16 07:00:00 @ 27.63, 45: 08-16 07:00:00 - 08-16 07:30:00 @ 22.73, 46: 08-16 07:30:00 - 08-16 08:00:00 @ 26.7, 47: 08-16 08:00:00 - 08-16 08:30:00 @ 22.92, 48: 08-16 08:30:00 - 08-16 09:00:00 @ 22.48, 49: 08-16 09:00:00 - 08-16 09:30:00 @ 23.55, 50: 08-16 09:30:00 - 08-16 10:00:00 @ 23.64, 51: 08-16 10:00:00 - 08-16 10:30:00 @ 19.66, 52: 08-16 10:30:00 - 08-16 11:00:00 @ 17.66, 53: 08-16 11:00:00 - 08-16 11:30:00 @ 16.56, 54: 08-16 11:30:00 - 08-16 12:00:00 @ 15.46, 55: 08-16 12:00:00 - 08-16 12:30:00 @ 17.0, 56: 08-16 12:30:00 - 08-16 13:00:00 @ 16.34, 57: 08-16 13:00:00 - 08-16 13:30:00 @ 15.36, 58: 08-16 13:30:00 - 08-16 14:00:00 @ 15.74, 59: 08-16 14:00:00 - 08-16 14:30:00 @ 14.57, 60: 08-16 14:30:00 - 08-16 15:00:00 @ 13.77, 61: 08-16 15:00:00 - 08-16 15:30:00 @ 15.02, 62: 08-16 15:30:00 - 08-16 16:00:00 @ 15.87, 63: 08-16 16:00:00 - 08-16 16:30:00 @ 33.13, 64: 08-16 16:30:00 - 08-16 17:00:00 @ 33.13, 65: 08-16 17:00:00 - 08-16 17:30:00 @ 38.46, 66: 08-16 17:30:00 - 08-16 18:00:00 @ 40.44, 67: 08-16 18:00:00 - 08-16 18:30:00 @ 41.55, 68: 08-16 19:00:00 - 08-16 19:30:00 @ 32.58, 69: 08-16 19:30:00 - 08-16 20:00:00 @ 32.9, 70: 08-16 20:00:00 - 08-16 20:30:00 @ 31.99, 71: 08-16 20:30:00 - 08-16 21:00:00 @ 32.1, 72: 08-16 21:00:00 - 08-16 21:30:00 @ 31.71, 73: 08-16 21:30:00 - 08-16 22:00:00 @ 31.67, 74: 08-16 22:00:00 - 08-16 22:30:00 @ 31.77, 75: 08-16 22:30:00 - 08-16 23:00:00 @ 29.81, 76: 08-16 23:00:00 - 08-16 23:30:00 @ 27.8, 77: 08-16 23:30:00 - 08-17 00:00:00 @ 29.09, 78: 08-17 00:00:00 - 08-17 00:30:00 @ 28.47, 79: 08-17 00:30:00 - 08-17 01:00:00 @ 27.18, 80: 08-17 01:00:00 - 08-17 01:30:00 @ 27.57, 81: 08-17 01:30:00 - 08-17 02:00:00 @ 26.5, 82: 08-17 02:00:00 - 08-17 02:30:00 @ 25.6, 83: 08-17 02:30:00 - 08-17 03:00:00 @ 24.79, 84: 08-17 03:00:00 - 08-17 03:30:00 @ 25.08, 85: 08-17 03:30:00 - 08-17 04:00:00 @ 24.62, 86: 08-17 04:00:00 - 08-17 04:30:00 @ 27.02, 87: 08-17 04:30:00 - 08-17 05:00:00 @ 26.47, 88: 08-17 05:00:00 - 08-17 05:30:00 @ 26.25, 89: 08-17 05:30:00 - 08-17 06:00:00 @ 26.4, 90: 08-17 06:00:00 - 08-17 06:30:00 @ 25.7, 91: 08-17 06:30:00 - 08-17 07:00:00 @ 27.63, 92: 08-17 07:00:00 - 08-17 07:30:00 @ 22.73, 93: 08-17 07:30:00 - 08-17 08:00:00 @ 26.7, 94: 08-17 08:00:00 - 08-17 08:30:00 @ 22.92]
2026-08-15 08:10:04.153184: Inverter 0 Charge window will be: 2026-08-15 11:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 10%, target 100%
2026-08-15 08:10:04.153301: Inverter 0 disabled charge window while waiting for schedule (now 08-15 08:10:00 target set_window_minutes 30 charge start time 08-15 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 08:10:04.153398: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 08:10:04.153643: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 08:10:04.153743: No export window planned
2026-08-15 08:10:04.153851: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 08:10:04.153882: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 08:10:04.154002: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 08:10:04.154160: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 08:10:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 08:10:04.154215: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 08:10:04.154265: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 08:10:04.154348: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 08:10:04.154376: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 08:10:04.154398: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 08:10:04.154418: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 08:10:04.154457: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 08:10:04.154479: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 08:10:04.154500: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 08:10:04.154552: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 08:10:04.154576: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 08:10:04.154596: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 08:10:04.154622: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 08:10:04.154642: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 08:10:04.154663: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 08:10:04.154682: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 08:10:04.154699: Inverter 0 count register writes 0
2026-08-15 08:10:04.170933: Will not recompute the plan, it is 5.0 minutes old and max age is 10 minutes
2026-08-15 08:10:04.176464: Total inverter register writes now 815
2026-08-15 08:10:04.207158: Info: Completed run status Demand
2026-08-15 08:10:04.213093: Info: record_status Demand
2026-08-15 08:10:04.219026: Saved current settings to /config/predbat_config.json
2026-08-15 08:10:04.219330: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 08:10:42.326944: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 08:10:42.327223: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 08:10:42.327287: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 08:10:42.327477: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 08:10:42.327521: Note: Inverter does not support discharge freeze - disabled
2026-08-15 08:10:42.327549: Note: Inverter does not support charge freeze - disabled
2026-08-15 08:10:42.327579: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 08:12:05.772479: ML Component: Fetching 28 days of load history from ['sensor.sunsynk_day_load_energy']
2026-08-15 08:12:06.855806: Processing 1345 30-minute periods for power integration
2026-08-15 08:12:06.969919: ML Component: Car charging hold False, car energy reported load False
2026-08-15 08:12:07.074242: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 08:12:07.179165: ML Temperature data points: 49911
2026-08-15 08:12:07.473508: ML Component: Fetched 8064 load data points, 28.0 days of history
2026-08-15 08:12:07.517233: ML Component: Data fetch completed, load data age 56.0 days, 16363 data points
2026-08-15 08:12:07.518025: ML Component: No training needed, model age is 0.43 hours
2026-08-15 08:12:07.520091: ML Component: Generating predictions load data age 56.0 days, 16363 data points
2026-08-15 08:12:07.669674: ML Predictor: Starting autoregressive prediction loop for 576 steps (48.0 hours), prev_energy value 0.0259 max_dow {0: 0.10014999996256083, 1: 0.10541562554407864, 2: 0.11911562483031304, 3: 0.12494687463529408, 4: 0.17094062535744162, 5: 0.1007093750283122, 6: 0.10970937514957041}
2026-08-15 08:12:12.699303: ML Component: Generated 576 predictions (total 39.97 kWh over 48h)
2026-08-15 08:12:12.741186: ML Component: Prediction cycle completed
2026-08-15 08:12:12.872563: ML Component: Saved 16363 steps (56 days) of history to /config/predbat_ml_history.npz
2026-08-15 08:12:56.575351: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 08:12:56.575613: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 08:12:56.575663: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 08:12:56.575841: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 08:12:56.575883: Note: Inverter does not support discharge freeze - disabled
2026-08-15 08:12:56.575905: Note: Inverter does not support charge freeze - disabled
2026-08-15 08:12:56.575923: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 08:14:56.796065: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 08:14:56.796353: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 08:14:56.796416: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 08:14:56.796551: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 08:14:56.796588: Note: Inverter does not support discharge freeze - disabled
2026-08-15 08:14:56.796609: Note: Inverter does not support charge freeze - disabled
2026-08-15 08:14:56.796628: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 08:15:00.882921: --------------- PredBat - update at 2026-08-15 08:15:00+01:00 with clock skew 0 minutes, minutes now 495
2026-08-15 08:15:00.883574: Saved current settings to /config/predbat_config.json
2026-08-15 08:15:00.883690: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 5.0 minutes
2026-08-15 08:15:00.883770: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.1, latest beta is v8.48.1
2026-08-15 08:15:00.883829: Autoupdate: Currently up to date
2026-08-15 08:15:00.901772: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 08:15:00.901889: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 08:15:00.902030: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 08:15:00.902483: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 08:15:00.902588: Predbat mode is set to Control charge & discharge
2026-08-15 08:15:01.117973: Found 21602 load_today datapoints going back 28 days
2026-08-15 08:15:01.118114: Using load_power data to fill gaps in load_today data
2026-08-15 08:15:01.997050: Processing 721 30-minute periods for power integration
2026-08-15 08:15:02.165365: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 08:15:02.165886: Car charging hold False, threshold 6.0kWh
2026-08-15 08:15:02.165971: Current data so far today: load 5.95kWh, import 6.9kWh, export 0.0kWh, PV 0kWh
2026-08-15 08:15:02.185363: Cars: SoC: [12.892000000000001]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 08:15:02.186273: Standing charge is set to 49.98p
2026-08-15 08:15:02.211973: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 08:15:02.212126: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 08:15:02.212468: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 495.0 minutes
2026-08-15 08:15:02.213233: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 494.7 minutes
2026-08-15 08:15:02.218314: Loaded 47 datapoints of futurerate analysis
2026-08-15 08:15:02.287325: Predicted future rates: ['08-15 00:00:00 => 28.9 / 20.01', '08-15 01:00:00 => 27.54 / 19.31', '08-15 02:00:00 => 26.52 / 18.8', '08-15 03:00:00 => 25.99 / 18.53', '08-15 04:00:00 => 25.8 / 18.43', '08-15 05:00:00 => 25.96 / 18.51', '08-15 06:00:00 => 25.55 / 18.3', '08-15 07:00:00 => 24.33 / 17.68', '08-15 08:00:00 => 23.03 / 17.01', '08-15 09:00:00 => 22.05 / 16.51', '08-15 10:00:00 => 20.43 / 15.68', '08-15 11:00:00 => 18.01 / 14.45', '08-15 12:00:00 => 16.37 / 13.61', '08-15 13:00:00 => 15.76 / 13.3', '08-15 14:00:00 => 15.35 / 13.09', '08-15 15:00:00 => 15.86 / 13.35', '08-15 16:00:00 => 32.89 / 16.13', '08-15 17:00:00 => 38.02 / 18.75', '08-15 18:00:00 => 42.36 / 20.96', '08-15 19:00:00 => 31.09 / 21.13', '08-15 20:00:00 => 31.64 / 21.41', '08-15 21:00:00 => 31.64 / 21.41', '08-15 22:00:00 => 30.58 / 20.87']
2026-08-15 08:15:02.337080: Rate min forward looking: now 13.77p at end of forecast 13.77p
2026-08-15 08:15:02.337426: Import rates: min 13.77p, max 43.82p, average 25.96p
2026-08-15 08:15:02.373063: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 08:15:02.373185: Rate thresholds (for charge/export) are import 43.32p (0.0p), export -0.1p (0.0p)
2026-08-15 08:15:02.374269: High export rate found rates in range 99p to -99p
2026-08-15 08:15:02.446153: Low Import rate found rates in range 13.77p to 41.55p
2026-08-15 08:15:02.446289: Car 0 charging is not planned as it is not plugged in
2026-08-15 08:15:02.458559: Battery level now 1.6kWh, -1hr ago 1.92kWh, at midnight 1.66kWh, battery value change in the last hour -3.78p, change today -0.66p, rate_forward 11.83p
2026-08-15 08:15:02.458888: Last hour: net energy 0.06kWh, import 0.06kWh, export 0.0kWh, car 0kWh, load 0.35kWh, net cost 1.57p, import 1.57p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 08:15:02.512028: Today's energy total net 6.9kWh, import 6.9kWh, export 0.0kWh, cost 233.78p, import 183.8p, export 0.0p, carbon 0.0kg
2026-08-15 08:15:02.512199: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 08:15:02.584811: Using weighted-bucket historical load forecast over 14 days
2026-08-15 08:15:02.605002: Today's load divergence 107.4%, in-day adjustment 131.14%, damping 0.95x, yesterday 143.77% today 107.03% blend 65.62%
2026-08-15 08:15:02.605090: Today's predicted so far 4.76kWh with 0.0kWh car/iBoost excluded, 2.71kWh import ignored, and 4.76kWh forecast extra.
2026-08-15 08:15:02.605116: Today's actual load so far 6.0kWh with 0.0kWh car/iBoost excluded, and 2.71kWh import ignored.
2026-08-15 08:15:02.645508: Inverter 0: Type SK Sunsynk
2026-08-15 08:15:02.645614: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 08:15:02.645904: Reserve min: 7%, battery_min: 7%
2026-08-15 08:15:02.646013: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 08:15:02.646292: Inverter 0 SoC: 1.6kW 10%, current charge rate 5000W, current discharge rate 5250W, current battery power 322W, current battery voltage 51.2V, grid power -55W, load power 383W, PV Power 0W
2026-08-15 08:15:02.646460: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 08:15:02.646551: Inverter 0 scheduled charge enable is False
2026-08-15 08:15:02.646586: Inverter 0 charge windows currently []
2026-08-15 08:15:02.646612: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 08:15:02.646763: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 08:15:02.646802: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 08:15:02.646840: Inverter 0 scheduled discharge enable is False
2026-08-15 08:15:02.646966: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 08:15:02.647004: Inverter 0 discharge windows currently []
2026-08-15 08:15:02.647026: Note: Inverter does not support discharge freeze - disabled
2026-08-15 08:15:02.647044: Note: Inverter does not support charge freeze - disabled
2026-08-15 08:15:02.647068: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 08:15:02.708088: Dynamic load last period 0.30kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 08:15:02.708233: Plan was last updated on 2026-08-15 08:05:00+01:00 and is now 10.0 minutes old
2026-08-15 08:15:02.708554: Best charge window [ 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 00:30:00 @ 28.84p 100% ]
2026-08-15 08:15:02.708602: Best export window [  ]
2026-08-15 08:15:02.709481: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 08:15:02.711933: Load divergence over 8.0 hours mean 650.29W, min 274.2W, max 1777.8W, std dev 350.41W, divergence 26.94%
2026-08-15 08:15:02.726966: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 08:15:02.727071: LoadML is_calculating False
2026-08-15 08:15:02.727132: Creating pool of 12 processes to match your CPU count
2026-08-15 08:15:02.870310: predict base end_record 08-16 11:40:00, final soc 1.12kWh, metric 807.88p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 09:05:00, load 27.25kWh, PV 0.0kWh
2026-08-15 08:15:03.022128: Battery has 0.83 hours left - now at 1.6kWh
2026-08-15 08:15:03.071332: predict base10 end_record 08-16 11:40:00, final soc 1.12kWh, metric 833.34p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 09:00:00, load 28.26kWh, PV 0.0kWh
2026-08-15 08:15:03.162314: predict best10 end_record 08-16 11:40:00, final soc 1.77kWh, metric 674.51p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 09:00:00, load 28.26kWh, PV 0.0kWh
2026-08-15 08:15:03.254912: predict best end_record 08-16 11:40:00, final soc 1.9kWh, metric 654.59p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 09:05:00, load 27.25kWh, PV 0.0kWh
2026-08-15 08:15:03.255015: Saving plan best values to HA entities
2026-08-15 08:15:03.468750: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 08:15:03.476142: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0.0
2026-08-15 08:15:03.482860: Best charging limit SoC's [16.0, 3.5, 4.0, 16.0, 16.0, 16.0]kWh, export []kWh gives import battery 21.32kWh, house 2.49kWh, export 0.0kWh, metric 654.59p, metric10 674.51p
2026-08-15 08:15:03.575865: Marginal costs baseline metric (no standing charge): 604.6106
2026-08-15 08:15:03.866590: Marginal energy costs matrix computed: min=14.28 max=32.31
2026-08-15 08:15:03.946194: Rate array import [{'start': 495, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 23.6p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1860, 'rate': 'expensive', 'range': '(24.6p - 32.9p)'}, {'start': 1860, 'end': 1890, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 1890, 'end': 1920, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 1920, 'end': 2140, 'rate': 'cheap', 'range': '(15.5p - 23.6p)'}] export [{'start': 495, 'end': 2140, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 08:15:03.947086: - Your estimated bill for today is £5.82 and tomorrow is £5.40
2026-08-15 08:15:03.947143: - Import rates are cheap (13.8p - 23.6p) for the next 7 and three quarters hours and then expensive (33.1p) for the next 1 hour.
2026-08-15 08:15:03.947167: - The battery is currently at 10% and is in eco mode for the next 3 and a quarter hours.
2026-08-15 08:15:03.947189: - For the next 48 hours there will be no solar generation.
2026-08-15 08:15:03.947208: - You will run out of battery in 50 minutes.
2026-08-15 08:15:03.947227: - Your next charge slot will be in 3 and a quarter hours where import rates will be cheap (15.5p).
2026-08-15 08:15:03.947248: 
2026-08-15 08:15:04.009424: Plan calculation took 1.30 seconds
2026-08-15 08:15:04.014560: No high rate period found
2026-08-15 08:15:04.064554: Import threshold used for optimisation was 22.92p
2026-08-15 08:15:04.124897: Low import rate windows [0: 08-15 08:00:00 - 08-15 08:30:00 @ 22.92, 1: 08-15 08:30:00 - 08-15 09:00:00 @ 22.48, 2: 08-15 09:00:00 - 08-15 09:30:00 @ 23.55, 3: 08-15 09:30:00 - 08-15 10:00:00 @ 23.64, 4: 08-15 10:00:00 - 08-15 10:30:00 @ 19.66, 5: 08-15 10:30:00 - 08-15 11:00:00 @ 17.66, 6: 08-15 11:00:00 - 08-15 11:30:00 @ 16.56, 7: 08-15 11:30:00 - 08-15 12:00:00 @ 15.46, 8: 08-15 12:00:00 - 08-15 12:30:00 @ 17.0, 9: 08-15 12:30:00 - 08-15 13:00:00 @ 16.34, 10: 08-15 13:00:00 - 08-15 13:30:00 @ 15.36, 11: 08-15 13:30:00 - 08-15 14:00:00 @ 15.74, 12: 08-15 14:00:00 - 08-15 14:30:00 @ 14.57, 13: 08-15 14:30:00 - 08-15 15:00:00 @ 13.77, 14: 08-15 15:00:00 - 08-15 15:30:00 @ 15.02, 15: 08-15 15:30:00 - 08-15 16:00:00 @ 15.87, 16: 08-15 16:00:00 - 08-15 16:30:00 @ 33.13, 17: 08-15 16:30:00 - 08-15 17:00:00 @ 33.13, 18: 08-15 17:00:00 - 08-15 17:30:00 @ 38.46, 19: 08-15 17:30:00 - 08-15 18:00:00 @ 40.44, 20: 08-15 18:00:00 - 08-15 18:30:00 @ 41.55, 21: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 22: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 23: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 24: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 25: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 26: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 27: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 28: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 29: 08-15 23:00:00 - 08-15 23:30:00 @ 27.8, 30: 08-15 23:30:00 - 08-16 00:00:00 @ 29.09, 31: 08-16 00:00:00 - 08-16 00:30:00 @ 28.47, 32: 08-16 00:30:00 - 08-16 01:00:00 @ 27.18, 33: 08-16 01:00:00 - 08-16 01:30:00 @ 27.57, 34: 08-16 01:30:00 - 08-16 02:00:00 @ 26.5, 35: 08-16 02:00:00 - 08-16 02:30:00 @ 25.6, 36: 08-16 02:30:00 - 08-16 03:00:00 @ 24.79, 37: 08-16 03:00:00 - 08-16 03:30:00 @ 25.08, 38: 08-16 03:30:00 - 08-16 04:00:00 @ 24.62, 39: 08-16 04:00:00 - 08-16 04:30:00 @ 27.02, 40: 08-16 04:30:00 - 08-16 05:00:00 @ 26.47, 41: 08-16 05:00:00 - 08-16 05:30:00 @ 26.25, 42: 08-16 05:30:00 - 08-16 06:00:00 @ 26.4, 43: 08-16 06:00:00 - 08-16 06:30:00 @ 25.7, 44: 08-16 06:30:00 - 08-16 07:00:00 @ 27.63, 45: 08-16 07:00:00 - 08-16 07:30:00 @ 22.73, 46: 08-16 07:30:00 - 08-16 08:00:00 @ 26.7, 47: 08-16 08:00:00 - 08-16 08:30:00 @ 22.92, 48: 08-16 08:30:00 - 08-16 09:00:00 @ 22.48, 49: 08-16 09:00:00 - 08-16 09:30:00 @ 23.55, 50: 08-16 09:30:00 - 08-16 10:00:00 @ 23.64, 51: 08-16 10:00:00 - 08-16 10:30:00 @ 19.66, 52: 08-16 10:30:00 - 08-16 11:00:00 @ 17.66, 53: 08-16 11:00:00 - 08-16 11:30:00 @ 16.56, 54: 08-16 11:30:00 - 08-16 12:00:00 @ 15.46, 55: 08-16 12:00:00 - 08-16 12:30:00 @ 17.0, 56: 08-16 12:30:00 - 08-16 13:00:00 @ 16.34, 57: 08-16 13:00:00 - 08-16 13:30:00 @ 15.36, 58: 08-16 13:30:00 - 08-16 14:00:00 @ 15.74, 59: 08-16 14:00:00 - 08-16 14:30:00 @ 14.57, 60: 08-16 14:30:00 - 08-16 15:00:00 @ 13.77, 61: 08-16 15:00:00 - 08-16 15:30:00 @ 15.02, 62: 08-16 15:30:00 - 08-16 16:00:00 @ 15.87, 63: 08-16 16:00:00 - 08-16 16:30:00 @ 33.13, 64: 08-16 16:30:00 - 08-16 17:00:00 @ 33.13, 65: 08-16 17:00:00 - 08-16 17:30:00 @ 38.46, 66: 08-16 17:30:00 - 08-16 18:00:00 @ 40.44, 67: 08-16 18:00:00 - 08-16 18:30:00 @ 41.55, 68: 08-16 19:00:00 - 08-16 19:30:00 @ 32.58, 69: 08-16 19:30:00 - 08-16 20:00:00 @ 32.9, 70: 08-16 20:00:00 - 08-16 20:30:00 @ 31.99, 71: 08-16 20:30:00 - 08-16 21:00:00 @ 32.1, 72: 08-16 21:00:00 - 08-16 21:30:00 @ 31.71, 73: 08-16 21:30:00 - 08-16 22:00:00 @ 31.67, 74: 08-16 22:00:00 - 08-16 22:30:00 @ 31.77, 75: 08-16 22:30:00 - 08-16 23:00:00 @ 29.81, 76: 08-16 23:00:00 - 08-16 23:30:00 @ 27.8, 77: 08-16 23:30:00 - 08-17 00:00:00 @ 29.09, 78: 08-17 00:00:00 - 08-17 00:30:00 @ 28.47, 79: 08-17 00:30:00 - 08-17 01:00:00 @ 27.18, 80: 08-17 01:00:00 - 08-17 01:30:00 @ 27.57, 81: 08-17 01:30:00 - 08-17 02:00:00 @ 26.5, 82: 08-17 02:00:00 - 08-17 02:30:00 @ 25.6, 83: 08-17 02:30:00 - 08-17 03:00:00 @ 24.79, 84: 08-17 03:00:00 - 08-17 03:30:00 @ 25.08, 85: 08-17 03:30:00 - 08-17 04:00:00 @ 24.62, 86: 08-17 04:00:00 - 08-17 04:30:00 @ 27.02, 87: 08-17 04:30:00 - 08-17 05:00:00 @ 26.47, 88: 08-17 05:00:00 - 08-17 05:30:00 @ 26.25, 89: 08-17 05:30:00 - 08-17 06:00:00 @ 26.4, 90: 08-17 06:00:00 - 08-17 06:30:00 @ 25.7, 91: 08-17 06:30:00 - 08-17 07:00:00 @ 27.63, 92: 08-17 07:00:00 - 08-17 07:30:00 @ 22.73, 93: 08-17 07:30:00 - 08-17 08:00:00 @ 26.7, 94: 08-17 08:00:00 - 08-17 08:30:00 @ 22.92]
2026-08-15 08:15:04.137642: Inverter 0 Charge window will be: 2026-08-15 11:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 10%, target 100%
2026-08-15 08:15:04.137860: Inverter 0 disabled charge window while waiting for schedule (now 08-15 08:15:00 target set_window_minutes 30 charge start time 08-15 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 08:15:04.138022: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 08:15:04.138390: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 08:15:04.138516: No export window planned
2026-08-15 08:15:04.138677: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 08:15:04.138723: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 08:15:04.138934: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 08:15:04.139128: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 08:15:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 08:15:04.139193: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 08:15:04.139264: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 08:15:04.139399: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 08:15:04.139459: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 08:15:04.139499: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 08:15:04.139541: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 08:15:04.139577: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 08:15:04.139619: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 08:15:04.139660: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 08:15:04.139780: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 08:15:04.139855: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 08:15:04.139898: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 08:15:04.139939: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 08:15:04.140009: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 08:15:04.140070: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 08:15:04.140114: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 08:15:04.140143: Inverter 0 count register writes 0
2026-08-15 08:15:04.163304: Will recompute the plan as it is now 10.0 minutes old and will exceed the max age of 10 minutes before the next run
2026-08-15 08:15:04.163503: Recompute is saving previous plan...
2026-08-15 08:15:04.166906: Best charge window [ 15-08 08:00:00 - 15-08 08:30:00 @ 22.92p 0%, 15-08 08:30:00 - 15-08 09:00:00 @ 22.48p 0%, 15-08 09:00:00 - 15-08 09:30:00 @ 23.55p 0%, 15-08 09:30:00 - 15-08 10:00:00 @ 23.64p 0%, 15-08 10:00:00 - 15-08 10:30:00 @ 19.66p 0%, 15-08 10:30:00 - 15-08 11:00:00 @ 17.66p 0%, 15-08 11:00:00 - 15-08 11:30:00 @ 16.56p 0%, 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 0%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 0%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 0%, 15-08 13:00:00 - 15-08 13:30:00 @ 15.36p 0%, 15-08 13:30:00 - 15-08 14:00:00 @ 15.74p 0%, 15-08 14:00:00 - 15-08 14:30:00 @ 14.57p 0%, 15-08 14:30:00 - 15-08 15:00:00 @ 13.77p 0%, 15-08 15:00:00 - 15-08 15:30:00 @ 15.02p 0%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 0%, 15-08 16:00:00 - 15-08 16:30:00 @ 33.13p 0%, 15-08 16:30:00 - 15-08 17:00:00 @ 33.13p 0%, 15-08 17:00:00 - 15-08 17:30:00 @ 38.46p 0%, 15-08 17:30:00 - 15-08 18:00:00 @ 40.44p 0%, 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 0%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 0%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 0%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 0%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 0%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 27.8p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 29.09p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.47p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.18p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 27.57p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.5p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.6p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 24.79p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 25.08p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 24.62p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 27.02p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.47p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 26.25p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.4p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.7p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 27.63p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 22.73p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 26.7p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 22.92p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 22.48p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 23.55p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 23.64p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 19.66p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 17.66p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 16.56p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 15.46p 0%, 16-08 12:00:00 - 16-08 12:30:00 @ 17.0p 0%, 16-08 12:30:00 - 16-08 13:00:00 @ 16.34p 0%, 16-08 13:00:00 - 16-08 13:30:00 @ 15.36p 0%, 16-08 13:30:00 - 16-08 14:00:00 @ 15.74p 0%, 16-08 14:00:00 - 16-08 14:30:00 @ 14.57p 0%, 16-08 14:30:00 - 16-08 15:00:00 @ 13.77p 0%, 16-08 15:00:00 - 16-08 15:30:00 @ 15.02p 0%, 16-08 15:30:00 - 16-08 16:00:00 @ 15.87p 0%, 16-08 16:00:00 - 16-08 16:30:00 @ 33.13p 0%, 16-08 16:30:00 - 16-08 17:00:00 @ 33.13p 0%, 16-08 17:00:00 - 16-08 17:30:00 @ 38.46p 0%, 16-08 17:30:00 - 16-08 18:00:00 @ 40.44p 0%, 16-08 18:00:00 - 16-08 18:30:00 @ 41.55p 0%, 16-08 19:00:00 - 16-08 19:30:00 @ 32.58p 0%, 16-08 19:30:00 - 16-08 20:00:00 @ 32.9p 0%, 16-08 20:00:00 - 16-08 20:30:00 @ 31.99p 0%, 16-08 20:30:00 - 16-08 21:00:00 @ 32.1p 0%, 16-08 21:00:00 - 16-08 21:30:00 @ 31.71p 0%, 16-08 21:30:00 - 16-08 22:00:00 @ 31.67p 0%, 16-08 22:00:00 - 16-08 22:30:00 @ 31.77p 0%, 16-08 22:30:00 - 16-08 23:00:00 @ 29.81p 0%, 16-08 23:00:00 - 16-08 23:30:00 @ 27.8p 0%, 16-08 23:30:00 - 17-08 00:00:00 @ 29.09p 0%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.47p 0%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.18p 0%, 17-08 01:00:00 - 17-08 01:30:00 @ 27.57p 0%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.5p 0%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.6p 0%, 17-08 02:30:00 - 17-08 03:00:00 @ 24.79p 0%, 17-08 03:00:00 - 17-08 03:30:00 @ 25.08p 0%, 17-08 03:30:00 - 17-08 04:00:00 @ 24.62p 0%, 17-08 04:00:00 - 17-08 04:30:00 @ 27.02p 0%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.47p 0%, 17-08 05:00:00 - 17-08 05:30:00 @ 26.25p 0%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.4p 0%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.7p 0%, 17-08 06:30:00 - 17-08 07:00:00 @ 27.63p 0%, 17-08 07:00:00 - 17-08 07:30:00 @ 22.73p 0%, 17-08 07:30:00 - 17-08 08:00:00 @ 26.7p 0%, 17-08 08:00:00 - 17-08 08:30:00 @ 22.92p 0% ]
2026-08-15 08:15:04.167000: Best export window [  ]
2026-08-15 08:15:04.167863: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 08:15:04.171230: Load divergence over 8.0 hours mean 650.29W, min 274.2W, max 1777.8W, std dev 350.41W, divergence 26.94%
2026-08-15 08:15:04.189943: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 08:15:04.190550: LoadML is_calculating False
2026-08-15 08:15:04.190640: Creating pool of 12 processes to match your CPU count
2026-08-15 08:15:04.299750: Calculate Best options: mode(Control charge & discharge), calculate_export_oncharge(False), calculate_export_on_pv(True), set_export_freeze_only(False), set_discharge_during_charge(True), combine_charge_slots(False), combine_export_slots(False), combine_rate_threshold(0.0), best_soc_min(0.0 kWh), best_soc_max(0.0 kWh), best_soc_keep(0.0 kWh), inverter_loss(4%), battery_loss(3%), battery_loss_discharge (3%), inverter_hybrid(True), metric_min_improvement(0.0p), metric_min_improvement_export(0.1p), metric_min_improvement_export_freeze(0.1p), metric_battery_cycle(0.0p/kWh), metric_battery_value_scaling(1.0 x) 
2026-08-15 08:15:04.301813: Optimise levels pass started at 2026-08-15 08:15:04
2026-08-15 08:15:04.301913: Optimise all windows, total charge 94 export 1
2026-08-15 08:15:05.317041: >> Region optimisation pass width 960 gives best_metric 823.43p, best_cost 853.74p, best_cycle 57.68kWh, best_import 40.36kWh
2026-08-15 08:15:05.721668: >> Region optimisation pass width 480 gives best_metric 823.43p, best_cost 853.74p, best_cycle 57.68kWh, best_import 40.36kWh
2026-08-15 08:15:06.244702: >> Region optimisation pass width 240 gives best_metric 823.43p, best_cost 853.74p, best_cycle 57.68kWh, best_import 40.36kWh
2026-08-15 08:15:07.432459: >> Region optimisation pass width 120 gives best_metric 823.43p, best_cost 853.74p, best_cycle 57.68kWh, best_import 40.36kWh
2026-08-15 08:15:07.433089: Calculated end_record as 08-16 11:30:00 based on best_price 16.34p, next_charge_start 08-15 11:30:00, max_windows 54
2026-08-15 08:15:07.433184: Optimise levels pass ended at 2026-08-15 08:15:07, duration 3.1 seconds tried 337 combinations
2026-08-15 08:15:07.433287: Set best_price_charge_level 17.6p, best_price_export_level 0p, best_price_charge 16.34p, best_cost_export 0p, best_metric 823.43p, best_keep 0kWh, best_cycle 57.68kWh, best_carbon 0kg, best_import 40.36kWh
2026-08-15 08:15:07.453810: Starting detailed optimisation end_record 08-16 11:30:00, best_price_charge 16.34p, best_price_export 0p. lowest_price_charge 13.77p with charge limits [0, 0, 0, 0, 0, 0, 0, 16.0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0]kWh and export limits []kWh
2026-08-15 08:15:11.705287: Tweak plan optimisation started metric 578.06p, cost 587.64p
2026-08-15 08:15:11.964073: Tweak optimisation finished metric 578.06p, cost 587.64p, metric_keep 0kWh, cycle 29.24kWh, carbon 0kg, import 22.7kWh, changed 8 window(s)
2026-08-15 08:15:11.984710: Swap charge optimisation started metric 578.06p, cost 587.64p, min_improvement_swap 0.1p
2026-08-15 08:15:16.564810: Swap charge optimisation finished metric 578.06p, cost 587.64p
2026-08-15 08:15:16.691590: Raw charge windows [ 15-08 08:00:00 - 15-08 08:30:00 @ 22.92p 9%, 15-08 08:30:00 - 15-08 09:00:00 @ 22.48p 9%, 15-08 09:00:00 - 15-08 09:30:00 @ 23.55p 0%, 15-08 09:30:00 - 15-08 10:00:00 @ 23.64p 0%, 15-08 10:00:00 - 15-08 10:30:00 @ 19.66p 0%, 15-08 10:30:00 - 15-08 11:00:00 @ 17.66p 0%, 15-08 11:00:00 - 15-08 11:30:00 @ 16.56p 0%, 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 22%, 15-08 13:00:00 - 15-08 13:30:00 @ 15.36p 100%, 15-08 13:30:00 - 15-08 14:00:00 @ 15.74p 100%, 15-08 14:00:00 - 15-08 14:30:00 @ 14.57p 100%, 15-08 14:30:00 - 15-08 15:00:00 @ 13.77p 100%, 15-08 15:00:00 - 15-08 15:30:00 @ 15.02p 100%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 97%, 15-08 16:00:00 - 15-08 16:30:00 @ 33.13p 0%, 15-08 16:30:00 - 15-08 17:00:00 @ 33.13p 0%, 15-08 17:00:00 - 15-08 17:30:00 @ 38.46p 0%, 15-08 17:30:00 - 15-08 18:00:00 @ 40.44p 0%, 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 0%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 0%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 0%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 0%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 0%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 27.8p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 29.09p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.47p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.18p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 27.57p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.5p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.6p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 24.79p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 25.08p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 24.62p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 27.02p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.47p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 26.25p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.4p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.7p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 27.63p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 22.73p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 26.7p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 22.92p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 22.48p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 23.55p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 23.64p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 19.66p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 17.66p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 16.56p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 15.46p 100%, 16-08 12:00:00 - 16-08 12:30:00 @ 17.0p 100%, 16-08 12:30:00 - 16-08 13:00:00 @ 16.34p 100%, 16-08 13:00:00 - 16-08 13:30:00 @ 15.36p 100%, 16-08 13:30:00 - 16-08 14:00:00 @ 15.74p 100%, 16-08 14:00:00 - 16-08 14:30:00 @ 14.57p 100%, 16-08 14:30:00 - 16-08 15:00:00 @ 13.77p 100%, 16-08 15:00:00 - 16-08 15:30:00 @ 15.02p 100%, 16-08 15:30:00 - 16-08 16:00:00 @ 15.87p 100%, 16-08 16:00:00 - 16-08 16:30:00 @ 33.13p 100%, 16-08 16:30:00 - 16-08 17:00:00 @ 33.13p 100%, 16-08 17:00:00 - 16-08 17:30:00 @ 38.46p 100%, 16-08 17:30:00 - 16-08 18:00:00 @ 40.44p 100%, 16-08 18:00:00 - 16-08 18:30:00 @ 41.55p 100%, 16-08 19:00:00 - 16-08 19:30:00 @ 32.58p 100%, 16-08 19:30:00 - 16-08 20:00:00 @ 32.9p 100%, 16-08 20:00:00 - 16-08 20:30:00 @ 31.99p 100%, 16-08 20:30:00 - 16-08 21:00:00 @ 32.1p 100%, 16-08 21:00:00 - 16-08 21:30:00 @ 31.71p 100%, 16-08 21:30:00 - 16-08 22:00:00 @ 31.67p 100%, 16-08 22:00:00 - 16-08 22:30:00 @ 31.77p 100%, 16-08 22:30:00 - 16-08 23:00:00 @ 29.81p 100%, 16-08 23:00:00 - 16-08 23:30:00 @ 27.8p 100%, 16-08 23:30:00 - 17-08 00:00:00 @ 29.09p 100%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.47p 100%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.18p 100%, 17-08 01:00:00 - 17-08 01:30:00 @ 27.57p 100%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.5p 100%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.6p 100%, 17-08 02:30:00 - 17-08 03:00:00 @ 24.79p 100%, 17-08 03:00:00 - 17-08 03:30:00 @ 25.08p 100%, 17-08 03:30:00 - 17-08 04:00:00 @ 24.62p 100%, 17-08 04:00:00 - 17-08 04:30:00 @ 27.02p 100%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.47p 100%, 17-08 05:00:00 - 17-08 05:30:00 @ 26.25p 100%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.4p 100%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.7p 100%, 17-08 06:30:00 - 17-08 07:00:00 @ 27.63p 100%, 17-08 07:00:00 - 17-08 07:30:00 @ 22.73p 100%, 17-08 07:30:00 - 17-08 08:00:00 @ 26.7p 100%, 17-08 08:00:00 - 17-08 08:30:00 @ 22.92p 100% ] reserve 1.12
2026-08-15 08:15:16.692291: Unclipped charge windows [ 15-08 08:00:00 - 15-08 09:00:00 @ 22.7p 9%, 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 13:00:00 @ 16.67p 22%, 15-08 13:00:00 - 15-08 15:30:00 @ 14.71p 100%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 97%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 08:30:00 @ 24.33p 100% ] reserve 1.12
2026-08-15 08:15:16.692647: Unfiltered charge windows [ 15-08 08:00:00 - 15-08 09:00:00 @ 22.7p 9%, 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 13:00:00 @ 16.67p 22%, 15-08 13:00:00 - 15-08 15:30:00 @ 14.71p 100%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 97%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 08:30:00 @ 24.33p 100% ] reserve 1.12
2026-08-15 08:15:16.692937: Filtered charge windows [ 15-08 08:00:00 - 15-08 09:00:00 @ 22.7p 9%, 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 13:00:00 @ 16.67p 22%, 15-08 13:00:00 - 15-08 15:30:00 @ 14.71p 100%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 97%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 08:30:00 @ 24.33p 100% ] reserve 1.12
2026-08-15 08:15:16.730468: Previous plan best metric is 578.58 (cost 588.53) and new plan best metric is 578.06 (cost 587.64)
2026-08-15 08:15:16.730746: New plan metric is not significantly better (metric_min_improvement_plan 2.0) than previous plan, using previous plan
2026-08-15 08:15:16.731023: Plan valid is now true after recompute was False
2026-08-15 08:15:16.759989: predict base end_record 08-16 11:30:00, final soc 1.12kWh, metric 804.69p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 09:05:00, load 27.04kWh, PV 0.0kWh
2026-08-15 08:15:16.877586: Battery has 0.83 hours left - now at 1.6kWh
2026-08-15 08:15:16.919604: predict base10 end_record 08-16 11:30:00, final soc 1.12kWh, metric 829.99p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 09:00:00, load 28.04kWh, PV 0.0kWh
2026-08-15 08:15:16.996702: predict best10 end_record 08-16 11:30:00, final soc 1.12kWh, metric 660.43p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 09:00:00, load 28.04kWh, PV 0.0kWh
2026-08-15 08:15:17.078467: predict best end_record 08-16 11:30:00, final soc 1.12kWh, metric 638.52p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 09:05:00, load 27.04kWh, PV 0.0kWh
2026-08-15 08:15:17.078563: Saving plan best values to HA entities
2026-08-15 08:15:17.253337: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 08:15:17.259588: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0.0
2026-08-15 08:15:17.265479: Best charging limit SoC's [16.0, 3.5, 4.0, 16.0, 16.0, 16.0]kWh, export []kWh gives import battery 20.28kWh, house 2.49kWh, export 0.0kWh, metric 638.52p, metric10 660.43p
2026-08-15 08:15:17.341620: Marginal costs baseline metric (no standing charge): 588.5343
2026-08-15 08:15:17.619144: Marginal energy costs matrix computed: min=14.28 max=32.31
2026-08-15 08:15:17.690346: Rate array import [{'start': 495, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 23.6p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1860, 'rate': 'expensive', 'range': '(24.6p - 32.9p)'}, {'start': 1860, 'end': 1890, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 1890, 'end': 1920, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 1920, 'end': 2130, 'rate': 'cheap', 'range': '(16.6p - 23.6p)'}] export [{'start': 495, 'end': 2130, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 08:15:17.691140: - Your estimated bill for today is £5.82 and tomorrow is £5.40
2026-08-15 08:15:17.691212: - Import rates are cheap (13.8p - 23.6p) for the next 7 and three quarters hours and then expensive (33.1p) for the next 1 hour.
2026-08-15 08:15:17.691257: - The battery is currently at 10% and is in eco mode for the next 3 and a quarter hours.
2026-08-15 08:15:17.691290: - For the next 48 hours there will be no solar generation.
2026-08-15 08:15:17.691330: - You will run out of battery in 50 minutes.
2026-08-15 08:15:17.691364: - Your next charge slot will be in 3 and a quarter hours where import rates will be cheap (15.5p).
2026-08-15 08:15:17.691398: 
2026-08-15 08:15:17.751165: Plan calculation took 13.59 seconds
2026-08-15 08:15:17.751584: Inverter 0: Type SK Sunsynk
2026-08-15 08:15:17.751640: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 08:15:17.751894: Reserve min: 7%, battery_min: 7%
2026-08-15 08:15:17.751977: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 08:15:17.752306: Inverter 0 SoC: 1.6kW 10%, current charge rate 5000W, current discharge rate 5250W, current battery power 303W, current battery voltage 51.2V, grid power -55W, load power 363W, PV Power 0W
2026-08-15 08:15:17.752570: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 08:15:17.752700: Inverter 0 scheduled charge enable is False
2026-08-15 08:15:17.752760: Inverter 0 charge windows currently []
2026-08-15 08:15:17.752801: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 08:15:17.752922: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 08:15:17.753001: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 08:15:17.753068: Inverter 0 scheduled discharge enable is False
2026-08-15 08:15:17.753244: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 08:15:17.753284: Inverter 0 discharge windows currently []
2026-08-15 08:15:17.753307: Note: Inverter does not support discharge freeze - disabled
2026-08-15 08:15:17.753330: Note: Inverter does not support charge freeze - disabled
2026-08-15 08:15:17.753347: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 08:15:17.813004: Inverter 0 Charge window will be: 2026-08-15 11:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 10%, target 100%
2026-08-15 08:15:17.813161: Inverter 0 disabled charge window while waiting for schedule (now 08-15 08:15:00 target set_window_minutes 30 charge start time 08-15 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 08:15:17.813230: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 08:15:17.813437: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 08:15:17.813518: No export window planned
2026-08-15 08:15:17.813627: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 08:15:17.813663: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 08:15:17.813821: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 08:15:17.813990: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 08:15:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 08:15:17.814065: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 08:15:17.814120: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 08:15:17.814224: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 08:15:17.814266: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 08:15:17.814294: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 08:15:17.814323: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 08:15:17.814349: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 08:15:17.814380: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 08:15:17.814409: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 08:15:17.814466: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 08:15:17.814499: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 08:15:17.814525: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 08:15:17.814550: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 08:15:17.814573: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 08:15:17.814602: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 08:15:17.814626: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 08:15:17.814651: Inverter 0 count register writes 0
2026-08-15 08:15:17.838086: Total inverter register writes now 815
2026-08-15 08:15:17.872036: Info: Completed run status Demand
2026-08-15 08:15:17.878531: Info: record_status Demand
2026-08-15 08:15:17.886136: Saved current settings to /config/predbat_config.json
2026-08-15 08:15:17.886437: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 08:15:57.008116: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 08:15:57.008349: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 08:15:57.008393: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 08:15:57.008530: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 08:15:57.008568: Note: Inverter does not support discharge freeze - disabled
2026-08-15 08:15:57.008590: Note: Inverter does not support charge freeze - disabled
2026-08-15 08:15:57.008608: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 08:17:57.240131: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 08:17:57.240395: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 08:17:57.240432: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 08:17:57.240619: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 08:17:57.240668: Note: Inverter does not support discharge freeze - disabled
2026-08-15 08:17:57.240689: Note: Inverter does not support charge freeze - disabled
2026-08-15 08:17:57.240752: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 08:19:57.454410: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 08:19:57.454658: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 08:19:57.454695: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 08:19:57.454876: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 08:19:57.454918: Note: Inverter does not support discharge freeze - disabled
2026-08-15 08:19:57.454940: Note: Inverter does not support charge freeze - disabled
2026-08-15 08:19:57.454958: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 08:20:00.524904: --------------- PredBat - update at 2026-08-15 08:20:00+01:00 with clock skew 0 minutes, minutes now 500
2026-08-15 08:20:00.525650: Saved current settings to /config/predbat_config.json
2026-08-15 08:20:00.525808: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 10.0 minutes
2026-08-15 08:20:00.525896: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.1, latest beta is v8.48.1
2026-08-15 08:20:00.525972: Autoupdate: Currently up to date
2026-08-15 08:20:00.544578: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 08:20:00.544685: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 08:20:00.544845: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 08:20:00.545343: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 08:20:00.545452: Predbat mode is set to Control charge & discharge
2026-08-15 08:20:00.713339: Found 21602 load_today datapoints going back 28 days
2026-08-15 08:20:00.713500: Using load_power data to fill gaps in load_today data
2026-08-15 08:20:01.428489: Processing 721 30-minute periods for power integration
2026-08-15 08:20:01.592422: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 08:20:01.592559: Car charging hold False, threshold 6.0kWh
2026-08-15 08:20:01.592600: Current data so far today: load 5.9kWh, import 6.9kWh, export 0.0kWh, PV 0kWh
2026-08-15 08:20:01.606138: Cars: SoC: [12.892000000000001]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 08:20:01.606657: Standing charge is set to 49.98p
2026-08-15 08:20:01.630467: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 08:20:01.630600: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 08:20:01.630891: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 500.0 minutes
2026-08-15 08:20:01.631495: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 499.6 minutes
2026-08-15 08:20:01.636903: Loaded 47 datapoints of futurerate analysis
2026-08-15 08:20:01.727982: Predicted future rates: ['08-15 00:00:00 => 28.9 / 20.01', '08-15 01:00:00 => 27.54 / 19.31', '08-15 02:00:00 => 26.52 / 18.8', '08-15 03:00:00 => 25.99 / 18.53', '08-15 04:00:00 => 25.8 / 18.43', '08-15 05:00:00 => 25.96 / 18.51', '08-15 06:00:00 => 25.55 / 18.3', '08-15 07:00:00 => 24.33 / 17.68', '08-15 08:00:00 => 23.03 / 17.01', '08-15 09:00:00 => 22.05 / 16.51', '08-15 10:00:00 => 20.43 / 15.68', '08-15 11:00:00 => 18.01 / 14.45', '08-15 12:00:00 => 16.37 / 13.61', '08-15 13:00:00 => 15.76 / 13.3', '08-15 14:00:00 => 15.35 / 13.09', '08-15 15:00:00 => 15.86 / 13.35', '08-15 16:00:00 => 32.89 / 16.13', '08-15 17:00:00 => 38.02 / 18.75', '08-15 18:00:00 => 42.36 / 20.96', '08-15 19:00:00 => 31.09 / 21.13', '08-15 20:00:00 => 31.64 / 21.41', '08-15 21:00:00 => 31.64 / 21.41', '08-15 22:00:00 => 30.58 / 20.87']
2026-08-15 08:20:01.781119: Rate min forward looking: now 13.77p at end of forecast 13.77p
2026-08-15 08:20:01.781559: Import rates: min 13.77p, max 43.82p, average 25.96p
2026-08-15 08:20:01.816495: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 08:20:01.816627: Rate thresholds (for charge/export) are import 43.32p (0.0p), export -0.1p (0.0p)
2026-08-15 08:20:01.817879: High export rate found rates in range 99p to -99p
2026-08-15 08:20:01.895464: Low Import rate found rates in range 13.77p to 41.55p
2026-08-15 08:20:01.895620: Car 0 charging is not planned as it is not plugged in
2026-08-15 08:20:01.908030: Battery level now 1.6kWh, -1hr ago 1.78kWh, at midnight 1.66kWh, battery value change in the last hour -2.08p, change today -0.66p, rate_forward 11.83p
2026-08-15 08:20:01.908441: Last hour: net energy 0.06kWh, import 0.06kWh, export 0.0kWh, car 0kWh, load 0.25kWh, net cost 1.43p, import 1.43p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 08:20:01.960408: Today's energy total net 6.9kWh, import 6.9kWh, export 0.0kWh, cost 233.78p, import 183.8p, export 0.0p, carbon 0.0kg
2026-08-15 08:20:01.960534: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 08:20:02.026888: Using weighted-bucket historical load forecast over 14 days
2026-08-15 08:20:02.047306: Today's load divergence 106.82%, in-day adjustment 130.82%, damping 0.95x, yesterday 143.77% today 106.47% blend 65.28%
2026-08-15 08:20:02.047427: Today's predicted so far 4.78kWh with 0.0kWh car/iBoost excluded, 2.73kWh import ignored, and 4.78kWh forecast extra.
2026-08-15 08:20:02.047472: Today's actual load so far 5.92kWh with 0.0kWh car/iBoost excluded, and 2.73kWh import ignored.
2026-08-15 08:20:02.079631: Inverter 0: Type SK Sunsynk
2026-08-15 08:20:02.079718: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 08:20:02.079956: Reserve min: 7%, battery_min: 7%
2026-08-15 08:20:02.080075: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 08:20:02.080408: Inverter 0 SoC: 1.53kW 10%, current charge rate 5000W, current discharge rate 5250W, current battery power 264W, current battery voltage 51.2V, grid power -54W, load power 322W, PV Power 0W
2026-08-15 08:20:02.080618: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 08:20:02.080761: Inverter 0 scheduled charge enable is False
2026-08-15 08:20:02.080802: Inverter 0 charge windows currently []
2026-08-15 08:20:02.080827: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 08:20:02.080932: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 08:20:02.080990: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 08:20:02.081028: Inverter 0 scheduled discharge enable is False
2026-08-15 08:20:02.081144: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 08:20:02.081176: Inverter 0 discharge windows currently []
2026-08-15 08:20:02.081196: Note: Inverter does not support discharge freeze - disabled
2026-08-15 08:20:02.081211: Note: Inverter does not support charge freeze - disabled
2026-08-15 08:20:02.081229: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 08:20:02.133701: Dynamic load last period 0.00kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 08:20:02.133815: Plan was last updated on 2026-08-15 08:15:00+01:00 and is now 5.0 minutes old
2026-08-15 08:20:02.134041: Best charge window [ 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 00:30:00 @ 28.84p 100% ]
2026-08-15 08:20:02.134079: Best export window [  ]
2026-08-15 08:20:02.134737: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 08:20:02.137246: Load divergence over 8.0 hours mean 648.58W, min 283.2W, max 1692.6W, std dev 327.3W, divergence 25.23%
2026-08-15 08:20:02.153425: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 08:20:02.153554: LoadML is_calculating False
2026-08-15 08:20:02.153799: Creating pool of 12 processes to match your CPU count
2026-08-15 08:20:02.271035: predict base end_record 08-16 11:35:00, final soc 1.12kWh, metric 806.16p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 09:00:00, load 27.02kWh, PV 0.0kWh
2026-08-15 08:20:02.398304: Battery has 0.67 hours left - now at 1.53kWh
2026-08-15 08:20:02.441613: predict base10 end_record 08-16 11:35:00, final soc 1.12kWh, metric 831.48p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 09:00:00, load 28.02kWh, PV 0.0kWh
2026-08-15 08:20:02.521185: predict best10 end_record 08-16 11:35:00, final soc 1.44kWh, metric 667.32p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 09:00:00, load 28.02kWh, PV 0.0kWh
2026-08-15 08:20:02.599518: predict best end_record 08-16 11:35:00, final soc 1.51kWh, metric 646.5p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 09:00:00, load 27.02kWh, PV 0.0kWh
2026-08-15 08:20:02.599632: Saving plan best values to HA entities
2026-08-15 08:20:02.766930: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 08:20:02.771871: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 08:20:02.776631: Best charging limit SoC's [16.0, 3.5, 4.0, 16.0, 16.0, 16.0]kWh, export []kWh gives import battery 20.78kWh, house 2.49kWh, export 0.0kWh, metric 646.5p, metric10 667.32p
2026-08-15 08:20:02.847015: Marginal costs baseline metric (no standing charge): 596.5169
2026-08-15 08:20:03.071201: Marginal energy costs matrix computed: min=14.32 max=31.9
2026-08-15 08:20:03.134101: Rate array import [{'start': 500, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 23.6p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1860, 'rate': 'expensive', 'range': '(24.6p - 32.9p)'}, {'start': 1860, 'end': 1890, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 1890, 'end': 1920, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 1920, 'end': 2135, 'rate': 'cheap', 'range': '(15.5p - 23.6p)'}] export [{'start': 500, 'end': 2135, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 08:20:03.134650: - Your estimated bill for today is £5.82 and tomorrow is £5.41
2026-08-15 08:20:03.134691: - Import rates are cheap (13.8p - 23.6p) for the next 7 and three quarters hours and then expensive (33.1p) for the next 1 hour.
2026-08-15 08:20:03.134714: - The battery is currently at 10% and is in eco mode for the next 3 and a quarter hours.
2026-08-15 08:20:03.134742: - For the next 48 hours there will be no solar generation.
2026-08-15 08:20:03.134757: - You will run out of battery in 40 minutes.
2026-08-15 08:20:03.134770: - Your next charge slot will be in 3 and a quarter hours where import rates will be cheap (15.5p).
2026-08-15 08:20:03.134793: 
2026-08-15 08:20:03.180801: Plan calculation took 1.05 seconds
2026-08-15 08:20:03.183636: No high rate period found
2026-08-15 08:20:03.233878: Import threshold used for optimisation was 22.92p
2026-08-15 08:20:03.284765: Low import rate windows [0: 08-15 08:00:00 - 08-15 08:30:00 @ 22.92, 1: 08-15 08:30:00 - 08-15 09:00:00 @ 22.48, 2: 08-15 09:00:00 - 08-15 09:30:00 @ 23.55, 3: 08-15 09:30:00 - 08-15 10:00:00 @ 23.64, 4: 08-15 10:00:00 - 08-15 10:30:00 @ 19.66, 5: 08-15 10:30:00 - 08-15 11:00:00 @ 17.66, 6: 08-15 11:00:00 - 08-15 11:30:00 @ 16.56, 7: 08-15 11:30:00 - 08-15 12:00:00 @ 15.46, 8: 08-15 12:00:00 - 08-15 12:30:00 @ 17.0, 9: 08-15 12:30:00 - 08-15 13:00:00 @ 16.34, 10: 08-15 13:00:00 - 08-15 13:30:00 @ 15.36, 11: 08-15 13:30:00 - 08-15 14:00:00 @ 15.74, 12: 08-15 14:00:00 - 08-15 14:30:00 @ 14.57, 13: 08-15 14:30:00 - 08-15 15:00:00 @ 13.77, 14: 08-15 15:00:00 - 08-15 15:30:00 @ 15.02, 15: 08-15 15:30:00 - 08-15 16:00:00 @ 15.87, 16: 08-15 16:00:00 - 08-15 16:30:00 @ 33.13, 17: 08-15 16:30:00 - 08-15 17:00:00 @ 33.13, 18: 08-15 17:00:00 - 08-15 17:30:00 @ 38.46, 19: 08-15 17:30:00 - 08-15 18:00:00 @ 40.44, 20: 08-15 18:00:00 - 08-15 18:30:00 @ 41.55, 21: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 22: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 23: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 24: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 25: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 26: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 27: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 28: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 29: 08-15 23:00:00 - 08-15 23:30:00 @ 27.8, 30: 08-15 23:30:00 - 08-16 00:00:00 @ 29.09, 31: 08-16 00:00:00 - 08-16 00:30:00 @ 28.47, 32: 08-16 00:30:00 - 08-16 01:00:00 @ 27.18, 33: 08-16 01:00:00 - 08-16 01:30:00 @ 27.57, 34: 08-16 01:30:00 - 08-16 02:00:00 @ 26.5, 35: 08-16 02:00:00 - 08-16 02:30:00 @ 25.6, 36: 08-16 02:30:00 - 08-16 03:00:00 @ 24.79, 37: 08-16 03:00:00 - 08-16 03:30:00 @ 25.08, 38: 08-16 03:30:00 - 08-16 04:00:00 @ 24.62, 39: 08-16 04:00:00 - 08-16 04:30:00 @ 27.02, 40: 08-16 04:30:00 - 08-16 05:00:00 @ 26.47, 41: 08-16 05:00:00 - 08-16 05:30:00 @ 26.25, 42: 08-16 05:30:00 - 08-16 06:00:00 @ 26.4, 43: 08-16 06:00:00 - 08-16 06:30:00 @ 25.7, 44: 08-16 06:30:00 - 08-16 07:00:00 @ 27.63, 45: 08-16 07:00:00 - 08-16 07:30:00 @ 22.73, 46: 08-16 07:30:00 - 08-16 08:00:00 @ 26.7, 47: 08-16 08:00:00 - 08-16 08:30:00 @ 22.92, 48: 08-16 08:30:00 - 08-16 09:00:00 @ 22.48, 49: 08-16 09:00:00 - 08-16 09:30:00 @ 23.55, 50: 08-16 09:30:00 - 08-16 10:00:00 @ 23.64, 51: 08-16 10:00:00 - 08-16 10:30:00 @ 19.66, 52: 08-16 10:30:00 - 08-16 11:00:00 @ 17.66, 53: 08-16 11:00:00 - 08-16 11:30:00 @ 16.56, 54: 08-16 11:30:00 - 08-16 12:00:00 @ 15.46, 55: 08-16 12:00:00 - 08-16 12:30:00 @ 17.0, 56: 08-16 12:30:00 - 08-16 13:00:00 @ 16.34, 57: 08-16 13:00:00 - 08-16 13:30:00 @ 15.36, 58: 08-16 13:30:00 - 08-16 14:00:00 @ 15.74, 59: 08-16 14:00:00 - 08-16 14:30:00 @ 14.57, 60: 08-16 14:30:00 - 08-16 15:00:00 @ 13.77, 61: 08-16 15:00:00 - 08-16 15:30:00 @ 15.02, 62: 08-16 15:30:00 - 08-16 16:00:00 @ 15.87, 63: 08-16 16:00:00 - 08-16 16:30:00 @ 33.13, 64: 08-16 16:30:00 - 08-16 17:00:00 @ 33.13, 65: 08-16 17:00:00 - 08-16 17:30:00 @ 38.46, 66: 08-16 17:30:00 - 08-16 18:00:00 @ 40.44, 67: 08-16 18:00:00 - 08-16 18:30:00 @ 41.55, 68: 08-16 19:00:00 - 08-16 19:30:00 @ 32.58, 69: 08-16 19:30:00 - 08-16 20:00:00 @ 32.9, 70: 08-16 20:00:00 - 08-16 20:30:00 @ 31.99, 71: 08-16 20:30:00 - 08-16 21:00:00 @ 32.1, 72: 08-16 21:00:00 - 08-16 21:30:00 @ 31.71, 73: 08-16 21:30:00 - 08-16 22:00:00 @ 31.67, 74: 08-16 22:00:00 - 08-16 22:30:00 @ 31.77, 75: 08-16 22:30:00 - 08-16 23:00:00 @ 29.81, 76: 08-16 23:00:00 - 08-16 23:30:00 @ 27.8, 77: 08-16 23:30:00 - 08-17 00:00:00 @ 29.09, 78: 08-17 00:00:00 - 08-17 00:30:00 @ 28.47, 79: 08-17 00:30:00 - 08-17 01:00:00 @ 27.18, 80: 08-17 01:00:00 - 08-17 01:30:00 @ 27.57, 81: 08-17 01:30:00 - 08-17 02:00:00 @ 26.5, 82: 08-17 02:00:00 - 08-17 02:30:00 @ 25.6, 83: 08-17 02:30:00 - 08-17 03:00:00 @ 24.79, 84: 08-17 03:00:00 - 08-17 03:30:00 @ 25.08, 85: 08-17 03:30:00 - 08-17 04:00:00 @ 24.62, 86: 08-17 04:00:00 - 08-17 04:30:00 @ 27.02, 87: 08-17 04:30:00 - 08-17 05:00:00 @ 26.47, 88: 08-17 05:00:00 - 08-17 05:30:00 @ 26.25, 89: 08-17 05:30:00 - 08-17 06:00:00 @ 26.4, 90: 08-17 06:00:00 - 08-17 06:30:00 @ 25.7, 91: 08-17 06:30:00 - 08-17 07:00:00 @ 27.63, 92: 08-17 07:00:00 - 08-17 07:30:00 @ 22.73, 93: 08-17 07:30:00 - 08-17 08:00:00 @ 26.7, 94: 08-17 08:00:00 - 08-17 08:30:00 @ 22.92]
2026-08-15 08:20:03.291156: Inverter 0 Charge window will be: 2026-08-15 11:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 10%, target 100%
2026-08-15 08:20:03.291296: Inverter 0 disabled charge window while waiting for schedule (now 08-15 08:20:00 target set_window_minutes 30 charge start time 08-15 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 08:20:03.291405: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 08:20:03.291701: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 08:20:03.291809: No export window planned
2026-08-15 08:20:03.291919: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 08:20:03.291949: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 08:20:03.292065: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 08:20:03.292275: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 08:20:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 08:20:03.292345: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 08:20:03.292407: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 08:20:03.292491: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 08:20:03.292527: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 08:20:03.292551: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 08:20:03.292572: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 08:20:03.292592: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 08:20:03.292614: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 08:20:03.292633: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 08:20:03.292685: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 08:20:03.292709: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 08:20:03.292742: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 08:20:03.292764: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 08:20:03.292785: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 08:20:03.292804: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 08:20:03.292827: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 08:20:03.292843: Inverter 0 count register writes 0
2026-08-15 08:20:03.307188: Will not recompute the plan, it is 5.0 minutes old and max age is 10 minutes
2026-08-15 08:20:03.311955: Total inverter register writes now 815
2026-08-15 08:20:03.341903: Info: Completed run status Demand
2026-08-15 08:20:03.347356: Info: record_status Demand
2026-08-15 08:20:03.353131: Saved current settings to /config/predbat_config.json
2026-08-15 08:20:03.353509: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 08:20:42.463184: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 08:20:42.463799: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 08:20:42.463857: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 08:20:42.464099: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 08:20:42.464240: Note: Inverter does not support discharge freeze - disabled
2026-08-15 08:20:42.464268: Note: Inverter does not support charge freeze - disabled
2026-08-15 08:20:42.464303: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 08:22:56.704885: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 08:22:56.705183: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 08:22:56.705239: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 08:22:56.705371: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 08:22:56.705435: Note: Inverter does not support discharge freeze - disabled
2026-08-15 08:22:56.705456: Note: Inverter does not support charge freeze - disabled
2026-08-15 08:22:56.705474: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 08:24:56.934682: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 08:24:56.934905: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 08:24:56.934936: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 08:24:56.935043: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 08:24:56.935103: Note: Inverter does not support discharge freeze - disabled
2026-08-15 08:24:56.935121: Note: Inverter does not support charge freeze - disabled
2026-08-15 08:24:56.935135: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 08:25:00.027089: --------------- PredBat - update at 2026-08-15 08:25:00+01:00 with clock skew 0 minutes, minutes now 505
2026-08-15 08:25:00.027916: Saved current settings to /config/predbat_config.json
2026-08-15 08:25:00.028081: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 15.0 minutes
2026-08-15 08:25:00.028288: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.1, latest beta is v8.48.1
2026-08-15 08:25:00.029386: Autoupdate: Currently up to date
2026-08-15 08:25:00.050629: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 08:25:00.050750: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 08:25:00.050891: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 08:25:00.051313: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 08:25:00.051412: Predbat mode is set to Control charge & discharge
2026-08-15 08:25:00.215260: Found 21602 load_today datapoints going back 28 days
2026-08-15 08:25:00.215393: Using load_power data to fill gaps in load_today data
2026-08-15 08:25:00.900002: Processing 721 30-minute periods for power integration
2026-08-15 08:25:01.053414: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 08:25:01.053558: Car charging hold False, threshold 6.0kWh
2026-08-15 08:25:01.053607: Current data so far today: load 5.9kWh, import 6.9kWh, export 0.0kWh, PV 0kWh
2026-08-15 08:25:01.065594: Cars: SoC: [12.892000000000001]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 08:25:01.065940: Standing charge is set to 49.98p
2026-08-15 08:25:01.091437: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 08:25:01.091524: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 08:25:01.091699: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 505.0 minutes
2026-08-15 08:25:01.092110: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 504.6 minutes
2026-08-15 08:25:01.094614: Loaded 47 datapoints of futurerate analysis
2026-08-15 08:25:01.164158: Predicted future rates: ['08-15 00:00:00 => 28.9 / 20.01', '08-15 01:00:00 => 27.54 / 19.31', '08-15 02:00:00 => 26.52 / 18.8', '08-15 03:00:00 => 25.99 / 18.53', '08-15 04:00:00 => 25.8 / 18.43', '08-15 05:00:00 => 25.96 / 18.51', '08-15 06:00:00 => 25.55 / 18.3', '08-15 07:00:00 => 24.33 / 17.68', '08-15 08:00:00 => 23.03 / 17.01', '08-15 09:00:00 => 22.05 / 16.51', '08-15 10:00:00 => 20.43 / 15.68', '08-15 11:00:00 => 18.01 / 14.45', '08-15 12:00:00 => 16.37 / 13.61', '08-15 13:00:00 => 15.76 / 13.3', '08-15 14:00:00 => 15.35 / 13.09', '08-15 15:00:00 => 15.86 / 13.35', '08-15 16:00:00 => 32.89 / 16.13', '08-15 17:00:00 => 38.02 / 18.75', '08-15 18:00:00 => 42.36 / 20.96', '08-15 19:00:00 => 31.09 / 21.13', '08-15 20:00:00 => 31.64 / 21.41', '08-15 21:00:00 => 31.64 / 21.41', '08-15 22:00:00 => 30.58 / 20.87']
2026-08-15 08:25:01.214482: Rate min forward looking: now 13.77p at end of forecast 13.77p
2026-08-15 08:25:01.214887: Import rates: min 13.77p, max 43.82p, average 25.96p
2026-08-15 08:25:01.248684: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 08:25:01.248829: Rate thresholds (for charge/export) are import 43.32p (0.0p), export -0.1p (0.0p)
2026-08-15 08:25:01.250061: High export rate found rates in range 99p to -99p
2026-08-15 08:25:01.339373: Low Import rate found rates in range 13.77p to 41.55p
2026-08-15 08:25:01.339513: Car 0 charging is not planned as it is not plugged in
2026-08-15 08:25:01.351019: Battery level now 1.53kWh, -1hr ago 1.76kWh, at midnight 1.66kWh, battery value change in the last hour -2.74p, change today -1.51p, rate_forward 11.83p
2026-08-15 08:25:01.351329: Last hour: net energy 0.05kWh, import 0.05kWh, export 0.0kWh, car 0kWh, load 0.2kWh, net cost 1.29p, import 1.29p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 08:25:01.401961: Today's energy total net 6.9kWh, import 6.9kWh, export 0.0kWh, cost 233.78p, import 183.8p, export 0.0p, carbon 0.0kg
2026-08-15 08:25:01.402134: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 08:25:01.473065: Using weighted-bucket historical load forecast over 14 days
2026-08-15 08:25:01.493109: Today's load divergence 106.48%, in-day adjustment 130.58%, damping 0.95x, yesterday 143.77% today 106.15% blend 64.93%
2026-08-15 08:25:01.493211: Today's predicted so far 4.8kWh with 0.0kWh car/iBoost excluded, 2.69kWh import ignored, and 4.8kWh forecast extra.
2026-08-15 08:25:01.493237: Today's actual load so far 5.87kWh with 0.0kWh car/iBoost excluded, and 2.69kWh import ignored.
2026-08-15 08:25:01.528662: Inverter 0: Type SK Sunsynk
2026-08-15 08:25:01.528761: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 08:25:01.528925: Reserve min: 7%, battery_min: 7%
2026-08-15 08:25:01.529024: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 08:25:01.529304: Inverter 0 SoC: 1.44kW 9%, current charge rate 5000W, current discharge rate 5250W, current battery power 310W, current battery voltage 51.2V, grid power -54W, load power 367W, PV Power 0W
2026-08-15 08:25:01.529441: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 08:25:01.529516: Inverter 0 scheduled charge enable is False
2026-08-15 08:25:01.529539: Inverter 0 charge windows currently []
2026-08-15 08:25:01.529560: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 08:25:01.529645: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 08:25:01.529675: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 08:25:01.529705: Inverter 0 scheduled discharge enable is False
2026-08-15 08:25:01.529822: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 08:25:01.529854: Inverter 0 discharge windows currently []
2026-08-15 08:25:01.529872: Note: Inverter does not support discharge freeze - disabled
2026-08-15 08:25:01.529887: Note: Inverter does not support charge freeze - disabled
2026-08-15 08:25:01.529901: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 08:25:01.583600: Dynamic load last period 0.00kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 08:25:01.583695: Plan was last updated on 2026-08-15 08:15:00+01:00 and is now 10.0 minutes old
2026-08-15 08:25:01.583941: Best charge window [ 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 00:30:00 @ 28.84p 100% ]
2026-08-15 08:25:01.583980: Best export window [  ]
2026-08-15 08:25:01.584742: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 08:25:01.587367: Load divergence over 8.0 hours mean 647.09W, min 287.4W, max 1838.4W, std dev 333.67W, divergence 25.78%
2026-08-15 08:25:01.602805: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 08:25:01.602919: LoadML is_calculating False
2026-08-15 08:25:01.602976: Creating pool of 12 processes to match your CPU count
2026-08-15 08:25:01.709942: predict base end_record 08-16 11:40:00, final soc 1.12kWh, metric 808.45p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 09:00:00, load 27.06kWh, PV 0.0kWh
2026-08-15 08:25:01.834703: Battery has 0.58 hours left - now at 1.44kWh
2026-08-15 08:25:01.876607: predict base10 end_record 08-16 11:40:00, final soc 1.12kWh, metric 833.76p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 08:55:00, load 28.07kWh, PV 0.0kWh
2026-08-15 08:25:01.952104: predict best10 end_record 08-16 11:40:00, final soc 1.77kWh, metric 674.88p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 08:55:00, load 28.07kWh, PV 0.0kWh
2026-08-15 08:25:02.035326: predict best end_record 08-16 11:40:00, final soc 1.9kWh, metric 655.17p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 09:00:00, load 27.06kWh, PV 0.0kWh
2026-08-15 08:25:02.035427: Saving plan best values to HA entities
2026-08-15 08:25:02.202770: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 08:25:02.208367: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0.0
2026-08-15 08:25:02.214247: Best charging limit SoC's [16.0, 3.5, 4.0, 16.0, 16.0, 16.0]kWh, export []kWh gives import battery 21.29kWh, house 2.53kWh, export 0.0kWh, metric 655.17p, metric10 674.88p
2026-08-15 08:25:02.320437: Marginal costs baseline metric (no standing charge): 605.1871
2026-08-15 08:25:02.604478: Marginal energy costs matrix computed: min=14.35 max=31.53
2026-08-15 08:25:02.684594: Rate array import [{'start': 505, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 23.6p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1860, 'rate': 'expensive', 'range': '(24.6p - 32.9p)'}, {'start': 1860, 'end': 1890, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 1890, 'end': 1920, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 1920, 'end': 2140, 'rate': 'cheap', 'range': '(15.5p - 23.6p)'}] export [{'start': 505, 'end': 2140, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 08:25:02.685146: - Your estimated bill for today is £5.83 and tomorrow is £5.41
2026-08-15 08:25:02.685188: - Import rates are cheap (13.8p - 23.6p) for the next 7 and a half hours and then expensive (33.1p) for the next 1 hour.
2026-08-15 08:25:02.685206: - The battery is currently at 9% and is in eco mode for the next 3 hours.
2026-08-15 08:25:02.685221: - For the next 48 hours there will be no solar generation.
2026-08-15 08:25:02.685235: - You will run out of battery in 35 minutes.
2026-08-15 08:25:02.685252: - Your next charge slot will be in 3 hours where import rates will be cheap (15.5p).
2026-08-15 08:25:02.685266: 
2026-08-15 08:25:02.731138: Plan calculation took 1.15 seconds
2026-08-15 08:25:02.734553: No high rate period found
2026-08-15 08:25:02.786121: Import threshold used for optimisation was 22.92p
2026-08-15 08:25:02.833710: Low import rate windows [0: 08-15 08:00:00 - 08-15 08:30:00 @ 22.92, 1: 08-15 08:30:00 - 08-15 09:00:00 @ 22.48, 2: 08-15 09:00:00 - 08-15 09:30:00 @ 23.55, 3: 08-15 09:30:00 - 08-15 10:00:00 @ 23.64, 4: 08-15 10:00:00 - 08-15 10:30:00 @ 19.66, 5: 08-15 10:30:00 - 08-15 11:00:00 @ 17.66, 6: 08-15 11:00:00 - 08-15 11:30:00 @ 16.56, 7: 08-15 11:30:00 - 08-15 12:00:00 @ 15.46, 8: 08-15 12:00:00 - 08-15 12:30:00 @ 17.0, 9: 08-15 12:30:00 - 08-15 13:00:00 @ 16.34, 10: 08-15 13:00:00 - 08-15 13:30:00 @ 15.36, 11: 08-15 13:30:00 - 08-15 14:00:00 @ 15.74, 12: 08-15 14:00:00 - 08-15 14:30:00 @ 14.57, 13: 08-15 14:30:00 - 08-15 15:00:00 @ 13.77, 14: 08-15 15:00:00 - 08-15 15:30:00 @ 15.02, 15: 08-15 15:30:00 - 08-15 16:00:00 @ 15.87, 16: 08-15 16:00:00 - 08-15 16:30:00 @ 33.13, 17: 08-15 16:30:00 - 08-15 17:00:00 @ 33.13, 18: 08-15 17:00:00 - 08-15 17:30:00 @ 38.46, 19: 08-15 17:30:00 - 08-15 18:00:00 @ 40.44, 20: 08-15 18:00:00 - 08-15 18:30:00 @ 41.55, 21: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 22: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 23: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 24: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 25: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 26: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 27: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 28: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 29: 08-15 23:00:00 - 08-15 23:30:00 @ 27.8, 30: 08-15 23:30:00 - 08-16 00:00:00 @ 29.09, 31: 08-16 00:00:00 - 08-16 00:30:00 @ 28.47, 32: 08-16 00:30:00 - 08-16 01:00:00 @ 27.18, 33: 08-16 01:00:00 - 08-16 01:30:00 @ 27.57, 34: 08-16 01:30:00 - 08-16 02:00:00 @ 26.5, 35: 08-16 02:00:00 - 08-16 02:30:00 @ 25.6, 36: 08-16 02:30:00 - 08-16 03:00:00 @ 24.79, 37: 08-16 03:00:00 - 08-16 03:30:00 @ 25.08, 38: 08-16 03:30:00 - 08-16 04:00:00 @ 24.62, 39: 08-16 04:00:00 - 08-16 04:30:00 @ 27.02, 40: 08-16 04:30:00 - 08-16 05:00:00 @ 26.47, 41: 08-16 05:00:00 - 08-16 05:30:00 @ 26.25, 42: 08-16 05:30:00 - 08-16 06:00:00 @ 26.4, 43: 08-16 06:00:00 - 08-16 06:30:00 @ 25.7, 44: 08-16 06:30:00 - 08-16 07:00:00 @ 27.63, 45: 08-16 07:00:00 - 08-16 07:30:00 @ 22.73, 46: 08-16 07:30:00 - 08-16 08:00:00 @ 26.7, 47: 08-16 08:00:00 - 08-16 08:30:00 @ 22.92, 48: 08-16 08:30:00 - 08-16 09:00:00 @ 22.48, 49: 08-16 09:00:00 - 08-16 09:30:00 @ 23.55, 50: 08-16 09:30:00 - 08-16 10:00:00 @ 23.64, 51: 08-16 10:00:00 - 08-16 10:30:00 @ 19.66, 52: 08-16 10:30:00 - 08-16 11:00:00 @ 17.66, 53: 08-16 11:00:00 - 08-16 11:30:00 @ 16.56, 54: 08-16 11:30:00 - 08-16 12:00:00 @ 15.46, 55: 08-16 12:00:00 - 08-16 12:30:00 @ 17.0, 56: 08-16 12:30:00 - 08-16 13:00:00 @ 16.34, 57: 08-16 13:00:00 - 08-16 13:30:00 @ 15.36, 58: 08-16 13:30:00 - 08-16 14:00:00 @ 15.74, 59: 08-16 14:00:00 - 08-16 14:30:00 @ 14.57, 60: 08-16 14:30:00 - 08-16 15:00:00 @ 13.77, 61: 08-16 15:00:00 - 08-16 15:30:00 @ 15.02, 62: 08-16 15:30:00 - 08-16 16:00:00 @ 15.87, 63: 08-16 16:00:00 - 08-16 16:30:00 @ 33.13, 64: 08-16 16:30:00 - 08-16 17:00:00 @ 33.13, 65: 08-16 17:00:00 - 08-16 17:30:00 @ 38.46, 66: 08-16 17:30:00 - 08-16 18:00:00 @ 40.44, 67: 08-16 18:00:00 - 08-16 18:30:00 @ 41.55, 68: 08-16 19:00:00 - 08-16 19:30:00 @ 32.58, 69: 08-16 19:30:00 - 08-16 20:00:00 @ 32.9, 70: 08-16 20:00:00 - 08-16 20:30:00 @ 31.99, 71: 08-16 20:30:00 - 08-16 21:00:00 @ 32.1, 72: 08-16 21:00:00 - 08-16 21:30:00 @ 31.71, 73: 08-16 21:30:00 - 08-16 22:00:00 @ 31.67, 74: 08-16 22:00:00 - 08-16 22:30:00 @ 31.77, 75: 08-16 22:30:00 - 08-16 23:00:00 @ 29.81, 76: 08-16 23:00:00 - 08-16 23:30:00 @ 27.8, 77: 08-16 23:30:00 - 08-17 00:00:00 @ 29.09, 78: 08-17 00:00:00 - 08-17 00:30:00 @ 28.47, 79: 08-17 00:30:00 - 08-17 01:00:00 @ 27.18, 80: 08-17 01:00:00 - 08-17 01:30:00 @ 27.57, 81: 08-17 01:30:00 - 08-17 02:00:00 @ 26.5, 82: 08-17 02:00:00 - 08-17 02:30:00 @ 25.6, 83: 08-17 02:30:00 - 08-17 03:00:00 @ 24.79, 84: 08-17 03:00:00 - 08-17 03:30:00 @ 25.08, 85: 08-17 03:30:00 - 08-17 04:00:00 @ 24.62, 86: 08-17 04:00:00 - 08-17 04:30:00 @ 27.02, 87: 08-17 04:30:00 - 08-17 05:00:00 @ 26.47, 88: 08-17 05:00:00 - 08-17 05:30:00 @ 26.25, 89: 08-17 05:30:00 - 08-17 06:00:00 @ 26.4, 90: 08-17 06:00:00 - 08-17 06:30:00 @ 25.7, 91: 08-17 06:30:00 - 08-17 07:00:00 @ 27.63, 92: 08-17 07:00:00 - 08-17 07:30:00 @ 22.73, 93: 08-17 07:30:00 - 08-17 08:00:00 @ 26.7, 94: 08-17 08:00:00 - 08-17 08:30:00 @ 22.92]
2026-08-15 08:25:02.839403: Inverter 0 Charge window will be: 2026-08-15 11:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 9%, target 100%
2026-08-15 08:25:02.839526: Inverter 0 disabled charge window while waiting for schedule (now 08-15 08:25:00 target set_window_minutes 30 charge start time 08-15 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 08:25:02.839654: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 08:25:02.839960: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 08:25:02.840064: No export window planned
2026-08-15 08:25:02.840211: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 08:25:02.840249: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 08:25:02.840410: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 08:25:02.840622: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 08:25:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 08:25:02.840689: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 08:25:02.840787: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 08:25:02.840941: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 08:25:02.841070: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 08:25:02.841116: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 08:25:02.841140: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 08:25:02.841169: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 08:25:02.841236: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 08:25:02.841303: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 08:25:02.841413: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 08:25:02.841455: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 08:25:02.841502: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 08:25:02.841561: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 08:25:02.841599: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 08:25:02.841634: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 08:25:02.841698: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 08:25:02.841743: Inverter 0 count register writes 0
2026-08-15 08:25:02.855851: Will recompute the plan as it is now 10.0 minutes old and will exceed the max age of 10 minutes before the next run
2026-08-15 08:25:02.856034: Recompute is saving previous plan...
2026-08-15 08:25:02.858666: Best charge window [ 15-08 08:00:00 - 15-08 08:30:00 @ 22.92p 0%, 15-08 08:30:00 - 15-08 09:00:00 @ 22.48p 0%, 15-08 09:00:00 - 15-08 09:30:00 @ 23.55p 0%, 15-08 09:30:00 - 15-08 10:00:00 @ 23.64p 0%, 15-08 10:00:00 - 15-08 10:30:00 @ 19.66p 0%, 15-08 10:30:00 - 15-08 11:00:00 @ 17.66p 0%, 15-08 11:00:00 - 15-08 11:30:00 @ 16.56p 0%, 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 0%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 0%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 0%, 15-08 13:00:00 - 15-08 13:30:00 @ 15.36p 0%, 15-08 13:30:00 - 15-08 14:00:00 @ 15.74p 0%, 15-08 14:00:00 - 15-08 14:30:00 @ 14.57p 0%, 15-08 14:30:00 - 15-08 15:00:00 @ 13.77p 0%, 15-08 15:00:00 - 15-08 15:30:00 @ 15.02p 0%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 0%, 15-08 16:00:00 - 15-08 16:30:00 @ 33.13p 0%, 15-08 16:30:00 - 15-08 17:00:00 @ 33.13p 0%, 15-08 17:00:00 - 15-08 17:30:00 @ 38.46p 0%, 15-08 17:30:00 - 15-08 18:00:00 @ 40.44p 0%, 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 0%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 0%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 0%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 0%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 0%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 27.8p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 29.09p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.47p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.18p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 27.57p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.5p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.6p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 24.79p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 25.08p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 24.62p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 27.02p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.47p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 26.25p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.4p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.7p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 27.63p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 22.73p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 26.7p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 22.92p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 22.48p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 23.55p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 23.64p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 19.66p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 17.66p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 16.56p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 15.46p 0%, 16-08 12:00:00 - 16-08 12:30:00 @ 17.0p 0%, 16-08 12:30:00 - 16-08 13:00:00 @ 16.34p 0%, 16-08 13:00:00 - 16-08 13:30:00 @ 15.36p 0%, 16-08 13:30:00 - 16-08 14:00:00 @ 15.74p 0%, 16-08 14:00:00 - 16-08 14:30:00 @ 14.57p 0%, 16-08 14:30:00 - 16-08 15:00:00 @ 13.77p 0%, 16-08 15:00:00 - 16-08 15:30:00 @ 15.02p 0%, 16-08 15:30:00 - 16-08 16:00:00 @ 15.87p 0%, 16-08 16:00:00 - 16-08 16:30:00 @ 33.13p 0%, 16-08 16:30:00 - 16-08 17:00:00 @ 33.13p 0%, 16-08 17:00:00 - 16-08 17:30:00 @ 38.46p 0%, 16-08 17:30:00 - 16-08 18:00:00 @ 40.44p 0%, 16-08 18:00:00 - 16-08 18:30:00 @ 41.55p 0%, 16-08 19:00:00 - 16-08 19:30:00 @ 32.58p 0%, 16-08 19:30:00 - 16-08 20:00:00 @ 32.9p 0%, 16-08 20:00:00 - 16-08 20:30:00 @ 31.99p 0%, 16-08 20:30:00 - 16-08 21:00:00 @ 32.1p 0%, 16-08 21:00:00 - 16-08 21:30:00 @ 31.71p 0%, 16-08 21:30:00 - 16-08 22:00:00 @ 31.67p 0%, 16-08 22:00:00 - 16-08 22:30:00 @ 31.77p 0%, 16-08 22:30:00 - 16-08 23:00:00 @ 29.81p 0%, 16-08 23:00:00 - 16-08 23:30:00 @ 27.8p 0%, 16-08 23:30:00 - 17-08 00:00:00 @ 29.09p 0%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.47p 0%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.18p 0%, 17-08 01:00:00 - 17-08 01:30:00 @ 27.57p 0%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.5p 0%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.6p 0%, 17-08 02:30:00 - 17-08 03:00:00 @ 24.79p 0%, 17-08 03:00:00 - 17-08 03:30:00 @ 25.08p 0%, 17-08 03:30:00 - 17-08 04:00:00 @ 24.62p 0%, 17-08 04:00:00 - 17-08 04:30:00 @ 27.02p 0%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.47p 0%, 17-08 05:00:00 - 17-08 05:30:00 @ 26.25p 0%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.4p 0%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.7p 0%, 17-08 06:30:00 - 17-08 07:00:00 @ 27.63p 0%, 17-08 07:00:00 - 17-08 07:30:00 @ 22.73p 0%, 17-08 07:30:00 - 17-08 08:00:00 @ 26.7p 0%, 17-08 08:00:00 - 17-08 08:30:00 @ 22.92p 0% ]
2026-08-15 08:25:02.858754: Best export window [  ]
2026-08-15 08:25:02.859496: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 08:25:02.862074: Load divergence over 8.0 hours mean 647.09W, min 287.4W, max 1838.4W, std dev 333.67W, divergence 25.78%
2026-08-15 08:25:02.876326: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 08:25:02.876406: LoadML is_calculating False
2026-08-15 08:25:02.876481: Creating pool of 12 processes to match your CPU count
2026-08-15 08:25:02.955116: Calculate Best options: mode(Control charge & discharge), calculate_export_oncharge(False), calculate_export_on_pv(True), set_export_freeze_only(False), set_discharge_during_charge(True), combine_charge_slots(False), combine_export_slots(False), combine_rate_threshold(0.0), best_soc_min(0.0 kWh), best_soc_max(0.0 kWh), best_soc_keep(0.0 kWh), inverter_loss(4%), battery_loss(3%), battery_loss_discharge (3%), inverter_hybrid(True), metric_min_improvement(0.0p), metric_min_improvement_export(0.1p), metric_min_improvement_export_freeze(0.1p), metric_battery_cycle(0.0p/kWh), metric_battery_value_scaling(1.0 x) 
2026-08-15 08:25:02.957162: Optimise levels pass started at 2026-08-15 08:25:02
2026-08-15 08:25:02.957221: Optimise all windows, total charge 94 export 1
2026-08-15 08:25:03.808881: >> Region optimisation pass width 960 gives best_metric 825.08p, best_cost 854.38p, best_cycle 57.65kWh, best_import 40.37kWh
2026-08-15 08:25:04.207461: >> Region optimisation pass width 480 gives best_metric 825.08p, best_cost 854.38p, best_cycle 57.65kWh, best_import 40.37kWh
2026-08-15 08:25:04.786710: >> Region optimisation pass width 240 gives best_metric 825.08p, best_cost 854.38p, best_cycle 57.65kWh, best_import 40.37kWh
2026-08-15 08:25:06.009531: >> Region optimisation pass width 120 gives best_metric 825.08p, best_cost 854.38p, best_cycle 57.65kWh, best_import 40.37kWh
2026-08-15 08:25:06.009972: Calculated end_record as 08-16 11:30:00 based on best_price 16.34p, next_charge_start 08-15 11:30:00, max_windows 54
2026-08-15 08:25:06.010052: Optimise levels pass ended at 2026-08-15 08:25:06, duration 3.1 seconds tried 337 combinations
2026-08-15 08:25:06.010117: Set best_price_charge_level 17.6p, best_price_export_level 0p, best_price_charge 16.34p, best_cost_export 0p, best_metric 825.08p, best_keep 0kWh, best_cycle 57.65kWh, best_carbon 0kg, best_import 40.37kWh
2026-08-15 08:25:06.033239: Starting detailed optimisation end_record 08-16 11:30:00, best_price_charge 16.34p, best_price_export 0p. lowest_price_charge 13.77p with charge limits [0, 0, 0, 0, 0, 0, 0, 16.0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0]kWh and export limits []kWh
2026-08-15 08:25:10.327420: Tweak plan optimisation started metric 578.96p, cost 588.55p
2026-08-15 08:25:10.626477: Tweak optimisation finished metric 578.96p, cost 588.55p, metric_keep 0kWh, cycle 29.2kWh, carbon 0kg, import 22.73kWh, changed 8 window(s)
2026-08-15 08:25:10.652810: Swap charge optimisation started metric 578.96p, cost 588.55p, min_improvement_swap 0.1p
2026-08-15 08:25:15.355188: Swap charge optimisation finished metric 578.96p, cost 588.55p
2026-08-15 08:25:15.464809: Raw charge windows [ 15-08 08:00:00 - 15-08 08:30:00 @ 22.92p 9%, 15-08 08:30:00 - 15-08 09:00:00 @ 22.48p 9%, 15-08 09:00:00 - 15-08 09:30:00 @ 23.55p 9%, 15-08 09:30:00 - 15-08 10:00:00 @ 23.64p 0%, 15-08 10:00:00 - 15-08 10:30:00 @ 19.66p 0%, 15-08 10:30:00 - 15-08 11:00:00 @ 17.66p 0%, 15-08 11:00:00 - 15-08 11:30:00 @ 16.56p 0%, 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 22%, 15-08 13:00:00 - 15-08 13:30:00 @ 15.36p 100%, 15-08 13:30:00 - 15-08 14:00:00 @ 15.74p 100%, 15-08 14:00:00 - 15-08 14:30:00 @ 14.57p 100%, 15-08 14:30:00 - 15-08 15:00:00 @ 13.77p 100%, 15-08 15:00:00 - 15-08 15:30:00 @ 15.02p 100%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 97%, 15-08 16:00:00 - 15-08 16:30:00 @ 33.13p 0%, 15-08 16:30:00 - 15-08 17:00:00 @ 33.13p 0%, 15-08 17:00:00 - 15-08 17:30:00 @ 38.46p 0%, 15-08 17:30:00 - 15-08 18:00:00 @ 40.44p 0%, 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 0%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 0%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 0%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 0%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 0%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 27.8p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 29.09p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.47p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.18p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 27.57p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.5p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.6p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 24.79p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 25.08p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 24.62p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 27.02p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.47p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 26.25p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.4p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.7p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 27.63p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 22.73p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 26.7p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 22.92p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 22.48p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 23.55p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 23.64p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 19.66p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 17.66p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 16.56p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 15.46p 100%, 16-08 12:00:00 - 16-08 12:30:00 @ 17.0p 100%, 16-08 12:30:00 - 16-08 13:00:00 @ 16.34p 100%, 16-08 13:00:00 - 16-08 13:30:00 @ 15.36p 100%, 16-08 13:30:00 - 16-08 14:00:00 @ 15.74p 100%, 16-08 14:00:00 - 16-08 14:30:00 @ 14.57p 100%, 16-08 14:30:00 - 16-08 15:00:00 @ 13.77p 100%, 16-08 15:00:00 - 16-08 15:30:00 @ 15.02p 100%, 16-08 15:30:00 - 16-08 16:00:00 @ 15.87p 100%, 16-08 16:00:00 - 16-08 16:30:00 @ 33.13p 100%, 16-08 16:30:00 - 16-08 17:00:00 @ 33.13p 100%, 16-08 17:00:00 - 16-08 17:30:00 @ 38.46p 100%, 16-08 17:30:00 - 16-08 18:00:00 @ 40.44p 100%, 16-08 18:00:00 - 16-08 18:30:00 @ 41.55p 100%, 16-08 19:00:00 - 16-08 19:30:00 @ 32.58p 100%, 16-08 19:30:00 - 16-08 20:00:00 @ 32.9p 100%, 16-08 20:00:00 - 16-08 20:30:00 @ 31.99p 100%, 16-08 20:30:00 - 16-08 21:00:00 @ 32.1p 100%, 16-08 21:00:00 - 16-08 21:30:00 @ 31.71p 100%, 16-08 21:30:00 - 16-08 22:00:00 @ 31.67p 100%, 16-08 22:00:00 - 16-08 22:30:00 @ 31.77p 100%, 16-08 22:30:00 - 16-08 23:00:00 @ 29.81p 100%, 16-08 23:00:00 - 16-08 23:30:00 @ 27.8p 100%, 16-08 23:30:00 - 17-08 00:00:00 @ 29.09p 100%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.47p 100%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.18p 100%, 17-08 01:00:00 - 17-08 01:30:00 @ 27.57p 100%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.5p 100%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.6p 100%, 17-08 02:30:00 - 17-08 03:00:00 @ 24.79p 100%, 17-08 03:00:00 - 17-08 03:30:00 @ 25.08p 100%, 17-08 03:30:00 - 17-08 04:00:00 @ 24.62p 100%, 17-08 04:00:00 - 17-08 04:30:00 @ 27.02p 100%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.47p 100%, 17-08 05:00:00 - 17-08 05:30:00 @ 26.25p 100%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.4p 100%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.7p 100%, 17-08 06:30:00 - 17-08 07:00:00 @ 27.63p 100%, 17-08 07:00:00 - 17-08 07:30:00 @ 22.73p 100%, 17-08 07:30:00 - 17-08 08:00:00 @ 26.7p 100%, 17-08 08:00:00 - 17-08 08:30:00 @ 22.92p 100% ] reserve 1.12
2026-08-15 08:25:15.465432: Unclipped charge windows [ 15-08 08:00:00 - 15-08 09:30:00 @ 23.12p 9%, 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 13:00:00 @ 16.67p 22%, 15-08 13:00:00 - 15-08 15:30:00 @ 14.71p 100%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 97%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 08:30:00 @ 24.33p 100% ] reserve 1.12
2026-08-15 08:25:15.465715: Unfiltered charge windows [ 15-08 08:00:00 - 15-08 09:30:00 @ 23.12p 9%, 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 13:00:00 @ 16.67p 22%, 15-08 13:00:00 - 15-08 15:30:00 @ 14.71p 100%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 97%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 08:30:00 @ 24.33p 100% ] reserve 1.12
2026-08-15 08:25:15.465961: Filtered charge windows [ 15-08 08:00:00 - 15-08 09:30:00 @ 23.12p 9%, 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 13:00:00 @ 16.67p 22%, 15-08 13:00:00 - 15-08 15:30:00 @ 14.71p 100%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 97%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 08:30:00 @ 24.33p 100% ] reserve 1.12
2026-08-15 08:25:15.497281: Previous plan best metric is 579.29 (cost 589.28) and new plan best metric is 578.96 (cost 588.55)
2026-08-15 08:25:15.497556: New plan metric is not significantly better (metric_min_improvement_plan 2.0) than previous plan, using previous plan
2026-08-15 08:25:15.497784: Plan valid is now true after recompute was False
2026-08-15 08:25:15.523079: predict base end_record 08-16 11:30:00, final soc 1.12kWh, metric 805.42p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 09:00:00, load 26.86kWh, PV 0.0kWh
2026-08-15 08:25:15.628183: Battery has 0.58 hours left - now at 1.44kWh
2026-08-15 08:25:15.670465: predict base10 end_record 08-16 11:30:00, final soc 1.12kWh, metric 830.59p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 08:55:00, load 27.86kWh, PV 0.0kWh
2026-08-15 08:25:15.749240: predict best10 end_record 08-16 11:30:00, final soc 1.12kWh, metric 660.97p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 08:55:00, load 27.86kWh, PV 0.0kWh
2026-08-15 08:25:15.826465: predict best end_record 08-16 11:30:00, final soc 1.12kWh, metric 639.26p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 09:00:00, load 26.86kWh, PV 0.0kWh
2026-08-15 08:25:15.826563: Saving plan best values to HA entities
2026-08-15 08:25:15.983667: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 08:25:15.989538: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0.0
2026-08-15 08:25:15.994505: Best charging limit SoC's [16.0, 3.5, 4.0, 16.0, 16.0, 16.0]kWh, export []kWh gives import battery 20.26kWh, house 2.53kWh, export 0.0kWh, metric 639.26p, metric10 660.97p
2026-08-15 08:25:16.080396: Marginal costs baseline metric (no standing charge): 589.2808
2026-08-15 08:25:16.310463: Marginal energy costs matrix computed: min=14.35 max=31.53
2026-08-15 08:25:16.372340: Rate array import [{'start': 505, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 23.6p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1860, 'rate': 'expensive', 'range': '(24.6p - 32.9p)'}, {'start': 1860, 'end': 1890, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 1890, 'end': 1920, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 1920, 'end': 2130, 'rate': 'cheap', 'range': '(16.6p - 23.6p)'}] export [{'start': 505, 'end': 2130, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 08:25:16.372934: - Your estimated bill for today is £5.83 and tomorrow is £5.41
2026-08-15 08:25:16.373016: - Import rates are cheap (13.8p - 23.6p) for the next 7 and a half hours and then expensive (33.1p) for the next 1 hour.
2026-08-15 08:25:16.373055: - The battery is currently at 9% and is in eco mode for the next 3 hours.
2026-08-15 08:25:16.373080: - For the next 48 hours there will be no solar generation.
2026-08-15 08:25:16.373095: - You will run out of battery in 35 minutes.
2026-08-15 08:25:16.373131: - Your next charge slot will be in 3 hours where import rates will be cheap (15.5p).
2026-08-15 08:25:16.373149: 
2026-08-15 08:25:16.426701: Plan calculation took 13.57 seconds
2026-08-15 08:25:16.427046: Inverter 0: Type SK Sunsynk
2026-08-15 08:25:16.427087: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 08:25:16.427277: Reserve min: 7%, battery_min: 7%
2026-08-15 08:25:16.427345: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 08:25:16.427615: Inverter 0 SoC: 1.44kW 9%, current charge rate 5000W, current discharge rate 5250W, current battery power 310W, current battery voltage 51.2V, grid power -54W, load power 367W, PV Power 0W
2026-08-15 08:25:16.427831: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 08:25:16.427928: Inverter 0 scheduled charge enable is False
2026-08-15 08:25:16.427962: Inverter 0 charge windows currently []
2026-08-15 08:25:16.427987: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 08:25:16.428078: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 08:25:16.428108: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 08:25:16.428138: Inverter 0 scheduled discharge enable is False
2026-08-15 08:25:16.428247: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 08:25:16.428278: Inverter 0 discharge windows currently []
2026-08-15 08:25:16.428297: Note: Inverter does not support discharge freeze - disabled
2026-08-15 08:25:16.428316: Note: Inverter does not support charge freeze - disabled
2026-08-15 08:25:16.428330: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 08:25:16.479275: Inverter 0 Charge window will be: 2026-08-15 11:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 9%, target 100%
2026-08-15 08:25:16.479449: Inverter 0 disabled charge window while waiting for schedule (now 08-15 08:25:00 target set_window_minutes 30 charge start time 08-15 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 08:25:16.479586: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 08:25:16.479883: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 08:25:16.479995: No export window planned
2026-08-15 08:25:16.480173: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 08:25:16.480220: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 08:25:16.480426: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 08:25:16.480659: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 08:25:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 08:25:16.480745: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 08:25:16.480828: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 08:25:16.481009: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 08:25:16.481082: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 08:25:16.481148: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 08:25:16.481189: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 08:25:16.481246: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 08:25:16.481286: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 08:25:16.481335: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 08:25:16.481424: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 08:25:16.481491: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 08:25:16.481543: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 08:25:16.481586: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 08:25:16.481638: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 08:25:16.481687: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 08:25:16.481748: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 08:25:16.481796: Inverter 0 count register writes 0
2026-08-15 08:25:16.502603: Total inverter register writes now 815
2026-08-15 08:25:16.534790: Info: Completed run status Demand
2026-08-15 08:25:16.540905: Info: record_status Demand
2026-08-15 08:25:16.547606: Saved current settings to /config/predbat_config.json
2026-08-15 08:25:16.548022: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 08:25:56.664077: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 08:25:56.664326: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 08:25:56.664369: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 08:25:56.664504: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 08:25:56.664543: Note: Inverter does not support discharge freeze - disabled
2026-08-15 08:25:56.664564: Note: Inverter does not support charge freeze - disabled
2026-08-15 08:25:56.664582: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 08:27:56.888936: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 08:27:56.889205: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 08:27:56.889250: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 08:27:56.889388: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 08:27:56.889425: Note: Inverter does not support discharge freeze - disabled
2026-08-15 08:27:56.889447: Note: Inverter does not support charge freeze - disabled
2026-08-15 08:27:56.889468: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 08:29:57.119188: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 08:29:57.119459: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 08:29:57.119512: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 08:29:57.119713: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 08:29:57.119881: Note: Inverter does not support discharge freeze - disabled
2026-08-15 08:29:57.119929: Note: Inverter does not support charge freeze - disabled
2026-08-15 08:29:57.119951: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 08:30:00.206806: --------------- PredBat - update at 2026-08-15 08:30:00+01:00 with clock skew 0 minutes, minutes now 510
2026-08-15 08:30:00.207788: Saved current settings to /config/predbat_config.json
2026-08-15 08:30:00.207990: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 20.0 minutes
2026-08-15 08:30:00.208077: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.1, latest beta is v8.48.1
2026-08-15 08:30:00.208141: Autoupdate: Currently up to date
2026-08-15 08:30:00.227322: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 08:30:00.227456: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 08:30:00.227626: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 08:30:00.228207: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 08:30:00.228338: Predbat mode is set to Control charge & discharge
2026-08-15 08:30:00.434251: Found 21602 load_today datapoints going back 28 days
2026-08-15 08:30:00.434428: Using load_power data to fill gaps in load_today data
2026-08-15 08:30:01.213577: Processing 721 30-minute periods for power integration
2026-08-15 08:30:01.431204: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 08:30:01.431363: Car charging hold False, threshold 6.0kWh
2026-08-15 08:30:01.431413: Current data so far today: load 6.02kWh, import 6.9kWh, export 0.0kWh, PV 0kWh
2026-08-15 08:30:01.446694: Cars: SoC: [12.892000000000001]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 08:30:01.447209: Standing charge is set to 49.98p
2026-08-15 08:30:01.475671: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 08:30:01.475823: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 08:30:01.476056: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 510.0 minutes
2026-08-15 08:30:01.476465: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 509.6 minutes
2026-08-15 08:30:01.479460: Loaded 47 datapoints of futurerate analysis
2026-08-15 08:30:01.564390: Predicted future rates: ['08-15 00:00:00 => 28.9 / 20.01', '08-15 01:00:00 => 27.54 / 19.31', '08-15 02:00:00 => 26.52 / 18.8', '08-15 03:00:00 => 25.99 / 18.53', '08-15 04:00:00 => 25.8 / 18.43', '08-15 05:00:00 => 25.96 / 18.51', '08-15 06:00:00 => 25.55 / 18.3', '08-15 07:00:00 => 24.33 / 17.68', '08-15 08:00:00 => 23.03 / 17.01', '08-15 09:00:00 => 22.05 / 16.51', '08-15 10:00:00 => 20.43 / 15.68', '08-15 11:00:00 => 18.01 / 14.45', '08-15 12:00:00 => 16.37 / 13.61', '08-15 13:00:00 => 15.76 / 13.3', '08-15 14:00:00 => 15.35 / 13.09', '08-15 15:00:00 => 15.86 / 13.35', '08-15 16:00:00 => 32.89 / 16.13', '08-15 17:00:00 => 38.02 / 18.75', '08-15 18:00:00 => 42.36 / 20.96', '08-15 19:00:00 => 31.09 / 21.13', '08-15 20:00:00 => 31.64 / 21.41', '08-15 21:00:00 => 31.64 / 21.41', '08-15 22:00:00 => 30.58 / 20.87']
2026-08-15 08:30:01.627416: Rate min forward looking: now 13.77p at end of forecast 13.77p
2026-08-15 08:30:01.627844: Import rates: min 13.77p, max 43.82p, average 25.96p
2026-08-15 08:30:01.671059: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 08:30:01.671197: Rate thresholds (for charge/export) are import 43.32p (0.0p), export -0.1p (0.0p)
2026-08-15 08:30:01.672478: High export rate found rates in range 99p to -99p
2026-08-15 08:30:01.763741: Low Import rate found rates in range 13.77p to 41.55p
2026-08-15 08:30:01.763889: Car 0 charging is not planned as it is not plugged in
2026-08-15 08:30:01.778718: Battery level now 1.44kWh, -1hr ago 1.76kWh, at midnight 1.66kWh, battery value change in the last hour -3.78p, change today -2.55p, rate_forward 11.83p
2026-08-15 08:30:01.779160: Last hour: net energy 0.04kWh, import 0.04kWh, export 0.0kWh, car 0kWh, load 0.3kWh, net cost 1.14p, import 1.14p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 08:30:01.833048: Today's energy total net 6.9kWh, import 6.9kWh, export 0.0kWh, cost 233.78p, import 183.8p, export 0.0p, carbon 0.0kg
2026-08-15 08:30:01.833199: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 08:30:01.899821: Using weighted-bucket historical load forecast over 14 days
2026-08-15 08:30:01.920715: Today's load divergence 107.23%, in-day adjustment 130.7%, damping 0.95x, yesterday 143.77% today 106.87% blend 64.58%
2026-08-15 08:30:01.920855: Today's predicted so far 4.9kWh with 0.0kWh car/iBoost excluded, 2.61kWh import ignored, and 4.9kWh forecast extra.
2026-08-15 08:30:01.920902: Today's actual load so far 6.11kWh with 0.0kWh car/iBoost excluded, and 2.61kWh import ignored.
2026-08-15 08:30:01.954600: Inverter 0: Type SK Sunsynk
2026-08-15 08:30:01.954683: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 08:30:01.954857: Reserve min: 7%, battery_min: 7%
2026-08-15 08:30:01.954919: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 08:30:01.955147: Inverter 0 SoC: 1.44kW 9%, current charge rate 5000W, current discharge rate 5250W, current battery power 254W, current battery voltage 51.2V, grid power -55W, load power 314W, PV Power 0W
2026-08-15 08:30:01.955285: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 08:30:01.955361: Inverter 0 scheduled charge enable is False
2026-08-15 08:30:01.955385: Inverter 0 charge windows currently []
2026-08-15 08:30:01.955406: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 08:30:01.955500: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 08:30:01.955549: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 08:30:01.955581: Inverter 0 scheduled discharge enable is False
2026-08-15 08:30:01.955695: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 08:30:01.955726: Inverter 0 discharge windows currently []
2026-08-15 08:30:01.955758: Note: Inverter does not support discharge freeze - disabled
2026-08-15 08:30:01.955773: Note: Inverter does not support charge freeze - disabled
2026-08-15 08:30:01.955788: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 08:30:02.023322: Dynamic load last period 0.30kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 08:30:02.023433: Plan was last updated on 2026-08-15 08:25:00+01:00 and is now 5.0 minutes old
2026-08-15 08:30:02.023716: Best charge window [ 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 00:30:00 @ 28.84p 100% ]
2026-08-15 08:30:02.023775: Best export window [  ]
2026-08-15 08:30:02.024618: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 08:30:02.027759: Load divergence over 8.0 hours mean 645.38W, min 281.4W, max 1607.4W, std dev 327.07W, divergence 25.34%
2026-08-15 08:30:02.046130: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 08:30:02.046260: LoadML is_calculating False
2026-08-15 08:30:02.046329: Creating pool of 12 processes to match your CPU count
2026-08-15 08:30:02.169724: predict base end_record 08-16 11:35:00, final soc 1.12kWh, metric 804.75p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 09:05:00, load 27.0kWh, PV 0.0kWh
2026-08-15 08:30:02.305860: Battery has 0.58 hours left - now at 1.44kWh
2026-08-15 08:30:02.354507: predict base10 end_record 08-16 11:35:00, final soc 1.12kWh, metric 829.88p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 09:00:00, load 28.0kWh, PV 0.0kWh
2026-08-15 08:30:02.467422: predict best10 end_record 08-16 11:35:00, final soc 1.44kWh, metric 665.88p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 09:00:00, load 28.0kWh, PV 0.0kWh
2026-08-15 08:30:02.552282: predict best end_record 08-16 11:35:00, final soc 1.51kWh, metric 645.47p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 09:05:00, load 27.0kWh, PV 0.0kWh
2026-08-15 08:30:02.552379: Saving plan best values to HA entities
2026-08-15 08:30:02.723039: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 08:30:02.729574: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 08:30:02.735817: Best charging limit SoC's [16.0, 3.5, 4.0, 16.0, 16.0, 16.0]kWh, export []kWh gives import battery 20.76kWh, house 2.45kWh, export 0.0kWh, metric 645.47p, metric10 665.88p
2026-08-15 08:30:02.819070: Marginal costs baseline metric (no standing charge): 595.491
2026-08-15 08:30:03.107529: Marginal energy costs matrix computed: min=14.39 max=31.12
2026-08-15 08:30:03.190637: Rate array import [{'start': 510, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 23.6p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1860, 'rate': 'expensive', 'range': '(24.6p - 32.9p)'}, {'start': 1860, 'end': 1890, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 1890, 'end': 1920, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 1920, 'end': 2135, 'rate': 'cheap', 'range': '(15.5p - 23.6p)'}] export [{'start': 510, 'end': 2135, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 08:30:03.191311: - Your estimated bill for today is £5.82 and tomorrow is £5.38
2026-08-15 08:30:03.191378: - Import rates are cheap (13.8p - 23.6p) for the next 7 and a half hours and then expensive (33.1p) for the next 1 hour.
2026-08-15 08:30:03.191403: - The battery is currently at 9% and is in eco mode for the next 3 hours.
2026-08-15 08:30:03.191421: - For the next 48 hours there will be no solar generation.
2026-08-15 08:30:03.191438: - You will run out of battery in 35 minutes.
2026-08-15 08:30:03.191459: - Your next charge slot will be in 3 hours where import rates will be cheap (15.5p).
2026-08-15 08:30:03.191477: 
2026-08-15 08:30:03.251341: Plan calculation took 1.23 seconds
2026-08-15 08:30:03.254787: No high rate period found
2026-08-15 08:30:03.307228: Import threshold used for optimisation was 23.55p
2026-08-15 08:30:03.362305: Low import rate windows [0: 08-15 08:30:00 - 08-15 09:00:00 @ 22.48, 1: 08-15 09:00:00 - 08-15 09:30:00 @ 23.55, 2: 08-15 09:30:00 - 08-15 10:00:00 @ 23.64, 3: 08-15 10:00:00 - 08-15 10:30:00 @ 19.66, 4: 08-15 10:30:00 - 08-15 11:00:00 @ 17.66, 5: 08-15 11:00:00 - 08-15 11:30:00 @ 16.56, 6: 08-15 11:30:00 - 08-15 12:00:00 @ 15.46, 7: 08-15 12:00:00 - 08-15 12:30:00 @ 17.0, 8: 08-15 12:30:00 - 08-15 13:00:00 @ 16.34, 9: 08-15 13:00:00 - 08-15 13:30:00 @ 15.36, 10: 08-15 13:30:00 - 08-15 14:00:00 @ 15.74, 11: 08-15 14:00:00 - 08-15 14:30:00 @ 14.57, 12: 08-15 14:30:00 - 08-15 15:00:00 @ 13.77, 13: 08-15 15:00:00 - 08-15 15:30:00 @ 15.02, 14: 08-15 15:30:00 - 08-15 16:00:00 @ 15.87, 15: 08-15 16:00:00 - 08-15 16:30:00 @ 33.13, 16: 08-15 16:30:00 - 08-15 17:00:00 @ 33.13, 17: 08-15 17:00:00 - 08-15 17:30:00 @ 38.46, 18: 08-15 17:30:00 - 08-15 18:00:00 @ 40.44, 19: 08-15 18:00:00 - 08-15 18:30:00 @ 41.55, 20: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 21: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 22: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 23: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 24: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 25: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 26: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 27: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 28: 08-15 23:00:00 - 08-15 23:30:00 @ 27.8, 29: 08-15 23:30:00 - 08-16 00:00:00 @ 29.09, 30: 08-16 00:00:00 - 08-16 00:30:00 @ 28.47, 31: 08-16 00:30:00 - 08-16 01:00:00 @ 27.18, 32: 08-16 01:00:00 - 08-16 01:30:00 @ 27.57, 33: 08-16 01:30:00 - 08-16 02:00:00 @ 26.5, 34: 08-16 02:00:00 - 08-16 02:30:00 @ 25.6, 35: 08-16 02:30:00 - 08-16 03:00:00 @ 24.79, 36: 08-16 03:00:00 - 08-16 03:30:00 @ 25.08, 37: 08-16 03:30:00 - 08-16 04:00:00 @ 24.62, 38: 08-16 04:00:00 - 08-16 04:30:00 @ 27.02, 39: 08-16 04:30:00 - 08-16 05:00:00 @ 26.47, 40: 08-16 05:00:00 - 08-16 05:30:00 @ 26.25, 41: 08-16 05:30:00 - 08-16 06:00:00 @ 26.4, 42: 08-16 06:00:00 - 08-16 06:30:00 @ 25.7, 43: 08-16 06:30:00 - 08-16 07:00:00 @ 27.63, 44: 08-16 07:00:00 - 08-16 07:30:00 @ 22.73, 45: 08-16 07:30:00 - 08-16 08:00:00 @ 26.7, 46: 08-16 08:00:00 - 08-16 08:30:00 @ 22.92, 47: 08-16 08:30:00 - 08-16 09:00:00 @ 22.48, 48: 08-16 09:00:00 - 08-16 09:30:00 @ 23.55, 49: 08-16 09:30:00 - 08-16 10:00:00 @ 23.64, 50: 08-16 10:00:00 - 08-16 10:30:00 @ 19.66, 51: 08-16 10:30:00 - 08-16 11:00:00 @ 17.66, 52: 08-16 11:00:00 - 08-16 11:30:00 @ 16.56, 53: 08-16 11:30:00 - 08-16 12:00:00 @ 15.46, 54: 08-16 12:00:00 - 08-16 12:30:00 @ 17.0, 55: 08-16 12:30:00 - 08-16 13:00:00 @ 16.34, 56: 08-16 13:00:00 - 08-16 13:30:00 @ 15.36, 57: 08-16 13:30:00 - 08-16 14:00:00 @ 15.74, 58: 08-16 14:00:00 - 08-16 14:30:00 @ 14.57, 59: 08-16 14:30:00 - 08-16 15:00:00 @ 13.77, 60: 08-16 15:00:00 - 08-16 15:30:00 @ 15.02, 61: 08-16 15:30:00 - 08-16 16:00:00 @ 15.87, 62: 08-16 16:00:00 - 08-16 16:30:00 @ 33.13, 63: 08-16 16:30:00 - 08-16 17:00:00 @ 33.13, 64: 08-16 17:00:00 - 08-16 17:30:00 @ 38.46, 65: 08-16 17:30:00 - 08-16 18:00:00 @ 40.44, 66: 08-16 18:00:00 - 08-16 18:30:00 @ 41.55, 67: 08-16 19:00:00 - 08-16 19:30:00 @ 32.58, 68: 08-16 19:30:00 - 08-16 20:00:00 @ 32.9, 69: 08-16 20:00:00 - 08-16 20:30:00 @ 31.99, 70: 08-16 20:30:00 - 08-16 21:00:00 @ 32.1, 71: 08-16 21:00:00 - 08-16 21:30:00 @ 31.71, 72: 08-16 21:30:00 - 08-16 22:00:00 @ 31.67, 73: 08-16 22:00:00 - 08-16 22:30:00 @ 31.77, 74: 08-16 22:30:00 - 08-16 23:00:00 @ 29.81, 75: 08-16 23:00:00 - 08-16 23:30:00 @ 27.8, 76: 08-16 23:30:00 - 08-17 00:00:00 @ 29.09, 77: 08-17 00:00:00 - 08-17 00:30:00 @ 28.47, 78: 08-17 00:30:00 - 08-17 01:00:00 @ 27.18, 79: 08-17 01:00:00 - 08-17 01:30:00 @ 27.57, 80: 08-17 01:30:00 - 08-17 02:00:00 @ 26.5, 81: 08-17 02:00:00 - 08-17 02:30:00 @ 25.6, 82: 08-17 02:30:00 - 08-17 03:00:00 @ 24.79, 83: 08-17 03:00:00 - 08-17 03:30:00 @ 25.08, 84: 08-17 03:30:00 - 08-17 04:00:00 @ 24.62, 85: 08-17 04:00:00 - 08-17 04:30:00 @ 27.02, 86: 08-17 04:30:00 - 08-17 05:00:00 @ 26.47, 87: 08-17 05:00:00 - 08-17 05:30:00 @ 26.25, 88: 08-17 05:30:00 - 08-17 06:00:00 @ 26.4, 89: 08-17 06:00:00 - 08-17 06:30:00 @ 25.7, 90: 08-17 06:30:00 - 08-17 07:00:00 @ 27.63, 91: 08-17 07:00:00 - 08-17 07:30:00 @ 22.73, 92: 08-17 07:30:00 - 08-17 08:00:00 @ 26.7, 93: 08-17 08:00:00 - 08-17 08:30:00 @ 22.92]
2026-08-15 08:30:03.370749: Inverter 0 Charge window will be: 2026-08-15 11:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 9%, target 100%
2026-08-15 08:30:03.370891: Inverter 0 disabled charge window while waiting for schedule (now 08-15 08:30:00 target set_window_minutes 30 charge start time 08-15 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 08:30:03.370993: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 08:30:03.371220: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 08:30:03.371304: No export window planned
2026-08-15 08:30:03.371413: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 08:30:03.371444: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 08:30:03.371556: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 08:30:03.371762: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 08:30:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 08:30:03.371845: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 08:30:03.371933: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 08:30:03.372068: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 08:30:03.372133: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 08:30:03.372185: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 08:30:03.372237: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 08:30:03.372287: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 08:30:03.372341: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 08:30:03.372384: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 08:30:03.372490: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 08:30:03.372548: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 08:30:03.372594: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 08:30:03.372640: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 08:30:03.372683: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 08:30:03.372721: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 08:30:03.372816: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 08:30:03.372854: Inverter 0 count register writes 0
2026-08-15 08:30:03.391294: Will not recompute the plan, it is 5.0 minutes old and max age is 10 minutes
2026-08-15 08:30:03.398074: Total inverter register writes now 815
2026-08-15 08:30:03.435416: Info: Completed run status Demand
2026-08-15 08:30:03.441683: Info: record_status Demand
2026-08-15 08:30:03.449016: Saved current settings to /config/predbat_config.json
2026-08-15 08:30:03.449436: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 08:30:41.567160: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 08:30:41.567535: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 08:30:41.567632: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 08:30:41.567880: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 08:30:41.567940: Note: Inverter does not support discharge freeze - disabled
2026-08-15 08:30:41.567983: Note: Inverter does not support charge freeze - disabled
2026-08-15 08:30:41.568018: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 08:32:41.783291: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 08:32:41.783534: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 08:32:41.783577: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 08:32:41.783817: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 08:32:41.783865: Note: Inverter does not support discharge freeze - disabled
2026-08-15 08:32:41.783887: Note: Inverter does not support charge freeze - disabled
2026-08-15 08:32:41.783905: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 08:34:42.011254: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 08:34:42.011588: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 08:34:42.011649: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 08:34:42.011917: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 08:34:42.011974: Note: Inverter does not support discharge freeze - disabled
2026-08-15 08:34:42.012004: Note: Inverter does not support charge freeze - disabled
2026-08-15 08:34:42.012029: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 08:35:00.117978: --------------- PredBat - update at 2026-08-15 08:35:00+01:00 with clock skew 0 minutes, minutes now 515
2026-08-15 08:35:00.118834: Saved current settings to /config/predbat_config.json
2026-08-15 08:35:00.118960: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 25.0 minutes
2026-08-15 08:35:00.119040: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.1, latest beta is v8.48.1
2026-08-15 08:35:00.119167: Autoupdate: Currently up to date
2026-08-15 08:35:00.138520: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 08:35:00.138657: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 08:35:00.138845: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 08:35:00.139364: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 08:35:00.139511: Predbat mode is set to Control charge & discharge
2026-08-15 08:35:00.328159: Found 21602 load_today datapoints going back 28 days
2026-08-15 08:35:00.328301: Using load_power data to fill gaps in load_today data
2026-08-15 08:35:01.177032: Processing 721 30-minute periods for power integration
2026-08-15 08:35:01.365339: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 08:35:01.365480: Car charging hold False, threshold 6.0kWh
2026-08-15 08:35:01.365525: Current data so far today: load 6.05kWh, import 6.9kWh, export 0.0kWh, PV 0kWh
2026-08-15 08:35:01.380029: Cars: SoC: [12.892000000000001]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 08:35:01.380417: Standing charge is set to 49.98p
2026-08-15 08:35:01.407725: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 08:35:01.407857: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 08:35:01.408060: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 515.0 minutes
2026-08-15 08:35:01.408451: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 514.6 minutes
2026-08-15 08:35:01.411549: Loaded 47 datapoints of futurerate analysis
2026-08-15 08:35:01.495466: Predicted future rates: ['08-15 00:00:00 => 28.9 / 20.01', '08-15 01:00:00 => 27.54 / 19.31', '08-15 02:00:00 => 26.52 / 18.8', '08-15 03:00:00 => 25.99 / 18.53', '08-15 04:00:00 => 25.8 / 18.43', '08-15 05:00:00 => 25.96 / 18.51', '08-15 06:00:00 => 25.55 / 18.3', '08-15 07:00:00 => 24.33 / 17.68', '08-15 08:00:00 => 23.03 / 17.01', '08-15 09:00:00 => 22.05 / 16.51', '08-15 10:00:00 => 20.43 / 15.68', '08-15 11:00:00 => 18.01 / 14.45', '08-15 12:00:00 => 16.37 / 13.61', '08-15 13:00:00 => 15.76 / 13.3', '08-15 14:00:00 => 15.35 / 13.09', '08-15 15:00:00 => 15.86 / 13.35', '08-15 16:00:00 => 32.89 / 16.13', '08-15 17:00:00 => 38.02 / 18.75', '08-15 18:00:00 => 42.36 / 20.96', '08-15 19:00:00 => 31.09 / 21.13', '08-15 20:00:00 => 31.64 / 21.41', '08-15 21:00:00 => 31.64 / 21.41', '08-15 22:00:00 => 30.58 / 20.87']
2026-08-15 08:35:01.557825: Rate min forward looking: now 13.77p at end of forecast 13.77p
2026-08-15 08:35:01.558257: Import rates: min 13.77p, max 43.82p, average 25.96p
2026-08-15 08:35:01.601099: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 08:35:01.601228: Rate thresholds (for charge/export) are import 43.32p (0.0p), export -0.1p (0.0p)
2026-08-15 08:35:01.602598: High export rate found rates in range 99p to -99p
2026-08-15 08:35:01.691447: Low Import rate found rates in range 13.77p to 41.55p
2026-08-15 08:35:01.691590: Car 0 charging is not planned as it is not plugged in
2026-08-15 08:35:01.705014: Battery level now 1.44kWh, -1hr ago 1.76kWh, at midnight 1.66kWh, battery value change in the last hour -3.78p, change today -2.55p, rate_forward 11.83p
2026-08-15 08:35:01.705403: Last hour: net energy 0.04kWh, import 0.04kWh, export 0.0kWh, car 0kWh, load 0.3kWh, net cost 0.97p, import 0.97p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 08:35:01.768723: Today's energy total net 6.9kWh, import 6.9kWh, export 0.0kWh, cost 233.78p, import 183.8p, export 0.0p, carbon 0.0kg
2026-08-15 08:35:01.768903: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 08:35:01.851140: Using weighted-bucket historical load forecast over 14 days
2026-08-15 08:35:01.876728: Today's load divergence 107.41%, in-day adjustment 130.63%, damping 0.95x, yesterday 143.77% today 107.04% blend 64.24%
2026-08-15 08:35:01.876832: Today's predicted so far 4.97kWh with 0.0kWh car/iBoost excluded, 2.68kWh import ignored, and 4.97kWh forecast extra.
2026-08-15 08:35:01.876891: Today's actual load so far 6.21kWh with 0.0kWh car/iBoost excluded, and 2.68kWh import ignored.
2026-08-15 08:35:01.914216: Inverter 0: Type SK Sunsynk
2026-08-15 08:35:01.914336: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 08:35:01.914539: Reserve min: 7%, battery_min: 7%
2026-08-15 08:35:01.914617: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 08:35:01.914916: Inverter 0 SoC: 1.44kW 9%, current charge rate 5000W, current discharge rate 5250W, current battery power 313W, current battery voltage 51.2V, grid power -55W, load power 373W, PV Power 0W
2026-08-15 08:35:01.915080: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 08:35:01.915171: Inverter 0 scheduled charge enable is False
2026-08-15 08:35:01.915200: Inverter 0 charge windows currently []
2026-08-15 08:35:01.915231: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 08:35:01.915332: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 08:35:01.915367: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 08:35:01.915403: Inverter 0 scheduled discharge enable is False
2026-08-15 08:35:01.915527: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 08:35:01.915563: Inverter 0 discharge windows currently []
2026-08-15 08:35:01.915585: Note: Inverter does not support discharge freeze - disabled
2026-08-15 08:35:01.915606: Note: Inverter does not support charge freeze - disabled
2026-08-15 08:35:01.915627: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 08:35:01.984425: Dynamic load last period 0.30kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 08:35:01.984602: Plan was last updated on 2026-08-15 08:25:00+01:00 and is now 10.0 minutes old
2026-08-15 08:35:01.985083: Best charge window [ 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 00:30:00 @ 28.84p 100% ]
2026-08-15 08:35:01.985147: Best export window [  ]
2026-08-15 08:35:01.986059: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 08:35:01.989402: Load divergence over 8.0 hours mean 643.95W, min 294.0W, max 1564.2W, std dev 319.78W, divergence 24.83%
2026-08-15 08:35:02.008453: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 08:35:02.008596: LoadML is_calculating False
2026-08-15 08:35:02.008687: Creating pool of 12 processes to match your CPU count
2026-08-15 08:35:02.142278: predict base end_record 08-16 11:40:00, final soc 1.12kWh, metric 804.16p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 09:10:00, load 27.05kWh, PV 0.0kWh
2026-08-15 08:35:02.292870: Battery has 0.58 hours left - now at 1.44kWh
2026-08-15 08:35:02.339319: predict base10 end_record 08-16 11:40:00, final soc 1.12kWh, metric 829.25p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 09:05:00, load 28.05kWh, PV 0.0kWh
2026-08-15 08:35:02.437708: predict best10 end_record 08-16 11:40:00, final soc 1.77kWh, metric 671.0p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 09:05:00, load 28.05kWh, PV 0.0kWh
2026-08-15 08:35:02.531766: predict best end_record 08-16 11:40:00, final soc 1.9kWh, metric 652.0p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 09:10:00, load 27.05kWh, PV 0.0kWh
2026-08-15 08:35:02.531868: Saving plan best values to HA entities
2026-08-15 08:35:02.688149: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 08:35:02.692937: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0.0
2026-08-15 08:35:02.697690: Best charging limit SoC's [16.0, 3.5, 4.0, 16.0, 16.0, 16.0]kWh, export []kWh gives import battery 21.29kWh, house 2.37kWh, export 0.0kWh, metric 652.0p, metric10 671.0p
2026-08-15 08:35:02.766664: Marginal costs baseline metric (no standing charge): 602.013
2026-08-15 08:35:03.005508: Marginal energy costs matrix computed: min=14.57 max=30.56
2026-08-15 08:35:03.082346: Rate array import [{'start': 515, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 23.6p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1860, 'rate': 'expensive', 'range': '(24.6p - 32.9p)'}, {'start': 1860, 'end': 1890, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 1890, 'end': 1920, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 1920, 'end': 2140, 'rate': 'cheap', 'range': '(15.5p - 23.6p)'}] export [{'start': 515, 'end': 2140, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 08:35:03.083033: - Your estimated bill for today is £5.81 and tomorrow is £5.36
2026-08-15 08:35:03.083080: - Import rates are cheap (13.8p - 23.6p) for the next 7 and a half hours and then expensive (33.1p) for the next 1 hour.
2026-08-15 08:35:03.083103: - The battery is currently at 9% and is in eco mode for the next 2  hours.
2026-08-15 08:35:03.083122: - For the next 48 hours there will be no solar generation.
2026-08-15 08:35:03.083138: - You will run out of battery in 35 minutes.
2026-08-15 08:35:03.083160: - Your next charge slot will be in 2  hours where import rates will be cheap (15.5p).
2026-08-15 08:35:03.083177: 
2026-08-15 08:35:03.135439: Plan calculation took 1.15 seconds
2026-08-15 08:35:03.138959: No high rate period found
2026-08-15 08:35:03.189982: Import threshold used for optimisation was 23.55p
2026-08-15 08:35:03.240157: Low import rate windows [0: 08-15 08:30:00 - 08-15 09:00:00 @ 22.48, 1: 08-15 09:00:00 - 08-15 09:30:00 @ 23.55, 2: 08-15 09:30:00 - 08-15 10:00:00 @ 23.64, 3: 08-15 10:00:00 - 08-15 10:30:00 @ 19.66, 4: 08-15 10:30:00 - 08-15 11:00:00 @ 17.66, 5: 08-15 11:00:00 - 08-15 11:30:00 @ 16.56, 6: 08-15 11:30:00 - 08-15 12:00:00 @ 15.46, 7: 08-15 12:00:00 - 08-15 12:30:00 @ 17.0, 8: 08-15 12:30:00 - 08-15 13:00:00 @ 16.34, 9: 08-15 13:00:00 - 08-15 13:30:00 @ 15.36, 10: 08-15 13:30:00 - 08-15 14:00:00 @ 15.74, 11: 08-15 14:00:00 - 08-15 14:30:00 @ 14.57, 12: 08-15 14:30:00 - 08-15 15:00:00 @ 13.77, 13: 08-15 15:00:00 - 08-15 15:30:00 @ 15.02, 14: 08-15 15:30:00 - 08-15 16:00:00 @ 15.87, 15: 08-15 16:00:00 - 08-15 16:30:00 @ 33.13, 16: 08-15 16:30:00 - 08-15 17:00:00 @ 33.13, 17: 08-15 17:00:00 - 08-15 17:30:00 @ 38.46, 18: 08-15 17:30:00 - 08-15 18:00:00 @ 40.44, 19: 08-15 18:00:00 - 08-15 18:30:00 @ 41.55, 20: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 21: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 22: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 23: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 24: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 25: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 26: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 27: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 28: 08-15 23:00:00 - 08-15 23:30:00 @ 27.8, 29: 08-15 23:30:00 - 08-16 00:00:00 @ 29.09, 30: 08-16 00:00:00 - 08-16 00:30:00 @ 28.47, 31: 08-16 00:30:00 - 08-16 01:00:00 @ 27.18, 32: 08-16 01:00:00 - 08-16 01:30:00 @ 27.57, 33: 08-16 01:30:00 - 08-16 02:00:00 @ 26.5, 34: 08-16 02:00:00 - 08-16 02:30:00 @ 25.6, 35: 08-16 02:30:00 - 08-16 03:00:00 @ 24.79, 36: 08-16 03:00:00 - 08-16 03:30:00 @ 25.08, 37: 08-16 03:30:00 - 08-16 04:00:00 @ 24.62, 38: 08-16 04:00:00 - 08-16 04:30:00 @ 27.02, 39: 08-16 04:30:00 - 08-16 05:00:00 @ 26.47, 40: 08-16 05:00:00 - 08-16 05:30:00 @ 26.25, 41: 08-16 05:30:00 - 08-16 06:00:00 @ 26.4, 42: 08-16 06:00:00 - 08-16 06:30:00 @ 25.7, 43: 08-16 06:30:00 - 08-16 07:00:00 @ 27.63, 44: 08-16 07:00:00 - 08-16 07:30:00 @ 22.73, 45: 08-16 07:30:00 - 08-16 08:00:00 @ 26.7, 46: 08-16 08:00:00 - 08-16 08:30:00 @ 22.92, 47: 08-16 08:30:00 - 08-16 09:00:00 @ 22.48, 48: 08-16 09:00:00 - 08-16 09:30:00 @ 23.55, 49: 08-16 09:30:00 - 08-16 10:00:00 @ 23.64, 50: 08-16 10:00:00 - 08-16 10:30:00 @ 19.66, 51: 08-16 10:30:00 - 08-16 11:00:00 @ 17.66, 52: 08-16 11:00:00 - 08-16 11:30:00 @ 16.56, 53: 08-16 11:30:00 - 08-16 12:00:00 @ 15.46, 54: 08-16 12:00:00 - 08-16 12:30:00 @ 17.0, 55: 08-16 12:30:00 - 08-16 13:00:00 @ 16.34, 56: 08-16 13:00:00 - 08-16 13:30:00 @ 15.36, 57: 08-16 13:30:00 - 08-16 14:00:00 @ 15.74, 58: 08-16 14:00:00 - 08-16 14:30:00 @ 14.57, 59: 08-16 14:30:00 - 08-16 15:00:00 @ 13.77, 60: 08-16 15:00:00 - 08-16 15:30:00 @ 15.02, 61: 08-16 15:30:00 - 08-16 16:00:00 @ 15.87, 62: 08-16 16:00:00 - 08-16 16:30:00 @ 33.13, 63: 08-16 16:30:00 - 08-16 17:00:00 @ 33.13, 64: 08-16 17:00:00 - 08-16 17:30:00 @ 38.46, 65: 08-16 17:30:00 - 08-16 18:00:00 @ 40.44, 66: 08-16 18:00:00 - 08-16 18:30:00 @ 41.55, 67: 08-16 19:00:00 - 08-16 19:30:00 @ 32.58, 68: 08-16 19:30:00 - 08-16 20:00:00 @ 32.9, 69: 08-16 20:00:00 - 08-16 20:30:00 @ 31.99, 70: 08-16 20:30:00 - 08-16 21:00:00 @ 32.1, 71: 08-16 21:00:00 - 08-16 21:30:00 @ 31.71, 72: 08-16 21:30:00 - 08-16 22:00:00 @ 31.67, 73: 08-16 22:00:00 - 08-16 22:30:00 @ 31.77, 74: 08-16 22:30:00 - 08-16 23:00:00 @ 29.81, 75: 08-16 23:00:00 - 08-16 23:30:00 @ 27.8, 76: 08-16 23:30:00 - 08-17 00:00:00 @ 29.09, 77: 08-17 00:00:00 - 08-17 00:30:00 @ 28.47, 78: 08-17 00:30:00 - 08-17 01:00:00 @ 27.18, 79: 08-17 01:00:00 - 08-17 01:30:00 @ 27.57, 80: 08-17 01:30:00 - 08-17 02:00:00 @ 26.5, 81: 08-17 02:00:00 - 08-17 02:30:00 @ 25.6, 82: 08-17 02:30:00 - 08-17 03:00:00 @ 24.79, 83: 08-17 03:00:00 - 08-17 03:30:00 @ 25.08, 84: 08-17 03:30:00 - 08-17 04:00:00 @ 24.62, 85: 08-17 04:00:00 - 08-17 04:30:00 @ 27.02, 86: 08-17 04:30:00 - 08-17 05:00:00 @ 26.47, 87: 08-17 05:00:00 - 08-17 05:30:00 @ 26.25, 88: 08-17 05:30:00 - 08-17 06:00:00 @ 26.4, 89: 08-17 06:00:00 - 08-17 06:30:00 @ 25.7, 90: 08-17 06:30:00 - 08-17 07:00:00 @ 27.63, 91: 08-17 07:00:00 - 08-17 07:30:00 @ 22.73, 92: 08-17 07:30:00 - 08-17 08:00:00 @ 26.7, 93: 08-17 08:00:00 - 08-17 08:30:00 @ 22.92, 94: 08-17 08:30:00 - 08-17 09:00:00 @ 22.48]
2026-08-15 08:35:03.247607: Inverter 0 Charge window will be: 2026-08-15 11:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 9%, target 100%
2026-08-15 08:35:03.247768: Inverter 0 disabled charge window while waiting for schedule (now 08-15 08:35:00 target set_window_minutes 30 charge start time 08-15 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 08:35:03.247878: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 08:35:03.248198: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 08:35:03.248296: No export window planned
2026-08-15 08:35:03.248418: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 08:35:03.248480: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 08:35:03.248636: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 08:35:03.248837: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 08:35:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 08:35:03.248902: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 08:35:03.249002: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 08:35:03.249110: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 08:35:03.249155: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 08:35:03.249184: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 08:35:03.249237: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 08:35:03.249270: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 08:35:03.249295: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 08:35:03.249323: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 08:35:03.249389: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 08:35:03.249437: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 08:35:03.249501: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 08:35:03.249545: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 08:35:03.249572: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 08:35:03.249597: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 08:35:03.249621: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 08:35:03.249642: Inverter 0 count register writes 0
2026-08-15 08:35:03.265919: Will recompute the plan as it is now 10.0 minutes old and will exceed the max age of 10 minutes before the next run
2026-08-15 08:35:03.266118: Recompute is saving previous plan...
2026-08-15 08:35:03.269380: Best charge window [ 15-08 08:30:00 - 15-08 09:00:00 @ 22.48p 0%, 15-08 09:00:00 - 15-08 09:30:00 @ 23.55p 0%, 15-08 09:30:00 - 15-08 10:00:00 @ 23.64p 0%, 15-08 10:00:00 - 15-08 10:30:00 @ 19.66p 0%, 15-08 10:30:00 - 15-08 11:00:00 @ 17.66p 0%, 15-08 11:00:00 - 15-08 11:30:00 @ 16.56p 0%, 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 0%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 0%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 0%, 15-08 13:00:00 - 15-08 13:30:00 @ 15.36p 0%, 15-08 13:30:00 - 15-08 14:00:00 @ 15.74p 0%, 15-08 14:00:00 - 15-08 14:30:00 @ 14.57p 0%, 15-08 14:30:00 - 15-08 15:00:00 @ 13.77p 0%, 15-08 15:00:00 - 15-08 15:30:00 @ 15.02p 0%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 0%, 15-08 16:00:00 - 15-08 16:30:00 @ 33.13p 0%, 15-08 16:30:00 - 15-08 17:00:00 @ 33.13p 0%, 15-08 17:00:00 - 15-08 17:30:00 @ 38.46p 0%, 15-08 17:30:00 - 15-08 18:00:00 @ 40.44p 0%, 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 0%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 0%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 0%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 0%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 0%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 27.8p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 29.09p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.47p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.18p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 27.57p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.5p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.6p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 24.79p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 25.08p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 24.62p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 27.02p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.47p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 26.25p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.4p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.7p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 27.63p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 22.73p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 26.7p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 22.92p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 22.48p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 23.55p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 23.64p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 19.66p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 17.66p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 16.56p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 15.46p 0%, 16-08 12:00:00 - 16-08 12:30:00 @ 17.0p 0%, 16-08 12:30:00 - 16-08 13:00:00 @ 16.34p 0%, 16-08 13:00:00 - 16-08 13:30:00 @ 15.36p 0%, 16-08 13:30:00 - 16-08 14:00:00 @ 15.74p 0%, 16-08 14:00:00 - 16-08 14:30:00 @ 14.57p 0%, 16-08 14:30:00 - 16-08 15:00:00 @ 13.77p 0%, 16-08 15:00:00 - 16-08 15:30:00 @ 15.02p 0%, 16-08 15:30:00 - 16-08 16:00:00 @ 15.87p 0%, 16-08 16:00:00 - 16-08 16:30:00 @ 33.13p 0%, 16-08 16:30:00 - 16-08 17:00:00 @ 33.13p 0%, 16-08 17:00:00 - 16-08 17:30:00 @ 38.46p 0%, 16-08 17:30:00 - 16-08 18:00:00 @ 40.44p 0%, 16-08 18:00:00 - 16-08 18:30:00 @ 41.55p 0%, 16-08 19:00:00 - 16-08 19:30:00 @ 32.58p 0%, 16-08 19:30:00 - 16-08 20:00:00 @ 32.9p 0%, 16-08 20:00:00 - 16-08 20:30:00 @ 31.99p 0%, 16-08 20:30:00 - 16-08 21:00:00 @ 32.1p 0%, 16-08 21:00:00 - 16-08 21:30:00 @ 31.71p 0%, 16-08 21:30:00 - 16-08 22:00:00 @ 31.67p 0%, 16-08 22:00:00 - 16-08 22:30:00 @ 31.77p 0%, 16-08 22:30:00 - 16-08 23:00:00 @ 29.81p 0%, 16-08 23:00:00 - 16-08 23:30:00 @ 27.8p 0%, 16-08 23:30:00 - 17-08 00:00:00 @ 29.09p 0%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.47p 0%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.18p 0%, 17-08 01:00:00 - 17-08 01:30:00 @ 27.57p 0%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.5p 0%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.6p 0%, 17-08 02:30:00 - 17-08 03:00:00 @ 24.79p 0%, 17-08 03:00:00 - 17-08 03:30:00 @ 25.08p 0%, 17-08 03:30:00 - 17-08 04:00:00 @ 24.62p 0%, 17-08 04:00:00 - 17-08 04:30:00 @ 27.02p 0%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.47p 0%, 17-08 05:00:00 - 17-08 05:30:00 @ 26.25p 0%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.4p 0%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.7p 0%, 17-08 06:30:00 - 17-08 07:00:00 @ 27.63p 0%, 17-08 07:00:00 - 17-08 07:30:00 @ 22.73p 0%, 17-08 07:30:00 - 17-08 08:00:00 @ 26.7p 0%, 17-08 08:00:00 - 17-08 08:30:00 @ 22.92p 0%, 17-08 08:30:00 - 17-08 09:00:00 @ 22.48p 0% ]
2026-08-15 08:35:03.269469: Best export window [  ]
2026-08-15 08:35:03.270565: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 08:35:03.274015: Load divergence over 8.0 hours mean 643.95W, min 294.0W, max 1564.2W, std dev 319.78W, divergence 24.83%
2026-08-15 08:35:03.292882: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 08:35:03.293042: LoadML is_calculating False
2026-08-15 08:35:03.293146: Creating pool of 12 processes to match your CPU count
2026-08-15 08:35:03.384450: Calculate Best options: mode(Control charge & discharge), calculate_export_oncharge(False), calculate_export_on_pv(True), set_export_freeze_only(False), set_discharge_during_charge(True), combine_charge_slots(False), combine_export_slots(False), combine_rate_threshold(0.0), best_soc_min(0.0 kWh), best_soc_max(0.0 kWh), best_soc_keep(0.0 kWh), inverter_loss(4%), battery_loss(3%), battery_loss_discharge (3%), inverter_hybrid(True), metric_min_improvement(0.0p), metric_min_improvement_export(0.1p), metric_min_improvement_export_freeze(0.1p), metric_battery_cycle(0.0p/kWh), metric_battery_value_scaling(1.0 x) 
2026-08-15 08:35:03.386757: Optimise levels pass started at 2026-08-15 08:35:03
2026-08-15 08:35:03.386825: Optimise all windows, total charge 94 export 1
2026-08-15 08:35:04.339554: >> Region optimisation pass width 960 gives best_metric 822.53p, best_cost 851.42p, best_cycle 57.15kWh, best_import 40.19kWh
2026-08-15 08:35:04.751748: >> Region optimisation pass width 480 gives best_metric 822.53p, best_cost 851.42p, best_cycle 57.15kWh, best_import 40.19kWh
2026-08-15 08:35:05.331955: >> Region optimisation pass width 240 gives best_metric 821.94p, best_cost 851.08p, best_cycle 55.36kWh, best_import 40.07kWh
2026-08-15 08:35:06.908797: >> Region optimisation pass width 120 gives best_metric 818.19p, best_cost 823.85p, best_cycle 54.0kWh, best_import 38.29kWh
2026-08-15 08:35:06.909456: Calculated end_record as 08-16 11:30:00 based on best_price 16.34p, next_charge_start 08-15 11:30:00, max_windows 53
2026-08-15 08:35:06.909558: Optimise levels pass ended at 2026-08-15 08:35:06, duration 3.5 seconds tried 402 combinations
2026-08-15 08:35:06.909658: Set best_price_charge_level 17.6p, best_price_export_level 0p, best_price_charge 16.34p, best_cost_export 0p, best_metric 818.19p, best_keep 0kWh, best_cycle 54.0kWh, best_carbon 0kg, best_import 38.29kWh
2026-08-15 08:35:06.926400: Starting detailed optimisation end_record 08-16 11:30:00, best_price_charge 16.34p, best_price_export 0p. lowest_price_charge 13.77p with charge limits [0, 0, 0, 0, 0, 0, 15.75, 0, 15.75, 15.75, 15.75, 15.75, 15.75, 15.75, 15.75, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0]kWh and export limits []kWh
2026-08-15 08:35:11.959361: Tweak plan optimisation started metric 575.78p, cost 585.84p
2026-08-15 08:35:12.219982: Tweak optimisation finished metric 575.78p, cost 585.84p, metric_keep 0kWh, cycle 29.7kWh, carbon 0kg, import 22.61kWh, changed 8 window(s)
2026-08-15 08:35:12.241913: Swap charge optimisation started metric 575.78p, cost 585.84p, min_improvement_swap 0.1p
2026-08-15 08:35:16.388605: Swap charge optimisation finished metric 575.78p, cost 585.84p
2026-08-15 08:35:16.507759: Pruned 1 dead plan slot(s) in 12 trial(s), nominal metric 572.6p -> 572.6p, plan now metric 575.79p, cost 585.84p, cycle 29.7kWh, import 22.61kWh
2026-08-15 08:35:16.518114: Raw charge windows [ 15-08 08:30:00 - 15-08 09:00:00 @ 22.48p 9%, 15-08 09:00:00 - 15-08 09:30:00 @ 23.55p 9%, 15-08 09:30:00 - 15-08 10:00:00 @ 23.64p 0%, 15-08 10:00:00 - 15-08 10:30:00 @ 19.66p 0%, 15-08 10:30:00 - 15-08 11:00:00 @ 17.66p 0%, 15-08 11:00:00 - 15-08 11:30:00 @ 16.56p 0%, 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 13:30:00 @ 15.36p 98%, 15-08 13:30:00 - 15-08 14:00:00 @ 15.74p 100%, 15-08 14:00:00 - 15-08 14:30:00 @ 14.57p 98%, 15-08 14:30:00 - 15-08 15:00:00 @ 13.77p 98%, 15-08 15:00:00 - 15-08 15:30:00 @ 15.02p 98%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 98%, 15-08 16:00:00 - 15-08 16:30:00 @ 33.13p 0%, 15-08 16:30:00 - 15-08 17:00:00 @ 33.13p 0%, 15-08 17:00:00 - 15-08 17:30:00 @ 38.46p 0%, 15-08 17:30:00 - 15-08 18:00:00 @ 40.44p 0%, 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 0%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 0%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 0%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 0%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 0%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 27.8p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 29.09p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.47p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.18p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 27.57p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.5p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.6p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 24.79p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 25.08p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 24.62p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 27.02p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.47p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 26.25p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.4p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.7p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 27.63p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 22.73p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 26.7p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 22.92p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 22.48p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 23.55p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 23.64p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 19.66p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 17.66p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 16.56p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 15.46p 100%, 16-08 12:00:00 - 16-08 12:30:00 @ 17.0p 100%, 16-08 12:30:00 - 16-08 13:00:00 @ 16.34p 100%, 16-08 13:00:00 - 16-08 13:30:00 @ 15.36p 100%, 16-08 13:30:00 - 16-08 14:00:00 @ 15.74p 100%, 16-08 14:00:00 - 16-08 14:30:00 @ 14.57p 100%, 16-08 14:30:00 - 16-08 15:00:00 @ 13.77p 100%, 16-08 15:00:00 - 16-08 15:30:00 @ 15.02p 100%, 16-08 15:30:00 - 16-08 16:00:00 @ 15.87p 100%, 16-08 16:00:00 - 16-08 16:30:00 @ 33.13p 100%, 16-08 16:30:00 - 16-08 17:00:00 @ 33.13p 100%, 16-08 17:00:00 - 16-08 17:30:00 @ 38.46p 100%, 16-08 17:30:00 - 16-08 18:00:00 @ 40.44p 100%, 16-08 18:00:00 - 16-08 18:30:00 @ 41.55p 100%, 16-08 19:00:00 - 16-08 19:30:00 @ 32.58p 100%, 16-08 19:30:00 - 16-08 20:00:00 @ 32.9p 100%, 16-08 20:00:00 - 16-08 20:30:00 @ 31.99p 100%, 16-08 20:30:00 - 16-08 21:00:00 @ 32.1p 100%, 16-08 21:00:00 - 16-08 21:30:00 @ 31.71p 100%, 16-08 21:30:00 - 16-08 22:00:00 @ 31.67p 100%, 16-08 22:00:00 - 16-08 22:30:00 @ 31.77p 100%, 16-08 22:30:00 - 16-08 23:00:00 @ 29.81p 100%, 16-08 23:00:00 - 16-08 23:30:00 @ 27.8p 100%, 16-08 23:30:00 - 17-08 00:00:00 @ 29.09p 100%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.47p 100%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.18p 100%, 17-08 01:00:00 - 17-08 01:30:00 @ 27.57p 100%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.5p 100%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.6p 100%, 17-08 02:30:00 - 17-08 03:00:00 @ 24.79p 100%, 17-08 03:00:00 - 17-08 03:30:00 @ 25.08p 100%, 17-08 03:30:00 - 17-08 04:00:00 @ 24.62p 100%, 17-08 04:00:00 - 17-08 04:30:00 @ 27.02p 100%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.47p 100%, 17-08 05:00:00 - 17-08 05:30:00 @ 26.25p 100%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.4p 100%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.7p 100%, 17-08 06:30:00 - 17-08 07:00:00 @ 27.63p 100%, 17-08 07:00:00 - 17-08 07:30:00 @ 22.73p 100%, 17-08 07:30:00 - 17-08 08:00:00 @ 26.7p 100%, 17-08 08:00:00 - 17-08 08:30:00 @ 22.92p 100%, 17-08 08:30:00 - 17-08 09:00:00 @ 22.48p 100% ] reserve 1.12
2026-08-15 08:35:16.518991: Unclipped charge windows [ 15-08 08:30:00 - 15-08 09:30:00 @ 23.02p 9%, 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 13:30:00 @ 15.36p 98%, 15-08 13:30:00 - 15-08 14:00:00 @ 15.74p 100%, 15-08 14:00:00 - 15-08 16:00:00 @ 15.23p 98%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 09:00:00 @ 23.41p 100% ] reserve 1.12
2026-08-15 08:35:16.519368: Unfiltered charge windows [ 15-08 08:30:00 - 15-08 09:30:00 @ 23.02p 9%, 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 13:30:00 @ 15.36p 100%, 15-08 13:30:00 - 15-08 14:00:00 @ 15.74p 100%, 15-08 14:00:00 - 15-08 16:00:00 @ 15.23p 98%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 09:00:00 @ 23.41p 100% ] reserve 1.12
2026-08-15 08:35:16.519615: Filtered charge windows [ 15-08 08:30:00 - 15-08 09:30:00 @ 23.02p 9%, 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 14:00:00 @ 15.55p 100%, 15-08 14:00:00 - 15-08 16:00:00 @ 15.23p 98%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 09:00:00 @ 23.41p 100% ] reserve 1.12
2026-08-15 08:35:16.552560: Previous plan best metric is 576.16 (cost 586.25) and new plan best metric is 575.78 (cost 585.84)
2026-08-15 08:35:16.552819: New plan metric is not significantly better (metric_min_improvement_plan 2.0) than previous plan, using previous plan
2026-08-15 08:35:16.553052: Plan valid is now true after recompute was False
2026-08-15 08:35:16.577494: predict base end_record 08-16 11:30:00, final soc 1.12kWh, metric 801.28p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 09:10:00, load 26.86kWh, PV 0.0kWh
2026-08-15 08:35:16.686845: Battery has 0.58 hours left - now at 1.44kWh
2026-08-15 08:35:16.727908: predict base10 end_record 08-16 11:30:00, final soc 1.12kWh, metric 826.23p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 09:05:00, load 27.85kWh, PV 0.0kWh
2026-08-15 08:35:16.802427: predict best10 end_record 08-16 11:30:00, final soc 1.12kWh, metric 657.25p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 09:05:00, load 27.85kWh, PV 0.0kWh
2026-08-15 08:35:16.878250: predict best end_record 08-16 11:30:00, final soc 1.12kWh, metric 636.24p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 09:10:00, load 26.86kWh, PV 0.0kWh
2026-08-15 08:35:16.878958: Saving plan best values to HA entities
2026-08-15 08:35:17.030488: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 08:35:17.036498: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0.0
2026-08-15 08:35:17.044368: Best charging limit SoC's [16.0, 3.5, 4.0, 16.0, 16.0, 16.0]kWh, export []kWh gives import battery 20.27kWh, house 2.37kWh, export 0.0kWh, metric 636.24p, metric10 657.25p
2026-08-15 08:35:17.117161: Marginal costs baseline metric (no standing charge): 586.2536
2026-08-15 08:35:17.369205: Marginal energy costs matrix computed: min=14.57 max=30.56
2026-08-15 08:35:17.463062: Rate array import [{'start': 515, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 23.6p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1860, 'rate': 'expensive', 'range': '(24.6p - 32.9p)'}, {'start': 1860, 'end': 1890, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 1890, 'end': 1920, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 1920, 'end': 2130, 'rate': 'cheap', 'range': '(16.6p - 23.6p)'}] export [{'start': 515, 'end': 2130, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 08:35:17.463726: - Your estimated bill for today is £5.81 and tomorrow is £5.36
2026-08-15 08:35:17.463793: - Import rates are cheap (13.8p - 23.6p) for the next 7 and a half hours and then expensive (33.1p) for the next 1 hour.
2026-08-15 08:35:17.463817: - The battery is currently at 9% and is in eco mode for the next 2  hours.
2026-08-15 08:35:17.463835: - For the next 48 hours there will be no solar generation.
2026-08-15 08:35:17.463852: - You will run out of battery in 35 minutes.
2026-08-15 08:35:17.463870: - Your next charge slot will be in 2  hours where import rates will be cheap (15.5p).
2026-08-15 08:35:17.463887: 
2026-08-15 08:35:17.521881: Plan calculation took 14.26 seconds
2026-08-15 08:35:17.522293: Inverter 0: Type SK Sunsynk
2026-08-15 08:35:17.522341: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 08:35:17.522601: Reserve min: 7%, battery_min: 7%
2026-08-15 08:35:17.522682: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 08:35:17.523047: Inverter 0 SoC: 1.44kW 9%, current charge rate 5000W, current discharge rate 5250W, current battery power 313W, current battery voltage 51.2V, grid power -55W, load power 373W, PV Power 0W
2026-08-15 08:35:17.523289: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 08:35:17.523400: Inverter 0 scheduled charge enable is False
2026-08-15 08:35:17.523462: Inverter 0 charge windows currently []
2026-08-15 08:35:17.523493: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 08:35:17.523607: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 08:35:17.523664: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 08:35:17.523701: Inverter 0 scheduled discharge enable is False
2026-08-15 08:35:17.523851: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 08:35:17.523892: Inverter 0 discharge windows currently []
2026-08-15 08:35:17.523916: Note: Inverter does not support discharge freeze - disabled
2026-08-15 08:35:17.523934: Note: Inverter does not support charge freeze - disabled
2026-08-15 08:35:17.523958: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 08:35:17.583212: Inverter 0 Charge window will be: 2026-08-15 11:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 9%, target 100%
2026-08-15 08:35:17.583413: Inverter 0 disabled charge window while waiting for schedule (now 08-15 08:35:00 target set_window_minutes 30 charge start time 08-15 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 08:35:17.583531: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 08:35:17.583854: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 08:35:17.583971: No export window planned
2026-08-15 08:35:17.584120: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 08:35:17.584165: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 08:35:17.584341: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 08:35:17.584545: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 08:35:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 08:35:17.584604: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 08:35:17.584695: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 08:35:17.584857: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 08:35:17.584915: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 08:35:17.584990: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 08:35:17.585058: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 08:35:17.585112: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 08:35:17.585185: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 08:35:17.585233: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 08:35:17.585350: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 08:35:17.585425: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 08:35:17.585453: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 08:35:17.585479: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 08:35:17.585503: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 08:35:17.585526: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 08:35:17.585550: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 08:35:17.585572: Inverter 0 count register writes 0
2026-08-15 08:35:17.609001: Total inverter register writes now 815
2026-08-15 08:35:17.648380: Info: Completed run status Demand
2026-08-15 08:35:17.655270: Info: record_status Demand
2026-08-15 08:35:17.662563: Saved current settings to /config/predbat_config.json
2026-08-15 08:35:17.662893: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 08:35:56.775966: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 08:35:56.776206: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 08:35:56.776249: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 08:35:56.776388: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 08:35:56.776428: Note: Inverter does not support discharge freeze - disabled
2026-08-15 08:35:56.776451: Note: Inverter does not support charge freeze - disabled
2026-08-15 08:35:56.776473: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 08:37:57.001495: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 08:37:57.001796: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 08:37:57.001849: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 08:37:57.001993: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 08:37:57.002032: Note: Inverter does not support discharge freeze - disabled
2026-08-15 08:37:57.002053: Note: Inverter does not support charge freeze - disabled
2026-08-15 08:37:57.002070: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 08:39:57.241168: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 08:39:57.241404: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 08:39:57.241446: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 08:39:57.241604: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 08:39:57.241642: Note: Inverter does not support discharge freeze - disabled
2026-08-15 08:39:57.241663: Note: Inverter does not support charge freeze - disabled
2026-08-15 08:39:57.241682: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 08:40:00.331459: --------------- PredBat - update at 2026-08-15 08:40:00+01:00 with clock skew 0 minutes, minutes now 520
2026-08-15 08:40:00.332223: Saved current settings to /config/predbat_config.json
2026-08-15 08:40:00.332350: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 30.0 minutes
2026-08-15 08:40:00.332424: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.1, latest beta is v8.48.1
2026-08-15 08:40:00.332494: Autoupdate: Currently up to date
2026-08-15 08:40:00.352390: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 08:40:00.352520: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 08:40:00.352779: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 08:40:00.353386: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 08:40:00.353550: Predbat mode is set to Control charge & discharge
2026-08-15 08:40:00.535464: Found 21602 load_today datapoints going back 28 days
2026-08-15 08:40:00.535836: Using load_power data to fill gaps in load_today data
2026-08-15 08:40:01.299633: Processing 721 30-minute periods for power integration
2026-08-15 08:40:01.456562: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 08:40:01.456688: Car charging hold False, threshold 6.0kWh
2026-08-15 08:40:01.456739: Current data so far today: load 6.0kWh, import 6.9kWh, export 0.0kWh, PV 0kWh
2026-08-15 08:40:01.468777: Cars: SoC: [12.892000000000001]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 08:40:01.469181: Standing charge is set to 49.98p
2026-08-15 08:40:01.491456: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 08:40:01.491581: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 08:40:01.491847: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 520.0 minutes
2026-08-15 08:40:01.492290: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 519.6 minutes
2026-08-15 08:40:01.495292: Loaded 47 datapoints of futurerate analysis
2026-08-15 08:40:01.566794: Predicted future rates: ['08-15 00:00:00 => 28.9 / 20.01', '08-15 01:00:00 => 27.54 / 19.31', '08-15 02:00:00 => 26.52 / 18.8', '08-15 03:00:00 => 25.99 / 18.53', '08-15 04:00:00 => 25.8 / 18.43', '08-15 05:00:00 => 25.96 / 18.51', '08-15 06:00:00 => 25.55 / 18.3', '08-15 07:00:00 => 24.33 / 17.68', '08-15 08:00:00 => 23.03 / 17.01', '08-15 09:00:00 => 22.05 / 16.51', '08-15 10:00:00 => 20.43 / 15.68', '08-15 11:00:00 => 18.01 / 14.45', '08-15 12:00:00 => 16.37 / 13.61', '08-15 13:00:00 => 15.76 / 13.3', '08-15 14:00:00 => 15.35 / 13.09', '08-15 15:00:00 => 15.86 / 13.35', '08-15 16:00:00 => 32.89 / 16.13', '08-15 17:00:00 => 38.02 / 18.75', '08-15 18:00:00 => 42.36 / 20.96', '08-15 19:00:00 => 31.09 / 21.13', '08-15 20:00:00 => 31.64 / 21.41', '08-15 21:00:00 => 31.64 / 21.41', '08-15 22:00:00 => 30.58 / 20.87']
2026-08-15 08:40:01.616509: Rate min forward looking: now 13.77p at end of forecast 13.77p
2026-08-15 08:40:01.617000: Import rates: min 13.77p, max 43.82p, average 25.96p
2026-08-15 08:40:01.654385: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 08:40:01.654526: Rate thresholds (for charge/export) are import 43.32p (0.0p), export -0.1p (0.0p)
2026-08-15 08:40:01.655743: High export rate found rates in range 99p to -99p
2026-08-15 08:40:01.730740: Low Import rate found rates in range 13.77p to 41.55p
2026-08-15 08:40:01.730864: Car 0 charging is not planned as it is not plugged in
2026-08-15 08:40:01.745169: Battery level now 1.44kWh, -1hr ago 1.76kWh, at midnight 1.66kWh, battery value change in the last hour -3.78p, change today -2.55p, rate_forward 11.83p
2026-08-15 08:40:01.745547: Last hour: net energy 0.03kWh, import 0.03kWh, export 0.0kWh, car 0kWh, load 0.22kWh, net cost 0.81p, import 0.81p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 08:40:01.797603: Today's energy total net 6.9kWh, import 6.9kWh, export 0.0kWh, cost 233.78p, import 183.8p, export 0.0p, carbon 0.0kg
2026-08-15 08:40:01.797771: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 08:40:01.866125: Using weighted-bucket historical load forecast over 14 days
2026-08-15 08:40:01.887053: Today's load divergence 106.95%, in-day adjustment 130.35%, damping 0.95x, yesterday 143.77% today 106.6% blend 63.89%
2026-08-15 08:40:01.887139: Today's predicted so far 4.96kWh with 0.0kWh car/iBoost excluded, 2.72kWh import ignored, and 4.96kWh forecast extra.
2026-08-15 08:40:01.887166: Today's actual load so far 6.12kWh with 0.0kWh car/iBoost excluded, and 2.72kWh import ignored.
2026-08-15 08:40:01.921906: Inverter 0: Type SK Sunsynk
2026-08-15 08:40:01.922000: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 08:40:01.922184: Reserve min: 7%, battery_min: 7%
2026-08-15 08:40:01.922277: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 08:40:01.922541: Inverter 0 SoC: 1.44kW 9%, current charge rate 5000W, current discharge rate 5250W, current battery power 232W, current battery voltage 51.2V, grid power -54W, load power 291W, PV Power 0W
2026-08-15 08:40:01.922704: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 08:40:01.922813: Inverter 0 scheduled charge enable is False
2026-08-15 08:40:01.922843: Inverter 0 charge windows currently []
2026-08-15 08:40:01.922869: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 08:40:01.922974: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 08:40:01.923010: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 08:40:01.923045: Inverter 0 scheduled discharge enable is False
2026-08-15 08:40:01.923166: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 08:40:01.923203: Inverter 0 discharge windows currently []
2026-08-15 08:40:01.923226: Note: Inverter does not support discharge freeze - disabled
2026-08-15 08:40:01.923244: Note: Inverter does not support charge freeze - disabled
2026-08-15 08:40:01.923262: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 08:40:01.992498: Dynamic load last period 0.00kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 08:40:01.992600: Plan was last updated on 2026-08-15 08:35:00+01:00 and is now 5.0 minutes old
2026-08-15 08:40:01.992861: Best charge window [ 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 00:30:00 @ 28.84p 100% ]
2026-08-15 08:40:01.992903: Best export window [  ]
2026-08-15 08:40:01.993647: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 08:40:01.997007: Load divergence over 8.0 hours mean 642.42W, min 291.6W, max 1657.2W, std dev 320.76W, divergence 24.97%
2026-08-15 08:40:02.017287: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 08:40:02.017413: LoadML is_calculating False
2026-08-15 08:40:02.017474: Creating pool of 12 processes to match your CPU count
2026-08-15 08:40:02.127009: predict base end_record 08-16 11:35:00, final soc 1.12kWh, metric 801.89p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 09:10:00, load 26.87kWh, PV 0.0kWh
2026-08-15 08:40:02.250363: Battery has 0.5 hours left - now at 1.44kWh
2026-08-15 08:40:02.308563: predict base10 end_record 08-16 11:35:00, final soc 1.12kWh, metric 826.88p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 09:10:00, load 27.86kWh, PV 0.0kWh
2026-08-15 08:40:02.392344: predict best10 end_record 08-16 11:35:00, final soc 1.44kWh, metric 663.29p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 09:10:00, load 27.86kWh, PV 0.0kWh
2026-08-15 08:40:02.491472: predict best end_record 08-16 11:35:00, final soc 1.51kWh, metric 643.2p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 09:10:00, load 26.87kWh, PV 0.0kWh
2026-08-15 08:40:02.491581: Saving plan best values to HA entities
2026-08-15 08:40:02.678186: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 08:40:02.685633: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0.0
2026-08-15 08:40:02.692875: Best charging limit SoC's [16.0, 3.5, 4.0, 16.0, 16.0, 16.0]kWh, export []kWh gives import battery 20.76kWh, house 2.35kWh, export 0.0kWh, metric 643.2p, metric10 663.29p
2026-08-15 08:40:02.782217: Marginal costs baseline metric (no standing charge): 593.218
2026-08-15 08:40:03.053612: Marginal energy costs matrix computed: min=14.74 max=30.25
2026-08-15 08:40:03.135021: Rate array import [{'start': 520, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 23.6p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1860, 'rate': 'expensive', 'range': '(24.6p - 32.9p)'}, {'start': 1860, 'end': 1890, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 1890, 'end': 1920, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 1920, 'end': 2135, 'rate': 'cheap', 'range': '(15.5p - 23.6p)'}] export [{'start': 520, 'end': 2135, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 08:40:03.135687: - Your estimated bill for today is £5.80 and tomorrow is £5.37
2026-08-15 08:40:03.135750: - Import rates are cheap (13.8p - 23.6p) for the next 7 and a quarter hours and then expensive (33.1p) for the next 1 hour.
2026-08-15 08:40:03.135775: - The battery is currently at 9% and is in eco mode for the next 2 and three quarters hours.
2026-08-15 08:40:03.135794: - For the next 48 hours there will be no solar generation.
2026-08-15 08:40:03.135813: - You will run out of battery in 30 minutes.
2026-08-15 08:40:03.135835: - Your next charge slot will be in 2 and three quarters hours where import rates will be cheap (15.5p).
2026-08-15 08:40:03.135868: 
2026-08-15 08:40:03.193820: Plan calculation took 1.20 seconds
2026-08-15 08:40:03.197202: No high rate period found
2026-08-15 08:40:03.252029: Import threshold used for optimisation was 23.55p
2026-08-15 08:40:03.308791: Low import rate windows [0: 08-15 08:30:00 - 08-15 09:00:00 @ 22.48, 1: 08-15 09:00:00 - 08-15 09:30:00 @ 23.55, 2: 08-15 09:30:00 - 08-15 10:00:00 @ 23.64, 3: 08-15 10:00:00 - 08-15 10:30:00 @ 19.66, 4: 08-15 10:30:00 - 08-15 11:00:00 @ 17.66, 5: 08-15 11:00:00 - 08-15 11:30:00 @ 16.56, 6: 08-15 11:30:00 - 08-15 12:00:00 @ 15.46, 7: 08-15 12:00:00 - 08-15 12:30:00 @ 17.0, 8: 08-15 12:30:00 - 08-15 13:00:00 @ 16.34, 9: 08-15 13:00:00 - 08-15 13:30:00 @ 15.36, 10: 08-15 13:30:00 - 08-15 14:00:00 @ 15.74, 11: 08-15 14:00:00 - 08-15 14:30:00 @ 14.57, 12: 08-15 14:30:00 - 08-15 15:00:00 @ 13.77, 13: 08-15 15:00:00 - 08-15 15:30:00 @ 15.02, 14: 08-15 15:30:00 - 08-15 16:00:00 @ 15.87, 15: 08-15 16:00:00 - 08-15 16:30:00 @ 33.13, 16: 08-15 16:30:00 - 08-15 17:00:00 @ 33.13, 17: 08-15 17:00:00 - 08-15 17:30:00 @ 38.46, 18: 08-15 17:30:00 - 08-15 18:00:00 @ 40.44, 19: 08-15 18:00:00 - 08-15 18:30:00 @ 41.55, 20: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 21: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 22: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 23: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 24: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 25: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 26: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 27: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 28: 08-15 23:00:00 - 08-15 23:30:00 @ 27.8, 29: 08-15 23:30:00 - 08-16 00:00:00 @ 29.09, 30: 08-16 00:00:00 - 08-16 00:30:00 @ 28.47, 31: 08-16 00:30:00 - 08-16 01:00:00 @ 27.18, 32: 08-16 01:00:00 - 08-16 01:30:00 @ 27.57, 33: 08-16 01:30:00 - 08-16 02:00:00 @ 26.5, 34: 08-16 02:00:00 - 08-16 02:30:00 @ 25.6, 35: 08-16 02:30:00 - 08-16 03:00:00 @ 24.79, 36: 08-16 03:00:00 - 08-16 03:30:00 @ 25.08, 37: 08-16 03:30:00 - 08-16 04:00:00 @ 24.62, 38: 08-16 04:00:00 - 08-16 04:30:00 @ 27.02, 39: 08-16 04:30:00 - 08-16 05:00:00 @ 26.47, 40: 08-16 05:00:00 - 08-16 05:30:00 @ 26.25, 41: 08-16 05:30:00 - 08-16 06:00:00 @ 26.4, 42: 08-16 06:00:00 - 08-16 06:30:00 @ 25.7, 43: 08-16 06:30:00 - 08-16 07:00:00 @ 27.63, 44: 08-16 07:00:00 - 08-16 07:30:00 @ 22.73, 45: 08-16 07:30:00 - 08-16 08:00:00 @ 26.7, 46: 08-16 08:00:00 - 08-16 08:30:00 @ 22.92, 47: 08-16 08:30:00 - 08-16 09:00:00 @ 22.48, 48: 08-16 09:00:00 - 08-16 09:30:00 @ 23.55, 49: 08-16 09:30:00 - 08-16 10:00:00 @ 23.64, 50: 08-16 10:00:00 - 08-16 10:30:00 @ 19.66, 51: 08-16 10:30:00 - 08-16 11:00:00 @ 17.66, 52: 08-16 11:00:00 - 08-16 11:30:00 @ 16.56, 53: 08-16 11:30:00 - 08-16 12:00:00 @ 15.46, 54: 08-16 12:00:00 - 08-16 12:30:00 @ 17.0, 55: 08-16 12:30:00 - 08-16 13:00:00 @ 16.34, 56: 08-16 13:00:00 - 08-16 13:30:00 @ 15.36, 57: 08-16 13:30:00 - 08-16 14:00:00 @ 15.74, 58: 08-16 14:00:00 - 08-16 14:30:00 @ 14.57, 59: 08-16 14:30:00 - 08-16 15:00:00 @ 13.77, 60: 08-16 15:00:00 - 08-16 15:30:00 @ 15.02, 61: 08-16 15:30:00 - 08-16 16:00:00 @ 15.87, 62: 08-16 16:00:00 - 08-16 16:30:00 @ 33.13, 63: 08-16 16:30:00 - 08-16 17:00:00 @ 33.13, 64: 08-16 17:00:00 - 08-16 17:30:00 @ 38.46, 65: 08-16 17:30:00 - 08-16 18:00:00 @ 40.44, 66: 08-16 18:00:00 - 08-16 18:30:00 @ 41.55, 67: 08-16 19:00:00 - 08-16 19:30:00 @ 32.58, 68: 08-16 19:30:00 - 08-16 20:00:00 @ 32.9, 69: 08-16 20:00:00 - 08-16 20:30:00 @ 31.99, 70: 08-16 20:30:00 - 08-16 21:00:00 @ 32.1, 71: 08-16 21:00:00 - 08-16 21:30:00 @ 31.71, 72: 08-16 21:30:00 - 08-16 22:00:00 @ 31.67, 73: 08-16 22:00:00 - 08-16 22:30:00 @ 31.77, 74: 08-16 22:30:00 - 08-16 23:00:00 @ 29.81, 75: 08-16 23:00:00 - 08-16 23:30:00 @ 27.8, 76: 08-16 23:30:00 - 08-17 00:00:00 @ 29.09, 77: 08-17 00:00:00 - 08-17 00:30:00 @ 28.47, 78: 08-17 00:30:00 - 08-17 01:00:00 @ 27.18, 79: 08-17 01:00:00 - 08-17 01:30:00 @ 27.57, 80: 08-17 01:30:00 - 08-17 02:00:00 @ 26.5, 81: 08-17 02:00:00 - 08-17 02:30:00 @ 25.6, 82: 08-17 02:30:00 - 08-17 03:00:00 @ 24.79, 83: 08-17 03:00:00 - 08-17 03:30:00 @ 25.08, 84: 08-17 03:30:00 - 08-17 04:00:00 @ 24.62, 85: 08-17 04:00:00 - 08-17 04:30:00 @ 27.02, 86: 08-17 04:30:00 - 08-17 05:00:00 @ 26.47, 87: 08-17 05:00:00 - 08-17 05:30:00 @ 26.25, 88: 08-17 05:30:00 - 08-17 06:00:00 @ 26.4, 89: 08-17 06:00:00 - 08-17 06:30:00 @ 25.7, 90: 08-17 06:30:00 - 08-17 07:00:00 @ 27.63, 91: 08-17 07:00:00 - 08-17 07:30:00 @ 22.73, 92: 08-17 07:30:00 - 08-17 08:00:00 @ 26.7, 93: 08-17 08:00:00 - 08-17 08:30:00 @ 22.92, 94: 08-17 08:30:00 - 08-17 09:00:00 @ 22.48]
2026-08-15 08:40:03.315787: Inverter 0 Charge window will be: 2026-08-15 11:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 9%, target 100%
2026-08-15 08:40:03.315928: Inverter 0 disabled charge window while waiting for schedule (now 08-15 08:40:00 target set_window_minutes 30 charge start time 08-15 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 08:40:03.316039: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 08:40:03.316310: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 08:40:03.316426: No export window planned
2026-08-15 08:40:03.316559: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 08:40:03.316596: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 08:40:03.316750: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 08:40:03.316994: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 08:40:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 08:40:03.317065: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 08:40:03.317133: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 08:40:03.317239: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 08:40:03.317278: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 08:40:03.317312: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 08:40:03.317338: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 08:40:03.317364: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 08:40:03.317388: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 08:40:03.317442: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 08:40:03.317513: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 08:40:03.317549: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 08:40:03.317574: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 08:40:03.317599: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 08:40:03.317629: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 08:40:03.317653: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 08:40:03.317680: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 08:40:03.317701: Inverter 0 count register writes 0
2026-08-15 08:40:03.334461: Will not recompute the plan, it is 5.0 minutes old and max age is 10 minutes
2026-08-15 08:40:03.340271: Total inverter register writes now 815
2026-08-15 08:40:03.375966: Info: Completed run status Demand
2026-08-15 08:40:03.382838: Info: record_status Demand
2026-08-15 08:40:03.391362: Saved current settings to /config/predbat_config.json
2026-08-15 08:40:03.391739: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 08:40:41.508273: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 08:40:41.508522: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 08:40:41.508564: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 08:40:41.508770: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 08:40:41.508818: Note: Inverter does not support discharge freeze - disabled
2026-08-15 08:40:41.508840: Note: Inverter does not support charge freeze - disabled
2026-08-15 08:40:41.508858: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 08:42:14.532509: ML Component: Fetching 28 days of load history from ['sensor.sunsynk_day_load_energy']
2026-08-15 08:42:15.610508: Processing 1345 30-minute periods for power integration
2026-08-15 08:42:15.716648: ML Component: Car charging hold False, car energy reported load False
2026-08-15 08:42:15.818941: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 08:42:15.926202: ML Temperature data points: 49881
2026-08-15 08:42:16.204213: ML Component: Fetched 8064 load data points, 28.0 days of history
2026-08-15 08:42:16.246366: ML Component: Data fetch completed, load data age 56.0 days, 16369 data points
2026-08-15 08:42:16.246503: ML Component: No training needed, model age is 0.93 hours
2026-08-15 08:42:16.246570: ML Component: Generating predictions load data age 56.0 days, 16369 data points
2026-08-15 08:42:16.386452: ML Predictor: Starting autoregressive prediction loop for 576 steps (48.0 hours), prev_energy value 0.0116 max_dow {0: 0.10014999996256083, 1: 0.10541562554407864, 2: 0.11911562483031304, 3: 0.12494687463529408, 4: 0.17094062535744162, 5: 0.1007093750283122, 6: 0.10970937514957041}
2026-08-15 08:42:17.511233: ML Component: Generated 576 predictions (total 39.76 kWh over 48h)
2026-08-15 08:42:17.548830: ML Component: Prediction cycle completed
2026-08-15 08:42:17.637755: ML Component: Saved 16369 steps (56 days) of history to /config/predbat_ml_history.npz
2026-08-15 08:42:41.748182: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 08:42:41.748524: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 08:42:41.748595: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 08:42:41.748815: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 08:42:41.748864: Note: Inverter does not support discharge freeze - disabled
2026-08-15 08:42:41.748886: Note: Inverter does not support charge freeze - disabled
2026-08-15 08:42:41.748904: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 08:44:41.982230: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 08:44:41.982480: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 08:44:41.982524: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 08:44:41.982731: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 08:44:41.982773: Note: Inverter does not support discharge freeze - disabled
2026-08-15 08:44:41.982794: Note: Inverter does not support charge freeze - disabled
2026-08-15 08:44:41.982812: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 08:45:00.086999: --------------- PredBat - update at 2026-08-15 08:45:00+01:00 with clock skew 0 minutes, minutes now 525
2026-08-15 08:45:00.087799: Saved current settings to /config/predbat_config.json
2026-08-15 08:45:00.087972: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 35.0 minutes
2026-08-15 08:45:00.088091: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.1, latest beta is v8.48.1
2026-08-15 08:45:00.088167: Autoupdate: Currently up to date
2026-08-15 08:45:00.108421: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 08:45:00.108585: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 08:45:00.108770: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 08:45:00.109368: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 08:45:00.109502: Predbat mode is set to Control charge & discharge
2026-08-15 08:45:00.305854: Found 21602 load_today datapoints going back 28 days
2026-08-15 08:45:00.306010: Using load_power data to fill gaps in load_today data
2026-08-15 08:45:01.153894: Processing 721 30-minute periods for power integration
2026-08-15 08:45:01.327249: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 08:45:01.327371: Car charging hold False, threshold 6.0kWh
2026-08-15 08:45:01.327413: Current data so far today: load 6.0kWh, import 6.9kWh, export 0.0kWh, PV 0kWh
2026-08-15 08:45:01.339635: Cars: SoC: [12.892000000000001]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 08:45:01.340091: Standing charge is set to 49.98p
2026-08-15 08:45:01.362214: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 08:45:01.362322: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 08:45:01.362581: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 525.0 minutes
2026-08-15 08:45:01.363015: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 524.6 minutes
2026-08-15 08:45:01.365889: Loaded 47 datapoints of futurerate analysis
2026-08-15 08:45:01.436040: Predicted future rates: ['08-15 00:00:00 => 28.9 / 20.01', '08-15 01:00:00 => 27.54 / 19.31', '08-15 02:00:00 => 26.52 / 18.8', '08-15 03:00:00 => 25.99 / 18.53', '08-15 04:00:00 => 25.8 / 18.43', '08-15 05:00:00 => 25.96 / 18.51', '08-15 06:00:00 => 25.55 / 18.3', '08-15 07:00:00 => 24.33 / 17.68', '08-15 08:00:00 => 23.03 / 17.01', '08-15 09:00:00 => 22.05 / 16.51', '08-15 10:00:00 => 20.43 / 15.68', '08-15 11:00:00 => 18.01 / 14.45', '08-15 12:00:00 => 16.37 / 13.61', '08-15 13:00:00 => 15.76 / 13.3', '08-15 14:00:00 => 15.35 / 13.09', '08-15 15:00:00 => 15.86 / 13.35', '08-15 16:00:00 => 32.89 / 16.13', '08-15 17:00:00 => 38.02 / 18.75', '08-15 18:00:00 => 42.36 / 20.96', '08-15 19:00:00 => 31.09 / 21.13', '08-15 20:00:00 => 31.64 / 21.41', '08-15 21:00:00 => 31.64 / 21.41', '08-15 22:00:00 => 30.58 / 20.87']
2026-08-15 08:45:01.487389: Rate min forward looking: now 13.77p at end of forecast 13.77p
2026-08-15 08:45:01.487819: Import rates: min 13.77p, max 43.82p, average 25.96p
2026-08-15 08:45:01.523188: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 08:45:01.523331: Rate thresholds (for charge/export) are import 43.32p (0.0p), export -0.1p (0.0p)
2026-08-15 08:45:01.524544: High export rate found rates in range 99p to -99p
2026-08-15 08:45:01.595275: Low Import rate found rates in range 13.77p to 41.55p
2026-08-15 08:45:01.595431: Car 0 charging is not planned as it is not plugged in
2026-08-15 08:45:01.608523: Battery level now 1.44kWh, -1hr ago 1.76kWh, at midnight 1.66kWh, battery value change in the last hour -3.78p, change today -2.55p, rate_forward 11.83p
2026-08-15 08:45:01.609037: Last hour: net energy 0.02kWh, import 0.02kWh, export 0.0kWh, car 0kWh, load 0.2kWh, net cost 0.64p, import 0.64p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 08:45:01.660797: Today's energy total net 6.9kWh, import 6.9kWh, export 0.0kWh, cost 233.78p, import 183.8p, export 0.0p, carbon 0.0kg
2026-08-15 08:45:01.660929: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 08:45:01.729550: Using weighted-bucket historical load forecast over 14 days
2026-08-15 08:45:01.750486: Today's load divergence 106.72%, in-day adjustment 130.14%, damping 0.95x, yesterday 143.77% today 106.39% blend 63.54%
2026-08-15 08:45:01.750584: Today's predicted so far 4.95kWh with 0.0kWh car/iBoost excluded, 2.71kWh import ignored, and 4.95kWh forecast extra.
2026-08-15 08:45:01.750611: Today's actual load so far 6.07kWh with 0.0kWh car/iBoost excluded, and 2.71kWh import ignored.
2026-08-15 08:45:01.786195: Inverter 0: Type SK Sunsynk
2026-08-15 08:45:01.786314: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 08:45:01.786502: Reserve min: 7%, battery_min: 7%
2026-08-15 08:45:01.786570: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 08:45:01.786881: Inverter 0 SoC: 1.44kW 9%, current charge rate 5000W, current discharge rate 5250W, current battery power 278W, current battery voltage 51.2V, grid power -55W, load power 337W, PV Power 0W
2026-08-15 08:45:01.787041: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 08:45:01.787128: Inverter 0 scheduled charge enable is False
2026-08-15 08:45:01.787156: Inverter 0 charge windows currently []
2026-08-15 08:45:01.787182: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 08:45:01.787290: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 08:45:01.787326: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 08:45:01.787386: Inverter 0 scheduled discharge enable is False
2026-08-15 08:45:01.787533: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 08:45:01.787571: Inverter 0 discharge windows currently []
2026-08-15 08:45:01.787593: Note: Inverter does not support discharge freeze - disabled
2026-08-15 08:45:01.787611: Note: Inverter does not support charge freeze - disabled
2026-08-15 08:45:01.787629: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 08:45:01.842296: Dynamic load last period 0.00kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 08:45:01.842407: Plan was last updated on 2026-08-15 08:35:00+01:00 and is now 10.0 minutes old
2026-08-15 08:45:01.842751: Best charge window [ 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 00:30:00 @ 28.84p 100% ]
2026-08-15 08:45:01.842797: Best export window [  ]
2026-08-15 08:45:01.843562: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 08:45:01.846778: Load divergence over 8.0 hours mean 640.86W, min 274.2W, max 1777.8W, std dev 357.57W, divergence 27.9%
2026-08-15 08:45:01.865447: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 08:45:01.865539: LoadML is_calculating False
2026-08-15 08:45:01.865599: Creating pool of 12 processes to match your CPU count
2026-08-15 08:45:01.985319: predict base end_record 08-16 11:40:00, final soc 1.12kWh, metric 802.54p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 09:15:00, load 26.93kWh, PV 0.0kWh
2026-08-15 08:45:02.127324: Battery has 0.5 hours left - now at 1.44kWh
2026-08-15 08:45:02.165953: predict base10 end_record 08-16 11:40:00, final soc 1.12kWh, metric 827.6p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 09:10:00, load 27.93kWh, PV 0.0kWh
2026-08-15 08:45:02.239519: predict best10 end_record 08-16 11:40:00, final soc 1.77kWh, metric 669.33p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 09:10:00, load 27.93kWh, PV 0.0kWh
2026-08-15 08:45:02.314019: predict best end_record 08-16 11:40:00, final soc 1.9kWh, metric 650.19p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 09:15:00, load 26.93kWh, PV 0.0kWh
2026-08-15 08:45:02.314107: Saving plan best values to HA entities
2026-08-15 08:45:02.472479: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0
2026-08-15 08:45:02.477957: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 08:45:02.484014: Best charging limit SoC's [16.0, 3.5, 4.0, 16.0, 16.0, 16.0]kWh, export []kWh gives import battery 21.29kWh, house 2.3kWh, export 0.0kWh, metric 650.19p, metric10 669.33p
2026-08-15 08:45:02.580500: Marginal costs baseline metric (no standing charge): 600.2076
2026-08-15 08:45:02.859880: Marginal energy costs matrix computed: min=14.92 max=30.58
2026-08-15 08:45:02.936565: Rate array import [{'start': 525, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 23.6p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1860, 'rate': 'expensive', 'range': '(24.6p - 32.9p)'}, {'start': 1860, 'end': 1890, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 1890, 'end': 1920, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 1920, 'end': 2140, 'rate': 'cheap', 'range': '(15.5p - 23.6p)'}] export [{'start': 525, 'end': 2140, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 08:45:02.937806: - Your estimated bill for today is £5.79 and tomorrow is £5.39
2026-08-15 08:45:02.937880: - Import rates are cheap (13.8p - 23.6p) for the next 7 and a quarter hours and then expensive (33.1p) for the next 1 hour.
2026-08-15 08:45:02.937925: - The battery is currently at 9% and is in eco mode for the next 2 and three quarters hours.
2026-08-15 08:45:02.937951: - For the next 48 hours there will be no solar generation.
2026-08-15 08:45:02.937985: - You will run out of battery in 30 minutes.
2026-08-15 08:45:02.938018: - Your next charge slot will be in 2 and three quarters hours where import rates will be cheap (15.5p).
2026-08-15 08:45:02.938038: 
2026-08-15 08:45:02.996770: Plan calculation took 1.15 seconds
2026-08-15 08:45:03.000290: No high rate period found
2026-08-15 08:45:03.054982: Import threshold used for optimisation was 23.55p
2026-08-15 08:45:03.114561: Low import rate windows [0: 08-15 08:30:00 - 08-15 09:00:00 @ 22.48, 1: 08-15 09:00:00 - 08-15 09:30:00 @ 23.55, 2: 08-15 09:30:00 - 08-15 10:00:00 @ 23.64, 3: 08-15 10:00:00 - 08-15 10:30:00 @ 19.66, 4: 08-15 10:30:00 - 08-15 11:00:00 @ 17.66, 5: 08-15 11:00:00 - 08-15 11:30:00 @ 16.56, 6: 08-15 11:30:00 - 08-15 12:00:00 @ 15.46, 7: 08-15 12:00:00 - 08-15 12:30:00 @ 17.0, 8: 08-15 12:30:00 - 08-15 13:00:00 @ 16.34, 9: 08-15 13:00:00 - 08-15 13:30:00 @ 15.36, 10: 08-15 13:30:00 - 08-15 14:00:00 @ 15.74, 11: 08-15 14:00:00 - 08-15 14:30:00 @ 14.57, 12: 08-15 14:30:00 - 08-15 15:00:00 @ 13.77, 13: 08-15 15:00:00 - 08-15 15:30:00 @ 15.02, 14: 08-15 15:30:00 - 08-15 16:00:00 @ 15.87, 15: 08-15 16:00:00 - 08-15 16:30:00 @ 33.13, 16: 08-15 16:30:00 - 08-15 17:00:00 @ 33.13, 17: 08-15 17:00:00 - 08-15 17:30:00 @ 38.46, 18: 08-15 17:30:00 - 08-15 18:00:00 @ 40.44, 19: 08-15 18:00:00 - 08-15 18:30:00 @ 41.55, 20: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 21: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 22: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 23: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 24: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 25: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 26: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 27: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 28: 08-15 23:00:00 - 08-15 23:30:00 @ 27.8, 29: 08-15 23:30:00 - 08-16 00:00:00 @ 29.09, 30: 08-16 00:00:00 - 08-16 00:30:00 @ 28.47, 31: 08-16 00:30:00 - 08-16 01:00:00 @ 27.18, 32: 08-16 01:00:00 - 08-16 01:30:00 @ 27.57, 33: 08-16 01:30:00 - 08-16 02:00:00 @ 26.5, 34: 08-16 02:00:00 - 08-16 02:30:00 @ 25.6, 35: 08-16 02:30:00 - 08-16 03:00:00 @ 24.79, 36: 08-16 03:00:00 - 08-16 03:30:00 @ 25.08, 37: 08-16 03:30:00 - 08-16 04:00:00 @ 24.62, 38: 08-16 04:00:00 - 08-16 04:30:00 @ 27.02, 39: 08-16 04:30:00 - 08-16 05:00:00 @ 26.47, 40: 08-16 05:00:00 - 08-16 05:30:00 @ 26.25, 41: 08-16 05:30:00 - 08-16 06:00:00 @ 26.4, 42: 08-16 06:00:00 - 08-16 06:30:00 @ 25.7, 43: 08-16 06:30:00 - 08-16 07:00:00 @ 27.63, 44: 08-16 07:00:00 - 08-16 07:30:00 @ 22.73, 45: 08-16 07:30:00 - 08-16 08:00:00 @ 26.7, 46: 08-16 08:00:00 - 08-16 08:30:00 @ 22.92, 47: 08-16 08:30:00 - 08-16 09:00:00 @ 22.48, 48: 08-16 09:00:00 - 08-16 09:30:00 @ 23.55, 49: 08-16 09:30:00 - 08-16 10:00:00 @ 23.64, 50: 08-16 10:00:00 - 08-16 10:30:00 @ 19.66, 51: 08-16 10:30:00 - 08-16 11:00:00 @ 17.66, 52: 08-16 11:00:00 - 08-16 11:30:00 @ 16.56, 53: 08-16 11:30:00 - 08-16 12:00:00 @ 15.46, 54: 08-16 12:00:00 - 08-16 12:30:00 @ 17.0, 55: 08-16 12:30:00 - 08-16 13:00:00 @ 16.34, 56: 08-16 13:00:00 - 08-16 13:30:00 @ 15.36, 57: 08-16 13:30:00 - 08-16 14:00:00 @ 15.74, 58: 08-16 14:00:00 - 08-16 14:30:00 @ 14.57, 59: 08-16 14:30:00 - 08-16 15:00:00 @ 13.77, 60: 08-16 15:00:00 - 08-16 15:30:00 @ 15.02, 61: 08-16 15:30:00 - 08-16 16:00:00 @ 15.87, 62: 08-16 16:00:00 - 08-16 16:30:00 @ 33.13, 63: 08-16 16:30:00 - 08-16 17:00:00 @ 33.13, 64: 08-16 17:00:00 - 08-16 17:30:00 @ 38.46, 65: 08-16 17:30:00 - 08-16 18:00:00 @ 40.44, 66: 08-16 18:00:00 - 08-16 18:30:00 @ 41.55, 67: 08-16 19:00:00 - 08-16 19:30:00 @ 32.58, 68: 08-16 19:30:00 - 08-16 20:00:00 @ 32.9, 69: 08-16 20:00:00 - 08-16 20:30:00 @ 31.99, 70: 08-16 20:30:00 - 08-16 21:00:00 @ 32.1, 71: 08-16 21:00:00 - 08-16 21:30:00 @ 31.71, 72: 08-16 21:30:00 - 08-16 22:00:00 @ 31.67, 73: 08-16 22:00:00 - 08-16 22:30:00 @ 31.77, 74: 08-16 22:30:00 - 08-16 23:00:00 @ 29.81, 75: 08-16 23:00:00 - 08-16 23:30:00 @ 27.8, 76: 08-16 23:30:00 - 08-17 00:00:00 @ 29.09, 77: 08-17 00:00:00 - 08-17 00:30:00 @ 28.47, 78: 08-17 00:30:00 - 08-17 01:00:00 @ 27.18, 79: 08-17 01:00:00 - 08-17 01:30:00 @ 27.57, 80: 08-17 01:30:00 - 08-17 02:00:00 @ 26.5, 81: 08-17 02:00:00 - 08-17 02:30:00 @ 25.6, 82: 08-17 02:30:00 - 08-17 03:00:00 @ 24.79, 83: 08-17 03:00:00 - 08-17 03:30:00 @ 25.08, 84: 08-17 03:30:00 - 08-17 04:00:00 @ 24.62, 85: 08-17 04:00:00 - 08-17 04:30:00 @ 27.02, 86: 08-17 04:30:00 - 08-17 05:00:00 @ 26.47, 87: 08-17 05:00:00 - 08-17 05:30:00 @ 26.25, 88: 08-17 05:30:00 - 08-17 06:00:00 @ 26.4, 89: 08-17 06:00:00 - 08-17 06:30:00 @ 25.7, 90: 08-17 06:30:00 - 08-17 07:00:00 @ 27.63, 91: 08-17 07:00:00 - 08-17 07:30:00 @ 22.73, 92: 08-17 07:30:00 - 08-17 08:00:00 @ 26.7, 93: 08-17 08:00:00 - 08-17 08:30:00 @ 22.92, 94: 08-17 08:30:00 - 08-17 09:00:00 @ 22.48]
2026-08-15 08:45:03.124600: Inverter 0 Charge window will be: 2026-08-15 11:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 9%, target 100%
2026-08-15 08:45:03.124774: Inverter 0 disabled charge window while waiting for schedule (now 08-15 08:45:00 target set_window_minutes 30 charge start time 08-15 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 08:45:03.124893: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 08:45:03.125221: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 08:45:03.125330: No export window planned
2026-08-15 08:45:03.125450: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 08:45:03.125488: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 08:45:03.125626: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 08:45:03.125831: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 08:45:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 08:45:03.125899: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 08:45:03.125962: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 08:45:03.126060: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 08:45:03.126104: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 08:45:03.126133: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 08:45:03.126164: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 08:45:03.126190: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 08:45:03.126219: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 08:45:03.126244: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 08:45:03.126305: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 08:45:03.126340: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 08:45:03.126366: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 08:45:03.126390: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 08:45:03.126413: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 08:45:03.126442: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 08:45:03.126491: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 08:45:03.126513: Inverter 0 count register writes 0
2026-08-15 08:45:03.143901: Will recompute the plan as it is now 10.0 minutes old and will exceed the max age of 10 minutes before the next run
2026-08-15 08:45:03.144109: Recompute is saving previous plan...
2026-08-15 08:45:03.147253: Best charge window [ 15-08 08:30:00 - 15-08 09:00:00 @ 22.48p 0%, 15-08 09:00:00 - 15-08 09:30:00 @ 23.55p 0%, 15-08 09:30:00 - 15-08 10:00:00 @ 23.64p 0%, 15-08 10:00:00 - 15-08 10:30:00 @ 19.66p 0%, 15-08 10:30:00 - 15-08 11:00:00 @ 17.66p 0%, 15-08 11:00:00 - 15-08 11:30:00 @ 16.56p 0%, 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 0%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 0%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 0%, 15-08 13:00:00 - 15-08 13:30:00 @ 15.36p 0%, 15-08 13:30:00 - 15-08 14:00:00 @ 15.74p 0%, 15-08 14:00:00 - 15-08 14:30:00 @ 14.57p 0%, 15-08 14:30:00 - 15-08 15:00:00 @ 13.77p 0%, 15-08 15:00:00 - 15-08 15:30:00 @ 15.02p 0%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 0%, 15-08 16:00:00 - 15-08 16:30:00 @ 33.13p 0%, 15-08 16:30:00 - 15-08 17:00:00 @ 33.13p 0%, 15-08 17:00:00 - 15-08 17:30:00 @ 38.46p 0%, 15-08 17:30:00 - 15-08 18:00:00 @ 40.44p 0%, 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 0%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 0%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 0%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 0%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 0%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 27.8p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 29.09p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.47p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.18p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 27.57p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.5p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.6p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 24.79p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 25.08p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 24.62p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 27.02p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.47p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 26.25p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.4p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.7p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 27.63p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 22.73p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 26.7p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 22.92p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 22.48p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 23.55p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 23.64p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 19.66p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 17.66p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 16.56p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 15.46p 0%, 16-08 12:00:00 - 16-08 12:30:00 @ 17.0p 0%, 16-08 12:30:00 - 16-08 13:00:00 @ 16.34p 0%, 16-08 13:00:00 - 16-08 13:30:00 @ 15.36p 0%, 16-08 13:30:00 - 16-08 14:00:00 @ 15.74p 0%, 16-08 14:00:00 - 16-08 14:30:00 @ 14.57p 0%, 16-08 14:30:00 - 16-08 15:00:00 @ 13.77p 0%, 16-08 15:00:00 - 16-08 15:30:00 @ 15.02p 0%, 16-08 15:30:00 - 16-08 16:00:00 @ 15.87p 0%, 16-08 16:00:00 - 16-08 16:30:00 @ 33.13p 0%, 16-08 16:30:00 - 16-08 17:00:00 @ 33.13p 0%, 16-08 17:00:00 - 16-08 17:30:00 @ 38.46p 0%, 16-08 17:30:00 - 16-08 18:00:00 @ 40.44p 0%, 16-08 18:00:00 - 16-08 18:30:00 @ 41.55p 0%, 16-08 19:00:00 - 16-08 19:30:00 @ 32.58p 0%, 16-08 19:30:00 - 16-08 20:00:00 @ 32.9p 0%, 16-08 20:00:00 - 16-08 20:30:00 @ 31.99p 0%, 16-08 20:30:00 - 16-08 21:00:00 @ 32.1p 0%, 16-08 21:00:00 - 16-08 21:30:00 @ 31.71p 0%, 16-08 21:30:00 - 16-08 22:00:00 @ 31.67p 0%, 16-08 22:00:00 - 16-08 22:30:00 @ 31.77p 0%, 16-08 22:30:00 - 16-08 23:00:00 @ 29.81p 0%, 16-08 23:00:00 - 16-08 23:30:00 @ 27.8p 0%, 16-08 23:30:00 - 17-08 00:00:00 @ 29.09p 0%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.47p 0%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.18p 0%, 17-08 01:00:00 - 17-08 01:30:00 @ 27.57p 0%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.5p 0%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.6p 0%, 17-08 02:30:00 - 17-08 03:00:00 @ 24.79p 0%, 17-08 03:00:00 - 17-08 03:30:00 @ 25.08p 0%, 17-08 03:30:00 - 17-08 04:00:00 @ 24.62p 0%, 17-08 04:00:00 - 17-08 04:30:00 @ 27.02p 0%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.47p 0%, 17-08 05:00:00 - 17-08 05:30:00 @ 26.25p 0%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.4p 0%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.7p 0%, 17-08 06:30:00 - 17-08 07:00:00 @ 27.63p 0%, 17-08 07:00:00 - 17-08 07:30:00 @ 22.73p 0%, 17-08 07:30:00 - 17-08 08:00:00 @ 26.7p 0%, 17-08 08:00:00 - 17-08 08:30:00 @ 22.92p 0%, 17-08 08:30:00 - 17-08 09:00:00 @ 22.48p 0% ]
2026-08-15 08:45:03.147335: Best export window [  ]
2026-08-15 08:45:03.148157: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 08:45:03.151231: Load divergence over 8.0 hours mean 640.86W, min 274.2W, max 1777.8W, std dev 357.57W, divergence 27.9%
2026-08-15 08:45:03.168619: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 08:45:03.168735: LoadML is_calculating False
2026-08-15 08:45:03.168812: Creating pool of 12 processes to match your CPU count
2026-08-15 08:45:03.262984: Calculate Best options: mode(Control charge & discharge), calculate_export_oncharge(False), calculate_export_on_pv(True), set_export_freeze_only(False), set_discharge_during_charge(True), combine_charge_slots(False), combine_export_slots(False), combine_rate_threshold(0.0), best_soc_min(0.0 kWh), best_soc_max(0.0 kWh), best_soc_keep(0.0 kWh), inverter_loss(4%), battery_loss(3%), battery_loss_discharge (3%), inverter_hybrid(True), metric_min_improvement(0.0p), metric_min_improvement_export(0.1p), metric_min_improvement_export_freeze(0.1p), metric_battery_cycle(0.0p/kWh), metric_battery_value_scaling(1.0 x) 
2026-08-15 08:45:03.265239: Optimise levels pass started at 2026-08-15 08:45:03
2026-08-15 08:45:03.265303: Optimise all windows, total charge 94 export 1
2026-08-15 08:45:04.207373: >> Region optimisation pass width 960 gives best_metric 821.46p, best_cost 849.34p, best_cycle 57.72kWh, best_import 40.14kWh
2026-08-15 08:45:04.609611: >> Region optimisation pass width 480 gives best_metric 821.46p, best_cost 849.34p, best_cycle 57.72kWh, best_import 40.14kWh
2026-08-15 08:45:05.176122: >> Region optimisation pass width 240 gives best_metric 821.46p, best_cost 849.34p, best_cycle 57.72kWh, best_import 40.14kWh
2026-08-15 08:45:06.308339: >> Region optimisation pass width 120 gives best_metric 821.46p, best_cost 849.34p, best_cycle 57.72kWh, best_import 40.14kWh
2026-08-15 08:45:06.308930: Calculated end_record as 08-16 11:30:00 based on best_price 16.34p, next_charge_start 08-15 11:30:00, max_windows 53
2026-08-15 08:45:06.309085: Optimise levels pass ended at 2026-08-15 08:45:06, duration 3.0 seconds tried 331 combinations
2026-08-15 08:45:06.309197: Set best_price_charge_level 17.6p, best_price_export_level 0p, best_price_charge 16.34p, best_cost_export 0p, best_metric 821.46p, best_keep 0kWh, best_cycle 57.72kWh, best_carbon 0kg, best_import 40.14kWh
2026-08-15 08:45:06.330928: Starting detailed optimisation end_record 08-16 11:30:00, best_price_charge 16.34p, best_price_export 0p. lowest_price_charge 13.77p with charge limits [0, 0, 0, 0, 0, 0, 16.0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0]kWh and export limits []kWh
2026-08-15 08:45:10.508617: Tweak plan optimisation started metric 573.78p, cost 583.44p
2026-08-15 08:45:10.783223: Tweak optimisation finished metric 573.78p, cost 583.44p, metric_keep 0kWh, cycle 29.2kWh, carbon 0kg, import 22.49kWh, changed 8 window(s)
2026-08-15 08:45:10.804734: Swap charge optimisation started metric 573.78p, cost 583.44p, min_improvement_swap 0.1p
2026-08-15 08:45:14.552429: Swap charge optimisation finished metric 573.78p, cost 583.44p
2026-08-15 08:45:14.655553: Pruned 1 dead plan slot(s) in 10 trial(s), nominal metric 570.2p -> 570.21p, plan now metric 573.8p, cost 583.46p, cycle 29.08kWh, import 22.48kWh
2026-08-15 08:45:14.665161: Raw charge windows [ 15-08 08:30:00 - 15-08 09:00:00 @ 22.48p 0%, 15-08 09:00:00 - 15-08 09:30:00 @ 23.55p 0%, 15-08 09:30:00 - 15-08 10:00:00 @ 23.64p 0%, 15-08 10:00:00 - 15-08 10:30:00 @ 19.66p 0%, 15-08 10:30:00 - 15-08 11:00:00 @ 17.66p 0%, 15-08 11:00:00 - 15-08 11:30:00 @ 16.56p 0%, 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 22%, 15-08 13:00:00 - 15-08 13:30:00 @ 15.36p 100%, 15-08 13:30:00 - 15-08 14:00:00 @ 15.74p 100%, 15-08 14:00:00 - 15-08 14:30:00 @ 14.57p 100%, 15-08 14:30:00 - 15-08 15:00:00 @ 13.77p 100%, 15-08 15:00:00 - 15-08 15:30:00 @ 15.02p 100%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 97%, 15-08 16:00:00 - 15-08 16:30:00 @ 33.13p 0%, 15-08 16:30:00 - 15-08 17:00:00 @ 33.13p 0%, 15-08 17:00:00 - 15-08 17:30:00 @ 38.46p 0%, 15-08 17:30:00 - 15-08 18:00:00 @ 40.44p 0%, 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 0%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 0%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 0%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 0%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 0%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 27.8p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 29.09p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.47p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.18p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 27.57p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.5p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.6p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 24.79p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 25.08p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 24.62p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 27.02p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.47p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 26.25p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.4p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.7p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 27.63p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 22.73p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 26.7p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 22.92p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 22.48p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 23.55p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 23.64p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 19.66p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 17.66p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 16.56p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 15.46p 100%, 16-08 12:00:00 - 16-08 12:30:00 @ 17.0p 100%, 16-08 12:30:00 - 16-08 13:00:00 @ 16.34p 100%, 16-08 13:00:00 - 16-08 13:30:00 @ 15.36p 100%, 16-08 13:30:00 - 16-08 14:00:00 @ 15.74p 100%, 16-08 14:00:00 - 16-08 14:30:00 @ 14.57p 100%, 16-08 14:30:00 - 16-08 15:00:00 @ 13.77p 100%, 16-08 15:00:00 - 16-08 15:30:00 @ 15.02p 100%, 16-08 15:30:00 - 16-08 16:00:00 @ 15.87p 100%, 16-08 16:00:00 - 16-08 16:30:00 @ 33.13p 100%, 16-08 16:30:00 - 16-08 17:00:00 @ 33.13p 100%, 16-08 17:00:00 - 16-08 17:30:00 @ 38.46p 100%, 16-08 17:30:00 - 16-08 18:00:00 @ 40.44p 100%, 16-08 18:00:00 - 16-08 18:30:00 @ 41.55p 100%, 16-08 19:00:00 - 16-08 19:30:00 @ 32.58p 100%, 16-08 19:30:00 - 16-08 20:00:00 @ 32.9p 100%, 16-08 20:00:00 - 16-08 20:30:00 @ 31.99p 100%, 16-08 20:30:00 - 16-08 21:00:00 @ 32.1p 100%, 16-08 21:00:00 - 16-08 21:30:00 @ 31.71p 100%, 16-08 21:30:00 - 16-08 22:00:00 @ 31.67p 100%, 16-08 22:00:00 - 16-08 22:30:00 @ 31.77p 100%, 16-08 22:30:00 - 16-08 23:00:00 @ 29.81p 100%, 16-08 23:00:00 - 16-08 23:30:00 @ 27.8p 100%, 16-08 23:30:00 - 17-08 00:00:00 @ 29.09p 100%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.47p 100%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.18p 100%, 17-08 01:00:00 - 17-08 01:30:00 @ 27.57p 100%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.5p 100%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.6p 100%, 17-08 02:30:00 - 17-08 03:00:00 @ 24.79p 100%, 17-08 03:00:00 - 17-08 03:30:00 @ 25.08p 100%, 17-08 03:30:00 - 17-08 04:00:00 @ 24.62p 100%, 17-08 04:00:00 - 17-08 04:30:00 @ 27.02p 100%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.47p 100%, 17-08 05:00:00 - 17-08 05:30:00 @ 26.25p 100%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.4p 100%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.7p 100%, 17-08 06:30:00 - 17-08 07:00:00 @ 27.63p 100%, 17-08 07:00:00 - 17-08 07:30:00 @ 22.73p 100%, 17-08 07:30:00 - 17-08 08:00:00 @ 26.7p 100%, 17-08 08:00:00 - 17-08 08:30:00 @ 22.92p 100%, 17-08 08:30:00 - 17-08 09:00:00 @ 22.48p 100% ] reserve 1.12
2026-08-15 08:45:14.665749: Unclipped charge windows [ 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 13:00:00 @ 16.67p 22%, 15-08 13:00:00 - 15-08 15:30:00 @ 14.71p 100%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 97%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 09:00:00 @ 23.41p 100% ] reserve 1.12
2026-08-15 08:45:14.665990: Unfiltered charge windows [ 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 13:00:00 @ 16.67p 22%, 15-08 13:00:00 - 15-08 15:30:00 @ 14.71p 100%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 97%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 09:00:00 @ 23.41p 100% ] reserve 1.12
2026-08-15 08:45:14.666207: Filtered charge windows [ 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 13:00:00 @ 16.67p 22%, 15-08 13:00:00 - 15-08 15:30:00 @ 14.71p 100%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 97%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 09:00:00 @ 23.41p 100% ] reserve 1.12
2026-08-15 08:45:14.695929: Previous plan best metric is 574.06 (cost 584.13) and new plan best metric is 573.78 (cost 583.44)
2026-08-15 08:45:14.696139: New plan metric is not significantly better (metric_min_improvement_plan 2.0) than previous plan, using previous plan
2026-08-15 08:45:14.696327: Plan valid is now true after recompute was False
2026-08-15 08:45:14.718603: predict base end_record 08-16 11:30:00, final soc 1.12kWh, metric 799.35p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 09:15:00, load 26.72kWh, PV 0.0kWh
2026-08-15 08:45:14.828144: Battery has 0.5 hours left - now at 1.44kWh
2026-08-15 08:45:14.869087: predict base10 end_record 08-16 11:30:00, final soc 1.12kWh, metric 824.24p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 09:10:00, load 27.71kWh, PV 0.0kWh
2026-08-15 08:45:14.937785: predict best10 end_record 08-16 11:30:00, final soc 1.12kWh, metric 655.25p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 09:10:00, load 27.71kWh, PV 0.0kWh
2026-08-15 08:45:15.014980: predict best end_record 08-16 11:30:00, final soc 1.12kWh, metric 634.11p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 09:15:00, load 26.72kWh, PV 0.0kWh
2026-08-15 08:45:15.015086: Saving plan best values to HA entities
2026-08-15 08:45:15.152378: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0
2026-08-15 08:45:15.157112: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 08:45:15.161816: Best charging limit SoC's [16.0, 3.5, 4.0, 16.0, 16.0, 16.0]kWh, export []kWh gives import battery 20.25kWh, house 2.3kWh, export 0.0kWh, metric 634.11p, metric10 655.25p
2026-08-15 08:45:15.227767: Marginal costs baseline metric (no standing charge): 584.1313
2026-08-15 08:45:15.438847: Marginal energy costs matrix computed: min=14.92 max=30.58
2026-08-15 08:45:15.502722: Rate array import [{'start': 525, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 23.6p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1860, 'rate': 'expensive', 'range': '(24.6p - 32.9p)'}, {'start': 1860, 'end': 1890, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 1890, 'end': 1920, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 1920, 'end': 2130, 'rate': 'cheap', 'range': '(16.6p - 23.6p)'}] export [{'start': 525, 'end': 2130, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 08:45:15.503373: - Your estimated bill for today is £5.79 and tomorrow is £5.39
2026-08-15 08:45:15.503418: - Import rates are cheap (13.8p - 23.6p) for the next 7 and a quarter hours and then expensive (33.1p) for the next 1 hour.
2026-08-15 08:45:15.503440: - The battery is currently at 9% and is in eco mode for the next 2 and three quarters hours.
2026-08-15 08:45:15.503459: - For the next 48 hours there will be no solar generation.
2026-08-15 08:45:15.503480: - You will run out of battery in 30 minutes.
2026-08-15 08:45:15.503497: - Your next charge slot will be in 2 and three quarters hours where import rates will be cheap (15.5p).
2026-08-15 08:45:15.503514: 
2026-08-15 08:45:15.557286: Plan calculation took 12.41 seconds
2026-08-15 08:45:15.557715: Inverter 0: Type SK Sunsynk
2026-08-15 08:45:15.558777: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 08:45:15.559106: Reserve min: 7%, battery_min: 7%
2026-08-15 08:45:15.559198: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 08:45:15.559539: Inverter 0 SoC: 1.44kW 9%, current charge rate 5000W, current discharge rate 5250W, current battery power 278W, current battery voltage 51.2V, grid power -55W, load power 337W, PV Power 0W
2026-08-15 08:45:15.559803: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 08:45:15.559919: Inverter 0 scheduled charge enable is False
2026-08-15 08:45:15.559960: Inverter 0 charge windows currently []
2026-08-15 08:45:15.559990: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 08:45:15.560106: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 08:45:15.560142: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 08:45:15.560178: Inverter 0 scheduled discharge enable is False
2026-08-15 08:45:15.560308: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 08:45:15.560347: Inverter 0 discharge windows currently []
2026-08-15 08:45:15.560371: Note: Inverter does not support discharge freeze - disabled
2026-08-15 08:45:15.560393: Note: Inverter does not support charge freeze - disabled
2026-08-15 08:45:15.560410: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 08:45:15.616535: Inverter 0 Charge window will be: 2026-08-15 11:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 9%, target 100%
2026-08-15 08:45:15.616667: Inverter 0 disabled charge window while waiting for schedule (now 08-15 08:45:00 target set_window_minutes 30 charge start time 08-15 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 08:45:15.616744: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 08:45:15.616927: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 08:45:15.617018: No export window planned
2026-08-15 08:45:15.617115: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 08:45:15.617145: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 08:45:15.617262: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 08:45:15.617422: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 08:45:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 08:45:15.617460: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 08:45:15.617511: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 08:45:15.617615: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 08:45:15.617650: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 08:45:15.617673: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 08:45:15.617712: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 08:45:15.617736: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 08:45:15.617756: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 08:45:15.617775: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 08:45:15.617829: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 08:45:15.617855: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 08:45:15.617875: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 08:45:15.617900: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 08:45:15.617919: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 08:45:15.617941: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 08:45:15.617960: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 08:45:15.617984: Inverter 0 count register writes 0
2026-08-15 08:45:15.640533: Total inverter register writes now 815
2026-08-15 08:45:15.676691: Info: Completed run status Demand
2026-08-15 08:45:15.683170: Info: record_status Demand
2026-08-15 08:45:15.690014: Saved current settings to /config/predbat_config.json
2026-08-15 08:45:15.690330: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 08:45:56.801934: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 08:45:56.802149: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 08:45:56.802188: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 08:45:56.802297: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 08:45:56.802331: Note: Inverter does not support discharge freeze - disabled
2026-08-15 08:45:56.802374: Note: Inverter does not support charge freeze - disabled
2026-08-15 08:45:56.802405: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 08:47:57.013500: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 08:47:57.013824: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 08:47:57.013877: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 08:47:57.014066: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 08:47:57.014113: Note: Inverter does not support discharge freeze - disabled
2026-08-15 08:47:57.014146: Note: Inverter does not support charge freeze - disabled
2026-08-15 08:47:57.014173: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 08:49:57.234020: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 08:49:57.234311: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 08:49:57.234355: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 08:49:57.234492: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 08:49:57.234531: Note: Inverter does not support discharge freeze - disabled
2026-08-15 08:49:57.234552: Note: Inverter does not support charge freeze - disabled
2026-08-15 08:49:57.234569: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 08:50:00.334239: --------------- PredBat - update at 2026-08-15 08:50:00+01:00 with clock skew 0 minutes, minutes now 530
2026-08-15 08:50:00.335131: Saved current settings to /config/predbat_config.json
2026-08-15 08:50:00.335261: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 40.0 minutes
2026-08-15 08:50:00.335344: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.1, latest beta is v8.48.1
2026-08-15 08:50:00.335423: Autoupdate: Currently up to date
2026-08-15 08:50:00.358338: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 08:50:00.358509: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 08:50:00.358755: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 08:50:00.359456: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 08:50:00.359619: Predbat mode is set to Control charge & discharge
2026-08-15 08:50:00.574256: Found 21602 load_today datapoints going back 28 days
2026-08-15 08:50:00.574434: Using load_power data to fill gaps in load_today data
2026-08-15 08:50:01.426207: Processing 721 30-minute periods for power integration
2026-08-15 08:50:01.612157: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 08:50:01.612302: Car charging hold False, threshold 6.0kWh
2026-08-15 08:50:01.612348: Current data so far today: load 6.12kWh, import 6.9kWh, export 0.0kWh, PV 0kWh
2026-08-15 08:50:01.626914: Cars: SoC: [12.892000000000001]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 08:50:01.627310: Standing charge is set to 49.98p
2026-08-15 08:50:01.661520: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 08:50:01.661625: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 08:50:01.661850: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 530.0 minutes
2026-08-15 08:50:01.662239: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 529.6 minutes
2026-08-15 08:50:01.665309: Loaded 47 datapoints of futurerate analysis
2026-08-15 08:50:01.752316: Predicted future rates: ['08-15 00:00:00 => 28.9 / 20.01', '08-15 01:00:00 => 27.54 / 19.31', '08-15 02:00:00 => 26.52 / 18.8', '08-15 03:00:00 => 25.99 / 18.53', '08-15 04:00:00 => 25.8 / 18.43', '08-15 05:00:00 => 25.96 / 18.51', '08-15 06:00:00 => 25.55 / 18.3', '08-15 07:00:00 => 24.33 / 17.68', '08-15 08:00:00 => 23.03 / 17.01', '08-15 09:00:00 => 22.05 / 16.51', '08-15 10:00:00 => 20.43 / 15.68', '08-15 11:00:00 => 18.01 / 14.45', '08-15 12:00:00 => 16.37 / 13.61', '08-15 13:00:00 => 15.76 / 13.3', '08-15 14:00:00 => 15.35 / 13.09', '08-15 15:00:00 => 15.86 / 13.35', '08-15 16:00:00 => 32.89 / 16.13', '08-15 17:00:00 => 38.02 / 18.75', '08-15 18:00:00 => 42.36 / 20.96', '08-15 19:00:00 => 31.09 / 21.13', '08-15 20:00:00 => 31.64 / 21.41', '08-15 21:00:00 => 31.64 / 21.41', '08-15 22:00:00 => 30.58 / 20.87']
2026-08-15 08:50:01.823684: Rate min forward looking: now 13.77p at end of forecast 13.77p
2026-08-15 08:50:01.824293: Import rates: min 13.77p, max 43.82p, average 25.96p
2026-08-15 08:50:01.871018: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 08:50:01.871172: Rate thresholds (for charge/export) are import 43.32p (0.0p), export -0.1p (0.0p)
2026-08-15 08:50:01.872724: High export rate found rates in range 99p to -99p
2026-08-15 08:50:01.974330: Low Import rate found rates in range 13.77p to 41.55p
2026-08-15 08:50:01.974488: Car 0 charging is not planned as it is not plugged in
2026-08-15 08:50:01.988917: Battery level now 1.44kWh, -1hr ago 1.76kWh, at midnight 1.66kWh, battery value change in the last hour -3.78p, change today -2.55p, rate_forward 11.83p
2026-08-15 08:50:01.989384: Last hour: net energy 0.02kWh, import 0.02kWh, export 0.0kWh, car 0kWh, load 0.3kWh, net cost 0.47p, import 0.47p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 08:50:02.049290: Today's energy total net 6.9kWh, import 6.9kWh, export 0.0kWh, cost 233.78p, import 183.8p, export 0.0p, carbon 0.0kg
2026-08-15 08:50:02.049429: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 08:50:02.136355: Using weighted-bucket historical load forecast over 14 days
2026-08-15 08:50:02.161774: Today's load divergence 107.02%, in-day adjustment 130.11%, damping 0.95x, yesterday 143.77% today 106.67% blend 63.19%
2026-08-15 08:50:02.161864: Today's predicted so far 4.96kWh with 0.0kWh car/iBoost excluded, 2.73kWh import ignored, and 4.96kWh forecast extra.
2026-08-15 08:50:02.161896: Today's actual load so far 6.13kWh with 0.0kWh car/iBoost excluded, and 2.73kWh import ignored.
2026-08-15 08:50:02.200382: Inverter 0: Type SK Sunsynk
2026-08-15 08:50:02.200472: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 08:50:02.200656: Reserve min: 7%, battery_min: 7%
2026-08-15 08:50:02.200743: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 08:50:02.201068: Inverter 0 SoC: 1.42kW 9%, current charge rate 5000W, current discharge rate 5250W, current battery power -4474W, current battery voltage 51.2V, grid power -5186W, load power 191W, PV Power 0W
2026-08-15 08:50:02.201242: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 08:50:02.201333: Inverter 0 scheduled charge enable is False
2026-08-15 08:50:02.201361: Inverter 0 charge windows currently []
2026-08-15 08:50:02.201397: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 08:50:02.201506: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 08:50:02.201542: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 08:50:02.201578: Inverter 0 scheduled discharge enable is False
2026-08-15 08:50:02.201722: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 08:50:02.201762: Inverter 0 discharge windows currently []
2026-08-15 08:50:02.201785: Note: Inverter does not support discharge freeze - disabled
2026-08-15 08:50:02.201807: Note: Inverter does not support charge freeze - disabled
2026-08-15 08:50:02.201824: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 08:50:02.277844: Dynamic load last period 0.30kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 08:50:02.277958: Plan was last updated on 2026-08-15 08:45:00+01:00 and is now 5.0 minutes old
2026-08-15 08:50:02.278241: Best charge window [ 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 00:30:00 @ 28.84p 100% ]
2026-08-15 08:50:02.278305: Best export window [  ]
2026-08-15 08:50:02.279074: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 08:50:02.282337: Load divergence over 8.0 hours mean 641.4W, min 283.2W, max 1692.6W, std dev 333.5W, divergence 26.0%
2026-08-15 08:50:02.301183: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 08:50:02.301320: LoadML is_calculating False
2026-08-15 08:50:02.301389: Creating pool of 12 processes to match your CPU count
2026-08-15 08:50:02.423492: predict base end_record 08-16 11:35:00, final soc 1.12kWh, metric 800.67p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 09:15:00, load 26.92kWh, PV 0.0kWh
2026-08-15 08:50:02.582816: Battery has 0.42 hours left - now at 1.42kWh
2026-08-15 08:50:02.634335: predict base10 end_record 08-16 11:35:00, final soc 1.12kWh, metric 825.65p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 09:15:00, load 27.91kWh, PV 0.0kWh
2026-08-15 08:50:02.725927: predict best10 end_record 08-16 11:35:00, final soc 1.44kWh, metric 661.89p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 09:15:00, load 27.91kWh, PV 0.0kWh
2026-08-15 08:50:02.813186: predict best end_record 08-16 11:35:00, final soc 1.51kWh, metric 641.68p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 09:15:00, load 26.92kWh, PV 0.0kWh
2026-08-15 08:50:02.813286: Saving plan best values to HA entities
2026-08-15 08:50:02.994546: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 08:50:02.999433: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0.0
2026-08-15 08:50:03.004245: Best charging limit SoC's [16.0, 3.5, 4.0, 16.0, 16.0, 16.0]kWh, export []kWh gives import battery 20.76kWh, house 2.29kWh, export 0.0kWh, metric 641.68p, metric10 661.89p
2026-08-15 08:50:03.073792: Marginal costs baseline metric (no standing charge): 591.7008
2026-08-15 08:50:03.296994: Marginal energy costs matrix computed: min=15.09 max=30.9
2026-08-15 08:50:03.379035: Rate array import [{'start': 530, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 23.6p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1860, 'rate': 'expensive', 'range': '(24.6p - 32.9p)'}, {'start': 1860, 'end': 1890, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 1890, 'end': 1920, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 1920, 'end': 2135, 'rate': 'cheap', 'range': '(15.5p - 23.6p)'}] export [{'start': 530, 'end': 2135, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 08:50:03.379781: - Your estimated bill for today is £5.78 and tomorrow is £5.40
2026-08-15 08:50:03.379828: - Import rates are cheap (13.8p - 23.6p) for the next 7 and a quarter hours and then expensive (33.1p) for the next 1 hour.
2026-08-15 08:50:03.379851: - The battery is currently at 9% and is in eco mode for the next 2 and three quarters hours.
2026-08-15 08:50:03.379870: - For the next 48 hours there will be no solar generation.
2026-08-15 08:50:03.379887: - You will run out of battery in 25 minutes.
2026-08-15 08:50:03.379903: - Your next charge slot will be in 2 and three quarters hours where import rates will be cheap (15.5p).
2026-08-15 08:50:03.379925: 
2026-08-15 08:50:03.440834: Plan calculation took 1.16 seconds
2026-08-15 08:50:03.444449: No high rate period found
2026-08-15 08:50:03.504476: Import threshold used for optimisation was 22.48p
2026-08-15 08:50:03.591595: Low import rate windows [0: 08-15 08:30:00 - 08-15 09:00:00 @ 22.48, 1: 08-15 09:00:00 - 08-15 09:30:00 @ 23.55, 2: 08-15 09:30:00 - 08-15 10:00:00 @ 23.64, 3: 08-15 10:00:00 - 08-15 10:30:00 @ 19.66, 4: 08-15 10:30:00 - 08-15 11:00:00 @ 17.66, 5: 08-15 11:00:00 - 08-15 11:30:00 @ 16.56, 6: 08-15 11:30:00 - 08-15 12:00:00 @ 15.46, 7: 08-15 12:00:00 - 08-15 12:30:00 @ 17.0, 8: 08-15 12:30:00 - 08-15 13:00:00 @ 16.34, 9: 08-15 13:00:00 - 08-15 13:30:00 @ 15.36, 10: 08-15 13:30:00 - 08-15 14:00:00 @ 15.74, 11: 08-15 14:00:00 - 08-15 14:30:00 @ 14.57, 12: 08-15 14:30:00 - 08-15 15:00:00 @ 13.77, 13: 08-15 15:00:00 - 08-15 15:30:00 @ 15.02, 14: 08-15 15:30:00 - 08-15 16:00:00 @ 15.87, 15: 08-15 16:00:00 - 08-15 16:30:00 @ 33.13, 16: 08-15 16:30:00 - 08-15 17:00:00 @ 33.13, 17: 08-15 17:00:00 - 08-15 17:30:00 @ 38.46, 18: 08-15 17:30:00 - 08-15 18:00:00 @ 40.44, 19: 08-15 18:00:00 - 08-15 18:30:00 @ 41.55, 20: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 21: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 22: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 23: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 24: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 25: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 26: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 27: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 28: 08-15 23:00:00 - 08-15 23:30:00 @ 27.8, 29: 08-15 23:30:00 - 08-16 00:00:00 @ 29.09, 30: 08-16 00:00:00 - 08-16 00:30:00 @ 28.47, 31: 08-16 00:30:00 - 08-16 01:00:00 @ 27.18, 32: 08-16 01:00:00 - 08-16 01:30:00 @ 27.57, 33: 08-16 01:30:00 - 08-16 02:00:00 @ 26.5, 34: 08-16 02:00:00 - 08-16 02:30:00 @ 25.6, 35: 08-16 02:30:00 - 08-16 03:00:00 @ 24.79, 36: 08-16 03:00:00 - 08-16 03:30:00 @ 25.08, 37: 08-16 03:30:00 - 08-16 04:00:00 @ 24.62, 38: 08-16 04:00:00 - 08-16 04:30:00 @ 27.02, 39: 08-16 04:30:00 - 08-16 05:00:00 @ 26.47, 40: 08-16 05:00:00 - 08-16 05:30:00 @ 26.25, 41: 08-16 05:30:00 - 08-16 06:00:00 @ 26.4, 42: 08-16 06:00:00 - 08-16 06:30:00 @ 25.7, 43: 08-16 06:30:00 - 08-16 07:00:00 @ 27.63, 44: 08-16 07:00:00 - 08-16 07:30:00 @ 22.73, 45: 08-16 07:30:00 - 08-16 08:00:00 @ 26.7, 46: 08-16 08:00:00 - 08-16 08:30:00 @ 22.92, 47: 08-16 08:30:00 - 08-16 09:00:00 @ 22.48, 48: 08-16 09:00:00 - 08-16 09:30:00 @ 23.55, 49: 08-16 09:30:00 - 08-16 10:00:00 @ 23.64, 50: 08-16 10:00:00 - 08-16 10:30:00 @ 19.66, 51: 08-16 10:30:00 - 08-16 11:00:00 @ 17.66, 52: 08-16 11:00:00 - 08-16 11:30:00 @ 16.56, 53: 08-16 11:30:00 - 08-16 12:00:00 @ 15.46, 54: 08-16 12:00:00 - 08-16 12:30:00 @ 17.0, 55: 08-16 12:30:00 - 08-16 13:00:00 @ 16.34, 56: 08-16 13:00:00 - 08-16 13:30:00 @ 15.36, 57: 08-16 13:30:00 - 08-16 14:00:00 @ 15.74, 58: 08-16 14:00:00 - 08-16 14:30:00 @ 14.57, 59: 08-16 14:30:00 - 08-16 15:00:00 @ 13.77, 60: 08-16 15:00:00 - 08-16 15:30:00 @ 15.02, 61: 08-16 15:30:00 - 08-16 16:00:00 @ 15.87, 62: 08-16 16:00:00 - 08-16 16:30:00 @ 33.13, 63: 08-16 16:30:00 - 08-16 17:00:00 @ 33.13, 64: 08-16 17:00:00 - 08-16 17:30:00 @ 38.46, 65: 08-16 17:30:00 - 08-16 18:00:00 @ 40.44, 66: 08-16 18:00:00 - 08-16 18:30:00 @ 41.55, 67: 08-16 19:00:00 - 08-16 19:30:00 @ 32.58, 68: 08-16 19:30:00 - 08-16 20:00:00 @ 32.9, 69: 08-16 20:00:00 - 08-16 20:30:00 @ 31.99, 70: 08-16 20:30:00 - 08-16 21:00:00 @ 32.1, 71: 08-16 21:00:00 - 08-16 21:30:00 @ 31.71, 72: 08-16 21:30:00 - 08-16 22:00:00 @ 31.67, 73: 08-16 22:00:00 - 08-16 22:30:00 @ 31.77, 74: 08-16 22:30:00 - 08-16 23:00:00 @ 29.81, 75: 08-16 23:00:00 - 08-16 23:30:00 @ 27.8, 76: 08-16 23:30:00 - 08-17 00:00:00 @ 29.09, 77: 08-17 00:00:00 - 08-17 00:30:00 @ 28.47, 78: 08-17 00:30:00 - 08-17 01:00:00 @ 27.18, 79: 08-17 01:00:00 - 08-17 01:30:00 @ 27.57, 80: 08-17 01:30:00 - 08-17 02:00:00 @ 26.5, 81: 08-17 02:00:00 - 08-17 02:30:00 @ 25.6, 82: 08-17 02:30:00 - 08-17 03:00:00 @ 24.79, 83: 08-17 03:00:00 - 08-17 03:30:00 @ 25.08, 84: 08-17 03:30:00 - 08-17 04:00:00 @ 24.62, 85: 08-17 04:00:00 - 08-17 04:30:00 @ 27.02, 86: 08-17 04:30:00 - 08-17 05:00:00 @ 26.47, 87: 08-17 05:00:00 - 08-17 05:30:00 @ 26.25, 88: 08-17 05:30:00 - 08-17 06:00:00 @ 26.4, 89: 08-17 06:00:00 - 08-17 06:30:00 @ 25.7, 90: 08-17 06:30:00 - 08-17 07:00:00 @ 27.63, 91: 08-17 07:00:00 - 08-17 07:30:00 @ 22.73, 92: 08-17 07:30:00 - 08-17 08:00:00 @ 26.7, 93: 08-17 08:00:00 - 08-17 08:30:00 @ 22.92, 94: 08-17 08:30:00 - 08-17 09:00:00 @ 22.48]
2026-08-15 08:50:03.600878: Inverter 0 Charge window will be: 2026-08-15 11:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 9%, target 100%
2026-08-15 08:50:03.601061: Inverter 0 disabled charge window while waiting for schedule (now 08-15 08:50:00 target set_window_minutes 30 charge start time 08-15 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 08:50:03.601179: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 08:50:03.601449: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 08:50:03.601545: No export window planned
2026-08-15 08:50:03.601658: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 08:50:03.601715: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 08:50:03.601854: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 08:50:03.602039: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 08:50:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 08:50:03.602102: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 08:50:03.602165: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 08:50:03.602262: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 08:50:03.602307: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 08:50:03.602335: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 08:50:03.602361: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 08:50:03.602385: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 08:50:03.602409: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 08:50:03.602433: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 08:50:03.602492: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 08:50:03.602521: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 08:50:03.602546: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 08:50:03.602571: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 08:50:03.602595: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 08:50:03.602618: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 08:50:03.602641: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 08:50:03.602667: Inverter 0 count register writes 0
2026-08-15 08:50:03.622943: Will not recompute the plan, it is 5.0 minutes old and max age is 10 minutes
2026-08-15 08:50:03.629474: Total inverter register writes now 815
2026-08-15 08:50:03.667580: Info: Completed run status Demand
2026-08-15 08:50:03.675207: Info: record_status Demand
2026-08-15 08:50:03.683669: Saved current settings to /config/predbat_config.json
2026-08-15 08:50:03.684037: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 08:50:41.790589: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 08:50:41.790888: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 08:50:41.790936: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 08:50:41.791102: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 08:50:41.791165: Note: Inverter does not support discharge freeze - disabled
2026-08-15 08:50:41.791187: Note: Inverter does not support charge freeze - disabled
2026-08-15 08:50:41.791205: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 08:52:42.014438: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 08:52:42.014730: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 08:52:42.014776: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 08:52:42.014937: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 08:52:42.014977: Note: Inverter does not support discharge freeze - disabled
2026-08-15 08:52:42.014998: Note: Inverter does not support charge freeze - disabled
2026-08-15 08:52:42.015016: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 08:54:42.233908: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 08:54:42.234132: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 08:54:42.234161: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 08:54:42.234342: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 08:54:42.234382: Note: Inverter does not support discharge freeze - disabled
2026-08-15 08:54:42.234400: Note: Inverter does not support charge freeze - disabled
2026-08-15 08:54:42.234416: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 08:55:00.333625: --------------- PredBat - update at 2026-08-15 08:55:00+01:00 with clock skew 0 minutes, minutes now 535
2026-08-15 08:55:00.334353: Saved current settings to /config/predbat_config.json
2026-08-15 08:55:00.334521: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 45.0 minutes
2026-08-15 08:55:00.334663: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.1, latest beta is v8.48.1
2026-08-15 08:55:00.334729: Autoupdate: Currently up to date
2026-08-15 08:55:00.353201: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 08:55:00.353333: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 08:55:00.353522: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 08:55:00.354048: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 08:55:00.354171: Predbat mode is set to Control charge & discharge
2026-08-15 08:55:00.527929: Found 21602 load_today datapoints going back 28 days
2026-08-15 08:55:00.528069: Using load_power data to fill gaps in load_today data
2026-08-15 08:55:01.246317: Processing 721 30-minute periods for power integration
2026-08-15 08:55:01.423285: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 08:55:01.423450: Car charging hold False, threshold 6.0kWh
2026-08-15 08:55:01.423491: Current data so far today: load 6.15kWh, import 6.9kWh, export 0.0kWh, PV 0kWh
2026-08-15 08:55:01.435968: Cars: SoC: [12.892000000000001]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 08:55:01.436845: Standing charge is set to 49.98p
2026-08-15 08:55:01.462007: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 08:55:01.462104: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 08:55:01.462374: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 535.0 minutes
2026-08-15 08:55:01.462886: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 534.6 minutes
2026-08-15 08:55:01.466239: Loaded 47 datapoints of futurerate analysis
2026-08-15 08:55:01.540514: Predicted future rates: ['08-15 00:00:00 => 28.9 / 20.01', '08-15 01:00:00 => 27.54 / 19.31', '08-15 02:00:00 => 26.52 / 18.8', '08-15 03:00:00 => 25.99 / 18.53', '08-15 04:00:00 => 25.8 / 18.43', '08-15 05:00:00 => 25.96 / 18.51', '08-15 06:00:00 => 25.55 / 18.3', '08-15 07:00:00 => 24.33 / 17.68', '08-15 08:00:00 => 23.03 / 17.01', '08-15 09:00:00 => 22.05 / 16.51', '08-15 10:00:00 => 20.43 / 15.68', '08-15 11:00:00 => 18.01 / 14.45', '08-15 12:00:00 => 16.37 / 13.61', '08-15 13:00:00 => 15.76 / 13.3', '08-15 14:00:00 => 15.35 / 13.09', '08-15 15:00:00 => 15.86 / 13.35', '08-15 16:00:00 => 32.89 / 16.13', '08-15 17:00:00 => 38.02 / 18.75', '08-15 18:00:00 => 42.36 / 20.96', '08-15 19:00:00 => 31.09 / 21.13', '08-15 20:00:00 => 31.64 / 21.41', '08-15 21:00:00 => 31.64 / 21.41', '08-15 22:00:00 => 30.58 / 20.87']
2026-08-15 08:55:01.590515: Rate min forward looking: now 13.77p at end of forecast 13.77p
2026-08-15 08:55:01.590985: Import rates: min 13.77p, max 43.82p, average 25.96p
2026-08-15 08:55:01.626768: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 08:55:01.626909: Rate thresholds (for charge/export) are import 43.32p (0.0p), export -0.1p (0.0p)
2026-08-15 08:55:01.628165: High export rate found rates in range 99p to -99p
2026-08-15 08:55:01.705965: Low Import rate found rates in range 13.77p to 41.55p
2026-08-15 08:55:01.706093: Car 0 charging is not planned as it is not plugged in
2026-08-15 08:55:01.719612: Battery level now 1.42kWh, -1hr ago 1.6kWh, at midnight 1.66kWh, battery value change in the last hour -2.08p, change today -2.74p, rate_forward 11.83p
2026-08-15 08:55:01.720020: Last hour: net energy 0.01kWh, import 0.01kWh, export 0.0kWh, car 0kWh, load 0.3kWh, net cost 0.31p, import 0.31p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 08:55:01.774696: Today's energy total net 6.9kWh, import 6.9kWh, export 0.0kWh, cost 233.78p, import 183.8p, export 0.0p, carbon 0.0kg
2026-08-15 08:55:01.774826: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 08:55:01.841931: Using weighted-bucket historical load forecast over 14 days
2026-08-15 08:55:01.863586: Today's load divergence 106.84%, in-day adjustment 129.92%, damping 0.95x, yesterday 143.77% today 106.5% blend 62.85%
2026-08-15 08:55:01.863689: Today's predicted so far 4.97kWh with 0.0kWh car/iBoost excluded, 2.69kWh import ignored, and 4.97kWh forecast extra.
2026-08-15 08:55:01.863716: Today's actual load so far 6.11kWh with 0.0kWh car/iBoost excluded, and 2.69kWh import ignored.
2026-08-15 08:55:01.899164: Inverter 0: Type SK Sunsynk
2026-08-15 08:55:01.899247: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 08:55:01.899410: Reserve min: 7%, battery_min: 7%
2026-08-15 08:55:01.899474: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 08:55:01.899714: Inverter 0 SoC: 1.56kW 10%, current charge rate 5000W, current discharge rate 5250W, current battery power -4468W, current battery voltage 51.2V, grid power -5230W, load power 233W, PV Power 0W
2026-08-15 08:55:01.899870: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 08:55:01.899945: Inverter 0 scheduled charge enable is False
2026-08-15 08:55:01.899974: Inverter 0 charge windows currently []
2026-08-15 08:55:01.899996: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 08:55:01.900080: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 08:55:01.900109: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 08:55:01.900138: Inverter 0 scheduled discharge enable is False
2026-08-15 08:55:01.900238: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 08:55:01.900269: Inverter 0 discharge windows currently []
2026-08-15 08:55:01.900287: Note: Inverter does not support discharge freeze - disabled
2026-08-15 08:55:01.900302: Note: Inverter does not support charge freeze - disabled
2026-08-15 08:55:01.900315: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 08:55:01.956786: Dynamic load last period 0.30kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 08:55:01.956897: Plan was last updated on 2026-08-15 08:45:00+01:00 and is now 10.0 minutes old
2026-08-15 08:55:01.957222: Best charge window [ 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 00:30:00 @ 28.84p 100% ]
2026-08-15 08:55:01.957271: Best export window [  ]
2026-08-15 08:55:01.958033: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 08:55:01.961202: Load divergence over 8.0 hours mean 640.74W, min 287.4W, max 1838.4W, std dev 338.86W, divergence 26.44%
2026-08-15 08:55:01.976688: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 08:55:01.976771: LoadML is_calculating False
2026-08-15 08:55:01.976826: Creating pool of 12 processes to match your CPU count
2026-08-15 08:55:02.089440: predict base end_record 08-16 11:40:00, final soc 1.12kWh, metric 798.38p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 09:35:00, load 27.0kWh, PV 0.0kWh
2026-08-15 08:55:02.202189: Battery has 0.67 hours left - now at 1.56kWh
2026-08-15 08:55:02.246315: predict base10 end_record 08-16 11:40:00, final soc 1.12kWh, metric 823.33p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 09:30:00, load 27.99kWh, PV 0.0kWh
2026-08-15 08:55:02.330868: predict best10 end_record 08-16 11:40:00, final soc 1.77kWh, metric 664.82p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 09:30:00, load 27.99kWh, PV 0.0kWh
2026-08-15 08:55:02.410747: predict best end_record 08-16 11:40:00, final soc 1.9kWh, metric 645.71p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 09:35:00, load 27.0kWh, PV 0.0kWh
2026-08-15 08:55:02.410857: Saving plan best values to HA entities
2026-08-15 08:55:02.624641: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 08:55:02.631672: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0.0
2026-08-15 08:55:02.640169: Best charging limit SoC's [16.0, 3.5, 4.0, 16.0, 16.0, 16.0]kWh, export []kWh gives import battery 21.27kWh, house 2.13kWh, export 0.0kWh, metric 645.71p, metric10 664.82p
2026-08-15 08:55:02.746086: Marginal costs baseline metric (no standing charge): 595.7247
2026-08-15 08:55:03.025586: Marginal energy costs matrix computed: min=15.27 max=31.21
2026-08-15 08:55:03.100595: Rate array import [{'start': 535, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 23.6p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1860, 'rate': 'expensive', 'range': '(24.6p - 32.9p)'}, {'start': 1860, 'end': 1890, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 1890, 'end': 1920, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 1920, 'end': 2140, 'rate': 'cheap', 'range': '(15.5p - 23.6p)'}] export [{'start': 535, 'end': 2140, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 08:55:03.101332: - Your estimated bill for today is £5.74 and tomorrow is £5.41
2026-08-15 08:55:03.101383: - Import rates are cheap (13.8p - 23.6p) for the next 7 hours and then expensive (33.1p) for the next 1 hour.
2026-08-15 08:55:03.101406: - The battery is currently at 10% and is in eco mode for the next 2 and a half hours.
2026-08-15 08:55:03.101425: - For the next 48 hours there will be no solar generation.
2026-08-15 08:55:03.101442: - You will run out of battery in 40 minutes.
2026-08-15 08:55:03.101463: - Your next charge slot will be in 2 and a half hours where import rates will be cheap (15.5p).
2026-08-15 08:55:03.101481: 
2026-08-15 08:55:03.155304: Plan calculation took 1.20 seconds
2026-08-15 08:55:03.158774: No high rate period found
2026-08-15 08:55:03.213501: Import threshold used for optimisation was 22.48p
2026-08-15 08:55:03.270365: Low import rate windows [0: 08-15 08:30:00 - 08-15 09:00:00 @ 22.48, 1: 08-15 09:00:00 - 08-15 09:30:00 @ 23.55, 2: 08-15 09:30:00 - 08-15 10:00:00 @ 23.64, 3: 08-15 10:00:00 - 08-15 10:30:00 @ 19.66, 4: 08-15 10:30:00 - 08-15 11:00:00 @ 17.66, 5: 08-15 11:00:00 - 08-15 11:30:00 @ 16.56, 6: 08-15 11:30:00 - 08-15 12:00:00 @ 15.46, 7: 08-15 12:00:00 - 08-15 12:30:00 @ 17.0, 8: 08-15 12:30:00 - 08-15 13:00:00 @ 16.34, 9: 08-15 13:00:00 - 08-15 13:30:00 @ 15.36, 10: 08-15 13:30:00 - 08-15 14:00:00 @ 15.74, 11: 08-15 14:00:00 - 08-15 14:30:00 @ 14.57, 12: 08-15 14:30:00 - 08-15 15:00:00 @ 13.77, 13: 08-15 15:00:00 - 08-15 15:30:00 @ 15.02, 14: 08-15 15:30:00 - 08-15 16:00:00 @ 15.87, 15: 08-15 16:00:00 - 08-15 16:30:00 @ 33.13, 16: 08-15 16:30:00 - 08-15 17:00:00 @ 33.13, 17: 08-15 17:00:00 - 08-15 17:30:00 @ 38.46, 18: 08-15 17:30:00 - 08-15 18:00:00 @ 40.44, 19: 08-15 18:00:00 - 08-15 18:30:00 @ 41.55, 20: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 21: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 22: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 23: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 24: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 25: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 26: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 27: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 28: 08-15 23:00:00 - 08-15 23:30:00 @ 27.8, 29: 08-15 23:30:00 - 08-16 00:00:00 @ 29.09, 30: 08-16 00:00:00 - 08-16 00:30:00 @ 28.47, 31: 08-16 00:30:00 - 08-16 01:00:00 @ 27.18, 32: 08-16 01:00:00 - 08-16 01:30:00 @ 27.57, 33: 08-16 01:30:00 - 08-16 02:00:00 @ 26.5, 34: 08-16 02:00:00 - 08-16 02:30:00 @ 25.6, 35: 08-16 02:30:00 - 08-16 03:00:00 @ 24.79, 36: 08-16 03:00:00 - 08-16 03:30:00 @ 25.08, 37: 08-16 03:30:00 - 08-16 04:00:00 @ 24.62, 38: 08-16 04:00:00 - 08-16 04:30:00 @ 27.02, 39: 08-16 04:30:00 - 08-16 05:00:00 @ 26.47, 40: 08-16 05:00:00 - 08-16 05:30:00 @ 26.25, 41: 08-16 05:30:00 - 08-16 06:00:00 @ 26.4, 42: 08-16 06:00:00 - 08-16 06:30:00 @ 25.7, 43: 08-16 06:30:00 - 08-16 07:00:00 @ 27.63, 44: 08-16 07:00:00 - 08-16 07:30:00 @ 22.73, 45: 08-16 07:30:00 - 08-16 08:00:00 @ 26.7, 46: 08-16 08:00:00 - 08-16 08:30:00 @ 22.92, 47: 08-16 08:30:00 - 08-16 09:00:00 @ 22.48, 48: 08-16 09:00:00 - 08-16 09:30:00 @ 23.55, 49: 08-16 09:30:00 - 08-16 10:00:00 @ 23.64, 50: 08-16 10:00:00 - 08-16 10:30:00 @ 19.66, 51: 08-16 10:30:00 - 08-16 11:00:00 @ 17.66, 52: 08-16 11:00:00 - 08-16 11:30:00 @ 16.56, 53: 08-16 11:30:00 - 08-16 12:00:00 @ 15.46, 54: 08-16 12:00:00 - 08-16 12:30:00 @ 17.0, 55: 08-16 12:30:00 - 08-16 13:00:00 @ 16.34, 56: 08-16 13:00:00 - 08-16 13:30:00 @ 15.36, 57: 08-16 13:30:00 - 08-16 14:00:00 @ 15.74, 58: 08-16 14:00:00 - 08-16 14:30:00 @ 14.57, 59: 08-16 14:30:00 - 08-16 15:00:00 @ 13.77, 60: 08-16 15:00:00 - 08-16 15:30:00 @ 15.02, 61: 08-16 15:30:00 - 08-16 16:00:00 @ 15.87, 62: 08-16 16:00:00 - 08-16 16:30:00 @ 33.13, 63: 08-16 16:30:00 - 08-16 17:00:00 @ 33.13, 64: 08-16 17:00:00 - 08-16 17:30:00 @ 38.46, 65: 08-16 17:30:00 - 08-16 18:00:00 @ 40.44, 66: 08-16 18:00:00 - 08-16 18:30:00 @ 41.55, 67: 08-16 19:00:00 - 08-16 19:30:00 @ 32.58, 68: 08-16 19:30:00 - 08-16 20:00:00 @ 32.9, 69: 08-16 20:00:00 - 08-16 20:30:00 @ 31.99, 70: 08-16 20:30:00 - 08-16 21:00:00 @ 32.1, 71: 08-16 21:00:00 - 08-16 21:30:00 @ 31.71, 72: 08-16 21:30:00 - 08-16 22:00:00 @ 31.67, 73: 08-16 22:00:00 - 08-16 22:30:00 @ 31.77, 74: 08-16 22:30:00 - 08-16 23:00:00 @ 29.81, 75: 08-16 23:00:00 - 08-16 23:30:00 @ 27.8, 76: 08-16 23:30:00 - 08-17 00:00:00 @ 29.09, 77: 08-17 00:00:00 - 08-17 00:30:00 @ 28.47, 78: 08-17 00:30:00 - 08-17 01:00:00 @ 27.18, 79: 08-17 01:00:00 - 08-17 01:30:00 @ 27.57, 80: 08-17 01:30:00 - 08-17 02:00:00 @ 26.5, 81: 08-17 02:00:00 - 08-17 02:30:00 @ 25.6, 82: 08-17 02:30:00 - 08-17 03:00:00 @ 24.79, 83: 08-17 03:00:00 - 08-17 03:30:00 @ 25.08, 84: 08-17 03:30:00 - 08-17 04:00:00 @ 24.62, 85: 08-17 04:00:00 - 08-17 04:30:00 @ 27.02, 86: 08-17 04:30:00 - 08-17 05:00:00 @ 26.47, 87: 08-17 05:00:00 - 08-17 05:30:00 @ 26.25, 88: 08-17 05:30:00 - 08-17 06:00:00 @ 26.4, 89: 08-17 06:00:00 - 08-17 06:30:00 @ 25.7, 90: 08-17 06:30:00 - 08-17 07:00:00 @ 27.63, 91: 08-17 07:00:00 - 08-17 07:30:00 @ 22.73, 92: 08-17 07:30:00 - 08-17 08:00:00 @ 26.7, 93: 08-17 08:00:00 - 08-17 08:30:00 @ 22.92, 94: 08-17 08:30:00 - 08-17 09:00:00 @ 22.48]
2026-08-15 08:55:03.277931: Inverter 0 Charge window will be: 2026-08-15 11:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 10%, target 100%
2026-08-15 08:55:03.278073: Inverter 0 disabled charge window while waiting for schedule (now 08-15 08:55:00 target set_window_minutes 30 charge start time 08-15 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 08:55:03.278189: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 08:55:03.278504: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 08:55:03.278601: No export window planned
2026-08-15 08:55:03.278735: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 08:55:03.278772: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 08:55:03.278908: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 08:55:03.279118: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 08:55:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 08:55:03.279181: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 08:55:03.279243: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 08:55:03.279340: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 08:55:03.279386: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 08:55:03.279414: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 08:55:03.279438: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 08:55:03.279463: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 08:55:03.279487: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 08:55:03.279512: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 08:55:03.279584: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 08:55:03.279637: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 08:55:03.279684: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 08:55:03.279710: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 08:55:03.279733: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 08:55:03.279756: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 08:55:03.279779: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 08:55:03.279800: Inverter 0 count register writes 0
2026-08-15 08:55:03.296322: Will recompute the plan as it is now 10.0 minutes old and will exceed the max age of 10 minutes before the next run
2026-08-15 08:55:03.296535: Recompute is saving previous plan...
2026-08-15 08:55:03.299807: Best charge window [ 15-08 08:30:00 - 15-08 09:00:00 @ 22.48p 0%, 15-08 09:00:00 - 15-08 09:30:00 @ 23.55p 0%, 15-08 09:30:00 - 15-08 10:00:00 @ 23.64p 0%, 15-08 10:00:00 - 15-08 10:30:00 @ 19.66p 0%, 15-08 10:30:00 - 15-08 11:00:00 @ 17.66p 0%, 15-08 11:00:00 - 15-08 11:30:00 @ 16.56p 0%, 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 0%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 0%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 0%, 15-08 13:00:00 - 15-08 13:30:00 @ 15.36p 0%, 15-08 13:30:00 - 15-08 14:00:00 @ 15.74p 0%, 15-08 14:00:00 - 15-08 14:30:00 @ 14.57p 0%, 15-08 14:30:00 - 15-08 15:00:00 @ 13.77p 0%, 15-08 15:00:00 - 15-08 15:30:00 @ 15.02p 0%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 0%, 15-08 16:00:00 - 15-08 16:30:00 @ 33.13p 0%, 15-08 16:30:00 - 15-08 17:00:00 @ 33.13p 0%, 15-08 17:00:00 - 15-08 17:30:00 @ 38.46p 0%, 15-08 17:30:00 - 15-08 18:00:00 @ 40.44p 0%, 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 0%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 0%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 0%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 0%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 0%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 27.8p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 29.09p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.47p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.18p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 27.57p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.5p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.6p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 24.79p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 25.08p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 24.62p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 27.02p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.47p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 26.25p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.4p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.7p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 27.63p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 22.73p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 26.7p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 22.92p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 22.48p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 23.55p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 23.64p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 19.66p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 17.66p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 16.56p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 15.46p 0%, 16-08 12:00:00 - 16-08 12:30:00 @ 17.0p 0%, 16-08 12:30:00 - 16-08 13:00:00 @ 16.34p 0%, 16-08 13:00:00 - 16-08 13:30:00 @ 15.36p 0%, 16-08 13:30:00 - 16-08 14:00:00 @ 15.74p 0%, 16-08 14:00:00 - 16-08 14:30:00 @ 14.57p 0%, 16-08 14:30:00 - 16-08 15:00:00 @ 13.77p 0%, 16-08 15:00:00 - 16-08 15:30:00 @ 15.02p 0%, 16-08 15:30:00 - 16-08 16:00:00 @ 15.87p 0%, 16-08 16:00:00 - 16-08 16:30:00 @ 33.13p 0%, 16-08 16:30:00 - 16-08 17:00:00 @ 33.13p 0%, 16-08 17:00:00 - 16-08 17:30:00 @ 38.46p 0%, 16-08 17:30:00 - 16-08 18:00:00 @ 40.44p 0%, 16-08 18:00:00 - 16-08 18:30:00 @ 41.55p 0%, 16-08 19:00:00 - 16-08 19:30:00 @ 32.58p 0%, 16-08 19:30:00 - 16-08 20:00:00 @ 32.9p 0%, 16-08 20:00:00 - 16-08 20:30:00 @ 31.99p 0%, 16-08 20:30:00 - 16-08 21:00:00 @ 32.1p 0%, 16-08 21:00:00 - 16-08 21:30:00 @ 31.71p 0%, 16-08 21:30:00 - 16-08 22:00:00 @ 31.67p 0%, 16-08 22:00:00 - 16-08 22:30:00 @ 31.77p 0%, 16-08 22:30:00 - 16-08 23:00:00 @ 29.81p 0%, 16-08 23:00:00 - 16-08 23:30:00 @ 27.8p 0%, 16-08 23:30:00 - 17-08 00:00:00 @ 29.09p 0%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.47p 0%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.18p 0%, 17-08 01:00:00 - 17-08 01:30:00 @ 27.57p 0%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.5p 0%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.6p 0%, 17-08 02:30:00 - 17-08 03:00:00 @ 24.79p 0%, 17-08 03:00:00 - 17-08 03:30:00 @ 25.08p 0%, 17-08 03:30:00 - 17-08 04:00:00 @ 24.62p 0%, 17-08 04:00:00 - 17-08 04:30:00 @ 27.02p 0%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.47p 0%, 17-08 05:00:00 - 17-08 05:30:00 @ 26.25p 0%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.4p 0%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.7p 0%, 17-08 06:30:00 - 17-08 07:00:00 @ 27.63p 0%, 17-08 07:00:00 - 17-08 07:30:00 @ 22.73p 0%, 17-08 07:30:00 - 17-08 08:00:00 @ 26.7p 0%, 17-08 08:00:00 - 17-08 08:30:00 @ 22.92p 0%, 17-08 08:30:00 - 17-08 09:00:00 @ 22.48p 0% ]
2026-08-15 08:55:03.299889: Best export window [  ]
2026-08-15 08:55:03.300738: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 08:55:03.303884: Load divergence over 8.0 hours mean 640.74W, min 287.4W, max 1838.4W, std dev 338.86W, divergence 26.44%
2026-08-15 08:55:03.321536: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 08:55:03.321658: LoadML is_calculating False
2026-08-15 08:55:03.321729: Creating pool of 12 processes to match your CPU count
2026-08-15 08:55:03.416566: Calculate Best options: mode(Control charge & discharge), calculate_export_oncharge(False), calculate_export_on_pv(True), set_export_freeze_only(False), set_discharge_during_charge(True), combine_charge_slots(False), combine_export_slots(False), combine_rate_threshold(0.0), best_soc_min(0.0 kWh), best_soc_max(0.0 kWh), best_soc_keep(0.0 kWh), inverter_loss(4%), battery_loss(3%), battery_loss_discharge (3%), inverter_hybrid(True), metric_min_improvement(0.0p), metric_min_improvement_export(0.1p), metric_min_improvement_export_freeze(0.1p), metric_battery_cycle(0.0p/kWh), metric_battery_value_scaling(1.0 x) 
2026-08-15 08:55:03.418598: Optimise levels pass started at 2026-08-15 08:55:03
2026-08-15 08:55:03.418676: Optimise all windows, total charge 94 export 1
2026-08-15 08:55:04.357261: >> Region optimisation pass width 960 gives best_metric 817.93p, best_cost 844.92p, best_cycle 57.95kWh, best_import 39.95kWh
2026-08-15 08:55:04.735060: >> Region optimisation pass width 480 gives best_metric 817.93p, best_cost 844.92p, best_cycle 57.95kWh, best_import 39.95kWh
2026-08-15 08:55:05.284239: >> Region optimisation pass width 240 gives best_metric 817.93p, best_cost 844.92p, best_cycle 57.95kWh, best_import 39.95kWh
2026-08-15 08:55:06.421864: >> Region optimisation pass width 120 gives best_metric 817.93p, best_cost 844.92p, best_cycle 57.95kWh, best_import 39.95kWh
2026-08-15 08:55:06.422331: Calculated end_record as 08-16 11:30:00 based on best_price 16.34p, next_charge_start 08-15 11:30:00, max_windows 53
2026-08-15 08:55:06.422432: Optimise levels pass ended at 2026-08-15 08:55:06, duration 3.0 seconds tried 331 combinations
2026-08-15 08:55:06.422562: Set best_price_charge_level 17.6p, best_price_export_level 0p, best_price_charge 16.34p, best_cost_export 0p, best_metric 817.93p, best_keep 0kWh, best_cycle 57.95kWh, best_carbon 0kg, best_import 39.95kWh
2026-08-15 08:55:06.446063: Starting detailed optimisation end_record 08-16 11:30:00, best_price_charge 16.34p, best_price_export 0p. lowest_price_charge 13.77p with charge limits [0, 0, 0, 0, 0, 0, 16.0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0]kWh and export limits []kWh
2026-08-15 08:55:10.611450: Tweak plan optimisation started metric 569.45p, cost 579.11p
2026-08-15 08:55:10.891477: Tweak optimisation finished metric 569.45p, cost 579.11p, metric_keep 0kWh, cycle 29.2kWh, carbon 0kg, import 22.3kWh, changed 8 window(s)
2026-08-15 08:55:10.913759: Swap charge optimisation started metric 569.45p, cost 579.11p, min_improvement_swap 0.1p
2026-08-15 08:55:15.320683: Swap charge optimisation finished metric 569.45p, cost 579.11p
2026-08-15 08:55:15.440156: Raw charge windows [ 15-08 08:30:00 - 15-08 09:00:00 @ 22.48p 9%, 15-08 09:00:00 - 15-08 09:30:00 @ 23.55p 0%, 15-08 09:30:00 - 15-08 10:00:00 @ 23.64p 0%, 15-08 10:00:00 - 15-08 10:30:00 @ 19.66p 0%, 15-08 10:30:00 - 15-08 11:00:00 @ 17.66p 0%, 15-08 11:00:00 - 15-08 11:30:00 @ 16.56p 0%, 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 22%, 15-08 13:00:00 - 15-08 13:30:00 @ 15.36p 100%, 15-08 13:30:00 - 15-08 14:00:00 @ 15.74p 100%, 15-08 14:00:00 - 15-08 14:30:00 @ 14.57p 100%, 15-08 14:30:00 - 15-08 15:00:00 @ 13.77p 100%, 15-08 15:00:00 - 15-08 15:30:00 @ 15.02p 100%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 97%, 15-08 16:00:00 - 15-08 16:30:00 @ 33.13p 0%, 15-08 16:30:00 - 15-08 17:00:00 @ 33.13p 0%, 15-08 17:00:00 - 15-08 17:30:00 @ 38.46p 0%, 15-08 17:30:00 - 15-08 18:00:00 @ 40.44p 0%, 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 0%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 0%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 0%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 0%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 0%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 27.8p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 29.09p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.47p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.18p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 27.57p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.5p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.6p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 24.79p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 25.08p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 24.62p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 27.02p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.47p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 26.25p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.4p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.7p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 27.63p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 22.73p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 26.7p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 22.92p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 22.48p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 23.55p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 23.64p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 19.66p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 17.66p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 16.56p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 15.46p 100%, 16-08 12:00:00 - 16-08 12:30:00 @ 17.0p 100%, 16-08 12:30:00 - 16-08 13:00:00 @ 16.34p 100%, 16-08 13:00:00 - 16-08 13:30:00 @ 15.36p 100%, 16-08 13:30:00 - 16-08 14:00:00 @ 15.74p 100%, 16-08 14:00:00 - 16-08 14:30:00 @ 14.57p 100%, 16-08 14:30:00 - 16-08 15:00:00 @ 13.77p 100%, 16-08 15:00:00 - 16-08 15:30:00 @ 15.02p 100%, 16-08 15:30:00 - 16-08 16:00:00 @ 15.87p 100%, 16-08 16:00:00 - 16-08 16:30:00 @ 33.13p 100%, 16-08 16:30:00 - 16-08 17:00:00 @ 33.13p 100%, 16-08 17:00:00 - 16-08 17:30:00 @ 38.46p 100%, 16-08 17:30:00 - 16-08 18:00:00 @ 40.44p 100%, 16-08 18:00:00 - 16-08 18:30:00 @ 41.55p 100%, 16-08 19:00:00 - 16-08 19:30:00 @ 32.58p 100%, 16-08 19:30:00 - 16-08 20:00:00 @ 32.9p 100%, 16-08 20:00:00 - 16-08 20:30:00 @ 31.99p 100%, 16-08 20:30:00 - 16-08 21:00:00 @ 32.1p 100%, 16-08 21:00:00 - 16-08 21:30:00 @ 31.71p 100%, 16-08 21:30:00 - 16-08 22:00:00 @ 31.67p 100%, 16-08 22:00:00 - 16-08 22:30:00 @ 31.77p 100%, 16-08 22:30:00 - 16-08 23:00:00 @ 29.81p 100%, 16-08 23:00:00 - 16-08 23:30:00 @ 27.8p 100%, 16-08 23:30:00 - 17-08 00:00:00 @ 29.09p 100%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.47p 100%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.18p 100%, 17-08 01:00:00 - 17-08 01:30:00 @ 27.57p 100%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.5p 100%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.6p 100%, 17-08 02:30:00 - 17-08 03:00:00 @ 24.79p 100%, 17-08 03:00:00 - 17-08 03:30:00 @ 25.08p 100%, 17-08 03:30:00 - 17-08 04:00:00 @ 24.62p 100%, 17-08 04:00:00 - 17-08 04:30:00 @ 27.02p 100%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.47p 100%, 17-08 05:00:00 - 17-08 05:30:00 @ 26.25p 100%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.4p 100%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.7p 100%, 17-08 06:30:00 - 17-08 07:00:00 @ 27.63p 100%, 17-08 07:00:00 - 17-08 07:30:00 @ 22.73p 100%, 17-08 07:30:00 - 17-08 08:00:00 @ 26.7p 100%, 17-08 08:00:00 - 17-08 08:30:00 @ 22.92p 100%, 17-08 08:30:00 - 17-08 09:00:00 @ 22.48p 100% ] reserve 1.12
2026-08-15 08:55:15.440918: Unclipped charge windows [ 15-08 08:30:00 - 15-08 09:00:00 @ 22.48p 9%, 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 13:00:00 @ 16.67p 22%, 15-08 13:00:00 - 15-08 15:30:00 @ 14.71p 100%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 97%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 09:00:00 @ 23.41p 100% ] reserve 1.12
2026-08-15 08:55:15.441336: Unfiltered charge windows [ 15-08 08:30:00 - 15-08 09:00:00 @ 22.48p 9%, 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 13:00:00 @ 16.67p 22%, 15-08 13:00:00 - 15-08 15:30:00 @ 14.71p 100%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 97%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 09:00:00 @ 23.41p 100% ] reserve 1.12
2026-08-15 08:55:15.441630: Filtered charge windows [ 15-08 08:30:00 - 15-08 09:00:00 @ 22.48p 9%, 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 13:00:00 @ 16.67p 22%, 15-08 13:00:00 - 15-08 15:30:00 @ 14.71p 100%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 97%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 09:00:00 @ 23.41p 100% ] reserve 1.12
2026-08-15 08:55:15.479665: Previous plan best metric is 569.74 (cost 579.82) and new plan best metric is 569.45 (cost 579.11)
2026-08-15 08:55:15.479917: New plan metric is not significantly better (metric_min_improvement_plan 2.0) than previous plan, using previous plan
2026-08-15 08:55:15.480371: Plan valid is now true after recompute was False
2026-08-15 08:55:15.511666: predict base end_record 08-16 11:30:00, final soc 1.12kWh, metric 795.35p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 09:35:00, load 26.8kWh, PV 0.0kWh
2026-08-15 08:55:15.635974: Battery has 0.67 hours left - now at 1.56kWh
2026-08-15 08:55:15.682259: predict base10 end_record 08-16 11:30:00, final soc 1.12kWh, metric 820.16p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 09:30:00, load 27.79kWh, PV 0.0kWh
2026-08-15 08:55:15.762400: predict best10 end_record 08-16 11:30:00, final soc 1.12kWh, metric 650.92p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 09:30:00, load 27.79kWh, PV 0.0kWh
2026-08-15 08:55:15.842294: predict best end_record 08-16 11:30:00, final soc 1.12kWh, metric 629.8p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 09:35:00, load 26.8kWh, PV 0.0kWh
2026-08-15 08:55:15.842392: Saving plan best values to HA entities
2026-08-15 08:55:16.014923: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 08:55:16.021406: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0.0
2026-08-15 08:55:16.027615: Best charging limit SoC's [16.0, 3.5, 4.0, 16.0, 16.0, 16.0]kWh, export []kWh gives import battery 20.24kWh, house 2.13kWh, export 0.0kWh, metric 629.8p, metric10 650.92p
2026-08-15 08:55:16.098862: Marginal costs baseline metric (no standing charge): 579.8185
2026-08-15 08:55:16.328655: Marginal energy costs matrix computed: min=15.27 max=31.21
2026-08-15 08:55:16.389270: Rate array import [{'start': 535, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 23.6p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1860, 'rate': 'expensive', 'range': '(24.6p - 32.9p)'}, {'start': 1860, 'end': 1890, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 1890, 'end': 1920, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 1920, 'end': 2130, 'rate': 'cheap', 'range': '(16.6p - 23.6p)'}] export [{'start': 535, 'end': 2130, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 08:55:16.389796: - Your estimated bill for today is £5.74 and tomorrow is £5.41
2026-08-15 08:55:16.389836: - Import rates are cheap (13.8p - 23.6p) for the next 7 hours and then expensive (33.1p) for the next 1 hour.
2026-08-15 08:55:16.389855: - The battery is currently at 10% and is in eco mode for the next 2 and a half hours.
2026-08-15 08:55:16.389870: - For the next 48 hours there will be no solar generation.
2026-08-15 08:55:16.389884: - You will run out of battery in 40 minutes.
2026-08-15 08:55:16.389897: - Your next charge slot will be in 2 and a half hours where import rates will be cheap (15.5p).
2026-08-15 08:55:16.389911: 
2026-08-15 08:55:16.439260: Plan calculation took 13.14 seconds
2026-08-15 08:55:16.439661: Inverter 0: Type SK Sunsynk
2026-08-15 08:55:16.439711: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 08:55:16.439937: Reserve min: 7%, battery_min: 7%
2026-08-15 08:55:16.440020: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 08:55:16.440356: Inverter 0 SoC: 1.56kW 10%, current charge rate 5000W, current discharge rate 5250W, current battery power -4468W, current battery voltage 51.2V, grid power -5230W, load power 233W, PV Power 0W
2026-08-15 08:55:16.440595: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 08:55:16.440724: Inverter 0 scheduled charge enable is False
2026-08-15 08:55:16.440767: Inverter 0 charge windows currently []
2026-08-15 08:55:16.440807: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 08:55:16.441004: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 08:55:16.441068: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 08:55:16.441118: Inverter 0 scheduled discharge enable is False
2026-08-15 08:55:16.441265: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 08:55:16.441305: Inverter 0 discharge windows currently []
2026-08-15 08:55:16.441328: Note: Inverter does not support discharge freeze - disabled
2026-08-15 08:55:16.441346: Note: Inverter does not support charge freeze - disabled
2026-08-15 08:55:16.441363: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 08:55:16.497972: Inverter 0 Charge window will be: 2026-08-15 11:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 10%, target 100%
2026-08-15 08:55:16.498123: Inverter 0 disabled charge window while waiting for schedule (now 08-15 08:55:00 target set_window_minutes 30 charge start time 08-15 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 08:55:16.498194: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 08:55:16.498401: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 08:55:16.498482: No export window planned
2026-08-15 08:55:16.498616: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 08:55:16.498700: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 08:55:16.498858: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 08:55:16.499037: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 08:55:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 08:55:16.499091: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 08:55:16.499141: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 08:55:16.499245: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 08:55:16.499284: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 08:55:16.499313: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 08:55:16.499340: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 08:55:16.499368: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 08:55:16.499392: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 08:55:16.499416: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 08:55:16.499476: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 08:55:16.499504: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 08:55:16.499529: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 08:55:16.499554: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 08:55:16.499578: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 08:55:16.499601: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 08:55:16.499625: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 08:55:16.499664: Inverter 0 count register writes 0
2026-08-15 08:55:16.521088: Total inverter register writes now 815
2026-08-15 08:55:16.555851: Info: Completed run status Demand
2026-08-15 08:55:16.562955: Info: record_status Demand
2026-08-15 08:55:16.570041: Saved current settings to /config/predbat_config.json
2026-08-15 08:55:16.570388: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 08:55:56.688878: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 08:55:56.689161: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 08:55:56.689244: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 08:55:56.689472: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 08:55:56.689536: Note: Inverter does not support discharge freeze - disabled
2026-08-15 08:55:56.689584: Note: Inverter does not support charge freeze - disabled
2026-08-15 08:55:56.689608: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 08:57:19.612875: Storage: Cleaned up expired cache file octopus_free_url_cache (module=octopus_free)
2026-08-15 08:57:55.746677: TemperatureAPI: Using coordinates latitude 53.4, longitude -2.2
2026-08-15 08:57:55.950596: TemperatureAPI: Successfully fetched temperature data from Open-Meteo API
2026-08-15 08:57:56.926847: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 08:57:56.927148: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 08:57:56.927202: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 08:57:56.927342: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 08:57:56.927382: Note: Inverter does not support discharge freeze - disabled
2026-08-15 08:57:56.927403: Note: Inverter does not support charge freeze - disabled
2026-08-15 08:57:56.927420: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 08:59:57.155777: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 08:59:57.156021: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 08:59:57.156059: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 08:59:57.156189: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 08:59:57.156256: Note: Inverter does not support discharge freeze - disabled
2026-08-15 08:59:57.156277: Note: Inverter does not support charge freeze - disabled
2026-08-15 08:59:57.156295: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 09:00:00.238535: --------------- PredBat - update at 2026-08-15 09:00:00+01:00 with clock skew 0 minutes, minutes now 540
2026-08-15 09:00:00.239289: Saved current settings to /config/predbat_config.json
2026-08-15 09:00:00.239499: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 50.0 minutes
2026-08-15 09:00:00.239585: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.1, latest beta is v8.48.1
2026-08-15 09:00:00.239678: Autoupdate: Currently up to date
2026-08-15 09:00:00.261515: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 09:00:00.261645: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 09:00:00.261837: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 09:00:00.262375: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 09:00:00.262502: Predbat mode is set to Control charge & discharge
2026-08-15 09:00:00.473894: Found 21602 load_today datapoints going back 28 days
2026-08-15 09:00:00.474049: Using load_power data to fill gaps in load_today data
2026-08-15 09:00:01.317211: Processing 721 30-minute periods for power integration
2026-08-15 09:00:01.521939: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 09:00:01.522081: Car charging hold False, threshold 6.0kWh
2026-08-15 09:00:01.522126: Current data so far today: load 6.1kWh, import 7.2kWh, export 0.0kWh, PV 0kWh
2026-08-15 09:00:01.535018: Cars: SoC: [12.892000000000001]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 09:00:01.535415: Standing charge is set to 49.98p
2026-08-15 09:00:01.563191: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 09:00:01.563300: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 09:00:01.563508: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 540.0 minutes
2026-08-15 09:00:01.564041: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 539.6 minutes
2026-08-15 09:00:01.567427: Loaded 47 datapoints of futurerate analysis
2026-08-15 09:00:01.653847: Predicted future rates: ['08-15 00:00:00 => 28.9 / 20.01', '08-15 01:00:00 => 27.54 / 19.31', '08-15 02:00:00 => 26.52 / 18.8', '08-15 03:00:00 => 25.99 / 18.53', '08-15 04:00:00 => 25.8 / 18.43', '08-15 05:00:00 => 25.96 / 18.51', '08-15 06:00:00 => 25.55 / 18.3', '08-15 07:00:00 => 24.33 / 17.68', '08-15 08:00:00 => 23.03 / 17.01', '08-15 09:00:00 => 22.05 / 16.51', '08-15 10:00:00 => 20.43 / 15.68', '08-15 11:00:00 => 18.01 / 14.45', '08-15 12:00:00 => 16.37 / 13.61', '08-15 13:00:00 => 15.76 / 13.3', '08-15 14:00:00 => 15.35 / 13.09', '08-15 15:00:00 => 15.86 / 13.35', '08-15 16:00:00 => 32.89 / 16.13', '08-15 17:00:00 => 38.02 / 18.75', '08-15 18:00:00 => 42.36 / 20.96', '08-15 19:00:00 => 31.09 / 21.13', '08-15 20:00:00 => 31.64 / 21.41', '08-15 21:00:00 => 31.64 / 21.41', '08-15 22:00:00 => 30.58 / 20.87']
2026-08-15 09:00:01.707941: Rate min forward looking: now 13.77p at end of forecast 13.77p
2026-08-15 09:00:01.708307: Import rates: min 13.77p, max 43.82p, average 25.96p
2026-08-15 09:00:01.749649: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 09:00:01.749837: Rate thresholds (for charge/export) are import 43.32p (0.0p), export -0.1p (0.0p)
2026-08-15 09:00:01.751338: High export rate found rates in range 99p to -99p
2026-08-15 09:00:01.869901: Low Import rate found rates in range 13.77p to 41.55p
2026-08-15 09:00:01.870059: Car 0 charging is not planned as it is not plugged in
2026-08-15 09:00:01.888263: Battery level now 1.56kWh, -1hr ago 1.6kWh, at midnight 1.66kWh, battery value change in the last hour -0.47p, change today -1.14p, rate_forward 11.83p
2026-08-15 09:00:01.889280: Last hour: net energy 0.31kWh, import 0.31kWh, export 0.0kWh, car 0kWh, load 0.22kWh, net cost 6.95p, import 6.95p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 09:00:01.977140: Today's energy total net 7.2kWh, import 7.2kWh, export 0.0kWh, cost 240.59p, import 190.61p, export 0.0p, carbon 0.0kg
2026-08-15 09:00:01.977366: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 09:00:02.064315: Using weighted-bucket historical load forecast over 14 days
2026-08-15 09:00:02.092603: Today's load divergence 106.71%, in-day adjustment 129.75%, damping 0.95x, yesterday 143.77% today 106.38% blend 62.5%
2026-08-15 09:00:02.092733: Today's predicted so far 5.08kWh with 0.0kWh car/iBoost excluded, 2.71kWh import ignored, and 5.08kWh forecast extra.
2026-08-15 09:00:02.092770: Today's actual load so far 6.19kWh with 0.0kWh car/iBoost excluded, and 2.71kWh import ignored.
2026-08-15 09:00:02.137909: Inverter 0: Type SK Sunsynk
2026-08-15 09:00:02.137992: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 09:00:02.138193: Reserve min: 7%, battery_min: 7%
2026-08-15 09:00:02.138262: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 09:00:02.138526: Inverter 0 SoC: 1.91kW 12%, current charge rate 5000W, current discharge rate 5250W, current battery power 262W, current battery voltage 51.2V, grid power -51W, load power 298W, PV Power 0W
2026-08-15 09:00:02.138720: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 09:00:02.138828: Inverter 0 scheduled charge enable is False
2026-08-15 09:00:02.138873: Inverter 0 charge windows currently []
2026-08-15 09:00:02.138899: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 09:00:02.139034: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 09:00:02.139070: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 09:00:02.139102: Inverter 0 scheduled discharge enable is False
2026-08-15 09:00:02.139211: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 09:00:02.139242: Inverter 0 discharge windows currently []
2026-08-15 09:00:02.139261: Note: Inverter does not support discharge freeze - disabled
2026-08-15 09:00:02.139276: Note: Inverter does not support charge freeze - disabled
2026-08-15 09:00:02.139290: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 09:00:02.228810: Dynamic load last period 0.00kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 09:00:02.228926: Plan was last updated on 2026-08-15 08:55:00+01:00 and is now 5.0 minutes old
2026-08-15 09:00:02.229284: Best charge window [ 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 00:30:00 @ 28.84p 100% ]
2026-08-15 09:00:02.229330: Best export window [  ]
2026-08-15 09:00:02.230319: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 09:00:02.233847: Load divergence over 8.0 hours mean 642.21W, min 281.4W, max 1607.4W, std dev 329.57W, divergence 25.66%
2026-08-15 09:00:02.254231: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 09:00:02.254370: LoadML is_calculating False
2026-08-15 09:00:02.254455: Creating pool of 12 processes to match your CPU count
2026-08-15 09:00:02.400077: predict base end_record 08-16 11:35:00, final soc 1.12kWh, metric 793.08p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 10:05:00, load 26.72kWh, PV 0.0kWh
2026-08-15 09:00:02.552475: Battery has 1.08 hours left - now at 1.91kWh
2026-08-15 09:00:02.604580: predict base10 end_record 08-16 11:35:00, final soc 1.12kWh, metric 817.69p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 10:00:00, load 27.71kWh, PV 0.0kWh
2026-08-15 09:00:02.728410: predict best10 end_record 08-16 11:35:00, final soc 1.44kWh, metric 654.22p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 10:00:00, load 27.71kWh, PV 0.0kWh
2026-08-15 09:00:02.818319: predict best end_record 08-16 11:35:00, final soc 1.51kWh, metric 634.69p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 10:05:00, load 26.72kWh, PV 0.0kWh
2026-08-15 09:00:02.818422: Saving plan best values to HA entities
2026-08-15 09:00:03.002716: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 09:00:03.007696: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0.0
2026-08-15 09:00:03.012629: Best charging limit SoC's [16.0, 3.5, 4.0, 16.0, 16.0, 16.0]kWh, export []kWh gives import battery 20.73kWh, house 1.7kWh, export 0.0kWh, metric 634.69p, metric10 654.22p
2026-08-15 09:00:03.081532: Marginal costs baseline metric (no standing charge): 584.7091
2026-08-15 09:00:03.337812: Marginal energy costs matrix computed: min=15.44 max=31.45
2026-08-15 09:00:03.426280: Rate array import [{'start': 540, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 23.6p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1860, 'rate': 'expensive', 'range': '(24.6p - 32.9p)'}, {'start': 1860, 'end': 1890, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 1890, 'end': 1920, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 1920, 'end': 2135, 'rate': 'cheap', 'range': '(15.5p - 23.6p)'}] export [{'start': 540, 'end': 2135, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 09:00:03.427293: - Your estimated bill for today is £5.72 and tomorrow is £5.37
2026-08-15 09:00:03.427357: - Import rates are cheap (13.8p - 23.6p) for the next 7 hours and then expensive (33.1p) for the next 1 hour.
2026-08-15 09:00:03.427391: - The battery is currently at 12% and is in eco mode for the next 2 and a half hours.
2026-08-15 09:00:03.427421: - For the next 48 hours there will be no solar generation.
2026-08-15 09:00:03.427459: - You will run out of battery in 1 hour.
2026-08-15 09:00:03.427494: - Your next charge slot will be in 2 and a half hours where import rates will be cheap (15.5p).
2026-08-15 09:00:03.427533: 
2026-08-15 09:00:03.497787: Plan calculation took 1.27 seconds
2026-08-15 09:00:03.501314: No high rate period found
2026-08-15 09:00:03.560773: Import threshold used for optimisation was 22.48p
2026-08-15 09:00:03.626755: Low import rate windows [0: 08-15 09:00:00 - 08-15 09:30:00 @ 23.55, 1: 08-15 09:30:00 - 08-15 10:00:00 @ 23.64, 2: 08-15 10:00:00 - 08-15 10:30:00 @ 19.66, 3: 08-15 10:30:00 - 08-15 11:00:00 @ 17.66, 4: 08-15 11:00:00 - 08-15 11:30:00 @ 16.56, 5: 08-15 11:30:00 - 08-15 12:00:00 @ 15.46, 6: 08-15 12:00:00 - 08-15 12:30:00 @ 17.0, 7: 08-15 12:30:00 - 08-15 13:00:00 @ 16.34, 8: 08-15 13:00:00 - 08-15 13:30:00 @ 15.36, 9: 08-15 13:30:00 - 08-15 14:00:00 @ 15.74, 10: 08-15 14:00:00 - 08-15 14:30:00 @ 14.57, 11: 08-15 14:30:00 - 08-15 15:00:00 @ 13.77, 12: 08-15 15:00:00 - 08-15 15:30:00 @ 15.02, 13: 08-15 15:30:00 - 08-15 16:00:00 @ 15.87, 14: 08-15 16:00:00 - 08-15 16:30:00 @ 33.13, 15: 08-15 16:30:00 - 08-15 17:00:00 @ 33.13, 16: 08-15 17:00:00 - 08-15 17:30:00 @ 38.46, 17: 08-15 17:30:00 - 08-15 18:00:00 @ 40.44, 18: 08-15 18:00:00 - 08-15 18:30:00 @ 41.55, 19: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 20: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 21: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 22: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 23: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 24: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 25: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 26: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 27: 08-15 23:00:00 - 08-15 23:30:00 @ 27.8, 28: 08-15 23:30:00 - 08-16 00:00:00 @ 29.09, 29: 08-16 00:00:00 - 08-16 00:30:00 @ 28.47, 30: 08-16 00:30:00 - 08-16 01:00:00 @ 27.18, 31: 08-16 01:00:00 - 08-16 01:30:00 @ 27.57, 32: 08-16 01:30:00 - 08-16 02:00:00 @ 26.5, 33: 08-16 02:00:00 - 08-16 02:30:00 @ 25.6, 34: 08-16 02:30:00 - 08-16 03:00:00 @ 24.79, 35: 08-16 03:00:00 - 08-16 03:30:00 @ 25.08, 36: 08-16 03:30:00 - 08-16 04:00:00 @ 24.62, 37: 08-16 04:00:00 - 08-16 04:30:00 @ 27.02, 38: 08-16 04:30:00 - 08-16 05:00:00 @ 26.47, 39: 08-16 05:00:00 - 08-16 05:30:00 @ 26.25, 40: 08-16 05:30:00 - 08-16 06:00:00 @ 26.4, 41: 08-16 06:00:00 - 08-16 06:30:00 @ 25.7, 42: 08-16 06:30:00 - 08-16 07:00:00 @ 27.63, 43: 08-16 07:00:00 - 08-16 07:30:00 @ 22.73, 44: 08-16 07:30:00 - 08-16 08:00:00 @ 26.7, 45: 08-16 08:00:00 - 08-16 08:30:00 @ 22.92, 46: 08-16 08:30:00 - 08-16 09:00:00 @ 22.48, 47: 08-16 09:00:00 - 08-16 09:30:00 @ 23.55, 48: 08-16 09:30:00 - 08-16 10:00:00 @ 23.64, 49: 08-16 10:00:00 - 08-16 10:30:00 @ 19.66, 50: 08-16 10:30:00 - 08-16 11:00:00 @ 17.66, 51: 08-16 11:00:00 - 08-16 11:30:00 @ 16.56, 52: 08-16 11:30:00 - 08-16 12:00:00 @ 15.46, 53: 08-16 12:00:00 - 08-16 12:30:00 @ 17.0, 54: 08-16 12:30:00 - 08-16 13:00:00 @ 16.34, 55: 08-16 13:00:00 - 08-16 13:30:00 @ 15.36, 56: 08-16 13:30:00 - 08-16 14:00:00 @ 15.74, 57: 08-16 14:00:00 - 08-16 14:30:00 @ 14.57, 58: 08-16 14:30:00 - 08-16 15:00:00 @ 13.77, 59: 08-16 15:00:00 - 08-16 15:30:00 @ 15.02, 60: 08-16 15:30:00 - 08-16 16:00:00 @ 15.87, 61: 08-16 16:00:00 - 08-16 16:30:00 @ 33.13, 62: 08-16 16:30:00 - 08-16 17:00:00 @ 33.13, 63: 08-16 17:00:00 - 08-16 17:30:00 @ 38.46, 64: 08-16 17:30:00 - 08-16 18:00:00 @ 40.44, 65: 08-16 18:00:00 - 08-16 18:30:00 @ 41.55, 66: 08-16 19:00:00 - 08-16 19:30:00 @ 32.58, 67: 08-16 19:30:00 - 08-16 20:00:00 @ 32.9, 68: 08-16 20:00:00 - 08-16 20:30:00 @ 31.99, 69: 08-16 20:30:00 - 08-16 21:00:00 @ 32.1, 70: 08-16 21:00:00 - 08-16 21:30:00 @ 31.71, 71: 08-16 21:30:00 - 08-16 22:00:00 @ 31.67, 72: 08-16 22:00:00 - 08-16 22:30:00 @ 31.77, 73: 08-16 22:30:00 - 08-16 23:00:00 @ 29.81, 74: 08-16 23:00:00 - 08-16 23:30:00 @ 27.8, 75: 08-16 23:30:00 - 08-17 00:00:00 @ 29.09, 76: 08-17 00:00:00 - 08-17 00:30:00 @ 28.47, 77: 08-17 00:30:00 - 08-17 01:00:00 @ 27.18, 78: 08-17 01:00:00 - 08-17 01:30:00 @ 27.57, 79: 08-17 01:30:00 - 08-17 02:00:00 @ 26.5, 80: 08-17 02:00:00 - 08-17 02:30:00 @ 25.6, 81: 08-17 02:30:00 - 08-17 03:00:00 @ 24.79, 82: 08-17 03:00:00 - 08-17 03:30:00 @ 25.08, 83: 08-17 03:30:00 - 08-17 04:00:00 @ 24.62, 84: 08-17 04:00:00 - 08-17 04:30:00 @ 27.02, 85: 08-17 04:30:00 - 08-17 05:00:00 @ 26.47, 86: 08-17 05:00:00 - 08-17 05:30:00 @ 26.25, 87: 08-17 05:30:00 - 08-17 06:00:00 @ 26.4, 88: 08-17 06:00:00 - 08-17 06:30:00 @ 25.7, 89: 08-17 06:30:00 - 08-17 07:00:00 @ 27.63, 90: 08-17 07:00:00 - 08-17 07:30:00 @ 22.73, 91: 08-17 07:30:00 - 08-17 08:00:00 @ 26.7, 92: 08-17 08:00:00 - 08-17 08:30:00 @ 22.92, 93: 08-17 08:30:00 - 08-17 09:00:00 @ 22.48]
2026-08-15 09:00:03.637935: Inverter 0 Charge window will be: 2026-08-15 11:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 12%, target 100%
2026-08-15 09:00:03.638089: Inverter 0 disabled charge window while waiting for schedule (now 08-15 09:00:00 target set_window_minutes 30 charge start time 08-15 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 09:00:03.638210: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 09:00:03.638477: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 09:00:03.638576: No export window planned
2026-08-15 09:00:03.638715: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 09:00:03.638755: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 09:00:03.638893: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 09:00:03.639078: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 09:00:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 09:00:03.639142: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 09:00:03.639204: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 09:00:03.639304: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 09:00:03.639350: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 09:00:03.639378: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 09:00:03.639403: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 09:00:03.639433: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 09:00:03.639458: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 09:00:03.639489: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 09:00:03.639552: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 09:00:03.639588: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 09:00:03.639614: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 09:00:03.639644: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 09:00:03.639683: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 09:00:03.639738: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 09:00:03.639765: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 09:00:03.639788: Inverter 0 count register writes 0
2026-08-15 09:00:03.657630: Will not recompute the plan, it is 5.0 minutes old and max age is 10 minutes
2026-08-15 09:00:03.663489: Total inverter register writes now 815
2026-08-15 09:00:03.701266: Info: Completed run status Demand
2026-08-15 09:00:03.708042: Info: record_status Demand
2026-08-15 09:00:03.715166: Saved current settings to /config/predbat_config.json
2026-08-15 09:00:03.715499: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 09:00:17.801712: Info: HAHistory: Pruning history data started.
2026-08-15 09:00:17.804725: Info: HAHistory: Pruning history data completed.
2026-08-15 09:00:41.835088: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 09:00:41.835459: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 09:00:41.835517: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 09:00:41.835761: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 09:00:41.835811: Note: Inverter does not support discharge freeze - disabled
2026-08-15 09:00:41.835833: Note: Inverter does not support charge freeze - disabled
2026-08-15 09:00:41.835851: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 09:02:42.061673: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 09:02:42.061977: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 09:02:42.062039: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 09:02:42.062225: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 09:02:42.062274: Note: Inverter does not support discharge freeze - disabled
2026-08-15 09:02:42.062295: Note: Inverter does not support charge freeze - disabled
2026-08-15 09:02:42.062313: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 09:04:42.294131: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 09:04:42.294377: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 09:04:42.294431: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 09:04:42.294580: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 09:04:42.294621: Note: Inverter does not support discharge freeze - disabled
2026-08-15 09:04:42.294643: Note: Inverter does not support charge freeze - disabled
2026-08-15 09:04:42.294660: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 09:05:00.402366: --------------- PredBat - update at 2026-08-15 09:05:00+01:00 with clock skew 0 minutes, minutes now 545
2026-08-15 09:05:00.403132: Saved current settings to /config/predbat_config.json
2026-08-15 09:05:00.403244: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 55.0 minutes
2026-08-15 09:05:00.403315: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.1, latest beta is v8.48.1
2026-08-15 09:05:00.403390: Autoupdate: Currently up to date
2026-08-15 09:05:00.422874: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 09:05:00.423008: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 09:05:00.423174: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 09:05:00.423746: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 09:05:00.423871: Predbat mode is set to Control charge & discharge
2026-08-15 09:05:00.630216: Found 21602 load_today datapoints going back 27 days
2026-08-15 09:05:00.630378: Using load_power data to fill gaps in load_today data
2026-08-15 09:05:01.504087: Processing 721 30-minute periods for power integration
2026-08-15 09:05:01.684906: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 09:05:01.685067: Car charging hold False, threshold 6.0kWh
2026-08-15 09:05:01.685109: Current data so far today: load 6.1kWh, import 7.2kWh, export 0.0kWh, PV 0kWh
2026-08-15 09:05:01.701224: Cars: SoC: [12.892000000000001]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 09:05:01.701651: Standing charge is set to 49.98p
2026-08-15 09:05:01.737672: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 09:05:01.737802: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 09:05:01.738018: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 545.0 minutes
2026-08-15 09:05:01.738454: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 544.7 minutes
2026-08-15 09:05:01.741905: Loaded 47 datapoints of futurerate analysis
2026-08-15 09:05:01.838919: Predicted future rates: ['08-15 00:00:00 => 28.9 / 20.01', '08-15 01:00:00 => 27.54 / 19.31', '08-15 02:00:00 => 26.52 / 18.8', '08-15 03:00:00 => 25.99 / 18.53', '08-15 04:00:00 => 25.8 / 18.43', '08-15 05:00:00 => 25.96 / 18.51', '08-15 06:00:00 => 25.55 / 18.3', '08-15 07:00:00 => 24.33 / 17.68', '08-15 08:00:00 => 23.03 / 17.01', '08-15 09:00:00 => 22.05 / 16.51', '08-15 10:00:00 => 20.43 / 15.68', '08-15 11:00:00 => 18.01 / 14.45', '08-15 12:00:00 => 16.37 / 13.61', '08-15 13:00:00 => 15.76 / 13.3', '08-15 14:00:00 => 15.35 / 13.09', '08-15 15:00:00 => 15.86 / 13.35', '08-15 16:00:00 => 32.89 / 16.13', '08-15 17:00:00 => 38.02 / 18.75', '08-15 18:00:00 => 42.36 / 20.96', '08-15 19:00:00 => 31.09 / 21.13', '08-15 20:00:00 => 31.64 / 21.41', '08-15 21:00:00 => 31.64 / 21.41', '08-15 22:00:00 => 30.58 / 20.87']
2026-08-15 09:05:01.902290: Rate min forward looking: now 13.77p at end of forecast 13.77p
2026-08-15 09:05:01.902811: Import rates: min 13.77p, max 43.82p, average 25.96p
2026-08-15 09:05:01.949621: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 09:05:01.949795: Rate thresholds (for charge/export) are import 43.32p (0.0p), export -0.1p (0.0p)
2026-08-15 09:05:01.951100: High export rate found rates in range 99p to -99p
2026-08-15 09:05:02.030169: Low Import rate found rates in range 13.77p to 41.55p
2026-08-15 09:05:02.030290: Car 0 charging is not planned as it is not plugged in
2026-08-15 09:05:02.042494: Battery level now 1.91kWh, -1hr ago 1.6kWh, at midnight 1.66kWh, battery value change in the last hour 3.69p, change today 3.03p, rate_forward 11.83p
2026-08-15 09:05:02.042947: Last hour: net energy 0.3kWh, import 0.3kWh, export 0.0kWh, car 0kWh, load 0.2kWh, net cost 6.81p, import 6.81p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 09:05:02.097046: Today's energy total net 7.2kWh, import 7.2kWh, export 0.0kWh, cost 240.59p, import 190.61p, export 0.0p, carbon 0.0kg
2026-08-15 09:05:02.097184: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 09:05:02.173288: Using weighted-bucket historical load forecast over 14 days
2026-08-15 09:05:02.194580: Today's load divergence 106.78%, in-day adjustment 129.64%, damping 0.95x, yesterday 143.77% today 106.44% blend 62.15%
2026-08-15 09:05:02.194674: Today's predicted so far 5.15kWh with 0.0kWh car/iBoost excluded, 2.78kWh import ignored, and 5.15kWh forecast extra.
2026-08-15 09:05:02.194701: Today's actual load so far 6.27kWh with 0.0kWh car/iBoost excluded, and 2.78kWh import ignored.
2026-08-15 09:05:02.228614: Inverter 0: Type SK Sunsynk
2026-08-15 09:05:02.228698: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 09:05:02.228878: Reserve min: 7%, battery_min: 7%
2026-08-15 09:05:02.229001: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 09:05:02.229284: Inverter 0 SoC: 1.91kW 12%, current charge rate 5000W, current discharge rate 5250W, current battery power 322W, current battery voltage 51.2V, grid power -53W, load power 373W, PV Power 0W
2026-08-15 09:05:02.229450: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 09:05:02.229569: Inverter 0 scheduled charge enable is False
2026-08-15 09:05:02.229601: Inverter 0 charge windows currently []
2026-08-15 09:05:02.229624: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 09:05:02.229761: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 09:05:02.229792: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 09:05:02.229850: Inverter 0 scheduled discharge enable is False
2026-08-15 09:05:02.229959: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 09:05:02.229990: Inverter 0 discharge windows currently []
2026-08-15 09:05:02.230009: Note: Inverter does not support discharge freeze - disabled
2026-08-15 09:05:02.230024: Note: Inverter does not support charge freeze - disabled
2026-08-15 09:05:02.230038: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 09:05:02.286582: Dynamic load last period 0.00kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 09:05:02.286705: Plan was last updated on 2026-08-15 08:55:00+01:00 and is now 10.0 minutes old
2026-08-15 09:05:02.287020: Best charge window [ 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 00:30:00 @ 28.84p 100% ]
2026-08-15 09:05:02.287072: Best export window [  ]
2026-08-15 09:05:02.287787: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 09:05:02.290368: Load divergence over 8.0 hours mean 643.71W, min 294.0W, max 1564.2W, std dev 319.72W, divergence 24.83%
2026-08-15 09:05:02.308229: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 09:05:02.308365: LoadML is_calculating False
2026-08-15 09:05:02.308447: Creating pool of 12 processes to match your CPU count
2026-08-15 09:05:02.428640: predict base end_record 08-16 11:40:00, final soc 1.12kWh, metric 792.62p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 10:05:00, load 26.75kWh, PV 0.0kWh
2026-08-15 09:05:02.573023: Battery has 1.0 hours left - now at 1.91kWh
2026-08-15 09:05:02.613819: predict base10 end_record 08-16 11:40:00, final soc 1.12kWh, metric 817.19p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 10:05:00, load 27.73kWh, PV 0.0kWh
2026-08-15 09:05:02.705799: predict best10 end_record 08-16 11:40:00, final soc 1.77kWh, metric 659.5p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 10:05:00, load 27.73kWh, PV 0.0kWh
2026-08-15 09:05:02.791031: predict best end_record 08-16 11:40:00, final soc 1.9kWh, metric 641.37p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 10:05:00, load 26.75kWh, PV 0.0kWh
2026-08-15 09:05:02.791113: Saving plan best values to HA entities
2026-08-15 09:05:02.967095: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 09:05:02.972877: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 09:05:02.978085: Best charging limit SoC's [16.0, 3.5, 4.0, 16.0, 16.0, 16.0]kWh, export []kWh gives import battery 21.25kWh, house 1.62kWh, export 0.0kWh, metric 641.37p, metric10 659.5p
2026-08-15 09:05:03.046851: Marginal costs baseline metric (no standing charge): 591.3908
2026-08-15 09:05:03.273343: Marginal energy costs matrix computed: min=15.48 max=31.53
2026-08-15 09:05:03.341519: Rate array import [{'start': 545, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 23.6p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1860, 'rate': 'expensive', 'range': '(24.6p - 32.9p)'}, {'start': 1860, 'end': 1890, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 1890, 'end': 1920, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 1920, 'end': 2140, 'rate': 'cheap', 'range': '(15.5p - 23.6p)'}] export [{'start': 545, 'end': 2140, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 09:05:03.342467: - Your estimated bill for today is £5.71 and tomorrow is £5.35
2026-08-15 09:05:03.342521: - Import rates are cheap (13.8p - 23.6p) for the next 6  hours and then expensive (33.1p) for the next 1 hour.
2026-08-15 09:05:03.342569: - The battery is currently at 12% and is in eco mode for the next 2 and a half hours.
2026-08-15 09:05:03.342599: - For the next 48 hours there will be no solar generation.
2026-08-15 09:05:03.342621: - You will run out of battery in 1 hour.
2026-08-15 09:05:03.342635: - Your next charge slot will be in 2 and a half hours where import rates will be cheap (15.5p).
2026-08-15 09:05:03.342650: 
2026-08-15 09:05:03.394510: Plan calculation took 1.11 seconds
2026-08-15 09:05:03.397379: No high rate period found
2026-08-15 09:05:03.447602: Import threshold used for optimisation was 22.48p
2026-08-15 09:05:03.504354: Low import rate windows [0: 08-15 09:00:00 - 08-15 09:30:00 @ 23.55, 1: 08-15 09:30:00 - 08-15 10:00:00 @ 23.64, 2: 08-15 10:00:00 - 08-15 10:30:00 @ 19.66, 3: 08-15 10:30:00 - 08-15 11:00:00 @ 17.66, 4: 08-15 11:00:00 - 08-15 11:30:00 @ 16.56, 5: 08-15 11:30:00 - 08-15 12:00:00 @ 15.46, 6: 08-15 12:00:00 - 08-15 12:30:00 @ 17.0, 7: 08-15 12:30:00 - 08-15 13:00:00 @ 16.34, 8: 08-15 13:00:00 - 08-15 13:30:00 @ 15.36, 9: 08-15 13:30:00 - 08-15 14:00:00 @ 15.74, 10: 08-15 14:00:00 - 08-15 14:30:00 @ 14.57, 11: 08-15 14:30:00 - 08-15 15:00:00 @ 13.77, 12: 08-15 15:00:00 - 08-15 15:30:00 @ 15.02, 13: 08-15 15:30:00 - 08-15 16:00:00 @ 15.87, 14: 08-15 16:00:00 - 08-15 16:30:00 @ 33.13, 15: 08-15 16:30:00 - 08-15 17:00:00 @ 33.13, 16: 08-15 17:00:00 - 08-15 17:30:00 @ 38.46, 17: 08-15 17:30:00 - 08-15 18:00:00 @ 40.44, 18: 08-15 18:00:00 - 08-15 18:30:00 @ 41.55, 19: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 20: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 21: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 22: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 23: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 24: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 25: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 26: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 27: 08-15 23:00:00 - 08-15 23:30:00 @ 27.8, 28: 08-15 23:30:00 - 08-16 00:00:00 @ 29.09, 29: 08-16 00:00:00 - 08-16 00:30:00 @ 28.47, 30: 08-16 00:30:00 - 08-16 01:00:00 @ 27.18, 31: 08-16 01:00:00 - 08-16 01:30:00 @ 27.57, 32: 08-16 01:30:00 - 08-16 02:00:00 @ 26.5, 33: 08-16 02:00:00 - 08-16 02:30:00 @ 25.6, 34: 08-16 02:30:00 - 08-16 03:00:00 @ 24.79, 35: 08-16 03:00:00 - 08-16 03:30:00 @ 25.08, 36: 08-16 03:30:00 - 08-16 04:00:00 @ 24.62, 37: 08-16 04:00:00 - 08-16 04:30:00 @ 27.02, 38: 08-16 04:30:00 - 08-16 05:00:00 @ 26.47, 39: 08-16 05:00:00 - 08-16 05:30:00 @ 26.25, 40: 08-16 05:30:00 - 08-16 06:00:00 @ 26.4, 41: 08-16 06:00:00 - 08-16 06:30:00 @ 25.7, 42: 08-16 06:30:00 - 08-16 07:00:00 @ 27.63, 43: 08-16 07:00:00 - 08-16 07:30:00 @ 22.73, 44: 08-16 07:30:00 - 08-16 08:00:00 @ 26.7, 45: 08-16 08:00:00 - 08-16 08:30:00 @ 22.92, 46: 08-16 08:30:00 - 08-16 09:00:00 @ 22.48, 47: 08-16 09:00:00 - 08-16 09:30:00 @ 23.55, 48: 08-16 09:30:00 - 08-16 10:00:00 @ 23.64, 49: 08-16 10:00:00 - 08-16 10:30:00 @ 19.66, 50: 08-16 10:30:00 - 08-16 11:00:00 @ 17.66, 51: 08-16 11:00:00 - 08-16 11:30:00 @ 16.56, 52: 08-16 11:30:00 - 08-16 12:00:00 @ 15.46, 53: 08-16 12:00:00 - 08-16 12:30:00 @ 17.0, 54: 08-16 12:30:00 - 08-16 13:00:00 @ 16.34, 55: 08-16 13:00:00 - 08-16 13:30:00 @ 15.36, 56: 08-16 13:30:00 - 08-16 14:00:00 @ 15.74, 57: 08-16 14:00:00 - 08-16 14:30:00 @ 14.57, 58: 08-16 14:30:00 - 08-16 15:00:00 @ 13.77, 59: 08-16 15:00:00 - 08-16 15:30:00 @ 15.02, 60: 08-16 15:30:00 - 08-16 16:00:00 @ 15.87, 61: 08-16 16:00:00 - 08-16 16:30:00 @ 33.13, 62: 08-16 16:30:00 - 08-16 17:00:00 @ 33.13, 63: 08-16 17:00:00 - 08-16 17:30:00 @ 38.46, 64: 08-16 17:30:00 - 08-16 18:00:00 @ 40.44, 65: 08-16 18:00:00 - 08-16 18:30:00 @ 41.55, 66: 08-16 19:00:00 - 08-16 19:30:00 @ 32.58, 67: 08-16 19:30:00 - 08-16 20:00:00 @ 32.9, 68: 08-16 20:00:00 - 08-16 20:30:00 @ 31.99, 69: 08-16 20:30:00 - 08-16 21:00:00 @ 32.1, 70: 08-16 21:00:00 - 08-16 21:30:00 @ 31.71, 71: 08-16 21:30:00 - 08-16 22:00:00 @ 31.67, 72: 08-16 22:00:00 - 08-16 22:30:00 @ 31.77, 73: 08-16 22:30:00 - 08-16 23:00:00 @ 29.81, 74: 08-16 23:00:00 - 08-16 23:30:00 @ 27.8, 75: 08-16 23:30:00 - 08-17 00:00:00 @ 29.09, 76: 08-17 00:00:00 - 08-17 00:30:00 @ 28.47, 77: 08-17 00:30:00 - 08-17 01:00:00 @ 27.18, 78: 08-17 01:00:00 - 08-17 01:30:00 @ 27.57, 79: 08-17 01:30:00 - 08-17 02:00:00 @ 26.5, 80: 08-17 02:00:00 - 08-17 02:30:00 @ 25.6, 81: 08-17 02:30:00 - 08-17 03:00:00 @ 24.79, 82: 08-17 03:00:00 - 08-17 03:30:00 @ 25.08, 83: 08-17 03:30:00 - 08-17 04:00:00 @ 24.62, 84: 08-17 04:00:00 - 08-17 04:30:00 @ 27.02, 85: 08-17 04:30:00 - 08-17 05:00:00 @ 26.47, 86: 08-17 05:00:00 - 08-17 05:30:00 @ 26.25, 87: 08-17 05:30:00 - 08-17 06:00:00 @ 26.4, 88: 08-17 06:00:00 - 08-17 06:30:00 @ 25.7, 89: 08-17 06:30:00 - 08-17 07:00:00 @ 27.63, 90: 08-17 07:00:00 - 08-17 07:30:00 @ 22.73, 91: 08-17 07:30:00 - 08-17 08:00:00 @ 26.7, 92: 08-17 08:00:00 - 08-17 08:30:00 @ 22.92, 93: 08-17 08:30:00 - 08-17 09:00:00 @ 22.48, 94: 08-17 09:00:00 - 08-17 09:30:00 @ 23.55]
2026-08-15 09:05:03.513372: Inverter 0 Charge window will be: 2026-08-15 11:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 12%, target 100%
2026-08-15 09:05:03.513522: Inverter 0 disabled charge window while waiting for schedule (now 08-15 09:05:00 target set_window_minutes 30 charge start time 08-15 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 09:05:03.513663: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 09:05:03.514000: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 09:05:03.514122: No export window planned
2026-08-15 09:05:03.514302: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 09:05:03.514347: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 09:05:03.514519: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 09:05:03.514763: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 09:05:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 09:05:03.514844: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 09:05:03.514951: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 09:05:03.515096: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 09:05:03.515172: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 09:05:03.515234: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 09:05:03.515291: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 09:05:03.515346: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 09:05:03.515404: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 09:05:03.515462: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 09:05:03.515580: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 09:05:03.515625: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 09:05:03.515679: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 09:05:03.515750: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 09:05:03.515814: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 09:05:03.515867: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 09:05:03.515925: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 09:05:03.515972: Inverter 0 count register writes 0
2026-08-15 09:05:03.536626: Will recompute the plan as it is now 10.0 minutes old and will exceed the max age of 10 minutes before the next run
2026-08-15 09:05:03.536839: Recompute is saving previous plan...
2026-08-15 09:05:03.540127: Best charge window [ 15-08 09:00:00 - 15-08 09:30:00 @ 23.55p 0%, 15-08 09:30:00 - 15-08 10:00:00 @ 23.64p 0%, 15-08 10:00:00 - 15-08 10:30:00 @ 19.66p 0%, 15-08 10:30:00 - 15-08 11:00:00 @ 17.66p 0%, 15-08 11:00:00 - 15-08 11:30:00 @ 16.56p 0%, 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 0%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 0%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 0%, 15-08 13:00:00 - 15-08 13:30:00 @ 15.36p 0%, 15-08 13:30:00 - 15-08 14:00:00 @ 15.74p 0%, 15-08 14:00:00 - 15-08 14:30:00 @ 14.57p 0%, 15-08 14:30:00 - 15-08 15:00:00 @ 13.77p 0%, 15-08 15:00:00 - 15-08 15:30:00 @ 15.02p 0%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 0%, 15-08 16:00:00 - 15-08 16:30:00 @ 33.13p 0%, 15-08 16:30:00 - 15-08 17:00:00 @ 33.13p 0%, 15-08 17:00:00 - 15-08 17:30:00 @ 38.46p 0%, 15-08 17:30:00 - 15-08 18:00:00 @ 40.44p 0%, 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 0%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 0%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 0%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 0%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 0%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 27.8p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 29.09p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.47p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.18p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 27.57p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.5p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.6p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 24.79p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 25.08p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 24.62p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 27.02p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.47p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 26.25p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.4p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.7p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 27.63p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 22.73p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 26.7p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 22.92p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 22.48p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 23.55p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 23.64p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 19.66p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 17.66p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 16.56p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 15.46p 0%, 16-08 12:00:00 - 16-08 12:30:00 @ 17.0p 0%, 16-08 12:30:00 - 16-08 13:00:00 @ 16.34p 0%, 16-08 13:00:00 - 16-08 13:30:00 @ 15.36p 0%, 16-08 13:30:00 - 16-08 14:00:00 @ 15.74p 0%, 16-08 14:00:00 - 16-08 14:30:00 @ 14.57p 0%, 16-08 14:30:00 - 16-08 15:00:00 @ 13.77p 0%, 16-08 15:00:00 - 16-08 15:30:00 @ 15.02p 0%, 16-08 15:30:00 - 16-08 16:00:00 @ 15.87p 0%, 16-08 16:00:00 - 16-08 16:30:00 @ 33.13p 0%, 16-08 16:30:00 - 16-08 17:00:00 @ 33.13p 0%, 16-08 17:00:00 - 16-08 17:30:00 @ 38.46p 0%, 16-08 17:30:00 - 16-08 18:00:00 @ 40.44p 0%, 16-08 18:00:00 - 16-08 18:30:00 @ 41.55p 0%, 16-08 19:00:00 - 16-08 19:30:00 @ 32.58p 0%, 16-08 19:30:00 - 16-08 20:00:00 @ 32.9p 0%, 16-08 20:00:00 - 16-08 20:30:00 @ 31.99p 0%, 16-08 20:30:00 - 16-08 21:00:00 @ 32.1p 0%, 16-08 21:00:00 - 16-08 21:30:00 @ 31.71p 0%, 16-08 21:30:00 - 16-08 22:00:00 @ 31.67p 0%, 16-08 22:00:00 - 16-08 22:30:00 @ 31.77p 0%, 16-08 22:30:00 - 16-08 23:00:00 @ 29.81p 0%, 16-08 23:00:00 - 16-08 23:30:00 @ 27.8p 0%, 16-08 23:30:00 - 17-08 00:00:00 @ 29.09p 0%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.47p 0%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.18p 0%, 17-08 01:00:00 - 17-08 01:30:00 @ 27.57p 0%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.5p 0%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.6p 0%, 17-08 02:30:00 - 17-08 03:00:00 @ 24.79p 0%, 17-08 03:00:00 - 17-08 03:30:00 @ 25.08p 0%, 17-08 03:30:00 - 17-08 04:00:00 @ 24.62p 0%, 17-08 04:00:00 - 17-08 04:30:00 @ 27.02p 0%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.47p 0%, 17-08 05:00:00 - 17-08 05:30:00 @ 26.25p 0%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.4p 0%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.7p 0%, 17-08 06:30:00 - 17-08 07:00:00 @ 27.63p 0%, 17-08 07:00:00 - 17-08 07:30:00 @ 22.73p 0%, 17-08 07:30:00 - 17-08 08:00:00 @ 26.7p 0%, 17-08 08:00:00 - 17-08 08:30:00 @ 22.92p 0%, 17-08 08:30:00 - 17-08 09:00:00 @ 22.48p 0%, 17-08 09:00:00 - 17-08 09:30:00 @ 23.55p 0% ]
2026-08-15 09:05:03.540317: Best export window [  ]
2026-08-15 09:05:03.541198: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 09:05:03.544802: Load divergence over 8.0 hours mean 643.71W, min 294.0W, max 1564.2W, std dev 319.72W, divergence 24.83%
2026-08-15 09:05:03.562239: Calculating data from yesterday for savings calculation
2026-08-15 09:05:03.574402: Yesterday basic charge window best: [{'start': 840, 'end': 870, 'average': 21.7}] charge limit best: [16.0] based on max charge slots 1
2026-08-15 09:05:03.620058: predict yesterday end_record 08-16 00:00:00, final soc 1.12kWh, metric 843.63p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 00:00:00, load 26.2kWh, PV 0.0kWh
2026-08-15 09:05:03.634515: predict yesterday10 end_record 08-16 00:00:00, final soc 1.12kWh, metric 847.91p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 00:00:00, load 26.2kWh, PV 0.0kWh
2026-08-15 09:05:03.655238: predict yesterday end_record 08-16 00:00:00, final soc 1.12kWh, metric 843.63p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 00:00:00, load 26.2kWh, PV 0.0kWh
2026-08-15 09:05:03.692888: Yesterday: Predbat disabled was £8.44 (adjusted £8.3) vs £7.38 (adjusted £7.17), saving £1.05 (adjusted £1.13) with import 26.54kWh, export 0.0kWh, battery_cycle 4.66kWh, start_soc 1.12kWh,  final_soc 1.12kWh and battery_value 13.25kWh
2026-08-15 09:05:03.765087: predict yesterday end_record 08-16 00:00:00, final soc 0.0kWh, metric 849.84p, metric_keep 0kWh, min_soc 0kWh @ 08-15 00:00:00, load 26.2kWh, PV 0.0kWh
2026-08-15 09:05:03.765262: Yesterday: No Battery/PV system cost predicted was £8.5 (adjusted £8.5) vs £7.38 (adjusted £7.17), saving £1.12 (adjusted £1.33) with import 26.2kWh, export 0kWh and battery_value 0.0kWh
2026-08-15 09:05:03.776433: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 09:05:03.776567: LoadML is_calculating False
2026-08-15 09:05:03.776646: Creating pool of 12 processes to match your CPU count
2026-08-15 09:05:03.875344: Calculate Best options: mode(Control charge & discharge), calculate_export_oncharge(False), calculate_export_on_pv(True), set_export_freeze_only(False), set_discharge_during_charge(True), combine_charge_slots(False), combine_export_slots(False), combine_rate_threshold(0.0), best_soc_min(0.0 kWh), best_soc_max(0.0 kWh), best_soc_keep(0.0 kWh), inverter_loss(4%), battery_loss(3%), battery_loss_discharge (3%), inverter_hybrid(True), metric_min_improvement(0.0p), metric_min_improvement_export(0.1p), metric_min_improvement_export_freeze(0.1p), metric_battery_cycle(0.0p/kWh), metric_battery_value_scaling(1.0 x) 
2026-08-15 09:05:03.877539: Optimise levels pass started at 2026-08-15 09:05:03
2026-08-15 09:05:03.877611: Optimise all windows, total charge 94 export 1
2026-08-15 09:05:04.901895: >> Region optimisation pass width 960 gives best_metric 814.15p, best_cost 840.74p, best_cycle 57.8kWh, best_import 39.41kWh
2026-08-15 09:05:05.302523: >> Region optimisation pass width 480 gives best_metric 814.15p, best_cost 840.74p, best_cycle 57.8kWh, best_import 39.41kWh
2026-08-15 09:05:05.891633: >> Region optimisation pass width 240 gives best_metric 810.76p, best_cost 816.64p, best_cycle 54.45kWh, best_import 37.69kWh
2026-08-15 09:05:07.079622: >> Region optimisation pass width 120 gives best_metric 810.76p, best_cost 816.64p, best_cycle 54.45kWh, best_import 37.69kWh
2026-08-15 09:05:07.080111: Calculated end_record as 08-16 11:30:00 based on best_price 16.34p, next_charge_start 08-15 11:30:00, max_windows 52
2026-08-15 09:05:07.080188: Optimise levels pass ended at 2026-08-15 09:05:07, duration 3.2 seconds tried 368 combinations
2026-08-15 09:05:07.080268: Set best_price_charge_level 17.6p, best_price_export_level 0p, best_price_charge 16.34p, best_cost_export 0p, best_metric 810.76p, best_keep 0kWh, best_cycle 54.45kWh, best_carbon 0kg, best_import 37.69kWh
2026-08-15 09:05:07.095824: Starting detailed optimisation end_record 08-16 11:30:00, best_price_charge 16.34p, best_price_export 0p. lowest_price_charge 13.77p with charge limits [0, 0, 0, 0, 0, 15.75, 0, 15.75, 15.75, 15.75, 15.75, 15.75, 15.75, 15.75, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0]kWh and export limits []kWh
2026-08-15 09:05:12.070325: Tweak plan optimisation started metric 565.1p, cost 575.28p
2026-08-15 09:05:12.350525: Tweak optimisation finished metric 565.1p, cost 575.28p, metric_keep 0kWh, cycle 30.04kWh, carbon 0kg, import 21.82kWh, changed 8 window(s)
2026-08-15 09:05:12.378169: Swap charge optimisation started metric 565.1p, cost 575.28p, min_improvement_swap 0.1p
2026-08-15 09:05:16.898503: Swap charge optimisation finished metric 565.1p, cost 575.28p
2026-08-15 09:05:16.995979: Pruned 1 dead plan slot(s) in 10 trial(s), nominal metric 562.03p -> 562.03p, plan now metric 565.1p, cost 575.28p, cycle 30.04kWh, import 21.82kWh
2026-08-15 09:05:17.006584: Raw charge windows [ 15-08 09:00:00 - 15-08 09:30:00 @ 23.55p 0%, 15-08 09:30:00 - 15-08 10:00:00 @ 23.64p 0%, 15-08 10:00:00 - 15-08 10:30:00 @ 19.66p 0%, 15-08 10:30:00 - 15-08 11:00:00 @ 17.66p 0%, 15-08 11:00:00 - 15-08 11:30:00 @ 16.56p 0%, 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 13:30:00 @ 15.36p 98%, 15-08 13:30:00 - 15-08 14:00:00 @ 15.74p 100%, 15-08 14:00:00 - 15-08 14:30:00 @ 14.57p 98%, 15-08 14:30:00 - 15-08 15:00:00 @ 13.77p 98%, 15-08 15:00:00 - 15-08 15:30:00 @ 15.02p 98%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 98%, 15-08 16:00:00 - 15-08 16:30:00 @ 33.13p 0%, 15-08 16:30:00 - 15-08 17:00:00 @ 33.13p 0%, 15-08 17:00:00 - 15-08 17:30:00 @ 38.46p 0%, 15-08 17:30:00 - 15-08 18:00:00 @ 40.44p 0%, 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 0%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 0%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 0%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 0%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 0%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 27.8p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 29.09p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.47p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.18p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 27.57p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.5p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.6p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 24.79p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 25.08p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 24.62p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 27.02p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.47p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 26.25p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.4p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.7p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 27.63p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 22.73p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 26.7p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 22.92p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 22.48p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 23.55p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 23.64p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 19.66p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 17.66p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 16.56p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 15.46p 100%, 16-08 12:00:00 - 16-08 12:30:00 @ 17.0p 100%, 16-08 12:30:00 - 16-08 13:00:00 @ 16.34p 100%, 16-08 13:00:00 - 16-08 13:30:00 @ 15.36p 100%, 16-08 13:30:00 - 16-08 14:00:00 @ 15.74p 100%, 16-08 14:00:00 - 16-08 14:30:00 @ 14.57p 100%, 16-08 14:30:00 - 16-08 15:00:00 @ 13.77p 100%, 16-08 15:00:00 - 16-08 15:30:00 @ 15.02p 100%, 16-08 15:30:00 - 16-08 16:00:00 @ 15.87p 100%, 16-08 16:00:00 - 16-08 16:30:00 @ 33.13p 100%, 16-08 16:30:00 - 16-08 17:00:00 @ 33.13p 100%, 16-08 17:00:00 - 16-08 17:30:00 @ 38.46p 100%, 16-08 17:30:00 - 16-08 18:00:00 @ 40.44p 100%, 16-08 18:00:00 - 16-08 18:30:00 @ 41.55p 100%, 16-08 19:00:00 - 16-08 19:30:00 @ 32.58p 100%, 16-08 19:30:00 - 16-08 20:00:00 @ 32.9p 100%, 16-08 20:00:00 - 16-08 20:30:00 @ 31.99p 100%, 16-08 20:30:00 - 16-08 21:00:00 @ 32.1p 100%, 16-08 21:00:00 - 16-08 21:30:00 @ 31.71p 100%, 16-08 21:30:00 - 16-08 22:00:00 @ 31.67p 100%, 16-08 22:00:00 - 16-08 22:30:00 @ 31.77p 100%, 16-08 22:30:00 - 16-08 23:00:00 @ 29.81p 100%, 16-08 23:00:00 - 16-08 23:30:00 @ 27.8p 100%, 16-08 23:30:00 - 17-08 00:00:00 @ 29.09p 100%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.47p 100%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.18p 100%, 17-08 01:00:00 - 17-08 01:30:00 @ 27.57p 100%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.5p 100%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.6p 100%, 17-08 02:30:00 - 17-08 03:00:00 @ 24.79p 100%, 17-08 03:00:00 - 17-08 03:30:00 @ 25.08p 100%, 17-08 03:30:00 - 17-08 04:00:00 @ 24.62p 100%, 17-08 04:00:00 - 17-08 04:30:00 @ 27.02p 100%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.47p 100%, 17-08 05:00:00 - 17-08 05:30:00 @ 26.25p 100%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.4p 100%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.7p 100%, 17-08 06:30:00 - 17-08 07:00:00 @ 27.63p 100%, 17-08 07:00:00 - 17-08 07:30:00 @ 22.73p 100%, 17-08 07:30:00 - 17-08 08:00:00 @ 26.7p 100%, 17-08 08:00:00 - 17-08 08:30:00 @ 22.92p 100%, 17-08 08:30:00 - 17-08 09:00:00 @ 22.48p 100%, 17-08 09:00:00 - 17-08 09:30:00 @ 23.55p 100% ] reserve 1.12
2026-08-15 09:05:17.007231: Unclipped charge windows [ 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 13:30:00 @ 15.36p 98%, 15-08 13:30:00 - 15-08 14:00:00 @ 15.74p 100%, 15-08 14:00:00 - 15-08 16:00:00 @ 15.23p 98%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 09:30:00 @ 23.48p 100% ] reserve 1.12
2026-08-15 09:05:17.007565: Unfiltered charge windows [ 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 13:30:00 @ 15.36p 100%, 15-08 13:30:00 - 15-08 14:00:00 @ 15.74p 100%, 15-08 14:00:00 - 15-08 16:00:00 @ 15.23p 98%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 09:30:00 @ 23.48p 100% ] reserve 1.12
2026-08-15 09:05:17.007843: Filtered charge windows [ 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 14:00:00 @ 15.55p 100%, 15-08 14:00:00 - 15-08 16:00:00 @ 15.23p 98%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 09:30:00 @ 23.48p 100% ] reserve 1.12
2026-08-15 09:05:17.038025: Previous plan best metric is 565.41 (cost 575.63) and new plan best metric is 565.1 (cost 575.28)
2026-08-15 09:05:17.038304: New plan metric is not significantly better (metric_min_improvement_plan 2.0) than previous plan, using previous plan
2026-08-15 09:05:17.038518: Plan valid is now true after recompute was False
2026-08-15 09:05:17.060783: predict base end_record 08-16 11:30:00, final soc 1.12kWh, metric 789.74p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 10:05:00, load 26.57kWh, PV 0.0kWh
2026-08-15 09:05:17.181072: Battery has 1.0 hours left - now at 1.91kWh
2026-08-15 09:05:17.227965: predict base10 end_record 08-16 11:30:00, final soc 1.12kWh, metric 814.18p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 10:05:00, load 27.54kWh, PV 0.0kWh
2026-08-15 09:05:17.314967: predict best10 end_record 08-16 11:30:00, final soc 1.12kWh, metric 645.75p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 10:05:00, load 27.54kWh, PV 0.0kWh
2026-08-15 09:05:17.397895: predict best end_record 08-16 11:30:00, final soc 1.12kWh, metric 625.61p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 10:05:00, load 26.57kWh, PV 0.0kWh
2026-08-15 09:05:17.397990: Saving plan best values to HA entities
2026-08-15 09:05:17.561229: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 09:05:17.567599: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 09:05:17.574464: Best charging limit SoC's [16.0, 3.5, 4.0, 16.0, 16.0, 16.0]kWh, export []kWh gives import battery 20.23kWh, house 1.62kWh, export 0.0kWh, metric 625.61p, metric10 645.75p
2026-08-15 09:05:17.657443: Marginal costs baseline metric (no standing charge): 575.6313
2026-08-15 09:05:17.952120: Marginal energy costs matrix computed: min=15.48 max=31.53
2026-08-15 09:05:18.031572: Rate array import [{'start': 545, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 23.6p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1860, 'rate': 'expensive', 'range': '(24.6p - 32.9p)'}, {'start': 1860, 'end': 1890, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 1890, 'end': 1920, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 1920, 'end': 2130, 'rate': 'cheap', 'range': '(16.6p - 23.6p)'}] export [{'start': 545, 'end': 2130, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 09:05:18.032236: - Your estimated bill for today is £5.71 and tomorrow is £5.35
2026-08-15 09:05:18.032285: - Import rates are cheap (13.8p - 23.6p) for the next 6  hours and then expensive (33.1p) for the next 1 hour.
2026-08-15 09:05:18.032308: - The battery is currently at 12% and is in eco mode for the next 2 and a half hours.
2026-08-15 09:05:18.032350: - For the next 48 hours there will be no solar generation.
2026-08-15 09:05:18.032370: - You will run out of battery in 1 hour.
2026-08-15 09:05:18.032387: - Your next charge slot will be in 2 and a half hours where import rates will be cheap (15.5p).
2026-08-15 09:05:18.032406: 
2026-08-15 09:05:18.089757: Plan calculation took 14.55 seconds
2026-08-15 09:05:18.090136: Inverter 0: Type SK Sunsynk
2026-08-15 09:05:18.090183: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 09:05:18.090404: Reserve min: 7%, battery_min: 7%
2026-08-15 09:05:18.090484: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 09:05:18.090821: Inverter 0 SoC: 2.08kW 13%, current charge rate 5000W, current discharge rate 5250W, current battery power 303W, current battery voltage 51.2V, grid power -55W, load power 439W, PV Power 0W
2026-08-15 09:05:18.091062: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 09:05:18.091174: Inverter 0 scheduled charge enable is False
2026-08-15 09:05:18.091214: Inverter 0 charge windows currently []
2026-08-15 09:05:18.091245: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 09:05:18.091355: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 09:05:18.091392: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 09:05:18.091427: Inverter 0 scheduled discharge enable is False
2026-08-15 09:05:18.091555: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 09:05:18.091594: Inverter 0 discharge windows currently []
2026-08-15 09:05:18.091617: Note: Inverter does not support discharge freeze - disabled
2026-08-15 09:05:18.091636: Note: Inverter does not support charge freeze - disabled
2026-08-15 09:05:18.091653: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 09:05:18.151527: Inverter 0 Charge window will be: 2026-08-15 11:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 13%, target 100%
2026-08-15 09:05:18.151689: Inverter 0 disabled charge window while waiting for schedule (now 08-15 09:05:00 target set_window_minutes 30 charge start time 08-15 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 09:05:18.151782: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 09:05:18.151969: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 09:05:18.152053: No export window planned
2026-08-15 09:05:18.152161: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 09:05:18.152198: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 09:05:18.152339: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 09:05:18.152508: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 09:05:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 09:05:18.152562: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 09:05:18.152619: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 09:05:18.152735: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 09:05:18.152784: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 09:05:18.152814: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 09:05:18.152846: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 09:05:18.152897: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 09:05:18.152924: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 09:05:18.152985: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 09:05:18.153054: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 09:05:18.153090: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 09:05:18.153117: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 09:05:18.153143: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 09:05:18.153166: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 09:05:18.153196: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 09:05:18.153220: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 09:05:18.153240: Inverter 0 count register writes 0
2026-08-15 09:05:18.177030: Total inverter register writes now 815
2026-08-15 09:05:18.216894: Info: Completed run status Demand
2026-08-15 09:05:18.224491: Info: record_status Demand
2026-08-15 09:05:18.232688: Saved current settings to /config/predbat_config.json
2026-08-15 09:05:18.233140: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 09:05:57.353205: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 09:05:57.353543: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 09:05:57.353668: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 09:05:57.353985: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 09:05:57.354043: Note: Inverter does not support discharge freeze - disabled
2026-08-15 09:05:57.354085: Note: Inverter does not support charge freeze - disabled
2026-08-15 09:05:57.354120: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 09:08:11.592159: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 09:08:11.592405: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 09:08:11.592448: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 09:08:11.592610: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 09:08:11.592650: Note: Inverter does not support discharge freeze - disabled
2026-08-15 09:08:11.592672: Note: Inverter does not support charge freeze - disabled
2026-08-15 09:08:11.592689: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 09:10:00.809392: --------------- PredBat - update at 2026-08-15 09:10:00+01:00 with clock skew 0 minutes, minutes now 550
2026-08-15 09:10:00.810321: Saved current settings to /config/predbat_config.json
2026-08-15 09:10:00.810502: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 60.0 minutes
2026-08-15 09:10:00.810680: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.1, latest beta is v8.48.1
2026-08-15 09:10:00.810771: Autoupdate: Currently up to date
2026-08-15 09:10:00.833602: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 09:10:00.833751: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 09:10:00.834013: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 09:10:00.834954: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 09:10:00.835195: Predbat mode is set to Control charge & discharge
2026-08-15 09:10:01.026265: Found 21602 load_today datapoints going back 28 days
2026-08-15 09:10:01.026409: Using load_power data to fill gaps in load_today data
2026-08-15 09:10:01.738451: Processing 721 30-minute periods for power integration
2026-08-15 09:10:01.894341: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 09:10:01.894471: Car charging hold False, threshold 6.0kWh
2026-08-15 09:10:01.894512: Current data so far today: load 6.22kWh, import 7.7kWh, export 0.0kWh, PV 0kWh
2026-08-15 09:10:01.906747: Cars: SoC: [12.892000000000001]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 09:10:01.907075: Standing charge is set to 49.98p
2026-08-15 09:10:01.934948: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 09:10:01.935041: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 09:10:01.935214: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 550.0 minutes
2026-08-15 09:10:01.935518: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 549.7 minutes
2026-08-15 09:10:01.937921: Loaded 47 datapoints of futurerate analysis
2026-08-15 09:10:02.007376: Predicted future rates: ['08-15 00:00:00 => 28.9 / 20.01', '08-15 01:00:00 => 27.54 / 19.31', '08-15 02:00:00 => 26.52 / 18.8', '08-15 03:00:00 => 25.99 / 18.53', '08-15 04:00:00 => 25.8 / 18.43', '08-15 05:00:00 => 25.96 / 18.51', '08-15 06:00:00 => 25.55 / 18.3', '08-15 07:00:00 => 24.33 / 17.68', '08-15 08:00:00 => 23.03 / 17.01', '08-15 09:00:00 => 22.05 / 16.51', '08-15 10:00:00 => 20.43 / 15.68', '08-15 11:00:00 => 18.01 / 14.45', '08-15 12:00:00 => 16.37 / 13.61', '08-15 13:00:00 => 15.76 / 13.3', '08-15 14:00:00 => 15.35 / 13.09', '08-15 15:00:00 => 15.86 / 13.35', '08-15 16:00:00 => 32.89 / 16.13', '08-15 17:00:00 => 38.02 / 18.75', '08-15 18:00:00 => 42.36 / 20.96', '08-15 19:00:00 => 31.09 / 21.13', '08-15 20:00:00 => 31.64 / 21.41', '08-15 21:00:00 => 31.64 / 21.41', '08-15 22:00:00 => 30.58 / 20.87']
2026-08-15 09:10:02.057117: Rate min forward looking: now 13.77p at end of forecast 13.77p
2026-08-15 09:10:02.057582: Import rates: min 13.77p, max 43.82p, average 25.96p
2026-08-15 09:10:02.091693: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 09:10:02.091815: Rate thresholds (for charge/export) are import 43.32p (0.0p), export -0.1p (0.0p)
2026-08-15 09:10:02.092898: High export rate found rates in range 99p to -99p
2026-08-15 09:10:02.163895: Low Import rate found rates in range 13.77p to 41.55p
2026-08-15 09:10:02.164017: Car 0 charging is not planned as it is not plugged in
2026-08-15 09:10:02.175530: Battery level now 1.91kWh, -1hr ago 1.6kWh, at midnight 1.66kWh, battery value change in the last hour 3.69p, change today 3.03p, rate_forward 11.83p
2026-08-15 09:10:02.175877: Last hour: net energy 0.77kWh, import 0.77kWh, export 0.0kWh, car 0kWh, load 0.3kWh, net cost 17.68p, import 17.68p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 09:10:02.223766: Today's energy total net 7.7kWh, import 7.7kWh, export 0.0kWh, cost 252.1p, import 202.12p, export 0.0p, carbon 0.0kg
2026-08-15 09:10:02.223907: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 09:10:02.292304: Using weighted-bucket historical load forecast over 14 days
2026-08-15 09:10:02.315418: Today's load divergence 107.04%, in-day adjustment 129.61%, damping 0.95x, yesterday 143.77% today 106.69% blend 61.81%
2026-08-15 09:10:02.315500: Today's predicted so far 5.15kWh with 0.0kWh car/iBoost excluded, 3.23kWh import ignored, and 5.15kWh forecast extra.
2026-08-15 09:10:02.315528: Today's actual load so far 6.32kWh with 0.0kWh car/iBoost excluded, and 3.23kWh import ignored.
2026-08-15 09:10:02.352107: Inverter 0: Type SK Sunsynk
2026-08-15 09:10:02.352197: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 09:10:02.352362: Reserve min: 7%, battery_min: 7%
2026-08-15 09:10:02.352565: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 09:10:02.352857: Inverter 0 SoC: 2.08kW 13%, current charge rate 5000W, current discharge rate 5250W, current battery power 330W, current battery voltage 51.2V, grid power -54W, load power 388W, PV Power 0W
2026-08-15 09:10:02.353088: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 09:10:02.353179: Inverter 0 scheduled charge enable is False
2026-08-15 09:10:02.353209: Inverter 0 charge windows currently []
2026-08-15 09:10:02.353233: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 09:10:02.353340: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 09:10:02.353385: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 09:10:02.353416: Inverter 0 scheduled discharge enable is False
2026-08-15 09:10:02.353524: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 09:10:02.353555: Inverter 0 discharge windows currently []
2026-08-15 09:10:02.353574: Note: Inverter does not support discharge freeze - disabled
2026-08-15 09:10:02.353589: Note: Inverter does not support charge freeze - disabled
2026-08-15 09:10:02.353603: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 09:10:02.412577: Dynamic load last period 0.30kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 09:10:02.412718: Plan was last updated on 2026-08-15 09:05:00+01:00 and is now 5.0 minutes old
2026-08-15 09:10:02.413158: Best charge window [ 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 00:30:00 @ 28.84p 100% ]
2026-08-15 09:10:02.413234: Best export window [  ]
2026-08-15 09:10:02.413919: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 09:10:02.416378: Load divergence over 8.0 hours mean 642.15W, min 291.6W, max 1657.2W, std dev 320.72W, divergence 24.97%
2026-08-15 09:10:02.432187: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 09:10:02.432280: LoadML is_calculating False
2026-08-15 09:10:02.432338: Creating pool of 12 processes to match your CPU count
2026-08-15 09:10:02.543232: predict base end_record 08-16 11:35:00, final soc 1.12kWh, metric 799.24p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 10:20:00, load 26.75kWh, PV 0.0kWh
2026-08-15 09:10:02.662376: Battery has 1.17 hours left - now at 2.08kWh
2026-08-15 09:10:02.701414: predict base10 end_record 08-16 11:35:00, final soc 1.12kWh, metric 823.74p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 10:20:00, load 27.73kWh, PV 0.0kWh
2026-08-15 09:10:02.784121: predict best10 end_record 08-16 11:35:00, final soc 1.44kWh, metric 660.57p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 10:20:00, load 27.73kWh, PV 0.0kWh
2026-08-15 09:10:02.859060: predict best end_record 08-16 11:35:00, final soc 1.51kWh, metric 641.25p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 10:20:00, load 26.75kWh, PV 0.0kWh
2026-08-15 09:10:02.859147: Saving plan best values to HA entities
2026-08-15 09:10:03.041312: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 09:10:03.046980: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0.0
2026-08-15 09:10:03.052990: Best charging limit SoC's [16.0, 3.5, 4.0, 16.0, 16.0, 16.0]kWh, export []kWh gives import battery 20.74kWh, house 1.44kWh, export 0.0kWh, metric 641.25p, metric10 660.57p
2026-08-15 09:10:03.133492: Marginal costs baseline metric (no standing charge): 591.2667
2026-08-15 09:10:03.388538: Marginal energy costs matrix computed: min=15.42 max=31.7
2026-08-15 09:10:03.461208: Rate array import [{'start': 550, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 23.6p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1860, 'rate': 'expensive', 'range': '(24.6p - 32.9p)'}, {'start': 1860, 'end': 1890, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 1890, 'end': 1920, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 1920, 'end': 2135, 'rate': 'cheap', 'range': '(15.5p - 23.6p)'}] export [{'start': 550, 'end': 2135, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 09:10:03.461925: - Your estimated bill for today is £5.79 and tomorrow is £5.37
2026-08-15 09:10:03.461975: - Import rates are cheap (13.8p - 23.6p) for the next 6 and three quarters hours and then expensive (33.1p) for the next 1 hour.
2026-08-15 09:10:03.461998: - The battery is currently at 13% and is in eco mode for the next 2 and a quarter hours.
2026-08-15 09:10:03.462016: - For the next 48 hours there will be no solar generation.
2026-08-15 09:10:03.462034: - You will run out of battery in 1 and a quarter hours.
2026-08-15 09:10:03.462050: - Your next charge slot will be in 2 and a quarter hours where import rates will be cheap (15.5p).
2026-08-15 09:10:03.462067: 
2026-08-15 09:10:03.515800: Plan calculation took 1.10 seconds
2026-08-15 09:10:03.519250: No high rate period found
2026-08-15 09:10:03.570213: Import threshold used for optimisation was 22.48p
2026-08-15 09:10:03.624741: Low import rate windows [0: 08-15 09:00:00 - 08-15 09:30:00 @ 23.55, 1: 08-15 09:30:00 - 08-15 10:00:00 @ 23.64, 2: 08-15 10:00:00 - 08-15 10:30:00 @ 19.66, 3: 08-15 10:30:00 - 08-15 11:00:00 @ 17.66, 4: 08-15 11:00:00 - 08-15 11:30:00 @ 16.56, 5: 08-15 11:30:00 - 08-15 12:00:00 @ 15.46, 6: 08-15 12:00:00 - 08-15 12:30:00 @ 17.0, 7: 08-15 12:30:00 - 08-15 13:00:00 @ 16.34, 8: 08-15 13:00:00 - 08-15 13:30:00 @ 15.36, 9: 08-15 13:30:00 - 08-15 14:00:00 @ 15.74, 10: 08-15 14:00:00 - 08-15 14:30:00 @ 14.57, 11: 08-15 14:30:00 - 08-15 15:00:00 @ 13.77, 12: 08-15 15:00:00 - 08-15 15:30:00 @ 15.02, 13: 08-15 15:30:00 - 08-15 16:00:00 @ 15.87, 14: 08-15 16:00:00 - 08-15 16:30:00 @ 33.13, 15: 08-15 16:30:00 - 08-15 17:00:00 @ 33.13, 16: 08-15 17:00:00 - 08-15 17:30:00 @ 38.46, 17: 08-15 17:30:00 - 08-15 18:00:00 @ 40.44, 18: 08-15 18:00:00 - 08-15 18:30:00 @ 41.55, 19: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 20: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 21: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 22: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 23: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 24: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 25: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 26: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 27: 08-15 23:00:00 - 08-15 23:30:00 @ 27.8, 28: 08-15 23:30:00 - 08-16 00:00:00 @ 29.09, 29: 08-16 00:00:00 - 08-16 00:30:00 @ 28.47, 30: 08-16 00:30:00 - 08-16 01:00:00 @ 27.18, 31: 08-16 01:00:00 - 08-16 01:30:00 @ 27.57, 32: 08-16 01:30:00 - 08-16 02:00:00 @ 26.5, 33: 08-16 02:00:00 - 08-16 02:30:00 @ 25.6, 34: 08-16 02:30:00 - 08-16 03:00:00 @ 24.79, 35: 08-16 03:00:00 - 08-16 03:30:00 @ 25.08, 36: 08-16 03:30:00 - 08-16 04:00:00 @ 24.62, 37: 08-16 04:00:00 - 08-16 04:30:00 @ 27.02, 38: 08-16 04:30:00 - 08-16 05:00:00 @ 26.47, 39: 08-16 05:00:00 - 08-16 05:30:00 @ 26.25, 40: 08-16 05:30:00 - 08-16 06:00:00 @ 26.4, 41: 08-16 06:00:00 - 08-16 06:30:00 @ 25.7, 42: 08-16 06:30:00 - 08-16 07:00:00 @ 27.63, 43: 08-16 07:00:00 - 08-16 07:30:00 @ 22.73, 44: 08-16 07:30:00 - 08-16 08:00:00 @ 26.7, 45: 08-16 08:00:00 - 08-16 08:30:00 @ 22.92, 46: 08-16 08:30:00 - 08-16 09:00:00 @ 22.48, 47: 08-16 09:00:00 - 08-16 09:30:00 @ 23.55, 48: 08-16 09:30:00 - 08-16 10:00:00 @ 23.64, 49: 08-16 10:00:00 - 08-16 10:30:00 @ 19.66, 50: 08-16 10:30:00 - 08-16 11:00:00 @ 17.66, 51: 08-16 11:00:00 - 08-16 11:30:00 @ 16.56, 52: 08-16 11:30:00 - 08-16 12:00:00 @ 15.46, 53: 08-16 12:00:00 - 08-16 12:30:00 @ 17.0, 54: 08-16 12:30:00 - 08-16 13:00:00 @ 16.34, 55: 08-16 13:00:00 - 08-16 13:30:00 @ 15.36, 56: 08-16 13:30:00 - 08-16 14:00:00 @ 15.74, 57: 08-16 14:00:00 - 08-16 14:30:00 @ 14.57, 58: 08-16 14:30:00 - 08-16 15:00:00 @ 13.77, 59: 08-16 15:00:00 - 08-16 15:30:00 @ 15.02, 60: 08-16 15:30:00 - 08-16 16:00:00 @ 15.87, 61: 08-16 16:00:00 - 08-16 16:30:00 @ 33.13, 62: 08-16 16:30:00 - 08-16 17:00:00 @ 33.13, 63: 08-16 17:00:00 - 08-16 17:30:00 @ 38.46, 64: 08-16 17:30:00 - 08-16 18:00:00 @ 40.44, 65: 08-16 18:00:00 - 08-16 18:30:00 @ 41.55, 66: 08-16 19:00:00 - 08-16 19:30:00 @ 32.58, 67: 08-16 19:30:00 - 08-16 20:00:00 @ 32.9, 68: 08-16 20:00:00 - 08-16 20:30:00 @ 31.99, 69: 08-16 20:30:00 - 08-16 21:00:00 @ 32.1, 70: 08-16 21:00:00 - 08-16 21:30:00 @ 31.71, 71: 08-16 21:30:00 - 08-16 22:00:00 @ 31.67, 72: 08-16 22:00:00 - 08-16 22:30:00 @ 31.77, 73: 08-16 22:30:00 - 08-16 23:00:00 @ 29.81, 74: 08-16 23:00:00 - 08-16 23:30:00 @ 27.8, 75: 08-16 23:30:00 - 08-17 00:00:00 @ 29.09, 76: 08-17 00:00:00 - 08-17 00:30:00 @ 28.47, 77: 08-17 00:30:00 - 08-17 01:00:00 @ 27.18, 78: 08-17 01:00:00 - 08-17 01:30:00 @ 27.57, 79: 08-17 01:30:00 - 08-17 02:00:00 @ 26.5, 80: 08-17 02:00:00 - 08-17 02:30:00 @ 25.6, 81: 08-17 02:30:00 - 08-17 03:00:00 @ 24.79, 82: 08-17 03:00:00 - 08-17 03:30:00 @ 25.08, 83: 08-17 03:30:00 - 08-17 04:00:00 @ 24.62, 84: 08-17 04:00:00 - 08-17 04:30:00 @ 27.02, 85: 08-17 04:30:00 - 08-17 05:00:00 @ 26.47, 86: 08-17 05:00:00 - 08-17 05:30:00 @ 26.25, 87: 08-17 05:30:00 - 08-17 06:00:00 @ 26.4, 88: 08-17 06:00:00 - 08-17 06:30:00 @ 25.7, 89: 08-17 06:30:00 - 08-17 07:00:00 @ 27.63, 90: 08-17 07:00:00 - 08-17 07:30:00 @ 22.73, 91: 08-17 07:30:00 - 08-17 08:00:00 @ 26.7, 92: 08-17 08:00:00 - 08-17 08:30:00 @ 22.92, 93: 08-17 08:30:00 - 08-17 09:00:00 @ 22.48, 94: 08-17 09:00:00 - 08-17 09:30:00 @ 23.55]
2026-08-15 09:10:03.631457: Inverter 0 Charge window will be: 2026-08-15 11:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 13%, target 100%
2026-08-15 09:10:03.631577: Inverter 0 disabled charge window while waiting for schedule (now 08-15 09:10:00 target set_window_minutes 30 charge start time 08-15 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 09:10:03.631702: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 09:10:03.631953: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 09:10:03.632035: No export window planned
2026-08-15 09:10:03.632139: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 09:10:03.632170: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 09:10:03.632284: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 09:10:03.632467: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 09:10:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 09:10:03.632521: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 09:10:03.632593: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 09:10:03.632678: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 09:10:03.632716: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 09:10:03.632756: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 09:10:03.632805: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 09:10:03.632851: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 09:10:03.632900: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 09:10:03.632984: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 09:10:03.633093: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 09:10:03.633135: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 09:10:03.633158: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 09:10:03.633178: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 09:10:03.633222: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 09:10:03.633270: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 09:10:03.633296: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 09:10:03.633357: Inverter 0 count register writes 0
2026-08-15 09:10:03.649690: Will not recompute the plan, it is 5.0 minutes old and max age is 10 minutes
2026-08-15 09:10:03.657251: Total inverter register writes now 815
2026-08-15 09:10:03.694229: Info: Completed run status Demand
2026-08-15 09:10:03.700166: Info: record_status Demand
2026-08-15 09:10:03.706525: Saved current settings to /config/predbat_config.json
2026-08-15 09:10:03.706842: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 09:10:41.815759: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 09:10:41.816064: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 09:10:41.816123: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 09:10:41.816304: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 09:10:41.816356: Note: Inverter does not support discharge freeze - disabled
2026-08-15 09:10:41.816391: Note: Inverter does not support charge freeze - disabled
2026-08-15 09:10:41.816420: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 09:12:19.314994: ML Component: Fetching 28 days of load history from ['sensor.sunsynk_day_load_energy']
2026-08-15 09:12:20.471076: Processing 1345 30-minute periods for power integration
2026-08-15 09:12:20.575678: ML Component: Car charging hold False, car energy reported load False
2026-08-15 09:12:20.670640: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 09:12:20.778149: ML Temperature data points: 49851
2026-08-15 09:12:21.045160: ML Component: Fetched 8064 load data points, 28.0 days of history
2026-08-15 09:12:21.087784: ML Component: Data fetch completed, load data age 56.0 days, 16375 data points
2026-08-15 09:12:21.088013: ML Component: No training needed, model age is 1.43 hours
2026-08-15 09:12:21.088081: ML Component: Generating predictions load data age 56.0 days, 16375 data points
2026-08-15 09:12:21.215671: ML Predictor: Starting autoregressive prediction loop for 576 steps (48.0 hours), prev_energy value 0.0335 max_dow {0: 0.10014999996256083, 1: 0.10541562554407864, 2: 0.11911562483031304, 3: 0.12494687463529408, 4: 0.17094062535744162, 5: 0.1007093750283122, 6: 0.10970937514957041}
2026-08-15 09:12:23.391437: ML Component: Generated 576 predictions (total 39.03 kWh over 48h)
2026-08-15 09:12:23.435951: ML Component: Prediction cycle completed
2026-08-15 09:12:23.560389: ML Component: Saved 16375 steps (56 days) of history to /config/predbat_ml_history.npz
2026-08-15 09:12:42.247336: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 09:12:42.247670: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 09:12:42.247749: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 09:12:42.247995: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 09:12:42.248043: Note: Inverter does not support discharge freeze - disabled
2026-08-15 09:12:42.248070: Note: Inverter does not support charge freeze - disabled
2026-08-15 09:12:42.248094: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 09:14:42.468356: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 09:14:42.468678: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 09:14:42.468776: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 09:14:42.469021: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 09:14:42.469067: Note: Inverter does not support discharge freeze - disabled
2026-08-15 09:14:42.469088: Note: Inverter does not support charge freeze - disabled
2026-08-15 09:14:42.469106: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 09:15:00.566427: --------------- PredBat - update at 2026-08-15 09:15:00+01:00 with clock skew 0 minutes, minutes now 555
2026-08-15 09:15:00.567536: Saved current settings to /config/predbat_config.json
2026-08-15 09:15:00.567803: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 65.0 minutes
2026-08-15 09:15:00.567912: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.1, latest beta is v8.48.1
2026-08-15 09:15:00.568024: Autoupdate: Currently up to date
2026-08-15 09:15:00.587173: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 09:15:00.587305: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 09:15:00.587478: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 09:15:00.588031: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 09:15:00.588157: Predbat mode is set to Control charge & discharge
2026-08-15 09:15:00.776642: Found 21602 load_today datapoints going back 28 days
2026-08-15 09:15:00.776880: Using load_power data to fill gaps in load_today data
2026-08-15 09:15:01.552203: Processing 721 30-minute periods for power integration
2026-08-15 09:15:01.764353: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 09:15:01.764525: Car charging hold False, threshold 6.0kWh
2026-08-15 09:15:01.764577: Current data so far today: load 6.25kWh, import 7.7kWh, export 0.0kWh, PV 0kWh
2026-08-15 09:15:01.779701: Cars: SoC: [12.892000000000001]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 09:15:01.780138: Standing charge is set to 49.98p
2026-08-15 09:15:01.809893: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 09:15:01.810041: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 09:15:01.810302: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 555.0 minutes
2026-08-15 09:15:01.810911: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 554.7 minutes
2026-08-15 09:15:01.814763: Loaded 47 datapoints of futurerate analysis
2026-08-15 09:15:01.920720: Predicted future rates: ['08-15 00:00:00 => 28.9 / 20.01', '08-15 01:00:00 => 27.54 / 19.31', '08-15 02:00:00 => 26.52 / 18.8', '08-15 03:00:00 => 25.99 / 18.53', '08-15 04:00:00 => 25.8 / 18.43', '08-15 05:00:00 => 25.96 / 18.51', '08-15 06:00:00 => 25.55 / 18.3', '08-15 07:00:00 => 24.33 / 17.68', '08-15 08:00:00 => 23.03 / 17.01', '08-15 09:00:00 => 22.05 / 16.51', '08-15 10:00:00 => 20.43 / 15.68', '08-15 11:00:00 => 18.01 / 14.45', '08-15 12:00:00 => 16.37 / 13.61', '08-15 13:00:00 => 15.76 / 13.3', '08-15 14:00:00 => 15.35 / 13.09', '08-15 15:00:00 => 15.86 / 13.35', '08-15 16:00:00 => 32.89 / 16.13', '08-15 17:00:00 => 38.02 / 18.75', '08-15 18:00:00 => 42.36 / 20.96', '08-15 19:00:00 => 31.09 / 21.13', '08-15 20:00:00 => 31.64 / 21.41', '08-15 21:00:00 => 31.64 / 21.41', '08-15 22:00:00 => 30.58 / 20.87']
2026-08-15 09:15:01.985186: Rate min forward looking: now 13.77p at end of forecast 13.77p
2026-08-15 09:15:01.985503: Import rates: min 13.77p, max 43.82p, average 25.96p
2026-08-15 09:15:02.024258: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 09:15:02.024374: Rate thresholds (for charge/export) are import 43.32p (0.0p), export -0.1p (0.0p)
2026-08-15 09:15:02.025530: High export rate found rates in range 99p to -99p
2026-08-15 09:15:02.108774: Low Import rate found rates in range 13.77p to 41.55p
2026-08-15 09:15:02.108924: Car 0 charging is not planned as it is not plugged in
2026-08-15 09:15:02.122041: Battery level now 2.08kWh, -1hr ago 1.6kWh, at midnight 1.66kWh, battery value change in the last hour 5.68p, change today 5.01p, rate_forward 11.83p
2026-08-15 09:15:02.122397: Last hour: net energy 0.74kWh, import 0.74kWh, export 0.0kWh, car 0kWh, load 0.3kWh, net cost 16.99p, import 16.99p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 09:15:02.180489: Today's energy total net 7.7kWh, import 7.7kWh, export 0.0kWh, cost 252.1p, import 202.12p, export 0.0p, carbon 0.0kg
2026-08-15 09:15:02.180664: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 09:15:02.264801: Using weighted-bucket historical load forecast over 14 days
2026-08-15 09:15:02.288873: Today's load divergence 106.83%, in-day adjustment 129.4%, damping 0.95x, yesterday 143.77% today 106.48% blend 61.46%
2026-08-15 09:15:02.289013: Today's predicted so far 5.16kWh with 0.0kWh car/iBoost excluded, 3.23kWh import ignored, and 5.16kWh forecast extra.
2026-08-15 09:15:02.289055: Today's actual load so far 6.3kWh with 0.0kWh car/iBoost excluded, and 3.23kWh import ignored.
2026-08-15 09:15:02.332175: Inverter 0: Type SK Sunsynk
2026-08-15 09:15:02.332270: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 09:15:02.332515: Reserve min: 7%, battery_min: 7%
2026-08-15 09:15:02.332630: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 09:15:02.333096: Inverter 0 SoC: 1.96kW 12%, current charge rate 5000W, current discharge rate 5250W, current battery power 376W, current battery voltage 51.2V, grid power -54W, load power 434W, PV Power 0W
2026-08-15 09:15:02.333313: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 09:15:02.333422: Inverter 0 scheduled charge enable is False
2026-08-15 09:15:02.333478: Inverter 0 charge windows currently []
2026-08-15 09:15:02.333529: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 09:15:02.333713: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 09:15:02.333786: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 09:15:02.333846: Inverter 0 scheduled discharge enable is False
2026-08-15 09:15:02.334035: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 09:15:02.334080: Inverter 0 discharge windows currently []
2026-08-15 09:15:02.334110: Note: Inverter does not support discharge freeze - disabled
2026-08-15 09:15:02.334153: Note: Inverter does not support charge freeze - disabled
2026-08-15 09:15:02.334196: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 09:15:02.406270: Dynamic load last period 0.30kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 09:15:02.406562: Plan was last updated on 2026-08-15 09:05:00+01:00 and is now 10.0 minutes old
2026-08-15 09:15:02.407357: Best charge window [ 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 00:30:00 @ 28.84p 100% ]
2026-08-15 09:15:02.407439: Best export window [  ]
2026-08-15 09:15:02.408752: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 09:15:02.412996: Load divergence over 8.0 hours mean 640.54W, min 274.2W, max 1777.8W, std dev 357.54W, divergence 27.91%
2026-08-15 09:15:02.434540: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 09:15:02.434716: LoadML is_calculating False
2026-08-15 09:15:02.434828: Creating pool of 12 processes to match your CPU count
2026-08-15 09:15:02.582372: predict base end_record 08-16 11:40:00, final soc 1.12kWh, metric 801.78p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 10:20:00, load 26.81kWh, PV 0.0kWh
2026-08-15 09:15:02.737780: Battery has 1.08 hours left - now at 1.96kWh
2026-08-15 09:15:02.786496: predict base10 end_record 08-16 11:40:00, final soc 1.12kWh, metric 826.33p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 10:15:00, load 27.79kWh, PV 0.0kWh
2026-08-15 09:15:02.884482: predict best10 end_record 08-16 11:40:00, final soc 1.77kWh, metric 668.49p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 10:15:00, load 27.79kWh, PV 0.0kWh
2026-08-15 09:15:02.970313: predict best end_record 08-16 11:40:00, final soc 1.9kWh, metric 650.13p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 10:20:00, load 26.81kWh, PV 0.0kWh
2026-08-15 09:15:02.970415: Saving plan best values to HA entities
2026-08-15 09:15:03.182563: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 09:15:03.188420: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0.0
2026-08-15 09:15:03.194661: Best charging limit SoC's [16.0, 3.5, 4.0, 16.0, 16.0, 16.0]kWh, export []kWh gives import battery 21.26kWh, house 1.48kWh, export 0.0kWh, metric 650.13p, metric10 668.49p
2026-08-15 09:15:03.295200: Marginal costs baseline metric (no standing charge): 600.1442
2026-08-15 09:15:03.600032: Marginal energy costs matrix computed: min=15.35 max=31.87
2026-08-15 09:15:03.711522: Rate array import [{'start': 555, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 23.6p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1860, 'rate': 'expensive', 'range': '(24.6p - 32.9p)'}, {'start': 1860, 'end': 1890, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 1890, 'end': 1920, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 1920, 'end': 2140, 'rate': 'cheap', 'range': '(15.5p - 23.6p)'}] export [{'start': 555, 'end': 2140, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 09:15:03.712201: - Your estimated bill for today is £5.79 and tomorrow is £5.38
2026-08-15 09:15:03.712248: - Import rates are cheap (13.8p - 23.6p) for the next 6 and three quarters hours and then expensive (33.1p) for the next 1 hour.
2026-08-15 09:15:03.712271: - The battery is currently at 12% and is in eco mode for the next 2 and a quarter hours.
2026-08-15 09:15:03.712291: - For the next 48 hours there will be no solar generation.
2026-08-15 09:15:03.712308: - You will run out of battery in 1 hour.
2026-08-15 09:15:03.712331: - Your next charge slot will be in 2 and a quarter hours where import rates will be cheap (15.5p).
2026-08-15 09:15:03.712349: 
2026-08-15 09:15:03.773631: Plan calculation took 1.37 seconds
2026-08-15 09:15:03.777490: No high rate period found
2026-08-15 09:15:03.838978: Import threshold used for optimisation was 22.48p
2026-08-15 09:15:03.906590: Low import rate windows [0: 08-15 09:00:00 - 08-15 09:30:00 @ 23.55, 1: 08-15 09:30:00 - 08-15 10:00:00 @ 23.64, 2: 08-15 10:00:00 - 08-15 10:30:00 @ 19.66, 3: 08-15 10:30:00 - 08-15 11:00:00 @ 17.66, 4: 08-15 11:00:00 - 08-15 11:30:00 @ 16.56, 5: 08-15 11:30:00 - 08-15 12:00:00 @ 15.46, 6: 08-15 12:00:00 - 08-15 12:30:00 @ 17.0, 7: 08-15 12:30:00 - 08-15 13:00:00 @ 16.34, 8: 08-15 13:00:00 - 08-15 13:30:00 @ 15.36, 9: 08-15 13:30:00 - 08-15 14:00:00 @ 15.74, 10: 08-15 14:00:00 - 08-15 14:30:00 @ 14.57, 11: 08-15 14:30:00 - 08-15 15:00:00 @ 13.77, 12: 08-15 15:00:00 - 08-15 15:30:00 @ 15.02, 13: 08-15 15:30:00 - 08-15 16:00:00 @ 15.87, 14: 08-15 16:00:00 - 08-15 16:30:00 @ 33.13, 15: 08-15 16:30:00 - 08-15 17:00:00 @ 33.13, 16: 08-15 17:00:00 - 08-15 17:30:00 @ 38.46, 17: 08-15 17:30:00 - 08-15 18:00:00 @ 40.44, 18: 08-15 18:00:00 - 08-15 18:30:00 @ 41.55, 19: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 20: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 21: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 22: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 23: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 24: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 25: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 26: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 27: 08-15 23:00:00 - 08-15 23:30:00 @ 27.8, 28: 08-15 23:30:00 - 08-16 00:00:00 @ 29.09, 29: 08-16 00:00:00 - 08-16 00:30:00 @ 28.47, 30: 08-16 00:30:00 - 08-16 01:00:00 @ 27.18, 31: 08-16 01:00:00 - 08-16 01:30:00 @ 27.57, 32: 08-16 01:30:00 - 08-16 02:00:00 @ 26.5, 33: 08-16 02:00:00 - 08-16 02:30:00 @ 25.6, 34: 08-16 02:30:00 - 08-16 03:00:00 @ 24.79, 35: 08-16 03:00:00 - 08-16 03:30:00 @ 25.08, 36: 08-16 03:30:00 - 08-16 04:00:00 @ 24.62, 37: 08-16 04:00:00 - 08-16 04:30:00 @ 27.02, 38: 08-16 04:30:00 - 08-16 05:00:00 @ 26.47, 39: 08-16 05:00:00 - 08-16 05:30:00 @ 26.25, 40: 08-16 05:30:00 - 08-16 06:00:00 @ 26.4, 41: 08-16 06:00:00 - 08-16 06:30:00 @ 25.7, 42: 08-16 06:30:00 - 08-16 07:00:00 @ 27.63, 43: 08-16 07:00:00 - 08-16 07:30:00 @ 22.73, 44: 08-16 07:30:00 - 08-16 08:00:00 @ 26.7, 45: 08-16 08:00:00 - 08-16 08:30:00 @ 22.92, 46: 08-16 08:30:00 - 08-16 09:00:00 @ 22.48, 47: 08-16 09:00:00 - 08-16 09:30:00 @ 23.55, 48: 08-16 09:30:00 - 08-16 10:00:00 @ 23.64, 49: 08-16 10:00:00 - 08-16 10:30:00 @ 19.66, 50: 08-16 10:30:00 - 08-16 11:00:00 @ 17.66, 51: 08-16 11:00:00 - 08-16 11:30:00 @ 16.56, 52: 08-16 11:30:00 - 08-16 12:00:00 @ 15.46, 53: 08-16 12:00:00 - 08-16 12:30:00 @ 17.0, 54: 08-16 12:30:00 - 08-16 13:00:00 @ 16.34, 55: 08-16 13:00:00 - 08-16 13:30:00 @ 15.36, 56: 08-16 13:30:00 - 08-16 14:00:00 @ 15.74, 57: 08-16 14:00:00 - 08-16 14:30:00 @ 14.57, 58: 08-16 14:30:00 - 08-16 15:00:00 @ 13.77, 59: 08-16 15:00:00 - 08-16 15:30:00 @ 15.02, 60: 08-16 15:30:00 - 08-16 16:00:00 @ 15.87, 61: 08-16 16:00:00 - 08-16 16:30:00 @ 33.13, 62: 08-16 16:30:00 - 08-16 17:00:00 @ 33.13, 63: 08-16 17:00:00 - 08-16 17:30:00 @ 38.46, 64: 08-16 17:30:00 - 08-16 18:00:00 @ 40.44, 65: 08-16 18:00:00 - 08-16 18:30:00 @ 41.55, 66: 08-16 19:00:00 - 08-16 19:30:00 @ 32.58, 67: 08-16 19:30:00 - 08-16 20:00:00 @ 32.9, 68: 08-16 20:00:00 - 08-16 20:30:00 @ 31.99, 69: 08-16 20:30:00 - 08-16 21:00:00 @ 32.1, 70: 08-16 21:00:00 - 08-16 21:30:00 @ 31.71, 71: 08-16 21:30:00 - 08-16 22:00:00 @ 31.67, 72: 08-16 22:00:00 - 08-16 22:30:00 @ 31.77, 73: 08-16 22:30:00 - 08-16 23:00:00 @ 29.81, 74: 08-16 23:00:00 - 08-16 23:30:00 @ 27.8, 75: 08-16 23:30:00 - 08-17 00:00:00 @ 29.09, 76: 08-17 00:00:00 - 08-17 00:30:00 @ 28.47, 77: 08-17 00:30:00 - 08-17 01:00:00 @ 27.18, 78: 08-17 01:00:00 - 08-17 01:30:00 @ 27.57, 79: 08-17 01:30:00 - 08-17 02:00:00 @ 26.5, 80: 08-17 02:00:00 - 08-17 02:30:00 @ 25.6, 81: 08-17 02:30:00 - 08-17 03:00:00 @ 24.79, 82: 08-17 03:00:00 - 08-17 03:30:00 @ 25.08, 83: 08-17 03:30:00 - 08-17 04:00:00 @ 24.62, 84: 08-17 04:00:00 - 08-17 04:30:00 @ 27.02, 85: 08-17 04:30:00 - 08-17 05:00:00 @ 26.47, 86: 08-17 05:00:00 - 08-17 05:30:00 @ 26.25, 87: 08-17 05:30:00 - 08-17 06:00:00 @ 26.4, 88: 08-17 06:00:00 - 08-17 06:30:00 @ 25.7, 89: 08-17 06:30:00 - 08-17 07:00:00 @ 27.63, 90: 08-17 07:00:00 - 08-17 07:30:00 @ 22.73, 91: 08-17 07:30:00 - 08-17 08:00:00 @ 26.7, 92: 08-17 08:00:00 - 08-17 08:30:00 @ 22.92, 93: 08-17 08:30:00 - 08-17 09:00:00 @ 22.48, 94: 08-17 09:00:00 - 08-17 09:30:00 @ 23.55]
2026-08-15 09:15:03.913870: Inverter 0 Charge window will be: 2026-08-15 11:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 12%, target 100%
2026-08-15 09:15:03.913995: Inverter 0 disabled charge window while waiting for schedule (now 08-15 09:15:00 target set_window_minutes 30 charge start time 08-15 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 09:15:03.914092: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 09:15:03.914318: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 09:15:03.914395: No export window planned
2026-08-15 09:15:03.914489: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 09:15:03.914518: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 09:15:03.914630: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 09:15:03.914796: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 09:15:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 09:15:03.914850: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 09:15:03.914902: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 09:15:03.914992: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 09:15:03.915022: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 09:15:03.915048: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 09:15:03.915069: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 09:15:03.915090: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 09:15:03.915109: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 09:15:03.915129: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 09:15:03.915203: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 09:15:03.915228: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 09:15:03.915254: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 09:15:03.915274: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 09:15:03.915292: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 09:15:03.915332: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 09:15:03.915375: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 09:15:03.915403: Inverter 0 count register writes 0
2026-08-15 09:15:03.934117: Will recompute the plan as it is now 10.0 minutes old and will exceed the max age of 10 minutes before the next run
2026-08-15 09:15:03.934363: Recompute is saving previous plan...
2026-08-15 09:15:03.937636: Best charge window [ 15-08 09:00:00 - 15-08 09:30:00 @ 23.55p 0%, 15-08 09:30:00 - 15-08 10:00:00 @ 23.64p 0%, 15-08 10:00:00 - 15-08 10:30:00 @ 19.66p 0%, 15-08 10:30:00 - 15-08 11:00:00 @ 17.66p 0%, 15-08 11:00:00 - 15-08 11:30:00 @ 16.56p 0%, 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 0%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 0%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 0%, 15-08 13:00:00 - 15-08 13:30:00 @ 15.36p 0%, 15-08 13:30:00 - 15-08 14:00:00 @ 15.74p 0%, 15-08 14:00:00 - 15-08 14:30:00 @ 14.57p 0%, 15-08 14:30:00 - 15-08 15:00:00 @ 13.77p 0%, 15-08 15:00:00 - 15-08 15:30:00 @ 15.02p 0%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 0%, 15-08 16:00:00 - 15-08 16:30:00 @ 33.13p 0%, 15-08 16:30:00 - 15-08 17:00:00 @ 33.13p 0%, 15-08 17:00:00 - 15-08 17:30:00 @ 38.46p 0%, 15-08 17:30:00 - 15-08 18:00:00 @ 40.44p 0%, 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 0%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 0%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 0%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 0%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 0%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 27.8p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 29.09p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.47p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.18p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 27.57p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.5p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.6p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 24.79p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 25.08p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 24.62p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 27.02p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.47p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 26.25p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.4p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.7p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 27.63p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 22.73p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 26.7p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 22.92p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 22.48p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 23.55p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 23.64p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 19.66p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 17.66p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 16.56p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 15.46p 0%, 16-08 12:00:00 - 16-08 12:30:00 @ 17.0p 0%, 16-08 12:30:00 - 16-08 13:00:00 @ 16.34p 0%, 16-08 13:00:00 - 16-08 13:30:00 @ 15.36p 0%, 16-08 13:30:00 - 16-08 14:00:00 @ 15.74p 0%, 16-08 14:00:00 - 16-08 14:30:00 @ 14.57p 0%, 16-08 14:30:00 - 16-08 15:00:00 @ 13.77p 0%, 16-08 15:00:00 - 16-08 15:30:00 @ 15.02p 0%, 16-08 15:30:00 - 16-08 16:00:00 @ 15.87p 0%, 16-08 16:00:00 - 16-08 16:30:00 @ 33.13p 0%, 16-08 16:30:00 - 16-08 17:00:00 @ 33.13p 0%, 16-08 17:00:00 - 16-08 17:30:00 @ 38.46p 0%, 16-08 17:30:00 - 16-08 18:00:00 @ 40.44p 0%, 16-08 18:00:00 - 16-08 18:30:00 @ 41.55p 0%, 16-08 19:00:00 - 16-08 19:30:00 @ 32.58p 0%, 16-08 19:30:00 - 16-08 20:00:00 @ 32.9p 0%, 16-08 20:00:00 - 16-08 20:30:00 @ 31.99p 0%, 16-08 20:30:00 - 16-08 21:00:00 @ 32.1p 0%, 16-08 21:00:00 - 16-08 21:30:00 @ 31.71p 0%, 16-08 21:30:00 - 16-08 22:00:00 @ 31.67p 0%, 16-08 22:00:00 - 16-08 22:30:00 @ 31.77p 0%, 16-08 22:30:00 - 16-08 23:00:00 @ 29.81p 0%, 16-08 23:00:00 - 16-08 23:30:00 @ 27.8p 0%, 16-08 23:30:00 - 17-08 00:00:00 @ 29.09p 0%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.47p 0%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.18p 0%, 17-08 01:00:00 - 17-08 01:30:00 @ 27.57p 0%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.5p 0%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.6p 0%, 17-08 02:30:00 - 17-08 03:00:00 @ 24.79p 0%, 17-08 03:00:00 - 17-08 03:30:00 @ 25.08p 0%, 17-08 03:30:00 - 17-08 04:00:00 @ 24.62p 0%, 17-08 04:00:00 - 17-08 04:30:00 @ 27.02p 0%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.47p 0%, 17-08 05:00:00 - 17-08 05:30:00 @ 26.25p 0%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.4p 0%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.7p 0%, 17-08 06:30:00 - 17-08 07:00:00 @ 27.63p 0%, 17-08 07:00:00 - 17-08 07:30:00 @ 22.73p 0%, 17-08 07:30:00 - 17-08 08:00:00 @ 26.7p 0%, 17-08 08:00:00 - 17-08 08:30:00 @ 22.92p 0%, 17-08 08:30:00 - 17-08 09:00:00 @ 22.48p 0%, 17-08 09:00:00 - 17-08 09:30:00 @ 23.55p 0% ]
2026-08-15 09:15:03.937758: Best export window [  ]
2026-08-15 09:15:03.938560: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 09:15:03.941847: Load divergence over 8.0 hours mean 640.54W, min 274.2W, max 1777.8W, std dev 357.54W, divergence 27.91%
2026-08-15 09:15:03.959893: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 09:15:03.960039: LoadML is_calculating False
2026-08-15 09:15:03.960114: Creating pool of 12 processes to match your CPU count
2026-08-15 09:15:04.058404: Calculate Best options: mode(Control charge & discharge), calculate_export_oncharge(False), calculate_export_on_pv(True), set_export_freeze_only(False), set_discharge_during_charge(True), combine_charge_slots(False), combine_export_slots(False), combine_rate_threshold(0.0), best_soc_min(0.0 kWh), best_soc_max(0.0 kWh), best_soc_keep(0.0 kWh), inverter_loss(4%), battery_loss(3%), battery_loss_discharge (3%), inverter_hybrid(True), metric_min_improvement(0.0p), metric_min_improvement_export(0.1p), metric_min_improvement_export_freeze(0.1p), metric_battery_cycle(0.0p/kWh), metric_battery_value_scaling(1.0 x) 
2026-08-15 09:15:04.060781: Optimise levels pass started at 2026-08-15 09:15:04
2026-08-15 09:15:04.060852: Optimise all windows, total charge 94 export 1
2026-08-15 09:15:05.202788: >> Region optimisation pass width 960 gives best_metric 824.11p, best_cost 849.19p, best_cycle 57.95kWh, best_import 39.25kWh
2026-08-15 09:15:05.629667: >> Region optimisation pass width 480 gives best_metric 824.11p, best_cost 849.19p, best_cycle 57.95kWh, best_import 39.25kWh
2026-08-15 09:15:06.280654: >> Region optimisation pass width 240 gives best_metric 821.99p, best_cost 827.85p, best_cycle 54.48kWh, best_import 37.66kWh
2026-08-15 09:15:07.463419: >> Region optimisation pass width 120 gives best_metric 821.99p, best_cost 827.85p, best_cycle 54.48kWh, best_import 37.66kWh
2026-08-15 09:15:07.463824: Calculated end_record as 08-16 11:30:00 based on best_price 16.34p, next_charge_start 08-15 11:30:00, max_windows 52
2026-08-15 09:15:07.463901: Optimise levels pass ended at 2026-08-15 09:15:07, duration 3.4 seconds tried 368 combinations
2026-08-15 09:15:07.463966: Set best_price_charge_level 17.6p, best_price_export_level 0p, best_price_charge 16.34p, best_cost_export 0p, best_metric 821.99p, best_keep 0kWh, best_cycle 54.48kWh, best_carbon 0kg, best_import 37.66kWh
2026-08-15 09:15:07.487714: Starting detailed optimisation end_record 08-16 11:30:00, best_price_charge 16.34p, best_price_export 0p. lowest_price_charge 13.77p with charge limits [0, 0, 0, 0, 0, 15.75, 0, 15.75, 15.75, 15.75, 15.75, 15.75, 15.75, 15.75, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0]kWh and export limits []kWh
2026-08-15 09:15:12.164928: Tweak plan optimisation started metric 573.59p, cost 583.75p
2026-08-15 09:15:12.436682: Tweak optimisation finished metric 573.59p, cost 583.75p, metric_keep 0kWh, cycle 30.09kWh, carbon 0kg, import 21.66kWh, changed 8 window(s)
2026-08-15 09:15:12.458603: Swap charge optimisation started metric 573.59p, cost 583.75p, min_improvement_swap 0.1p
2026-08-15 09:15:15.867494: Swap charge optimisation finished metric 573.59p, cost 583.75p
2026-08-15 09:15:15.964083: Pruned 1 dead plan slot(s) in 10 trial(s), nominal metric 570.51p -> 570.51p, plan now metric 573.61p, cost 583.75p, cycle 30.09kWh, import 21.66kWh
2026-08-15 09:15:15.973931: Raw charge windows [ 15-08 09:00:00 - 15-08 09:30:00 @ 23.55p 0%, 15-08 09:30:00 - 15-08 10:00:00 @ 23.64p 0%, 15-08 10:00:00 - 15-08 10:30:00 @ 19.66p 0%, 15-08 10:30:00 - 15-08 11:00:00 @ 17.66p 0%, 15-08 11:00:00 - 15-08 11:30:00 @ 16.56p 0%, 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 13:30:00 @ 15.36p 98%, 15-08 13:30:00 - 15-08 14:00:00 @ 15.74p 100%, 15-08 14:00:00 - 15-08 14:30:00 @ 14.57p 98%, 15-08 14:30:00 - 15-08 15:00:00 @ 13.77p 98%, 15-08 15:00:00 - 15-08 15:30:00 @ 15.02p 98%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 98%, 15-08 16:00:00 - 15-08 16:30:00 @ 33.13p 0%, 15-08 16:30:00 - 15-08 17:00:00 @ 33.13p 0%, 15-08 17:00:00 - 15-08 17:30:00 @ 38.46p 0%, 15-08 17:30:00 - 15-08 18:00:00 @ 40.44p 0%, 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 0%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 0%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 0%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 0%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 0%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 27.8p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 29.09p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.47p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.18p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 27.57p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.5p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.6p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 24.79p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 25.08p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 24.62p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 27.02p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.47p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 26.25p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.4p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.7p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 27.63p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 22.73p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 26.7p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 22.92p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 22.48p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 23.55p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 23.64p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 19.66p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 17.66p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 16.56p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 15.46p 100%, 16-08 12:00:00 - 16-08 12:30:00 @ 17.0p 100%, 16-08 12:30:00 - 16-08 13:00:00 @ 16.34p 100%, 16-08 13:00:00 - 16-08 13:30:00 @ 15.36p 100%, 16-08 13:30:00 - 16-08 14:00:00 @ 15.74p 100%, 16-08 14:00:00 - 16-08 14:30:00 @ 14.57p 100%, 16-08 14:30:00 - 16-08 15:00:00 @ 13.77p 100%, 16-08 15:00:00 - 16-08 15:30:00 @ 15.02p 100%, 16-08 15:30:00 - 16-08 16:00:00 @ 15.87p 100%, 16-08 16:00:00 - 16-08 16:30:00 @ 33.13p 100%, 16-08 16:30:00 - 16-08 17:00:00 @ 33.13p 100%, 16-08 17:00:00 - 16-08 17:30:00 @ 38.46p 100%, 16-08 17:30:00 - 16-08 18:00:00 @ 40.44p 100%, 16-08 18:00:00 - 16-08 18:30:00 @ 41.55p 100%, 16-08 19:00:00 - 16-08 19:30:00 @ 32.58p 100%, 16-08 19:30:00 - 16-08 20:00:00 @ 32.9p 100%, 16-08 20:00:00 - 16-08 20:30:00 @ 31.99p 100%, 16-08 20:30:00 - 16-08 21:00:00 @ 32.1p 100%, 16-08 21:00:00 - 16-08 21:30:00 @ 31.71p 100%, 16-08 21:30:00 - 16-08 22:00:00 @ 31.67p 100%, 16-08 22:00:00 - 16-08 22:30:00 @ 31.77p 100%, 16-08 22:30:00 - 16-08 23:00:00 @ 29.81p 100%, 16-08 23:00:00 - 16-08 23:30:00 @ 27.8p 100%, 16-08 23:30:00 - 17-08 00:00:00 @ 29.09p 100%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.47p 100%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.18p 100%, 17-08 01:00:00 - 17-08 01:30:00 @ 27.57p 100%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.5p 100%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.6p 100%, 17-08 02:30:00 - 17-08 03:00:00 @ 24.79p 100%, 17-08 03:00:00 - 17-08 03:30:00 @ 25.08p 100%, 17-08 03:30:00 - 17-08 04:00:00 @ 24.62p 100%, 17-08 04:00:00 - 17-08 04:30:00 @ 27.02p 100%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.47p 100%, 17-08 05:00:00 - 17-08 05:30:00 @ 26.25p 100%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.4p 100%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.7p 100%, 17-08 06:30:00 - 17-08 07:00:00 @ 27.63p 100%, 17-08 07:00:00 - 17-08 07:30:00 @ 22.73p 100%, 17-08 07:30:00 - 17-08 08:00:00 @ 26.7p 100%, 17-08 08:00:00 - 17-08 08:30:00 @ 22.92p 100%, 17-08 08:30:00 - 17-08 09:00:00 @ 22.48p 100%, 17-08 09:00:00 - 17-08 09:30:00 @ 23.55p 100% ] reserve 1.12
2026-08-15 09:15:15.974499: Unclipped charge windows [ 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 13:30:00 @ 15.36p 98%, 15-08 13:30:00 - 15-08 14:00:00 @ 15.74p 100%, 15-08 14:00:00 - 15-08 16:00:00 @ 15.23p 98%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 09:30:00 @ 23.48p 100% ] reserve 1.12
2026-08-15 09:15:15.974816: Unfiltered charge windows [ 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 13:30:00 @ 15.36p 100%, 15-08 13:30:00 - 15-08 14:00:00 @ 15.74p 100%, 15-08 14:00:00 - 15-08 16:00:00 @ 15.23p 98%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 09:30:00 @ 23.48p 100% ] reserve 1.12
2026-08-15 09:15:15.975038: Filtered charge windows [ 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 14:00:00 @ 15.55p 100%, 15-08 14:00:00 - 15-08 16:00:00 @ 15.23p 98%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 09:30:00 @ 23.48p 100% ] reserve 1.12
2026-08-15 09:15:16.010516: Previous plan best metric is 573.88 (cost 584.07) and new plan best metric is 573.59 (cost 583.75)
2026-08-15 09:15:16.010797: New plan metric is not significantly better (metric_min_improvement_plan 2.0) than previous plan, using previous plan
2026-08-15 09:15:16.010977: Plan valid is now true after recompute was False
2026-08-15 09:15:16.035199: predict base end_record 08-16 11:30:00, final soc 1.12kWh, metric 798.58p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 10:20:00, load 26.61kWh, PV 0.0kWh
2026-08-15 09:15:16.142829: Battery has 1.08 hours left - now at 1.96kWh
2026-08-15 09:15:16.187589: predict base10 end_record 08-16 11:30:00, final soc 1.12kWh, metric 822.98p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 10:15:00, load 27.58kWh, PV 0.0kWh
2026-08-15 09:15:16.256422: predict best10 end_record 08-16 11:30:00, final soc 1.12kWh, metric 654.4p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 10:15:00, load 27.58kWh, PV 0.0kWh
2026-08-15 09:15:16.327487: predict best end_record 08-16 11:30:00, final soc 1.12kWh, metric 634.05p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 10:20:00, load 26.61kWh, PV 0.0kWh
2026-08-15 09:15:16.327589: Saving plan best values to HA entities
2026-08-15 09:15:16.465748: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 09:15:16.470812: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0.0
2026-08-15 09:15:16.475826: Best charging limit SoC's [16.0, 3.5, 4.0, 16.0, 16.0, 16.0]kWh, export []kWh gives import battery 20.22kWh, house 1.48kWh, export 0.0kWh, metric 634.05p, metric10 654.4p
2026-08-15 09:15:16.536452: Marginal costs baseline metric (no standing charge): 584.0679
2026-08-15 09:15:16.750221: Marginal energy costs matrix computed: min=15.35 max=31.87
2026-08-15 09:15:16.813694: Rate array import [{'start': 555, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 23.6p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1860, 'rate': 'expensive', 'range': '(24.6p - 32.9p)'}, {'start': 1860, 'end': 1890, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 1890, 'end': 1920, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 1920, 'end': 2130, 'rate': 'cheap', 'range': '(16.6p - 23.6p)'}] export [{'start': 555, 'end': 2130, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 09:15:16.814389: - Your estimated bill for today is £5.79 and tomorrow is £5.38
2026-08-15 09:15:16.814436: - Import rates are cheap (13.8p - 23.6p) for the next 6 and three quarters hours and then expensive (33.1p) for the next 1 hour.
2026-08-15 09:15:16.814459: - The battery is currently at 12% and is in eco mode for the next 2 and a quarter hours.
2026-08-15 09:15:16.814477: - For the next 48 hours there will be no solar generation.
2026-08-15 09:15:16.814494: - You will run out of battery in 1 hour.
2026-08-15 09:15:16.814513: - Your next charge slot will be in 2 and a quarter hours where import rates will be cheap (15.5p).
2026-08-15 09:15:16.814530: 
2026-08-15 09:15:16.869982: Plan calculation took 12.94 seconds
2026-08-15 09:15:16.870364: Inverter 0: Type SK Sunsynk
2026-08-15 09:15:16.870410: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 09:15:16.870626: Reserve min: 7%, battery_min: 7%
2026-08-15 09:15:16.870708: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 09:15:16.871040: Inverter 0 SoC: 1.92kW 12%, current charge rate 5000W, current discharge rate 5250W, current battery power 370W, current battery voltage 51.2V, grid power -55W, load power 431W, PV Power 0W
2026-08-15 09:15:16.871317: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 09:15:16.871459: Inverter 0 scheduled charge enable is False
2026-08-15 09:15:16.871515: Inverter 0 charge windows currently []
2026-08-15 09:15:16.871560: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 09:15:16.871724: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 09:15:16.871786: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 09:15:16.871826: Inverter 0 scheduled discharge enable is False
2026-08-15 09:15:16.871994: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 09:15:16.872038: Inverter 0 discharge windows currently []
2026-08-15 09:15:16.872067: Note: Inverter does not support discharge freeze - disabled
2026-08-15 09:15:16.872110: Note: Inverter does not support charge freeze - disabled
2026-08-15 09:15:16.872152: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 09:15:16.930216: Inverter 0 Charge window will be: 2026-08-15 11:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 12%, target 100%
2026-08-15 09:15:16.930407: Inverter 0 disabled charge window while waiting for schedule (now 08-15 09:15:00 target set_window_minutes 30 charge start time 08-15 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 09:15:16.930481: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 09:15:16.930671: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 09:15:16.930769: No export window planned
2026-08-15 09:15:16.930888: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 09:15:16.930924: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 09:15:16.931064: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 09:15:16.931228: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 09:15:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 09:15:16.931282: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 09:15:16.931330: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 09:15:16.931430: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 09:15:16.931474: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 09:15:16.931503: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 09:15:16.931535: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 09:15:16.931561: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 09:15:16.931585: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 09:15:16.931615: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 09:15:16.931672: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 09:15:16.931707: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 09:15:16.931748: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 09:15:16.931776: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 09:15:16.931800: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 09:15:16.931829: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 09:15:16.931854: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 09:15:16.931878: Inverter 0 count register writes 0
2026-08-15 09:15:16.953933: Total inverter register writes now 815
2026-08-15 09:15:16.996196: Info: Completed run status Demand
2026-08-15 09:15:17.002395: Info: record_status Demand
2026-08-15 09:15:17.009274: Saved current settings to /config/predbat_config.json
2026-08-15 09:15:17.009596: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 09:15:57.126462: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 09:15:57.126769: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 09:15:57.126822: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 09:15:57.126989: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 09:15:57.127061: Note: Inverter does not support discharge freeze - disabled
2026-08-15 09:15:57.127117: Note: Inverter does not support charge freeze - disabled
2026-08-15 09:15:57.127155: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 09:17:57.371341: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 09:17:57.371579: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 09:17:57.371621: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 09:17:57.371806: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 09:17:57.371849: Note: Inverter does not support discharge freeze - disabled
2026-08-15 09:17:57.371870: Note: Inverter does not support charge freeze - disabled
2026-08-15 09:17:57.371888: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 09:20:00.600367: --------------- PredBat - update at 2026-08-15 09:20:00+01:00 with clock skew 0 minutes, minutes now 560
2026-08-15 09:20:00.601105: Saved current settings to /config/predbat_config.json
2026-08-15 09:20:00.601217: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 70.0 minutes
2026-08-15 09:20:00.601328: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.1, latest beta is v8.48.1
2026-08-15 09:20:00.601396: Autoupdate: Currently up to date
2026-08-15 09:20:00.619119: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 09:20:00.619228: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 09:20:00.619383: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 09:20:00.619886: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 09:20:00.619986: Predbat mode is set to Control charge & discharge
2026-08-15 09:20:00.787499: Found 21602 load_today datapoints going back 28 days
2026-08-15 09:20:00.787627: Using load_power data to fill gaps in load_today data
2026-08-15 09:20:01.534908: Processing 721 30-minute periods for power integration
2026-08-15 09:20:01.695295: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 09:20:01.695419: Car charging hold False, threshold 6.0kWh
2026-08-15 09:20:01.695458: Current data so far today: load 6.35kWh, import 7.7kWh, export 0.0kWh, PV 0kWh
2026-08-15 09:20:01.707112: Cars: SoC: [12.892000000000001]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 09:20:01.707477: Standing charge is set to 49.98p
2026-08-15 09:20:01.733452: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 09:20:01.733539: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 09:20:01.733766: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 560.0 minutes
2026-08-15 09:20:01.734153: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 559.7 minutes
2026-08-15 09:20:01.736790: Loaded 47 datapoints of futurerate analysis
2026-08-15 09:20:01.805153: Predicted future rates: ['08-15 00:00:00 => 28.9 / 20.01', '08-15 01:00:00 => 27.54 / 19.31', '08-15 02:00:00 => 26.52 / 18.8', '08-15 03:00:00 => 25.99 / 18.53', '08-15 04:00:00 => 25.8 / 18.43', '08-15 05:00:00 => 25.96 / 18.51', '08-15 06:00:00 => 25.55 / 18.3', '08-15 07:00:00 => 24.33 / 17.68', '08-15 08:00:00 => 23.03 / 17.01', '08-15 09:00:00 => 22.05 / 16.51', '08-15 10:00:00 => 20.43 / 15.68', '08-15 11:00:00 => 18.01 / 14.45', '08-15 12:00:00 => 16.37 / 13.61', '08-15 13:00:00 => 15.76 / 13.3', '08-15 14:00:00 => 15.35 / 13.09', '08-15 15:00:00 => 15.86 / 13.35', '08-15 16:00:00 => 32.89 / 16.13', '08-15 17:00:00 => 38.02 / 18.75', '08-15 18:00:00 => 42.36 / 20.96', '08-15 19:00:00 => 31.09 / 21.13', '08-15 20:00:00 => 31.64 / 21.41', '08-15 21:00:00 => 31.64 / 21.41', '08-15 22:00:00 => 30.58 / 20.87']
2026-08-15 09:20:01.856141: Rate min forward looking: now 13.77p at end of forecast 13.77p
2026-08-15 09:20:01.856612: Import rates: min 13.77p, max 43.82p, average 25.96p
2026-08-15 09:20:01.891627: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 09:20:01.891755: Rate thresholds (for charge/export) are import 43.32p (0.0p), export -0.1p (0.0p)
2026-08-15 09:20:01.892833: High export rate found rates in range 99p to -99p
2026-08-15 09:20:01.965299: Low Import rate found rates in range 13.77p to 41.55p
2026-08-15 09:20:01.965407: Car 0 charging is not planned as it is not plugged in
2026-08-15 09:20:01.976630: Battery level now 1.96kWh, -1hr ago 1.53kWh, at midnight 1.66kWh, battery value change in the last hour 5.11p, change today 3.6p, rate_forward 11.83p
2026-08-15 09:20:01.976980: Last hour: net energy 0.71kWh, import 0.71kWh, export 0.0kWh, car 0kWh, load 0.38kWh, net cost 16.31p, import 16.31p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 09:20:02.033188: Today's energy total net 7.7kWh, import 7.7kWh, export 0.0kWh, cost 252.1p, import 202.12p, export 0.0p, carbon 0.0kg
2026-08-15 09:20:02.033330: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 09:20:02.117465: Using weighted-bucket historical load forecast over 14 days
2026-08-15 09:20:02.149062: Today's load divergence 107.0%, in-day adjustment 129.33%, damping 0.95x, yesterday 143.77% today 106.65% blend 61.11%
2026-08-15 09:20:02.149162: Today's predicted so far 5.18kWh with 0.0kWh car/iBoost excluded, 3.22kWh import ignored, and 5.18kWh forecast extra.
2026-08-15 09:20:02.149195: Today's actual load so far 6.34kWh with 0.0kWh car/iBoost excluded, and 3.22kWh import ignored.
2026-08-15 09:20:02.191812: Inverter 0: Type SK Sunsynk
2026-08-15 09:20:02.191890: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 09:20:02.192075: Reserve min: 7%, battery_min: 7%
2026-08-15 09:20:02.192146: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 09:20:02.192436: Inverter 0 SoC: 1.92kW 12%, current charge rate 5000W, current discharge rate 5250W, current battery power 290W, current battery voltage 51.2V, grid power -55W, load power 352W, PV Power 0W
2026-08-15 09:20:02.192617: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 09:20:02.192744: Inverter 0 scheduled charge enable is False
2026-08-15 09:20:02.192797: Inverter 0 charge windows currently []
2026-08-15 09:20:02.192841: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 09:20:02.193030: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 09:20:02.193072: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 09:20:02.193108: Inverter 0 scheduled discharge enable is False
2026-08-15 09:20:02.193266: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 09:20:02.193302: Inverter 0 discharge windows currently []
2026-08-15 09:20:02.193323: Note: Inverter does not support discharge freeze - disabled
2026-08-15 09:20:02.193378: Note: Inverter does not support charge freeze - disabled
2026-08-15 09:20:02.193418: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 09:20:02.258523: Dynamic load last period 0.60kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 09:20:02.258622: Plan was last updated on 2026-08-15 09:15:00+01:00 and is now 5.0 minutes old
2026-08-15 09:20:02.258900: Best charge window [ 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 00:30:00 @ 28.84p 100% ]
2026-08-15 09:20:02.258943: Best export window [  ]
2026-08-15 09:20:02.259625: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 09:20:02.262208: Load divergence over 8.0 hours mean 640.56W, min 283.2W, max 1692.6W, std dev 333.74W, divergence 26.05%
2026-08-15 09:20:02.279148: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 09:20:02.279328: LoadML is_calculating False
2026-08-15 09:20:02.279474: Creating pool of 12 processes to match your CPU count
2026-08-15 09:20:02.388744: predict base end_record 08-16 11:35:00, final soc 1.12kWh, metric 800.23p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 10:20:00, load 26.77kWh, PV 0.0kWh
2026-08-15 09:20:02.507398: Battery has 1.0 hours left - now at 1.92kWh
2026-08-15 09:20:02.549351: predict base10 end_record 08-16 11:35:00, final soc 1.12kWh, metric 824.68p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 10:15:00, load 27.74kWh, PV 0.0kWh
2026-08-15 09:20:02.628620: predict best10 end_record 08-16 11:35:00, final soc 1.44kWh, metric 661.37p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 10:15:00, load 27.74kWh, PV 0.0kWh
2026-08-15 09:20:02.705396: predict best end_record 08-16 11:35:00, final soc 1.51kWh, metric 641.96p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 10:20:00, load 26.77kWh, PV 0.0kWh
2026-08-15 09:20:02.705482: Saving plan best values to HA entities
2026-08-15 09:20:02.870131: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 09:20:02.875341: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0.0
2026-08-15 09:20:02.880394: Best charging limit SoC's [16.0, 3.5, 4.0, 16.0, 16.0, 16.0]kWh, export []kWh gives import battery 20.74kWh, house 1.48kWh, export 0.0kWh, metric 641.96p, metric10 661.37p
2026-08-15 09:20:02.950317: Marginal costs baseline metric (no standing charge): 591.9766
2026-08-15 09:20:03.179939: Marginal energy costs matrix computed: min=15.29 max=32.05
2026-08-15 09:20:03.248463: Rate array import [{'start': 560, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 23.6p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1860, 'rate': 'expensive', 'range': '(24.6p - 32.9p)'}, {'start': 1860, 'end': 1890, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 1890, 'end': 1920, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 1920, 'end': 2135, 'rate': 'cheap', 'range': '(15.5p - 23.6p)'}] export [{'start': 560, 'end': 2135, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 09:20:03.249096: - Your estimated bill for today is £5.79 and tomorrow is £5.39
2026-08-15 09:20:03.249182: - Import rates are cheap (13.8p - 23.6p) for the next 6 and three quarters hours and then expensive (33.1p) for the next 1 hour.
2026-08-15 09:20:03.249206: - The battery is currently at 12% and is in eco mode for the next 2 and a quarter hours.
2026-08-15 09:20:03.249221: - For the next 48 hours there will be no solar generation.
2026-08-15 09:20:03.249235: - You will run out of battery in 1 hour.
2026-08-15 09:20:03.249267: - Your next charge slot will be in 2 and a quarter hours where import rates will be cheap (15.5p).
2026-08-15 09:20:03.249282: 
2026-08-15 09:20:03.308247: Plan calculation took 1.05 seconds
2026-08-15 09:20:03.311745: No high rate period found
2026-08-15 09:20:03.360148: Import threshold used for optimisation was 22.48p
2026-08-15 09:20:03.413162: Low import rate windows [0: 08-15 09:00:00 - 08-15 09:30:00 @ 23.55, 1: 08-15 09:30:00 - 08-15 10:00:00 @ 23.64, 2: 08-15 10:00:00 - 08-15 10:30:00 @ 19.66, 3: 08-15 10:30:00 - 08-15 11:00:00 @ 17.66, 4: 08-15 11:00:00 - 08-15 11:30:00 @ 16.56, 5: 08-15 11:30:00 - 08-15 12:00:00 @ 15.46, 6: 08-15 12:00:00 - 08-15 12:30:00 @ 17.0, 7: 08-15 12:30:00 - 08-15 13:00:00 @ 16.34, 8: 08-15 13:00:00 - 08-15 13:30:00 @ 15.36, 9: 08-15 13:30:00 - 08-15 14:00:00 @ 15.74, 10: 08-15 14:00:00 - 08-15 14:30:00 @ 14.57, 11: 08-15 14:30:00 - 08-15 15:00:00 @ 13.77, 12: 08-15 15:00:00 - 08-15 15:30:00 @ 15.02, 13: 08-15 15:30:00 - 08-15 16:00:00 @ 15.87, 14: 08-15 16:00:00 - 08-15 16:30:00 @ 33.13, 15: 08-15 16:30:00 - 08-15 17:00:00 @ 33.13, 16: 08-15 17:00:00 - 08-15 17:30:00 @ 38.46, 17: 08-15 17:30:00 - 08-15 18:00:00 @ 40.44, 18: 08-15 18:00:00 - 08-15 18:30:00 @ 41.55, 19: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 20: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 21: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 22: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 23: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 24: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 25: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 26: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 27: 08-15 23:00:00 - 08-15 23:30:00 @ 27.8, 28: 08-15 23:30:00 - 08-16 00:00:00 @ 29.09, 29: 08-16 00:00:00 - 08-16 00:30:00 @ 28.47, 30: 08-16 00:30:00 - 08-16 01:00:00 @ 27.18, 31: 08-16 01:00:00 - 08-16 01:30:00 @ 27.57, 32: 08-16 01:30:00 - 08-16 02:00:00 @ 26.5, 33: 08-16 02:00:00 - 08-16 02:30:00 @ 25.6, 34: 08-16 02:30:00 - 08-16 03:00:00 @ 24.79, 35: 08-16 03:00:00 - 08-16 03:30:00 @ 25.08, 36: 08-16 03:30:00 - 08-16 04:00:00 @ 24.62, 37: 08-16 04:00:00 - 08-16 04:30:00 @ 27.02, 38: 08-16 04:30:00 - 08-16 05:00:00 @ 26.47, 39: 08-16 05:00:00 - 08-16 05:30:00 @ 26.25, 40: 08-16 05:30:00 - 08-16 06:00:00 @ 26.4, 41: 08-16 06:00:00 - 08-16 06:30:00 @ 25.7, 42: 08-16 06:30:00 - 08-16 07:00:00 @ 27.63, 43: 08-16 07:00:00 - 08-16 07:30:00 @ 22.73, 44: 08-16 07:30:00 - 08-16 08:00:00 @ 26.7, 45: 08-16 08:00:00 - 08-16 08:30:00 @ 22.92, 46: 08-16 08:30:00 - 08-16 09:00:00 @ 22.48, 47: 08-16 09:00:00 - 08-16 09:30:00 @ 23.55, 48: 08-16 09:30:00 - 08-16 10:00:00 @ 23.64, 49: 08-16 10:00:00 - 08-16 10:30:00 @ 19.66, 50: 08-16 10:30:00 - 08-16 11:00:00 @ 17.66, 51: 08-16 11:00:00 - 08-16 11:30:00 @ 16.56, 52: 08-16 11:30:00 - 08-16 12:00:00 @ 15.46, 53: 08-16 12:00:00 - 08-16 12:30:00 @ 17.0, 54: 08-16 12:30:00 - 08-16 13:00:00 @ 16.34, 55: 08-16 13:00:00 - 08-16 13:30:00 @ 15.36, 56: 08-16 13:30:00 - 08-16 14:00:00 @ 15.74, 57: 08-16 14:00:00 - 08-16 14:30:00 @ 14.57, 58: 08-16 14:30:00 - 08-16 15:00:00 @ 13.77, 59: 08-16 15:00:00 - 08-16 15:30:00 @ 15.02, 60: 08-16 15:30:00 - 08-16 16:00:00 @ 15.87, 61: 08-16 16:00:00 - 08-16 16:30:00 @ 33.13, 62: 08-16 16:30:00 - 08-16 17:00:00 @ 33.13, 63: 08-16 17:00:00 - 08-16 17:30:00 @ 38.46, 64: 08-16 17:30:00 - 08-16 18:00:00 @ 40.44, 65: 08-16 18:00:00 - 08-16 18:30:00 @ 41.55, 66: 08-16 19:00:00 - 08-16 19:30:00 @ 32.58, 67: 08-16 19:30:00 - 08-16 20:00:00 @ 32.9, 68: 08-16 20:00:00 - 08-16 20:30:00 @ 31.99, 69: 08-16 20:30:00 - 08-16 21:00:00 @ 32.1, 70: 08-16 21:00:00 - 08-16 21:30:00 @ 31.71, 71: 08-16 21:30:00 - 08-16 22:00:00 @ 31.67, 72: 08-16 22:00:00 - 08-16 22:30:00 @ 31.77, 73: 08-16 22:30:00 - 08-16 23:00:00 @ 29.81, 74: 08-16 23:00:00 - 08-16 23:30:00 @ 27.8, 75: 08-16 23:30:00 - 08-17 00:00:00 @ 29.09, 76: 08-17 00:00:00 - 08-17 00:30:00 @ 28.47, 77: 08-17 00:30:00 - 08-17 01:00:00 @ 27.18, 78: 08-17 01:00:00 - 08-17 01:30:00 @ 27.57, 79: 08-17 01:30:00 - 08-17 02:00:00 @ 26.5, 80: 08-17 02:00:00 - 08-17 02:30:00 @ 25.6, 81: 08-17 02:30:00 - 08-17 03:00:00 @ 24.79, 82: 08-17 03:00:00 - 08-17 03:30:00 @ 25.08, 83: 08-17 03:30:00 - 08-17 04:00:00 @ 24.62, 84: 08-17 04:00:00 - 08-17 04:30:00 @ 27.02, 85: 08-17 04:30:00 - 08-17 05:00:00 @ 26.47, 86: 08-17 05:00:00 - 08-17 05:30:00 @ 26.25, 87: 08-17 05:30:00 - 08-17 06:00:00 @ 26.4, 88: 08-17 06:00:00 - 08-17 06:30:00 @ 25.7, 89: 08-17 06:30:00 - 08-17 07:00:00 @ 27.63, 90: 08-17 07:00:00 - 08-17 07:30:00 @ 22.73, 91: 08-17 07:30:00 - 08-17 08:00:00 @ 26.7, 92: 08-17 08:00:00 - 08-17 08:30:00 @ 22.92, 93: 08-17 08:30:00 - 08-17 09:00:00 @ 22.48, 94: 08-17 09:00:00 - 08-17 09:30:00 @ 23.55]
2026-08-15 09:20:03.421179: Inverter 0 Charge window will be: 2026-08-15 11:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 12%, target 100%
2026-08-15 09:20:03.421302: Inverter 0 disabled charge window while waiting for schedule (now 08-15 09:20:00 target set_window_minutes 30 charge start time 08-15 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 09:20:03.421408: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 09:20:03.421640: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 09:20:03.421714: No export window planned
2026-08-15 09:20:03.421864: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 09:20:03.421895: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 09:20:03.422011: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 09:20:03.422158: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 09:20:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 09:20:03.422214: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 09:20:03.422271: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 09:20:03.422357: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 09:20:03.422394: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 09:20:03.422418: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 09:20:03.422439: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 09:20:03.422459: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 09:20:03.422479: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 09:20:03.422498: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 09:20:03.422549: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 09:20:03.422573: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 09:20:03.422593: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 09:20:03.422614: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 09:20:03.422634: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 09:20:03.422652: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 09:20:03.422671: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 09:20:03.422688: Inverter 0 count register writes 0
2026-08-15 09:20:03.443451: Will not recompute the plan, it is 5.0 minutes old and max age is 10 minutes
2026-08-15 09:20:03.448999: Total inverter register writes now 815
2026-08-15 09:20:03.482436: Info: Completed run status Demand
2026-08-15 09:20:03.489656: Info: record_status Demand
2026-08-15 09:20:03.496141: Saved current settings to /config/predbat_config.json
2026-08-15 09:20:03.496415: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 09:20:41.604300: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 09:20:41.604567: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 09:20:41.604616: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 09:20:41.604777: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 09:20:41.604824: Note: Inverter does not support discharge freeze - disabled
2026-08-15 09:20:41.604846: Note: Inverter does not support charge freeze - disabled
2026-08-15 09:20:41.604873: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 09:22:41.854383: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 09:22:41.854640: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 09:22:41.854676: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 09:22:41.854843: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 09:22:41.854886: Note: Inverter does not support discharge freeze - disabled
2026-08-15 09:22:41.854906: Note: Inverter does not support charge freeze - disabled
2026-08-15 09:22:41.854924: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 09:24:42.089523: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 09:24:42.089866: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 09:24:42.089929: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 09:24:42.090191: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 09:24:42.090238: Note: Inverter does not support discharge freeze - disabled
2026-08-15 09:24:42.090261: Note: Inverter does not support charge freeze - disabled
2026-08-15 09:24:42.090279: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 09:25:00.191526: --------------- PredBat - update at 2026-08-15 09:25:00+01:00 with clock skew 0 minutes, minutes now 565
2026-08-15 09:25:00.192317: Saved current settings to /config/predbat_config.json
2026-08-15 09:25:00.192450: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 75.0 minutes
2026-08-15 09:25:00.192539: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.1, latest beta is v8.48.1
2026-08-15 09:25:00.192614: Autoupdate: Currently up to date
2026-08-15 09:25:00.212848: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 09:25:00.213074: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 09:25:00.213266: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 09:25:00.213852: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 09:25:00.213981: Predbat mode is set to Control charge & discharge
2026-08-15 09:25:00.377461: Found 21602 load_today datapoints going back 28 days
2026-08-15 09:25:00.377626: Using load_power data to fill gaps in load_today data
2026-08-15 09:25:01.101585: Processing 721 30-minute periods for power integration
2026-08-15 09:25:01.262135: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 09:25:01.262262: Car charging hold False, threshold 6.0kWh
2026-08-15 09:25:01.262301: Current data so far today: load 6.4kWh, import 7.7kWh, export 0.0kWh, PV 0kWh
2026-08-15 09:25:01.274808: Cars: SoC: [12.892000000000001]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 09:25:01.275699: Standing charge is set to 49.98p
2026-08-15 09:25:01.298980: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 09:25:01.299070: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 09:25:01.299270: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 565.0 minutes
2026-08-15 09:25:01.299614: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 564.6 minutes
2026-08-15 09:25:01.302106: Loaded 47 datapoints of futurerate analysis
2026-08-15 09:25:01.372130: Predicted future rates: ['08-15 00:00:00 => 28.9 / 20.01', '08-15 01:00:00 => 27.54 / 19.31', '08-15 02:00:00 => 26.52 / 18.8', '08-15 03:00:00 => 25.99 / 18.53', '08-15 04:00:00 => 25.8 / 18.43', '08-15 05:00:00 => 25.96 / 18.51', '08-15 06:00:00 => 25.55 / 18.3', '08-15 07:00:00 => 24.33 / 17.68', '08-15 08:00:00 => 23.03 / 17.01', '08-15 09:00:00 => 22.05 / 16.51', '08-15 10:00:00 => 20.43 / 15.68', '08-15 11:00:00 => 18.01 / 14.45', '08-15 12:00:00 => 16.37 / 13.61', '08-15 13:00:00 => 15.76 / 13.3', '08-15 14:00:00 => 15.35 / 13.09', '08-15 15:00:00 => 15.86 / 13.35', '08-15 16:00:00 => 32.89 / 16.13', '08-15 17:00:00 => 38.02 / 18.75', '08-15 18:00:00 => 42.36 / 20.96', '08-15 19:00:00 => 31.09 / 21.13', '08-15 20:00:00 => 31.64 / 21.41', '08-15 21:00:00 => 31.64 / 21.41', '08-15 22:00:00 => 30.58 / 20.87']
2026-08-15 09:25:01.423683: Rate min forward looking: now 13.77p at end of forecast 13.77p
2026-08-15 09:25:01.424151: Import rates: min 13.77p, max 43.82p, average 25.96p
2026-08-15 09:25:01.459232: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 09:25:01.459345: Rate thresholds (for charge/export) are import 43.32p (0.0p), export -0.1p (0.0p)
2026-08-15 09:25:01.460485: High export rate found rates in range 99p to -99p
2026-08-15 09:25:01.532012: Low Import rate found rates in range 13.77p to 41.55p
2026-08-15 09:25:01.532137: Car 0 charging is not planned as it is not plugged in
2026-08-15 09:25:01.544242: Battery level now 1.92kWh, -1hr ago 1.44kWh, at midnight 1.66kWh, battery value change in the last hour 5.68p, change today 3.12p, rate_forward 11.83p
2026-08-15 09:25:01.544560: Last hour: net energy 0.68kWh, import 0.68kWh, export 0.0kWh, car 0kWh, load 0.4kWh, net cost 15.62p, import 15.62p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 09:25:01.602959: Today's energy total net 7.7kWh, import 7.7kWh, export 0.0kWh, cost 252.1p, import 202.12p, export 0.0p, carbon 0.0kg
2026-08-15 09:25:01.603135: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 09:25:01.671444: Using weighted-bucket historical load forecast over 14 days
2026-08-15 09:25:01.693482: Today's load divergence 106.91%, in-day adjustment 129.17%, damping 0.95x, yesterday 143.77% today 106.56% blend 60.76%
2026-08-15 09:25:01.693570: Today's predicted so far 5.19kWh with 0.0kWh car/iBoost excluded, 3.19kWh import ignored, and 5.19kWh forecast extra.
2026-08-15 09:25:01.693596: Today's actual load so far 6.34kWh with 0.0kWh car/iBoost excluded, and 3.19kWh import ignored.
2026-08-15 09:25:01.726798: Inverter 0: Type SK Sunsynk
2026-08-15 09:25:01.726881: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 09:25:01.727066: Reserve min: 7%, battery_min: 7%
2026-08-15 09:25:01.727134: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 09:25:01.727371: Inverter 0 SoC: 1.92kW 12%, current charge rate 5000W, current discharge rate 5250W, current battery power 346W, current battery voltage 51.2V, grid power -55W, load power 409W, PV Power 0W
2026-08-15 09:25:01.727504: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 09:25:01.727578: Inverter 0 scheduled charge enable is False
2026-08-15 09:25:01.727602: Inverter 0 charge windows currently []
2026-08-15 09:25:01.727623: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 09:25:01.727724: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 09:25:01.727757: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 09:25:01.727787: Inverter 0 scheduled discharge enable is False
2026-08-15 09:25:01.727890: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 09:25:01.727915: Inverter 0 discharge windows currently []
2026-08-15 09:25:01.727932: Note: Inverter does not support discharge freeze - disabled
2026-08-15 09:25:01.727947: Note: Inverter does not support charge freeze - disabled
2026-08-15 09:25:01.727961: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 09:25:01.780403: Dynamic load last period 0.60kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 09:25:01.780517: Plan was last updated on 2026-08-15 09:15:00+01:00 and is now 10.0 minutes old
2026-08-15 09:25:01.780840: Best charge window [ 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 00:30:00 @ 28.84p 100% ]
2026-08-15 09:25:01.780887: Best export window [  ]
2026-08-15 09:25:01.781758: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 09:25:01.784867: Load divergence over 8.0 hours mean 640.6W, min 287.4W, max 1838.4W, std dev 338.98W, divergence 26.46%
2026-08-15 09:25:01.801803: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 09:25:01.801912: LoadML is_calculating False
2026-08-15 09:25:01.801969: Creating pool of 12 processes to match your CPU count
2026-08-15 09:25:01.912052: predict base end_record 08-16 11:40:00, final soc 1.12kWh, metric 801.05p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 10:25:00, load 26.87kWh, PV 0.0kWh
2026-08-15 09:25:02.046944: Battery has 1.0 hours left - now at 1.92kWh
2026-08-15 09:25:02.085018: predict base10 end_record 08-16 11:40:00, final soc 1.12kWh, metric 825.54p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 10:20:00, load 27.85kWh, PV 0.0kWh
2026-08-15 09:25:02.162988: predict best10 end_record 08-16 11:40:00, final soc 1.77kWh, metric 667.46p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 10:20:00, load 27.85kWh, PV 0.0kWh
2026-08-15 09:25:02.250020: predict best end_record 08-16 11:40:00, final soc 1.9kWh, metric 649.11p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 10:25:00, load 26.87kWh, PV 0.0kWh
2026-08-15 09:25:02.250110: Saving plan best values to HA entities
2026-08-15 09:25:02.427362: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 09:25:02.432727: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 09:25:02.438548: Best charging limit SoC's [16.0, 3.5, 4.0, 16.0, 16.0, 16.0]kWh, export []kWh gives import battery 21.24kWh, house 1.44kWh, export 0.0kWh, metric 649.11p, metric10 667.46p
2026-08-15 09:25:02.511804: Marginal costs baseline metric (no standing charge): 599.1296
2026-08-15 09:25:02.731527: Marginal energy costs matrix computed: min=15.22 max=32.21
2026-08-15 09:25:02.807737: Rate array import [{'start': 565, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 23.6p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1860, 'rate': 'expensive', 'range': '(24.6p - 32.9p)'}, {'start': 1860, 'end': 1890, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 1890, 'end': 1920, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 1920, 'end': 2140, 'rate': 'cheap', 'range': '(15.5p - 23.6p)'}] export [{'start': 565, 'end': 2140, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 09:25:02.808398: - Your estimated bill for today is £5.78 and tomorrow is £5.40
2026-08-15 09:25:02.808450: - Import rates are cheap (13.8p - 23.6p) for the next 6 and a half hours and then expensive (33.1p) for the next 1 hour.
2026-08-15 09:25:02.808473: - The battery is currently at 12% and is in eco mode for the next 2 hours.
2026-08-15 09:25:02.808491: - For the next 48 hours there will be no solar generation.
2026-08-15 09:25:02.808508: - You will run out of battery in 1 hour.
2026-08-15 09:25:02.808525: - Your next charge slot will be in 2 hours where import rates will be cheap (15.5p).
2026-08-15 09:25:02.808542: 
2026-08-15 09:25:02.866398: Plan calculation took 1.09 seconds
2026-08-15 09:25:02.869564: No high rate period found
2026-08-15 09:25:02.915529: Import threshold used for optimisation was 22.48p
2026-08-15 09:25:02.967773: Low import rate windows [0: 08-15 09:00:00 - 08-15 09:30:00 @ 23.55, 1: 08-15 09:30:00 - 08-15 10:00:00 @ 23.64, 2: 08-15 10:00:00 - 08-15 10:30:00 @ 19.66, 3: 08-15 10:30:00 - 08-15 11:00:00 @ 17.66, 4: 08-15 11:00:00 - 08-15 11:30:00 @ 16.56, 5: 08-15 11:30:00 - 08-15 12:00:00 @ 15.46, 6: 08-15 12:00:00 - 08-15 12:30:00 @ 17.0, 7: 08-15 12:30:00 - 08-15 13:00:00 @ 16.34, 8: 08-15 13:00:00 - 08-15 13:30:00 @ 15.36, 9: 08-15 13:30:00 - 08-15 14:00:00 @ 15.74, 10: 08-15 14:00:00 - 08-15 14:30:00 @ 14.57, 11: 08-15 14:30:00 - 08-15 15:00:00 @ 13.77, 12: 08-15 15:00:00 - 08-15 15:30:00 @ 15.02, 13: 08-15 15:30:00 - 08-15 16:00:00 @ 15.87, 14: 08-15 16:00:00 - 08-15 16:30:00 @ 33.13, 15: 08-15 16:30:00 - 08-15 17:00:00 @ 33.13, 16: 08-15 17:00:00 - 08-15 17:30:00 @ 38.46, 17: 08-15 17:30:00 - 08-15 18:00:00 @ 40.44, 18: 08-15 18:00:00 - 08-15 18:30:00 @ 41.55, 19: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 20: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 21: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 22: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 23: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 24: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 25: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 26: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 27: 08-15 23:00:00 - 08-15 23:30:00 @ 27.8, 28: 08-15 23:30:00 - 08-16 00:00:00 @ 29.09, 29: 08-16 00:00:00 - 08-16 00:30:00 @ 28.47, 30: 08-16 00:30:00 - 08-16 01:00:00 @ 27.18, 31: 08-16 01:00:00 - 08-16 01:30:00 @ 27.57, 32: 08-16 01:30:00 - 08-16 02:00:00 @ 26.5, 33: 08-16 02:00:00 - 08-16 02:30:00 @ 25.6, 34: 08-16 02:30:00 - 08-16 03:00:00 @ 24.79, 35: 08-16 03:00:00 - 08-16 03:30:00 @ 25.08, 36: 08-16 03:30:00 - 08-16 04:00:00 @ 24.62, 37: 08-16 04:00:00 - 08-16 04:30:00 @ 27.02, 38: 08-16 04:30:00 - 08-16 05:00:00 @ 26.47, 39: 08-16 05:00:00 - 08-16 05:30:00 @ 26.25, 40: 08-16 05:30:00 - 08-16 06:00:00 @ 26.4, 41: 08-16 06:00:00 - 08-16 06:30:00 @ 25.7, 42: 08-16 06:30:00 - 08-16 07:00:00 @ 27.63, 43: 08-16 07:00:00 - 08-16 07:30:00 @ 22.73, 44: 08-16 07:30:00 - 08-16 08:00:00 @ 26.7, 45: 08-16 08:00:00 - 08-16 08:30:00 @ 22.92, 46: 08-16 08:30:00 - 08-16 09:00:00 @ 22.48, 47: 08-16 09:00:00 - 08-16 09:30:00 @ 23.55, 48: 08-16 09:30:00 - 08-16 10:00:00 @ 23.64, 49: 08-16 10:00:00 - 08-16 10:30:00 @ 19.66, 50: 08-16 10:30:00 - 08-16 11:00:00 @ 17.66, 51: 08-16 11:00:00 - 08-16 11:30:00 @ 16.56, 52: 08-16 11:30:00 - 08-16 12:00:00 @ 15.46, 53: 08-16 12:00:00 - 08-16 12:30:00 @ 17.0, 54: 08-16 12:30:00 - 08-16 13:00:00 @ 16.34, 55: 08-16 13:00:00 - 08-16 13:30:00 @ 15.36, 56: 08-16 13:30:00 - 08-16 14:00:00 @ 15.74, 57: 08-16 14:00:00 - 08-16 14:30:00 @ 14.57, 58: 08-16 14:30:00 - 08-16 15:00:00 @ 13.77, 59: 08-16 15:00:00 - 08-16 15:30:00 @ 15.02, 60: 08-16 15:30:00 - 08-16 16:00:00 @ 15.87, 61: 08-16 16:00:00 - 08-16 16:30:00 @ 33.13, 62: 08-16 16:30:00 - 08-16 17:00:00 @ 33.13, 63: 08-16 17:00:00 - 08-16 17:30:00 @ 38.46, 64: 08-16 17:30:00 - 08-16 18:00:00 @ 40.44, 65: 08-16 18:00:00 - 08-16 18:30:00 @ 41.55, 66: 08-16 19:00:00 - 08-16 19:30:00 @ 32.58, 67: 08-16 19:30:00 - 08-16 20:00:00 @ 32.9, 68: 08-16 20:00:00 - 08-16 20:30:00 @ 31.99, 69: 08-16 20:30:00 - 08-16 21:00:00 @ 32.1, 70: 08-16 21:00:00 - 08-16 21:30:00 @ 31.71, 71: 08-16 21:30:00 - 08-16 22:00:00 @ 31.67, 72: 08-16 22:00:00 - 08-16 22:30:00 @ 31.77, 73: 08-16 22:30:00 - 08-16 23:00:00 @ 29.81, 74: 08-16 23:00:00 - 08-16 23:30:00 @ 27.8, 75: 08-16 23:30:00 - 08-17 00:00:00 @ 29.09, 76: 08-17 00:00:00 - 08-17 00:30:00 @ 28.47, 77: 08-17 00:30:00 - 08-17 01:00:00 @ 27.18, 78: 08-17 01:00:00 - 08-17 01:30:00 @ 27.57, 79: 08-17 01:30:00 - 08-17 02:00:00 @ 26.5, 80: 08-17 02:00:00 - 08-17 02:30:00 @ 25.6, 81: 08-17 02:30:00 - 08-17 03:00:00 @ 24.79, 82: 08-17 03:00:00 - 08-17 03:30:00 @ 25.08, 83: 08-17 03:30:00 - 08-17 04:00:00 @ 24.62, 84: 08-17 04:00:00 - 08-17 04:30:00 @ 27.02, 85: 08-17 04:30:00 - 08-17 05:00:00 @ 26.47, 86: 08-17 05:00:00 - 08-17 05:30:00 @ 26.25, 87: 08-17 05:30:00 - 08-17 06:00:00 @ 26.4, 88: 08-17 06:00:00 - 08-17 06:30:00 @ 25.7, 89: 08-17 06:30:00 - 08-17 07:00:00 @ 27.63, 90: 08-17 07:00:00 - 08-17 07:30:00 @ 22.73, 91: 08-17 07:30:00 - 08-17 08:00:00 @ 26.7, 92: 08-17 08:00:00 - 08-17 08:30:00 @ 22.92, 93: 08-17 08:30:00 - 08-17 09:00:00 @ 22.48, 94: 08-17 09:00:00 - 08-17 09:30:00 @ 23.55]
2026-08-15 09:25:02.973804: Inverter 0 Charge window will be: 2026-08-15 11:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 12%, target 100%
2026-08-15 09:25:02.973917: Inverter 0 disabled charge window while waiting for schedule (now 08-15 09:25:00 target set_window_minutes 30 charge start time 08-15 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 09:25:02.974071: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 09:25:02.974377: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 09:25:02.974485: No export window planned
2026-08-15 09:25:02.974634: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 09:25:02.974685: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 09:25:02.974879: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 09:25:02.975093: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 09:25:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 09:25:02.975165: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 09:25:02.975247: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 09:25:02.975370: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 09:25:02.975435: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 09:25:02.975482: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 09:25:02.975512: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 09:25:02.975563: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 09:25:02.975613: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 09:25:02.975688: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 09:25:02.975781: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 09:25:02.975816: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 09:25:02.975838: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 09:25:02.975882: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 09:25:02.975938: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 09:25:02.975991: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 09:25:02.976026: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 09:25:02.976059: Inverter 0 count register writes 0
2026-08-15 09:25:02.992326: Will recompute the plan as it is now 10.0 minutes old and will exceed the max age of 10 minutes before the next run
2026-08-15 09:25:02.992523: Recompute is saving previous plan...
2026-08-15 09:25:02.995598: Best charge window [ 15-08 09:00:00 - 15-08 09:30:00 @ 23.55p 0%, 15-08 09:30:00 - 15-08 10:00:00 @ 23.64p 0%, 15-08 10:00:00 - 15-08 10:30:00 @ 19.66p 0%, 15-08 10:30:00 - 15-08 11:00:00 @ 17.66p 0%, 15-08 11:00:00 - 15-08 11:30:00 @ 16.56p 0%, 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 0%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 0%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 0%, 15-08 13:00:00 - 15-08 13:30:00 @ 15.36p 0%, 15-08 13:30:00 - 15-08 14:00:00 @ 15.74p 0%, 15-08 14:00:00 - 15-08 14:30:00 @ 14.57p 0%, 15-08 14:30:00 - 15-08 15:00:00 @ 13.77p 0%, 15-08 15:00:00 - 15-08 15:30:00 @ 15.02p 0%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 0%, 15-08 16:00:00 - 15-08 16:30:00 @ 33.13p 0%, 15-08 16:30:00 - 15-08 17:00:00 @ 33.13p 0%, 15-08 17:00:00 - 15-08 17:30:00 @ 38.46p 0%, 15-08 17:30:00 - 15-08 18:00:00 @ 40.44p 0%, 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 0%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 0%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 0%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 0%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 0%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 27.8p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 29.09p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.47p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.18p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 27.57p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.5p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.6p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 24.79p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 25.08p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 24.62p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 27.02p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.47p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 26.25p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.4p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.7p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 27.63p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 22.73p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 26.7p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 22.92p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 22.48p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 23.55p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 23.64p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 19.66p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 17.66p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 16.56p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 15.46p 0%, 16-08 12:00:00 - 16-08 12:30:00 @ 17.0p 0%, 16-08 12:30:00 - 16-08 13:00:00 @ 16.34p 0%, 16-08 13:00:00 - 16-08 13:30:00 @ 15.36p 0%, 16-08 13:30:00 - 16-08 14:00:00 @ 15.74p 0%, 16-08 14:00:00 - 16-08 14:30:00 @ 14.57p 0%, 16-08 14:30:00 - 16-08 15:00:00 @ 13.77p 0%, 16-08 15:00:00 - 16-08 15:30:00 @ 15.02p 0%, 16-08 15:30:00 - 16-08 16:00:00 @ 15.87p 0%, 16-08 16:00:00 - 16-08 16:30:00 @ 33.13p 0%, 16-08 16:30:00 - 16-08 17:00:00 @ 33.13p 0%, 16-08 17:00:00 - 16-08 17:30:00 @ 38.46p 0%, 16-08 17:30:00 - 16-08 18:00:00 @ 40.44p 0%, 16-08 18:00:00 - 16-08 18:30:00 @ 41.55p 0%, 16-08 19:00:00 - 16-08 19:30:00 @ 32.58p 0%, 16-08 19:30:00 - 16-08 20:00:00 @ 32.9p 0%, 16-08 20:00:00 - 16-08 20:30:00 @ 31.99p 0%, 16-08 20:30:00 - 16-08 21:00:00 @ 32.1p 0%, 16-08 21:00:00 - 16-08 21:30:00 @ 31.71p 0%, 16-08 21:30:00 - 16-08 22:00:00 @ 31.67p 0%, 16-08 22:00:00 - 16-08 22:30:00 @ 31.77p 0%, 16-08 22:30:00 - 16-08 23:00:00 @ 29.81p 0%, 16-08 23:00:00 - 16-08 23:30:00 @ 27.8p 0%, 16-08 23:30:00 - 17-08 00:00:00 @ 29.09p 0%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.47p 0%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.18p 0%, 17-08 01:00:00 - 17-08 01:30:00 @ 27.57p 0%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.5p 0%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.6p 0%, 17-08 02:30:00 - 17-08 03:00:00 @ 24.79p 0%, 17-08 03:00:00 - 17-08 03:30:00 @ 25.08p 0%, 17-08 03:30:00 - 17-08 04:00:00 @ 24.62p 0%, 17-08 04:00:00 - 17-08 04:30:00 @ 27.02p 0%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.47p 0%, 17-08 05:00:00 - 17-08 05:30:00 @ 26.25p 0%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.4p 0%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.7p 0%, 17-08 06:30:00 - 17-08 07:00:00 @ 27.63p 0%, 17-08 07:00:00 - 17-08 07:30:00 @ 22.73p 0%, 17-08 07:30:00 - 17-08 08:00:00 @ 26.7p 0%, 17-08 08:00:00 - 17-08 08:30:00 @ 22.92p 0%, 17-08 08:30:00 - 17-08 09:00:00 @ 22.48p 0%, 17-08 09:00:00 - 17-08 09:30:00 @ 23.55p 0% ]
2026-08-15 09:25:02.995680: Best export window [  ]
2026-08-15 09:25:02.996517: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 09:25:02.999621: Load divergence over 8.0 hours mean 640.6W, min 287.4W, max 1838.4W, std dev 338.98W, divergence 26.46%
2026-08-15 09:25:03.016136: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 09:25:03.016257: LoadML is_calculating False
2026-08-15 09:25:03.016335: Creating pool of 12 processes to match your CPU count
2026-08-15 09:25:03.100442: Calculate Best options: mode(Control charge & discharge), calculate_export_oncharge(False), calculate_export_on_pv(True), set_export_freeze_only(False), set_discharge_during_charge(True), combine_charge_slots(False), combine_export_slots(False), combine_rate_threshold(0.0), best_soc_min(0.0 kWh), best_soc_max(0.0 kWh), best_soc_keep(0.0 kWh), inverter_loss(4%), battery_loss(3%), battery_loss_discharge (3%), inverter_hybrid(True), metric_min_improvement(0.0p), metric_min_improvement_export(0.1p), metric_min_improvement_export_freeze(0.1p), metric_battery_cycle(0.0p/kWh), metric_battery_value_scaling(1.0 x) 
2026-08-15 09:25:03.102436: Optimise levels pass started at 2026-08-15 09:25:03
2026-08-15 09:25:03.102527: Optimise all windows, total charge 94 export 1
2026-08-15 09:25:03.996064: >> Region optimisation pass width 960 gives best_metric 824.14p, best_cost 848.25p, best_cycle 58.03kWh, best_import 39.2kWh
2026-08-15 09:25:04.395122: >> Region optimisation pass width 480 gives best_metric 824.14p, best_cost 848.25p, best_cycle 58.03kWh, best_import 39.2kWh
2026-08-15 09:25:04.948826: >> Region optimisation pass width 240 gives best_metric 822.88p, best_cost 828.72p, best_cycle 54.49kWh, best_import 37.69kWh
2026-08-15 09:25:06.017218: >> Region optimisation pass width 120 gives best_metric 822.88p, best_cost 828.72p, best_cycle 54.49kWh, best_import 37.69kWh
2026-08-15 09:25:06.017620: Calculated end_record as 08-16 11:30:00 based on best_price 16.34p, next_charge_start 08-15 11:30:00, max_windows 52
2026-08-15 09:25:06.017736: Optimise levels pass ended at 2026-08-15 09:25:06, duration 2.9 seconds tried 368 combinations
2026-08-15 09:25:06.017822: Set best_price_charge_level 17.6p, best_price_export_level 0p, best_price_charge 16.34p, best_cost_export 0p, best_metric 822.88p, best_keep 0kWh, best_cycle 54.49kWh, best_carbon 0kg, best_import 37.69kWh
2026-08-15 09:25:06.036579: Starting detailed optimisation end_record 08-16 11:30:00, best_price_charge 16.34p, best_price_export 0p. lowest_price_charge 13.77p with charge limits [0, 0, 0, 0, 0, 15.75, 0, 15.75, 15.75, 15.75, 15.75, 15.75, 15.75, 15.75, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0]kWh and export limits []kWh
2026-08-15 09:25:10.887486: Tweak plan optimisation started metric 572.76p, cost 582.92p
2026-08-15 09:25:11.178745: Tweak optimisation finished metric 572.76p, cost 582.92p, metric_keep 0kWh, cycle 30.05kWh, carbon 0kg, import 21.62kWh, changed 8 window(s)
2026-08-15 09:25:11.199615: Swap charge optimisation started metric 572.76p, cost 582.92p, min_improvement_swap 0.1p
2026-08-15 09:25:15.146795: Swap charge optimisation finished metric 572.76p, cost 582.92p
2026-08-15 09:25:15.244273: Pruned 1 dead plan slot(s) in 10 trial(s), nominal metric 569.68p -> 569.68p, plan now metric 572.77p, cost 582.92p, cycle 30.05kWh, import 21.62kWh
2026-08-15 09:25:15.254251: Raw charge windows [ 15-08 09:00:00 - 15-08 09:30:00 @ 23.55p 0%, 15-08 09:30:00 - 15-08 10:00:00 @ 23.64p 0%, 15-08 10:00:00 - 15-08 10:30:00 @ 19.66p 0%, 15-08 10:30:00 - 15-08 11:00:00 @ 17.66p 0%, 15-08 11:00:00 - 15-08 11:30:00 @ 16.56p 0%, 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 13:30:00 @ 15.36p 98%, 15-08 13:30:00 - 15-08 14:00:00 @ 15.74p 100%, 15-08 14:00:00 - 15-08 14:30:00 @ 14.57p 98%, 15-08 14:30:00 - 15-08 15:00:00 @ 13.77p 98%, 15-08 15:00:00 - 15-08 15:30:00 @ 15.02p 98%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 98%, 15-08 16:00:00 - 15-08 16:30:00 @ 33.13p 0%, 15-08 16:30:00 - 15-08 17:00:00 @ 33.13p 0%, 15-08 17:00:00 - 15-08 17:30:00 @ 38.46p 0%, 15-08 17:30:00 - 15-08 18:00:00 @ 40.44p 0%, 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 0%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 0%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 0%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 0%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 0%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 27.8p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 29.09p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.47p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.18p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 27.57p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.5p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.6p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 24.79p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 25.08p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 24.62p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 27.02p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.47p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 26.25p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.4p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.7p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 27.63p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 22.73p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 26.7p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 22.92p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 22.48p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 23.55p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 23.64p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 19.66p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 17.66p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 16.56p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 15.46p 100%, 16-08 12:00:00 - 16-08 12:30:00 @ 17.0p 100%, 16-08 12:30:00 - 16-08 13:00:00 @ 16.34p 100%, 16-08 13:00:00 - 16-08 13:30:00 @ 15.36p 100%, 16-08 13:30:00 - 16-08 14:00:00 @ 15.74p 100%, 16-08 14:00:00 - 16-08 14:30:00 @ 14.57p 100%, 16-08 14:30:00 - 16-08 15:00:00 @ 13.77p 100%, 16-08 15:00:00 - 16-08 15:30:00 @ 15.02p 100%, 16-08 15:30:00 - 16-08 16:00:00 @ 15.87p 100%, 16-08 16:00:00 - 16-08 16:30:00 @ 33.13p 100%, 16-08 16:30:00 - 16-08 17:00:00 @ 33.13p 100%, 16-08 17:00:00 - 16-08 17:30:00 @ 38.46p 100%, 16-08 17:30:00 - 16-08 18:00:00 @ 40.44p 100%, 16-08 18:00:00 - 16-08 18:30:00 @ 41.55p 100%, 16-08 19:00:00 - 16-08 19:30:00 @ 32.58p 100%, 16-08 19:30:00 - 16-08 20:00:00 @ 32.9p 100%, 16-08 20:00:00 - 16-08 20:30:00 @ 31.99p 100%, 16-08 20:30:00 - 16-08 21:00:00 @ 32.1p 100%, 16-08 21:00:00 - 16-08 21:30:00 @ 31.71p 100%, 16-08 21:30:00 - 16-08 22:00:00 @ 31.67p 100%, 16-08 22:00:00 - 16-08 22:30:00 @ 31.77p 100%, 16-08 22:30:00 - 16-08 23:00:00 @ 29.81p 100%, 16-08 23:00:00 - 16-08 23:30:00 @ 27.8p 100%, 16-08 23:30:00 - 17-08 00:00:00 @ 29.09p 100%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.47p 100%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.18p 100%, 17-08 01:00:00 - 17-08 01:30:00 @ 27.57p 100%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.5p 100%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.6p 100%, 17-08 02:30:00 - 17-08 03:00:00 @ 24.79p 100%, 17-08 03:00:00 - 17-08 03:30:00 @ 25.08p 100%, 17-08 03:30:00 - 17-08 04:00:00 @ 24.62p 100%, 17-08 04:00:00 - 17-08 04:30:00 @ 27.02p 100%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.47p 100%, 17-08 05:00:00 - 17-08 05:30:00 @ 26.25p 100%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.4p 100%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.7p 100%, 17-08 06:30:00 - 17-08 07:00:00 @ 27.63p 100%, 17-08 07:00:00 - 17-08 07:30:00 @ 22.73p 100%, 17-08 07:30:00 - 17-08 08:00:00 @ 26.7p 100%, 17-08 08:00:00 - 17-08 08:30:00 @ 22.92p 100%, 17-08 08:30:00 - 17-08 09:00:00 @ 22.48p 100%, 17-08 09:00:00 - 17-08 09:30:00 @ 23.55p 100% ] reserve 1.12
2026-08-15 09:25:15.254910: Unclipped charge windows [ 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 13:30:00 @ 15.36p 98%, 15-08 13:30:00 - 15-08 14:00:00 @ 15.74p 100%, 15-08 14:00:00 - 15-08 16:00:00 @ 15.23p 98%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 09:30:00 @ 23.48p 100% ] reserve 1.12
2026-08-15 09:25:15.255229: Unfiltered charge windows [ 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 13:30:00 @ 15.36p 100%, 15-08 13:30:00 - 15-08 14:00:00 @ 15.74p 100%, 15-08 14:00:00 - 15-08 16:00:00 @ 15.23p 98%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 09:30:00 @ 23.48p 100% ] reserve 1.12
2026-08-15 09:25:15.255457: Filtered charge windows [ 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 14:00:00 @ 15.55p 100%, 15-08 14:00:00 - 15-08 16:00:00 @ 15.23p 98%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 09:30:00 @ 23.48p 100% ] reserve 1.12
2026-08-15 09:25:15.285626: Previous plan best metric is 573.03 (cost 583.22) and new plan best metric is 572.76 (cost 582.92)
2026-08-15 09:25:15.285881: New plan metric is not significantly better (metric_min_improvement_plan 2.0) than previous plan, using previous plan
2026-08-15 09:25:15.286080: Plan valid is now true after recompute was False
2026-08-15 09:25:15.309313: predict base end_record 08-16 11:30:00, final soc 1.12kWh, metric 798.02p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 10:25:00, load 26.68kWh, PV 0.0kWh
2026-08-15 09:25:15.413455: Battery has 1.0 hours left - now at 1.92kWh
2026-08-15 09:25:15.453287: predict base10 end_record 08-16 11:30:00, final soc 1.12kWh, metric 822.36p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 10:20:00, load 27.64kWh, PV 0.0kWh
2026-08-15 09:25:15.518252: predict best10 end_record 08-16 11:30:00, final soc 1.12kWh, metric 653.55p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 10:20:00, load 27.64kWh, PV 0.0kWh
2026-08-15 09:25:15.584373: predict best end_record 08-16 11:30:00, final soc 1.12kWh, metric 633.21p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 10:25:00, load 26.68kWh, PV 0.0kWh
2026-08-15 09:25:15.584461: Saving plan best values to HA entities
2026-08-15 09:25:15.719590: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 09:25:15.724526: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 09:25:15.729349: Best charging limit SoC's [16.0, 3.5, 4.0, 16.0, 16.0, 16.0]kWh, export []kWh gives import battery 20.21kWh, house 1.44kWh, export 0.0kWh, metric 633.21p, metric10 653.55p
2026-08-15 09:25:15.791608: Marginal costs baseline metric (no standing charge): 583.2233
2026-08-15 09:25:16.012644: Marginal energy costs matrix computed: min=15.22 max=32.21
2026-08-15 09:25:16.076168: Rate array import [{'start': 565, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 23.6p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1860, 'rate': 'expensive', 'range': '(24.6p - 32.9p)'}, {'start': 1860, 'end': 1890, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 1890, 'end': 1920, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 1920, 'end': 2130, 'rate': 'cheap', 'range': '(16.6p - 23.6p)'}] export [{'start': 565, 'end': 2130, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 09:25:16.076660: - Your estimated bill for today is £5.78 and tomorrow is £5.40
2026-08-15 09:25:16.076715: - Import rates are cheap (13.8p - 23.6p) for the next 6 and a half hours and then expensive (33.1p) for the next 1 hour.
2026-08-15 09:25:16.076736: - The battery is currently at 12% and is in eco mode for the next 2 hours.
2026-08-15 09:25:16.076751: - For the next 48 hours there will be no solar generation.
2026-08-15 09:25:16.076764: - You will run out of battery in 1 hour.
2026-08-15 09:25:16.076778: - Your next charge slot will be in 2 hours where import rates will be cheap (15.5p).
2026-08-15 09:25:16.076791: 
2026-08-15 09:25:16.121128: Plan calculation took 13.13 seconds
2026-08-15 09:25:16.121493: Inverter 0: Type SK Sunsynk
2026-08-15 09:25:16.121548: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 09:25:16.121788: Reserve min: 7%, battery_min: 7%
2026-08-15 09:25:16.121876: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 09:25:16.122197: Inverter 0 SoC: 1.92kW 12%, current charge rate 5000W, current discharge rate 5250W, current battery power 321W, current battery voltage 51.2V, grid power -55W, load power 383W, PV Power 0W
2026-08-15 09:25:16.122435: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 09:25:16.122555: Inverter 0 scheduled charge enable is False
2026-08-15 09:25:16.122596: Inverter 0 charge windows currently []
2026-08-15 09:25:16.122633: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 09:25:16.122785: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 09:25:16.122822: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 09:25:16.122864: Inverter 0 scheduled discharge enable is False
2026-08-15 09:25:16.123021: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 09:25:16.123058: Inverter 0 discharge windows currently []
2026-08-15 09:25:16.123079: Note: Inverter does not support discharge freeze - disabled
2026-08-15 09:25:16.123115: Note: Inverter does not support charge freeze - disabled
2026-08-15 09:25:16.123144: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 09:25:16.178587: Inverter 0 Charge window will be: 2026-08-15 11:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 12%, target 100%
2026-08-15 09:25:16.178749: Inverter 0 disabled charge window while waiting for schedule (now 08-15 09:25:00 target set_window_minutes 30 charge start time 08-15 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 09:25:16.178839: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 09:25:16.179107: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 09:25:16.179194: No export window planned
2026-08-15 09:25:16.179342: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 09:25:16.179380: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 09:25:16.179531: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 09:25:16.179721: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 09:25:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 09:25:16.179793: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 09:25:16.179863: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 09:25:16.179953: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 09:25:16.179985: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 09:25:16.180015: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 09:25:16.180038: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 09:25:16.180059: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 09:25:16.180078: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 09:25:16.180109: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 09:25:16.180200: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 09:25:16.180243: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 09:25:16.180266: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 09:25:16.180289: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 09:25:16.180309: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 09:25:16.180330: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 09:25:16.180350: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 09:25:16.180366: Inverter 0 count register writes 0
2026-08-15 09:25:16.200757: Total inverter register writes now 815
2026-08-15 09:25:16.231330: Info: Completed run status Demand
2026-08-15 09:25:16.237180: Info: record_status Demand
2026-08-15 09:25:16.243826: Saved current settings to /config/predbat_config.json
2026-08-15 09:25:16.244096: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 09:25:57.349974: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 09:25:57.350218: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 09:25:57.350284: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 09:25:57.350448: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 09:25:57.350487: Note: Inverter does not support discharge freeze - disabled
2026-08-15 09:25:57.350509: Note: Inverter does not support charge freeze - disabled
2026-08-15 09:25:57.350527: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 09:28:11.607973: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 09:28:11.608218: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 09:28:11.608254: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 09:28:11.608448: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 09:28:11.608496: Note: Inverter does not support discharge freeze - disabled
2026-08-15 09:28:11.608518: Note: Inverter does not support charge freeze - disabled
2026-08-15 09:28:11.608536: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 09:30:00.830647: --------------- PredBat - update at 2026-08-15 09:30:00+01:00 with clock skew 0 minutes, minutes now 570
2026-08-15 09:30:00.831543: Saved current settings to /config/predbat_config.json
2026-08-15 09:30:00.831803: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 80.0 minutes
2026-08-15 09:30:00.831905: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.1, latest beta is v8.48.1
2026-08-15 09:30:00.831994: Autoupdate: Currently up to date
2026-08-15 09:30:00.854421: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 09:30:00.854561: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 09:30:00.854748: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 09:30:00.855263: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 09:30:00.855384: Predbat mode is set to Control charge & discharge
2026-08-15 09:30:01.074669: Found 21602 load_today datapoints going back 28 days
2026-08-15 09:30:01.074914: Using load_power data to fill gaps in load_today data
2026-08-15 09:30:01.937449: Processing 721 30-minute periods for power integration
2026-08-15 09:30:02.134840: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 09:30:02.134978: Car charging hold False, threshold 6.0kWh
2026-08-15 09:30:02.135024: Current data so far today: load 6.3kWh, import 7.7kWh, export 0.0kWh, PV 0kWh
2026-08-15 09:30:02.149445: Cars: SoC: [12.892000000000001]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 09:30:02.149831: Standing charge is set to 49.98p
2026-08-15 09:30:02.177998: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 09:30:02.178105: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 09:30:03.057672: Loaded 47 datapoints of futurerate analysis
2026-08-15 09:30:03.148781: Predicted future rates: ['08-15 00:00:00 => 28.9 / 20.01', '08-15 01:00:00 => 27.54 / 19.31', '08-15 02:00:00 => 26.52 / 18.8', '08-15 03:00:00 => 25.99 / 18.53', '08-15 04:00:00 => 25.8 / 18.43', '08-15 05:00:00 => 25.96 / 18.51', '08-15 06:00:00 => 25.55 / 18.3', '08-15 07:00:00 => 24.33 / 17.68', '08-15 08:00:00 => 23.03 / 17.01', '08-15 09:00:00 => 22.05 / 16.51', '08-15 10:00:00 => 20.43 / 15.68', '08-15 11:00:00 => 18.01 / 14.45', '08-15 12:00:00 => 16.37 / 13.61', '08-15 13:00:00 => 15.76 / 13.3', '08-15 14:00:00 => 15.35 / 13.09', '08-15 15:00:00 => 15.86 / 13.35', '08-15 16:00:00 => 32.89 / 16.13', '08-15 17:00:00 => 38.02 / 18.75', '08-15 18:00:00 => 42.36 / 20.96', '08-15 19:00:00 => 31.09 / 21.13', '08-15 20:00:00 => 31.64 / 21.41', '08-15 21:00:00 => 31.64 / 21.41', '08-15 22:00:00 => 30.58 / 20.87']
2026-08-15 09:30:03.216826: Rate min forward looking: now 13.77p at end of forecast 13.77p
2026-08-15 09:30:03.217364: Import rates: min 13.77p, max 43.82p, average 25.96p
2026-08-15 09:30:03.261181: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 09:30:03.261328: Rate thresholds (for charge/export) are import 43.32p (0.0p), export -0.1p (0.0p)
2026-08-15 09:30:03.262843: High export rate found rates in range 99p to -99p
2026-08-15 09:30:03.364651: Low Import rate found rates in range 13.77p to 41.55p
2026-08-15 09:30:03.364820: Car 0 charging is not planned as it is not plugged in
2026-08-15 09:30:03.378315: Battery level now 1.92kWh, -1hr ago 1.44kWh, at midnight 1.66kWh, battery value change in the last hour 5.68p, change today 3.12p, rate_forward 11.83p
2026-08-15 09:30:03.378712: Last hour: net energy 0.65kWh, import 0.65kWh, export 0.0kWh, car 0kWh, load 0.28kWh, net cost 14.93p, import 14.93p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 09:30:03.440543: Today's energy total net 7.7kWh, import 7.7kWh, export 0.0kWh, cost 252.1p, import 202.12p, export 0.0p, carbon 0.0kg
2026-08-15 09:30:03.440726: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 09:30:03.532158: Using weighted-bucket historical load forecast over 14 days
2026-08-15 09:30:03.560457: Today's load divergence 106.54%, in-day adjustment 128.9%, damping 0.95x, yesterday 143.77% today 106.21% blend 60.42%
2026-08-15 09:30:03.560586: Today's predicted so far 5.3kWh with 0.0kWh car/iBoost excluded, 3.11kWh import ignored, and 5.3kWh forecast extra.
2026-08-15 09:30:03.560644: Today's actual load so far 6.38kWh with 0.0kWh car/iBoost excluded, and 3.11kWh import ignored.
2026-08-15 09:30:03.612067: Inverter 0: Type SK Sunsynk
2026-08-15 09:30:03.612166: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 09:30:03.612346: Reserve min: 7%, battery_min: 7%
2026-08-15 09:30:03.612407: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 09:30:03.612720: Inverter 0 SoC: 1.92kW 12%, current charge rate 5000W, current discharge rate 5250W, current battery power 320W, current battery voltage 51.2V, grid power -55W, load power 382W, PV Power 0W
2026-08-15 09:30:03.612897: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 09:30:03.613023: Inverter 0 scheduled charge enable is False
2026-08-15 09:30:03.613063: Inverter 0 charge windows currently []
2026-08-15 09:30:03.613090: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 09:30:03.613198: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 09:30:03.613234: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 09:30:03.613269: Inverter 0 scheduled discharge enable is False
2026-08-15 09:30:03.613397: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 09:30:03.613434: Inverter 0 discharge windows currently []
2026-08-15 09:30:03.613457: Note: Inverter does not support discharge freeze - disabled
2026-08-15 09:30:03.613479: Note: Inverter does not support charge freeze - disabled
2026-08-15 09:30:03.613497: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 09:30:03.710324: Dynamic load last period 0.00kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 09:30:03.710506: Plan was last updated on 2026-08-15 09:25:00+01:00 and is now 5.0 minutes old
2026-08-15 09:30:03.710926: Best charge window [ 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 00:30:00 @ 28.84p 100% ]
2026-08-15 09:30:03.711012: Best export window [  ]
2026-08-15 09:30:03.711968: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 09:30:03.715287: Load divergence over 8.0 hours mean 640.66W, min 281.4W, max 1607.4W, std dev 331.0W, divergence 25.83%
2026-08-15 09:30:03.734890: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 09:30:03.735190: LoadML is_calculating False
2026-08-15 09:30:03.735279: Creating pool of 12 processes to match your CPU count
2026-08-15 09:30:03.873064: predict base end_record 08-16 11:35:00, final soc 1.12kWh, metric 796.32p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 10:25:00, load 26.54kWh, PV 0.0kWh
2026-08-15 09:30:04.027926: Battery has 0.92 hours left - now at 1.92kWh
2026-08-15 09:30:04.080982: predict base10 end_record 08-16 11:35:00, final soc 1.12kWh, metric 820.54p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 10:25:00, load 27.5kWh, PV 0.0kWh
2026-08-15 09:30:04.178077: predict best10 end_record 08-16 11:35:00, final soc 1.44kWh, metric 657.56p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 10:25:00, load 27.5kWh, PV 0.0kWh
2026-08-15 09:30:04.269537: predict best end_record 08-16 11:35:00, final soc 1.51kWh, metric 638.73p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 10:25:00, load 26.54kWh, PV 0.0kWh
2026-08-15 09:30:04.269639: Saving plan best values to HA entities
2026-08-15 09:30:04.467223: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 09:30:04.473359: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 09:30:04.483804: Best charging limit SoC's [16.0, 3.5, 4.0, 16.0, 16.0, 16.0]kWh, export []kWh gives import battery 20.7kWh, house 1.33kWh, export 0.0kWh, metric 638.73p, metric10 657.56p
2026-08-15 09:30:04.561553: Marginal costs baseline metric (no standing charge): 588.75
2026-08-15 09:30:04.786413: Marginal energy costs matrix computed: min=15.16 max=32.33
2026-08-15 09:30:04.863342: Rate array import [{'start': 570, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 23.6p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1860, 'rate': 'expensive', 'range': '(24.6p - 32.9p)'}, {'start': 1860, 'end': 1890, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 1890, 'end': 1920, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 1920, 'end': 2135, 'rate': 'cheap', 'range': '(15.5p - 23.6p)'}] export [{'start': 570, 'end': 2135, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 09:30:04.864029: - Your estimated bill for today is £5.77 and tomorrow is £5.36
2026-08-15 09:30:04.864074: - Import rates are cheap (13.8p - 23.6p) for the next 6 and a half hours and then expensive (33.1p) for the next 1 hour.
2026-08-15 09:30:04.864094: - The battery is currently at 12% and is in eco mode for the next 2 hours.
2026-08-15 09:30:04.864108: - For the next 48 hours there will be no solar generation.
2026-08-15 09:30:04.864122: - You will run out of battery in 55 minutes.
2026-08-15 09:30:04.864137: - Your next charge slot will be in 2 hours where import rates will be cheap (15.5p).
2026-08-15 09:30:04.864164: 
2026-08-15 09:30:04.916784: Plan calculation took 1.21 seconds
2026-08-15 09:30:04.920259: No high rate period found
2026-08-15 09:30:04.970890: Import threshold used for optimisation was 22.48p
2026-08-15 09:30:05.033638: Low import rate windows [0: 08-15 09:30:00 - 08-15 10:00:00 @ 23.64, 1: 08-15 10:00:00 - 08-15 10:30:00 @ 19.66, 2: 08-15 10:30:00 - 08-15 11:00:00 @ 17.66, 3: 08-15 11:00:00 - 08-15 11:30:00 @ 16.56, 4: 08-15 11:30:00 - 08-15 12:00:00 @ 15.46, 5: 08-15 12:00:00 - 08-15 12:30:00 @ 17.0, 6: 08-15 12:30:00 - 08-15 13:00:00 @ 16.34, 7: 08-15 13:00:00 - 08-15 13:30:00 @ 15.36, 8: 08-15 13:30:00 - 08-15 14:00:00 @ 15.74, 9: 08-15 14:00:00 - 08-15 14:30:00 @ 14.57, 10: 08-15 14:30:00 - 08-15 15:00:00 @ 13.77, 11: 08-15 15:00:00 - 08-15 15:30:00 @ 15.02, 12: 08-15 15:30:00 - 08-15 16:00:00 @ 15.87, 13: 08-15 16:00:00 - 08-15 16:30:00 @ 33.13, 14: 08-15 16:30:00 - 08-15 17:00:00 @ 33.13, 15: 08-15 17:00:00 - 08-15 17:30:00 @ 38.46, 16: 08-15 17:30:00 - 08-15 18:00:00 @ 40.44, 17: 08-15 18:00:00 - 08-15 18:30:00 @ 41.55, 18: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 19: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 20: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 21: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 22: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 23: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 24: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 25: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 26: 08-15 23:00:00 - 08-15 23:30:00 @ 27.8, 27: 08-15 23:30:00 - 08-16 00:00:00 @ 29.09, 28: 08-16 00:00:00 - 08-16 00:30:00 @ 28.47, 29: 08-16 00:30:00 - 08-16 01:00:00 @ 27.18, 30: 08-16 01:00:00 - 08-16 01:30:00 @ 27.57, 31: 08-16 01:30:00 - 08-16 02:00:00 @ 26.5, 32: 08-16 02:00:00 - 08-16 02:30:00 @ 25.6, 33: 08-16 02:30:00 - 08-16 03:00:00 @ 24.79, 34: 08-16 03:00:00 - 08-16 03:30:00 @ 25.08, 35: 08-16 03:30:00 - 08-16 04:00:00 @ 24.62, 36: 08-16 04:00:00 - 08-16 04:30:00 @ 27.02, 37: 08-16 04:30:00 - 08-16 05:00:00 @ 26.47, 38: 08-16 05:00:00 - 08-16 05:30:00 @ 26.25, 39: 08-16 05:30:00 - 08-16 06:00:00 @ 26.4, 40: 08-16 06:00:00 - 08-16 06:30:00 @ 25.7, 41: 08-16 06:30:00 - 08-16 07:00:00 @ 27.63, 42: 08-16 07:00:00 - 08-16 07:30:00 @ 22.73, 43: 08-16 07:30:00 - 08-16 08:00:00 @ 26.7, 44: 08-16 08:00:00 - 08-16 08:30:00 @ 22.92, 45: 08-16 08:30:00 - 08-16 09:00:00 @ 22.48, 46: 08-16 09:00:00 - 08-16 09:30:00 @ 23.55, 47: 08-16 09:30:00 - 08-16 10:00:00 @ 23.64, 48: 08-16 10:00:00 - 08-16 10:30:00 @ 19.66, 49: 08-16 10:30:00 - 08-16 11:00:00 @ 17.66, 50: 08-16 11:00:00 - 08-16 11:30:00 @ 16.56, 51: 08-16 11:30:00 - 08-16 12:00:00 @ 15.46, 52: 08-16 12:00:00 - 08-16 12:30:00 @ 17.0, 53: 08-16 12:30:00 - 08-16 13:00:00 @ 16.34, 54: 08-16 13:00:00 - 08-16 13:30:00 @ 15.36, 55: 08-16 13:30:00 - 08-16 14:00:00 @ 15.74, 56: 08-16 14:00:00 - 08-16 14:30:00 @ 14.57, 57: 08-16 14:30:00 - 08-16 15:00:00 @ 13.77, 58: 08-16 15:00:00 - 08-16 15:30:00 @ 15.02, 59: 08-16 15:30:00 - 08-16 16:00:00 @ 15.87, 60: 08-16 16:00:00 - 08-16 16:30:00 @ 33.13, 61: 08-16 16:30:00 - 08-16 17:00:00 @ 33.13, 62: 08-16 17:00:00 - 08-16 17:30:00 @ 38.46, 63: 08-16 17:30:00 - 08-16 18:00:00 @ 40.44, 64: 08-16 18:00:00 - 08-16 18:30:00 @ 41.55, 65: 08-16 19:00:00 - 08-16 19:30:00 @ 32.58, 66: 08-16 19:30:00 - 08-16 20:00:00 @ 32.9, 67: 08-16 20:00:00 - 08-16 20:30:00 @ 31.99, 68: 08-16 20:30:00 - 08-16 21:00:00 @ 32.1, 69: 08-16 21:00:00 - 08-16 21:30:00 @ 31.71, 70: 08-16 21:30:00 - 08-16 22:00:00 @ 31.67, 71: 08-16 22:00:00 - 08-16 22:30:00 @ 31.77, 72: 08-16 22:30:00 - 08-16 23:00:00 @ 29.81, 73: 08-16 23:00:00 - 08-16 23:30:00 @ 27.8, 74: 08-16 23:30:00 - 08-17 00:00:00 @ 29.09, 75: 08-17 00:00:00 - 08-17 00:30:00 @ 28.47, 76: 08-17 00:30:00 - 08-17 01:00:00 @ 27.18, 77: 08-17 01:00:00 - 08-17 01:30:00 @ 27.57, 78: 08-17 01:30:00 - 08-17 02:00:00 @ 26.5, 79: 08-17 02:00:00 - 08-17 02:30:00 @ 25.6, 80: 08-17 02:30:00 - 08-17 03:00:00 @ 24.79, 81: 08-17 03:00:00 - 08-17 03:30:00 @ 25.08, 82: 08-17 03:30:00 - 08-17 04:00:00 @ 24.62, 83: 08-17 04:00:00 - 08-17 04:30:00 @ 27.02, 84: 08-17 04:30:00 - 08-17 05:00:00 @ 26.47, 85: 08-17 05:00:00 - 08-17 05:30:00 @ 26.25, 86: 08-17 05:30:00 - 08-17 06:00:00 @ 26.4, 87: 08-17 06:00:00 - 08-17 06:30:00 @ 25.7, 88: 08-17 06:30:00 - 08-17 07:00:00 @ 27.63, 89: 08-17 07:00:00 - 08-17 07:30:00 @ 22.73, 90: 08-17 07:30:00 - 08-17 08:00:00 @ 26.7, 91: 08-17 08:00:00 - 08-17 08:30:00 @ 22.92, 92: 08-17 08:30:00 - 08-17 09:00:00 @ 22.48, 93: 08-17 09:00:00 - 08-17 09:30:00 @ 23.55]
2026-08-15 09:30:05.041890: Inverter 0 Charge window will be: 2026-08-15 11:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 12%, target 100%
2026-08-15 09:30:05.042038: Inverter 0 disabled charge window while waiting for schedule (now 08-15 09:30:00 target set_window_minutes 30 charge start time 08-15 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 09:30:05.042153: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 09:30:05.042416: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 09:30:05.042511: No export window planned
2026-08-15 09:30:05.042639: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 09:30:05.042676: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 09:30:05.042830: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 09:30:05.043014: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 09:30:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 09:30:05.043078: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 09:30:05.043148: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 09:30:05.043238: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 09:30:05.043283: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 09:30:05.043311: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 09:30:05.043337: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 09:30:05.043361: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 09:30:05.043391: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 09:30:05.043417: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 09:30:05.043479: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 09:30:05.043516: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 09:30:05.043542: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 09:30:05.043572: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 09:30:05.043596: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 09:30:05.043625: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 09:30:05.043649: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 09:30:05.043671: Inverter 0 count register writes 0
2026-08-15 09:30:05.062817: Will not recompute the plan, it is 5.0 minutes old and max age is 10 minutes
2026-08-15 09:30:05.069254: Total inverter register writes now 815
2026-08-15 09:30:05.103135: Info: Completed run status Demand
2026-08-15 09:30:05.110524: Info: record_status Demand
2026-08-15 09:30:05.118251: Saved current settings to /config/predbat_config.json
2026-08-15 09:30:05.118624: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 09:30:42.228015: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 09:30:42.228339: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 09:30:42.228408: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 09:30:42.228652: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 09:30:42.228731: Note: Inverter does not support discharge freeze - disabled
2026-08-15 09:30:42.228777: Note: Inverter does not support charge freeze - disabled
2026-08-15 09:30:42.228814: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 09:32:42.458674: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 09:32:42.459028: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 09:32:42.459065: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 09:32:42.459245: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 09:32:42.459286: Note: Inverter does not support discharge freeze - disabled
2026-08-15 09:32:42.459327: Note: Inverter does not support charge freeze - disabled
2026-08-15 09:32:42.459345: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 09:34:56.697358: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 09:34:56.697642: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 09:34:56.697679: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 09:34:56.697865: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 09:34:56.697908: Note: Inverter does not support discharge freeze - disabled
2026-08-15 09:34:56.697947: Note: Inverter does not support charge freeze - disabled
2026-08-15 09:34:56.697967: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 09:35:00.782747: --------------- PredBat - update at 2026-08-15 09:35:00+01:00 with clock skew 0 minutes, minutes now 575
2026-08-15 09:35:00.783533: Saved current settings to /config/predbat_config.json
2026-08-15 09:35:00.783771: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 85.0 minutes
2026-08-15 09:35:00.783883: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.1, latest beta is v8.48.1
2026-08-15 09:35:00.783978: Autoupdate: Currently up to date
2026-08-15 09:35:00.802996: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 09:35:00.803182: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 09:35:00.803412: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 09:35:00.804023: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 09:35:00.804146: Predbat mode is set to Control charge & discharge
2026-08-15 09:35:01.000205: Found 21602 load_today datapoints going back 28 days
2026-08-15 09:35:01.000365: Using load_power data to fill gaps in load_today data
2026-08-15 09:35:01.781938: Processing 721 30-minute periods for power integration
2026-08-15 09:35:01.932288: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 09:35:01.932418: Car charging hold False, threshold 6.0kWh
2026-08-15 09:35:01.932455: Current data so far today: load 6.3kWh, import 7.7kWh, export 0.0kWh, PV 0kWh
2026-08-15 09:35:01.944466: Cars: SoC: [12.892000000000001]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 09:35:01.944835: Standing charge is set to 49.98p
2026-08-15 09:35:01.966765: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 09:35:01.966901: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 09:35:01.967186: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 5.0 minutes
2026-08-15 09:35:01.967897: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 5.0 minutes
2026-08-15 09:35:01.973188: Loaded 47 datapoints of futurerate analysis
2026-08-15 09:35:02.057590: Predicted future rates: ['08-15 00:00:00 => 28.9 / 20.01', '08-15 01:00:00 => 27.54 / 19.31', '08-15 02:00:00 => 26.52 / 18.8', '08-15 03:00:00 => 25.99 / 18.53', '08-15 04:00:00 => 25.8 / 18.43', '08-15 05:00:00 => 25.96 / 18.51', '08-15 06:00:00 => 25.55 / 18.3', '08-15 07:00:00 => 24.33 / 17.68', '08-15 08:00:00 => 23.03 / 17.01', '08-15 09:00:00 => 22.05 / 16.51', '08-15 10:00:00 => 20.43 / 15.68', '08-15 11:00:00 => 18.01 / 14.45', '08-15 12:00:00 => 16.37 / 13.61', '08-15 13:00:00 => 15.76 / 13.3', '08-15 14:00:00 => 15.35 / 13.09', '08-15 15:00:00 => 15.86 / 13.35', '08-15 16:00:00 => 32.89 / 16.13', '08-15 17:00:00 => 38.02 / 18.75', '08-15 18:00:00 => 42.36 / 20.96', '08-15 19:00:00 => 31.09 / 21.13', '08-15 20:00:00 => 31.64 / 21.41', '08-15 21:00:00 => 31.64 / 21.41', '08-15 22:00:00 => 30.58 / 20.87']
2026-08-15 09:35:02.109428: Rate min forward looking: now 13.77p at end of forecast 13.77p
2026-08-15 09:35:02.109951: Import rates: min 13.77p, max 43.82p, average 25.96p
2026-08-15 09:35:02.147910: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 09:35:02.148038: Rate thresholds (for charge/export) are import 43.32p (0.0p), export -0.1p (0.0p)
2026-08-15 09:35:02.149273: High export rate found rates in range 99p to -99p
2026-08-15 09:35:02.222087: Low Import rate found rates in range 13.77p to 41.55p
2026-08-15 09:35:02.222201: Car 0 charging is not planned as it is not plugged in
2026-08-15 09:35:02.233476: Battery level now 1.92kWh, -1hr ago 1.44kWh, at midnight 1.66kWh, battery value change in the last hour 5.68p, change today 3.12p, rate_forward 11.83p
2026-08-15 09:35:02.233853: Last hour: net energy 0.62kWh, import 0.62kWh, export 0.0kWh, car 0kWh, load 0.25kWh, net cost 14.26p, import 14.26p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 09:35:02.287342: Today's energy total net 7.7kWh, import 7.7kWh, export 0.0kWh, cost 252.1p, import 202.12p, export 0.0p, carbon 0.0kg
2026-08-15 09:35:02.287509: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 09:35:02.360453: Using weighted-bucket historical load forecast over 14 days
2026-08-15 09:35:02.385107: Today's load divergence 106.55%, in-day adjustment 128.78%, damping 0.95x, yesterday 143.77% today 106.22% blend 60.07%
2026-08-15 09:35:02.385218: Today's predicted so far 5.38kWh with 0.0kWh car/iBoost excluded, 3.18kWh import ignored, and 5.38kWh forecast extra.
2026-08-15 09:35:02.385270: Today's actual load so far 6.46kWh with 0.0kWh car/iBoost excluded, and 3.18kWh import ignored.
2026-08-15 09:35:02.418049: Inverter 0: Type SK Sunsynk
2026-08-15 09:35:02.418140: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 09:35:02.418329: Reserve min: 7%, battery_min: 7%
2026-08-15 09:35:02.418407: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 09:35:02.418701: Inverter 0 SoC: 1.86kW 12%, current charge rate 5000W, current discharge rate 5250W, current battery power 367W, current battery voltage 51.2V, grid power -54W, load power 428W, PV Power 0W
2026-08-15 09:35:02.418875: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 09:35:02.418965: Inverter 0 scheduled charge enable is False
2026-08-15 09:35:02.418995: Inverter 0 charge windows currently []
2026-08-15 09:35:02.419021: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 09:35:02.419132: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 09:35:02.419167: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 09:35:02.419202: Inverter 0 scheduled discharge enable is False
2026-08-15 09:35:02.419328: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 09:35:02.419364: Inverter 0 discharge windows currently []
2026-08-15 09:35:02.419387: Note: Inverter does not support discharge freeze - disabled
2026-08-15 09:35:02.419405: Note: Inverter does not support charge freeze - disabled
2026-08-15 09:35:02.419423: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 09:35:02.473954: Dynamic load last period 0.00kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 09:35:02.474101: Plan was last updated on 2026-08-15 09:25:00+01:00 and is now 10.0 minutes old
2026-08-15 09:35:02.474345: Best charge window [ 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 00:30:00 @ 28.84p 100% ]
2026-08-15 09:35:02.474385: Best export window [  ]
2026-08-15 09:35:02.475038: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 09:35:02.477519: Load divergence over 8.0 hours mean 640.69W, min 294.0W, max 1564.2W, std dev 322.7W, divergence 25.18%
2026-08-15 09:35:02.492777: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 09:35:02.492873: LoadML is_calculating False
2026-08-15 09:35:02.492930: Creating pool of 12 processes to match your CPU count
2026-08-15 09:35:02.594635: predict base end_record 08-16 11:40:00, final soc 1.12kWh, metric 796.66p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 10:25:00, load 26.55kWh, PV 0.0kWh
2026-08-15 09:35:02.716829: Battery has 0.83 hours left - now at 1.86kWh
2026-08-15 09:35:02.769615: predict base10 end_record 08-16 11:40:00, final soc 1.12kWh, metric 820.84p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 10:25:00, load 27.51kWh, PV 0.0kWh
2026-08-15 09:35:02.843697: predict best10 end_record 08-16 11:40:00, final soc 1.77kWh, metric 663.63p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 10:25:00, load 27.51kWh, PV 0.0kWh
2026-08-15 09:35:02.917242: predict best end_record 08-16 11:40:00, final soc 1.9kWh, metric 646.22p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 10:25:00, load 26.55kWh, PV 0.0kWh
2026-08-15 09:35:02.917331: Saving plan best values to HA entities
2026-08-15 09:35:03.072247: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 09:35:03.078881: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 09:35:03.085852: Best charging limit SoC's [16.0, 3.5, 4.0, 16.0, 16.0, 16.0]kWh, export []kWh gives import battery 21.23kWh, house 1.29kWh, export 0.0kWh, metric 646.22p, metric10 663.63p
2026-08-15 09:35:03.163437: Marginal costs baseline metric (no standing charge): 596.2329
2026-08-15 09:35:03.381593: Marginal energy costs matrix computed: min=14.99 max=32.52
2026-08-15 09:35:03.456053: Rate array import [{'start': 575, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 23.6p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1860, 'rate': 'expensive', 'range': '(24.6p - 32.9p)'}, {'start': 1860, 'end': 1890, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 1890, 'end': 1920, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 1920, 'end': 2140, 'rate': 'cheap', 'range': '(15.5p - 23.6p)'}] export [{'start': 575, 'end': 2140, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 09:35:03.456593: - Your estimated bill for today is £5.77 and tomorrow is £5.34
2026-08-15 09:35:03.456632: - Import rates are cheap (13.8p - 23.6p) for the next 6 and a half hours and then expensive (33.1p) for the next 1 hour.
2026-08-15 09:35:03.456650: - The battery is currently at 12% and is in eco mode for the next 1  hours.
2026-08-15 09:35:03.456665: - For the next 48 hours there will be no solar generation.
2026-08-15 09:35:03.456679: - You will run out of battery in 50 minutes.
2026-08-15 09:35:03.456694: - Your next charge slot will be in 1  hours where import rates will be cheap (15.5p).
2026-08-15 09:35:03.456708: 
2026-08-15 09:35:03.511657: Plan calculation took 1.04 seconds
2026-08-15 09:35:03.515158: No high rate period found
2026-08-15 09:35:03.564592: Import threshold used for optimisation was 22.48p
2026-08-15 09:35:03.624039: Low import rate windows [0: 08-15 09:30:00 - 08-15 10:00:00 @ 23.64, 1: 08-15 10:00:00 - 08-15 10:30:00 @ 19.66, 2: 08-15 10:30:00 - 08-15 11:00:00 @ 17.66, 3: 08-15 11:00:00 - 08-15 11:30:00 @ 16.56, 4: 08-15 11:30:00 - 08-15 12:00:00 @ 15.46, 5: 08-15 12:00:00 - 08-15 12:30:00 @ 17.0, 6: 08-15 12:30:00 - 08-15 13:00:00 @ 16.34, 7: 08-15 13:00:00 - 08-15 13:30:00 @ 15.36, 8: 08-15 13:30:00 - 08-15 14:00:00 @ 15.74, 9: 08-15 14:00:00 - 08-15 14:30:00 @ 14.57, 10: 08-15 14:30:00 - 08-15 15:00:00 @ 13.77, 11: 08-15 15:00:00 - 08-15 15:30:00 @ 15.02, 12: 08-15 15:30:00 - 08-15 16:00:00 @ 15.87, 13: 08-15 16:00:00 - 08-15 16:30:00 @ 33.13, 14: 08-15 16:30:00 - 08-15 17:00:00 @ 33.13, 15: 08-15 17:00:00 - 08-15 17:30:00 @ 38.46, 16: 08-15 17:30:00 - 08-15 18:00:00 @ 40.44, 17: 08-15 18:00:00 - 08-15 18:30:00 @ 41.55, 18: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 19: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 20: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 21: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 22: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 23: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 24: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 25: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 26: 08-15 23:00:00 - 08-15 23:30:00 @ 27.8, 27: 08-15 23:30:00 - 08-16 00:00:00 @ 29.09, 28: 08-16 00:00:00 - 08-16 00:30:00 @ 28.47, 29: 08-16 00:30:00 - 08-16 01:00:00 @ 27.18, 30: 08-16 01:00:00 - 08-16 01:30:00 @ 27.57, 31: 08-16 01:30:00 - 08-16 02:00:00 @ 26.5, 32: 08-16 02:00:00 - 08-16 02:30:00 @ 25.6, 33: 08-16 02:30:00 - 08-16 03:00:00 @ 24.79, 34: 08-16 03:00:00 - 08-16 03:30:00 @ 25.08, 35: 08-16 03:30:00 - 08-16 04:00:00 @ 24.62, 36: 08-16 04:00:00 - 08-16 04:30:00 @ 27.02, 37: 08-16 04:30:00 - 08-16 05:00:00 @ 26.47, 38: 08-16 05:00:00 - 08-16 05:30:00 @ 26.25, 39: 08-16 05:30:00 - 08-16 06:00:00 @ 26.4, 40: 08-16 06:00:00 - 08-16 06:30:00 @ 25.7, 41: 08-16 06:30:00 - 08-16 07:00:00 @ 27.63, 42: 08-16 07:00:00 - 08-16 07:30:00 @ 22.73, 43: 08-16 07:30:00 - 08-16 08:00:00 @ 26.7, 44: 08-16 08:00:00 - 08-16 08:30:00 @ 22.92, 45: 08-16 08:30:00 - 08-16 09:00:00 @ 22.48, 46: 08-16 09:00:00 - 08-16 09:30:00 @ 23.55, 47: 08-16 09:30:00 - 08-16 10:00:00 @ 23.64, 48: 08-16 10:00:00 - 08-16 10:30:00 @ 19.66, 49: 08-16 10:30:00 - 08-16 11:00:00 @ 17.66, 50: 08-16 11:00:00 - 08-16 11:30:00 @ 16.56, 51: 08-16 11:30:00 - 08-16 12:00:00 @ 15.46, 52: 08-16 12:00:00 - 08-16 12:30:00 @ 17.0, 53: 08-16 12:30:00 - 08-16 13:00:00 @ 16.34, 54: 08-16 13:00:00 - 08-16 13:30:00 @ 15.36, 55: 08-16 13:30:00 - 08-16 14:00:00 @ 15.74, 56: 08-16 14:00:00 - 08-16 14:30:00 @ 14.57, 57: 08-16 14:30:00 - 08-16 15:00:00 @ 13.77, 58: 08-16 15:00:00 - 08-16 15:30:00 @ 15.02, 59: 08-16 15:30:00 - 08-16 16:00:00 @ 15.87, 60: 08-16 16:00:00 - 08-16 16:30:00 @ 33.13, 61: 08-16 16:30:00 - 08-16 17:00:00 @ 33.13, 62: 08-16 17:00:00 - 08-16 17:30:00 @ 38.46, 63: 08-16 17:30:00 - 08-16 18:00:00 @ 40.44, 64: 08-16 18:00:00 - 08-16 18:30:00 @ 41.55, 65: 08-16 19:00:00 - 08-16 19:30:00 @ 32.58, 66: 08-16 19:30:00 - 08-16 20:00:00 @ 32.9, 67: 08-16 20:00:00 - 08-16 20:30:00 @ 31.99, 68: 08-16 20:30:00 - 08-16 21:00:00 @ 32.1, 69: 08-16 21:00:00 - 08-16 21:30:00 @ 31.71, 70: 08-16 21:30:00 - 08-16 22:00:00 @ 31.67, 71: 08-16 22:00:00 - 08-16 22:30:00 @ 31.77, 72: 08-16 22:30:00 - 08-16 23:00:00 @ 29.81, 73: 08-16 23:00:00 - 08-16 23:30:00 @ 27.8, 74: 08-16 23:30:00 - 08-17 00:00:00 @ 29.09, 75: 08-17 00:00:00 - 08-17 00:30:00 @ 28.47, 76: 08-17 00:30:00 - 08-17 01:00:00 @ 27.18, 77: 08-17 01:00:00 - 08-17 01:30:00 @ 27.57, 78: 08-17 01:30:00 - 08-17 02:00:00 @ 26.5, 79: 08-17 02:00:00 - 08-17 02:30:00 @ 25.6, 80: 08-17 02:30:00 - 08-17 03:00:00 @ 24.79, 81: 08-17 03:00:00 - 08-17 03:30:00 @ 25.08, 82: 08-17 03:30:00 - 08-17 04:00:00 @ 24.62, 83: 08-17 04:00:00 - 08-17 04:30:00 @ 27.02, 84: 08-17 04:30:00 - 08-17 05:00:00 @ 26.47, 85: 08-17 05:00:00 - 08-17 05:30:00 @ 26.25, 86: 08-17 05:30:00 - 08-17 06:00:00 @ 26.4, 87: 08-17 06:00:00 - 08-17 06:30:00 @ 25.7, 88: 08-17 06:30:00 - 08-17 07:00:00 @ 27.63, 89: 08-17 07:00:00 - 08-17 07:30:00 @ 22.73, 90: 08-17 07:30:00 - 08-17 08:00:00 @ 26.7, 91: 08-17 08:00:00 - 08-17 08:30:00 @ 22.92, 92: 08-17 08:30:00 - 08-17 09:00:00 @ 22.48, 93: 08-17 09:00:00 - 08-17 09:30:00 @ 23.55, 94: 08-17 09:30:00 - 08-17 10:00:00 @ 23.64]
2026-08-15 09:35:03.632214: Inverter 0 Charge window will be: 2026-08-15 11:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 12%, target 100%
2026-08-15 09:35:03.632359: Inverter 0 disabled charge window while waiting for schedule (now 08-15 09:35:00 target set_window_minutes 30 charge start time 08-15 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 09:35:03.632473: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 09:35:03.632751: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 09:35:03.632847: No export window planned
2026-08-15 09:35:03.633024: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 09:35:03.633070: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 09:35:03.633217: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 09:35:03.633400: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 09:35:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 09:35:03.633463: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 09:35:03.633526: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 09:35:03.633630: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 09:35:03.633678: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 09:35:03.633707: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 09:35:03.633756: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 09:35:03.633782: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 09:35:03.633806: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 09:35:03.633831: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 09:35:03.633921: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 09:35:03.633953: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 09:35:03.633984: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 09:35:03.634008: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 09:35:03.634031: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 09:35:03.634059: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 09:35:03.634082: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 09:35:03.634103: Inverter 0 count register writes 0
2026-08-15 09:35:03.650640: Will recompute the plan as it is now 10.0 minutes old and will exceed the max age of 10 minutes before the next run
2026-08-15 09:35:03.650860: Recompute is saving previous plan...
2026-08-15 09:35:03.654079: Best charge window [ 15-08 09:30:00 - 15-08 10:00:00 @ 23.64p 0%, 15-08 10:00:00 - 15-08 10:30:00 @ 19.66p 0%, 15-08 10:30:00 - 15-08 11:00:00 @ 17.66p 0%, 15-08 11:00:00 - 15-08 11:30:00 @ 16.56p 0%, 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 0%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 0%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 0%, 15-08 13:00:00 - 15-08 13:30:00 @ 15.36p 0%, 15-08 13:30:00 - 15-08 14:00:00 @ 15.74p 0%, 15-08 14:00:00 - 15-08 14:30:00 @ 14.57p 0%, 15-08 14:30:00 - 15-08 15:00:00 @ 13.77p 0%, 15-08 15:00:00 - 15-08 15:30:00 @ 15.02p 0%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 0%, 15-08 16:00:00 - 15-08 16:30:00 @ 33.13p 0%, 15-08 16:30:00 - 15-08 17:00:00 @ 33.13p 0%, 15-08 17:00:00 - 15-08 17:30:00 @ 38.46p 0%, 15-08 17:30:00 - 15-08 18:00:00 @ 40.44p 0%, 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 0%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 0%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 0%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 0%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 0%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 27.8p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 29.09p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.47p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.18p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 27.57p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.5p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.6p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 24.79p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 25.08p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 24.62p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 27.02p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.47p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 26.25p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.4p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.7p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 27.63p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 22.73p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 26.7p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 22.92p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 22.48p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 23.55p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 23.64p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 19.66p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 17.66p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 16.56p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 15.46p 0%, 16-08 12:00:00 - 16-08 12:30:00 @ 17.0p 0%, 16-08 12:30:00 - 16-08 13:00:00 @ 16.34p 0%, 16-08 13:00:00 - 16-08 13:30:00 @ 15.36p 0%, 16-08 13:30:00 - 16-08 14:00:00 @ 15.74p 0%, 16-08 14:00:00 - 16-08 14:30:00 @ 14.57p 0%, 16-08 14:30:00 - 16-08 15:00:00 @ 13.77p 0%, 16-08 15:00:00 - 16-08 15:30:00 @ 15.02p 0%, 16-08 15:30:00 - 16-08 16:00:00 @ 15.87p 0%, 16-08 16:00:00 - 16-08 16:30:00 @ 33.13p 0%, 16-08 16:30:00 - 16-08 17:00:00 @ 33.13p 0%, 16-08 17:00:00 - 16-08 17:30:00 @ 38.46p 0%, 16-08 17:30:00 - 16-08 18:00:00 @ 40.44p 0%, 16-08 18:00:00 - 16-08 18:30:00 @ 41.55p 0%, 16-08 19:00:00 - 16-08 19:30:00 @ 32.58p 0%, 16-08 19:30:00 - 16-08 20:00:00 @ 32.9p 0%, 16-08 20:00:00 - 16-08 20:30:00 @ 31.99p 0%, 16-08 20:30:00 - 16-08 21:00:00 @ 32.1p 0%, 16-08 21:00:00 - 16-08 21:30:00 @ 31.71p 0%, 16-08 21:30:00 - 16-08 22:00:00 @ 31.67p 0%, 16-08 22:00:00 - 16-08 22:30:00 @ 31.77p 0%, 16-08 22:30:00 - 16-08 23:00:00 @ 29.81p 0%, 16-08 23:00:00 - 16-08 23:30:00 @ 27.8p 0%, 16-08 23:30:00 - 17-08 00:00:00 @ 29.09p 0%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.47p 0%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.18p 0%, 17-08 01:00:00 - 17-08 01:30:00 @ 27.57p 0%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.5p 0%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.6p 0%, 17-08 02:30:00 - 17-08 03:00:00 @ 24.79p 0%, 17-08 03:00:00 - 17-08 03:30:00 @ 25.08p 0%, 17-08 03:30:00 - 17-08 04:00:00 @ 24.62p 0%, 17-08 04:00:00 - 17-08 04:30:00 @ 27.02p 0%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.47p 0%, 17-08 05:00:00 - 17-08 05:30:00 @ 26.25p 0%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.4p 0%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.7p 0%, 17-08 06:30:00 - 17-08 07:00:00 @ 27.63p 0%, 17-08 07:00:00 - 17-08 07:30:00 @ 22.73p 0%, 17-08 07:30:00 - 17-08 08:00:00 @ 26.7p 0%, 17-08 08:00:00 - 17-08 08:30:00 @ 22.92p 0%, 17-08 08:30:00 - 17-08 09:00:00 @ 22.48p 0%, 17-08 09:00:00 - 17-08 09:30:00 @ 23.55p 0%, 17-08 09:30:00 - 17-08 10:00:00 @ 23.64p 0% ]
2026-08-15 09:35:03.654165: Best export window [  ]
2026-08-15 09:35:03.654982: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 09:35:03.658104: Load divergence over 8.0 hours mean 640.69W, min 294.0W, max 1564.2W, std dev 322.7W, divergence 25.18%
2026-08-15 09:35:03.676192: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 09:35:03.676320: LoadML is_calculating False
2026-08-15 09:35:03.676392: Creating pool of 12 processes to match your CPU count
2026-08-15 09:35:03.758287: Calculate Best options: mode(Control charge & discharge), calculate_export_oncharge(False), calculate_export_on_pv(True), set_export_freeze_only(False), set_discharge_during_charge(True), combine_charge_slots(False), combine_export_slots(False), combine_rate_threshold(0.0), best_soc_min(0.0 kWh), best_soc_max(0.0 kWh), best_soc_keep(0.0 kWh), inverter_loss(4%), battery_loss(3%), battery_loss_discharge (3%), inverter_hybrid(True), metric_min_improvement(0.0p), metric_min_improvement_export(0.1p), metric_min_improvement_export_freeze(0.1p), metric_battery_cycle(0.0p/kWh), metric_battery_value_scaling(1.0 x) 
2026-08-15 09:35:03.759934: Optimise levels pass started at 2026-08-15 09:35:03
2026-08-15 09:35:03.759982: Optimise all windows, total charge 94 export 1
2026-08-15 09:35:04.607163: >> Region optimisation pass width 960 gives best_metric 821.99p, best_cost 845.53p, best_cycle 57.99kWh, best_import 39.05kWh
2026-08-15 09:35:05.022270: >> Region optimisation pass width 480 gives best_metric 821.99p, best_cost 845.53p, best_cycle 57.99kWh, best_import 39.05kWh
2026-08-15 09:35:05.595572: >> Region optimisation pass width 240 gives best_metric 821.99p, best_cost 845.53p, best_cycle 57.99kWh, best_import 39.05kWh
2026-08-15 09:35:06.839572: >> Region optimisation pass width 120 gives best_metric 821.99p, best_cost 845.53p, best_cycle 57.99kWh, best_import 39.05kWh
2026-08-15 09:35:06.839979: Calculated end_record as 08-16 11:30:00 based on best_price 16.34p, next_charge_start 08-15 11:30:00, max_windows 51
2026-08-15 09:35:06.840066: Optimise levels pass ended at 2026-08-15 09:35:06, duration 3.1 seconds tried 347 combinations
2026-08-15 09:35:06.840133: Set best_price_charge_level 17.6p, best_price_export_level 0p, best_price_charge 16.34p, best_cost_export 0p, best_metric 821.99p, best_keep 0kWh, best_cycle 57.99kWh, best_carbon 0kg, best_import 39.05kWh
2026-08-15 09:35:06.861857: Starting detailed optimisation end_record 08-16 11:30:00, best_price_charge 16.34p, best_price_export 0p. lowest_price_charge 13.77p with charge limits [0, 0, 0, 0, 15.75, 0, 15.75, 15.75, 15.75, 15.75, 15.75, 15.75, 15.75, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0]kWh and export limits []kWh
2026-08-15 09:35:11.534359: Tweak plan optimisation started metric 569.8p, cost 580.07p
2026-08-15 09:35:11.818452: Tweak optimisation finished metric 569.8p, cost 580.07p, metric_keep 0kWh, cycle 29.99kWh, carbon 0kg, import 21.46kWh, changed 8 window(s)
2026-08-15 09:35:11.838077: Swap charge optimisation started metric 569.8p, cost 580.07p, min_improvement_swap 0.1p
2026-08-15 09:35:15.007878: Swap charge optimisation finished metric 569.8p, cost 580.07p
2026-08-15 09:35:15.115837: Raw charge windows [ 15-08 09:30:00 - 15-08 10:00:00 @ 23.64p 0%, 15-08 10:00:00 - 15-08 10:30:00 @ 19.66p 0%, 15-08 10:30:00 - 15-08 11:00:00 @ 17.66p 0%, 15-08 11:00:00 - 15-08 11:30:00 @ 16.56p 0%, 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 13:30:00 @ 15.36p 100%, 15-08 13:30:00 - 15-08 14:00:00 @ 15.74p 100%, 15-08 14:00:00 - 15-08 14:30:00 @ 14.57p 98%, 15-08 14:30:00 - 15-08 15:00:00 @ 13.77p 98%, 15-08 15:00:00 - 15-08 15:30:00 @ 15.02p 98%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 98%, 15-08 16:00:00 - 15-08 16:30:00 @ 33.13p 0%, 15-08 16:30:00 - 15-08 17:00:00 @ 33.13p 0%, 15-08 17:00:00 - 15-08 17:30:00 @ 38.46p 0%, 15-08 17:30:00 - 15-08 18:00:00 @ 40.44p 0%, 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 0%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 0%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 0%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 0%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 0%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 27.8p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 29.09p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.47p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.18p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 27.57p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.5p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.6p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 24.79p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 25.08p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 24.62p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 27.02p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.47p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 26.25p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.4p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.7p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 27.63p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 22.73p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 26.7p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 22.92p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 22.48p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 23.55p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 23.64p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 19.66p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 17.66p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 16.56p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 15.46p 100%, 16-08 12:00:00 - 16-08 12:30:00 @ 17.0p 100%, 16-08 12:30:00 - 16-08 13:00:00 @ 16.34p 100%, 16-08 13:00:00 - 16-08 13:30:00 @ 15.36p 100%, 16-08 13:30:00 - 16-08 14:00:00 @ 15.74p 100%, 16-08 14:00:00 - 16-08 14:30:00 @ 14.57p 100%, 16-08 14:30:00 - 16-08 15:00:00 @ 13.77p 100%, 16-08 15:00:00 - 16-08 15:30:00 @ 15.02p 100%, 16-08 15:30:00 - 16-08 16:00:00 @ 15.87p 100%, 16-08 16:00:00 - 16-08 16:30:00 @ 33.13p 100%, 16-08 16:30:00 - 16-08 17:00:00 @ 33.13p 100%, 16-08 17:00:00 - 16-08 17:30:00 @ 38.46p 100%, 16-08 17:30:00 - 16-08 18:00:00 @ 40.44p 100%, 16-08 18:00:00 - 16-08 18:30:00 @ 41.55p 100%, 16-08 19:00:00 - 16-08 19:30:00 @ 32.58p 100%, 16-08 19:30:00 - 16-08 20:00:00 @ 32.9p 100%, 16-08 20:00:00 - 16-08 20:30:00 @ 31.99p 100%, 16-08 20:30:00 - 16-08 21:00:00 @ 32.1p 100%, 16-08 21:00:00 - 16-08 21:30:00 @ 31.71p 100%, 16-08 21:30:00 - 16-08 22:00:00 @ 31.67p 100%, 16-08 22:00:00 - 16-08 22:30:00 @ 31.77p 100%, 16-08 22:30:00 - 16-08 23:00:00 @ 29.81p 100%, 16-08 23:00:00 - 16-08 23:30:00 @ 27.8p 100%, 16-08 23:30:00 - 17-08 00:00:00 @ 29.09p 100%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.47p 100%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.18p 100%, 17-08 01:00:00 - 17-08 01:30:00 @ 27.57p 100%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.5p 100%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.6p 100%, 17-08 02:30:00 - 17-08 03:00:00 @ 24.79p 100%, 17-08 03:00:00 - 17-08 03:30:00 @ 25.08p 100%, 17-08 03:30:00 - 17-08 04:00:00 @ 24.62p 100%, 17-08 04:00:00 - 17-08 04:30:00 @ 27.02p 100%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.47p 100%, 17-08 05:00:00 - 17-08 05:30:00 @ 26.25p 100%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.4p 100%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.7p 100%, 17-08 06:30:00 - 17-08 07:00:00 @ 27.63p 100%, 17-08 07:00:00 - 17-08 07:30:00 @ 22.73p 100%, 17-08 07:30:00 - 17-08 08:00:00 @ 26.7p 100%, 17-08 08:00:00 - 17-08 08:30:00 @ 22.92p 100%, 17-08 08:30:00 - 17-08 09:00:00 @ 22.48p 100%, 17-08 09:00:00 - 17-08 09:30:00 @ 23.55p 100%, 17-08 09:30:00 - 17-08 10:00:00 @ 23.64p 100% ] reserve 1.12
2026-08-15 09:35:15.116529: Unclipped charge windows [ 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 14:00:00 @ 15.55p 100%, 15-08 14:00:00 - 15-08 16:00:00 @ 15.23p 98%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 10:00:00 @ 23.56p 100% ] reserve 1.12
2026-08-15 09:35:15.116881: Unfiltered charge windows [ 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 14:00:00 @ 15.55p 100%, 15-08 14:00:00 - 15-08 16:00:00 @ 15.23p 98%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 10:00:00 @ 23.56p 100% ] reserve 1.12
2026-08-15 09:35:15.117247: Filtered charge windows [ 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 14:00:00 @ 15.55p 100%, 15-08 14:00:00 - 15-08 16:00:00 @ 15.23p 98%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 10:00:00 @ 23.56p 100% ] reserve 1.12
2026-08-15 09:35:15.156632: Previous plan best metric is 570.14 (cost 580.47) and new plan best metric is 569.8 (cost 580.07)
2026-08-15 09:35:15.156935: New plan is a cost-neutral improvement but less fragmented (3 vs 4 segments), using new plan
2026-08-15 09:35:15.157025: Plan valid is now true after recompute was False
2026-08-15 09:35:15.186752: predict base end_record 08-16 11:30:00, final soc 1.12kWh, metric 793.78p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 10:25:00, load 26.36kWh, PV 0.0kWh
2026-08-15 09:35:15.306772: Battery has 0.83 hours left - now at 1.86kWh
2026-08-15 09:35:15.352384: predict base10 end_record 08-16 11:30:00, final soc 1.12kWh, metric 817.82p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 10:25:00, load 27.31kWh, PV 0.0kWh
2026-08-15 09:35:15.437838: predict best10 end_record 08-16 11:30:00, final soc 1.12kWh, metric 649.88p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 10:25:00, load 27.31kWh, PV 0.0kWh
2026-08-15 09:35:15.511208: predict best end_record 08-16 11:30:00, final soc 1.12kWh, metric 630.05p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 10:25:00, load 26.36kWh, PV 0.0kWh
2026-08-15 09:35:15.511293: Saving plan best values to HA entities
2026-08-15 09:35:15.663285: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 09:35:15.668086: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 09:35:15.672698: Best charging limit SoC's [16.0, 3.5, 4.0, 16.0, 15.75, 16.0, 16.0]kWh, export []kWh gives import battery 19.94kWh, house 1.52kWh, export 0.0kWh, metric 630.05p, metric10 649.88p
2026-08-15 09:35:15.742267: Marginal costs baseline metric (no standing charge): 580.0688
2026-08-15 09:35:15.967340: Marginal energy costs matrix computed: min=14.99 max=32.77
2026-08-15 09:35:16.049774: Rate array import [{'start': 575, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 23.6p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1860, 'rate': 'expensive', 'range': '(24.6p - 32.9p)'}, {'start': 1860, 'end': 1890, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 1890, 'end': 1920, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 1920, 'end': 2130, 'rate': 'cheap', 'range': '(16.6p - 23.6p)'}] export [{'start': 575, 'end': 2130, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 09:35:16.050839: - Your estimated bill for today is £5.73 and tomorrow is £5.38
2026-08-15 09:35:16.050916: - Import rates are cheap (13.8p - 23.6p) for the next 6 and a half hours and then expensive (33.1p) for the next 1 hour.
2026-08-15 09:35:16.050962: - The battery is currently at 12% and is in eco mode for the next 1  hours.
2026-08-15 09:35:16.051006: - For the next 48 hours there will be no solar generation.
2026-08-15 09:35:16.051041: - You will run out of battery in 50 minutes.
2026-08-15 09:35:16.051087: - Your next charge slot will be in 1  hours where import rates will be cheap (15.5p).
2026-08-15 09:35:16.051129: 
2026-08-15 09:35:16.110327: Plan calculation took 12.46 seconds
2026-08-15 09:35:16.110965: Inverter 0: Type SK Sunsynk
2026-08-15 09:35:16.111038: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 09:35:16.111317: Reserve min: 7%, battery_min: 7%
2026-08-15 09:35:16.111439: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 09:35:16.111913: Inverter 0 SoC: 1.86kW 12%, current charge rate 5000W, current discharge rate 5250W, current battery power 367W, current battery voltage 51.2V, grid power -54W, load power 428W, PV Power 0W
2026-08-15 09:35:16.112263: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 09:35:16.112420: Inverter 0 scheduled charge enable is False
2026-08-15 09:35:16.112492: Inverter 0 charge windows currently []
2026-08-15 09:35:16.112592: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 09:35:16.112821: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 09:35:16.112872: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 09:35:16.112920: Inverter 0 scheduled discharge enable is False
2026-08-15 09:35:16.113150: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 09:35:16.113203: Inverter 0 discharge windows currently []
2026-08-15 09:35:16.113232: Note: Inverter does not support discharge freeze - disabled
2026-08-15 09:35:16.113259: Note: Inverter does not support charge freeze - disabled
2026-08-15 09:35:16.113293: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 09:35:16.175295: Inverter 0 Charge window will be: 2026-08-15 11:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 12%, target 100%
2026-08-15 09:35:16.175436: Inverter 0 disabled charge window while waiting for schedule (now 08-15 09:35:00 target set_window_minutes 30 charge start time 08-15 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 09:35:16.175500: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 09:35:16.175660: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 09:35:16.175770: No export window planned
2026-08-15 09:35:16.175875: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 09:35:16.175906: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 09:35:16.176024: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 09:35:16.176159: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 09:35:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 09:35:16.176206: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 09:35:16.176251: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 09:35:16.176330: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 09:35:16.176381: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 09:35:16.176437: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 09:35:16.176470: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 09:35:16.176493: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 09:35:16.176513: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 09:35:16.176543: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 09:35:16.176600: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 09:35:16.176629: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 09:35:16.176650: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 09:35:16.176673: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 09:35:16.176693: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 09:35:16.176725: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 09:35:16.176748: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 09:35:16.176774: Inverter 0 count register writes 0
2026-08-15 09:35:16.200600: Total inverter register writes now 815
2026-08-15 09:35:16.236185: Info: Completed run status Demand
2026-08-15 09:35:16.243322: Info: record_status Demand
2026-08-15 09:35:16.257285: Saved current settings to /config/predbat_config.json
2026-08-15 09:35:16.257706: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 09:35:57.372270: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 09:35:57.372508: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 09:35:57.372575: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 09:35:57.372783: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 09:35:57.372826: Note: Inverter does not support discharge freeze - disabled
2026-08-15 09:35:57.372849: Note: Inverter does not support charge freeze - disabled
2026-08-15 09:35:57.372866: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 09:38:11.625272: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 09:38:11.625496: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 09:38:11.625526: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 09:38:11.625632: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 09:38:11.625696: Note: Inverter does not support discharge freeze - disabled
2026-08-15 09:38:11.625713: Note: Inverter does not support charge freeze - disabled
2026-08-15 09:38:11.625727: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 09:40:00.830082: --------------- PredBat - update at 2026-08-15 09:40:00+01:00 with clock skew 0 minutes, minutes now 580
2026-08-15 09:40:00.830963: Saved current settings to /config/predbat_config.json
2026-08-15 09:40:00.831124: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 90.0 minutes
2026-08-15 09:40:00.831275: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.1, latest beta is v8.48.1
2026-08-15 09:40:00.831399: Autoupdate: Currently up to date
2026-08-15 09:40:00.850343: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 09:40:00.850543: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 09:40:00.850751: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 09:40:00.851337: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 09:40:00.851509: Predbat mode is set to Control charge & discharge
2026-08-15 09:40:01.031951: Found 21602 load_today datapoints going back 28 days
2026-08-15 09:40:01.032082: Using load_power data to fill gaps in load_today data
2026-08-15 09:40:01.749352: Processing 721 30-minute periods for power integration
2026-08-15 09:40:01.900647: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 09:40:01.900787: Car charging hold False, threshold 6.0kWh
2026-08-15 09:40:01.900826: Current data so far today: load 6.43kWh, import 7.7kWh, export 0.0kWh, PV 0kWh
2026-08-15 09:40:01.912791: Cars: SoC: [12.892000000000001]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 09:40:01.913191: Standing charge is set to 49.98p
2026-08-15 09:40:01.941256: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 09:40:01.941360: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 09:40:01.941565: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 10.0 minutes
2026-08-15 09:40:01.941961: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 10.0 minutes
2026-08-15 09:40:01.944916: Loaded 47 datapoints of futurerate analysis
2026-08-15 09:40:02.031043: Predicted future rates: ['08-15 00:00:00 => 28.9 / 20.01', '08-15 01:00:00 => 27.54 / 19.31', '08-15 02:00:00 => 26.52 / 18.8', '08-15 03:00:00 => 25.99 / 18.53', '08-15 04:00:00 => 25.8 / 18.43', '08-15 05:00:00 => 25.96 / 18.51', '08-15 06:00:00 => 25.55 / 18.3', '08-15 07:00:00 => 24.33 / 17.68', '08-15 08:00:00 => 23.03 / 17.01', '08-15 09:00:00 => 22.05 / 16.51', '08-15 10:00:00 => 20.43 / 15.68', '08-15 11:00:00 => 18.01 / 14.45', '08-15 12:00:00 => 16.37 / 13.61', '08-15 13:00:00 => 15.76 / 13.3', '08-15 14:00:00 => 15.35 / 13.09', '08-15 15:00:00 => 15.86 / 13.35', '08-15 16:00:00 => 32.89 / 16.13', '08-15 17:00:00 => 38.02 / 18.75', '08-15 18:00:00 => 42.36 / 20.96', '08-15 19:00:00 => 31.09 / 21.13', '08-15 20:00:00 => 31.64 / 21.41', '08-15 21:00:00 => 31.64 / 21.41', '08-15 22:00:00 => 30.58 / 20.87']
2026-08-15 09:40:02.095831: Rate min forward looking: now 13.77p at end of forecast 13.77p
2026-08-15 09:40:02.096306: Import rates: min 13.77p, max 43.82p, average 25.96p
2026-08-15 09:40:02.141029: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 09:40:02.141162: Rate thresholds (for charge/export) are import 43.32p (0.0p), export -0.1p (0.0p)
2026-08-15 09:40:02.142477: High export rate found rates in range 99p to -99p
2026-08-15 09:40:02.232698: Low Import rate found rates in range 13.77p to 41.55p
2026-08-15 09:40:02.232851: Car 0 charging is not planned as it is not plugged in
2026-08-15 09:40:02.245681: Battery level now 1.86kWh, -1hr ago 1.44kWh, at midnight 1.66kWh, battery value change in the last hour 4.92p, change today 2.37p, rate_forward 11.83p
2026-08-15 09:40:02.246192: Last hour: net energy 0.59kWh, import 0.59kWh, export 0.0kWh, car 0kWh, load 0.35kWh, net cost 13.58p, import 13.58p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 09:40:02.307355: Today's energy total net 7.7kWh, import 7.7kWh, export 0.0kWh, cost 252.1p, import 202.12p, export 0.0p, carbon 0.0kg
2026-08-15 09:40:02.307494: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 09:40:02.389669: Using weighted-bucket historical load forecast over 14 days
2026-08-15 09:40:02.416186: Today's load divergence 106.93%, in-day adjustment 128.79%, damping 0.95x, yesterday 143.77% today 106.59% blend 59.72%
2026-08-15 09:40:02.416278: Today's predicted so far 5.37kWh with 0.0kWh car/iBoost excluded, 3.22kWh import ignored, and 5.37kWh forecast extra.
2026-08-15 09:40:02.416310: Today's actual load so far 6.53kWh with 0.0kWh car/iBoost excluded, and 3.22kWh import ignored.
2026-08-15 09:40:02.463824: Inverter 0: Type SK Sunsynk
2026-08-15 09:40:02.463920: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 09:40:02.464163: Reserve min: 7%, battery_min: 7%
2026-08-15 09:40:02.464264: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 09:40:02.464582: Inverter 0 SoC: 1.86kW 12%, current charge rate 5000W, current discharge rate 5250W, current battery power 273W, current battery voltage 51.2V, grid power -54W, load power 335W, PV Power 0W
2026-08-15 09:40:02.464816: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 09:40:02.464941: Inverter 0 scheduled charge enable is False
2026-08-15 09:40:02.465020: Inverter 0 charge windows currently []
2026-08-15 09:40:02.465076: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 09:40:02.465244: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 09:40:02.465301: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 09:40:02.465360: Inverter 0 scheduled discharge enable is False
2026-08-15 09:40:02.465543: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 09:40:02.465590: Inverter 0 discharge windows currently []
2026-08-15 09:40:02.465619: Note: Inverter does not support discharge freeze - disabled
2026-08-15 09:40:02.465669: Note: Inverter does not support charge freeze - disabled
2026-08-15 09:40:02.465693: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 09:40:02.530877: Dynamic load last period 0.30kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 09:40:02.531016: Plan was last updated on 2026-08-15 09:35:00+01:00 and is now 5.0 minutes old
2026-08-15 09:40:02.531391: Best charge window [ 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 14:00:00 @ 15.55p 100%, 15-08 14:00:00 - 15-08 16:00:00 @ 15.23p 98%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 10:00:00 @ 23.56p 100% ]
2026-08-15 09:40:02.531450: Best export window [  ]
2026-08-15 09:40:02.532361: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 09:40:02.535790: Load divergence over 8.0 hours mean 639.15W, min 291.6W, max 1657.2W, std dev 323.66W, divergence 25.32%
2026-08-15 09:40:02.554966: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 09:40:02.555102: LoadML is_calculating False
2026-08-15 09:40:02.555196: Creating pool of 12 processes to match your CPU count
2026-08-15 09:40:02.683093: predict base end_record 08-16 11:35:00, final soc 1.12kWh, metric 795.24p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 10:30:00, load 26.57kWh, PV 0.0kWh
2026-08-15 09:40:02.814087: Battery has 0.83 hours left - now at 1.86kWh
2026-08-15 09:40:02.854286: predict base10 end_record 08-16 11:35:00, final soc 1.12kWh, metric 819.33p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 10:25:00, load 27.52kWh, PV 0.0kWh
2026-08-15 09:40:02.950136: predict best10 end_record 08-16 11:35:00, final soc 1.44kWh, metric 656.61p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 10:25:00, load 27.52kWh, PV 0.0kWh
2026-08-15 09:40:03.030840: predict best end_record 08-16 11:35:00, final soc 1.51kWh, metric 637.63p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 10:30:00, load 26.57kWh, PV 0.0kWh
2026-08-15 09:40:03.030941: Saving plan best values to HA entities
2026-08-15 09:40:03.209246: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 09:40:03.214941: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0.0
2026-08-15 09:40:03.220409: Best charging limit SoC's [16.0, 3.5, 4.0, 16.0, 15.75, 16.0, 16.0]kWh, export []kWh gives import battery 20.44kWh, house 1.51kWh, export 0.0kWh, metric 637.63p, metric10 656.61p
2026-08-15 09:40:03.293797: Marginal costs baseline metric (no standing charge): 587.6459
2026-08-15 09:40:03.513118: Marginal energy costs matrix computed: min=14.83 max=32.97
2026-08-15 09:40:03.576393: Rate array import [{'start': 580, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 23.6p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1860, 'rate': 'expensive', 'range': '(24.6p - 32.9p)'}, {'start': 1860, 'end': 1890, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 1890, 'end': 1920, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 1920, 'end': 2135, 'rate': 'cheap', 'range': '(15.5p - 23.6p)'}] export [{'start': 580, 'end': 2135, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 09:40:03.576932: - Your estimated bill for today is £5.72 and tomorrow is £5.40
2026-08-15 09:40:03.577003: - Import rates are cheap (13.8p - 23.6p) for the next 6 and a quarter hours and then expensive (33.1p) for the next 1 hour.
2026-08-15 09:40:03.577024: - The battery is currently at 12% and is in eco mode for the next 1 and three quarters hours.
2026-08-15 09:40:03.577039: - For the next 48 hours there will be no solar generation.
2026-08-15 09:40:03.577053: - You will run out of battery in 50 minutes.
2026-08-15 09:40:03.577071: - Your next charge slot will be in 1 and three quarters hours where import rates will be cheap (15.5p).
2026-08-15 09:40:03.577085: 
2026-08-15 09:40:03.631078: Plan calculation took 1.10 seconds
2026-08-15 09:40:03.634618: No high rate period found
2026-08-15 09:40:03.691925: Import threshold used for optimisation was 17.0p
2026-08-15 09:40:03.742305: Low import rate windows [0: 08-15 09:30:00 - 08-15 10:00:00 @ 23.64, 1: 08-15 10:00:00 - 08-15 10:30:00 @ 19.66, 2: 08-15 10:30:00 - 08-15 11:00:00 @ 17.66, 3: 08-15 11:00:00 - 08-15 11:30:00 @ 16.56, 4: 08-15 11:30:00 - 08-15 12:00:00 @ 15.46, 5: 08-15 12:00:00 - 08-15 12:30:00 @ 17.0, 6: 08-15 12:30:00 - 08-15 13:00:00 @ 16.34, 7: 08-15 13:00:00 - 08-15 13:30:00 @ 15.36, 8: 08-15 13:30:00 - 08-15 14:00:00 @ 15.74, 9: 08-15 14:00:00 - 08-15 14:30:00 @ 14.57, 10: 08-15 14:30:00 - 08-15 15:00:00 @ 13.77, 11: 08-15 15:00:00 - 08-15 15:30:00 @ 15.02, 12: 08-15 15:30:00 - 08-15 16:00:00 @ 15.87, 13: 08-15 16:00:00 - 08-15 16:30:00 @ 33.13, 14: 08-15 16:30:00 - 08-15 17:00:00 @ 33.13, 15: 08-15 17:00:00 - 08-15 17:30:00 @ 38.46, 16: 08-15 17:30:00 - 08-15 18:00:00 @ 40.44, 17: 08-15 18:00:00 - 08-15 18:30:00 @ 41.55, 18: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 19: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 20: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 21: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 22: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 23: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 24: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 25: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 26: 08-15 23:00:00 - 08-15 23:30:00 @ 27.8, 27: 08-15 23:30:00 - 08-16 00:00:00 @ 29.09, 28: 08-16 00:00:00 - 08-16 00:30:00 @ 28.47, 29: 08-16 00:30:00 - 08-16 01:00:00 @ 27.18, 30: 08-16 01:00:00 - 08-16 01:30:00 @ 27.57, 31: 08-16 01:30:00 - 08-16 02:00:00 @ 26.5, 32: 08-16 02:00:00 - 08-16 02:30:00 @ 25.6, 33: 08-16 02:30:00 - 08-16 03:00:00 @ 24.79, 34: 08-16 03:00:00 - 08-16 03:30:00 @ 25.08, 35: 08-16 03:30:00 - 08-16 04:00:00 @ 24.62, 36: 08-16 04:00:00 - 08-16 04:30:00 @ 27.02, 37: 08-16 04:30:00 - 08-16 05:00:00 @ 26.47, 38: 08-16 05:00:00 - 08-16 05:30:00 @ 26.25, 39: 08-16 05:30:00 - 08-16 06:00:00 @ 26.4, 40: 08-16 06:00:00 - 08-16 06:30:00 @ 25.7, 41: 08-16 06:30:00 - 08-16 07:00:00 @ 27.63, 42: 08-16 07:00:00 - 08-16 07:30:00 @ 22.73, 43: 08-16 07:30:00 - 08-16 08:00:00 @ 26.7, 44: 08-16 08:00:00 - 08-16 08:30:00 @ 22.92, 45: 08-16 08:30:00 - 08-16 09:00:00 @ 22.48, 46: 08-16 09:00:00 - 08-16 09:30:00 @ 23.55, 47: 08-16 09:30:00 - 08-16 10:00:00 @ 23.64, 48: 08-16 10:00:00 - 08-16 10:30:00 @ 19.66, 49: 08-16 10:30:00 - 08-16 11:00:00 @ 17.66, 50: 08-16 11:00:00 - 08-16 11:30:00 @ 16.56, 51: 08-16 11:30:00 - 08-16 12:00:00 @ 15.46, 52: 08-16 12:00:00 - 08-16 12:30:00 @ 17.0, 53: 08-16 12:30:00 - 08-16 13:00:00 @ 16.34, 54: 08-16 13:00:00 - 08-16 13:30:00 @ 15.36, 55: 08-16 13:30:00 - 08-16 14:00:00 @ 15.74, 56: 08-16 14:00:00 - 08-16 14:30:00 @ 14.57, 57: 08-16 14:30:00 - 08-16 15:00:00 @ 13.77, 58: 08-16 15:00:00 - 08-16 15:30:00 @ 15.02, 59: 08-16 15:30:00 - 08-16 16:00:00 @ 15.87, 60: 08-16 16:00:00 - 08-16 16:30:00 @ 33.13, 61: 08-16 16:30:00 - 08-16 17:00:00 @ 33.13, 62: 08-16 17:00:00 - 08-16 17:30:00 @ 38.46, 63: 08-16 17:30:00 - 08-16 18:00:00 @ 40.44, 64: 08-16 18:00:00 - 08-16 18:30:00 @ 41.55, 65: 08-16 19:00:00 - 08-16 19:30:00 @ 32.58, 66: 08-16 19:30:00 - 08-16 20:00:00 @ 32.9, 67: 08-16 20:00:00 - 08-16 20:30:00 @ 31.99, 68: 08-16 20:30:00 - 08-16 21:00:00 @ 32.1, 69: 08-16 21:00:00 - 08-16 21:30:00 @ 31.71, 70: 08-16 21:30:00 - 08-16 22:00:00 @ 31.67, 71: 08-16 22:00:00 - 08-16 22:30:00 @ 31.77, 72: 08-16 22:30:00 - 08-16 23:00:00 @ 29.81, 73: 08-16 23:00:00 - 08-16 23:30:00 @ 27.8, 74: 08-16 23:30:00 - 08-17 00:00:00 @ 29.09, 75: 08-17 00:00:00 - 08-17 00:30:00 @ 28.47, 76: 08-17 00:30:00 - 08-17 01:00:00 @ 27.18, 77: 08-17 01:00:00 - 08-17 01:30:00 @ 27.57, 78: 08-17 01:30:00 - 08-17 02:00:00 @ 26.5, 79: 08-17 02:00:00 - 08-17 02:30:00 @ 25.6, 80: 08-17 02:30:00 - 08-17 03:00:00 @ 24.79, 81: 08-17 03:00:00 - 08-17 03:30:00 @ 25.08, 82: 08-17 03:30:00 - 08-17 04:00:00 @ 24.62, 83: 08-17 04:00:00 - 08-17 04:30:00 @ 27.02, 84: 08-17 04:30:00 - 08-17 05:00:00 @ 26.47, 85: 08-17 05:00:00 - 08-17 05:30:00 @ 26.25, 86: 08-17 05:30:00 - 08-17 06:00:00 @ 26.4, 87: 08-17 06:00:00 - 08-17 06:30:00 @ 25.7, 88: 08-17 06:30:00 - 08-17 07:00:00 @ 27.63, 89: 08-17 07:00:00 - 08-17 07:30:00 @ 22.73, 90: 08-17 07:30:00 - 08-17 08:00:00 @ 26.7, 91: 08-17 08:00:00 - 08-17 08:30:00 @ 22.92, 92: 08-17 08:30:00 - 08-17 09:00:00 @ 22.48, 93: 08-17 09:00:00 - 08-17 09:30:00 @ 23.55, 94: 08-17 09:30:00 - 08-17 10:00:00 @ 23.64]
2026-08-15 09:40:03.750563: Inverter 0 Charge window will be: 2026-08-15 11:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 12%, target 100%
2026-08-15 09:40:03.750690: Inverter 0 disabled charge window while waiting for schedule (now 08-15 09:40:00 target set_window_minutes 30 charge start time 08-15 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 09:40:03.750804: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 09:40:03.751072: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 09:40:03.751162: No export window planned
2026-08-15 09:40:03.751259: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 09:40:03.751289: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 09:40:03.751402: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 09:40:03.751558: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 09:40:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 09:40:03.751612: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 09:40:03.751665: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 09:40:03.751766: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 09:40:03.751800: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 09:40:03.751828: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 09:40:03.751849: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 09:40:03.751870: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 09:40:03.751890: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 09:40:03.751910: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 09:40:03.751990: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 09:40:03.752038: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 09:40:03.752062: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 09:40:03.752094: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 09:40:03.752140: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 09:40:03.752184: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 09:40:03.752227: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 09:40:03.752268: Inverter 0 count register writes 0
2026-08-15 09:40:03.768002: Will not recompute the plan, it is 5.0 minutes old and max age is 10 minutes
2026-08-15 09:40:03.773724: Total inverter register writes now 815
2026-08-15 09:40:03.805850: Info: Completed run status Demand
2026-08-15 09:40:03.813111: Info: record_status Demand
2026-08-15 09:40:03.821051: Saved current settings to /config/predbat_config.json
2026-08-15 09:40:03.821382: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 09:40:41.925071: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 09:40:41.925319: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 09:40:41.925360: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 09:40:41.925535: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 09:40:41.925580: Note: Inverter does not support discharge freeze - disabled
2026-08-15 09:40:41.925602: Note: Inverter does not support charge freeze - disabled
2026-08-15 09:40:41.925623: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 09:42:25.152583: ML Component: Fetching 28 days of load history from ['sensor.sunsynk_day_load_energy']
2026-08-15 09:42:26.275629: Processing 1345 30-minute periods for power integration
2026-08-15 09:42:26.387728: ML Component: Car charging hold False, car energy reported load False
2026-08-15 09:42:26.489529: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 09:42:26.593123: ML Temperature data points: 49821
2026-08-15 09:42:26.885219: ML Component: Fetched 8064 load data points, 28.0 days of history
2026-08-15 09:42:26.933538: ML Component: Data fetch completed, load data age 56.0 days, 16381 data points
2026-08-15 09:42:26.935072: ML Component: No training needed, model age is 1.93 hours
2026-08-15 09:42:26.935151: ML Component: Generating predictions load data age 56.0 days, 16381 data points
2026-08-15 09:42:27.091909: ML Predictor: Starting autoregressive prediction loop for 576 steps (48.0 hours), prev_energy value 0.0272 max_dow {0: 0.10014999996256083, 1: 0.10541562554407864, 2: 0.11911562483031304, 3: 0.12494687463529408, 4: 0.17094062535744162, 5: 0.1007093750283122, 6: 0.10970937514957041}
2026-08-15 09:42:33.267586: ML Component: Generated 576 predictions (total 39.11 kWh over 48h)
2026-08-15 09:42:33.340347: ML Component: Prediction cycle completed
2026-08-15 09:42:33.445151: ML Component: Saved 16381 steps (56 days) of history to /config/predbat_ml_history.npz
2026-08-15 09:42:42.160888: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 09:42:42.161232: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 09:42:42.161356: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 09:42:42.161604: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 09:42:42.161674: Note: Inverter does not support discharge freeze - disabled
2026-08-15 09:42:42.161715: Note: Inverter does not support charge freeze - disabled
2026-08-15 09:42:42.161766: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 09:44:42.376360: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 09:44:42.376604: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 09:44:42.376672: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 09:44:42.376870: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 09:44:42.376926: Note: Inverter does not support discharge freeze - disabled
2026-08-15 09:44:42.376971: Note: Inverter does not support charge freeze - disabled
2026-08-15 09:44:42.376993: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 09:45:00.474442: --------------- PredBat - update at 2026-08-15 09:45:00+01:00 with clock skew 0 minutes, minutes now 585
2026-08-15 09:45:00.475184: Saved current settings to /config/predbat_config.json
2026-08-15 09:45:00.475313: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 95.0 minutes
2026-08-15 09:45:00.475384: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.1, latest beta is v8.48.1
2026-08-15 09:45:00.475461: Autoupdate: Currently up to date
2026-08-15 09:45:00.496044: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 09:45:00.496179: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 09:45:00.496347: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 09:45:00.496871: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 09:45:00.497022: Predbat mode is set to Control charge & discharge
2026-08-15 09:45:00.693761: Found 21602 load_today datapoints going back 28 days
2026-08-15 09:45:00.693910: Using load_power data to fill gaps in load_today data
2026-08-15 09:45:01.564626: Processing 721 30-minute periods for power integration
2026-08-15 09:45:01.761192: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 09:45:01.761339: Car charging hold False, threshold 6.0kWh
2026-08-15 09:45:01.761387: Current data so far today: load 6.45kWh, import 7.7kWh, export 0.0kWh, PV 0kWh
2026-08-15 09:45:01.775584: Cars: SoC: [12.892000000000001]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 09:45:01.775999: Standing charge is set to 49.98p
2026-08-15 09:45:01.805150: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 09:45:01.805279: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 09:45:01.805531: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 15.0 minutes
2026-08-15 09:45:01.806089: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 15.0 minutes
2026-08-15 09:45:01.809089: Loaded 47 datapoints of futurerate analysis
2026-08-15 09:45:01.900833: Predicted future rates: ['08-15 00:00:00 => 28.9 / 20.01', '08-15 01:00:00 => 27.54 / 19.31', '08-15 02:00:00 => 26.52 / 18.8', '08-15 03:00:00 => 25.99 / 18.53', '08-15 04:00:00 => 25.8 / 18.43', '08-15 05:00:00 => 25.96 / 18.51', '08-15 06:00:00 => 25.55 / 18.3', '08-15 07:00:00 => 24.33 / 17.68', '08-15 08:00:00 => 23.03 / 17.01', '08-15 09:00:00 => 22.05 / 16.51', '08-15 10:00:00 => 20.43 / 15.68', '08-15 11:00:00 => 18.01 / 14.45', '08-15 12:00:00 => 16.37 / 13.61', '08-15 13:00:00 => 15.76 / 13.3', '08-15 14:00:00 => 15.35 / 13.09', '08-15 15:00:00 => 15.86 / 13.35', '08-15 16:00:00 => 32.89 / 16.13', '08-15 17:00:00 => 38.02 / 18.75', '08-15 18:00:00 => 42.36 / 20.96', '08-15 19:00:00 => 31.09 / 21.13', '08-15 20:00:00 => 31.64 / 21.41', '08-15 21:00:00 => 31.64 / 21.41', '08-15 22:00:00 => 30.58 / 20.87']
2026-08-15 09:45:01.964380: Rate min forward looking: now 13.77p at end of forecast 13.77p
2026-08-15 09:45:01.964760: Import rates: min 13.77p, max 43.82p, average 25.96p
2026-08-15 09:45:02.007908: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 09:45:02.008038: Rate thresholds (for charge/export) are import 43.32p (0.0p), export -0.1p (0.0p)
2026-08-15 09:45:02.009431: High export rate found rates in range 99p to -99p
2026-08-15 09:45:02.102658: Low Import rate found rates in range 13.77p to 41.55p
2026-08-15 09:45:02.102834: Car 0 charging is not planned as it is not plugged in
2026-08-15 09:45:02.116150: Battery level now 1.86kWh, -1hr ago 1.44kWh, at midnight 1.66kWh, battery value change in the last hour 4.92p, change today 2.37p, rate_forward 11.83p
2026-08-15 09:45:02.116550: Last hour: net energy 0.56kWh, import 0.56kWh, export 0.0kWh, car 0kWh, load 0.35kWh, net cost 12.91p, import 12.91p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 09:45:02.174119: Today's energy total net 7.7kWh, import 7.7kWh, export 0.0kWh, cost 252.1p, import 202.12p, export 0.0p, carbon 0.0kg
2026-08-15 09:45:02.174253: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 09:45:02.258354: Using weighted-bucket historical load forecast over 14 days
2026-08-15 09:45:02.285661: Today's load divergence 106.72%, in-day adjustment 128.58%, damping 0.95x, yesterday 143.77% today 106.38% blend 59.38%
2026-08-15 09:45:02.285776: Today's predicted so far 5.38kWh with 0.0kWh car/iBoost excluded, 3.21kWh import ignored, and 5.38kWh forecast extra.
2026-08-15 09:45:02.285820: Today's actual load so far 6.5kWh with 0.0kWh car/iBoost excluded, and 3.21kWh import ignored.
2026-08-15 09:45:02.323457: Inverter 0: Type SK Sunsynk
2026-08-15 09:45:02.323553: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 09:45:02.323808: Reserve min: 7%, battery_min: 7%
2026-08-15 09:45:02.323889: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 09:45:02.324154: Inverter 0 SoC: 1.76kW 11%, current charge rate 5000W, current discharge rate 5250W, current battery power 340W, current battery voltage 51.2V, grid power -52W, load power 424W, PV Power 0W
2026-08-15 09:45:02.324310: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 09:45:02.324399: Inverter 0 scheduled charge enable is False
2026-08-15 09:45:02.324428: Inverter 0 charge windows currently []
2026-08-15 09:45:02.324454: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 09:45:02.324557: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 09:45:02.324593: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 09:45:02.324627: Inverter 0 scheduled discharge enable is False
2026-08-15 09:45:02.324775: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 09:45:02.324815: Inverter 0 discharge windows currently []
2026-08-15 09:45:02.324838: Note: Inverter does not support discharge freeze - disabled
2026-08-15 09:45:02.324858: Note: Inverter does not support charge freeze - disabled
2026-08-15 09:45:02.324876: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 09:45:02.392241: Dynamic load last period 0.30kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 09:45:02.392359: Plan was last updated on 2026-08-15 09:35:00+01:00 and is now 10.0 minutes old
2026-08-15 09:45:02.392667: Best charge window [ 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 14:00:00 @ 15.55p 100%, 15-08 14:00:00 - 15-08 16:00:00 @ 15.23p 98%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 10:00:00 @ 23.56p 100% ]
2026-08-15 09:45:02.392711: Best export window [  ]
2026-08-15 09:45:02.393612: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 09:45:02.396770: Load divergence over 8.0 hours mean 637.57W, min 274.2W, max 1777.8W, std dev 360.14W, divergence 28.24%
2026-08-15 09:45:02.414978: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 09:45:02.415083: LoadML is_calculating False
2026-08-15 09:45:02.415164: Creating pool of 12 processes to match your CPU count
2026-08-15 09:45:02.543703: predict base end_record 08-16 11:40:00, final soc 1.12kWh, metric 797.38p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 10:25:00, load 26.63kWh, PV 0.0kWh
2026-08-15 09:45:02.696139: Battery has 0.67 hours left - now at 1.76kWh
2026-08-15 09:45:02.743230: predict base10 end_record 08-16 11:40:00, final soc 1.12kWh, metric 821.5p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 10:25:00, load 27.59kWh, PV 0.0kWh
2026-08-15 09:45:02.833980: predict best10 end_record 08-16 11:40:00, final soc 1.77kWh, metric 664.12p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 10:25:00, load 27.59kWh, PV 0.0kWh
2026-08-15 09:45:02.919239: predict best end_record 08-16 11:40:00, final soc 1.9kWh, metric 646.12p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 10:25:00, load 26.63kWh, PV 0.0kWh
2026-08-15 09:45:02.919341: Saving plan best values to HA entities
2026-08-15 09:45:03.114176: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 09:45:03.119965: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0.0
2026-08-15 09:45:03.125701: Best charging limit SoC's [16.0, 3.5, 4.0, 16.0, 15.75, 16.0, 16.0]kWh, export []kWh gives import battery 20.97kWh, house 1.54kWh, export 0.0kWh, metric 646.12p, metric10 664.12p
2026-08-15 09:45:03.205354: Marginal costs baseline metric (no standing charge): 596.1356
2026-08-15 09:45:03.488057: Marginal energy costs matrix computed: min=14.66 max=33.11
2026-08-15 09:45:03.565980: Rate array import [{'start': 585, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 23.6p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1860, 'rate': 'expensive', 'range': '(24.6p - 32.9p)'}, {'start': 1860, 'end': 1890, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 1890, 'end': 1920, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 1920, 'end': 2140, 'rate': 'cheap', 'range': '(15.5p - 23.6p)'}] export [{'start': 585, 'end': 2140, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 09:45:03.566730: - Your estimated bill for today is £5.72 and tomorrow is £5.42
2026-08-15 09:45:03.566798: - Import rates are cheap (13.8p - 23.6p) for the next 6 and a quarter hours and then expensive (33.1p) for the next 1 hour.
2026-08-15 09:45:03.566823: - The battery is currently at 11% and is in eco mode for the next 1 and three quarters hours.
2026-08-15 09:45:03.566842: - For the next 48 hours there will be no solar generation.
2026-08-15 09:45:03.566860: - You will run out of battery in 40 minutes.
2026-08-15 09:45:03.566878: - Your next charge slot will be in 1 and three quarters hours where import rates will be cheap (15.5p).
2026-08-15 09:45:03.566912: 
2026-08-15 09:45:03.627296: Plan calculation took 1.23 seconds
2026-08-15 09:45:03.630794: No high rate period found
2026-08-15 09:45:03.684086: Import threshold used for optimisation was 17.0p
2026-08-15 09:45:03.739815: Low import rate windows [0: 08-15 09:30:00 - 08-15 10:00:00 @ 23.64, 1: 08-15 10:00:00 - 08-15 10:30:00 @ 19.66, 2: 08-15 10:30:00 - 08-15 11:00:00 @ 17.66, 3: 08-15 11:00:00 - 08-15 11:30:00 @ 16.56, 4: 08-15 11:30:00 - 08-15 12:00:00 @ 15.46, 5: 08-15 12:00:00 - 08-15 12:30:00 @ 17.0, 6: 08-15 12:30:00 - 08-15 13:00:00 @ 16.34, 7: 08-15 13:00:00 - 08-15 13:30:00 @ 15.36, 8: 08-15 13:30:00 - 08-15 14:00:00 @ 15.74, 9: 08-15 14:00:00 - 08-15 14:30:00 @ 14.57, 10: 08-15 14:30:00 - 08-15 15:00:00 @ 13.77, 11: 08-15 15:00:00 - 08-15 15:30:00 @ 15.02, 12: 08-15 15:30:00 - 08-15 16:00:00 @ 15.87, 13: 08-15 16:00:00 - 08-15 16:30:00 @ 33.13, 14: 08-15 16:30:00 - 08-15 17:00:00 @ 33.13, 15: 08-15 17:00:00 - 08-15 17:30:00 @ 38.46, 16: 08-15 17:30:00 - 08-15 18:00:00 @ 40.44, 17: 08-15 18:00:00 - 08-15 18:30:00 @ 41.55, 18: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 19: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 20: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 21: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 22: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 23: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 24: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 25: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 26: 08-15 23:00:00 - 08-15 23:30:00 @ 27.8, 27: 08-15 23:30:00 - 08-16 00:00:00 @ 29.09, 28: 08-16 00:00:00 - 08-16 00:30:00 @ 28.47, 29: 08-16 00:30:00 - 08-16 01:00:00 @ 27.18, 30: 08-16 01:00:00 - 08-16 01:30:00 @ 27.57, 31: 08-16 01:30:00 - 08-16 02:00:00 @ 26.5, 32: 08-16 02:00:00 - 08-16 02:30:00 @ 25.6, 33: 08-16 02:30:00 - 08-16 03:00:00 @ 24.79, 34: 08-16 03:00:00 - 08-16 03:30:00 @ 25.08, 35: 08-16 03:30:00 - 08-16 04:00:00 @ 24.62, 36: 08-16 04:00:00 - 08-16 04:30:00 @ 27.02, 37: 08-16 04:30:00 - 08-16 05:00:00 @ 26.47, 38: 08-16 05:00:00 - 08-16 05:30:00 @ 26.25, 39: 08-16 05:30:00 - 08-16 06:00:00 @ 26.4, 40: 08-16 06:00:00 - 08-16 06:30:00 @ 25.7, 41: 08-16 06:30:00 - 08-16 07:00:00 @ 27.63, 42: 08-16 07:00:00 - 08-16 07:30:00 @ 22.73, 43: 08-16 07:30:00 - 08-16 08:00:00 @ 26.7, 44: 08-16 08:00:00 - 08-16 08:30:00 @ 22.92, 45: 08-16 08:30:00 - 08-16 09:00:00 @ 22.48, 46: 08-16 09:00:00 - 08-16 09:30:00 @ 23.55, 47: 08-16 09:30:00 - 08-16 10:00:00 @ 23.64, 48: 08-16 10:00:00 - 08-16 10:30:00 @ 19.66, 49: 08-16 10:30:00 - 08-16 11:00:00 @ 17.66, 50: 08-16 11:00:00 - 08-16 11:30:00 @ 16.56, 51: 08-16 11:30:00 - 08-16 12:00:00 @ 15.46, 52: 08-16 12:00:00 - 08-16 12:30:00 @ 17.0, 53: 08-16 12:30:00 - 08-16 13:00:00 @ 16.34, 54: 08-16 13:00:00 - 08-16 13:30:00 @ 15.36, 55: 08-16 13:30:00 - 08-16 14:00:00 @ 15.74, 56: 08-16 14:00:00 - 08-16 14:30:00 @ 14.57, 57: 08-16 14:30:00 - 08-16 15:00:00 @ 13.77, 58: 08-16 15:00:00 - 08-16 15:30:00 @ 15.02, 59: 08-16 15:30:00 - 08-16 16:00:00 @ 15.87, 60: 08-16 16:00:00 - 08-16 16:30:00 @ 33.13, 61: 08-16 16:30:00 - 08-16 17:00:00 @ 33.13, 62: 08-16 17:00:00 - 08-16 17:30:00 @ 38.46, 63: 08-16 17:30:00 - 08-16 18:00:00 @ 40.44, 64: 08-16 18:00:00 - 08-16 18:30:00 @ 41.55, 65: 08-16 19:00:00 - 08-16 19:30:00 @ 32.58, 66: 08-16 19:30:00 - 08-16 20:00:00 @ 32.9, 67: 08-16 20:00:00 - 08-16 20:30:00 @ 31.99, 68: 08-16 20:30:00 - 08-16 21:00:00 @ 32.1, 69: 08-16 21:00:00 - 08-16 21:30:00 @ 31.71, 70: 08-16 21:30:00 - 08-16 22:00:00 @ 31.67, 71: 08-16 22:00:00 - 08-16 22:30:00 @ 31.77, 72: 08-16 22:30:00 - 08-16 23:00:00 @ 29.81, 73: 08-16 23:00:00 - 08-16 23:30:00 @ 27.8, 74: 08-16 23:30:00 - 08-17 00:00:00 @ 29.09, 75: 08-17 00:00:00 - 08-17 00:30:00 @ 28.47, 76: 08-17 00:30:00 - 08-17 01:00:00 @ 27.18, 77: 08-17 01:00:00 - 08-17 01:30:00 @ 27.57, 78: 08-17 01:30:00 - 08-17 02:00:00 @ 26.5, 79: 08-17 02:00:00 - 08-17 02:30:00 @ 25.6, 80: 08-17 02:30:00 - 08-17 03:00:00 @ 24.79, 81: 08-17 03:00:00 - 08-17 03:30:00 @ 25.08, 82: 08-17 03:30:00 - 08-17 04:00:00 @ 24.62, 83: 08-17 04:00:00 - 08-17 04:30:00 @ 27.02, 84: 08-17 04:30:00 - 08-17 05:00:00 @ 26.47, 85: 08-17 05:00:00 - 08-17 05:30:00 @ 26.25, 86: 08-17 05:30:00 - 08-17 06:00:00 @ 26.4, 87: 08-17 06:00:00 - 08-17 06:30:00 @ 25.7, 88: 08-17 06:30:00 - 08-17 07:00:00 @ 27.63, 89: 08-17 07:00:00 - 08-17 07:30:00 @ 22.73, 90: 08-17 07:30:00 - 08-17 08:00:00 @ 26.7, 91: 08-17 08:00:00 - 08-17 08:30:00 @ 22.92, 92: 08-17 08:30:00 - 08-17 09:00:00 @ 22.48, 93: 08-17 09:00:00 - 08-17 09:30:00 @ 23.55, 94: 08-17 09:30:00 - 08-17 10:00:00 @ 23.64]
2026-08-15 09:45:03.747185: Inverter 0 Charge window will be: 2026-08-15 11:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 11%, target 100%
2026-08-15 09:45:03.747376: Inverter 0 disabled charge window while waiting for schedule (now 08-15 09:45:00 target set_window_minutes 30 charge start time 08-15 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 09:45:03.747548: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 09:45:03.747934: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 09:45:03.748079: No export window planned
2026-08-15 09:45:03.748268: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 09:45:03.748314: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 09:45:03.748541: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 09:45:03.748793: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 09:45:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 09:45:03.748868: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 09:45:03.749047: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 09:45:03.749220: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 09:45:03.749284: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 09:45:03.749346: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 09:45:03.749403: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 09:45:03.749467: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 09:45:03.749530: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 09:45:03.749591: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 09:45:03.749718: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 09:45:03.749781: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 09:45:03.749836: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 09:45:03.749891: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 09:45:03.749948: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 09:45:03.750009: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 09:45:03.750070: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 09:45:03.750120: Inverter 0 count register writes 0
2026-08-15 09:45:03.769035: Will recompute the plan as it is now 10.0 minutes old and will exceed the max age of 10 minutes before the next run
2026-08-15 09:45:03.769265: Recompute is saving previous plan...
2026-08-15 09:45:03.772389: Best charge window [ 15-08 09:30:00 - 15-08 10:00:00 @ 23.64p 0%, 15-08 10:00:00 - 15-08 10:30:00 @ 19.66p 0%, 15-08 10:30:00 - 15-08 11:00:00 @ 17.66p 0%, 15-08 11:00:00 - 15-08 11:30:00 @ 16.56p 0%, 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 0%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 0%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 0%, 15-08 13:00:00 - 15-08 13:30:00 @ 15.36p 0%, 15-08 13:30:00 - 15-08 14:00:00 @ 15.74p 0%, 15-08 14:00:00 - 15-08 14:30:00 @ 14.57p 0%, 15-08 14:30:00 - 15-08 15:00:00 @ 13.77p 0%, 15-08 15:00:00 - 15-08 15:30:00 @ 15.02p 0%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 0%, 15-08 16:00:00 - 15-08 16:30:00 @ 33.13p 0%, 15-08 16:30:00 - 15-08 17:00:00 @ 33.13p 0%, 15-08 17:00:00 - 15-08 17:30:00 @ 38.46p 0%, 15-08 17:30:00 - 15-08 18:00:00 @ 40.44p 0%, 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 0%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 0%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 0%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 0%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 0%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 27.8p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 29.09p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.47p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.18p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 27.57p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.5p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.6p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 24.79p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 25.08p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 24.62p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 27.02p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.47p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 26.25p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.4p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.7p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 27.63p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 22.73p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 26.7p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 22.92p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 22.48p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 23.55p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 23.64p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 19.66p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 17.66p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 16.56p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 15.46p 0%, 16-08 12:00:00 - 16-08 12:30:00 @ 17.0p 0%, 16-08 12:30:00 - 16-08 13:00:00 @ 16.34p 0%, 16-08 13:00:00 - 16-08 13:30:00 @ 15.36p 0%, 16-08 13:30:00 - 16-08 14:00:00 @ 15.74p 0%, 16-08 14:00:00 - 16-08 14:30:00 @ 14.57p 0%, 16-08 14:30:00 - 16-08 15:00:00 @ 13.77p 0%, 16-08 15:00:00 - 16-08 15:30:00 @ 15.02p 0%, 16-08 15:30:00 - 16-08 16:00:00 @ 15.87p 0%, 16-08 16:00:00 - 16-08 16:30:00 @ 33.13p 0%, 16-08 16:30:00 - 16-08 17:00:00 @ 33.13p 0%, 16-08 17:00:00 - 16-08 17:30:00 @ 38.46p 0%, 16-08 17:30:00 - 16-08 18:00:00 @ 40.44p 0%, 16-08 18:00:00 - 16-08 18:30:00 @ 41.55p 0%, 16-08 19:00:00 - 16-08 19:30:00 @ 32.58p 0%, 16-08 19:30:00 - 16-08 20:00:00 @ 32.9p 0%, 16-08 20:00:00 - 16-08 20:30:00 @ 31.99p 0%, 16-08 20:30:00 - 16-08 21:00:00 @ 32.1p 0%, 16-08 21:00:00 - 16-08 21:30:00 @ 31.71p 0%, 16-08 21:30:00 - 16-08 22:00:00 @ 31.67p 0%, 16-08 22:00:00 - 16-08 22:30:00 @ 31.77p 0%, 16-08 22:30:00 - 16-08 23:00:00 @ 29.81p 0%, 16-08 23:00:00 - 16-08 23:30:00 @ 27.8p 0%, 16-08 23:30:00 - 17-08 00:00:00 @ 29.09p 0%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.47p 0%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.18p 0%, 17-08 01:00:00 - 17-08 01:30:00 @ 27.57p 0%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.5p 0%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.6p 0%, 17-08 02:30:00 - 17-08 03:00:00 @ 24.79p 0%, 17-08 03:00:00 - 17-08 03:30:00 @ 25.08p 0%, 17-08 03:30:00 - 17-08 04:00:00 @ 24.62p 0%, 17-08 04:00:00 - 17-08 04:30:00 @ 27.02p 0%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.47p 0%, 17-08 05:00:00 - 17-08 05:30:00 @ 26.25p 0%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.4p 0%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.7p 0%, 17-08 06:30:00 - 17-08 07:00:00 @ 27.63p 0%, 17-08 07:00:00 - 17-08 07:30:00 @ 22.73p 0%, 17-08 07:30:00 - 17-08 08:00:00 @ 26.7p 0%, 17-08 08:00:00 - 17-08 08:30:00 @ 22.92p 0%, 17-08 08:30:00 - 17-08 09:00:00 @ 22.48p 0%, 17-08 09:00:00 - 17-08 09:30:00 @ 23.55p 0%, 17-08 09:30:00 - 17-08 10:00:00 @ 23.64p 0% ]
2026-08-15 09:45:03.772472: Best export window [  ]
2026-08-15 09:45:03.773343: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 09:45:03.776524: Load divergence over 8.0 hours mean 637.57W, min 274.2W, max 1777.8W, std dev 360.14W, divergence 28.24%
2026-08-15 09:45:03.795099: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 09:45:03.795230: LoadML is_calculating False
2026-08-15 09:45:03.795301: Creating pool of 12 processes to match your CPU count
2026-08-15 09:45:03.886104: Calculate Best options: mode(Control charge & discharge), calculate_export_oncharge(False), calculate_export_on_pv(True), set_export_freeze_only(False), set_discharge_during_charge(True), combine_charge_slots(False), combine_export_slots(False), combine_rate_threshold(0.0), best_soc_min(0.0 kWh), best_soc_max(0.0 kWh), best_soc_keep(0.0 kWh), inverter_loss(4%), battery_loss(3%), battery_loss_discharge (3%), inverter_hybrid(True), metric_min_improvement(0.0p), metric_min_improvement_export(0.1p), metric_min_improvement_export_freeze(0.1p), metric_battery_cycle(0.0p/kWh), metric_battery_value_scaling(1.0 x) 
2026-08-15 09:45:03.888136: Optimise levels pass started at 2026-08-15 09:45:03
2026-08-15 09:45:03.888226: Optimise all windows, total charge 94 export 1
2026-08-15 09:45:04.830691: >> Region optimisation pass width 960 gives best_metric 823.33p, best_cost 845.5p, best_cycle 57.99kWh, best_import 39.05kWh
2026-08-15 09:45:05.241362: >> Region optimisation pass width 480 gives best_metric 823.33p, best_cost 845.5p, best_cycle 57.99kWh, best_import 39.05kWh
2026-08-15 09:45:05.809877: >> Region optimisation pass width 240 gives best_metric 823.33p, best_cost 845.5p, best_cycle 57.99kWh, best_import 39.05kWh
2026-08-15 09:45:07.022351: >> Region optimisation pass width 120 gives best_metric 823.33p, best_cost 845.5p, best_cycle 57.99kWh, best_import 39.05kWh
2026-08-15 09:45:07.022774: Calculated end_record as 08-16 11:30:00 based on best_price 16.34p, next_charge_start 08-15 11:30:00, max_windows 51
2026-08-15 09:45:07.022860: Optimise levels pass ended at 2026-08-15 09:45:07, duration 3.1 seconds tried 347 combinations
2026-08-15 09:45:07.022926: Set best_price_charge_level 17.6p, best_price_export_level 0p, best_price_charge 16.34p, best_cost_export 0p, best_metric 823.33p, best_keep 0kWh, best_cycle 57.99kWh, best_carbon 0kg, best_import 39.05kWh
2026-08-15 09:45:07.045852: Starting detailed optimisation end_record 08-16 11:30:00, best_price_charge 16.34p, best_price_export 0p. lowest_price_charge 13.77p with charge limits [0, 0, 0, 0, 15.75, 0, 15.75, 15.75, 15.75, 15.75, 15.75, 15.75, 15.75, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0]kWh and export limits []kWh
2026-08-15 09:45:11.813509: Tweak plan optimisation started metric 569.81p, cost 580.06p
2026-08-15 09:45:12.087997: Tweak optimisation finished metric 569.81p, cost 580.06p, metric_keep 0kWh, cycle 29.89kWh, carbon 0kg, import 21.46kWh, changed 8 window(s)
2026-08-15 09:45:12.108075: Swap charge optimisation started metric 569.81p, cost 580.06p, min_improvement_swap 0.1p
2026-08-15 09:45:15.458355: Swap charge optimisation finished metric 569.81p, cost 580.06p
2026-08-15 09:45:15.553385: Pruned 1 dead plan slot(s) in 10 trial(s), nominal metric 566.81p -> 566.81p, plan now metric 569.81p, cost 580.06p, cycle 29.89kWh, import 21.46kWh
2026-08-15 09:45:15.563326: Raw charge windows [ 15-08 09:30:00 - 15-08 10:00:00 @ 23.64p 0%, 15-08 10:00:00 - 15-08 10:30:00 @ 19.66p 0%, 15-08 10:30:00 - 15-08 11:00:00 @ 17.66p 0%, 15-08 11:00:00 - 15-08 11:30:00 @ 16.56p 0%, 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 13:30:00 @ 15.36p 100%, 15-08 13:30:00 - 15-08 14:00:00 @ 15.74p 100%, 15-08 14:00:00 - 15-08 14:30:00 @ 14.57p 98%, 15-08 14:30:00 - 15-08 15:00:00 @ 13.77p 98%, 15-08 15:00:00 - 15-08 15:30:00 @ 15.02p 98%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 98%, 15-08 16:00:00 - 15-08 16:30:00 @ 33.13p 0%, 15-08 16:30:00 - 15-08 17:00:00 @ 33.13p 0%, 15-08 17:00:00 - 15-08 17:30:00 @ 38.46p 0%, 15-08 17:30:00 - 15-08 18:00:00 @ 40.44p 0%, 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 0%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 0%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 0%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 0%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 0%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 27.8p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 29.09p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.47p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.18p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 27.57p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.5p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.6p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 24.79p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 25.08p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 24.62p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 27.02p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.47p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 26.25p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.4p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.7p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 27.63p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 22.73p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 26.7p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 22.92p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 22.48p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 23.55p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 23.64p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 19.66p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 17.66p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 16.56p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 15.46p 100%, 16-08 12:00:00 - 16-08 12:30:00 @ 17.0p 100%, 16-08 12:30:00 - 16-08 13:00:00 @ 16.34p 100%, 16-08 13:00:00 - 16-08 13:30:00 @ 15.36p 100%, 16-08 13:30:00 - 16-08 14:00:00 @ 15.74p 100%, 16-08 14:00:00 - 16-08 14:30:00 @ 14.57p 100%, 16-08 14:30:00 - 16-08 15:00:00 @ 13.77p 100%, 16-08 15:00:00 - 16-08 15:30:00 @ 15.02p 100%, 16-08 15:30:00 - 16-08 16:00:00 @ 15.87p 100%, 16-08 16:00:00 - 16-08 16:30:00 @ 33.13p 100%, 16-08 16:30:00 - 16-08 17:00:00 @ 33.13p 100%, 16-08 17:00:00 - 16-08 17:30:00 @ 38.46p 100%, 16-08 17:30:00 - 16-08 18:00:00 @ 40.44p 100%, 16-08 18:00:00 - 16-08 18:30:00 @ 41.55p 100%, 16-08 19:00:00 - 16-08 19:30:00 @ 32.58p 100%, 16-08 19:30:00 - 16-08 20:00:00 @ 32.9p 100%, 16-08 20:00:00 - 16-08 20:30:00 @ 31.99p 100%, 16-08 20:30:00 - 16-08 21:00:00 @ 32.1p 100%, 16-08 21:00:00 - 16-08 21:30:00 @ 31.71p 100%, 16-08 21:30:00 - 16-08 22:00:00 @ 31.67p 100%, 16-08 22:00:00 - 16-08 22:30:00 @ 31.77p 100%, 16-08 22:30:00 - 16-08 23:00:00 @ 29.81p 100%, 16-08 23:00:00 - 16-08 23:30:00 @ 27.8p 100%, 16-08 23:30:00 - 17-08 00:00:00 @ 29.09p 100%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.47p 100%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.18p 100%, 17-08 01:00:00 - 17-08 01:30:00 @ 27.57p 100%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.5p 100%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.6p 100%, 17-08 02:30:00 - 17-08 03:00:00 @ 24.79p 100%, 17-08 03:00:00 - 17-08 03:30:00 @ 25.08p 100%, 17-08 03:30:00 - 17-08 04:00:00 @ 24.62p 100%, 17-08 04:00:00 - 17-08 04:30:00 @ 27.02p 100%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.47p 100%, 17-08 05:00:00 - 17-08 05:30:00 @ 26.25p 100%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.4p 100%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.7p 100%, 17-08 06:30:00 - 17-08 07:00:00 @ 27.63p 100%, 17-08 07:00:00 - 17-08 07:30:00 @ 22.73p 100%, 17-08 07:30:00 - 17-08 08:00:00 @ 26.7p 100%, 17-08 08:00:00 - 17-08 08:30:00 @ 22.92p 100%, 17-08 08:30:00 - 17-08 09:00:00 @ 22.48p 100%, 17-08 09:00:00 - 17-08 09:30:00 @ 23.55p 100%, 17-08 09:30:00 - 17-08 10:00:00 @ 23.64p 100% ] reserve 1.12
2026-08-15 09:45:15.563911: Unclipped charge windows [ 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 14:00:00 @ 15.55p 100%, 15-08 14:00:00 - 15-08 16:00:00 @ 15.23p 98%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 10:00:00 @ 23.56p 100% ] reserve 1.12
2026-08-15 09:45:15.564205: Unfiltered charge windows [ 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 14:00:00 @ 15.55p 100%, 15-08 14:00:00 - 15-08 16:00:00 @ 15.23p 98%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 10:00:00 @ 23.56p 100% ] reserve 1.12
2026-08-15 09:45:15.564412: Filtered charge windows [ 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 14:00:00 @ 15.55p 100%, 15-08 14:00:00 - 15-08 16:00:00 @ 15.23p 98%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 10:00:00 @ 23.56p 100% ] reserve 1.12
2026-08-15 09:45:15.595600: Previous plan best metric is 569.81 (cost 580.06) and new plan best metric is 569.81 (cost 580.06)
2026-08-15 09:45:15.595860: New plan metric is not significantly better (metric_min_improvement_plan 2.0) than previous plan, using previous plan
2026-08-15 09:45:15.596049: Plan valid is now true after recompute was False
2026-08-15 09:45:15.618761: predict base end_record 08-16 11:30:00, final soc 1.12kWh, metric 794.19p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 10:25:00, load 26.42kWh, PV 0.0kWh
2026-08-15 09:45:15.720350: Battery has 0.67 hours left - now at 1.76kWh
2026-08-15 09:45:15.758709: predict base10 end_record 08-16 11:30:00, final soc 1.12kWh, metric 818.15p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 10:25:00, load 27.37kWh, PV 0.0kWh
2026-08-15 09:45:15.824122: predict best10 end_record 08-16 11:30:00, final soc 1.12kWh, metric 650.03p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 10:25:00, load 27.37kWh, PV 0.0kWh
2026-08-15 09:45:15.897428: predict best end_record 08-16 11:30:00, final soc 1.12kWh, metric 630.04p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 10:25:00, load 26.42kWh, PV 0.0kWh
2026-08-15 09:45:15.897511: Saving plan best values to HA entities
2026-08-15 09:45:16.052294: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 09:45:16.057209: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0.0
2026-08-15 09:45:16.061847: Best charging limit SoC's [16.0, 3.5, 4.0, 16.0, 15.75, 16.0, 16.0]kWh, export []kWh gives import battery 19.93kWh, house 1.54kWh, export 0.0kWh, metric 630.04p, metric10 650.03p
2026-08-15 09:45:16.127093: Marginal costs baseline metric (no standing charge): 580.0593
2026-08-15 09:45:16.355905: Marginal energy costs matrix computed: min=14.66 max=33.11
2026-08-15 09:45:16.414487: Rate array import [{'start': 585, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 23.6p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1860, 'rate': 'expensive', 'range': '(24.6p - 32.9p)'}, {'start': 1860, 'end': 1890, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 1890, 'end': 1920, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 1920, 'end': 2130, 'rate': 'cheap', 'range': '(16.6p - 23.6p)'}] export [{'start': 585, 'end': 2130, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 09:45:16.414989: - Your estimated bill for today is £5.72 and tomorrow is £5.42
2026-08-15 09:45:16.415027: - Import rates are cheap (13.8p - 23.6p) for the next 6 and a quarter hours and then expensive (33.1p) for the next 1 hour.
2026-08-15 09:45:16.415046: - The battery is currently at 11% and is in eco mode for the next 1 and three quarters hours.
2026-08-15 09:45:16.415061: - For the next 48 hours there will be no solar generation.
2026-08-15 09:45:16.415075: - You will run out of battery in 40 minutes.
2026-08-15 09:45:16.415089: - Your next charge slot will be in 1 and three quarters hours where import rates will be cheap (15.5p).
2026-08-15 09:45:16.415106: 
2026-08-15 09:45:16.469495: Plan calculation took 12.70 seconds
2026-08-15 09:45:16.469837: Inverter 0: Type SK Sunsynk
2026-08-15 09:45:16.469879: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 09:45:16.470072: Reserve min: 7%, battery_min: 7%
2026-08-15 09:45:16.470140: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 09:45:16.470433: Inverter 0 SoC: 1.76kW 11%, current charge rate 5000W, current discharge rate 5250W, current battery power 2796W, current battery voltage 51.2V, grid power -54W, load power 2842W, PV Power 0W
2026-08-15 09:45:16.470634: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 09:45:16.470729: Inverter 0 scheduled charge enable is False
2026-08-15 09:45:16.470778: Inverter 0 charge windows currently []
2026-08-15 09:45:16.470805: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 09:45:16.470899: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 09:45:16.470930: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 09:45:16.470961: Inverter 0 scheduled discharge enable is False
2026-08-15 09:45:16.471068: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 09:45:16.471100: Inverter 0 discharge windows currently []
2026-08-15 09:45:16.471119: Note: Inverter does not support discharge freeze - disabled
2026-08-15 09:45:16.471134: Note: Inverter does not support charge freeze - disabled
2026-08-15 09:45:16.471152: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 09:45:16.522442: Inverter 0 Charge window will be: 2026-08-15 11:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 11%, target 100%
2026-08-15 09:45:16.522640: Inverter 0 disabled charge window while waiting for schedule (now 08-15 09:45:00 target set_window_minutes 30 charge start time 08-15 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 09:45:16.522766: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 09:45:16.523042: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 09:45:16.523165: No export window planned
2026-08-15 09:45:16.523343: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 09:45:16.523398: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 09:45:16.523622: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 09:45:16.523878: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 09:45:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 09:45:16.523958: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 09:45:16.524055: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 09:45:16.524174: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 09:45:16.524221: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 09:45:16.524250: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 09:45:16.524274: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 09:45:16.524299: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 09:45:16.524327: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 09:45:16.524352: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 09:45:16.524408: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 09:45:16.524436: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 09:45:16.524460: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 09:45:16.524513: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 09:45:16.524540: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 09:45:16.524563: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 09:45:16.524592: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 09:45:16.524613: Inverter 0 count register writes 0
2026-08-15 09:45:16.546149: Total inverter register writes now 815
2026-08-15 09:45:16.576444: Info: Completed run status Demand
2026-08-15 09:45:16.583270: Info: record_status Demand
2026-08-15 09:45:16.590268: Saved current settings to /config/predbat_config.json
2026-08-15 09:45:16.590586: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 09:45:33.697689: ML Component: Fetching 28 days of load history from ['sensor.sunsynk_day_load_energy']
2026-08-15 09:45:34.762170: Processing 1345 30-minute periods for power integration
2026-08-15 09:45:34.847567: ML Component: Car charging hold False, car energy reported load False
2026-08-15 09:45:34.942801: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 09:45:35.055865: ML Temperature data points: 49816
2026-08-15 09:45:35.334259: ML Component: Fetched 8064 load data points, 28.0 days of history
2026-08-15 09:45:35.383106: ML Component: Data fetch completed, load data age 56.0 days, 16382 data points
2026-08-15 09:45:35.383527: ML Component: Starting fine-tune training (2h interval), model age is 2.0159169797222223 hours
2026-08-15 09:45:35.383631: ML Component: Doing training...
2026-08-15 09:45:35.399934: ML Predictor: Curriculum training - capped to last 4 intermediate passes (starting at window=53.0 days)
2026-08-15 09:45:35.400079: ML Predictor: Curriculum training - 5 passes, window 53.0→56.0 days + final full pass (56.9 days)
2026-08-15 09:45:35.457523: ML Predictor: Curriculum pass 1/5: window=53.0 days (1272 hours of data)
2026-08-15 09:45:35.457694: ML Predictor: Starting initial training with 30 epochs
2026-08-15 09:45:36.039598: ML Predictor: Creating dataset with 1272 hours of training data, 48 hours validation
2026-08-15 09:45:40.444361: ML Predictor: Created 14976 training samples, 576 validation samples
2026-08-15 09:45:40.496252: ML Predictor: Normalization stats [fit] target(mean=0.0587 std=0.0472) load(mean=0.0589 std=0.0473) pv(mean=0.0000 std=0.0100) temp(mean=19.4859 std=4.4023) import_rate(mean=25.4946 std=2.4792) export_rate(mean=0.0000 std=1.0000) time(mean=-0.1907 std=0.5232)
2026-08-15 09:45:56.780007: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 09:45:56.780278: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 09:45:56.780315: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 09:45:56.780449: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 09:45:56.780491: Note: Inverter does not support discharge freeze - disabled
2026-08-15 09:45:56.780513: Note: Inverter does not support charge freeze - disabled
2026-08-15 09:45:56.780531: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 09:46:05.892080: ML Predictor: Epoch 1/30: lr=0.00100 huber_loss=0.0245 val_mae=0.0049 kWh val_bias=-0.0010 kWh (-1.7%) combined=0.0029 kWh ema_combined=0.0029 kWh
2026-08-15 09:46:31.054603: ML Predictor: Epoch 2/30: lr=0.00100 huber_loss=0.0195 val_mae=0.0043 kWh val_bias=-0.0003 kWh (-0.6%) combined=0.0023 kWh ema_combined=0.0027 kWh
2026-08-15 09:46:57.132834: ML Predictor: Epoch 3/30: lr=0.00099 huber_loss=0.0156 val_mae=0.0041 kWh val_bias=-0.0007 kWh (-1.2%) combined=0.0022 kWh ema_combined=0.0026 kWh
2026-08-15 09:47:23.922704: ML Predictor: Epoch 4/30: lr=0.00098 huber_loss=0.0132 val_mae=0.0037 kWh val_bias=+0.0001 kWh (+0.1%) combined=0.0023 kWh ema_combined=0.0025 kWh
2026-08-15 09:47:51.344305: ML Predictor: Epoch 5/30: lr=0.00096 huber_loss=0.0113 val_mae=0.0035 kWh val_bias=-0.0009 kWh (-1.6%) combined=0.0020 kWh ema_combined=0.0023 kWh
2026-08-15 09:47:57.219975: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 09:47:57.220290: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 09:47:57.220345: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 09:47:57.220547: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 09:47:57.220598: Note: Inverter does not support discharge freeze - disabled
2026-08-15 09:47:57.220626: Note: Inverter does not support charge freeze - disabled
2026-08-15 09:47:57.220652: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 09:48:22.705313: ML Predictor: Epoch 6/30: lr=0.00094 huber_loss=0.0123 val_mae=0.0029 kWh val_bias=+0.0001 kWh (+0.2%) combined=0.0017 kWh ema_combined=0.0022 kWh
2026-08-15 09:48:54.816265: ML Predictor: Epoch 7/30: lr=0.00091 huber_loss=0.0116 val_mae=0.0030 kWh val_bias=-0.0008 kWh (-1.4%) combined=0.0024 kWh ema_combined=0.0022 kWh
2026-08-15 09:49:23.628017: ML Predictor: Epoch 8/30: lr=0.00088 huber_loss=0.0104 val_mae=0.0027 kWh val_bias=-0.0003 kWh (-0.6%) combined=0.0016 kWh ema_combined=0.0020 kWh
2026-08-15 09:49:52.943958: ML Predictor: Epoch 9/30: lr=0.00084 huber_loss=0.0093 val_mae=0.0026 kWh val_bias=-0.0001 kWh (-0.2%) combined=0.0015 kWh ema_combined=0.0019 kWh
2026-08-15 09:50:00.776925: --------------- PredBat - update at 2026-08-15 09:50:00+01:00 with clock skew 0 minutes, minutes now 590
2026-08-15 09:50:00.778383: Saved current settings to /config/predbat_config.json
2026-08-15 09:50:00.778726: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 100.0 minutes
2026-08-15 09:50:00.779421: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.1, latest beta is v8.48.1
2026-08-15 09:50:00.779689: Autoupdate: Currently up to date
2026-08-15 09:50:00.824734: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 09:50:00.825110: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 09:50:00.825316: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 09:50:00.825922: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 09:50:00.826288: Predbat mode is set to Control charge & discharge
2026-08-15 09:50:01.337063: Found 21602 load_today datapoints going back 28 days
2026-08-15 09:50:01.337216: Using load_power data to fill gaps in load_today data
2026-08-15 09:50:02.653861: Processing 721 30-minute periods for power integration
2026-08-15 09:50:02.944689: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 09:50:02.945901: Car charging hold False, threshold 6.0kWh
2026-08-15 09:50:02.946814: Current data so far today: load 6.4kWh, import 7.8kWh, export 0.0kWh, PV 0kWh
2026-08-15 09:50:02.965955: Cars: SoC: [12.892000000000001]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 09:50:02.966461: Standing charge is set to 49.98p
2026-08-15 09:50:03.014927: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 09:50:03.015050: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 09:50:03.015321: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 20.0 minutes
2026-08-15 09:50:03.015885: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 20.0 minutes
2026-08-15 09:50:03.020210: Loaded 47 datapoints of futurerate analysis
2026-08-15 09:50:03.165785: Predicted future rates: ['08-15 00:00:00 => 28.9 / 20.01', '08-15 01:00:00 => 27.54 / 19.31', '08-15 02:00:00 => 26.52 / 18.8', '08-15 03:00:00 => 25.99 / 18.53', '08-15 04:00:00 => 25.8 / 18.43', '08-15 05:00:00 => 25.96 / 18.51', '08-15 06:00:00 => 25.55 / 18.3', '08-15 07:00:00 => 24.33 / 17.68', '08-15 08:00:00 => 23.03 / 17.01', '08-15 09:00:00 => 22.05 / 16.51', '08-15 10:00:00 => 20.43 / 15.68', '08-15 11:00:00 => 18.01 / 14.45', '08-15 12:00:00 => 16.37 / 13.61', '08-15 13:00:00 => 15.76 / 13.3', '08-15 14:00:00 => 15.35 / 13.09', '08-15 15:00:00 => 15.86 / 13.35', '08-15 16:00:00 => 32.89 / 16.13', '08-15 17:00:00 => 38.02 / 18.75', '08-15 18:00:00 => 42.36 / 20.96', '08-15 19:00:00 => 31.09 / 21.13', '08-15 20:00:00 => 31.64 / 21.41', '08-15 21:00:00 => 31.64 / 21.41', '08-15 22:00:00 => 30.58 / 20.87']
2026-08-15 09:50:03.405497: Rate min forward looking: now 13.77p at end of forecast 13.77p
2026-08-15 09:50:03.417969: Import rates: min 13.77p, max 43.82p, average 25.96p
2026-08-15 09:50:03.560042: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 09:50:03.560483: Rate thresholds (for charge/export) are import 43.32p (0.0p), export -0.1p (0.0p)
2026-08-15 09:50:03.563404: High export rate found rates in range 99p to -99p
2026-08-15 09:50:03.674080: Low Import rate found rates in range 13.77p to 41.55p
2026-08-15 09:50:03.674419: Car 0 charging is not planned as it is not plugged in
2026-08-15 09:50:03.694171: Battery level now 1.76kWh, -1hr ago 1.42kWh, at midnight 1.66kWh, battery value change in the last hour 3.97p, change today 1.23p, rate_forward 11.83p
2026-08-15 09:50:03.694711: Last hour: net energy 0.63kWh, import 0.63kWh, export 0.0kWh, car 0kWh, load 0.28kWh, net cost 14.59p, import 14.59p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 09:50:03.797717: Today's energy total net 7.8kWh, import 7.8kWh, export 0.0kWh, cost 254.46p, import 204.47p, export 0.0p, carbon 0.0kg
2026-08-15 09:50:03.797930: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 09:50:03.979830: Using weighted-bucket historical load forecast over 14 days
2026-08-15 09:50:04.054441: Today's load divergence 106.06%, in-day adjustment 128.19%, damping 0.95x, yesterday 143.77% today 105.75% blend 59.03%
2026-08-15 09:50:04.054757: Today's predicted so far 5.42kWh with 0.0kWh car/iBoost excluded, 3.24kWh import ignored, and 5.42kWh forecast extra.
2026-08-15 09:50:04.055005: Today's actual load so far 6.42kWh with 0.0kWh car/iBoost excluded, and 3.24kWh import ignored.
2026-08-15 09:50:04.111977: Inverter 0: Type SK Sunsynk
2026-08-15 09:50:04.112324: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 09:50:04.112779: Reserve min: 7%, battery_min: 7%
2026-08-15 09:50:04.125155: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 09:50:04.125834: Inverter 0 SoC: 1.66kW 10%, current charge rate 5000W, current discharge rate 5250W, current battery power 312W, current battery voltage 51.2V, grid power -54W, load power 366W, PV Power 0W
2026-08-15 09:50:04.126160: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 09:50:04.126352: Inverter 0 scheduled charge enable is False
2026-08-15 09:50:04.126433: Inverter 0 charge windows currently []
2026-08-15 09:50:04.126559: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 09:50:04.126816: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 09:50:04.126875: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 09:50:04.127019: Inverter 0 scheduled discharge enable is False
2026-08-15 09:50:04.127273: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 09:50:04.127329: Inverter 0 discharge windows currently []
2026-08-15 09:50:04.127443: Note: Inverter does not support discharge freeze - disabled
2026-08-15 09:50:04.127488: Note: Inverter does not support charge freeze - disabled
2026-08-15 09:50:04.127558: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 09:50:04.281835: Dynamic load last period 0.00kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 09:50:04.282109: Plan was last updated on 2026-08-15 09:45:00+01:00 and is now 5.0 minutes old
2026-08-15 09:50:04.282463: Best charge window [ 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 14:00:00 @ 15.55p 100%, 15-08 14:00:00 - 15-08 16:00:00 @ 15.23p 98%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 10:00:00 @ 23.56p 100% ]
2026-08-15 09:50:04.282621: Best export window [  ]
2026-08-15 09:50:04.283737: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 09:50:04.286361: Load divergence over 8.0 hours mean 636.07W, min 283.2W, max 1692.6W, std dev 337.77W, divergence 26.55%
2026-08-15 09:50:04.304170: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 09:50:04.304352: LoadML is_calculating True
2026-08-15 09:50:04.304393: Not using thread pool as LoadML is calculating to avoid lockups
2026-08-15 09:50:04.335518: predict base end_record 08-16 11:35:00, final soc 1.12kWh, metric 797.97p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 10:25:00, load 26.37kWh, PV 0.0kWh
2026-08-15 09:50:04.561271: Battery has 0.58 hours left - now at 1.66kWh
2026-08-15 09:50:04.676642: predict base10 end_record 08-16 11:35:00, final soc 1.12kWh, metric 821.95p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 10:25:00, load 27.32kWh, PV 0.0kWh
2026-08-15 09:50:04.859423: predict best10 end_record 08-16 11:35:00, final soc 1.44kWh, metric 659.29p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 10:25:00, load 27.32kWh, PV 0.0kWh
2026-08-15 09:50:04.999831: predict best end_record 08-16 11:35:00, final soc 1.51kWh, metric 640.41p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 10:25:00, load 26.37kWh, PV 0.0kWh
2026-08-15 09:50:05.013003: Saving plan best values to HA entities
2026-08-15 09:50:05.376176: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0
2026-08-15 09:50:05.385909: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 09:50:05.404237: Best charging limit SoC's [16.0, 3.5, 4.0, 16.0, 15.75, 16.0, 16.0]kWh, export []kWh gives import battery 20.43kWh, house 1.55kWh, export 0.0kWh, metric 640.41p, metric10 659.29p
2026-08-15 09:50:05.530756: Marginal costs baseline metric (no standing charge): 590.4284
2026-08-15 09:50:06.063931: Marginal energy costs matrix computed: min=14.5 max=33.26
2026-08-15 09:50:06.236737: Rate array import [{'start': 590, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 23.6p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1860, 'rate': 'expensive', 'range': '(24.6p - 32.9p)'}, {'start': 1860, 'end': 1890, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 1890, 'end': 1920, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 1920, 'end': 2135, 'rate': 'cheap', 'range': '(15.5p - 23.6p)'}] export [{'start': 590, 'end': 2135, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 09:50:06.238368: - Your estimated bill for today is £5.75 and tomorrow is £5.42
2026-08-15 09:50:06.238440: - Import rates are cheap (13.8p - 23.6p) for the next 6 and a quarter hours and then expensive (33.1p) for the next 1 hour.
2026-08-15 09:50:06.238508: - The battery is currently at 10% and is in eco mode for the next 1 and three quarters hours.
2026-08-15 09:50:06.238531: - For the next 48 hours there will be no solar generation.
2026-08-15 09:50:06.238602: - You will run out of battery in 35 minutes.
2026-08-15 09:50:06.238660: - Your next charge slot will be in 1 and three quarters hours where import rates will be cheap (15.5p).
2026-08-15 09:50:06.238803: 
2026-08-15 09:50:06.291788: Plan calculation took 2.01 seconds
2026-08-15 09:50:06.296833: No high rate period found
2026-08-15 09:50:06.384324: Import threshold used for optimisation was 22.48p
2026-08-15 09:50:06.546435: Low import rate windows [0: 08-15 09:30:00 - 08-15 10:00:00 @ 23.64, 1: 08-15 10:00:00 - 08-15 10:30:00 @ 19.66, 2: 08-15 10:30:00 - 08-15 11:00:00 @ 17.66, 3: 08-15 11:00:00 - 08-15 11:30:00 @ 16.56, 4: 08-15 11:30:00 - 08-15 12:00:00 @ 15.46, 5: 08-15 12:00:00 - 08-15 12:30:00 @ 17.0, 6: 08-15 12:30:00 - 08-15 13:00:00 @ 16.34, 7: 08-15 13:00:00 - 08-15 13:30:00 @ 15.36, 8: 08-15 13:30:00 - 08-15 14:00:00 @ 15.74, 9: 08-15 14:00:00 - 08-15 14:30:00 @ 14.57, 10: 08-15 14:30:00 - 08-15 15:00:00 @ 13.77, 11: 08-15 15:00:00 - 08-15 15:30:00 @ 15.02, 12: 08-15 15:30:00 - 08-15 16:00:00 @ 15.87, 13: 08-15 16:00:00 - 08-15 16:30:00 @ 33.13, 14: 08-15 16:30:00 - 08-15 17:00:00 @ 33.13, 15: 08-15 17:00:00 - 08-15 17:30:00 @ 38.46, 16: 08-15 17:30:00 - 08-15 18:00:00 @ 40.44, 17: 08-15 18:00:00 - 08-15 18:30:00 @ 41.55, 18: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 19: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 20: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 21: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 22: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 23: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 24: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 25: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 26: 08-15 23:00:00 - 08-15 23:30:00 @ 27.8, 27: 08-15 23:30:00 - 08-16 00:00:00 @ 29.09, 28: 08-16 00:00:00 - 08-16 00:30:00 @ 28.47, 29: 08-16 00:30:00 - 08-16 01:00:00 @ 27.18, 30: 08-16 01:00:00 - 08-16 01:30:00 @ 27.57, 31: 08-16 01:30:00 - 08-16 02:00:00 @ 26.5, 32: 08-16 02:00:00 - 08-16 02:30:00 @ 25.6, 33: 08-16 02:30:00 - 08-16 03:00:00 @ 24.79, 34: 08-16 03:00:00 - 08-16 03:30:00 @ 25.08, 35: 08-16 03:30:00 - 08-16 04:00:00 @ 24.62, 36: 08-16 04:00:00 - 08-16 04:30:00 @ 27.02, 37: 08-16 04:30:00 - 08-16 05:00:00 @ 26.47, 38: 08-16 05:00:00 - 08-16 05:30:00 @ 26.25, 39: 08-16 05:30:00 - 08-16 06:00:00 @ 26.4, 40: 08-16 06:00:00 - 08-16 06:30:00 @ 25.7, 41: 08-16 06:30:00 - 08-16 07:00:00 @ 27.63, 42: 08-16 07:00:00 - 08-16 07:30:00 @ 22.73, 43: 08-16 07:30:00 - 08-16 08:00:00 @ 26.7, 44: 08-16 08:00:00 - 08-16 08:30:00 @ 22.92, 45: 08-16 08:30:00 - 08-16 09:00:00 @ 22.48, 46: 08-16 09:00:00 - 08-16 09:30:00 @ 23.55, 47: 08-16 09:30:00 - 08-16 10:00:00 @ 23.64, 48: 08-16 10:00:00 - 08-16 10:30:00 @ 19.66, 49: 08-16 10:30:00 - 08-16 11:00:00 @ 17.66, 50: 08-16 11:00:00 - 08-16 11:30:00 @ 16.56, 51: 08-16 11:30:00 - 08-16 12:00:00 @ 15.46, 52: 08-16 12:00:00 - 08-16 12:30:00 @ 17.0, 53: 08-16 12:30:00 - 08-16 13:00:00 @ 16.34, 54: 08-16 13:00:00 - 08-16 13:30:00 @ 15.36, 55: 08-16 13:30:00 - 08-16 14:00:00 @ 15.74, 56: 08-16 14:00:00 - 08-16 14:30:00 @ 14.57, 57: 08-16 14:30:00 - 08-16 15:00:00 @ 13.77, 58: 08-16 15:00:00 - 08-16 15:30:00 @ 15.02, 59: 08-16 15:30:00 - 08-16 16:00:00 @ 15.87, 60: 08-16 16:00:00 - 08-16 16:30:00 @ 33.13, 61: 08-16 16:30:00 - 08-16 17:00:00 @ 33.13, 62: 08-16 17:00:00 - 08-16 17:30:00 @ 38.46, 63: 08-16 17:30:00 - 08-16 18:00:00 @ 40.44, 64: 08-16 18:00:00 - 08-16 18:30:00 @ 41.55, 65: 08-16 19:00:00 - 08-16 19:30:00 @ 32.58, 66: 08-16 19:30:00 - 08-16 20:00:00 @ 32.9, 67: 08-16 20:00:00 - 08-16 20:30:00 @ 31.99, 68: 08-16 20:30:00 - 08-16 21:00:00 @ 32.1, 69: 08-16 21:00:00 - 08-16 21:30:00 @ 31.71, 70: 08-16 21:30:00 - 08-16 22:00:00 @ 31.67, 71: 08-16 22:00:00 - 08-16 22:30:00 @ 31.77, 72: 08-16 22:30:00 - 08-16 23:00:00 @ 29.81, 73: 08-16 23:00:00 - 08-16 23:30:00 @ 27.8, 74: 08-16 23:30:00 - 08-17 00:00:00 @ 29.09, 75: 08-17 00:00:00 - 08-17 00:30:00 @ 28.47, 76: 08-17 00:30:00 - 08-17 01:00:00 @ 27.18, 77: 08-17 01:00:00 - 08-17 01:30:00 @ 27.57, 78: 08-17 01:30:00 - 08-17 02:00:00 @ 26.5, 79: 08-17 02:00:00 - 08-17 02:30:00 @ 25.6, 80: 08-17 02:30:00 - 08-17 03:00:00 @ 24.79, 81: 08-17 03:00:00 - 08-17 03:30:00 @ 25.08, 82: 08-17 03:30:00 - 08-17 04:00:00 @ 24.62, 83: 08-17 04:00:00 - 08-17 04:30:00 @ 27.02, 84: 08-17 04:30:00 - 08-17 05:00:00 @ 26.47, 85: 08-17 05:00:00 - 08-17 05:30:00 @ 26.25, 86: 08-17 05:30:00 - 08-17 06:00:00 @ 26.4, 87: 08-17 06:00:00 - 08-17 06:30:00 @ 25.7, 88: 08-17 06:30:00 - 08-17 07:00:00 @ 27.63, 89: 08-17 07:00:00 - 08-17 07:30:00 @ 22.73, 90: 08-17 07:30:00 - 08-17 08:00:00 @ 26.7, 91: 08-17 08:00:00 - 08-17 08:30:00 @ 22.92, 92: 08-17 08:30:00 - 08-17 09:00:00 @ 22.48, 93: 08-17 09:00:00 - 08-17 09:30:00 @ 23.55, 94: 08-17 09:30:00 - 08-17 10:00:00 @ 23.64]
2026-08-15 09:50:06.585758: Inverter 0 Charge window will be: 2026-08-15 11:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 10%, target 100%
2026-08-15 09:50:06.585981: Inverter 0 disabled charge window while waiting for schedule (now 08-15 09:50:00 target set_window_minutes 30 charge start time 08-15 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 09:50:06.586119: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 09:50:06.586456: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 09:50:06.586589: No export window planned
2026-08-15 09:50:06.586783: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 09:50:06.586847: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 09:50:06.587236: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 09:50:06.587561: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 09:50:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 09:50:06.587700: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 09:50:06.587874: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 09:50:06.588087: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 09:50:06.588214: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 09:50:06.588408: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 09:50:06.588585: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 09:50:06.588776: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 09:50:06.588989: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 09:50:06.589195: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 09:50:06.589449: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 09:50:06.589644: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 09:50:06.589861: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 09:50:06.590073: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 09:50:06.590265: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 09:50:06.590433: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 09:50:06.590603: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 09:50:06.590777: Inverter 0 count register writes 0
2026-08-15 09:50:06.621521: Will not recompute the plan, it is 5.0 minutes old and max age is 10 minutes
2026-08-15 09:50:06.628498: Total inverter register writes now 815
2026-08-15 09:50:06.690669: Info: Completed run status Demand
2026-08-15 09:50:06.710049: Info: record_status Demand
2026-08-15 09:50:06.725070: Saved current settings to /config/predbat_config.json
2026-08-15 09:50:06.725395: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 09:50:25.579449: ML Predictor: Epoch 10/30: lr=0.00080 huber_loss=0.0092 val_mae=0.0028 kWh val_bias=+0.0003 kWh (+0.6%) combined=0.0023 kWh ema_combined=0.0020 kWh
2026-08-15 09:50:41.969069: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 09:50:41.969470: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 09:50:41.969656: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 09:50:41.970587: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 09:50:41.970669: Note: Inverter does not support discharge freeze - disabled
2026-08-15 09:50:41.970822: Note: Inverter does not support charge freeze - disabled
2026-08-15 09:50:41.970943: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 09:50:55.106695: ML Predictor: Epoch 11/30: lr=0.00076 huber_loss=0.0085 val_mae=0.0023 kWh val_bias=+0.0002 kWh (+0.3%) combined=0.0012 kWh ema_combined=0.0018 kWh
2026-08-15 09:51:23.519239: ML Predictor: Epoch 12/30: lr=0.00072 huber_loss=0.0078 val_mae=0.0022 kWh val_bias=-0.0003 kWh (-0.5%) combined=0.0013 kWh ema_combined=0.0016 kWh
2026-08-15 09:51:52.504403: ML Predictor: Epoch 13/30: lr=0.00067 huber_loss=0.0082 val_mae=0.0026 kWh val_bias=+0.0009 kWh (+1.5%) combined=0.0024 kWh ema_combined=0.0018 kWh
2026-08-15 09:52:28.220005: ML Predictor: Epoch 14/30: lr=0.00062 huber_loss=0.0068 val_mae=0.0021 kWh val_bias=+0.0004 kWh (+0.7%) combined=0.0015 kWh ema_combined=0.0017 kWh
2026-08-15 09:52:56.545343: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 09:52:56.545872: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 09:52:56.546022: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 09:52:56.546282: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 09:52:56.546410: Note: Inverter does not support discharge freeze - disabled
2026-08-15 09:52:56.546518: Note: Inverter does not support charge freeze - disabled
2026-08-15 09:52:56.546621: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 09:53:08.188701: ML Predictor: Epoch 15/30: lr=0.00057 huber_loss=0.0064 val_mae=0.0021 kWh val_bias=-0.0002 kWh (-0.4%) combined=0.0012 kWh ema_combined=0.0016 kWh
2026-08-15 09:53:44.767335: ML Predictor: Epoch 16/30: lr=0.00053 huber_loss=0.0067 val_mae=0.0020 kWh val_bias=+0.0000 kWh (+0.1%) combined=0.0011 kWh ema_combined=0.0014 kWh
2026-08-15 09:54:16.488000: ML Predictor: Epoch 17/30: lr=0.00048 huber_loss=0.0065 val_mae=0.0020 kWh val_bias=-0.0001 kWh (-0.2%) combined=0.0011 kWh ema_combined=0.0013 kWh
2026-08-15 09:54:47.751122: ML Predictor: Epoch 18/30: lr=0.00043 huber_loss=0.0067 val_mae=0.0020 kWh val_bias=+0.0002 kWh (+0.4%) combined=0.0013 kWh ema_combined=0.0013 kWh
2026-08-15 09:54:56.888040: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 09:54:56.888371: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 09:54:56.888429: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 09:54:56.888771: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 09:54:56.888834: Note: Inverter does not support discharge freeze - disabled
2026-08-15 09:54:56.888911: Note: Inverter does not support charge freeze - disabled
2026-08-15 09:54:56.889038: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 09:55:00.096577: --------------- PredBat - update at 2026-08-15 09:55:00+01:00 with clock skew 0 minutes, minutes now 595
2026-08-15 09:55:00.097764: Saved current settings to /config/predbat_config.json
2026-08-15 09:55:00.097961: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 105.0 minutes
2026-08-15 09:55:00.098183: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.1, latest beta is v8.48.1
2026-08-15 09:55:00.098332: Autoupdate: Currently up to date
2026-08-15 09:55:00.136818: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 09:55:00.137041: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 09:55:00.137298: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 09:55:00.138019: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 09:55:00.138184: Predbat mode is set to Control charge & discharge
2026-08-15 09:55:00.431502: Found 21602 load_today datapoints going back 28 days
2026-08-15 09:55:00.431708: Using load_power data to fill gaps in load_today data
2026-08-15 09:55:01.896706: Processing 721 30-minute periods for power integration
2026-08-15 09:55:02.251229: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 09:55:02.251486: Car charging hold False, threshold 6.0kWh
2026-08-15 09:55:02.251772: Current data so far today: load 6.4kWh, import 7.8kWh, export 0.0kWh, PV 0kWh
2026-08-15 09:55:02.272254: Cars: SoC: [12.892000000000001]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 09:55:02.273129: Standing charge is set to 49.98p
2026-08-15 09:55:02.329538: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 09:55:02.329963: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 09:55:02.330448: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 25.0 minutes
2026-08-15 09:55:02.331236: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 25.0 minutes
2026-08-15 09:55:02.337480: Loaded 47 datapoints of futurerate analysis
2026-08-15 09:55:02.624369: Predicted future rates: ['08-15 00:00:00 => 28.9 / 20.01', '08-15 01:00:00 => 27.54 / 19.31', '08-15 02:00:00 => 26.52 / 18.8', '08-15 03:00:00 => 25.99 / 18.53', '08-15 04:00:00 => 25.8 / 18.43', '08-15 05:00:00 => 25.96 / 18.51', '08-15 06:00:00 => 25.55 / 18.3', '08-15 07:00:00 => 24.33 / 17.68', '08-15 08:00:00 => 23.03 / 17.01', '08-15 09:00:00 => 22.05 / 16.51', '08-15 10:00:00 => 20.43 / 15.68', '08-15 11:00:00 => 18.01 / 14.45', '08-15 12:00:00 => 16.37 / 13.61', '08-15 13:00:00 => 15.76 / 13.3', '08-15 14:00:00 => 15.35 / 13.09', '08-15 15:00:00 => 15.86 / 13.35', '08-15 16:00:00 => 32.89 / 16.13', '08-15 17:00:00 => 38.02 / 18.75', '08-15 18:00:00 => 42.36 / 20.96', '08-15 19:00:00 => 31.09 / 21.13', '08-15 20:00:00 => 31.64 / 21.41', '08-15 21:00:00 => 31.64 / 21.41', '08-15 22:00:00 => 30.58 / 20.87']
2026-08-15 09:55:02.698478: Rate min forward looking: now 13.77p at end of forecast 13.77p
2026-08-15 09:55:02.698950: Import rates: min 13.77p, max 43.82p, average 25.96p
2026-08-15 09:55:02.746398: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 09:55:02.746787: Rate thresholds (for charge/export) are import 43.32p (0.0p), export -0.1p (0.0p)
2026-08-15 09:55:02.748116: High export rate found rates in range 99p to -99p
2026-08-15 09:55:02.825655: Low Import rate found rates in range 13.77p to 41.55p
2026-08-15 09:55:02.825955: Car 0 charging is not planned as it is not plugged in
2026-08-15 09:55:02.844614: Battery level now 1.66kWh, -1hr ago 1.56kWh, at midnight 1.66kWh, battery value change in the last hour 1.14p, change today 0.0p, rate_forward 11.83p
2026-08-15 09:55:02.845384: Last hour: net energy 0.6kWh, import 0.6kWh, export 0.0kWh, car 0kWh, load 0.25kWh, net cost 13.92p, import 13.92p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 09:55:02.933386: Today's energy total net 7.8kWh, import 7.8kWh, export 0.0kWh, cost 254.46p, import 204.48p, export 0.0p, carbon 0.0kg
2026-08-15 09:55:02.933584: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 09:55:03.057590: Using weighted-bucket historical load forecast over 14 days
2026-08-15 09:55:03.128168: Today's load divergence 105.66%, in-day adjustment 127.9%, damping 0.95x, yesterday 143.77% today 105.37% blend 58.68%
2026-08-15 09:55:03.128309: Today's predicted so far 5.45kWh with 0.0kWh car/iBoost excluded, 3.21kWh import ignored, and 5.45kWh forecast extra.
2026-08-15 09:55:03.128435: Today's actual load so far 6.38kWh with 0.0kWh car/iBoost excluded, and 3.21kWh import ignored.
2026-08-15 09:55:03.262097: Inverter 0: Type SK Sunsynk
2026-08-15 09:55:03.262212: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 09:55:03.262440: Reserve min: 7%, battery_min: 7%
2026-08-15 09:55:03.262530: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 09:55:03.262878: Inverter 0 SoC: 1.6kW 10%, current charge rate 5000W, current discharge rate 5250W, current battery power 370W, current battery voltage 51.2V, grid power -54W, load power 424W, PV Power 0W
2026-08-15 09:55:03.263077: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 09:55:03.263189: Inverter 0 scheduled charge enable is False
2026-08-15 09:55:03.263234: Inverter 0 charge windows currently []
2026-08-15 09:55:03.263269: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 09:55:03.263401: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 09:55:03.263447: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 09:55:03.263492: Inverter 0 scheduled discharge enable is False
2026-08-15 09:55:03.263655: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 09:55:03.263701: Inverter 0 discharge windows currently []
2026-08-15 09:55:03.263745: Note: Inverter does not support discharge freeze - disabled
2026-08-15 09:55:03.263783: Note: Inverter does not support charge freeze - disabled
2026-08-15 09:55:03.263903: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 09:55:03.467560: Dynamic load last period 0.00kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 09:55:03.467716: Plan was last updated on 2026-08-15 09:45:00+01:00 and is now 10.0 minutes old
2026-08-15 09:55:03.468320: Best charge window [ 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 14:00:00 @ 15.55p 100%, 15-08 14:00:00 - 15-08 16:00:00 @ 15.23p 98%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 10:00:00 @ 23.56p 100% ]
2026-08-15 09:55:03.468388: Best export window [  ]
2026-08-15 09:55:03.469728: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 09:55:03.474532: Load divergence over 8.0 hours mean 634.57W, min 287.4W, max 1838.4W, std dev 344.07W, divergence 27.11%
2026-08-15 09:55:03.533346: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 09:55:03.549059: LoadML is_calculating True
2026-08-15 09:55:03.549329: Not using thread pool as LoadML is calculating to avoid lockups
2026-08-15 09:55:03.636287: predict base end_record 08-16 11:40:00, final soc 1.12kWh, metric 798.98p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 10:25:00, load 26.39kWh, PV 0.0kWh
2026-08-15 09:55:03.891443: Battery has 0.5 hours left - now at 1.6kWh
2026-08-15 09:55:03.989842: predict base10 end_record 08-16 11:40:00, final soc 1.12kWh, metric 822.92p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 10:25:00, load 27.34kWh, PV 0.0kWh
2026-08-15 09:55:04.104054: predict best10 end_record 08-16 11:40:00, final soc 1.77kWh, metric 665.57p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 10:25:00, load 27.34kWh, PV 0.0kWh
2026-08-15 09:55:04.298329: predict best end_record 08-16 11:40:00, final soc 1.9kWh, metric 647.85p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 10:25:00, load 26.39kWh, PV 0.0kWh
2026-08-15 09:55:04.298447: Saving plan best values to HA entities
2026-08-15 09:55:04.654504: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 09:55:04.674871: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0.0
2026-08-15 09:55:04.702580: Best charging limit SoC's [16.0, 3.5, 4.0, 16.0, 15.75, 16.0, 16.0]kWh, export []kWh gives import battery 20.93kWh, house 1.53kWh, export 0.0kWh, metric 647.85p, metric10 665.57p
2026-08-15 09:55:04.832474: Marginal costs baseline metric (no standing charge): 597.8676
2026-08-15 09:55:05.330414: Marginal energy costs matrix computed: min=14.33 max=33.39
2026-08-15 09:55:05.454635: Rate array import [{'start': 595, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 23.6p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1860, 'rate': 'expensive', 'range': '(24.6p - 32.9p)'}, {'start': 1860, 'end': 1890, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 1890, 'end': 1920, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 1920, 'end': 2140, 'rate': 'cheap', 'range': '(15.5p - 23.6p)'}] export [{'start': 595, 'end': 2140, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 09:55:05.456071: - Your estimated bill for today is £5.74 and tomorrow is £5.42
2026-08-15 09:55:05.458165: - Import rates are cheap (13.8p - 23.6p) for the next 6 hours and then expensive (33.1p) for the next 1 hour.
2026-08-15 09:55:05.458241: - The battery is currently at 10% and is in eco mode for the next 1 and a half hours.
2026-08-15 09:55:05.458270: - For the next 48 hours there will be no solar generation.
2026-08-15 09:55:05.458413: - You will run out of battery in 30 minutes.
2026-08-15 09:55:05.458465: - Your next charge slot will be in 1 and a half hours where import rates will be cheap (15.5p).
2026-08-15 09:55:05.458558: 
2026-08-15 09:55:05.523608: Plan calculation took 2.06 seconds
2026-08-15 09:55:05.528231: No high rate period found
2026-08-15 09:55:05.663178: Import threshold used for optimisation was 22.48p
2026-08-15 09:55:05.766083: Low import rate windows [0: 08-15 09:30:00 - 08-15 10:00:00 @ 23.64, 1: 08-15 10:00:00 - 08-15 10:30:00 @ 19.66, 2: 08-15 10:30:00 - 08-15 11:00:00 @ 17.66, 3: 08-15 11:00:00 - 08-15 11:30:00 @ 16.56, 4: 08-15 11:30:00 - 08-15 12:00:00 @ 15.46, 5: 08-15 12:00:00 - 08-15 12:30:00 @ 17.0, 6: 08-15 12:30:00 - 08-15 13:00:00 @ 16.34, 7: 08-15 13:00:00 - 08-15 13:30:00 @ 15.36, 8: 08-15 13:30:00 - 08-15 14:00:00 @ 15.74, 9: 08-15 14:00:00 - 08-15 14:30:00 @ 14.57, 10: 08-15 14:30:00 - 08-15 15:00:00 @ 13.77, 11: 08-15 15:00:00 - 08-15 15:30:00 @ 15.02, 12: 08-15 15:30:00 - 08-15 16:00:00 @ 15.87, 13: 08-15 16:00:00 - 08-15 16:30:00 @ 33.13, 14: 08-15 16:30:00 - 08-15 17:00:00 @ 33.13, 15: 08-15 17:00:00 - 08-15 17:30:00 @ 38.46, 16: 08-15 17:30:00 - 08-15 18:00:00 @ 40.44, 17: 08-15 18:00:00 - 08-15 18:30:00 @ 41.55, 18: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 19: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 20: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 21: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 22: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 23: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 24: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 25: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 26: 08-15 23:00:00 - 08-15 23:30:00 @ 27.8, 27: 08-15 23:30:00 - 08-16 00:00:00 @ 29.09, 28: 08-16 00:00:00 - 08-16 00:30:00 @ 28.47, 29: 08-16 00:30:00 - 08-16 01:00:00 @ 27.18, 30: 08-16 01:00:00 - 08-16 01:30:00 @ 27.57, 31: 08-16 01:30:00 - 08-16 02:00:00 @ 26.5, 32: 08-16 02:00:00 - 08-16 02:30:00 @ 25.6, 33: 08-16 02:30:00 - 08-16 03:00:00 @ 24.79, 34: 08-16 03:00:00 - 08-16 03:30:00 @ 25.08, 35: 08-16 03:30:00 - 08-16 04:00:00 @ 24.62, 36: 08-16 04:00:00 - 08-16 04:30:00 @ 27.02, 37: 08-16 04:30:00 - 08-16 05:00:00 @ 26.47, 38: 08-16 05:00:00 - 08-16 05:30:00 @ 26.25, 39: 08-16 05:30:00 - 08-16 06:00:00 @ 26.4, 40: 08-16 06:00:00 - 08-16 06:30:00 @ 25.7, 41: 08-16 06:30:00 - 08-16 07:00:00 @ 27.63, 42: 08-16 07:00:00 - 08-16 07:30:00 @ 22.73, 43: 08-16 07:30:00 - 08-16 08:00:00 @ 26.7, 44: 08-16 08:00:00 - 08-16 08:30:00 @ 22.92, 45: 08-16 08:30:00 - 08-16 09:00:00 @ 22.48, 46: 08-16 09:00:00 - 08-16 09:30:00 @ 23.55, 47: 08-16 09:30:00 - 08-16 10:00:00 @ 23.64, 48: 08-16 10:00:00 - 08-16 10:30:00 @ 19.66, 49: 08-16 10:30:00 - 08-16 11:00:00 @ 17.66, 50: 08-16 11:00:00 - 08-16 11:30:00 @ 16.56, 51: 08-16 11:30:00 - 08-16 12:00:00 @ 15.46, 52: 08-16 12:00:00 - 08-16 12:30:00 @ 17.0, 53: 08-16 12:30:00 - 08-16 13:00:00 @ 16.34, 54: 08-16 13:00:00 - 08-16 13:30:00 @ 15.36, 55: 08-16 13:30:00 - 08-16 14:00:00 @ 15.74, 56: 08-16 14:00:00 - 08-16 14:30:00 @ 14.57, 57: 08-16 14:30:00 - 08-16 15:00:00 @ 13.77, 58: 08-16 15:00:00 - 08-16 15:30:00 @ 15.02, 59: 08-16 15:30:00 - 08-16 16:00:00 @ 15.87, 60: 08-16 16:00:00 - 08-16 16:30:00 @ 33.13, 61: 08-16 16:30:00 - 08-16 17:00:00 @ 33.13, 62: 08-16 17:00:00 - 08-16 17:30:00 @ 38.46, 63: 08-16 17:30:00 - 08-16 18:00:00 @ 40.44, 64: 08-16 18:00:00 - 08-16 18:30:00 @ 41.55, 65: 08-16 19:00:00 - 08-16 19:30:00 @ 32.58, 66: 08-16 19:30:00 - 08-16 20:00:00 @ 32.9, 67: 08-16 20:00:00 - 08-16 20:30:00 @ 31.99, 68: 08-16 20:30:00 - 08-16 21:00:00 @ 32.1, 69: 08-16 21:00:00 - 08-16 21:30:00 @ 31.71, 70: 08-16 21:30:00 - 08-16 22:00:00 @ 31.67, 71: 08-16 22:00:00 - 08-16 22:30:00 @ 31.77, 72: 08-16 22:30:00 - 08-16 23:00:00 @ 29.81, 73: 08-16 23:00:00 - 08-16 23:30:00 @ 27.8, 74: 08-16 23:30:00 - 08-17 00:00:00 @ 29.09, 75: 08-17 00:00:00 - 08-17 00:30:00 @ 28.47, 76: 08-17 00:30:00 - 08-17 01:00:00 @ 27.18, 77: 08-17 01:00:00 - 08-17 01:30:00 @ 27.57, 78: 08-17 01:30:00 - 08-17 02:00:00 @ 26.5, 79: 08-17 02:00:00 - 08-17 02:30:00 @ 25.6, 80: 08-17 02:30:00 - 08-17 03:00:00 @ 24.79, 81: 08-17 03:00:00 - 08-17 03:30:00 @ 25.08, 82: 08-17 03:30:00 - 08-17 04:00:00 @ 24.62, 83: 08-17 04:00:00 - 08-17 04:30:00 @ 27.02, 84: 08-17 04:30:00 - 08-17 05:00:00 @ 26.47, 85: 08-17 05:00:00 - 08-17 05:30:00 @ 26.25, 86: 08-17 05:30:00 - 08-17 06:00:00 @ 26.4, 87: 08-17 06:00:00 - 08-17 06:30:00 @ 25.7, 88: 08-17 06:30:00 - 08-17 07:00:00 @ 27.63, 89: 08-17 07:00:00 - 08-17 07:30:00 @ 22.73, 90: 08-17 07:30:00 - 08-17 08:00:00 @ 26.7, 91: 08-17 08:00:00 - 08-17 08:30:00 @ 22.92, 92: 08-17 08:30:00 - 08-17 09:00:00 @ 22.48, 93: 08-17 09:00:00 - 08-17 09:30:00 @ 23.55, 94: 08-17 09:30:00 - 08-17 10:00:00 @ 23.64]
2026-08-15 09:55:05.775069: Inverter 0 Charge window will be: 2026-08-15 11:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 10%, target 100%
2026-08-15 09:55:05.775380: Inverter 0 disabled charge window while waiting for schedule (now 08-15 09:55:00 target set_window_minutes 30 charge start time 08-15 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 09:55:05.775606: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 09:55:05.775938: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 09:55:05.776165: No export window planned
2026-08-15 09:55:05.776440: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 09:55:05.776563: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 09:55:05.776910: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 09:55:05.777296: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 09:55:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 09:55:05.777484: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 09:55:05.777683: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 09:55:05.777907: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 09:55:05.778083: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 09:55:05.778233: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 09:55:05.778398: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 09:55:05.778544: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 09:55:05.778707: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 09:55:05.778869: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 09:55:05.779080: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 09:55:05.779235: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 09:55:05.779397: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 09:55:05.779513: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 09:55:05.779657: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 09:55:05.779861: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 09:55:05.780020: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 09:55:05.780128: Inverter 0 count register writes 0
2026-08-15 09:55:05.802547: Will recompute the plan as it is now 10.0 minutes old and will exceed the max age of 10 minutes before the next run
2026-08-15 09:55:05.802921: Recompute is saving previous plan...
2026-08-15 09:55:05.807212: Best charge window [ 15-08 09:30:00 - 15-08 10:00:00 @ 23.64p 0%, 15-08 10:00:00 - 15-08 10:30:00 @ 19.66p 0%, 15-08 10:30:00 - 15-08 11:00:00 @ 17.66p 0%, 15-08 11:00:00 - 15-08 11:30:00 @ 16.56p 0%, 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 0%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 0%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 0%, 15-08 13:00:00 - 15-08 13:30:00 @ 15.36p 0%, 15-08 13:30:00 - 15-08 14:00:00 @ 15.74p 0%, 15-08 14:00:00 - 15-08 14:30:00 @ 14.57p 0%, 15-08 14:30:00 - 15-08 15:00:00 @ 13.77p 0%, 15-08 15:00:00 - 15-08 15:30:00 @ 15.02p 0%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 0%, 15-08 16:00:00 - 15-08 16:30:00 @ 33.13p 0%, 15-08 16:30:00 - 15-08 17:00:00 @ 33.13p 0%, 15-08 17:00:00 - 15-08 17:30:00 @ 38.46p 0%, 15-08 17:30:00 - 15-08 18:00:00 @ 40.44p 0%, 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 0%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 0%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 0%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 0%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 0%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 27.8p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 29.09p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.47p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.18p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 27.57p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.5p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.6p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 24.79p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 25.08p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 24.62p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 27.02p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.47p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 26.25p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.4p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.7p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 27.63p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 22.73p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 26.7p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 22.92p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 22.48p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 23.55p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 23.64p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 19.66p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 17.66p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 16.56p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 15.46p 0%, 16-08 12:00:00 - 16-08 12:30:00 @ 17.0p 0%, 16-08 12:30:00 - 16-08 13:00:00 @ 16.34p 0%, 16-08 13:00:00 - 16-08 13:30:00 @ 15.36p 0%, 16-08 13:30:00 - 16-08 14:00:00 @ 15.74p 0%, 16-08 14:00:00 - 16-08 14:30:00 @ 14.57p 0%, 16-08 14:30:00 - 16-08 15:00:00 @ 13.77p 0%, 16-08 15:00:00 - 16-08 15:30:00 @ 15.02p 0%, 16-08 15:30:00 - 16-08 16:00:00 @ 15.87p 0%, 16-08 16:00:00 - 16-08 16:30:00 @ 33.13p 0%, 16-08 16:30:00 - 16-08 17:00:00 @ 33.13p 0%, 16-08 17:00:00 - 16-08 17:30:00 @ 38.46p 0%, 16-08 17:30:00 - 16-08 18:00:00 @ 40.44p 0%, 16-08 18:00:00 - 16-08 18:30:00 @ 41.55p 0%, 16-08 19:00:00 - 16-08 19:30:00 @ 32.58p 0%, 16-08 19:30:00 - 16-08 20:00:00 @ 32.9p 0%, 16-08 20:00:00 - 16-08 20:30:00 @ 31.99p 0%, 16-08 20:30:00 - 16-08 21:00:00 @ 32.1p 0%, 16-08 21:00:00 - 16-08 21:30:00 @ 31.71p 0%, 16-08 21:30:00 - 16-08 22:00:00 @ 31.67p 0%, 16-08 22:00:00 - 16-08 22:30:00 @ 31.77p 0%, 16-08 22:30:00 - 16-08 23:00:00 @ 29.81p 0%, 16-08 23:00:00 - 16-08 23:30:00 @ 27.8p 0%, 16-08 23:30:00 - 17-08 00:00:00 @ 29.09p 0%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.47p 0%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.18p 0%, 17-08 01:00:00 - 17-08 01:30:00 @ 27.57p 0%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.5p 0%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.6p 0%, 17-08 02:30:00 - 17-08 03:00:00 @ 24.79p 0%, 17-08 03:00:00 - 17-08 03:30:00 @ 25.08p 0%, 17-08 03:30:00 - 17-08 04:00:00 @ 24.62p 0%, 17-08 04:00:00 - 17-08 04:30:00 @ 27.02p 0%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.47p 0%, 17-08 05:00:00 - 17-08 05:30:00 @ 26.25p 0%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.4p 0%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.7p 0%, 17-08 06:30:00 - 17-08 07:00:00 @ 27.63p 0%, 17-08 07:00:00 - 17-08 07:30:00 @ 22.73p 0%, 17-08 07:30:00 - 17-08 08:00:00 @ 26.7p 0%, 17-08 08:00:00 - 17-08 08:30:00 @ 22.92p 0%, 17-08 08:30:00 - 17-08 09:00:00 @ 22.48p 0%, 17-08 09:00:00 - 17-08 09:30:00 @ 23.55p 0%, 17-08 09:30:00 - 17-08 10:00:00 @ 23.64p 0% ]
2026-08-15 09:55:05.807440: Best export window [  ]
2026-08-15 09:55:05.808635: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 09:55:05.812882: Load divergence over 8.0 hours mean 634.57W, min 287.4W, max 1838.4W, std dev 344.07W, divergence 27.11%
2026-08-15 09:55:05.869699: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 09:55:05.870357: LoadML is_calculating True
2026-08-15 09:55:05.870574: Not using thread pool as LoadML is calculating to avoid lockups
2026-08-15 09:55:05.907703: Calculate Best options: mode(Control charge & discharge), calculate_export_oncharge(False), calculate_export_on_pv(True), set_export_freeze_only(False), set_discharge_during_charge(True), combine_charge_slots(False), combine_export_slots(False), combine_rate_threshold(0.0), best_soc_min(0.0 kWh), best_soc_max(0.0 kWh), best_soc_keep(0.0 kWh), inverter_loss(4%), battery_loss(3%), battery_loss_discharge (3%), inverter_hybrid(True), metric_min_improvement(0.0p), metric_min_improvement_export(0.1p), metric_min_improvement_export_freeze(0.1p), metric_battery_cycle(0.0p/kWh), metric_battery_value_scaling(1.0 x) 
2026-08-15 09:55:05.908845: Optimise levels pass started at 2026-08-15 09:55:05
2026-08-15 09:55:05.908893: Optimise all windows, total charge 94 export 1
2026-08-15 09:55:11.694815: >> Region optimisation pass width 960 gives best_metric 826.73p, best_cost 847.28p, best_cycle 58.0kWh, best_import 39.02kWh
2026-08-15 09:55:12.961139: >> Region optimisation pass width 480 gives best_metric 826.73p, best_cost 847.28p, best_cycle 58.0kWh, best_import 39.02kWh
2026-08-15 09:55:14.637499: >> Region optimisation pass width 240 gives best_metric 826.73p, best_cost 847.28p, best_cycle 58.0kWh, best_import 39.02kWh
2026-08-15 09:55:18.306105: >> Region optimisation pass width 120 gives best_metric 826.73p, best_cost 847.28p, best_cycle 58.0kWh, best_import 39.02kWh
2026-08-15 09:55:18.306652: Calculated end_record as 08-16 11:30:00 based on best_price 16.34p, next_charge_start 08-15 11:30:00, max_windows 51
2026-08-15 09:55:18.306778: Optimise levels pass ended at 2026-08-15 09:55:18, duration 12.4 seconds tried 347 combinations
2026-08-15 09:55:18.306876: Set best_price_charge_level 17.6p, best_price_export_level 0p, best_price_charge 16.34p, best_cost_export 0p, best_metric 826.73p, best_keep 0kWh, best_cycle 58.0kWh, best_carbon 0kg, best_import 39.02kWh
2026-08-15 09:55:18.385616: Starting detailed optimisation end_record 08-16 11:30:00, best_price_charge 16.34p, best_price_export 0p. lowest_price_charge 13.77p with charge limits [0, 0, 0, 0, 15.75, 0, 15.75, 15.75, 15.75, 15.75, 15.75, 15.75, 15.75, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0]kWh and export limits []kWh
2026-08-15 09:55:41.799437: ML Predictor: Epoch 19/30: lr=0.00038 huber_loss=0.0062 val_mae=0.0020 kWh val_bias=+0.0006 kWh (+1.0%) combined=0.0017 kWh ema_combined=0.0014 kWh
2026-08-15 09:55:44.887108: Tweak plan optimisation started metric 571.67p, cost 581.96p
2026-08-15 09:55:46.037710: Tweak optimisation finished metric 571.67p, cost 581.96p, metric_keep 0kWh, cycle 29.74kWh, carbon 0kg, import 21.43kWh, changed 8 window(s)
2026-08-15 09:55:46.075225: Swap charge optimisation started metric 571.67p, cost 581.96p, min_improvement_swap 0.1p
2026-08-15 09:55:52.174152: Swap charge optimisation finished metric 571.67p, cost 581.96p
2026-08-15 09:55:52.407372: Raw charge windows [ 15-08 09:30:00 - 15-08 10:00:00 @ 23.64p 0%, 15-08 10:00:00 - 15-08 10:30:00 @ 19.66p 0%, 15-08 10:30:00 - 15-08 11:00:00 @ 17.66p 0%, 15-08 11:00:00 - 15-08 11:30:00 @ 16.56p 0%, 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 13:30:00 @ 15.36p 100%, 15-08 13:30:00 - 15-08 14:00:00 @ 15.74p 100%, 15-08 14:00:00 - 15-08 14:30:00 @ 14.57p 98%, 15-08 14:30:00 - 15-08 15:00:00 @ 13.77p 98%, 15-08 15:00:00 - 15-08 15:30:00 @ 15.02p 98%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 98%, 15-08 16:00:00 - 15-08 16:30:00 @ 33.13p 0%, 15-08 16:30:00 - 15-08 17:00:00 @ 33.13p 0%, 15-08 17:00:00 - 15-08 17:30:00 @ 38.46p 0%, 15-08 17:30:00 - 15-08 18:00:00 @ 40.44p 0%, 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 0%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 0%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 0%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 0%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 0%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 27.8p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 29.09p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.47p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.18p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 27.57p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.5p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.6p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 24.79p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 25.08p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 24.62p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 27.02p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.47p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 26.25p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.4p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.7p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 27.63p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 22.73p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 26.7p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 22.92p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 22.48p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 23.55p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 23.64p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 19.66p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 17.66p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 16.56p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 15.46p 100%, 16-08 12:00:00 - 16-08 12:30:00 @ 17.0p 100%, 16-08 12:30:00 - 16-08 13:00:00 @ 16.34p 100%, 16-08 13:00:00 - 16-08 13:30:00 @ 15.36p 100%, 16-08 13:30:00 - 16-08 14:00:00 @ 15.74p 100%, 16-08 14:00:00 - 16-08 14:30:00 @ 14.57p 100%, 16-08 14:30:00 - 16-08 15:00:00 @ 13.77p 100%, 16-08 15:00:00 - 16-08 15:30:00 @ 15.02p 100%, 16-08 15:30:00 - 16-08 16:00:00 @ 15.87p 100%, 16-08 16:00:00 - 16-08 16:30:00 @ 33.13p 100%, 16-08 16:30:00 - 16-08 17:00:00 @ 33.13p 100%, 16-08 17:00:00 - 16-08 17:30:00 @ 38.46p 100%, 16-08 17:30:00 - 16-08 18:00:00 @ 40.44p 100%, 16-08 18:00:00 - 16-08 18:30:00 @ 41.55p 100%, 16-08 19:00:00 - 16-08 19:30:00 @ 32.58p 100%, 16-08 19:30:00 - 16-08 20:00:00 @ 32.9p 100%, 16-08 20:00:00 - 16-08 20:30:00 @ 31.99p 100%, 16-08 20:30:00 - 16-08 21:00:00 @ 32.1p 100%, 16-08 21:00:00 - 16-08 21:30:00 @ 31.71p 100%, 16-08 21:30:00 - 16-08 22:00:00 @ 31.67p 100%, 16-08 22:00:00 - 16-08 22:30:00 @ 31.77p 100%, 16-08 22:30:00 - 16-08 23:00:00 @ 29.81p 100%, 16-08 23:00:00 - 16-08 23:30:00 @ 27.8p 100%, 16-08 23:30:00 - 17-08 00:00:00 @ 29.09p 100%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.47p 100%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.18p 100%, 17-08 01:00:00 - 17-08 01:30:00 @ 27.57p 100%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.5p 100%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.6p 100%, 17-08 02:30:00 - 17-08 03:00:00 @ 24.79p 100%, 17-08 03:00:00 - 17-08 03:30:00 @ 25.08p 100%, 17-08 03:30:00 - 17-08 04:00:00 @ 24.62p 100%, 17-08 04:00:00 - 17-08 04:30:00 @ 27.02p 100%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.47p 100%, 17-08 05:00:00 - 17-08 05:30:00 @ 26.25p 100%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.4p 100%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.7p 100%, 17-08 06:30:00 - 17-08 07:00:00 @ 27.63p 100%, 17-08 07:00:00 - 17-08 07:30:00 @ 22.73p 100%, 17-08 07:30:00 - 17-08 08:00:00 @ 26.7p 100%, 17-08 08:00:00 - 17-08 08:30:00 @ 22.92p 100%, 17-08 08:30:00 - 17-08 09:00:00 @ 22.48p 100%, 17-08 09:00:00 - 17-08 09:30:00 @ 23.55p 100%, 17-08 09:30:00 - 17-08 10:00:00 @ 23.64p 100% ] reserve 1.12
2026-08-15 09:55:52.408659: Unclipped charge windows [ 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 14:00:00 @ 15.55p 100%, 15-08 14:00:00 - 15-08 16:00:00 @ 15.23p 98%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 10:00:00 @ 23.56p 100% ] reserve 1.12
2026-08-15 09:55:52.409439: Unfiltered charge windows [ 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 14:00:00 @ 15.55p 100%, 15-08 14:00:00 - 15-08 16:00:00 @ 15.23p 98%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 10:00:00 @ 23.56p 100% ] reserve 1.12
2026-08-15 09:55:52.410611: Filtered charge windows [ 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 14:00:00 @ 15.55p 100%, 15-08 14:00:00 - 15-08 16:00:00 @ 15.23p 98%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 10:00:00 @ 23.56p 100% ] reserve 1.12
2026-08-15 09:55:52.561150: Previous plan best metric is 571.67 (cost 581.96) and new plan best metric is 571.67 (cost 581.96)
2026-08-15 09:55:52.561573: New plan metric is not significantly better (metric_min_improvement_plan 2.0) than previous plan, using previous plan
2026-08-15 09:55:52.561841: Plan valid is now true after recompute was False
2026-08-15 09:55:52.613726: predict base end_record 08-16 11:30:00, final soc 1.12kWh, metric 795.96p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 10:25:00, load 26.19kWh, PV 0.0kWh
2026-08-15 09:55:52.825819: Battery has 0.5 hours left - now at 1.6kWh
2026-08-15 09:55:52.948176: predict base10 end_record 08-16 11:30:00, final soc 1.12kWh, metric 819.75p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 10:25:00, load 27.13kWh, PV 0.0kWh
2026-08-15 09:55:53.139623: predict best10 end_record 08-16 11:30:00, final soc 1.12kWh, metric 651.67p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 10:25:00, load 27.13kWh, PV 0.0kWh
2026-08-15 09:55:53.377109: predict best end_record 08-16 11:30:00, final soc 1.12kWh, metric 631.94p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 10:25:00, load 26.19kWh, PV 0.0kWh
2026-08-15 09:55:53.377339: Saving plan best values to HA entities
2026-08-15 09:55:53.781179: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 09:55:53.789967: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0.0
2026-08-15 09:55:53.813822: Best charging limit SoC's [16.0, 3.5, 4.0, 16.0, 15.75, 16.0, 16.0]kWh, export []kWh gives import battery 19.9kWh, house 1.53kWh, export 0.0kWh, metric 631.94p, metric10 651.67p
2026-08-15 09:55:53.990530: Marginal costs baseline metric (no standing charge): 581.9613
2026-08-15 09:55:54.376779: Marginal energy costs matrix computed: min=14.33 max=33.39
2026-08-15 09:55:54.557899: Rate array import [{'start': 595, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 23.6p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1860, 'rate': 'expensive', 'range': '(24.6p - 32.9p)'}, {'start': 1860, 'end': 1890, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 1890, 'end': 1920, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 1920, 'end': 2130, 'rate': 'cheap', 'range': '(16.6p - 23.6p)'}] export [{'start': 595, 'end': 2130, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 09:55:54.558974: - Your estimated bill for today is £5.74 and tomorrow is £5.42
2026-08-15 09:55:54.559075: - Import rates are cheap (13.8p - 23.6p) for the next 6 hours and then expensive (33.1p) for the next 1 hour.
2026-08-15 09:55:54.559167: - The battery is currently at 10% and is in eco mode for the next 1 and a half hours.
2026-08-15 09:55:54.559309: - For the next 48 hours there will be no solar generation.
2026-08-15 09:55:54.559356: - You will run out of battery in 30 minutes.
2026-08-15 09:55:54.559382: - Your next charge slot will be in 1 and a half hours where import rates will be cheap (15.5p).
2026-08-15 09:55:54.559455: 
2026-08-15 09:55:54.631957: Plan calculation took 48.83 seconds
2026-08-15 09:55:54.632228: Inverter 0: Type SK Sunsynk
2026-08-15 09:55:54.632275: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 09:55:54.632459: Reserve min: 7%, battery_min: 7%
2026-08-15 09:55:54.632529: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 09:55:54.632816: Inverter 0 SoC: 1.6kW 10%, current charge rate 5000W, current discharge rate 5250W, current battery power 370W, current battery voltage 51.2V, grid power -54W, load power 424W, PV Power 0W
2026-08-15 09:55:54.633087: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 09:55:54.633208: Inverter 0 scheduled charge enable is False
2026-08-15 09:55:54.633247: Inverter 0 charge windows currently []
2026-08-15 09:55:54.633275: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 09:55:54.633399: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 09:55:54.633450: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 09:55:54.633548: Inverter 0 scheduled discharge enable is False
2026-08-15 09:55:54.633774: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 09:55:54.633823: Inverter 0 discharge windows currently []
2026-08-15 09:55:54.633848: Note: Inverter does not support discharge freeze - disabled
2026-08-15 09:55:54.633882: Note: Inverter does not support charge freeze - disabled
2026-08-15 09:55:54.633916: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 09:55:54.767806: Inverter 0 Charge window will be: 2026-08-15 11:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 10%, target 100%
2026-08-15 09:55:54.768213: Inverter 0 disabled charge window while waiting for schedule (now 08-15 09:55:00 target set_window_minutes 30 charge start time 08-15 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 09:55:54.768334: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 09:55:54.768618: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 09:55:54.768722: No export window planned
2026-08-15 09:55:54.768888: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 09:55:54.768937: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 09:55:54.769171: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 09:55:54.769363: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 09:55:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 09:55:54.769423: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 09:55:54.769486: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 09:55:54.769608: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 09:55:54.776040: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 09:55:54.776151: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 09:55:54.776193: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 09:55:54.776240: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 09:55:54.776273: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 09:55:54.776306: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 09:55:54.776420: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 09:55:54.776475: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 09:55:54.776509: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 09:55:54.776553: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 09:55:54.776585: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 09:55:54.776617: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 09:55:54.776653: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 09:55:54.776685: Inverter 0 count register writes 0
2026-08-15 09:55:54.883839: Total inverter register writes now 815
2026-08-15 09:55:54.994958: Info: Completed run status Demand
2026-08-15 09:55:55.014514: Info: record_status Demand
2026-08-15 09:55:55.037510: Saved current settings to /config/predbat_config.json
2026-08-15 09:55:55.037864: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 09:56:20.911648: ML Predictor: Epoch 20/30: lr=0.00034 huber_loss=0.0059 val_mae=0.0017 kWh val_bias=-0.0004 kWh (-0.8%) combined=0.0012 kWh ema_combined=0.0014 kWh
2026-08-15 09:56:27.286671: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 09:56:27.287024: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 09:56:27.287079: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 09:56:27.287248: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 09:56:27.287295: Note: Inverter does not support discharge freeze - disabled
2026-08-15 09:56:27.287322: Note: Inverter does not support charge freeze - disabled
2026-08-15 09:56:27.287354: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 09:56:50.751402: ML Predictor: Epoch 21/30: lr=0.00030 huber_loss=0.0061 val_mae=0.0019 kWh val_bias=-0.0010 kWh (-1.7%) combined=0.0017 kWh ema_combined=0.0015 kWh
2026-08-15 09:57:18.647717: ML Predictor: Epoch 22/30: lr=0.00026 huber_loss=0.0058 val_mae=0.0017 kWh val_bias=-0.0001 kWh (-0.2%) combined=0.0009 kWh ema_combined=0.0013 kWh
2026-08-15 09:57:49.258883: ML Predictor: Epoch 23/30: lr=0.00022 huber_loss=0.0053 val_mae=0.0016 kWh val_bias=-0.0006 kWh (-1.0%) combined=0.0012 kWh ema_combined=0.0013 kWh
2026-08-15 09:58:01.249356: TemperatureAPI: Using coordinates latitude 53.4, longitude -2.2
2026-08-15 09:58:01.416359: TemperatureAPI: Successfully fetched temperature data from Open-Meteo API
2026-08-15 09:58:18.692587: ML Predictor: Epoch 24/30: lr=0.00019 huber_loss=0.0053 val_mae=0.0016 kWh val_bias=-0.0001 kWh (-0.1%) combined=0.0008 kWh ema_combined=0.0011 kWh
2026-08-15 09:58:41.873506: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 09:58:41.873764: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 09:58:41.873807: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 09:58:41.873998: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 09:58:41.874045: Note: Inverter does not support discharge freeze - disabled
2026-08-15 09:58:41.874064: Note: Inverter does not support charge freeze - disabled
2026-08-15 09:58:41.874079: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 09:58:51.001475: ML Predictor: Epoch 25/30: lr=0.00016 huber_loss=0.0054 val_mae=0.0016 kWh val_bias=+0.0000 kWh (+0.0%) combined=0.0009 kWh ema_combined=0.0011 kWh
2026-08-15 09:59:21.655555: ML Predictor: Epoch 26/30: lr=0.00014 huber_loss=0.0054 val_mae=0.0015 kWh val_bias=+0.0001 kWh (+0.1%) combined=0.0009 kWh ema_combined=0.0010 kWh
2026-08-15 09:59:52.627420: ML Predictor: Epoch 27/30: lr=0.00012 huber_loss=0.0055 val_mae=0.0016 kWh val_bias=+0.0002 kWh (+0.3%) combined=0.0009 kWh ema_combined=0.0010 kWh
2026-08-15 10:00:00.291399: --------------- PredBat - update at 2026-08-15 10:00:00+01:00 with clock skew 0 minutes, minutes now 600
2026-08-15 10:00:00.292596: Saved current settings to /config/predbat_config.json
2026-08-15 10:00:00.292861: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 110.0 minutes
2026-08-15 10:00:00.293143: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.1, latest beta is v8.48.1
2026-08-15 10:00:00.293338: Autoupdate: Currently up to date
2026-08-15 10:00:00.350130: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 10:00:00.350451: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 10:00:00.350798: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 10:00:00.351544: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 10:00:00.351825: Predbat mode is set to Control charge & discharge
2026-08-15 10:00:00.725531: Found 21602 load_today datapoints going back 28 days
2026-08-15 10:00:00.726081: Using load_power data to fill gaps in load_today data
2026-08-15 10:00:02.050273: Processing 721 30-minute periods for power integration
2026-08-15 10:00:02.272051: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 10:00:02.272271: Car charging hold False, threshold 6.0kWh
2026-08-15 10:00:02.272325: Current data so far today: load 6.65kWh, import 7.8kWh, export 0.0kWh, PV 0kWh
2026-08-15 10:00:02.285364: Cars: SoC: [12.892000000000001]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 10:00:02.285820: Standing charge is set to 49.98p
2026-08-15 10:00:02.367011: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 10:00:02.367167: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 10:00:02.367438: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 30.0 minutes
2026-08-15 10:00:02.368140: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 30.0 minutes
2026-08-15 10:00:02.373423: Loaded 47 datapoints of futurerate analysis
2026-08-15 10:00:02.621032: Predicted future rates: ['08-15 00:00:00 => 28.9 / 20.01', '08-15 01:00:00 => 27.54 / 19.31', '08-15 02:00:00 => 26.52 / 18.8', '08-15 03:00:00 => 25.99 / 18.53', '08-15 04:00:00 => 25.8 / 18.43', '08-15 05:00:00 => 25.96 / 18.51', '08-15 06:00:00 => 25.55 / 18.3', '08-15 07:00:00 => 24.33 / 17.68', '08-15 08:00:00 => 23.03 / 17.01', '08-15 09:00:00 => 22.05 / 16.51', '08-15 10:00:00 => 20.43 / 15.68', '08-15 11:00:00 => 18.01 / 14.45', '08-15 12:00:00 => 16.37 / 13.61', '08-15 13:00:00 => 15.76 / 13.3', '08-15 14:00:00 => 15.35 / 13.09', '08-15 15:00:00 => 15.86 / 13.35', '08-15 16:00:00 => 32.89 / 16.13', '08-15 17:00:00 => 38.02 / 18.75', '08-15 18:00:00 => 42.36 / 20.96', '08-15 19:00:00 => 31.09 / 21.13', '08-15 20:00:00 => 31.64 / 21.41', '08-15 21:00:00 => 31.64 / 21.41', '08-15 22:00:00 => 30.58 / 20.87']
2026-08-15 10:00:02.739833: Rate min forward looking: now 13.77p at end of forecast 13.77p
2026-08-15 10:00:02.740342: Import rates: min 13.77p, max 43.82p, average 25.96p
2026-08-15 10:00:02.796733: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 10:00:02.796968: Rate thresholds (for charge/export) are import 43.32p (0.0p), export -0.1p (0.0p)
2026-08-15 10:00:02.798229: High export rate found rates in range 99p to -99p
2026-08-15 10:00:03.024295: Low Import rate found rates in range 13.77p to 41.55p
2026-08-15 10:00:03.024575: Car 0 charging is not planned as it is not plugged in
2026-08-15 10:00:03.069314: Battery level now 1.6kWh, -1hr ago 1.91kWh, at midnight 1.66kWh, battery value change in the last hour -3.69p, change today -0.66p, rate_forward 11.83p
2026-08-15 10:00:03.070036: Last hour: net energy 0.35kWh, import 0.35kWh, export 0.0kWh, car 0kWh, load 0.48kWh, net cost 8.25p, import 8.25p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 10:00:03.298528: Today's energy total net 7.8kWh, import 7.8kWh, export 0.0kWh, cost 254.46p, import 204.47p, export 0.0p, carbon 0.0kg
2026-08-15 10:00:03.298686: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 10:00:03.430639: Using weighted-bucket historical load forecast over 14 days
2026-08-15 10:00:03.461154: Today's load divergence 106.99%, in-day adjustment 128.3%, damping 0.95x, yesterday 143.77% today 106.64% blend 58.33%
2026-08-15 10:00:03.461990: Today's predicted so far 5.56kWh with 0.0kWh car/iBoost excluded, 3.11kWh import ignored, and 5.56kWh forecast extra.
2026-08-15 10:00:03.462077: Today's actual load so far 6.73kWh with 0.0kWh car/iBoost excluded, and 3.11kWh import ignored.
2026-08-15 10:00:03.523445: Inverter 0: Type SK Sunsynk
2026-08-15 10:00:03.523559: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 10:00:03.523799: Reserve min: 7%, battery_min: 7%
2026-08-15 10:00:03.523884: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 10:00:03.524619: Inverter 0 SoC: 1.6kW 10%, current charge rate 5000W, current discharge rate 5250W, current battery power 307W, current battery voltage 51.2V, grid power -54W, load power 364W, PV Power 0W
2026-08-15 10:00:03.524861: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 10:00:03.524993: Inverter 0 scheduled charge enable is False
2026-08-15 10:00:03.525043: Inverter 0 charge windows currently []
2026-08-15 10:00:03.525079: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 10:00:03.525222: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 10:00:03.525277: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 10:00:03.525324: Inverter 0 scheduled discharge enable is False
2026-08-15 10:00:03.525499: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 10:00:03.525542: Inverter 0 discharge windows currently []
2026-08-15 10:00:03.525604: Note: Inverter does not support discharge freeze - disabled
2026-08-15 10:00:03.525628: Note: Inverter does not support charge freeze - disabled
2026-08-15 10:00:03.525658: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 10:00:03.618199: Dynamic load last period 0.60kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 10:00:03.618308: Plan was last updated on 2026-08-15 09:55:00+01:00 and is now 5.0 minutes old
2026-08-15 10:00:03.618568: Best charge window [ 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 14:00:00 @ 15.55p 100%, 15-08 14:00:00 - 15-08 16:00:00 @ 15.23p 98%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 10:00:00 @ 23.56p 100% ]
2026-08-15 10:00:03.618608: Best export window [  ]
2026-08-15 10:00:03.619288: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 10:00:03.624062: Load divergence over 8.0 hours mean 634.59W, min 281.4W, max 1607.4W, std dev 336.24W, divergence 26.49%
2026-08-15 10:00:03.643153: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 10:00:03.643272: LoadML is_calculating True
2026-08-15 10:00:03.643297: Not using thread pool as LoadML is calculating to avoid lockups
2026-08-15 10:00:03.681402: predict base end_record 08-16 11:35:00, final soc 1.12kWh, metric 796.04p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 10:30:00, load 26.47kWh, PV 0.0kWh
2026-08-15 10:00:03.904209: Battery has 0.5 hours left - now at 1.6kWh
2026-08-15 10:00:04.009544: predict base10 end_record 08-16 11:35:00, final soc 1.12kWh, metric 819.79p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 10:30:00, load 27.41kWh, PV 0.0kWh
2026-08-15 10:00:04.169531: predict best10 end_record 08-16 11:35:00, final soc 1.44kWh, metric 657.14p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 10:30:00, load 27.41kWh, PV 0.0kWh
2026-08-15 10:00:04.509499: predict best end_record 08-16 11:35:00, final soc 1.51kWh, metric 638.61p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 10:30:00, load 26.47kWh, PV 0.0kWh
2026-08-15 10:00:04.509619: Saving plan best values to HA entities
2026-08-15 10:00:04.994331: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 10:00:05.003820: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0.0
2026-08-15 10:00:05.012717: Best charging limit SoC's [16.0, 3.5, 4.0, 16.0, 15.75, 16.0, 16.0]kWh, export []kWh gives import battery 20.41kWh, house 1.46kWh, export 0.0kWh, metric 638.61p, metric10 657.14p
2026-08-15 10:00:05.174146: Marginal costs baseline metric (no standing charge): 588.6225
2026-08-15 10:00:05.755875: Marginal energy costs matrix computed: min=14.17 max=33.53
2026-08-15 10:00:05.942714: Rate array import [{'start': 600, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 19.7p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1860, 'rate': 'expensive', 'range': '(24.6p - 32.9p)'}, {'start': 1860, 'end': 1890, 'rate': 'cheap', 'range': '(22.7p)'}, {'start': 1890, 'end': 1920, 'rate': 'expensive', 'range': '(26.7p)'}, {'start': 1920, 'end': 2135, 'rate': 'cheap', 'range': '(15.5p - 23.6p)'}] export [{'start': 600, 'end': 2135, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 10:00:05.943611: - Your estimated bill for today is £5.73 and tomorrow is £5.40
2026-08-15 10:00:05.943665: - Import rates are cheap (13.8p - 19.7p) for the next 6 hours and then expensive (33.1p) for the next 1 hour.
2026-08-15 10:00:05.943694: - The battery is currently at 10% and is in eco mode for the next 1 and a half hours.
2026-08-15 10:00:05.943769: - For the next 48 hours there will be no solar generation.
2026-08-15 10:00:05.943799: - You will run out of battery in 30 minutes.
2026-08-15 10:00:05.943833: - Your next charge slot will be in 1 and a half hours where import rates will be cheap (15.5p).
2026-08-15 10:00:05.943858: 
2026-08-15 10:00:06.021622: Plan calculation took 2.40 seconds
2026-08-15 10:00:06.026692: No high rate period found
2026-08-15 10:00:06.168081: Import threshold used for optimisation was 17.0p
2026-08-15 10:00:06.351716: Low import rate windows [0: 08-15 10:00:00 - 08-15 10:30:00 @ 19.66, 1: 08-15 10:30:00 - 08-15 11:00:00 @ 17.66, 2: 08-15 11:00:00 - 08-15 11:30:00 @ 16.56, 3: 08-15 11:30:00 - 08-15 12:00:00 @ 15.46, 4: 08-15 12:00:00 - 08-15 12:30:00 @ 17.0, 5: 08-15 12:30:00 - 08-15 13:00:00 @ 16.34, 6: 08-15 13:00:00 - 08-15 13:30:00 @ 15.36, 7: 08-15 13:30:00 - 08-15 14:00:00 @ 15.74, 8: 08-15 14:00:00 - 08-15 14:30:00 @ 14.57, 9: 08-15 14:30:00 - 08-15 15:00:00 @ 13.77, 10: 08-15 15:00:00 - 08-15 15:30:00 @ 15.02, 11: 08-15 15:30:00 - 08-15 16:00:00 @ 15.87, 12: 08-15 16:00:00 - 08-15 16:30:00 @ 33.13, 13: 08-15 16:30:00 - 08-15 17:00:00 @ 33.13, 14: 08-15 17:00:00 - 08-15 17:30:00 @ 38.46, 15: 08-15 17:30:00 - 08-15 18:00:00 @ 40.44, 16: 08-15 18:00:00 - 08-15 18:30:00 @ 41.55, 17: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 18: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 19: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 20: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 21: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 22: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 23: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 24: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 25: 08-15 23:00:00 - 08-15 23:30:00 @ 27.8, 26: 08-15 23:30:00 - 08-16 00:00:00 @ 29.09, 27: 08-16 00:00:00 - 08-16 00:30:00 @ 28.47, 28: 08-16 00:30:00 - 08-16 01:00:00 @ 27.18, 29: 08-16 01:00:00 - 08-16 01:30:00 @ 27.57, 30: 08-16 01:30:00 - 08-16 02:00:00 @ 26.5, 31: 08-16 02:00:00 - 08-16 02:30:00 @ 25.6, 32: 08-16 02:30:00 - 08-16 03:00:00 @ 24.79, 33: 08-16 03:00:00 - 08-16 03:30:00 @ 25.08, 34: 08-16 03:30:00 - 08-16 04:00:00 @ 24.62, 35: 08-16 04:00:00 - 08-16 04:30:00 @ 27.02, 36: 08-16 04:30:00 - 08-16 05:00:00 @ 26.47, 37: 08-16 05:00:00 - 08-16 05:30:00 @ 26.25, 38: 08-16 05:30:00 - 08-16 06:00:00 @ 26.4, 39: 08-16 06:00:00 - 08-16 06:30:00 @ 25.7, 40: 08-16 06:30:00 - 08-16 07:00:00 @ 27.63, 41: 08-16 07:00:00 - 08-16 07:30:00 @ 22.73, 42: 08-16 07:30:00 - 08-16 08:00:00 @ 26.7, 43: 08-16 08:00:00 - 08-16 08:30:00 @ 22.92, 44: 08-16 08:30:00 - 08-16 09:00:00 @ 22.48, 45: 08-16 09:00:00 - 08-16 09:30:00 @ 23.55, 46: 08-16 09:30:00 - 08-16 10:00:00 @ 23.64, 47: 08-16 10:00:00 - 08-16 10:30:00 @ 19.66, 48: 08-16 10:30:00 - 08-16 11:00:00 @ 17.66, 49: 08-16 11:00:00 - 08-16 11:30:00 @ 16.56, 50: 08-16 11:30:00 - 08-16 12:00:00 @ 15.46, 51: 08-16 12:00:00 - 08-16 12:30:00 @ 17.0, 52: 08-16 12:30:00 - 08-16 13:00:00 @ 16.34, 53: 08-16 13:00:00 - 08-16 13:30:00 @ 15.36, 54: 08-16 13:30:00 - 08-16 14:00:00 @ 15.74, 55: 08-16 14:00:00 - 08-16 14:30:00 @ 14.57, 56: 08-16 14:30:00 - 08-16 15:00:00 @ 13.77, 57: 08-16 15:00:00 - 08-16 15:30:00 @ 15.02, 58: 08-16 15:30:00 - 08-16 16:00:00 @ 15.87, 59: 08-16 16:00:00 - 08-16 16:30:00 @ 33.13, 60: 08-16 16:30:00 - 08-16 17:00:00 @ 33.13, 61: 08-16 17:00:00 - 08-16 17:30:00 @ 38.46, 62: 08-16 17:30:00 - 08-16 18:00:00 @ 40.44, 63: 08-16 18:00:00 - 08-16 18:30:00 @ 41.55, 64: 08-16 19:00:00 - 08-16 19:30:00 @ 32.58, 65: 08-16 19:30:00 - 08-16 20:00:00 @ 32.9, 66: 08-16 20:00:00 - 08-16 20:30:00 @ 31.99, 67: 08-16 20:30:00 - 08-16 21:00:00 @ 32.1, 68: 08-16 21:00:00 - 08-16 21:30:00 @ 31.71, 69: 08-16 21:30:00 - 08-16 22:00:00 @ 31.67, 70: 08-16 22:00:00 - 08-16 22:30:00 @ 31.77, 71: 08-16 22:30:00 - 08-16 23:00:00 @ 29.81, 72: 08-16 23:00:00 - 08-16 23:30:00 @ 27.8, 73: 08-16 23:30:00 - 08-17 00:00:00 @ 29.09, 74: 08-17 00:00:00 - 08-17 00:30:00 @ 28.47, 75: 08-17 00:30:00 - 08-17 01:00:00 @ 27.18, 76: 08-17 01:00:00 - 08-17 01:30:00 @ 27.57, 77: 08-17 01:30:00 - 08-17 02:00:00 @ 26.5, 78: 08-17 02:00:00 - 08-17 02:30:00 @ 25.6, 79: 08-17 02:30:00 - 08-17 03:00:00 @ 24.79, 80: 08-17 03:00:00 - 08-17 03:30:00 @ 25.08, 81: 08-17 03:30:00 - 08-17 04:00:00 @ 24.62, 82: 08-17 04:00:00 - 08-17 04:30:00 @ 27.02, 83: 08-17 04:30:00 - 08-17 05:00:00 @ 26.47, 84: 08-17 05:00:00 - 08-17 05:30:00 @ 26.25, 85: 08-17 05:30:00 - 08-17 06:00:00 @ 26.4, 86: 08-17 06:00:00 - 08-17 06:30:00 @ 25.7, 87: 08-17 06:30:00 - 08-17 07:00:00 @ 27.63, 88: 08-17 07:00:00 - 08-17 07:30:00 @ 22.73, 89: 08-17 07:30:00 - 08-17 08:00:00 @ 26.7, 90: 08-17 08:00:00 - 08-17 08:30:00 @ 22.92, 91: 08-17 08:30:00 - 08-17 09:00:00 @ 22.48, 92: 08-17 09:00:00 - 08-17 09:30:00 @ 23.55, 93: 08-17 09:30:00 - 08-17 10:00:00 @ 23.64]
2026-08-15 10:00:06.395855: Inverter 0 Charge window will be: 2026-08-15 11:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 10%, target 100%
2026-08-15 10:00:06.396046: Inverter 0 disabled charge window while waiting for schedule (now 08-15 10:00:00 target set_window_minutes 30 charge start time 08-15 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 10:00:06.396142: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 10:00:06.396386: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 10:00:06.396483: No export window planned
2026-08-15 10:00:06.396615: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 10:00:06.396659: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 10:00:06.396851: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 10:00:06.397072: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 10:00:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 10:00:06.397141: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 10:00:06.397206: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 10:00:06.397302: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 10:00:06.397351: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 10:00:06.397396: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 10:00:06.397430: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 10:00:06.397464: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 10:00:06.397506: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 10:00:06.397540: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 10:00:06.397622: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 10:00:06.397667: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 10:00:06.397702: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 10:00:06.401756: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 10:00:06.401838: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 10:00:06.401940: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 10:00:06.401980: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 10:00:06.402035: Inverter 0 count register writes 0
2026-08-15 10:00:06.459944: Will not recompute the plan, it is 5.0 minutes old and max age is 10 minutes
2026-08-15 10:00:06.470153: Total inverter register writes now 815
2026-08-15 10:00:06.521528: Info: Completed run status Demand
2026-08-15 10:00:06.533570: Info: record_status Demand
2026-08-15 10:00:06.562665: Saved current settings to /config/predbat_config.json
2026-08-15 10:00:06.563027: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 10:00:31.590662: ML Predictor: Epoch 28/30: lr=0.00011 huber_loss=0.0050 val_mae=0.0015 kWh val_bias=-0.0003 kWh (-0.5%) combined=0.0011 kWh ema_combined=0.0010 kWh
2026-08-15 10:00:33.433665: Info: HAHistory: Pruning history data started.
2026-08-15 10:00:33.437599: Info: HAHistory: Pruning history data completed.
2026-08-15 10:00:41.723729: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 10:00:41.724045: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 10:00:41.724104: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 10:00:41.724296: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 10:00:41.724348: Note: Inverter does not support discharge freeze - disabled
2026-08-15 10:00:41.724377: Note: Inverter does not support charge freeze - disabled
2026-08-15 10:00:41.724405: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 10:00:58.816293: ML Predictor: Epoch 29/30: lr=0.00010 huber_loss=0.0050 val_mae=0.0015 kWh val_bias=+0.0004 kWh (+0.7%) combined=0.0011 kWh ema_combined=0.0010 kWh
2026-08-15 10:01:29.166142: ML Predictor: Epoch 30/30: lr=0.00010 huber_loss=0.0052 val_mae=0.0017 kWh val_bias=-0.0006 kWh (-1.0%) combined=0.0012 kWh ema_combined=0.0011 kWh
2026-08-15 10:01:29.167162: ML Predictor: Restored best weights from epoch with val_mae=0.0016 kWh val_bias=+0.0002 kWh (+0.3%)
2026-08-15 10:01:29.167394: ML Predictor: Training complete, final val_mae=0.0016 kWh val_bias=+0.0002 kWh (+0.3%)
2026-08-15 10:01:34.785262: ML Predictor: AR rollout over holdout: ar_mae=0.0017 kWh ar_bias=+0.0002 kWh (+0.4%) [drift vs teacher-forced: +0.0002 kWh]
2026-08-15 10:01:34.790445: ML Predictor: Curriculum pass 1/5 complete, val_mae=0.0016 kWh
2026-08-15 10:01:34.873942: ML Predictor: Curriculum pass 2/5: window=54.0 days (1296 hours of data)
2026-08-15 10:01:34.874202: ML Predictor: Starting fine-tune training with 30 epochs
2026-08-15 10:01:35.593695: ML Predictor: Creating dataset with 1296 hours of training data, 48 hours validation
2026-08-15 10:01:40.172934: ML Predictor: Created 15264 training samples, 576 validation samples
2026-08-15 10:01:40.220708: ML Predictor: Normalization stats [ema-update alpha=0.1] target(mean=0.0587 std=0.0472) load(mean=0.0589 std=0.0473) pv(mean=0.0000 std=0.0100) temp(mean=19.4873 std=4.4036) import_rate(mean=25.4977 std=2.4779) export_rate(mean=0.0000 std=1.0000) time(mean=-0.1905 std=0.5233)
2026-08-15 10:01:40.295744: ML Predictor: Applied EMA normalization update (alpha=0.1) to track feature drift
2026-08-15 10:01:40.311115: ML Predictor: Reset Adam optimiser state for fine-tuning
2026-08-15 10:01:40.388306: ML Predictor: Baseline (pre-finetune) val_mae=0.0032 kWh val_bias=-0.0002 kWh
2026-08-15 10:02:11.681744: ML Predictor: Epoch 1/30: lr=0.00100 huber_loss=0.0084 val_mae=0.0032 kWh val_bias=-0.0005 kWh (-1.0%) combined=0.0018 kWh ema_combined=0.0018 kWh
2026-08-15 10:02:40.781078: ML Predictor: Epoch 2/30: lr=0.00100 huber_loss=0.0104 val_mae=0.0033 kWh val_bias=-0.0009 kWh (-1.7%) combined=0.0020 kWh ema_combined=0.0019 kWh
2026-08-15 10:02:42.283904: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 10:02:42.284355: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 10:02:42.284524: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 10:02:42.284885: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 10:02:42.285045: Note: Inverter does not support discharge freeze - disabled
2026-08-15 10:02:42.285146: Note: Inverter does not support charge freeze - disabled
2026-08-15 10:02:42.285423: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 10:03:12.192629: ML Predictor: Epoch 3/30: lr=0.00099 huber_loss=0.0114 val_mae=0.0029 kWh val_bias=-0.0005 kWh (-1.0%) combined=0.0019 kWh ema_combined=0.0019 kWh
2026-08-15 10:03:43.417509: ML Predictor: Epoch 4/30: lr=0.00098 huber_loss=0.0123 val_mae=0.0031 kWh val_bias=+0.0005 kWh (+0.9%) combined=0.0019 kWh ema_combined=0.0019 kWh
2026-08-15 10:04:17.048351: ML Predictor: Epoch 5/30: lr=0.00096 huber_loss=0.0105 val_mae=0.0027 kWh val_bias=-0.0000 kWh (-0.1%) combined=0.0015 kWh ema_combined=0.0018 kWh
2026-08-15 10:04:46.705946: ML Predictor: Epoch 6/30: lr=0.00094 huber_loss=0.0108 val_mae=0.0025 kWh val_bias=-0.0007 kWh (-1.3%) combined=0.0020 kWh ema_combined=0.0018 kWh
2026-08-15 10:04:56.828233: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 10:04:56.828517: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 10:04:56.828584: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 10:04:56.828786: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 10:04:56.828834: Note: Inverter does not support discharge freeze - disabled
2026-08-15 10:04:56.828870: Note: Inverter does not support charge freeze - disabled
2026-08-15 10:04:56.828901: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 10:05:00.069988: --------------- PredBat - update at 2026-08-15 10:05:00+01:00 with clock skew 0 minutes, minutes now 605
2026-08-15 10:05:00.072018: Saved current settings to /config/predbat_config.json
2026-08-15 10:05:00.072407: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 115.0 minutes
2026-08-15 10:05:00.072656: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.1, latest beta is v8.48.1
2026-08-15 10:05:00.072914: Autoupdate: Currently up to date
2026-08-15 10:05:00.149066: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 10:05:00.150376: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 10:05:00.150566: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 10:05:00.151117: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 10:05:00.151315: Predbat mode is set to Control charge & discharge
2026-08-15 10:05:00.659412: Found 21602 load_today datapoints going back 27 days
2026-08-15 10:05:00.659734: Using load_power data to fill gaps in load_today data
2026-08-15 10:05:02.528824: Processing 721 30-minute periods for power integration
2026-08-15 10:05:02.735438: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 10:05:02.735669: Car charging hold False, threshold 6.0kWh
2026-08-15 10:05:02.735749: Current data so far today: load 6.7kWh, import 7.8kWh, export 0.0kWh, PV 0kWh
2026-08-15 10:05:02.755056: Cars: SoC: [12.892000000000001]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 10:05:02.755851: Standing charge is set to 49.98p
2026-08-15 10:05:02.880338: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 10:05:02.880610: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 10:05:03.341936: Loaded 95 datapoints of futurerate analysis
2026-08-15 10:05:03.506104: Predicted future rates: ['08-15 00:00:00 => 28.9 / 20.01', '08-15 01:00:00 => 27.54 / 19.31', '08-15 02:00:00 => 26.52 / 18.8', '08-15 03:00:00 => 25.99 / 18.53', '08-15 04:00:00 => 25.8 / 18.43', '08-15 05:00:00 => 25.96 / 18.51', '08-15 06:00:00 => 25.55 / 18.3', '08-15 07:00:00 => 24.33 / 17.68', '08-15 08:00:00 => 23.03 / 17.01', '08-15 09:00:00 => 22.05 / 16.51', '08-15 10:00:00 => 20.43 / 15.68', '08-15 11:00:00 => 18.01 / 14.45', '08-15 12:00:00 => 16.37 / 13.61', '08-15 13:00:00 => 15.76 / 13.3', '08-15 14:00:00 => 15.35 / 13.09', '08-15 15:00:00 => 15.86 / 13.35', '08-15 16:00:00 => 32.89 / 16.13', '08-15 17:00:00 => 38.02 / 18.75', '08-15 18:00:00 => 42.36 / 20.96', '08-15 19:00:00 => 31.09 / 21.13', '08-15 20:00:00 => 31.64 / 21.41', '08-15 21:00:00 => 31.64 / 21.41', '08-15 22:00:00 => 30.58 / 20.87', '08-15 23:00:00 => 29.37 / 20.25', '08-16 00:00:00 => 28.83 / 19.97', '08-16 01:00:00 => 27.73 / 19.41', '08-16 02:00:00 => 26.76 / 18.92', '08-16 03:00:00 => 26.39 / 18.73', '08-16 04:00:00 => 26.33 / 18.7', '08-16 05:00:00 => 26.23 / 18.65', '08-16 06:00:00 => 25.99 / 18.53', '08-16 07:00:00 => 25.64 / 18.35', '08-16 08:00:00 => 24.84 / 17.94', '08-16 09:00:00 => 24.26 / 17.64']
2026-08-15 10:05:03.613438: Rate min forward looking: now 13.77p at end of forecast 21.29p
2026-08-15 10:05:03.614085: Import rates: min 13.77p, max 46.05p, average 27.46p
2026-08-15 10:05:03.720851: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 10:05:03.721214: Rate thresholds (for charge/export) are import 45.55p (0.0p), export -0.1p (0.0p)
2026-08-15 10:05:03.723590: High export rate found rates in range 99p to -99p
2026-08-15 10:05:03.885945: Low Import rate found rates in range 13.77p to 44.19p
2026-08-15 10:05:03.886417: Car 0 charging is not planned as it is not plugged in
2026-08-15 10:05:03.905567: Battery level now 1.6kWh, -1hr ago 1.91kWh, at midnight 1.66kWh, battery value change in the last hour -3.69p, change today -0.66p, rate_forward 11.83p
2026-08-15 10:05:03.906161: Last hour: net energy 0.1kWh, import 0.1kWh, export 0.0kWh, car 0kWh, load 0.5kWh, net cost 2.36p, import 2.36p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 10:05:04.034506: Today's energy total net 7.8kWh, import 7.8kWh, export 0.0kWh, cost 254.46p, import 204.47p, export 0.0p, carbon 0.0kg
2026-08-15 10:05:04.034635: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 10:05:04.197511: Using weighted-bucket historical load forecast over 14 days
2026-08-15 10:05:04.259817: Today's load divergence 107.17%, in-day adjustment 128.24%, damping 0.95x, yesterday 143.77% today 106.81% blend 57.99%
2026-08-15 10:05:04.260089: Today's predicted so far 5.65kWh with 0.0kWh car/iBoost excluded, 3.18kWh import ignored, and 5.65kWh forecast extra.
2026-08-15 10:05:04.260249: Today's actual load so far 6.85kWh with 0.0kWh car/iBoost excluded, and 3.18kWh import ignored.
2026-08-15 10:05:04.369413: Inverter 0: Type SK Sunsynk
2026-08-15 10:05:04.369542: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 10:05:04.369847: Reserve min: 7%, battery_min: 7%
2026-08-15 10:05:04.369968: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 10:05:04.370407: Inverter 0 SoC: 1.6kW 10%, current charge rate 5000W, current discharge rate 5250W, current battery power 380W, current battery voltage 51.2V, grid power -53W, load power 434W, PV Power 0W
2026-08-15 10:05:04.370686: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 10:05:04.370841: Inverter 0 scheduled charge enable is False
2026-08-15 10:05:04.370920: Inverter 0 charge windows currently []
2026-08-15 10:05:04.370965: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 10:05:04.371129: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 10:05:04.371170: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 10:05:04.371222: Inverter 0 scheduled discharge enable is False
2026-08-15 10:05:04.371411: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 10:05:04.371470: Inverter 0 discharge windows currently []
2026-08-15 10:05:04.371514: Note: Inverter does not support discharge freeze - disabled
2026-08-15 10:05:04.371542: Note: Inverter does not support charge freeze - disabled
2026-08-15 10:05:04.371575: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 10:05:04.568178: Dynamic load last period 0.60kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 10:05:04.568333: Plan was last updated on 2026-08-15 09:55:00+01:00 and is now 10.0 minutes old
2026-08-15 10:05:04.568864: Best charge window [ 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 14:00:00 @ 15.55p 100%, 15-08 14:00:00 - 15-08 16:00:00 @ 15.23p 98%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 10:00:00 @ 23.56p 100% ]
2026-08-15 10:05:04.568928: Best export window [  ]
2026-08-15 10:05:04.570403: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 10:05:04.574005: Load divergence over 8.0 hours mean 634.59W, min 294.0W, max 1564.2W, std dev 328.1W, divergence 25.85%
2026-08-15 10:05:04.593772: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 10:05:04.594000: LoadML is_calculating True
2026-08-15 10:05:04.594039: Not using thread pool as LoadML is calculating to avoid lockups
2026-08-15 10:05:04.642856: predict base end_record 08-16 11:40:00, final soc 1.12kWh, metric 809.75p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 10:35:00, load 26.52kWh, PV 0.0kWh
2026-08-15 10:05:04.898350: Battery has 0.5 hours left - now at 1.6kWh
2026-08-15 10:05:04.996901: predict base10 end_record 08-16 11:40:00, final soc 1.12kWh, metric 834.18p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 10:30:00, load 27.47kWh, PV 0.0kWh
2026-08-15 10:05:05.215617: predict best10 end_record 08-16 11:40:00, final soc 1.77kWh, metric 678.22p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 10:30:00, load 27.47kWh, PV 0.0kWh
2026-08-15 10:05:05.345000: predict best end_record 08-16 11:40:00, final soc 1.9kWh, metric 656.97p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 10:35:00, load 26.52kWh, PV 0.0kWh
2026-08-15 10:05:05.345144: Saving plan best values to HA entities
2026-08-15 10:05:05.871248: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 10:05:05.878331: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0.0
2026-08-15 10:05:05.885573: Best charging limit SoC's [16.0, 3.5, 4.0, 16.0, 15.75, 16.0, 16.0]kWh, export []kWh gives import battery 20.94kWh, house 1.36kWh, export 0.0kWh, metric 656.97p, metric10 678.22p
2026-08-15 10:05:06.015394: Marginal costs baseline metric (no standing charge): 606.9864
2026-08-15 10:05:06.605199: Marginal energy costs matrix computed: min=14.21 max=33.89
2026-08-15 10:05:06.872861: Rate array import [{'start': 605, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 19.7p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1950, 'rate': 'expensive', 'range': '(24.8p - 32.9p)'}, {'start': 1950, 'end': 2040, 'rate': 'cheap', 'range': '(24.2p - 24.3p)'}, {'start': 2040, 'end': 2130, 'rate': 'expensive', 'range': '(24.7p - 25.4p)'}, {'start': 2130, 'end': 2140, 'rate': 'cheap', 'range': '(24.0p)'}] export [{'start': 605, 'end': 2140, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 10:05:06.873878: - Your estimated bill for today is £5.72 and tomorrow is £6.93
2026-08-15 10:05:06.873966: - Import rates are cheap (13.8p - 19.7p) for the next 5  hours and then expensive (33.1p) for the next 1 hour.
2026-08-15 10:05:06.874005: - The battery is currently at 10% and is in eco mode for the next 1 and a half hours.
2026-08-15 10:05:06.874037: - For the next 48 hours there will be no solar generation.
2026-08-15 10:05:06.874069: - You will run out of battery in 30 minutes.
2026-08-15 10:05:06.874111: - Your next charge slot will be in 1 and a half hours where import rates will be cheap (15.5p).
2026-08-15 10:05:06.874137: 
2026-08-15 10:05:06.985486: Plan calculation took 2.42 seconds
2026-08-15 10:05:06.990963: No high rate period found
2026-08-15 10:05:07.153555: Import threshold used for optimisation was 17.0p
2026-08-15 10:05:07.320153: Low import rate windows [0: 08-15 10:00:00 - 08-15 10:30:00 @ 19.66, 1: 08-15 10:30:00 - 08-15 11:00:00 @ 17.66, 2: 08-15 11:00:00 - 08-15 11:30:00 @ 16.56, 3: 08-15 11:30:00 - 08-15 12:00:00 @ 15.46, 4: 08-15 12:00:00 - 08-15 12:30:00 @ 17.0, 5: 08-15 12:30:00 - 08-15 13:00:00 @ 16.34, 6: 08-15 13:00:00 - 08-15 13:30:00 @ 15.36, 7: 08-15 13:30:00 - 08-15 14:00:00 @ 15.74, 8: 08-15 14:00:00 - 08-15 14:30:00 @ 14.57, 9: 08-15 14:30:00 - 08-15 15:00:00 @ 13.77, 10: 08-15 15:00:00 - 08-15 15:30:00 @ 15.02, 11: 08-15 15:30:00 - 08-15 16:00:00 @ 15.87, 12: 08-15 16:00:00 - 08-15 16:30:00 @ 33.13, 13: 08-15 16:30:00 - 08-15 17:00:00 @ 33.13, 14: 08-15 17:00:00 - 08-15 17:30:00 @ 38.46, 15: 08-15 17:30:00 - 08-15 18:00:00 @ 40.44, 16: 08-15 18:00:00 - 08-15 18:30:00 @ 41.55, 17: 08-15 18:30:00 - 08-15 19:00:00 @ 43.82, 18: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 19: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 20: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 21: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 22: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 23: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 24: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 25: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 26: 08-15 23:00:00 - 08-15 23:30:00 @ 29.37, 27: 08-15 23:30:00 - 08-16 00:00:00 @ 29.2, 28: 08-16 00:00:00 - 08-16 00:30:00 @ 28.83, 29: 08-16 00:30:00 - 08-16 01:00:00 @ 28.46, 30: 08-16 01:00:00 - 08-16 01:30:00 @ 27.73, 31: 08-16 01:30:00 - 08-16 02:00:00 @ 27.01, 32: 08-16 02:00:00 - 08-16 02:30:00 @ 26.76, 33: 08-16 02:30:00 - 08-16 03:00:00 @ 26.48, 34: 08-16 03:00:00 - 08-16 03:30:00 @ 26.39, 35: 08-16 03:30:00 - 08-16 04:00:00 @ 26.27, 36: 08-16 04:00:00 - 08-16 04:30:00 @ 26.33, 37: 08-16 04:30:00 - 08-16 05:00:00 @ 26.37, 38: 08-16 05:00:00 - 08-16 05:30:00 @ 26.23, 39: 08-16 05:30:00 - 08-16 06:00:00 @ 26.07, 40: 08-16 06:00:00 - 08-16 06:30:00 @ 25.99, 41: 08-16 06:30:00 - 08-16 07:00:00 @ 25.92, 42: 08-16 07:00:00 - 08-16 07:30:00 @ 25.64, 43: 08-16 07:30:00 - 08-16 08:00:00 @ 25.39, 44: 08-16 08:00:00 - 08-16 08:30:00 @ 24.84, 45: 08-16 08:30:00 - 08-16 09:00:00 @ 24.28, 46: 08-16 09:00:00 - 08-16 09:30:00 @ 24.26, 47: 08-16 09:30:00 - 08-16 10:00:00 @ 24.22, 48: 08-16 10:00:00 - 08-16 10:30:00 @ 24.8, 49: 08-16 10:30:00 - 08-16 11:00:00 @ 25.37, 50: 08-16 11:00:00 - 08-16 11:30:00 @ 24.71, 51: 08-16 11:30:00 - 08-16 12:00:00 @ 24.02, 52: 08-16 12:00:00 - 08-16 12:30:00 @ 23.79, 53: 08-16 12:30:00 - 08-16 13:00:00 @ 23.55, 54: 08-16 13:00:00 - 08-16 13:30:00 @ 23.14, 55: 08-16 13:30:00 - 08-16 14:00:00 @ 22.71, 56: 08-16 14:00:00 - 08-16 14:30:00 @ 22.01, 57: 08-16 14:30:00 - 08-16 15:00:00 @ 21.29, 58: 08-16 15:00:00 - 08-16 15:30:00 @ 22.01, 59: 08-16 15:30:00 - 08-16 16:00:00 @ 22.71, 60: 08-16 16:00:00 - 08-16 16:30:00 @ 37.14, 61: 08-16 16:30:00 - 08-16 17:00:00 @ 37.91, 62: 08-16 17:00:00 - 08-16 17:30:00 @ 40.13, 63: 08-16 17:30:00 - 08-16 18:00:00 @ 42.36, 64: 08-16 18:00:00 - 08-16 18:30:00 @ 44.19, 65: 08-16 19:00:00 - 08-16 19:30:00 @ 33.04, 66: 08-16 19:30:00 - 08-16 20:00:00 @ 33.71, 67: 08-16 20:00:00 - 08-16 20:30:00 @ 33.83, 68: 08-16 20:30:00 - 08-16 21:00:00 @ 33.94, 69: 08-16 21:00:00 - 08-16 21:30:00 @ 33.73, 70: 08-16 21:30:00 - 08-16 22:00:00 @ 33.53, 71: 08-16 22:00:00 - 08-16 22:30:00 @ 32.36, 72: 08-16 22:30:00 - 08-16 23:00:00 @ 31.17, 73: 08-16 23:00:00 - 08-16 23:30:00 @ 29.37, 74: 08-16 23:30:00 - 08-17 00:00:00 @ 29.2, 75: 08-17 00:00:00 - 08-17 00:30:00 @ 28.83, 76: 08-17 00:30:00 - 08-17 01:00:00 @ 28.46, 77: 08-17 01:00:00 - 08-17 01:30:00 @ 27.73, 78: 08-17 01:30:00 - 08-17 02:00:00 @ 27.01, 79: 08-17 02:00:00 - 08-17 02:30:00 @ 26.76, 80: 08-17 02:30:00 - 08-17 03:00:00 @ 26.48, 81: 08-17 03:00:00 - 08-17 03:30:00 @ 26.39, 82: 08-17 03:30:00 - 08-17 04:00:00 @ 26.27, 83: 08-17 04:00:00 - 08-17 04:30:00 @ 26.33, 84: 08-17 04:30:00 - 08-17 05:00:00 @ 26.37, 85: 08-17 05:00:00 - 08-17 05:30:00 @ 26.23, 86: 08-17 05:30:00 - 08-17 06:00:00 @ 26.07, 87: 08-17 06:00:00 - 08-17 06:30:00 @ 25.99, 88: 08-17 06:30:00 - 08-17 07:00:00 @ 25.92, 89: 08-17 07:00:00 - 08-17 07:30:00 @ 25.64, 90: 08-17 07:30:00 - 08-17 08:00:00 @ 25.39, 91: 08-17 08:00:00 - 08-17 08:30:00 @ 24.84, 92: 08-17 08:30:00 - 08-17 09:00:00 @ 24.28, 93: 08-17 09:00:00 - 08-17 09:30:00 @ 24.26, 94: 08-17 09:30:00 - 08-17 10:00:00 @ 24.22, 95: 08-17 10:00:00 - 08-17 10:30:00 @ 24.8]
2026-08-15 10:05:07.347209: Inverter 0 Charge window will be: 2026-08-15 11:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 10%, target 100%
2026-08-15 10:05:07.347474: Inverter 0 disabled charge window while waiting for schedule (now 08-15 10:05:00 target set_window_minutes 30 charge start time 08-15 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 10:05:07.347778: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 10:05:07.348166: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 10:05:07.348391: No export window planned
2026-08-15 10:05:07.348665: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 10:05:07.348844: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 10:05:07.349187: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 10:05:07.349635: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 10:05:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 10:05:07.349741: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 10:05:07.349947: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 10:05:07.350143: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 10:05:07.350221: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 10:05:07.350375: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 10:05:07.350445: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 10:05:07.350594: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 10:05:07.350661: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 10:05:07.350825: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 10:05:07.351007: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 10:05:07.351077: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 10:05:07.351228: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 10:05:07.351321: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 10:05:07.352984: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 10:05:07.353068: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 10:05:07.353230: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 10:05:07.353292: Inverter 0 count register writes 0
2026-08-15 10:05:07.397165: Will recompute the plan as it is now 10.0 minutes old and will exceed the max age of 10 minutes before the next run
2026-08-15 10:05:07.397486: Recompute is saving previous plan...
2026-08-15 10:05:07.402455: Best charge window [ 15-08 10:00:00 - 15-08 10:30:00 @ 19.66p 0%, 15-08 10:30:00 - 15-08 11:00:00 @ 17.66p 0%, 15-08 11:00:00 - 15-08 11:30:00 @ 16.56p 0%, 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 0%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 0%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 0%, 15-08 13:00:00 - 15-08 13:30:00 @ 15.36p 0%, 15-08 13:30:00 - 15-08 14:00:00 @ 15.74p 0%, 15-08 14:00:00 - 15-08 14:30:00 @ 14.57p 0%, 15-08 14:30:00 - 15-08 15:00:00 @ 13.77p 0%, 15-08 15:00:00 - 15-08 15:30:00 @ 15.02p 0%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 0%, 15-08 16:00:00 - 15-08 16:30:00 @ 33.13p 0%, 15-08 16:30:00 - 15-08 17:00:00 @ 33.13p 0%, 15-08 17:00:00 - 15-08 17:30:00 @ 38.46p 0%, 15-08 17:30:00 - 15-08 18:00:00 @ 40.44p 0%, 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 0%, 15-08 18:30:00 - 15-08 19:00:00 @ 43.82p 0%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 0%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 0%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 0%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 0%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 29.37p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 29.2p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.83p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 28.46p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 27.73p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 27.01p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 26.76p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 26.48p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.39p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 26.27p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.33p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.37p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 26.23p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.07p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.99p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 25.92p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 25.64p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 25.39p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.84p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.28p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.26p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.22p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 24.8p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 25.37p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 24.71p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 24.02p 0%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.79p 0%, 16-08 12:30:00 - 16-08 13:00:00 @ 23.55p 0%, 16-08 13:00:00 - 16-08 13:30:00 @ 23.14p 0%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.71p 0%, 16-08 14:00:00 - 16-08 14:30:00 @ 22.01p 0%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.29p 0%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.01p 0%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.71p 0%, 16-08 16:00:00 - 16-08 16:30:00 @ 37.14p 0%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.91p 0%, 16-08 17:00:00 - 16-08 17:30:00 @ 40.13p 0%, 16-08 17:30:00 - 16-08 18:00:00 @ 42.36p 0%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.19p 0%, 16-08 19:00:00 - 16-08 19:30:00 @ 33.04p 0%, 16-08 19:30:00 - 16-08 20:00:00 @ 33.71p 0%, 16-08 20:00:00 - 16-08 20:30:00 @ 33.83p 0%, 16-08 20:30:00 - 16-08 21:00:00 @ 33.94p 0%, 16-08 21:00:00 - 16-08 21:30:00 @ 33.73p 0%, 16-08 21:30:00 - 16-08 22:00:00 @ 33.53p 0%, 16-08 22:00:00 - 16-08 22:30:00 @ 32.36p 0%, 16-08 22:30:00 - 16-08 23:00:00 @ 31.17p 0%, 16-08 23:00:00 - 16-08 23:30:00 @ 29.37p 0%, 16-08 23:30:00 - 17-08 00:00:00 @ 29.2p 0%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.83p 0%, 17-08 00:30:00 - 17-08 01:00:00 @ 28.46p 0%, 17-08 01:00:00 - 17-08 01:30:00 @ 27.73p 0%, 17-08 01:30:00 - 17-08 02:00:00 @ 27.01p 0%, 17-08 02:00:00 - 17-08 02:30:00 @ 26.76p 0%, 17-08 02:30:00 - 17-08 03:00:00 @ 26.48p 0%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.39p 0%, 17-08 03:30:00 - 17-08 04:00:00 @ 26.27p 0%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.33p 0%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.37p 0%, 17-08 05:00:00 - 17-08 05:30:00 @ 26.23p 0%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.07p 0%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.99p 0%, 17-08 06:30:00 - 17-08 07:00:00 @ 25.92p 0%, 17-08 07:00:00 - 17-08 07:30:00 @ 25.64p 0%, 17-08 07:30:00 - 17-08 08:00:00 @ 25.39p 0%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.84p 0%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.28p 0%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.26p 0%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.22p 0%, 17-08 10:00:00 - 17-08 10:30:00 @ 24.8p 0% ]
2026-08-15 10:05:07.404257: Best export window [  ]
2026-08-15 10:05:07.405711: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 10:05:07.411030: Load divergence over 8.0 hours mean 634.59W, min 294.0W, max 1564.2W, std dev 328.1W, divergence 25.85%
2026-08-15 10:05:07.485148: Calculating data from yesterday for savings calculation
2026-08-15 10:05:07.525034: Yesterday basic charge window best: [{'start': 840, 'end': 870, 'average': 21.7}] charge limit best: [16.0] based on max charge slots 1
2026-08-15 10:05:07.667374: predict yesterday end_record 08-16 00:00:00, final soc 1.12kWh, metric 843.63p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 00:00:00, load 26.2kWh, PV 0.0kWh
2026-08-15 10:05:07.718933: predict yesterday10 end_record 08-16 00:00:00, final soc 1.12kWh, metric 847.91p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 00:00:00, load 26.2kWh, PV 0.0kWh
2026-08-15 10:05:07.770092: predict yesterday end_record 08-16 00:00:00, final soc 1.12kWh, metric 843.63p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 00:00:00, load 26.2kWh, PV 0.0kWh
2026-08-15 10:05:07.816376: Yesterday: Predbat disabled was £8.44 (adjusted £8.23) vs £7.38 (adjusted £7.05), saving £1.05 (adjusted £1.18) with import 26.54kWh, export 0.0kWh, battery_cycle 4.66kWh, start_soc 1.12kWh,  final_soc 1.12kWh and battery_value 20.49kWh
2026-08-15 10:05:07.967874: predict yesterday end_record 08-16 00:00:00, final soc 0.0kWh, metric 849.84p, metric_keep 0kWh, min_soc 0kWh @ 08-15 00:00:00, load 26.2kWh, PV 0.0kWh
2026-08-15 10:05:07.968229: Yesterday: No Battery/PV system cost predicted was £8.5 (adjusted £8.5) vs £7.38 (adjusted £7.05), saving £1.12 (adjusted £1.44) with import 26.2kWh, export 0kWh and battery_value 0.0kWh
2026-08-15 10:05:07.994343: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 10:05:08.005970: LoadML is_calculating True
2026-08-15 10:05:08.006215: Not using thread pool as LoadML is calculating to avoid lockups
2026-08-15 10:05:08.028871: Calculate Best options: mode(Control charge & discharge), calculate_export_oncharge(False), calculate_export_on_pv(True), set_export_freeze_only(False), set_discharge_during_charge(True), combine_charge_slots(False), combine_export_slots(False), combine_rate_threshold(0.0), best_soc_min(0.0 kWh), best_soc_max(0.0 kWh), best_soc_keep(0.0 kWh), inverter_loss(4%), battery_loss(3%), battery_loss_discharge (3%), inverter_hybrid(True), metric_min_improvement(0.0p), metric_min_improvement_export(0.1p), metric_min_improvement_export_freeze(0.1p), metric_battery_cycle(0.0p/kWh), metric_battery_value_scaling(1.0 x) 
2026-08-15 10:05:08.030732: Optimise levels pass started at 2026-08-15 10:05:08
2026-08-15 10:05:08.030920: Optimise all windows, total charge 95 export 1
2026-08-15 10:05:13.685772: >> Region optimisation pass width 960 gives best_metric 933.68p, best_cost 947.84p, best_cycle 49.98kWh, best_import 37.39kWh
2026-08-15 10:05:14.874849: >> Region optimisation pass width 480 gives best_metric 933.68p, best_cost 947.84p, best_cycle 49.98kWh, best_import 37.39kWh
2026-08-15 10:05:16.244575: >> Region optimisation pass width 240 gives best_metric 933.68p, best_cost 947.84p, best_cycle 49.98kWh, best_import 37.39kWh
2026-08-15 10:05:19.584553: >> Region optimisation pass width 120 gives best_metric 933.68p, best_cost 947.84p, best_cycle 49.98kWh, best_import 37.39kWh
2026-08-15 10:05:19.585242: Calculated end_record as 08-16 11:30:00 based on best_price 22.71p, next_charge_start 08-15 11:30:00, max_windows 51
2026-08-15 10:05:19.585441: Optimise levels pass ended at 2026-08-15 10:05:19, duration 11.6 seconds tried 284 combinations
2026-08-15 10:05:19.585519: Set best_price_charge_level 24.4p, best_price_export_level 0p, best_price_charge 22.71p, best_cost_export 0p, best_metric 933.68p, best_keep 0kWh, best_cycle 49.98kWh, best_carbon 0kg, best_import 37.39kWh
2026-08-15 10:05:19.646941: Starting detailed optimisation end_record 08-16 11:30:00, best_price_charge 22.71p, best_price_export 0p. lowest_price_charge 13.77p with charge limits [0, 0, 0, 16.0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0]kWh and export limits []kWh
2026-08-15 10:05:38.225941: ML Predictor: Epoch 7/30: lr=0.00091 huber_loss=0.0093 val_mae=0.0026 kWh val_bias=-0.0002 kWh (-0.4%) combined=0.0016 kWh ema_combined=0.0018 kWh
2026-08-15 10:05:46.601901: Tweak plan optimisation started metric 564.32p, cost 581.0p
2026-08-15 10:05:47.176052: Tweak optimisation finished metric 564.32p, cost 581.0p, metric_keep 0kWh, cycle 30.24kWh, carbon 0kg, import 21.31kWh, changed 8 window(s)
2026-08-15 10:05:47.200283: Swap charge optimisation started metric 564.32p, cost 581.0p, min_improvement_swap 0.1p
2026-08-15 10:05:54.853779: Swap charge optimisation finished metric 564.32p, cost 581.0p
2026-08-15 10:05:55.184920: Pruned 3 dead plan slot(s) in 12 trial(s), nominal metric 560.52p -> 560.52p, plan now metric 564.4p, cost 581.0p, cycle 30.24kWh, import 21.31kWh
2026-08-15 10:05:55.198664: Raw charge windows [ 15-08 10:00:00 - 15-08 10:30:00 @ 19.66p 0%, 15-08 10:30:00 - 15-08 11:00:00 @ 17.66p 0%, 15-08 11:00:00 - 15-08 11:30:00 @ 16.56p 0%, 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 13:30:00 @ 15.36p 100%, 15-08 13:30:00 - 15-08 14:00:00 @ 15.74p 100%, 15-08 14:00:00 - 15-08 14:30:00 @ 14.57p 100%, 15-08 14:30:00 - 15-08 15:00:00 @ 13.77p 100%, 15-08 15:00:00 - 15-08 15:30:00 @ 15.02p 100%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 100%, 15-08 16:00:00 - 15-08 16:30:00 @ 33.13p 0%, 15-08 16:30:00 - 15-08 17:00:00 @ 33.13p 0%, 15-08 17:00:00 - 15-08 17:30:00 @ 38.46p 0%, 15-08 17:30:00 - 15-08 18:00:00 @ 40.44p 0%, 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 0%, 15-08 18:30:00 - 15-08 19:00:00 @ 43.82p 0%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 0%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 0%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 0%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 0%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 29.37p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 29.2p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.83p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 28.46p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 27.73p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 27.01p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 26.76p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 26.48p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.39p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 26.27p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.33p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.37p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 26.23p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.07p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.99p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 25.92p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 25.64p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 25.39p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.84p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.28p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.26p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.22p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 24.8p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 25.37p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 24.71p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 24.02p 100%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.79p 100%, 16-08 12:30:00 - 16-08 13:00:00 @ 23.55p 100%, 16-08 13:00:00 - 16-08 13:30:00 @ 23.14p 100%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.71p 100%, 16-08 14:00:00 - 16-08 14:30:00 @ 22.01p 100%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.29p 100%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.01p 100%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.71p 100%, 16-08 16:00:00 - 16-08 16:30:00 @ 37.14p 100%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.91p 100%, 16-08 17:00:00 - 16-08 17:30:00 @ 40.13p 100%, 16-08 17:30:00 - 16-08 18:00:00 @ 42.36p 100%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.19p 100%, 16-08 19:00:00 - 16-08 19:30:00 @ 33.04p 100%, 16-08 19:30:00 - 16-08 20:00:00 @ 33.71p 100%, 16-08 20:00:00 - 16-08 20:30:00 @ 33.83p 100%, 16-08 20:30:00 - 16-08 21:00:00 @ 33.94p 100%, 16-08 21:00:00 - 16-08 21:30:00 @ 33.73p 100%, 16-08 21:30:00 - 16-08 22:00:00 @ 33.53p 100%, 16-08 22:00:00 - 16-08 22:30:00 @ 32.36p 100%, 16-08 22:30:00 - 16-08 23:00:00 @ 31.17p 100%, 16-08 23:00:00 - 16-08 23:30:00 @ 29.37p 100%, 16-08 23:30:00 - 17-08 00:00:00 @ 29.2p 100%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.83p 100%, 17-08 00:30:00 - 17-08 01:00:00 @ 28.46p 100%, 17-08 01:00:00 - 17-08 01:30:00 @ 27.73p 100%, 17-08 01:30:00 - 17-08 02:00:00 @ 27.01p 100%, 17-08 02:00:00 - 17-08 02:30:00 @ 26.76p 100%, 17-08 02:30:00 - 17-08 03:00:00 @ 26.48p 100%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.39p 100%, 17-08 03:30:00 - 17-08 04:00:00 @ 26.27p 100%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.33p 100%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.37p 100%, 17-08 05:00:00 - 17-08 05:30:00 @ 26.23p 100%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.07p 100%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.99p 100%, 17-08 06:30:00 - 17-08 07:00:00 @ 25.92p 100%, 17-08 07:00:00 - 17-08 07:30:00 @ 25.64p 100%, 17-08 07:30:00 - 17-08 08:00:00 @ 25.39p 100%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.84p 100%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.28p 100%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.26p 100%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.22p 100%, 17-08 10:00:00 - 17-08 10:30:00 @ 24.8p 100% ] reserve 1.12
2026-08-15 10:05:55.199500: Unclipped charge windows [ 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 11:30:00 - 16-08 18:30:00 @ 41.93p 100%, 16-08 19:00:00 - 17-08 10:30:00 @ 24.59p 100% ] reserve 1.12
2026-08-15 10:05:55.199830: Unfiltered charge windows [ 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 11:30:00 - 16-08 18:30:00 @ 41.93p 100%, 16-08 19:00:00 - 17-08 10:30:00 @ 24.59p 100% ] reserve 1.12
2026-08-15 10:05:55.200101: Filtered charge windows [ 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 11:30:00 - 16-08 18:30:00 @ 41.93p 100%, 16-08 19:00:00 - 17-08 10:30:00 @ 24.59p 100% ] reserve 1.12
2026-08-15 10:05:55.247221: Previous plan best metric is 565.67 (cost 582.49) and new plan best metric is 564.32 (cost 581.0)
2026-08-15 10:05:55.247845: New plan metric is not significantly better (metric_min_improvement_plan 2.0) than previous plan, using previous plan
2026-08-15 10:05:55.248000: Plan valid is now true after recompute was False
2026-08-15 10:05:55.282405: predict base end_record 08-16 11:30:00, final soc 1.12kWh, metric 805.27p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 10:35:00, load 26.34kWh, PV 0.0kWh
2026-08-15 10:05:55.439221: Battery has 0.5 hours left - now at 1.6kWh
2026-08-15 10:05:55.533847: predict base10 end_record 08-16 11:30:00, final soc 1.12kWh, metric 829.49p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 10:30:00, load 27.27kWh, PV 0.0kWh
2026-08-15 10:05:55.665852: predict best10 end_record 08-16 11:30:00, final soc 1.12kWh, metric 656.85p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 10:30:00, load 27.27kWh, PV 0.0kWh
2026-08-15 10:05:55.817494: predict best end_record 08-16 11:30:00, final soc 1.12kWh, metric 632.48p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 10:35:00, load 26.34kWh, PV 0.0kWh
2026-08-15 10:05:55.817759: Saving plan best values to HA entities
2026-08-15 10:05:56.187838: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 10:05:56.196356: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0.0
2026-08-15 10:05:56.206972: Best charging limit SoC's [16.0, 3.5, 4.0, 16.0, 15.75, 16.0, 16.0]kWh, export []kWh gives import battery 19.92kWh, house 1.36kWh, export 0.0kWh, metric 632.48p, metric10 656.85p
2026-08-15 10:05:56.311410: Marginal costs baseline metric (no standing charge): 582.4948
2026-08-15 10:05:56.786969: Marginal energy costs matrix computed: min=14.21 max=33.89
2026-08-15 10:05:56.899045: Rate array import [{'start': 605, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 19.7p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1950, 'rate': 'expensive', 'range': '(24.8p - 32.9p)'}, {'start': 1950, 'end': 2040, 'rate': 'cheap', 'range': '(24.2p - 24.3p)'}, {'start': 2040, 'end': 2130, 'rate': 'expensive', 'range': '(24.7p - 25.4p)'}] export [{'start': 605, 'end': 2130, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 10:05:56.905577: - Your estimated bill for today is £5.72 and tomorrow is £6.93
2026-08-15 10:05:56.905776: - Import rates are cheap (13.8p - 19.7p) for the next 5  hours and then expensive (33.1p) for the next 1 hour.
2026-08-15 10:05:56.905884: - The battery is currently at 10% and is in eco mode for the next 1 and a half hours.
2026-08-15 10:05:56.905975: - For the next 48 hours there will be no solar generation.
2026-08-15 10:05:56.906055: - You will run out of battery in 30 minutes.
2026-08-15 10:05:56.906128: - Your next charge slot will be in 1 and a half hours where import rates will be cheap (15.5p).
2026-08-15 10:05:56.906200: 
2026-08-15 10:05:56.964840: Plan calculation took 49.57 seconds
2026-08-15 10:05:56.965101: Inverter 0: Type SK Sunsynk
2026-08-15 10:05:56.965251: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 10:05:56.977366: Reserve min: 7%, battery_min: 7%
2026-08-15 10:05:56.981985: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 10:05:56.982590: Inverter 0 SoC: 1.6kW 10%, current charge rate 5000W, current discharge rate 5250W, current battery power 380W, current battery voltage 51.2V, grid power -53W, load power 434W, PV Power 0W
2026-08-15 10:05:56.982953: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 10:05:56.983218: Inverter 0 scheduled charge enable is False
2026-08-15 10:05:56.983365: Inverter 0 charge windows currently []
2026-08-15 10:05:56.983523: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 10:05:56.983850: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 10:05:56.983990: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 10:05:56.984195: Inverter 0 scheduled discharge enable is False
2026-08-15 10:05:56.984519: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 10:05:56.984661: Inverter 0 discharge windows currently []
2026-08-15 10:05:56.984832: Note: Inverter does not support discharge freeze - disabled
2026-08-15 10:05:56.985007: Note: Inverter does not support charge freeze - disabled
2026-08-15 10:05:56.985123: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 10:05:57.174819: Inverter 0 Charge window will be: 2026-08-15 11:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 10%, target 100%
2026-08-15 10:05:57.175089: Inverter 0 disabled charge window while waiting for schedule (now 08-15 10:05:00 target set_window_minutes 30 charge start time 08-15 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 10:05:57.175217: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 10:05:57.175587: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 10:05:57.175774: No export window planned
2026-08-15 10:05:57.175998: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 10:05:57.176048: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 10:05:57.177352: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 10:05:57.193234: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 10:05:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 10:05:57.193332: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 10:05:57.193379: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 10:05:57.193449: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 10:05:57.193484: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 10:05:57.193508: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 10:05:57.193621: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 10:05:57.193743: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 10:05:57.193851: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 10:05:57.193952: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 10:05:57.194090: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 10:05:57.194202: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 10:05:57.194302: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 10:05:57.194407: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 10:05:57.194512: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 10:05:57.194644: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 10:05:57.194763: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 10:05:57.194862: Inverter 0 count register writes 0
2026-08-15 10:05:57.219763: Total inverter register writes now 815
2026-08-15 10:05:57.280234: Info: Completed run status Demand
2026-08-15 10:05:57.286902: Info: record_status Demand
2026-08-15 10:05:57.312131: Saved current settings to /config/predbat_config.json
2026-08-15 10:05:57.312406: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 10:06:22.940415: ML Predictor: Epoch 8/30: lr=0.00088 huber_loss=0.0084 val_mae=0.0023 kWh val_bias=-0.0008 kWh (-1.5%) combined=0.0020 kWh ema_combined=0.0018 kWh
2026-08-15 10:06:27.465466: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 10:06:27.466542: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 10:06:27.468116: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 10:06:27.468541: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 10:06:27.468601: Note: Inverter does not support discharge freeze - disabled
2026-08-15 10:06:27.468810: Note: Inverter does not support charge freeze - disabled
2026-08-15 10:06:27.468911: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 10:07:02.047333: ML Predictor: Epoch 9/30: lr=0.00084 huber_loss=0.0080 val_mae=0.0023 kWh val_bias=-0.0004 kWh (-0.7%) combined=0.0013 kWh ema_combined=0.0017 kWh
2026-08-15 10:07:50.595831: ML Predictor: Epoch 10/30: lr=0.00080 huber_loss=0.0085 val_mae=0.0021 kWh val_bias=-0.0003 kWh (-0.6%) combined=0.0013 kWh ema_combined=0.0016 kWh
2026-08-15 10:08:33.206679: ML Predictor: Epoch 11/30: lr=0.00076 huber_loss=0.0074 val_mae=0.0024 kWh val_bias=+0.0011 kWh (+2.0%) combined=0.0018 kWh ema_combined=0.0017 kWh
2026-08-15 10:08:42.079874: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 10:08:42.080368: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 10:08:42.080555: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 10:08:42.080887: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 10:08:42.081082: Note: Inverter does not support discharge freeze - disabled
2026-08-15 10:08:42.081193: Note: Inverter does not support charge freeze - disabled
2026-08-15 10:08:42.081338: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 10:09:06.087593: ML Predictor: Epoch 12/30: lr=0.00072 huber_loss=0.0074 val_mae=0.0023 kWh val_bias=-0.0012 kWh (-2.4%) combined=0.0021 kWh ema_combined=0.0018 kWh
2026-08-15 10:09:42.993409: ML Predictor: Epoch 13/30: lr=0.00067 huber_loss=0.0073 val_mae=0.0019 kWh val_bias=-0.0001 kWh (-0.2%) combined=0.0010 kWh ema_combined=0.0016 kWh
2026-08-15 10:10:00.465771: --------------- PredBat - update at 2026-08-15 10:10:00+01:00 with clock skew 0 minutes, minutes now 610
2026-08-15 10:10:00.466923: Saved current settings to /config/predbat_config.json
2026-08-15 10:10:00.467186: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 120.0 minutes
2026-08-15 10:10:00.467306: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.1, latest beta is v8.48.1
2026-08-15 10:10:00.467448: Autoupdate: Currently up to date
2026-08-15 10:10:00.506811: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 10:10:00.507164: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 10:10:00.507430: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 10:10:00.508428: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 10:10:00.508728: Predbat mode is set to Control charge & discharge
2026-08-15 10:10:00.863995: Found 21602 load_today datapoints going back 28 days
2026-08-15 10:10:00.870376: Using load_power data to fill gaps in load_today data
2026-08-15 10:10:02.189966: Processing 721 30-minute periods for power integration
2026-08-15 10:10:02.587643: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 10:10:02.588042: Car charging hold False, threshold 6.0kWh
2026-08-15 10:10:02.588121: Current data so far today: load 6.75kWh, import 7.8kWh, export 0.0kWh, PV 0kWh
2026-08-15 10:10:02.602362: Cars: SoC: [12.892000000000001]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 10:10:02.603522: Standing charge is set to 49.98p
2026-08-15 10:10:02.656532: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 10:10:02.656664: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 10:10:02.656929: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 5.0 minutes
2026-08-15 10:10:02.657529: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 5.0 minutes
2026-08-15 10:10:02.684197: Loaded 95 datapoints of futurerate analysis
2026-08-15 10:10:02.854750: Predicted future rates: ['08-15 00:00:00 => 28.9 / 20.01', '08-15 01:00:00 => 27.54 / 19.31', '08-15 02:00:00 => 26.52 / 18.8', '08-15 03:00:00 => 25.99 / 18.53', '08-15 04:00:00 => 25.8 / 18.43', '08-15 05:00:00 => 25.96 / 18.51', '08-15 06:00:00 => 25.55 / 18.3', '08-15 07:00:00 => 24.33 / 17.68', '08-15 08:00:00 => 23.03 / 17.01', '08-15 09:00:00 => 22.05 / 16.51', '08-15 10:00:00 => 20.43 / 15.68', '08-15 11:00:00 => 18.01 / 14.45', '08-15 12:00:00 => 16.37 / 13.61', '08-15 13:00:00 => 15.76 / 13.3', '08-15 14:00:00 => 15.35 / 13.09', '08-15 15:00:00 => 15.86 / 13.35', '08-15 16:00:00 => 32.89 / 16.13', '08-15 17:00:00 => 38.02 / 18.75', '08-15 18:00:00 => 42.36 / 20.96', '08-15 19:00:00 => 31.09 / 21.13', '08-15 20:00:00 => 31.64 / 21.41', '08-15 21:00:00 => 31.64 / 21.41', '08-15 22:00:00 => 30.58 / 20.87', '08-15 23:00:00 => 29.37 / 20.25', '08-16 00:00:00 => 28.83 / 19.97', '08-16 01:00:00 => 27.73 / 19.41', '08-16 02:00:00 => 26.76 / 18.92', '08-16 03:00:00 => 26.39 / 18.73', '08-16 04:00:00 => 26.33 / 18.7', '08-16 05:00:00 => 26.23 / 18.65', '08-16 06:00:00 => 25.99 / 18.53', '08-16 07:00:00 => 25.64 / 18.35', '08-16 08:00:00 => 24.84 / 17.94', '08-16 09:00:00 => 24.26 / 17.64']
2026-08-15 10:10:03.053745: Rate min forward looking: now 13.77p at end of forecast 21.29p
2026-08-15 10:10:03.054720: Import rates: min 13.77p, max 46.05p, average 27.47p
2026-08-15 10:10:03.111730: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 10:10:03.112491: Rate thresholds (for charge/export) are import 45.55p (0.0p), export -0.1p (0.0p)
2026-08-15 10:10:03.113994: High export rate found rates in range 99p to -99p
2026-08-15 10:10:03.230249: Low Import rate found rates in range 13.77p to 44.19p
2026-08-15 10:10:03.230525: Car 0 charging is not planned as it is not plugged in
2026-08-15 10:10:03.248151: Battery level now 1.6kWh, -1hr ago 2.08kWh, at midnight 1.66kWh, battery value change in the last hour -5.68p, change today -0.66p, rate_forward 11.83p
2026-08-15 10:10:03.248569: Last hour: net energy 0.09kWh, import 0.09kWh, export 0.0kWh, car 0kWh, load 0.5kWh, net cost 2.06p, import 2.06p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 10:10:03.379037: Today's energy total net 7.8kWh, import 7.8kWh, export 0.0kWh, cost 254.46p, import 204.47p, export 0.0p, carbon 0.0kg
2026-08-15 10:10:03.379342: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 10:10:03.554209: Using weighted-bucket historical load forecast over 14 days
2026-08-15 10:10:03.582591: Today's load divergence 107.12%, in-day adjustment 128.09%, damping 0.95x, yesterday 143.77% today 106.76% blend 57.64%
2026-08-15 10:10:03.583138: Today's predicted so far 5.67kWh with 0.0kWh car/iBoost excluded, 3.22kWh import ignored, and 5.67kWh forecast extra.
2026-08-15 10:10:03.583436: Today's actual load so far 6.85kWh with 0.0kWh car/iBoost excluded, and 3.22kWh import ignored.
2026-08-15 10:10:03.659656: Inverter 0: Type SK Sunsynk
2026-08-15 10:10:03.659766: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 10:10:03.660013: Reserve min: 7%, battery_min: 7%
2026-08-15 10:10:03.660127: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 10:10:03.660501: Inverter 0 SoC: 1.6kW 10%, current charge rate 5000W, current discharge rate 5250W, current battery power 278W, current battery voltage 51.2V, grid power -54W, load power 335W, PV Power 0W
2026-08-15 10:10:03.665612: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 10:10:03.689147: Inverter 0 scheduled charge enable is False
2026-08-15 10:10:03.689240: Inverter 0 charge windows currently []
2026-08-15 10:10:03.689279: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 10:10:03.689499: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 10:10:03.689564: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 10:10:03.689612: Inverter 0 scheduled discharge enable is False
2026-08-15 10:10:03.689755: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 10:10:03.689797: Inverter 0 discharge windows currently []
2026-08-15 10:10:03.689823: Note: Inverter does not support discharge freeze - disabled
2026-08-15 10:10:03.689841: Note: Inverter does not support charge freeze - disabled
2026-08-15 10:10:03.689866: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 10:10:03.870324: Dynamic load last period 0.60kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 10:10:03.870457: Plan was last updated on 2026-08-15 10:05:00+01:00 and is now 5.0 minutes old
2026-08-15 10:10:03.870874: Best charge window [ 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 14:00:00 @ 15.55p 100%, 15-08 14:00:00 - 15-08 16:00:00 @ 15.23p 98%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 10:00:00 @ 23.56p 100% ]
2026-08-15 10:10:03.870930: Best export window [  ]
2026-08-15 10:10:03.872202: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 10:10:03.877196: Load divergence over 8.0 hours mean 635.87W, min 291.6W, max 1657.2W, std dev 326.6W, divergence 25.68%
2026-08-15 10:10:03.901818: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 10:10:03.902069: LoadML is_calculating True
2026-08-15 10:10:03.902120: Not using thread pool as LoadML is calculating to avoid lockups
2026-08-15 10:10:03.942242: predict base end_record 08-16 11:35:00, final soc 1.12kWh, metric 806.88p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 10:35:00, load 26.43kWh, PV 0.0kWh
2026-08-15 10:10:04.145205: Battery has 0.42 hours left - now at 1.6kWh
2026-08-15 10:10:04.259476: predict base10 end_record 08-16 11:35:00, final soc 1.12kWh, metric 831.15p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 10:35:00, load 27.36kWh, PV 0.0kWh
2026-08-15 10:10:04.505898: predict best10 end_record 08-16 11:35:00, final soc 1.44kWh, metric 666.8p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 10:35:00, load 27.36kWh, PV 0.0kWh
2026-08-15 10:10:04.682833: predict best end_record 08-16 11:35:00, final soc 1.51kWh, metric 644.03p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 10:35:00, load 26.43kWh, PV 0.0kWh
2026-08-15 10:10:04.683111: Saving plan best values to HA entities
2026-08-15 10:10:05.101263: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 10:10:05.110617: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0.0
2026-08-15 10:10:05.119365: Best charging limit SoC's [16.0, 3.5, 4.0, 16.0, 15.75, 16.0, 16.0]kWh, export []kWh gives import battery 20.42kWh, house 1.31kWh, export 0.0kWh, metric 644.03p, metric10 666.8p
2026-08-15 10:10:05.239878: Marginal costs baseline metric (no standing charge): 594.0449
2026-08-15 10:10:05.771349: Marginal energy costs matrix computed: min=14.24 max=33.49
2026-08-15 10:10:05.927147: Rate array import [{'start': 610, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 19.7p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1950, 'rate': 'expensive', 'range': '(24.8p - 32.9p)'}, {'start': 1950, 'end': 2040, 'rate': 'cheap', 'range': '(24.2p - 24.3p)'}, {'start': 2040, 'end': 2130, 'rate': 'expensive', 'range': '(24.7p - 25.4p)'}, {'start': 2130, 'end': 2135, 'rate': 'cheap', 'range': '(24.0p)'}] export [{'start': 610, 'end': 2135, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 10:10:05.928082: - Your estimated bill for today is £5.71 and tomorrow is £6.95
2026-08-15 10:10:05.941001: - Import rates are cheap (13.8p - 19.7p) for the next 5 and three quarters hours and then expensive (33.1p) for the next 1 hour.
2026-08-15 10:10:05.941183: - The battery is currently at 10% and is in eco mode for the next 1 and a quarter hours.
2026-08-15 10:10:05.941330: - For the next 48 hours there will be no solar generation.
2026-08-15 10:10:05.941466: - You will run out of battery in 25 minutes.
2026-08-15 10:10:05.941628: - Your next charge slot will be in 1 and a quarter hours where import rates will be cheap (15.5p).
2026-08-15 10:10:05.941741: 
2026-08-15 10:10:06.031047: Plan calculation took 2.16 seconds
2026-08-15 10:10:06.038214: No high rate period found
2026-08-15 10:10:06.201836: Import threshold used for optimisation was 24.8p
2026-08-15 10:10:06.340596: Low import rate windows [0: 08-15 10:00:00 - 08-15 10:30:00 @ 19.66, 1: 08-15 10:30:00 - 08-15 11:00:00 @ 17.66, 2: 08-15 11:00:00 - 08-15 11:30:00 @ 16.56, 3: 08-15 11:30:00 - 08-15 12:00:00 @ 15.46, 4: 08-15 12:00:00 - 08-15 12:30:00 @ 17.0, 5: 08-15 12:30:00 - 08-15 13:00:00 @ 16.34, 6: 08-15 13:00:00 - 08-15 13:30:00 @ 15.36, 7: 08-15 13:30:00 - 08-15 14:00:00 @ 15.74, 8: 08-15 14:00:00 - 08-15 14:30:00 @ 14.57, 9: 08-15 14:30:00 - 08-15 15:00:00 @ 13.77, 10: 08-15 15:00:00 - 08-15 15:30:00 @ 15.02, 11: 08-15 15:30:00 - 08-15 16:00:00 @ 15.87, 12: 08-15 16:00:00 - 08-15 16:30:00 @ 33.13, 13: 08-15 16:30:00 - 08-15 17:00:00 @ 33.13, 14: 08-15 17:00:00 - 08-15 17:30:00 @ 38.46, 15: 08-15 17:30:00 - 08-15 18:00:00 @ 40.44, 16: 08-15 18:00:00 - 08-15 18:30:00 @ 41.55, 17: 08-15 18:30:00 - 08-15 19:00:00 @ 43.82, 18: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 19: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 20: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 21: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 22: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 23: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 24: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 25: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 26: 08-15 23:00:00 - 08-15 23:30:00 @ 29.37, 27: 08-15 23:30:00 - 08-16 00:00:00 @ 29.2, 28: 08-16 00:00:00 - 08-16 00:30:00 @ 28.83, 29: 08-16 00:30:00 - 08-16 01:00:00 @ 28.46, 30: 08-16 01:00:00 - 08-16 01:30:00 @ 27.73, 31: 08-16 01:30:00 - 08-16 02:00:00 @ 27.01, 32: 08-16 02:00:00 - 08-16 02:30:00 @ 26.76, 33: 08-16 02:30:00 - 08-16 03:00:00 @ 26.48, 34: 08-16 03:00:00 - 08-16 03:30:00 @ 26.39, 35: 08-16 03:30:00 - 08-16 04:00:00 @ 26.27, 36: 08-16 04:00:00 - 08-16 04:30:00 @ 26.33, 37: 08-16 04:30:00 - 08-16 05:00:00 @ 26.37, 38: 08-16 05:00:00 - 08-16 05:30:00 @ 26.23, 39: 08-16 05:30:00 - 08-16 06:00:00 @ 26.07, 40: 08-16 06:00:00 - 08-16 06:30:00 @ 25.99, 41: 08-16 06:30:00 - 08-16 07:00:00 @ 25.92, 42: 08-16 07:00:00 - 08-16 07:30:00 @ 25.64, 43: 08-16 07:30:00 - 08-16 08:00:00 @ 25.39, 44: 08-16 08:00:00 - 08-16 08:30:00 @ 24.84, 45: 08-16 08:30:00 - 08-16 09:00:00 @ 24.28, 46: 08-16 09:00:00 - 08-16 09:30:00 @ 24.26, 47: 08-16 09:30:00 - 08-16 10:00:00 @ 24.22, 48: 08-16 10:00:00 - 08-16 10:30:00 @ 24.8, 49: 08-16 10:30:00 - 08-16 11:00:00 @ 25.37, 50: 08-16 11:00:00 - 08-16 11:30:00 @ 24.71, 51: 08-16 11:30:00 - 08-16 12:00:00 @ 24.02, 52: 08-16 12:00:00 - 08-16 12:30:00 @ 23.79, 53: 08-16 12:30:00 - 08-16 13:00:00 @ 23.55, 54: 08-16 13:00:00 - 08-16 13:30:00 @ 23.14, 55: 08-16 13:30:00 - 08-16 14:00:00 @ 22.71, 56: 08-16 14:00:00 - 08-16 14:30:00 @ 22.01, 57: 08-16 14:30:00 - 08-16 15:00:00 @ 21.29, 58: 08-16 15:00:00 - 08-16 15:30:00 @ 22.01, 59: 08-16 15:30:00 - 08-16 16:00:00 @ 22.71, 60: 08-16 16:00:00 - 08-16 16:30:00 @ 37.14, 61: 08-16 16:30:00 - 08-16 17:00:00 @ 37.91, 62: 08-16 17:00:00 - 08-16 17:30:00 @ 40.13, 63: 08-16 17:30:00 - 08-16 18:00:00 @ 42.36, 64: 08-16 18:00:00 - 08-16 18:30:00 @ 44.19, 65: 08-16 19:00:00 - 08-16 19:30:00 @ 33.04, 66: 08-16 19:30:00 - 08-16 20:00:00 @ 33.71, 67: 08-16 20:00:00 - 08-16 20:30:00 @ 33.83, 68: 08-16 20:30:00 - 08-16 21:00:00 @ 33.94, 69: 08-16 21:00:00 - 08-16 21:30:00 @ 33.73, 70: 08-16 21:30:00 - 08-16 22:00:00 @ 33.53, 71: 08-16 22:00:00 - 08-16 22:30:00 @ 32.36, 72: 08-16 22:30:00 - 08-16 23:00:00 @ 31.17, 73: 08-16 23:00:00 - 08-16 23:30:00 @ 29.37, 74: 08-16 23:30:00 - 08-17 00:00:00 @ 29.2, 75: 08-17 00:00:00 - 08-17 00:30:00 @ 28.83, 76: 08-17 00:30:00 - 08-17 01:00:00 @ 28.46, 77: 08-17 01:00:00 - 08-17 01:30:00 @ 27.73, 78: 08-17 01:30:00 - 08-17 02:00:00 @ 27.01, 79: 08-17 02:00:00 - 08-17 02:30:00 @ 26.76, 80: 08-17 02:30:00 - 08-17 03:00:00 @ 26.48, 81: 08-17 03:00:00 - 08-17 03:30:00 @ 26.39, 82: 08-17 03:30:00 - 08-17 04:00:00 @ 26.27, 83: 08-17 04:00:00 - 08-17 04:30:00 @ 26.33, 84: 08-17 04:30:00 - 08-17 05:00:00 @ 26.37, 85: 08-17 05:00:00 - 08-17 05:30:00 @ 26.23, 86: 08-17 05:30:00 - 08-17 06:00:00 @ 26.07, 87: 08-17 06:00:00 - 08-17 06:30:00 @ 25.99, 88: 08-17 06:30:00 - 08-17 07:00:00 @ 25.92, 89: 08-17 07:00:00 - 08-17 07:30:00 @ 25.64, 90: 08-17 07:30:00 - 08-17 08:00:00 @ 25.39, 91: 08-17 08:00:00 - 08-17 08:30:00 @ 24.84, 92: 08-17 08:30:00 - 08-17 09:00:00 @ 24.28, 93: 08-17 09:00:00 - 08-17 09:30:00 @ 24.26, 94: 08-17 09:30:00 - 08-17 10:00:00 @ 24.22, 95: 08-17 10:00:00 - 08-17 10:30:00 @ 24.8]
2026-08-15 10:10:06.372147: Inverter 0 Charge window will be: 2026-08-15 11:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 10%, target 100%
2026-08-15 10:10:06.372446: Inverter 0 disabled charge window while waiting for schedule (now 08-15 10:10:00 target set_window_minutes 30 charge start time 08-15 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 10:10:06.373153: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 10:10:06.373534: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 10:10:06.374563: No export window planned
2026-08-15 10:10:06.374840: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 10:10:06.375023: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 10:10:06.375333: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 10:10:06.375720: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 10:10:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 10:10:06.375888: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 10:10:06.376255: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 10:10:06.376488: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 10:10:06.376743: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 10:10:06.376884: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 10:10:06.377049: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 10:10:06.377116: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 10:10:06.377199: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 10:10:06.377307: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 10:10:06.377494: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 10:10:06.377656: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 10:10:06.377718: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 10:10:06.377795: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 10:10:06.377898: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 10:10:06.378023: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 10:10:06.378143: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 10:10:06.378237: Inverter 0 count register writes 0
2026-08-15 10:10:06.426158: Will not recompute the plan, it is 5.0 minutes old and max age is 10 minutes
2026-08-15 10:10:06.461006: Total inverter register writes now 815
2026-08-15 10:10:06.578249: Info: Completed run status Demand
2026-08-15 10:10:06.598463: Info: record_status Demand
2026-08-15 10:10:06.614756: Saved current settings to /config/predbat_config.json
2026-08-15 10:10:06.614982: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 10:10:17.839734: ML Predictor: Epoch 14/30: lr=0.00062 huber_loss=0.0067 val_mae=0.0019 kWh val_bias=-0.0000 kWh (-0.0%) combined=0.0011 kWh ema_combined=0.0014 kWh
2026-08-15 10:10:41.802578: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 10:10:41.802911: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 10:10:41.802968: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 10:10:41.803153: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 10:10:41.803203: Note: Inverter does not support discharge freeze - disabled
2026-08-15 10:10:41.803237: Note: Inverter does not support charge freeze - disabled
2026-08-15 10:10:41.803267: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 10:10:50.311315: ML Predictor: Epoch 15/30: lr=0.00057 huber_loss=0.0067 val_mae=0.0018 kWh val_bias=-0.0002 kWh (-0.4%) combined=0.0010 kWh ema_combined=0.0013 kWh
2026-08-15 10:11:22.537566: ML Predictor: Epoch 16/30: lr=0.00053 huber_loss=0.0059 val_mae=0.0020 kWh val_bias=-0.0005 kWh (-1.0%) combined=0.0012 kWh ema_combined=0.0013 kWh
2026-08-15 10:11:54.675084: ML Predictor: Epoch 17/30: lr=0.00048 huber_loss=0.0058 val_mae=0.0020 kWh val_bias=-0.0003 kWh (-0.6%) combined=0.0011 kWh ema_combined=0.0012 kWh
2026-08-15 10:12:25.505525: ML Predictor: Epoch 18/30: lr=0.00043 huber_loss=0.0062 val_mae=0.0016 kWh val_bias=-0.0002 kWh (-0.5%) combined=0.0011 kWh ema_combined=0.0012 kWh
2026-08-15 10:12:42.444254: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 10:12:42.444674: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 10:12:42.444753: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 10:12:42.445056: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 10:12:42.445134: Note: Inverter does not support discharge freeze - disabled
2026-08-15 10:12:42.445183: Note: Inverter does not support charge freeze - disabled
2026-08-15 10:12:42.445218: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 10:12:59.956260: ML Predictor: Epoch 19/30: lr=0.00038 huber_loss=0.0057 val_mae=0.0017 kWh val_bias=-0.0006 kWh (-1.2%) combined=0.0013 kWh ema_combined=0.0012 kWh
2026-08-15 10:13:32.394638: ML Predictor: Epoch 20/30: lr=0.00034 huber_loss=0.0056 val_mae=0.0016 kWh val_bias=-0.0002 kWh (-0.4%) combined=0.0009 kWh ema_combined=0.0011 kWh
2026-08-15 10:14:02.336848: ML Predictor: Epoch 21/30: lr=0.00030 huber_loss=0.0051 val_mae=0.0015 kWh val_bias=+0.0003 kWh (+0.5%) combined=0.0010 kWh ema_combined=0.0011 kWh
2026-08-15 10:14:34.218396: ML Predictor: Epoch 22/30: lr=0.00026 huber_loss=0.0050 val_mae=0.0015 kWh val_bias=-0.0002 kWh (-0.4%) combined=0.0010 kWh ema_combined=0.0011 kWh
2026-08-15 10:14:57.083381: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 10:14:57.083660: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 10:14:57.083708: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 10:14:57.083852: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 10:14:57.083895: Note: Inverter does not support discharge freeze - disabled
2026-08-15 10:14:57.083916: Note: Inverter does not support charge freeze - disabled
2026-08-15 10:14:57.083936: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 10:15:00.271221: --------------- PredBat - update at 2026-08-15 10:15:00+01:00 with clock skew 0 minutes, minutes now 615
2026-08-15 10:15:00.281596: Saved current settings to /config/predbat_config.json
2026-08-15 10:15:00.817129: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.1, latest beta is v8.48.1
2026-08-15 10:15:00.817271: Autoupdate: Currently up to date
2026-08-15 10:15:00.848722: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 10:15:00.848894: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 10:15:00.849225: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 10:15:00.849846: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 10:15:00.850051: Predbat mode is set to Control charge & discharge
2026-08-15 10:15:01.282303: Found 21602 load_today datapoints going back 28 days
2026-08-15 10:15:01.282504: Using load_power data to fill gaps in load_today data
2026-08-15 10:15:02.665956: Processing 721 30-minute periods for power integration
2026-08-15 10:15:02.974210: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 10:15:02.974384: Car charging hold False, threshold 6.0kWh
2026-08-15 10:15:02.974457: Current data so far today: load 6.8kWh, import 7.8kWh, export 0.0kWh, PV 0kWh
2026-08-15 10:15:03.022528: Cars: SoC: [12.892000000000001]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 10:15:03.026619: Standing charge is set to 49.98p
2026-08-15 10:15:03.164472: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 10:15:03.164587: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 10:15:03.164801: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 10.0 minutes
2026-08-15 10:15:03.165297: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 10.0 minutes
2026-08-15 10:15:03.172318: Loaded 95 datapoints of futurerate analysis
2026-08-15 10:15:03.288022: Predicted future rates: ['08-15 00:00:00 => 28.9 / 20.01', '08-15 01:00:00 => 27.54 / 19.31', '08-15 02:00:00 => 26.52 / 18.8', '08-15 03:00:00 => 25.99 / 18.53', '08-15 04:00:00 => 25.8 / 18.43', '08-15 05:00:00 => 25.96 / 18.51', '08-15 06:00:00 => 25.55 / 18.3', '08-15 07:00:00 => 24.33 / 17.68', '08-15 08:00:00 => 23.03 / 17.01', '08-15 09:00:00 => 22.05 / 16.51', '08-15 10:00:00 => 20.43 / 15.68', '08-15 11:00:00 => 18.01 / 14.45', '08-15 12:00:00 => 16.37 / 13.61', '08-15 13:00:00 => 15.76 / 13.3', '08-15 14:00:00 => 15.35 / 13.09', '08-15 15:00:00 => 15.86 / 13.35', '08-15 16:00:00 => 32.89 / 16.13', '08-15 17:00:00 => 38.02 / 18.75', '08-15 18:00:00 => 42.36 / 20.96', '08-15 19:00:00 => 31.09 / 21.13', '08-15 20:00:00 => 31.64 / 21.41', '08-15 21:00:00 => 31.64 / 21.41', '08-15 22:00:00 => 30.58 / 20.87', '08-15 23:00:00 => 29.37 / 20.25', '08-16 00:00:00 => 28.83 / 19.97', '08-16 01:00:00 => 27.73 / 19.41', '08-16 02:00:00 => 26.76 / 18.92', '08-16 03:00:00 => 26.39 / 18.73', '08-16 04:00:00 => 26.33 / 18.7', '08-16 05:00:00 => 26.23 / 18.65', '08-16 06:00:00 => 25.99 / 18.53', '08-16 07:00:00 => 25.64 / 18.35', '08-16 08:00:00 => 24.84 / 17.94', '08-16 09:00:00 => 24.26 / 17.64']
2026-08-15 10:15:03.351900: Rate min forward looking: now 13.77p at end of forecast 21.29p
2026-08-15 10:15:03.352285: Import rates: min 13.77p, max 46.05p, average 27.48p
2026-08-15 10:15:03.426123: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 10:15:03.426256: Rate thresholds (for charge/export) are import 45.55p (0.0p), export -0.1p (0.0p)
2026-08-15 10:15:03.427491: High export rate found rates in range 99p to -99p
2026-08-15 10:15:03.625866: Low Import rate found rates in range 13.77p to 44.19p
2026-08-15 10:15:03.626860: Car 0 charging is not planned as it is not plugged in
2026-08-15 10:15:03.665718: Battery level now 1.6kWh, -1hr ago 1.96kWh, at midnight 1.66kWh, battery value change in the last hour -4.26p, change today -0.66p, rate_forward 11.83p
2026-08-15 10:15:03.666218: Last hour: net energy 0.07kWh, import 0.07kWh, export 0.0kWh, car 0kWh, load 0.5kWh, net cost 1.77p, import 1.77p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 10:15:03.779476: Today's energy total net 7.8kWh, import 7.8kWh, export 0.0kWh, cost 254.46p, import 204.47p, export 0.0p, carbon 0.0kg
2026-08-15 10:15:03.779628: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 10:15:04.002727: Using weighted-bucket historical load forecast over 14 days
2026-08-15 10:15:04.096236: Today's load divergence 107.02%, in-day adjustment 127.93%, damping 0.95x, yesterday 143.77% today 106.67% blend 57.29%
2026-08-15 10:15:04.096371: Today's predicted so far 5.67kWh with 0.0kWh car/iBoost excluded, 3.21kWh import ignored, and 5.67kWh forecast extra.
2026-08-15 10:15:04.096455: Today's actual load so far 6.84kWh with 0.0kWh car/iBoost excluded, and 3.21kWh import ignored.
2026-08-15 10:15:04.196071: Inverter 0: Type SK Sunsynk
2026-08-15 10:15:04.196313: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 10:15:04.196646: Reserve min: 7%, battery_min: 7%
2026-08-15 10:15:04.196781: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 10:15:04.197218: Inverter 0 SoC: 1.47kW 9%, current charge rate 5000W, current discharge rate 5250W, current battery power 287W, current battery voltage 51.2V, grid power -55W, load power 342W, PV Power 0W
2026-08-15 10:15:04.197491: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 10:15:04.197666: Inverter 0 scheduled charge enable is False
2026-08-15 10:15:04.197721: Inverter 0 charge windows currently []
2026-08-15 10:15:04.197839: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 10:15:04.198049: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 10:15:04.198106: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 10:15:04.198232: Inverter 0 scheduled discharge enable is False
2026-08-15 10:15:04.198562: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 10:15:04.198621: Inverter 0 discharge windows currently []
2026-08-15 10:15:04.198697: Note: Inverter does not support discharge freeze - disabled
2026-08-15 10:15:04.198781: Note: Inverter does not support charge freeze - disabled
2026-08-15 10:15:04.198858: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 10:15:04.362714: Dynamic load last period 0.60kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 10:15:04.362869: Plan was last updated on 2026-08-15 10:05:00+01:00 and is now 10.0 minutes old
2026-08-15 10:15:04.363320: Best charge window [ 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 14:00:00 @ 15.55p 100%, 15-08 14:00:00 - 15-08 16:00:00 @ 15.23p 98%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 10:00:00 @ 23.56p 100% ]
2026-08-15 10:15:04.363372: Best export window [  ]
2026-08-15 10:15:04.364766: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 10:15:04.369906: Load divergence over 8.0 hours mean 637.47W, min 274.2W, max 1777.8W, std dev 360.29W, divergence 28.26%
2026-08-15 10:15:04.399552: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 10:15:04.399686: LoadML is_calculating True
2026-08-15 10:15:04.399719: Not using thread pool as LoadML is calculating to avoid lockups
2026-08-15 10:15:04.451482: predict base end_record 08-16 11:40:00, final soc 1.12kWh, metric 810.54p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 10:35:00, load 26.52kWh, PV 0.0kWh
2026-08-15 10:15:04.710194: Battery has 0.33 hours left - now at 1.47kWh
2026-08-15 10:15:04.779437: predict base10 end_record 08-16 11:40:00, final soc 1.12kWh, metric 834.89p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 10:35:00, load 27.46kWh, PV 0.0kWh
2026-08-15 10:15:04.931296: predict best10 end_record 08-16 11:40:00, final soc 1.77kWh, metric 678.78p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 10:35:00, load 27.46kWh, PV 0.0kWh
2026-08-15 10:15:05.079496: predict best end_record 08-16 11:40:00, final soc 1.9kWh, metric 657.62p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 10:35:00, load 26.52kWh, PV 0.0kWh
2026-08-15 10:15:05.093311: Saving plan best values to HA entities
2026-08-15 10:15:05.421086: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0
2026-08-15 10:15:05.429906: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 10:15:05.439783: Best charging limit SoC's [16.0, 3.5, 4.0, 16.0, 15.75, 16.0, 16.0]kWh, export []kWh gives import battery 20.95kWh, house 1.37kWh, export 0.0kWh, metric 657.62p, metric10 678.78p
2026-08-15 10:15:05.611142: Marginal costs baseline metric (no standing charge): 607.6329
2026-08-15 10:15:06.158083: Marginal energy costs matrix computed: min=14.28 max=33.08
2026-08-15 10:15:06.328106: Rate array import [{'start': 615, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 19.7p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1950, 'rate': 'expensive', 'range': '(24.8p - 32.9p)'}, {'start': 1950, 'end': 2040, 'rate': 'cheap', 'range': '(24.2p - 24.3p)'}, {'start': 2040, 'end': 2130, 'rate': 'expensive', 'range': '(24.7p - 25.4p)'}, {'start': 2130, 'end': 2140, 'rate': 'cheap', 'range': '(24.0p)'}] export [{'start': 615, 'end': 2140, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 10:15:06.329395: - Your estimated bill for today is £5.72 and tomorrow is £6.97
2026-08-15 10:15:06.329670: - Import rates are cheap (13.8p - 19.7p) for the next 5 and three quarters hours and then expensive (33.1p) for the next 1 hour.
2026-08-15 10:15:06.329943: - The battery is currently at 9% and is in eco mode for the next 1 and a quarter hours.
2026-08-15 10:15:06.330150: - For the next 48 hours there will be no solar generation.
2026-08-15 10:15:06.330374: - You will run out of battery in 20 minutes.
2026-08-15 10:15:06.330560: - Your next charge slot will be in 1 and a quarter hours where import rates will be cheap (15.5p).
2026-08-15 10:15:06.330754: 
2026-08-15 10:15:06.404111: Plan calculation took 2.04 seconds
2026-08-15 10:15:06.414987: No high rate period found
2026-08-15 10:15:06.502362: Import threshold used for optimisation was 24.8p
2026-08-15 10:15:06.640178: Low import rate windows [0: 08-15 10:00:00 - 08-15 10:30:00 @ 19.66, 1: 08-15 10:30:00 - 08-15 11:00:00 @ 17.66, 2: 08-15 11:00:00 - 08-15 11:30:00 @ 16.56, 3: 08-15 11:30:00 - 08-15 12:00:00 @ 15.46, 4: 08-15 12:00:00 - 08-15 12:30:00 @ 17.0, 5: 08-15 12:30:00 - 08-15 13:00:00 @ 16.34, 6: 08-15 13:00:00 - 08-15 13:30:00 @ 15.36, 7: 08-15 13:30:00 - 08-15 14:00:00 @ 15.74, 8: 08-15 14:00:00 - 08-15 14:30:00 @ 14.57, 9: 08-15 14:30:00 - 08-15 15:00:00 @ 13.77, 10: 08-15 15:00:00 - 08-15 15:30:00 @ 15.02, 11: 08-15 15:30:00 - 08-15 16:00:00 @ 15.87, 12: 08-15 16:00:00 - 08-15 16:30:00 @ 33.13, 13: 08-15 16:30:00 - 08-15 17:00:00 @ 33.13, 14: 08-15 17:00:00 - 08-15 17:30:00 @ 38.46, 15: 08-15 17:30:00 - 08-15 18:00:00 @ 40.44, 16: 08-15 18:00:00 - 08-15 18:30:00 @ 41.55, 17: 08-15 18:30:00 - 08-15 19:00:00 @ 43.82, 18: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 19: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 20: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 21: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 22: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 23: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 24: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 25: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 26: 08-15 23:00:00 - 08-15 23:30:00 @ 29.37, 27: 08-15 23:30:00 - 08-16 00:00:00 @ 29.2, 28: 08-16 00:00:00 - 08-16 00:30:00 @ 28.83, 29: 08-16 00:30:00 - 08-16 01:00:00 @ 28.46, 30: 08-16 01:00:00 - 08-16 01:30:00 @ 27.73, 31: 08-16 01:30:00 - 08-16 02:00:00 @ 27.01, 32: 08-16 02:00:00 - 08-16 02:30:00 @ 26.76, 33: 08-16 02:30:00 - 08-16 03:00:00 @ 26.48, 34: 08-16 03:00:00 - 08-16 03:30:00 @ 26.39, 35: 08-16 03:30:00 - 08-16 04:00:00 @ 26.27, 36: 08-16 04:00:00 - 08-16 04:30:00 @ 26.33, 37: 08-16 04:30:00 - 08-16 05:00:00 @ 26.37, 38: 08-16 05:00:00 - 08-16 05:30:00 @ 26.23, 39: 08-16 05:30:00 - 08-16 06:00:00 @ 26.07, 40: 08-16 06:00:00 - 08-16 06:30:00 @ 25.99, 41: 08-16 06:30:00 - 08-16 07:00:00 @ 25.92, 42: 08-16 07:00:00 - 08-16 07:30:00 @ 25.64, 43: 08-16 07:30:00 - 08-16 08:00:00 @ 25.39, 44: 08-16 08:00:00 - 08-16 08:30:00 @ 24.84, 45: 08-16 08:30:00 - 08-16 09:00:00 @ 24.28, 46: 08-16 09:00:00 - 08-16 09:30:00 @ 24.26, 47: 08-16 09:30:00 - 08-16 10:00:00 @ 24.22, 48: 08-16 10:00:00 - 08-16 10:30:00 @ 24.8, 49: 08-16 10:30:00 - 08-16 11:00:00 @ 25.37, 50: 08-16 11:00:00 - 08-16 11:30:00 @ 24.71, 51: 08-16 11:30:00 - 08-16 12:00:00 @ 24.02, 52: 08-16 12:00:00 - 08-16 12:30:00 @ 23.79, 53: 08-16 12:30:00 - 08-16 13:00:00 @ 23.55, 54: 08-16 13:00:00 - 08-16 13:30:00 @ 23.14, 55: 08-16 13:30:00 - 08-16 14:00:00 @ 22.71, 56: 08-16 14:00:00 - 08-16 14:30:00 @ 22.01, 57: 08-16 14:30:00 - 08-16 15:00:00 @ 21.29, 58: 08-16 15:00:00 - 08-16 15:30:00 @ 22.01, 59: 08-16 15:30:00 - 08-16 16:00:00 @ 22.71, 60: 08-16 16:00:00 - 08-16 16:30:00 @ 37.14, 61: 08-16 16:30:00 - 08-16 17:00:00 @ 37.91, 62: 08-16 17:00:00 - 08-16 17:30:00 @ 40.13, 63: 08-16 17:30:00 - 08-16 18:00:00 @ 42.36, 64: 08-16 18:00:00 - 08-16 18:30:00 @ 44.19, 65: 08-16 19:00:00 - 08-16 19:30:00 @ 33.04, 66: 08-16 19:30:00 - 08-16 20:00:00 @ 33.71, 67: 08-16 20:00:00 - 08-16 20:30:00 @ 33.83, 68: 08-16 20:30:00 - 08-16 21:00:00 @ 33.94, 69: 08-16 21:00:00 - 08-16 21:30:00 @ 33.73, 70: 08-16 21:30:00 - 08-16 22:00:00 @ 33.53, 71: 08-16 22:00:00 - 08-16 22:30:00 @ 32.36, 72: 08-16 22:30:00 - 08-16 23:00:00 @ 31.17, 73: 08-16 23:00:00 - 08-16 23:30:00 @ 29.37, 74: 08-16 23:30:00 - 08-17 00:00:00 @ 29.2, 75: 08-17 00:00:00 - 08-17 00:30:00 @ 28.83, 76: 08-17 00:30:00 - 08-17 01:00:00 @ 28.46, 77: 08-17 01:00:00 - 08-17 01:30:00 @ 27.73, 78: 08-17 01:30:00 - 08-17 02:00:00 @ 27.01, 79: 08-17 02:00:00 - 08-17 02:30:00 @ 26.76, 80: 08-17 02:30:00 - 08-17 03:00:00 @ 26.48, 81: 08-17 03:00:00 - 08-17 03:30:00 @ 26.39, 82: 08-17 03:30:00 - 08-17 04:00:00 @ 26.27, 83: 08-17 04:00:00 - 08-17 04:30:00 @ 26.33, 84: 08-17 04:30:00 - 08-17 05:00:00 @ 26.37, 85: 08-17 05:00:00 - 08-17 05:30:00 @ 26.23, 86: 08-17 05:30:00 - 08-17 06:00:00 @ 26.07, 87: 08-17 06:00:00 - 08-17 06:30:00 @ 25.99, 88: 08-17 06:30:00 - 08-17 07:00:00 @ 25.92, 89: 08-17 07:00:00 - 08-17 07:30:00 @ 25.64, 90: 08-17 07:30:00 - 08-17 08:00:00 @ 25.39, 91: 08-17 08:00:00 - 08-17 08:30:00 @ 24.84, 92: 08-17 08:30:00 - 08-17 09:00:00 @ 24.28, 93: 08-17 09:00:00 - 08-17 09:30:00 @ 24.26, 94: 08-17 09:30:00 - 08-17 10:00:00 @ 24.22, 95: 08-17 10:00:00 - 08-17 10:30:00 @ 24.8]
2026-08-15 10:15:06.650646: Inverter 0 Charge window will be: 2026-08-15 11:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 9%, target 100%
2026-08-15 10:15:06.650940: Inverter 0 disabled charge window while waiting for schedule (now 08-15 10:15:00 target set_window_minutes 30 charge start time 08-15 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 10:15:06.651191: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 10:15:06.651606: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 10:15:06.651836: No export window planned
2026-08-15 10:15:06.652102: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 10:15:06.652287: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 10:15:06.652674: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 10:15:06.653101: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 10:15:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 10:15:06.653293: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 10:15:06.653536: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 10:15:06.653815: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 10:15:06.654015: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 10:15:06.654215: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 10:15:06.654417: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 10:15:06.654584: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 10:15:06.654759: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 10:15:06.654912: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 10:15:06.655143: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 10:15:06.655319: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 10:15:06.655513: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 10:15:06.655666: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 10:15:06.655848: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 10:15:06.656009: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 10:15:06.656190: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 10:15:06.656331: Inverter 0 count register writes 0
2026-08-15 10:15:06.695844: Will recompute the plan as it is now 10.0 minutes old and will exceed the max age of 10 minutes before the next run
2026-08-15 10:15:06.696329: Recompute is saving previous plan...
2026-08-15 10:15:06.699766: Best charge window [ 15-08 10:00:00 - 15-08 10:30:00 @ 19.66p 0%, 15-08 10:30:00 - 15-08 11:00:00 @ 17.66p 0%, 15-08 11:00:00 - 15-08 11:30:00 @ 16.56p 0%, 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 0%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 0%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 0%, 15-08 13:00:00 - 15-08 13:30:00 @ 15.36p 0%, 15-08 13:30:00 - 15-08 14:00:00 @ 15.74p 0%, 15-08 14:00:00 - 15-08 14:30:00 @ 14.57p 0%, 15-08 14:30:00 - 15-08 15:00:00 @ 13.77p 0%, 15-08 15:00:00 - 15-08 15:30:00 @ 15.02p 0%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 0%, 15-08 16:00:00 - 15-08 16:30:00 @ 33.13p 0%, 15-08 16:30:00 - 15-08 17:00:00 @ 33.13p 0%, 15-08 17:00:00 - 15-08 17:30:00 @ 38.46p 0%, 15-08 17:30:00 - 15-08 18:00:00 @ 40.44p 0%, 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 0%, 15-08 18:30:00 - 15-08 19:00:00 @ 43.82p 0%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 0%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 0%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 0%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 0%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 29.37p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 29.2p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.83p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 28.46p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 27.73p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 27.01p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 26.76p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 26.48p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.39p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 26.27p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.33p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.37p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 26.23p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.07p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.99p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 25.92p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 25.64p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 25.39p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.84p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.28p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.26p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.22p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 24.8p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 25.37p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 24.71p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 24.02p 0%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.79p 0%, 16-08 12:30:00 - 16-08 13:00:00 @ 23.55p 0%, 16-08 13:00:00 - 16-08 13:30:00 @ 23.14p 0%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.71p 0%, 16-08 14:00:00 - 16-08 14:30:00 @ 22.01p 0%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.29p 0%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.01p 0%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.71p 0%, 16-08 16:00:00 - 16-08 16:30:00 @ 37.14p 0%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.91p 0%, 16-08 17:00:00 - 16-08 17:30:00 @ 40.13p 0%, 16-08 17:30:00 - 16-08 18:00:00 @ 42.36p 0%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.19p 0%, 16-08 19:00:00 - 16-08 19:30:00 @ 33.04p 0%, 16-08 19:30:00 - 16-08 20:00:00 @ 33.71p 0%, 16-08 20:00:00 - 16-08 20:30:00 @ 33.83p 0%, 16-08 20:30:00 - 16-08 21:00:00 @ 33.94p 0%, 16-08 21:00:00 - 16-08 21:30:00 @ 33.73p 0%, 16-08 21:30:00 - 16-08 22:00:00 @ 33.53p 0%, 16-08 22:00:00 - 16-08 22:30:00 @ 32.36p 0%, 16-08 22:30:00 - 16-08 23:00:00 @ 31.17p 0%, 16-08 23:00:00 - 16-08 23:30:00 @ 29.37p 0%, 16-08 23:30:00 - 17-08 00:00:00 @ 29.2p 0%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.83p 0%, 17-08 00:30:00 - 17-08 01:00:00 @ 28.46p 0%, 17-08 01:00:00 - 17-08 01:30:00 @ 27.73p 0%, 17-08 01:30:00 - 17-08 02:00:00 @ 27.01p 0%, 17-08 02:00:00 - 17-08 02:30:00 @ 26.76p 0%, 17-08 02:30:00 - 17-08 03:00:00 @ 26.48p 0%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.39p 0%, 17-08 03:30:00 - 17-08 04:00:00 @ 26.27p 0%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.33p 0%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.37p 0%, 17-08 05:00:00 - 17-08 05:30:00 @ 26.23p 0%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.07p 0%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.99p 0%, 17-08 06:30:00 - 17-08 07:00:00 @ 25.92p 0%, 17-08 07:00:00 - 17-08 07:30:00 @ 25.64p 0%, 17-08 07:30:00 - 17-08 08:00:00 @ 25.39p 0%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.84p 0%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.28p 0%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.26p 0%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.22p 0%, 17-08 10:00:00 - 17-08 10:30:00 @ 24.8p 0% ]
2026-08-15 10:15:06.699962: Best export window [  ]
2026-08-15 10:15:06.700857: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 10:15:06.704234: Load divergence over 8.0 hours mean 637.47W, min 274.2W, max 1777.8W, std dev 360.29W, divergence 28.26%
2026-08-15 10:15:06.744487: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 10:15:06.747474: LoadML is_calculating True
2026-08-15 10:15:06.747639: Not using thread pool as LoadML is calculating to avoid lockups
2026-08-15 10:15:06.770666: Calculate Best options: mode(Control charge & discharge), calculate_export_oncharge(False), calculate_export_on_pv(True), set_export_freeze_only(False), set_discharge_during_charge(True), combine_charge_slots(False), combine_export_slots(False), combine_rate_threshold(0.0), best_soc_min(0.0 kWh), best_soc_max(0.0 kWh), best_soc_keep(0.0 kWh), inverter_loss(4%), battery_loss(3%), battery_loss_discharge (3%), inverter_hybrid(True), metric_min_improvement(0.0p), metric_min_improvement_export(0.1p), metric_min_improvement_export_freeze(0.1p), metric_battery_cycle(0.0p/kWh), metric_battery_value_scaling(1.0 x) 
2026-08-15 10:15:06.771960: Optimise levels pass started at 2026-08-15 10:15:06
2026-08-15 10:15:06.772086: Optimise all windows, total charge 95 export 1
2026-08-15 10:15:11.961493: >> Region optimisation pass width 960 gives best_metric 936.94p, best_cost 951.1p, best_cycle 49.84kWh, best_import 37.51kWh
2026-08-15 10:15:13.164759: >> Region optimisation pass width 480 gives best_metric 936.94p, best_cost 951.1p, best_cycle 49.84kWh, best_import 37.51kWh
2026-08-15 10:15:14.328913: >> Region optimisation pass width 240 gives best_metric 936.94p, best_cost 951.1p, best_cycle 49.84kWh, best_import 37.51kWh
2026-08-15 10:15:17.615700: >> Region optimisation pass width 120 gives best_metric 936.94p, best_cost 951.1p, best_cycle 49.84kWh, best_import 37.51kWh
2026-08-15 10:15:17.616182: Calculated end_record as 08-16 11:30:00 based on best_price 22.71p, next_charge_start 08-15 11:30:00, max_windows 51
2026-08-15 10:15:17.616376: Optimise levels pass ended at 2026-08-15 10:15:17, duration 10.8 seconds tried 284 combinations
2026-08-15 10:15:17.616480: Set best_price_charge_level 24.4p, best_price_export_level 0p, best_price_charge 22.71p, best_cost_export 0p, best_metric 936.94p, best_keep 0kWh, best_cycle 49.84kWh, best_carbon 0kg, best_import 37.51kWh
2026-08-15 10:15:17.640387: Starting detailed optimisation end_record 08-16 11:30:00, best_price_charge 22.71p, best_price_export 0p. lowest_price_charge 13.77p with charge limits [0, 0, 0, 16.0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0]kWh and export limits []kWh
2026-08-15 10:15:19.098581: ML Predictor: Epoch 23/30: lr=0.00022 huber_loss=0.0050 val_mae=0.0014 kWh val_bias=+0.0001 kWh (+0.1%) combined=0.0008 kWh ema_combined=0.0010 kWh
2026-08-15 10:15:42.236988: Tweak plan optimisation started metric 564.46p, cost 581.16p
2026-08-15 10:15:42.832453: Tweak optimisation finished metric 564.46p, cost 581.16p, metric_keep 0kWh, cycle 30.12kWh, carbon 0kg, import 21.31kWh, changed 8 window(s)
2026-08-15 10:15:42.898300: Swap charge optimisation started metric 564.46p, cost 581.16p, min_improvement_swap 0.1p
2026-08-15 10:15:50.187076: Swap charge optimisation finished metric 564.46p, cost 581.16p
2026-08-15 10:15:50.532786: Pruned 3 dead plan slot(s) in 12 trial(s), nominal metric 560.67p -> 560.67p, plan now metric 564.53p, cost 581.16p, cycle 30.12kWh, import 21.31kWh
2026-08-15 10:15:50.548839: Raw charge windows [ 15-08 10:00:00 - 15-08 10:30:00 @ 19.66p 0%, 15-08 10:30:00 - 15-08 11:00:00 @ 17.66p 0%, 15-08 11:00:00 - 15-08 11:30:00 @ 16.56p 0%, 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 13:30:00 @ 15.36p 100%, 15-08 13:30:00 - 15-08 14:00:00 @ 15.74p 100%, 15-08 14:00:00 - 15-08 14:30:00 @ 14.57p 100%, 15-08 14:30:00 - 15-08 15:00:00 @ 13.77p 100%, 15-08 15:00:00 - 15-08 15:30:00 @ 15.02p 100%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 100%, 15-08 16:00:00 - 15-08 16:30:00 @ 33.13p 0%, 15-08 16:30:00 - 15-08 17:00:00 @ 33.13p 0%, 15-08 17:00:00 - 15-08 17:30:00 @ 38.46p 0%, 15-08 17:30:00 - 15-08 18:00:00 @ 40.44p 0%, 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 0%, 15-08 18:30:00 - 15-08 19:00:00 @ 43.82p 0%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 0%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 0%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 0%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 0%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 29.37p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 29.2p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.83p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 28.46p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 27.73p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 27.01p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 26.76p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 26.48p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.39p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 26.27p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.33p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.37p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 26.23p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.07p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.99p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 25.92p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 25.64p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 25.39p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.84p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.28p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.26p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.22p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 24.8p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 25.37p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 24.71p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 24.02p 100%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.79p 100%, 16-08 12:30:00 - 16-08 13:00:00 @ 23.55p 100%, 16-08 13:00:00 - 16-08 13:30:00 @ 23.14p 100%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.71p 100%, 16-08 14:00:00 - 16-08 14:30:00 @ 22.01p 100%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.29p 100%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.01p 100%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.71p 100%, 16-08 16:00:00 - 16-08 16:30:00 @ 37.14p 100%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.91p 100%, 16-08 17:00:00 - 16-08 17:30:00 @ 40.13p 100%, 16-08 17:30:00 - 16-08 18:00:00 @ 42.36p 100%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.19p 100%, 16-08 19:00:00 - 16-08 19:30:00 @ 33.04p 100%, 16-08 19:30:00 - 16-08 20:00:00 @ 33.71p 100%, 16-08 20:00:00 - 16-08 20:30:00 @ 33.83p 100%, 16-08 20:30:00 - 16-08 21:00:00 @ 33.94p 100%, 16-08 21:00:00 - 16-08 21:30:00 @ 33.73p 100%, 16-08 21:30:00 - 16-08 22:00:00 @ 33.53p 100%, 16-08 22:00:00 - 16-08 22:30:00 @ 32.36p 100%, 16-08 22:30:00 - 16-08 23:00:00 @ 31.17p 100%, 16-08 23:00:00 - 16-08 23:30:00 @ 29.37p 100%, 16-08 23:30:00 - 17-08 00:00:00 @ 29.2p 100%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.83p 100%, 17-08 00:30:00 - 17-08 01:00:00 @ 28.46p 100%, 17-08 01:00:00 - 17-08 01:30:00 @ 27.73p 100%, 17-08 01:30:00 - 17-08 02:00:00 @ 27.01p 100%, 17-08 02:00:00 - 17-08 02:30:00 @ 26.76p 100%, 17-08 02:30:00 - 17-08 03:00:00 @ 26.48p 100%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.39p 100%, 17-08 03:30:00 - 17-08 04:00:00 @ 26.27p 100%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.33p 100%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.37p 100%, 17-08 05:00:00 - 17-08 05:30:00 @ 26.23p 100%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.07p 100%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.99p 100%, 17-08 06:30:00 - 17-08 07:00:00 @ 25.92p 100%, 17-08 07:00:00 - 17-08 07:30:00 @ 25.64p 100%, 17-08 07:30:00 - 17-08 08:00:00 @ 25.39p 100%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.84p 100%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.28p 100%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.26p 100%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.22p 100%, 17-08 10:00:00 - 17-08 10:30:00 @ 24.8p 100% ] reserve 1.12
2026-08-15 10:15:50.550049: Unclipped charge windows [ 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 11:30:00 - 16-08 18:30:00 @ 41.93p 100%, 16-08 19:00:00 - 17-08 10:30:00 @ 24.59p 100% ] reserve 1.12
2026-08-15 10:15:50.550548: Unfiltered charge windows [ 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 11:30:00 - 16-08 18:30:00 @ 41.93p 100%, 16-08 19:00:00 - 17-08 10:30:00 @ 24.59p 100% ] reserve 1.12
2026-08-15 10:15:50.550897: Filtered charge windows [ 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 11:30:00 - 16-08 18:30:00 @ 41.93p 100%, 16-08 19:00:00 - 17-08 10:30:00 @ 24.59p 100% ] reserve 1.12
2026-08-15 10:15:50.595702: Previous plan best metric is 565.8 (cost 582.65) and new plan best metric is 564.46 (cost 581.16)
2026-08-15 10:15:50.596258: New plan metric is not significantly better (metric_min_improvement_plan 2.0) than previous plan, using previous plan
2026-08-15 10:15:50.596515: Plan valid is now true after recompute was False
2026-08-15 10:15:50.628227: predict base end_record 08-16 11:30:00, final soc 1.12kWh, metric 805.57p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 10:35:00, load 26.31kWh, PV 0.0kWh
2026-08-15 10:15:50.814961: Battery has 0.33 hours left - now at 1.47kWh
2026-08-15 10:15:50.900148: predict base10 end_record 08-16 11:30:00, final soc 1.12kWh, metric 829.68p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 10:35:00, load 27.24kWh, PV 0.0kWh
2026-08-15 10:15:51.039341: predict best10 end_record 08-16 11:30:00, final soc 1.12kWh, metric 656.89p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 10:35:00, load 27.24kWh, PV 0.0kWh
2026-08-15 10:15:51.250207: predict best end_record 08-16 11:30:00, final soc 1.12kWh, metric 632.63p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 10:35:00, load 26.31kWh, PV 0.0kWh
2026-08-15 10:15:51.250313: Saving plan best values to HA entities
2026-08-15 10:15:51.582518: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0
2026-08-15 10:15:51.590993: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 10:15:51.600245: Best charging limit SoC's [16.0, 3.5, 4.0, 16.0, 15.75, 16.0, 16.0]kWh, export []kWh gives import battery 19.91kWh, house 1.37kWh, export 0.0kWh, metric 632.63p, metric10 656.89p
2026-08-15 10:15:51.810280: Marginal costs baseline metric (no standing charge): 582.6489
2026-08-15 10:15:52.206196: Marginal energy costs matrix computed: min=14.28 max=33.08
2026-08-15 10:15:52.302125: Rate array import [{'start': 615, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 19.7p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1950, 'rate': 'expensive', 'range': '(24.8p - 32.9p)'}, {'start': 1950, 'end': 2040, 'rate': 'cheap', 'range': '(24.2p - 24.3p)'}, {'start': 2040, 'end': 2130, 'rate': 'expensive', 'range': '(24.7p - 25.4p)'}] export [{'start': 615, 'end': 2130, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 10:15:52.302871: - Your estimated bill for today is £5.72 and tomorrow is £6.97
2026-08-15 10:15:52.303026: - Import rates are cheap (13.8p - 19.7p) for the next 5 and three quarters hours and then expensive (33.1p) for the next 1 hour.
2026-08-15 10:15:52.303118: - The battery is currently at 9% and is in eco mode for the next 1 and a quarter hours.
2026-08-15 10:15:52.303245: - For the next 48 hours there will be no solar generation.
2026-08-15 10:15:52.303379: - You will run out of battery in 20 minutes.
2026-08-15 10:15:52.303515: - Your next charge slot will be in 1 and a quarter hours where import rates will be cheap (15.5p).
2026-08-15 10:15:52.303586: 
2026-08-15 10:15:52.375543: Plan calculation took 45.68 seconds
2026-08-15 10:15:52.375977: Inverter 0: Type SK Sunsynk
2026-08-15 10:15:52.376170: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 10:15:52.376577: Reserve min: 7%, battery_min: 7%
2026-08-15 10:15:52.383427: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 10:15:52.384104: Inverter 0 SoC: 1.44kW 9%, current charge rate 5000W, current discharge rate 5250W, current battery power 289W, current battery voltage 51.2V, grid power -55W, load power 342W, PV Power 0W
2026-08-15 10:15:52.384523: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 10:15:52.384765: Inverter 0 scheduled charge enable is False
2026-08-15 10:15:52.384932: Inverter 0 charge windows currently []
2026-08-15 10:15:52.385359: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 10:15:52.385682: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 10:15:52.385879: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 10:15:52.386042: Inverter 0 scheduled discharge enable is False
2026-08-15 10:15:52.386425: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 10:15:52.386570: Inverter 0 discharge windows currently []
2026-08-15 10:15:52.386722: Note: Inverter does not support discharge freeze - disabled
2026-08-15 10:15:52.386846: Note: Inverter does not support charge freeze - disabled
2026-08-15 10:15:52.386989: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 10:15:52.586511: Inverter 0 Charge window will be: 2026-08-15 11:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 9%, target 100%
2026-08-15 10:15:52.586762: Inverter 0 disabled charge window while waiting for schedule (now 08-15 10:15:00 target set_window_minutes 30 charge start time 08-15 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 10:15:52.586882: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 10:15:52.587167: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 10:15:52.587316: No export window planned
2026-08-15 10:15:52.587673: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 10:15:52.587743: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 10:15:52.588006: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 10:15:52.588269: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 10:15:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 10:15:52.588358: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 10:15:52.588502: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 10:15:52.588635: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 10:15:52.588811: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 10:15:52.589048: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 10:15:52.589224: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 10:15:52.589441: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 10:15:52.589605: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 10:15:52.589786: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 10:15:52.590009: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 10:15:52.590187: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 10:15:52.590345: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 10:15:52.590586: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 10:15:52.590744: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 10:15:52.590944: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 10:15:52.591130: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 10:15:52.591311: Inverter 0 count register writes 0
2026-08-15 10:15:52.650559: Total inverter register writes now 815
2026-08-15 10:15:52.778397: Info: Completed run status Demand
2026-08-15 10:15:52.800610: Info: record_status Demand
2026-08-15 10:15:52.834196: Saved current settings to /config/predbat_config.json
2026-08-15 10:15:52.834485: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 10:16:11.906629: ML Predictor: Epoch 24/30: lr=0.00019 huber_loss=0.0047 val_mae=0.0014 kWh val_bias=+0.0001 kWh (+0.2%) combined=0.0008 kWh ema_combined=0.0009 kWh
2026-08-15 10:16:27.164161: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 10:16:27.164671: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 10:16:27.164875: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 10:16:27.165271: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 10:16:27.165464: Note: Inverter does not support discharge freeze - disabled
2026-08-15 10:16:27.165588: Note: Inverter does not support charge freeze - disabled
2026-08-15 10:16:27.165723: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 10:16:43.234221: ML Predictor: Epoch 25/30: lr=0.00016 huber_loss=0.0050 val_mae=0.0014 kWh val_bias=+0.0000 kWh (+0.0%) combined=0.0008 kWh ema_combined=0.0009 kWh
2026-08-15 10:17:14.516471: ML Predictor: Epoch 26/30: lr=0.00014 huber_loss=0.0045 val_mae=0.0014 kWh val_bias=+0.0000 kWh (+0.1%) combined=0.0008 kWh ema_combined=0.0009 kWh
2026-08-15 10:17:46.831333: ML Predictor: Epoch 27/30: lr=0.00012 huber_loss=0.0048 val_mae=0.0014 kWh val_bias=+0.0001 kWh (+0.1%) combined=0.0008 kWh ema_combined=0.0008 kWh
2026-08-15 10:18:16.485030: ML Predictor: Epoch 28/30: lr=0.00011 huber_loss=0.0047 val_mae=0.0014 kWh val_bias=+0.0002 kWh (+0.4%) combined=0.0009 kWh ema_combined=0.0009 kWh
2026-08-15 10:18:41.678501: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 10:18:41.678831: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 10:18:41.678887: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 10:18:41.679088: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 10:18:41.679141: Note: Inverter does not support discharge freeze - disabled
2026-08-15 10:18:41.679177: Note: Inverter does not support charge freeze - disabled
2026-08-15 10:18:41.679213: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 10:18:47.536759: ML Predictor: Epoch 29/30: lr=0.00010 huber_loss=0.0047 val_mae=0.0013 kWh val_bias=-0.0000 kWh (-0.1%) combined=0.0008 kWh ema_combined=0.0008 kWh
2026-08-15 10:19:17.970438: ML Predictor: Epoch 30/30: lr=0.00010 huber_loss=0.0046 val_mae=0.0013 kWh val_bias=+0.0000 kWh (+0.1%) combined=0.0007 kWh ema_combined=0.0008 kWh
2026-08-15 10:19:17.976845: ML Predictor: Restored best weights from epoch with val_mae=0.0013 kWh val_bias=+0.0000 kWh (+0.1%)
2026-08-15 10:19:17.977249: ML Predictor: Training complete, final val_mae=0.0013 kWh val_bias=+0.0000 kWh (+0.1%)
2026-08-15 10:19:27.099344: ML Predictor: AR rollout over holdout: ar_mae=0.0014 kWh ar_bias=+0.0000 kWh (+0.0%) [drift vs teacher-forced: +0.0001 kWh]
2026-08-15 10:19:27.115593: ML Predictor: Curriculum pass 2/5 complete, val_mae=0.0013 kWh
2026-08-15 10:19:27.210624: ML Predictor: Curriculum pass 3/5: window=55.0 days (1320 hours of data)
2026-08-15 10:19:27.210929: ML Predictor: Starting fine-tune training with 30 epochs
2026-08-15 10:19:27.863734: ML Predictor: Creating dataset with 1320 hours of training data, 48 hours validation
2026-08-15 10:19:33.086803: ML Predictor: Created 15552 training samples, 576 validation samples
2026-08-15 10:19:33.144337: ML Predictor: Normalization stats [ema-update alpha=0.1] target(mean=0.0587 std=0.0472) load(mean=0.0589 std=0.0472) pv(mean=0.0000 std=0.0100) temp(mean=19.4979 std=4.4109) import_rate(mean=25.5034 std=2.4753) export_rate(mean=0.0000 std=1.0000) time(mean=-0.1903 std=0.5235)
2026-08-15 10:19:33.239168: ML Predictor: Applied EMA normalization update (alpha=0.1) to track feature drift
2026-08-15 10:19:33.256645: ML Predictor: Reset Adam optimiser state for fine-tuning
2026-08-15 10:19:33.359787: ML Predictor: Baseline (pre-finetune) val_mae=0.0055 kWh val_bias=-0.0017 kWh
2026-08-15 10:20:00.373811: --------------- PredBat - update at 2026-08-15 10:20:00+01:00 with clock skew 0 minutes, minutes now 620
2026-08-15 10:20:00.375042: Saved current settings to /config/predbat_config.json
2026-08-15 10:20:00.375305: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 5.0 minutes
2026-08-15 10:20:00.375518: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.1, latest beta is v8.48.1
2026-08-15 10:20:00.375705: Autoupdate: Currently up to date
2026-08-15 10:20:00.489637: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 10:20:00.491007: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 10:20:00.491495: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 10:20:00.492296: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 10:20:00.499952: Predbat mode is set to Control charge & discharge
2026-08-15 10:20:01.061662: Found 21602 load_today datapoints going back 28 days
2026-08-15 10:20:01.061969: Using load_power data to fill gaps in load_today data
2026-08-15 10:20:02.373861: Processing 721 30-minute periods for power integration
2026-08-15 10:20:02.670174: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 10:20:02.670581: Car charging hold False, threshold 6.0kWh
2026-08-15 10:20:02.670643: Current data so far today: load 6.85kWh, import 7.8kWh, export 0.0kWh, PV 0kWh
2026-08-15 10:20:02.683392: Cars: SoC: [12.892000000000001]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 10:20:02.683907: Standing charge is set to 49.98p
2026-08-15 10:20:02.774105: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 10:20:02.774223: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 10:20:02.774479: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 15.0 minutes
2026-08-15 10:20:02.774920: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 15.0 minutes
2026-08-15 10:20:02.781141: Loaded 95 datapoints of futurerate analysis
2026-08-15 10:20:02.987130: Predicted future rates: ['08-15 00:00:00 => 28.9 / 20.01', '08-15 01:00:00 => 27.54 / 19.31', '08-15 02:00:00 => 26.52 / 18.8', '08-15 03:00:00 => 25.99 / 18.53', '08-15 04:00:00 => 25.8 / 18.43', '08-15 05:00:00 => 25.96 / 18.51', '08-15 06:00:00 => 25.55 / 18.3', '08-15 07:00:00 => 24.33 / 17.68', '08-15 08:00:00 => 23.03 / 17.01', '08-15 09:00:00 => 22.05 / 16.51', '08-15 10:00:00 => 20.43 / 15.68', '08-15 11:00:00 => 18.01 / 14.45', '08-15 12:00:00 => 16.37 / 13.61', '08-15 13:00:00 => 15.76 / 13.3', '08-15 14:00:00 => 15.35 / 13.09', '08-15 15:00:00 => 15.86 / 13.35', '08-15 16:00:00 => 32.89 / 16.13', '08-15 17:00:00 => 38.02 / 18.75', '08-15 18:00:00 => 42.36 / 20.96', '08-15 19:00:00 => 31.09 / 21.13', '08-15 20:00:00 => 31.64 / 21.41', '08-15 21:00:00 => 31.64 / 21.41', '08-15 22:00:00 => 30.58 / 20.87', '08-15 23:00:00 => 29.37 / 20.25', '08-16 00:00:00 => 28.83 / 19.97', '08-16 01:00:00 => 27.73 / 19.41', '08-16 02:00:00 => 26.76 / 18.92', '08-16 03:00:00 => 26.39 / 18.73', '08-16 04:00:00 => 26.33 / 18.7', '08-16 05:00:00 => 26.23 / 18.65', '08-16 06:00:00 => 25.99 / 18.53', '08-16 07:00:00 => 25.64 / 18.35', '08-16 08:00:00 => 24.84 / 17.94', '08-16 09:00:00 => 24.26 / 17.64']
2026-08-15 10:20:03.095829: Rate min forward looking: now 13.77p at end of forecast 21.29p
2026-08-15 10:20:03.097419: Import rates: min 13.77p, max 46.05p, average 27.49p
2026-08-15 10:20:03.171424: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 10:20:03.171826: Rate thresholds (for charge/export) are import 45.55p (0.0p), export -0.1p (0.0p)
2026-08-15 10:20:03.172900: High export rate found rates in range 99p to -99p
2026-08-15 10:20:03.252855: Low Import rate found rates in range 13.77p to 44.19p
2026-08-15 10:20:03.253228: Car 0 charging is not planned as it is not plugged in
2026-08-15 10:20:03.293779: Battery level now 1.47kWh, -1hr ago 1.92kWh, at midnight 1.66kWh, battery value change in the last hour -5.3p, change today -2.18p, rate_forward 11.83p
2026-08-15 10:20:03.295470: Last hour: net energy 0.06kWh, import 0.06kWh, export 0.0kWh, car 0kWh, load 0.52kWh, net cost 1.48p, import 1.48p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 10:20:03.395320: Today's energy total net 7.8kWh, import 7.8kWh, export 0.0kWh, cost 254.46p, import 204.47p, export 0.0p, carbon 0.0kg
2026-08-15 10:20:03.395479: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 10:20:03.588537: Using weighted-bucket historical load forecast over 14 days
2026-08-15 10:20:03.657684: Today's load divergence 106.83%, in-day adjustment 127.72%, damping 0.95x, yesterday 143.77% today 106.49% blend 56.94%
2026-08-15 10:20:03.657923: Today's predicted so far 5.71kWh with 0.0kWh car/iBoost excluded, 3.23kWh import ignored, and 5.71kWh forecast extra.
2026-08-15 10:20:03.658056: Today's actual load so far 6.84kWh with 0.0kWh car/iBoost excluded, and 3.23kWh import ignored.
2026-08-15 10:20:03.728676: Inverter 0: Type SK Sunsynk
2026-08-15 10:20:03.728800: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 10:20:03.729077: Reserve min: 7%, battery_min: 7%
2026-08-15 10:20:03.729377: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 10:20:03.729861: Inverter 0 SoC: 1.44kW 9%, current charge rate 5000W, current discharge rate 5250W, current battery power 276W, current battery voltage 51.2V, grid power -54W, load power 330W, PV Power 0W
2026-08-15 10:20:03.730150: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 10:20:03.730326: Inverter 0 scheduled charge enable is False
2026-08-15 10:20:03.730396: Inverter 0 charge windows currently []
2026-08-15 10:20:03.730447: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 10:20:03.730667: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 10:20:03.730758: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 10:20:03.730950: Inverter 0 scheduled discharge enable is False
2026-08-15 10:20:03.731198: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 10:20:03.731249: Inverter 0 discharge windows currently []
2026-08-15 10:20:03.731430: Note: Inverter does not support discharge freeze - disabled
2026-08-15 10:20:03.731482: Note: Inverter does not support charge freeze - disabled
2026-08-15 10:20:03.731503: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 10:20:03.836088: Dynamic load last period 0.60kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 10:20:03.836232: Plan was last updated on 2026-08-15 10:15:00+01:00 and is now 5.0 minutes old
2026-08-15 10:20:03.836654: Best charge window [ 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 14:00:00 @ 15.55p 100%, 15-08 14:00:00 - 15-08 16:00:00 @ 15.23p 98%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 10:00:00 @ 23.56p 100% ]
2026-08-15 10:20:03.836711: Best export window [  ]
2026-08-15 10:20:03.838019: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 10:20:03.842902: Load divergence over 8.0 hours mean 637.44W, min 283.2W, max 1692.6W, std dev 336.62W, divergence 26.4%
2026-08-15 10:20:03.874655: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 10:20:03.874803: LoadML is_calculating True
2026-08-15 10:20:03.874839: Not using thread pool as LoadML is calculating to avoid lockups
2026-08-15 10:20:03.925131: predict base end_record 08-16 11:35:00, final soc 1.12kWh, metric 807.24p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 10:35:00, load 26.39kWh, PV 0.0kWh
2026-08-15 10:20:04.131609: Battery has 0.25 hours left - now at 1.44kWh
2026-08-15 10:20:04.211672: predict base10 end_record 08-16 11:35:00, final soc 1.12kWh, metric 831.46p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 10:35:00, load 27.32kWh, PV 0.0kWh
2026-08-15 10:20:04.421780: predict best10 end_record 08-16 11:35:00, final soc 1.44kWh, metric 666.99p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 10:35:00, load 27.32kWh, PV 0.0kWh
2026-08-15 10:20:04.610808: predict best end_record 08-16 11:35:00, final soc 1.51kWh, metric 644.3p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 10:35:00, load 26.39kWh, PV 0.0kWh
2026-08-15 10:20:04.611527: Saving plan best values to HA entities
2026-08-15 10:20:04.925758: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0
2026-08-15 10:20:04.939285: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 10:20:04.958214: Best charging limit SoC's [16.0, 3.5, 4.0, 16.0, 15.75, 16.0, 16.0]kWh, export []kWh gives import battery 20.41kWh, house 1.33kWh, export 0.0kWh, metric 644.3p, metric10 666.99p
2026-08-15 10:20:05.122500: Marginal costs baseline metric (no standing charge): 594.3118
2026-08-15 10:20:05.573159: Marginal energy costs matrix computed: min=14.32 max=32.68
2026-08-15 10:20:05.743068: Rate array import [{'start': 620, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 19.7p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1950, 'rate': 'expensive', 'range': '(24.8p - 32.9p)'}, {'start': 1950, 'end': 2040, 'rate': 'cheap', 'range': '(24.2p - 24.3p)'}, {'start': 2040, 'end': 2130, 'rate': 'expensive', 'range': '(24.7p - 25.4p)'}, {'start': 2130, 'end': 2135, 'rate': 'cheap', 'range': '(24.0p)'}] export [{'start': 620, 'end': 2135, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 10:20:05.744189: - Your estimated bill for today is £5.71 and tomorrow is £6.97
2026-08-15 10:20:05.744576: - Import rates are cheap (13.8p - 19.7p) for the next 5 and three quarters hours and then expensive (33.1p) for the next 1 hour.
2026-08-15 10:20:05.744757: - The battery is currently at 9% and is in eco mode for the next 1 and a quarter hours.
2026-08-15 10:20:05.744920: - For the next 48 hours there will be no solar generation.
2026-08-15 10:20:05.745150: - You will run out of battery in 15 minutes.
2026-08-15 10:20:05.745340: - Your next charge slot will be in 1 and a quarter hours where import rates will be cheap (15.5p).
2026-08-15 10:20:05.745530: 
2026-08-15 10:20:05.794138: Plan calculation took 1.96 seconds
2026-08-15 10:20:05.799200: No high rate period found
2026-08-15 10:20:05.924007: Import threshold used for optimisation was 24.8p
2026-08-15 10:20:06.130157: Low import rate windows [0: 08-15 10:00:00 - 08-15 10:30:00 @ 19.66, 1: 08-15 10:30:00 - 08-15 11:00:00 @ 17.66, 2: 08-15 11:00:00 - 08-15 11:30:00 @ 16.56, 3: 08-15 11:30:00 - 08-15 12:00:00 @ 15.46, 4: 08-15 12:00:00 - 08-15 12:30:00 @ 17.0, 5: 08-15 12:30:00 - 08-15 13:00:00 @ 16.34, 6: 08-15 13:00:00 - 08-15 13:30:00 @ 15.36, 7: 08-15 13:30:00 - 08-15 14:00:00 @ 15.74, 8: 08-15 14:00:00 - 08-15 14:30:00 @ 14.57, 9: 08-15 14:30:00 - 08-15 15:00:00 @ 13.77, 10: 08-15 15:00:00 - 08-15 15:30:00 @ 15.02, 11: 08-15 15:30:00 - 08-15 16:00:00 @ 15.87, 12: 08-15 16:00:00 - 08-15 16:30:00 @ 33.13, 13: 08-15 16:30:00 - 08-15 17:00:00 @ 33.13, 14: 08-15 17:00:00 - 08-15 17:30:00 @ 38.46, 15: 08-15 17:30:00 - 08-15 18:00:00 @ 40.44, 16: 08-15 18:00:00 - 08-15 18:30:00 @ 41.55, 17: 08-15 18:30:00 - 08-15 19:00:00 @ 43.82, 18: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 19: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 20: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 21: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 22: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 23: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 24: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 25: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 26: 08-15 23:00:00 - 08-15 23:30:00 @ 29.37, 27: 08-15 23:30:00 - 08-16 00:00:00 @ 29.2, 28: 08-16 00:00:00 - 08-16 00:30:00 @ 28.83, 29: 08-16 00:30:00 - 08-16 01:00:00 @ 28.46, 30: 08-16 01:00:00 - 08-16 01:30:00 @ 27.73, 31: 08-16 01:30:00 - 08-16 02:00:00 @ 27.01, 32: 08-16 02:00:00 - 08-16 02:30:00 @ 26.76, 33: 08-16 02:30:00 - 08-16 03:00:00 @ 26.48, 34: 08-16 03:00:00 - 08-16 03:30:00 @ 26.39, 35: 08-16 03:30:00 - 08-16 04:00:00 @ 26.27, 36: 08-16 04:00:00 - 08-16 04:30:00 @ 26.33, 37: 08-16 04:30:00 - 08-16 05:00:00 @ 26.37, 38: 08-16 05:00:00 - 08-16 05:30:00 @ 26.23, 39: 08-16 05:30:00 - 08-16 06:00:00 @ 26.07, 40: 08-16 06:00:00 - 08-16 06:30:00 @ 25.99, 41: 08-16 06:30:00 - 08-16 07:00:00 @ 25.92, 42: 08-16 07:00:00 - 08-16 07:30:00 @ 25.64, 43: 08-16 07:30:00 - 08-16 08:00:00 @ 25.39, 44: 08-16 08:00:00 - 08-16 08:30:00 @ 24.84, 45: 08-16 08:30:00 - 08-16 09:00:00 @ 24.28, 46: 08-16 09:00:00 - 08-16 09:30:00 @ 24.26, 47: 08-16 09:30:00 - 08-16 10:00:00 @ 24.22, 48: 08-16 10:00:00 - 08-16 10:30:00 @ 24.8, 49: 08-16 10:30:00 - 08-16 11:00:00 @ 25.37, 50: 08-16 11:00:00 - 08-16 11:30:00 @ 24.71, 51: 08-16 11:30:00 - 08-16 12:00:00 @ 24.02, 52: 08-16 12:00:00 - 08-16 12:30:00 @ 23.79, 53: 08-16 12:30:00 - 08-16 13:00:00 @ 23.55, 54: 08-16 13:00:00 - 08-16 13:30:00 @ 23.14, 55: 08-16 13:30:00 - 08-16 14:00:00 @ 22.71, 56: 08-16 14:00:00 - 08-16 14:30:00 @ 22.01, 57: 08-16 14:30:00 - 08-16 15:00:00 @ 21.29, 58: 08-16 15:00:00 - 08-16 15:30:00 @ 22.01, 59: 08-16 15:30:00 - 08-16 16:00:00 @ 22.71, 60: 08-16 16:00:00 - 08-16 16:30:00 @ 37.14, 61: 08-16 16:30:00 - 08-16 17:00:00 @ 37.91, 62: 08-16 17:00:00 - 08-16 17:30:00 @ 40.13, 63: 08-16 17:30:00 - 08-16 18:00:00 @ 42.36, 64: 08-16 18:00:00 - 08-16 18:30:00 @ 44.19, 65: 08-16 19:00:00 - 08-16 19:30:00 @ 33.04, 66: 08-16 19:30:00 - 08-16 20:00:00 @ 33.71, 67: 08-16 20:00:00 - 08-16 20:30:00 @ 33.83, 68: 08-16 20:30:00 - 08-16 21:00:00 @ 33.94, 69: 08-16 21:00:00 - 08-16 21:30:00 @ 33.73, 70: 08-16 21:30:00 - 08-16 22:00:00 @ 33.53, 71: 08-16 22:00:00 - 08-16 22:30:00 @ 32.36, 72: 08-16 22:30:00 - 08-16 23:00:00 @ 31.17, 73: 08-16 23:00:00 - 08-16 23:30:00 @ 29.37, 74: 08-16 23:30:00 - 08-17 00:00:00 @ 29.2, 75: 08-17 00:00:00 - 08-17 00:30:00 @ 28.83, 76: 08-17 00:30:00 - 08-17 01:00:00 @ 28.46, 77: 08-17 01:00:00 - 08-17 01:30:00 @ 27.73, 78: 08-17 01:30:00 - 08-17 02:00:00 @ 27.01, 79: 08-17 02:00:00 - 08-17 02:30:00 @ 26.76, 80: 08-17 02:30:00 - 08-17 03:00:00 @ 26.48, 81: 08-17 03:00:00 - 08-17 03:30:00 @ 26.39, 82: 08-17 03:30:00 - 08-17 04:00:00 @ 26.27, 83: 08-17 04:00:00 - 08-17 04:30:00 @ 26.33, 84: 08-17 04:30:00 - 08-17 05:00:00 @ 26.37, 85: 08-17 05:00:00 - 08-17 05:30:00 @ 26.23, 86: 08-17 05:30:00 - 08-17 06:00:00 @ 26.07, 87: 08-17 06:00:00 - 08-17 06:30:00 @ 25.99, 88: 08-17 06:30:00 - 08-17 07:00:00 @ 25.92, 89: 08-17 07:00:00 - 08-17 07:30:00 @ 25.64, 90: 08-17 07:30:00 - 08-17 08:00:00 @ 25.39, 91: 08-17 08:00:00 - 08-17 08:30:00 @ 24.84, 92: 08-17 08:30:00 - 08-17 09:00:00 @ 24.28, 93: 08-17 09:00:00 - 08-17 09:30:00 @ 24.26, 94: 08-17 09:30:00 - 08-17 10:00:00 @ 24.22, 95: 08-17 10:00:00 - 08-17 10:30:00 @ 24.8]
2026-08-15 10:20:06.144130: Inverter 0 Charge window will be: 2026-08-15 11:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 9%, target 100%
2026-08-15 10:20:06.144457: Inverter 0 disabled charge window while waiting for schedule (now 08-15 10:20:00 target set_window_minutes 30 charge start time 08-15 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 10:20:06.144544: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 10:20:06.144736: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 10:20:06.144813: No export window planned
2026-08-15 10:20:06.144910: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 10:20:06.144967: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 10:20:06.145163: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 10:20:06.145390: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 10:20:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 10:20:06.145463: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 10:20:06.145654: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 10:20:06.145893: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 10:20:06.146057: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 10:20:06.146202: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 10:20:06.146510: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 10:20:06.146912: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 10:20:06.147105: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 10:20:06.147285: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 10:20:06.147530: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 10:20:06.147923: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 10:20:06.147986: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 10:20:06.148015: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 10:20:06.148041: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 10:20:06.148065: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 10:20:06.148198: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 10:20:06.148340: Inverter 0 count register writes 0
2026-08-15 10:20:06.194279: Will not recompute the plan, it is 5.0 minutes old and max age is 10 minutes
2026-08-15 10:20:06.218868: Total inverter register writes now 815
2026-08-15 10:20:06.358836: Info: Completed run status Demand
2026-08-15 10:20:06.370441: Info: record_status Demand
2026-08-15 10:20:06.397048: Saved current settings to /config/predbat_config.json
2026-08-15 10:20:06.397447: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 10:20:09.729980: ML Predictor: Epoch 1/30: lr=0.00100 huber_loss=0.0088 val_mae=0.0045 kWh val_bias=-0.0001 kWh (-0.1%) combined=0.0030 kWh ema_combined=0.0030 kWh
2026-08-15 10:20:41.599123: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 10:20:41.599511: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 10:20:41.599570: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 10:20:41.599810: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 10:20:41.599959: Note: Inverter does not support discharge freeze - disabled
2026-08-15 10:20:41.600069: Note: Inverter does not support charge freeze - disabled
2026-08-15 10:20:41.600163: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 10:20:44.580036: ML Predictor: Epoch 2/30: lr=0.00100 huber_loss=0.0108 val_mae=0.0042 kWh val_bias=-0.0007 kWh (-1.0%) combined=0.0023 kWh ema_combined=0.0028 kWh
2026-08-15 10:21:14.685280: ML Predictor: Epoch 3/30: lr=0.00099 huber_loss=0.0105 val_mae=0.0040 kWh val_bias=-0.0002 kWh (-0.2%) combined=0.0021 kWh ema_combined=0.0026 kWh
2026-08-15 10:21:48.276859: ML Predictor: Epoch 4/30: lr=0.00098 huber_loss=0.0101 val_mae=0.0040 kWh val_bias=-0.0009 kWh (-1.3%) combined=0.0022 kWh ema_combined=0.0025 kWh
2026-08-15 10:22:20.788225: ML Predictor: Epoch 5/30: lr=0.00096 huber_loss=0.0113 val_mae=0.0051 kWh val_bias=-0.0019 kWh (-2.6%) combined=0.0038 kWh ema_combined=0.0029 kWh
2026-08-15 10:22:42.057895: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 10:22:42.058401: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 10:22:42.058543: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 10:22:42.058853: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 10:22:42.058993: Note: Inverter does not support discharge freeze - disabled
2026-08-15 10:22:42.059127: Note: Inverter does not support charge freeze - disabled
2026-08-15 10:22:42.059232: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 10:22:53.076418: ML Predictor: Epoch 6/30: lr=0.00094 huber_loss=0.0106 val_mae=0.0039 kWh val_bias=-0.0013 kWh (-1.8%) combined=0.0024 kWh ema_combined=0.0027 kWh
2026-08-15 10:23:24.348498: ML Predictor: Epoch 7/30: lr=0.00091 huber_loss=0.0109 val_mae=0.0041 kWh val_bias=+0.0009 kWh (+1.3%) combined=0.0024 kWh ema_combined=0.0026 kWh
2026-08-15 10:23:57.732054: ML Predictor: Epoch 8/30: lr=0.00088 huber_loss=0.0102 val_mae=0.0042 kWh val_bias=+0.0001 kWh (+0.2%) combined=0.0032 kWh ema_combined=0.0028 kWh
2026-08-15 10:24:29.286838: ML Predictor: Epoch 9/30: lr=0.00084 huber_loss=0.0139 val_mae=0.0036 kWh val_bias=-0.0016 kWh (-2.2%) combined=0.0027 kWh ema_combined=0.0028 kWh
2026-08-15 10:24:56.603327: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 10:24:56.603866: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 10:24:56.604038: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 10:24:56.604395: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 10:24:56.604537: Note: Inverter does not support discharge freeze - disabled
2026-08-15 10:24:56.604659: Note: Inverter does not support charge freeze - disabled
2026-08-15 10:24:56.604751: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 10:25:00.760157: ML Predictor: Epoch 10/30: lr=0.00080 huber_loss=0.0086 val_mae=0.0031 kWh val_bias=-0.0012 kWh (-1.7%) combined=0.0023 kWh ema_combined=0.0026 kWh
2026-08-15 10:25:00.887832: --------------- PredBat - update at 2026-08-15 10:25:00+01:00 with clock skew 0 minutes, minutes now 625
2026-08-15 10:25:00.890861: Saved current settings to /config/predbat_config.json
2026-08-15 10:25:00.891427: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 10.0 minutes
2026-08-15 10:25:00.891775: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.1, latest beta is v8.48.1
2026-08-15 10:25:00.892039: Autoupdate: Currently up to date
2026-08-15 10:25:00.927320: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 10:25:00.927703: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 10:25:00.928119: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 10:25:00.929160: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 10:25:00.929507: Predbat mode is set to Control charge & discharge
2026-08-15 10:25:01.299463: Found 21602 load_today datapoints going back 28 days
2026-08-15 10:25:01.305361: Using load_power data to fill gaps in load_today data
2026-08-15 10:25:02.475789: Processing 721 30-minute periods for power integration
2026-08-15 10:25:02.869139: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 10:25:02.869278: Car charging hold False, threshold 6.0kWh
2026-08-15 10:25:02.869325: Current data so far today: load 6.9kWh, import 7.8kWh, export 0.0kWh, PV 0kWh
2026-08-15 10:25:02.883033: Cars: SoC: [12.306000000000001]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 10:25:02.883465: Standing charge is set to 49.98p
2026-08-15 10:25:02.972349: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 10:25:02.972565: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 10:25:02.972814: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 20.0 minutes
2026-08-15 10:25:02.973306: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 20.0 minutes
2026-08-15 10:25:02.978672: Loaded 95 datapoints of futurerate analysis
2026-08-15 10:25:03.087365: Predicted future rates: ['08-15 00:00:00 => 28.9 / 20.01', '08-15 01:00:00 => 27.54 / 19.31', '08-15 02:00:00 => 26.52 / 18.8', '08-15 03:00:00 => 25.99 / 18.53', '08-15 04:00:00 => 25.8 / 18.43', '08-15 05:00:00 => 25.96 / 18.51', '08-15 06:00:00 => 25.55 / 18.3', '08-15 07:00:00 => 24.33 / 17.68', '08-15 08:00:00 => 23.03 / 17.01', '08-15 09:00:00 => 22.05 / 16.51', '08-15 10:00:00 => 20.43 / 15.68', '08-15 11:00:00 => 18.01 / 14.45', '08-15 12:00:00 => 16.37 / 13.61', '08-15 13:00:00 => 15.76 / 13.3', '08-15 14:00:00 => 15.35 / 13.09', '08-15 15:00:00 => 15.86 / 13.35', '08-15 16:00:00 => 32.89 / 16.13', '08-15 17:00:00 => 38.02 / 18.75', '08-15 18:00:00 => 42.36 / 20.96', '08-15 19:00:00 => 31.09 / 21.13', '08-15 20:00:00 => 31.64 / 21.41', '08-15 21:00:00 => 31.64 / 21.41', '08-15 22:00:00 => 30.58 / 20.87', '08-15 23:00:00 => 29.37 / 20.25', '08-16 00:00:00 => 28.83 / 19.97', '08-16 01:00:00 => 27.73 / 19.41', '08-16 02:00:00 => 26.76 / 18.92', '08-16 03:00:00 => 26.39 / 18.73', '08-16 04:00:00 => 26.33 / 18.7', '08-16 05:00:00 => 26.23 / 18.65', '08-16 06:00:00 => 25.99 / 18.53', '08-16 07:00:00 => 25.64 / 18.35', '08-16 08:00:00 => 24.84 / 17.94', '08-16 09:00:00 => 24.26 / 17.64']
2026-08-15 10:25:03.230636: Rate min forward looking: now 13.77p at end of forecast 21.29p
2026-08-15 10:25:03.238210: Import rates: min 13.77p, max 46.05p, average 27.5p
2026-08-15 10:25:03.369002: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 10:25:03.369321: Rate thresholds (for charge/export) are import 45.55p (0.0p), export -0.1p (0.0p)
2026-08-15 10:25:03.371116: High export rate found rates in range 99p to -99p
2026-08-15 10:25:03.482177: Low Import rate found rates in range 13.77p to 44.19p
2026-08-15 10:25:03.482604: Car 0 charging is not planned as it is not plugged in
2026-08-15 10:25:03.501197: Battery level now 1.44kWh, -1hr ago 1.92kWh, at midnight 1.66kWh, battery value change in the last hour -5.68p, change today -2.55p, rate_forward 11.83p
2026-08-15 10:25:03.501909: Last hour: net energy 0.05kWh, import 0.05kWh, export 0.0kWh, car 0kWh, load 0.55kWh, net cost 1.18p, import 1.18p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 10:25:03.582078: Today's energy total net 7.8kWh, import 7.8kWh, export 0.0kWh, cost 254.46p, import 204.47p, export 0.0p, carbon 0.0kg
2026-08-15 10:25:03.582225: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 10:25:03.688390: Using weighted-bucket historical load forecast over 14 days
2026-08-15 10:25:03.720847: Today's load divergence 106.65%, in-day adjustment 127.51%, damping 0.95x, yesterday 143.77% today 106.32% blend 56.6%
2026-08-15 10:25:03.721133: Today's predicted so far 5.73kWh with 0.0kWh car/iBoost excluded, 3.2kWh import ignored, and 5.73kWh forecast extra.
2026-08-15 10:25:03.721332: Today's actual load so far 6.84kWh with 0.0kWh car/iBoost excluded, and 3.2kWh import ignored.
2026-08-15 10:25:03.772657: Inverter 0: Type SK Sunsynk
2026-08-15 10:25:03.772911: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 10:25:03.773792: Reserve min: 7%, battery_min: 7%
2026-08-15 10:25:03.774039: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 10:25:03.774502: Inverter 0 SoC: 1.44kW 9%, current charge rate 5000W, current discharge rate 5250W, current battery power 330W, current battery voltage 51.2V, grid power -55W, load power 385W, PV Power 0W
2026-08-15 10:25:03.774825: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 10:25:03.775059: Inverter 0 scheduled charge enable is False
2026-08-15 10:25:03.775192: Inverter 0 charge windows currently []
2026-08-15 10:25:03.775340: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 10:25:03.775626: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 10:25:03.775757: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 10:25:03.775908: Inverter 0 scheduled discharge enable is False
2026-08-15 10:25:03.776206: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 10:25:03.776355: Inverter 0 discharge windows currently []
2026-08-15 10:25:03.776483: Note: Inverter does not support discharge freeze - disabled
2026-08-15 10:25:03.776597: Note: Inverter does not support charge freeze - disabled
2026-08-15 10:25:03.776716: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 10:25:03.854119: Dynamic load last period 0.60kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 10:25:03.854376: Plan was last updated on 2026-08-15 10:15:00+01:00 and is now 10.0 minutes old
2026-08-15 10:25:03.854803: Best charge window [ 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 14:00:00 @ 15.55p 100%, 15-08 14:00:00 - 15-08 16:00:00 @ 15.23p 98%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 10:00:00 @ 23.56p 100% ]
2026-08-15 10:25:03.854946: Best export window [  ]
2026-08-15 10:25:03.855702: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 10:25:03.858412: Load divergence over 8.0 hours mean 637.31W, min 287.4W, max 1838.4W, std dev 341.64W, divergence 26.8%
2026-08-15 10:25:03.874099: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 10:25:03.874685: LoadML is_calculating True
2026-08-15 10:25:03.874821: Not using thread pool as LoadML is calculating to avoid lockups
2026-08-15 10:25:03.963447: predict base end_record 08-16 11:40:00, final soc 1.12kWh, metric 808.54p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 10:40:00, load 26.47kWh, PV 0.0kWh
2026-08-15 10:25:04.202351: Battery has 0.25 hours left - now at 1.44kWh
2026-08-15 10:25:04.285727: predict base10 end_record 08-16 11:40:00, final soc 1.12kWh, metric 832.74p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 10:40:00, load 27.4kWh, PV 0.0kWh
2026-08-15 10:25:04.433668: predict best10 end_record 08-16 11:40:00, final soc 1.77kWh, metric 676.62p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 10:40:00, load 27.4kWh, PV 0.0kWh
2026-08-15 10:25:04.600513: predict best end_record 08-16 11:40:00, final soc 1.9kWh, metric 655.58p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 10:40:00, load 26.47kWh, PV 0.0kWh
2026-08-15 10:25:04.600715: Saving plan best values to HA entities
2026-08-15 10:25:04.962339: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0
2026-08-15 10:25:04.969349: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 10:25:04.979292: Best charging limit SoC's [16.0, 3.5, 4.0, 16.0, 15.75, 16.0, 16.0]kWh, export []kWh gives import battery 20.92kWh, house 1.28kWh, export 0.0kWh, metric 655.58p, metric10 676.62p
2026-08-15 10:25:05.106584: Marginal costs baseline metric (no standing charge): 605.5976
2026-08-15 10:25:05.622633: Marginal energy costs matrix computed: min=14.35 max=32.32
2026-08-15 10:25:05.816238: Rate array import [{'start': 625, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 19.7p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1950, 'rate': 'expensive', 'range': '(24.8p - 32.9p)'}, {'start': 1950, 'end': 2040, 'rate': 'cheap', 'range': '(24.2p - 24.3p)'}, {'start': 2040, 'end': 2130, 'rate': 'expensive', 'range': '(24.7p - 25.4p)'}, {'start': 2130, 'end': 2140, 'rate': 'cheap', 'range': '(24.0p)'}] export [{'start': 625, 'end': 2140, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 10:25:05.817091: - Your estimated bill for today is £5.70 and tomorrow is £6.98
2026-08-15 10:25:05.817260: - Import rates are cheap (13.8p - 19.7p) for the next 5 and a half hours and then expensive (33.1p) for the next 1 hour.
2026-08-15 10:25:05.817405: - The battery is currently at 9% and is in eco mode for the next 1 hour.
2026-08-15 10:25:05.817530: - For the next 48 hours there will be no solar generation.
2026-08-15 10:25:05.817631: - You will run out of battery in 15 minutes.
2026-08-15 10:25:05.817721: - Your next charge slot will be in 1 hour where import rates will be cheap (15.5p).
2026-08-15 10:25:05.817811: 
2026-08-15 10:25:05.883710: Plan calculation took 2.03 seconds
2026-08-15 10:25:05.887082: No high rate period found
2026-08-15 10:25:06.002386: Import threshold used for optimisation was 24.8p
2026-08-15 10:25:06.155540: Low import rate windows [0: 08-15 10:00:00 - 08-15 10:30:00 @ 19.66, 1: 08-15 10:30:00 - 08-15 11:00:00 @ 17.66, 2: 08-15 11:00:00 - 08-15 11:30:00 @ 16.56, 3: 08-15 11:30:00 - 08-15 12:00:00 @ 15.46, 4: 08-15 12:00:00 - 08-15 12:30:00 @ 17.0, 5: 08-15 12:30:00 - 08-15 13:00:00 @ 16.34, 6: 08-15 13:00:00 - 08-15 13:30:00 @ 15.36, 7: 08-15 13:30:00 - 08-15 14:00:00 @ 15.74, 8: 08-15 14:00:00 - 08-15 14:30:00 @ 14.57, 9: 08-15 14:30:00 - 08-15 15:00:00 @ 13.77, 10: 08-15 15:00:00 - 08-15 15:30:00 @ 15.02, 11: 08-15 15:30:00 - 08-15 16:00:00 @ 15.87, 12: 08-15 16:00:00 - 08-15 16:30:00 @ 33.13, 13: 08-15 16:30:00 - 08-15 17:00:00 @ 33.13, 14: 08-15 17:00:00 - 08-15 17:30:00 @ 38.46, 15: 08-15 17:30:00 - 08-15 18:00:00 @ 40.44, 16: 08-15 18:00:00 - 08-15 18:30:00 @ 41.55, 17: 08-15 18:30:00 - 08-15 19:00:00 @ 43.82, 18: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 19: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 20: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 21: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 22: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 23: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 24: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 25: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 26: 08-15 23:00:00 - 08-15 23:30:00 @ 29.37, 27: 08-15 23:30:00 - 08-16 00:00:00 @ 29.2, 28: 08-16 00:00:00 - 08-16 00:30:00 @ 28.83, 29: 08-16 00:30:00 - 08-16 01:00:00 @ 28.46, 30: 08-16 01:00:00 - 08-16 01:30:00 @ 27.73, 31: 08-16 01:30:00 - 08-16 02:00:00 @ 27.01, 32: 08-16 02:00:00 - 08-16 02:30:00 @ 26.76, 33: 08-16 02:30:00 - 08-16 03:00:00 @ 26.48, 34: 08-16 03:00:00 - 08-16 03:30:00 @ 26.39, 35: 08-16 03:30:00 - 08-16 04:00:00 @ 26.27, 36: 08-16 04:00:00 - 08-16 04:30:00 @ 26.33, 37: 08-16 04:30:00 - 08-16 05:00:00 @ 26.37, 38: 08-16 05:00:00 - 08-16 05:30:00 @ 26.23, 39: 08-16 05:30:00 - 08-16 06:00:00 @ 26.07, 40: 08-16 06:00:00 - 08-16 06:30:00 @ 25.99, 41: 08-16 06:30:00 - 08-16 07:00:00 @ 25.92, 42: 08-16 07:00:00 - 08-16 07:30:00 @ 25.64, 43: 08-16 07:30:00 - 08-16 08:00:00 @ 25.39, 44: 08-16 08:00:00 - 08-16 08:30:00 @ 24.84, 45: 08-16 08:30:00 - 08-16 09:00:00 @ 24.28, 46: 08-16 09:00:00 - 08-16 09:30:00 @ 24.26, 47: 08-16 09:30:00 - 08-16 10:00:00 @ 24.22, 48: 08-16 10:00:00 - 08-16 10:30:00 @ 24.8, 49: 08-16 10:30:00 - 08-16 11:00:00 @ 25.37, 50: 08-16 11:00:00 - 08-16 11:30:00 @ 24.71, 51: 08-16 11:30:00 - 08-16 12:00:00 @ 24.02, 52: 08-16 12:00:00 - 08-16 12:30:00 @ 23.79, 53: 08-16 12:30:00 - 08-16 13:00:00 @ 23.55, 54: 08-16 13:00:00 - 08-16 13:30:00 @ 23.14, 55: 08-16 13:30:00 - 08-16 14:00:00 @ 22.71, 56: 08-16 14:00:00 - 08-16 14:30:00 @ 22.01, 57: 08-16 14:30:00 - 08-16 15:00:00 @ 21.29, 58: 08-16 15:00:00 - 08-16 15:30:00 @ 22.01, 59: 08-16 15:30:00 - 08-16 16:00:00 @ 22.71, 60: 08-16 16:00:00 - 08-16 16:30:00 @ 37.14, 61: 08-16 16:30:00 - 08-16 17:00:00 @ 37.91, 62: 08-16 17:00:00 - 08-16 17:30:00 @ 40.13, 63: 08-16 17:30:00 - 08-16 18:00:00 @ 42.36, 64: 08-16 18:00:00 - 08-16 18:30:00 @ 44.19, 65: 08-16 19:00:00 - 08-16 19:30:00 @ 33.04, 66: 08-16 19:30:00 - 08-16 20:00:00 @ 33.71, 67: 08-16 20:00:00 - 08-16 20:30:00 @ 33.83, 68: 08-16 20:30:00 - 08-16 21:00:00 @ 33.94, 69: 08-16 21:00:00 - 08-16 21:30:00 @ 33.73, 70: 08-16 21:30:00 - 08-16 22:00:00 @ 33.53, 71: 08-16 22:00:00 - 08-16 22:30:00 @ 32.36, 72: 08-16 22:30:00 - 08-16 23:00:00 @ 31.17, 73: 08-16 23:00:00 - 08-16 23:30:00 @ 29.37, 74: 08-16 23:30:00 - 08-17 00:00:00 @ 29.2, 75: 08-17 00:00:00 - 08-17 00:30:00 @ 28.83, 76: 08-17 00:30:00 - 08-17 01:00:00 @ 28.46, 77: 08-17 01:00:00 - 08-17 01:30:00 @ 27.73, 78: 08-17 01:30:00 - 08-17 02:00:00 @ 27.01, 79: 08-17 02:00:00 - 08-17 02:30:00 @ 26.76, 80: 08-17 02:30:00 - 08-17 03:00:00 @ 26.48, 81: 08-17 03:00:00 - 08-17 03:30:00 @ 26.39, 82: 08-17 03:30:00 - 08-17 04:00:00 @ 26.27, 83: 08-17 04:00:00 - 08-17 04:30:00 @ 26.33, 84: 08-17 04:30:00 - 08-17 05:00:00 @ 26.37, 85: 08-17 05:00:00 - 08-17 05:30:00 @ 26.23, 86: 08-17 05:30:00 - 08-17 06:00:00 @ 26.07, 87: 08-17 06:00:00 - 08-17 06:30:00 @ 25.99, 88: 08-17 06:30:00 - 08-17 07:00:00 @ 25.92, 89: 08-17 07:00:00 - 08-17 07:30:00 @ 25.64, 90: 08-17 07:30:00 - 08-17 08:00:00 @ 25.39, 91: 08-17 08:00:00 - 08-17 08:30:00 @ 24.84, 92: 08-17 08:30:00 - 08-17 09:00:00 @ 24.28, 93: 08-17 09:00:00 - 08-17 09:30:00 @ 24.26, 94: 08-17 09:30:00 - 08-17 10:00:00 @ 24.22, 95: 08-17 10:00:00 - 08-17 10:30:00 @ 24.8]
2026-08-15 10:25:06.181544: Inverter 0 Charge window will be: 2026-08-15 11:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 9%, target 100%
2026-08-15 10:25:06.181757: Inverter 0 disabled charge window while waiting for schedule (now 08-15 10:25:00 target set_window_minutes 30 charge start time 08-15 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 10:25:06.181884: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 10:25:06.182161: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 10:25:06.182287: No export window planned
2026-08-15 10:25:06.182450: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 10:25:06.182503: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 10:25:06.182710: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 10:25:06.182925: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 10:25:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 10:25:06.182995: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 10:25:06.183060: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 10:25:06.183170: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 10:25:06.183234: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 10:25:06.183293: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 10:25:06.183338: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 10:25:06.183382: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 10:25:06.183432: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 10:25:06.183475: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 10:25:06.183572: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 10:25:06.183625: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 10:25:06.183668: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 10:25:06.183713: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 10:25:06.183756: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 10:25:06.183791: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 10:25:06.183841: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 10:25:06.184656: Inverter 0 count register writes 0
2026-08-15 10:25:06.213238: Will recompute the plan as it is now 10.0 minutes old and will exceed the max age of 10 minutes before the next run
2026-08-15 10:25:06.213566: Recompute is saving previous plan...
2026-08-15 10:25:06.218547: Best charge window [ 15-08 10:00:00 - 15-08 10:30:00 @ 19.66p 0%, 15-08 10:30:00 - 15-08 11:00:00 @ 17.66p 0%, 15-08 11:00:00 - 15-08 11:30:00 @ 16.56p 0%, 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 0%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 0%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 0%, 15-08 13:00:00 - 15-08 13:30:00 @ 15.36p 0%, 15-08 13:30:00 - 15-08 14:00:00 @ 15.74p 0%, 15-08 14:00:00 - 15-08 14:30:00 @ 14.57p 0%, 15-08 14:30:00 - 15-08 15:00:00 @ 13.77p 0%, 15-08 15:00:00 - 15-08 15:30:00 @ 15.02p 0%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 0%, 15-08 16:00:00 - 15-08 16:30:00 @ 33.13p 0%, 15-08 16:30:00 - 15-08 17:00:00 @ 33.13p 0%, 15-08 17:00:00 - 15-08 17:30:00 @ 38.46p 0%, 15-08 17:30:00 - 15-08 18:00:00 @ 40.44p 0%, 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 0%, 15-08 18:30:00 - 15-08 19:00:00 @ 43.82p 0%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 0%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 0%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 0%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 0%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 29.37p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 29.2p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.83p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 28.46p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 27.73p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 27.01p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 26.76p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 26.48p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.39p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 26.27p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.33p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.37p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 26.23p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.07p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.99p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 25.92p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 25.64p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 25.39p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.84p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.28p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.26p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.22p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 24.8p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 25.37p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 24.71p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 24.02p 0%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.79p 0%, 16-08 12:30:00 - 16-08 13:00:00 @ 23.55p 0%, 16-08 13:00:00 - 16-08 13:30:00 @ 23.14p 0%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.71p 0%, 16-08 14:00:00 - 16-08 14:30:00 @ 22.01p 0%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.29p 0%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.01p 0%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.71p 0%, 16-08 16:00:00 - 16-08 16:30:00 @ 37.14p 0%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.91p 0%, 16-08 17:00:00 - 16-08 17:30:00 @ 40.13p 0%, 16-08 17:30:00 - 16-08 18:00:00 @ 42.36p 0%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.19p 0%, 16-08 19:00:00 - 16-08 19:30:00 @ 33.04p 0%, 16-08 19:30:00 - 16-08 20:00:00 @ 33.71p 0%, 16-08 20:00:00 - 16-08 20:30:00 @ 33.83p 0%, 16-08 20:30:00 - 16-08 21:00:00 @ 33.94p 0%, 16-08 21:00:00 - 16-08 21:30:00 @ 33.73p 0%, 16-08 21:30:00 - 16-08 22:00:00 @ 33.53p 0%, 16-08 22:00:00 - 16-08 22:30:00 @ 32.36p 0%, 16-08 22:30:00 - 16-08 23:00:00 @ 31.17p 0%, 16-08 23:00:00 - 16-08 23:30:00 @ 29.37p 0%, 16-08 23:30:00 - 17-08 00:00:00 @ 29.2p 0%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.83p 0%, 17-08 00:30:00 - 17-08 01:00:00 @ 28.46p 0%, 17-08 01:00:00 - 17-08 01:30:00 @ 27.73p 0%, 17-08 01:30:00 - 17-08 02:00:00 @ 27.01p 0%, 17-08 02:00:00 - 17-08 02:30:00 @ 26.76p 0%, 17-08 02:30:00 - 17-08 03:00:00 @ 26.48p 0%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.39p 0%, 17-08 03:30:00 - 17-08 04:00:00 @ 26.27p 0%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.33p 0%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.37p 0%, 17-08 05:00:00 - 17-08 05:30:00 @ 26.23p 0%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.07p 0%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.99p 0%, 17-08 06:30:00 - 17-08 07:00:00 @ 25.92p 0%, 17-08 07:00:00 - 17-08 07:30:00 @ 25.64p 0%, 17-08 07:30:00 - 17-08 08:00:00 @ 25.39p 0%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.84p 0%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.28p 0%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.26p 0%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.22p 0%, 17-08 10:00:00 - 17-08 10:30:00 @ 24.8p 0% ]
2026-08-15 10:25:06.218691: Best export window [  ]
2026-08-15 10:25:06.220592: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 10:25:06.226818: Load divergence over 8.0 hours mean 637.31W, min 287.4W, max 1838.4W, std dev 341.64W, divergence 26.8%
2026-08-15 10:25:06.259746: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 10:25:06.271810: LoadML is_calculating True
2026-08-15 10:25:06.272050: Not using thread pool as LoadML is calculating to avoid lockups
2026-08-15 10:25:06.287481: Calculate Best options: mode(Control charge & discharge), calculate_export_oncharge(False), calculate_export_on_pv(True), set_export_freeze_only(False), set_discharge_during_charge(True), combine_charge_slots(False), combine_export_slots(False), combine_rate_threshold(0.0), best_soc_min(0.0 kWh), best_soc_max(0.0 kWh), best_soc_keep(0.0 kWh), inverter_loss(4%), battery_loss(3%), battery_loss_discharge (3%), inverter_hybrid(True), metric_min_improvement(0.0p), metric_min_improvement_export(0.1p), metric_min_improvement_export_freeze(0.1p), metric_battery_cycle(0.0p/kWh), metric_battery_value_scaling(1.0 x) 
2026-08-15 10:25:06.308502: Optimise levels pass started at 2026-08-15 10:25:06
2026-08-15 10:25:06.308758: Optimise all windows, total charge 95 export 1
2026-08-15 10:25:11.124971: >> Region optimisation pass width 960 gives best_metric 937.69p, best_cost 951.83p, best_cycle 49.85kWh, best_import 37.5kWh
2026-08-15 10:25:12.311929: >> Region optimisation pass width 480 gives best_metric 937.69p, best_cost 951.83p, best_cycle 49.85kWh, best_import 37.5kWh
2026-08-15 10:25:13.497886: >> Region optimisation pass width 240 gives best_metric 937.69p, best_cost 951.83p, best_cycle 49.85kWh, best_import 37.5kWh
2026-08-15 10:25:16.331104: >> Region optimisation pass width 120 gives best_metric 937.69p, best_cost 951.83p, best_cycle 49.85kWh, best_import 37.5kWh
2026-08-15 10:25:16.331741: Calculated end_record as 08-16 11:30:00 based on best_price 22.71p, next_charge_start 08-15 11:30:00, max_windows 51
2026-08-15 10:25:16.332144: Optimise levels pass ended at 2026-08-15 10:25:16, duration 10.0 seconds tried 284 combinations
2026-08-15 10:25:16.333377: Set best_price_charge_level 24.4p, best_price_export_level 0p, best_price_charge 22.71p, best_cost_export 0p, best_metric 937.69p, best_keep 0kWh, best_cycle 49.85kWh, best_carbon 0kg, best_import 37.5kWh
2026-08-15 10:25:16.355644: Starting detailed optimisation end_record 08-16 11:30:00, best_price_charge 22.71p, best_price_export 0p. lowest_price_charge 13.77p with charge limits [0, 0, 0, 16.0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0]kWh and export limits []kWh
2026-08-15 10:25:42.227729: Tweak plan optimisation started metric 562.67p, cost 579.38p
2026-08-15 10:25:42.575723: Tweak optimisation finished metric 562.67p, cost 579.38p, metric_keep 0kWh, cycle 30.08kWh, carbon 0kg, import 21.2kWh, changed 8 window(s)
2026-08-15 10:25:42.592662: Swap charge optimisation started metric 562.67p, cost 579.38p, min_improvement_swap 0.1p
2026-08-15 10:25:50.730706: Swap charge optimisation finished metric 562.67p, cost 579.38p
2026-08-15 10:25:50.962090: Pruned 3 dead plan slot(s) in 12 trial(s), nominal metric 558.9p -> 558.9p, plan now metric 562.74p, cost 579.38p, cycle 30.08kWh, import 21.2kWh
2026-08-15 10:25:51.005038: Raw charge windows [ 15-08 10:00:00 - 15-08 10:30:00 @ 19.66p 0%, 15-08 10:30:00 - 15-08 11:00:00 @ 17.66p 0%, 15-08 11:00:00 - 15-08 11:30:00 @ 16.56p 0%, 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 13:30:00 @ 15.36p 100%, 15-08 13:30:00 - 15-08 14:00:00 @ 15.74p 100%, 15-08 14:00:00 - 15-08 14:30:00 @ 14.57p 100%, 15-08 14:30:00 - 15-08 15:00:00 @ 13.77p 100%, 15-08 15:00:00 - 15-08 15:30:00 @ 15.02p 100%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 100%, 15-08 16:00:00 - 15-08 16:30:00 @ 33.13p 0%, 15-08 16:30:00 - 15-08 17:00:00 @ 33.13p 0%, 15-08 17:00:00 - 15-08 17:30:00 @ 38.46p 0%, 15-08 17:30:00 - 15-08 18:00:00 @ 40.44p 0%, 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 0%, 15-08 18:30:00 - 15-08 19:00:00 @ 43.82p 0%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 0%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 0%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 0%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 0%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 29.37p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 29.2p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.83p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 28.46p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 27.73p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 27.01p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 26.76p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 26.48p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.39p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 26.27p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.33p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.37p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 26.23p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.07p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.99p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 25.92p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 25.64p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 25.39p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.84p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.28p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.26p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.22p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 24.8p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 25.37p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 24.71p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 24.02p 100%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.79p 100%, 16-08 12:30:00 - 16-08 13:00:00 @ 23.55p 100%, 16-08 13:00:00 - 16-08 13:30:00 @ 23.14p 100%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.71p 100%, 16-08 14:00:00 - 16-08 14:30:00 @ 22.01p 100%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.29p 100%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.01p 100%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.71p 100%, 16-08 16:00:00 - 16-08 16:30:00 @ 37.14p 100%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.91p 100%, 16-08 17:00:00 - 16-08 17:30:00 @ 40.13p 100%, 16-08 17:30:00 - 16-08 18:00:00 @ 42.36p 100%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.19p 100%, 16-08 19:00:00 - 16-08 19:30:00 @ 33.04p 100%, 16-08 19:30:00 - 16-08 20:00:00 @ 33.71p 100%, 16-08 20:00:00 - 16-08 20:30:00 @ 33.83p 100%, 16-08 20:30:00 - 16-08 21:00:00 @ 33.94p 100%, 16-08 21:00:00 - 16-08 21:30:00 @ 33.73p 100%, 16-08 21:30:00 - 16-08 22:00:00 @ 33.53p 100%, 16-08 22:00:00 - 16-08 22:30:00 @ 32.36p 100%, 16-08 22:30:00 - 16-08 23:00:00 @ 31.17p 100%, 16-08 23:00:00 - 16-08 23:30:00 @ 29.37p 100%, 16-08 23:30:00 - 17-08 00:00:00 @ 29.2p 100%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.83p 100%, 17-08 00:30:00 - 17-08 01:00:00 @ 28.46p 100%, 17-08 01:00:00 - 17-08 01:30:00 @ 27.73p 100%, 17-08 01:30:00 - 17-08 02:00:00 @ 27.01p 100%, 17-08 02:00:00 - 17-08 02:30:00 @ 26.76p 100%, 17-08 02:30:00 - 17-08 03:00:00 @ 26.48p 100%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.39p 100%, 17-08 03:30:00 - 17-08 04:00:00 @ 26.27p 100%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.33p 100%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.37p 100%, 17-08 05:00:00 - 17-08 05:30:00 @ 26.23p 100%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.07p 100%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.99p 100%, 17-08 06:30:00 - 17-08 07:00:00 @ 25.92p 100%, 17-08 07:00:00 - 17-08 07:30:00 @ 25.64p 100%, 17-08 07:30:00 - 17-08 08:00:00 @ 25.39p 100%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.84p 100%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.28p 100%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.26p 100%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.22p 100%, 17-08 10:00:00 - 17-08 10:30:00 @ 24.8p 100% ] reserve 1.12
2026-08-15 10:25:51.006561: Unclipped charge windows [ 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 11:30:00 - 16-08 18:30:00 @ 41.93p 100%, 16-08 19:00:00 - 17-08 10:30:00 @ 24.59p 100% ] reserve 1.12
2026-08-15 10:25:51.007135: Unfiltered charge windows [ 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 11:30:00 - 16-08 18:30:00 @ 41.93p 100%, 16-08 19:00:00 - 17-08 10:30:00 @ 24.59p 100% ] reserve 1.12
2026-08-15 10:25:51.007651: Filtered charge windows [ 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 11:30:00 - 16-08 18:30:00 @ 41.93p 100%, 16-08 19:00:00 - 17-08 10:30:00 @ 24.59p 100% ] reserve 1.12
2026-08-15 10:25:51.109894: Previous plan best metric is 564.01 (cost 580.88) and new plan best metric is 562.67 (cost 579.38)
2026-08-15 10:25:51.125322: New plan metric is not significantly better (metric_min_improvement_plan 2.0) than previous plan, using previous plan
2026-08-15 10:25:51.125715: Plan valid is now true after recompute was False
2026-08-15 10:25:51.194513: predict base end_record 08-16 11:30:00, final soc 1.12kWh, metric 803.84p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 10:40:00, load 26.28kWh, PV 0.0kWh
2026-08-15 10:25:51.385383: Battery has 0.25 hours left - now at 1.44kWh
2026-08-15 10:25:51.456423: predict base10 end_record 08-16 11:30:00, final soc 1.12kWh, metric 827.81p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 10:40:00, load 27.2kWh, PV 0.0kWh
2026-08-15 10:25:51.617252: predict best10 end_record 08-16 11:30:00, final soc 1.12kWh, metric 655.01p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 10:40:00, load 27.2kWh, PV 0.0kWh
2026-08-15 10:25:51.774096: predict best end_record 08-16 11:30:00, final soc 1.12kWh, metric 630.86p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 10:40:00, load 26.28kWh, PV 0.0kWh
2026-08-15 10:25:51.774199: Saving plan best values to HA entities
2026-08-15 10:25:52.023676: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0
2026-08-15 10:25:52.034926: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 10:25:52.045351: Best charging limit SoC's [16.0, 3.5, 4.0, 16.0, 15.75, 16.0, 16.0]kWh, export []kWh gives import battery 19.89kWh, house 1.28kWh, export 0.0kWh, metric 630.86p, metric10 655.01p
2026-08-15 10:25:52.197897: Marginal costs baseline metric (no standing charge): 580.8778
2026-08-15 10:25:52.670783: Marginal energy costs matrix computed: min=14.35 max=32.32
2026-08-15 10:25:52.788374: Rate array import [{'start': 625, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 19.7p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1950, 'rate': 'expensive', 'range': '(24.8p - 32.9p)'}, {'start': 1950, 'end': 2040, 'rate': 'cheap', 'range': '(24.2p - 24.3p)'}, {'start': 2040, 'end': 2130, 'rate': 'expensive', 'range': '(24.7p - 25.4p)'}] export [{'start': 625, 'end': 2130, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 10:25:52.789434: - Your estimated bill for today is £5.70 and tomorrow is £6.98
2026-08-15 10:25:52.789584: - Import rates are cheap (13.8p - 19.7p) for the next 5 and a half hours and then expensive (33.1p) for the next 1 hour.
2026-08-15 10:25:52.789710: - The battery is currently at 9% and is in eco mode for the next 1 hour.
2026-08-15 10:25:52.789818: - For the next 48 hours there will be no solar generation.
2026-08-15 10:25:52.789967: - You will run out of battery in 15 minutes.
2026-08-15 10:25:52.790090: - Your next charge slot will be in 1 hour where import rates will be cheap (15.5p).
2026-08-15 10:25:52.790184: 
2026-08-15 10:25:52.854204: Plan calculation took 46.64 seconds
2026-08-15 10:25:52.854507: Inverter 0: Type SK Sunsynk
2026-08-15 10:25:52.854562: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 10:25:52.854764: Reserve min: 7%, battery_min: 7%
2026-08-15 10:25:52.854835: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 10:25:52.855094: Inverter 0 SoC: 1.44kW 9%, current charge rate 5000W, current discharge rate 5250W, current battery power 298W, current battery voltage 51.2V, grid power -54W, load power 351W, PV Power 0W
2026-08-15 10:25:52.855289: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 10:25:52.856005: Inverter 0 scheduled charge enable is False
2026-08-15 10:25:52.856052: Inverter 0 charge windows currently []
2026-08-15 10:25:52.856082: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 10:25:52.856213: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 10:25:52.856270: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 10:25:52.856313: Inverter 0 scheduled discharge enable is False
2026-08-15 10:25:52.856448: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 10:25:52.856486: Inverter 0 discharge windows currently []
2026-08-15 10:25:52.856510: Note: Inverter does not support discharge freeze - disabled
2026-08-15 10:25:52.856528: Note: Inverter does not support charge freeze - disabled
2026-08-15 10:25:52.856685: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 10:25:52.932024: Inverter 0 Charge window will be: 2026-08-15 11:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 9%, target 100%
2026-08-15 10:25:52.932315: Inverter 0 disabled charge window while waiting for schedule (now 08-15 10:25:00 target set_window_minutes 30 charge start time 08-15 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 10:25:52.932401: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 10:25:52.932679: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 10:25:52.932810: No export window planned
2026-08-15 10:25:52.933008: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 10:25:52.933060: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 10:25:52.933268: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 10:25:52.933516: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 10:25:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 10:25:52.933576: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 10:25:52.933718: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 10:25:52.933858: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 10:25:52.933911: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 10:25:52.933982: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 10:25:52.934108: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 10:25:52.934258: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 10:25:52.934424: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 10:25:52.934531: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 10:25:52.934660: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 10:25:52.934709: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 10:25:52.934781: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 10:25:52.934867: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 10:25:52.934981: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 10:25:52.935113: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 10:25:52.935260: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 10:25:52.935396: Inverter 0 count register writes 0
2026-08-15 10:25:52.963812: Total inverter register writes now 815
2026-08-15 10:25:53.014360: Info: Completed run status Demand
2026-08-15 10:25:53.026670: Info: record_status Demand
2026-08-15 10:25:53.038699: Saved current settings to /config/predbat_config.json
2026-08-15 10:25:53.039026: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 10:26:00.843961: ML Predictor: Epoch 11/30: lr=0.00076 huber_loss=0.0082 val_mae=0.0039 kWh val_bias=-0.0026 kWh (-3.7%) combined=0.0033 kWh ema_combined=0.0028 kWh
2026-08-15 10:26:27.193586: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 10:26:27.193864: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 10:26:27.193916: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 10:26:27.194082: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 10:26:27.194130: Note: Inverter does not support discharge freeze - disabled
2026-08-15 10:26:27.194269: Note: Inverter does not support charge freeze - disabled
2026-08-15 10:26:27.194319: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 10:26:31.256381: ML Predictor: Epoch 12/30: lr=0.00072 huber_loss=0.0074 val_mae=0.0032 kWh val_bias=-0.0009 kWh (-1.3%) combined=0.0020 kWh ema_combined=0.0026 kWh
2026-08-15 10:27:03.496141: ML Predictor: Epoch 13/30: lr=0.00067 huber_loss=0.0067 val_mae=0.0027 kWh val_bias=-0.0006 kWh (-0.8%) combined=0.0015 kWh ema_combined=0.0023 kWh
2026-08-15 10:27:36.991681: ML Predictor: Epoch 14/30: lr=0.00062 huber_loss=0.0063 val_mae=0.0023 kWh val_bias=-0.0004 kWh (-0.5%) combined=0.0014 kWh ema_combined=0.0020 kWh
2026-08-15 10:28:09.568156: ML Predictor: Epoch 15/30: lr=0.00057 huber_loss=0.0072 val_mae=0.0029 kWh val_bias=-0.0006 kWh (-0.9%) combined=0.0016 kWh ema_combined=0.0019 kWh
2026-08-15 10:28:41.756854: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 10:28:41.757305: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 10:28:41.757385: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 10:28:41.757591: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 10:28:41.757646: Note: Inverter does not support discharge freeze - disabled
2026-08-15 10:28:41.757774: Note: Inverter does not support charge freeze - disabled
2026-08-15 10:28:41.757825: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 10:28:44.407359: ML Predictor: Epoch 16/30: lr=0.00053 huber_loss=0.0064 val_mae=0.0027 kWh val_bias=-0.0003 kWh (-0.4%) combined=0.0019 kWh ema_combined=0.0019 kWh
2026-08-15 10:29:14.431706: ML Predictor: Epoch 17/30: lr=0.00048 huber_loss=0.0062 val_mae=0.0028 kWh val_bias=-0.0011 kWh (-1.6%) combined=0.0020 kWh ema_combined=0.0019 kWh
2026-08-15 10:29:46.212550: ML Predictor: Epoch 18/30: lr=0.00043 huber_loss=0.0061 val_mae=0.0030 kWh val_bias=-0.0013 kWh (-1.8%) combined=0.0021 kWh ema_combined=0.0020 kWh
2026-08-15 10:30:00.222057: --------------- PredBat - update at 2026-08-15 10:30:00+01:00 with clock skew 0 minutes, minutes now 630
2026-08-15 10:30:00.223100: Saved current settings to /config/predbat_config.json
2026-08-15 10:30:00.223277: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 15.0 minutes
2026-08-15 10:30:00.223362: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.1, latest beta is v8.48.1
2026-08-15 10:30:00.223466: Autoupdate: Currently up to date
2026-08-15 10:30:00.301826: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 10:30:00.303630: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 10:30:00.304063: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 10:30:00.304942: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 10:30:00.305252: Predbat mode is set to Control charge & discharge
2026-08-15 10:30:00.619962: Found 21602 load_today datapoints going back 28 days
2026-08-15 10:30:00.621093: Using load_power data to fill gaps in load_today data
2026-08-15 10:30:02.185461: Processing 721 30-minute periods for power integration
2026-08-15 10:30:02.616080: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 10:30:02.616311: Car charging hold False, threshold 6.0kWh
2026-08-15 10:30:02.616368: Current data so far today: load 6.8kWh, import 7.8kWh, export 0.0kWh, PV 0kWh
2026-08-15 10:30:02.631908: Cars: SoC: [12.306000000000001]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 10:30:02.632886: Standing charge is set to 49.98p
2026-08-15 10:30:02.689914: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 10:30:02.690188: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 10:30:02.690463: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 25.0 minutes
2026-08-15 10:30:02.691001: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 25.0 minutes
2026-08-15 10:30:02.696637: Loaded 95 datapoints of futurerate analysis
2026-08-15 10:30:02.789529: Predicted future rates: ['08-15 00:00:00 => 28.9 / 20.01', '08-15 01:00:00 => 27.54 / 19.31', '08-15 02:00:00 => 26.52 / 18.8', '08-15 03:00:00 => 25.99 / 18.53', '08-15 04:00:00 => 25.8 / 18.43', '08-15 05:00:00 => 25.96 / 18.51', '08-15 06:00:00 => 25.55 / 18.3', '08-15 07:00:00 => 24.33 / 17.68', '08-15 08:00:00 => 23.03 / 17.01', '08-15 09:00:00 => 22.05 / 16.51', '08-15 10:00:00 => 20.43 / 15.68', '08-15 11:00:00 => 18.01 / 14.45', '08-15 12:00:00 => 16.37 / 13.61', '08-15 13:00:00 => 15.76 / 13.3', '08-15 14:00:00 => 15.35 / 13.09', '08-15 15:00:00 => 15.86 / 13.35', '08-15 16:00:00 => 32.89 / 16.13', '08-15 17:00:00 => 38.02 / 18.75', '08-15 18:00:00 => 42.36 / 20.96', '08-15 19:00:00 => 31.09 / 21.13', '08-15 20:00:00 => 31.64 / 21.41', '08-15 21:00:00 => 31.64 / 21.41', '08-15 22:00:00 => 30.58 / 20.87', '08-15 23:00:00 => 29.37 / 20.25', '08-16 00:00:00 => 28.83 / 19.97', '08-16 01:00:00 => 27.73 / 19.41', '08-16 02:00:00 => 26.76 / 18.92', '08-16 03:00:00 => 26.39 / 18.73', '08-16 04:00:00 => 26.33 / 18.7', '08-16 05:00:00 => 26.23 / 18.65', '08-16 06:00:00 => 25.99 / 18.53', '08-16 07:00:00 => 25.64 / 18.35', '08-16 08:00:00 => 24.84 / 17.94', '08-16 09:00:00 => 24.26 / 17.64']
2026-08-15 10:30:02.859405: Rate min forward looking: now 13.77p at end of forecast 21.29p
2026-08-15 10:30:02.860001: Import rates: min 13.77p, max 46.05p, average 27.5p
2026-08-15 10:30:02.925205: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 10:30:02.925498: Rate thresholds (for charge/export) are import 45.55p (0.0p), export -0.1p (0.0p)
2026-08-15 10:30:02.927275: High export rate found rates in range 99p to -99p
2026-08-15 10:30:03.113818: Low Import rate found rates in range 13.77p to 44.19p
2026-08-15 10:30:03.113976: Car 0 charging is not planned as it is not plugged in
2026-08-15 10:30:03.145968: Battery level now 1.44kWh, -1hr ago 1.92kWh, at midnight 1.66kWh, battery value change in the last hour -5.68p, change today -2.55p, rate_forward 11.83p
2026-08-15 10:30:03.146473: Last hour: net energy 0.04kWh, import 0.04kWh, export 0.0kWh, car 0kWh, load 0.43kWh, net cost 0.89p, import 0.89p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 10:30:03.278602: Today's energy total net 7.8kWh, import 7.8kWh, export 0.0kWh, cost 254.46p, import 204.47p, export 0.0p, carbon 0.0kg
2026-08-15 10:30:03.278913: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 10:30:03.377317: Using weighted-bucket historical load forecast over 14 days
2026-08-15 10:30:03.408220: Today's load divergence 106.16%, in-day adjustment 127.18%, damping 0.95x, yesterday 143.77% today 105.85% blend 56.25%
2026-08-15 10:30:03.408388: Today's predicted so far 5.86kWh with 0.0kWh car/iBoost excluded, 3.11kWh import ignored, and 5.86kWh forecast extra.
2026-08-15 10:30:03.408447: Today's actual load so far 6.88kWh with 0.0kWh car/iBoost excluded, and 3.11kWh import ignored.
2026-08-15 10:30:03.478060: Inverter 0: Type SK Sunsynk
2026-08-15 10:30:03.478182: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 10:30:03.478415: Reserve min: 7%, battery_min: 7%
2026-08-15 10:30:03.478492: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 10:30:03.478769: Inverter 0 SoC: 1.44kW 9%, current charge rate 5000W, current discharge rate 5250W, current battery power 292W, current battery voltage 51.2V, grid power -55W, load power 347W, PV Power 0W
2026-08-15 10:30:03.478969: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 10:30:03.479075: Inverter 0 scheduled charge enable is False
2026-08-15 10:30:03.479114: Inverter 0 charge windows currently []
2026-08-15 10:30:03.479141: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 10:30:03.479272: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 10:30:03.479315: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 10:30:03.479353: Inverter 0 scheduled discharge enable is False
2026-08-15 10:30:03.479481: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 10:30:03.479521: Inverter 0 discharge windows currently []
2026-08-15 10:30:03.479545: Note: Inverter does not support discharge freeze - disabled
2026-08-15 10:30:03.479571: Note: Inverter does not support charge freeze - disabled
2026-08-15 10:30:03.479819: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 10:30:03.597998: Dynamic load last period 0.00kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 10:30:03.598121: Plan was last updated on 2026-08-15 10:25:00+01:00 and is now 5.0 minutes old
2026-08-15 10:30:03.598451: Best charge window [ 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 14:00:00 @ 15.55p 100%, 15-08 14:00:00 - 15-08 16:00:00 @ 15.23p 98%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 10:00:00 @ 23.56p 100% ]
2026-08-15 10:30:03.598499: Best export window [  ]
2026-08-15 10:30:03.599412: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 10:30:03.602720: Load divergence over 8.0 hours mean 637.38W, min 281.4W, max 1607.4W, std dev 333.7W, divergence 26.18%
2026-08-15 10:30:03.645269: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 10:30:03.645500: LoadML is_calculating True
2026-08-15 10:30:03.645540: Not using thread pool as LoadML is calculating to avoid lockups
2026-08-15 10:30:03.704646: predict base end_record 08-16 11:35:00, final soc 1.12kWh, metric 802.4p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 10:45:00, load 26.11kWh, PV 0.0kWh
2026-08-15 10:30:03.976682: Battery has 0.25 hours left - now at 1.44kWh
2026-08-15 10:30:04.038513: predict base10 end_record 08-16 11:35:00, final soc 1.12kWh, metric 826.36p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 10:45:00, load 27.02kWh, PV 0.0kWh
2026-08-15 10:30:04.204849: predict best10 end_record 08-16 11:35:00, final soc 1.44kWh, metric 662.3p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 10:45:00, load 27.02kWh, PV 0.0kWh
2026-08-15 10:30:04.434050: predict best end_record 08-16 11:35:00, final soc 1.51kWh, metric 639.84p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 10:45:00, load 26.11kWh, PV 0.0kWh
2026-08-15 10:30:04.434162: Saving plan best values to HA entities
2026-08-15 10:30:04.805560: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 10:30:04.813873: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0.0
2026-08-15 10:30:04.822355: Best charging limit SoC's [16.0, 3.5, 4.0, 16.0, 15.75, 16.0, 16.0]kWh, export []kWh gives import battery 20.38kWh, house 1.13kWh, export 0.0kWh, metric 639.84p, metric10 662.3p
2026-08-15 10:30:04.951695: Marginal costs baseline metric (no standing charge): 589.8594
2026-08-15 10:30:05.520134: Marginal energy costs matrix computed: min=14.39 max=31.92
2026-08-15 10:30:05.734680: Rate array import [{'start': 630, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 17.7p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1950, 'rate': 'expensive', 'range': '(24.8p - 32.9p)'}, {'start': 1950, 'end': 2040, 'rate': 'cheap', 'range': '(24.2p - 24.3p)'}, {'start': 2040, 'end': 2130, 'rate': 'expensive', 'range': '(24.7p - 25.4p)'}, {'start': 2130, 'end': 2135, 'rate': 'cheap', 'range': '(24.0p)'}] export [{'start': 630, 'end': 2135, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 10:30:05.758481: - Your estimated bill for today is £5.68 and tomorrow is £6.94
2026-08-15 10:30:05.758579: - Import rates are cheap (13.8p - 17.7p) for the next 5 and a half hours and then expensive (33.1p) for the next 1 hour.
2026-08-15 10:30:05.758605: - The battery is currently at 9% and is in eco mode for the next 1 hour.
2026-08-15 10:30:05.758624: - For the next 48 hours there will be no solar generation.
2026-08-15 10:30:05.758642: - You will run out of battery in 15 minutes.
2026-08-15 10:30:05.758680: - Your next charge slot will be in 1 hour where import rates will be cheap (15.5p).
2026-08-15 10:30:05.758699: 
2026-08-15 10:30:05.901581: Plan calculation took 2.30 seconds
2026-08-15 10:30:05.908327: No high rate period found
2026-08-15 10:30:06.070606: Import threshold used for optimisation was 24.8p
2026-08-15 10:30:06.219376: Low import rate windows [0: 08-15 10:30:00 - 08-15 11:00:00 @ 17.66, 1: 08-15 11:00:00 - 08-15 11:30:00 @ 16.56, 2: 08-15 11:30:00 - 08-15 12:00:00 @ 15.46, 3: 08-15 12:00:00 - 08-15 12:30:00 @ 17.0, 4: 08-15 12:30:00 - 08-15 13:00:00 @ 16.34, 5: 08-15 13:00:00 - 08-15 13:30:00 @ 15.36, 6: 08-15 13:30:00 - 08-15 14:00:00 @ 15.74, 7: 08-15 14:00:00 - 08-15 14:30:00 @ 14.57, 8: 08-15 14:30:00 - 08-15 15:00:00 @ 13.77, 9: 08-15 15:00:00 - 08-15 15:30:00 @ 15.02, 10: 08-15 15:30:00 - 08-15 16:00:00 @ 15.87, 11: 08-15 16:00:00 - 08-15 16:30:00 @ 33.13, 12: 08-15 16:30:00 - 08-15 17:00:00 @ 33.13, 13: 08-15 17:00:00 - 08-15 17:30:00 @ 38.46, 14: 08-15 17:30:00 - 08-15 18:00:00 @ 40.44, 15: 08-15 18:00:00 - 08-15 18:30:00 @ 41.55, 16: 08-15 18:30:00 - 08-15 19:00:00 @ 43.82, 17: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 18: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 19: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 20: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 21: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 22: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 23: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 24: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 25: 08-15 23:00:00 - 08-15 23:30:00 @ 29.37, 26: 08-15 23:30:00 - 08-16 00:00:00 @ 29.2, 27: 08-16 00:00:00 - 08-16 00:30:00 @ 28.83, 28: 08-16 00:30:00 - 08-16 01:00:00 @ 28.46, 29: 08-16 01:00:00 - 08-16 01:30:00 @ 27.73, 30: 08-16 01:30:00 - 08-16 02:00:00 @ 27.01, 31: 08-16 02:00:00 - 08-16 02:30:00 @ 26.76, 32: 08-16 02:30:00 - 08-16 03:00:00 @ 26.48, 33: 08-16 03:00:00 - 08-16 03:30:00 @ 26.39, 34: 08-16 03:30:00 - 08-16 04:00:00 @ 26.27, 35: 08-16 04:00:00 - 08-16 04:30:00 @ 26.33, 36: 08-16 04:30:00 - 08-16 05:00:00 @ 26.37, 37: 08-16 05:00:00 - 08-16 05:30:00 @ 26.23, 38: 08-16 05:30:00 - 08-16 06:00:00 @ 26.07, 39: 08-16 06:00:00 - 08-16 06:30:00 @ 25.99, 40: 08-16 06:30:00 - 08-16 07:00:00 @ 25.92, 41: 08-16 07:00:00 - 08-16 07:30:00 @ 25.64, 42: 08-16 07:30:00 - 08-16 08:00:00 @ 25.39, 43: 08-16 08:00:00 - 08-16 08:30:00 @ 24.84, 44: 08-16 08:30:00 - 08-16 09:00:00 @ 24.28, 45: 08-16 09:00:00 - 08-16 09:30:00 @ 24.26, 46: 08-16 09:30:00 - 08-16 10:00:00 @ 24.22, 47: 08-16 10:00:00 - 08-16 10:30:00 @ 24.8, 48: 08-16 10:30:00 - 08-16 11:00:00 @ 25.37, 49: 08-16 11:00:00 - 08-16 11:30:00 @ 24.71, 50: 08-16 11:30:00 - 08-16 12:00:00 @ 24.02, 51: 08-16 12:00:00 - 08-16 12:30:00 @ 23.79, 52: 08-16 12:30:00 - 08-16 13:00:00 @ 23.55, 53: 08-16 13:00:00 - 08-16 13:30:00 @ 23.14, 54: 08-16 13:30:00 - 08-16 14:00:00 @ 22.71, 55: 08-16 14:00:00 - 08-16 14:30:00 @ 22.01, 56: 08-16 14:30:00 - 08-16 15:00:00 @ 21.29, 57: 08-16 15:00:00 - 08-16 15:30:00 @ 22.01, 58: 08-16 15:30:00 - 08-16 16:00:00 @ 22.71, 59: 08-16 16:00:00 - 08-16 16:30:00 @ 37.14, 60: 08-16 16:30:00 - 08-16 17:00:00 @ 37.91, 61: 08-16 17:00:00 - 08-16 17:30:00 @ 40.13, 62: 08-16 17:30:00 - 08-16 18:00:00 @ 42.36, 63: 08-16 18:00:00 - 08-16 18:30:00 @ 44.19, 64: 08-16 19:00:00 - 08-16 19:30:00 @ 33.04, 65: 08-16 19:30:00 - 08-16 20:00:00 @ 33.71, 66: 08-16 20:00:00 - 08-16 20:30:00 @ 33.83, 67: 08-16 20:30:00 - 08-16 21:00:00 @ 33.94, 68: 08-16 21:00:00 - 08-16 21:30:00 @ 33.73, 69: 08-16 21:30:00 - 08-16 22:00:00 @ 33.53, 70: 08-16 22:00:00 - 08-16 22:30:00 @ 32.36, 71: 08-16 22:30:00 - 08-16 23:00:00 @ 31.17, 72: 08-16 23:00:00 - 08-16 23:30:00 @ 29.37, 73: 08-16 23:30:00 - 08-17 00:00:00 @ 29.2, 74: 08-17 00:00:00 - 08-17 00:30:00 @ 28.83, 75: 08-17 00:30:00 - 08-17 01:00:00 @ 28.46, 76: 08-17 01:00:00 - 08-17 01:30:00 @ 27.73, 77: 08-17 01:30:00 - 08-17 02:00:00 @ 27.01, 78: 08-17 02:00:00 - 08-17 02:30:00 @ 26.76, 79: 08-17 02:30:00 - 08-17 03:00:00 @ 26.48, 80: 08-17 03:00:00 - 08-17 03:30:00 @ 26.39, 81: 08-17 03:30:00 - 08-17 04:00:00 @ 26.27, 82: 08-17 04:00:00 - 08-17 04:30:00 @ 26.33, 83: 08-17 04:30:00 - 08-17 05:00:00 @ 26.37, 84: 08-17 05:00:00 - 08-17 05:30:00 @ 26.23, 85: 08-17 05:30:00 - 08-17 06:00:00 @ 26.07, 86: 08-17 06:00:00 - 08-17 06:30:00 @ 25.99, 87: 08-17 06:30:00 - 08-17 07:00:00 @ 25.92, 88: 08-17 07:00:00 - 08-17 07:30:00 @ 25.64, 89: 08-17 07:30:00 - 08-17 08:00:00 @ 25.39, 90: 08-17 08:00:00 - 08-17 08:30:00 @ 24.84, 91: 08-17 08:30:00 - 08-17 09:00:00 @ 24.28, 92: 08-17 09:00:00 - 08-17 09:30:00 @ 24.26, 93: 08-17 09:30:00 - 08-17 10:00:00 @ 24.22, 94: 08-17 10:00:00 - 08-17 10:30:00 @ 24.8]
2026-08-15 10:30:06.247045: Inverter 0 Charge window will be: 2026-08-15 11:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 9%, target 100%
2026-08-15 10:30:06.247446: Inverter 0 disabled charge window while waiting for schedule (now 08-15 10:30:00 target set_window_minutes 30 charge start time 08-15 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 10:30:06.247571: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 10:30:06.247824: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 10:30:06.247923: No export window planned
2026-08-15 10:30:06.248060: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 10:30:06.248107: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 10:30:06.248310: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 10:30:06.248512: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 10:30:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 10:30:06.248577: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 10:30:06.248635: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 10:30:06.248742: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 10:30:06.248784: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 10:30:06.261013: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 10:30:06.261290: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 10:30:06.261364: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 10:30:06.261402: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 10:30:06.261437: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 10:30:06.261556: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 10:30:06.261606: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 10:30:06.261642: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 10:30:06.261676: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 10:30:06.261817: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 10:30:06.261877: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 10:30:06.262003: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 10:30:06.262055: Inverter 0 count register writes 0
2026-08-15 10:30:06.333444: Will not recompute the plan, it is 5.0 minutes old and max age is 10 minutes
2026-08-15 10:30:06.361805: Total inverter register writes now 815
2026-08-15 10:30:06.458117: Info: Completed run status Demand
2026-08-15 10:30:06.467581: Info: record_status Demand
2026-08-15 10:30:06.481889: Saved current settings to /config/predbat_config.json
2026-08-15 10:30:06.482224: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 10:30:24.764726: ML Predictor: Epoch 19/30: lr=0.00038 huber_loss=0.0062 val_mae=0.0023 kWh val_bias=+0.0001 kWh (+0.2%) combined=0.0014 kWh ema_combined=0.0018 kWh
2026-08-15 10:30:41.660417: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 10:30:41.661499: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 10:30:41.661653: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 10:30:41.661994: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 10:30:41.662129: Note: Inverter does not support discharge freeze - disabled
2026-08-15 10:30:41.662292: Note: Inverter does not support charge freeze - disabled
2026-08-15 10:30:41.662434: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 10:30:56.293556: ML Predictor: Epoch 20/30: lr=0.00034 huber_loss=0.0061 val_mae=0.0025 kWh val_bias=-0.0006 kWh (-0.9%) combined=0.0012 kWh ema_combined=0.0016 kWh
2026-08-15 10:31:28.998399: ML Predictor: Epoch 21/30: lr=0.00030 huber_loss=0.0054 val_mae=0.0028 kWh val_bias=-0.0012 kWh (-1.8%) combined=0.0018 kWh ema_combined=0.0017 kWh
2026-08-15 10:32:00.544174: ML Predictor: Epoch 22/30: lr=0.00026 huber_loss=0.0057 val_mae=0.0024 kWh val_bias=-0.0002 kWh (-0.2%) combined=0.0015 kWh ema_combined=0.0016 kWh
2026-08-15 10:32:31.496028: ML Predictor: Epoch 23/30: lr=0.00022 huber_loss=0.0053 val_mae=0.0020 kWh val_bias=-0.0001 kWh (-0.1%) combined=0.0012 kWh ema_combined=0.0015 kWh
2026-08-15 10:32:42.233805: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 10:32:42.234072: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 10:32:42.234123: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 10:32:42.234278: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 10:32:42.234323: Note: Inverter does not support discharge freeze - disabled
2026-08-15 10:32:42.234345: Note: Inverter does not support charge freeze - disabled
2026-08-15 10:32:42.234373: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 10:33:01.872823: ML Predictor: Epoch 24/30: lr=0.00019 huber_loss=0.0050 val_mae=0.0020 kWh val_bias=-0.0006 kWh (-0.9%) combined=0.0012 kWh ema_combined=0.0014 kWh
2026-08-15 10:33:30.648715: ML Predictor: Epoch 25/30: lr=0.00016 huber_loss=0.0051 val_mae=0.0023 kWh val_bias=-0.0008 kWh (-1.1%) combined=0.0014 kWh ema_combined=0.0014 kWh
2026-08-15 10:34:01.240031: ML Predictor: Epoch 26/30: lr=0.00014 huber_loss=0.0050 val_mae=0.0021 kWh val_bias=-0.0007 kWh (-1.1%) combined=0.0013 kWh ema_combined=0.0014 kWh
2026-08-15 10:34:32.313820: ML Predictor: Epoch 27/30: lr=0.00012 huber_loss=0.0054 val_mae=0.0019 kWh val_bias=-0.0005 kWh (-0.7%) combined=0.0011 kWh ema_combined=0.0013 kWh
2026-08-15 10:34:56.819192: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 10:34:56.819654: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 10:34:56.819806: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 10:34:56.820071: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 10:34:56.820220: Note: Inverter does not support discharge freeze - disabled
2026-08-15 10:34:56.820328: Note: Inverter does not support charge freeze - disabled
2026-08-15 10:34:56.820435: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 10:35:00.998121: --------------- PredBat - update at 2026-08-15 10:35:00+01:00 with clock skew 0 minutes, minutes now 635
2026-08-15 10:35:00.999278: Saved current settings to /config/predbat_config.json
2026-08-15 10:35:00.999484: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 20.0 minutes
2026-08-15 10:35:00.999619: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.1, latest beta is v8.48.1
2026-08-15 10:35:00.999751: Autoupdate: Currently up to date
2026-08-15 10:35:01.053643: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 10:35:01.053906: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 10:35:01.054139: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 10:35:01.054745: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 10:35:01.054925: Predbat mode is set to Control charge & discharge
2026-08-15 10:35:01.336787: Found 21602 load_today datapoints going back 28 days
2026-08-15 10:35:01.337004: Using load_power data to fill gaps in load_today data
2026-08-15 10:35:02.690955: Processing 721 30-minute periods for power integration
2026-08-15 10:35:02.914873: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 10:35:02.915046: Car charging hold False, threshold 6.0kWh
2026-08-15 10:35:02.915102: Current data so far today: load 6.8kWh, import 7.8kWh, export 0.0kWh, PV 0kWh
2026-08-15 10:35:02.937217: Cars: SoC: [12.306000000000001]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 10:35:02.937941: Standing charge is set to 49.98p
2026-08-15 10:35:03.014790: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 10:35:03.015102: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 10:35:03.015361: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 30.0 minutes
2026-08-15 10:35:03.015749: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 30.0 minutes
2026-08-15 10:35:03.021902: Loaded 95 datapoints of futurerate analysis
2026-08-15 10:35:03.154545: Predicted future rates: ['08-15 00:00:00 => 28.9 / 20.01', '08-15 01:00:00 => 27.54 / 19.31', '08-15 02:00:00 => 26.52 / 18.8', '08-15 03:00:00 => 25.99 / 18.53', '08-15 04:00:00 => 25.8 / 18.43', '08-15 05:00:00 => 25.96 / 18.51', '08-15 06:00:00 => 25.55 / 18.3', '08-15 07:00:00 => 24.33 / 17.68', '08-15 08:00:00 => 23.03 / 17.01', '08-15 09:00:00 => 22.05 / 16.51', '08-15 10:00:00 => 20.43 / 15.68', '08-15 11:00:00 => 18.01 / 14.45', '08-15 12:00:00 => 16.37 / 13.61', '08-15 13:00:00 => 15.76 / 13.3', '08-15 14:00:00 => 15.35 / 13.09', '08-15 15:00:00 => 15.86 / 13.35', '08-15 16:00:00 => 32.89 / 16.13', '08-15 17:00:00 => 38.02 / 18.75', '08-15 18:00:00 => 42.36 / 20.96', '08-15 19:00:00 => 31.09 / 21.13', '08-15 20:00:00 => 31.64 / 21.41', '08-15 21:00:00 => 31.64 / 21.41', '08-15 22:00:00 => 30.58 / 20.87', '08-15 23:00:00 => 29.37 / 20.25', '08-16 00:00:00 => 28.83 / 19.97', '08-16 01:00:00 => 27.73 / 19.41', '08-16 02:00:00 => 26.76 / 18.92', '08-16 03:00:00 => 26.39 / 18.73', '08-16 04:00:00 => 26.33 / 18.7', '08-16 05:00:00 => 26.23 / 18.65', '08-16 06:00:00 => 25.99 / 18.53', '08-16 07:00:00 => 25.64 / 18.35', '08-16 08:00:00 => 24.84 / 17.94', '08-16 09:00:00 => 24.26 / 17.64']
2026-08-15 10:35:03.253879: Rate min forward looking: now 13.77p at end of forecast 21.29p
2026-08-15 10:35:03.255723: Import rates: min 13.77p, max 46.05p, average 27.52p
2026-08-15 10:35:03.327492: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 10:35:03.327853: Rate thresholds (for charge/export) are import 45.55p (0.0p), export -0.1p (0.0p)
2026-08-15 10:35:03.331049: High export rate found rates in range 99p to -99p
2026-08-15 10:35:03.540173: Low Import rate found rates in range 13.77p to 44.19p
2026-08-15 10:35:03.540380: Car 0 charging is not planned as it is not plugged in
2026-08-15 10:35:03.555585: Battery level now 1.44kWh, -1hr ago 1.86kWh, at midnight 1.66kWh, battery value change in the last hour -4.92p, change today -2.55p, rate_forward 11.83p
2026-08-15 10:35:03.556503: Last hour: net energy 0.03kWh, import 0.03kWh, export 0.0kWh, car 0kWh, load 0.4kWh, net cost 0.59p, import 0.59p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 10:35:03.628879: Today's energy total net 7.8kWh, import 7.8kWh, export 0.0kWh, cost 254.46p, import 204.47p, export 0.0p, carbon 0.0kg
2026-08-15 10:35:03.629079: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 10:35:03.760991: Using weighted-bucket historical load forecast over 14 days
2026-08-15 10:35:03.801708: Today's load divergence 106.03%, in-day adjustment 127.0%, damping 0.95x, yesterday 143.77% today 105.73% blend 55.9%
2026-08-15 10:35:03.803225: Today's predicted so far 5.97kWh with 0.0kWh car/iBoost excluded, 3.18kWh import ignored, and 5.97kWh forecast extra.
2026-08-15 10:35:03.803569: Today's actual load so far 6.96kWh with 0.0kWh car/iBoost excluded, and 3.18kWh import ignored.
2026-08-15 10:35:03.860917: Inverter 0: Type SK Sunsynk
2026-08-15 10:35:03.861241: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 10:35:03.861599: Reserve min: 7%, battery_min: 7%
2026-08-15 10:35:03.861798: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 10:35:03.862283: Inverter 0 SoC: 1.44kW 9%, current charge rate 5000W, current discharge rate 5250W, current battery power 293W, current battery voltage 51.2V, grid power -54W, load power 347W, PV Power 0W
2026-08-15 10:35:03.862599: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 10:35:03.862820: Inverter 0 scheduled charge enable is False
2026-08-15 10:35:03.862968: Inverter 0 charge windows currently []
2026-08-15 10:35:03.863108: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 10:35:03.863388: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 10:35:03.863536: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 10:35:03.863690: Inverter 0 scheduled discharge enable is False
2026-08-15 10:35:03.863980: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 10:35:03.864127: Inverter 0 discharge windows currently []
2026-08-15 10:35:03.864276: Note: Inverter does not support discharge freeze - disabled
2026-08-15 10:35:03.864404: Note: Inverter does not support charge freeze - disabled
2026-08-15 10:35:03.864527: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 10:35:03.957692: Dynamic load last period 0.00kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 10:35:03.957991: Plan was last updated on 2026-08-15 10:25:00+01:00 and is now 10.0 minutes old
2026-08-15 10:35:03.958698: Best charge window [ 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 14:00:00 @ 15.55p 100%, 15-08 14:00:00 - 15-08 16:00:00 @ 15.23p 98%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 10:00:00 @ 23.56p 100% ]
2026-08-15 10:35:03.958887: Best export window [  ]
2026-08-15 10:35:03.960313: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 10:35:03.965956: Load divergence over 8.0 hours mean 637.43W, min 294.0W, max 1564.2W, std dev 325.42W, divergence 25.53%
2026-08-15 10:35:04.004736: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 10:35:04.005136: LoadML is_calculating True
2026-08-15 10:35:04.005310: Not using thread pool as LoadML is calculating to avoid lockups
2026-08-15 10:35:04.080346: predict base end_record 08-16 11:40:00, final soc 1.12kWh, metric 801.7p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 10:50:00, load 26.07kWh, PV 0.0kWh
2026-08-15 10:35:04.271764: Battery has 0.25 hours left - now at 1.44kWh
2026-08-15 10:35:04.362748: predict base10 end_record 08-16 11:40:00, final soc 1.12kWh, metric 825.68p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 10:50:00, load 26.99kWh, PV 0.0kWh
2026-08-15 10:35:04.584102: predict best10 end_record 08-16 11:40:00, final soc 1.77kWh, metric 670.34p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 10:50:00, load 26.99kWh, PV 0.0kWh
2026-08-15 10:35:04.807829: predict best end_record 08-16 11:40:00, final soc 1.9kWh, metric 649.53p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 10:50:00, load 26.07kWh, PV 0.0kWh
2026-08-15 10:35:04.817416: Saving plan best values to HA entities
2026-08-15 10:35:05.228597: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 10:35:05.245122: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0.0
2026-08-15 10:35:05.253195: Best charging limit SoC's [16.0, 3.5, 4.0, 16.0, 15.75, 16.0, 16.0]kWh, export []kWh gives import battery 20.9kWh, house 1.0kWh, export 0.0kWh, metric 649.53p, metric10 670.34p
2026-08-15 10:35:05.307762: ML Predictor: Epoch 28/30: lr=0.00011 huber_loss=0.0054 val_mae=0.0021 kWh val_bias=-0.0010 kWh (-1.5%) combined=0.0016 kWh ema_combined=0.0014 kWh
2026-08-15 10:35:05.421612: Marginal costs baseline metric (no standing charge): 599.5433
2026-08-15 10:35:06.087147: Marginal energy costs matrix computed: min=14.57 max=31.39
2026-08-15 10:35:06.286530: Rate array import [{'start': 635, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 17.7p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1950, 'rate': 'expensive', 'range': '(24.8p - 32.9p)'}, {'start': 1950, 'end': 2040, 'rate': 'cheap', 'range': '(24.2p - 24.3p)'}, {'start': 2040, 'end': 2130, 'rate': 'expensive', 'range': '(24.7p - 25.4p)'}, {'start': 2130, 'end': 2140, 'rate': 'cheap', 'range': '(24.0p)'}] export [{'start': 635, 'end': 2140, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 10:35:06.291988: - Your estimated bill for today is £5.67 and tomorrow is £6.91
2026-08-15 10:35:06.292300: - Import rates are cheap (13.8p - 17.7p) for the next 5 and a half hours and then expensive (33.1p) for the next 1 hour.
2026-08-15 10:35:06.292448: - The battery is currently at 9% and is in eco mode for the next 55 minutes.
2026-08-15 10:35:06.292593: - For the next 48 hours there will be no solar generation.
2026-08-15 10:35:06.292734: - You will run out of battery in 15 minutes.
2026-08-15 10:35:06.292936: - Your next charge slot will be in 55 minutes where import rates will be cheap (15.5p).
2026-08-15 10:35:06.293279: 
2026-08-15 10:35:06.368303: Plan calculation took 2.41 seconds
2026-08-15 10:35:06.371941: No high rate period found
2026-08-15 10:35:06.452442: Import threshold used for optimisation was 24.8p
2026-08-15 10:35:06.562510: Low import rate windows [0: 08-15 10:30:00 - 08-15 11:00:00 @ 17.66, 1: 08-15 11:00:00 - 08-15 11:30:00 @ 16.56, 2: 08-15 11:30:00 - 08-15 12:00:00 @ 15.46, 3: 08-15 12:00:00 - 08-15 12:30:00 @ 17.0, 4: 08-15 12:30:00 - 08-15 13:00:00 @ 16.34, 5: 08-15 13:00:00 - 08-15 13:30:00 @ 15.36, 6: 08-15 13:30:00 - 08-15 14:00:00 @ 15.74, 7: 08-15 14:00:00 - 08-15 14:30:00 @ 14.57, 8: 08-15 14:30:00 - 08-15 15:00:00 @ 13.77, 9: 08-15 15:00:00 - 08-15 15:30:00 @ 15.02, 10: 08-15 15:30:00 - 08-15 16:00:00 @ 15.87, 11: 08-15 16:00:00 - 08-15 16:30:00 @ 33.13, 12: 08-15 16:30:00 - 08-15 17:00:00 @ 33.13, 13: 08-15 17:00:00 - 08-15 17:30:00 @ 38.46, 14: 08-15 17:30:00 - 08-15 18:00:00 @ 40.44, 15: 08-15 18:00:00 - 08-15 18:30:00 @ 41.55, 16: 08-15 18:30:00 - 08-15 19:00:00 @ 43.82, 17: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 18: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 19: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 20: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 21: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 22: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 23: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 24: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 25: 08-15 23:00:00 - 08-15 23:30:00 @ 29.37, 26: 08-15 23:30:00 - 08-16 00:00:00 @ 29.2, 27: 08-16 00:00:00 - 08-16 00:30:00 @ 28.83, 28: 08-16 00:30:00 - 08-16 01:00:00 @ 28.46, 29: 08-16 01:00:00 - 08-16 01:30:00 @ 27.73, 30: 08-16 01:30:00 - 08-16 02:00:00 @ 27.01, 31: 08-16 02:00:00 - 08-16 02:30:00 @ 26.76, 32: 08-16 02:30:00 - 08-16 03:00:00 @ 26.48, 33: 08-16 03:00:00 - 08-16 03:30:00 @ 26.39, 34: 08-16 03:30:00 - 08-16 04:00:00 @ 26.27, 35: 08-16 04:00:00 - 08-16 04:30:00 @ 26.33, 36: 08-16 04:30:00 - 08-16 05:00:00 @ 26.37, 37: 08-16 05:00:00 - 08-16 05:30:00 @ 26.23, 38: 08-16 05:30:00 - 08-16 06:00:00 @ 26.07, 39: 08-16 06:00:00 - 08-16 06:30:00 @ 25.99, 40: 08-16 06:30:00 - 08-16 07:00:00 @ 25.92, 41: 08-16 07:00:00 - 08-16 07:30:00 @ 25.64, 42: 08-16 07:30:00 - 08-16 08:00:00 @ 25.39, 43: 08-16 08:00:00 - 08-16 08:30:00 @ 24.84, 44: 08-16 08:30:00 - 08-16 09:00:00 @ 24.28, 45: 08-16 09:00:00 - 08-16 09:30:00 @ 24.26, 46: 08-16 09:30:00 - 08-16 10:00:00 @ 24.22, 47: 08-16 10:00:00 - 08-16 10:30:00 @ 24.8, 48: 08-16 10:30:00 - 08-16 11:00:00 @ 25.37, 49: 08-16 11:00:00 - 08-16 11:30:00 @ 24.71, 50: 08-16 11:30:00 - 08-16 12:00:00 @ 24.02, 51: 08-16 12:00:00 - 08-16 12:30:00 @ 23.79, 52: 08-16 12:30:00 - 08-16 13:00:00 @ 23.55, 53: 08-16 13:00:00 - 08-16 13:30:00 @ 23.14, 54: 08-16 13:30:00 - 08-16 14:00:00 @ 22.71, 55: 08-16 14:00:00 - 08-16 14:30:00 @ 22.01, 56: 08-16 14:30:00 - 08-16 15:00:00 @ 21.29, 57: 08-16 15:00:00 - 08-16 15:30:00 @ 22.01, 58: 08-16 15:30:00 - 08-16 16:00:00 @ 22.71, 59: 08-16 16:00:00 - 08-16 16:30:00 @ 37.14, 60: 08-16 16:30:00 - 08-16 17:00:00 @ 37.91, 61: 08-16 17:00:00 - 08-16 17:30:00 @ 40.13, 62: 08-16 17:30:00 - 08-16 18:00:00 @ 42.36, 63: 08-16 18:00:00 - 08-16 18:30:00 @ 44.19, 64: 08-16 19:00:00 - 08-16 19:30:00 @ 33.04, 65: 08-16 19:30:00 - 08-16 20:00:00 @ 33.71, 66: 08-16 20:00:00 - 08-16 20:30:00 @ 33.83, 67: 08-16 20:30:00 - 08-16 21:00:00 @ 33.94, 68: 08-16 21:00:00 - 08-16 21:30:00 @ 33.73, 69: 08-16 21:30:00 - 08-16 22:00:00 @ 33.53, 70: 08-16 22:00:00 - 08-16 22:30:00 @ 32.36, 71: 08-16 22:30:00 - 08-16 23:00:00 @ 31.17, 72: 08-16 23:00:00 - 08-16 23:30:00 @ 29.37, 73: 08-16 23:30:00 - 08-17 00:00:00 @ 29.2, 74: 08-17 00:00:00 - 08-17 00:30:00 @ 28.83, 75: 08-17 00:30:00 - 08-17 01:00:00 @ 28.46, 76: 08-17 01:00:00 - 08-17 01:30:00 @ 27.73, 77: 08-17 01:30:00 - 08-17 02:00:00 @ 27.01, 78: 08-17 02:00:00 - 08-17 02:30:00 @ 26.76, 79: 08-17 02:30:00 - 08-17 03:00:00 @ 26.48, 80: 08-17 03:00:00 - 08-17 03:30:00 @ 26.39, 81: 08-17 03:30:00 - 08-17 04:00:00 @ 26.27, 82: 08-17 04:00:00 - 08-17 04:30:00 @ 26.33, 83: 08-17 04:30:00 - 08-17 05:00:00 @ 26.37, 84: 08-17 05:00:00 - 08-17 05:30:00 @ 26.23, 85: 08-17 05:30:00 - 08-17 06:00:00 @ 26.07, 86: 08-17 06:00:00 - 08-17 06:30:00 @ 25.99, 87: 08-17 06:30:00 - 08-17 07:00:00 @ 25.92, 88: 08-17 07:00:00 - 08-17 07:30:00 @ 25.64, 89: 08-17 07:30:00 - 08-17 08:00:00 @ 25.39, 90: 08-17 08:00:00 - 08-17 08:30:00 @ 24.84, 91: 08-17 08:30:00 - 08-17 09:00:00 @ 24.28, 92: 08-17 09:00:00 - 08-17 09:30:00 @ 24.26, 93: 08-17 09:30:00 - 08-17 10:00:00 @ 24.22, 94: 08-17 10:00:00 - 08-17 10:30:00 @ 24.8, 95: 08-17 10:30:00 - 08-17 11:00:00 @ 25.37]
2026-08-15 10:35:06.585996: Inverter 0 Charge window will be: 2026-08-15 11:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 9%, target 100%
2026-08-15 10:35:06.586216: Inverter 0 disabled charge window while waiting for schedule (now 08-15 10:35:00 target set_window_minutes 30 charge start time 08-15 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 10:35:06.586317: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 10:35:06.586556: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 10:35:06.586649: No export window planned
2026-08-15 10:35:06.586781: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 10:35:06.586824: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 10:35:06.586996: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 10:35:06.587200: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 10:35:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 10:35:06.587264: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 10:35:06.587323: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 10:35:06.590051: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 10:35:06.590136: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 10:35:06.590290: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 10:35:06.590350: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 10:35:06.590472: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 10:35:06.590526: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 10:35:06.590644: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 10:35:06.590802: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 10:35:06.590860: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 10:35:06.590983: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 10:35:06.591036: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 10:35:06.591370: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 10:35:06.591515: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 10:35:06.591644: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 10:35:06.591715: Inverter 0 count register writes 0
2026-08-15 10:35:06.652233: Will recompute the plan as it is now 10.0 minutes old and will exceed the max age of 10 minutes before the next run
2026-08-15 10:35:06.652622: Recompute is saving previous plan...
2026-08-15 10:35:06.658586: Best charge window [ 15-08 10:30:00 - 15-08 11:00:00 @ 17.66p 0%, 15-08 11:00:00 - 15-08 11:30:00 @ 16.56p 0%, 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 0%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 0%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 0%, 15-08 13:00:00 - 15-08 13:30:00 @ 15.36p 0%, 15-08 13:30:00 - 15-08 14:00:00 @ 15.74p 0%, 15-08 14:00:00 - 15-08 14:30:00 @ 14.57p 0%, 15-08 14:30:00 - 15-08 15:00:00 @ 13.77p 0%, 15-08 15:00:00 - 15-08 15:30:00 @ 15.02p 0%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 0%, 15-08 16:00:00 - 15-08 16:30:00 @ 33.13p 0%, 15-08 16:30:00 - 15-08 17:00:00 @ 33.13p 0%, 15-08 17:00:00 - 15-08 17:30:00 @ 38.46p 0%, 15-08 17:30:00 - 15-08 18:00:00 @ 40.44p 0%, 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 0%, 15-08 18:30:00 - 15-08 19:00:00 @ 43.82p 0%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 0%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 0%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 0%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 0%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 29.37p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 29.2p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.83p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 28.46p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 27.73p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 27.01p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 26.76p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 26.48p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.39p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 26.27p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.33p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.37p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 26.23p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.07p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.99p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 25.92p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 25.64p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 25.39p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.84p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.28p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.26p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.22p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 24.8p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 25.37p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 24.71p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 24.02p 0%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.79p 0%, 16-08 12:30:00 - 16-08 13:00:00 @ 23.55p 0%, 16-08 13:00:00 - 16-08 13:30:00 @ 23.14p 0%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.71p 0%, 16-08 14:00:00 - 16-08 14:30:00 @ 22.01p 0%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.29p 0%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.01p 0%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.71p 0%, 16-08 16:00:00 - 16-08 16:30:00 @ 37.14p 0%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.91p 0%, 16-08 17:00:00 - 16-08 17:30:00 @ 40.13p 0%, 16-08 17:30:00 - 16-08 18:00:00 @ 42.36p 0%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.19p 0%, 16-08 19:00:00 - 16-08 19:30:00 @ 33.04p 0%, 16-08 19:30:00 - 16-08 20:00:00 @ 33.71p 0%, 16-08 20:00:00 - 16-08 20:30:00 @ 33.83p 0%, 16-08 20:30:00 - 16-08 21:00:00 @ 33.94p 0%, 16-08 21:00:00 - 16-08 21:30:00 @ 33.73p 0%, 16-08 21:30:00 - 16-08 22:00:00 @ 33.53p 0%, 16-08 22:00:00 - 16-08 22:30:00 @ 32.36p 0%, 16-08 22:30:00 - 16-08 23:00:00 @ 31.17p 0%, 16-08 23:00:00 - 16-08 23:30:00 @ 29.37p 0%, 16-08 23:30:00 - 17-08 00:00:00 @ 29.2p 0%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.83p 0%, 17-08 00:30:00 - 17-08 01:00:00 @ 28.46p 0%, 17-08 01:00:00 - 17-08 01:30:00 @ 27.73p 0%, 17-08 01:30:00 - 17-08 02:00:00 @ 27.01p 0%, 17-08 02:00:00 - 17-08 02:30:00 @ 26.76p 0%, 17-08 02:30:00 - 17-08 03:00:00 @ 26.48p 0%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.39p 0%, 17-08 03:30:00 - 17-08 04:00:00 @ 26.27p 0%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.33p 0%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.37p 0%, 17-08 05:00:00 - 17-08 05:30:00 @ 26.23p 0%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.07p 0%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.99p 0%, 17-08 06:30:00 - 17-08 07:00:00 @ 25.92p 0%, 17-08 07:00:00 - 17-08 07:30:00 @ 25.64p 0%, 17-08 07:30:00 - 17-08 08:00:00 @ 25.39p 0%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.84p 0%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.28p 0%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.26p 0%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.22p 0%, 17-08 10:00:00 - 17-08 10:30:00 @ 24.8p 0%, 17-08 10:30:00 - 17-08 11:00:00 @ 25.37p 0% ]
2026-08-15 10:35:06.658719: Best export window [  ]
2026-08-15 10:35:06.662469: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 10:35:06.669441: Load divergence over 8.0 hours mean 637.43W, min 294.0W, max 1564.2W, std dev 325.42W, divergence 25.53%
2026-08-15 10:35:06.744383: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 10:35:06.746937: LoadML is_calculating True
2026-08-15 10:35:06.747037: Not using thread pool as LoadML is calculating to avoid lockups
2026-08-15 10:35:06.774758: Calculate Best options: mode(Control charge & discharge), calculate_export_oncharge(False), calculate_export_on_pv(True), set_export_freeze_only(False), set_discharge_during_charge(True), combine_charge_slots(False), combine_export_slots(False), combine_rate_threshold(0.0), best_soc_min(0.0 kWh), best_soc_max(0.0 kWh), best_soc_keep(0.0 kWh), inverter_loss(4%), battery_loss(3%), battery_loss_discharge (3%), inverter_hybrid(True), metric_min_improvement(0.0p), metric_min_improvement_export(0.1p), metric_min_improvement_export_freeze(0.1p), metric_battery_cycle(0.0p/kWh), metric_battery_value_scaling(1.0 x) 
2026-08-15 10:35:06.787064: Optimise levels pass started at 2026-08-15 10:35:06
2026-08-15 10:35:06.787806: Optimise all windows, total charge 95 export 1
2026-08-15 10:35:14.371213: >> Region optimisation pass width 960 gives best_metric 934.54p, best_cost 948.72p, best_cycle 49.81kWh, best_import 37.32kWh
2026-08-15 10:35:15.486490: >> Region optimisation pass width 480 gives best_metric 934.54p, best_cost 948.72p, best_cycle 49.81kWh, best_import 37.32kWh
2026-08-15 10:35:16.736997: >> Region optimisation pass width 240 gives best_metric 934.54p, best_cost 948.72p, best_cycle 49.81kWh, best_import 37.32kWh
2026-08-15 10:35:19.961178: >> Region optimisation pass width 120 gives best_metric 934.54p, best_cost 948.72p, best_cycle 49.81kWh, best_import 37.32kWh
2026-08-15 10:35:19.961651: Calculated end_record as 08-16 11:30:00 based on best_price 22.71p, next_charge_start 08-15 11:30:00, max_windows 50
2026-08-15 10:35:19.961731: Optimise levels pass ended at 2026-08-15 10:35:19, duration 13.2 seconds tried 287 combinations
2026-08-15 10:35:19.961797: Set best_price_charge_level 24.4p, best_price_export_level 0p, best_price_charge 22.71p, best_cost_export 0p, best_metric 934.54p, best_keep 0kWh, best_cycle 49.81kWh, best_carbon 0kg, best_import 37.32kWh
2026-08-15 10:35:19.992830: Starting detailed optimisation end_record 08-16 11:30:00, best_price_charge 22.71p, best_price_export 0p. lowest_price_charge 13.77p with charge limits [0, 0, 16.0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0]kWh and export limits []kWh
2026-08-15 10:35:46.908604: Tweak plan optimisation started metric 556.78p, cost 573.54p
2026-08-15 10:35:47.399189: Tweak optimisation finished metric 556.78p, cost 573.54p, metric_keep 0kWh, cycle 30.08kWh, carbon 0kg, import 20.91kWh, changed 8 window(s)
2026-08-15 10:35:47.419521: Swap charge optimisation started metric 556.78p, cost 573.54p, min_improvement_swap 0.1p
2026-08-15 10:35:55.947957: Swap charge optimisation finished metric 556.78p, cost 573.54p
2026-08-15 10:35:56.339227: Pruned 2 dead plan slot(s) in 12 trial(s), nominal metric 553.05p -> 553.05p, plan now metric 557.02p, cost 573.54p, cycle 30.08kWh, import 20.91kWh
2026-08-15 10:35:56.356821: Raw charge windows [ 15-08 10:30:00 - 15-08 11:00:00 @ 17.66p 0%, 15-08 11:00:00 - 15-08 11:30:00 @ 16.56p 0%, 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 13:30:00 @ 15.36p 100%, 15-08 13:30:00 - 15-08 14:00:00 @ 15.74p 100%, 15-08 14:00:00 - 15-08 14:30:00 @ 14.57p 100%, 15-08 14:30:00 - 15-08 15:00:00 @ 13.77p 100%, 15-08 15:00:00 - 15-08 15:30:00 @ 15.02p 100%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 100%, 15-08 16:00:00 - 15-08 16:30:00 @ 33.13p 0%, 15-08 16:30:00 - 15-08 17:00:00 @ 33.13p 0%, 15-08 17:00:00 - 15-08 17:30:00 @ 38.46p 0%, 15-08 17:30:00 - 15-08 18:00:00 @ 40.44p 0%, 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 0%, 15-08 18:30:00 - 15-08 19:00:00 @ 43.82p 0%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 0%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 0%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 0%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 0%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 29.37p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 29.2p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.83p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 28.46p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 27.73p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 27.01p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 26.76p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 26.48p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.39p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 26.27p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.33p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.37p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 26.23p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.07p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.99p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 25.92p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 25.64p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 25.39p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.84p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.28p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.26p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.22p 13%, 16-08 10:00:00 - 16-08 10:30:00 @ 24.8p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 25.37p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 24.71p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 24.02p 100%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.79p 100%, 16-08 12:30:00 - 16-08 13:00:00 @ 23.55p 100%, 16-08 13:00:00 - 16-08 13:30:00 @ 23.14p 100%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.71p 100%, 16-08 14:00:00 - 16-08 14:30:00 @ 22.01p 100%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.29p 100%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.01p 100%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.71p 100%, 16-08 16:00:00 - 16-08 16:30:00 @ 37.14p 100%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.91p 100%, 16-08 17:00:00 - 16-08 17:30:00 @ 40.13p 100%, 16-08 17:30:00 - 16-08 18:00:00 @ 42.36p 100%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.19p 100%, 16-08 19:00:00 - 16-08 19:30:00 @ 33.04p 100%, 16-08 19:30:00 - 16-08 20:00:00 @ 33.71p 100%, 16-08 20:00:00 - 16-08 20:30:00 @ 33.83p 100%, 16-08 20:30:00 - 16-08 21:00:00 @ 33.94p 100%, 16-08 21:00:00 - 16-08 21:30:00 @ 33.73p 100%, 16-08 21:30:00 - 16-08 22:00:00 @ 33.53p 100%, 16-08 22:00:00 - 16-08 22:30:00 @ 32.36p 100%, 16-08 22:30:00 - 16-08 23:00:00 @ 31.17p 100%, 16-08 23:00:00 - 16-08 23:30:00 @ 29.37p 100%, 16-08 23:30:00 - 17-08 00:00:00 @ 29.2p 100%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.83p 100%, 17-08 00:30:00 - 17-08 01:00:00 @ 28.46p 100%, 17-08 01:00:00 - 17-08 01:30:00 @ 27.73p 100%, 17-08 01:30:00 - 17-08 02:00:00 @ 27.01p 100%, 17-08 02:00:00 - 17-08 02:30:00 @ 26.76p 100%, 17-08 02:30:00 - 17-08 03:00:00 @ 26.48p 100%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.39p 100%, 17-08 03:30:00 - 17-08 04:00:00 @ 26.27p 100%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.33p 100%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.37p 100%, 17-08 05:00:00 - 17-08 05:30:00 @ 26.23p 100%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.07p 100%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.99p 100%, 17-08 06:30:00 - 17-08 07:00:00 @ 25.92p 100%, 17-08 07:00:00 - 17-08 07:30:00 @ 25.64p 100%, 17-08 07:30:00 - 17-08 08:00:00 @ 25.39p 100%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.84p 100%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.28p 100%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.26p 100%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.22p 100%, 17-08 10:00:00 - 17-08 10:30:00 @ 24.8p 100%, 17-08 10:30:00 - 17-08 11:00:00 @ 25.37p 100% ] reserve 1.12
2026-08-15 10:35:56.357918: Unclipped charge windows [ 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.22p 13%, 16-08 11:30:00 - 16-08 18:30:00 @ 41.93p 100%, 16-08 19:00:00 - 17-08 11:00:00 @ 24.98p 100% ] reserve 1.12
2026-08-15 10:35:56.358322: Unfiltered charge windows [ 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.22p 13%, 16-08 11:30:00 - 16-08 18:30:00 @ 41.93p 100%, 16-08 19:00:00 - 17-08 11:00:00 @ 24.98p 100% ] reserve 1.12
2026-08-15 10:35:56.358964: Filtered charge windows [ 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.22p 13%, 16-08 11:30:00 - 16-08 18:30:00 @ 41.93p 100%, 16-08 19:00:00 - 17-08 11:00:00 @ 24.98p 100% ] reserve 1.12
2026-08-15 10:35:56.413790: Previous plan best metric is 558.16 (cost 575.05) and new plan best metric is 556.78 (cost 573.54)
2026-08-15 10:35:56.414402: New plan metric is not significantly better (metric_min_improvement_plan 2.0) than previous plan, using previous plan
2026-08-15 10:35:56.414817: Plan valid is now true after recompute was False
2026-08-15 10:35:56.452778: predict base end_record 08-16 11:30:00, final soc 1.12kWh, metric 797.23p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 10:50:00, load 25.89kWh, PV 0.0kWh
2026-08-15 10:35:56.680580: Battery has 0.25 hours left - now at 1.44kWh
2026-08-15 10:35:56.803420: predict base10 end_record 08-16 11:30:00, final soc 1.12kWh, metric 820.99p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 10:50:00, load 26.8kWh, PV 0.0kWh
2026-08-15 10:35:56.986639: predict best10 end_record 08-16 11:30:00, final soc 1.12kWh, metric 648.97p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 10:50:00, load 26.8kWh, PV 0.0kWh
2026-08-15 10:35:57.104660: predict best end_record 08-16 11:30:00, final soc 1.12kWh, metric 625.04p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 10:50:00, load 25.89kWh, PV 0.0kWh
2026-08-15 10:35:57.104861: Saving plan best values to HA entities
2026-08-15 10:35:57.524111: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 10:35:57.545835: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0.0
2026-08-15 10:35:57.556289: Best charging limit SoC's [16.0, 3.5, 4.0, 16.0, 15.75, 16.0, 16.0]kWh, export []kWh gives import battery 19.88kWh, house 1.0kWh, export 0.0kWh, metric 625.04p, metric10 648.97p
2026-08-15 10:35:57.701306: Marginal costs baseline metric (no standing charge): 575.0517
2026-08-15 10:35:58.225727: Marginal energy costs matrix computed: min=14.57 max=31.39
2026-08-15 10:35:58.386995: Rate array import [{'start': 635, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 17.7p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1950, 'rate': 'expensive', 'range': '(24.8p - 32.9p)'}, {'start': 1950, 'end': 2040, 'rate': 'cheap', 'range': '(24.2p - 24.3p)'}, {'start': 2040, 'end': 2130, 'rate': 'expensive', 'range': '(24.7p - 25.4p)'}] export [{'start': 635, 'end': 2130, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 10:35:58.387919: - Your estimated bill for today is £5.67 and tomorrow is £6.91
2026-08-15 10:35:58.387986: - Import rates are cheap (13.8p - 17.7p) for the next 5 and a half hours and then expensive (33.1p) for the next 1 hour.
2026-08-15 10:35:58.388049: - The battery is currently at 9% and is in eco mode for the next 55 minutes.
2026-08-15 10:35:58.388216: - For the next 48 hours there will be no solar generation.
2026-08-15 10:35:58.388276: - You will run out of battery in 15 minutes.
2026-08-15 10:35:58.388342: - Your next charge slot will be in 55 minutes where import rates will be cheap (15.5p).
2026-08-15 10:35:58.388384: 
2026-08-15 10:35:58.464307: Plan calculation took 51.81 seconds
2026-08-15 10:35:58.464578: Inverter 0: Type SK Sunsynk
2026-08-15 10:35:58.464625: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 10:35:58.464809: Reserve min: 7%, battery_min: 7%
2026-08-15 10:35:58.464884: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 10:35:58.465226: Inverter 0 SoC: 1.44kW 9%, current charge rate 5000W, current discharge rate 5250W, current battery power 274W, current battery voltage 51.2V, grid power -55W, load power 328W, PV Power 0W
2026-08-15 10:35:58.465411: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 10:35:58.465507: Inverter 0 scheduled charge enable is False
2026-08-15 10:35:58.465546: Inverter 0 charge windows currently []
2026-08-15 10:35:58.465573: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 10:35:58.465807: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 10:35:58.465857: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 10:35:58.465898: Inverter 0 scheduled discharge enable is False
2026-08-15 10:35:58.466129: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 10:35:58.466278: Inverter 0 discharge windows currently []
2026-08-15 10:35:58.466395: Note: Inverter does not support discharge freeze - disabled
2026-08-15 10:35:58.466478: Note: Inverter does not support charge freeze - disabled
2026-08-15 10:35:58.466514: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 10:35:58.613355: Inverter 0 Charge window will be: 2026-08-15 11:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 9%, target 100%
2026-08-15 10:35:58.613549: Inverter 0 disabled charge window while waiting for schedule (now 08-15 10:35:00 target set_window_minutes 30 charge start time 08-15 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 10:35:58.613763: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 10:35:58.614092: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 10:35:58.614271: No export window planned
2026-08-15 10:35:58.614465: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 10:35:58.614522: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 10:35:58.614847: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 10:35:58.615522: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 10:35:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 10:35:58.615653: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 10:35:58.629130: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 10:35:58.629563: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 10:35:58.629840: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 10:35:58.629996: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 10:35:58.630244: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 10:35:58.630414: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 10:35:58.630604: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 10:35:58.630842: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 10:35:58.631112: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 10:35:58.631279: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 10:35:58.631474: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 10:35:58.631647: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 10:35:58.631827: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 10:35:58.632063: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 10:35:58.632243: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 10:35:58.632407: Inverter 0 count register writes 0
2026-08-15 10:35:58.687300: Total inverter register writes now 815
2026-08-15 10:35:58.748724: Info: Completed run status Demand
2026-08-15 10:35:58.818479: Info: record_status Demand
2026-08-15 10:35:58.845354: Saved current settings to /config/predbat_config.json
2026-08-15 10:35:58.845613: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 10:36:06.145072: ML Predictor: Epoch 29/30: lr=0.00010 huber_loss=0.0049 val_mae=0.0018 kWh val_bias=-0.0005 kWh (-0.8%) combined=0.0012 kWh ema_combined=0.0013 kWh
2026-08-15 10:36:40.015548: ML Predictor: Epoch 30/30: lr=0.00010 huber_loss=0.0053 val_mae=0.0020 kWh val_bias=-0.0005 kWh (-0.7%) combined=0.0011 kWh ema_combined=0.0012 kWh
2026-08-15 10:36:40.022104: ML Predictor: Restored best weights from epoch with val_mae=0.0020 kWh val_bias=-0.0005 kWh (-0.7%)
2026-08-15 10:36:40.022439: ML Predictor: Training complete, final val_mae=0.0020 kWh val_bias=-0.0005 kWh (-0.7%)
2026-08-15 10:36:42.091078: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 10:36:42.091477: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 10:36:42.091619: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 10:36:42.091860: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 10:36:42.091984: Note: Inverter does not support discharge freeze - disabled
2026-08-15 10:36:42.092077: Note: Inverter does not support charge freeze - disabled
2026-08-15 10:36:42.092186: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 10:36:47.819388: ML Predictor: AR rollout over holdout: ar_mae=0.0021 kWh ar_bias=-0.0005 kWh (-0.7%) [drift vs teacher-forced: +0.0001 kWh]
2026-08-15 10:36:47.828374: ML Predictor: Curriculum pass 3/5 complete, val_mae=0.0020 kWh
2026-08-15 10:36:47.920016: ML Predictor: Curriculum pass 4/5: window=56.0 days (1344 hours of data)
2026-08-15 10:36:47.920349: ML Predictor: Starting fine-tune training with 30 epochs
2026-08-15 10:36:48.499787: ML Predictor: Creating dataset with 1344 hours of training data, 48 hours validation
2026-08-15 10:36:53.540992: ML Predictor: Created 15840 training samples, 576 validation samples
2026-08-15 10:36:53.595566: ML Predictor: Normalization stats [ema-update alpha=0.1] target(mean=0.0587 std=0.0472) load(mean=0.0589 std=0.0473) pv(mean=0.0000 std=0.0100) temp(mean=19.5204 std=4.4281) import_rate(mean=25.5113 std=2.4718) export_rate(mean=0.0000 std=1.0000) time(mean=-0.1905 std=0.5239)
2026-08-15 10:36:53.672599: ML Predictor: Applied EMA normalization update (alpha=0.1) to track feature drift
2026-08-15 10:36:53.687404: ML Predictor: Reset Adam optimiser state for fine-tuning
2026-08-15 10:36:53.739912: ML Predictor: Baseline (pre-finetune) val_mae=0.0068 kWh val_bias=-0.0015 kWh
2026-08-15 10:37:26.271027: ML Predictor: Epoch 1/30: lr=0.00100 huber_loss=0.0097 val_mae=0.0061 kWh val_bias=+0.0004 kWh (+0.5%) combined=0.0038 kWh ema_combined=0.0038 kWh
2026-08-15 10:37:58.295836: ML Predictor: Epoch 2/30: lr=0.00100 huber_loss=0.0115 val_mae=0.0064 kWh val_bias=-0.0031 kWh (-3.5%) combined=0.0053 kWh ema_combined=0.0042 kWh
2026-08-15 10:38:31.391158: ML Predictor: Epoch 3/30: lr=0.00099 huber_loss=0.0123 val_mae=0.0057 kWh val_bias=-0.0012 kWh (-1.4%) combined=0.0033 kWh ema_combined=0.0039 kWh
2026-08-15 10:38:56.880906: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 10:38:56.881356: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 10:38:56.881705: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 10:38:56.881994: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 10:38:56.882124: Note: Inverter does not support discharge freeze - disabled
2026-08-15 10:38:56.882254: Note: Inverter does not support charge freeze - disabled
2026-08-15 10:38:56.882360: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 10:39:03.972387: ML Predictor: Epoch 4/30: lr=0.00098 huber_loss=0.0104 val_mae=0.0053 kWh val_bias=-0.0018 kWh (-2.1%) combined=0.0035 kWh ema_combined=0.0038 kWh
2026-08-15 10:39:38.676611: ML Predictor: Epoch 5/30: lr=0.00096 huber_loss=0.0120 val_mae=0.0056 kWh val_bias=-0.0001 kWh (-0.1%) combined=0.0030 kWh ema_combined=0.0036 kWh
2026-08-15 10:40:00.227603: --------------- PredBat - update at 2026-08-15 10:40:00+01:00 with clock skew 0 minutes, minutes now 640
2026-08-15 10:40:00.237387: Saved current settings to /config/predbat_config.json
2026-08-15 10:40:00.237665: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 25.0 minutes
2026-08-15 10:40:00.237816: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.1, latest beta is v8.48.1
2026-08-15 10:40:00.237942: Autoupdate: Currently up to date
2026-08-15 10:40:00.307466: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 10:40:00.309241: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 10:40:00.309605: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 10:40:00.312161: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 10:40:00.312374: Predbat mode is set to Control charge & discharge
2026-08-15 10:40:00.721565: Found 21602 load_today datapoints going back 28 days
2026-08-15 10:40:00.722002: Using load_power data to fill gaps in load_today data
2026-08-15 10:40:02.192601: Processing 721 30-minute periods for power integration
2026-08-15 10:40:02.463681: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 10:40:02.463990: Car charging hold False, threshold 6.0kWh
2026-08-15 10:40:02.464218: Current data so far today: load 6.92kWh, import 7.8kWh, export 0.0kWh, PV 0kWh
2026-08-15 10:40:02.489515: Cars: SoC: [11.72]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 10:40:02.490405: Standing charge is set to 49.98p
2026-08-15 10:40:02.634951: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 10:40:02.635269: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 10:40:03.047721: Loaded 95 datapoints of futurerate analysis
2026-08-15 10:40:03.291937: Predicted future rates: ['08-15 00:00:00 => 28.9 / 20.01', '08-15 01:00:00 => 27.54 / 19.31', '08-15 02:00:00 => 26.52 / 18.8', '08-15 03:00:00 => 25.99 / 18.53', '08-15 04:00:00 => 25.8 / 18.43', '08-15 05:00:00 => 25.96 / 18.51', '08-15 06:00:00 => 25.55 / 18.3', '08-15 07:00:00 => 24.33 / 17.68', '08-15 08:00:00 => 23.03 / 17.01', '08-15 09:00:00 => 22.05 / 16.51', '08-15 10:00:00 => 20.43 / 15.68', '08-15 11:00:00 => 18.01 / 14.45', '08-15 12:00:00 => 16.37 / 13.61', '08-15 13:00:00 => 15.76 / 13.3', '08-15 14:00:00 => 15.35 / 13.09', '08-15 15:00:00 => 15.86 / 13.35', '08-15 16:00:00 => 32.89 / 16.13', '08-15 17:00:00 => 38.02 / 18.75', '08-15 18:00:00 => 42.36 / 20.96', '08-15 19:00:00 => 31.09 / 21.13', '08-15 20:00:00 => 31.64 / 21.41', '08-15 21:00:00 => 31.64 / 21.41', '08-15 22:00:00 => 30.58 / 20.87', '08-15 23:00:00 => 29.37 / 20.25', '08-16 00:00:00 => 28.83 / 19.97', '08-16 01:00:00 => 27.73 / 19.41', '08-16 02:00:00 => 26.76 / 18.92', '08-16 03:00:00 => 26.39 / 18.73', '08-16 04:00:00 => 26.33 / 18.7', '08-16 05:00:00 => 26.23 / 18.65', '08-16 06:00:00 => 25.99 / 18.53', '08-16 07:00:00 => 25.64 / 18.35', '08-16 08:00:00 => 24.84 / 17.94', '08-16 09:00:00 => 24.26 / 17.64']
2026-08-15 10:40:03.371035: Rate min forward looking: now 13.77p at end of forecast 21.29p
2026-08-15 10:40:03.371732: Import rates: min 13.77p, max 46.05p, average 27.53p
2026-08-15 10:40:03.424907: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 10:40:03.425109: Rate thresholds (for charge/export) are import 45.55p (0.0p), export -0.1p (0.0p)
2026-08-15 10:40:03.426485: High export rate found rates in range 99p to -99p
2026-08-15 10:40:03.529933: Low Import rate found rates in range 13.77p to 44.19p
2026-08-15 10:40:03.533074: Car 0 charging is not planned as it is not plugged in
2026-08-15 10:40:03.562954: Battery level now 1.44kWh, -1hr ago 1.86kWh, at midnight 1.66kWh, battery value change in the last hour -4.92p, change today -2.55p, rate_forward 11.83p
2026-08-15 10:40:03.563622: Last hour: net energy 0.01kWh, import 0.01kWh, export 0.0kWh, car 0kWh, load 0.47kWh, net cost 0.3p, import 0.3p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 10:40:03.693850: Today's energy total net 7.8kWh, import 7.8kWh, export 0.0kWh, cost 254.46p, import 204.47p, export 0.0p, carbon 0.0kg
2026-08-15 10:40:03.694040: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 10:40:04.039247: Using weighted-bucket historical load forecast over 14 days
2026-08-15 10:40:04.077057: Today's load divergence 106.27%, in-day adjustment 126.96%, damping 0.95x, yesterday 143.77% today 105.96% blend 55.56%
2026-08-15 10:40:04.077329: Today's predicted so far 6.0kWh with 0.0kWh car/iBoost excluded, 3.22kWh import ignored, and 6.0kWh forecast extra.
2026-08-15 10:40:04.077393: Today's actual load so far 7.03kWh with 0.0kWh car/iBoost excluded, and 3.22kWh import ignored.
2026-08-15 10:40:04.154171: Inverter 0: Type SK Sunsynk
2026-08-15 10:40:04.154297: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 10:40:04.154596: Reserve min: 7%, battery_min: 7%
2026-08-15 10:40:04.154731: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 10:40:04.155865: Inverter 0 SoC: 1.44kW 9%, current charge rate 5000W, current discharge rate 5250W, current battery power -4465W, current battery voltage 51.2V, grid power -5226W, load power 230W, PV Power 0W
2026-08-15 10:40:04.156189: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 10:40:04.156335: Inverter 0 scheduled charge enable is False
2026-08-15 10:40:04.156386: Inverter 0 charge windows currently []
2026-08-15 10:40:04.156435: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 10:40:04.156624: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 10:40:04.156674: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 10:40:04.156738: Inverter 0 scheduled discharge enable is False
2026-08-15 10:40:04.157000: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 10:40:04.157071: Inverter 0 discharge windows currently []
2026-08-15 10:40:04.157117: Note: Inverter does not support discharge freeze - disabled
2026-08-15 10:40:04.157176: Note: Inverter does not support charge freeze - disabled
2026-08-15 10:40:04.157213: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 10:40:04.333459: Dynamic load last period 0.30kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 10:40:04.333578: Plan was last updated on 2026-08-15 10:35:00+01:00 and is now 5.0 minutes old
2026-08-15 10:40:04.333981: Best charge window [ 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 14:00:00 @ 15.55p 100%, 15-08 14:00:00 - 15-08 16:00:00 @ 15.23p 98%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 10:00:00 @ 23.56p 100% ]
2026-08-15 10:40:04.334022: Best export window [  ]
2026-08-15 10:40:04.335360: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 10:40:04.340374: Load divergence over 8.0 hours mean 638.92W, min 291.6W, max 1657.2W, std dev 323.69W, divergence 25.33%
2026-08-15 10:40:04.407267: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 10:40:04.407427: LoadML is_calculating True
2026-08-15 10:40:04.407469: Not using thread pool as LoadML is calculating to avoid lockups
2026-08-15 10:40:04.554808: predict base end_record 08-16 11:35:00, final soc 1.12kWh, metric 798.81p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 10:55:00, load 26.05kWh, PV 0.0kWh
2026-08-15 10:40:04.820927: Battery has 0.25 hours left - now at 1.44kWh
2026-08-15 10:40:04.937154: predict base10 end_record 08-16 11:35:00, final soc 1.12kWh, metric 822.49p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 10:55:00, load 26.95kWh, PV 0.0kWh
2026-08-15 10:40:05.083443: predict best10 end_record 08-16 11:35:00, final soc 1.44kWh, metric 658.73p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 10:55:00, load 26.95kWh, PV 0.0kWh
2026-08-15 10:40:05.221927: predict best end_record 08-16 11:35:00, final soc 1.51kWh, metric 636.5p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 10:55:00, load 26.05kWh, PV 0.0kWh
2026-08-15 10:40:05.222058: Saving plan best values to HA entities
2026-08-15 10:40:05.639827: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 10:40:05.651557: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0.0
2026-08-15 10:40:05.660181: Best charging limit SoC's [16.0, 3.5, 4.0, 16.0, 15.75, 16.0, 16.0]kWh, export []kWh gives import battery 20.38kWh, house 0.94kWh, export 0.0kWh, metric 636.5p, metric10 658.73p
2026-08-15 10:40:05.881776: Marginal costs baseline metric (no standing charge): 586.5201
2026-08-15 10:40:06.467497: Marginal energy costs matrix computed: min=14.74 max=31.11
2026-08-15 10:40:06.637801: Rate array import [{'start': 640, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 17.7p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1950, 'rate': 'expensive', 'range': '(24.8p - 32.9p)'}, {'start': 1950, 'end': 2040, 'rate': 'cheap', 'range': '(24.2p - 24.3p)'}, {'start': 2040, 'end': 2130, 'rate': 'expensive', 'range': '(24.7p - 25.4p)'}, {'start': 2130, 'end': 2135, 'rate': 'cheap', 'range': '(24.0p)'}] export [{'start': 640, 'end': 2135, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 10:40:06.638969: - Your estimated bill for today is £5.65 and tomorrow is £6.93
2026-08-15 10:40:06.639168: - Import rates are cheap (13.8p - 17.7p) for the next 5 and a quarter hours and then expensive (33.1p) for the next 1 hour.
2026-08-15 10:40:06.639318: - The battery is currently at 9% and is in eco mode for the next 50 minutes.
2026-08-15 10:40:06.639606: - For the next 48 hours there will be no solar generation.
2026-08-15 10:40:06.639766: - You will run out of battery in 15 minutes.
2026-08-15 10:40:06.639901: - Your next charge slot will be in 50 minutes where import rates will be cheap (15.5p).
2026-08-15 10:40:06.640034: 
2026-08-15 10:40:06.709287: Plan calculation took 2.38 seconds
2026-08-15 10:40:06.714316: No high rate period found
2026-08-15 10:40:06.870387: Import threshold used for optimisation was 24.28p
2026-08-15 10:40:06.994042: Low import rate windows [0: 08-15 10:30:00 - 08-15 11:00:00 @ 17.66, 1: 08-15 11:00:00 - 08-15 11:30:00 @ 16.56, 2: 08-15 11:30:00 - 08-15 12:00:00 @ 15.46, 3: 08-15 12:00:00 - 08-15 12:30:00 @ 17.0, 4: 08-15 12:30:00 - 08-15 13:00:00 @ 16.34, 5: 08-15 13:00:00 - 08-15 13:30:00 @ 15.36, 6: 08-15 13:30:00 - 08-15 14:00:00 @ 15.74, 7: 08-15 14:00:00 - 08-15 14:30:00 @ 14.57, 8: 08-15 14:30:00 - 08-15 15:00:00 @ 13.77, 9: 08-15 15:00:00 - 08-15 15:30:00 @ 15.02, 10: 08-15 15:30:00 - 08-15 16:00:00 @ 15.87, 11: 08-15 16:00:00 - 08-15 16:30:00 @ 33.13, 12: 08-15 16:30:00 - 08-15 17:00:00 @ 33.13, 13: 08-15 17:00:00 - 08-15 17:30:00 @ 38.46, 14: 08-15 17:30:00 - 08-15 18:00:00 @ 40.44, 15: 08-15 18:00:00 - 08-15 18:30:00 @ 41.55, 16: 08-15 18:30:00 - 08-15 19:00:00 @ 43.82, 17: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 18: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 19: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 20: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 21: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 22: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 23: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 24: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 25: 08-15 23:00:00 - 08-15 23:30:00 @ 29.37, 26: 08-15 23:30:00 - 08-16 00:00:00 @ 29.2, 27: 08-16 00:00:00 - 08-16 00:30:00 @ 28.83, 28: 08-16 00:30:00 - 08-16 01:00:00 @ 28.46, 29: 08-16 01:00:00 - 08-16 01:30:00 @ 27.73, 30: 08-16 01:30:00 - 08-16 02:00:00 @ 27.01, 31: 08-16 02:00:00 - 08-16 02:30:00 @ 26.76, 32: 08-16 02:30:00 - 08-16 03:00:00 @ 26.48, 33: 08-16 03:00:00 - 08-16 03:30:00 @ 26.39, 34: 08-16 03:30:00 - 08-16 04:00:00 @ 26.27, 35: 08-16 04:00:00 - 08-16 04:30:00 @ 26.33, 36: 08-16 04:30:00 - 08-16 05:00:00 @ 26.37, 37: 08-16 05:00:00 - 08-16 05:30:00 @ 26.23, 38: 08-16 05:30:00 - 08-16 06:00:00 @ 26.07, 39: 08-16 06:00:00 - 08-16 06:30:00 @ 25.99, 40: 08-16 06:30:00 - 08-16 07:00:00 @ 25.92, 41: 08-16 07:00:00 - 08-16 07:30:00 @ 25.64, 42: 08-16 07:30:00 - 08-16 08:00:00 @ 25.39, 43: 08-16 08:00:00 - 08-16 08:30:00 @ 24.84, 44: 08-16 08:30:00 - 08-16 09:00:00 @ 24.28, 45: 08-16 09:00:00 - 08-16 09:30:00 @ 24.26, 46: 08-16 09:30:00 - 08-16 10:00:00 @ 24.22, 47: 08-16 10:00:00 - 08-16 10:30:00 @ 24.8, 48: 08-16 10:30:00 - 08-16 11:00:00 @ 25.37, 49: 08-16 11:00:00 - 08-16 11:30:00 @ 24.71, 50: 08-16 11:30:00 - 08-16 12:00:00 @ 24.02, 51: 08-16 12:00:00 - 08-16 12:30:00 @ 23.79, 52: 08-16 12:30:00 - 08-16 13:00:00 @ 23.55, 53: 08-16 13:00:00 - 08-16 13:30:00 @ 23.14, 54: 08-16 13:30:00 - 08-16 14:00:00 @ 22.71, 55: 08-16 14:00:00 - 08-16 14:30:00 @ 22.01, 56: 08-16 14:30:00 - 08-16 15:00:00 @ 21.29, 57: 08-16 15:00:00 - 08-16 15:30:00 @ 22.01, 58: 08-16 15:30:00 - 08-16 16:00:00 @ 22.71, 59: 08-16 16:00:00 - 08-16 16:30:00 @ 37.14, 60: 08-16 16:30:00 - 08-16 17:00:00 @ 37.91, 61: 08-16 17:00:00 - 08-16 17:30:00 @ 40.13, 62: 08-16 17:30:00 - 08-16 18:00:00 @ 42.36, 63: 08-16 18:00:00 - 08-16 18:30:00 @ 44.19, 64: 08-16 19:00:00 - 08-16 19:30:00 @ 33.04, 65: 08-16 19:30:00 - 08-16 20:00:00 @ 33.71, 66: 08-16 20:00:00 - 08-16 20:30:00 @ 33.83, 67: 08-16 20:30:00 - 08-16 21:00:00 @ 33.94, 68: 08-16 21:00:00 - 08-16 21:30:00 @ 33.73, 69: 08-16 21:30:00 - 08-16 22:00:00 @ 33.53, 70: 08-16 22:00:00 - 08-16 22:30:00 @ 32.36, 71: 08-16 22:30:00 - 08-16 23:00:00 @ 31.17, 72: 08-16 23:00:00 - 08-16 23:30:00 @ 29.37, 73: 08-16 23:30:00 - 08-17 00:00:00 @ 29.2, 74: 08-17 00:00:00 - 08-17 00:30:00 @ 28.83, 75: 08-17 00:30:00 - 08-17 01:00:00 @ 28.46, 76: 08-17 01:00:00 - 08-17 01:30:00 @ 27.73, 77: 08-17 01:30:00 - 08-17 02:00:00 @ 27.01, 78: 08-17 02:00:00 - 08-17 02:30:00 @ 26.76, 79: 08-17 02:30:00 - 08-17 03:00:00 @ 26.48, 80: 08-17 03:00:00 - 08-17 03:30:00 @ 26.39, 81: 08-17 03:30:00 - 08-17 04:00:00 @ 26.27, 82: 08-17 04:00:00 - 08-17 04:30:00 @ 26.33, 83: 08-17 04:30:00 - 08-17 05:00:00 @ 26.37, 84: 08-17 05:00:00 - 08-17 05:30:00 @ 26.23, 85: 08-17 05:30:00 - 08-17 06:00:00 @ 26.07, 86: 08-17 06:00:00 - 08-17 06:30:00 @ 25.99, 87: 08-17 06:30:00 - 08-17 07:00:00 @ 25.92, 88: 08-17 07:00:00 - 08-17 07:30:00 @ 25.64, 89: 08-17 07:30:00 - 08-17 08:00:00 @ 25.39, 90: 08-17 08:00:00 - 08-17 08:30:00 @ 24.84, 91: 08-17 08:30:00 - 08-17 09:00:00 @ 24.28, 92: 08-17 09:00:00 - 08-17 09:30:00 @ 24.26, 93: 08-17 09:30:00 - 08-17 10:00:00 @ 24.22, 94: 08-17 10:00:00 - 08-17 10:30:00 @ 24.8, 95: 08-17 10:30:00 - 08-17 11:00:00 @ 25.37]
2026-08-15 10:40:07.011119: Inverter 0 Charge window will be: 2026-08-15 11:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 9%, target 100%
2026-08-15 10:40:07.011499: Inverter 0 disabled charge window while waiting for schedule (now 08-15 10:40:00 target set_window_minutes 30 charge start time 08-15 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 10:40:07.011699: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 10:40:07.012207: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 10:40:07.012417: No export window planned
2026-08-15 10:40:07.012663: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 10:40:07.012804: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 10:40:07.013165: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 10:40:07.013486: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 10:40:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 10:40:07.013648: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 10:40:07.013810: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 10:40:07.014014: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 10:40:07.014182: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 10:40:07.014329: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 10:40:07.014467: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 10:40:07.014603: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 10:40:07.014736: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 10:40:07.014871: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 10:40:07.015054: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 10:40:07.015244: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 10:40:07.015387: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 10:40:07.015523: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 10:40:07.015656: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 10:40:07.015789: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 10:40:07.015922: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 10:40:07.017017: Inverter 0 count register writes 0
2026-08-15 10:40:07.064545: Will not recompute the plan, it is 5.0 minutes old and max age is 10 minutes
2026-08-15 10:40:07.072622: Total inverter register writes now 815
2026-08-15 10:40:07.150569: Info: Completed run status Demand
2026-08-15 10:40:07.163786: Info: record_status Demand
2026-08-15 10:40:07.190490: Saved current settings to /config/predbat_config.json
2026-08-15 10:40:07.190936: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 10:40:16.398665: ML Predictor: Epoch 6/30: lr=0.00094 huber_loss=0.0123 val_mae=0.0060 kWh val_bias=+0.0005 kWh (+0.6%) combined=0.0034 kWh ema_combined=0.0035 kWh
2026-08-15 10:40:42.361334: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 10:40:42.361640: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 10:40:42.361696: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 10:40:42.361896: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 10:40:42.361950: Note: Inverter does not support discharge freeze - disabled
2026-08-15 10:40:42.361974: Note: Inverter does not support charge freeze - disabled
2026-08-15 10:40:42.362081: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 10:40:50.843748: ML Predictor: Epoch 7/30: lr=0.00091 huber_loss=0.0119 val_mae=0.0048 kWh val_bias=-0.0004 kWh (-0.5%) combined=0.0030 kWh ema_combined=0.0034 kWh
2026-08-15 10:41:24.189637: ML Predictor: Epoch 8/30: lr=0.00088 huber_loss=0.0113 val_mae=0.0053 kWh val_bias=-0.0027 kWh (-3.0%) combined=0.0044 kWh ema_combined=0.0037 kWh
2026-08-15 10:41:54.375771: ML Predictor: Epoch 9/30: lr=0.00084 huber_loss=0.0102 val_mae=0.0045 kWh val_bias=+0.0000 kWh (+0.1%) combined=0.0028 kWh ema_combined=0.0034 kWh
2026-08-15 10:42:28.419805: ML Predictor: Epoch 10/30: lr=0.00080 huber_loss=0.0077 val_mae=0.0042 kWh val_bias=-0.0009 kWh (-1.0%) combined=0.0026 kWh ema_combined=0.0032 kWh
2026-08-15 10:42:56.930528: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 10:42:56.930824: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 10:42:56.930877: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 10:42:56.931045: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 10:42:56.931092: Note: Inverter does not support discharge freeze - disabled
2026-08-15 10:42:56.931253: Note: Inverter does not support charge freeze - disabled
2026-08-15 10:42:56.931414: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 10:42:59.940146: ML Predictor: Epoch 11/30: lr=0.00076 huber_loss=0.0077 val_mae=0.0046 kWh val_bias=-0.0014 kWh (-1.6%) combined=0.0032 kWh ema_combined=0.0032 kWh
2026-08-15 10:43:31.650191: ML Predictor: Epoch 12/30: lr=0.00072 huber_loss=0.0095 val_mae=0.0054 kWh val_bias=-0.0019 kWh (-2.2%) combined=0.0037 kWh ema_combined=0.0033 kWh
2026-08-15 10:44:04.124900: ML Predictor: Epoch 13/30: lr=0.00067 huber_loss=0.0083 val_mae=0.0049 kWh val_bias=-0.0025 kWh (-2.8%) combined=0.0035 kWh ema_combined=0.0034 kWh
2026-08-15 10:44:37.603050: ML Predictor: Epoch 14/30: lr=0.00062 huber_loss=0.0082 val_mae=0.0040 kWh val_bias=-0.0000 kWh (-0.0%) combined=0.0022 kWh ema_combined=0.0030 kWh
2026-08-15 10:44:57.405781: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 10:44:57.406072: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 10:44:57.406124: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 10:44:57.406291: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 10:44:57.406338: Note: Inverter does not support discharge freeze - disabled
2026-08-15 10:44:57.406364: Note: Inverter does not support charge freeze - disabled
2026-08-15 10:44:57.406501: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 10:45:00.597316: --------------- PredBat - update at 2026-08-15 10:45:00+01:00 with clock skew 0 minutes, minutes now 645
2026-08-15 10:45:00.598601: Saved current settings to /config/predbat_config.json
2026-08-15 10:45:00.598911: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 30.0 minutes
2026-08-15 10:45:00.599068: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.1, latest beta is v8.48.1
2026-08-15 10:45:00.599238: Autoupdate: Currently up to date
2026-08-15 10:45:00.659268: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 10:45:00.659509: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 10:45:00.659868: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 10:45:00.660719: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 10:45:00.660980: Predbat mode is set to Control charge & discharge
2026-08-15 10:45:01.099040: Found 21602 load_today datapoints going back 28 days
2026-08-15 10:45:01.099437: Using load_power data to fill gaps in load_today data
2026-08-15 10:45:02.621240: Processing 721 30-minute periods for power integration
2026-08-15 10:45:02.873260: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 10:45:02.873965: Car charging hold False, threshold 6.0kWh
2026-08-15 10:45:02.874194: Current data so far today: load 6.95kWh, import 7.8kWh, export 0.0kWh, PV 0kWh
2026-08-15 10:45:02.897954: Cars: SoC: [11.72]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 10:45:02.898702: Standing charge is set to 49.98p
2026-08-15 10:45:03.054058: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 10:45:03.054283: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 10:45:03.054634: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 5.0 minutes
2026-08-15 10:45:03.055169: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 5.0 minutes
2026-08-15 10:45:03.061705: Loaded 95 datapoints of futurerate analysis
2026-08-15 10:45:03.293990: Predicted future rates: ['08-15 00:00:00 => 28.9 / 20.01', '08-15 01:00:00 => 27.54 / 19.31', '08-15 02:00:00 => 26.52 / 18.8', '08-15 03:00:00 => 25.99 / 18.53', '08-15 04:00:00 => 25.8 / 18.43', '08-15 05:00:00 => 25.96 / 18.51', '08-15 06:00:00 => 25.55 / 18.3', '08-15 07:00:00 => 24.33 / 17.68', '08-15 08:00:00 => 23.03 / 17.01', '08-15 09:00:00 => 22.05 / 16.51', '08-15 10:00:00 => 20.43 / 15.68', '08-15 11:00:00 => 18.01 / 14.45', '08-15 12:00:00 => 16.37 / 13.61', '08-15 13:00:00 => 15.76 / 13.3', '08-15 14:00:00 => 15.35 / 13.09', '08-15 15:00:00 => 15.86 / 13.35', '08-15 16:00:00 => 32.89 / 16.13', '08-15 17:00:00 => 38.02 / 18.75', '08-15 18:00:00 => 42.36 / 20.96', '08-15 19:00:00 => 31.09 / 21.13', '08-15 20:00:00 => 31.64 / 21.41', '08-15 21:00:00 => 31.64 / 21.41', '08-15 22:00:00 => 30.58 / 20.87', '08-15 23:00:00 => 29.37 / 20.25', '08-16 00:00:00 => 28.83 / 19.97', '08-16 01:00:00 => 27.73 / 19.41', '08-16 02:00:00 => 26.76 / 18.92', '08-16 03:00:00 => 26.39 / 18.73', '08-16 04:00:00 => 26.33 / 18.7', '08-16 05:00:00 => 26.23 / 18.65', '08-16 06:00:00 => 25.99 / 18.53', '08-16 07:00:00 => 25.64 / 18.35', '08-16 08:00:00 => 24.84 / 17.94', '08-16 09:00:00 => 24.26 / 17.64']
2026-08-15 10:45:03.387760: Rate min forward looking: now 13.77p at end of forecast 21.29p
2026-08-15 10:45:03.388361: Import rates: min 13.77p, max 46.05p, average 27.54p
2026-08-15 10:45:03.432724: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 10:45:03.432855: Rate thresholds (for charge/export) are import 45.55p (0.0p), export -0.1p (0.0p)
2026-08-15 10:45:03.434296: High export rate found rates in range 99p to -99p
2026-08-15 10:45:03.530238: Low Import rate found rates in range 13.77p to 44.19p
2026-08-15 10:45:03.530460: Car 0 charging is not planned as it is not plugged in
2026-08-15 10:45:03.548585: Battery level now 1.44kWh, -1hr ago 1.76kWh, at midnight 1.66kWh, battery value change in the last hour -3.78p, change today -2.55p, rate_forward 11.83p
2026-08-15 10:45:03.549154: Last hour: net energy 0.0kWh, import 0.0kWh, export 0.0kWh, car 0kWh, load 0.45kWh, net cost 0.0p, import 0.0p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 10:45:03.635084: Today's energy total net 7.8kWh, import 7.8kWh, export 0.0kWh, cost 254.46p, import 204.47p, export 0.0p, carbon 0.0kg
2026-08-15 10:45:03.635269: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 10:45:03.819585: Using weighted-bucket historical load forecast over 14 days
2026-08-15 10:45:03.891871: Today's load divergence 106.02%, in-day adjustment 126.73%, damping 0.95x, yesterday 143.77% today 105.72% blend 55.21%
2026-08-15 10:45:03.892207: Today's predicted so far 6.01kWh with 0.0kWh car/iBoost excluded, 3.21kWh import ignored, and 6.01kWh forecast extra.
2026-08-15 10:45:03.892462: Today's actual load so far 7.01kWh with 0.0kWh car/iBoost excluded, and 3.21kWh import ignored.
2026-08-15 10:45:03.947507: Inverter 0: Type SK Sunsynk
2026-08-15 10:45:03.947821: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 10:45:03.948205: Reserve min: 7%, battery_min: 7%
2026-08-15 10:45:03.948466: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 10:45:03.948973: Inverter 0 SoC: 1.46kW 9%, current charge rate 5000W, current discharge rate 5250W, current battery power -4476W, current battery voltage 51.2V, grid power -5238W, load power 242W, PV Power 0W
2026-08-15 10:45:03.949366: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 10:45:03.949642: Inverter 0 scheduled charge enable is False
2026-08-15 10:45:03.949800: Inverter 0 charge windows currently []
2026-08-15 10:45:03.949961: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 10:45:03.950312: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 10:45:03.950492: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 10:45:03.950732: Inverter 0 scheduled discharge enable is False
2026-08-15 10:45:03.951062: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 10:45:03.951223: Inverter 0 discharge windows currently []
2026-08-15 10:45:03.951390: Note: Inverter does not support discharge freeze - disabled
2026-08-15 10:45:03.951562: Note: Inverter does not support charge freeze - disabled
2026-08-15 10:45:03.951710: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 10:45:04.100290: Dynamic load last period 0.30kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 10:45:04.100445: Plan was last updated on 2026-08-15 10:35:00+01:00 and is now 10.0 minutes old
2026-08-15 10:45:04.100841: Best charge window [ 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 14:00:00 @ 15.55p 100%, 15-08 14:00:00 - 15-08 16:00:00 @ 15.23p 98%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 10:00:00 @ 23.56p 100% ]
2026-08-15 10:45:04.100895: Best export window [  ]
2026-08-15 10:45:04.102209: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 10:45:04.106959: Load divergence over 8.0 hours mean 640.54W, min 274.2W, max 1777.8W, std dev 357.64W, divergence 27.92%
2026-08-15 10:45:04.128586: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 10:45:04.128716: LoadML is_calculating True
2026-08-15 10:45:04.128968: Not using thread pool as LoadML is calculating to avoid lockups
2026-08-15 10:45:04.166249: predict base end_record 08-16 11:40:00, final soc 1.12kWh, metric 799.83p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 11:05:00, load 26.1kWh, PV 0.0kWh
2026-08-15 10:45:04.473281: Battery has 0.33 hours left - now at 1.46kWh
2026-08-15 10:45:04.532199: predict base10 end_record 08-16 11:40:00, final soc 1.12kWh, metric 823.66p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 11:00:00, load 27.01kWh, PV 0.0kWh
2026-08-15 10:45:04.698586: predict best10 end_record 08-16 11:40:00, final soc 1.77kWh, metric 668.16p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 11:00:00, load 27.01kWh, PV 0.0kWh
2026-08-15 10:45:04.991622: predict best end_record 08-16 11:40:00, final soc 1.9kWh, metric 647.5p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 11:05:00, load 26.1kWh, PV 0.0kWh
2026-08-15 10:45:04.991738: Saving plan best values to HA entities
2026-08-15 10:45:05.360004: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0
2026-08-15 10:45:05.371325: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 10:45:05.382154: Best charging limit SoC's [16.0, 3.5, 4.0, 16.0, 15.75, 16.0, 16.0]kWh, export []kWh gives import battery 20.91kWh, house 0.85kWh, export 0.0kWh, metric 647.5p, metric10 668.16p
2026-08-15 10:45:05.593618: Marginal costs baseline metric (no standing charge): 597.5134
2026-08-15 10:45:05.904892: Marginal energy costs matrix computed: min=14.92 max=31.43
2026-08-15 10:45:05.998849: Rate array import [{'start': 645, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 17.7p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1950, 'rate': 'expensive', 'range': '(24.8p - 32.9p)'}, {'start': 1950, 'end': 2040, 'rate': 'cheap', 'range': '(24.2p - 24.3p)'}, {'start': 2040, 'end': 2130, 'rate': 'expensive', 'range': '(24.7p - 25.4p)'}, {'start': 2130, 'end': 2140, 'rate': 'cheap', 'range': '(24.0p)'}] export [{'start': 645, 'end': 2140, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 10:45:05.999469: - Your estimated bill for today is £5.63 and tomorrow is £6.95
2026-08-15 10:45:06.000109: - Import rates are cheap (13.8p - 17.7p) for the next 5 and a quarter hours and then expensive (33.1p) for the next 1 hour.
2026-08-15 10:45:06.000256: - The battery is currently at 9% and is in eco mode for the next 45 minutes.
2026-08-15 10:45:06.000371: - For the next 48 hours there will be no solar generation.
2026-08-15 10:45:06.000500: - You will run out of battery in 20 minutes.
2026-08-15 10:45:06.000596: - Your next charge slot will be in 45 minutes where import rates will be cheap (15.5p).
2026-08-15 10:45:06.000688: 
2026-08-15 10:45:06.035752: Plan calculation took 1.94 seconds
2026-08-15 10:45:06.039184: No high rate period found
2026-08-15 10:45:06.175284: Import threshold used for optimisation was 24.28p
2026-08-15 10:45:06.333259: Low import rate windows [0: 08-15 10:30:00 - 08-15 11:00:00 @ 17.66, 1: 08-15 11:00:00 - 08-15 11:30:00 @ 16.56, 2: 08-15 11:30:00 - 08-15 12:00:00 @ 15.46, 3: 08-15 12:00:00 - 08-15 12:30:00 @ 17.0, 4: 08-15 12:30:00 - 08-15 13:00:00 @ 16.34, 5: 08-15 13:00:00 - 08-15 13:30:00 @ 15.36, 6: 08-15 13:30:00 - 08-15 14:00:00 @ 15.74, 7: 08-15 14:00:00 - 08-15 14:30:00 @ 14.57, 8: 08-15 14:30:00 - 08-15 15:00:00 @ 13.77, 9: 08-15 15:00:00 - 08-15 15:30:00 @ 15.02, 10: 08-15 15:30:00 - 08-15 16:00:00 @ 15.87, 11: 08-15 16:00:00 - 08-15 16:30:00 @ 33.13, 12: 08-15 16:30:00 - 08-15 17:00:00 @ 33.13, 13: 08-15 17:00:00 - 08-15 17:30:00 @ 38.46, 14: 08-15 17:30:00 - 08-15 18:00:00 @ 40.44, 15: 08-15 18:00:00 - 08-15 18:30:00 @ 41.55, 16: 08-15 18:30:00 - 08-15 19:00:00 @ 43.82, 17: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 18: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 19: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 20: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 21: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 22: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 23: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 24: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 25: 08-15 23:00:00 - 08-15 23:30:00 @ 29.37, 26: 08-15 23:30:00 - 08-16 00:00:00 @ 29.2, 27: 08-16 00:00:00 - 08-16 00:30:00 @ 28.83, 28: 08-16 00:30:00 - 08-16 01:00:00 @ 28.46, 29: 08-16 01:00:00 - 08-16 01:30:00 @ 27.73, 30: 08-16 01:30:00 - 08-16 02:00:00 @ 27.01, 31: 08-16 02:00:00 - 08-16 02:30:00 @ 26.76, 32: 08-16 02:30:00 - 08-16 03:00:00 @ 26.48, 33: 08-16 03:00:00 - 08-16 03:30:00 @ 26.39, 34: 08-16 03:30:00 - 08-16 04:00:00 @ 26.27, 35: 08-16 04:00:00 - 08-16 04:30:00 @ 26.33, 36: 08-16 04:30:00 - 08-16 05:00:00 @ 26.37, 37: 08-16 05:00:00 - 08-16 05:30:00 @ 26.23, 38: 08-16 05:30:00 - 08-16 06:00:00 @ 26.07, 39: 08-16 06:00:00 - 08-16 06:30:00 @ 25.99, 40: 08-16 06:30:00 - 08-16 07:00:00 @ 25.92, 41: 08-16 07:00:00 - 08-16 07:30:00 @ 25.64, 42: 08-16 07:30:00 - 08-16 08:00:00 @ 25.39, 43: 08-16 08:00:00 - 08-16 08:30:00 @ 24.84, 44: 08-16 08:30:00 - 08-16 09:00:00 @ 24.28, 45: 08-16 09:00:00 - 08-16 09:30:00 @ 24.26, 46: 08-16 09:30:00 - 08-16 10:00:00 @ 24.22, 47: 08-16 10:00:00 - 08-16 10:30:00 @ 24.8, 48: 08-16 10:30:00 - 08-16 11:00:00 @ 25.37, 49: 08-16 11:00:00 - 08-16 11:30:00 @ 24.71, 50: 08-16 11:30:00 - 08-16 12:00:00 @ 24.02, 51: 08-16 12:00:00 - 08-16 12:30:00 @ 23.79, 52: 08-16 12:30:00 - 08-16 13:00:00 @ 23.55, 53: 08-16 13:00:00 - 08-16 13:30:00 @ 23.14, 54: 08-16 13:30:00 - 08-16 14:00:00 @ 22.71, 55: 08-16 14:00:00 - 08-16 14:30:00 @ 22.01, 56: 08-16 14:30:00 - 08-16 15:00:00 @ 21.29, 57: 08-16 15:00:00 - 08-16 15:30:00 @ 22.01, 58: 08-16 15:30:00 - 08-16 16:00:00 @ 22.71, 59: 08-16 16:00:00 - 08-16 16:30:00 @ 37.14, 60: 08-16 16:30:00 - 08-16 17:00:00 @ 37.91, 61: 08-16 17:00:00 - 08-16 17:30:00 @ 40.13, 62: 08-16 17:30:00 - 08-16 18:00:00 @ 42.36, 63: 08-16 18:00:00 - 08-16 18:30:00 @ 44.19, 64: 08-16 19:00:00 - 08-16 19:30:00 @ 33.04, 65: 08-16 19:30:00 - 08-16 20:00:00 @ 33.71, 66: 08-16 20:00:00 - 08-16 20:30:00 @ 33.83, 67: 08-16 20:30:00 - 08-16 21:00:00 @ 33.94, 68: 08-16 21:00:00 - 08-16 21:30:00 @ 33.73, 69: 08-16 21:30:00 - 08-16 22:00:00 @ 33.53, 70: 08-16 22:00:00 - 08-16 22:30:00 @ 32.36, 71: 08-16 22:30:00 - 08-16 23:00:00 @ 31.17, 72: 08-16 23:00:00 - 08-16 23:30:00 @ 29.37, 73: 08-16 23:30:00 - 08-17 00:00:00 @ 29.2, 74: 08-17 00:00:00 - 08-17 00:30:00 @ 28.83, 75: 08-17 00:30:00 - 08-17 01:00:00 @ 28.46, 76: 08-17 01:00:00 - 08-17 01:30:00 @ 27.73, 77: 08-17 01:30:00 - 08-17 02:00:00 @ 27.01, 78: 08-17 02:00:00 - 08-17 02:30:00 @ 26.76, 79: 08-17 02:30:00 - 08-17 03:00:00 @ 26.48, 80: 08-17 03:00:00 - 08-17 03:30:00 @ 26.39, 81: 08-17 03:30:00 - 08-17 04:00:00 @ 26.27, 82: 08-17 04:00:00 - 08-17 04:30:00 @ 26.33, 83: 08-17 04:30:00 - 08-17 05:00:00 @ 26.37, 84: 08-17 05:00:00 - 08-17 05:30:00 @ 26.23, 85: 08-17 05:30:00 - 08-17 06:00:00 @ 26.07, 86: 08-17 06:00:00 - 08-17 06:30:00 @ 25.99, 87: 08-17 06:30:00 - 08-17 07:00:00 @ 25.92, 88: 08-17 07:00:00 - 08-17 07:30:00 @ 25.64, 89: 08-17 07:30:00 - 08-17 08:00:00 @ 25.39, 90: 08-17 08:00:00 - 08-17 08:30:00 @ 24.84, 91: 08-17 08:30:00 - 08-17 09:00:00 @ 24.28, 92: 08-17 09:00:00 - 08-17 09:30:00 @ 24.26, 93: 08-17 09:30:00 - 08-17 10:00:00 @ 24.22, 94: 08-17 10:00:00 - 08-17 10:30:00 @ 24.8, 95: 08-17 10:30:00 - 08-17 11:00:00 @ 25.37]
2026-08-15 10:45:06.347563: Inverter 0 Charge window will be: 2026-08-15 11:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 9%, target 100%
2026-08-15 10:45:06.347711: Inverter 0 disabled charge window while waiting for schedule (now 08-15 10:45:00 target set_window_minutes 30 charge start time 08-15 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 10:45:06.347781: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 10:45:06.348043: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 10:45:06.348125: No export window planned
2026-08-15 10:45:06.348229: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 10:45:06.348279: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 10:45:06.348498: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 10:45:06.348710: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 10:45:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 10:45:06.348771: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 10:45:06.348820: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 10:45:06.348900: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 10:45:06.348940: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 10:45:06.349075: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 10:45:06.349116: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 10:45:06.349145: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 10:45:06.349191: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 10:45:06.349247: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 10:45:06.349361: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 10:45:06.349433: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 10:45:06.349469: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 10:45:06.349505: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 10:45:06.349834: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 10:45:06.349883: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 10:45:06.349909: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 10:45:06.349935: Inverter 0 count register writes 0
2026-08-15 10:45:06.397486: Will recompute the plan as it is now 10.0 minutes old and will exceed the max age of 10 minutes before the next run
2026-08-15 10:45:06.397818: Recompute is saving previous plan...
2026-08-15 10:45:06.406196: Best charge window [ 15-08 10:30:00 - 15-08 11:00:00 @ 17.66p 0%, 15-08 11:00:00 - 15-08 11:30:00 @ 16.56p 0%, 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 0%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 0%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 0%, 15-08 13:00:00 - 15-08 13:30:00 @ 15.36p 0%, 15-08 13:30:00 - 15-08 14:00:00 @ 15.74p 0%, 15-08 14:00:00 - 15-08 14:30:00 @ 14.57p 0%, 15-08 14:30:00 - 15-08 15:00:00 @ 13.77p 0%, 15-08 15:00:00 - 15-08 15:30:00 @ 15.02p 0%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 0%, 15-08 16:00:00 - 15-08 16:30:00 @ 33.13p 0%, 15-08 16:30:00 - 15-08 17:00:00 @ 33.13p 0%, 15-08 17:00:00 - 15-08 17:30:00 @ 38.46p 0%, 15-08 17:30:00 - 15-08 18:00:00 @ 40.44p 0%, 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 0%, 15-08 18:30:00 - 15-08 19:00:00 @ 43.82p 0%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 0%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 0%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 0%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 0%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 29.37p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 29.2p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.83p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 28.46p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 27.73p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 27.01p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 26.76p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 26.48p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.39p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 26.27p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.33p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.37p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 26.23p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.07p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.99p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 25.92p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 25.64p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 25.39p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.84p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.28p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.26p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.22p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 24.8p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 25.37p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 24.71p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 24.02p 0%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.79p 0%, 16-08 12:30:00 - 16-08 13:00:00 @ 23.55p 0%, 16-08 13:00:00 - 16-08 13:30:00 @ 23.14p 0%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.71p 0%, 16-08 14:00:00 - 16-08 14:30:00 @ 22.01p 0%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.29p 0%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.01p 0%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.71p 0%, 16-08 16:00:00 - 16-08 16:30:00 @ 37.14p 0%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.91p 0%, 16-08 17:00:00 - 16-08 17:30:00 @ 40.13p 0%, 16-08 17:30:00 - 16-08 18:00:00 @ 42.36p 0%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.19p 0%, 16-08 19:00:00 - 16-08 19:30:00 @ 33.04p 0%, 16-08 19:30:00 - 16-08 20:00:00 @ 33.71p 0%, 16-08 20:00:00 - 16-08 20:30:00 @ 33.83p 0%, 16-08 20:30:00 - 16-08 21:00:00 @ 33.94p 0%, 16-08 21:00:00 - 16-08 21:30:00 @ 33.73p 0%, 16-08 21:30:00 - 16-08 22:00:00 @ 33.53p 0%, 16-08 22:00:00 - 16-08 22:30:00 @ 32.36p 0%, 16-08 22:30:00 - 16-08 23:00:00 @ 31.17p 0%, 16-08 23:00:00 - 16-08 23:30:00 @ 29.37p 0%, 16-08 23:30:00 - 17-08 00:00:00 @ 29.2p 0%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.83p 0%, 17-08 00:30:00 - 17-08 01:00:00 @ 28.46p 0%, 17-08 01:00:00 - 17-08 01:30:00 @ 27.73p 0%, 17-08 01:30:00 - 17-08 02:00:00 @ 27.01p 0%, 17-08 02:00:00 - 17-08 02:30:00 @ 26.76p 0%, 17-08 02:30:00 - 17-08 03:00:00 @ 26.48p 0%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.39p 0%, 17-08 03:30:00 - 17-08 04:00:00 @ 26.27p 0%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.33p 0%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.37p 0%, 17-08 05:00:00 - 17-08 05:30:00 @ 26.23p 0%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.07p 0%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.99p 0%, 17-08 06:30:00 - 17-08 07:00:00 @ 25.92p 0%, 17-08 07:00:00 - 17-08 07:30:00 @ 25.64p 0%, 17-08 07:30:00 - 17-08 08:00:00 @ 25.39p 0%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.84p 0%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.28p 0%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.26p 0%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.22p 0%, 17-08 10:00:00 - 17-08 10:30:00 @ 24.8p 0%, 17-08 10:30:00 - 17-08 11:00:00 @ 25.37p 0% ]
2026-08-15 10:45:06.406354: Best export window [  ]
2026-08-15 10:45:06.407717: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 10:45:06.414115: Load divergence over 8.0 hours mean 640.54W, min 274.2W, max 1777.8W, std dev 357.64W, divergence 27.92%
2026-08-15 10:45:06.481050: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 10:45:06.481233: LoadML is_calculating True
2026-08-15 10:45:06.481272: Not using thread pool as LoadML is calculating to avoid lockups
2026-08-15 10:45:06.513853: Calculate Best options: mode(Control charge & discharge), calculate_export_oncharge(False), calculate_export_on_pv(True), set_export_freeze_only(False), set_discharge_during_charge(True), combine_charge_slots(False), combine_export_slots(False), combine_rate_threshold(0.0), best_soc_min(0.0 kWh), best_soc_max(0.0 kWh), best_soc_keep(0.0 kWh), inverter_loss(4%), battery_loss(3%), battery_loss_discharge (3%), inverter_hybrid(True), metric_min_improvement(0.0p), metric_min_improvement_export(0.1p), metric_min_improvement_export_freeze(0.1p), metric_battery_cycle(0.0p/kWh), metric_battery_value_scaling(1.0 x) 
2026-08-15 10:45:06.515953: Optimise levels pass started at 2026-08-15 10:45:06
2026-08-15 10:45:06.516037: Optimise all windows, total charge 95 export 1
2026-08-15 10:45:12.283689: >> Region optimisation pass width 960 gives best_metric 936.53p, best_cost 950.91p, best_cycle 54.47kWh, best_import 37.64kWh
2026-08-15 10:45:15.018137: >> Region optimisation pass width 480 gives best_metric 935.83p, best_cost 949.95p, best_cycle 49.81kWh, best_import 37.31kWh
2026-08-15 10:45:16.238620: >> Region optimisation pass width 240 gives best_metric 935.83p, best_cost 949.95p, best_cycle 49.81kWh, best_import 37.31kWh
2026-08-15 10:45:19.496357: >> Region optimisation pass width 120 gives best_metric 935.83p, best_cost 949.95p, best_cycle 49.81kWh, best_import 37.31kWh
2026-08-15 10:45:19.509635: Calculated end_record as 08-16 11:30:00 based on best_price 22.71p, next_charge_start 08-15 11:30:00, max_windows 50
2026-08-15 10:45:19.509816: Optimise levels pass ended at 2026-08-15 10:45:19, duration 13.0 seconds tried 315 combinations
2026-08-15 10:45:19.509973: Set best_price_charge_level 24.4p, best_price_export_level 0p, best_price_charge 22.71p, best_cost_export 0p, best_metric 935.83p, best_keep 0kWh, best_cycle 49.81kWh, best_carbon 0kg, best_import 37.31kWh
2026-08-15 10:45:19.532778: ML Predictor: Epoch 15/30: lr=0.00057 huber_loss=0.0074 val_mae=0.0043 kWh val_bias=-0.0001 kWh (-0.1%) combined=0.0026 kWh ema_combined=0.0029 kWh
2026-08-15 10:45:19.555269: Starting detailed optimisation end_record 08-16 11:30:00, best_price_charge 22.71p, best_price_export 0p. lowest_price_charge 13.77p with charge limits [0, 0, 16.0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0]kWh and export limits []kWh
2026-08-15 10:45:45.729429: Tweak plan optimisation started metric 553.94p, cost 570.77p
2026-08-15 10:45:46.333198: Tweak optimisation finished metric 553.94p, cost 570.77p, metric_keep 0kWh, cycle 29.63kWh, carbon 0kg, import 20.72kWh, changed 8 window(s)
2026-08-15 10:45:46.384774: Swap charge optimisation started metric 553.94p, cost 570.77p, min_improvement_swap 0.1p
2026-08-15 10:45:54.529955: Swap charge optimisation finished metric 553.94p, cost 570.77p
2026-08-15 10:45:54.715536: Pruned 3 dead plan slot(s) in 14 trial(s), nominal metric 550.28p -> 550.28p, plan now metric 554.01p, cost 570.77p, cycle 29.63kWh, import 20.72kWh
2026-08-15 10:45:54.732163: Raw charge windows [ 15-08 10:30:00 - 15-08 11:00:00 @ 17.66p 9%, 15-08 11:00:00 - 15-08 11:30:00 @ 16.56p 9%, 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 13:30:00 @ 15.36p 100%, 15-08 13:30:00 - 15-08 14:00:00 @ 15.74p 100%, 15-08 14:00:00 - 15-08 14:30:00 @ 14.57p 100%, 15-08 14:30:00 - 15-08 15:00:00 @ 13.77p 100%, 15-08 15:00:00 - 15-08 15:30:00 @ 15.02p 100%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 100%, 15-08 16:00:00 - 15-08 16:30:00 @ 33.13p 0%, 15-08 16:30:00 - 15-08 17:00:00 @ 33.13p 0%, 15-08 17:00:00 - 15-08 17:30:00 @ 38.46p 0%, 15-08 17:30:00 - 15-08 18:00:00 @ 40.44p 0%, 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 0%, 15-08 18:30:00 - 15-08 19:00:00 @ 43.82p 0%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 0%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 0%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 0%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 0%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 29.37p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 29.2p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.83p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 28.46p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 27.73p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 27.01p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 26.76p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 26.48p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.39p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 26.27p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.33p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.37p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 26.23p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.07p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.99p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 25.92p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 25.64p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 25.39p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.84p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.28p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.26p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.22p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 24.8p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 25.37p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 24.71p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 24.02p 100%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.79p 100%, 16-08 12:30:00 - 16-08 13:00:00 @ 23.55p 100%, 16-08 13:00:00 - 16-08 13:30:00 @ 23.14p 100%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.71p 100%, 16-08 14:00:00 - 16-08 14:30:00 @ 22.01p 100%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.29p 100%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.01p 100%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.71p 100%, 16-08 16:00:00 - 16-08 16:30:00 @ 37.14p 100%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.91p 100%, 16-08 17:00:00 - 16-08 17:30:00 @ 40.13p 100%, 16-08 17:30:00 - 16-08 18:00:00 @ 42.36p 100%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.19p 100%, 16-08 19:00:00 - 16-08 19:30:00 @ 33.04p 100%, 16-08 19:30:00 - 16-08 20:00:00 @ 33.71p 100%, 16-08 20:00:00 - 16-08 20:30:00 @ 33.83p 100%, 16-08 20:30:00 - 16-08 21:00:00 @ 33.94p 100%, 16-08 21:00:00 - 16-08 21:30:00 @ 33.73p 100%, 16-08 21:30:00 - 16-08 22:00:00 @ 33.53p 100%, 16-08 22:00:00 - 16-08 22:30:00 @ 32.36p 100%, 16-08 22:30:00 - 16-08 23:00:00 @ 31.17p 100%, 16-08 23:00:00 - 16-08 23:30:00 @ 29.37p 100%, 16-08 23:30:00 - 17-08 00:00:00 @ 29.2p 100%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.83p 100%, 17-08 00:30:00 - 17-08 01:00:00 @ 28.46p 100%, 17-08 01:00:00 - 17-08 01:30:00 @ 27.73p 100%, 17-08 01:30:00 - 17-08 02:00:00 @ 27.01p 100%, 17-08 02:00:00 - 17-08 02:30:00 @ 26.76p 100%, 17-08 02:30:00 - 17-08 03:00:00 @ 26.48p 100%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.39p 100%, 17-08 03:30:00 - 17-08 04:00:00 @ 26.27p 100%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.33p 100%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.37p 100%, 17-08 05:00:00 - 17-08 05:30:00 @ 26.23p 100%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.07p 100%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.99p 100%, 17-08 06:30:00 - 17-08 07:00:00 @ 25.92p 100%, 17-08 07:00:00 - 17-08 07:30:00 @ 25.64p 100%, 17-08 07:30:00 - 17-08 08:00:00 @ 25.39p 100%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.84p 100%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.28p 100%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.26p 100%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.22p 100%, 17-08 10:00:00 - 17-08 10:30:00 @ 24.8p 100%, 17-08 10:30:00 - 17-08 11:00:00 @ 25.37p 100% ] reserve 1.12
2026-08-15 10:45:54.733279: Unclipped charge windows [ 15-08 10:30:00 - 15-08 11:30:00 @ 17.11p 9%, 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 11:30:00 - 16-08 18:30:00 @ 41.93p 100%, 16-08 19:00:00 - 17-08 11:00:00 @ 24.98p 100% ] reserve 1.12
2026-08-15 10:45:54.733757: Unfiltered charge windows [ 15-08 10:30:00 - 15-08 11:30:00 @ 17.11p 9%, 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 11:30:00 - 16-08 18:30:00 @ 41.93p 100%, 16-08 19:00:00 - 17-08 11:00:00 @ 24.98p 100% ] reserve 1.12
2026-08-15 10:45:54.734141: Filtered charge windows [ 15-08 10:30:00 - 15-08 11:30:00 @ 17.11p 9%, 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 11:30:00 - 16-08 18:30:00 @ 41.93p 100%, 16-08 19:00:00 - 17-08 11:00:00 @ 24.98p 100% ] reserve 1.12
2026-08-15 10:45:54.795749: Previous plan best metric is 555.61 (cost 572.53) and new plan best metric is 553.94 (cost 570.77)
2026-08-15 10:45:54.796201: New plan metric is not significantly better (metric_min_improvement_plan 2.0) than previous plan, using previous plan
2026-08-15 10:45:54.796457: Plan valid is now true after recompute was False
2026-08-15 10:45:54.836304: predict base end_record 08-16 11:30:00, final soc 1.12kWh, metric 794.86p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 11:05:00, load 25.89kWh, PV 0.0kWh
2026-08-15 10:45:54.999343: Battery has 0.33 hours left - now at 1.46kWh
2026-08-15 10:45:55.103282: predict base10 end_record 08-16 11:30:00, final soc 1.12kWh, metric 818.45p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 11:00:00, load 26.79kWh, PV 0.0kWh
2026-08-15 10:45:55.253354: predict best10 end_record 08-16 11:30:00, final soc 1.12kWh, metric 646.27p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 11:00:00, load 26.79kWh, PV 0.0kWh
2026-08-15 10:45:55.374030: predict best end_record 08-16 11:30:00, final soc 1.12kWh, metric 622.51p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 11:05:00, load 25.89kWh, PV 0.0kWh
2026-08-15 10:45:55.374272: Saving plan best values to HA entities
2026-08-15 10:45:55.618591: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0
2026-08-15 10:45:55.642820: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 10:45:55.652349: Best charging limit SoC's [16.0, 3.5, 4.0, 16.0, 15.75, 16.0, 16.0]kWh, export []kWh gives import battery 19.87kWh, house 0.85kWh, export 0.0kWh, metric 622.51p, metric10 646.27p
2026-08-15 10:45:55.829251: Marginal costs baseline metric (no standing charge): 572.5294
2026-08-15 10:45:56.276044: Marginal energy costs matrix computed: min=14.92 max=31.43
2026-08-15 10:45:56.420633: Rate array import [{'start': 645, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 17.7p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1950, 'rate': 'expensive', 'range': '(24.8p - 32.9p)'}, {'start': 1950, 'end': 2040, 'rate': 'cheap', 'range': '(24.2p - 24.3p)'}, {'start': 2040, 'end': 2130, 'rate': 'expensive', 'range': '(24.7p - 25.4p)'}] export [{'start': 645, 'end': 2130, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 10:45:56.421641: - Your estimated bill for today is £5.63 and tomorrow is £6.95
2026-08-15 10:45:56.421708: - Import rates are cheap (13.8p - 17.7p) for the next 5 and a quarter hours and then expensive (33.1p) for the next 1 hour.
2026-08-15 10:45:56.421742: - The battery is currently at 9% and is in eco mode for the next 45 minutes.
2026-08-15 10:45:56.429592: - For the next 48 hours there will be no solar generation.
2026-08-15 10:45:56.429723: - You will run out of battery in 20 minutes.
2026-08-15 10:45:56.429755: - Your next charge slot will be in 45 minutes where import rates will be cheap (15.5p).
2026-08-15 10:45:56.429900: 
2026-08-15 10:45:56.485240: Plan calculation took 50.09 seconds
2026-08-15 10:45:56.485541: Inverter 0: Type SK Sunsynk
2026-08-15 10:45:56.485587: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 10:45:56.485761: Reserve min: 7%, battery_min: 7%
2026-08-15 10:45:56.485828: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 10:45:56.486088: Inverter 0 SoC: 1.78kW 11%, current charge rate 5000W, current discharge rate 5250W, current battery power -4478W, current battery voltage 51.2V, grid power -5218W, load power 222W, PV Power 0W
2026-08-15 10:45:56.486338: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 10:45:56.486452: Inverter 0 scheduled charge enable is False
2026-08-15 10:45:56.486490: Inverter 0 charge windows currently []
2026-08-15 10:45:56.486518: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 10:45:56.486629: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 10:45:56.486665: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 10:45:56.486701: Inverter 0 scheduled discharge enable is False
2026-08-15 10:45:56.486831: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 10:45:56.486868: Inverter 0 discharge windows currently []
2026-08-15 10:45:56.486891: Note: Inverter does not support discharge freeze - disabled
2026-08-15 10:45:56.486909: Note: Inverter does not support charge freeze - disabled
2026-08-15 10:45:56.486930: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 10:45:56.577036: Inverter 0 Charge window will be: 2026-08-15 11:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 11%, target 100%
2026-08-15 10:45:56.577209: Inverter 0 disabled charge window while waiting for schedule (now 08-15 10:45:00 target set_window_minutes 30 charge start time 08-15 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 10:45:56.577290: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 10:45:56.577563: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 10:45:56.577679: No export window planned
2026-08-15 10:45:56.577873: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 10:45:56.577935: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 10:45:56.578149: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 10:45:56.578357: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 10:45:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 10:45:56.578441: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 10:45:56.578521: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 10:45:56.578632: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 10:45:56.578692: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 10:45:56.578734: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 10:45:56.578773: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 10:45:56.578810: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 10:45:56.578848: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 10:45:56.578886: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 10:45:56.578970: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 10:45:56.579024: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 10:45:56.579061: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 10:45:56.579201: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 10:45:56.579307: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 10:45:56.579442: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 10:45:56.579507: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 10:45:56.579595: Inverter 0 count register writes 0
2026-08-15 10:45:56.613047: Total inverter register writes now 815
2026-08-15 10:45:56.674321: Info: Completed run status Demand
2026-08-15 10:45:56.684510: Info: record_status Demand
2026-08-15 10:45:56.707806: Saved current settings to /config/predbat_config.json
2026-08-15 10:45:56.708032: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 10:46:13.735678: ML Predictor: Epoch 16/30: lr=0.00053 huber_loss=0.0069 val_mae=0.0036 kWh val_bias=-0.0006 kWh (-0.7%) combined=0.0021 kWh ema_combined=0.0027 kWh
2026-08-15 10:46:26.880819: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 10:46:26.881172: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 10:46:26.881240: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 10:46:26.881473: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 10:46:26.881533: Note: Inverter does not support discharge freeze - disabled
2026-08-15 10:46:26.881569: Note: Inverter does not support charge freeze - disabled
2026-08-15 10:46:26.881697: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 10:46:45.631600: ML Predictor: Epoch 17/30: lr=0.00048 huber_loss=0.0068 val_mae=0.0036 kWh val_bias=-0.0012 kWh (-1.4%) combined=0.0025 kWh ema_combined=0.0026 kWh
2026-08-15 10:47:19.560134: ML Predictor: Epoch 18/30: lr=0.00043 huber_loss=0.0064 val_mae=0.0032 kWh val_bias=-0.0005 kWh (-0.5%) combined=0.0019 kWh ema_combined=0.0024 kWh
2026-08-15 10:47:53.387632: ML Predictor: Epoch 19/30: lr=0.00038 huber_loss=0.0059 val_mae=0.0035 kWh val_bias=-0.0002 kWh (-0.2%) combined=0.0022 kWh ema_combined=0.0023 kWh
2026-08-15 10:48:25.677846: ML Predictor: Epoch 20/30: lr=0.00034 huber_loss=0.0056 val_mae=0.0033 kWh val_bias=-0.0003 kWh (-0.4%) combined=0.0017 kWh ema_combined=0.0022 kWh
2026-08-15 10:48:27.331971: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 10:48:27.332289: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 10:48:27.332340: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 10:48:27.332483: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 10:48:27.332542: Note: Inverter does not support discharge freeze - disabled
2026-08-15 10:48:27.332566: Note: Inverter does not support charge freeze - disabled
2026-08-15 10:48:27.332583: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 10:48:57.231634: ML Predictor: Epoch 21/30: lr=0.00030 huber_loss=0.0060 val_mae=0.0036 kWh val_bias=-0.0019 kWh (-2.2%) combined=0.0030 kWh ema_combined=0.0024 kWh
2026-08-15 10:49:28.935707: ML Predictor: Epoch 22/30: lr=0.00026 huber_loss=0.0059 val_mae=0.0029 kWh val_bias=-0.0004 kWh (-0.4%) combined=0.0017 kWh ema_combined=0.0022 kWh
2026-08-15 10:49:59.506460: ML Predictor: Epoch 23/30: lr=0.00022 huber_loss=0.0059 val_mae=0.0032 kWh val_bias=-0.0002 kWh (-0.2%) combined=0.0019 kWh ema_combined=0.0021 kWh
2026-08-15 10:50:00.786167: --------------- PredBat - update at 2026-08-15 10:50:00+01:00 with clock skew 0 minutes, minutes now 650
2026-08-15 10:50:00.787644: Saved current settings to /config/predbat_config.json
2026-08-15 10:50:00.787939: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 35.0 minutes
2026-08-15 10:50:00.788140: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.1, latest beta is v8.48.1
2026-08-15 10:50:00.788346: Autoupdate: Currently up to date
2026-08-15 10:50:00.851226: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 10:50:00.851612: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 10:50:00.852003: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 10:50:00.852974: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 10:50:00.853253: Predbat mode is set to Control charge & discharge
2026-08-15 10:50:01.294362: Found 21602 load_today datapoints going back 28 days
2026-08-15 10:50:01.294631: Using load_power data to fill gaps in load_today data
2026-08-15 10:50:02.743269: Processing 721 30-minute periods for power integration
2026-08-15 10:50:02.991180: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 10:50:02.991383: Car charging hold False, threshold 6.0kWh
2026-08-15 10:50:02.991450: Current data so far today: load 6.9kWh, import 8.4kWh, export 0.0kWh, PV 0kWh
2026-08-15 10:50:03.006885: Cars: SoC: [11.72]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 10:50:03.007420: Standing charge is set to 49.98p
2026-08-15 10:50:03.094637: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 10:50:03.094824: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 10:50:03.095078: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 10.0 minutes
2026-08-15 10:50:03.095589: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 10.0 minutes
2026-08-15 10:50:03.102366: Loaded 95 datapoints of futurerate analysis
2026-08-15 10:50:03.273803: Predicted future rates: ['08-15 00:00:00 => 28.9 / 20.01', '08-15 01:00:00 => 27.54 / 19.31', '08-15 02:00:00 => 26.52 / 18.8', '08-15 03:00:00 => 25.99 / 18.53', '08-15 04:00:00 => 25.8 / 18.43', '08-15 05:00:00 => 25.96 / 18.51', '08-15 06:00:00 => 25.55 / 18.3', '08-15 07:00:00 => 24.33 / 17.68', '08-15 08:00:00 => 23.03 / 17.01', '08-15 09:00:00 => 22.05 / 16.51', '08-15 10:00:00 => 20.43 / 15.68', '08-15 11:00:00 => 18.01 / 14.45', '08-15 12:00:00 => 16.37 / 13.61', '08-15 13:00:00 => 15.76 / 13.3', '08-15 14:00:00 => 15.35 / 13.09', '08-15 15:00:00 => 15.86 / 13.35', '08-15 16:00:00 => 32.89 / 16.13', '08-15 17:00:00 => 38.02 / 18.75', '08-15 18:00:00 => 42.36 / 20.96', '08-15 19:00:00 => 31.09 / 21.13', '08-15 20:00:00 => 31.64 / 21.41', '08-15 21:00:00 => 31.64 / 21.41', '08-15 22:00:00 => 30.58 / 20.87', '08-15 23:00:00 => 29.37 / 20.25', '08-16 00:00:00 => 28.83 / 19.97', '08-16 01:00:00 => 27.73 / 19.41', '08-16 02:00:00 => 26.76 / 18.92', '08-16 03:00:00 => 26.39 / 18.73', '08-16 04:00:00 => 26.33 / 18.7', '08-16 05:00:00 => 26.23 / 18.65', '08-16 06:00:00 => 25.99 / 18.53', '08-16 07:00:00 => 25.64 / 18.35', '08-16 08:00:00 => 24.84 / 17.94', '08-16 09:00:00 => 24.26 / 17.64']
2026-08-15 10:50:03.346121: Rate min forward looking: now 13.77p at end of forecast 21.29p
2026-08-15 10:50:03.346933: Import rates: min 13.77p, max 46.05p, average 27.56p
2026-08-15 10:50:03.394509: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 10:50:03.394721: Rate thresholds (for charge/export) are import 45.55p (0.0p), export -0.1p (0.0p)
2026-08-15 10:50:03.395988: High export rate found rates in range 99p to -99p
2026-08-15 10:50:03.502038: Low Import rate found rates in range 13.77p to 44.19p
2026-08-15 10:50:03.502190: Car 0 charging is not planned as it is not plugged in
2026-08-15 10:50:03.518681: Battery level now 1.46kWh, -1hr ago 1.66kWh, at midnight 1.66kWh, battery value change in the last hour -2.37p, change today -2.37p, rate_forward 11.83p
2026-08-15 10:50:03.519119: Last hour: net energy 0.55kWh, import 0.55kWh, export 0.0kWh, car 0kWh, load 0.35kWh, net cost 10.85p, import 10.85p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 10:50:03.634068: Today's energy total net 8.4kWh, import 8.4kWh, export 0.0kWh, cost 266.55p, import 216.57p, export 0.0p, carbon 0.0kg
2026-08-15 10:50:03.634406: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 10:50:03.780977: Using weighted-bucket historical load forecast over 14 days
2026-08-15 10:50:03.809244: Today's load divergence 105.22%, in-day adjustment 126.25%, damping 0.95x, yesterday 143.77% today 104.96% blend 54.86%
2026-08-15 10:50:03.809605: Today's predicted so far 6.06kWh with 0.0kWh car/iBoost excluded, 3.42kWh import ignored, and 6.06kWh forecast extra.
2026-08-15 10:50:03.809660: Today's actual load so far 6.91kWh with 0.0kWh car/iBoost excluded, and 3.42kWh import ignored.
2026-08-15 10:50:03.861871: Inverter 0: Type SK Sunsynk
2026-08-15 10:50:03.861967: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 10:50:03.862154: Reserve min: 7%, battery_min: 7%
2026-08-15 10:50:03.862227: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 10:50:03.862679: Inverter 0 SoC: 1.78kW 11%, current charge rate 5000W, current discharge rate 5250W, current battery power 298W, current battery voltage 51.2V, grid power -55W, load power 347W, PV Power 0W
2026-08-15 10:50:03.862977: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 10:50:03.863182: Inverter 0 scheduled charge enable is False
2026-08-15 10:50:03.863315: Inverter 0 charge windows currently []
2026-08-15 10:50:03.863445: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 10:50:03.863711: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 10:50:03.863763: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 10:50:03.863861: Inverter 0 scheduled discharge enable is False
2026-08-15 10:50:03.864080: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 10:50:03.864130: Inverter 0 discharge windows currently []
2026-08-15 10:50:03.864228: Note: Inverter does not support discharge freeze - disabled
2026-08-15 10:50:03.864349: Note: Inverter does not support charge freeze - disabled
2026-08-15 10:50:03.864458: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 10:50:03.967657: Dynamic load last period 0.00kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 10:50:03.967927: Plan was last updated on 2026-08-15 10:45:00+01:00 and is now 5.0 minutes old
2026-08-15 10:50:03.968421: Best charge window [ 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 14:00:00 @ 15.55p 100%, 15-08 14:00:00 - 15-08 16:00:00 @ 15.23p 98%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 10:00:00 @ 23.56p 100% ]
2026-08-15 10:50:03.968591: Best export window [  ]
2026-08-15 10:50:03.969459: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 10:50:03.972632: Load divergence over 8.0 hours mean 640.39W, min 283.2W, max 1692.6W, std dev 334.09W, divergence 26.08%
2026-08-15 10:50:03.994973: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 10:50:03.995236: LoadML is_calculating True
2026-08-15 10:50:03.995354: Not using thread pool as LoadML is calculating to avoid lockups
2026-08-15 10:50:04.037805: predict base end_record 08-16 11:35:00, final soc 1.12kWh, metric 802.26p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 11:25:00, load 25.82kWh, PV 0.0kWh
2026-08-15 10:50:04.344793: Battery has 0.58 hours left - now at 1.78kWh
2026-08-15 10:50:04.419267: predict base10 end_record 08-16 11:35:00, final soc 1.12kWh, metric 825.89p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 11:20:00, load 26.73kWh, PV 0.0kWh
2026-08-15 10:50:04.565132: predict best10 end_record 08-16 11:35:00, final soc 1.44kWh, metric 662.18p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 11:20:00, load 26.73kWh, PV 0.0kWh
2026-08-15 10:50:04.743756: predict best end_record 08-16 11:35:00, final soc 1.51kWh, metric 640.03p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 11:25:00, load 25.82kWh, PV 0.0kWh
2026-08-15 10:50:04.757000: Saving plan best values to HA entities
2026-08-15 10:50:05.161209: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 10:50:05.171354: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 10:50:05.192594: Best charging limit SoC's [16.0, 3.5, 4.0, 16.0, 15.75, 16.0, 16.0]kWh, export []kWh gives import battery 20.37kWh, house 0.45kWh, export 0.0kWh, metric 640.03p, metric10 662.18p
2026-08-15 10:50:05.314062: Marginal costs baseline metric (no standing charge): 590.0513
2026-08-15 10:50:05.831727: Marginal energy costs matrix computed: min=15.09 max=31.73
2026-08-15 10:50:06.010429: Rate array import [{'start': 650, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 17.7p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1950, 'rate': 'expensive', 'range': '(24.8p - 32.9p)'}, {'start': 1950, 'end': 2040, 'rate': 'cheap', 'range': '(24.2p - 24.3p)'}, {'start': 2040, 'end': 2130, 'rate': 'expensive', 'range': '(24.7p - 25.4p)'}, {'start': 2130, 'end': 2135, 'rate': 'cheap', 'range': '(24.0p)'}] export [{'start': 650, 'end': 2135, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 10:50:06.041736: - Your estimated bill for today is £5.69 and tomorrow is £6.95
2026-08-15 10:50:06.041845: - Import rates are cheap (13.8p - 17.7p) for the next 5 and a quarter hours and then expensive (33.1p) for the next 1 hour.
2026-08-15 10:50:06.041871: - The battery is currently at 11% and is in eco mode for the next 40 minutes.
2026-08-15 10:50:06.041890: - For the next 48 hours there will be no solar generation.
2026-08-15 10:50:06.041908: - You have enough battery to reach the next charge.
2026-08-15 10:50:06.041925: - Your next charge slot will be in 40 minutes where import rates will be cheap (15.5p).
2026-08-15 10:50:06.041942: 
2026-08-15 10:50:06.093178: Plan calculation took 2.13 seconds
2026-08-15 10:50:06.096575: No high rate period found
2026-08-15 10:50:06.195133: Import threshold used for optimisation was 24.8p
2026-08-15 10:50:06.288681: Low import rate windows [0: 08-15 10:30:00 - 08-15 11:00:00 @ 17.66, 1: 08-15 11:00:00 - 08-15 11:30:00 @ 16.56, 2: 08-15 11:30:00 - 08-15 12:00:00 @ 15.46, 3: 08-15 12:00:00 - 08-15 12:30:00 @ 17.0, 4: 08-15 12:30:00 - 08-15 13:00:00 @ 16.34, 5: 08-15 13:00:00 - 08-15 13:30:00 @ 15.36, 6: 08-15 13:30:00 - 08-15 14:00:00 @ 15.74, 7: 08-15 14:00:00 - 08-15 14:30:00 @ 14.57, 8: 08-15 14:30:00 - 08-15 15:00:00 @ 13.77, 9: 08-15 15:00:00 - 08-15 15:30:00 @ 15.02, 10: 08-15 15:30:00 - 08-15 16:00:00 @ 15.87, 11: 08-15 16:00:00 - 08-15 16:30:00 @ 33.13, 12: 08-15 16:30:00 - 08-15 17:00:00 @ 33.13, 13: 08-15 17:00:00 - 08-15 17:30:00 @ 38.46, 14: 08-15 17:30:00 - 08-15 18:00:00 @ 40.44, 15: 08-15 18:00:00 - 08-15 18:30:00 @ 41.55, 16: 08-15 18:30:00 - 08-15 19:00:00 @ 43.82, 17: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 18: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 19: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 20: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 21: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 22: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 23: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 24: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 25: 08-15 23:00:00 - 08-15 23:30:00 @ 29.37, 26: 08-15 23:30:00 - 08-16 00:00:00 @ 29.2, 27: 08-16 00:00:00 - 08-16 00:30:00 @ 28.83, 28: 08-16 00:30:00 - 08-16 01:00:00 @ 28.46, 29: 08-16 01:00:00 - 08-16 01:30:00 @ 27.73, 30: 08-16 01:30:00 - 08-16 02:00:00 @ 27.01, 31: 08-16 02:00:00 - 08-16 02:30:00 @ 26.76, 32: 08-16 02:30:00 - 08-16 03:00:00 @ 26.48, 33: 08-16 03:00:00 - 08-16 03:30:00 @ 26.39, 34: 08-16 03:30:00 - 08-16 04:00:00 @ 26.27, 35: 08-16 04:00:00 - 08-16 04:30:00 @ 26.33, 36: 08-16 04:30:00 - 08-16 05:00:00 @ 26.37, 37: 08-16 05:00:00 - 08-16 05:30:00 @ 26.23, 38: 08-16 05:30:00 - 08-16 06:00:00 @ 26.07, 39: 08-16 06:00:00 - 08-16 06:30:00 @ 25.99, 40: 08-16 06:30:00 - 08-16 07:00:00 @ 25.92, 41: 08-16 07:00:00 - 08-16 07:30:00 @ 25.64, 42: 08-16 07:30:00 - 08-16 08:00:00 @ 25.39, 43: 08-16 08:00:00 - 08-16 08:30:00 @ 24.84, 44: 08-16 08:30:00 - 08-16 09:00:00 @ 24.28, 45: 08-16 09:00:00 - 08-16 09:30:00 @ 24.26, 46: 08-16 09:30:00 - 08-16 10:00:00 @ 24.22, 47: 08-16 10:00:00 - 08-16 10:30:00 @ 24.8, 48: 08-16 10:30:00 - 08-16 11:00:00 @ 25.37, 49: 08-16 11:00:00 - 08-16 11:30:00 @ 24.71, 50: 08-16 11:30:00 - 08-16 12:00:00 @ 24.02, 51: 08-16 12:00:00 - 08-16 12:30:00 @ 23.79, 52: 08-16 12:30:00 - 08-16 13:00:00 @ 23.55, 53: 08-16 13:00:00 - 08-16 13:30:00 @ 23.14, 54: 08-16 13:30:00 - 08-16 14:00:00 @ 22.71, 55: 08-16 14:00:00 - 08-16 14:30:00 @ 22.01, 56: 08-16 14:30:00 - 08-16 15:00:00 @ 21.29, 57: 08-16 15:00:00 - 08-16 15:30:00 @ 22.01, 58: 08-16 15:30:00 - 08-16 16:00:00 @ 22.71, 59: 08-16 16:00:00 - 08-16 16:30:00 @ 37.14, 60: 08-16 16:30:00 - 08-16 17:00:00 @ 37.91, 61: 08-16 17:00:00 - 08-16 17:30:00 @ 40.13, 62: 08-16 17:30:00 - 08-16 18:00:00 @ 42.36, 63: 08-16 18:00:00 - 08-16 18:30:00 @ 44.19, 64: 08-16 19:00:00 - 08-16 19:30:00 @ 33.04, 65: 08-16 19:30:00 - 08-16 20:00:00 @ 33.71, 66: 08-16 20:00:00 - 08-16 20:30:00 @ 33.83, 67: 08-16 20:30:00 - 08-16 21:00:00 @ 33.94, 68: 08-16 21:00:00 - 08-16 21:30:00 @ 33.73, 69: 08-16 21:30:00 - 08-16 22:00:00 @ 33.53, 70: 08-16 22:00:00 - 08-16 22:30:00 @ 32.36, 71: 08-16 22:30:00 - 08-16 23:00:00 @ 31.17, 72: 08-16 23:00:00 - 08-16 23:30:00 @ 29.37, 73: 08-16 23:30:00 - 08-17 00:00:00 @ 29.2, 74: 08-17 00:00:00 - 08-17 00:30:00 @ 28.83, 75: 08-17 00:30:00 - 08-17 01:00:00 @ 28.46, 76: 08-17 01:00:00 - 08-17 01:30:00 @ 27.73, 77: 08-17 01:30:00 - 08-17 02:00:00 @ 27.01, 78: 08-17 02:00:00 - 08-17 02:30:00 @ 26.76, 79: 08-17 02:30:00 - 08-17 03:00:00 @ 26.48, 80: 08-17 03:00:00 - 08-17 03:30:00 @ 26.39, 81: 08-17 03:30:00 - 08-17 04:00:00 @ 26.27, 82: 08-17 04:00:00 - 08-17 04:30:00 @ 26.33, 83: 08-17 04:30:00 - 08-17 05:00:00 @ 26.37, 84: 08-17 05:00:00 - 08-17 05:30:00 @ 26.23, 85: 08-17 05:30:00 - 08-17 06:00:00 @ 26.07, 86: 08-17 06:00:00 - 08-17 06:30:00 @ 25.99, 87: 08-17 06:30:00 - 08-17 07:00:00 @ 25.92, 88: 08-17 07:00:00 - 08-17 07:30:00 @ 25.64, 89: 08-17 07:30:00 - 08-17 08:00:00 @ 25.39, 90: 08-17 08:00:00 - 08-17 08:30:00 @ 24.84, 91: 08-17 08:30:00 - 08-17 09:00:00 @ 24.28, 92: 08-17 09:00:00 - 08-17 09:30:00 @ 24.26, 93: 08-17 09:30:00 - 08-17 10:00:00 @ 24.22, 94: 08-17 10:00:00 - 08-17 10:30:00 @ 24.8, 95: 08-17 10:30:00 - 08-17 11:00:00 @ 25.37]
2026-08-15 10:50:06.309089: Inverter 0 Charge window will be: 2026-08-15 11:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 11%, target 100%
2026-08-15 10:50:06.309307: Inverter 0 disabled charge window while waiting for schedule (now 08-15 10:50:00 target set_window_minutes 30 charge start time 08-15 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 10:50:06.309429: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 10:50:06.309735: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 10:50:06.309852: No export window planned
2026-08-15 10:50:06.310024: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 10:50:06.310092: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 10:50:06.310281: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 10:50:06.310446: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 10:50:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 10:50:06.310500: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 10:50:06.310575: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 10:50:06.310665: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 10:50:06.310699: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 10:50:06.310726: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 10:50:06.310882: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 10:50:06.311022: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 10:50:06.311159: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 10:50:06.311354: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 10:50:06.311563: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 10:50:06.311711: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 10:50:06.311846: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 10:50:06.312043: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 10:50:06.312204: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 10:50:06.312382: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 10:50:06.312441: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 10:50:06.312514: Inverter 0 count register writes 0
2026-08-15 10:50:06.339255: Will not recompute the plan, it is 5.0 minutes old and max age is 10 minutes
2026-08-15 10:50:06.347097: Total inverter register writes now 815
2026-08-15 10:50:06.395661: Info: Completed run status Demand
2026-08-15 10:50:06.406486: Info: record_status Demand
2026-08-15 10:50:06.415718: Saved current settings to /config/predbat_config.json
2026-08-15 10:50:06.415980: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 10:50:34.710352: ML Predictor: Epoch 24/30: lr=0.00019 huber_loss=0.0057 val_mae=0.0033 kWh val_bias=-0.0016 kWh (-1.8%) combined=0.0024 kWh ema_combined=0.0022 kWh
2026-08-15 10:50:41.702282: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 10:50:41.703165: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 10:50:41.703329: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 10:50:41.703642: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 10:50:41.703705: Note: Inverter does not support discharge freeze - disabled
2026-08-15 10:50:41.703818: Note: Inverter does not support charge freeze - disabled
2026-08-15 10:50:41.703869: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 10:51:08.848263: ML Predictor: Epoch 25/30: lr=0.00016 huber_loss=0.0055 val_mae=0.0030 kWh val_bias=-0.0009 kWh (-1.1%) combined=0.0019 kWh ema_combined=0.0021 kWh
2026-08-15 10:51:42.910826: ML Predictor: Epoch 26/30: lr=0.00014 huber_loss=0.0055 val_mae=0.0029 kWh val_bias=-0.0002 kWh (-0.2%) combined=0.0016 kWh ema_combined=0.0019 kWh
2026-08-15 10:52:13.516212: ML Predictor: Epoch 27/30: lr=0.00012 huber_loss=0.0052 val_mae=0.0030 kWh val_bias=-0.0012 kWh (-1.4%) combined=0.0020 kWh ema_combined=0.0020 kWh
2026-08-15 10:52:42.249477: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 10:52:42.249994: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 10:52:42.250171: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 10:52:42.250479: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 10:52:42.250654: Note: Inverter does not support discharge freeze - disabled
2026-08-15 10:52:42.250779: Note: Inverter does not support charge freeze - disabled
2026-08-15 10:52:42.250912: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 10:52:47.655973: ML Predictor: Epoch 28/30: lr=0.00011 huber_loss=0.0052 val_mae=0.0026 kWh val_bias=+0.0002 kWh (+0.2%) combined=0.0016 kWh ema_combined=0.0019 kWh
2026-08-15 10:53:18.452047: ML Predictor: Epoch 29/30: lr=0.00010 huber_loss=0.0052 val_mae=0.0027 kWh val_bias=-0.0003 kWh (-0.3%) combined=0.0015 kWh ema_combined=0.0017 kWh
2026-08-15 10:53:50.280210: ML Predictor: Epoch 30/30: lr=0.00010 huber_loss=0.0051 val_mae=0.0027 kWh val_bias=-0.0009 kWh (-1.1%) combined=0.0018 kWh ema_combined=0.0018 kWh
2026-08-15 10:53:50.281450: ML Predictor: Restored best weights from epoch with val_mae=0.0027 kWh val_bias=-0.0003 kWh (-0.3%)
2026-08-15 10:53:50.281870: ML Predictor: Training complete, final val_mae=0.0027 kWh val_bias=-0.0003 kWh (-0.3%)
2026-08-15 10:53:59.396248: ML Predictor: AR rollout over holdout: ar_mae=0.0029 kWh ar_bias=-0.0002 kWh (-0.3%) [drift vs teacher-forced: +0.0002 kWh]
2026-08-15 10:53:59.406542: ML Predictor: Curriculum pass 4/5 complete, val_mae=0.0027 kWh
2026-08-15 10:53:59.406891: ML Predictor: Curriculum final pass 5/5: full dataset (56.9 days)
2026-08-15 10:53:59.407055: ML Predictor: Starting fine-tune training with 30 epochs
2026-08-15 10:54:00.142577: ML Predictor: Creating dataset with 1365 hours of training data, 48 hours validation
2026-08-15 10:54:05.401717: ML Predictor: Created 16093 training samples, 576 validation samples
2026-08-15 10:54:05.450799: ML Predictor: Normalization stats [ema-update alpha=0.1] target(mean=0.0587 std=0.0472) load(mean=0.0590 std=0.0474) pv(mean=0.0000 std=0.0100) temp(mean=19.5433 std=4.4428) import_rate(mean=25.5228 std=2.4847) export_rate(mean=0.0000 std=1.0000) time(mean=-0.1911 std=0.5243)
2026-08-15 10:54:05.529279: ML Predictor: Applied EMA normalization update (alpha=0.1) to track feature drift
2026-08-15 10:54:05.543842: ML Predictor: Reset Adam optimiser state for fine-tuning
2026-08-15 10:54:05.596161: ML Predictor: Baseline (pre-finetune) val_mae=0.0089 kWh val_bias=-0.0017 kWh
2026-08-15 10:54:38.402380: ML Predictor: Epoch 1/30: lr=0.00100 huber_loss=0.0111 val_mae=0.0082 kWh val_bias=-0.0020 kWh (-2.1%) combined=0.0045 kWh ema_combined=0.0045 kWh
2026-08-15 10:54:56.633356: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 10:54:56.633820: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 10:54:56.633881: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 10:54:56.634138: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 10:54:56.634192: Note: Inverter does not support discharge freeze - disabled
2026-08-15 10:54:56.634271: Note: Inverter does not support charge freeze - disabled
2026-08-15 10:54:56.634363: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 10:55:00.888464: --------------- PredBat - update at 2026-08-15 10:55:00+01:00 with clock skew 0 minutes, minutes now 655
2026-08-15 10:55:00.889615: Saved current settings to /config/predbat_config.json
2026-08-15 10:55:00.889796: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 40.0 minutes
2026-08-15 10:55:00.889884: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.1, latest beta is v8.48.1
2026-08-15 10:55:00.890007: Autoupdate: Currently up to date
2026-08-15 10:55:00.925631: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 10:55:00.926513: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 10:55:00.927125: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 10:55:00.931703: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 10:55:00.933753: Predbat mode is set to Control charge & discharge
2026-08-15 10:55:01.340823: Found 21602 load_today datapoints going back 28 days
2026-08-15 10:55:01.345880: Using load_power data to fill gaps in load_today data
2026-08-15 10:55:02.648849: Processing 721 30-minute periods for power integration
2026-08-15 10:55:03.007499: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 10:55:03.007746: Car charging hold False, threshold 6.0kWh
2026-08-15 10:55:03.008755: Current data so far today: load 6.9kWh, import 8.4kWh, export 0.0kWh, PV 0kWh
2026-08-15 10:55:03.026400: Cars: SoC: [11.72]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 10:55:03.027538: Standing charge is set to 49.98p
2026-08-15 10:55:03.083960: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 10:55:03.084111: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 10:55:03.084413: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 15.0 minutes
2026-08-15 10:55:03.085194: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 15.0 minutes
2026-08-15 10:55:03.097219: Loaded 95 datapoints of futurerate analysis
2026-08-15 10:55:03.263992: Predicted future rates: ['08-15 00:00:00 => 28.9 / 20.01', '08-15 01:00:00 => 27.54 / 19.31', '08-15 02:00:00 => 26.52 / 18.8', '08-15 03:00:00 => 25.99 / 18.53', '08-15 04:00:00 => 25.8 / 18.43', '08-15 05:00:00 => 25.96 / 18.51', '08-15 06:00:00 => 25.55 / 18.3', '08-15 07:00:00 => 24.33 / 17.68', '08-15 08:00:00 => 23.03 / 17.01', '08-15 09:00:00 => 22.05 / 16.51', '08-15 10:00:00 => 20.43 / 15.68', '08-15 11:00:00 => 18.01 / 14.45', '08-15 12:00:00 => 16.37 / 13.61', '08-15 13:00:00 => 15.76 / 13.3', '08-15 14:00:00 => 15.35 / 13.09', '08-15 15:00:00 => 15.86 / 13.35', '08-15 16:00:00 => 32.89 / 16.13', '08-15 17:00:00 => 38.02 / 18.75', '08-15 18:00:00 => 42.36 / 20.96', '08-15 19:00:00 => 31.09 / 21.13', '08-15 20:00:00 => 31.64 / 21.41', '08-15 21:00:00 => 31.64 / 21.41', '08-15 22:00:00 => 30.58 / 20.87', '08-15 23:00:00 => 29.37 / 20.25', '08-16 00:00:00 => 28.83 / 19.97', '08-16 01:00:00 => 27.73 / 19.41', '08-16 02:00:00 => 26.76 / 18.92', '08-16 03:00:00 => 26.39 / 18.73', '08-16 04:00:00 => 26.33 / 18.7', '08-16 05:00:00 => 26.23 / 18.65', '08-16 06:00:00 => 25.99 / 18.53', '08-16 07:00:00 => 25.64 / 18.35', '08-16 08:00:00 => 24.84 / 17.94', '08-16 09:00:00 => 24.26 / 17.64']
2026-08-15 10:55:03.399113: Rate min forward looking: now 13.77p at end of forecast 21.29p
2026-08-15 10:55:03.410341: Import rates: min 13.77p, max 46.05p, average 27.57p
2026-08-15 10:55:03.480304: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 10:55:03.480772: Rate thresholds (for charge/export) are import 45.55p (0.0p), export -0.1p (0.0p)
2026-08-15 10:55:03.482297: High export rate found rates in range 99p to -99p
2026-08-15 10:55:03.576442: Low Import rate found rates in range 13.77p to 44.19p
2026-08-15 10:55:03.576570: Car 0 charging is not planned as it is not plugged in
2026-08-15 10:55:03.598151: Battery level now 1.78kWh, -1hr ago 1.6kWh, at midnight 1.66kWh, battery value change in the last hour 2.08p, change today 1.42p, rate_forward 11.83p
2026-08-15 10:55:03.598762: Last hour: net energy 0.5kWh, import 0.5kWh, export 0.0kWh, car 0kWh, load 0.3kWh, net cost 9.67p, import 9.67p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 10:55:03.693931: Today's energy total net 8.4kWh, import 8.4kWh, export 0.0kWh, cost 266.55p, import 216.57p, export 0.0p, carbon 0.0kg
2026-08-15 10:55:03.694135: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 10:55:03.894752: Using weighted-bucket historical load forecast over 14 days
2026-08-15 10:55:03.966392: Today's load divergence 104.77%, in-day adjustment 125.92%, damping 0.95x, yesterday 143.77% today 104.53% blend 54.51%
2026-08-15 10:55:03.966716: Today's predicted so far 6.1kWh with 0.0kWh car/iBoost excluded, 3.4kWh import ignored, and 6.1kWh forecast extra.
2026-08-15 10:55:03.966879: Today's actual load so far 6.88kWh with 0.0kWh car/iBoost excluded, and 3.4kWh import ignored.
2026-08-15 10:55:04.022260: Inverter 0: Type SK Sunsynk
2026-08-15 10:55:04.022535: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 10:55:04.023928: Reserve min: 7%, battery_min: 7%
2026-08-15 10:55:04.024203: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 10:55:04.024725: Inverter 0 SoC: 2.06kW 13%, current charge rate 5000W, current discharge rate 5250W, current battery power 277W, current battery voltage 51.2V, grid power -54W, load power 331W, PV Power 0W
2026-08-15 10:55:04.025102: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 10:55:04.025590: Inverter 0 scheduled charge enable is False
2026-08-15 10:55:04.025771: Inverter 0 charge windows currently []
2026-08-15 10:55:04.025954: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 10:55:04.026295: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 10:55:04.026453: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 10:55:04.026688: Inverter 0 scheduled discharge enable is False
2026-08-15 10:55:04.027032: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 10:55:04.027187: Inverter 0 discharge windows currently []
2026-08-15 10:55:04.027403: Note: Inverter does not support discharge freeze - disabled
2026-08-15 10:55:04.027583: Note: Inverter does not support charge freeze - disabled
2026-08-15 10:55:04.027778: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 10:55:04.138488: Dynamic load last period 0.00kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 10:55:04.138870: Plan was last updated on 2026-08-15 10:45:00+01:00 and is now 10.0 minutes old
2026-08-15 10:55:04.139469: Best charge window [ 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 100%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 14:00:00 @ 15.55p 100%, 15-08 14:00:00 - 15-08 16:00:00 @ 15.23p 98%, 16-08 11:30:00 - 16-08 18:30:00 @ 39.27p 100%, 16-08 19:00:00 - 17-08 10:00:00 @ 23.56p 100% ]
2026-08-15 10:55:04.139694: Best export window [  ]
2026-08-15 10:55:04.141170: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 10:55:04.146096: Load divergence over 8.0 hours mean 640.59W, min 287.4W, max 1838.4W, std dev 339.12W, divergence 26.47%
2026-08-15 10:55:04.176555: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 10:55:04.176991: LoadML is_calculating True
2026-08-15 10:55:04.177240: Not using thread pool as LoadML is calculating to avoid lockups
2026-08-15 10:55:04.230717: predict base end_record 08-16 11:40:00, final soc 1.12kWh, metric 798.91p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 11:35:00, load 25.83kWh, PV 0.0kWh
2026-08-15 10:55:04.555310: Battery has 0.67 hours left - now at 2.06kWh
2026-08-15 10:55:04.696135: predict base10 end_record 08-16 11:40:00, final soc 1.12kWh, metric 822.55p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 11:35:00, load 26.74kWh, PV 0.0kWh
2026-08-15 10:55:04.937172: predict best10 end_record 08-16 11:40:00, final soc 1.77kWh, metric 666.34p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 10:05:00, load 26.74kWh, PV 0.0kWh
2026-08-15 10:55:05.156003: predict best end_record 08-16 11:40:00, final soc 1.9kWh, metric 645.88p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 11:05:00, load 25.83kWh, PV 0.0kWh
2026-08-15 10:55:05.156591: Saving plan best values to HA entities
2026-08-15 10:55:05.544720: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 10:55:05.560928: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0.0
2026-08-15 10:55:05.568416: Best charging limit SoC's [16.0, 3.5, 4.0, 16.0, 15.75, 16.0, 16.0]kWh, export []kWh gives import battery 20.58kWh, house 0.35kWh, export 0.0kWh, metric 645.88p, metric10 666.34p
2026-08-15 10:55:05.729478: Marginal costs baseline metric (no standing charge): 595.8964
2026-08-15 10:55:06.175116: Marginal energy costs matrix computed: min=15.27 max=32.03
2026-08-15 10:55:06.386505: Rate array import [{'start': 655, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 17.7p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1950, 'rate': 'expensive', 'range': '(24.8p - 32.9p)'}, {'start': 1950, 'end': 2040, 'rate': 'cheap', 'range': '(24.2p - 24.3p)'}, {'start': 2040, 'end': 2130, 'rate': 'expensive', 'range': '(24.7p - 25.4p)'}, {'start': 2130, 'end': 2140, 'rate': 'cheap', 'range': '(24.0p)'}] export [{'start': 655, 'end': 2140, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 10:55:06.405626: - Your estimated bill for today is £5.62 and tomorrow is £6.96
2026-08-15 10:55:06.405784: - Import rates are cheap (13.8p - 17.7p) for the next 5 hours and then expensive (33.1p) for the next 1 hour.
2026-08-15 10:55:06.405861: - The battery is currently at 13% and is in eco mode for the next 35 minutes.
2026-08-15 10:55:06.405895: - For the next 48 hours there will be no solar generation.
2026-08-15 10:55:06.405941: - You will run out of battery in 24 hours.
2026-08-15 10:55:06.405971: - Your next charge slot will be in 35 minutes where import rates will be cheap (15.5p).
2026-08-15 10:55:06.405987: 
2026-08-15 10:55:06.440768: Plan calculation took 2.30 seconds
2026-08-15 10:55:06.443481: No high rate period found
2026-08-15 10:55:06.527088: Import threshold used for optimisation was 24.8p
2026-08-15 10:55:06.612814: Low import rate windows [0: 08-15 10:30:00 - 08-15 11:00:00 @ 17.66, 1: 08-15 11:00:00 - 08-15 11:30:00 @ 16.56, 2: 08-15 11:30:00 - 08-15 12:00:00 @ 15.46, 3: 08-15 12:00:00 - 08-15 12:30:00 @ 17.0, 4: 08-15 12:30:00 - 08-15 13:00:00 @ 16.34, 5: 08-15 13:00:00 - 08-15 13:30:00 @ 15.36, 6: 08-15 13:30:00 - 08-15 14:00:00 @ 15.74, 7: 08-15 14:00:00 - 08-15 14:30:00 @ 14.57, 8: 08-15 14:30:00 - 08-15 15:00:00 @ 13.77, 9: 08-15 15:00:00 - 08-15 15:30:00 @ 15.02, 10: 08-15 15:30:00 - 08-15 16:00:00 @ 15.87, 11: 08-15 16:00:00 - 08-15 16:30:00 @ 33.13, 12: 08-15 16:30:00 - 08-15 17:00:00 @ 33.13, 13: 08-15 17:00:00 - 08-15 17:30:00 @ 38.46, 14: 08-15 17:30:00 - 08-15 18:00:00 @ 40.44, 15: 08-15 18:00:00 - 08-15 18:30:00 @ 41.55, 16: 08-15 18:30:00 - 08-15 19:00:00 @ 43.82, 17: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 18: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 19: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 20: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 21: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 22: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 23: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 24: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 25: 08-15 23:00:00 - 08-15 23:30:00 @ 29.37, 26: 08-15 23:30:00 - 08-16 00:00:00 @ 29.2, 27: 08-16 00:00:00 - 08-16 00:30:00 @ 28.83, 28: 08-16 00:30:00 - 08-16 01:00:00 @ 28.46, 29: 08-16 01:00:00 - 08-16 01:30:00 @ 27.73, 30: 08-16 01:30:00 - 08-16 02:00:00 @ 27.01, 31: 08-16 02:00:00 - 08-16 02:30:00 @ 26.76, 32: 08-16 02:30:00 - 08-16 03:00:00 @ 26.48, 33: 08-16 03:00:00 - 08-16 03:30:00 @ 26.39, 34: 08-16 03:30:00 - 08-16 04:00:00 @ 26.27, 35: 08-16 04:00:00 - 08-16 04:30:00 @ 26.33, 36: 08-16 04:30:00 - 08-16 05:00:00 @ 26.37, 37: 08-16 05:00:00 - 08-16 05:30:00 @ 26.23, 38: 08-16 05:30:00 - 08-16 06:00:00 @ 26.07, 39: 08-16 06:00:00 - 08-16 06:30:00 @ 25.99, 40: 08-16 06:30:00 - 08-16 07:00:00 @ 25.92, 41: 08-16 07:00:00 - 08-16 07:30:00 @ 25.64, 42: 08-16 07:30:00 - 08-16 08:00:00 @ 25.39, 43: 08-16 08:00:00 - 08-16 08:30:00 @ 24.84, 44: 08-16 08:30:00 - 08-16 09:00:00 @ 24.28, 45: 08-16 09:00:00 - 08-16 09:30:00 @ 24.26, 46: 08-16 09:30:00 - 08-16 10:00:00 @ 24.22, 47: 08-16 10:00:00 - 08-16 10:30:00 @ 24.8, 48: 08-16 10:30:00 - 08-16 11:00:00 @ 25.37, 49: 08-16 11:00:00 - 08-16 11:30:00 @ 24.71, 50: 08-16 11:30:00 - 08-16 12:00:00 @ 24.02, 51: 08-16 12:00:00 - 08-16 12:30:00 @ 23.79, 52: 08-16 12:30:00 - 08-16 13:00:00 @ 23.55, 53: 08-16 13:00:00 - 08-16 13:30:00 @ 23.14, 54: 08-16 13:30:00 - 08-16 14:00:00 @ 22.71, 55: 08-16 14:00:00 - 08-16 14:30:00 @ 22.01, 56: 08-16 14:30:00 - 08-16 15:00:00 @ 21.29, 57: 08-16 15:00:00 - 08-16 15:30:00 @ 22.01, 58: 08-16 15:30:00 - 08-16 16:00:00 @ 22.71, 59: 08-16 16:00:00 - 08-16 16:30:00 @ 37.14, 60: 08-16 16:30:00 - 08-16 17:00:00 @ 37.91, 61: 08-16 17:00:00 - 08-16 17:30:00 @ 40.13, 62: 08-16 17:30:00 - 08-16 18:00:00 @ 42.36, 63: 08-16 18:00:00 - 08-16 18:30:00 @ 44.19, 64: 08-16 19:00:00 - 08-16 19:30:00 @ 33.04, 65: 08-16 19:30:00 - 08-16 20:00:00 @ 33.71, 66: 08-16 20:00:00 - 08-16 20:30:00 @ 33.83, 67: 08-16 20:30:00 - 08-16 21:00:00 @ 33.94, 68: 08-16 21:00:00 - 08-16 21:30:00 @ 33.73, 69: 08-16 21:30:00 - 08-16 22:00:00 @ 33.53, 70: 08-16 22:00:00 - 08-16 22:30:00 @ 32.36, 71: 08-16 22:30:00 - 08-16 23:00:00 @ 31.17, 72: 08-16 23:00:00 - 08-16 23:30:00 @ 29.37, 73: 08-16 23:30:00 - 08-17 00:00:00 @ 29.2, 74: 08-17 00:00:00 - 08-17 00:30:00 @ 28.83, 75: 08-17 00:30:00 - 08-17 01:00:00 @ 28.46, 76: 08-17 01:00:00 - 08-17 01:30:00 @ 27.73, 77: 08-17 01:30:00 - 08-17 02:00:00 @ 27.01, 78: 08-17 02:00:00 - 08-17 02:30:00 @ 26.76, 79: 08-17 02:30:00 - 08-17 03:00:00 @ 26.48, 80: 08-17 03:00:00 - 08-17 03:30:00 @ 26.39, 81: 08-17 03:30:00 - 08-17 04:00:00 @ 26.27, 82: 08-17 04:00:00 - 08-17 04:30:00 @ 26.33, 83: 08-17 04:30:00 - 08-17 05:00:00 @ 26.37, 84: 08-17 05:00:00 - 08-17 05:30:00 @ 26.23, 85: 08-17 05:30:00 - 08-17 06:00:00 @ 26.07, 86: 08-17 06:00:00 - 08-17 06:30:00 @ 25.99, 87: 08-17 06:30:00 - 08-17 07:00:00 @ 25.92, 88: 08-17 07:00:00 - 08-17 07:30:00 @ 25.64, 89: 08-17 07:30:00 - 08-17 08:00:00 @ 25.39, 90: 08-17 08:00:00 - 08-17 08:30:00 @ 24.84, 91: 08-17 08:30:00 - 08-17 09:00:00 @ 24.28, 92: 08-17 09:00:00 - 08-17 09:30:00 @ 24.26, 93: 08-17 09:30:00 - 08-17 10:00:00 @ 24.22, 94: 08-17 10:00:00 - 08-17 10:30:00 @ 24.8, 95: 08-17 10:30:00 - 08-17 11:00:00 @ 25.37]
2026-08-15 10:55:06.620254: Inverter 0 Charge window will be: 2026-08-15 11:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 13%, target 100%
2026-08-15 10:55:06.620549: Inverter 0 disabled charge window while waiting for schedule (now 08-15 10:55:00 target set_window_minutes 30 charge start time 08-15 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 10:55:06.620747: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 10:55:06.621082: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 10:55:06.621270: No export window planned
2026-08-15 10:55:06.621494: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 10:55:06.621604: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 10:55:06.621891: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-15 10:55:06.622146: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 10:55:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 10:55:06.622269: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 10:55:06.622421: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 10:55:06.622628: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 10:55:06.622777: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 10:55:06.622896: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 10:55:06.623000: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 10:55:06.623113: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 10:55:06.623216: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 10:55:06.623329: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 10:55:06.623497: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 10:55:06.623609: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 10:55:06.623734: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 10:55:06.623839: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 10:55:06.623950: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 10:55:06.624052: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 10:55:06.624162: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 10:55:06.624257: Inverter 0 count register writes 0
2026-08-15 10:55:06.650531: Will recompute the plan as it is now 10.0 minutes old and will exceed the max age of 10 minutes before the next run
2026-08-15 10:55:06.650887: Recompute is saving previous plan...
2026-08-15 10:55:06.653555: Best charge window [ 15-08 10:30:00 - 15-08 11:00:00 @ 17.66p 0%, 15-08 11:00:00 - 15-08 11:30:00 @ 16.56p 0%, 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 0%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 0%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 0%, 15-08 13:00:00 - 15-08 13:30:00 @ 15.36p 0%, 15-08 13:30:00 - 15-08 14:00:00 @ 15.74p 0%, 15-08 14:00:00 - 15-08 14:30:00 @ 14.57p 0%, 15-08 14:30:00 - 15-08 15:00:00 @ 13.77p 0%, 15-08 15:00:00 - 15-08 15:30:00 @ 15.02p 0%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 0%, 15-08 16:00:00 - 15-08 16:30:00 @ 33.13p 0%, 15-08 16:30:00 - 15-08 17:00:00 @ 33.13p 0%, 15-08 17:00:00 - 15-08 17:30:00 @ 38.46p 0%, 15-08 17:30:00 - 15-08 18:00:00 @ 40.44p 0%, 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 0%, 15-08 18:30:00 - 15-08 19:00:00 @ 43.82p 0%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 0%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 0%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 0%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 0%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 29.37p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 29.2p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.83p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 28.46p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 27.73p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 27.01p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 26.76p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 26.48p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.39p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 26.27p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.33p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.37p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 26.23p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.07p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.99p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 25.92p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 25.64p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 25.39p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.84p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.28p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.26p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.22p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 24.8p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 25.37p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 24.71p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 24.02p 0%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.79p 0%, 16-08 12:30:00 - 16-08 13:00:00 @ 23.55p 0%, 16-08 13:00:00 - 16-08 13:30:00 @ 23.14p 0%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.71p 0%, 16-08 14:00:00 - 16-08 14:30:00 @ 22.01p 0%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.29p 0%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.01p 0%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.71p 0%, 16-08 16:00:00 - 16-08 16:30:00 @ 37.14p 0%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.91p 0%, 16-08 17:00:00 - 16-08 17:30:00 @ 40.13p 0%, 16-08 17:30:00 - 16-08 18:00:00 @ 42.36p 0%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.19p 0%, 16-08 19:00:00 - 16-08 19:30:00 @ 33.04p 0%, 16-08 19:30:00 - 16-08 20:00:00 @ 33.71p 0%, 16-08 20:00:00 - 16-08 20:30:00 @ 33.83p 0%, 16-08 20:30:00 - 16-08 21:00:00 @ 33.94p 0%, 16-08 21:00:00 - 16-08 21:30:00 @ 33.73p 0%, 16-08 21:30:00 - 16-08 22:00:00 @ 33.53p 0%, 16-08 22:00:00 - 16-08 22:30:00 @ 32.36p 0%, 16-08 22:30:00 - 16-08 23:00:00 @ 31.17p 0%, 16-08 23:00:00 - 16-08 23:30:00 @ 29.37p 0%, 16-08 23:30:00 - 17-08 00:00:00 @ 29.2p 0%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.83p 0%, 17-08 00:30:00 - 17-08 01:00:00 @ 28.46p 0%, 17-08 01:00:00 - 17-08 01:30:00 @ 27.73p 0%, 17-08 01:30:00 - 17-08 02:00:00 @ 27.01p 0%, 17-08 02:00:00 - 17-08 02:30:00 @ 26.76p 0%, 17-08 02:30:00 - 17-08 03:00:00 @ 26.48p 0%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.39p 0%, 17-08 03:30:00 - 17-08 04:00:00 @ 26.27p 0%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.33p 0%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.37p 0%, 17-08 05:00:00 - 17-08 05:30:00 @ 26.23p 0%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.07p 0%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.99p 0%, 17-08 06:30:00 - 17-08 07:00:00 @ 25.92p 0%, 17-08 07:00:00 - 17-08 07:30:00 @ 25.64p 0%, 17-08 07:30:00 - 17-08 08:00:00 @ 25.39p 0%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.84p 0%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.28p 0%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.26p 0%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.22p 0%, 17-08 10:00:00 - 17-08 10:30:00 @ 24.8p 0%, 17-08 10:30:00 - 17-08 11:00:00 @ 25.37p 0% ]
2026-08-15 10:55:06.653724: Best export window [  ]
2026-08-15 10:55:06.654518: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 10:55:06.657226: Load divergence over 8.0 hours mean 640.59W, min 287.4W, max 1838.4W, std dev 339.12W, divergence 26.47%
2026-08-15 10:55:06.686000: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 10:55:06.686120: LoadML is_calculating True
2026-08-15 10:55:06.686147: Not using thread pool as LoadML is calculating to avoid lockups
2026-08-15 10:55:06.708559: Calculate Best options: mode(Control charge & discharge), calculate_export_oncharge(False), calculate_export_on_pv(True), set_export_freeze_only(False), set_discharge_during_charge(True), combine_charge_slots(False), combine_export_slots(False), combine_rate_threshold(0.0), best_soc_min(0.0 kWh), best_soc_max(0.0 kWh), best_soc_keep(0.0 kWh), inverter_loss(4%), battery_loss(3%), battery_loss_discharge (3%), inverter_hybrid(True), metric_min_improvement(0.0p), metric_min_improvement_export(0.1p), metric_min_improvement_export_freeze(0.1p), metric_battery_cycle(0.0p/kWh), metric_battery_value_scaling(1.0 x) 
2026-08-15 10:55:06.709817: Optimise levels pass started at 2026-08-15 10:55:06
2026-08-15 10:55:06.709876: Optimise all windows, total charge 95 export 1
2026-08-15 10:55:12.072273: >> Region optimisation pass width 960 gives best_metric 938.69p, best_cost 953.18p, best_cycle 54.58kWh, best_import 36.96kWh
2026-08-15 10:55:14.920682: >> Region optimisation pass width 480 gives best_metric 938.01p, best_cost 952.26p, best_cycle 49.92kWh, best_import 36.63kWh
2026-08-15 10:55:16.095220: >> Region optimisation pass width 240 gives best_metric 938.01p, best_cost 952.26p, best_cycle 49.92kWh, best_import 36.63kWh
2026-08-15 10:55:18.509254: ML Predictor: Epoch 2/30: lr=0.00100 huber_loss=0.0149 val_mae=0.0089 kWh val_bias=-0.0009 kWh (-1.0%) combined=0.0054 kWh ema_combined=0.0048 kWh
2026-08-15 10:55:19.576987: >> Region optimisation pass width 120 gives best_metric 938.01p, best_cost 952.26p, best_cycle 49.92kWh, best_import 36.63kWh
2026-08-15 10:55:19.577585: Calculated end_record as 08-16 11:30:00 based on best_price 22.71p, next_charge_start 08-15 11:30:00, max_windows 50
2026-08-15 10:55:19.577801: Optimise levels pass ended at 2026-08-15 10:55:19, duration 12.9 seconds tried 315 combinations
2026-08-15 10:55:19.577949: Set best_price_charge_level 24.4p, best_price_export_level 0p, best_price_charge 22.71p, best_cost_export 0p, best_metric 938.01p, best_keep 0kWh, best_cycle 49.92kWh, best_carbon 0kg, best_import 36.63kWh
2026-08-15 10:55:19.598365: Starting detailed optimisation end_record 08-16 11:30:00, best_price_charge 22.71p, best_price_export 0p. lowest_price_charge 13.77p with charge limits [0, 0, 16.0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0]kWh and export limits []kWh
2026-08-15 10:55:47.474945: Tweak plan optimisation started metric 552.22p, cost 569.12p
2026-08-15 10:55:48.173640: Tweak optimisation finished metric 552.22p, cost 569.12p, metric_keep 0kWh, cycle 28.8kWh, carbon 0kg, import 19.85kWh, changed 8 window(s)
2026-08-15 10:55:48.192856: Swap charge optimisation started metric 552.22p, cost 569.12p, min_improvement_swap 0.1p
2026-08-15 10:55:58.144422: Swap charge optimisation finished metric 552.22p, cost 569.12p
2026-08-15 10:55:58.394809: Pruned 3 dead plan slot(s) in 15 trial(s), nominal metric 548.63p -> 548.63p, plan now metric 552.47p, cost 569.12p, cycle 28.8kWh, import 19.85kWh
2026-08-15 10:55:58.418440: Raw charge windows [ 15-08 10:30:00 - 15-08 11:00:00 @ 17.66p 13%, 15-08 11:00:00 - 15-08 11:30:00 @ 16.56p 13%, 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 22%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 13:30:00 @ 15.36p 100%, 15-08 13:30:00 - 15-08 14:00:00 @ 15.74p 100%, 15-08 14:00:00 - 15-08 14:30:00 @ 14.57p 100%, 15-08 14:30:00 - 15-08 15:00:00 @ 13.77p 100%, 15-08 15:00:00 - 15-08 15:30:00 @ 15.02p 100%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 100%, 15-08 16:00:00 - 15-08 16:30:00 @ 33.13p 0%, 15-08 16:30:00 - 15-08 17:00:00 @ 33.13p 0%, 15-08 17:00:00 - 15-08 17:30:00 @ 38.46p 0%, 15-08 17:30:00 - 15-08 18:00:00 @ 40.44p 0%, 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 0%, 15-08 18:30:00 - 15-08 19:00:00 @ 43.82p 0%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 0%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 0%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 0%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 0%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 29.37p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 29.2p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.83p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 28.46p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 27.73p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 27.01p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 26.76p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 26.48p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.39p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 26.27p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.33p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.37p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 26.23p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.07p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.99p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 25.92p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 25.64p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 25.39p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.84p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.28p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.26p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.22p 13%, 16-08 10:00:00 - 16-08 10:30:00 @ 24.8p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 25.37p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 24.71p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 24.02p 100%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.79p 100%, 16-08 12:30:00 - 16-08 13:00:00 @ 23.55p 100%, 16-08 13:00:00 - 16-08 13:30:00 @ 23.14p 100%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.71p 100%, 16-08 14:00:00 - 16-08 14:30:00 @ 22.01p 100%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.29p 100%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.01p 100%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.71p 100%, 16-08 16:00:00 - 16-08 16:30:00 @ 37.14p 100%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.91p 100%, 16-08 17:00:00 - 16-08 17:30:00 @ 40.13p 100%, 16-08 17:30:00 - 16-08 18:00:00 @ 42.36p 100%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.19p 100%, 16-08 19:00:00 - 16-08 19:30:00 @ 33.04p 100%, 16-08 19:30:00 - 16-08 20:00:00 @ 33.71p 100%, 16-08 20:00:00 - 16-08 20:30:00 @ 33.83p 100%, 16-08 20:30:00 - 16-08 21:00:00 @ 33.94p 100%, 16-08 21:00:00 - 16-08 21:30:00 @ 33.73p 100%, 16-08 21:30:00 - 16-08 22:00:00 @ 33.53p 100%, 16-08 22:00:00 - 16-08 22:30:00 @ 32.36p 100%, 16-08 22:30:00 - 16-08 23:00:00 @ 31.17p 100%, 16-08 23:00:00 - 16-08 23:30:00 @ 29.37p 100%, 16-08 23:30:00 - 17-08 00:00:00 @ 29.2p 100%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.83p 100%, 17-08 00:30:00 - 17-08 01:00:00 @ 28.46p 100%, 17-08 01:00:00 - 17-08 01:30:00 @ 27.73p 100%, 17-08 01:30:00 - 17-08 02:00:00 @ 27.01p 100%, 17-08 02:00:00 - 17-08 02:30:00 @ 26.76p 100%, 17-08 02:30:00 - 17-08 03:00:00 @ 26.48p 100%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.39p 100%, 17-08 03:30:00 - 17-08 04:00:00 @ 26.27p 100%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.33p 100%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.37p 100%, 17-08 05:00:00 - 17-08 05:30:00 @ 26.23p 100%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.07p 100%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.99p 100%, 17-08 06:30:00 - 17-08 07:00:00 @ 25.92p 100%, 17-08 07:00:00 - 17-08 07:30:00 @ 25.64p 100%, 17-08 07:30:00 - 17-08 08:00:00 @ 25.39p 100%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.84p 100%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.28p 100%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.26p 100%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.22p 100%, 17-08 10:00:00 - 17-08 10:30:00 @ 24.8p 100%, 17-08 10:30:00 - 17-08 11:00:00 @ 25.37p 100% ] reserve 1.12
2026-08-15 10:55:58.438357: Unclipped charge windows [ 15-08 10:30:00 - 15-08 11:30:00 @ 17.11p 13%, 15-08 11:30:00 - 15-08 12:30:00 @ 16.23p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.22p 13%, 16-08 11:30:00 - 16-08 18:30:00 @ 41.93p 100%, 16-08 19:00:00 - 17-08 11:00:00 @ 24.98p 100% ] reserve 1.12
2026-08-15 10:55:58.438909: Unfiltered charge windows [ 15-08 10:30:00 - 15-08 11:30:00 @ 17.11p 13%, 15-08 11:30:00 - 15-08 12:30:00 @ 16.23p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.22p 13%, 16-08 11:30:00 - 16-08 18:30:00 @ 41.93p 100%, 16-08 19:00:00 - 17-08 11:00:00 @ 24.98p 100% ] reserve 1.12
2026-08-15 10:55:58.439366: Filtered charge windows [ 15-08 10:30:00 - 15-08 11:30:00 @ 17.11p 13%, 15-08 11:30:00 - 15-08 12:30:00 @ 16.23p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.22p 13%, 16-08 11:30:00 - 16-08 18:30:00 @ 41.93p 100%, 16-08 19:00:00 - 17-08 11:00:00 @ 24.98p 100% ] reserve 1.12
2026-08-15 10:55:58.517602: Previous plan best metric is 554.23 (cost 571.18) and new plan best metric is 552.22 (cost 569.12)
2026-08-15 10:55:58.517936: New plan metric is significantly better from previous plan, using new plan
2026-08-15 10:55:58.517976: Plan valid is now true after recompute was False
2026-08-15 10:55:58.614038: predict base end_record 08-16 11:30:00, final soc 1.12kWh, metric 794.21p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 11:35:00, load 25.64kWh, PV 0.0kWh
2026-08-15 10:55:58.955797: Battery has 0.67 hours left - now at 2.06kWh
2026-08-15 10:55:59.097601: predict base10 end_record 08-16 11:30:00, final soc 1.12kWh, metric 817.62p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 11:35:00, load 26.53kWh, PV 0.0kWh
2026-08-15 10:55:59.261382: predict best10 end_record 08-16 11:30:00, final soc 1.12kWh, metric 644.67p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 11:05:00, load 26.53kWh, PV 0.0kWh
2026-08-15 10:55:59.460253: predict best end_record 08-16 11:30:00, final soc 1.12kWh, metric 619.1p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 11:25:00, load 25.64kWh, PV 0.0kWh
2026-08-15 10:55:59.460476: Saving plan best values to HA entities
2026-08-15 10:55:59.863082: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0
2026-08-15 10:55:59.895989: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 10:55:59.904751: Best charging limit SoC's [2.0, 3.5, 4.0, 16.0, 2.0, 16.0, 16.0]kWh, export []kWh gives import battery 19.82kWh, house 0.03kWh, export 0.0kWh, metric 619.1p, metric10 644.67p
2026-08-15 10:56:00.096046: Marginal costs baseline metric (no standing charge): 569.1182
2026-08-15 10:56:00.676524: Marginal energy costs matrix computed: min=15.27 max=32.28
2026-08-15 10:56:00.929076: Rate array import [{'start': 655, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 17.7p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1950, 'rate': 'expensive', 'range': '(24.8p - 32.9p)'}, {'start': 1950, 'end': 2040, 'rate': 'cheap', 'range': '(24.2p - 24.3p)'}, {'start': 2040, 'end': 2130, 'rate': 'expensive', 'range': '(24.7p - 25.4p)'}] export [{'start': 655, 'end': 2130, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 10:56:00.929678: - Your estimated bill for today is £5.66 and tomorrow is £6.90
2026-08-15 10:56:00.929744: - Import rates are cheap (13.8p - 17.7p) for the next 5 hours and then expensive (33.1p) for the next 1 hour.
2026-08-15 10:56:00.929774: - The battery is currently at 13% and is charging to 13% for the next 35 minutes.
2026-08-15 10:56:00.932112: - For the next 48 hours there will be no solar generation.
2026-08-15 10:56:00.932239: - You have enough battery to reach the next charge.
2026-08-15 10:56:00.932286: 
2026-08-15 10:56:01.022573: Plan calculation took 54.37 seconds
2026-08-15 10:56:01.022939: Inverter 0: Type SK Sunsynk
2026-08-15 10:56:01.023011: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 10:56:01.023220: Reserve min: 7%, battery_min: 7%
2026-08-15 10:56:01.023323: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 10:56:01.023624: Inverter 0 SoC: 2.0kW 13%, current charge rate 5000W, current discharge rate 5250W, current battery power 278W, current battery voltage 51.2V, grid power -54W, load power 331W, PV Power 0W
2026-08-15 10:56:01.023895: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 10:56:01.024016: Inverter 0 scheduled charge enable is False
2026-08-15 10:56:01.024059: Inverter 0 charge windows currently []
2026-08-15 10:56:01.024098: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 10:56:01.024280: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 10:56:01.024335: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 10:56:01.024393: Inverter 0 scheduled discharge enable is False
2026-08-15 10:56:01.024566: Inverter 0 idle time is 08-15 00:00:00-08-15 23:59:00
2026-08-15 10:56:01.024612: Inverter 0 discharge windows currently []
2026-08-15 10:56:01.024666: Note: Inverter does not support discharge freeze - disabled
2026-08-15 10:56:01.024705: Note: Inverter does not support charge freeze - disabled
2026-08-15 10:56:01.024723: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 10:56:01.166438: Inverter 0 Charge window will be: 2026-08-15 10:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 13%, target 13%
2026-08-15 10:56:01.166739: Inverter 0 Target SoC 13%, (this inverter 13%), battery temperature 20°C, select charge rate 5000W (real 5000W), current charge rate 5000W
2026-08-15 10:56:01.166885: Inverter 0 Hold charging as SoC 13% is above target SoC 13% (global soc target 13%) set_discharge_during_charge True
2026-08-15 10:56:01.167082: Adjust idle time, charge 10:30:00-16:00:00 discharge 00:00:00-00:00:00
2026-08-15 10:56:01.167327: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 10:56:01.167412: Inverter 0 set new demand (idle) start time to 16:00:00 was 00:00:00
2026-08-15 10:56:06.197950: Inverter 0 write_and_poll_value: Wrote 16:00:00 to idle_start_time, successfully now 16:00:00
2026-08-15 10:56:11.235019: Inverter 0 write_and_poll_value: Wrote 10:30:00 to charge_start_time, successfully now 10:30:00
2026-08-15 10:56:16.266716: Inverter 0 write_and_poll_value: Wrote 16:00:00 to charge_end_time, successfully now 16:00:00
2026-08-15 10:56:16.267098: Inverter 0 Updated start and end charge window to 10:30:00 - 16:00:00 (old 23:59:00 - 23:59:00)
2026-08-15 10:56:17.094639: ML Predictor: Epoch 3/30: lr=0.00099 huber_loss=0.0136 val_mae=0.0084 kWh val_bias=-0.0026 kWh (-2.9%) combined=0.0049 kWh ema_combined=0.0048 kWh
2026-08-15 10:56:21.285283: Inverter 0 Wrote scheduled_charge_enable to True successfully and got on
2026-08-15 10:56:21.285563: Inverter 0 Turning on scheduled charge
2026-08-15 10:56:21.285802: Inverter 0 current discharge rate is 5000W and new target is 0W
2026-08-15 10:56:26.296228: Inverter 0 write_and_poll_value: Wrote 0 to discharge_rate, successfully now 0.0
2026-08-15 10:56:31.385567: Inverter 0 write_and_poll_value: Wrote 0.0 to timed_discharge_current, successfully now 0.0
2026-08-15 10:56:31.385889: No export window planned
2026-08-15 10:56:31.386212: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 10:56:31.386368: Adjust idle time, charge 10:30:00-16:00:00 discharge 00:00:00-00:00:00
2026-08-15 10:56:31.386755: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 10:56:31.386989: Inverter 0 setting charging SoC to 13% as per target
2026-08-15 10:56:31.387190: Inverter 0 adjust target SoC for charge to 13% (2.08kWh/16.0kWh 16.0kWh) based on going from 13% -> 13% total add is 0.08kWh and this battery needs to add 0.08kWh to get to 2.08kWh
2026-08-15 10:56:31.387373: Inverter 0 Current charge limit is 7% and new target is 13%
2026-08-15 10:56:36.469690: Inverter 0 write_and_poll_value: Wrote 13 to charge_limit, successfully now 13.0
2026-08-15 10:56:36.470199: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 10:56:36.470424: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 10:56:36.470568: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 10:56:36.471102: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 10:56:36.471272: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 10:56:36.471461: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 10:56:36.471636: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 10:56:36.483073: Inverter 0 Calling service charge_start_service domain charge service_name select/select_option with data {'entity_id': 'select.sunsynk_prog1_charge', 'option': 'Allow Grid & Gen'}
2026-08-15 10:56:36.586390: Inverter 0 Calling service charge_start_service domain charge service_name select/select_option with data {'entity_id': 'select.sunsynk_prog2_charge', 'option': 'Allow Grid & Gen'}
2026-08-15 10:56:36.691519: Inverter 0 Calling service charge_start_service domain charge service_name select/select_option with data {'entity_id': 'select.sunsynk_prog3_charge', 'option': 'Allow Grid & Gen'}
2026-08-15 10:56:36.798242: Inverter 0 Calling service charge_start_service domain charge service_name select/select_option with data {'entity_id': 'select.sunsynk_prog4_charge', 'option': 'Allow Grid & Gen'}
2026-08-15 10:56:36.909734: Inverter 0 Calling service charge_start_service domain charge service_name select/select_option with data {'entity_id': 'select.sunsynk_prog5_charge', 'option': 'Allow Grid & Gen'}
2026-08-15 10:56:37.017849: Inverter 0 Calling service charge_start_service domain charge service_name select/select_option with data {'entity_id': 'select.sunsynk_prog6_charge', 'option': 'Allow Grid & Gen'}
2026-08-15 10:56:37.055700: Inverter 0 Calling service charge_start_service domain charge service_name select/select_option with data {'entity_id': 'select.sunsynk_load_limit', 'option': 'Zero Export'}
2026-08-15 10:56:37.192860: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 10:56:37.193016: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 10:56:37.193125: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 10:56:37.193287: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 10:56:37.193347: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 10:56:37.193430: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 10:56:37.193551: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 10:56:37.193603: Inverter 0 count register writes 2
2026-08-15 10:56:37.234439: Total inverter register writes now 817
2026-08-15 10:56:37.292741: Info: Completed run status Hold charging
2026-08-15 10:56:37.568634: Info: record_status Hold charging target 13%-13%
2026-08-15 10:56:37.579152: Saved current settings to /config/predbat_config.json
2026-08-15 10:56:37.579373: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 10:56:53.119778: ML Predictor: Epoch 4/30: lr=0.00098 huber_loss=0.0108 val_mae=0.0076 kWh val_bias=-0.0013 kWh (-1.4%) combined=0.0040 kWh ema_combined=0.0046 kWh
2026-08-15 10:57:11.761703: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 10:57:11.762180: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 10:57:11.762308: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 10:57:11.762587: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 10:57:11.762776: Note: Inverter does not support discharge freeze - disabled
2026-08-15 10:57:11.762883: Note: Inverter does not support charge freeze - disabled
2026-08-15 10:57:11.762973: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 10:57:28.952084: ML Predictor: Epoch 5/30: lr=0.00096 huber_loss=0.0108 val_mae=0.0073 kWh val_bias=-0.0012 kWh (-1.3%) combined=0.0041 kWh ema_combined=0.0044 kWh
2026-08-15 10:58:01.337237: ML Predictor: Epoch 6/30: lr=0.00094 huber_loss=0.0109 val_mae=0.0073 kWh val_bias=-0.0019 kWh (-2.0%) combined=0.0042 kWh ema_combined=0.0044 kWh
2026-08-15 10:58:08.245430: TemperatureAPI: Using coordinates latitude 53.4, longitude -2.2
2026-08-15 10:58:08.407393: TemperatureAPI: Successfully fetched temperature data from Open-Meteo API
2026-08-15 10:58:38.201576: ML Predictor: Epoch 7/30: lr=0.00091 huber_loss=0.0106 val_mae=0.0070 kWh val_bias=+0.0013 kWh (+1.4%) combined=0.0049 kWh ema_combined=0.0045 kWh
2026-08-15 10:59:12.229578: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 10:59:12.230008: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 10:59:12.230158: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 10:59:12.230421: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 10:59:12.230554: Note: Inverter does not support discharge freeze - disabled
2026-08-15 10:59:12.230647: Note: Inverter does not support charge freeze - disabled
2026-08-15 10:59:12.230776: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 10:59:13.684842: ML Predictor: Epoch 8/30: lr=0.00088 huber_loss=0.0100 val_mae=0.0064 kWh val_bias=-0.0014 kWh (-1.5%) combined=0.0040 kWh ema_combined=0.0044 kWh
2026-08-15 10:59:49.903901: ML Predictor: Epoch 9/30: lr=0.00084 huber_loss=0.0088 val_mae=0.0064 kWh val_bias=+0.0018 kWh (+2.0%) combined=0.0045 kWh ema_combined=0.0044 kWh
2026-08-15 11:00:00.565930: --------------- PredBat - update at 2026-08-15 11:00:00+01:00 with clock skew 0 minutes, minutes now 660
2026-08-15 11:00:00.566736: Saved current settings to /config/predbat_config.json
2026-08-15 11:00:00.566897: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 45.0 minutes
2026-08-15 11:00:00.566990: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.1, latest beta is v8.48.1
2026-08-15 11:00:00.567061: Autoupdate: Currently up to date
2026-08-15 11:00:00.606354: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 11:00:00.606674: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 11:00:00.606959: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 11:00:00.607560: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 11:00:00.607770: Predbat mode is set to Control charge & discharge
2026-08-15 11:00:01.173254: Found 21602 load_today datapoints going back 28 days
2026-08-15 11:00:01.173580: Using load_power data to fill gaps in load_today data
2026-08-15 11:00:02.697070: Processing 721 30-minute periods for power integration
2026-08-15 11:00:03.087937: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 11:00:03.101134: Car charging hold False, threshold 6.0kWh
2026-08-15 11:00:03.101321: Current data so far today: load 7.03kWh, import 8.6kWh, export 0.0kWh, PV 0kWh
2026-08-15 11:00:03.165969: Cars: SoC: [11.72]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 11:00:03.166822: Standing charge is set to 49.98p
2026-08-15 11:00:03.235874: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 11:00:03.235975: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 11:00:03.236156: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 20.0 minutes
2026-08-15 11:00:03.236607: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 20.0 minutes
2026-08-15 11:00:03.241904: Loaded 95 datapoints of futurerate analysis
2026-08-15 11:00:03.370032: Predicted future rates: ['08-15 00:00:00 => 28.9 / 20.01', '08-15 01:00:00 => 27.54 / 19.31', '08-15 02:00:00 => 26.52 / 18.8', '08-15 03:00:00 => 25.99 / 18.53', '08-15 04:00:00 => 25.8 / 18.43', '08-15 05:00:00 => 25.96 / 18.51', '08-15 06:00:00 => 25.55 / 18.3', '08-15 07:00:00 => 24.33 / 17.68', '08-15 08:00:00 => 23.03 / 17.01', '08-15 09:00:00 => 22.05 / 16.51', '08-15 10:00:00 => 20.43 / 15.68', '08-15 11:00:00 => 18.01 / 14.45', '08-15 12:00:00 => 16.37 / 13.61', '08-15 13:00:00 => 15.76 / 13.3', '08-15 14:00:00 => 15.35 / 13.09', '08-15 15:00:00 => 15.86 / 13.35', '08-15 16:00:00 => 32.89 / 16.13', '08-15 17:00:00 => 38.02 / 18.75', '08-15 18:00:00 => 42.36 / 20.96', '08-15 19:00:00 => 31.09 / 21.13', '08-15 20:00:00 => 31.64 / 21.41', '08-15 21:00:00 => 31.64 / 21.41', '08-15 22:00:00 => 30.58 / 20.87', '08-15 23:00:00 => 29.37 / 20.25', '08-16 00:00:00 => 28.83 / 19.97', '08-16 01:00:00 => 27.73 / 19.41', '08-16 02:00:00 => 26.76 / 18.92', '08-16 03:00:00 => 26.39 / 18.73', '08-16 04:00:00 => 26.33 / 18.7', '08-16 05:00:00 => 26.23 / 18.65', '08-16 06:00:00 => 25.99 / 18.53', '08-16 07:00:00 => 25.64 / 18.35', '08-16 08:00:00 => 24.84 / 17.94', '08-16 09:00:00 => 24.26 / 17.64', '08-16 10:00:00 => 24.8 / 17.92']
2026-08-15 11:00:03.488218: Rate min forward looking: now 13.77p at end of forecast 21.29p
2026-08-15 11:00:03.505725: Import rates: min 13.77p, max 46.05p, average 27.59p
2026-08-15 11:00:03.684644: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 11:00:03.697090: Rate thresholds (for charge/export) are import 45.55p (0.0p), export -0.1p (0.0p)
2026-08-15 11:00:03.699082: High export rate found rates in range 99p to -99p
2026-08-15 11:00:03.912334: Low Import rate found rates in range 13.77p to 44.19p
2026-08-15 11:00:03.912584: Car 0 charging is not planned as it is not plugged in
2026-08-15 11:00:03.935454: Battery level now 2.06kWh, -1hr ago 1.6kWh, at midnight 1.66kWh, battery value change in the last hour 5.49p, change today 4.83p, rate_forward 11.83p
2026-08-15 11:00:03.936002: Last hour: net energy 0.65kWh, import 0.65kWh, export 0.0kWh, car 0kWh, load 0.38kWh, net cost 12.06p, import 12.06p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 11:00:04.071561: Today's energy total net 8.6kWh, import 8.6kWh, export 0.0kWh, cost 270.08p, import 220.1p, export 0.0p, carbon 0.0kg
2026-08-15 11:00:04.071907: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 11:00:04.325720: Using weighted-bucket historical load forecast over 14 days
2026-08-15 11:00:04.375852: Today's load divergence 105.38%, in-day adjustment 126.05%, damping 0.95x, yesterday 143.77% today 105.11% blend 54.17%
2026-08-15 11:00:04.376236: Today's predicted so far 6.22kWh with 0.0kWh car/iBoost excluded, 3.43kWh import ignored, and 6.22kWh forecast extra.
2026-08-15 11:00:04.376425: Today's actual load so far 7.1kWh with 0.0kWh car/iBoost excluded, and 3.43kWh import ignored.
2026-08-15 11:00:04.444185: Inverter 0: Type SK Sunsynk
2026-08-15 11:00:04.444303: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 11:00:04.444665: Reserve min: 7%, battery_min: 7%
2026-08-15 11:00:04.444875: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 11:00:04.445399: Inverter 0 SoC: 2.0kW 13%, current charge rate 5000W, current discharge rate 0W, current battery power -29W, current battery voltage 51.2V, grid power -399W, load power 370W, PV Power 0W
2026-08-15 11:00:04.445724: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 11:00:04.445945: Inverter 0 scheduled charge enable is True
2026-08-15 11:00:04.446243: Inverter 0 charge windows currently [{'start': 630, 'end': 960, 'average': 0}, {'start': 2070, 'end': 2400, 'average': 0}, {'start': 3510, 'end': 3840, 'average': 0}]
2026-08-15 11:00:04.446511: Inverter 0 Charge settings: 08-15 10:30:00-08-15 16:00:00, limit 13.0%, power 5.0kW
2026-08-15 11:00:04.446814: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 11:00:04.446971: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 11:00:04.447127: Inverter 0 scheduled discharge enable is False
2026-08-15 11:00:04.447414: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 11:00:04.447563: Inverter 0 discharge windows currently []
2026-08-15 11:00:04.447711: Note: Inverter does not support discharge freeze - disabled
2026-08-15 11:00:04.447843: Note: Inverter does not support charge freeze - disabled
2026-08-15 11:00:04.447963: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 11:00:04.614206: Dynamic load last period 0.30kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 11:00:04.614407: Plan was last updated on 2026-08-15 10:55:00+01:00 and is now 5.0 minutes old
2026-08-15 11:00:04.614986: Best charge window [ 15-08 10:30:00 - 15-08 11:30:00 @ 17.11p 13%, 15-08 11:30:00 - 15-08 12:30:00 @ 16.23p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.22p 13%, 16-08 11:30:00 - 16-08 18:30:00 @ 41.93p 100%, 16-08 19:00:00 - 17-08 11:00:00 @ 24.98p 100% ]
2026-08-15 11:00:04.615052: Best export window [  ]
2026-08-15 11:00:04.616542: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 11:00:04.622140: Load divergence over 8.0 hours mean 640.58W, min 281.4W, max 1607.4W, std dev 331.17W, divergence 25.85%
2026-08-15 11:00:04.662609: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 11:00:04.663003: LoadML is_calculating True
2026-08-15 11:00:04.663253: Not using thread pool as LoadML is calculating to avoid lockups
2026-08-15 11:00:04.756555: predict base end_record 08-16 11:35:00, final soc 2.08kWh, metric 808.45p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 17:25:00, load 25.75kWh, PV 0.0kWh
2026-08-15 11:00:05.045236: Battery has 6.42 hours left - now at 2.0kWh
2026-08-15 11:00:05.131224: predict base10 end_record 08-16 11:35:00, final soc 2.08kWh, metric 831.98p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 17:20:00, load 26.64kWh, PV 0.0kWh
2026-08-15 11:00:05.389444: predict best10 end_record 08-16 11:35:00, final soc 1.44kWh, metric 657.61p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 11:05:00, load 26.64kWh, PV 0.0kWh
2026-08-15 11:00:05.628663: predict best end_record 08-16 11:35:00, final soc 1.51kWh, metric 633.86p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 11:25:00, load 25.75kWh, PV 0.0kWh
2026-08-15 11:00:05.628792: Saving plan best values to HA entities
2026-08-15 11:00:06.100995: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0
2026-08-15 11:00:06.112052: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 11:00:06.129471: Best charging limit SoC's [2.0, 3.5, 4.0, 16.0, 2.0, 16.0, 16.0]kWh, export []kWh gives import battery 20.27kWh, house 0.05kWh, export 0.0kWh, metric 633.86p, metric10 657.61p
2026-08-15 11:00:06.358389: Marginal costs baseline metric (no standing charge): 583.8788
2026-08-15 11:00:06.796188: Marginal energy costs matrix computed: min=15.44 max=32.56
2026-08-15 11:00:06.965528: Rate array import [{'start': 660, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 17.0p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1950, 'rate': 'expensive', 'range': '(24.8p - 32.9p)'}, {'start': 1950, 'end': 2040, 'rate': 'cheap', 'range': '(24.2p - 24.3p)'}, {'start': 2040, 'end': 2130, 'rate': 'expensive', 'range': '(24.7p - 25.4p)'}, {'start': 2130, 'end': 2135, 'rate': 'cheap', 'range': '(24.0p)'}] export [{'start': 660, 'end': 2135, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 11:00:06.977636: - Your estimated bill for today is £5.69 and tomorrow is £6.87
2026-08-15 11:00:06.977882: - Import rates are cheap (13.8p - 17.0p) for the next 5 hours and then expensive (33.1p) for the next 1 hour.
2026-08-15 11:00:06.978082: - The battery is currently at 13% and is charging to 13% for the next 30 minutes.
2026-08-15 11:00:06.978203: - For the next 48 hours there will be no solar generation.
2026-08-15 11:00:06.978383: - You have enough battery to reach the next charge.
2026-08-15 11:00:06.978554: 
2026-08-15 11:00:07.130733: Plan calculation took 2.52 seconds
2026-08-15 11:00:07.136099: No high rate period found
2026-08-15 11:00:07.371818: Import threshold used for optimisation was 24.84p
2026-08-15 11:00:07.481138: Low import rate windows [0: 08-15 11:00:00 - 08-15 11:30:00 @ 16.56, 1: 08-15 11:30:00 - 08-15 12:00:00 @ 15.46, 2: 08-15 12:00:00 - 08-15 12:30:00 @ 17.0, 3: 08-15 12:30:00 - 08-15 13:00:00 @ 16.34, 4: 08-15 13:00:00 - 08-15 13:30:00 @ 15.36, 5: 08-15 13:30:00 - 08-15 14:00:00 @ 15.74, 6: 08-15 14:00:00 - 08-15 14:30:00 @ 14.57, 7: 08-15 14:30:00 - 08-15 15:00:00 @ 13.77, 8: 08-15 15:00:00 - 08-15 15:30:00 @ 15.02, 9: 08-15 15:30:00 - 08-15 16:00:00 @ 15.87, 10: 08-15 16:00:00 - 08-15 16:30:00 @ 33.13, 11: 08-15 16:30:00 - 08-15 17:00:00 @ 33.13, 12: 08-15 17:00:00 - 08-15 17:30:00 @ 38.46, 13: 08-15 17:30:00 - 08-15 18:00:00 @ 40.44, 14: 08-15 18:00:00 - 08-15 18:30:00 @ 41.55, 15: 08-15 18:30:00 - 08-15 19:00:00 @ 43.82, 16: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 17: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 18: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 19: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 20: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 21: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 22: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 23: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 24: 08-15 23:00:00 - 08-15 23:30:00 @ 29.37, 25: 08-15 23:30:00 - 08-16 00:00:00 @ 29.2, 26: 08-16 00:00:00 - 08-16 00:30:00 @ 28.83, 27: 08-16 00:30:00 - 08-16 01:00:00 @ 28.46, 28: 08-16 01:00:00 - 08-16 01:30:00 @ 27.73, 29: 08-16 01:30:00 - 08-16 02:00:00 @ 27.01, 30: 08-16 02:00:00 - 08-16 02:30:00 @ 26.76, 31: 08-16 02:30:00 - 08-16 03:00:00 @ 26.48, 32: 08-16 03:00:00 - 08-16 03:30:00 @ 26.39, 33: 08-16 03:30:00 - 08-16 04:00:00 @ 26.27, 34: 08-16 04:00:00 - 08-16 04:30:00 @ 26.33, 35: 08-16 04:30:00 - 08-16 05:00:00 @ 26.37, 36: 08-16 05:00:00 - 08-16 05:30:00 @ 26.23, 37: 08-16 05:30:00 - 08-16 06:00:00 @ 26.07, 38: 08-16 06:00:00 - 08-16 06:30:00 @ 25.99, 39: 08-16 06:30:00 - 08-16 07:00:00 @ 25.92, 40: 08-16 07:00:00 - 08-16 07:30:00 @ 25.64, 41: 08-16 07:30:00 - 08-16 08:00:00 @ 25.39, 42: 08-16 08:00:00 - 08-16 08:30:00 @ 24.84, 43: 08-16 08:30:00 - 08-16 09:00:00 @ 24.28, 44: 08-16 09:00:00 - 08-16 09:30:00 @ 24.26, 45: 08-16 09:30:00 - 08-16 10:00:00 @ 24.22, 46: 08-16 10:00:00 - 08-16 10:30:00 @ 24.8, 47: 08-16 10:30:00 - 08-16 11:00:00 @ 25.37, 48: 08-16 11:00:00 - 08-16 11:30:00 @ 24.71, 49: 08-16 11:30:00 - 08-16 12:00:00 @ 24.02, 50: 08-16 12:00:00 - 08-16 12:30:00 @ 23.79, 51: 08-16 12:30:00 - 08-16 13:00:00 @ 23.55, 52: 08-16 13:00:00 - 08-16 13:30:00 @ 23.14, 53: 08-16 13:30:00 - 08-16 14:00:00 @ 22.71, 54: 08-16 14:00:00 - 08-16 14:30:00 @ 22.01, 55: 08-16 14:30:00 - 08-16 15:00:00 @ 21.29, 56: 08-16 15:00:00 - 08-16 15:30:00 @ 22.01, 57: 08-16 15:30:00 - 08-16 16:00:00 @ 22.71, 58: 08-16 16:00:00 - 08-16 16:30:00 @ 37.14, 59: 08-16 16:30:00 - 08-16 17:00:00 @ 37.91, 60: 08-16 17:00:00 - 08-16 17:30:00 @ 40.13, 61: 08-16 17:30:00 - 08-16 18:00:00 @ 42.36, 62: 08-16 18:00:00 - 08-16 18:30:00 @ 44.19, 63: 08-16 19:00:00 - 08-16 19:30:00 @ 33.04, 64: 08-16 19:30:00 - 08-16 20:00:00 @ 33.71, 65: 08-16 20:00:00 - 08-16 20:30:00 @ 33.83, 66: 08-16 20:30:00 - 08-16 21:00:00 @ 33.94, 67: 08-16 21:00:00 - 08-16 21:30:00 @ 33.73, 68: 08-16 21:30:00 - 08-16 22:00:00 @ 33.53, 69: 08-16 22:00:00 - 08-16 22:30:00 @ 32.36, 70: 08-16 22:30:00 - 08-16 23:00:00 @ 31.17, 71: 08-16 23:00:00 - 08-16 23:30:00 @ 29.37, 72: 08-16 23:30:00 - 08-17 00:00:00 @ 29.2, 73: 08-17 00:00:00 - 08-17 00:30:00 @ 28.83, 74: 08-17 00:30:00 - 08-17 01:00:00 @ 28.46, 75: 08-17 01:00:00 - 08-17 01:30:00 @ 27.73, 76: 08-17 01:30:00 - 08-17 02:00:00 @ 27.01, 77: 08-17 02:00:00 - 08-17 02:30:00 @ 26.76, 78: 08-17 02:30:00 - 08-17 03:00:00 @ 26.48, 79: 08-17 03:00:00 - 08-17 03:30:00 @ 26.39, 80: 08-17 03:30:00 - 08-17 04:00:00 @ 26.27, 81: 08-17 04:00:00 - 08-17 04:30:00 @ 26.33, 82: 08-17 04:30:00 - 08-17 05:00:00 @ 26.37, 83: 08-17 05:00:00 - 08-17 05:30:00 @ 26.23, 84: 08-17 05:30:00 - 08-17 06:00:00 @ 26.07, 85: 08-17 06:00:00 - 08-17 06:30:00 @ 25.99, 86: 08-17 06:30:00 - 08-17 07:00:00 @ 25.92, 87: 08-17 07:00:00 - 08-17 07:30:00 @ 25.64, 88: 08-17 07:30:00 - 08-17 08:00:00 @ 25.39, 89: 08-17 08:00:00 - 08-17 08:30:00 @ 24.84, 90: 08-17 08:30:00 - 08-17 09:00:00 @ 24.28, 91: 08-17 09:00:00 - 08-17 09:30:00 @ 24.26, 92: 08-17 09:30:00 - 08-17 10:00:00 @ 24.22, 93: 08-17 10:00:00 - 08-17 10:30:00 @ 24.8, 94: 08-17 10:30:00 - 08-17 11:00:00 @ 25.37]
2026-08-15 11:00:07.507086: Include original charge start 08-15 10:30:00, keeping this instead of new start 08-15 10:30:00
2026-08-15 11:00:07.507225: Inverter 0 Charge window will be: 2026-08-15 10:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 13%, target 13%
2026-08-15 11:00:07.507521: Inverter 0 Target SoC 13%, (this inverter 13%), battery temperature 20°C, select charge rate 5000W (real 5000W), current charge rate 5000W
2026-08-15 11:00:07.507677: Inverter 0 Hold charging as SoC 13% is above target SoC 13% (global soc target 13%) set_discharge_during_charge True
2026-08-15 11:00:07.507943: Adjust idle time, charge 10:30:00-16:00:00 discharge 00:00:00-00:00:00
2026-08-15 11:00:07.508209: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 11:00:07.508385: No export window planned
2026-08-15 11:00:07.508558: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 11:00:07.508605: Adjust idle time, charge 10:30:00-16:00:00 discharge 00:00:00-00:00:00
2026-08-15 11:00:07.508857: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 11:00:07.509043: Inverter 0 setting charging SoC to 13% as per target
2026-08-15 11:00:07.509170: Inverter 0 adjust target SoC for charge to 13% (2.08kWh/16.0kWh 16.0kWh) based on going from 13% -> 13% total add is 0.08kWh and this battery needs to add 0.08kWh to get to 2.08kWh
2026-08-15 11:00:07.509284: Inverter 0 Current Target SoC is 13%, already at target
2026-08-15 11:00:07.509446: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:00:07.509500: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:00:07.509611: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:00:07.509752: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:00:07.509827: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:00:07.509949: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:00:07.510042: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:00:07.510151: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 11:00:07.510199: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 11:00:07.510270: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 11:00:07.510313: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 11:00:07.510410: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 11:00:07.510454: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 11:00:07.510548: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 11:00:07.510674: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:00:07.510740: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:00:07.510917: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:00:07.511003: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:00:07.511154: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:00:07.511295: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:00:07.511493: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:00:07.511626: Inverter 0 count register writes 0
2026-08-15 11:00:07.545549: Will not recompute the plan, it is 5.0 minutes old and max age is 10 minutes
2026-08-15 11:00:07.553077: Total inverter register writes now 817
2026-08-15 11:00:07.612798: Info: Completed run status Hold charging
2026-08-15 11:00:07.622539: Info: record_status Hold charging target 13%-13%
2026-08-15 11:00:07.634370: Saved current settings to /config/predbat_config.json
2026-08-15 11:00:07.634796: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 11:00:33.476112: ML Predictor: Epoch 10/30: lr=0.00080 huber_loss=0.0099 val_mae=0.0059 kWh val_bias=-0.0012 kWh (-1.3%) combined=0.0033 kWh ema_combined=0.0041 kWh
2026-08-15 11:00:41.814130: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 11:00:41.814563: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 11:00:41.814643: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 11:00:41.814901: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 11:00:41.814967: Note: Inverter does not support discharge freeze - disabled
2026-08-15 11:00:41.815003: Note: Inverter does not support charge freeze - disabled
2026-08-15 11:00:41.815137: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 11:00:51.093844: Info: HAHistory: Pruning history data started.
2026-08-15 11:00:51.097656: Info: HAHistory: Pruning history data completed.
2026-08-15 11:01:05.988080: ML Predictor: Epoch 11/30: lr=0.00076 huber_loss=0.0097 val_mae=0.0061 kWh val_bias=-0.0017 kWh (-1.8%) combined=0.0035 kWh ema_combined=0.0039 kWh
2026-08-15 11:01:40.688212: ML Predictor: Epoch 12/30: lr=0.00072 huber_loss=0.0102 val_mae=0.0061 kWh val_bias=-0.0004 kWh (-0.5%) combined=0.0034 kWh ema_combined=0.0038 kWh
2026-08-15 11:02:14.211510: ML Predictor: Epoch 13/30: lr=0.00067 huber_loss=0.0099 val_mae=0.0070 kWh val_bias=+0.0040 kWh (+4.3%) combined=0.0068 kWh ema_combined=0.0047 kWh
2026-08-15 11:02:42.290414: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 11:02:42.290828: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 11:02:42.290977: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 11:02:42.291262: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 11:02:42.291403: Note: Inverter does not support discharge freeze - disabled
2026-08-15 11:02:42.291497: Note: Inverter does not support charge freeze - disabled
2026-08-15 11:02:42.291591: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 11:02:51.580074: ML Predictor: Epoch 14/30: lr=0.00062 huber_loss=0.0083 val_mae=0.0053 kWh val_bias=-0.0008 kWh (-0.9%) combined=0.0028 kWh ema_combined=0.0041 kWh
2026-08-15 11:03:25.387648: ML Predictor: Epoch 15/30: lr=0.00057 huber_loss=0.0080 val_mae=0.0058 kWh val_bias=+0.0008 kWh (+0.8%) combined=0.0031 kWh ema_combined=0.0038 kWh
2026-08-15 11:03:57.812128: ML Predictor: Epoch 16/30: lr=0.00053 huber_loss=0.0080 val_mae=0.0056 kWh val_bias=-0.0021 kWh (-2.3%) combined=0.0034 kWh ema_combined=0.0037 kWh
2026-08-15 11:04:30.758536: ML Predictor: Epoch 17/30: lr=0.00048 huber_loss=0.0072 val_mae=0.0051 kWh val_bias=-0.0028 kWh (-3.0%) combined=0.0045 kWh ema_combined=0.0039 kWh
2026-08-15 11:04:56.758388: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 11:04:56.758910: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 11:04:56.759101: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 11:04:56.759428: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 11:04:56.759572: Note: Inverter does not support discharge freeze - disabled
2026-08-15 11:04:56.759729: Note: Inverter does not support charge freeze - disabled
2026-08-15 11:04:56.759879: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 11:05:00.936851: --------------- PredBat - update at 2026-08-15 11:05:00+01:00 with clock skew 0 minutes, minutes now 665
2026-08-15 11:05:00.937815: Saved current settings to /config/predbat_config.json
2026-08-15 11:05:00.937984: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 50.0 minutes
2026-08-15 11:05:00.938096: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.1, latest beta is v8.48.1
2026-08-15 11:05:00.938213: Autoupdate: Currently up to date
2026-08-15 11:05:01.022944: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 11:05:01.023110: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 11:05:01.023328: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 11:05:01.024004: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 11:05:01.024222: Predbat mode is set to Control charge & discharge
2026-08-15 11:05:01.443239: Found 21602 load_today datapoints going back 27 days
2026-08-15 11:05:01.443946: Using load_power data to fill gaps in load_today data
2026-08-15 11:05:02.898202: Processing 721 30-minute periods for power integration
2026-08-15 11:05:03.216456: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 11:05:03.216626: Car charging hold False, threshold 6.0kWh
2026-08-15 11:05:03.216689: Current data so far today: load 7.05kWh, import 8.6kWh, export 0.0kWh, PV 0kWh
2026-08-15 11:05:03.252787: Cars: SoC: [11.72]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 11:05:03.258414: Standing charge is set to 49.98p
2026-08-15 11:05:03.431695: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 11:05:03.431853: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 11:05:03.432138: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 25.0 minutes
2026-08-15 11:05:03.433082: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 25.0 minutes
2026-08-15 11:05:03.440937: Loaded 95 datapoints of futurerate analysis
2026-08-15 11:05:03.544499: Predicted future rates: ['08-15 00:00:00 => 28.9 / 20.01', '08-15 01:00:00 => 27.54 / 19.31', '08-15 02:00:00 => 26.52 / 18.8', '08-15 03:00:00 => 25.99 / 18.53', '08-15 04:00:00 => 25.8 / 18.43', '08-15 05:00:00 => 25.96 / 18.51', '08-15 06:00:00 => 25.55 / 18.3', '08-15 07:00:00 => 24.33 / 17.68', '08-15 08:00:00 => 23.03 / 17.01', '08-15 09:00:00 => 22.05 / 16.51', '08-15 10:00:00 => 20.43 / 15.68', '08-15 11:00:00 => 18.01 / 14.45', '08-15 12:00:00 => 16.37 / 13.61', '08-15 13:00:00 => 15.76 / 13.3', '08-15 14:00:00 => 15.35 / 13.09', '08-15 15:00:00 => 15.86 / 13.35', '08-15 16:00:00 => 32.89 / 16.13', '08-15 17:00:00 => 38.02 / 18.75', '08-15 18:00:00 => 42.36 / 20.96', '08-15 19:00:00 => 31.09 / 21.13', '08-15 20:00:00 => 31.64 / 21.41', '08-15 21:00:00 => 31.64 / 21.41', '08-15 22:00:00 => 30.58 / 20.87', '08-15 23:00:00 => 29.37 / 20.25', '08-16 00:00:00 => 28.83 / 19.97', '08-16 01:00:00 => 27.73 / 19.41', '08-16 02:00:00 => 26.76 / 18.92', '08-16 03:00:00 => 26.39 / 18.73', '08-16 04:00:00 => 26.33 / 18.7', '08-16 05:00:00 => 26.23 / 18.65', '08-16 06:00:00 => 25.99 / 18.53', '08-16 07:00:00 => 25.64 / 18.35', '08-16 08:00:00 => 24.84 / 17.94', '08-16 09:00:00 => 24.26 / 17.64', '08-16 10:00:00 => 24.8 / 17.92']
2026-08-15 11:05:03.648183: Rate min forward looking: now 13.77p at end of forecast 21.29p
2026-08-15 11:05:03.648713: Import rates: min 13.77p, max 46.05p, average 27.6p
2026-08-15 11:05:03.710303: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 11:05:03.710559: Rate thresholds (for charge/export) are import 45.55p (0.0p), export -0.1p (0.0p)
2026-08-15 11:05:03.712742: High export rate found rates in range 99p to -99p
2026-08-15 11:05:03.929112: Low Import rate found rates in range 13.77p to 44.19p
2026-08-15 11:05:03.929289: Car 0 charging is not planned as it is not plugged in
2026-08-15 11:05:03.962746: Battery level now 2.0kWh, -1hr ago 1.6kWh, at midnight 1.66kWh, battery value change in the last hour 4.73p, change today 4.07p, rate_forward 11.83p
2026-08-15 11:05:03.963539: Last hour: net energy 0.6kWh, import 0.6kWh, export 0.0kWh, car 0kWh, load 0.35kWh, net cost 11.08p, import 11.08p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 11:05:04.070484: Today's energy total net 8.6kWh, import 8.6kWh, export 0.0kWh, cost 270.08p, import 220.1p, export 0.0p, carbon 0.0kg
2026-08-15 11:05:04.070848: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 11:05:04.223256: Using weighted-bucket historical load forecast over 14 days
2026-08-15 11:05:04.329498: Today's load divergence 105.37%, in-day adjustment 125.91%, damping 0.95x, yesterday 143.77% today 105.1% blend 53.82%
2026-08-15 11:05:04.338442: Today's predicted so far 6.33kWh with 0.0kWh car/iBoost excluded, 3.51kWh import ignored, and 6.33kWh forecast extra.
2026-08-15 11:05:04.338710: Today's actual load so far 7.21kWh with 0.0kWh car/iBoost excluded, and 3.51kWh import ignored.
2026-08-15 11:05:04.478785: Inverter 0: Type SK Sunsynk
2026-08-15 11:05:04.492232: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 11:05:04.492666: Reserve min: 7%, battery_min: 7%
2026-08-15 11:05:04.492894: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 11:05:04.493385: Inverter 0 SoC: 2.08kW 13%, current charge rate 5000W, current discharge rate 0W, current battery power -8W, current battery voltage 51.2V, grid power -315W, load power 312W, PV Power 0W
2026-08-15 11:05:04.493733: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 11:05:04.493938: Inverter 0 scheduled charge enable is True
2026-08-15 11:05:04.494111: Inverter 0 charge windows currently [{'start': 630, 'end': 960, 'average': 0}, {'start': 2070, 'end': 2400, 'average': 0}, {'start': 3510, 'end': 3840, 'average': 0}]
2026-08-15 11:05:04.494332: Inverter 0 Charge settings: 08-15 10:30:00-08-15 16:00:00, limit 13.0%, power 5.0kW
2026-08-15 11:05:04.494606: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 11:05:04.494749: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 11:05:04.494912: Inverter 0 scheduled discharge enable is False
2026-08-15 11:05:04.495178: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 11:05:04.495328: Inverter 0 discharge windows currently []
2026-08-15 11:05:04.495439: Note: Inverter does not support discharge freeze - disabled
2026-08-15 11:05:04.495566: Note: Inverter does not support charge freeze - disabled
2026-08-15 11:05:04.495668: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 11:05:04.693339: Dynamic load last period 0.30kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 11:05:04.693617: Plan was last updated on 2026-08-15 10:55:00+01:00 and is now 10.0 minutes old
2026-08-15 11:05:04.694174: Best charge window [ 15-08 10:30:00 - 15-08 11:30:00 @ 17.11p 13%, 15-08 11:30:00 - 15-08 12:30:00 @ 16.23p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.22p 13%, 16-08 11:30:00 - 16-08 18:30:00 @ 41.93p 100%, 16-08 19:00:00 - 17-08 11:00:00 @ 24.98p 100% ]
2026-08-15 11:05:04.694310: Best export window [  ]
2026-08-15 11:05:04.695729: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 11:05:04.700586: Load divergence over 8.0 hours mean 640.47W, min 294.0W, max 1564.2W, std dev 322.93W, divergence 25.21%
2026-08-15 11:05:04.727432: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 11:05:04.728320: LoadML is_calculating True
2026-08-15 11:05:04.728495: Not using thread pool as LoadML is calculating to avoid lockups
2026-08-15 11:05:04.765253: predict base end_record 08-16 11:40:00, final soc 2.08kWh, metric 806.5p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 17:25:00, load 25.75kWh, PV 0.0kWh
2026-08-15 11:05:04.914430: ML Predictor: Epoch 18/30: lr=0.00043 huber_loss=0.0069 val_mae=0.0045 kWh val_bias=-0.0017 kWh (-1.9%) combined=0.0035 kWh ema_combined=0.0038 kWh
2026-08-15 11:05:04.994713: Battery has 6.33 hours left - now at 2.08kWh
2026-08-15 11:05:05.048677: predict base10 end_record 08-16 11:40:00, final soc 2.08kWh, metric 830.02p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 17:20:00, load 26.64kWh, PV 0.0kWh
2026-08-15 11:05:05.200555: predict best10 end_record 08-16 11:40:00, final soc 1.77kWh, metric 664.35p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 11:05:00, load 26.64kWh, PV 0.0kWh
2026-08-15 11:05:05.425094: predict best end_record 08-16 11:40:00, final soc 1.9kWh, metric 642.45p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 11:25:00, load 25.75kWh, PV 0.0kWh
2026-08-15 11:05:05.425211: Saving plan best values to HA entities
2026-08-15 11:05:05.985671: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0
2026-08-15 11:05:06.025321: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 11:05:06.035634: Best charging limit SoC's [2.0, 3.5, 4.0, 16.0, 2.0, 16.0, 16.0]kWh, export []kWh gives import battery 20.57kWh, house 0.05kWh, export 0.0kWh, metric 642.45p, metric10 664.35p
2026-08-15 11:05:06.305022: Marginal costs baseline metric (no standing charge): 592.4684
2026-08-15 11:05:06.701052: Marginal energy costs matrix computed: min=15.48 max=32.67
2026-08-15 11:05:06.851739: Rate array import [{'start': 665, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 17.0p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1950, 'rate': 'expensive', 'range': '(24.8p - 32.9p)'}, {'start': 1950, 'end': 2040, 'rate': 'cheap', 'range': '(24.2p - 24.3p)'}, {'start': 2040, 'end': 2130, 'rate': 'expensive', 'range': '(24.7p - 25.4p)'}, {'start': 2130, 'end': 2140, 'rate': 'cheap', 'range': '(24.0p)'}] export [{'start': 665, 'end': 2140, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 11:05:06.858151: - Your estimated bill for today is £5.67 and tomorrow is £6.84
2026-08-15 11:05:06.858398: - Import rates are cheap (13.8p - 17.0p) for the next 4  hours and then expensive (33.1p) for the next 1 hour.
2026-08-15 11:05:06.858517: - The battery is currently at 13% and is charging to 13% for the next 25 minutes.
2026-08-15 11:05:06.858651: - For the next 48 hours there will be no solar generation.
2026-08-15 11:05:06.858767: - You have enough battery to reach the next charge.
2026-08-15 11:05:06.858899: 
2026-08-15 11:05:06.935780: Plan calculation took 2.24 seconds
2026-08-15 11:05:06.941144: No high rate period found
2026-08-15 11:05:07.064008: Import threshold used for optimisation was 24.84p
2026-08-15 11:05:07.289999: Low import rate windows [0: 08-15 11:00:00 - 08-15 11:30:00 @ 16.56, 1: 08-15 11:30:00 - 08-15 12:00:00 @ 15.46, 2: 08-15 12:00:00 - 08-15 12:30:00 @ 17.0, 3: 08-15 12:30:00 - 08-15 13:00:00 @ 16.34, 4: 08-15 13:00:00 - 08-15 13:30:00 @ 15.36, 5: 08-15 13:30:00 - 08-15 14:00:00 @ 15.74, 6: 08-15 14:00:00 - 08-15 14:30:00 @ 14.57, 7: 08-15 14:30:00 - 08-15 15:00:00 @ 13.77, 8: 08-15 15:00:00 - 08-15 15:30:00 @ 15.02, 9: 08-15 15:30:00 - 08-15 16:00:00 @ 15.87, 10: 08-15 16:00:00 - 08-15 16:30:00 @ 33.13, 11: 08-15 16:30:00 - 08-15 17:00:00 @ 33.13, 12: 08-15 17:00:00 - 08-15 17:30:00 @ 38.46, 13: 08-15 17:30:00 - 08-15 18:00:00 @ 40.44, 14: 08-15 18:00:00 - 08-15 18:30:00 @ 41.55, 15: 08-15 18:30:00 - 08-15 19:00:00 @ 43.82, 16: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 17: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 18: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 19: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 20: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 21: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 22: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 23: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 24: 08-15 23:00:00 - 08-15 23:30:00 @ 29.37, 25: 08-15 23:30:00 - 08-16 00:00:00 @ 29.2, 26: 08-16 00:00:00 - 08-16 00:30:00 @ 28.83, 27: 08-16 00:30:00 - 08-16 01:00:00 @ 28.46, 28: 08-16 01:00:00 - 08-16 01:30:00 @ 27.73, 29: 08-16 01:30:00 - 08-16 02:00:00 @ 27.01, 30: 08-16 02:00:00 - 08-16 02:30:00 @ 26.76, 31: 08-16 02:30:00 - 08-16 03:00:00 @ 26.48, 32: 08-16 03:00:00 - 08-16 03:30:00 @ 26.39, 33: 08-16 03:30:00 - 08-16 04:00:00 @ 26.27, 34: 08-16 04:00:00 - 08-16 04:30:00 @ 26.33, 35: 08-16 04:30:00 - 08-16 05:00:00 @ 26.37, 36: 08-16 05:00:00 - 08-16 05:30:00 @ 26.23, 37: 08-16 05:30:00 - 08-16 06:00:00 @ 26.07, 38: 08-16 06:00:00 - 08-16 06:30:00 @ 25.99, 39: 08-16 06:30:00 - 08-16 07:00:00 @ 25.92, 40: 08-16 07:00:00 - 08-16 07:30:00 @ 25.64, 41: 08-16 07:30:00 - 08-16 08:00:00 @ 25.39, 42: 08-16 08:00:00 - 08-16 08:30:00 @ 24.84, 43: 08-16 08:30:00 - 08-16 09:00:00 @ 24.28, 44: 08-16 09:00:00 - 08-16 09:30:00 @ 24.26, 45: 08-16 09:30:00 - 08-16 10:00:00 @ 24.22, 46: 08-16 10:00:00 - 08-16 10:30:00 @ 24.8, 47: 08-16 10:30:00 - 08-16 11:00:00 @ 25.37, 48: 08-16 11:00:00 - 08-16 11:30:00 @ 24.71, 49: 08-16 11:30:00 - 08-16 12:00:00 @ 24.02, 50: 08-16 12:00:00 - 08-16 12:30:00 @ 23.79, 51: 08-16 12:30:00 - 08-16 13:00:00 @ 23.55, 52: 08-16 13:00:00 - 08-16 13:30:00 @ 23.14, 53: 08-16 13:30:00 - 08-16 14:00:00 @ 22.71, 54: 08-16 14:00:00 - 08-16 14:30:00 @ 22.01, 55: 08-16 14:30:00 - 08-16 15:00:00 @ 21.29, 56: 08-16 15:00:00 - 08-16 15:30:00 @ 22.01, 57: 08-16 15:30:00 - 08-16 16:00:00 @ 22.71, 58: 08-16 16:00:00 - 08-16 16:30:00 @ 37.14, 59: 08-16 16:30:00 - 08-16 17:00:00 @ 37.91, 60: 08-16 17:00:00 - 08-16 17:30:00 @ 40.13, 61: 08-16 17:30:00 - 08-16 18:00:00 @ 42.36, 62: 08-16 18:00:00 - 08-16 18:30:00 @ 44.19, 63: 08-16 19:00:00 - 08-16 19:30:00 @ 33.04, 64: 08-16 19:30:00 - 08-16 20:00:00 @ 33.71, 65: 08-16 20:00:00 - 08-16 20:30:00 @ 33.83, 66: 08-16 20:30:00 - 08-16 21:00:00 @ 33.94, 67: 08-16 21:00:00 - 08-16 21:30:00 @ 33.73, 68: 08-16 21:30:00 - 08-16 22:00:00 @ 33.53, 69: 08-16 22:00:00 - 08-16 22:30:00 @ 32.36, 70: 08-16 22:30:00 - 08-16 23:00:00 @ 31.17, 71: 08-16 23:00:00 - 08-16 23:30:00 @ 29.37, 72: 08-16 23:30:00 - 08-17 00:00:00 @ 29.2, 73: 08-17 00:00:00 - 08-17 00:30:00 @ 28.83, 74: 08-17 00:30:00 - 08-17 01:00:00 @ 28.46, 75: 08-17 01:00:00 - 08-17 01:30:00 @ 27.73, 76: 08-17 01:30:00 - 08-17 02:00:00 @ 27.01, 77: 08-17 02:00:00 - 08-17 02:30:00 @ 26.76, 78: 08-17 02:30:00 - 08-17 03:00:00 @ 26.48, 79: 08-17 03:00:00 - 08-17 03:30:00 @ 26.39, 80: 08-17 03:30:00 - 08-17 04:00:00 @ 26.27, 81: 08-17 04:00:00 - 08-17 04:30:00 @ 26.33, 82: 08-17 04:30:00 - 08-17 05:00:00 @ 26.37, 83: 08-17 05:00:00 - 08-17 05:30:00 @ 26.23, 84: 08-17 05:30:00 - 08-17 06:00:00 @ 26.07, 85: 08-17 06:00:00 - 08-17 06:30:00 @ 25.99, 86: 08-17 06:30:00 - 08-17 07:00:00 @ 25.92, 87: 08-17 07:00:00 - 08-17 07:30:00 @ 25.64, 88: 08-17 07:30:00 - 08-17 08:00:00 @ 25.39, 89: 08-17 08:00:00 - 08-17 08:30:00 @ 24.84, 90: 08-17 08:30:00 - 08-17 09:00:00 @ 24.28, 91: 08-17 09:00:00 - 08-17 09:30:00 @ 24.26, 92: 08-17 09:30:00 - 08-17 10:00:00 @ 24.22, 93: 08-17 10:00:00 - 08-17 10:30:00 @ 24.8, 94: 08-17 10:30:00 - 08-17 11:00:00 @ 25.37, 95: 08-17 11:00:00 - 08-17 11:30:00 @ 24.71]
2026-08-15 11:05:07.307871: Include original charge start 08-15 10:30:00, keeping this instead of new start 08-15 10:30:00
2026-08-15 11:05:07.308058: Inverter 0 Charge window will be: 2026-08-15 10:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 13%, target 13%
2026-08-15 11:05:07.308208: Inverter 0 Target SoC 13%, (this inverter 13%), battery temperature 20°C, select charge rate 5000W (real 5000W), current charge rate 5000W
2026-08-15 11:05:07.308296: Inverter 0 Hold charging as SoC 13% is above target SoC 13% (global soc target 13%) set_discharge_during_charge True
2026-08-15 11:05:07.316714: Adjust idle time, charge 10:30:00-16:00:00 discharge 00:00:00-00:00:00
2026-08-15 11:05:07.317183: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 11:05:07.317383: No export window planned
2026-08-15 11:05:07.317624: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 11:05:07.317677: Adjust idle time, charge 10:30:00-16:00:00 discharge 00:00:00-00:00:00
2026-08-15 11:05:07.318175: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 11:05:07.318354: Inverter 0 setting charging SoC to 13% as per target
2026-08-15 11:05:07.318551: Inverter 0 adjust target SoC for charge to 13% (2.08kWh/16.0kWh 16.0kWh) based on going from 13% -> 13% total add is 0.0kWh and this battery needs to add 0.0kWh to get to 2.08kWh
2026-08-15 11:05:07.318758: Inverter 0 Current Target SoC is 13%, already at target
2026-08-15 11:05:07.318997: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:05:07.319169: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:05:07.319275: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:05:07.319427: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:05:07.319549: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:05:07.319618: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:05:07.319690: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:05:07.319853: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 11:05:07.319906: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 11:05:07.320033: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 11:05:07.320082: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 11:05:07.320110: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 11:05:07.320236: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 11:05:07.320287: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 11:05:07.320439: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:05:07.320488: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:05:07.320577: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:05:07.320619: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:05:07.320704: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:05:07.320787: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:05:07.320881: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:05:07.320971: Inverter 0 count register writes 0
2026-08-15 11:05:07.394249: Will recompute the plan as it is now 10.0 minutes old and will exceed the max age of 10 minutes before the next run
2026-08-15 11:05:07.394713: Recompute is saving previous plan...
2026-08-15 11:05:07.400250: Best charge window [ 15-08 11:00:00 - 15-08 11:30:00 @ 16.56p 13%, 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 13%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 13%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 13%, 15-08 13:00:00 - 15-08 13:30:00 @ 15.36p 13%, 15-08 13:30:00 - 15-08 14:00:00 @ 15.74p 13%, 15-08 14:00:00 - 15-08 14:30:00 @ 14.57p 13%, 15-08 14:30:00 - 15-08 15:00:00 @ 13.77p 13%, 15-08 15:00:00 - 15-08 15:30:00 @ 15.02p 13%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 13%, 15-08 16:00:00 - 15-08 16:30:00 @ 33.13p 13%, 15-08 16:30:00 - 15-08 17:00:00 @ 33.13p 13%, 15-08 17:00:00 - 15-08 17:30:00 @ 38.46p 13%, 15-08 17:30:00 - 15-08 18:00:00 @ 40.44p 13%, 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 13%, 15-08 18:30:00 - 15-08 19:00:00 @ 43.82p 13%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 13%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 13%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 13%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 13%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 13%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 13%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 13%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 13%, 15-08 23:00:00 - 15-08 23:30:00 @ 29.37p 13%, 15-08 23:30:00 - 16-08 00:00:00 @ 29.2p 13%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.83p 13%, 16-08 00:30:00 - 16-08 01:00:00 @ 28.46p 13%, 16-08 01:00:00 - 16-08 01:30:00 @ 27.73p 13%, 16-08 01:30:00 - 16-08 02:00:00 @ 27.01p 13%, 16-08 02:00:00 - 16-08 02:30:00 @ 26.76p 13%, 16-08 02:30:00 - 16-08 03:00:00 @ 26.48p 13%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.39p 13%, 16-08 03:30:00 - 16-08 04:00:00 @ 26.27p 13%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.33p 13%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.37p 13%, 16-08 05:00:00 - 16-08 05:30:00 @ 26.23p 13%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.07p 13%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.99p 13%, 16-08 06:30:00 - 16-08 07:00:00 @ 25.92p 13%, 16-08 07:00:00 - 16-08 07:30:00 @ 25.64p 13%, 16-08 07:30:00 - 16-08 08:00:00 @ 25.39p 13%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.84p 13%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.28p 13%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.26p 13%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.22p 13%, 16-08 10:00:00 - 16-08 10:30:00 @ 24.8p 13%, 16-08 10:30:00 - 16-08 11:00:00 @ 25.37p 13%, 16-08 11:00:00 - 16-08 11:30:00 @ 24.71p 13%, 16-08 11:30:00 - 16-08 12:00:00 @ 24.02p 13%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.79p 13%, 16-08 12:30:00 - 16-08 13:00:00 @ 23.55p 13%, 16-08 13:00:00 - 16-08 13:30:00 @ 23.14p 13%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.71p 13%, 16-08 14:00:00 - 16-08 14:30:00 @ 22.01p 13%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.29p 13%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.01p 13%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.71p 13%, 16-08 16:00:00 - 16-08 16:30:00 @ 37.14p 13%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.91p 13%, 16-08 17:00:00 - 16-08 17:30:00 @ 40.13p 13%, 16-08 17:30:00 - 16-08 18:00:00 @ 42.36p 13%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.19p 13%, 16-08 19:00:00 - 16-08 19:30:00 @ 33.04p 13%, 16-08 19:30:00 - 16-08 20:00:00 @ 33.71p 13%, 16-08 20:00:00 - 16-08 20:30:00 @ 33.83p 13%, 16-08 20:30:00 - 16-08 21:00:00 @ 33.94p 13%, 16-08 21:00:00 - 16-08 21:30:00 @ 33.73p 13%, 16-08 21:30:00 - 16-08 22:00:00 @ 33.53p 13%, 16-08 22:00:00 - 16-08 22:30:00 @ 32.36p 13%, 16-08 22:30:00 - 16-08 23:00:00 @ 31.17p 13%, 16-08 23:00:00 - 16-08 23:30:00 @ 29.37p 13%, 16-08 23:30:00 - 17-08 00:00:00 @ 29.2p 13%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.83p 13%, 17-08 00:30:00 - 17-08 01:00:00 @ 28.46p 13%, 17-08 01:00:00 - 17-08 01:30:00 @ 27.73p 13%, 17-08 01:30:00 - 17-08 02:00:00 @ 27.01p 13%, 17-08 02:00:00 - 17-08 02:30:00 @ 26.76p 13%, 17-08 02:30:00 - 17-08 03:00:00 @ 26.48p 13%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.39p 13%, 17-08 03:30:00 - 17-08 04:00:00 @ 26.27p 13%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.33p 13%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.37p 13%, 17-08 05:00:00 - 17-08 05:30:00 @ 26.23p 13%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.07p 13%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.99p 13%, 17-08 06:30:00 - 17-08 07:00:00 @ 25.92p 13%, 17-08 07:00:00 - 17-08 07:30:00 @ 25.64p 13%, 17-08 07:30:00 - 17-08 08:00:00 @ 25.39p 13%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.84p 13%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.28p 13%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.26p 13%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.22p 13%, 17-08 10:00:00 - 17-08 10:30:00 @ 24.8p 13%, 17-08 10:30:00 - 17-08 11:00:00 @ 25.37p 13%, 17-08 11:00:00 - 17-08 11:30:00 @ 24.71p 13% ]
2026-08-15 11:05:07.400650: Best export window [  ]
2026-08-15 11:05:07.402288: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 11:05:07.421878: Load divergence over 8.0 hours mean 640.47W, min 294.0W, max 1564.2W, std dev 322.93W, divergence 25.21%
2026-08-15 11:05:07.473292: Calculating data from yesterday for savings calculation
2026-08-15 11:05:07.505747: Yesterday basic charge window best: [{'start': 840, 'end': 870, 'average': 21.7}] charge limit best: [16.0] based on max charge slots 1
2026-08-15 11:05:07.633493: predict yesterday end_record 08-16 00:00:00, final soc 1.12kWh, metric 843.63p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 00:00:00, load 26.2kWh, PV 0.0kWh
2026-08-15 11:05:07.650667: predict yesterday10 end_record 08-16 00:00:00, final soc 1.12kWh, metric 847.91p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 00:00:00, load 26.2kWh, PV 0.0kWh
2026-08-15 11:05:07.671866: predict yesterday end_record 08-16 00:00:00, final soc 1.12kWh, metric 843.63p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 00:00:00, load 26.2kWh, PV 0.0kWh
2026-08-15 11:05:07.721191: Yesterday: Predbat disabled was £8.44 (adjusted £8.23) vs £7.38 (adjusted £7.05), saving £1.05 (adjusted £1.18) with import 26.54kWh, export 0.0kWh, battery_cycle 4.66kWh, start_soc 1.12kWh,  final_soc 1.12kWh and battery_value 20.49kWh
2026-08-15 11:05:07.837057: predict yesterday end_record 08-16 00:00:00, final soc 0.0kWh, metric 849.84p, metric_keep 0kWh, min_soc 0kWh @ 08-15 00:00:00, load 26.2kWh, PV 0.0kWh
2026-08-15 11:05:07.837254: Yesterday: No Battery/PV system cost predicted was £8.5 (adjusted £8.5) vs £7.38 (adjusted £7.05), saving £1.12 (adjusted £1.44) with import 26.2kWh, export 0kWh and battery_value 0.0kWh
2026-08-15 11:05:07.856355: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 11:05:07.856777: LoadML is_calculating True
2026-08-15 11:05:07.856992: Not using thread pool as LoadML is calculating to avoid lockups
2026-08-15 11:05:07.873752: Calculate Best options: mode(Control charge & discharge), calculate_export_oncharge(False), calculate_export_on_pv(True), set_export_freeze_only(False), set_discharge_during_charge(True), combine_charge_slots(False), combine_export_slots(False), combine_rate_threshold(0.0), best_soc_min(0.0 kWh), best_soc_max(0.0 kWh), best_soc_keep(0.0 kWh), inverter_loss(4%), battery_loss(3%), battery_loss_discharge (3%), inverter_hybrid(True), metric_min_improvement(0.0p), metric_min_improvement_export(0.1p), metric_min_improvement_export_freeze(0.1p), metric_battery_cycle(0.0p/kWh), metric_battery_value_scaling(1.0 x) 
2026-08-15 11:05:07.875732: Optimise levels pass started at 2026-08-15 11:05:07
2026-08-15 11:05:07.876153: Optimise all windows, total charge 95 export 1
2026-08-15 11:05:13.784553: >> Region optimisation pass width 960 gives best_metric 939.24p, best_cost 953.55p, best_cycle 49.52kWh, best_import 36.46kWh
2026-08-15 11:05:15.319062: >> Region optimisation pass width 480 gives best_metric 939.24p, best_cost 953.55p, best_cycle 49.52kWh, best_import 36.46kWh
2026-08-15 11:05:16.735712: >> Region optimisation pass width 240 gives best_metric 939.24p, best_cost 953.55p, best_cycle 49.52kWh, best_import 36.46kWh
2026-08-15 11:05:20.243054: >> Region optimisation pass width 120 gives best_metric 939.24p, best_cost 953.55p, best_cycle 49.52kWh, best_import 36.46kWh
2026-08-15 11:05:20.243782: Calculated end_record as 08-16 11:30:00 based on best_price 22.71p, next_charge_start 08-15 11:30:00, max_windows 49
2026-08-15 11:05:20.244623: Optimise levels pass ended at 2026-08-15 11:05:20, duration 12.4 seconds tried 305 combinations
2026-08-15 11:05:20.244769: Set best_price_charge_level 24.4p, best_price_export_level 0p, best_price_charge 22.71p, best_cost_export 0p, best_metric 939.24p, best_keep 0kWh, best_cycle 49.52kWh, best_carbon 0kg, best_import 36.46kWh
2026-08-15 11:05:20.270764: Starting detailed optimisation end_record 08-16 11:30:00, best_price_charge 22.71p, best_price_export 0p. lowest_price_charge 13.77p with charge limits [0, 16.0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0]kWh and export limits []kWh
2026-08-15 11:05:41.674144: Tweak plan optimisation started metric 550.71p, cost 567.59p
2026-08-15 11:05:43.793492: Tweak optimisation finished metric 550.65p, cost 567.5p, metric_keep 0kWh, cycle 28.78kWh, carbon 0kg, import 19.6kWh, changed 8 window(s)
2026-08-15 11:05:43.809418: Swap charge optimisation started metric 550.65p, cost 567.5p, min_improvement_swap 0.1p
2026-08-15 11:05:49.727104: Swap charge optimisation finished metric 550.65p, cost 567.5p
2026-08-15 11:05:49.848429: Raw charge windows [ 15-08 11:00:00 - 15-08 11:30:00 @ 16.56p 13%, 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 25%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 25%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 13:30:00 @ 15.36p 100%, 15-08 13:30:00 - 15-08 14:00:00 @ 15.74p 100%, 15-08 14:00:00 - 15-08 14:30:00 @ 14.57p 100%, 15-08 14:30:00 - 15-08 15:00:00 @ 13.77p 100%, 15-08 15:00:00 - 15-08 15:30:00 @ 15.02p 100%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 100%, 15-08 16:00:00 - 15-08 16:30:00 @ 33.13p 0%, 15-08 16:30:00 - 15-08 17:00:00 @ 33.13p 0%, 15-08 17:00:00 - 15-08 17:30:00 @ 38.46p 0%, 15-08 17:30:00 - 15-08 18:00:00 @ 40.44p 0%, 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 0%, 15-08 18:30:00 - 15-08 19:00:00 @ 43.82p 0%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 0%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 0%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 0%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 0%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 29.37p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 29.2p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.83p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 28.46p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 27.73p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 27.01p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 26.76p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 26.48p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.39p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 26.27p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.33p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.37p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 26.23p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.07p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.99p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 25.92p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 25.64p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 25.39p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.84p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.28p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.26p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.22p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 24.8p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 25.37p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 24.71p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 24.02p 100%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.79p 100%, 16-08 12:30:00 - 16-08 13:00:00 @ 23.55p 100%, 16-08 13:00:00 - 16-08 13:30:00 @ 23.14p 100%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.71p 100%, 16-08 14:00:00 - 16-08 14:30:00 @ 22.01p 100%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.29p 100%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.01p 100%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.71p 100%, 16-08 16:00:00 - 16-08 16:30:00 @ 37.14p 100%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.91p 100%, 16-08 17:00:00 - 16-08 17:30:00 @ 40.13p 100%, 16-08 17:30:00 - 16-08 18:00:00 @ 42.36p 100%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.19p 100%, 16-08 19:00:00 - 16-08 19:30:00 @ 33.04p 100%, 16-08 19:30:00 - 16-08 20:00:00 @ 33.71p 100%, 16-08 20:00:00 - 16-08 20:30:00 @ 33.83p 100%, 16-08 20:30:00 - 16-08 21:00:00 @ 33.94p 100%, 16-08 21:00:00 - 16-08 21:30:00 @ 33.73p 100%, 16-08 21:30:00 - 16-08 22:00:00 @ 33.53p 100%, 16-08 22:00:00 - 16-08 22:30:00 @ 32.36p 100%, 16-08 22:30:00 - 16-08 23:00:00 @ 31.17p 100%, 16-08 23:00:00 - 16-08 23:30:00 @ 29.37p 100%, 16-08 23:30:00 - 17-08 00:00:00 @ 29.2p 100%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.83p 100%, 17-08 00:30:00 - 17-08 01:00:00 @ 28.46p 100%, 17-08 01:00:00 - 17-08 01:30:00 @ 27.73p 100%, 17-08 01:30:00 - 17-08 02:00:00 @ 27.01p 100%, 17-08 02:00:00 - 17-08 02:30:00 @ 26.76p 100%, 17-08 02:30:00 - 17-08 03:00:00 @ 26.48p 100%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.39p 100%, 17-08 03:30:00 - 17-08 04:00:00 @ 26.27p 100%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.33p 100%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.37p 100%, 17-08 05:00:00 - 17-08 05:30:00 @ 26.23p 100%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.07p 100%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.99p 100%, 17-08 06:30:00 - 17-08 07:00:00 @ 25.92p 100%, 17-08 07:00:00 - 17-08 07:30:00 @ 25.64p 100%, 17-08 07:30:00 - 17-08 08:00:00 @ 25.39p 100%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.84p 100%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.28p 100%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.26p 100%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.22p 100%, 17-08 10:00:00 - 17-08 10:30:00 @ 24.8p 100%, 17-08 10:30:00 - 17-08 11:00:00 @ 25.37p 100%, 17-08 11:00:00 - 17-08 11:30:00 @ 24.71p 100% ] reserve 1.12
2026-08-15 11:05:49.849373: Unclipped charge windows [ 15-08 11:00:00 - 15-08 11:30:00 @ 16.56p 13%, 15-08 11:30:00 - 15-08 13:00:00 @ 16.29p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 11:30:00 - 16-08 18:30:00 @ 41.93p 100%, 16-08 19:00:00 - 17-08 11:30:00 @ 24.84p 100% ] reserve 1.12
2026-08-15 11:05:49.849842: Unfiltered charge windows [ 15-08 11:00:00 - 15-08 11:30:00 @ 16.56p 13%, 15-08 11:30:00 - 15-08 13:00:00 @ 16.29p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 11:30:00 - 16-08 18:30:00 @ 41.93p 100%, 16-08 19:00:00 - 17-08 11:30:00 @ 24.84p 100% ] reserve 1.12
2026-08-15 11:05:49.850190: Filtered charge windows [ 15-08 11:00:00 - 15-08 11:30:00 @ 16.56p 13%, 15-08 11:30:00 - 15-08 13:00:00 @ 16.29p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 11:30:00 - 16-08 18:30:00 @ 41.93p 100%, 16-08 19:00:00 - 17-08 11:30:00 @ 24.84p 100% ] reserve 1.12
2026-08-15 11:05:49.899967: Previous plan best metric is 551.04 (cost 567.98) and new plan best metric is 550.65 (cost 567.5)
2026-08-15 11:05:49.900392: New plan is a cost-neutral improvement but less fragmented (3 vs 4 segments), using new plan
2026-08-15 11:05:49.900455: Plan valid is now true after recompute was False
2026-08-15 11:05:49.940602: predict base end_record 08-16 11:30:00, final soc 2.08kWh, metric 802.02p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 17:25:00, load 25.56kWh, PV 0.0kWh
2026-08-15 11:05:50.166564: Battery has 6.33 hours left - now at 2.08kWh
2026-08-15 11:05:50.244706: predict base10 end_record 08-16 11:30:00, final soc 2.08kWh, metric 825.33p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 17:20:00, load 26.44kWh, PV 0.0kWh
2026-08-15 11:05:50.347412: predict best10 end_record 08-16 11:30:00, final soc 1.12kWh, metric 641.72p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 10:10:00, load 26.44kWh, PV 0.0kWh
2026-08-15 11:05:50.546922: predict best end_record 08-16 11:30:00, final soc 1.12kWh, metric 617.49p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 11:25:00, load 25.56kWh, PV 0.0kWh
2026-08-15 11:05:50.547046: Saving plan best values to HA entities
2026-08-15 11:05:50.894414: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0
2026-08-15 11:05:50.902129: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 11:05:50.909840: Best charging limit SoC's [2.0, 4.0, 16.0, 16.0, 16.0]kWh, export []kWh gives import battery 19.55kWh, house 0.05kWh, export 0.0kWh, metric 617.49p, metric10 641.72p
2026-08-15 11:05:51.027851: Marginal costs baseline metric (no standing charge): 567.5038
2026-08-15 11:05:51.561123: Marginal energy costs matrix computed: min=15.48 max=32.37
2026-08-15 11:05:51.660477: Rate array import [{'start': 665, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 17.0p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1950, 'rate': 'expensive', 'range': '(24.8p - 32.9p)'}, {'start': 1950, 'end': 2040, 'rate': 'cheap', 'range': '(24.2p - 24.3p)'}, {'start': 2040, 'end': 2130, 'rate': 'expensive', 'range': '(24.7p - 25.4p)'}] export [{'start': 665, 'end': 2130, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 11:05:51.661211: - Your estimated bill for today is £5.66 and tomorrow is £6.84
2026-08-15 11:05:51.661284: - Import rates are cheap (13.8p - 17.0p) for the next 4  hours and then expensive (33.1p) for the next 1 hour.
2026-08-15 11:05:51.661358: - The battery is currently at 13% and is charging to 13% for the next 25 minutes.
2026-08-15 11:05:51.661439: - For the next 48 hours there will be no solar generation.
2026-08-15 11:05:51.661503: - You have enough battery to reach the next charge.
2026-08-15 11:05:51.661578: 
2026-08-15 11:05:51.723181: Plan calculation took 44.33 seconds
2026-08-15 11:05:51.723468: Inverter 0: Type SK Sunsynk
2026-08-15 11:05:51.723512: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 11:05:51.723689: Reserve min: 7%, battery_min: 7%
2026-08-15 11:05:51.723775: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 11:05:51.724048: Inverter 0 SoC: 2.08kW 13%, current charge rate 5000W, current discharge rate 0W, current battery power -8W, current battery voltage 51.2V, grid power -315W, load power 312W, PV Power 0W
2026-08-15 11:05:51.724210: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 11:05:51.724312: Inverter 0 scheduled charge enable is True
2026-08-15 11:05:51.724365: Inverter 0 charge windows currently [{'start': 630, 'end': 960, 'average': 0}, {'start': 2070, 'end': 2400, 'average': 0}, {'start': 3510, 'end': 3840, 'average': 0}]
2026-08-15 11:05:51.724563: Inverter 0 Charge settings: 08-15 10:30:00-08-15 16:00:00, limit 13.0%, power 5.0kW
2026-08-15 11:05:51.724766: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 11:05:51.724816: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 11:05:51.724926: Inverter 0 scheduled discharge enable is False
2026-08-15 11:05:51.725434: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 11:05:51.725494: Inverter 0 discharge windows currently []
2026-08-15 11:05:51.725596: Note: Inverter does not support discharge freeze - disabled
2026-08-15 11:05:51.725635: Note: Inverter does not support charge freeze - disabled
2026-08-15 11:05:51.725654: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 11:05:51.858333: Include original charge start 08-15 10:30:00, keeping this instead of new start 08-15 11:00:00
2026-08-15 11:05:51.858485: Inverter 0 Charge window will be: 2026-08-15 10:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 13%, target 13%
2026-08-15 11:05:51.858624: Inverter 0 Target SoC 13%, (this inverter 13%), battery temperature 20°C, select charge rate 5000W (real 5000W), current charge rate 5000W
2026-08-15 11:05:51.858808: Inverter 0 Hold charging as SoC 13% is above target SoC 13% (global soc target 13%) set_discharge_during_charge True
2026-08-15 11:05:51.859052: Adjust idle time, charge 10:30:00-16:00:00 discharge 00:00:00-00:00:00
2026-08-15 11:05:51.859405: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 11:05:51.859630: No export window planned
2026-08-15 11:05:51.874288: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 11:05:51.874512: Adjust idle time, charge 10:30:00-16:00:00 discharge 00:00:00-00:00:00
2026-08-15 11:05:51.874919: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 11:05:51.875140: Inverter 0 setting charging SoC to 13% as per target
2026-08-15 11:05:51.875345: Inverter 0 adjust target SoC for charge to 13% (2.08kWh/16.0kWh 16.0kWh) based on going from 13% -> 13% total add is 0.0kWh and this battery needs to add 0.0kWh to get to 2.08kWh
2026-08-15 11:05:51.875524: Inverter 0 Current Target SoC is 13%, already at target
2026-08-15 11:05:51.875789: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:05:51.875917: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:05:51.876074: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:05:51.876218: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:05:51.876412: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:05:51.876535: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:05:51.876679: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:05:51.876831: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 11:05:51.877028: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 11:05:51.877181: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 11:05:51.877323: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 11:05:51.877433: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 11:05:51.877572: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 11:05:51.877681: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 11:05:51.877876: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:05:51.878002: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:05:51.878157: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:05:51.878294: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:05:51.878428: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:05:51.878535: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:05:51.878670: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:05:51.878815: Inverter 0 count register writes 0
2026-08-15 11:05:51.926574: Total inverter register writes now 817
2026-08-15 11:05:52.018859: Info: Completed run status Hold charging
2026-08-15 11:05:52.032146: Info: record_status Hold charging target 13%-13%
2026-08-15 11:05:52.053551: Saved current settings to /config/predbat_config.json
2026-08-15 11:05:52.054047: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 11:06:04.069273: ML Predictor: Epoch 19/30: lr=0.00038 huber_loss=0.0072 val_mae=0.0045 kWh val_bias=-0.0013 kWh (-1.5%) combined=0.0033 kWh ema_combined=0.0036 kWh
2026-08-15 11:06:27.198618: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 11:06:27.199110: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 11:06:27.199170: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 11:06:27.199403: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 11:06:27.199530: Note: Inverter does not support discharge freeze - disabled
2026-08-15 11:06:27.199579: Note: Inverter does not support charge freeze - disabled
2026-08-15 11:06:27.199669: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 11:06:36.944125: ML Predictor: Epoch 20/30: lr=0.00034 huber_loss=0.0066 val_mae=0.0045 kWh val_bias=-0.0020 kWh (-2.1%) combined=0.0035 kWh ema_combined=0.0036 kWh
2026-08-15 11:07:09.528261: ML Predictor: Epoch 21/30: lr=0.00030 huber_loss=0.0061 val_mae=0.0040 kWh val_bias=-0.0004 kWh (-0.5%) combined=0.0023 kWh ema_combined=0.0032 kWh
2026-08-15 11:07:43.699647: ML Predictor: Epoch 22/30: lr=0.00026 huber_loss=0.0064 val_mae=0.0045 kWh val_bias=-0.0021 kWh (-2.3%) combined=0.0034 kWh ema_combined=0.0033 kWh
2026-08-15 11:08:15.738650: ML Predictor: Epoch 23/30: lr=0.00022 huber_loss=0.0063 val_mae=0.0043 kWh val_bias=-0.0019 kWh (-2.1%) combined=0.0036 kWh ema_combined=0.0034 kWh
2026-08-15 11:08:41.669247: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 11:08:41.669524: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 11:08:41.669571: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 11:08:41.669707: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 11:08:41.669769: Note: Inverter does not support discharge freeze - disabled
2026-08-15 11:08:41.669803: Note: Inverter does not support charge freeze - disabled
2026-08-15 11:08:41.669822: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 11:08:50.564152: ML Predictor: Epoch 24/30: lr=0.00019 huber_loss=0.0058 val_mae=0.0037 kWh val_bias=-0.0008 kWh (-0.9%) combined=0.0021 kWh ema_combined=0.0030 kWh
2026-08-15 11:09:22.078459: ML Predictor: Epoch 25/30: lr=0.00016 huber_loss=0.0058 val_mae=0.0037 kWh val_bias=-0.0013 kWh (-1.4%) combined=0.0025 kWh ema_combined=0.0029 kWh
2026-08-15 11:09:54.093064: ML Predictor: Epoch 26/30: lr=0.00014 huber_loss=0.0056 val_mae=0.0036 kWh val_bias=-0.0012 kWh (-1.3%) combined=0.0028 kWh ema_combined=0.0028 kWh
2026-08-15 11:10:00.023416: --------------- PredBat - update at 2026-08-15 11:10:00+01:00 with clock skew 0 minutes, minutes now 670
2026-08-15 11:10:00.024793: Saved current settings to /config/predbat_config.json
2026-08-15 11:10:00.025125: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 55.0 minutes
2026-08-15 11:10:00.025319: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.1, latest beta is v8.48.1
2026-08-15 11:10:00.025498: Autoupdate: Currently up to date
2026-08-15 11:10:00.076230: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 11:10:00.076563: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 11:10:00.077119: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 11:10:00.078188: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 11:10:00.078521: Predbat mode is set to Control charge & discharge
2026-08-15 11:10:00.461879: Found 21602 load_today datapoints going back 28 days
2026-08-15 11:10:00.462294: Using load_power data to fill gaps in load_today data
2026-08-15 11:10:01.988031: Processing 721 30-minute periods for power integration
2026-08-15 11:10:02.244688: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 11:10:02.244856: Car charging hold False, threshold 6.0kWh
2026-08-15 11:10:02.245852: Current data so far today: load 7.0kWh, import 8.7kWh, export 0.0kWh, PV 0kWh
2026-08-15 11:10:02.262402: Cars: SoC: [11.72]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 11:10:02.269722: Standing charge is set to 49.98p
2026-08-15 11:10:02.408071: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 11:10:02.408521: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 11:10:02.409089: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 30.0 minutes
2026-08-15 11:10:02.409897: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 30.0 minutes
2026-08-15 11:10:02.420688: Loaded 95 datapoints of futurerate analysis
2026-08-15 11:10:02.592901: Predicted future rates: ['08-15 00:00:00 => 28.9 / 20.01', '08-15 01:00:00 => 27.54 / 19.31', '08-15 02:00:00 => 26.52 / 18.8', '08-15 03:00:00 => 25.99 / 18.53', '08-15 04:00:00 => 25.8 / 18.43', '08-15 05:00:00 => 25.96 / 18.51', '08-15 06:00:00 => 25.55 / 18.3', '08-15 07:00:00 => 24.33 / 17.68', '08-15 08:00:00 => 23.03 / 17.01', '08-15 09:00:00 => 22.05 / 16.51', '08-15 10:00:00 => 20.43 / 15.68', '08-15 11:00:00 => 18.01 / 14.45', '08-15 12:00:00 => 16.37 / 13.61', '08-15 13:00:00 => 15.76 / 13.3', '08-15 14:00:00 => 15.35 / 13.09', '08-15 15:00:00 => 15.86 / 13.35', '08-15 16:00:00 => 32.89 / 16.13', '08-15 17:00:00 => 38.02 / 18.75', '08-15 18:00:00 => 42.36 / 20.96', '08-15 19:00:00 => 31.09 / 21.13', '08-15 20:00:00 => 31.64 / 21.41', '08-15 21:00:00 => 31.64 / 21.41', '08-15 22:00:00 => 30.58 / 20.87', '08-15 23:00:00 => 29.37 / 20.25', '08-16 00:00:00 => 28.83 / 19.97', '08-16 01:00:00 => 27.73 / 19.41', '08-16 02:00:00 => 26.76 / 18.92', '08-16 03:00:00 => 26.39 / 18.73', '08-16 04:00:00 => 26.33 / 18.7', '08-16 05:00:00 => 26.23 / 18.65', '08-16 06:00:00 => 25.99 / 18.53', '08-16 07:00:00 => 25.64 / 18.35', '08-16 08:00:00 => 24.84 / 17.94', '08-16 09:00:00 => 24.26 / 17.64', '08-16 10:00:00 => 24.8 / 17.92']
2026-08-15 11:10:02.653514: Rate min forward looking: now 13.77p at end of forecast 21.29p
2026-08-15 11:10:02.654144: Import rates: min 13.77p, max 46.05p, average 27.61p
2026-08-15 11:10:02.704343: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 11:10:02.704484: Rate thresholds (for charge/export) are import 45.55p (0.0p), export -0.1p (0.0p)
2026-08-15 11:10:02.706122: High export rate found rates in range 99p to -99p
2026-08-15 11:10:02.820798: Low Import rate found rates in range 13.77p to 44.19p
2026-08-15 11:10:02.821859: Car 0 charging is not planned as it is not plugged in
2026-08-15 11:10:02.846226: Battery level now 2.08kWh, -1hr ago 1.6kWh, at midnight 1.66kWh, battery value change in the last hour 5.68p, change today 5.01p, rate_forward 11.83p
2026-08-15 11:10:02.846817: Last hour: net energy 0.65kWh, import 0.65kWh, export 0.0kWh, car 0kWh, load 0.25kWh, net cost 11.79p, import 11.79p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 11:10:02.957533: Today's energy total net 8.7kWh, import 8.7kWh, export 0.0kWh, cost 271.79p, import 221.81p, export 0.0p, carbon 0.0kg
2026-08-15 11:10:02.957767: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 11:10:03.141030: Using weighted-bucket historical load forecast over 14 days
2026-08-15 11:10:03.173983: Today's load divergence 104.7%, in-day adjustment 125.48%, damping 0.95x, yesterday 143.77% today 104.46% blend 53.47%
2026-08-15 11:10:03.174115: Today's predicted so far 6.35kWh with 0.0kWh car/iBoost excluded, 3.66kWh import ignored, and 6.35kWh forecast extra.
2026-08-15 11:10:03.174158: Today's actual load so far 7.11kWh with 0.0kWh car/iBoost excluded, and 3.66kWh import ignored.
2026-08-15 11:10:03.239491: Inverter 0: Type SK Sunsynk
2026-08-15 11:10:03.239604: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 11:10:03.239841: Reserve min: 7%, battery_min: 7%
2026-08-15 11:10:03.239936: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 11:10:03.240300: Inverter 0 SoC: 2.08kW 13%, current charge rate 5000W, current discharge rate 0W, current battery power -6W, current battery voltage 51.2V, grid power -378W, load power 378W, PV Power 0W
2026-08-15 11:10:03.240488: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 11:10:03.240597: Inverter 0 scheduled charge enable is True
2026-08-15 11:10:03.240663: Inverter 0 charge windows currently [{'start': 630, 'end': 960, 'average': 0}, {'start': 2070, 'end': 2400, 'average': 0}, {'start': 3510, 'end': 3840, 'average': 0}]
2026-08-15 11:10:03.240790: Inverter 0 Charge settings: 08-15 10:30:00-08-15 16:00:00, limit 13.0%, power 5.0kW
2026-08-15 11:10:03.240941: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 11:10:03.241029: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 11:10:03.241077: Inverter 0 scheduled discharge enable is False
2026-08-15 11:10:03.241234: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 11:10:03.241269: Inverter 0 discharge windows currently []
2026-08-15 11:10:03.241296: Note: Inverter does not support discharge freeze - disabled
2026-08-15 11:10:03.241320: Note: Inverter does not support charge freeze - disabled
2026-08-15 11:10:03.241343: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 11:10:03.346426: Dynamic load last period 0.00kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 11:10:03.346552: Plan was last updated on 2026-08-15 11:05:00+01:00 and is now 5.0 minutes old
2026-08-15 11:10:03.346950: Best charge window [ 15-08 11:00:00 - 15-08 11:30:00 @ 16.56p 13%, 15-08 11:30:00 - 15-08 13:00:00 @ 16.29p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 11:30:00 - 16-08 18:30:00 @ 41.93p 100%, 16-08 19:00:00 - 17-08 11:30:00 @ 24.84p 100% ]
2026-08-15 11:10:03.347020: Best export window [  ]
2026-08-15 11:10:03.348324: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 11:10:03.353185: Load divergence over 8.0 hours mean 640.62W, min 291.6W, max 1657.2W, std dev 322.26W, divergence 25.15%
2026-08-15 11:10:03.388228: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 11:10:03.388524: LoadML is_calculating True
2026-08-15 11:10:03.388584: Not using thread pool as LoadML is calculating to avoid lockups
2026-08-15 11:10:03.478789: predict base end_record 08-16 11:35:00, final soc 2.08kWh, metric 804.53p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 17:25:00, load 25.51kWh, PV 0.0kWh
2026-08-15 11:10:03.708986: Battery has 6.25 hours left - now at 2.08kWh
2026-08-15 11:10:03.821752: predict base10 end_record 08-16 11:35:00, final soc 2.08kWh, metric 827.91p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 17:20:00, load 26.4kWh, PV 0.0kWh
2026-08-15 11:10:04.012653: predict best10 end_record 08-16 11:35:00, final soc 1.44kWh, metric 652.72p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 10:10:00, load 26.4kWh, PV 0.0kWh
2026-08-15 11:10:04.170297: predict best end_record 08-16 11:35:00, final soc 1.51kWh, metric 630.09p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 11:25:00, load 25.51kWh, PV 0.0kWh
2026-08-15 11:10:04.171021: Saving plan best values to HA entities
2026-08-15 11:10:04.509566: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0
2026-08-15 11:10:04.516759: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 11:10:04.534209: Best charging limit SoC's [2.0, 4.0, 16.0, 16.0, 16.0]kWh, export []kWh gives import battery 19.97kWh, house 0.06kWh, export 0.0kWh, metric 630.09p, metric10 652.72p
2026-08-15 11:10:04.699208: Marginal costs baseline metric (no standing charge): 580.1087
2026-08-15 11:10:05.265299: Marginal energy costs matrix computed: min=15.42 max=32.51
2026-08-15 11:10:05.371580: Rate array import [{'start': 670, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 17.0p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1950, 'rate': 'expensive', 'range': '(24.8p - 32.9p)'}, {'start': 1950, 'end': 2040, 'rate': 'cheap', 'range': '(24.2p - 24.3p)'}, {'start': 2040, 'end': 2130, 'rate': 'expensive', 'range': '(24.7p - 25.4p)'}, {'start': 2130, 'end': 2135, 'rate': 'cheap', 'range': '(24.0p)'}] export [{'start': 670, 'end': 2135, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 11:10:05.372182: - Your estimated bill for today is £5.66 and tomorrow is £6.86
2026-08-15 11:10:05.372241: - Import rates are cheap (13.8p - 17.0p) for the next 4 and three quarters hours and then expensive (33.1p) for the next 1 hour.
2026-08-15 11:10:05.372266: - The battery is currently at 13% and is charging to 13% for the next 20 minutes.
2026-08-15 11:10:05.372353: - For the next 48 hours there will be no solar generation.
2026-08-15 11:10:05.372394: - You have enough battery to reach the next charge.
2026-08-15 11:10:05.372414: 
2026-08-15 11:10:05.408505: Plan calculation took 2.06 seconds
2026-08-15 11:10:05.412047: No high rate period found
2026-08-15 11:10:05.516319: Import threshold used for optimisation was 17.0p
2026-08-15 11:10:05.597483: Low import rate windows [0: 08-15 11:00:00 - 08-15 11:30:00 @ 16.56, 1: 08-15 11:30:00 - 08-15 12:00:00 @ 15.46, 2: 08-15 12:00:00 - 08-15 12:30:00 @ 17.0, 3: 08-15 12:30:00 - 08-15 13:00:00 @ 16.34, 4: 08-15 13:00:00 - 08-15 13:30:00 @ 15.36, 5: 08-15 13:30:00 - 08-15 14:00:00 @ 15.74, 6: 08-15 14:00:00 - 08-15 14:30:00 @ 14.57, 7: 08-15 14:30:00 - 08-15 15:00:00 @ 13.77, 8: 08-15 15:00:00 - 08-15 15:30:00 @ 15.02, 9: 08-15 15:30:00 - 08-15 16:00:00 @ 15.87, 10: 08-15 16:00:00 - 08-15 16:30:00 @ 33.13, 11: 08-15 16:30:00 - 08-15 17:00:00 @ 33.13, 12: 08-15 17:00:00 - 08-15 17:30:00 @ 38.46, 13: 08-15 17:30:00 - 08-15 18:00:00 @ 40.44, 14: 08-15 18:00:00 - 08-15 18:30:00 @ 41.55, 15: 08-15 18:30:00 - 08-15 19:00:00 @ 43.82, 16: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 17: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 18: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 19: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 20: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 21: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 22: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 23: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 24: 08-15 23:00:00 - 08-15 23:30:00 @ 29.37, 25: 08-15 23:30:00 - 08-16 00:00:00 @ 29.2, 26: 08-16 00:00:00 - 08-16 00:30:00 @ 28.83, 27: 08-16 00:30:00 - 08-16 01:00:00 @ 28.46, 28: 08-16 01:00:00 - 08-16 01:30:00 @ 27.73, 29: 08-16 01:30:00 - 08-16 02:00:00 @ 27.01, 30: 08-16 02:00:00 - 08-16 02:30:00 @ 26.76, 31: 08-16 02:30:00 - 08-16 03:00:00 @ 26.48, 32: 08-16 03:00:00 - 08-16 03:30:00 @ 26.39, 33: 08-16 03:30:00 - 08-16 04:00:00 @ 26.27, 34: 08-16 04:00:00 - 08-16 04:30:00 @ 26.33, 35: 08-16 04:30:00 - 08-16 05:00:00 @ 26.37, 36: 08-16 05:00:00 - 08-16 05:30:00 @ 26.23, 37: 08-16 05:30:00 - 08-16 06:00:00 @ 26.07, 38: 08-16 06:00:00 - 08-16 06:30:00 @ 25.99, 39: 08-16 06:30:00 - 08-16 07:00:00 @ 25.92, 40: 08-16 07:00:00 - 08-16 07:30:00 @ 25.64, 41: 08-16 07:30:00 - 08-16 08:00:00 @ 25.39, 42: 08-16 08:00:00 - 08-16 08:30:00 @ 24.84, 43: 08-16 08:30:00 - 08-16 09:00:00 @ 24.28, 44: 08-16 09:00:00 - 08-16 09:30:00 @ 24.26, 45: 08-16 09:30:00 - 08-16 10:00:00 @ 24.22, 46: 08-16 10:00:00 - 08-16 10:30:00 @ 24.8, 47: 08-16 10:30:00 - 08-16 11:00:00 @ 25.37, 48: 08-16 11:00:00 - 08-16 11:30:00 @ 24.71, 49: 08-16 11:30:00 - 08-16 12:00:00 @ 24.02, 50: 08-16 12:00:00 - 08-16 12:30:00 @ 23.79, 51: 08-16 12:30:00 - 08-16 13:00:00 @ 23.55, 52: 08-16 13:00:00 - 08-16 13:30:00 @ 23.14, 53: 08-16 13:30:00 - 08-16 14:00:00 @ 22.71, 54: 08-16 14:00:00 - 08-16 14:30:00 @ 22.01, 55: 08-16 14:30:00 - 08-16 15:00:00 @ 21.29, 56: 08-16 15:00:00 - 08-16 15:30:00 @ 22.01, 57: 08-16 15:30:00 - 08-16 16:00:00 @ 22.71, 58: 08-16 16:00:00 - 08-16 16:30:00 @ 37.14, 59: 08-16 16:30:00 - 08-16 17:00:00 @ 37.91, 60: 08-16 17:00:00 - 08-16 17:30:00 @ 40.13, 61: 08-16 17:30:00 - 08-16 18:00:00 @ 42.36, 62: 08-16 18:00:00 - 08-16 18:30:00 @ 44.19, 63: 08-16 19:00:00 - 08-16 19:30:00 @ 33.04, 64: 08-16 19:30:00 - 08-16 20:00:00 @ 33.71, 65: 08-16 20:00:00 - 08-16 20:30:00 @ 33.83, 66: 08-16 20:30:00 - 08-16 21:00:00 @ 33.94, 67: 08-16 21:00:00 - 08-16 21:30:00 @ 33.73, 68: 08-16 21:30:00 - 08-16 22:00:00 @ 33.53, 69: 08-16 22:00:00 - 08-16 22:30:00 @ 32.36, 70: 08-16 22:30:00 - 08-16 23:00:00 @ 31.17, 71: 08-16 23:00:00 - 08-16 23:30:00 @ 29.37, 72: 08-16 23:30:00 - 08-17 00:00:00 @ 29.2, 73: 08-17 00:00:00 - 08-17 00:30:00 @ 28.83, 74: 08-17 00:30:00 - 08-17 01:00:00 @ 28.46, 75: 08-17 01:00:00 - 08-17 01:30:00 @ 27.73, 76: 08-17 01:30:00 - 08-17 02:00:00 @ 27.01, 77: 08-17 02:00:00 - 08-17 02:30:00 @ 26.76, 78: 08-17 02:30:00 - 08-17 03:00:00 @ 26.48, 79: 08-17 03:00:00 - 08-17 03:30:00 @ 26.39, 80: 08-17 03:30:00 - 08-17 04:00:00 @ 26.27, 81: 08-17 04:00:00 - 08-17 04:30:00 @ 26.33, 82: 08-17 04:30:00 - 08-17 05:00:00 @ 26.37, 83: 08-17 05:00:00 - 08-17 05:30:00 @ 26.23, 84: 08-17 05:30:00 - 08-17 06:00:00 @ 26.07, 85: 08-17 06:00:00 - 08-17 06:30:00 @ 25.99, 86: 08-17 06:30:00 - 08-17 07:00:00 @ 25.92, 87: 08-17 07:00:00 - 08-17 07:30:00 @ 25.64, 88: 08-17 07:30:00 - 08-17 08:00:00 @ 25.39, 89: 08-17 08:00:00 - 08-17 08:30:00 @ 24.84, 90: 08-17 08:30:00 - 08-17 09:00:00 @ 24.28, 91: 08-17 09:00:00 - 08-17 09:30:00 @ 24.26, 92: 08-17 09:30:00 - 08-17 10:00:00 @ 24.22, 93: 08-17 10:00:00 - 08-17 10:30:00 @ 24.8, 94: 08-17 10:30:00 - 08-17 11:00:00 @ 25.37, 95: 08-17 11:00:00 - 08-17 11:30:00 @ 24.71]
2026-08-15 11:10:05.614499: Include original charge start 08-15 10:30:00, keeping this instead of new start 08-15 11:00:00
2026-08-15 11:10:05.614632: Inverter 0 Charge window will be: 2026-08-15 10:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 13%, target 13%
2026-08-15 11:10:05.614778: Inverter 0 Target SoC 13%, (this inverter 13%), battery temperature 20°C, select charge rate 5000W (real 5000W), current charge rate 5000W
2026-08-15 11:10:05.614997: Inverter 0 Hold charging as SoC 13% is above target SoC 13% (global soc target 13%) set_discharge_during_charge True
2026-08-15 11:10:05.615273: Adjust idle time, charge 10:30:00-16:00:00 discharge 00:00:00-00:00:00
2026-08-15 11:10:05.615674: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 11:10:05.615932: No export window planned
2026-08-15 11:10:05.616185: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 11:10:05.616322: Adjust idle time, charge 10:30:00-16:00:00 discharge 00:00:00-00:00:00
2026-08-15 11:10:05.616582: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 11:10:05.616777: Inverter 0 setting charging SoC to 13% as per target
2026-08-15 11:10:05.616938: Inverter 0 adjust target SoC for charge to 13% (2.08kWh/16.0kWh 16.0kWh) based on going from 13% -> 13% total add is 0.0kWh and this battery needs to add 0.0kWh to get to 2.08kWh
2026-08-15 11:10:05.617165: Inverter 0 Current Target SoC is 13%, already at target
2026-08-15 11:10:05.617382: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:10:05.617517: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:10:05.617645: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:10:05.617790: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:10:05.617921: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:10:05.618040: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:10:05.618177: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:10:05.618342: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 11:10:05.618604: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 11:10:05.618799: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 11:10:05.618993: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 11:10:05.619188: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 11:10:05.619420: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 11:10:05.619609: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 11:10:05.619836: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:10:05.619974: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:10:05.620094: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:10:05.620218: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:10:05.620372: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:10:05.620493: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:10:05.620610: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:10:05.620715: Inverter 0 count register writes 0
2026-08-15 11:10:05.645200: Will not recompute the plan, it is 5.0 minutes old and max age is 10 minutes
2026-08-15 11:10:05.654898: Total inverter register writes now 817
2026-08-15 11:10:05.724971: Info: Completed run status Hold charging
2026-08-15 11:10:05.732104: Info: record_status Hold charging target 13%-13%
2026-08-15 11:10:05.741607: Saved current settings to /config/predbat_config.json
2026-08-15 11:10:05.742003: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 11:10:32.880449: ML Predictor: Epoch 27/30: lr=0.00012 huber_loss=0.0054 val_mae=0.0038 kWh val_bias=-0.0005 kWh (-0.6%) combined=0.0021 kWh ema_combined=0.0026 kWh
2026-08-15 11:10:41.901829: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 11:10:41.902437: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 11:10:41.902624: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 11:10:41.902981: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 11:10:41.903141: Note: Inverter does not support discharge freeze - disabled
2026-08-15 11:10:41.903286: Note: Inverter does not support charge freeze - disabled
2026-08-15 11:10:41.903425: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 11:11:06.975601: ML Predictor: Epoch 28/30: lr=0.00011 huber_loss=0.0058 val_mae=0.0039 kWh val_bias=-0.0016 kWh (-1.8%) combined=0.0026 kWh ema_combined=0.0026 kWh
2026-08-15 11:11:39.619885: ML Predictor: Epoch 29/30: lr=0.00010 huber_loss=0.0053 val_mae=0.0035 kWh val_bias=-0.0010 kWh (-1.1%) combined=0.0022 kWh ema_combined=0.0025 kWh
2026-08-15 11:12:13.995041: ML Predictor: Epoch 30/30: lr=0.00010 huber_loss=0.0056 val_mae=0.0032 kWh val_bias=+0.0003 kWh (+0.4%) combined=0.0021 kWh ema_combined=0.0024 kWh
2026-08-15 11:12:14.018709: ML Predictor: Restored best weights from epoch with val_mae=0.0032 kWh val_bias=+0.0003 kWh (+0.4%)
2026-08-15 11:12:14.018941: ML Predictor: Training complete, final val_mae=0.0032 kWh val_bias=+0.0003 kWh (+0.4%)
2026-08-15 11:12:24.263782: ML Predictor: AR rollout over holdout: ar_mae=0.0034 kWh ar_bias=+0.0004 kWh (+0.4%) [drift vs teacher-forced: +0.0002 kWh]
2026-08-15 11:12:24.268333: ML Predictor: Curriculum training complete, final val_mae=0.0032 kWh
2026-08-15 11:12:24.280644: ML Component: Training successful, val_mae=0.0032 kWh
2026-08-15 11:12:24.437366: ML Predictor: Model saved to /config/predbat_ml_model.npz
2026-08-15 11:12:24.443508: ML Component: Generating predictions load data age 56.0 days, 16382 data points
2026-08-15 11:12:24.618599: ML Predictor: Starting autoregressive prediction loop for 576 steps (48.0 hours), prev_energy value 0.0297 max_dow {0: 0.10500312496256084, 1: 0.10763750054407865, 2: 0.11822499983031302, 3: 0.1251781244263053, 4: 0.1736281253574416, 5: 0.10149375002831221, 6: 0.10796875073947013}
2026-08-15 11:12:34.447553: ML Component: Generated 576 predictions (total 34.72 kWh over 48h)
2026-08-15 11:12:34.490240: ML Component: Prediction cycle completed
2026-08-15 11:12:34.651666: ML Component: Saved 16382 steps (56 days) of history to /config/predbat_ml_history.npz
2026-08-15 11:12:56.893364: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 11:12:56.893664: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 11:12:56.893719: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 11:12:56.893949: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 11:12:56.894001: Note: Inverter does not support discharge freeze - disabled
2026-08-15 11:12:56.894030: Note: Inverter does not support charge freeze - disabled
2026-08-15 11:12:56.894055: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 11:14:57.144230: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 11:14:57.144524: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 11:14:57.144589: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 11:14:57.144731: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 11:14:57.144769: Note: Inverter does not support discharge freeze - disabled
2026-08-15 11:14:57.144815: Note: Inverter does not support charge freeze - disabled
2026-08-15 11:14:57.144833: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 11:15:00.220620: --------------- PredBat - update at 2026-08-15 11:15:00+01:00 with clock skew 0 minutes, minutes now 675
2026-08-15 11:15:00.221538: Saved current settings to /config/predbat_config.json
2026-08-15 11:15:00.221705: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 60.0 minutes
2026-08-15 11:15:00.221861: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.1, latest beta is v8.48.1
2026-08-15 11:15:00.221944: Autoupdate: Currently up to date
2026-08-15 11:15:00.242859: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 11:15:00.242993: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 11:15:00.243198: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 11:15:00.243822: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 11:15:00.243993: Predbat mode is set to Control charge & discharge
2026-08-15 11:15:00.431008: Found 21602 load_today datapoints going back 28 days
2026-08-15 11:15:00.431150: Using load_power data to fill gaps in load_today data
2026-08-15 11:15:01.125915: Processing 721 30-minute periods for power integration
2026-08-15 11:15:01.288610: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 11:15:01.288741: Car charging hold False, threshold 6.0kWh
2026-08-15 11:15:01.288800: Current data so far today: load 7.0kWh, import 8.7kWh, export 0.0kWh, PV 0kWh
2026-08-15 11:15:01.301761: Cars: SoC: [11.72]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 11:15:01.302333: Standing charge is set to 49.98p
2026-08-15 11:15:01.342861: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 11:15:01.342969: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 11:15:01.343168: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 35.0 minutes
2026-08-15 11:15:01.343563: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 35.0 minutes
2026-08-15 11:15:01.349542: Loaded 95 datapoints of futurerate analysis
2026-08-15 11:15:01.428307: Predicted future rates: ['08-15 00:00:00 => 28.9 / 20.01', '08-15 01:00:00 => 27.54 / 19.31', '08-15 02:00:00 => 26.52 / 18.8', '08-15 03:00:00 => 25.99 / 18.53', '08-15 04:00:00 => 25.8 / 18.43', '08-15 05:00:00 => 25.96 / 18.51', '08-15 06:00:00 => 25.55 / 18.3', '08-15 07:00:00 => 24.33 / 17.68', '08-15 08:00:00 => 23.03 / 17.01', '08-15 09:00:00 => 22.05 / 16.51', '08-15 10:00:00 => 20.43 / 15.68', '08-15 11:00:00 => 18.01 / 14.45', '08-15 12:00:00 => 16.37 / 13.61', '08-15 13:00:00 => 15.76 / 13.3', '08-15 14:00:00 => 15.35 / 13.09', '08-15 15:00:00 => 15.86 / 13.35', '08-15 16:00:00 => 32.89 / 16.13', '08-15 17:00:00 => 38.02 / 18.75', '08-15 18:00:00 => 42.36 / 20.96', '08-15 19:00:00 => 31.09 / 21.13', '08-15 20:00:00 => 31.64 / 21.41', '08-15 21:00:00 => 31.64 / 21.41', '08-15 22:00:00 => 30.58 / 20.87', '08-15 23:00:00 => 29.37 / 20.25', '08-16 00:00:00 => 28.83 / 19.97', '08-16 01:00:00 => 27.73 / 19.41', '08-16 02:00:00 => 26.76 / 18.92', '08-16 03:00:00 => 26.39 / 18.73', '08-16 04:00:00 => 26.33 / 18.7', '08-16 05:00:00 => 26.23 / 18.65', '08-16 06:00:00 => 25.99 / 18.53', '08-16 07:00:00 => 25.64 / 18.35', '08-16 08:00:00 => 24.84 / 17.94', '08-16 09:00:00 => 24.26 / 17.64', '08-16 10:00:00 => 24.8 / 17.92']
2026-08-15 11:15:01.479574: Rate min forward looking: now 13.77p at end of forecast 21.29p
2026-08-15 11:15:01.479979: Import rates: min 13.77p, max 46.05p, average 27.63p
2026-08-15 11:15:01.515053: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 11:15:01.515164: Rate thresholds (for charge/export) are import 45.55p (0.0p), export -0.1p (0.0p)
2026-08-15 11:15:01.516371: High export rate found rates in range 99p to -99p
2026-08-15 11:15:01.595232: Low Import rate found rates in range 13.77p to 44.19p
2026-08-15 11:15:01.595353: Car 0 charging is not planned as it is not plugged in
2026-08-15 11:15:01.608375: Battery level now 2.08kWh, -1hr ago 1.47kWh, at midnight 1.66kWh, battery value change in the last hour 7.19p, change today 5.01p, rate_forward 11.83p
2026-08-15 11:15:01.608753: Last hour: net energy 0.6kWh, import 0.6kWh, export 0.0kWh, car 0kWh, load 0.2kWh, net cost 10.81p, import 10.81p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 11:15:01.671003: Today's energy total net 8.7kWh, import 8.7kWh, export 0.0kWh, cost 271.79p, import 221.81p, export 0.0p, carbon 0.0kg
2026-08-15 11:15:01.671149: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 11:15:01.748893: Using weighted-bucket historical load forecast over 14 days
2026-08-15 11:15:01.771999: Today's load divergence 104.29%, in-day adjustment 125.16%, damping 0.95x, yesterday 143.77% today 104.07% blend 53.12%
2026-08-15 11:15:01.772103: Today's predicted so far 6.37kWh with 0.0kWh car/iBoost excluded, 3.64kWh import ignored, and 6.37kWh forecast extra.
2026-08-15 11:15:01.772131: Today's actual load so far 7.07kWh with 0.0kWh car/iBoost excluded, and 3.64kWh import ignored.
2026-08-15 11:15:01.808103: Inverter 0: Type SK Sunsynk
2026-08-15 11:15:01.808200: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 11:15:01.808417: Reserve min: 7%, battery_min: 7%
2026-08-15 11:15:01.808498: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 11:15:01.808766: Inverter 0 SoC: 2.08kW 13%, current charge rate 5000W, current discharge rate 0W, current battery power -6W, current battery voltage 51.2V, grid power -338W, load power 338W, PV Power 0W
2026-08-15 11:15:01.808988: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 11:15:01.809099: Inverter 0 scheduled charge enable is True
2026-08-15 11:15:01.809155: Inverter 0 charge windows currently [{'start': 630, 'end': 960, 'average': 0}, {'start': 2070, 'end': 2400, 'average': 0}, {'start': 3510, 'end': 3840, 'average': 0}]
2026-08-15 11:15:01.809281: Inverter 0 Charge settings: 08-15 10:30:00-08-15 16:00:00, limit 13.0%, power 5.0kW
2026-08-15 11:15:01.809434: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 11:15:01.809478: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 11:15:01.809526: Inverter 0 scheduled discharge enable is False
2026-08-15 11:15:01.809677: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 11:15:01.809714: Inverter 0 discharge windows currently []
2026-08-15 11:15:01.809740: Note: Inverter does not support discharge freeze - disabled
2026-08-15 11:15:01.809811: Note: Inverter does not support charge freeze - disabled
2026-08-15 11:15:01.809843: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 11:15:01.867922: Dynamic load last period 0.00kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 11:15:01.868034: Plan was last updated on 2026-08-15 11:05:00+01:00 and is now 10.0 minutes old
2026-08-15 11:15:01.868295: Best charge window [ 15-08 11:00:00 - 15-08 11:30:00 @ 16.56p 13%, 15-08 11:30:00 - 15-08 13:00:00 @ 16.29p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 11:30:00 - 16-08 18:30:00 @ 41.93p 100%, 16-08 19:00:00 - 17-08 11:30:00 @ 24.84p 100% ]
2026-08-15 11:15:01.868337: Best export window [  ]
2026-08-15 11:15:01.869249: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 11:15:01.872445: Load divergence over 8.0 hours mean 640.81W, min 290.4W, max 1777.8W, std dev 355.66W, divergence 27.75%
2026-08-15 11:15:01.888170: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 11:15:01.888287: LoadML is_calculating False
2026-08-15 11:15:01.888359: Creating pool of 12 processes to match your CPU count
2026-08-15 11:15:02.005310: predict base end_record 08-16 11:40:00, final soc 2.08kWh, metric 805.46p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 17:25:00, load 25.52kWh, PV 0.0kWh
2026-08-15 11:15:02.142599: Battery has 6.17 hours left - now at 2.08kWh
2026-08-15 11:15:02.184592: predict base10 end_record 08-16 11:40:00, final soc 2.08kWh, metric 828.86p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 17:20:00, load 26.41kWh, PV 0.0kWh
2026-08-15 11:15:02.291851: predict best10 end_record 08-16 11:40:00, final soc 1.77kWh, metric 662.04p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 10:10:00, load 26.41kWh, PV 0.0kWh
2026-08-15 11:15:02.364739: predict best end_record 08-16 11:40:00, final soc 1.9kWh, metric 641.04p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 11:25:00, load 25.52kWh, PV 0.0kWh
2026-08-15 11:15:02.364848: Saving plan best values to HA entities
2026-08-15 11:15:02.526161: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0
2026-08-15 11:15:02.532285: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 11:15:02.537698: Best charging limit SoC's [2.0, 4.0, 16.0, 16.0, 16.0]kWh, export []kWh gives import battery 20.4kWh, house 0.05kWh, export 0.0kWh, metric 641.04p, metric10 662.04p
2026-08-15 11:15:02.607052: Marginal costs baseline metric (no standing charge): 591.06
2026-08-15 11:15:02.842569: Marginal energy costs matrix computed: min=15.35 max=32.68
2026-08-15 11:15:02.904815: Rate array import [{'start': 675, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 17.0p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1950, 'rate': 'expensive', 'range': '(24.8p - 32.9p)'}, {'start': 1950, 'end': 2040, 'rate': 'cheap', 'range': '(24.2p - 24.3p)'}, {'start': 2040, 'end': 2130, 'rate': 'expensive', 'range': '(24.7p - 25.4p)'}, {'start': 2130, 'end': 2140, 'rate': 'cheap', 'range': '(24.0p)'}] export [{'start': 675, 'end': 2140, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 11:15:02.905358: - Your estimated bill for today is £5.65 and tomorrow is £6.87
2026-08-15 11:15:02.905418: - Import rates are cheap (13.8p - 17.0p) for the next 4 and three quarters hours and then expensive (33.1p) for the next 1 hour.
2026-08-15 11:15:02.905444: - The battery is currently at 13% and is charging to 13% for the next 15 minutes.
2026-08-15 11:15:02.905474: - For the next 48 hours there will be no solar generation.
2026-08-15 11:15:02.905539: - You have enough battery to reach the next charge.
2026-08-15 11:15:02.905571: 
2026-08-15 11:15:02.955405: Plan calculation took 1.09 seconds
2026-08-15 11:15:02.958305: No high rate period found
2026-08-15 11:15:03.002467: Import threshold used for optimisation was 17.0p
2026-08-15 11:15:03.049973: Low import rate windows [0: 08-15 11:00:00 - 08-15 11:30:00 @ 16.56, 1: 08-15 11:30:00 - 08-15 12:00:00 @ 15.46, 2: 08-15 12:00:00 - 08-15 12:30:00 @ 17.0, 3: 08-15 12:30:00 - 08-15 13:00:00 @ 16.34, 4: 08-15 13:00:00 - 08-15 13:30:00 @ 15.36, 5: 08-15 13:30:00 - 08-15 14:00:00 @ 15.74, 6: 08-15 14:00:00 - 08-15 14:30:00 @ 14.57, 7: 08-15 14:30:00 - 08-15 15:00:00 @ 13.77, 8: 08-15 15:00:00 - 08-15 15:30:00 @ 15.02, 9: 08-15 15:30:00 - 08-15 16:00:00 @ 15.87, 10: 08-15 16:00:00 - 08-15 16:30:00 @ 33.13, 11: 08-15 16:30:00 - 08-15 17:00:00 @ 33.13, 12: 08-15 17:00:00 - 08-15 17:30:00 @ 38.46, 13: 08-15 17:30:00 - 08-15 18:00:00 @ 40.44, 14: 08-15 18:00:00 - 08-15 18:30:00 @ 41.55, 15: 08-15 18:30:00 - 08-15 19:00:00 @ 43.82, 16: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 17: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 18: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 19: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 20: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 21: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 22: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 23: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 24: 08-15 23:00:00 - 08-15 23:30:00 @ 29.37, 25: 08-15 23:30:00 - 08-16 00:00:00 @ 29.2, 26: 08-16 00:00:00 - 08-16 00:30:00 @ 28.83, 27: 08-16 00:30:00 - 08-16 01:00:00 @ 28.46, 28: 08-16 01:00:00 - 08-16 01:30:00 @ 27.73, 29: 08-16 01:30:00 - 08-16 02:00:00 @ 27.01, 30: 08-16 02:00:00 - 08-16 02:30:00 @ 26.76, 31: 08-16 02:30:00 - 08-16 03:00:00 @ 26.48, 32: 08-16 03:00:00 - 08-16 03:30:00 @ 26.39, 33: 08-16 03:30:00 - 08-16 04:00:00 @ 26.27, 34: 08-16 04:00:00 - 08-16 04:30:00 @ 26.33, 35: 08-16 04:30:00 - 08-16 05:00:00 @ 26.37, 36: 08-16 05:00:00 - 08-16 05:30:00 @ 26.23, 37: 08-16 05:30:00 - 08-16 06:00:00 @ 26.07, 38: 08-16 06:00:00 - 08-16 06:30:00 @ 25.99, 39: 08-16 06:30:00 - 08-16 07:00:00 @ 25.92, 40: 08-16 07:00:00 - 08-16 07:30:00 @ 25.64, 41: 08-16 07:30:00 - 08-16 08:00:00 @ 25.39, 42: 08-16 08:00:00 - 08-16 08:30:00 @ 24.84, 43: 08-16 08:30:00 - 08-16 09:00:00 @ 24.28, 44: 08-16 09:00:00 - 08-16 09:30:00 @ 24.26, 45: 08-16 09:30:00 - 08-16 10:00:00 @ 24.22, 46: 08-16 10:00:00 - 08-16 10:30:00 @ 24.8, 47: 08-16 10:30:00 - 08-16 11:00:00 @ 25.37, 48: 08-16 11:00:00 - 08-16 11:30:00 @ 24.71, 49: 08-16 11:30:00 - 08-16 12:00:00 @ 24.02, 50: 08-16 12:00:00 - 08-16 12:30:00 @ 23.79, 51: 08-16 12:30:00 - 08-16 13:00:00 @ 23.55, 52: 08-16 13:00:00 - 08-16 13:30:00 @ 23.14, 53: 08-16 13:30:00 - 08-16 14:00:00 @ 22.71, 54: 08-16 14:00:00 - 08-16 14:30:00 @ 22.01, 55: 08-16 14:30:00 - 08-16 15:00:00 @ 21.29, 56: 08-16 15:00:00 - 08-16 15:30:00 @ 22.01, 57: 08-16 15:30:00 - 08-16 16:00:00 @ 22.71, 58: 08-16 16:00:00 - 08-16 16:30:00 @ 37.14, 59: 08-16 16:30:00 - 08-16 17:00:00 @ 37.91, 60: 08-16 17:00:00 - 08-16 17:30:00 @ 40.13, 61: 08-16 17:30:00 - 08-16 18:00:00 @ 42.36, 62: 08-16 18:00:00 - 08-16 18:30:00 @ 44.19, 63: 08-16 19:00:00 - 08-16 19:30:00 @ 33.04, 64: 08-16 19:30:00 - 08-16 20:00:00 @ 33.71, 65: 08-16 20:00:00 - 08-16 20:30:00 @ 33.83, 66: 08-16 20:30:00 - 08-16 21:00:00 @ 33.94, 67: 08-16 21:00:00 - 08-16 21:30:00 @ 33.73, 68: 08-16 21:30:00 - 08-16 22:00:00 @ 33.53, 69: 08-16 22:00:00 - 08-16 22:30:00 @ 32.36, 70: 08-16 22:30:00 - 08-16 23:00:00 @ 31.17, 71: 08-16 23:00:00 - 08-16 23:30:00 @ 29.37, 72: 08-16 23:30:00 - 08-17 00:00:00 @ 29.2, 73: 08-17 00:00:00 - 08-17 00:30:00 @ 28.83, 74: 08-17 00:30:00 - 08-17 01:00:00 @ 28.46, 75: 08-17 01:00:00 - 08-17 01:30:00 @ 27.73, 76: 08-17 01:30:00 - 08-17 02:00:00 @ 27.01, 77: 08-17 02:00:00 - 08-17 02:30:00 @ 26.76, 78: 08-17 02:30:00 - 08-17 03:00:00 @ 26.48, 79: 08-17 03:00:00 - 08-17 03:30:00 @ 26.39, 80: 08-17 03:30:00 - 08-17 04:00:00 @ 26.27, 81: 08-17 04:00:00 - 08-17 04:30:00 @ 26.33, 82: 08-17 04:30:00 - 08-17 05:00:00 @ 26.37, 83: 08-17 05:00:00 - 08-17 05:30:00 @ 26.23, 84: 08-17 05:30:00 - 08-17 06:00:00 @ 26.07, 85: 08-17 06:00:00 - 08-17 06:30:00 @ 25.99, 86: 08-17 06:30:00 - 08-17 07:00:00 @ 25.92, 87: 08-17 07:00:00 - 08-17 07:30:00 @ 25.64, 88: 08-17 07:30:00 - 08-17 08:00:00 @ 25.39, 89: 08-17 08:00:00 - 08-17 08:30:00 @ 24.84, 90: 08-17 08:30:00 - 08-17 09:00:00 @ 24.28, 91: 08-17 09:00:00 - 08-17 09:30:00 @ 24.26, 92: 08-17 09:30:00 - 08-17 10:00:00 @ 24.22, 93: 08-17 10:00:00 - 08-17 10:30:00 @ 24.8, 94: 08-17 10:30:00 - 08-17 11:00:00 @ 25.37, 95: 08-17 11:00:00 - 08-17 11:30:00 @ 24.71]
2026-08-15 11:15:03.057630: Include original charge start 08-15 10:30:00, keeping this instead of new start 08-15 11:00:00
2026-08-15 11:15:03.057736: Inverter 0 Charge window will be: 2026-08-15 10:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 13%, target 13%
2026-08-15 11:15:03.057932: Inverter 0 Target SoC 13%, (this inverter 13%), battery temperature 20°C, select charge rate 5000W (real 5000W), current charge rate 5000W
2026-08-15 11:15:03.058009: Inverter 0 Hold charging as SoC 13% is above target SoC 13% (global soc target 13%) set_discharge_during_charge True
2026-08-15 11:15:03.058141: Adjust idle time, charge 10:30:00-16:00:00 discharge 00:00:00-00:00:00
2026-08-15 11:15:03.058373: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 11:15:03.058486: No export window planned
2026-08-15 11:15:03.058596: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 11:15:03.058634: Adjust idle time, charge 10:30:00-16:00:00 discharge 00:00:00-00:00:00
2026-08-15 11:15:03.058751: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 11:15:03.058845: Inverter 0 setting charging SoC to 13% as per target
2026-08-15 11:15:03.058894: Inverter 0 adjust target SoC for charge to 13% (2.08kWh/16.0kWh 16.0kWh) based on going from 13% -> 13% total add is 0.0kWh and this battery needs to add 0.0kWh to get to 2.08kWh
2026-08-15 11:15:03.058960: Inverter 0 Current Target SoC is 13%, already at target
2026-08-15 11:15:03.059057: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:15:03.059091: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:15:03.059114: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:15:03.059135: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:15:03.059155: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:15:03.059174: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:15:03.059194: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:15:03.059230: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 11:15:03.059253: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 11:15:03.059277: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 11:15:03.059300: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 11:15:03.059325: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 11:15:03.059351: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 11:15:03.059372: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 11:15:03.059443: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:15:03.059468: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:15:03.059489: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:15:03.059513: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:15:03.059532: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:15:03.059551: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:15:03.059574: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:15:03.059590: Inverter 0 count register writes 0
2026-08-15 11:15:03.074377: Will recompute the plan as it is now 10.0 minutes old and will exceed the max age of 10 minutes before the next run
2026-08-15 11:15:03.074533: Recompute is saving previous plan...
2026-08-15 11:15:03.077167: Best charge window [ 15-08 11:00:00 - 15-08 11:30:00 @ 16.56p 13%, 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 13%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 13%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 13%, 15-08 13:00:00 - 15-08 13:30:00 @ 15.36p 13%, 15-08 13:30:00 - 15-08 14:00:00 @ 15.74p 13%, 15-08 14:00:00 - 15-08 14:30:00 @ 14.57p 13%, 15-08 14:30:00 - 15-08 15:00:00 @ 13.77p 13%, 15-08 15:00:00 - 15-08 15:30:00 @ 15.02p 13%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 13%, 15-08 16:00:00 - 15-08 16:30:00 @ 33.13p 13%, 15-08 16:30:00 - 15-08 17:00:00 @ 33.13p 13%, 15-08 17:00:00 - 15-08 17:30:00 @ 38.46p 13%, 15-08 17:30:00 - 15-08 18:00:00 @ 40.44p 13%, 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 13%, 15-08 18:30:00 - 15-08 19:00:00 @ 43.82p 13%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 13%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 13%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 13%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 13%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 13%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 13%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 13%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 13%, 15-08 23:00:00 - 15-08 23:30:00 @ 29.37p 13%, 15-08 23:30:00 - 16-08 00:00:00 @ 29.2p 13%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.83p 13%, 16-08 00:30:00 - 16-08 01:00:00 @ 28.46p 13%, 16-08 01:00:00 - 16-08 01:30:00 @ 27.73p 13%, 16-08 01:30:00 - 16-08 02:00:00 @ 27.01p 13%, 16-08 02:00:00 - 16-08 02:30:00 @ 26.76p 13%, 16-08 02:30:00 - 16-08 03:00:00 @ 26.48p 13%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.39p 13%, 16-08 03:30:00 - 16-08 04:00:00 @ 26.27p 13%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.33p 13%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.37p 13%, 16-08 05:00:00 - 16-08 05:30:00 @ 26.23p 13%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.07p 13%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.99p 13%, 16-08 06:30:00 - 16-08 07:00:00 @ 25.92p 13%, 16-08 07:00:00 - 16-08 07:30:00 @ 25.64p 13%, 16-08 07:30:00 - 16-08 08:00:00 @ 25.39p 13%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.84p 13%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.28p 13%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.26p 13%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.22p 13%, 16-08 10:00:00 - 16-08 10:30:00 @ 24.8p 13%, 16-08 10:30:00 - 16-08 11:00:00 @ 25.37p 13%, 16-08 11:00:00 - 16-08 11:30:00 @ 24.71p 13%, 16-08 11:30:00 - 16-08 12:00:00 @ 24.02p 13%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.79p 13%, 16-08 12:30:00 - 16-08 13:00:00 @ 23.55p 13%, 16-08 13:00:00 - 16-08 13:30:00 @ 23.14p 13%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.71p 13%, 16-08 14:00:00 - 16-08 14:30:00 @ 22.01p 13%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.29p 13%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.01p 13%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.71p 13%, 16-08 16:00:00 - 16-08 16:30:00 @ 37.14p 13%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.91p 13%, 16-08 17:00:00 - 16-08 17:30:00 @ 40.13p 13%, 16-08 17:30:00 - 16-08 18:00:00 @ 42.36p 13%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.19p 13%, 16-08 19:00:00 - 16-08 19:30:00 @ 33.04p 13%, 16-08 19:30:00 - 16-08 20:00:00 @ 33.71p 13%, 16-08 20:00:00 - 16-08 20:30:00 @ 33.83p 13%, 16-08 20:30:00 - 16-08 21:00:00 @ 33.94p 13%, 16-08 21:00:00 - 16-08 21:30:00 @ 33.73p 13%, 16-08 21:30:00 - 16-08 22:00:00 @ 33.53p 13%, 16-08 22:00:00 - 16-08 22:30:00 @ 32.36p 13%, 16-08 22:30:00 - 16-08 23:00:00 @ 31.17p 13%, 16-08 23:00:00 - 16-08 23:30:00 @ 29.37p 13%, 16-08 23:30:00 - 17-08 00:00:00 @ 29.2p 13%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.83p 13%, 17-08 00:30:00 - 17-08 01:00:00 @ 28.46p 13%, 17-08 01:00:00 - 17-08 01:30:00 @ 27.73p 13%, 17-08 01:30:00 - 17-08 02:00:00 @ 27.01p 13%, 17-08 02:00:00 - 17-08 02:30:00 @ 26.76p 13%, 17-08 02:30:00 - 17-08 03:00:00 @ 26.48p 13%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.39p 13%, 17-08 03:30:00 - 17-08 04:00:00 @ 26.27p 13%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.33p 13%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.37p 13%, 17-08 05:00:00 - 17-08 05:30:00 @ 26.23p 13%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.07p 13%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.99p 13%, 17-08 06:30:00 - 17-08 07:00:00 @ 25.92p 13%, 17-08 07:00:00 - 17-08 07:30:00 @ 25.64p 13%, 17-08 07:30:00 - 17-08 08:00:00 @ 25.39p 13%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.84p 13%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.28p 13%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.26p 13%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.22p 13%, 17-08 10:00:00 - 17-08 10:30:00 @ 24.8p 13%, 17-08 10:30:00 - 17-08 11:00:00 @ 25.37p 13%, 17-08 11:00:00 - 17-08 11:30:00 @ 24.71p 13% ]
2026-08-15 11:15:03.077235: Best export window [  ]
2026-08-15 11:15:03.077919: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 11:15:03.080367: Load divergence over 8.0 hours mean 640.81W, min 290.4W, max 1777.8W, std dev 355.66W, divergence 27.75%
2026-08-15 11:15:03.094901: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 11:15:03.094983: LoadML is_calculating False
2026-08-15 11:15:03.095037: Creating pool of 12 processes to match your CPU count
2026-08-15 11:15:03.178606: Calculate Best options: mode(Control charge & discharge), calculate_export_oncharge(False), calculate_export_on_pv(True), set_export_freeze_only(False), set_discharge_during_charge(True), combine_charge_slots(False), combine_export_slots(False), combine_rate_threshold(0.0), best_soc_min(0.0 kWh), best_soc_max(0.0 kWh), best_soc_keep(0.0 kWh), inverter_loss(4%), battery_loss(3%), battery_loss_discharge (3%), inverter_hybrid(True), metric_min_improvement(0.0p), metric_min_improvement_export(0.1p), metric_min_improvement_export_freeze(0.1p), metric_battery_cycle(0.0p/kWh), metric_battery_value_scaling(1.0 x) 
2026-08-15 11:15:03.180555: Optimise levels pass started at 2026-08-15 11:15:03
2026-08-15 11:15:03.180633: Optimise all windows, total charge 95 export 1
2026-08-15 11:15:04.090617: >> Region optimisation pass width 960 gives best_metric 941.37p, best_cost 955.69p, best_cycle 49.14kWh, best_import 36.39kWh
2026-08-15 11:15:04.512018: >> Region optimisation pass width 480 gives best_metric 941.37p, best_cost 955.69p, best_cycle 49.14kWh, best_import 36.39kWh
2026-08-15 11:15:05.021342: >> Region optimisation pass width 240 gives best_metric 941.37p, best_cost 955.69p, best_cycle 49.14kWh, best_import 36.39kWh
2026-08-15 11:15:06.099634: >> Region optimisation pass width 120 gives best_metric 941.37p, best_cost 955.69p, best_cycle 49.14kWh, best_import 36.39kWh
2026-08-15 11:15:06.100057: Calculated end_record as 08-16 11:30:00 based on best_price 22.71p, next_charge_start 08-15 11:30:00, max_windows 49
2026-08-15 11:15:06.100125: Optimise levels pass ended at 2026-08-15 11:15:06, duration 2.9 seconds tried 305 combinations
2026-08-15 11:15:06.100198: Set best_price_charge_level 24.4p, best_price_export_level 0p, best_price_charge 22.71p, best_cost_export 0p, best_metric 941.37p, best_keep 0kWh, best_cycle 49.14kWh, best_carbon 0kg, best_import 36.39kWh
2026-08-15 11:15:06.117863: Starting detailed optimisation end_record 08-16 11:30:00, best_price_charge 22.71p, best_price_export 0p. lowest_price_charge 13.77p with charge limits [0, 16.0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0]kWh and export limits []kWh
2026-08-15 11:15:10.107441: Tweak plan optimisation started metric 549.24p, cost 566.14p
2026-08-15 11:15:10.444262: Tweak optimisation finished metric 549.2p, cost 566.08p, metric_keep 0kWh, cycle 28.78kWh, carbon 0kg, import 19.41kWh, changed 8 window(s)
2026-08-15 11:15:10.463548: Swap charge optimisation started metric 549.2p, cost 566.08p, min_improvement_swap 0.1p
2026-08-15 11:15:14.093809: Swap charge optimisation finished metric 549.2p, cost 566.08p
2026-08-15 11:15:14.187486: Raw charge windows [ 15-08 11:00:00 - 15-08 11:30:00 @ 16.56p 13%, 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 25%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 25%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 13:30:00 @ 15.36p 100%, 15-08 13:30:00 - 15-08 14:00:00 @ 15.74p 100%, 15-08 14:00:00 - 15-08 14:30:00 @ 14.57p 100%, 15-08 14:30:00 - 15-08 15:00:00 @ 13.77p 100%, 15-08 15:00:00 - 15-08 15:30:00 @ 15.02p 100%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 100%, 15-08 16:00:00 - 15-08 16:30:00 @ 33.13p 0%, 15-08 16:30:00 - 15-08 17:00:00 @ 33.13p 0%, 15-08 17:00:00 - 15-08 17:30:00 @ 38.46p 0%, 15-08 17:30:00 - 15-08 18:00:00 @ 40.44p 0%, 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 0%, 15-08 18:30:00 - 15-08 19:00:00 @ 43.82p 0%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 0%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 0%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 0%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 0%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 29.37p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 29.2p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.83p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 28.46p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 27.73p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 27.01p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 26.76p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 26.48p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.39p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 26.27p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.33p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.37p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 26.23p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.07p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.99p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 25.92p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 25.64p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 25.39p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.84p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.28p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.26p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.22p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 24.8p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 25.37p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 24.71p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 24.02p 100%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.79p 100%, 16-08 12:30:00 - 16-08 13:00:00 @ 23.55p 100%, 16-08 13:00:00 - 16-08 13:30:00 @ 23.14p 100%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.71p 100%, 16-08 14:00:00 - 16-08 14:30:00 @ 22.01p 100%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.29p 100%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.01p 100%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.71p 100%, 16-08 16:00:00 - 16-08 16:30:00 @ 37.14p 100%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.91p 100%, 16-08 17:00:00 - 16-08 17:30:00 @ 40.13p 100%, 16-08 17:30:00 - 16-08 18:00:00 @ 42.36p 100%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.19p 100%, 16-08 19:00:00 - 16-08 19:30:00 @ 33.04p 100%, 16-08 19:30:00 - 16-08 20:00:00 @ 33.71p 100%, 16-08 20:00:00 - 16-08 20:30:00 @ 33.83p 100%, 16-08 20:30:00 - 16-08 21:00:00 @ 33.94p 100%, 16-08 21:00:00 - 16-08 21:30:00 @ 33.73p 100%, 16-08 21:30:00 - 16-08 22:00:00 @ 33.53p 100%, 16-08 22:00:00 - 16-08 22:30:00 @ 32.36p 100%, 16-08 22:30:00 - 16-08 23:00:00 @ 31.17p 100%, 16-08 23:00:00 - 16-08 23:30:00 @ 29.37p 100%, 16-08 23:30:00 - 17-08 00:00:00 @ 29.2p 100%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.83p 100%, 17-08 00:30:00 - 17-08 01:00:00 @ 28.46p 100%, 17-08 01:00:00 - 17-08 01:30:00 @ 27.73p 100%, 17-08 01:30:00 - 17-08 02:00:00 @ 27.01p 100%, 17-08 02:00:00 - 17-08 02:30:00 @ 26.76p 100%, 17-08 02:30:00 - 17-08 03:00:00 @ 26.48p 100%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.39p 100%, 17-08 03:30:00 - 17-08 04:00:00 @ 26.27p 100%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.33p 100%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.37p 100%, 17-08 05:00:00 - 17-08 05:30:00 @ 26.23p 100%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.07p 100%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.99p 100%, 17-08 06:30:00 - 17-08 07:00:00 @ 25.92p 100%, 17-08 07:00:00 - 17-08 07:30:00 @ 25.64p 100%, 17-08 07:30:00 - 17-08 08:00:00 @ 25.39p 100%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.84p 100%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.28p 100%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.26p 100%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.22p 100%, 17-08 10:00:00 - 17-08 10:30:00 @ 24.8p 100%, 17-08 10:30:00 - 17-08 11:00:00 @ 25.37p 100%, 17-08 11:00:00 - 17-08 11:30:00 @ 24.71p 100% ] reserve 1.12
2026-08-15 11:15:14.188070: Unclipped charge windows [ 15-08 11:00:00 - 15-08 11:30:00 @ 16.56p 13%, 15-08 11:30:00 - 15-08 13:00:00 @ 16.29p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 11:30:00 - 16-08 18:30:00 @ 41.93p 100%, 16-08 19:00:00 - 17-08 11:30:00 @ 24.84p 100% ] reserve 1.12
2026-08-15 11:15:14.188290: Unfiltered charge windows [ 15-08 11:00:00 - 15-08 11:30:00 @ 16.56p 13%, 15-08 11:30:00 - 15-08 13:00:00 @ 16.29p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 11:30:00 - 16-08 18:30:00 @ 41.93p 100%, 16-08 19:00:00 - 17-08 11:30:00 @ 24.84p 100% ] reserve 1.12
2026-08-15 11:15:14.188476: Filtered charge windows [ 15-08 11:00:00 - 15-08 11:30:00 @ 16.56p 13%, 15-08 11:30:00 - 15-08 13:00:00 @ 16.29p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 11:30:00 - 16-08 18:30:00 @ 41.93p 100%, 16-08 19:00:00 - 17-08 11:30:00 @ 24.84p 100% ] reserve 1.12
2026-08-15 11:15:14.223356: Previous plan best metric is 549.2 (cost 566.08) and new plan best metric is 549.2 (cost 566.08)
2026-08-15 11:15:14.223674: New plan metric is not significantly better (metric_min_improvement_plan 2.0) than previous plan, using previous plan
2026-08-15 11:15:14.223935: Plan valid is now true after recompute was False
2026-08-15 11:15:14.248133: predict base end_record 08-16 11:30:00, final soc 2.08kWh, metric 800.49p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 17:25:00, load 25.32kWh, PV 0.0kWh
2026-08-15 11:15:14.359322: Battery has 6.17 hours left - now at 2.08kWh
2026-08-15 11:15:14.405697: predict base10 end_record 08-16 11:30:00, final soc 2.08kWh, metric 823.66p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 17:20:00, load 26.19kWh, PV 0.0kWh
2026-08-15 11:15:14.477246: predict best10 end_record 08-16 11:30:00, final soc 1.12kWh, metric 640.15p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 10:10:00, load 26.19kWh, PV 0.0kWh
2026-08-15 11:15:14.551838: predict best end_record 08-16 11:30:00, final soc 1.12kWh, metric 616.06p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 11:25:00, load 25.32kWh, PV 0.0kWh
2026-08-15 11:15:14.551925: Saving plan best values to HA entities
2026-08-15 11:15:14.716137: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0
2026-08-15 11:15:14.721885: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 11:15:14.727373: Best charging limit SoC's [2.0, 4.0, 16.0, 16.0, 16.0]kWh, export []kWh gives import battery 19.36kWh, house 0.05kWh, export 0.0kWh, metric 616.06p, metric10 640.15p
2026-08-15 11:15:14.806887: Marginal costs baseline metric (no standing charge): 566.076
2026-08-15 11:15:15.058161: Marginal energy costs matrix computed: min=15.35 max=32.68
2026-08-15 11:15:15.139949: Rate array import [{'start': 675, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 17.0p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1950, 'rate': 'expensive', 'range': '(24.8p - 32.9p)'}, {'start': 1950, 'end': 2040, 'rate': 'cheap', 'range': '(24.2p - 24.3p)'}, {'start': 2040, 'end': 2130, 'rate': 'expensive', 'range': '(24.7p - 25.4p)'}] export [{'start': 675, 'end': 2130, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 11:15:15.140337: - Your estimated bill for today is £5.65 and tomorrow is £6.87
2026-08-15 11:15:15.140378: - Import rates are cheap (13.8p - 17.0p) for the next 4 and three quarters hours and then expensive (33.1p) for the next 1 hour.
2026-08-15 11:15:15.140400: - The battery is currently at 13% and is charging to 13% for the next 15 minutes.
2026-08-15 11:15:15.140418: - For the next 48 hours there will be no solar generation.
2026-08-15 11:15:15.140435: - You have enough battery to reach the next charge.
2026-08-15 11:15:15.140452: 
2026-08-15 11:15:15.194817: Plan calculation took 12.12 seconds
2026-08-15 11:15:15.195275: Inverter 0: Type SK Sunsynk
2026-08-15 11:15:15.195323: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 11:15:15.195546: Reserve min: 7%, battery_min: 7%
2026-08-15 11:15:15.195630: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 11:15:15.196001: Inverter 0 SoC: 2.08kW 13%, current charge rate 5000W, current discharge rate 0W, current battery power -7W, current battery voltage 51.2V, grid power -375W, load power 375W, PV Power 0W
2026-08-15 11:15:15.196263: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 11:15:15.196376: Inverter 0 scheduled charge enable is True
2026-08-15 11:15:15.196427: Inverter 0 charge windows currently [{'start': 630, 'end': 960, 'average': 0}, {'start': 2070, 'end': 2400, 'average': 0}, {'start': 3510, 'end': 3840, 'average': 0}]
2026-08-15 11:15:15.196562: Inverter 0 Charge settings: 08-15 10:30:00-08-15 16:00:00, limit 13.0%, power 5.0kW
2026-08-15 11:15:15.196685: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 11:15:15.196780: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 11:15:15.196883: Inverter 0 scheduled discharge enable is False
2026-08-15 11:15:15.197162: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 11:15:15.197227: Inverter 0 discharge windows currently []
2026-08-15 11:15:15.197267: Note: Inverter does not support discharge freeze - disabled
2026-08-15 11:15:15.197301: Note: Inverter does not support charge freeze - disabled
2026-08-15 11:15:15.197333: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 11:15:15.258847: Include original charge start 08-15 10:30:00, keeping this instead of new start 08-15 11:00:00
2026-08-15 11:15:15.258979: Inverter 0 Charge window will be: 2026-08-15 10:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 13%, target 13%
2026-08-15 11:15:15.259116: Inverter 0 Target SoC 13%, (this inverter 13%), battery temperature 20°C, select charge rate 5000W (real 5000W), current charge rate 5000W
2026-08-15 11:15:15.259199: Inverter 0 Hold charging as SoC 13% is above target SoC 13% (global soc target 13%) set_discharge_during_charge True
2026-08-15 11:15:15.259345: Adjust idle time, charge 10:30:00-16:00:00 discharge 00:00:00-00:00:00
2026-08-15 11:15:15.259535: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 11:15:15.259645: No export window planned
2026-08-15 11:15:15.259763: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 11:15:15.259813: Adjust idle time, charge 10:30:00-16:00:00 discharge 00:00:00-00:00:00
2026-08-15 11:15:15.259958: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 11:15:15.260051: Inverter 0 setting charging SoC to 13% as per target
2026-08-15 11:15:15.260106: Inverter 0 adjust target SoC for charge to 13% (2.08kWh/16.0kWh 16.0kWh) based on going from 13% -> 13% total add is 0.0kWh and this battery needs to add 0.0kWh to get to 2.08kWh
2026-08-15 11:15:15.260157: Inverter 0 Current Target SoC is 13%, already at target
2026-08-15 11:15:15.260261: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:15:15.260308: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:15:15.260337: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:15:15.260362: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:15:15.260390: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:15:15.260414: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:15:15.260438: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:15:15.260480: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 11:15:15.260515: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 11:15:15.260548: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 11:15:15.260573: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 11:15:15.260602: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 11:15:15.260628: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 11:15:15.260652: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 11:15:15.260713: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:15:15.260740: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:15:15.260764: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:15:15.260807: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:15:15.260834: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:15:15.260864: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:15:15.260888: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:15:15.260924: Inverter 0 count register writes 0
2026-08-15 11:15:15.280818: Total inverter register writes now 817
2026-08-15 11:15:15.313917: Info: Completed run status Hold charging
2026-08-15 11:15:15.320420: Info: record_status Hold charging target 13%-13%
2026-08-15 11:15:15.326757: Saved current settings to /config/predbat_config.json
2026-08-15 11:15:15.327112: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 11:15:57.442631: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 11:15:57.442882: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 11:15:57.442922: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 11:15:57.443044: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 11:15:57.443079: Note: Inverter does not support discharge freeze - disabled
2026-08-15 11:15:57.443097: Note: Inverter does not support charge freeze - disabled
2026-08-15 11:15:57.443111: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 11:18:11.700493: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 11:18:11.700781: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 11:18:11.700854: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 11:18:11.701099: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 11:18:11.701177: Note: Inverter does not support discharge freeze - disabled
2026-08-15 11:18:11.701223: Note: Inverter does not support charge freeze - disabled
2026-08-15 11:18:11.701258: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 11:20:00.904175: --------------- PredBat - update at 2026-08-15 11:20:00+01:00 with clock skew 0 minutes, minutes now 680
2026-08-15 11:20:00.905040: Saved current settings to /config/predbat_config.json
2026-08-15 11:20:00.905218: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 65.0 minutes
2026-08-15 11:20:00.905319: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.1, latest beta is v8.48.1
2026-08-15 11:20:00.905409: Autoupdate: Currently up to date
2026-08-15 11:20:00.926934: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 11:20:00.927087: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 11:20:00.927337: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 11:20:00.927979: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 11:20:00.928145: Predbat mode is set to Control charge & discharge
2026-08-15 11:20:01.108242: Found 21602 load_today datapoints going back 28 days
2026-08-15 11:20:01.108387: Using load_power data to fill gaps in load_today data
2026-08-15 11:20:01.850377: Processing 721 30-minute periods for power integration
2026-08-15 11:20:02.006309: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 11:20:02.007417: Car charging hold False, threshold 6.0kWh
2026-08-15 11:20:02.007505: Current data so far today: load 7.12kWh, import 8.8kWh, export 0.0kWh, PV 0kWh
2026-08-15 11:20:02.019802: Cars: SoC: [11.72]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 11:20:02.020340: Standing charge is set to 49.98p
2026-08-15 11:20:02.064980: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 11:20:02.065083: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 11:20:02.065302: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 40.0 minutes
2026-08-15 11:20:02.065685: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 40.0 minutes
2026-08-15 11:20:02.070664: Loaded 95 datapoints of futurerate analysis
2026-08-15 11:20:02.147679: Predicted future rates: ['08-15 00:00:00 => 28.9 / 20.01', '08-15 01:00:00 => 27.54 / 19.31', '08-15 02:00:00 => 26.52 / 18.8', '08-15 03:00:00 => 25.99 / 18.53', '08-15 04:00:00 => 25.8 / 18.43', '08-15 05:00:00 => 25.96 / 18.51', '08-15 06:00:00 => 25.55 / 18.3', '08-15 07:00:00 => 24.33 / 17.68', '08-15 08:00:00 => 23.03 / 17.01', '08-15 09:00:00 => 22.05 / 16.51', '08-15 10:00:00 => 20.43 / 15.68', '08-15 11:00:00 => 18.01 / 14.45', '08-15 12:00:00 => 16.37 / 13.61', '08-15 13:00:00 => 15.76 / 13.3', '08-15 14:00:00 => 15.35 / 13.09', '08-15 15:00:00 => 15.86 / 13.35', '08-15 16:00:00 => 32.89 / 16.13', '08-15 17:00:00 => 38.02 / 18.75', '08-15 18:00:00 => 42.36 / 20.96', '08-15 19:00:00 => 31.09 / 21.13', '08-15 20:00:00 => 31.64 / 21.41', '08-15 21:00:00 => 31.64 / 21.41', '08-15 22:00:00 => 30.58 / 20.87', '08-15 23:00:00 => 29.37 / 20.25', '08-16 00:00:00 => 28.83 / 19.97', '08-16 01:00:00 => 27.73 / 19.41', '08-16 02:00:00 => 26.76 / 18.92', '08-16 03:00:00 => 26.39 / 18.73', '08-16 04:00:00 => 26.33 / 18.7', '08-16 05:00:00 => 26.23 / 18.65', '08-16 06:00:00 => 25.99 / 18.53', '08-16 07:00:00 => 25.64 / 18.35', '08-16 08:00:00 => 24.84 / 17.94', '08-16 09:00:00 => 24.26 / 17.64', '08-16 10:00:00 => 24.8 / 17.92']
2026-08-15 11:20:02.200503: Rate min forward looking: now 13.77p at end of forecast 21.29p
2026-08-15 11:20:02.200898: Import rates: min 13.77p, max 46.05p, average 27.64p
2026-08-15 11:20:02.235733: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 11:20:02.235857: Rate thresholds (for charge/export) are import 45.55p (0.0p), export -0.1p (0.0p)
2026-08-15 11:20:02.236925: High export rate found rates in range 99p to -99p
2026-08-15 11:20:02.310684: Low Import rate found rates in range 13.77p to 44.19p
2026-08-15 11:20:02.310812: Car 0 charging is not planned as it is not plugged in
2026-08-15 11:20:02.321463: Battery level now 2.08kWh, -1hr ago 1.44kWh, at midnight 1.66kWh, battery value change in the last hour 7.57p, change today 5.01p, rate_forward 11.83p
2026-08-15 11:20:02.321765: Last hour: net energy 0.65kWh, import 0.65kWh, export 0.0kWh, car 0kWh, load 0.3kWh, net cost 11.48p, import 11.48p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 11:20:02.367728: Today's energy total net 8.8kWh, import 8.8kWh, export 0.0kWh, cost 273.45p, import 223.47p, export 0.0p, carbon 0.0kg
2026-08-15 11:20:02.367864: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 11:20:02.439406: Using weighted-bucket historical load forecast over 14 days
2026-08-15 11:20:02.461806: Today's load divergence 104.25%, in-day adjustment 125.01%, damping 0.95x, yesterday 143.77% today 104.04% blend 52.78%
2026-08-15 11:20:02.461880: Today's predicted so far 6.44kWh with 0.0kWh car/iBoost excluded, 3.62kWh import ignored, and 6.44kWh forecast extra.
2026-08-15 11:20:02.461906: Today's actual load so far 7.13kWh with 0.0kWh car/iBoost excluded, and 3.62kWh import ignored.
2026-08-15 11:20:02.495525: Inverter 0: Type SK Sunsynk
2026-08-15 11:20:02.495607: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 11:20:02.495771: Reserve min: 7%, battery_min: 7%
2026-08-15 11:20:02.495830: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 11:20:02.496099: Inverter 0 SoC: 2.08kW 13%, current charge rate 5000W, current discharge rate 0W, current battery power -6W, current battery voltage 51.2V, grid power -376W, load power 376W, PV Power 0W
2026-08-15 11:20:02.496236: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 11:20:02.496311: Inverter 0 scheduled charge enable is True
2026-08-15 11:20:02.496348: Inverter 0 charge windows currently [{'start': 630, 'end': 960, 'average': 0}, {'start': 2070, 'end': 2400, 'average': 0}, {'start': 3510, 'end': 3840, 'average': 0}]
2026-08-15 11:20:02.496446: Inverter 0 Charge settings: 08-15 10:30:00-08-15 16:00:00, limit 13.0%, power 5.0kW
2026-08-15 11:20:02.496553: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 11:20:02.496583: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 11:20:02.496614: Inverter 0 scheduled discharge enable is False
2026-08-15 11:20:02.496720: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 11:20:02.496752: Inverter 0 discharge windows currently []
2026-08-15 11:20:02.496771: Note: Inverter does not support discharge freeze - disabled
2026-08-15 11:20:02.496786: Note: Inverter does not support charge freeze - disabled
2026-08-15 11:20:02.496800: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 11:20:02.558031: Dynamic load last period 0.30kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 11:20:02.558130: Plan was last updated on 2026-08-15 11:15:00+01:00 and is now 5.0 minutes old
2026-08-15 11:20:02.558337: Best charge window [ 15-08 11:00:00 - 15-08 11:30:00 @ 16.56p 13%, 15-08 11:30:00 - 15-08 13:00:00 @ 16.29p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 11:30:00 - 16-08 18:30:00 @ 41.93p 100%, 16-08 19:00:00 - 17-08 11:30:00 @ 24.84p 100% ]
2026-08-15 11:20:02.558372: Best export window [  ]
2026-08-15 11:20:02.559063: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 11:20:02.561517: Load divergence over 8.0 hours mean 637.92W, min 292.8W, max 1692.6W, std dev 333.88W, divergence 26.17%
2026-08-15 11:20:02.579063: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 11:20:02.579179: LoadML is_calculating False
2026-08-15 11:20:02.579237: Creating pool of 12 processes to match your CPU count
2026-08-15 11:20:02.684973: predict base end_record 08-16 11:35:00, final soc 2.08kWh, metric 802.75p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 17:25:00, load 25.43kWh, PV 0.0kWh
2026-08-15 11:20:02.800458: Battery has 6.08 hours left - now at 2.08kWh
2026-08-15 11:20:02.840148: predict base10 end_record 08-16 11:35:00, final soc 2.08kWh, metric 826.02p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 17:20:00, load 26.3kWh, PV 0.0kWh
2026-08-15 11:20:02.911665: predict best10 end_record 08-16 11:35:00, final soc 1.44kWh, metric 650.82p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 10:10:00, load 26.3kWh, PV 0.0kWh
2026-08-15 11:20:02.984240: predict best end_record 08-16 11:35:00, final soc 1.51kWh, metric 628.3p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 11:25:00, load 25.43kWh, PV 0.0kWh
2026-08-15 11:20:02.984326: Saving plan best values to HA entities
2026-08-15 11:20:03.168653: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0
2026-08-15 11:20:03.176131: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 11:20:03.182603: Best charging limit SoC's [2.0, 4.0, 16.0, 16.0, 16.0]kWh, export []kWh gives import battery 19.76kWh, house 0.06kWh, export 0.0kWh, metric 628.3p, metric10 650.82p
2026-08-15 11:20:03.254877: Marginal costs baseline metric (no standing charge): 578.3206
2026-08-15 11:20:03.493262: Marginal energy costs matrix computed: min=15.29 max=32.84
2026-08-15 11:20:03.568646: Rate array import [{'start': 680, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 17.0p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1950, 'rate': 'expensive', 'range': '(24.8p - 32.9p)'}, {'start': 1950, 'end': 2040, 'rate': 'cheap', 'range': '(24.2p - 24.3p)'}, {'start': 2040, 'end': 2130, 'rate': 'expensive', 'range': '(24.7p - 25.4p)'}, {'start': 2130, 'end': 2135, 'rate': 'cheap', 'range': '(24.0p)'}] export [{'start': 680, 'end': 2135, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 11:20:03.569136: - Your estimated bill for today is £5.64 and tomorrow is £6.88
2026-08-15 11:20:03.569190: - Import rates are cheap (13.8p - 17.0p) for the next 4 and three quarters hours and then expensive (33.1p) for the next 1 hour.
2026-08-15 11:20:03.569213: - The battery is currently at 13% and is charging to 13% for the next 10 minutes.
2026-08-15 11:20:03.569232: - For the next 48 hours there will be no solar generation.
2026-08-15 11:20:03.569249: - You have enough battery to reach the next charge.
2026-08-15 11:20:03.569271: 
2026-08-15 11:20:03.624393: Plan calculation took 1.07 seconds
2026-08-15 11:20:03.627910: No high rate period found
2026-08-15 11:20:03.684368: Import threshold used for optimisation was 17.0p
2026-08-15 11:20:03.737536: Low import rate windows [0: 08-15 11:00:00 - 08-15 11:30:00 @ 16.56, 1: 08-15 11:30:00 - 08-15 12:00:00 @ 15.46, 2: 08-15 12:00:00 - 08-15 12:30:00 @ 17.0, 3: 08-15 12:30:00 - 08-15 13:00:00 @ 16.34, 4: 08-15 13:00:00 - 08-15 13:30:00 @ 15.36, 5: 08-15 13:30:00 - 08-15 14:00:00 @ 15.74, 6: 08-15 14:00:00 - 08-15 14:30:00 @ 14.57, 7: 08-15 14:30:00 - 08-15 15:00:00 @ 13.77, 8: 08-15 15:00:00 - 08-15 15:30:00 @ 15.02, 9: 08-15 15:30:00 - 08-15 16:00:00 @ 15.87, 10: 08-15 16:00:00 - 08-15 16:30:00 @ 33.13, 11: 08-15 16:30:00 - 08-15 17:00:00 @ 33.13, 12: 08-15 17:00:00 - 08-15 17:30:00 @ 38.46, 13: 08-15 17:30:00 - 08-15 18:00:00 @ 40.44, 14: 08-15 18:00:00 - 08-15 18:30:00 @ 41.55, 15: 08-15 18:30:00 - 08-15 19:00:00 @ 43.82, 16: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 17: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 18: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 19: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 20: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 21: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 22: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 23: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 24: 08-15 23:00:00 - 08-15 23:30:00 @ 29.37, 25: 08-15 23:30:00 - 08-16 00:00:00 @ 29.2, 26: 08-16 00:00:00 - 08-16 00:30:00 @ 28.83, 27: 08-16 00:30:00 - 08-16 01:00:00 @ 28.46, 28: 08-16 01:00:00 - 08-16 01:30:00 @ 27.73, 29: 08-16 01:30:00 - 08-16 02:00:00 @ 27.01, 30: 08-16 02:00:00 - 08-16 02:30:00 @ 26.76, 31: 08-16 02:30:00 - 08-16 03:00:00 @ 26.48, 32: 08-16 03:00:00 - 08-16 03:30:00 @ 26.39, 33: 08-16 03:30:00 - 08-16 04:00:00 @ 26.27, 34: 08-16 04:00:00 - 08-16 04:30:00 @ 26.33, 35: 08-16 04:30:00 - 08-16 05:00:00 @ 26.37, 36: 08-16 05:00:00 - 08-16 05:30:00 @ 26.23, 37: 08-16 05:30:00 - 08-16 06:00:00 @ 26.07, 38: 08-16 06:00:00 - 08-16 06:30:00 @ 25.99, 39: 08-16 06:30:00 - 08-16 07:00:00 @ 25.92, 40: 08-16 07:00:00 - 08-16 07:30:00 @ 25.64, 41: 08-16 07:30:00 - 08-16 08:00:00 @ 25.39, 42: 08-16 08:00:00 - 08-16 08:30:00 @ 24.84, 43: 08-16 08:30:00 - 08-16 09:00:00 @ 24.28, 44: 08-16 09:00:00 - 08-16 09:30:00 @ 24.26, 45: 08-16 09:30:00 - 08-16 10:00:00 @ 24.22, 46: 08-16 10:00:00 - 08-16 10:30:00 @ 24.8, 47: 08-16 10:30:00 - 08-16 11:00:00 @ 25.37, 48: 08-16 11:00:00 - 08-16 11:30:00 @ 24.71, 49: 08-16 11:30:00 - 08-16 12:00:00 @ 24.02, 50: 08-16 12:00:00 - 08-16 12:30:00 @ 23.79, 51: 08-16 12:30:00 - 08-16 13:00:00 @ 23.55, 52: 08-16 13:00:00 - 08-16 13:30:00 @ 23.14, 53: 08-16 13:30:00 - 08-16 14:00:00 @ 22.71, 54: 08-16 14:00:00 - 08-16 14:30:00 @ 22.01, 55: 08-16 14:30:00 - 08-16 15:00:00 @ 21.29, 56: 08-16 15:00:00 - 08-16 15:30:00 @ 22.01, 57: 08-16 15:30:00 - 08-16 16:00:00 @ 22.71, 58: 08-16 16:00:00 - 08-16 16:30:00 @ 37.14, 59: 08-16 16:30:00 - 08-16 17:00:00 @ 37.91, 60: 08-16 17:00:00 - 08-16 17:30:00 @ 40.13, 61: 08-16 17:30:00 - 08-16 18:00:00 @ 42.36, 62: 08-16 18:00:00 - 08-16 18:30:00 @ 44.19, 63: 08-16 19:00:00 - 08-16 19:30:00 @ 33.04, 64: 08-16 19:30:00 - 08-16 20:00:00 @ 33.71, 65: 08-16 20:00:00 - 08-16 20:30:00 @ 33.83, 66: 08-16 20:30:00 - 08-16 21:00:00 @ 33.94, 67: 08-16 21:00:00 - 08-16 21:30:00 @ 33.73, 68: 08-16 21:30:00 - 08-16 22:00:00 @ 33.53, 69: 08-16 22:00:00 - 08-16 22:30:00 @ 32.36, 70: 08-16 22:30:00 - 08-16 23:00:00 @ 31.17, 71: 08-16 23:00:00 - 08-16 23:30:00 @ 29.37, 72: 08-16 23:30:00 - 08-17 00:00:00 @ 29.2, 73: 08-17 00:00:00 - 08-17 00:30:00 @ 28.83, 74: 08-17 00:30:00 - 08-17 01:00:00 @ 28.46, 75: 08-17 01:00:00 - 08-17 01:30:00 @ 27.73, 76: 08-17 01:30:00 - 08-17 02:00:00 @ 27.01, 77: 08-17 02:00:00 - 08-17 02:30:00 @ 26.76, 78: 08-17 02:30:00 - 08-17 03:00:00 @ 26.48, 79: 08-17 03:00:00 - 08-17 03:30:00 @ 26.39, 80: 08-17 03:30:00 - 08-17 04:00:00 @ 26.27, 81: 08-17 04:00:00 - 08-17 04:30:00 @ 26.33, 82: 08-17 04:30:00 - 08-17 05:00:00 @ 26.37, 83: 08-17 05:00:00 - 08-17 05:30:00 @ 26.23, 84: 08-17 05:30:00 - 08-17 06:00:00 @ 26.07, 85: 08-17 06:00:00 - 08-17 06:30:00 @ 25.99, 86: 08-17 06:30:00 - 08-17 07:00:00 @ 25.92, 87: 08-17 07:00:00 - 08-17 07:30:00 @ 25.64, 88: 08-17 07:30:00 - 08-17 08:00:00 @ 25.39, 89: 08-17 08:00:00 - 08-17 08:30:00 @ 24.84, 90: 08-17 08:30:00 - 08-17 09:00:00 @ 24.28, 91: 08-17 09:00:00 - 08-17 09:30:00 @ 24.26, 92: 08-17 09:30:00 - 08-17 10:00:00 @ 24.22, 93: 08-17 10:00:00 - 08-17 10:30:00 @ 24.8, 94: 08-17 10:30:00 - 08-17 11:00:00 @ 25.37, 95: 08-17 11:00:00 - 08-17 11:30:00 @ 24.71]
2026-08-15 11:20:03.745575: Include original charge start 08-15 10:30:00, keeping this instead of new start 08-15 11:00:00
2026-08-15 11:20:03.745704: Inverter 0 Charge window will be: 2026-08-15 10:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 13%, target 13%
2026-08-15 11:20:03.745887: Inverter 0 Target SoC 13%, (this inverter 13%), battery temperature 20°C, select charge rate 5000W (real 5000W), current charge rate 5000W
2026-08-15 11:20:03.746027: Inverter 0 Hold charging as SoC 13% is above target SoC 13% (global soc target 13%) set_discharge_during_charge True
2026-08-15 11:20:03.746224: Adjust idle time, charge 10:30:00-16:00:00 discharge 00:00:00-00:00:00
2026-08-15 11:20:03.746513: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 11:20:03.746675: No export window planned
2026-08-15 11:20:03.746834: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 11:20:03.746874: Adjust idle time, charge 10:30:00-16:00:00 discharge 00:00:00-00:00:00
2026-08-15 11:20:03.747031: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 11:20:03.747126: Inverter 0 setting charging SoC to 13% as per target
2026-08-15 11:20:03.747186: Inverter 0 adjust target SoC for charge to 13% (2.08kWh/16.0kWh 16.0kWh) based on going from 13% -> 13% total add is 0.0kWh and this battery needs to add 0.0kWh to get to 2.08kWh
2026-08-15 11:20:03.747249: Inverter 0 Current Target SoC is 13%, already at target
2026-08-15 11:20:03.747356: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:20:03.747399: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:20:03.747428: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:20:03.747453: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:20:03.747479: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:20:03.747534: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:20:03.747562: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:20:03.747611: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 11:20:03.747650: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 11:20:03.747681: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 11:20:03.747713: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 11:20:03.747741: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 11:20:03.747773: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 11:20:03.747798: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 11:20:03.747860: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:20:03.747895: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:20:03.747921: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:20:03.747966: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:20:03.748004: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:20:03.748031: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:20:03.748060: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:20:03.748081: Inverter 0 count register writes 0
2026-08-15 11:20:03.764191: Will not recompute the plan, it is 5.0 minutes old and max age is 10 minutes
2026-08-15 11:20:03.772350: Total inverter register writes now 817
2026-08-15 11:20:03.809720: Info: Completed run status Hold charging
2026-08-15 11:20:03.817254: Info: record_status Hold charging target 13%-13%
2026-08-15 11:20:03.824320: Saved current settings to /config/predbat_config.json
2026-08-15 11:20:03.824746: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 11:20:41.941796: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 11:20:41.942253: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 11:20:41.942324: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 11:20:41.942553: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 11:20:41.942610: Note: Inverter does not support discharge freeze - disabled
2026-08-15 11:20:41.942641: Note: Inverter does not support charge freeze - disabled
2026-08-15 11:20:41.942667: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 11:22:42.173600: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 11:22:42.173975: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 11:22:42.174073: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 11:22:42.174317: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 11:22:42.174368: Note: Inverter does not support discharge freeze - disabled
2026-08-15 11:22:42.174390: Note: Inverter does not support charge freeze - disabled
2026-08-15 11:22:42.174408: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 11:24:42.401154: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 11:24:42.401386: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 11:24:42.401416: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 11:24:42.401651: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 11:24:42.401712: Note: Inverter does not support discharge freeze - disabled
2026-08-15 11:24:42.401731: Note: Inverter does not support charge freeze - disabled
2026-08-15 11:24:42.401745: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 11:25:00.493893: --------------- PredBat - update at 2026-08-15 11:25:00+01:00 with clock skew 0 minutes, minutes now 685
2026-08-15 11:25:00.494673: Saved current settings to /config/predbat_config.json
2026-08-15 11:25:00.494813: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 70.0 minutes
2026-08-15 11:25:00.494881: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.1, latest beta is v8.48.1
2026-08-15 11:25:00.494999: Autoupdate: Currently up to date
2026-08-15 11:25:00.518447: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 11:25:00.518581: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 11:25:00.518752: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 11:25:00.519290: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 11:25:00.519411: Predbat mode is set to Control charge & discharge
2026-08-15 11:25:00.701989: Found 21602 load_today datapoints going back 28 days
2026-08-15 11:25:00.702179: Using load_power data to fill gaps in load_today data
2026-08-15 11:25:01.385828: Processing 721 30-minute periods for power integration
2026-08-15 11:25:01.541961: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 11:25:01.542106: Car charging hold False, threshold 6.0kWh
2026-08-15 11:25:01.542148: Current data so far today: load 7.15kWh, import 8.8kWh, export 0.0kWh, PV 0kWh
2026-08-15 11:25:01.554275: Cars: SoC: [11.72]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 11:25:01.554694: Standing charge is set to 49.98p
2026-08-15 11:25:01.609330: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 11:25:01.609442: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 11:25:01.609651: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 45.0 minutes
2026-08-15 11:25:01.610028: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 45.0 minutes
2026-08-15 11:25:01.615849: Loaded 95 datapoints of futurerate analysis
2026-08-15 11:25:01.736574: Predicted future rates: ['08-15 00:00:00 => 28.9 / 20.01', '08-15 01:00:00 => 27.54 / 19.31', '08-15 02:00:00 => 26.52 / 18.8', '08-15 03:00:00 => 25.99 / 18.53', '08-15 04:00:00 => 25.8 / 18.43', '08-15 05:00:00 => 25.96 / 18.51', '08-15 06:00:00 => 25.55 / 18.3', '08-15 07:00:00 => 24.33 / 17.68', '08-15 08:00:00 => 23.03 / 17.01', '08-15 09:00:00 => 22.05 / 16.51', '08-15 10:00:00 => 20.43 / 15.68', '08-15 11:00:00 => 18.01 / 14.45', '08-15 12:00:00 => 16.37 / 13.61', '08-15 13:00:00 => 15.76 / 13.3', '08-15 14:00:00 => 15.35 / 13.09', '08-15 15:00:00 => 15.86 / 13.35', '08-15 16:00:00 => 32.89 / 16.13', '08-15 17:00:00 => 38.02 / 18.75', '08-15 18:00:00 => 42.36 / 20.96', '08-15 19:00:00 => 31.09 / 21.13', '08-15 20:00:00 => 31.64 / 21.41', '08-15 21:00:00 => 31.64 / 21.41', '08-15 22:00:00 => 30.58 / 20.87', '08-15 23:00:00 => 29.37 / 20.25', '08-16 00:00:00 => 28.83 / 19.97', '08-16 01:00:00 => 27.73 / 19.41', '08-16 02:00:00 => 26.76 / 18.92', '08-16 03:00:00 => 26.39 / 18.73', '08-16 04:00:00 => 26.33 / 18.7', '08-16 05:00:00 => 26.23 / 18.65', '08-16 06:00:00 => 25.99 / 18.53', '08-16 07:00:00 => 25.64 / 18.35', '08-16 08:00:00 => 24.84 / 17.94', '08-16 09:00:00 => 24.26 / 17.64', '08-16 10:00:00 => 24.8 / 17.92']
2026-08-15 11:25:01.810081: Rate min forward looking: now 13.77p at end of forecast 21.29p
2026-08-15 11:25:01.810670: Import rates: min 13.77p, max 46.05p, average 27.66p
2026-08-15 11:25:01.857979: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 11:25:01.858136: Rate thresholds (for charge/export) are import 45.55p (0.0p), export -0.1p (0.0p)
2026-08-15 11:25:01.859688: High export rate found rates in range 99p to -99p
2026-08-15 11:25:01.969482: Low Import rate found rates in range 13.77p to 44.19p
2026-08-15 11:25:01.969630: Car 0 charging is not planned as it is not plugged in
2026-08-15 11:25:01.986992: Battery level now 2.08kWh, -1hr ago 1.44kWh, at midnight 1.66kWh, battery value change in the last hour 7.57p, change today 5.01p, rate_forward 11.83p
2026-08-15 11:25:01.987389: Last hour: net energy 0.6kWh, import 0.6kWh, export 0.0kWh, car 0kWh, load 0.3kWh, net cost 10.5p, import 10.5p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 11:25:02.055408: Today's energy total net 8.8kWh, import 8.8kWh, export 0.0kWh, cost 273.45p, import 223.47p, export 0.0p, carbon 0.0kg
2026-08-15 11:25:02.055620: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 11:25:02.161820: Using weighted-bucket historical load forecast over 14 days
2026-08-15 11:25:02.194204: Today's load divergence 103.75%, in-day adjustment 124.64%, damping 0.95x, yesterday 143.77% today 103.56% blend 52.43%
2026-08-15 11:25:02.194307: Today's predicted so far 6.51kWh with 0.0kWh car/iBoost excluded, 3.6kWh import ignored, and 6.51kWh forecast extra.
2026-08-15 11:25:02.194339: Today's actual load so far 7.11kWh with 0.0kWh car/iBoost excluded, and 3.6kWh import ignored.
2026-08-15 11:25:02.236349: Inverter 0: Type SK Sunsynk
2026-08-15 11:25:02.236448: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 11:25:02.236675: Reserve min: 7%, battery_min: 7%
2026-08-15 11:25:02.236761: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 11:25:02.237169: Inverter 0 SoC: 2.08kW 13%, current charge rate 5000W, current discharge rate 0W, current battery power -9W, current battery voltage 51.2V, grid power -330W, load power 330W, PV Power 0W
2026-08-15 11:25:02.237374: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 11:25:02.237468: Inverter 0 scheduled charge enable is True
2026-08-15 11:25:02.237525: Inverter 0 charge windows currently [{'start': 630, 'end': 960, 'average': 0}, {'start': 2070, 'end': 2400, 'average': 0}, {'start': 3510, 'end': 3840, 'average': 0}]
2026-08-15 11:25:02.237689: Inverter 0 Charge settings: 08-15 10:30:00-08-15 16:00:00, limit 13.0%, power 5.0kW
2026-08-15 11:25:02.237829: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 11:25:02.237867: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 11:25:02.237905: Inverter 0 scheduled discharge enable is False
2026-08-15 11:25:02.238099: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 11:25:02.238153: Inverter 0 discharge windows currently []
2026-08-15 11:25:02.238184: Note: Inverter does not support discharge freeze - disabled
2026-08-15 11:25:02.238210: Note: Inverter does not support charge freeze - disabled
2026-08-15 11:25:02.238243: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 11:25:02.304297: Dynamic load last period 0.30kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 11:25:02.304432: Plan was last updated on 2026-08-15 11:15:00+01:00 and is now 10.0 minutes old
2026-08-15 11:25:02.304796: Best charge window [ 15-08 11:00:00 - 15-08 11:30:00 @ 16.56p 13%, 15-08 11:30:00 - 15-08 13:00:00 @ 16.29p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 11:30:00 - 16-08 18:30:00 @ 41.93p 100%, 16-08 19:00:00 - 17-08 11:30:00 @ 24.84p 100% ]
2026-08-15 11:25:02.304859: Best export window [  ]
2026-08-15 11:25:02.305964: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 11:25:02.309112: Load divergence over 8.0 hours mean 634.97W, min 291.6W, max 1838.4W, std dev 340.95W, divergence 26.85%
2026-08-15 11:25:02.330676: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 11:25:02.330794: LoadML is_calculating False
2026-08-15 11:25:02.330850: Creating pool of 12 processes to match your CPU count
2026-08-15 11:25:02.445221: predict base end_record 08-16 11:40:00, final soc 2.08kWh, metric 802.91p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 17:25:00, load 25.43kWh, PV 0.0kWh
2026-08-15 11:25:02.607827: Battery has 6.0 hours left - now at 2.08kWh
2026-08-15 11:25:02.656168: predict base10 end_record 08-16 11:40:00, final soc 2.08kWh, metric 826.12p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 17:20:00, load 26.3kWh, PV 0.0kWh
2026-08-15 11:25:02.739568: predict best10 end_record 08-16 11:40:00, final soc 1.77kWh, metric 659.34p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 10:10:00, load 26.3kWh, PV 0.0kWh
2026-08-15 11:25:02.818254: predict best end_record 08-16 11:40:00, final soc 1.9kWh, metric 638.53p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 11:25:00, load 25.43kWh, PV 0.0kWh
2026-08-15 11:25:02.818342: Saving plan best values to HA entities
2026-08-15 11:25:03.003866: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0
2026-08-15 11:25:03.011017: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 11:25:03.018723: Best charging limit SoC's [2.0, 4.0, 16.0, 16.0, 16.0]kWh, export []kWh gives import battery 20.15kWh, house 0.05kWh, export 0.0kWh, metric 638.53p, metric10 659.34p
2026-08-15 11:25:03.103192: Marginal costs baseline metric (no standing charge): 588.5477
2026-08-15 11:25:03.419515: Marginal energy costs matrix computed: min=15.22 max=32.99
2026-08-15 11:25:03.507522: Rate array import [{'start': 685, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 17.0p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1950, 'rate': 'expensive', 'range': '(24.8p - 32.9p)'}, {'start': 1950, 'end': 2040, 'rate': 'cheap', 'range': '(24.2p - 24.3p)'}, {'start': 2040, 'end': 2130, 'rate': 'expensive', 'range': '(24.7p - 25.4p)'}, {'start': 2130, 'end': 2140, 'rate': 'cheap', 'range': '(24.0p)'}] export [{'start': 685, 'end': 2140, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 11:25:03.507993: - Your estimated bill for today is £5.63 and tomorrow is £6.88
2026-08-15 11:25:03.508040: - Import rates are cheap (13.8p - 17.0p) for the next 4 and a half hours and then expensive (33.1p) for the next 1 hour.
2026-08-15 11:25:03.508083: - The battery is currently at 13% and is charging to 13% for the next 5 minutes.
2026-08-15 11:25:03.508103: - For the next 48 hours there will be no solar generation.
2026-08-15 11:25:03.508120: - You have enough battery to reach the next charge.
2026-08-15 11:25:03.508139: 
2026-08-15 11:25:03.567075: Plan calculation took 1.26 seconds
2026-08-15 11:25:03.573883: No high rate period found
2026-08-15 11:25:03.634255: Import threshold used for optimisation was 17.0p
2026-08-15 11:25:03.695630: Low import rate windows [0: 08-15 11:00:00 - 08-15 11:30:00 @ 16.56, 1: 08-15 11:30:00 - 08-15 12:00:00 @ 15.46, 2: 08-15 12:00:00 - 08-15 12:30:00 @ 17.0, 3: 08-15 12:30:00 - 08-15 13:00:00 @ 16.34, 4: 08-15 13:00:00 - 08-15 13:30:00 @ 15.36, 5: 08-15 13:30:00 - 08-15 14:00:00 @ 15.74, 6: 08-15 14:00:00 - 08-15 14:30:00 @ 14.57, 7: 08-15 14:30:00 - 08-15 15:00:00 @ 13.77, 8: 08-15 15:00:00 - 08-15 15:30:00 @ 15.02, 9: 08-15 15:30:00 - 08-15 16:00:00 @ 15.87, 10: 08-15 16:00:00 - 08-15 16:30:00 @ 33.13, 11: 08-15 16:30:00 - 08-15 17:00:00 @ 33.13, 12: 08-15 17:00:00 - 08-15 17:30:00 @ 38.46, 13: 08-15 17:30:00 - 08-15 18:00:00 @ 40.44, 14: 08-15 18:00:00 - 08-15 18:30:00 @ 41.55, 15: 08-15 18:30:00 - 08-15 19:00:00 @ 43.82, 16: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 17: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 18: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 19: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 20: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 21: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 22: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 23: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 24: 08-15 23:00:00 - 08-15 23:30:00 @ 29.37, 25: 08-15 23:30:00 - 08-16 00:00:00 @ 29.2, 26: 08-16 00:00:00 - 08-16 00:30:00 @ 28.83, 27: 08-16 00:30:00 - 08-16 01:00:00 @ 28.46, 28: 08-16 01:00:00 - 08-16 01:30:00 @ 27.73, 29: 08-16 01:30:00 - 08-16 02:00:00 @ 27.01, 30: 08-16 02:00:00 - 08-16 02:30:00 @ 26.76, 31: 08-16 02:30:00 - 08-16 03:00:00 @ 26.48, 32: 08-16 03:00:00 - 08-16 03:30:00 @ 26.39, 33: 08-16 03:30:00 - 08-16 04:00:00 @ 26.27, 34: 08-16 04:00:00 - 08-16 04:30:00 @ 26.33, 35: 08-16 04:30:00 - 08-16 05:00:00 @ 26.37, 36: 08-16 05:00:00 - 08-16 05:30:00 @ 26.23, 37: 08-16 05:30:00 - 08-16 06:00:00 @ 26.07, 38: 08-16 06:00:00 - 08-16 06:30:00 @ 25.99, 39: 08-16 06:30:00 - 08-16 07:00:00 @ 25.92, 40: 08-16 07:00:00 - 08-16 07:30:00 @ 25.64, 41: 08-16 07:30:00 - 08-16 08:00:00 @ 25.39, 42: 08-16 08:00:00 - 08-16 08:30:00 @ 24.84, 43: 08-16 08:30:00 - 08-16 09:00:00 @ 24.28, 44: 08-16 09:00:00 - 08-16 09:30:00 @ 24.26, 45: 08-16 09:30:00 - 08-16 10:00:00 @ 24.22, 46: 08-16 10:00:00 - 08-16 10:30:00 @ 24.8, 47: 08-16 10:30:00 - 08-16 11:00:00 @ 25.37, 48: 08-16 11:00:00 - 08-16 11:30:00 @ 24.71, 49: 08-16 11:30:00 - 08-16 12:00:00 @ 24.02, 50: 08-16 12:00:00 - 08-16 12:30:00 @ 23.79, 51: 08-16 12:30:00 - 08-16 13:00:00 @ 23.55, 52: 08-16 13:00:00 - 08-16 13:30:00 @ 23.14, 53: 08-16 13:30:00 - 08-16 14:00:00 @ 22.71, 54: 08-16 14:00:00 - 08-16 14:30:00 @ 22.01, 55: 08-16 14:30:00 - 08-16 15:00:00 @ 21.29, 56: 08-16 15:00:00 - 08-16 15:30:00 @ 22.01, 57: 08-16 15:30:00 - 08-16 16:00:00 @ 22.71, 58: 08-16 16:00:00 - 08-16 16:30:00 @ 37.14, 59: 08-16 16:30:00 - 08-16 17:00:00 @ 37.91, 60: 08-16 17:00:00 - 08-16 17:30:00 @ 40.13, 61: 08-16 17:30:00 - 08-16 18:00:00 @ 42.36, 62: 08-16 18:00:00 - 08-16 18:30:00 @ 44.19, 63: 08-16 19:00:00 - 08-16 19:30:00 @ 33.04, 64: 08-16 19:30:00 - 08-16 20:00:00 @ 33.71, 65: 08-16 20:00:00 - 08-16 20:30:00 @ 33.83, 66: 08-16 20:30:00 - 08-16 21:00:00 @ 33.94, 67: 08-16 21:00:00 - 08-16 21:30:00 @ 33.73, 68: 08-16 21:30:00 - 08-16 22:00:00 @ 33.53, 69: 08-16 22:00:00 - 08-16 22:30:00 @ 32.36, 70: 08-16 22:30:00 - 08-16 23:00:00 @ 31.17, 71: 08-16 23:00:00 - 08-16 23:30:00 @ 29.37, 72: 08-16 23:30:00 - 08-17 00:00:00 @ 29.2, 73: 08-17 00:00:00 - 08-17 00:30:00 @ 28.83, 74: 08-17 00:30:00 - 08-17 01:00:00 @ 28.46, 75: 08-17 01:00:00 - 08-17 01:30:00 @ 27.73, 76: 08-17 01:30:00 - 08-17 02:00:00 @ 27.01, 77: 08-17 02:00:00 - 08-17 02:30:00 @ 26.76, 78: 08-17 02:30:00 - 08-17 03:00:00 @ 26.48, 79: 08-17 03:00:00 - 08-17 03:30:00 @ 26.39, 80: 08-17 03:30:00 - 08-17 04:00:00 @ 26.27, 81: 08-17 04:00:00 - 08-17 04:30:00 @ 26.33, 82: 08-17 04:30:00 - 08-17 05:00:00 @ 26.37, 83: 08-17 05:00:00 - 08-17 05:30:00 @ 26.23, 84: 08-17 05:30:00 - 08-17 06:00:00 @ 26.07, 85: 08-17 06:00:00 - 08-17 06:30:00 @ 25.99, 86: 08-17 06:30:00 - 08-17 07:00:00 @ 25.92, 87: 08-17 07:00:00 - 08-17 07:30:00 @ 25.64, 88: 08-17 07:30:00 - 08-17 08:00:00 @ 25.39, 89: 08-17 08:00:00 - 08-17 08:30:00 @ 24.84, 90: 08-17 08:30:00 - 08-17 09:00:00 @ 24.28, 91: 08-17 09:00:00 - 08-17 09:30:00 @ 24.26, 92: 08-17 09:30:00 - 08-17 10:00:00 @ 24.22, 93: 08-17 10:00:00 - 08-17 10:30:00 @ 24.8, 94: 08-17 10:30:00 - 08-17 11:00:00 @ 25.37, 95: 08-17 11:00:00 - 08-17 11:30:00 @ 24.71]
2026-08-15 11:25:03.705658: Include original charge start 08-15 10:30:00, keeping this instead of new start 08-15 11:00:00
2026-08-15 11:25:03.705825: Inverter 0 Charge window will be: 2026-08-15 10:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 13%, target 13%
2026-08-15 11:25:03.706062: Inverter 0 Target SoC 13%, (this inverter 13%), battery temperature 20°C, select charge rate 5000W (real 5000W), current charge rate 5000W
2026-08-15 11:25:03.706199: Inverter 0 Hold charging as SoC 13% is above target SoC 13% (global soc target 13%) set_discharge_during_charge True
2026-08-15 11:25:03.706417: Adjust idle time, charge 10:30:00-16:00:00 discharge 00:00:00-00:00:00
2026-08-15 11:25:03.706720: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 11:25:03.706893: No export window planned
2026-08-15 11:25:03.707085: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 11:25:03.707130: Adjust idle time, charge 10:30:00-16:00:00 discharge 00:00:00-00:00:00
2026-08-15 11:25:03.707309: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 11:25:03.707435: Inverter 0 setting charging SoC to 13% as per target
2026-08-15 11:25:03.707526: Inverter 0 adjust target SoC for charge to 13% (2.08kWh/16.0kWh 16.0kWh) based on going from 13% -> 13% total add is 0.0kWh and this battery needs to add 0.0kWh to get to 2.08kWh
2026-08-15 11:25:03.707641: Inverter 0 Current Target SoC is 13%, already at target
2026-08-15 11:25:03.707800: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:25:03.707850: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:25:03.707911: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:25:03.707965: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:25:03.708018: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:25:03.708147: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:25:03.708217: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:25:03.708283: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 11:25:03.708324: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 11:25:03.708355: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 11:25:03.708418: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 11:25:03.708455: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 11:25:03.708487: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 11:25:03.708512: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 11:25:03.708586: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:25:03.708625: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:25:03.708656: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:25:03.708687: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:25:03.708711: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:25:03.708734: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:25:03.708760: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:25:03.708787: Inverter 0 count register writes 0
2026-08-15 11:25:03.735593: Will recompute the plan as it is now 10.0 minutes old and will exceed the max age of 10 minutes before the next run
2026-08-15 11:25:03.735847: Recompute is saving previous plan...
2026-08-15 11:25:03.741281: Best charge window [ 15-08 11:00:00 - 15-08 11:30:00 @ 16.56p 13%, 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 13%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 13%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 13%, 15-08 13:00:00 - 15-08 13:30:00 @ 15.36p 13%, 15-08 13:30:00 - 15-08 14:00:00 @ 15.74p 13%, 15-08 14:00:00 - 15-08 14:30:00 @ 14.57p 13%, 15-08 14:30:00 - 15-08 15:00:00 @ 13.77p 13%, 15-08 15:00:00 - 15-08 15:30:00 @ 15.02p 13%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 13%, 15-08 16:00:00 - 15-08 16:30:00 @ 33.13p 13%, 15-08 16:30:00 - 15-08 17:00:00 @ 33.13p 13%, 15-08 17:00:00 - 15-08 17:30:00 @ 38.46p 13%, 15-08 17:30:00 - 15-08 18:00:00 @ 40.44p 13%, 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 13%, 15-08 18:30:00 - 15-08 19:00:00 @ 43.82p 13%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 13%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 13%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 13%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 13%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 13%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 13%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 13%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 13%, 15-08 23:00:00 - 15-08 23:30:00 @ 29.37p 13%, 15-08 23:30:00 - 16-08 00:00:00 @ 29.2p 13%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.83p 13%, 16-08 00:30:00 - 16-08 01:00:00 @ 28.46p 13%, 16-08 01:00:00 - 16-08 01:30:00 @ 27.73p 13%, 16-08 01:30:00 - 16-08 02:00:00 @ 27.01p 13%, 16-08 02:00:00 - 16-08 02:30:00 @ 26.76p 13%, 16-08 02:30:00 - 16-08 03:00:00 @ 26.48p 13%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.39p 13%, 16-08 03:30:00 - 16-08 04:00:00 @ 26.27p 13%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.33p 13%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.37p 13%, 16-08 05:00:00 - 16-08 05:30:00 @ 26.23p 13%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.07p 13%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.99p 13%, 16-08 06:30:00 - 16-08 07:00:00 @ 25.92p 13%, 16-08 07:00:00 - 16-08 07:30:00 @ 25.64p 13%, 16-08 07:30:00 - 16-08 08:00:00 @ 25.39p 13%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.84p 13%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.28p 13%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.26p 13%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.22p 13%, 16-08 10:00:00 - 16-08 10:30:00 @ 24.8p 13%, 16-08 10:30:00 - 16-08 11:00:00 @ 25.37p 13%, 16-08 11:00:00 - 16-08 11:30:00 @ 24.71p 13%, 16-08 11:30:00 - 16-08 12:00:00 @ 24.02p 13%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.79p 13%, 16-08 12:30:00 - 16-08 13:00:00 @ 23.55p 13%, 16-08 13:00:00 - 16-08 13:30:00 @ 23.14p 13%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.71p 13%, 16-08 14:00:00 - 16-08 14:30:00 @ 22.01p 13%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.29p 13%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.01p 13%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.71p 13%, 16-08 16:00:00 - 16-08 16:30:00 @ 37.14p 13%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.91p 13%, 16-08 17:00:00 - 16-08 17:30:00 @ 40.13p 13%, 16-08 17:30:00 - 16-08 18:00:00 @ 42.36p 13%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.19p 13%, 16-08 19:00:00 - 16-08 19:30:00 @ 33.04p 13%, 16-08 19:30:00 - 16-08 20:00:00 @ 33.71p 13%, 16-08 20:00:00 - 16-08 20:30:00 @ 33.83p 13%, 16-08 20:30:00 - 16-08 21:00:00 @ 33.94p 13%, 16-08 21:00:00 - 16-08 21:30:00 @ 33.73p 13%, 16-08 21:30:00 - 16-08 22:00:00 @ 33.53p 13%, 16-08 22:00:00 - 16-08 22:30:00 @ 32.36p 13%, 16-08 22:30:00 - 16-08 23:00:00 @ 31.17p 13%, 16-08 23:00:00 - 16-08 23:30:00 @ 29.37p 13%, 16-08 23:30:00 - 17-08 00:00:00 @ 29.2p 13%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.83p 13%, 17-08 00:30:00 - 17-08 01:00:00 @ 28.46p 13%, 17-08 01:00:00 - 17-08 01:30:00 @ 27.73p 13%, 17-08 01:30:00 - 17-08 02:00:00 @ 27.01p 13%, 17-08 02:00:00 - 17-08 02:30:00 @ 26.76p 13%, 17-08 02:30:00 - 17-08 03:00:00 @ 26.48p 13%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.39p 13%, 17-08 03:30:00 - 17-08 04:00:00 @ 26.27p 13%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.33p 13%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.37p 13%, 17-08 05:00:00 - 17-08 05:30:00 @ 26.23p 13%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.07p 13%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.99p 13%, 17-08 06:30:00 - 17-08 07:00:00 @ 25.92p 13%, 17-08 07:00:00 - 17-08 07:30:00 @ 25.64p 13%, 17-08 07:30:00 - 17-08 08:00:00 @ 25.39p 13%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.84p 13%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.28p 13%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.26p 13%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.22p 13%, 17-08 10:00:00 - 17-08 10:30:00 @ 24.8p 13%, 17-08 10:30:00 - 17-08 11:00:00 @ 25.37p 13%, 17-08 11:00:00 - 17-08 11:30:00 @ 24.71p 13% ]
2026-08-15 11:25:03.741422: Best export window [  ]
2026-08-15 11:25:03.742755: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 11:25:03.748223: Load divergence over 8.0 hours mean 634.97W, min 291.6W, max 1838.4W, std dev 340.95W, divergence 26.85%
2026-08-15 11:25:03.780550: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 11:25:03.781273: LoadML is_calculating False
2026-08-15 11:25:03.781403: Creating pool of 12 processes to match your CPU count
2026-08-15 11:25:03.881541: Calculate Best options: mode(Control charge & discharge), calculate_export_oncharge(False), calculate_export_on_pv(True), set_export_freeze_only(False), set_discharge_during_charge(True), combine_charge_slots(False), combine_export_slots(False), combine_rate_threshold(0.0), best_soc_min(0.0 kWh), best_soc_max(0.0 kWh), best_soc_keep(0.0 kWh), inverter_loss(4%), battery_loss(3%), battery_loss_discharge (3%), inverter_hybrid(True), metric_min_improvement(0.0p), metric_min_improvement_export(0.1p), metric_min_improvement_export_freeze(0.1p), metric_battery_cycle(0.0p/kWh), metric_battery_value_scaling(1.0 x) 
2026-08-15 11:25:03.884618: Optimise levels pass started at 2026-08-15 11:25:03
2026-08-15 11:25:03.884701: Optimise all windows, total charge 95 export 1
2026-08-15 11:25:04.967336: >> Region optimisation pass width 960 gives best_metric 943.37p, best_cost 957.73p, best_cycle 48.72kWh, best_import 36.3kWh
2026-08-15 11:25:05.695775: >> Region optimisation pass width 480 gives best_metric 943.2p, best_cost 957.65p, best_cycle 49.86kWh, best_import 36.38kWh
2026-08-15 11:25:06.553825: >> Region optimisation pass width 240 gives best_metric 943.2p, best_cost 957.65p, best_cycle 49.86kWh, best_import 36.38kWh
2026-08-15 11:25:07.894932: >> Region optimisation pass width 120 gives best_metric 943.2p, best_cost 957.65p, best_cycle 49.86kWh, best_import 36.38kWh
2026-08-15 11:25:07.895367: Calculated end_record as 08-16 11:30:00 based on best_price 22.71p, next_charge_start 08-15 11:30:00, max_windows 49
2026-08-15 11:25:07.895436: Optimise levels pass ended at 2026-08-15 11:25:07, duration 4.0 seconds tried 366 combinations
2026-08-15 11:25:07.895497: Set best_price_charge_level 24.4p, best_price_export_level 0p, best_price_charge 22.71p, best_cost_export 0p, best_metric 943.2p, best_keep 0kWh, best_cycle 49.86kWh, best_carbon 0kg, best_import 36.38kWh
2026-08-15 11:25:07.918515: Starting detailed optimisation end_record 08-16 11:30:00, best_price_charge 22.71p, best_price_export 0p. lowest_price_charge 13.77p with charge limits [0, 16.0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0]kWh and export limits []kWh
2026-08-15 11:25:11.755691: Tweak plan optimisation started metric 546.98p, cost 563.92p
2026-08-15 11:25:12.069475: Tweak optimisation finished metric 546.93p, cost 563.83p, metric_keep 0kWh, cycle 28.78kWh, carbon 0kg, import 19.17kWh, changed 8 window(s)
2026-08-15 11:25:12.086064: Swap charge optimisation started metric 546.93p, cost 563.83p, min_improvement_swap 0.1p
2026-08-15 11:25:15.489289: Swap charge optimisation finished metric 546.93p, cost 563.83p
2026-08-15 11:25:15.602102: Raw charge windows [ 15-08 11:00:00 - 15-08 11:30:00 @ 16.56p 13%, 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 25%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 25%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 13:30:00 @ 15.36p 100%, 15-08 13:30:00 - 15-08 14:00:00 @ 15.74p 100%, 15-08 14:00:00 - 15-08 14:30:00 @ 14.57p 100%, 15-08 14:30:00 - 15-08 15:00:00 @ 13.77p 100%, 15-08 15:00:00 - 15-08 15:30:00 @ 15.02p 100%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 100%, 15-08 16:00:00 - 15-08 16:30:00 @ 33.13p 0%, 15-08 16:30:00 - 15-08 17:00:00 @ 33.13p 0%, 15-08 17:00:00 - 15-08 17:30:00 @ 38.46p 0%, 15-08 17:30:00 - 15-08 18:00:00 @ 40.44p 0%, 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 0%, 15-08 18:30:00 - 15-08 19:00:00 @ 43.82p 0%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 0%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 0%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 0%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 0%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 29.37p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 29.2p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.83p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 28.46p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 27.73p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 27.01p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 26.76p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 26.48p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.39p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 26.27p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.33p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.37p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 26.23p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.07p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.99p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 25.92p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 25.64p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 25.39p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.84p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.28p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.26p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.22p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 24.8p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 25.37p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 24.71p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 24.02p 100%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.79p 100%, 16-08 12:30:00 - 16-08 13:00:00 @ 23.55p 100%, 16-08 13:00:00 - 16-08 13:30:00 @ 23.14p 100%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.71p 100%, 16-08 14:00:00 - 16-08 14:30:00 @ 22.01p 100%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.29p 100%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.01p 100%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.71p 100%, 16-08 16:00:00 - 16-08 16:30:00 @ 37.14p 100%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.91p 100%, 16-08 17:00:00 - 16-08 17:30:00 @ 40.13p 100%, 16-08 17:30:00 - 16-08 18:00:00 @ 42.36p 100%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.19p 100%, 16-08 19:00:00 - 16-08 19:30:00 @ 33.04p 100%, 16-08 19:30:00 - 16-08 20:00:00 @ 33.71p 100%, 16-08 20:00:00 - 16-08 20:30:00 @ 33.83p 100%, 16-08 20:30:00 - 16-08 21:00:00 @ 33.94p 100%, 16-08 21:00:00 - 16-08 21:30:00 @ 33.73p 100%, 16-08 21:30:00 - 16-08 22:00:00 @ 33.53p 100%, 16-08 22:00:00 - 16-08 22:30:00 @ 32.36p 100%, 16-08 22:30:00 - 16-08 23:00:00 @ 31.17p 100%, 16-08 23:00:00 - 16-08 23:30:00 @ 29.37p 100%, 16-08 23:30:00 - 17-08 00:00:00 @ 29.2p 100%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.83p 100%, 17-08 00:30:00 - 17-08 01:00:00 @ 28.46p 100%, 17-08 01:00:00 - 17-08 01:30:00 @ 27.73p 100%, 17-08 01:30:00 - 17-08 02:00:00 @ 27.01p 100%, 17-08 02:00:00 - 17-08 02:30:00 @ 26.76p 100%, 17-08 02:30:00 - 17-08 03:00:00 @ 26.48p 100%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.39p 100%, 17-08 03:30:00 - 17-08 04:00:00 @ 26.27p 100%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.33p 100%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.37p 100%, 17-08 05:00:00 - 17-08 05:30:00 @ 26.23p 100%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.07p 100%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.99p 100%, 17-08 06:30:00 - 17-08 07:00:00 @ 25.92p 100%, 17-08 07:00:00 - 17-08 07:30:00 @ 25.64p 100%, 17-08 07:30:00 - 17-08 08:00:00 @ 25.39p 100%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.84p 100%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.28p 100%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.26p 100%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.22p 100%, 17-08 10:00:00 - 17-08 10:30:00 @ 24.8p 100%, 17-08 10:30:00 - 17-08 11:00:00 @ 25.37p 100%, 17-08 11:00:00 - 17-08 11:30:00 @ 24.71p 100% ] reserve 1.12
2026-08-15 11:25:15.602772: Unclipped charge windows [ 15-08 11:00:00 - 15-08 11:30:00 @ 16.56p 13%, 15-08 11:30:00 - 15-08 13:00:00 @ 16.29p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 11:30:00 - 16-08 18:30:00 @ 41.93p 100%, 16-08 19:00:00 - 17-08 11:30:00 @ 24.84p 100% ] reserve 1.12
2026-08-15 11:25:15.603076: Unfiltered charge windows [ 15-08 11:00:00 - 15-08 11:30:00 @ 16.56p 13%, 15-08 11:30:00 - 15-08 13:00:00 @ 16.29p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 11:30:00 - 16-08 18:30:00 @ 41.93p 100%, 16-08 19:00:00 - 17-08 11:30:00 @ 24.84p 100% ] reserve 1.12
2026-08-15 11:25:15.603344: Filtered charge windows [ 15-08 11:00:00 - 15-08 11:30:00 @ 16.56p 13%, 15-08 11:30:00 - 15-08 13:00:00 @ 16.29p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 11:30:00 - 16-08 18:30:00 @ 41.93p 100%, 16-08 19:00:00 - 17-08 11:30:00 @ 24.84p 100% ] reserve 1.12
2026-08-15 11:25:15.641386: Previous plan best metric is 546.93 (cost 563.83) and new plan best metric is 546.93 (cost 563.83)
2026-08-15 11:25:15.641668: New plan metric is not significantly better (metric_min_improvement_plan 2.0) than previous plan, using previous plan
2026-08-15 11:25:15.641904: Plan valid is now true after recompute was False
2026-08-15 11:25:15.670595: predict base end_record 08-16 11:30:00, final soc 2.08kWh, metric 798.2p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 17:25:00, load 25.23kWh, PV 0.0kWh
2026-08-15 11:25:15.782620: Battery has 6.0 hours left - now at 2.08kWh
2026-08-15 11:25:15.829501: predict base10 end_record 08-16 11:30:00, final soc 2.08kWh, metric 821.19p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 17:20:00, load 26.09kWh, PV 0.0kWh
2026-08-15 11:25:15.910176: predict best10 end_record 08-16 11:30:00, final soc 1.12kWh, metric 637.74p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 10:10:00, load 26.09kWh, PV 0.0kWh
2026-08-15 11:25:15.993218: predict best end_record 08-16 11:30:00, final soc 1.12kWh, metric 613.81p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 11:25:00, load 25.23kWh, PV 0.0kWh
2026-08-15 11:25:15.993308: Saving plan best values to HA entities
2026-08-15 11:25:16.172248: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0
2026-08-15 11:25:16.178075: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 11:25:16.183532: Best charging limit SoC's [2.0, 4.0, 16.0, 16.0, 16.0]kWh, export []kWh gives import battery 19.12kWh, house 0.05kWh, export 0.0kWh, metric 613.81p, metric10 637.74p
2026-08-15 11:25:16.262645: Marginal costs baseline metric (no standing charge): 563.8279
2026-08-15 11:25:16.566317: Marginal energy costs matrix computed: min=15.22 max=32.99
2026-08-15 11:25:16.633683: Rate array import [{'start': 685, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 17.0p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1950, 'rate': 'expensive', 'range': '(24.8p - 32.9p)'}, {'start': 1950, 'end': 2040, 'rate': 'cheap', 'range': '(24.2p - 24.3p)'}, {'start': 2040, 'end': 2130, 'rate': 'expensive', 'range': '(24.7p - 25.4p)'}] export [{'start': 685, 'end': 2130, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 11:25:16.634118: - Your estimated bill for today is £5.63 and tomorrow is £6.88
2026-08-15 11:25:16.634163: - Import rates are cheap (13.8p - 17.0p) for the next 4 and a half hours and then expensive (33.1p) for the next 1 hour.
2026-08-15 11:25:16.634185: - The battery is currently at 13% and is charging to 13% for the next 5 minutes.
2026-08-15 11:25:16.634203: - For the next 48 hours there will be no solar generation.
2026-08-15 11:25:16.634220: - You have enough battery to reach the next charge.
2026-08-15 11:25:16.634237: 
2026-08-15 11:25:16.692213: Plan calculation took 12.96 seconds
2026-08-15 11:25:16.692617: Inverter 0: Type SK Sunsynk
2026-08-15 11:25:16.692689: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 11:25:16.692911: Reserve min: 7%, battery_min: 7%
2026-08-15 11:25:16.693022: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 11:25:16.693418: Inverter 0 SoC: 2.08kW 13%, current charge rate 5000W, current discharge rate 0W, current battery power -9W, current battery voltage 51.2V, grid power -344W, load power 345W, PV Power 0W
2026-08-15 11:25:16.693663: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 11:25:16.693773: Inverter 0 scheduled charge enable is True
2026-08-15 11:25:16.693831: Inverter 0 charge windows currently [{'start': 630, 'end': 960, 'average': 0}, {'start': 2070, 'end': 2400, 'average': 0}, {'start': 3510, 'end': 3840, 'average': 0}]
2026-08-15 11:25:16.693933: Inverter 0 Charge settings: 08-15 10:30:00-08-15 16:00:00, limit 13.0%, power 5.0kW
2026-08-15 11:25:16.694088: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 11:25:16.694135: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 11:25:16.694174: Inverter 0 scheduled discharge enable is False
2026-08-15 11:25:16.694302: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 11:25:16.694339: Inverter 0 discharge windows currently []
2026-08-15 11:25:16.694362: Note: Inverter does not support discharge freeze - disabled
2026-08-15 11:25:16.694381: Note: Inverter does not support charge freeze - disabled
2026-08-15 11:25:16.694428: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 11:25:16.751800: Include original charge start 08-15 10:30:00, keeping this instead of new start 08-15 11:00:00
2026-08-15 11:25:16.751961: Inverter 0 Charge window will be: 2026-08-15 10:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 13%, target 13%
2026-08-15 11:25:16.752119: Inverter 0 Target SoC 13%, (this inverter 13%), battery temperature 20°C, select charge rate 5000W (real 5000W), current charge rate 5000W
2026-08-15 11:25:16.752205: Inverter 0 Hold charging as SoC 13% is above target SoC 13% (global soc target 13%) set_discharge_during_charge True
2026-08-15 11:25:16.752337: Adjust idle time, charge 10:30:00-16:00:00 discharge 00:00:00-00:00:00
2026-08-15 11:25:16.752525: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 11:25:16.752632: No export window planned
2026-08-15 11:25:16.752758: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 11:25:16.752794: Adjust idle time, charge 10:30:00-16:00:00 discharge 00:00:00-00:00:00
2026-08-15 11:25:16.752931: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 11:25:16.753162: Inverter 0 setting charging SoC to 13% as per target
2026-08-15 11:25:16.753264: Inverter 0 adjust target SoC for charge to 13% (2.08kWh/16.0kWh 16.0kWh) based on going from 13% -> 13% total add is 0.0kWh and this battery needs to add 0.0kWh to get to 2.08kWh
2026-08-15 11:25:16.753333: Inverter 0 Current Target SoC is 13%, already at target
2026-08-15 11:25:16.753454: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:25:16.753498: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:25:16.753526: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:25:16.753557: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:25:16.753582: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:25:16.753611: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:25:16.753636: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:25:16.753684: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 11:25:16.753722: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 11:25:16.753753: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 11:25:16.753784: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 11:25:16.753814: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 11:25:16.753845: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 11:25:16.753869: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 11:25:16.753930: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:25:16.753958: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:25:16.754113: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:25:16.754178: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:25:16.754212: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:25:16.754238: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:25:16.754266: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:25:16.754291: Inverter 0 count register writes 0
2026-08-15 11:25:16.774866: Total inverter register writes now 817
2026-08-15 11:25:16.806805: Info: Completed run status Hold charging
2026-08-15 11:25:16.812500: Info: record_status Hold charging target 13%-13%
2026-08-15 11:25:16.818579: Saved current settings to /config/predbat_config.json
2026-08-15 11:25:16.818909: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 11:25:56.925549: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 11:25:56.925832: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 11:25:56.925872: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 11:25:56.926050: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 11:25:56.926135: Note: Inverter does not support discharge freeze - disabled
2026-08-15 11:25:56.926158: Note: Inverter does not support charge freeze - disabled
2026-08-15 11:25:56.926175: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 11:27:57.144897: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 11:27:57.145224: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 11:27:57.145275: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 11:27:57.145411: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 11:27:57.145450: Note: Inverter does not support discharge freeze - disabled
2026-08-15 11:27:57.145470: Note: Inverter does not support charge freeze - disabled
2026-08-15 11:27:57.145488: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 11:29:57.380687: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 11:29:57.381019: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 11:29:57.381068: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 11:29:57.381230: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 11:29:57.381301: Note: Inverter does not support discharge freeze - disabled
2026-08-15 11:29:57.381322: Note: Inverter does not support charge freeze - disabled
2026-08-15 11:29:57.381339: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 11:30:00.463403: --------------- PredBat - update at 2026-08-15 11:30:00+01:00 with clock skew 0 minutes, minutes now 690
2026-08-15 11:30:00.464184: Saved current settings to /config/predbat_config.json
2026-08-15 11:30:00.464339: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 75.0 minutes
2026-08-15 11:30:00.464409: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.1, latest beta is v8.48.1
2026-08-15 11:30:00.464523: Autoupdate: Currently up to date
2026-08-15 11:30:00.485661: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 11:30:00.485782: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 11:30:00.485949: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 11:30:00.486462: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 11:30:00.486564: Predbat mode is set to Control charge & discharge
2026-08-15 11:30:00.686641: Found 21602 load_today datapoints going back 28 days
2026-08-15 11:30:00.686807: Using load_power data to fill gaps in load_today data
2026-08-15 11:30:01.533650: Processing 721 30-minute periods for power integration
2026-08-15 11:30:01.723291: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 11:30:01.723453: Car charging hold False, threshold 6.0kWh
2026-08-15 11:30:01.723508: Current data so far today: load 7.25kWh, import 8.9kWh, export 0.0kWh, PV 0kWh
2026-08-15 11:30:01.738954: Cars: SoC: [11.72]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 11:30:01.739428: Standing charge is set to 49.98p
2026-08-15 11:30:01.786288: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 11:30:01.786387: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 11:30:01.786573: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 50.0 minutes
2026-08-15 11:30:01.786901: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 50.0 minutes
2026-08-15 11:30:01.791695: Loaded 95 datapoints of futurerate analysis
2026-08-15 11:30:01.884169: Predicted future rates: ['08-15 00:00:00 => 28.9 / 20.01', '08-15 01:00:00 => 27.54 / 19.31', '08-15 02:00:00 => 26.52 / 18.8', '08-15 03:00:00 => 25.99 / 18.53', '08-15 04:00:00 => 25.8 / 18.43', '08-15 05:00:00 => 25.96 / 18.51', '08-15 06:00:00 => 25.55 / 18.3', '08-15 07:00:00 => 24.33 / 17.68', '08-15 08:00:00 => 23.03 / 17.01', '08-15 09:00:00 => 22.05 / 16.51', '08-15 10:00:00 => 20.43 / 15.68', '08-15 11:00:00 => 18.01 / 14.45', '08-15 12:00:00 => 16.37 / 13.61', '08-15 13:00:00 => 15.76 / 13.3', '08-15 14:00:00 => 15.35 / 13.09', '08-15 15:00:00 => 15.86 / 13.35', '08-15 16:00:00 => 32.89 / 16.13', '08-15 17:00:00 => 38.02 / 18.75', '08-15 18:00:00 => 42.36 / 20.96', '08-15 19:00:00 => 31.09 / 21.13', '08-15 20:00:00 => 31.64 / 21.41', '08-15 21:00:00 => 31.64 / 21.41', '08-15 22:00:00 => 30.58 / 20.87', '08-15 23:00:00 => 29.37 / 20.25', '08-16 00:00:00 => 28.83 / 19.97', '08-16 01:00:00 => 27.73 / 19.41', '08-16 02:00:00 => 26.76 / 18.92', '08-16 03:00:00 => 26.39 / 18.73', '08-16 04:00:00 => 26.33 / 18.7', '08-16 05:00:00 => 26.23 / 18.65', '08-16 06:00:00 => 25.99 / 18.53', '08-16 07:00:00 => 25.64 / 18.35', '08-16 08:00:00 => 24.84 / 17.94', '08-16 09:00:00 => 24.26 / 17.64', '08-16 10:00:00 => 24.8 / 17.92']
2026-08-15 11:30:01.952377: Rate min forward looking: now 13.77p at end of forecast 21.29p
2026-08-15 11:30:01.953079: Import rates: min 13.77p, max 46.05p, average 27.67p
2026-08-15 11:30:01.999749: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 11:30:01.999910: Rate thresholds (for charge/export) are import 45.55p (0.0p), export -0.1p (0.0p)
2026-08-15 11:30:02.001346: High export rate found rates in range 99p to -99p
2026-08-15 11:30:02.102040: Low Import rate found rates in range 13.77p to 44.19p
2026-08-15 11:30:02.102203: Car 0 charging is not planned as it is not plugged in
2026-08-15 11:30:02.116335: Battery level now 2.08kWh, -1hr ago 1.44kWh, at midnight 1.66kWh, battery value change in the last hour 7.57p, change today 5.01p, rate_forward 11.83p
2026-08-15 11:30:02.116732: Last hour: net energy 0.65kWh, import 0.65kWh, export 0.0kWh, car 0kWh, load 0.38kWh, net cost 11.19p, import 11.19p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 11:30:02.179921: Today's energy total net 8.9kWh, import 8.9kWh, export 0.0kWh, cost 275.1p, import 225.12p, export 0.0p, carbon 0.0kg
2026-08-15 11:30:02.180070: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 11:30:02.269079: Using weighted-bucket historical load forecast over 14 days
2026-08-15 11:30:02.298819: Today's load divergence 104.16%, in-day adjustment 124.69%, damping 0.95x, yesterday 143.77% today 103.95% blend 52.08%
2026-08-15 11:30:02.299044: Today's predicted so far 6.65kWh with 0.0kWh car/iBoost excluded, 3.52kWh import ignored, and 6.65kWh forecast extra.
2026-08-15 11:30:02.299098: Today's actual load so far 7.32kWh with 0.0kWh car/iBoost excluded, and 3.52kWh import ignored.
2026-08-15 11:30:02.340862: Inverter 0: Type SK Sunsynk
2026-08-15 11:30:02.341020: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 11:30:02.341330: Reserve min: 7%, battery_min: 7%
2026-08-15 11:30:02.341441: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 11:30:02.341848: Inverter 0 SoC: 2.08kW 13%, current charge rate 5000W, current discharge rate 0W, current battery power -7W, current battery voltage 51.2V, grid power -360W, load power 360W, PV Power 0W
2026-08-15 11:30:02.342095: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 11:30:02.342260: Inverter 0 scheduled charge enable is True
2026-08-15 11:30:02.342347: Inverter 0 charge windows currently [{'start': 630, 'end': 960, 'average': 0}, {'start': 2070, 'end': 2400, 'average': 0}, {'start': 3510, 'end': 3840, 'average': 0}]
2026-08-15 11:30:02.342498: Inverter 0 Charge settings: 08-15 10:30:00-08-15 16:00:00, limit 13.0%, power 5.0kW
2026-08-15 11:30:02.342694: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 11:30:02.342752: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 11:30:02.342821: Inverter 0 scheduled discharge enable is False
2026-08-15 11:30:02.343032: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 11:30:02.343093: Inverter 0 discharge windows currently []
2026-08-15 11:30:02.343155: Note: Inverter does not support discharge freeze - disabled
2026-08-15 11:30:02.343198: Note: Inverter does not support charge freeze - disabled
2026-08-15 11:30:02.343238: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 11:30:02.427831: Dynamic load last period 0.60kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 11:30:02.427967: Plan was last updated on 2026-08-15 11:25:00+01:00 and is now 5.0 minutes old
2026-08-15 11:30:02.428020: Current charge window has expired, removing it
2026-08-15 11:30:02.428286: Best charge window [ 15-08 11:30:00 - 15-08 13:00:00 @ 16.29p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 11:30:00 - 16-08 18:30:00 @ 41.93p 100%, 16-08 19:00:00 - 17-08 11:30:00 @ 24.84p 100% ]
2026-08-15 11:30:02.428339: Best export window [  ]
2026-08-15 11:30:02.429371: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 11:30:02.433557: Load divergence over 8.0 hours mean 627.81W, min 295.8W, max 1607.4W, std dev 324.17W, divergence 25.82%
2026-08-15 11:30:02.453566: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 11:30:02.453721: LoadML is_calculating False
2026-08-15 11:30:02.453793: Creating pool of 12 processes to match your CPU count
2026-08-15 11:30:02.586736: predict base end_record 08-16 11:35:00, final soc 2.08kWh, metric 799.47p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 17:25:00, load 25.29kWh, PV 0.0kWh
2026-08-15 11:30:02.735499: Battery has 5.92 hours left - now at 2.08kWh
2026-08-15 11:30:02.783588: predict base10 end_record 08-16 11:35:00, final soc 2.08kWh, metric 822.46p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 17:20:00, load 26.15kWh, PV 0.0kWh
2026-08-15 11:30:02.870071: predict best10 end_record 08-16 11:35:00, final soc 1.44kWh, metric 647.48p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 10:15:00, load 26.15kWh, PV 0.0kWh
2026-08-15 11:30:02.963151: predict best end_record 08-16 11:35:00, final soc 1.51kWh, metric 625.23p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 11:25:00, load 25.29kWh, PV 0.0kWh
2026-08-15 11:30:02.963251: Saving plan best values to HA entities
2026-08-15 11:30:03.136436: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0
2026-08-15 11:30:03.143696: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 11:30:03.151410: Best charging limit SoC's [4.0, 16.0, 16.0, 16.0]kWh, export []kWh gives import battery 19.53kWh, house 0.02kWh, export 0.0kWh, metric 625.23p, metric10 647.48p
2026-08-15 11:30:03.230862: Marginal costs baseline metric (no standing charge): 575.243
2026-08-15 11:30:03.515962: Marginal energy costs matrix computed: min=15.16 max=33.15
2026-08-15 11:30:03.591411: Rate array import [{'start': 690, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 17.0p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1950, 'rate': 'expensive', 'range': '(24.8p - 32.9p)'}, {'start': 1950, 'end': 2040, 'rate': 'cheap', 'range': '(24.2p - 24.3p)'}, {'start': 2040, 'end': 2130, 'rate': 'expensive', 'range': '(24.7p - 25.4p)'}, {'start': 2130, 'end': 2135, 'rate': 'cheap', 'range': '(24.0p)'}] export [{'start': 690, 'end': 2135, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 11:30:03.591858: - Your estimated bill for today is £5.63 and tomorrow is £6.85
2026-08-15 11:30:03.591908: - Import rates are cheap (13.8p - 17.0p) for the next 4 and a half hours and then expensive (33.1p) for the next 1 hour.
2026-08-15 11:30:03.591932: - The battery is currently at 13% and is charging to 25% for the next 1 and a half hours.
2026-08-15 11:30:03.591951: - For the next 48 hours there will be no solar generation.
2026-08-15 11:30:03.591972: - You have enough battery to reach the next charge.
2026-08-15 11:30:03.591990: 
2026-08-15 11:30:03.647607: Plan calculation took 1.22 seconds
2026-08-15 11:30:03.651423: No high rate period found
2026-08-15 11:30:03.709918: Import threshold used for optimisation was 17.0p
2026-08-15 11:30:03.776170: Low import rate windows [0: 08-15 11:30:00 - 08-15 12:00:00 @ 15.46, 1: 08-15 12:00:00 - 08-15 12:30:00 @ 17.0, 2: 08-15 12:30:00 - 08-15 13:00:00 @ 16.34, 3: 08-15 13:00:00 - 08-15 13:30:00 @ 15.36, 4: 08-15 13:30:00 - 08-15 14:00:00 @ 15.74, 5: 08-15 14:00:00 - 08-15 14:30:00 @ 14.57, 6: 08-15 14:30:00 - 08-15 15:00:00 @ 13.77, 7: 08-15 15:00:00 - 08-15 15:30:00 @ 15.02, 8: 08-15 15:30:00 - 08-15 16:00:00 @ 15.87, 9: 08-15 16:00:00 - 08-15 16:30:00 @ 33.13, 10: 08-15 16:30:00 - 08-15 17:00:00 @ 33.13, 11: 08-15 17:00:00 - 08-15 17:30:00 @ 38.46, 12: 08-15 17:30:00 - 08-15 18:00:00 @ 40.44, 13: 08-15 18:00:00 - 08-15 18:30:00 @ 41.55, 14: 08-15 18:30:00 - 08-15 19:00:00 @ 43.82, 15: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 16: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 17: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 18: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 19: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 20: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 21: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 22: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 23: 08-15 23:00:00 - 08-15 23:30:00 @ 29.37, 24: 08-15 23:30:00 - 08-16 00:00:00 @ 29.2, 25: 08-16 00:00:00 - 08-16 00:30:00 @ 28.83, 26: 08-16 00:30:00 - 08-16 01:00:00 @ 28.46, 27: 08-16 01:00:00 - 08-16 01:30:00 @ 27.73, 28: 08-16 01:30:00 - 08-16 02:00:00 @ 27.01, 29: 08-16 02:00:00 - 08-16 02:30:00 @ 26.76, 30: 08-16 02:30:00 - 08-16 03:00:00 @ 26.48, 31: 08-16 03:00:00 - 08-16 03:30:00 @ 26.39, 32: 08-16 03:30:00 - 08-16 04:00:00 @ 26.27, 33: 08-16 04:00:00 - 08-16 04:30:00 @ 26.33, 34: 08-16 04:30:00 - 08-16 05:00:00 @ 26.37, 35: 08-16 05:00:00 - 08-16 05:30:00 @ 26.23, 36: 08-16 05:30:00 - 08-16 06:00:00 @ 26.07, 37: 08-16 06:00:00 - 08-16 06:30:00 @ 25.99, 38: 08-16 06:30:00 - 08-16 07:00:00 @ 25.92, 39: 08-16 07:00:00 - 08-16 07:30:00 @ 25.64, 40: 08-16 07:30:00 - 08-16 08:00:00 @ 25.39, 41: 08-16 08:00:00 - 08-16 08:30:00 @ 24.84, 42: 08-16 08:30:00 - 08-16 09:00:00 @ 24.28, 43: 08-16 09:00:00 - 08-16 09:30:00 @ 24.26, 44: 08-16 09:30:00 - 08-16 10:00:00 @ 24.22, 45: 08-16 10:00:00 - 08-16 10:30:00 @ 24.8, 46: 08-16 10:30:00 - 08-16 11:00:00 @ 25.37, 47: 08-16 11:00:00 - 08-16 11:30:00 @ 24.71, 48: 08-16 11:30:00 - 08-16 12:00:00 @ 24.02, 49: 08-16 12:00:00 - 08-16 12:30:00 @ 23.79, 50: 08-16 12:30:00 - 08-16 13:00:00 @ 23.55, 51: 08-16 13:00:00 - 08-16 13:30:00 @ 23.14, 52: 08-16 13:30:00 - 08-16 14:00:00 @ 22.71, 53: 08-16 14:00:00 - 08-16 14:30:00 @ 22.01, 54: 08-16 14:30:00 - 08-16 15:00:00 @ 21.29, 55: 08-16 15:00:00 - 08-16 15:30:00 @ 22.01, 56: 08-16 15:30:00 - 08-16 16:00:00 @ 22.71, 57: 08-16 16:00:00 - 08-16 16:30:00 @ 37.14, 58: 08-16 16:30:00 - 08-16 17:00:00 @ 37.91, 59: 08-16 17:00:00 - 08-16 17:30:00 @ 40.13, 60: 08-16 17:30:00 - 08-16 18:00:00 @ 42.36, 61: 08-16 18:00:00 - 08-16 18:30:00 @ 44.19, 62: 08-16 19:00:00 - 08-16 19:30:00 @ 33.04, 63: 08-16 19:30:00 - 08-16 20:00:00 @ 33.71, 64: 08-16 20:00:00 - 08-16 20:30:00 @ 33.83, 65: 08-16 20:30:00 - 08-16 21:00:00 @ 33.94, 66: 08-16 21:00:00 - 08-16 21:30:00 @ 33.73, 67: 08-16 21:30:00 - 08-16 22:00:00 @ 33.53, 68: 08-16 22:00:00 - 08-16 22:30:00 @ 32.36, 69: 08-16 22:30:00 - 08-16 23:00:00 @ 31.17, 70: 08-16 23:00:00 - 08-16 23:30:00 @ 29.37, 71: 08-16 23:30:00 - 08-17 00:00:00 @ 29.2, 72: 08-17 00:00:00 - 08-17 00:30:00 @ 28.83, 73: 08-17 00:30:00 - 08-17 01:00:00 @ 28.46, 74: 08-17 01:00:00 - 08-17 01:30:00 @ 27.73, 75: 08-17 01:30:00 - 08-17 02:00:00 @ 27.01, 76: 08-17 02:00:00 - 08-17 02:30:00 @ 26.76, 77: 08-17 02:30:00 - 08-17 03:00:00 @ 26.48, 78: 08-17 03:00:00 - 08-17 03:30:00 @ 26.39, 79: 08-17 03:30:00 - 08-17 04:00:00 @ 26.27, 80: 08-17 04:00:00 - 08-17 04:30:00 @ 26.33, 81: 08-17 04:30:00 - 08-17 05:00:00 @ 26.37, 82: 08-17 05:00:00 - 08-17 05:30:00 @ 26.23, 83: 08-17 05:30:00 - 08-17 06:00:00 @ 26.07, 84: 08-17 06:00:00 - 08-17 06:30:00 @ 25.99, 85: 08-17 06:30:00 - 08-17 07:00:00 @ 25.92, 86: 08-17 07:00:00 - 08-17 07:30:00 @ 25.64, 87: 08-17 07:30:00 - 08-17 08:00:00 @ 25.39, 88: 08-17 08:00:00 - 08-17 08:30:00 @ 24.84, 89: 08-17 08:30:00 - 08-17 09:00:00 @ 24.28, 90: 08-17 09:00:00 - 08-17 09:30:00 @ 24.26, 91: 08-17 09:30:00 - 08-17 10:00:00 @ 24.22, 92: 08-17 10:00:00 - 08-17 10:30:00 @ 24.8, 93: 08-17 10:30:00 - 08-17 11:00:00 @ 25.37, 94: 08-17 11:00:00 - 08-17 11:30:00 @ 24.71]
2026-08-15 11:30:03.784152: Include original charge start 08-15 10:30:00, keeping this instead of new start 08-15 11:30:00
2026-08-15 11:30:03.784287: Inverter 0 Charge window will be: 2026-08-15 10:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 13%, target 25%
2026-08-15 11:30:03.784479: Inverter 0 Target SoC 25%, (this inverter 25%), battery temperature 20°C, select charge rate 5000W (real 5000W), current charge rate 5000W
2026-08-15 11:30:03.784719: Adjust idle time, charge 10:30:00-16:00:00 discharge 00:00:00-00:00:00
2026-08-15 11:30:03.785037: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 11:30:03.785224: No export window planned
2026-08-15 11:30:03.785423: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 11:30:03.785467: Adjust idle time, charge 10:30:00-16:00:00 discharge 00:00:00-00:00:00
2026-08-15 11:30:03.785658: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 11:30:03.785851: Inverter 0 current discharge rate is 0W and new target is 5000W
2026-08-15 11:30:08.797341: Inverter 0 write_and_poll_value: Wrote 5000 to discharge_rate, successfully now 5000.0
2026-08-15 11:30:13.820494: Inverter 0 write_and_poll_value: Wrote 98.0 to timed_discharge_current, successfully now 98.0
2026-08-15 11:30:13.820698: Inverter 0 setting charging SoC to 25% as per target
2026-08-15 11:30:13.820801: Inverter 0 adjust target SoC for charge to 25% (4.0kWh/16.0kWh 16.0kWh) based on going from 13% -> 25% total add is 1.92kWh and this battery needs to add 1.92kWh to get to 4.0kWh
2026-08-15 11:30:13.820933: Inverter 0 Current charge limit is 13% and new target is 25%
2026-08-15 11:30:18.902698: Inverter 0 write_and_poll_value: Wrote 25 to charge_limit, successfully now 25.0
2026-08-15 11:30:18.902978: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:30:18.903021: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:30:18.903050: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:30:18.903078: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:30:18.903105: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:30:18.903176: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:30:18.903217: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:30:18.903282: Inverter 0 Calling service charge_start_service domain charge service_name select/select_option with data {'entity_id': 'select.sunsynk_prog1_charge', 'option': 'Allow Grid & Gen'}
2026-08-15 11:30:18.973017: Inverter 0 Calling service charge_start_service domain charge service_name select/select_option with data {'entity_id': 'select.sunsynk_prog2_charge', 'option': 'Allow Grid & Gen'}
2026-08-15 11:30:19.077062: Inverter 0 Calling service charge_start_service domain charge service_name select/select_option with data {'entity_id': 'select.sunsynk_prog3_charge', 'option': 'Allow Grid & Gen'}
2026-08-15 11:30:19.180590: Inverter 0 Calling service charge_start_service domain charge service_name select/select_option with data {'entity_id': 'select.sunsynk_prog4_charge', 'option': 'Allow Grid & Gen'}
2026-08-15 11:30:19.284749: Inverter 0 Calling service charge_start_service domain charge service_name select/select_option with data {'entity_id': 'select.sunsynk_prog5_charge', 'option': 'Allow Grid & Gen'}
2026-08-15 11:30:19.323609: Inverter 0 Calling service charge_start_service domain charge service_name select/select_option with data {'entity_id': 'select.sunsynk_prog6_charge', 'option': 'Allow Grid & Gen'}
2026-08-15 11:30:19.427678: Inverter 0 Calling service charge_start_service domain charge service_name select/select_option with data {'entity_id': 'select.sunsynk_load_limit', 'option': 'Zero Export'}
2026-08-15 11:30:19.531539: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:30:19.531637: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:30:19.531672: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:30:19.531699: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:30:19.531745: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:30:19.531780: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:30:19.531805: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:30:19.531827: Inverter 0 count register writes 2
2026-08-15 11:30:19.554352: Will not recompute the plan, it is 5.0 minutes old and max age is 10 minutes
2026-08-15 11:30:19.561597: Total inverter register writes now 819
2026-08-15 11:30:19.597461: Info: Completed run status Charging
2026-08-15 11:30:19.905489: Info: record_status Charging target 13%-25%
2026-08-15 11:30:19.915725: Saved current settings to /config/predbat_config.json
2026-08-15 11:30:19.916115: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 11:30:57.037376: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 11:30:57.037676: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 11:30:57.037717: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 11:30:57.037871: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 11:30:57.037931: Note: Inverter does not support discharge freeze - disabled
2026-08-15 11:30:57.037963: Note: Inverter does not support charge freeze - disabled
2026-08-15 11:30:57.037981: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 11:32:57.276588: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 11:32:57.276844: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 11:32:57.276887: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 11:32:57.277148: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 11:32:57.277211: Note: Inverter does not support discharge freeze - disabled
2026-08-15 11:32:57.277231: Note: Inverter does not support charge freeze - disabled
2026-08-15 11:32:57.277246: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 11:35:00.494997: --------------- PredBat - update at 2026-08-15 11:35:00+01:00 with clock skew 0 minutes, minutes now 695
2026-08-15 11:35:00.495782: Saved current settings to /config/predbat_config.json
2026-08-15 11:35:00.495952: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 80.0 minutes
2026-08-15 11:35:00.496082: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.1, latest beta is v8.48.1
2026-08-15 11:35:00.496171: Autoupdate: Currently up to date
2026-08-15 11:35:00.514719: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 11:35:00.514858: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 11:35:00.515042: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 11:35:00.515612: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 11:35:00.515737: Predbat mode is set to Control charge & discharge
2026-08-15 11:35:00.680685: Found 21602 load_today datapoints going back 28 days
2026-08-15 11:35:00.681014: Using load_power data to fill gaps in load_today data
2026-08-15 11:35:01.389465: Processing 721 30-minute periods for power integration
2026-08-15 11:35:01.557932: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 11:35:01.558094: Car charging hold False, threshold 6.0kWh
2026-08-15 11:35:01.558143: Current data so far today: load 7.3kWh, import 8.9kWh, export 0.0kWh, PV 0kWh
2026-08-15 11:35:01.573399: Cars: SoC: [11.72]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 11:35:01.573932: Standing charge is set to 49.98p
2026-08-15 11:35:01.621845: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 11:35:01.621948: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 11:35:01.622152: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 55.0 minutes
2026-08-15 11:35:01.622598: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 55.0 minutes
2026-08-15 11:35:01.628404: Loaded 95 datapoints of futurerate analysis
2026-08-15 11:35:01.725100: Predicted future rates: ['08-15 00:00:00 => 28.9 / 20.01', '08-15 01:00:00 => 27.54 / 19.31', '08-15 02:00:00 => 26.52 / 18.8', '08-15 03:00:00 => 25.99 / 18.53', '08-15 04:00:00 => 25.8 / 18.43', '08-15 05:00:00 => 25.96 / 18.51', '08-15 06:00:00 => 25.55 / 18.3', '08-15 07:00:00 => 24.33 / 17.68', '08-15 08:00:00 => 23.03 / 17.01', '08-15 09:00:00 => 22.05 / 16.51', '08-15 10:00:00 => 20.43 / 15.68', '08-15 11:00:00 => 18.01 / 14.45', '08-15 12:00:00 => 16.37 / 13.61', '08-15 13:00:00 => 15.76 / 13.3', '08-15 14:00:00 => 15.35 / 13.09', '08-15 15:00:00 => 15.86 / 13.35', '08-15 16:00:00 => 32.89 / 16.13', '08-15 17:00:00 => 38.02 / 18.75', '08-15 18:00:00 => 42.36 / 20.96', '08-15 19:00:00 => 31.09 / 21.13', '08-15 20:00:00 => 31.64 / 21.41', '08-15 21:00:00 => 31.64 / 21.41', '08-15 22:00:00 => 30.58 / 20.87', '08-15 23:00:00 => 29.37 / 20.25', '08-16 00:00:00 => 28.83 / 19.97', '08-16 01:00:00 => 27.73 / 19.41', '08-16 02:00:00 => 26.76 / 18.92', '08-16 03:00:00 => 26.39 / 18.73', '08-16 04:00:00 => 26.33 / 18.7', '08-16 05:00:00 => 26.23 / 18.65', '08-16 06:00:00 => 25.99 / 18.53', '08-16 07:00:00 => 25.64 / 18.35', '08-16 08:00:00 => 24.84 / 17.94', '08-16 09:00:00 => 24.26 / 17.64', '08-16 10:00:00 => 24.8 / 17.92']
2026-08-15 11:35:01.788266: Rate min forward looking: now 13.77p at end of forecast 21.29p
2026-08-15 11:35:01.788713: Import rates: min 13.77p, max 46.05p, average 27.68p
2026-08-15 11:35:01.831727: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 11:35:01.831859: Rate thresholds (for charge/export) are import 45.55p (0.0p), export -0.1p (0.0p)
2026-08-15 11:35:01.833204: High export rate found rates in range 99p to -99p
2026-08-15 11:35:01.937783: Low Import rate found rates in range 13.77p to 44.19p
2026-08-15 11:35:01.937927: Car 0 charging is not planned as it is not plugged in
2026-08-15 11:35:01.951060: Battery level now 2.08kWh, -1hr ago 1.44kWh, at midnight 1.66kWh, battery value change in the last hour 7.57p, change today 5.01p, rate_forward 11.83p
2026-08-15 11:35:01.951482: Last hour: net energy 0.6kWh, import 0.6kWh, export 0.0kWh, car 0kWh, load 0.4kWh, net cost 10.31p, import 10.31p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 11:35:02.019082: Today's energy total net 8.9kWh, import 8.9kWh, export 0.0kWh, cost 275.1p, import 225.12p, export 0.0p, carbon 0.0kg
2026-08-15 11:35:02.019252: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 11:35:02.105743: Using weighted-bucket historical load forecast over 14 days
2026-08-15 11:35:02.134370: Today's load divergence 104.22%, in-day adjustment 124.58%, damping 0.95x, yesterday 143.77% today 104.01% blend 51.74%
2026-08-15 11:35:02.134515: Today's predicted so far 6.78kWh with 0.0kWh car/iBoost excluded, 3.59kWh import ignored, and 6.78kWh forecast extra.
2026-08-15 11:35:02.134604: Today's actual load so far 7.46kWh with 0.0kWh car/iBoost excluded, and 3.59kWh import ignored.
2026-08-15 11:35:02.183440: Inverter 0: Type SK Sunsynk
2026-08-15 11:35:02.183530: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 11:35:02.183705: Reserve min: 7%, battery_min: 7%
2026-08-15 11:35:02.183771: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 11:35:02.183997: Inverter 0 SoC: 2.15kW 13%, current charge rate 5000W, current discharge rate 5250W, current battery power -4483W, current battery voltage 51.2V, grid power -5218W, load power 221W, PV Power 0W
2026-08-15 11:35:02.184131: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 11:35:02.184222: Inverter 0 scheduled charge enable is True
2026-08-15 11:35:02.184260: Inverter 0 charge windows currently [{'start': 630, 'end': 960, 'average': 0}, {'start': 2070, 'end': 2400, 'average': 0}, {'start': 3510, 'end': 3840, 'average': 0}]
2026-08-15 11:35:02.184340: Inverter 0 Charge settings: 08-15 10:30:00-08-15 16:00:00, limit 25.0%, power 5.0kW
2026-08-15 11:35:02.184431: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 11:35:02.184461: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 11:35:02.184491: Inverter 0 scheduled discharge enable is False
2026-08-15 11:35:02.184589: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 11:35:02.184619: Inverter 0 discharge windows currently []
2026-08-15 11:35:02.184638: Note: Inverter does not support discharge freeze - disabled
2026-08-15 11:35:02.184659: Note: Inverter does not support charge freeze - disabled
2026-08-15 11:35:02.184674: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 11:35:02.240614: Dynamic load last period 0.60kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 11:35:02.240730: Plan was last updated on 2026-08-15 11:25:00+01:00 and is now 10.0 minutes old
2026-08-15 11:35:02.241004: Best charge window [ 15-08 11:30:00 - 15-08 13:00:00 @ 16.29p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 11:30:00 - 16-08 18:30:00 @ 41.93p 100%, 16-08 19:00:00 - 17-08 11:30:00 @ 24.84p 100% ]
2026-08-15 11:35:02.241054: Best export window [  ]
2026-08-15 11:35:02.241921: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 11:35:02.245096: Load divergence over 8.0 hours mean 620.2W, min 294.0W, max 1564.2W, std dev 308.49W, divergence 24.87%
2026-08-15 11:35:02.262027: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 11:35:02.262138: LoadML is_calculating False
2026-08-15 11:35:02.262207: Creating pool of 12 processes to match your CPU count
2026-08-15 11:35:02.372857: predict base end_record 08-16 11:40:00, final soc 4.0kWh, metric 811.58p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 19:40:00, load 25.29kWh, PV 0.0kWh
2026-08-15 11:35:02.499094: Battery has 8.08 hours left - now at 2.15kWh
2026-08-15 11:35:02.546103: predict base10 end_record 08-16 11:40:00, final soc 4.0kWh, metric 833.84p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 19:30:00, load 26.15kWh, PV 0.0kWh
2026-08-15 11:35:02.627845: predict best10 end_record 08-16 11:40:00, final soc 1.77kWh, metric 654.63p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 10:20:00, load 26.15kWh, PV 0.0kWh
2026-08-15 11:35:02.713060: predict best end_record 08-16 11:40:00, final soc 1.92kWh, metric 634.33p, metric_keep 0kWh, min_soc 1.15kWh @ 08-16 11:25:00, load 25.29kWh, PV 0.0kWh
2026-08-15 11:35:02.713195: Saving plan best values to HA entities
2026-08-15 11:35:02.892041: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0
2026-08-15 11:35:02.898696: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 11:35:02.904845: Best charging limit SoC's [4.0, 16.0, 16.0, 16.0]kWh, export []kWh gives import battery 19.86kWh, house 0.0kWh, export 0.0kWh, metric 634.33p, metric10 654.63p
2026-08-15 11:35:02.984902: Marginal costs baseline metric (no standing charge): 584.3466
2026-08-15 11:35:03.281523: Marginal energy costs matrix computed: min=14.99 max=33.29
2026-08-15 11:35:03.359734: Rate array import [{'start': 695, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 17.0p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1950, 'rate': 'expensive', 'range': '(24.8p - 32.9p)'}, {'start': 1950, 'end': 2040, 'rate': 'cheap', 'range': '(24.2p - 24.3p)'}, {'start': 2040, 'end': 2130, 'rate': 'expensive', 'range': '(24.7p - 25.4p)'}, {'start': 2130, 'end': 2140, 'rate': 'cheap', 'range': '(24.0p)'}] export [{'start': 695, 'end': 2140, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 11:35:03.360200: - Your estimated bill for today is £5.60 and tomorrow is £6.82
2026-08-15 11:35:03.360252: - Import rates are cheap (13.8p - 17.0p) for the next 4 and a half hours and then expensive (33.1p) for the next 1 hour.
2026-08-15 11:35:03.360274: - The battery is currently at 13% and is charging to 25% for the next 1 and a half hours.
2026-08-15 11:35:03.360293: - For the next 48 hours there will be no solar generation.
2026-08-15 11:35:03.360311: - You have enough battery to reach the next charge.
2026-08-15 11:35:03.360328: 
2026-08-15 11:35:03.418885: Plan calculation took 1.18 seconds
2026-08-15 11:35:03.422565: No high rate period found
2026-08-15 11:35:03.478203: Import threshold used for optimisation was 17.0p
2026-08-15 11:35:03.532363: Low import rate windows [0: 08-15 11:30:00 - 08-15 12:00:00 @ 15.46, 1: 08-15 12:00:00 - 08-15 12:30:00 @ 17.0, 2: 08-15 12:30:00 - 08-15 13:00:00 @ 16.34, 3: 08-15 13:00:00 - 08-15 13:30:00 @ 15.36, 4: 08-15 13:30:00 - 08-15 14:00:00 @ 15.74, 5: 08-15 14:00:00 - 08-15 14:30:00 @ 14.57, 6: 08-15 14:30:00 - 08-15 15:00:00 @ 13.77, 7: 08-15 15:00:00 - 08-15 15:30:00 @ 15.02, 8: 08-15 15:30:00 - 08-15 16:00:00 @ 15.87, 9: 08-15 16:00:00 - 08-15 16:30:00 @ 33.13, 10: 08-15 16:30:00 - 08-15 17:00:00 @ 33.13, 11: 08-15 17:00:00 - 08-15 17:30:00 @ 38.46, 12: 08-15 17:30:00 - 08-15 18:00:00 @ 40.44, 13: 08-15 18:00:00 - 08-15 18:30:00 @ 41.55, 14: 08-15 18:30:00 - 08-15 19:00:00 @ 43.82, 15: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 16: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 17: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 18: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 19: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 20: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 21: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 22: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 23: 08-15 23:00:00 - 08-15 23:30:00 @ 29.37, 24: 08-15 23:30:00 - 08-16 00:00:00 @ 29.2, 25: 08-16 00:00:00 - 08-16 00:30:00 @ 28.83, 26: 08-16 00:30:00 - 08-16 01:00:00 @ 28.46, 27: 08-16 01:00:00 - 08-16 01:30:00 @ 27.73, 28: 08-16 01:30:00 - 08-16 02:00:00 @ 27.01, 29: 08-16 02:00:00 - 08-16 02:30:00 @ 26.76, 30: 08-16 02:30:00 - 08-16 03:00:00 @ 26.48, 31: 08-16 03:00:00 - 08-16 03:30:00 @ 26.39, 32: 08-16 03:30:00 - 08-16 04:00:00 @ 26.27, 33: 08-16 04:00:00 - 08-16 04:30:00 @ 26.33, 34: 08-16 04:30:00 - 08-16 05:00:00 @ 26.37, 35: 08-16 05:00:00 - 08-16 05:30:00 @ 26.23, 36: 08-16 05:30:00 - 08-16 06:00:00 @ 26.07, 37: 08-16 06:00:00 - 08-16 06:30:00 @ 25.99, 38: 08-16 06:30:00 - 08-16 07:00:00 @ 25.92, 39: 08-16 07:00:00 - 08-16 07:30:00 @ 25.64, 40: 08-16 07:30:00 - 08-16 08:00:00 @ 25.39, 41: 08-16 08:00:00 - 08-16 08:30:00 @ 24.84, 42: 08-16 08:30:00 - 08-16 09:00:00 @ 24.28, 43: 08-16 09:00:00 - 08-16 09:30:00 @ 24.26, 44: 08-16 09:30:00 - 08-16 10:00:00 @ 24.22, 45: 08-16 10:00:00 - 08-16 10:30:00 @ 24.8, 46: 08-16 10:30:00 - 08-16 11:00:00 @ 25.37, 47: 08-16 11:00:00 - 08-16 11:30:00 @ 24.71, 48: 08-16 11:30:00 - 08-16 12:00:00 @ 24.02, 49: 08-16 12:00:00 - 08-16 12:30:00 @ 23.79, 50: 08-16 12:30:00 - 08-16 13:00:00 @ 23.55, 51: 08-16 13:00:00 - 08-16 13:30:00 @ 23.14, 52: 08-16 13:30:00 - 08-16 14:00:00 @ 22.71, 53: 08-16 14:00:00 - 08-16 14:30:00 @ 22.01, 54: 08-16 14:30:00 - 08-16 15:00:00 @ 21.29, 55: 08-16 15:00:00 - 08-16 15:30:00 @ 22.01, 56: 08-16 15:30:00 - 08-16 16:00:00 @ 22.71, 57: 08-16 16:00:00 - 08-16 16:30:00 @ 37.14, 58: 08-16 16:30:00 - 08-16 17:00:00 @ 37.91, 59: 08-16 17:00:00 - 08-16 17:30:00 @ 40.13, 60: 08-16 17:30:00 - 08-16 18:00:00 @ 42.36, 61: 08-16 18:00:00 - 08-16 18:30:00 @ 44.19, 62: 08-16 19:00:00 - 08-16 19:30:00 @ 33.04, 63: 08-16 19:30:00 - 08-16 20:00:00 @ 33.71, 64: 08-16 20:00:00 - 08-16 20:30:00 @ 33.83, 65: 08-16 20:30:00 - 08-16 21:00:00 @ 33.94, 66: 08-16 21:00:00 - 08-16 21:30:00 @ 33.73, 67: 08-16 21:30:00 - 08-16 22:00:00 @ 33.53, 68: 08-16 22:00:00 - 08-16 22:30:00 @ 32.36, 69: 08-16 22:30:00 - 08-16 23:00:00 @ 31.17, 70: 08-16 23:00:00 - 08-16 23:30:00 @ 29.37, 71: 08-16 23:30:00 - 08-17 00:00:00 @ 29.2, 72: 08-17 00:00:00 - 08-17 00:30:00 @ 28.83, 73: 08-17 00:30:00 - 08-17 01:00:00 @ 28.46, 74: 08-17 01:00:00 - 08-17 01:30:00 @ 27.73, 75: 08-17 01:30:00 - 08-17 02:00:00 @ 27.01, 76: 08-17 02:00:00 - 08-17 02:30:00 @ 26.76, 77: 08-17 02:30:00 - 08-17 03:00:00 @ 26.48, 78: 08-17 03:00:00 - 08-17 03:30:00 @ 26.39, 79: 08-17 03:30:00 - 08-17 04:00:00 @ 26.27, 80: 08-17 04:00:00 - 08-17 04:30:00 @ 26.33, 81: 08-17 04:30:00 - 08-17 05:00:00 @ 26.37, 82: 08-17 05:00:00 - 08-17 05:30:00 @ 26.23, 83: 08-17 05:30:00 - 08-17 06:00:00 @ 26.07, 84: 08-17 06:00:00 - 08-17 06:30:00 @ 25.99, 85: 08-17 06:30:00 - 08-17 07:00:00 @ 25.92, 86: 08-17 07:00:00 - 08-17 07:30:00 @ 25.64, 87: 08-17 07:30:00 - 08-17 08:00:00 @ 25.39, 88: 08-17 08:00:00 - 08-17 08:30:00 @ 24.84, 89: 08-17 08:30:00 - 08-17 09:00:00 @ 24.28, 90: 08-17 09:00:00 - 08-17 09:30:00 @ 24.26, 91: 08-17 09:30:00 - 08-17 10:00:00 @ 24.22, 92: 08-17 10:00:00 - 08-17 10:30:00 @ 24.8, 93: 08-17 10:30:00 - 08-17 11:00:00 @ 25.37, 94: 08-17 11:00:00 - 08-17 11:30:00 @ 24.71, 95: 08-17 11:30:00 - 08-17 12:00:00 @ 24.02]
2026-08-15 11:35:03.542538: Include original charge start 08-15 10:30:00, keeping this instead of new start 08-15 11:30:00
2026-08-15 11:35:03.542711: Inverter 0 Charge window will be: 2026-08-15 10:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 13%, target 25%
2026-08-15 11:35:03.542936: Inverter 0 Target SoC 25%, (this inverter 25%), battery temperature 20°C, select charge rate 5000W (real 5000W), current charge rate 5000W
2026-08-15 11:35:03.543196: Adjust idle time, charge 10:30:00-16:00:00 discharge 00:00:00-00:00:00
2026-08-15 11:35:03.543475: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 11:35:03.543577: No export window planned
2026-08-15 11:35:03.543707: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 11:35:03.543743: Adjust idle time, charge 10:30:00-16:00:00 discharge 00:00:00-00:00:00
2026-08-15 11:35:03.543880: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 11:35:03.544000: Inverter 0 setting charging SoC to 25% as per target
2026-08-15 11:35:03.544065: Inverter 0 adjust target SoC for charge to 25% (4.0kWh/16.0kWh 16.0kWh) based on going from 13% -> 25% total add is 1.85kWh and this battery needs to add 1.85kWh to get to 4.0kWh
2026-08-15 11:35:03.544126: Inverter 0 Current Target SoC is 25%, already at target
2026-08-15 11:35:03.544246: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:35:03.544292: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:35:03.544320: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:35:03.544377: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:35:03.544406: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:35:03.544430: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:35:03.544454: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:35:03.544499: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 11:35:03.544533: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 11:35:03.544562: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 11:35:03.544587: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 11:35:03.544620: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 11:35:03.544646: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 11:35:03.544676: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 11:35:03.544739: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:35:03.544773: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:35:03.544799: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:35:03.544822: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:35:03.544846: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:35:03.544869: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:35:03.544892: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:35:03.544912: Inverter 0 count register writes 0
2026-08-15 11:35:03.561199: Will recompute the plan as it is now 10.0 minutes old and will exceed the max age of 10 minutes before the next run
2026-08-15 11:35:03.561379: Recompute is saving previous plan...
2026-08-15 11:35:03.565247: Best charge window [ 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 25%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 25%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 13:30:00 @ 15.36p 25%, 15-08 13:30:00 - 15-08 14:00:00 @ 15.74p 25%, 15-08 14:00:00 - 15-08 14:30:00 @ 14.57p 25%, 15-08 14:30:00 - 15-08 15:00:00 @ 13.77p 25%, 15-08 15:00:00 - 15-08 15:30:00 @ 15.02p 25%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 25%, 15-08 16:00:00 - 15-08 16:30:00 @ 33.13p 25%, 15-08 16:30:00 - 15-08 17:00:00 @ 33.13p 25%, 15-08 17:00:00 - 15-08 17:30:00 @ 38.46p 25%, 15-08 17:30:00 - 15-08 18:00:00 @ 40.44p 25%, 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 25%, 15-08 18:30:00 - 15-08 19:00:00 @ 43.82p 25%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 25%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 25%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 25%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 25%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 25%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 25%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 25%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 25%, 15-08 23:00:00 - 15-08 23:30:00 @ 29.37p 25%, 15-08 23:30:00 - 16-08 00:00:00 @ 29.2p 25%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.83p 25%, 16-08 00:30:00 - 16-08 01:00:00 @ 28.46p 25%, 16-08 01:00:00 - 16-08 01:30:00 @ 27.73p 25%, 16-08 01:30:00 - 16-08 02:00:00 @ 27.01p 25%, 16-08 02:00:00 - 16-08 02:30:00 @ 26.76p 25%, 16-08 02:30:00 - 16-08 03:00:00 @ 26.48p 25%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.39p 25%, 16-08 03:30:00 - 16-08 04:00:00 @ 26.27p 25%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.33p 25%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.37p 25%, 16-08 05:00:00 - 16-08 05:30:00 @ 26.23p 25%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.07p 25%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.99p 25%, 16-08 06:30:00 - 16-08 07:00:00 @ 25.92p 25%, 16-08 07:00:00 - 16-08 07:30:00 @ 25.64p 25%, 16-08 07:30:00 - 16-08 08:00:00 @ 25.39p 25%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.84p 25%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.28p 25%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.26p 25%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.22p 25%, 16-08 10:00:00 - 16-08 10:30:00 @ 24.8p 25%, 16-08 10:30:00 - 16-08 11:00:00 @ 25.37p 25%, 16-08 11:00:00 - 16-08 11:30:00 @ 24.71p 25%, 16-08 11:30:00 - 16-08 12:00:00 @ 24.02p 25%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.79p 25%, 16-08 12:30:00 - 16-08 13:00:00 @ 23.55p 25%, 16-08 13:00:00 - 16-08 13:30:00 @ 23.14p 25%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.71p 25%, 16-08 14:00:00 - 16-08 14:30:00 @ 22.01p 25%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.29p 25%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.01p 25%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.71p 25%, 16-08 16:00:00 - 16-08 16:30:00 @ 37.14p 25%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.91p 25%, 16-08 17:00:00 - 16-08 17:30:00 @ 40.13p 25%, 16-08 17:30:00 - 16-08 18:00:00 @ 42.36p 25%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.19p 25%, 16-08 19:00:00 - 16-08 19:30:00 @ 33.04p 25%, 16-08 19:30:00 - 16-08 20:00:00 @ 33.71p 25%, 16-08 20:00:00 - 16-08 20:30:00 @ 33.83p 25%, 16-08 20:30:00 - 16-08 21:00:00 @ 33.94p 25%, 16-08 21:00:00 - 16-08 21:30:00 @ 33.73p 25%, 16-08 21:30:00 - 16-08 22:00:00 @ 33.53p 25%, 16-08 22:00:00 - 16-08 22:30:00 @ 32.36p 25%, 16-08 22:30:00 - 16-08 23:00:00 @ 31.17p 25%, 16-08 23:00:00 - 16-08 23:30:00 @ 29.37p 25%, 16-08 23:30:00 - 17-08 00:00:00 @ 29.2p 25%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.83p 25%, 17-08 00:30:00 - 17-08 01:00:00 @ 28.46p 25%, 17-08 01:00:00 - 17-08 01:30:00 @ 27.73p 25%, 17-08 01:30:00 - 17-08 02:00:00 @ 27.01p 25%, 17-08 02:00:00 - 17-08 02:30:00 @ 26.76p 25%, 17-08 02:30:00 - 17-08 03:00:00 @ 26.48p 25%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.39p 25%, 17-08 03:30:00 - 17-08 04:00:00 @ 26.27p 25%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.33p 25%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.37p 25%, 17-08 05:00:00 - 17-08 05:30:00 @ 26.23p 25%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.07p 25%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.99p 25%, 17-08 06:30:00 - 17-08 07:00:00 @ 25.92p 25%, 17-08 07:00:00 - 17-08 07:30:00 @ 25.64p 25%, 17-08 07:30:00 - 17-08 08:00:00 @ 25.39p 25%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.84p 25%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.28p 25%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.26p 25%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.22p 25%, 17-08 10:00:00 - 17-08 10:30:00 @ 24.8p 25%, 17-08 10:30:00 - 17-08 11:00:00 @ 25.37p 25%, 17-08 11:00:00 - 17-08 11:30:00 @ 24.71p 25%, 17-08 11:30:00 - 17-08 12:00:00 @ 24.02p 25% ]
2026-08-15 11:35:03.565340: Best export window [  ]
2026-08-15 11:35:03.566146: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 11:35:03.569300: Load divergence over 8.0 hours mean 620.2W, min 294.0W, max 1564.2W, std dev 308.49W, divergence 24.87%
2026-08-15 11:35:03.588411: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 11:35:03.589279: LoadML is_calculating False
2026-08-15 11:35:03.589407: Creating pool of 12 processes to match your CPU count
2026-08-15 11:35:03.686013: Calculate Best options: mode(Control charge & discharge), calculate_export_oncharge(False), calculate_export_on_pv(True), set_export_freeze_only(False), set_discharge_during_charge(True), combine_charge_slots(False), combine_export_slots(False), combine_rate_threshold(0.0), best_soc_min(0.0 kWh), best_soc_max(0.0 kWh), best_soc_keep(0.0 kWh), inverter_loss(4%), battery_loss(3%), battery_loss_discharge (3%), inverter_hybrid(True), metric_min_improvement(0.0p), metric_min_improvement_export(0.1p), metric_min_improvement_export_freeze(0.1p), metric_battery_cycle(0.0p/kWh), metric_battery_value_scaling(1.0 x) 
2026-08-15 11:35:03.688593: Optimise levels pass started at 2026-08-15 11:35:03
2026-08-15 11:35:03.688676: Optimise all windows, total charge 95 export 1
2026-08-15 11:35:04.807205: >> Region optimisation pass width 960 gives best_metric 941.93p, best_cost 956.28p, best_cycle 48.42kWh, best_import 36.07kWh
2026-08-15 11:35:05.233904: >> Region optimisation pass width 480 gives best_metric 941.93p, best_cost 956.28p, best_cycle 48.42kWh, best_import 36.07kWh
2026-08-15 11:35:05.707702: >> Region optimisation pass width 240 gives best_metric 941.93p, best_cost 956.28p, best_cycle 48.42kWh, best_import 36.07kWh
2026-08-15 11:35:06.855885: >> Region optimisation pass width 120 gives best_metric 941.93p, best_cost 956.28p, best_cycle 48.42kWh, best_import 36.07kWh
2026-08-15 11:35:06.856387: Calculated end_record as 08-16 12:00:00 based on best_price 22.71p, next_charge_start 08-15 12:00:00, max_windows 49
2026-08-15 11:35:06.856538: Optimise levels pass ended at 2026-08-15 11:35:06, duration 3.2 seconds tried 284 combinations
2026-08-15 11:35:06.856970: Set best_price_charge_level 24.4p, best_price_export_level 0p, best_price_charge 22.71p, best_cost_export 0p, best_metric 941.93p, best_keep 0kWh, best_cycle 48.42kWh, best_carbon 0kg, best_import 36.07kWh
2026-08-15 11:35:06.880346: Starting detailed optimisation end_record 08-16 12:00:00, best_price_charge 22.71p, best_price_export 0p. lowest_price_charge 13.77p with charge limits [16.0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0]kWh and export limits []kWh
2026-08-15 11:35:11.200801: Tweak plan optimisation started metric 555.25p, cost 572.14p
2026-08-15 11:35:11.502150: Tweak optimisation finished metric 555.25p, cost 572.14p, metric_keep 0kWh, cycle 28.71kWh, carbon 0kg, import 19.36kWh, changed 8 window(s)
2026-08-15 11:35:11.518828: Swap charge optimisation started metric 555.25p, cost 572.14p, min_improvement_swap 0.1p
2026-08-15 11:35:15.005698: Swap charge optimisation finished metric 555.25p, cost 572.14p
2026-08-15 11:35:15.118536: Pruned 3 dead plan slot(s) in 12 trial(s), nominal metric 551.65p -> 551.65p, plan now metric 555.35p, cost 572.14p, cycle 28.71kWh, import 19.36kWh
2026-08-15 11:35:15.128477: Raw charge windows [ 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 25%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 25%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 13:30:00 @ 15.36p 100%, 15-08 13:30:00 - 15-08 14:00:00 @ 15.74p 100%, 15-08 14:00:00 - 15-08 14:30:00 @ 14.57p 100%, 15-08 14:30:00 - 15-08 15:00:00 @ 13.77p 100%, 15-08 15:00:00 - 15-08 15:30:00 @ 15.02p 100%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 100%, 15-08 16:00:00 - 15-08 16:30:00 @ 33.13p 0%, 15-08 16:30:00 - 15-08 17:00:00 @ 33.13p 0%, 15-08 17:00:00 - 15-08 17:30:00 @ 38.46p 0%, 15-08 17:30:00 - 15-08 18:00:00 @ 40.44p 0%, 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 0%, 15-08 18:30:00 - 15-08 19:00:00 @ 43.82p 0%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 0%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 0%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 0%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 0%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 29.37p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 29.2p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.83p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 28.46p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 27.73p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 27.01p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 26.76p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 26.48p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.39p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 26.27p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.33p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.37p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 26.23p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.07p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.99p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 25.92p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 25.64p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 25.39p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.84p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.28p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.26p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.22p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 24.8p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 25.37p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 24.71p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 24.02p 0%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.79p 100%, 16-08 12:30:00 - 16-08 13:00:00 @ 23.55p 100%, 16-08 13:00:00 - 16-08 13:30:00 @ 23.14p 100%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.71p 100%, 16-08 14:00:00 - 16-08 14:30:00 @ 22.01p 100%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.29p 100%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.01p 100%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.71p 100%, 16-08 16:00:00 - 16-08 16:30:00 @ 37.14p 100%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.91p 100%, 16-08 17:00:00 - 16-08 17:30:00 @ 40.13p 100%, 16-08 17:30:00 - 16-08 18:00:00 @ 42.36p 100%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.19p 100%, 16-08 19:00:00 - 16-08 19:30:00 @ 33.04p 100%, 16-08 19:30:00 - 16-08 20:00:00 @ 33.71p 100%, 16-08 20:00:00 - 16-08 20:30:00 @ 33.83p 100%, 16-08 20:30:00 - 16-08 21:00:00 @ 33.94p 100%, 16-08 21:00:00 - 16-08 21:30:00 @ 33.73p 100%, 16-08 21:30:00 - 16-08 22:00:00 @ 33.53p 100%, 16-08 22:00:00 - 16-08 22:30:00 @ 32.36p 100%, 16-08 22:30:00 - 16-08 23:00:00 @ 31.17p 100%, 16-08 23:00:00 - 16-08 23:30:00 @ 29.37p 100%, 16-08 23:30:00 - 17-08 00:00:00 @ 29.2p 100%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.83p 100%, 17-08 00:30:00 - 17-08 01:00:00 @ 28.46p 100%, 17-08 01:00:00 - 17-08 01:30:00 @ 27.73p 100%, 17-08 01:30:00 - 17-08 02:00:00 @ 27.01p 100%, 17-08 02:00:00 - 17-08 02:30:00 @ 26.76p 100%, 17-08 02:30:00 - 17-08 03:00:00 @ 26.48p 100%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.39p 100%, 17-08 03:30:00 - 17-08 04:00:00 @ 26.27p 100%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.33p 100%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.37p 100%, 17-08 05:00:00 - 17-08 05:30:00 @ 26.23p 100%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.07p 100%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.99p 100%, 17-08 06:30:00 - 17-08 07:00:00 @ 25.92p 100%, 17-08 07:00:00 - 17-08 07:30:00 @ 25.64p 100%, 17-08 07:30:00 - 17-08 08:00:00 @ 25.39p 100%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.84p 100%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.28p 100%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.26p 100%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.22p 100%, 17-08 10:00:00 - 17-08 10:30:00 @ 24.8p 100%, 17-08 10:30:00 - 17-08 11:00:00 @ 25.37p 100%, 17-08 11:00:00 - 17-08 11:30:00 @ 24.71p 100%, 17-08 11:30:00 - 17-08 12:00:00 @ 24.02p 100% ] reserve 1.12
2026-08-15 11:35:15.129069: Unclipped charge windows [ 15-08 11:30:00 - 15-08 13:00:00 @ 16.29p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 12:00:00 - 16-08 18:30:00 @ 41.93p 100%, 16-08 19:00:00 - 17-08 12:00:00 @ 24.43p 100% ] reserve 1.12
2026-08-15 11:35:15.129304: Unfiltered charge windows [ 15-08 11:30:00 - 15-08 13:00:00 @ 16.29p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 12:00:00 - 16-08 18:30:00 @ 41.93p 100%, 16-08 19:00:00 - 17-08 12:00:00 @ 24.43p 100% ] reserve 1.12
2026-08-15 11:35:15.129497: Filtered charge windows [ 15-08 11:30:00 - 15-08 13:00:00 @ 16.29p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 12:00:00 - 16-08 18:30:00 @ 41.93p 100%, 16-08 19:00:00 - 17-08 12:00:00 @ 24.43p 100% ] reserve 1.12
2026-08-15 11:35:15.160098: Previous plan best metric is 572.47 (cost 632.77) and new plan best metric is 555.25 (cost 572.14)
2026-08-15 11:35:15.160328: New plan metric is significantly better from previous plan, using new plan
2026-08-15 11:35:15.160380: Plan valid is now true after recompute was False
2026-08-15 11:35:15.184065: predict base end_record 08-16 12:00:00, final soc 4.0kWh, metric 819.97p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 19:40:00, load 25.64kWh, PV 0.0kWh
2026-08-15 11:35:15.287281: Battery has 8.08 hours left - now at 2.15kWh
2026-08-15 11:35:15.324988: predict base10 end_record 08-16 12:00:00, final soc 4.0kWh, metric 842.62p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 19:30:00, load 26.51kWh, PV 0.0kWh
2026-08-15 11:35:15.393578: predict best10 end_record 08-16 12:00:00, final soc 1.12kWh, metric 646.73p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 10:20:00, load 26.51kWh, PV 0.0kWh
2026-08-15 11:35:15.465245: predict best end_record 08-16 12:00:00, final soc 1.12kWh, metric 622.12p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 11:30:00, load 25.64kWh, PV 0.0kWh
2026-08-15 11:35:15.465336: Saving plan best values to HA entities
2026-08-15 11:35:15.627379: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0
2026-08-15 11:35:15.633067: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 11:35:15.638734: Best charging limit SoC's [4.0, 16.0, 16.0, 16.0]kWh, export []kWh gives import battery 18.84kWh, house 0.51kWh, export 0.0kWh, metric 622.12p, metric10 646.73p
2026-08-15 11:35:15.715824: Marginal costs baseline metric (no standing charge): 572.1399
2026-08-15 11:35:16.007027: Marginal energy costs matrix computed: min=14.99 max=33.37
2026-08-15 11:35:16.079507: Rate array import [{'start': 695, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 17.0p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1950, 'rate': 'expensive', 'range': '(24.8p - 32.9p)'}, {'start': 1950, 'end': 2040, 'rate': 'cheap', 'range': '(24.2p - 24.3p)'}, {'start': 2040, 'end': 2130, 'rate': 'expensive', 'range': '(24.7p - 25.4p)'}, {'start': 2130, 'end': 2160, 'rate': 'cheap', 'range': '(24.0p)'}] export [{'start': 695, 'end': 2160, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 11:35:16.080048: - Your estimated bill for today is £5.60 and tomorrow is £6.76
2026-08-15 11:35:16.080108: - Import rates are cheap (13.8p - 17.0p) for the next 4 and a half hours and then expensive (33.1p) for the next 1 hour.
2026-08-15 11:35:16.080148: - The battery is currently at 13% and is charging to 25% for the next 1 and a half hours.
2026-08-15 11:35:16.080199: - For the next 48 hours there will be no solar generation.
2026-08-15 11:35:16.080246: - You will run out of battery in 23 hours.
2026-08-15 11:35:16.080281: 
2026-08-15 11:35:16.136713: Plan calculation took 12.58 seconds
2026-08-15 11:35:16.137352: Inverter 0: Type SK Sunsynk
2026-08-15 11:35:16.137417: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 11:35:16.137705: Reserve min: 7%, battery_min: 7%
2026-08-15 11:35:16.137812: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 11:35:16.138240: Inverter 0 SoC: 2.15kW 13%, current charge rate 5000W, current discharge rate 5250W, current battery power -4483W, current battery voltage 51.2V, grid power -5218W, load power 221W, PV Power 0W
2026-08-15 11:35:16.138548: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 11:35:16.138687: Inverter 0 scheduled charge enable is True
2026-08-15 11:35:16.138763: Inverter 0 charge windows currently [{'start': 630, 'end': 960, 'average': 0}, {'start': 2070, 'end': 2400, 'average': 0}, {'start': 3510, 'end': 3840, 'average': 0}]
2026-08-15 11:35:16.138915: Inverter 0 Charge settings: 08-15 10:30:00-08-15 16:00:00, limit 25.0%, power 5.0kW
2026-08-15 11:35:16.139088: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 11:35:16.139131: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 11:35:16.139171: Inverter 0 scheduled discharge enable is False
2026-08-15 11:35:16.139391: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 11:35:16.139436: Inverter 0 discharge windows currently []
2026-08-15 11:35:16.139462: Note: Inverter does not support discharge freeze - disabled
2026-08-15 11:35:16.139504: Note: Inverter does not support charge freeze - disabled
2026-08-15 11:35:16.139534: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 11:35:16.197819: Include original charge start 08-15 10:30:00, keeping this instead of new start 08-15 11:30:00
2026-08-15 11:35:16.197945: Inverter 0 Charge window will be: 2026-08-15 10:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 13%, target 25%
2026-08-15 11:35:16.198081: Inverter 0 Target SoC 25%, (this inverter 25%), battery temperature 20°C, select charge rate 5000W (real 5000W), current charge rate 5000W
2026-08-15 11:35:16.198268: Adjust idle time, charge 10:30:00-16:00:00 discharge 00:00:00-00:00:00
2026-08-15 11:35:16.198463: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 11:35:16.198548: No export window planned
2026-08-15 11:35:16.198662: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 11:35:16.198698: Adjust idle time, charge 10:30:00-16:00:00 discharge 00:00:00-00:00:00
2026-08-15 11:35:16.198836: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 11:35:16.198952: Inverter 0 setting charging SoC to 25% as per target
2026-08-15 11:35:16.199016: Inverter 0 adjust target SoC for charge to 25% (4.0kWh/16.0kWh 16.0kWh) based on going from 13% -> 25% total add is 1.85kWh and this battery needs to add 1.85kWh to get to 4.0kWh
2026-08-15 11:35:16.199066: Inverter 0 Current Target SoC is 25%, already at target
2026-08-15 11:35:16.199168: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:35:16.199228: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:35:16.199258: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:35:16.199283: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:35:16.199307: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:35:16.199333: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:35:16.199356: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:35:16.199400: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 11:35:16.199428: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 11:35:16.199453: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 11:35:16.199507: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 11:35:16.199542: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 11:35:16.199574: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 11:35:16.199599: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 11:35:16.199657: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:35:16.199691: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:35:16.199717: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:35:16.199742: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:35:16.199765: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:35:16.199792: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:35:16.199815: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:35:16.199844: Inverter 0 count register writes 0
2026-08-15 11:35:16.224343: Total inverter register writes now 819
2026-08-15 11:35:16.265307: Info: Completed run status Charging
2026-08-15 11:35:16.272708: Info: record_status Charging target 13%-25%
2026-08-15 11:35:16.281526: Saved current settings to /config/predbat_config.json
2026-08-15 11:35:16.281898: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 11:35:57.403153: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 11:35:57.403465: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 11:35:57.403511: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 11:35:57.403650: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 11:35:57.403689: Note: Inverter does not support discharge freeze - disabled
2026-08-15 11:35:57.403710: Note: Inverter does not support charge freeze - disabled
2026-08-15 11:35:57.403728: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 11:38:11.645267: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 11:38:11.645649: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 11:38:11.645718: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 11:38:11.645947: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 11:38:11.646013: Note: Inverter does not support discharge freeze - disabled
2026-08-15 11:38:11.646050: Note: Inverter does not support charge freeze - disabled
2026-08-15 11:38:11.646093: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 11:39:36.159914: ML Component: Fetching 28 days of load history from ['sensor.sunsynk_day_load_energy']
2026-08-15 11:39:37.047124: Processing 1345 30-minute periods for power integration
2026-08-15 11:39:37.132126: ML Component: Car charging hold False, car energy reported load False
2026-08-15 11:39:37.213070: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 11:39:37.297857: ML Temperature data points: 49706
2026-08-15 11:39:37.517974: ML Component: Fetched 8064 load data points, 28.0 days of history
2026-08-15 11:39:37.554356: ML Component: Data fetch completed, load data age 56.0 days, 16404 data points
2026-08-15 11:39:37.554476: ML Component: No training needed, model age is 0.38 hours
2026-08-15 11:39:37.554536: ML Component: Generating predictions load data age 56.0 days, 16404 data points
2026-08-15 11:39:37.664290: ML Predictor: Starting autoregressive prediction loop for 576 steps (48.0 hours), prev_energy value 0.0279 max_dow {0: 0.09899687486626207, 1: 0.10616562486607581, 2: 0.12051249983031302, 3: 0.1227374996352941, 4: 0.1701437503574416, 5: 0.10468993121975412, 6: 0.11264999961592256}
2026-08-15 11:39:45.684464: ML Component: Generated 576 predictions (total 33.66 kWh over 48h)
2026-08-15 11:39:45.731931: ML Component: Prediction cycle completed
2026-08-15 11:39:45.860035: ML Component: Saved 16404 steps (56 days) of history to /config/predbat_ml_history.npz
2026-08-15 11:40:00.869676: --------------- PredBat - update at 2026-08-15 11:40:00+01:00 with clock skew 0 minutes, minutes now 700
2026-08-15 11:40:00.870513: Saved current settings to /config/predbat_config.json
2026-08-15 11:40:00.870659: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 85.0 minutes
2026-08-15 11:40:00.870787: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.1, latest beta is v8.48.1
2026-08-15 11:40:00.870877: Autoupdate: Currently up to date
2026-08-15 11:40:00.890758: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 11:40:00.890881: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 11:40:00.891068: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 11:40:00.891588: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 11:40:00.891725: Predbat mode is set to Control charge & discharge
2026-08-15 11:40:01.073464: Found 21602 load_today datapoints going back 28 days
2026-08-15 11:40:01.073640: Using load_power data to fill gaps in load_today data
2026-08-15 11:40:01.890223: Processing 721 30-minute periods for power integration
2026-08-15 11:40:02.077363: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 11:40:02.077506: Car charging hold False, threshold 6.0kWh
2026-08-15 11:40:02.077552: Current data so far today: load 7.2kWh, import 9.2kWh, export 0.0kWh, PV 0kWh
2026-08-15 11:40:02.092726: Cars: SoC: [11.72]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 11:40:02.093383: Standing charge is set to 49.98p
2026-08-15 11:40:02.141119: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 11:40:02.141242: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 11:40:02.141460: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 60.0 minutes
2026-08-15 11:40:02.141887: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 60.0 minutes
2026-08-15 11:40:02.148210: Loaded 95 datapoints of futurerate analysis
2026-08-15 11:40:02.244075: Predicted future rates: ['08-15 00:00:00 => 28.9 / 20.01', '08-15 01:00:00 => 27.54 / 19.31', '08-15 02:00:00 => 26.52 / 18.8', '08-15 03:00:00 => 25.99 / 18.53', '08-15 04:00:00 => 25.8 / 18.43', '08-15 05:00:00 => 25.96 / 18.51', '08-15 06:00:00 => 25.55 / 18.3', '08-15 07:00:00 => 24.33 / 17.68', '08-15 08:00:00 => 23.03 / 17.01', '08-15 09:00:00 => 22.05 / 16.51', '08-15 10:00:00 => 20.43 / 15.68', '08-15 11:00:00 => 18.01 / 14.45', '08-15 12:00:00 => 16.37 / 13.61', '08-15 13:00:00 => 15.76 / 13.3', '08-15 14:00:00 => 15.35 / 13.09', '08-15 15:00:00 => 15.86 / 13.35', '08-15 16:00:00 => 32.89 / 16.13', '08-15 17:00:00 => 38.02 / 18.75', '08-15 18:00:00 => 42.36 / 20.96', '08-15 19:00:00 => 31.09 / 21.13', '08-15 20:00:00 => 31.64 / 21.41', '08-15 21:00:00 => 31.64 / 21.41', '08-15 22:00:00 => 30.58 / 20.87', '08-15 23:00:00 => 29.37 / 20.25', '08-16 00:00:00 => 28.83 / 19.97', '08-16 01:00:00 => 27.73 / 19.41', '08-16 02:00:00 => 26.76 / 18.92', '08-16 03:00:00 => 26.39 / 18.73', '08-16 04:00:00 => 26.33 / 18.7', '08-16 05:00:00 => 26.23 / 18.65', '08-16 06:00:00 => 25.99 / 18.53', '08-16 07:00:00 => 25.64 / 18.35', '08-16 08:00:00 => 24.84 / 17.94', '08-16 09:00:00 => 24.26 / 17.64', '08-16 10:00:00 => 24.8 / 17.92']
2026-08-15 11:40:02.307486: Rate min forward looking: now 13.77p at end of forecast 21.29p
2026-08-15 11:40:02.307899: Import rates: min 13.77p, max 46.05p, average 27.7p
2026-08-15 11:40:02.351080: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 11:40:02.351209: Rate thresholds (for charge/export) are import 45.55p (0.0p), export -0.1p (0.0p)
2026-08-15 11:40:02.352590: High export rate found rates in range 99p to -99p
2026-08-15 11:40:02.448496: Low Import rate found rates in range 13.77p to 44.19p
2026-08-15 11:40:02.448647: Car 0 charging is not planned as it is not plugged in
2026-08-15 11:40:02.464553: Battery level now 2.15kWh, -1hr ago 1.44kWh, at midnight 1.66kWh, battery value change in the last hour 8.42p, change today 5.87p, rate_forward 11.83p
2026-08-15 11:40:02.465044: Last hour: net energy 0.85kWh, import 0.85kWh, export 0.0kWh, car 0kWh, load 0.27kWh, net cost 14.2p, import 14.2p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 11:40:02.531452: Today's energy total net 9.2kWh, import 9.2kWh, export 0.0kWh, cost 279.91p, import 229.92p, export 0.0p, carbon 0.0kg
2026-08-15 11:40:02.531599: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 11:40:02.617205: Using weighted-bucket historical load forecast over 14 days
2026-08-15 11:40:02.644463: Today's load divergence 102.99%, in-day adjustment 123.87%, damping 0.95x, yesterday 143.77% today 102.84% blend 51.39%
2026-08-15 11:40:02.644555: Today's predicted so far 6.84kWh with 0.0kWh car/iBoost excluded, 3.97kWh import ignored, and 6.84kWh forecast extra.
2026-08-15 11:40:02.644587: Today's actual load so far 7.31kWh with 0.0kWh car/iBoost excluded, and 3.97kWh import ignored.
2026-08-15 11:40:02.679660: Inverter 0: Type SK Sunsynk
2026-08-15 11:40:02.679752: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 11:40:02.679934: Reserve min: 7%, battery_min: 7%
2026-08-15 11:40:02.680003: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 11:40:02.680334: Inverter 0 SoC: 2.15kW 13%, current charge rate 5000W, current discharge rate 5250W, current battery power -4488W, current battery voltage 51.2V, grid power -5263W, load power 266W, PV Power 0W
2026-08-15 11:40:02.680491: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 11:40:02.680619: Inverter 0 scheduled charge enable is True
2026-08-15 11:40:02.680670: Inverter 0 charge windows currently [{'start': 630, 'end': 960, 'average': 0}, {'start': 2070, 'end': 2400, 'average': 0}, {'start': 3510, 'end': 3840, 'average': 0}]
2026-08-15 11:40:02.680786: Inverter 0 Charge settings: 08-15 10:30:00-08-15 16:00:00, limit 25.0%, power 5.0kW
2026-08-15 11:40:02.680896: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 11:40:02.680985: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 11:40:02.681031: Inverter 0 scheduled discharge enable is False
2026-08-15 11:40:02.681156: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 11:40:02.681194: Inverter 0 discharge windows currently []
2026-08-15 11:40:02.681216: Note: Inverter does not support discharge freeze - disabled
2026-08-15 11:40:02.681252: Note: Inverter does not support charge freeze - disabled
2026-08-15 11:40:02.681271: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 11:40:02.743250: Dynamic load last period 0.00kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 11:40:02.743364: Plan was last updated on 2026-08-15 11:35:00+01:00 and is now 5.0 minutes old
2026-08-15 11:40:02.743578: Best charge window [ 15-08 11:30:00 - 15-08 13:00:00 @ 16.29p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 12:00:00 - 16-08 18:30:00 @ 41.93p 100%, 16-08 19:00:00 - 17-08 12:00:00 @ 24.43p 100% ]
2026-08-15 11:40:02.743620: Best export window [  ]
2026-08-15 11:40:02.744479: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 11:40:02.748709: Load divergence over 8.0 hours mean 609.0W, min 291.6W, max 1657.2W, std dev 298.86W, divergence 24.54%
2026-08-15 11:40:02.767463: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 11:40:02.767578: LoadML is_calculating False
2026-08-15 11:40:02.767644: Creating pool of 12 processes to match your CPU count
2026-08-15 11:40:02.896512: predict base end_record 08-16 12:05:00, final soc 4.0kWh, metric 824.19p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 19:40:00, load 25.45kWh, PV 0.0kWh
2026-08-15 11:40:03.027727: Battery has 8.0 hours left - now at 2.15kWh
2026-08-15 11:40:03.067591: predict base10 end_record 08-16 12:05:00, final soc 4.0kWh, metric 846.88p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 19:35:00, load 26.32kWh, PV 0.0kWh
2026-08-15 11:40:03.153917: predict best10 end_record 08-16 12:05:00, final soc 1.44kWh, metric 659.35p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 10:20:00, load 26.32kWh, PV 0.0kWh
2026-08-15 11:40:03.226273: predict best end_record 08-16 12:05:00, final soc 1.51kWh, metric 636.37p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 11:30:00, load 25.45kWh, PV 0.0kWh
2026-08-15 11:40:03.226359: Saving plan best values to HA entities
2026-08-15 11:40:03.402575: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0
2026-08-15 11:40:03.407655: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 11:40:03.412620: Best charging limit SoC's [4.0, 16.0, 16.0, 16.0]kWh, export []kWh gives import battery 19.18kWh, house 0.49kWh, export 0.0kWh, metric 636.37p, metric10 659.35p
2026-08-15 11:40:03.479626: Marginal costs baseline metric (no standing charge): 586.3882
2026-08-15 11:40:03.702939: Marginal energy costs matrix computed: min=14.83 max=33.52
2026-08-15 11:40:03.766921: Rate array import [{'start': 700, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 17.0p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1950, 'rate': 'expensive', 'range': '(24.8p - 32.9p)'}, {'start': 1950, 'end': 2040, 'rate': 'cheap', 'range': '(24.2p - 24.3p)'}, {'start': 2040, 'end': 2130, 'rate': 'expensive', 'range': '(24.7p - 25.4p)'}, {'start': 2130, 'end': 2165, 'rate': 'cheap', 'range': '(23.8p - 24.0p)'}] export [{'start': 700, 'end': 2165, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 11:40:03.767341: - Your estimated bill for today is £5.63 and tomorrow is £6.77
2026-08-15 11:40:03.767402: - Import rates are cheap (13.8p - 17.0p) for the next 4 and a quarter hours and then expensive (33.1p) for the next 1 hour.
2026-08-15 11:40:03.767423: - The battery is currently at 13% and is charging to 25% for the next 1 and a quarter hours.
2026-08-15 11:40:03.767442: - For the next 48 hours there will be no solar generation.
2026-08-15 11:40:03.767475: - You will run out of battery in 23 hours.
2026-08-15 11:40:03.767503: 
2026-08-15 11:40:03.818763: Plan calculation took 1.08 seconds
2026-08-15 11:40:03.822388: No high rate period found
2026-08-15 11:40:03.869708: Import threshold used for optimisation was 24.28p
2026-08-15 11:40:03.920571: Low import rate windows [0: 08-15 11:30:00 - 08-15 12:00:00 @ 15.46, 1: 08-15 12:00:00 - 08-15 12:30:00 @ 17.0, 2: 08-15 12:30:00 - 08-15 13:00:00 @ 16.34, 3: 08-15 13:00:00 - 08-15 13:30:00 @ 15.36, 4: 08-15 13:30:00 - 08-15 14:00:00 @ 15.74, 5: 08-15 14:00:00 - 08-15 14:30:00 @ 14.57, 6: 08-15 14:30:00 - 08-15 15:00:00 @ 13.77, 7: 08-15 15:00:00 - 08-15 15:30:00 @ 15.02, 8: 08-15 15:30:00 - 08-15 16:00:00 @ 15.87, 9: 08-15 16:00:00 - 08-15 16:30:00 @ 33.13, 10: 08-15 16:30:00 - 08-15 17:00:00 @ 33.13, 11: 08-15 17:00:00 - 08-15 17:30:00 @ 38.46, 12: 08-15 17:30:00 - 08-15 18:00:00 @ 40.44, 13: 08-15 18:00:00 - 08-15 18:30:00 @ 41.55, 14: 08-15 18:30:00 - 08-15 19:00:00 @ 43.82, 15: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 16: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 17: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 18: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 19: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 20: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 21: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 22: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 23: 08-15 23:00:00 - 08-15 23:30:00 @ 29.37, 24: 08-15 23:30:00 - 08-16 00:00:00 @ 29.2, 25: 08-16 00:00:00 - 08-16 00:30:00 @ 28.83, 26: 08-16 00:30:00 - 08-16 01:00:00 @ 28.46, 27: 08-16 01:00:00 - 08-16 01:30:00 @ 27.73, 28: 08-16 01:30:00 - 08-16 02:00:00 @ 27.01, 29: 08-16 02:00:00 - 08-16 02:30:00 @ 26.76, 30: 08-16 02:30:00 - 08-16 03:00:00 @ 26.48, 31: 08-16 03:00:00 - 08-16 03:30:00 @ 26.39, 32: 08-16 03:30:00 - 08-16 04:00:00 @ 26.27, 33: 08-16 04:00:00 - 08-16 04:30:00 @ 26.33, 34: 08-16 04:30:00 - 08-16 05:00:00 @ 26.37, 35: 08-16 05:00:00 - 08-16 05:30:00 @ 26.23, 36: 08-16 05:30:00 - 08-16 06:00:00 @ 26.07, 37: 08-16 06:00:00 - 08-16 06:30:00 @ 25.99, 38: 08-16 06:30:00 - 08-16 07:00:00 @ 25.92, 39: 08-16 07:00:00 - 08-16 07:30:00 @ 25.64, 40: 08-16 07:30:00 - 08-16 08:00:00 @ 25.39, 41: 08-16 08:00:00 - 08-16 08:30:00 @ 24.84, 42: 08-16 08:30:00 - 08-16 09:00:00 @ 24.28, 43: 08-16 09:00:00 - 08-16 09:30:00 @ 24.26, 44: 08-16 09:30:00 - 08-16 10:00:00 @ 24.22, 45: 08-16 10:00:00 - 08-16 10:30:00 @ 24.8, 46: 08-16 10:30:00 - 08-16 11:00:00 @ 25.37, 47: 08-16 11:00:00 - 08-16 11:30:00 @ 24.71, 48: 08-16 11:30:00 - 08-16 12:00:00 @ 24.02, 49: 08-16 12:00:00 - 08-16 12:30:00 @ 23.79, 50: 08-16 12:30:00 - 08-16 13:00:00 @ 23.55, 51: 08-16 13:00:00 - 08-16 13:30:00 @ 23.14, 52: 08-16 13:30:00 - 08-16 14:00:00 @ 22.71, 53: 08-16 14:00:00 - 08-16 14:30:00 @ 22.01, 54: 08-16 14:30:00 - 08-16 15:00:00 @ 21.29, 55: 08-16 15:00:00 - 08-16 15:30:00 @ 22.01, 56: 08-16 15:30:00 - 08-16 16:00:00 @ 22.71, 57: 08-16 16:00:00 - 08-16 16:30:00 @ 37.14, 58: 08-16 16:30:00 - 08-16 17:00:00 @ 37.91, 59: 08-16 17:00:00 - 08-16 17:30:00 @ 40.13, 60: 08-16 17:30:00 - 08-16 18:00:00 @ 42.36, 61: 08-16 18:00:00 - 08-16 18:30:00 @ 44.19, 62: 08-16 19:00:00 - 08-16 19:30:00 @ 33.04, 63: 08-16 19:30:00 - 08-16 20:00:00 @ 33.71, 64: 08-16 20:00:00 - 08-16 20:30:00 @ 33.83, 65: 08-16 20:30:00 - 08-16 21:00:00 @ 33.94, 66: 08-16 21:00:00 - 08-16 21:30:00 @ 33.73, 67: 08-16 21:30:00 - 08-16 22:00:00 @ 33.53, 68: 08-16 22:00:00 - 08-16 22:30:00 @ 32.36, 69: 08-16 22:30:00 - 08-16 23:00:00 @ 31.17, 70: 08-16 23:00:00 - 08-16 23:30:00 @ 29.37, 71: 08-16 23:30:00 - 08-17 00:00:00 @ 29.2, 72: 08-17 00:00:00 - 08-17 00:30:00 @ 28.83, 73: 08-17 00:30:00 - 08-17 01:00:00 @ 28.46, 74: 08-17 01:00:00 - 08-17 01:30:00 @ 27.73, 75: 08-17 01:30:00 - 08-17 02:00:00 @ 27.01, 76: 08-17 02:00:00 - 08-17 02:30:00 @ 26.76, 77: 08-17 02:30:00 - 08-17 03:00:00 @ 26.48, 78: 08-17 03:00:00 - 08-17 03:30:00 @ 26.39, 79: 08-17 03:30:00 - 08-17 04:00:00 @ 26.27, 80: 08-17 04:00:00 - 08-17 04:30:00 @ 26.33, 81: 08-17 04:30:00 - 08-17 05:00:00 @ 26.37, 82: 08-17 05:00:00 - 08-17 05:30:00 @ 26.23, 83: 08-17 05:30:00 - 08-17 06:00:00 @ 26.07, 84: 08-17 06:00:00 - 08-17 06:30:00 @ 25.99, 85: 08-17 06:30:00 - 08-17 07:00:00 @ 25.92, 86: 08-17 07:00:00 - 08-17 07:30:00 @ 25.64, 87: 08-17 07:30:00 - 08-17 08:00:00 @ 25.39, 88: 08-17 08:00:00 - 08-17 08:30:00 @ 24.84, 89: 08-17 08:30:00 - 08-17 09:00:00 @ 24.28, 90: 08-17 09:00:00 - 08-17 09:30:00 @ 24.26, 91: 08-17 09:30:00 - 08-17 10:00:00 @ 24.22, 92: 08-17 10:00:00 - 08-17 10:30:00 @ 24.8, 93: 08-17 10:30:00 - 08-17 11:00:00 @ 25.37, 94: 08-17 11:00:00 - 08-17 11:30:00 @ 24.71, 95: 08-17 11:30:00 - 08-17 12:00:00 @ 24.02]
2026-08-15 11:40:03.928432: Include original charge start 08-15 10:30:00, keeping this instead of new start 08-15 11:30:00
2026-08-15 11:40:03.928569: Inverter 0 Charge window will be: 2026-08-15 10:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 13%, target 25%
2026-08-15 11:40:03.928751: Inverter 0 Target SoC 25%, (this inverter 25%), battery temperature 20°C, select charge rate 5000W (real 5000W), current charge rate 5000W
2026-08-15 11:40:03.928997: Adjust idle time, charge 10:30:00-16:00:00 discharge 00:00:00-00:00:00
2026-08-15 11:40:03.929341: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 11:40:03.929480: No export window planned
2026-08-15 11:40:03.929660: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 11:40:03.929706: Adjust idle time, charge 10:30:00-16:00:00 discharge 00:00:00-00:00:00
2026-08-15 11:40:03.929895: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 11:40:03.930049: Inverter 0 setting charging SoC to 25% as per target
2026-08-15 11:40:03.930137: Inverter 0 adjust target SoC for charge to 25% (4.0kWh/16.0kWh 16.0kWh) based on going from 13% -> 25% total add is 1.85kWh and this battery needs to add 1.85kWh to get to 4.0kWh
2026-08-15 11:40:03.930239: Inverter 0 Current Target SoC is 25%, already at target
2026-08-15 11:40:03.930407: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:40:03.930466: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:40:03.930513: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:40:03.930557: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:40:03.930600: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:40:03.930644: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:40:03.930688: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:40:03.930748: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 11:40:03.930806: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 11:40:03.930860: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 11:40:03.930907: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 11:40:03.930959: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 11:40:03.931025: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 11:40:03.931051: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 11:40:03.931108: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:40:03.931137: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:40:03.931158: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:40:03.931177: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:40:03.931200: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:40:03.931218: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:40:03.931261: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:40:03.931280: Inverter 0 count register writes 0
2026-08-15 11:40:03.946754: Will not recompute the plan, it is 5.0 minutes old and max age is 10 minutes
2026-08-15 11:40:03.952273: Total inverter register writes now 819
2026-08-15 11:40:03.992140: Info: Completed run status Charging
2026-08-15 11:40:03.999332: Info: record_status Charging target 13%-25%
2026-08-15 11:40:04.006894: Saved current settings to /config/predbat_config.json
2026-08-15 11:40:04.007281: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 11:40:42.120632: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 11:40:42.120905: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 11:40:42.120941: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 11:40:42.121174: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 11:40:42.121230: Note: Inverter does not support discharge freeze - disabled
2026-08-15 11:40:42.121268: Note: Inverter does not support charge freeze - disabled
2026-08-15 11:40:42.121283: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 11:42:42.364081: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 11:42:42.364426: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 11:42:42.364479: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 11:42:42.364614: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 11:42:42.364648: Note: Inverter does not support discharge freeze - disabled
2026-08-15 11:42:42.364667: Note: Inverter does not support charge freeze - disabled
2026-08-15 11:42:42.364682: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 11:44:56.628176: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 11:44:56.628863: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 11:44:56.628921: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 11:44:56.629227: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 11:44:56.629319: Note: Inverter does not support discharge freeze - disabled
2026-08-15 11:44:56.629348: Note: Inverter does not support charge freeze - disabled
2026-08-15 11:44:56.629372: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 11:45:00.716823: --------------- PredBat - update at 2026-08-15 11:45:00+01:00 with clock skew 0 minutes, minutes now 705
2026-08-15 11:45:00.720044: Saved current settings to /config/predbat_config.json
2026-08-15 11:45:00.720241: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 90.0 minutes
2026-08-15 11:45:00.720356: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.1, latest beta is v8.48.1
2026-08-15 11:45:00.720456: Autoupdate: Currently up to date
2026-08-15 11:45:00.752073: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 11:45:00.752291: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 11:45:00.752494: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 11:45:00.753123: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 11:45:00.753262: Predbat mode is set to Control charge & discharge
2026-08-15 11:45:00.988686: Found 21602 load_today datapoints going back 28 days
2026-08-15 11:45:00.988848: Using load_power data to fill gaps in load_today data
2026-08-15 11:45:01.715069: Processing 721 30-minute periods for power integration
2026-08-15 11:45:01.873225: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 11:45:01.873382: Car charging hold False, threshold 6.0kWh
2026-08-15 11:45:01.873423: Current data so far today: load 7.2kWh, import 9.2kWh, export 0.0kWh, PV 0kWh
2026-08-15 11:45:01.886455: Cars: SoC: [11.72]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 11:45:01.886886: Standing charge is set to 49.98p
2026-08-15 11:45:01.925352: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 11:45:01.925459: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 11:45:01.925642: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 65.0 minutes
2026-08-15 11:45:01.925954: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 65.0 minutes
2026-08-15 11:45:01.930850: Loaded 95 datapoints of futurerate analysis
2026-08-15 11:45:02.012381: Predicted future rates: ['08-15 00:00:00 => 28.9 / 20.01', '08-15 01:00:00 => 27.54 / 19.31', '08-15 02:00:00 => 26.52 / 18.8', '08-15 03:00:00 => 25.99 / 18.53', '08-15 04:00:00 => 25.8 / 18.43', '08-15 05:00:00 => 25.96 / 18.51', '08-15 06:00:00 => 25.55 / 18.3', '08-15 07:00:00 => 24.33 / 17.68', '08-15 08:00:00 => 23.03 / 17.01', '08-15 09:00:00 => 22.05 / 16.51', '08-15 10:00:00 => 20.43 / 15.68', '08-15 11:00:00 => 18.01 / 14.45', '08-15 12:00:00 => 16.37 / 13.61', '08-15 13:00:00 => 15.76 / 13.3', '08-15 14:00:00 => 15.35 / 13.09', '08-15 15:00:00 => 15.86 / 13.35', '08-15 16:00:00 => 32.89 / 16.13', '08-15 17:00:00 => 38.02 / 18.75', '08-15 18:00:00 => 42.36 / 20.96', '08-15 19:00:00 => 31.09 / 21.13', '08-15 20:00:00 => 31.64 / 21.41', '08-15 21:00:00 => 31.64 / 21.41', '08-15 22:00:00 => 30.58 / 20.87', '08-15 23:00:00 => 29.37 / 20.25', '08-16 00:00:00 => 28.83 / 19.97', '08-16 01:00:00 => 27.73 / 19.41', '08-16 02:00:00 => 26.76 / 18.92', '08-16 03:00:00 => 26.39 / 18.73', '08-16 04:00:00 => 26.33 / 18.7', '08-16 05:00:00 => 26.23 / 18.65', '08-16 06:00:00 => 25.99 / 18.53', '08-16 07:00:00 => 25.64 / 18.35', '08-16 08:00:00 => 24.84 / 17.94', '08-16 09:00:00 => 24.26 / 17.64', '08-16 10:00:00 => 24.8 / 17.92']
2026-08-15 11:45:02.076358: Rate min forward looking: now 13.77p at end of forecast 21.29p
2026-08-15 11:45:02.077053: Import rates: min 13.77p, max 46.05p, average 27.71p
2026-08-15 11:45:02.114479: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 11:45:02.114600: Rate thresholds (for charge/export) are import 45.55p (0.0p), export -0.1p (0.0p)
2026-08-15 11:45:02.115780: High export rate found rates in range 99p to -99p
2026-08-15 11:45:02.195429: Low Import rate found rates in range 13.77p to 44.19p
2026-08-15 11:45:02.195574: Car 0 charging is not planned as it is not plugged in
2026-08-15 11:45:02.207874: Battery level now 2.15kWh, -1hr ago 1.46kWh, at midnight 1.66kWh, battery value change in the last hour 8.23p, change today 5.87p, rate_forward 11.83p
2026-08-15 11:45:02.208246: Last hour: net energy 0.8kWh, import 0.8kWh, export 0.0kWh, car 0kWh, load 0.25kWh, net cost 13.31p, import 13.31p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 11:45:02.259675: Today's energy total net 9.2kWh, import 9.2kWh, export 0.0kWh, cost 279.91p, import 229.92p, export 0.0p, carbon 0.0kg
2026-08-15 11:45:02.259853: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 11:45:02.339346: Using weighted-bucket historical load forecast over 14 days
2026-08-15 11:45:02.364994: Today's load divergence 102.37%, in-day adjustment 123.44%, damping 0.95x, yesterday 143.77% today 102.25% blend 51.04%
2026-08-15 11:45:02.365073: Today's predicted so far 6.89kWh with 0.0kWh car/iBoost excluded, 3.96kWh import ignored, and 6.89kWh forecast extra.
2026-08-15 11:45:02.365098: Today's actual load so far 7.26kWh with 0.0kWh car/iBoost excluded, and 3.96kWh import ignored.
2026-08-15 11:45:02.399319: Inverter 0: Type SK Sunsynk
2026-08-15 11:45:02.399405: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 11:45:02.399570: Reserve min: 7%, battery_min: 7%
2026-08-15 11:45:02.399633: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 11:45:02.399912: Inverter 0 SoC: 2.5kW 16%, current charge rate 5000W, current discharge rate 5250W, current battery power -4502W, current battery voltage 51.2V, grid power -5239W, load power 243W, PV Power 0W
2026-08-15 11:45:02.400045: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 11:45:02.400119: Inverter 0 scheduled charge enable is True
2026-08-15 11:45:02.400155: Inverter 0 charge windows currently [{'start': 630, 'end': 960, 'average': 0}, {'start': 2070, 'end': 2400, 'average': 0}, {'start': 3510, 'end': 3840, 'average': 0}]
2026-08-15 11:45:02.400225: Inverter 0 Charge settings: 08-15 10:30:00-08-15 16:00:00, limit 25.0%, power 5.0kW
2026-08-15 11:45:02.400340: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 11:45:02.400372: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 11:45:02.400401: Inverter 0 scheduled discharge enable is False
2026-08-15 11:45:02.400498: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 11:45:02.400529: Inverter 0 discharge windows currently []
2026-08-15 11:45:02.400547: Note: Inverter does not support discharge freeze - disabled
2026-08-15 11:45:02.400561: Note: Inverter does not support charge freeze - disabled
2026-08-15 11:45:02.400576: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 11:45:02.456550: Dynamic load last period 0.00kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 11:45:02.456698: Plan was last updated on 2026-08-15 11:35:00+01:00 and is now 10.0 minutes old
2026-08-15 11:45:02.456910: Best charge window [ 15-08 11:30:00 - 15-08 13:00:00 @ 16.29p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 12:00:00 - 16-08 18:30:00 @ 41.93p 100%, 16-08 19:00:00 - 17-08 12:00:00 @ 24.43p 100% ]
2026-08-15 11:45:02.457007: Best export window [  ]
2026-08-15 11:45:02.457729: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 11:45:02.460196: Load divergence over 8.0 hours mean 597.38W, min 290.4W, max 1559.4W, std dev 308.41W, divergence 25.81%
2026-08-15 11:45:02.475824: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 11:45:02.475941: LoadML is_calculating False
2026-08-15 11:45:02.475999: Creating pool of 12 processes to match your CPU count
2026-08-15 11:45:02.596077: predict base end_record 08-16 12:10:00, final soc 4.0kWh, metric 817.77p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 19:40:00, load 25.37kWh, PV 0.0kWh
2026-08-15 11:45:02.714618: Battery has 7.92 hours left - now at 2.5kWh
2026-08-15 11:45:02.755535: predict base10 end_record 08-16 12:10:00, final soc 4.0kWh, metric 840.32p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 19:35:00, load 26.24kWh, PV 0.0kWh
2026-08-15 11:45:02.833641: predict best10 end_record 08-16 12:10:00, final soc 1.77kWh, metric 661.08p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 10:20:00, load 26.24kWh, PV 0.0kWh
2026-08-15 11:45:02.916487: predict best end_record 08-16 12:10:00, final soc 1.9kWh, metric 639.89p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 11:30:00, load 25.37kWh, PV 0.0kWh
2026-08-15 11:45:02.916568: Saving plan best values to HA entities
2026-08-15 11:45:03.074776: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0
2026-08-15 11:45:03.080851: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 11:45:03.087667: Best charging limit SoC's [4.0, 16.0, 16.0, 16.0]kWh, export []kWh gives import battery 19.15kWh, house 0.5kWh, export 0.0kWh, metric 639.89p, metric10 661.08p
2026-08-15 11:45:03.165356: Marginal costs baseline metric (no standing charge): 589.9049
2026-08-15 11:45:03.389962: Marginal energy costs matrix computed: min=14.66 max=33.66
2026-08-15 11:45:03.456893: Rate array import [{'start': 705, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 17.0p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1950, 'rate': 'expensive', 'range': '(24.8p - 32.9p)'}, {'start': 1950, 'end': 2040, 'rate': 'cheap', 'range': '(24.2p - 24.3p)'}, {'start': 2040, 'end': 2130, 'rate': 'expensive', 'range': '(24.7p - 25.4p)'}, {'start': 2130, 'end': 2170, 'rate': 'cheap', 'range': '(23.8p - 24.0p)'}] export [{'start': 705, 'end': 2170, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 11:45:03.457307: - Your estimated bill for today is £5.55 and tomorrow is £6.79
2026-08-15 11:45:03.457350: - Import rates are cheap (13.8p - 17.0p) for the next 4 and a quarter hours and then expensive (33.1p) for the next 1 hour.
2026-08-15 11:45:03.457368: - The battery is currently at 16% and is charging to 25% for the next 1 and a quarter hours.
2026-08-15 11:45:03.457383: - For the next 48 hours there will be no solar generation.
2026-08-15 11:45:03.457396: - You will run out of battery in 23 hours.
2026-08-15 11:45:03.457414: 
2026-08-15 11:45:03.509264: Plan calculation took 1.05 seconds
2026-08-15 11:45:03.513044: No high rate period found
2026-08-15 11:45:03.561525: Import threshold used for optimisation was 24.28p
2026-08-15 11:45:03.611371: Low import rate windows [0: 08-15 11:30:00 - 08-15 12:00:00 @ 15.46, 1: 08-15 12:00:00 - 08-15 12:30:00 @ 17.0, 2: 08-15 12:30:00 - 08-15 13:00:00 @ 16.34, 3: 08-15 13:00:00 - 08-15 13:30:00 @ 15.36, 4: 08-15 13:30:00 - 08-15 14:00:00 @ 15.74, 5: 08-15 14:00:00 - 08-15 14:30:00 @ 14.57, 6: 08-15 14:30:00 - 08-15 15:00:00 @ 13.77, 7: 08-15 15:00:00 - 08-15 15:30:00 @ 15.02, 8: 08-15 15:30:00 - 08-15 16:00:00 @ 15.87, 9: 08-15 16:00:00 - 08-15 16:30:00 @ 33.13, 10: 08-15 16:30:00 - 08-15 17:00:00 @ 33.13, 11: 08-15 17:00:00 - 08-15 17:30:00 @ 38.46, 12: 08-15 17:30:00 - 08-15 18:00:00 @ 40.44, 13: 08-15 18:00:00 - 08-15 18:30:00 @ 41.55, 14: 08-15 18:30:00 - 08-15 19:00:00 @ 43.82, 15: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 16: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 17: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 18: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 19: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 20: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 21: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 22: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 23: 08-15 23:00:00 - 08-15 23:30:00 @ 29.37, 24: 08-15 23:30:00 - 08-16 00:00:00 @ 29.2, 25: 08-16 00:00:00 - 08-16 00:30:00 @ 28.83, 26: 08-16 00:30:00 - 08-16 01:00:00 @ 28.46, 27: 08-16 01:00:00 - 08-16 01:30:00 @ 27.73, 28: 08-16 01:30:00 - 08-16 02:00:00 @ 27.01, 29: 08-16 02:00:00 - 08-16 02:30:00 @ 26.76, 30: 08-16 02:30:00 - 08-16 03:00:00 @ 26.48, 31: 08-16 03:00:00 - 08-16 03:30:00 @ 26.39, 32: 08-16 03:30:00 - 08-16 04:00:00 @ 26.27, 33: 08-16 04:00:00 - 08-16 04:30:00 @ 26.33, 34: 08-16 04:30:00 - 08-16 05:00:00 @ 26.37, 35: 08-16 05:00:00 - 08-16 05:30:00 @ 26.23, 36: 08-16 05:30:00 - 08-16 06:00:00 @ 26.07, 37: 08-16 06:00:00 - 08-16 06:30:00 @ 25.99, 38: 08-16 06:30:00 - 08-16 07:00:00 @ 25.92, 39: 08-16 07:00:00 - 08-16 07:30:00 @ 25.64, 40: 08-16 07:30:00 - 08-16 08:00:00 @ 25.39, 41: 08-16 08:00:00 - 08-16 08:30:00 @ 24.84, 42: 08-16 08:30:00 - 08-16 09:00:00 @ 24.28, 43: 08-16 09:00:00 - 08-16 09:30:00 @ 24.26, 44: 08-16 09:30:00 - 08-16 10:00:00 @ 24.22, 45: 08-16 10:00:00 - 08-16 10:30:00 @ 24.8, 46: 08-16 10:30:00 - 08-16 11:00:00 @ 25.37, 47: 08-16 11:00:00 - 08-16 11:30:00 @ 24.71, 48: 08-16 11:30:00 - 08-16 12:00:00 @ 24.02, 49: 08-16 12:00:00 - 08-16 12:30:00 @ 23.79, 50: 08-16 12:30:00 - 08-16 13:00:00 @ 23.55, 51: 08-16 13:00:00 - 08-16 13:30:00 @ 23.14, 52: 08-16 13:30:00 - 08-16 14:00:00 @ 22.71, 53: 08-16 14:00:00 - 08-16 14:30:00 @ 22.01, 54: 08-16 14:30:00 - 08-16 15:00:00 @ 21.29, 55: 08-16 15:00:00 - 08-16 15:30:00 @ 22.01, 56: 08-16 15:30:00 - 08-16 16:00:00 @ 22.71, 57: 08-16 16:00:00 - 08-16 16:30:00 @ 37.14, 58: 08-16 16:30:00 - 08-16 17:00:00 @ 37.91, 59: 08-16 17:00:00 - 08-16 17:30:00 @ 40.13, 60: 08-16 17:30:00 - 08-16 18:00:00 @ 42.36, 61: 08-16 18:00:00 - 08-16 18:30:00 @ 44.19, 62: 08-16 19:00:00 - 08-16 19:30:00 @ 33.04, 63: 08-16 19:30:00 - 08-16 20:00:00 @ 33.71, 64: 08-16 20:00:00 - 08-16 20:30:00 @ 33.83, 65: 08-16 20:30:00 - 08-16 21:00:00 @ 33.94, 66: 08-16 21:00:00 - 08-16 21:30:00 @ 33.73, 67: 08-16 21:30:00 - 08-16 22:00:00 @ 33.53, 68: 08-16 22:00:00 - 08-16 22:30:00 @ 32.36, 69: 08-16 22:30:00 - 08-16 23:00:00 @ 31.17, 70: 08-16 23:00:00 - 08-16 23:30:00 @ 29.37, 71: 08-16 23:30:00 - 08-17 00:00:00 @ 29.2, 72: 08-17 00:00:00 - 08-17 00:30:00 @ 28.83, 73: 08-17 00:30:00 - 08-17 01:00:00 @ 28.46, 74: 08-17 01:00:00 - 08-17 01:30:00 @ 27.73, 75: 08-17 01:30:00 - 08-17 02:00:00 @ 27.01, 76: 08-17 02:00:00 - 08-17 02:30:00 @ 26.76, 77: 08-17 02:30:00 - 08-17 03:00:00 @ 26.48, 78: 08-17 03:00:00 - 08-17 03:30:00 @ 26.39, 79: 08-17 03:30:00 - 08-17 04:00:00 @ 26.27, 80: 08-17 04:00:00 - 08-17 04:30:00 @ 26.33, 81: 08-17 04:30:00 - 08-17 05:00:00 @ 26.37, 82: 08-17 05:00:00 - 08-17 05:30:00 @ 26.23, 83: 08-17 05:30:00 - 08-17 06:00:00 @ 26.07, 84: 08-17 06:00:00 - 08-17 06:30:00 @ 25.99, 85: 08-17 06:30:00 - 08-17 07:00:00 @ 25.92, 86: 08-17 07:00:00 - 08-17 07:30:00 @ 25.64, 87: 08-17 07:30:00 - 08-17 08:00:00 @ 25.39, 88: 08-17 08:00:00 - 08-17 08:30:00 @ 24.84, 89: 08-17 08:30:00 - 08-17 09:00:00 @ 24.28, 90: 08-17 09:00:00 - 08-17 09:30:00 @ 24.26, 91: 08-17 09:30:00 - 08-17 10:00:00 @ 24.22, 92: 08-17 10:00:00 - 08-17 10:30:00 @ 24.8, 93: 08-17 10:30:00 - 08-17 11:00:00 @ 25.37, 94: 08-17 11:00:00 - 08-17 11:30:00 @ 24.71, 95: 08-17 11:30:00 - 08-17 12:00:00 @ 24.02]
2026-08-15 11:45:03.619358: Include original charge start 08-15 10:30:00, keeping this instead of new start 08-15 11:30:00
2026-08-15 11:45:03.619518: Inverter 0 Charge window will be: 2026-08-15 10:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 16%, target 25%
2026-08-15 11:45:03.619698: Inverter 0 Target SoC 25%, (this inverter 25%), battery temperature 20°C, select charge rate 5000W (real 5000W), current charge rate 5000W
2026-08-15 11:45:03.619917: Adjust idle time, charge 10:30:00-16:00:00 discharge 00:00:00-00:00:00
2026-08-15 11:45:03.620167: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 11:45:03.620266: No export window planned
2026-08-15 11:45:03.620438: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 11:45:03.620476: Adjust idle time, charge 10:30:00-16:00:00 discharge 00:00:00-00:00:00
2026-08-15 11:45:03.620645: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 11:45:03.620790: Inverter 0 setting charging SoC to 25% as per target
2026-08-15 11:45:03.620848: Inverter 0 adjust target SoC for charge to 25% (4.0kWh/16.0kWh 16.0kWh) based on going from 16% -> 25% total add is 1.5kWh and this battery needs to add 1.5kWh to get to 4.0kWh
2026-08-15 11:45:03.620907: Inverter 0 Current Target SoC is 25%, already at target
2026-08-15 11:45:03.621087: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:45:03.621148: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:45:03.621178: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:45:03.621204: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:45:03.621228: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:45:03.621264: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:45:03.621363: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:45:03.621410: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 11:45:03.621451: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 11:45:03.621499: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 11:45:03.621525: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 11:45:03.621556: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 11:45:03.621581: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 11:45:03.621607: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 11:45:03.621678: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:45:03.621735: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:45:03.621761: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:45:03.621784: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:45:03.621813: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:45:03.621863: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:45:03.621890: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:45:03.621911: Inverter 0 count register writes 0
2026-08-15 11:45:03.636778: Will recompute the plan as it is now 10.0 minutes old and will exceed the max age of 10 minutes before the next run
2026-08-15 11:45:03.636920: Recompute is saving previous plan...
2026-08-15 11:45:03.639464: Best charge window [ 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 25%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 25%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 13:30:00 @ 15.36p 25%, 15-08 13:30:00 - 15-08 14:00:00 @ 15.74p 25%, 15-08 14:00:00 - 15-08 14:30:00 @ 14.57p 25%, 15-08 14:30:00 - 15-08 15:00:00 @ 13.77p 25%, 15-08 15:00:00 - 15-08 15:30:00 @ 15.02p 25%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 25%, 15-08 16:00:00 - 15-08 16:30:00 @ 33.13p 25%, 15-08 16:30:00 - 15-08 17:00:00 @ 33.13p 25%, 15-08 17:00:00 - 15-08 17:30:00 @ 38.46p 25%, 15-08 17:30:00 - 15-08 18:00:00 @ 40.44p 25%, 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 25%, 15-08 18:30:00 - 15-08 19:00:00 @ 43.82p 25%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 25%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 25%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 25%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 25%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 25%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 25%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 25%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 25%, 15-08 23:00:00 - 15-08 23:30:00 @ 29.37p 25%, 15-08 23:30:00 - 16-08 00:00:00 @ 29.2p 25%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.83p 25%, 16-08 00:30:00 - 16-08 01:00:00 @ 28.46p 25%, 16-08 01:00:00 - 16-08 01:30:00 @ 27.73p 25%, 16-08 01:30:00 - 16-08 02:00:00 @ 27.01p 25%, 16-08 02:00:00 - 16-08 02:30:00 @ 26.76p 25%, 16-08 02:30:00 - 16-08 03:00:00 @ 26.48p 25%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.39p 25%, 16-08 03:30:00 - 16-08 04:00:00 @ 26.27p 25%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.33p 25%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.37p 25%, 16-08 05:00:00 - 16-08 05:30:00 @ 26.23p 25%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.07p 25%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.99p 25%, 16-08 06:30:00 - 16-08 07:00:00 @ 25.92p 25%, 16-08 07:00:00 - 16-08 07:30:00 @ 25.64p 25%, 16-08 07:30:00 - 16-08 08:00:00 @ 25.39p 25%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.84p 25%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.28p 25%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.26p 25%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.22p 25%, 16-08 10:00:00 - 16-08 10:30:00 @ 24.8p 25%, 16-08 10:30:00 - 16-08 11:00:00 @ 25.37p 25%, 16-08 11:00:00 - 16-08 11:30:00 @ 24.71p 25%, 16-08 11:30:00 - 16-08 12:00:00 @ 24.02p 25%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.79p 25%, 16-08 12:30:00 - 16-08 13:00:00 @ 23.55p 25%, 16-08 13:00:00 - 16-08 13:30:00 @ 23.14p 25%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.71p 25%, 16-08 14:00:00 - 16-08 14:30:00 @ 22.01p 25%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.29p 25%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.01p 25%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.71p 25%, 16-08 16:00:00 - 16-08 16:30:00 @ 37.14p 25%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.91p 25%, 16-08 17:00:00 - 16-08 17:30:00 @ 40.13p 25%, 16-08 17:30:00 - 16-08 18:00:00 @ 42.36p 25%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.19p 25%, 16-08 19:00:00 - 16-08 19:30:00 @ 33.04p 25%, 16-08 19:30:00 - 16-08 20:00:00 @ 33.71p 25%, 16-08 20:00:00 - 16-08 20:30:00 @ 33.83p 25%, 16-08 20:30:00 - 16-08 21:00:00 @ 33.94p 25%, 16-08 21:00:00 - 16-08 21:30:00 @ 33.73p 25%, 16-08 21:30:00 - 16-08 22:00:00 @ 33.53p 25%, 16-08 22:00:00 - 16-08 22:30:00 @ 32.36p 25%, 16-08 22:30:00 - 16-08 23:00:00 @ 31.17p 25%, 16-08 23:00:00 - 16-08 23:30:00 @ 29.37p 25%, 16-08 23:30:00 - 17-08 00:00:00 @ 29.2p 25%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.83p 25%, 17-08 00:30:00 - 17-08 01:00:00 @ 28.46p 25%, 17-08 01:00:00 - 17-08 01:30:00 @ 27.73p 25%, 17-08 01:30:00 - 17-08 02:00:00 @ 27.01p 25%, 17-08 02:00:00 - 17-08 02:30:00 @ 26.76p 25%, 17-08 02:30:00 - 17-08 03:00:00 @ 26.48p 25%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.39p 25%, 17-08 03:30:00 - 17-08 04:00:00 @ 26.27p 25%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.33p 25%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.37p 25%, 17-08 05:00:00 - 17-08 05:30:00 @ 26.23p 25%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.07p 25%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.99p 25%, 17-08 06:30:00 - 17-08 07:00:00 @ 25.92p 25%, 17-08 07:00:00 - 17-08 07:30:00 @ 25.64p 25%, 17-08 07:30:00 - 17-08 08:00:00 @ 25.39p 25%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.84p 25%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.28p 25%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.26p 25%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.22p 25%, 17-08 10:00:00 - 17-08 10:30:00 @ 24.8p 25%, 17-08 10:30:00 - 17-08 11:00:00 @ 25.37p 25%, 17-08 11:00:00 - 17-08 11:30:00 @ 24.71p 25%, 17-08 11:30:00 - 17-08 12:00:00 @ 24.02p 25% ]
2026-08-15 11:45:03.639530: Best export window [  ]
2026-08-15 11:45:03.640203: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 11:45:03.642688: Load divergence over 8.0 hours mean 597.38W, min 290.4W, max 1559.4W, std dev 308.41W, divergence 25.81%
2026-08-15 11:45:03.657152: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 11:45:03.657238: LoadML is_calculating False
2026-08-15 11:45:03.657304: Creating pool of 12 processes to match your CPU count
2026-08-15 11:45:03.735338: Calculate Best options: mode(Control charge & discharge), calculate_export_oncharge(False), calculate_export_on_pv(True), set_export_freeze_only(False), set_discharge_during_charge(True), combine_charge_slots(False), combine_export_slots(False), combine_rate_threshold(0.0), best_soc_min(0.0 kWh), best_soc_max(0.0 kWh), best_soc_keep(0.0 kWh), inverter_loss(4%), battery_loss(3%), battery_loss_discharge (3%), inverter_hybrid(True), metric_min_improvement(0.0p), metric_min_improvement_export(0.1p), metric_min_improvement_export_freeze(0.1p), metric_battery_cycle(0.0p/kWh), metric_battery_value_scaling(1.0 x) 
2026-08-15 11:45:03.736940: Optimise levels pass started at 2026-08-15 11:45:03
2026-08-15 11:45:03.737022: Optimise all windows, total charge 95 export 1
2026-08-15 11:45:04.836516: >> Region optimisation pass width 960 gives best_metric 941.05p, best_cost 955.35p, best_cycle 48.03kWh, best_import 35.6kWh
2026-08-15 11:45:05.255384: >> Region optimisation pass width 480 gives best_metric 941.05p, best_cost 955.35p, best_cycle 48.03kWh, best_import 35.6kWh
2026-08-15 11:45:05.710114: >> Region optimisation pass width 240 gives best_metric 941.05p, best_cost 955.35p, best_cycle 48.03kWh, best_import 35.6kWh
2026-08-15 11:45:06.768455: >> Region optimisation pass width 120 gives best_metric 941.05p, best_cost 955.35p, best_cycle 48.03kWh, best_import 35.6kWh
2026-08-15 11:45:06.768738: Calculated end_record as 08-16 12:00:00 based on best_price 22.71p, next_charge_start 08-15 12:00:00, max_windows 49
2026-08-15 11:45:06.768814: Optimise levels pass ended at 2026-08-15 11:45:06, duration 3.0 seconds tried 284 combinations
2026-08-15 11:45:06.768917: Set best_price_charge_level 24.4p, best_price_export_level 0p, best_price_charge 22.71p, best_cost_export 0p, best_metric 941.05p, best_keep 0kWh, best_cycle 48.03kWh, best_carbon 0kg, best_import 35.6kWh
2026-08-15 11:45:06.784698: Starting detailed optimisation end_record 08-16 12:00:00, best_price_charge 22.71p, best_price_export 0p. lowest_price_charge 13.77p with charge limits [16.0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0]kWh and export limits []kWh
2026-08-15 11:45:10.891684: Tweak plan optimisation started metric 549.59p, cost 566.53p
2026-08-15 11:45:11.186917: Tweak optimisation finished metric 549.59p, cost 566.53p, metric_keep 0kWh, cycle 28.35kWh, carbon 0kg, import 18.67kWh, changed 8 window(s)
2026-08-15 11:45:11.206619: Swap charge optimisation started metric 549.59p, cost 566.53p, min_improvement_swap 0.1p
2026-08-15 11:45:15.457263: Swap charge optimisation finished metric 549.59p, cost 566.53p
2026-08-15 11:45:15.599588: Pruned 3 dead plan slot(s) in 12 trial(s), nominal metric 546.05p -> 546.05p, plan now metric 549.68p, cost 566.53p, cycle 28.35kWh, import 18.67kWh
2026-08-15 11:45:15.611484: Raw charge windows [ 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 25%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 13:30:00 @ 15.36p 100%, 15-08 13:30:00 - 15-08 14:00:00 @ 15.74p 100%, 15-08 14:00:00 - 15-08 14:30:00 @ 14.57p 100%, 15-08 14:30:00 - 15-08 15:00:00 @ 13.77p 100%, 15-08 15:00:00 - 15-08 15:30:00 @ 15.02p 100%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 100%, 15-08 16:00:00 - 15-08 16:30:00 @ 33.13p 0%, 15-08 16:30:00 - 15-08 17:00:00 @ 33.13p 0%, 15-08 17:00:00 - 15-08 17:30:00 @ 38.46p 0%, 15-08 17:30:00 - 15-08 18:00:00 @ 40.44p 0%, 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 0%, 15-08 18:30:00 - 15-08 19:00:00 @ 43.82p 0%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 0%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 0%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 0%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 0%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 29.37p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 29.2p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.83p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 28.46p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 27.73p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 27.01p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 26.76p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 26.48p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.39p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 26.27p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.33p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.37p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 26.23p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.07p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.99p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 25.92p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 25.64p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 25.39p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.84p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.28p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.26p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.22p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 24.8p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 25.37p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 24.71p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 24.02p 0%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.79p 100%, 16-08 12:30:00 - 16-08 13:00:00 @ 23.55p 100%, 16-08 13:00:00 - 16-08 13:30:00 @ 23.14p 100%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.71p 100%, 16-08 14:00:00 - 16-08 14:30:00 @ 22.01p 100%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.29p 100%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.01p 100%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.71p 100%, 16-08 16:00:00 - 16-08 16:30:00 @ 37.14p 100%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.91p 100%, 16-08 17:00:00 - 16-08 17:30:00 @ 40.13p 100%, 16-08 17:30:00 - 16-08 18:00:00 @ 42.36p 100%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.19p 100%, 16-08 19:00:00 - 16-08 19:30:00 @ 33.04p 100%, 16-08 19:30:00 - 16-08 20:00:00 @ 33.71p 100%, 16-08 20:00:00 - 16-08 20:30:00 @ 33.83p 100%, 16-08 20:30:00 - 16-08 21:00:00 @ 33.94p 100%, 16-08 21:00:00 - 16-08 21:30:00 @ 33.73p 100%, 16-08 21:30:00 - 16-08 22:00:00 @ 33.53p 100%, 16-08 22:00:00 - 16-08 22:30:00 @ 32.36p 100%, 16-08 22:30:00 - 16-08 23:00:00 @ 31.17p 100%, 16-08 23:00:00 - 16-08 23:30:00 @ 29.37p 100%, 16-08 23:30:00 - 17-08 00:00:00 @ 29.2p 100%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.83p 100%, 17-08 00:30:00 - 17-08 01:00:00 @ 28.46p 100%, 17-08 01:00:00 - 17-08 01:30:00 @ 27.73p 100%, 17-08 01:30:00 - 17-08 02:00:00 @ 27.01p 100%, 17-08 02:00:00 - 17-08 02:30:00 @ 26.76p 100%, 17-08 02:30:00 - 17-08 03:00:00 @ 26.48p 100%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.39p 100%, 17-08 03:30:00 - 17-08 04:00:00 @ 26.27p 100%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.33p 100%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.37p 100%, 17-08 05:00:00 - 17-08 05:30:00 @ 26.23p 100%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.07p 100%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.99p 100%, 17-08 06:30:00 - 17-08 07:00:00 @ 25.92p 100%, 17-08 07:00:00 - 17-08 07:30:00 @ 25.64p 100%, 17-08 07:30:00 - 17-08 08:00:00 @ 25.39p 100%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.84p 100%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.28p 100%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.26p 100%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.22p 100%, 17-08 10:00:00 - 17-08 10:30:00 @ 24.8p 100%, 17-08 10:30:00 - 17-08 11:00:00 @ 25.37p 100%, 17-08 11:00:00 - 17-08 11:30:00 @ 24.71p 100%, 17-08 11:30:00 - 17-08 12:00:00 @ 24.02p 100% ] reserve 1.12
2026-08-15 11:45:15.612123: Unclipped charge windows [ 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 25%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 12:00:00 - 16-08 18:30:00 @ 41.93p 100%, 16-08 19:00:00 - 17-08 12:00:00 @ 24.43p 100% ] reserve 1.12
2026-08-15 11:45:15.612441: Unfiltered charge windows [ 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 25%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 12:00:00 - 16-08 18:30:00 @ 41.93p 100%, 16-08 19:00:00 - 17-08 12:00:00 @ 24.43p 100% ] reserve 1.12
2026-08-15 11:45:15.612696: Filtered charge windows [ 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 25%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 12:00:00 - 16-08 18:30:00 @ 41.93p 100%, 16-08 19:00:00 - 17-08 12:00:00 @ 24.43p 100% ] reserve 1.12
2026-08-15 11:45:15.650832: Previous plan best metric is 549.85 (cost 566.77) and new plan best metric is 549.59 (cost 566.53)
2026-08-15 11:45:15.651138: New plan metric is not significantly better (metric_min_improvement_plan 2.0) than previous plan, using previous plan
2026-08-15 11:45:15.651296: Plan valid is now true after recompute was False
2026-08-15 11:45:15.680454: predict base end_record 08-16 12:00:00, final soc 4.0kWh, metric 814.46p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 19:40:00, load 25.24kWh, PV 0.0kWh
2026-08-15 11:45:15.800124: Battery has 7.92 hours left - now at 2.5kWh
2026-08-15 11:45:15.847218: predict base10 end_record 08-16 12:00:00, final soc 4.0kWh, metric 836.86p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 19:35:00, load 26.09kWh, PV 0.0kWh
2026-08-15 11:45:15.930764: predict best10 end_record 08-16 12:00:00, final soc 1.12kWh, metric 641.09p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 10:20:00, load 26.09kWh, PV 0.0kWh
2026-08-15 11:45:16.014287: predict best end_record 08-16 12:00:00, final soc 1.12kWh, metric 616.75p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 11:30:00, load 25.24kWh, PV 0.0kWh
2026-08-15 11:45:16.014599: Saving plan best values to HA entities
2026-08-15 11:45:16.177809: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0
2026-08-15 11:45:16.183945: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 11:45:16.189931: Best charging limit SoC's [4.0, 16.0, 16.0, 16.0]kWh, export []kWh gives import battery 18.17kWh, house 0.5kWh, export 0.0kWh, metric 616.75p, metric10 641.09p
2026-08-15 11:45:16.276119: Marginal costs baseline metric (no standing charge): 566.7708
2026-08-15 11:45:16.577542: Marginal energy costs matrix computed: min=14.66 max=33.66
2026-08-15 11:45:16.648861: Rate array import [{'start': 705, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 17.0p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1950, 'rate': 'expensive', 'range': '(24.8p - 32.9p)'}, {'start': 1950, 'end': 2040, 'rate': 'cheap', 'range': '(24.2p - 24.3p)'}, {'start': 2040, 'end': 2130, 'rate': 'expensive', 'range': '(24.7p - 25.4p)'}, {'start': 2130, 'end': 2160, 'rate': 'cheap', 'range': '(24.0p)'}] export [{'start': 705, 'end': 2160, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 11:45:16.649363: - Your estimated bill for today is £5.55 and tomorrow is £6.79
2026-08-15 11:45:16.649455: - Import rates are cheap (13.8p - 17.0p) for the next 4 and a quarter hours and then expensive (33.1p) for the next 1 hour.
2026-08-15 11:45:16.649478: - The battery is currently at 16% and is charging to 25% for the next 1 and a quarter hours.
2026-08-15 11:45:16.649496: - For the next 48 hours there will be no solar generation.
2026-08-15 11:45:16.649513: - You will run out of battery in 23 hours.
2026-08-15 11:45:16.649534: 
2026-08-15 11:45:16.706885: Plan calculation took 13.07 seconds
2026-08-15 11:45:16.707351: Inverter 0: Type SK Sunsynk
2026-08-15 11:45:16.707429: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 11:45:16.707747: Reserve min: 7%, battery_min: 7%
2026-08-15 11:45:16.707871: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 11:45:16.708435: Inverter 0 SoC: 2.86kW 18%, current charge rate 5000W, current discharge rate 5250W, current battery power -4503W, current battery voltage 51.2V, grid power -5282W, load power 284W, PV Power 0W
2026-08-15 11:45:16.708757: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 11:45:16.708904: Inverter 0 scheduled charge enable is True
2026-08-15 11:45:16.709016: Inverter 0 charge windows currently [{'start': 630, 'end': 960, 'average': 0}, {'start': 2070, 'end': 2400, 'average': 0}, {'start': 3510, 'end': 3840, 'average': 0}]
2026-08-15 11:45:16.709184: Inverter 0 Charge settings: 08-15 10:30:00-08-15 16:00:00, limit 25.0%, power 5.0kW
2026-08-15 11:45:16.709431: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 11:45:16.709485: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 11:45:16.709532: Inverter 0 scheduled discharge enable is False
2026-08-15 11:45:16.709656: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 11:45:16.709690: Inverter 0 discharge windows currently []
2026-08-15 11:45:16.709711: Note: Inverter does not support discharge freeze - disabled
2026-08-15 11:45:16.709726: Note: Inverter does not support charge freeze - disabled
2026-08-15 11:45:16.709740: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 11:45:16.760580: Include original charge start 08-15 10:30:00, keeping this instead of new start 08-15 11:30:00
2026-08-15 11:45:16.760690: Inverter 0 Charge window will be: 2026-08-15 10:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 18%, target 25%
2026-08-15 11:45:16.760833: Inverter 0 Target SoC 25%, (this inverter 25%), battery temperature 20°C, select charge rate 5000W (real 5000W), current charge rate 5000W
2026-08-15 11:45:16.761055: Adjust idle time, charge 10:30:00-16:00:00 discharge 00:00:00-00:00:00
2026-08-15 11:45:16.761224: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 11:45:16.761309: No export window planned
2026-08-15 11:45:16.761412: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 11:45:16.761442: Adjust idle time, charge 10:30:00-16:00:00 discharge 00:00:00-00:00:00
2026-08-15 11:45:16.761576: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 11:45:16.761667: Inverter 0 setting charging SoC to 25% as per target
2026-08-15 11:45:16.761722: Inverter 0 adjust target SoC for charge to 25% (4.0kWh/16.0kWh 16.0kWh) based on going from 18% -> 25% total add is 1.14kWh and this battery needs to add 1.14kWh to get to 4.0kWh
2026-08-15 11:45:16.761767: Inverter 0 Current Target SoC is 25%, already at target
2026-08-15 11:45:16.761862: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:45:16.761929: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:45:16.761953: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:45:16.761973: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:45:16.761993: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:45:16.762015: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:45:16.762035: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:45:16.762073: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 11:45:16.762130: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 11:45:16.762155: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 11:45:16.762179: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 11:45:16.762201: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 11:45:16.762223: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 11:45:16.762242: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 11:45:16.762304: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:45:16.762336: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:45:16.762358: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:45:16.762377: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:45:16.762396: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:45:16.762419: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:45:16.762439: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:45:16.762457: Inverter 0 count register writes 0
2026-08-15 11:45:16.784319: Total inverter register writes now 819
2026-08-15 11:45:16.823103: Info: Completed run status Charging
2026-08-15 11:45:16.829803: Info: record_status Charging target 18%-25%
2026-08-15 11:45:16.836226: Saved current settings to /config/predbat_config.json
2026-08-15 11:45:16.836512: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 11:45:56.942940: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 11:45:56.943222: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 11:45:56.943290: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 11:45:56.943448: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 11:45:56.943487: Note: Inverter does not support discharge freeze - disabled
2026-08-15 11:45:56.943508: Note: Inverter does not support charge freeze - disabled
2026-08-15 11:45:56.943526: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 11:47:57.162106: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 11:47:57.162407: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 11:47:57.162453: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 11:47:57.162609: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 11:47:57.162648: Note: Inverter does not support discharge freeze - disabled
2026-08-15 11:47:57.162669: Note: Inverter does not support charge freeze - disabled
2026-08-15 11:47:57.162686: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 11:49:57.385429: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 11:49:57.385745: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 11:49:57.385803: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 11:49:57.386012: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 11:49:57.386071: Note: Inverter does not support discharge freeze - disabled
2026-08-15 11:49:57.386118: Note: Inverter does not support charge freeze - disabled
2026-08-15 11:49:57.386142: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 11:50:00.474666: --------------- PredBat - update at 2026-08-15 11:50:00+01:00 with clock skew 0 minutes, minutes now 710
2026-08-15 11:50:00.475555: Saved current settings to /config/predbat_config.json
2026-08-15 11:50:00.475697: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 95.0 minutes
2026-08-15 11:50:00.475759: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.1, latest beta is v8.48.1
2026-08-15 11:50:00.475876: Autoupdate: Currently up to date
2026-08-15 11:50:00.501977: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 11:50:00.502110: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 11:50:00.502309: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 11:50:00.502878: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 11:50:00.503005: Predbat mode is set to Control charge & discharge
2026-08-15 11:50:00.725170: Found 21602 load_today datapoints going back 28 days
2026-08-15 11:50:00.725339: Using load_power data to fill gaps in load_today data
2026-08-15 11:50:01.538914: Processing 721 30-minute periods for power integration
2026-08-15 11:50:01.727642: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 11:50:01.727796: Car charging hold False, threshold 6.0kWh
2026-08-15 11:50:01.727843: Current data so far today: load 7.33kWh, import 10.0kWh, export 0.0kWh, PV 0kWh
2026-08-15 11:50:01.742979: Cars: SoC: [11.72]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 11:50:01.743708: Standing charge is set to 49.98p
2026-08-15 11:50:01.792979: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 11:50:01.793095: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 11:50:01.793338: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 70.0 minutes
2026-08-15 11:50:01.793768: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 70.0 minutes
2026-08-15 11:50:01.799617: Loaded 95 datapoints of futurerate analysis
2026-08-15 11:50:01.894183: Predicted future rates: ['08-15 00:00:00 => 28.9 / 20.01', '08-15 01:00:00 => 27.54 / 19.31', '08-15 02:00:00 => 26.52 / 18.8', '08-15 03:00:00 => 25.99 / 18.53', '08-15 04:00:00 => 25.8 / 18.43', '08-15 05:00:00 => 25.96 / 18.51', '08-15 06:00:00 => 25.55 / 18.3', '08-15 07:00:00 => 24.33 / 17.68', '08-15 08:00:00 => 23.03 / 17.01', '08-15 09:00:00 => 22.05 / 16.51', '08-15 10:00:00 => 20.43 / 15.68', '08-15 11:00:00 => 18.01 / 14.45', '08-15 12:00:00 => 16.37 / 13.61', '08-15 13:00:00 => 15.76 / 13.3', '08-15 14:00:00 => 15.35 / 13.09', '08-15 15:00:00 => 15.86 / 13.35', '08-15 16:00:00 => 32.89 / 16.13', '08-15 17:00:00 => 38.02 / 18.75', '08-15 18:00:00 => 42.36 / 20.96', '08-15 19:00:00 => 31.09 / 21.13', '08-15 20:00:00 => 31.64 / 21.41', '08-15 21:00:00 => 31.64 / 21.41', '08-15 22:00:00 => 30.58 / 20.87', '08-15 23:00:00 => 29.37 / 20.25', '08-16 00:00:00 => 28.83 / 19.97', '08-16 01:00:00 => 27.73 / 19.41', '08-16 02:00:00 => 26.76 / 18.92', '08-16 03:00:00 => 26.39 / 18.73', '08-16 04:00:00 => 26.33 / 18.7', '08-16 05:00:00 => 26.23 / 18.65', '08-16 06:00:00 => 25.99 / 18.53', '08-16 07:00:00 => 25.64 / 18.35', '08-16 08:00:00 => 24.84 / 17.94', '08-16 09:00:00 => 24.26 / 17.64', '08-16 10:00:00 => 24.8 / 17.92']
2026-08-15 11:50:01.959450: Rate min forward looking: now 13.77p at end of forecast 21.29p
2026-08-15 11:50:01.959852: Import rates: min 13.77p, max 46.05p, average 27.73p
2026-08-15 11:50:02.004027: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 11:50:02.004166: Rate thresholds (for charge/export) are import 45.55p (0.0p), export -0.1p (0.0p)
2026-08-15 11:50:02.005582: High export rate found rates in range 99p to -99p
2026-08-15 11:50:02.101167: Low Import rate found rates in range 13.77p to 44.19p
2026-08-15 11:50:02.101363: Car 0 charging is not planned as it is not plugged in
2026-08-15 11:50:02.115330: Battery level now 2.5kWh, -1hr ago 1.78kWh, at midnight 1.66kWh, battery value change in the last hour 8.61p, change today 10.03p, rate_forward 11.83p
2026-08-15 11:50:02.115709: Last hour: net energy 1.5kWh, import 1.5kWh, export 0.0kWh, car 0kWh, load 0.35kWh, net cost 23.91p, import 23.91p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 11:50:02.179690: Today's energy total net 10.0kWh, import 10.0kWh, export 0.0kWh, cost 292.27p, import 242.29p, export 0.0p, carbon 0.0kg
2026-08-15 11:50:02.179845: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 11:50:02.265555: Using weighted-bucket historical load forecast over 14 days
2026-08-15 11:50:02.295746: Today's load divergence 102.41%, in-day adjustment 123.32%, damping 0.95x, yesterday 143.77% today 102.29% blend 50.69%
2026-08-15 11:50:02.295856: Today's predicted so far 6.95kWh with 0.0kWh car/iBoost excluded, 4.62kWh import ignored, and 6.95kWh forecast extra.
2026-08-15 11:50:02.295889: Today's actual load so far 7.33kWh with 0.0kWh car/iBoost excluded, and 4.62kWh import ignored.
2026-08-15 11:50:02.342689: Inverter 0: Type SK Sunsynk
2026-08-15 11:50:02.342780: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 11:50:02.343029: Reserve min: 7%, battery_min: 7%
2026-08-15 11:50:02.343118: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 11:50:02.343416: Inverter 0 SoC: 2.86kW 18%, current charge rate 5000W, current discharge rate 5250W, current battery power -4509W, current battery voltage 51.2V, grid power -5263W, load power 267W, PV Power 0W
2026-08-15 11:50:02.343606: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 11:50:02.343732: Inverter 0 scheduled charge enable is True
2026-08-15 11:50:02.343793: Inverter 0 charge windows currently [{'start': 630, 'end': 960, 'average': 0}, {'start': 2070, 'end': 2400, 'average': 0}, {'start': 3510, 'end': 3840, 'average': 0}]
2026-08-15 11:50:02.343930: Inverter 0 Charge settings: 08-15 10:30:00-08-15 16:00:00, limit 25.0%, power 5.0kW
2026-08-15 11:50:02.344098: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 11:50:02.344138: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 11:50:02.344177: Inverter 0 scheduled discharge enable is False
2026-08-15 11:50:02.344324: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 11:50:02.344365: Inverter 0 discharge windows currently []
2026-08-15 11:50:02.344389: Note: Inverter does not support discharge freeze - disabled
2026-08-15 11:50:02.344410: Note: Inverter does not support charge freeze - disabled
2026-08-15 11:50:02.344427: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 11:50:02.414715: Dynamic load last period 0.30kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 11:50:02.414865: Plan was last updated on 2026-08-15 11:45:00+01:00 and is now 5.0 minutes old
2026-08-15 11:50:02.415118: Best charge window [ 15-08 11:30:00 - 15-08 13:00:00 @ 16.29p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 12:00:00 - 16-08 18:30:00 @ 41.93p 100%, 16-08 19:00:00 - 17-08 12:00:00 @ 24.43p 100% ]
2026-08-15 11:50:02.415163: Best export window [  ]
2026-08-15 11:50:02.416030: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 11:50:02.419136: Load divergence over 8.0 hours mean 594.28W, min 292.8W, max 1692.6W, std dev 290.94W, divergence 24.48%
2026-08-15 11:50:02.438078: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 11:50:02.438207: LoadML is_calculating False
2026-08-15 11:50:02.438295: Creating pool of 12 processes to match your CPU count
2026-08-15 11:50:02.568923: predict base end_record 08-16 12:05:00, final soc 4.0kWh, metric 821.48p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 19:40:00, load 25.34kWh, PV 0.0kWh
2026-08-15 11:50:02.707501: Battery has 7.83 hours left - now at 2.86kWh
2026-08-15 11:50:02.754478: predict base10 end_record 08-16 12:05:00, final soc 4.0kWh, metric 843.81p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 19:35:00, load 26.2kWh, PV 0.0kWh
2026-08-15 11:50:02.842000: predict best10 end_record 08-16 12:05:00, final soc 1.44kWh, metric 656.3p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 10:20:00, load 26.2kWh, PV 0.0kWh
2026-08-15 11:50:02.927286: predict best end_record 08-16 12:05:00, final soc 1.51kWh, metric 633.68p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 11:30:00, load 25.34kWh, PV 0.0kWh
2026-08-15 11:50:02.927379: Saving plan best values to HA entities
2026-08-15 11:50:03.099626: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0
2026-08-15 11:50:03.106178: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 11:50:03.112297: Best charging limit SoC's [4.0, 16.0, 16.0, 16.0]kWh, export []kWh gives import battery 18.19kWh, house 0.5kWh, export 0.0kWh, metric 633.68p, metric10 656.3p
2026-08-15 11:50:03.191815: Marginal costs baseline metric (no standing charge): 583.6977
2026-08-15 11:50:03.472551: Marginal energy costs matrix computed: min=14.5 max=33.81
2026-08-15 11:50:03.549304: Rate array import [{'start': 710, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 17.0p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1950, 'rate': 'expensive', 'range': '(24.8p - 32.9p)'}, {'start': 1950, 'end': 2040, 'rate': 'cheap', 'range': '(24.2p - 24.3p)'}, {'start': 2040, 'end': 2130, 'rate': 'expensive', 'range': '(24.7p - 25.4p)'}, {'start': 2130, 'end': 2165, 'rate': 'cheap', 'range': '(23.8p - 24.0p)'}] export [{'start': 710, 'end': 2165, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 11:50:03.549747: - Your estimated bill for today is £5.60 and tomorrow is £6.79
2026-08-15 11:50:03.549818: - Import rates are cheap (13.8p - 17.0p) for the next 4 and a quarter hours and then expensive (33.1p) for the next 1 hour.
2026-08-15 11:50:03.549847: - The battery is currently at 18% and is charging to 25% for the next 1 and a quarter hours.
2026-08-15 11:50:03.549865: - For the next 48 hours there will be no solar generation.
2026-08-15 11:50:03.549882: - You will run out of battery in 23 hours.
2026-08-15 11:50:03.549904: 
2026-08-15 11:50:03.606275: Plan calculation took 1.19 seconds
2026-08-15 11:50:03.609899: No high rate period found
2026-08-15 11:50:03.663648: Import threshold used for optimisation was 24.28p
2026-08-15 11:50:03.716642: Low import rate windows [0: 08-15 11:30:00 - 08-15 12:00:00 @ 15.46, 1: 08-15 12:00:00 - 08-15 12:30:00 @ 17.0, 2: 08-15 12:30:00 - 08-15 13:00:00 @ 16.34, 3: 08-15 13:00:00 - 08-15 13:30:00 @ 15.36, 4: 08-15 13:30:00 - 08-15 14:00:00 @ 15.74, 5: 08-15 14:00:00 - 08-15 14:30:00 @ 14.57, 6: 08-15 14:30:00 - 08-15 15:00:00 @ 13.77, 7: 08-15 15:00:00 - 08-15 15:30:00 @ 15.02, 8: 08-15 15:30:00 - 08-15 16:00:00 @ 15.87, 9: 08-15 16:00:00 - 08-15 16:30:00 @ 33.13, 10: 08-15 16:30:00 - 08-15 17:00:00 @ 33.13, 11: 08-15 17:00:00 - 08-15 17:30:00 @ 38.46, 12: 08-15 17:30:00 - 08-15 18:00:00 @ 40.44, 13: 08-15 18:00:00 - 08-15 18:30:00 @ 41.55, 14: 08-15 18:30:00 - 08-15 19:00:00 @ 43.82, 15: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 16: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 17: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 18: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 19: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 20: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 21: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 22: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 23: 08-15 23:00:00 - 08-15 23:30:00 @ 29.37, 24: 08-15 23:30:00 - 08-16 00:00:00 @ 29.2, 25: 08-16 00:00:00 - 08-16 00:30:00 @ 28.83, 26: 08-16 00:30:00 - 08-16 01:00:00 @ 28.46, 27: 08-16 01:00:00 - 08-16 01:30:00 @ 27.73, 28: 08-16 01:30:00 - 08-16 02:00:00 @ 27.01, 29: 08-16 02:00:00 - 08-16 02:30:00 @ 26.76, 30: 08-16 02:30:00 - 08-16 03:00:00 @ 26.48, 31: 08-16 03:00:00 - 08-16 03:30:00 @ 26.39, 32: 08-16 03:30:00 - 08-16 04:00:00 @ 26.27, 33: 08-16 04:00:00 - 08-16 04:30:00 @ 26.33, 34: 08-16 04:30:00 - 08-16 05:00:00 @ 26.37, 35: 08-16 05:00:00 - 08-16 05:30:00 @ 26.23, 36: 08-16 05:30:00 - 08-16 06:00:00 @ 26.07, 37: 08-16 06:00:00 - 08-16 06:30:00 @ 25.99, 38: 08-16 06:30:00 - 08-16 07:00:00 @ 25.92, 39: 08-16 07:00:00 - 08-16 07:30:00 @ 25.64, 40: 08-16 07:30:00 - 08-16 08:00:00 @ 25.39, 41: 08-16 08:00:00 - 08-16 08:30:00 @ 24.84, 42: 08-16 08:30:00 - 08-16 09:00:00 @ 24.28, 43: 08-16 09:00:00 - 08-16 09:30:00 @ 24.26, 44: 08-16 09:30:00 - 08-16 10:00:00 @ 24.22, 45: 08-16 10:00:00 - 08-16 10:30:00 @ 24.8, 46: 08-16 10:30:00 - 08-16 11:00:00 @ 25.37, 47: 08-16 11:00:00 - 08-16 11:30:00 @ 24.71, 48: 08-16 11:30:00 - 08-16 12:00:00 @ 24.02, 49: 08-16 12:00:00 - 08-16 12:30:00 @ 23.79, 50: 08-16 12:30:00 - 08-16 13:00:00 @ 23.55, 51: 08-16 13:00:00 - 08-16 13:30:00 @ 23.14, 52: 08-16 13:30:00 - 08-16 14:00:00 @ 22.71, 53: 08-16 14:00:00 - 08-16 14:30:00 @ 22.01, 54: 08-16 14:30:00 - 08-16 15:00:00 @ 21.29, 55: 08-16 15:00:00 - 08-16 15:30:00 @ 22.01, 56: 08-16 15:30:00 - 08-16 16:00:00 @ 22.71, 57: 08-16 16:00:00 - 08-16 16:30:00 @ 37.14, 58: 08-16 16:30:00 - 08-16 17:00:00 @ 37.91, 59: 08-16 17:00:00 - 08-16 17:30:00 @ 40.13, 60: 08-16 17:30:00 - 08-16 18:00:00 @ 42.36, 61: 08-16 18:00:00 - 08-16 18:30:00 @ 44.19, 62: 08-16 19:00:00 - 08-16 19:30:00 @ 33.04, 63: 08-16 19:30:00 - 08-16 20:00:00 @ 33.71, 64: 08-16 20:00:00 - 08-16 20:30:00 @ 33.83, 65: 08-16 20:30:00 - 08-16 21:00:00 @ 33.94, 66: 08-16 21:00:00 - 08-16 21:30:00 @ 33.73, 67: 08-16 21:30:00 - 08-16 22:00:00 @ 33.53, 68: 08-16 22:00:00 - 08-16 22:30:00 @ 32.36, 69: 08-16 22:30:00 - 08-16 23:00:00 @ 31.17, 70: 08-16 23:00:00 - 08-16 23:30:00 @ 29.37, 71: 08-16 23:30:00 - 08-17 00:00:00 @ 29.2, 72: 08-17 00:00:00 - 08-17 00:30:00 @ 28.83, 73: 08-17 00:30:00 - 08-17 01:00:00 @ 28.46, 74: 08-17 01:00:00 - 08-17 01:30:00 @ 27.73, 75: 08-17 01:30:00 - 08-17 02:00:00 @ 27.01, 76: 08-17 02:00:00 - 08-17 02:30:00 @ 26.76, 77: 08-17 02:30:00 - 08-17 03:00:00 @ 26.48, 78: 08-17 03:00:00 - 08-17 03:30:00 @ 26.39, 79: 08-17 03:30:00 - 08-17 04:00:00 @ 26.27, 80: 08-17 04:00:00 - 08-17 04:30:00 @ 26.33, 81: 08-17 04:30:00 - 08-17 05:00:00 @ 26.37, 82: 08-17 05:00:00 - 08-17 05:30:00 @ 26.23, 83: 08-17 05:30:00 - 08-17 06:00:00 @ 26.07, 84: 08-17 06:00:00 - 08-17 06:30:00 @ 25.99, 85: 08-17 06:30:00 - 08-17 07:00:00 @ 25.92, 86: 08-17 07:00:00 - 08-17 07:30:00 @ 25.64, 87: 08-17 07:30:00 - 08-17 08:00:00 @ 25.39, 88: 08-17 08:00:00 - 08-17 08:30:00 @ 24.84, 89: 08-17 08:30:00 - 08-17 09:00:00 @ 24.28, 90: 08-17 09:00:00 - 08-17 09:30:00 @ 24.26, 91: 08-17 09:30:00 - 08-17 10:00:00 @ 24.22, 92: 08-17 10:00:00 - 08-17 10:30:00 @ 24.8, 93: 08-17 10:30:00 - 08-17 11:00:00 @ 25.37, 94: 08-17 11:00:00 - 08-17 11:30:00 @ 24.71, 95: 08-17 11:30:00 - 08-17 12:00:00 @ 24.02]
2026-08-15 11:50:03.725607: Include original charge start 08-15 10:30:00, keeping this instead of new start 08-15 11:30:00
2026-08-15 11:50:03.725766: Inverter 0 Charge window will be: 2026-08-15 10:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 18%, target 25%
2026-08-15 11:50:03.726048: Inverter 0 Target SoC 25%, (this inverter 25%), battery temperature 20°C, select charge rate 5000W (real 5000W), current charge rate 5000W
2026-08-15 11:50:03.726316: Adjust idle time, charge 10:30:00-16:00:00 discharge 00:00:00-00:00:00
2026-08-15 11:50:03.726573: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 11:50:03.726677: No export window planned
2026-08-15 11:50:03.726794: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 11:50:03.726830: Adjust idle time, charge 10:30:00-16:00:00 discharge 00:00:00-00:00:00
2026-08-15 11:50:03.726964: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 11:50:03.727081: Inverter 0 setting charging SoC to 25% as per target
2026-08-15 11:50:03.727145: Inverter 0 adjust target SoC for charge to 25% (4.0kWh/16.0kWh 16.0kWh) based on going from 18% -> 25% total add is 1.14kWh and this battery needs to add 1.14kWh to get to 4.0kWh
2026-08-15 11:50:03.727215: Inverter 0 Current Target SoC is 25%, already at target
2026-08-15 11:50:03.727351: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:50:03.727398: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:50:03.727426: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:50:03.727456: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:50:03.727481: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:50:03.727529: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:50:03.727555: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:50:03.727599: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 11:50:03.727636: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 11:50:03.727673: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 11:50:03.727701: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 11:50:03.727735: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 11:50:03.727766: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 11:50:03.727791: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 11:50:03.727853: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:50:03.727888: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:50:03.727913: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:50:03.727937: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:50:03.727962: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:50:03.727985: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:50:03.728013: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:50:03.728035: Inverter 0 count register writes 0
2026-08-15 11:50:03.745509: Will not recompute the plan, it is 5.0 minutes old and max age is 10 minutes
2026-08-15 11:50:03.751990: Total inverter register writes now 819
2026-08-15 11:50:03.791577: Info: Completed run status Charging
2026-08-15 11:50:03.798457: Info: record_status Charging target 18%-25%
2026-08-15 11:50:03.805305: Saved current settings to /config/predbat_config.json
2026-08-15 11:50:03.805675: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 11:50:41.916409: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 11:50:41.916714: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 11:50:41.916780: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 11:50:41.916940: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 11:50:41.917076: Note: Inverter does not support discharge freeze - disabled
2026-08-15 11:50:41.917101: Note: Inverter does not support charge freeze - disabled
2026-08-15 11:50:41.917119: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 11:52:42.127990: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 11:52:42.128383: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 11:52:42.128449: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 11:52:42.128719: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 11:52:42.128775: Note: Inverter does not support discharge freeze - disabled
2026-08-15 11:52:42.128816: Note: Inverter does not support charge freeze - disabled
2026-08-15 11:52:42.128850: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 11:54:42.355931: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 11:54:42.356180: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 11:54:42.356212: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 11:54:42.356372: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 11:54:42.356405: Note: Inverter does not support discharge freeze - disabled
2026-08-15 11:54:42.356440: Note: Inverter does not support charge freeze - disabled
2026-08-15 11:54:42.356454: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 11:55:00.465786: --------------- PredBat - update at 2026-08-15 11:55:00+01:00 with clock skew 0 minutes, minutes now 715
2026-08-15 11:55:00.466556: Saved current settings to /config/predbat_config.json
2026-08-15 11:55:00.466716: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 100.0 minutes
2026-08-15 11:55:00.466863: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.1, latest beta is v8.48.1
2026-08-15 11:55:00.466977: Autoupdate: Currently up to date
2026-08-15 11:55:00.493911: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 11:55:00.494127: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 11:55:00.494370: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 11:55:00.494913: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 11:55:00.495033: Predbat mode is set to Control charge & discharge
2026-08-15 11:55:00.690531: Found 21602 load_today datapoints going back 28 days
2026-08-15 11:55:00.690674: Using load_power data to fill gaps in load_today data
2026-08-15 11:55:01.534647: Processing 721 30-minute periods for power integration
2026-08-15 11:55:01.728596: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 11:55:01.728757: Car charging hold False, threshold 6.0kWh
2026-08-15 11:55:01.728807: Current data so far today: load 7.35kWh, import 10.0kWh, export 0.0kWh, PV 0kWh
2026-08-15 11:55:01.743738: Cars: SoC: [11.72]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 11:55:01.744226: Standing charge is set to 49.98p
2026-08-15 11:55:01.800698: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 11:55:01.800808: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 11:55:01.801140: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 75.0 minutes
2026-08-15 11:55:01.801596: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 75.0 minutes
2026-08-15 11:55:01.807826: Loaded 95 datapoints of futurerate analysis
2026-08-15 11:55:01.909200: Predicted future rates: ['08-15 00:00:00 => 28.9 / 20.01', '08-15 01:00:00 => 27.54 / 19.31', '08-15 02:00:00 => 26.52 / 18.8', '08-15 03:00:00 => 25.99 / 18.53', '08-15 04:00:00 => 25.8 / 18.43', '08-15 05:00:00 => 25.96 / 18.51', '08-15 06:00:00 => 25.55 / 18.3', '08-15 07:00:00 => 24.33 / 17.68', '08-15 08:00:00 => 23.03 / 17.01', '08-15 09:00:00 => 22.05 / 16.51', '08-15 10:00:00 => 20.43 / 15.68', '08-15 11:00:00 => 18.01 / 14.45', '08-15 12:00:00 => 16.37 / 13.61', '08-15 13:00:00 => 15.76 / 13.3', '08-15 14:00:00 => 15.35 / 13.09', '08-15 15:00:00 => 15.86 / 13.35', '08-15 16:00:00 => 32.89 / 16.13', '08-15 17:00:00 => 38.02 / 18.75', '08-15 18:00:00 => 42.36 / 20.96', '08-15 19:00:00 => 31.09 / 21.13', '08-15 20:00:00 => 31.64 / 21.41', '08-15 21:00:00 => 31.64 / 21.41', '08-15 22:00:00 => 30.58 / 20.87', '08-15 23:00:00 => 29.37 / 20.25', '08-16 00:00:00 => 28.83 / 19.97', '08-16 01:00:00 => 27.73 / 19.41', '08-16 02:00:00 => 26.76 / 18.92', '08-16 03:00:00 => 26.39 / 18.73', '08-16 04:00:00 => 26.33 / 18.7', '08-16 05:00:00 => 26.23 / 18.65', '08-16 06:00:00 => 25.99 / 18.53', '08-16 07:00:00 => 25.64 / 18.35', '08-16 08:00:00 => 24.84 / 17.94', '08-16 09:00:00 => 24.26 / 17.64', '08-16 10:00:00 => 24.8 / 17.92']
2026-08-15 11:55:01.971790: Rate min forward looking: now 13.77p at end of forecast 21.29p
2026-08-15 11:55:01.972220: Import rates: min 13.77p, max 46.05p, average 27.74p
2026-08-15 11:55:02.017493: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 11:55:02.017626: Rate thresholds (for charge/export) are import 45.55p (0.0p), export -0.1p (0.0p)
2026-08-15 11:55:02.018911: High export rate found rates in range 99p to -99p
2026-08-15 11:55:02.113921: Low Import rate found rates in range 13.77p to 44.19p
2026-08-15 11:55:02.114458: Car 0 charging is not planned as it is not plugged in
2026-08-15 11:55:02.128243: Battery level now 2.86kWh, -1hr ago 2.06kWh, at midnight 1.66kWh, battery value change in the last hour 9.37p, change today 14.19p, rate_forward 11.83p
2026-08-15 11:55:02.128654: Last hour: net energy 1.4kWh, import 1.4kWh, export 0.0kWh, car 0kWh, load 0.35kWh, net cost 22.15p, import 22.15p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 11:55:02.183413: Today's energy total net 10.0kWh, import 10.0kWh, export 0.0kWh, cost 292.27p, import 242.29p, export 0.0p, carbon 0.0kg
2026-08-15 11:55:02.183567: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 11:55:02.267827: Using weighted-bucket historical load forecast over 14 days
2026-08-15 11:55:02.297755: Today's load divergence 101.98%, in-day adjustment 122.97%, damping 0.95x, yesterday 143.77% today 101.88% blend 50.35%
2026-08-15 11:55:02.298017: Today's predicted so far 7.0kWh with 0.0kWh car/iBoost excluded, 4.59kWh import ignored, and 7.0kWh forecast extra.
2026-08-15 11:55:02.298076: Today's actual load so far 7.31kWh with 0.0kWh car/iBoost excluded, and 4.59kWh import ignored.
2026-08-15 11:55:02.332741: Inverter 0: Type SK Sunsynk
2026-08-15 11:55:02.332836: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 11:55:02.333107: Reserve min: 7%, battery_min: 7%
2026-08-15 11:55:02.333195: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 11:55:02.333502: Inverter 0 SoC: 3.22kW 20%, current charge rate 5000W, current discharge rate 5250W, current battery power -4513W, current battery voltage 51.2V, grid power -5274W, load power 278W, PV Power 0W
2026-08-15 11:55:02.333659: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 11:55:02.333747: Inverter 0 scheduled charge enable is True
2026-08-15 11:55:02.333790: Inverter 0 charge windows currently [{'start': 630, 'end': 960, 'average': 0}, {'start': 2070, 'end': 2400, 'average': 0}, {'start': 3510, 'end': 3840, 'average': 0}]
2026-08-15 11:55:02.333898: Inverter 0 Charge settings: 08-15 10:30:00-08-15 16:00:00, limit 25.0%, power 5.0kW
2026-08-15 11:55:02.334011: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 11:55:02.334049: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 11:55:02.334126: Inverter 0 scheduled discharge enable is False
2026-08-15 11:55:02.334255: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 11:55:02.334291: Inverter 0 discharge windows currently []
2026-08-15 11:55:02.334313: Note: Inverter does not support discharge freeze - disabled
2026-08-15 11:55:02.334333: Note: Inverter does not support charge freeze - disabled
2026-08-15 11:55:02.334356: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 11:55:02.395440: Dynamic load last period 0.30kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 11:55:02.395551: Plan was last updated on 2026-08-15 11:45:00+01:00 and is now 10.0 minutes old
2026-08-15 11:55:02.395789: Best charge window [ 15-08 11:30:00 - 15-08 13:00:00 @ 16.29p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 12:00:00 - 16-08 18:30:00 @ 41.93p 100%, 16-08 19:00:00 - 17-08 12:00:00 @ 24.43p 100% ]
2026-08-15 11:55:02.395832: Best export window [  ]
2026-08-15 11:55:02.396674: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 11:55:02.399842: Load divergence over 8.0 hours mean 592.31W, min 291.6W, max 1838.4W, std dev 307.01W, divergence 25.92%
2026-08-15 11:55:02.419402: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 11:55:02.419540: LoadML is_calculating False
2026-08-15 11:55:02.419608: Creating pool of 12 processes to match your CPU count
2026-08-15 11:55:02.547378: predict base end_record 08-16 12:10:00, final soc 4.0kWh, metric 815.08p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 19:45:00, load 25.32kWh, PV 0.0kWh
2026-08-15 11:55:02.717597: Battery has 7.83 hours left - now at 3.22kWh
2026-08-15 11:55:02.778619: predict base10 end_record 08-16 12:10:00, final soc 4.0kWh, metric 837.28p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 19:35:00, load 26.18kWh, PV 0.0kWh
2026-08-15 11:55:02.897548: predict best10 end_record 08-16 12:10:00, final soc 1.77kWh, metric 658.13p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 10:20:00, load 26.18kWh, PV 0.0kWh
2026-08-15 11:55:03.019040: predict best end_record 08-16 12:10:00, final soc 1.9kWh, metric 637.28p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 11:30:00, load 25.32kWh, PV 0.0kWh
2026-08-15 11:55:03.019359: Saving plan best values to HA entities
2026-08-15 11:55:03.192898: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0
2026-08-15 11:55:03.198615: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 11:55:03.203773: Best charging limit SoC's [4.0, 16.0, 16.0, 16.0]kWh, export []kWh gives import battery 18.19kWh, house 0.48kWh, export 0.0kWh, metric 637.28p, metric10 658.13p
2026-08-15 11:55:03.275809: Marginal costs baseline metric (no standing charge): 587.2982
2026-08-15 11:55:03.519394: Marginal energy costs matrix computed: min=14.33 max=33.95
2026-08-15 11:55:03.592437: Rate array import [{'start': 715, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 17.0p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1950, 'rate': 'expensive', 'range': '(24.8p - 32.9p)'}, {'start': 1950, 'end': 2040, 'rate': 'cheap', 'range': '(24.2p - 24.3p)'}, {'start': 2040, 'end': 2130, 'rate': 'expensive', 'range': '(24.7p - 25.4p)'}, {'start': 2130, 'end': 2170, 'rate': 'cheap', 'range': '(23.8p - 24.0p)'}] export [{'start': 715, 'end': 2170, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 11:55:03.592905: - Your estimated bill for today is £5.52 and tomorrow is £6.80
2026-08-15 11:55:03.592989: - Import rates are cheap (13.8p - 17.0p) for the next 4 hours and then expensive (33.1p) for the next 1 hour.
2026-08-15 11:55:03.593018: - The battery is currently at 20% and is charging to 25% for the next 1 hour.
2026-08-15 11:55:03.593036: - For the next 48 hours there will be no solar generation.
2026-08-15 11:55:03.593072: - You will run out of battery in 23 hours.
2026-08-15 11:55:03.593092: 
2026-08-15 11:55:03.645700: Plan calculation took 1.25 seconds
2026-08-15 11:55:03.649440: No high rate period found
2026-08-15 11:55:03.698277: Import threshold used for optimisation was 24.28p
2026-08-15 11:55:03.750108: Low import rate windows [0: 08-15 11:30:00 - 08-15 12:00:00 @ 15.46, 1: 08-15 12:00:00 - 08-15 12:30:00 @ 17.0, 2: 08-15 12:30:00 - 08-15 13:00:00 @ 16.34, 3: 08-15 13:00:00 - 08-15 13:30:00 @ 15.36, 4: 08-15 13:30:00 - 08-15 14:00:00 @ 15.74, 5: 08-15 14:00:00 - 08-15 14:30:00 @ 14.57, 6: 08-15 14:30:00 - 08-15 15:00:00 @ 13.77, 7: 08-15 15:00:00 - 08-15 15:30:00 @ 15.02, 8: 08-15 15:30:00 - 08-15 16:00:00 @ 15.87, 9: 08-15 16:00:00 - 08-15 16:30:00 @ 33.13, 10: 08-15 16:30:00 - 08-15 17:00:00 @ 33.13, 11: 08-15 17:00:00 - 08-15 17:30:00 @ 38.46, 12: 08-15 17:30:00 - 08-15 18:00:00 @ 40.44, 13: 08-15 18:00:00 - 08-15 18:30:00 @ 41.55, 14: 08-15 18:30:00 - 08-15 19:00:00 @ 43.82, 15: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 16: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 17: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 18: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 19: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 20: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 21: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 22: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 23: 08-15 23:00:00 - 08-15 23:30:00 @ 29.37, 24: 08-15 23:30:00 - 08-16 00:00:00 @ 29.2, 25: 08-16 00:00:00 - 08-16 00:30:00 @ 28.83, 26: 08-16 00:30:00 - 08-16 01:00:00 @ 28.46, 27: 08-16 01:00:00 - 08-16 01:30:00 @ 27.73, 28: 08-16 01:30:00 - 08-16 02:00:00 @ 27.01, 29: 08-16 02:00:00 - 08-16 02:30:00 @ 26.76, 30: 08-16 02:30:00 - 08-16 03:00:00 @ 26.48, 31: 08-16 03:00:00 - 08-16 03:30:00 @ 26.39, 32: 08-16 03:30:00 - 08-16 04:00:00 @ 26.27, 33: 08-16 04:00:00 - 08-16 04:30:00 @ 26.33, 34: 08-16 04:30:00 - 08-16 05:00:00 @ 26.37, 35: 08-16 05:00:00 - 08-16 05:30:00 @ 26.23, 36: 08-16 05:30:00 - 08-16 06:00:00 @ 26.07, 37: 08-16 06:00:00 - 08-16 06:30:00 @ 25.99, 38: 08-16 06:30:00 - 08-16 07:00:00 @ 25.92, 39: 08-16 07:00:00 - 08-16 07:30:00 @ 25.64, 40: 08-16 07:30:00 - 08-16 08:00:00 @ 25.39, 41: 08-16 08:00:00 - 08-16 08:30:00 @ 24.84, 42: 08-16 08:30:00 - 08-16 09:00:00 @ 24.28, 43: 08-16 09:00:00 - 08-16 09:30:00 @ 24.26, 44: 08-16 09:30:00 - 08-16 10:00:00 @ 24.22, 45: 08-16 10:00:00 - 08-16 10:30:00 @ 24.8, 46: 08-16 10:30:00 - 08-16 11:00:00 @ 25.37, 47: 08-16 11:00:00 - 08-16 11:30:00 @ 24.71, 48: 08-16 11:30:00 - 08-16 12:00:00 @ 24.02, 49: 08-16 12:00:00 - 08-16 12:30:00 @ 23.79, 50: 08-16 12:30:00 - 08-16 13:00:00 @ 23.55, 51: 08-16 13:00:00 - 08-16 13:30:00 @ 23.14, 52: 08-16 13:30:00 - 08-16 14:00:00 @ 22.71, 53: 08-16 14:00:00 - 08-16 14:30:00 @ 22.01, 54: 08-16 14:30:00 - 08-16 15:00:00 @ 21.29, 55: 08-16 15:00:00 - 08-16 15:30:00 @ 22.01, 56: 08-16 15:30:00 - 08-16 16:00:00 @ 22.71, 57: 08-16 16:00:00 - 08-16 16:30:00 @ 37.14, 58: 08-16 16:30:00 - 08-16 17:00:00 @ 37.91, 59: 08-16 17:00:00 - 08-16 17:30:00 @ 40.13, 60: 08-16 17:30:00 - 08-16 18:00:00 @ 42.36, 61: 08-16 18:00:00 - 08-16 18:30:00 @ 44.19, 62: 08-16 19:00:00 - 08-16 19:30:00 @ 33.04, 63: 08-16 19:30:00 - 08-16 20:00:00 @ 33.71, 64: 08-16 20:00:00 - 08-16 20:30:00 @ 33.83, 65: 08-16 20:30:00 - 08-16 21:00:00 @ 33.94, 66: 08-16 21:00:00 - 08-16 21:30:00 @ 33.73, 67: 08-16 21:30:00 - 08-16 22:00:00 @ 33.53, 68: 08-16 22:00:00 - 08-16 22:30:00 @ 32.36, 69: 08-16 22:30:00 - 08-16 23:00:00 @ 31.17, 70: 08-16 23:00:00 - 08-16 23:30:00 @ 29.37, 71: 08-16 23:30:00 - 08-17 00:00:00 @ 29.2, 72: 08-17 00:00:00 - 08-17 00:30:00 @ 28.83, 73: 08-17 00:30:00 - 08-17 01:00:00 @ 28.46, 74: 08-17 01:00:00 - 08-17 01:30:00 @ 27.73, 75: 08-17 01:30:00 - 08-17 02:00:00 @ 27.01, 76: 08-17 02:00:00 - 08-17 02:30:00 @ 26.76, 77: 08-17 02:30:00 - 08-17 03:00:00 @ 26.48, 78: 08-17 03:00:00 - 08-17 03:30:00 @ 26.39, 79: 08-17 03:30:00 - 08-17 04:00:00 @ 26.27, 80: 08-17 04:00:00 - 08-17 04:30:00 @ 26.33, 81: 08-17 04:30:00 - 08-17 05:00:00 @ 26.37, 82: 08-17 05:00:00 - 08-17 05:30:00 @ 26.23, 83: 08-17 05:30:00 - 08-17 06:00:00 @ 26.07, 84: 08-17 06:00:00 - 08-17 06:30:00 @ 25.99, 85: 08-17 06:30:00 - 08-17 07:00:00 @ 25.92, 86: 08-17 07:00:00 - 08-17 07:30:00 @ 25.64, 87: 08-17 07:30:00 - 08-17 08:00:00 @ 25.39, 88: 08-17 08:00:00 - 08-17 08:30:00 @ 24.84, 89: 08-17 08:30:00 - 08-17 09:00:00 @ 24.28, 90: 08-17 09:00:00 - 08-17 09:30:00 @ 24.26, 91: 08-17 09:30:00 - 08-17 10:00:00 @ 24.22, 92: 08-17 10:00:00 - 08-17 10:30:00 @ 24.8, 93: 08-17 10:30:00 - 08-17 11:00:00 @ 25.37, 94: 08-17 11:00:00 - 08-17 11:30:00 @ 24.71, 95: 08-17 11:30:00 - 08-17 12:00:00 @ 24.02]
2026-08-15 11:55:03.769388: Include original charge start 08-15 10:30:00, keeping this instead of new start 08-15 11:30:00
2026-08-15 11:55:03.769519: Inverter 0 Charge window will be: 2026-08-15 10:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 20%, target 25%
2026-08-15 11:55:03.769702: Inverter 0 Target SoC 25%, (this inverter 25%), battery temperature 20°C, select charge rate 5000W (real 5000W), current charge rate 5000W
2026-08-15 11:55:03.769939: Adjust idle time, charge 10:30:00-16:00:00 discharge 00:00:00-00:00:00
2026-08-15 11:55:03.770290: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 11:55:03.770403: No export window planned
2026-08-15 11:55:03.770604: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 11:55:03.770646: Adjust idle time, charge 10:30:00-16:00:00 discharge 00:00:00-00:00:00
2026-08-15 11:55:03.770773: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 11:55:03.770880: Inverter 0 setting charging SoC to 25% as per target
2026-08-15 11:55:03.770937: Inverter 0 adjust target SoC for charge to 25% (4.0kWh/16.0kWh 16.0kWh) based on going from 20% -> 25% total add is 0.78kWh and this battery needs to add 0.78kWh to get to 4.0kWh
2026-08-15 11:55:03.770993: Inverter 0 Current Target SoC is 25%, already at target
2026-08-15 11:55:03.771107: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:55:03.771172: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:55:03.771217: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:55:03.771267: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:55:03.771312: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:55:03.771365: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:55:03.771410: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:55:03.771469: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 11:55:03.771499: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 11:55:03.771522: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 11:55:03.771548: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 11:55:03.771596: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 11:55:03.771618: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 11:55:03.771643: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 11:55:03.771700: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:55:03.771731: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:55:03.771751: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:55:03.771772: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:55:03.771797: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:55:03.771816: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:55:03.771836: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:55:03.771858: Inverter 0 count register writes 0
2026-08-15 11:55:03.788648: Will recompute the plan as it is now 10.0 minutes old and will exceed the max age of 10 minutes before the next run
2026-08-15 11:55:03.788815: Recompute is saving previous plan...
2026-08-15 11:55:03.791423: Best charge window [ 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 25%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 25%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 13:30:00 @ 15.36p 25%, 15-08 13:30:00 - 15-08 14:00:00 @ 15.74p 25%, 15-08 14:00:00 - 15-08 14:30:00 @ 14.57p 25%, 15-08 14:30:00 - 15-08 15:00:00 @ 13.77p 25%, 15-08 15:00:00 - 15-08 15:30:00 @ 15.02p 25%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 25%, 15-08 16:00:00 - 15-08 16:30:00 @ 33.13p 25%, 15-08 16:30:00 - 15-08 17:00:00 @ 33.13p 25%, 15-08 17:00:00 - 15-08 17:30:00 @ 38.46p 25%, 15-08 17:30:00 - 15-08 18:00:00 @ 40.44p 25%, 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 25%, 15-08 18:30:00 - 15-08 19:00:00 @ 43.82p 25%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 25%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 25%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 25%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 25%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 25%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 25%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 25%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 25%, 15-08 23:00:00 - 15-08 23:30:00 @ 29.37p 25%, 15-08 23:30:00 - 16-08 00:00:00 @ 29.2p 25%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.83p 25%, 16-08 00:30:00 - 16-08 01:00:00 @ 28.46p 25%, 16-08 01:00:00 - 16-08 01:30:00 @ 27.73p 25%, 16-08 01:30:00 - 16-08 02:00:00 @ 27.01p 25%, 16-08 02:00:00 - 16-08 02:30:00 @ 26.76p 25%, 16-08 02:30:00 - 16-08 03:00:00 @ 26.48p 25%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.39p 25%, 16-08 03:30:00 - 16-08 04:00:00 @ 26.27p 25%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.33p 25%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.37p 25%, 16-08 05:00:00 - 16-08 05:30:00 @ 26.23p 25%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.07p 25%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.99p 25%, 16-08 06:30:00 - 16-08 07:00:00 @ 25.92p 25%, 16-08 07:00:00 - 16-08 07:30:00 @ 25.64p 25%, 16-08 07:30:00 - 16-08 08:00:00 @ 25.39p 25%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.84p 25%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.28p 25%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.26p 25%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.22p 25%, 16-08 10:00:00 - 16-08 10:30:00 @ 24.8p 25%, 16-08 10:30:00 - 16-08 11:00:00 @ 25.37p 25%, 16-08 11:00:00 - 16-08 11:30:00 @ 24.71p 25%, 16-08 11:30:00 - 16-08 12:00:00 @ 24.02p 25%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.79p 25%, 16-08 12:30:00 - 16-08 13:00:00 @ 23.55p 25%, 16-08 13:00:00 - 16-08 13:30:00 @ 23.14p 25%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.71p 25%, 16-08 14:00:00 - 16-08 14:30:00 @ 22.01p 25%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.29p 25%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.01p 25%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.71p 25%, 16-08 16:00:00 - 16-08 16:30:00 @ 37.14p 25%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.91p 25%, 16-08 17:00:00 - 16-08 17:30:00 @ 40.13p 25%, 16-08 17:30:00 - 16-08 18:00:00 @ 42.36p 25%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.19p 25%, 16-08 19:00:00 - 16-08 19:30:00 @ 33.04p 25%, 16-08 19:30:00 - 16-08 20:00:00 @ 33.71p 25%, 16-08 20:00:00 - 16-08 20:30:00 @ 33.83p 25%, 16-08 20:30:00 - 16-08 21:00:00 @ 33.94p 25%, 16-08 21:00:00 - 16-08 21:30:00 @ 33.73p 25%, 16-08 21:30:00 - 16-08 22:00:00 @ 33.53p 25%, 16-08 22:00:00 - 16-08 22:30:00 @ 32.36p 25%, 16-08 22:30:00 - 16-08 23:00:00 @ 31.17p 25%, 16-08 23:00:00 - 16-08 23:30:00 @ 29.37p 25%, 16-08 23:30:00 - 17-08 00:00:00 @ 29.2p 25%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.83p 25%, 17-08 00:30:00 - 17-08 01:00:00 @ 28.46p 25%, 17-08 01:00:00 - 17-08 01:30:00 @ 27.73p 25%, 17-08 01:30:00 - 17-08 02:00:00 @ 27.01p 25%, 17-08 02:00:00 - 17-08 02:30:00 @ 26.76p 25%, 17-08 02:30:00 - 17-08 03:00:00 @ 26.48p 25%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.39p 25%, 17-08 03:30:00 - 17-08 04:00:00 @ 26.27p 25%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.33p 25%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.37p 25%, 17-08 05:00:00 - 17-08 05:30:00 @ 26.23p 25%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.07p 25%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.99p 25%, 17-08 06:30:00 - 17-08 07:00:00 @ 25.92p 25%, 17-08 07:00:00 - 17-08 07:30:00 @ 25.64p 25%, 17-08 07:30:00 - 17-08 08:00:00 @ 25.39p 25%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.84p 25%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.28p 25%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.26p 25%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.22p 25%, 17-08 10:00:00 - 17-08 10:30:00 @ 24.8p 25%, 17-08 10:30:00 - 17-08 11:00:00 @ 25.37p 25%, 17-08 11:00:00 - 17-08 11:30:00 @ 24.71p 25%, 17-08 11:30:00 - 17-08 12:00:00 @ 24.02p 25% ]
2026-08-15 11:55:03.791498: Best export window [  ]
2026-08-15 11:55:03.792217: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 11:55:03.794747: Load divergence over 8.0 hours mean 592.31W, min 291.6W, max 1838.4W, std dev 307.01W, divergence 25.92%
2026-08-15 11:55:03.809240: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 11:55:03.809351: LoadML is_calculating False
2026-08-15 11:55:03.809410: Creating pool of 12 processes to match your CPU count
2026-08-15 11:55:03.901265: Calculate Best options: mode(Control charge & discharge), calculate_export_oncharge(False), calculate_export_on_pv(True), set_export_freeze_only(False), set_discharge_during_charge(True), combine_charge_slots(False), combine_export_slots(False), combine_rate_threshold(0.0), best_soc_min(0.0 kWh), best_soc_max(0.0 kWh), best_soc_keep(0.0 kWh), inverter_loss(4%), battery_loss(3%), battery_loss_discharge (3%), inverter_hybrid(True), metric_min_improvement(0.0p), metric_min_improvement_export(0.1p), metric_min_improvement_export_freeze(0.1p), metric_battery_cycle(0.0p/kWh), metric_battery_value_scaling(1.0 x) 
2026-08-15 11:55:03.903205: Optimise levels pass started at 2026-08-15 11:55:03
2026-08-15 11:55:03.903267: Optimise all windows, total charge 95 export 1
2026-08-15 11:55:04.949521: >> Region optimisation pass width 960 gives best_metric 942.2p, best_cost 956.5p, best_cycle 47.33kWh, best_import 34.79kWh
2026-08-15 11:55:05.373545: >> Region optimisation pass width 480 gives best_metric 941.84p, best_cost 955.63p, best_cycle 48.47kWh, best_import 34.87kWh
2026-08-15 11:55:05.885794: >> Region optimisation pass width 240 gives best_metric 942.36p, best_cost 956.51p, best_cycle 47.56kWh, best_import 34.81kWh
2026-08-15 11:55:06.885735: >> Region optimisation pass width 120 gives best_metric 942.36p, best_cost 956.51p, best_cycle 47.56kWh, best_import 34.81kWh
2026-08-15 11:55:06.886110: Calculated end_record as 08-16 12:30:00 based on best_price 22.71p, next_charge_start 08-15 12:30:00, max_windows 50
2026-08-15 11:55:06.886176: Optimise levels pass ended at 2026-08-15 11:55:06, duration 3.0 seconds tried 320 combinations
2026-08-15 11:55:06.886228: Set best_price_charge_level 24.4p, best_price_export_level 0p, best_price_charge 22.71p, best_cost_export 0p, best_metric 942.36p, best_keep 0kWh, best_cycle 47.56kWh, best_carbon 0kg, best_import 34.81kWh
2026-08-15 11:55:06.904122: Starting detailed optimisation end_record 08-16 12:30:00, best_price_charge 22.71p, best_price_export 0p. lowest_price_charge 13.77p with charge limits [0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0]kWh and export limits []kWh
2026-08-15 11:55:10.991649: Tweak plan optimisation started metric 556.87p, cost 573.8p
2026-08-15 11:55:11.303342: Tweak optimisation finished metric 556.87p, cost 573.8p, metric_keep 0kWh, cycle 27.6kWh, carbon 0kg, import 18.1kWh, changed 8 window(s)
2026-08-15 11:55:11.322875: Swap charge optimisation started metric 556.87p, cost 573.8p, min_improvement_swap 0.1p
2026-08-15 11:55:14.994701: Swap charge optimisation finished metric 556.87p, cost 573.8p
2026-08-15 11:55:15.107021: Pruned 3 dead plan slot(s) in 12 trial(s), nominal metric 553.31p -> 553.31p, plan now metric 556.96p, cost 573.8p, cycle 27.6kWh, import 18.1kWh
2026-08-15 11:55:15.116738: Raw charge windows [ 15-08 11:30:00 - 15-08 12:00:00 @ 15.46p 19%, 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 19%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 13:30:00 @ 15.36p 100%, 15-08 13:30:00 - 15-08 14:00:00 @ 15.74p 100%, 15-08 14:00:00 - 15-08 14:30:00 @ 14.57p 100%, 15-08 14:30:00 - 15-08 15:00:00 @ 13.77p 100%, 15-08 15:00:00 - 15-08 15:30:00 @ 15.02p 100%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 100%, 15-08 16:00:00 - 15-08 16:30:00 @ 33.13p 0%, 15-08 16:30:00 - 15-08 17:00:00 @ 33.13p 0%, 15-08 17:00:00 - 15-08 17:30:00 @ 38.46p 0%, 15-08 17:30:00 - 15-08 18:00:00 @ 40.44p 0%, 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 0%, 15-08 18:30:00 - 15-08 19:00:00 @ 43.82p 0%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 0%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 0%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 0%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 0%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 29.37p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 29.2p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.83p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 28.46p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 27.73p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 27.01p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 26.76p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 26.48p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.39p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 26.27p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.33p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.37p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 26.23p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.07p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.99p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 25.92p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 25.64p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 25.39p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.84p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.28p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.26p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.22p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 24.8p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 25.37p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 24.71p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 24.02p 0%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.79p 0%, 16-08 12:30:00 - 16-08 13:00:00 @ 23.55p 100%, 16-08 13:00:00 - 16-08 13:30:00 @ 23.14p 100%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.71p 100%, 16-08 14:00:00 - 16-08 14:30:00 @ 22.01p 100%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.29p 100%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.01p 100%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.71p 100%, 16-08 16:00:00 - 16-08 16:30:00 @ 37.14p 100%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.91p 100%, 16-08 17:00:00 - 16-08 17:30:00 @ 40.13p 100%, 16-08 17:30:00 - 16-08 18:00:00 @ 42.36p 100%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.19p 100%, 16-08 19:00:00 - 16-08 19:30:00 @ 33.04p 100%, 16-08 19:30:00 - 16-08 20:00:00 @ 33.71p 100%, 16-08 20:00:00 - 16-08 20:30:00 @ 33.83p 100%, 16-08 20:30:00 - 16-08 21:00:00 @ 33.94p 100%, 16-08 21:00:00 - 16-08 21:30:00 @ 33.73p 100%, 16-08 21:30:00 - 16-08 22:00:00 @ 33.53p 100%, 16-08 22:00:00 - 16-08 22:30:00 @ 32.36p 100%, 16-08 22:30:00 - 16-08 23:00:00 @ 31.17p 100%, 16-08 23:00:00 - 16-08 23:30:00 @ 29.37p 100%, 16-08 23:30:00 - 17-08 00:00:00 @ 29.2p 100%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.83p 100%, 17-08 00:30:00 - 17-08 01:00:00 @ 28.46p 100%, 17-08 01:00:00 - 17-08 01:30:00 @ 27.73p 100%, 17-08 01:30:00 - 17-08 02:00:00 @ 27.01p 100%, 17-08 02:00:00 - 17-08 02:30:00 @ 26.76p 100%, 17-08 02:30:00 - 17-08 03:00:00 @ 26.48p 100%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.39p 100%, 17-08 03:30:00 - 17-08 04:00:00 @ 26.27p 100%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.33p 100%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.37p 100%, 17-08 05:00:00 - 17-08 05:30:00 @ 26.23p 100%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.07p 100%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.99p 100%, 17-08 06:30:00 - 17-08 07:00:00 @ 25.92p 100%, 17-08 07:00:00 - 17-08 07:30:00 @ 25.64p 100%, 17-08 07:30:00 - 17-08 08:00:00 @ 25.39p 100%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.84p 100%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.28p 100%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.26p 100%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.22p 100%, 17-08 10:00:00 - 17-08 10:30:00 @ 24.8p 100%, 17-08 10:30:00 - 17-08 11:00:00 @ 25.37p 100%, 17-08 11:00:00 - 17-08 11:30:00 @ 24.71p 100%, 17-08 11:30:00 - 17-08 12:00:00 @ 24.02p 100% ] reserve 1.12
2026-08-15 11:55:15.117316: Unclipped charge windows [ 15-08 11:30:00 - 15-08 12:30:00 @ 16.23p 19%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 12:30:00 - 16-08 18:30:00 @ 41.93p 100%, 16-08 19:00:00 - 17-08 12:00:00 @ 24.43p 100% ] reserve 1.12
2026-08-15 11:55:15.117551: Unfiltered charge windows [ 15-08 11:30:00 - 15-08 12:30:00 @ 16.23p 19%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 12:30:00 - 16-08 18:30:00 @ 41.93p 100%, 16-08 19:00:00 - 17-08 12:00:00 @ 24.43p 100% ] reserve 1.12
2026-08-15 11:55:15.117749: Filtered charge windows [ 15-08 11:30:00 - 15-08 12:30:00 @ 16.23p 19%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 12:30:00 - 16-08 18:30:00 @ 41.93p 100%, 16-08 19:00:00 - 17-08 12:00:00 @ 24.43p 100% ] reserve 1.12
2026-08-15 11:55:15.147726: Previous plan best metric is 573.27 (cost 633.18) and new plan best metric is 556.87 (cost 573.8)
2026-08-15 11:55:15.147929: New plan metric is significantly better from previous plan, using new plan
2026-08-15 11:55:15.147992: Plan valid is now true after recompute was False
2026-08-15 11:55:15.171736: predict base end_record 08-16 12:30:00, final soc 4.0kWh, metric 821.31p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 19:45:00, load 25.59kWh, PV 0.0kWh
2026-08-15 11:55:15.275571: Battery has 7.83 hours left - now at 3.22kWh
2026-08-15 11:55:15.312716: predict base10 end_record 08-16 12:30:00, final soc 4.0kWh, metric 843.81p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 19:35:00, load 26.46kWh, PV 0.0kWh
2026-08-15 11:55:15.386318: predict best10 end_record 08-16 12:30:00, final soc 1.12kWh, metric 648.12p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 10:20:00, load 26.46kWh, PV 0.0kWh
2026-08-15 11:55:15.456789: predict best end_record 08-16 12:30:00, final soc 1.12kWh, metric 623.78p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 11:30:00, load 25.59kWh, PV 0.0kWh
2026-08-15 11:55:15.456863: Saving plan best values to HA entities
2026-08-15 11:55:15.608036: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0
2026-08-15 11:55:15.613822: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 11:55:15.619591: Best charging limit SoC's [3.0, 4.0, 16.0, 16.0, 16.0]kWh, export []kWh gives import battery 17.21kWh, house 0.89kWh, export 0.0kWh, metric 623.78p, metric10 648.12p
2026-08-15 11:55:15.686511: Marginal costs baseline metric (no standing charge): 573.7957
2026-08-15 11:55:15.908254: Marginal energy costs matrix computed: min=14.33 max=33.95
2026-08-15 11:55:15.977146: Rate array import [{'start': 715, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 17.0p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1950, 'rate': 'expensive', 'range': '(24.8p - 32.9p)'}, {'start': 1950, 'end': 2040, 'rate': 'cheap', 'range': '(24.2p - 24.3p)'}, {'start': 2040, 'end': 2130, 'rate': 'expensive', 'range': '(24.7p - 25.4p)'}, {'start': 2130, 'end': 2190, 'rate': 'cheap', 'range': '(23.8p - 24.0p)'}] export [{'start': 715, 'end': 2190, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 11:55:15.977552: - Your estimated bill for today is £5.52 and tomorrow is £6.76
2026-08-15 11:55:15.977597: - Import rates are cheap (13.8p - 17.0p) for the next 4 hours and then expensive (33.1p) for the next 1 hour.
2026-08-15 11:55:15.977619: - The battery is currently at 20% and is charging to 19% for the next 35 minutes.
2026-08-15 11:55:15.977638: - For the next 48 hours there will be no solar generation.
2026-08-15 11:55:15.977655: - You will run out of battery in 23 hours.
2026-08-15 11:55:15.977672: 
2026-08-15 11:55:16.034991: Plan calculation took 12.25 seconds
2026-08-15 11:55:16.035589: Inverter 0: Type SK Sunsynk
2026-08-15 11:55:16.035656: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 11:55:16.035892: Reserve min: 7%, battery_min: 7%
2026-08-15 11:55:16.035977: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 11:55:16.036342: Inverter 0 SoC: 3.56kW 22%, current charge rate 5000W, current discharge rate 5250W, current battery power -4515W, current battery voltage 51.2V, grid power -5303W, load power 307W, PV Power 0W
2026-08-15 11:55:16.036586: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 11:55:16.036700: Inverter 0 scheduled charge enable is True
2026-08-15 11:55:16.036758: Inverter 0 charge windows currently [{'start': 630, 'end': 960, 'average': 0}, {'start': 2070, 'end': 2400, 'average': 0}, {'start': 3510, 'end': 3840, 'average': 0}]
2026-08-15 11:55:16.036857: Inverter 0 Charge settings: 08-15 10:30:00-08-15 16:00:00, limit 25.0%, power 5.0kW
2026-08-15 11:55:16.037043: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 11:55:16.037109: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 11:55:16.037152: Inverter 0 scheduled discharge enable is False
2026-08-15 11:55:16.037283: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 11:55:16.037321: Inverter 0 discharge windows currently []
2026-08-15 11:55:16.037345: Note: Inverter does not support discharge freeze - disabled
2026-08-15 11:55:16.037367: Note: Inverter does not support charge freeze - disabled
2026-08-15 11:55:16.037410: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 11:55:16.096049: Include original charge start 08-15 10:30:00, keeping this instead of new start 08-15 11:30:00
2026-08-15 11:55:16.096192: Inverter 0 Charge window will be: 2026-08-15 10:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 22%, target 19%
2026-08-15 11:55:16.096329: Inverter 0 Target SoC 19%, (this inverter 19%), battery temperature 20°C, select charge rate 5000W (real 5000W), current charge rate 5000W
2026-08-15 11:55:16.096405: Inverter 0 Hold charging as SoC 22% is above target SoC 19% (global soc target 19%) set_discharge_during_charge True
2026-08-15 11:55:16.096522: Adjust idle time, charge 10:30:00-16:00:00 discharge 00:00:00-00:00:00
2026-08-15 11:55:16.096805: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 11:55:16.096899: No export window planned
2026-08-15 11:55:16.097136: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 11:55:16.097189: Adjust idle time, charge 10:30:00-16:00:00 discharge 00:00:00-00:00:00
2026-08-15 11:55:16.097338: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 11:55:16.097458: Inverter 0 setting charging SoC to 19% as per target
2026-08-15 11:55:16.097526: Inverter 0 adjust target SoC for charge to 19% (3.04kWh/16.0kWh 16.0kWh) based on going from 22% -> 19% total add is -0.52kWh and this battery needs to add -0.52kWh to get to 3.04kWh
2026-08-15 11:55:16.097579: Inverter 0 Current charge limit is 25% and new target is 19%
2026-08-15 11:55:21.203625: Inverter 0 write_and_poll_value: Wrote 19 to charge_limit, successfully now 19.0
2026-08-15 11:55:21.203911: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:55:21.203990: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:55:21.204021: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:55:21.204067: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:55:21.204098: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:55:21.204130: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:55:21.204160: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:55:21.204240: Inverter 0 Calling service charge_start_service domain charge service_name select/select_option with data {'entity_id': 'select.sunsynk_prog1_charge', 'option': 'Allow Grid & Gen'}
2026-08-15 11:55:21.271480: Inverter 0 Calling service charge_start_service domain charge service_name select/select_option with data {'entity_id': 'select.sunsynk_prog2_charge', 'option': 'Allow Grid & Gen'}
2026-08-15 11:55:21.375501: Inverter 0 Calling service charge_start_service domain charge service_name select/select_option with data {'entity_id': 'select.sunsynk_prog3_charge', 'option': 'Allow Grid & Gen'}
2026-08-15 11:55:21.480079: Inverter 0 Calling service charge_start_service domain charge service_name select/select_option with data {'entity_id': 'select.sunsynk_prog4_charge', 'option': 'Allow Grid & Gen'}
2026-08-15 11:55:21.584367: Inverter 0 Calling service charge_start_service domain charge service_name select/select_option with data {'entity_id': 'select.sunsynk_prog5_charge', 'option': 'Allow Grid & Gen'}
2026-08-15 11:55:21.688123: Inverter 0 Calling service charge_start_service domain charge service_name select/select_option with data {'entity_id': 'select.sunsynk_prog6_charge', 'option': 'Allow Grid & Gen'}
2026-08-15 11:55:21.784297: Inverter 0 Calling service charge_start_service domain charge service_name select/select_option with data {'entity_id': 'select.sunsynk_load_limit', 'option': 'Zero Export'}
2026-08-15 11:55:21.884146: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:55:21.884247: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:55:21.884281: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:55:21.884308: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:55:21.884334: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:55:21.884358: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:55:21.884394: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 11:55:21.884416: Inverter 0 count register writes 1
2026-08-15 11:55:21.916839: Total inverter register writes now 820
2026-08-15 11:55:21.954134: Info: Completed run status Hold charging
2026-08-15 11:55:22.257292: Info: record_status Hold charging target 22%-19%
2026-08-15 11:55:22.264762: Saved current settings to /config/predbat_config.json
2026-08-15 11:55:22.265215: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 11:55:57.379356: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 11:55:57.379712: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 11:55:57.379767: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 11:55:57.379963: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 11:55:57.380011: Note: Inverter does not support discharge freeze - disabled
2026-08-15 11:55:57.380035: Note: Inverter does not support charge freeze - disabled
2026-08-15 11:55:57.380099: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 11:58:11.647865: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 11:58:11.648117: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 11:58:11.648156: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 11:58:11.648270: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 11:58:11.648302: Note: Inverter does not support discharge freeze - disabled
2026-08-15 11:58:11.648318: Note: Inverter does not support charge freeze - disabled
2026-08-15 11:58:11.648333: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 11:58:14.014469: TemperatureAPI: Using coordinates latitude 53.4, longitude -2.2
2026-08-15 11:58:14.179300: TemperatureAPI: Successfully fetched temperature data from Open-Meteo API
2026-08-15 12:00:00.865472: --------------- PredBat - update at 2026-08-15 12:00:00+01:00 with clock skew 0 minutes, minutes now 720
2026-08-15 12:00:00.866648: Saved current settings to /config/predbat_config.json
2026-08-15 12:00:00.866944: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 105.0 minutes
2026-08-15 12:00:00.867068: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.1, latest beta is v8.48.1
2026-08-15 12:00:00.867221: Autoupdate: Currently up to date
2026-08-15 12:00:00.908523: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 12:00:00.908722: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 12:00:00.910354: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 12:00:00.911386: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 12:00:00.911573: Predbat mode is set to Control charge & discharge
2026-08-15 12:00:01.163696: Found 21602 load_today datapoints going back 28 days
2026-08-15 12:00:01.163878: Using load_power data to fill gaps in load_today data
2026-08-15 12:00:02.065065: Processing 721 30-minute periods for power integration
2026-08-15 12:00:02.269875: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 12:00:02.270090: Car charging hold False, threshold 6.0kWh
2026-08-15 12:00:02.270174: Current data so far today: load 7.3kWh, import 10.9kWh, export 0.0kWh, PV 0kWh
2026-08-15 12:00:02.288766: Cars: SoC: [11.72]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 12:00:02.289941: Standing charge is set to 49.98p
2026-08-15 12:00:02.340751: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 12:00:02.340862: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 12:00:02.341180: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 80.0 minutes
2026-08-15 12:00:02.341669: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 80.0 minutes
2026-08-15 12:00:02.348342: Loaded 95 datapoints of futurerate analysis
2026-08-15 12:00:02.446200: Predicted future rates: ['08-15 00:00:00 => 28.9 / 20.01', '08-15 01:00:00 => 27.54 / 19.31', '08-15 02:00:00 => 26.52 / 18.8', '08-15 03:00:00 => 25.99 / 18.53', '08-15 04:00:00 => 25.8 / 18.43', '08-15 05:00:00 => 25.96 / 18.51', '08-15 06:00:00 => 25.55 / 18.3', '08-15 07:00:00 => 24.33 / 17.68', '08-15 08:00:00 => 23.03 / 17.01', '08-15 09:00:00 => 22.05 / 16.51', '08-15 10:00:00 => 20.43 / 15.68', '08-15 11:00:00 => 18.01 / 14.45', '08-15 12:00:00 => 16.37 / 13.61', '08-15 13:00:00 => 15.76 / 13.3', '08-15 14:00:00 => 15.35 / 13.09', '08-15 15:00:00 => 15.86 / 13.35', '08-15 16:00:00 => 32.89 / 16.13', '08-15 17:00:00 => 38.02 / 18.75', '08-15 18:00:00 => 42.36 / 20.96', '08-15 19:00:00 => 31.09 / 21.13', '08-15 20:00:00 => 31.64 / 21.41', '08-15 21:00:00 => 31.64 / 21.41', '08-15 22:00:00 => 30.58 / 20.87', '08-15 23:00:00 => 29.37 / 20.25', '08-16 00:00:00 => 28.83 / 19.97', '08-16 01:00:00 => 27.73 / 19.41', '08-16 02:00:00 => 26.76 / 18.92', '08-16 03:00:00 => 26.39 / 18.73', '08-16 04:00:00 => 26.33 / 18.7', '08-16 05:00:00 => 26.23 / 18.65', '08-16 06:00:00 => 25.99 / 18.53', '08-16 07:00:00 => 25.64 / 18.35', '08-16 08:00:00 => 24.84 / 17.94', '08-16 09:00:00 => 24.26 / 17.64', '08-16 10:00:00 => 24.8 / 17.92', '08-16 11:00:00 => 24.71 / 17.87']
2026-08-15 12:00:02.513185: Rate min forward looking: now 13.77p at end of forecast 21.29p
2026-08-15 12:00:02.513674: Import rates: min 13.77p, max 46.05p, average 27.76p
2026-08-15 12:00:02.550934: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 12:00:02.551098: Rate thresholds (for charge/export) are import 45.55p (0.0p), export -0.1p (0.0p)
2026-08-15 12:00:02.552450: High export rate found rates in range 99p to -99p
2026-08-15 12:00:02.655704: Low Import rate found rates in range 13.77p to 44.19p
2026-08-15 12:00:02.655854: Car 0 charging is not planned as it is not plugged in
2026-08-15 12:00:02.677660: Battery level now 3.22kWh, -1hr ago 2.0kWh, at midnight 1.66kWh, battery value change in the last hour 14.48p, change today 18.54p, rate_forward 11.83p
2026-08-15 12:00:02.678224: Last hour: net energy 2.25kWh, import 2.25kWh, export 0.0kWh, car 0kWh, load 0.28kWh, net cost 35.18p, import 35.18p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 12:00:02.754464: Today's energy total net 10.9kWh, import 10.9kWh, export 0.0kWh, cost 306.18p, import 256.2p, export 0.0p, carbon 0.0kg
2026-08-15 12:00:02.754668: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 12:00:02.849258: Using weighted-bucket historical load forecast over 14 days
2026-08-15 12:00:02.882923: Today's load divergence 101.5%, in-day adjustment 122.6%, damping 0.95x, yesterday 143.77% today 101.42% blend 50.0%
2026-08-15 12:00:02.883065: Today's predicted so far 7.15kWh with 0.0kWh car/iBoost excluded, 5.43kWh import ignored, and 7.15kWh forecast extra.
2026-08-15 12:00:02.883100: Today's actual load so far 7.38kWh with 0.0kWh car/iBoost excluded, and 5.43kWh import ignored.
2026-08-15 12:00:02.930799: Inverter 0: Type SK Sunsynk
2026-08-15 12:00:02.930898: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 12:00:02.931131: Reserve min: 7%, battery_min: 7%
2026-08-15 12:00:02.931220: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 12:00:02.931514: Inverter 0 SoC: 3.56kW 22%, current charge rate 5000W, current discharge rate 5250W, current battery power 318W, current battery voltage 51.2V, grid power -54W, load power 371W, PV Power 0W
2026-08-15 12:00:02.931679: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 12:00:02.931770: Inverter 0 scheduled charge enable is True
2026-08-15 12:00:02.931820: Inverter 0 charge windows currently [{'start': 630, 'end': 960, 'average': 0}, {'start': 2070, 'end': 2400, 'average': 0}, {'start': 3510, 'end': 3840, 'average': 0}]
2026-08-15 12:00:02.931911: Inverter 0 Charge settings: 08-15 10:30:00-08-15 16:00:00, limit 19.0%, power 5.0kW
2026-08-15 12:00:02.932081: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 12:00:02.932126: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 12:00:02.932165: Inverter 0 scheduled discharge enable is False
2026-08-15 12:00:02.932290: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 12:00:02.932327: Inverter 0 discharge windows currently []
2026-08-15 12:00:02.932350: Note: Inverter does not support discharge freeze - disabled
2026-08-15 12:00:02.932368: Note: Inverter does not support charge freeze - disabled
2026-08-15 12:00:02.932386: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 12:00:03.006258: Dynamic load last period 0.00kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 12:00:03.006384: Plan was last updated on 2026-08-15 11:55:00+01:00 and is now 5.0 minutes old
2026-08-15 12:00:03.006637: Best charge window [ 15-08 11:30:00 - 15-08 12:30:00 @ 16.23p 19%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 12:30:00 - 16-08 18:30:00 @ 41.93p 100%, 16-08 19:00:00 - 17-08 12:00:00 @ 24.43p 100% ]
2026-08-15 12:00:03.006681: Best export window [  ]
2026-08-15 12:00:03.007561: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 12:00:03.010997: Load divergence over 8.0 hours mean 584.48W, min 295.8W, max 1607.4W, std dev 295.32W, divergence 25.26%
2026-08-15 12:00:03.029666: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 12:00:03.029804: LoadML is_calculating False
2026-08-15 12:00:03.029879: Creating pool of 12 processes to match your CPU count
2026-08-15 12:00:03.165229: predict base end_record 08-16 12:35:00, final soc 3.04kWh, metric 813.93p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 18:45:00, load 25.42kWh, PV 0.0kWh
2026-08-15 12:00:03.339768: Battery has 6.75 hours left - now at 3.56kWh
2026-08-15 12:00:03.401310: predict base10 end_record 08-16 12:35:00, final soc 3.04kWh, metric 835.99p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 18:45:00, load 26.28kWh, PV 0.0kWh
2026-08-15 12:00:03.503916: predict best10 end_record 08-16 12:35:00, final soc 1.44kWh, metric 662.83p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 10:25:00, load 26.28kWh, PV 0.0kWh
2026-08-15 12:00:03.606134: predict best end_record 08-16 12:35:00, final soc 1.51kWh, metric 640.39p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 11:35:00, load 25.42kWh, PV 0.0kWh
2026-08-15 12:00:03.606236: Saving plan best values to HA entities
2026-08-15 12:00:03.856394: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0
2026-08-15 12:00:03.868604: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 12:00:03.878286: Best charging limit SoC's [3.0, 4.0, 16.0, 16.0, 16.0]kWh, export []kWh gives import battery 17.25kWh, house 0.83kWh, export 0.0kWh, metric 640.39p, metric10 662.83p
2026-08-15 12:00:03.972740: Marginal costs baseline metric (no standing charge): 590.4035
2026-08-15 12:00:04.254409: Marginal energy costs matrix computed: min=14.17 max=34.06
2026-08-15 12:00:04.336631: Rate array import [{'start': 720, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 17.0p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1950, 'rate': 'expensive', 'range': '(24.8p - 32.9p)'}, {'start': 1950, 'end': 2040, 'rate': 'cheap', 'range': '(24.2p - 24.3p)'}, {'start': 2040, 'end': 2130, 'rate': 'expensive', 'range': '(24.7p - 25.4p)'}, {'start': 2130, 'end': 2195, 'rate': 'cheap', 'range': '(23.6p - 24.0p)'}] export [{'start': 720, 'end': 2195, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 12:00:04.337185: - Your estimated bill for today is £5.59 and tomorrow is £6.72
2026-08-15 12:00:04.337239: - Import rates are cheap (13.8p - 17.0p) for the next 4 hours and then expensive (33.1p) for the next 1 hour.
2026-08-15 12:00:04.337262: - The battery is currently at 22% and is charging to 19% for the next 30 minutes.
2026-08-15 12:00:04.337281: - For the next 48 hours there will be no solar generation.
2026-08-15 12:00:04.337299: - You will run out of battery in 23 hours.
2026-08-15 12:00:04.337317: 
2026-08-15 12:00:04.393645: Plan calculation took 1.39 seconds
2026-08-15 12:00:04.397291: No high rate period found
2026-08-15 12:00:04.459002: Import threshold used for optimisation was 24.28p
2026-08-15 12:00:04.517672: Low import rate windows [0: 08-15 12:00:00 - 08-15 12:30:00 @ 17.0, 1: 08-15 12:30:00 - 08-15 13:00:00 @ 16.34, 2: 08-15 13:00:00 - 08-15 13:30:00 @ 15.36, 3: 08-15 13:30:00 - 08-15 14:00:00 @ 15.74, 4: 08-15 14:00:00 - 08-15 14:30:00 @ 14.57, 5: 08-15 14:30:00 - 08-15 15:00:00 @ 13.77, 6: 08-15 15:00:00 - 08-15 15:30:00 @ 15.02, 7: 08-15 15:30:00 - 08-15 16:00:00 @ 15.87, 8: 08-15 16:00:00 - 08-15 16:30:00 @ 33.13, 9: 08-15 16:30:00 - 08-15 17:00:00 @ 33.13, 10: 08-15 17:00:00 - 08-15 17:30:00 @ 38.46, 11: 08-15 17:30:00 - 08-15 18:00:00 @ 40.44, 12: 08-15 18:00:00 - 08-15 18:30:00 @ 41.55, 13: 08-15 18:30:00 - 08-15 19:00:00 @ 43.82, 14: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 15: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 16: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 17: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 18: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 19: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 20: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 21: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 22: 08-15 23:00:00 - 08-15 23:30:00 @ 29.37, 23: 08-15 23:30:00 - 08-16 00:00:00 @ 29.2, 24: 08-16 00:00:00 - 08-16 00:30:00 @ 28.83, 25: 08-16 00:30:00 - 08-16 01:00:00 @ 28.46, 26: 08-16 01:00:00 - 08-16 01:30:00 @ 27.73, 27: 08-16 01:30:00 - 08-16 02:00:00 @ 27.01, 28: 08-16 02:00:00 - 08-16 02:30:00 @ 26.76, 29: 08-16 02:30:00 - 08-16 03:00:00 @ 26.48, 30: 08-16 03:00:00 - 08-16 03:30:00 @ 26.39, 31: 08-16 03:30:00 - 08-16 04:00:00 @ 26.27, 32: 08-16 04:00:00 - 08-16 04:30:00 @ 26.33, 33: 08-16 04:30:00 - 08-16 05:00:00 @ 26.37, 34: 08-16 05:00:00 - 08-16 05:30:00 @ 26.23, 35: 08-16 05:30:00 - 08-16 06:00:00 @ 26.07, 36: 08-16 06:00:00 - 08-16 06:30:00 @ 25.99, 37: 08-16 06:30:00 - 08-16 07:00:00 @ 25.92, 38: 08-16 07:00:00 - 08-16 07:30:00 @ 25.64, 39: 08-16 07:30:00 - 08-16 08:00:00 @ 25.39, 40: 08-16 08:00:00 - 08-16 08:30:00 @ 24.84, 41: 08-16 08:30:00 - 08-16 09:00:00 @ 24.28, 42: 08-16 09:00:00 - 08-16 09:30:00 @ 24.26, 43: 08-16 09:30:00 - 08-16 10:00:00 @ 24.22, 44: 08-16 10:00:00 - 08-16 10:30:00 @ 24.8, 45: 08-16 10:30:00 - 08-16 11:00:00 @ 25.37, 46: 08-16 11:00:00 - 08-16 11:30:00 @ 24.71, 47: 08-16 11:30:00 - 08-16 12:00:00 @ 24.02, 48: 08-16 12:00:00 - 08-16 12:30:00 @ 23.79, 49: 08-16 12:30:00 - 08-16 13:00:00 @ 23.55, 50: 08-16 13:00:00 - 08-16 13:30:00 @ 23.14, 51: 08-16 13:30:00 - 08-16 14:00:00 @ 22.71, 52: 08-16 14:00:00 - 08-16 14:30:00 @ 22.01, 53: 08-16 14:30:00 - 08-16 15:00:00 @ 21.29, 54: 08-16 15:00:00 - 08-16 15:30:00 @ 22.01, 55: 08-16 15:30:00 - 08-16 16:00:00 @ 22.71, 56: 08-16 16:00:00 - 08-16 16:30:00 @ 37.14, 57: 08-16 16:30:00 - 08-16 17:00:00 @ 37.91, 58: 08-16 17:00:00 - 08-16 17:30:00 @ 40.13, 59: 08-16 17:30:00 - 08-16 18:00:00 @ 42.36, 60: 08-16 18:00:00 - 08-16 18:30:00 @ 44.19, 61: 08-16 19:00:00 - 08-16 19:30:00 @ 33.04, 62: 08-16 19:30:00 - 08-16 20:00:00 @ 33.71, 63: 08-16 20:00:00 - 08-16 20:30:00 @ 33.83, 64: 08-16 20:30:00 - 08-16 21:00:00 @ 33.94, 65: 08-16 21:00:00 - 08-16 21:30:00 @ 33.73, 66: 08-16 21:30:00 - 08-16 22:00:00 @ 33.53, 67: 08-16 22:00:00 - 08-16 22:30:00 @ 32.36, 68: 08-16 22:30:00 - 08-16 23:00:00 @ 31.17, 69: 08-16 23:00:00 - 08-16 23:30:00 @ 29.37, 70: 08-16 23:30:00 - 08-17 00:00:00 @ 29.2, 71: 08-17 00:00:00 - 08-17 00:30:00 @ 28.83, 72: 08-17 00:30:00 - 08-17 01:00:00 @ 28.46, 73: 08-17 01:00:00 - 08-17 01:30:00 @ 27.73, 74: 08-17 01:30:00 - 08-17 02:00:00 @ 27.01, 75: 08-17 02:00:00 - 08-17 02:30:00 @ 26.76, 76: 08-17 02:30:00 - 08-17 03:00:00 @ 26.48, 77: 08-17 03:00:00 - 08-17 03:30:00 @ 26.39, 78: 08-17 03:30:00 - 08-17 04:00:00 @ 26.27, 79: 08-17 04:00:00 - 08-17 04:30:00 @ 26.33, 80: 08-17 04:30:00 - 08-17 05:00:00 @ 26.37, 81: 08-17 05:00:00 - 08-17 05:30:00 @ 26.23, 82: 08-17 05:30:00 - 08-17 06:00:00 @ 26.07, 83: 08-17 06:00:00 - 08-17 06:30:00 @ 25.99, 84: 08-17 06:30:00 - 08-17 07:00:00 @ 25.92, 85: 08-17 07:00:00 - 08-17 07:30:00 @ 25.64, 86: 08-17 07:30:00 - 08-17 08:00:00 @ 25.39, 87: 08-17 08:00:00 - 08-17 08:30:00 @ 24.84, 88: 08-17 08:30:00 - 08-17 09:00:00 @ 24.28, 89: 08-17 09:00:00 - 08-17 09:30:00 @ 24.26, 90: 08-17 09:30:00 - 08-17 10:00:00 @ 24.22, 91: 08-17 10:00:00 - 08-17 10:30:00 @ 24.8, 92: 08-17 10:30:00 - 08-17 11:00:00 @ 25.37, 93: 08-17 11:00:00 - 08-17 11:30:00 @ 24.71, 94: 08-17 11:30:00 - 08-17 12:00:00 @ 24.02]
2026-08-15 12:00:04.527837: Include original charge start 08-15 10:30:00, keeping this instead of new start 08-15 11:30:00
2026-08-15 12:00:04.528030: Inverter 0 Charge window will be: 2026-08-15 10:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 22%, target 19%
2026-08-15 12:00:04.528262: Inverter 0 Target SoC 19%, (this inverter 19%), battery temperature 20°C, select charge rate 5000W (real 5000W), current charge rate 5000W
2026-08-15 12:00:04.528407: Inverter 0 Hold charging as SoC 22% is above target SoC 19% (global soc target 19%) set_discharge_during_charge True
2026-08-15 12:00:04.528653: Adjust idle time, charge 10:30:00-16:00:00 discharge 00:00:00-00:00:00
2026-08-15 12:00:04.529064: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 12:00:04.529229: No export window planned
2026-08-15 12:00:04.529429: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 12:00:04.529506: Adjust idle time, charge 10:30:00-16:00:00 discharge 00:00:00-00:00:00
2026-08-15 12:00:04.529741: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 12:00:04.529935: Inverter 0 setting charging SoC to 19% as per target
2026-08-15 12:00:04.530065: Inverter 0 adjust target SoC for charge to 19% (3.04kWh/16.0kWh 16.0kWh) based on going from 22% -> 19% total add is -0.52kWh and this battery needs to add -0.52kWh to get to 3.04kWh
2026-08-15 12:00:04.530177: Inverter 0 Current Target SoC is 19%, already at target
2026-08-15 12:00:04.530375: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:00:04.530449: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:00:04.530511: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:00:04.530568: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:00:04.530603: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:00:04.530656: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:00:04.530717: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:00:04.530808: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 12:00:04.530871: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 12:00:04.530935: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 12:00:04.531014: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 12:00:04.531075: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 12:00:04.531133: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 12:00:04.531181: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 12:00:04.531297: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:00:04.531346: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:00:04.531387: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:00:04.531435: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:00:04.531487: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:00:04.531519: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:00:04.531559: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:00:04.531584: Inverter 0 count register writes 0
2026-08-15 12:00:04.556168: Will not recompute the plan, it is 5.0 minutes old and max age is 10 minutes
2026-08-15 12:00:04.564807: Total inverter register writes now 820
2026-08-15 12:00:04.622264: Info: Completed run status Hold charging
2026-08-15 12:00:04.634727: Info: record_status Hold charging target 22%-19%
2026-08-15 12:00:04.647195: Saved current settings to /config/predbat_config.json
2026-08-15 12:00:04.647663: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 12:00:41.781337: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 12:00:41.781666: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 12:00:41.781759: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 12:00:41.782032: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 12:00:41.782096: Note: Inverter does not support discharge freeze - disabled
2026-08-15 12:00:41.782115: Note: Inverter does not support charge freeze - disabled
2026-08-15 12:00:41.782130: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 12:01:04.225837: Info: HAHistory: Pruning history data started.
2026-08-15 12:01:04.230496: Info: HAHistory: Pruning history data completed.
2026-08-15 12:02:42.000655: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 12:02:42.001078: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 12:02:42.001133: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 12:02:42.001357: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 12:02:42.001405: Note: Inverter does not support discharge freeze - disabled
2026-08-15 12:02:42.001441: Note: Inverter does not support charge freeze - disabled
2026-08-15 12:02:42.001462: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 12:04:42.233953: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 12:04:42.234235: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 12:04:42.234277: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 12:04:42.234464: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 12:04:42.234524: Note: Inverter does not support discharge freeze - disabled
2026-08-15 12:04:42.234559: Note: Inverter does not support charge freeze - disabled
2026-08-15 12:04:42.234596: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 12:05:00.350914: --------------- PredBat - update at 2026-08-15 12:05:00+01:00 with clock skew 0 minutes, minutes now 725
2026-08-15 12:05:00.351764: Saved current settings to /config/predbat_config.json
2026-08-15 12:05:00.351903: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 110.0 minutes
2026-08-15 12:05:00.352018: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.1, latest beta is v8.48.1
2026-08-15 12:05:00.352110: Autoupdate: Currently up to date
2026-08-15 12:05:00.375165: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 12:05:00.375297: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 12:05:00.375466: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 12:05:00.376033: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 12:05:00.376154: Predbat mode is set to Control charge & discharge
2026-08-15 12:05:00.590519: Found 21602 load_today datapoints going back 27 days
2026-08-15 12:05:00.590703: Using load_power data to fill gaps in load_today data
2026-08-15 12:05:01.384288: Processing 721 30-minute periods for power integration
2026-08-15 12:05:01.599467: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 12:05:01.599592: Car charging hold False, threshold 6.0kWh
2026-08-15 12:05:01.599637: Current data so far today: load 7.3kWh, import 10.9kWh, export 0.0kWh, PV 0kWh
2026-08-15 12:05:01.612409: Cars: SoC: [11.72]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 12:05:01.612855: Standing charge is set to 49.98p
2026-08-15 12:05:01.661368: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 12:05:01.661485: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 12:05:01.661900: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 85.0 minutes
2026-08-15 12:05:01.662676: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 85.0 minutes
2026-08-15 12:05:01.669387: Loaded 95 datapoints of futurerate analysis
2026-08-15 12:05:01.765391: Predicted future rates: ['08-15 00:00:00 => 28.9 / 20.01', '08-15 01:00:00 => 27.54 / 19.31', '08-15 02:00:00 => 26.52 / 18.8', '08-15 03:00:00 => 25.99 / 18.53', '08-15 04:00:00 => 25.8 / 18.43', '08-15 05:00:00 => 25.96 / 18.51', '08-15 06:00:00 => 25.55 / 18.3', '08-15 07:00:00 => 24.33 / 17.68', '08-15 08:00:00 => 23.03 / 17.01', '08-15 09:00:00 => 22.05 / 16.51', '08-15 10:00:00 => 20.43 / 15.68', '08-15 11:00:00 => 18.01 / 14.45', '08-15 12:00:00 => 16.37 / 13.61', '08-15 13:00:00 => 15.76 / 13.3', '08-15 14:00:00 => 15.35 / 13.09', '08-15 15:00:00 => 15.86 / 13.35', '08-15 16:00:00 => 32.89 / 16.13', '08-15 17:00:00 => 38.02 / 18.75', '08-15 18:00:00 => 42.36 / 20.96', '08-15 19:00:00 => 31.09 / 21.13', '08-15 20:00:00 => 31.64 / 21.41', '08-15 21:00:00 => 31.64 / 21.41', '08-15 22:00:00 => 30.58 / 20.87', '08-15 23:00:00 => 29.37 / 20.25', '08-16 00:00:00 => 28.83 / 19.97', '08-16 01:00:00 => 27.73 / 19.41', '08-16 02:00:00 => 26.76 / 18.92', '08-16 03:00:00 => 26.39 / 18.73', '08-16 04:00:00 => 26.33 / 18.7', '08-16 05:00:00 => 26.23 / 18.65', '08-16 06:00:00 => 25.99 / 18.53', '08-16 07:00:00 => 25.64 / 18.35', '08-16 08:00:00 => 24.84 / 17.94', '08-16 09:00:00 => 24.26 / 17.64', '08-16 10:00:00 => 24.8 / 17.92', '08-16 11:00:00 => 24.71 / 17.87']
2026-08-15 12:05:01.838097: Rate min forward looking: now 13.77p at end of forecast 21.29p
2026-08-15 12:05:01.838608: Import rates: min 13.77p, max 46.05p, average 27.77p
2026-08-15 12:05:01.883199: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 12:05:01.883330: Rate thresholds (for charge/export) are import 45.55p (0.0p), export -0.1p (0.0p)
2026-08-15 12:05:01.884598: High export rate found rates in range 99p to -99p
2026-08-15 12:05:01.977790: Low Import rate found rates in range 13.77p to 44.19p
2026-08-15 12:05:01.977946: Car 0 charging is not planned as it is not plugged in
2026-08-15 12:05:01.990245: Battery level now 3.56kWh, -1hr ago 2.08kWh, at midnight 1.66kWh, battery value change in the last hour 17.5p, change today 22.52p, rate_forward 11.83p
2026-08-15 12:05:01.990777: Last hour: net energy 2.2kWh, import 2.2kWh, export 0.0kWh, car 0kWh, load 0.25kWh, net cost 34.36p, import 34.36p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 12:05:02.050841: Today's energy total net 10.9kWh, import 10.9kWh, export 0.0kWh, cost 306.18p, import 256.2p, export 0.0p, carbon 0.0kg
2026-08-15 12:05:02.051010: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 12:05:02.136485: Using weighted-bucket historical load forecast over 14 days
2026-08-15 12:05:02.164458: Today's load divergence 101.27%, in-day adjustment 122.34%, damping 0.95x, yesterday 143.77% today 101.21% blend 49.65%
2026-08-15 12:05:02.164792: Today's predicted so far 7.28kWh with 0.0kWh car/iBoost excluded, 5.51kWh import ignored, and 7.28kWh forecast extra.
2026-08-15 12:05:02.164880: Today's actual load so far 7.47kWh with 0.0kWh car/iBoost excluded, and 5.51kWh import ignored.
2026-08-15 12:05:02.202007: Inverter 0: Type SK Sunsynk
2026-08-15 12:05:02.202102: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 12:05:02.202371: Reserve min: 7%, battery_min: 7%
2026-08-15 12:05:02.202485: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 12:05:02.202821: Inverter 0 SoC: 3.74kW 23%, current charge rate 5000W, current discharge rate 5250W, current battery power 369W, current battery voltage 51.2V, grid power -54W, load power 429W, PV Power 0W
2026-08-15 12:05:02.203054: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 12:05:02.203187: Inverter 0 scheduled charge enable is True
2026-08-15 12:05:02.203264: Inverter 0 charge windows currently [{'start': 630, 'end': 960, 'average': 0}, {'start': 2070, 'end': 2400, 'average': 0}, {'start': 3510, 'end': 3840, 'average': 0}]
2026-08-15 12:05:02.203417: Inverter 0 Charge settings: 08-15 10:30:00-08-15 16:00:00, limit 19.0%, power 5.0kW
2026-08-15 12:05:02.203587: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 12:05:02.203650: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 12:05:02.203723: Inverter 0 scheduled discharge enable is False
2026-08-15 12:05:02.203919: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 12:05:02.204018: Inverter 0 discharge windows currently []
2026-08-15 12:05:02.204055: Note: Inverter does not support discharge freeze - disabled
2026-08-15 12:05:02.204092: Note: Inverter does not support charge freeze - disabled
2026-08-15 12:05:02.204120: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 12:05:02.269023: Dynamic load last period 0.00kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 12:05:02.269154: Plan was last updated on 2026-08-15 11:55:00+01:00 and is now 10.0 minutes old
2026-08-15 12:05:02.269414: Best charge window [ 15-08 11:30:00 - 15-08 12:30:00 @ 16.23p 19%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 12:30:00 - 16-08 18:30:00 @ 41.93p 100%, 16-08 19:00:00 - 17-08 12:00:00 @ 24.43p 100% ]
2026-08-15 12:05:02.269461: Best export window [  ]
2026-08-15 12:05:02.270208: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 12:05:02.273459: Load divergence over 8.0 hours mean 576.91W, min 294.0W, max 1564.2W, std dev 286.4W, divergence 24.82%
2026-08-15 12:05:02.292678: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 12:05:02.292822: LoadML is_calculating False
2026-08-15 12:05:02.292891: Creating pool of 12 processes to match your CPU count
2026-08-15 12:05:02.424286: predict base end_record 08-16 12:40:00, final soc 3.04kWh, metric 808.57p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 18:50:00, load 25.34kWh, PV 0.0kWh
2026-08-15 12:05:02.560505: Battery has 6.75 hours left - now at 3.74kWh
2026-08-15 12:05:02.606175: predict base10 end_record 08-16 12:40:00, final soc 3.04kWh, metric 832.68p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 18:40:00, load 26.19kWh, PV 0.0kWh
2026-08-15 12:05:02.700664: predict best10 end_record 08-16 12:40:00, final soc 1.77kWh, metric 666.65p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 10:30:00, load 26.19kWh, PV 0.0kWh
2026-08-15 12:05:02.784975: predict best end_record 08-16 12:40:00, final soc 1.9kWh, metric 645.83p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 11:35:00, load 25.34kWh, PV 0.0kWh
2026-08-15 12:05:02.785075: Saving plan best values to HA entities
2026-08-15 12:05:02.981129: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0
2026-08-15 12:05:02.990608: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 12:05:02.996531: Best charging limit SoC's [3.0, 4.0, 16.0, 16.0, 16.0]kWh, export []kWh gives import battery 17.44kWh, house 0.79kWh, export 0.0kWh, metric 645.83p, metric10 666.65p
2026-08-15 12:05:03.086727: Marginal costs baseline metric (no standing charge): 595.8514
2026-08-15 12:05:03.341132: Marginal energy costs matrix computed: min=14.21 max=33.68
2026-08-15 12:05:03.430730: Rate array import [{'start': 725, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 17.0p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1950, 'rate': 'expensive', 'range': '(24.8p - 32.9p)'}, {'start': 1950, 'end': 2040, 'rate': 'cheap', 'range': '(24.2p - 24.3p)'}, {'start': 2040, 'end': 2130, 'rate': 'expensive', 'range': '(24.7p - 25.4p)'}, {'start': 2130, 'end': 2200, 'rate': 'cheap', 'range': '(23.6p - 24.0p)'}] export [{'start': 725, 'end': 2200, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 12:05:03.431194: - Your estimated bill for today is £5.54 and tomorrow is £6.69
2026-08-15 12:05:03.431242: - Import rates are cheap (13.8p - 17.0p) for the next 3  hours and then expensive (33.1p) for the next 1 hour.
2026-08-15 12:05:03.431265: - The battery is currently at 23% and is charging to 19% for the next 25 minutes.
2026-08-15 12:05:03.431284: - For the next 48 hours there will be no solar generation.
2026-08-15 12:05:03.431301: - You will run out of battery in 23 hours.
2026-08-15 12:05:03.431326: 
2026-08-15 12:05:03.490661: Plan calculation took 1.22 seconds
2026-08-15 12:05:03.494300: No high rate period found
2026-08-15 12:05:03.558685: Import threshold used for optimisation was 24.28p
2026-08-15 12:05:03.615948: Low import rate windows [0: 08-15 12:00:00 - 08-15 12:30:00 @ 17.0, 1: 08-15 12:30:00 - 08-15 13:00:00 @ 16.34, 2: 08-15 13:00:00 - 08-15 13:30:00 @ 15.36, 3: 08-15 13:30:00 - 08-15 14:00:00 @ 15.74, 4: 08-15 14:00:00 - 08-15 14:30:00 @ 14.57, 5: 08-15 14:30:00 - 08-15 15:00:00 @ 13.77, 6: 08-15 15:00:00 - 08-15 15:30:00 @ 15.02, 7: 08-15 15:30:00 - 08-15 16:00:00 @ 15.87, 8: 08-15 16:00:00 - 08-15 16:30:00 @ 33.13, 9: 08-15 16:30:00 - 08-15 17:00:00 @ 33.13, 10: 08-15 17:00:00 - 08-15 17:30:00 @ 38.46, 11: 08-15 17:30:00 - 08-15 18:00:00 @ 40.44, 12: 08-15 18:00:00 - 08-15 18:30:00 @ 41.55, 13: 08-15 18:30:00 - 08-15 19:00:00 @ 43.82, 14: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 15: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 16: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 17: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 18: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 19: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 20: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 21: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 22: 08-15 23:00:00 - 08-15 23:30:00 @ 29.37, 23: 08-15 23:30:00 - 08-16 00:00:00 @ 29.2, 24: 08-16 00:00:00 - 08-16 00:30:00 @ 28.83, 25: 08-16 00:30:00 - 08-16 01:00:00 @ 28.46, 26: 08-16 01:00:00 - 08-16 01:30:00 @ 27.73, 27: 08-16 01:30:00 - 08-16 02:00:00 @ 27.01, 28: 08-16 02:00:00 - 08-16 02:30:00 @ 26.76, 29: 08-16 02:30:00 - 08-16 03:00:00 @ 26.48, 30: 08-16 03:00:00 - 08-16 03:30:00 @ 26.39, 31: 08-16 03:30:00 - 08-16 04:00:00 @ 26.27, 32: 08-16 04:00:00 - 08-16 04:30:00 @ 26.33, 33: 08-16 04:30:00 - 08-16 05:00:00 @ 26.37, 34: 08-16 05:00:00 - 08-16 05:30:00 @ 26.23, 35: 08-16 05:30:00 - 08-16 06:00:00 @ 26.07, 36: 08-16 06:00:00 - 08-16 06:30:00 @ 25.99, 37: 08-16 06:30:00 - 08-16 07:00:00 @ 25.92, 38: 08-16 07:00:00 - 08-16 07:30:00 @ 25.64, 39: 08-16 07:30:00 - 08-16 08:00:00 @ 25.39, 40: 08-16 08:00:00 - 08-16 08:30:00 @ 24.84, 41: 08-16 08:30:00 - 08-16 09:00:00 @ 24.28, 42: 08-16 09:00:00 - 08-16 09:30:00 @ 24.26, 43: 08-16 09:30:00 - 08-16 10:00:00 @ 24.22, 44: 08-16 10:00:00 - 08-16 10:30:00 @ 24.8, 45: 08-16 10:30:00 - 08-16 11:00:00 @ 25.37, 46: 08-16 11:00:00 - 08-16 11:30:00 @ 24.71, 47: 08-16 11:30:00 - 08-16 12:00:00 @ 24.02, 48: 08-16 12:00:00 - 08-16 12:30:00 @ 23.79, 49: 08-16 12:30:00 - 08-16 13:00:00 @ 23.55, 50: 08-16 13:00:00 - 08-16 13:30:00 @ 23.14, 51: 08-16 13:30:00 - 08-16 14:00:00 @ 22.71, 52: 08-16 14:00:00 - 08-16 14:30:00 @ 22.01, 53: 08-16 14:30:00 - 08-16 15:00:00 @ 21.29, 54: 08-16 15:00:00 - 08-16 15:30:00 @ 22.01, 55: 08-16 15:30:00 - 08-16 16:00:00 @ 22.71, 56: 08-16 16:00:00 - 08-16 16:30:00 @ 37.14, 57: 08-16 16:30:00 - 08-16 17:00:00 @ 37.91, 58: 08-16 17:00:00 - 08-16 17:30:00 @ 40.13, 59: 08-16 17:30:00 - 08-16 18:00:00 @ 42.36, 60: 08-16 18:00:00 - 08-16 18:30:00 @ 44.19, 61: 08-16 19:00:00 - 08-16 19:30:00 @ 33.04, 62: 08-16 19:30:00 - 08-16 20:00:00 @ 33.71, 63: 08-16 20:00:00 - 08-16 20:30:00 @ 33.83, 64: 08-16 20:30:00 - 08-16 21:00:00 @ 33.94, 65: 08-16 21:00:00 - 08-16 21:30:00 @ 33.73, 66: 08-16 21:30:00 - 08-16 22:00:00 @ 33.53, 67: 08-16 22:00:00 - 08-16 22:30:00 @ 32.36, 68: 08-16 22:30:00 - 08-16 23:00:00 @ 31.17, 69: 08-16 23:00:00 - 08-16 23:30:00 @ 29.37, 70: 08-16 23:30:00 - 08-17 00:00:00 @ 29.2, 71: 08-17 00:00:00 - 08-17 00:30:00 @ 28.83, 72: 08-17 00:30:00 - 08-17 01:00:00 @ 28.46, 73: 08-17 01:00:00 - 08-17 01:30:00 @ 27.73, 74: 08-17 01:30:00 - 08-17 02:00:00 @ 27.01, 75: 08-17 02:00:00 - 08-17 02:30:00 @ 26.76, 76: 08-17 02:30:00 - 08-17 03:00:00 @ 26.48, 77: 08-17 03:00:00 - 08-17 03:30:00 @ 26.39, 78: 08-17 03:30:00 - 08-17 04:00:00 @ 26.27, 79: 08-17 04:00:00 - 08-17 04:30:00 @ 26.33, 80: 08-17 04:30:00 - 08-17 05:00:00 @ 26.37, 81: 08-17 05:00:00 - 08-17 05:30:00 @ 26.23, 82: 08-17 05:30:00 - 08-17 06:00:00 @ 26.07, 83: 08-17 06:00:00 - 08-17 06:30:00 @ 25.99, 84: 08-17 06:30:00 - 08-17 07:00:00 @ 25.92, 85: 08-17 07:00:00 - 08-17 07:30:00 @ 25.64, 86: 08-17 07:30:00 - 08-17 08:00:00 @ 25.39, 87: 08-17 08:00:00 - 08-17 08:30:00 @ 24.84, 88: 08-17 08:30:00 - 08-17 09:00:00 @ 24.28, 89: 08-17 09:00:00 - 08-17 09:30:00 @ 24.26, 90: 08-17 09:30:00 - 08-17 10:00:00 @ 24.22, 91: 08-17 10:00:00 - 08-17 10:30:00 @ 24.8, 92: 08-17 10:30:00 - 08-17 11:00:00 @ 25.37, 93: 08-17 11:00:00 - 08-17 11:30:00 @ 24.71, 94: 08-17 11:30:00 - 08-17 12:00:00 @ 24.02, 95: 08-17 12:00:00 - 08-17 12:30:00 @ 23.79]
2026-08-15 12:05:03.624633: Include original charge start 08-15 10:30:00, keeping this instead of new start 08-15 11:30:00
2026-08-15 12:05:03.624788: Inverter 0 Charge window will be: 2026-08-15 10:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 23%, target 19%
2026-08-15 12:05:03.625041: Inverter 0 Target SoC 19%, (this inverter 19%), battery temperature 20°C, select charge rate 5000W (real 5000W), current charge rate 5000W
2026-08-15 12:05:03.625141: Inverter 0 Hold charging as SoC 23% is above target SoC 19% (global soc target 19%) set_discharge_during_charge True
2026-08-15 12:05:03.625326: Adjust idle time, charge 10:30:00-16:00:00 discharge 00:00:00-00:00:00
2026-08-15 12:05:03.625591: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 12:05:03.625692: No export window planned
2026-08-15 12:05:03.625827: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 12:05:03.625875: Adjust idle time, charge 10:30:00-16:00:00 discharge 00:00:00-00:00:00
2026-08-15 12:05:03.626029: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 12:05:03.626150: Inverter 0 setting charging SoC to 19% as per target
2026-08-15 12:05:03.626209: Inverter 0 adjust target SoC for charge to 19% (3.04kWh/16.0kWh 16.0kWh) based on going from 23% -> 19% total add is -0.7kWh and this battery needs to add -0.7kWh to get to 3.04kWh
2026-08-15 12:05:03.626266: Inverter 0 Current Target SoC is 19%, already at target
2026-08-15 12:05:03.626373: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:05:03.626439: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:05:03.626470: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:05:03.626495: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:05:03.626522: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:05:03.626547: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:05:03.626579: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:05:03.626625: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 12:05:03.626657: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 12:05:03.626694: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 12:05:03.626727: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 12:05:03.626759: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 12:05:03.626790: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 12:05:03.626815: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 12:05:03.626884: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:05:03.626914: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:05:03.626954: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:05:03.626980: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:05:03.627004: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:05:03.627028: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:05:03.627060: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:05:03.627102: Inverter 0 count register writes 0
2026-08-15 12:05:03.644774: Will recompute the plan as it is now 10.0 minutes old and will exceed the max age of 10 minutes before the next run
2026-08-15 12:05:03.645004: Recompute is saving previous plan...
2026-08-15 12:05:03.648186: Best charge window [ 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 19%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 19%, 15-08 13:00:00 - 15-08 13:30:00 @ 15.36p 19%, 15-08 13:30:00 - 15-08 14:00:00 @ 15.74p 19%, 15-08 14:00:00 - 15-08 14:30:00 @ 14.57p 19%, 15-08 14:30:00 - 15-08 15:00:00 @ 13.77p 19%, 15-08 15:00:00 - 15-08 15:30:00 @ 15.02p 19%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 19%, 15-08 16:00:00 - 15-08 16:30:00 @ 33.13p 19%, 15-08 16:30:00 - 15-08 17:00:00 @ 33.13p 19%, 15-08 17:00:00 - 15-08 17:30:00 @ 38.46p 19%, 15-08 17:30:00 - 15-08 18:00:00 @ 40.44p 19%, 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 19%, 15-08 18:30:00 - 15-08 19:00:00 @ 43.82p 19%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 19%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 19%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 19%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 19%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 19%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 19%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 19%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 19%, 15-08 23:00:00 - 15-08 23:30:00 @ 29.37p 19%, 15-08 23:30:00 - 16-08 00:00:00 @ 29.2p 19%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.83p 19%, 16-08 00:30:00 - 16-08 01:00:00 @ 28.46p 19%, 16-08 01:00:00 - 16-08 01:30:00 @ 27.73p 19%, 16-08 01:30:00 - 16-08 02:00:00 @ 27.01p 19%, 16-08 02:00:00 - 16-08 02:30:00 @ 26.76p 19%, 16-08 02:30:00 - 16-08 03:00:00 @ 26.48p 19%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.39p 19%, 16-08 03:30:00 - 16-08 04:00:00 @ 26.27p 19%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.33p 19%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.37p 19%, 16-08 05:00:00 - 16-08 05:30:00 @ 26.23p 19%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.07p 19%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.99p 19%, 16-08 06:30:00 - 16-08 07:00:00 @ 25.92p 19%, 16-08 07:00:00 - 16-08 07:30:00 @ 25.64p 19%, 16-08 07:30:00 - 16-08 08:00:00 @ 25.39p 19%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.84p 19%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.28p 19%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.26p 19%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.22p 19%, 16-08 10:00:00 - 16-08 10:30:00 @ 24.8p 19%, 16-08 10:30:00 - 16-08 11:00:00 @ 25.37p 19%, 16-08 11:00:00 - 16-08 11:30:00 @ 24.71p 19%, 16-08 11:30:00 - 16-08 12:00:00 @ 24.02p 19%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.79p 19%, 16-08 12:30:00 - 16-08 13:00:00 @ 23.55p 19%, 16-08 13:00:00 - 16-08 13:30:00 @ 23.14p 19%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.71p 19%, 16-08 14:00:00 - 16-08 14:30:00 @ 22.01p 19%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.29p 19%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.01p 19%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.71p 19%, 16-08 16:00:00 - 16-08 16:30:00 @ 37.14p 19%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.91p 19%, 16-08 17:00:00 - 16-08 17:30:00 @ 40.13p 19%, 16-08 17:30:00 - 16-08 18:00:00 @ 42.36p 19%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.19p 19%, 16-08 19:00:00 - 16-08 19:30:00 @ 33.04p 19%, 16-08 19:30:00 - 16-08 20:00:00 @ 33.71p 19%, 16-08 20:00:00 - 16-08 20:30:00 @ 33.83p 19%, 16-08 20:30:00 - 16-08 21:00:00 @ 33.94p 19%, 16-08 21:00:00 - 16-08 21:30:00 @ 33.73p 19%, 16-08 21:30:00 - 16-08 22:00:00 @ 33.53p 19%, 16-08 22:00:00 - 16-08 22:30:00 @ 32.36p 19%, 16-08 22:30:00 - 16-08 23:00:00 @ 31.17p 19%, 16-08 23:00:00 - 16-08 23:30:00 @ 29.37p 19%, 16-08 23:30:00 - 17-08 00:00:00 @ 29.2p 19%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.83p 19%, 17-08 00:30:00 - 17-08 01:00:00 @ 28.46p 19%, 17-08 01:00:00 - 17-08 01:30:00 @ 27.73p 19%, 17-08 01:30:00 - 17-08 02:00:00 @ 27.01p 19%, 17-08 02:00:00 - 17-08 02:30:00 @ 26.76p 19%, 17-08 02:30:00 - 17-08 03:00:00 @ 26.48p 19%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.39p 19%, 17-08 03:30:00 - 17-08 04:00:00 @ 26.27p 19%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.33p 19%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.37p 19%, 17-08 05:00:00 - 17-08 05:30:00 @ 26.23p 19%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.07p 19%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.99p 19%, 17-08 06:30:00 - 17-08 07:00:00 @ 25.92p 19%, 17-08 07:00:00 - 17-08 07:30:00 @ 25.64p 19%, 17-08 07:30:00 - 17-08 08:00:00 @ 25.39p 19%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.84p 19%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.28p 19%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.26p 19%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.22p 19%, 17-08 10:00:00 - 17-08 10:30:00 @ 24.8p 19%, 17-08 10:30:00 - 17-08 11:00:00 @ 25.37p 19%, 17-08 11:00:00 - 17-08 11:30:00 @ 24.71p 19%, 17-08 11:30:00 - 17-08 12:00:00 @ 24.02p 19%, 17-08 12:00:00 - 17-08 12:30:00 @ 23.79p 19% ]
2026-08-15 12:05:03.648265: Best export window [  ]
2026-08-15 12:05:03.649156: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 12:05:03.652338: Load divergence over 8.0 hours mean 576.91W, min 294.0W, max 1564.2W, std dev 286.4W, divergence 24.82%
2026-08-15 12:05:03.669689: Calculating data from yesterday for savings calculation
2026-08-15 12:05:03.682338: Yesterday basic charge window best: [{'start': 840, 'end': 870, 'average': 21.7}] charge limit best: [16.0] based on max charge slots 1
2026-08-15 12:05:03.728330: predict yesterday end_record 08-16 00:00:00, final soc 1.12kWh, metric 843.63p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 00:00:00, load 26.2kWh, PV 0.0kWh
2026-08-15 12:05:03.743040: predict yesterday10 end_record 08-16 00:00:00, final soc 1.12kWh, metric 847.91p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 00:00:00, load 26.2kWh, PV 0.0kWh
2026-08-15 12:05:03.761875: predict yesterday end_record 08-16 00:00:00, final soc 1.12kWh, metric 843.63p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 00:00:00, load 26.2kWh, PV 0.0kWh
2026-08-15 12:05:03.799837: Yesterday: Predbat disabled was £8.44 (adjusted £8.23) vs £7.38 (adjusted £7.05), saving £1.05 (adjusted £1.18) with import 26.54kWh, export 0.0kWh, battery_cycle 4.66kWh, start_soc 1.12kWh,  final_soc 1.12kWh and battery_value 20.49kWh
2026-08-15 12:05:03.874454: predict yesterday end_record 08-16 00:00:00, final soc 0.0kWh, metric 849.84p, metric_keep 0kWh, min_soc 0kWh @ 08-15 00:00:00, load 26.2kWh, PV 0.0kWh
2026-08-15 12:05:03.874642: Yesterday: No Battery/PV system cost predicted was £8.5 (adjusted £8.5) vs £7.38 (adjusted £7.05), saving £1.12 (adjusted £1.44) with import 26.2kWh, export 0kWh and battery_value 0.0kWh
2026-08-15 12:05:03.885975: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 12:05:03.886108: LoadML is_calculating False
2026-08-15 12:05:03.886186: Creating pool of 12 processes to match your CPU count
2026-08-15 12:05:03.983282: Calculate Best options: mode(Control charge & discharge), calculate_export_oncharge(False), calculate_export_on_pv(True), set_export_freeze_only(False), set_discharge_during_charge(True), combine_charge_slots(False), combine_export_slots(False), combine_rate_threshold(0.0), best_soc_min(0.0 kWh), best_soc_max(0.0 kWh), best_soc_keep(0.0 kWh), inverter_loss(4%), battery_loss(3%), battery_loss_discharge (3%), inverter_hybrid(True), metric_min_improvement(0.0p), metric_min_improvement_export(0.1p), metric_min_improvement_export_freeze(0.1p), metric_battery_cycle(0.0p/kWh), metric_battery_value_scaling(1.0 x) 
2026-08-15 12:05:03.985548: Optimise levels pass started at 2026-08-15 12:05:03
2026-08-15 12:05:03.985632: Optimise all windows, total charge 95 export 1
2026-08-15 12:05:04.985534: >> Region optimisation pass width 960 gives best_metric 945.15p, best_cost 957.84p, best_cycle 47.68kWh, best_import 34.12kWh
2026-08-15 12:05:05.454461: >> Region optimisation pass width 480 gives best_metric 945.15p, best_cost 957.84p, best_cycle 47.68kWh, best_import 34.12kWh
2026-08-15 12:05:05.960618: >> Region optimisation pass width 240 gives best_metric 945.15p, best_cost 957.84p, best_cycle 47.68kWh, best_import 34.12kWh
2026-08-15 12:05:07.473711: >> Region optimisation pass width 120 gives best_metric 944.78p, best_cost 959.17p, best_cycle 46.54kWh, best_import 34.04kWh
2026-08-15 12:05:07.474169: Calculated end_record as 08-16 12:30:00 based on best_price 22.71p, next_charge_start 08-15 12:30:00, max_windows 49
2026-08-15 12:05:07.474249: Optimise levels pass ended at 2026-08-15 12:05:07, duration 3.5 seconds tried 306 combinations
2026-08-15 12:05:07.474313: Set best_price_charge_level 24.4p, best_price_export_level 0p, best_price_charge 22.71p, best_cost_export 0p, best_metric 944.78p, best_keep 0kWh, best_cycle 46.54kWh, best_carbon 0kg, best_import 34.04kWh
2026-08-15 12:05:07.495902: Starting detailed optimisation end_record 08-16 12:30:00, best_price_charge 22.71p, best_price_export 0p. lowest_price_charge 13.77p with charge limits [0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0]kWh and export limits []kWh
2026-08-15 12:05:11.528687: Tweak plan optimisation started metric 555.48p, cost 572.46p
2026-08-15 12:05:11.798702: Tweak optimisation finished metric 555.48p, cost 572.46p, metric_keep 0kWh, cycle 27.07kWh, carbon 0kg, import 17.21kWh, changed 8 window(s)
2026-08-15 12:05:11.818244: Swap charge optimisation started metric 555.48p, cost 572.46p, min_improvement_swap 0.1p
2026-08-15 12:05:15.660605: Swap charge optimisation finished metric 555.48p, cost 572.46p
2026-08-15 12:05:15.793053: Pruned 3 dead plan slot(s) in 11 trial(s), nominal metric 551.98p -> 551.98p, plan now metric 555.57p, cost 572.46p, cycle 27.07kWh, import 17.21kWh
2026-08-15 12:05:15.804906: Raw charge windows [ 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 13:30:00 @ 15.36p 100%, 15-08 13:30:00 - 15-08 14:00:00 @ 15.74p 100%, 15-08 14:00:00 - 15-08 14:30:00 @ 14.57p 100%, 15-08 14:30:00 - 15-08 15:00:00 @ 13.77p 100%, 15-08 15:00:00 - 15-08 15:30:00 @ 15.02p 100%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 100%, 15-08 16:00:00 - 15-08 16:30:00 @ 33.13p 0%, 15-08 16:30:00 - 15-08 17:00:00 @ 33.13p 0%, 15-08 17:00:00 - 15-08 17:30:00 @ 38.46p 0%, 15-08 17:30:00 - 15-08 18:00:00 @ 40.44p 0%, 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 0%, 15-08 18:30:00 - 15-08 19:00:00 @ 43.82p 0%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 0%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 0%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 0%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 0%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 29.37p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 29.2p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.83p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 28.46p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 27.73p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 27.01p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 26.76p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 26.48p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.39p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 26.27p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.33p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.37p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 26.23p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.07p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.99p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 25.92p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 25.64p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 25.39p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.84p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.28p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.26p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.22p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 24.8p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 25.37p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 24.71p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 24.02p 0%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.79p 0%, 16-08 12:30:00 - 16-08 13:00:00 @ 23.55p 100%, 16-08 13:00:00 - 16-08 13:30:00 @ 23.14p 100%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.71p 100%, 16-08 14:00:00 - 16-08 14:30:00 @ 22.01p 100%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.29p 100%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.01p 100%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.71p 100%, 16-08 16:00:00 - 16-08 16:30:00 @ 37.14p 100%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.91p 100%, 16-08 17:00:00 - 16-08 17:30:00 @ 40.13p 100%, 16-08 17:30:00 - 16-08 18:00:00 @ 42.36p 100%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.19p 100%, 16-08 19:00:00 - 16-08 19:30:00 @ 33.04p 100%, 16-08 19:30:00 - 16-08 20:00:00 @ 33.71p 100%, 16-08 20:00:00 - 16-08 20:30:00 @ 33.83p 100%, 16-08 20:30:00 - 16-08 21:00:00 @ 33.94p 100%, 16-08 21:00:00 - 16-08 21:30:00 @ 33.73p 100%, 16-08 21:30:00 - 16-08 22:00:00 @ 33.53p 100%, 16-08 22:00:00 - 16-08 22:30:00 @ 32.36p 100%, 16-08 22:30:00 - 16-08 23:00:00 @ 31.17p 100%, 16-08 23:00:00 - 16-08 23:30:00 @ 29.37p 100%, 16-08 23:30:00 - 17-08 00:00:00 @ 29.2p 100%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.83p 100%, 17-08 00:30:00 - 17-08 01:00:00 @ 28.46p 100%, 17-08 01:00:00 - 17-08 01:30:00 @ 27.73p 100%, 17-08 01:30:00 - 17-08 02:00:00 @ 27.01p 100%, 17-08 02:00:00 - 17-08 02:30:00 @ 26.76p 100%, 17-08 02:30:00 - 17-08 03:00:00 @ 26.48p 100%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.39p 100%, 17-08 03:30:00 - 17-08 04:00:00 @ 26.27p 100%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.33p 100%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.37p 100%, 17-08 05:00:00 - 17-08 05:30:00 @ 26.23p 100%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.07p 100%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.99p 100%, 17-08 06:30:00 - 17-08 07:00:00 @ 25.92p 100%, 17-08 07:00:00 - 17-08 07:30:00 @ 25.64p 100%, 17-08 07:30:00 - 17-08 08:00:00 @ 25.39p 100%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.84p 100%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.28p 100%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.26p 100%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.22p 100%, 17-08 10:00:00 - 17-08 10:30:00 @ 24.8p 100%, 17-08 10:30:00 - 17-08 11:00:00 @ 25.37p 100%, 17-08 11:00:00 - 17-08 11:30:00 @ 24.71p 100%, 17-08 11:30:00 - 17-08 12:00:00 @ 24.02p 100%, 17-08 12:00:00 - 17-08 12:30:00 @ 23.79p 100% ] reserve 1.12
2026-08-15 12:05:15.805578: Unclipped charge windows [ 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 12:30:00 - 16-08 18:30:00 @ 41.93p 100%, 16-08 19:00:00 - 17-08 12:30:00 @ 24.11p 100% ] reserve 1.12
2026-08-15 12:05:15.805839: Unfiltered charge windows [ 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 12:30:00 - 16-08 18:30:00 @ 41.93p 100%, 16-08 19:00:00 - 17-08 12:30:00 @ 24.11p 100% ] reserve 1.12
2026-08-15 12:05:15.806131: Filtered charge windows [ 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 12:30:00 - 16-08 18:30:00 @ 41.93p 100%, 16-08 19:00:00 - 17-08 12:30:00 @ 24.11p 100% ] reserve 1.12
2026-08-15 12:05:15.843133: Previous plan best metric is 556.2 (cost 573.19) and new plan best metric is 555.48 (cost 572.46)
2026-08-15 12:05:15.843471: New plan metric is not significantly better (metric_min_improvement_plan 2.0) than previous plan, using previous plan
2026-08-15 12:05:15.843708: Plan valid is now true after recompute was False
2026-08-15 12:05:15.873213: predict base end_record 08-16 12:30:00, final soc 3.04kWh, metric 805.53p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 18:50:00, load 25.21kWh, PV 0.0kWh
2026-08-15 12:05:15.983875: Battery has 6.75 hours left - now at 3.74kWh
2026-08-15 12:05:16.036261: predict base10 end_record 08-16 12:30:00, final soc 3.04kWh, metric 829.5p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 18:40:00, load 26.06kWh, PV 0.0kWh
2026-08-15 12:05:16.123644: predict best10 end_record 08-16 12:30:00, final soc 1.12kWh, metric 647.11p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 10:30:00, load 26.06kWh, PV 0.0kWh
2026-08-15 12:05:16.206462: predict best end_record 08-16 12:30:00, final soc 1.12kWh, metric 623.17p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 11:35:00, load 25.21kWh, PV 0.0kWh
2026-08-15 12:05:16.206558: Saving plan best values to HA entities
2026-08-15 12:05:16.366991: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0
2026-08-15 12:05:16.373136: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 12:05:16.379224: Best charging limit SoC's [3.0, 4.0, 16.0, 16.0, 16.0]kWh, export []kWh gives import battery 16.48kWh, house 0.79kWh, export 0.0kWh, metric 623.17p, metric10 647.11p
2026-08-15 12:05:16.465911: Marginal costs baseline metric (no standing charge): 573.1861
2026-08-15 12:05:16.752880: Marginal energy costs matrix computed: min=14.21 max=33.68
2026-08-15 12:05:16.823689: Rate array import [{'start': 725, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 17.0p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1950, 'rate': 'expensive', 'range': '(24.8p - 32.9p)'}, {'start': 1950, 'end': 2040, 'rate': 'cheap', 'range': '(24.2p - 24.3p)'}, {'start': 2040, 'end': 2130, 'rate': 'expensive', 'range': '(24.7p - 25.4p)'}, {'start': 2130, 'end': 2190, 'rate': 'cheap', 'range': '(23.8p - 24.0p)'}] export [{'start': 725, 'end': 2190, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 12:05:16.824143: - Your estimated bill for today is £5.54 and tomorrow is £6.69
2026-08-15 12:05:16.824194: - Import rates are cheap (13.8p - 17.0p) for the next 3  hours and then expensive (33.1p) for the next 1 hour.
2026-08-15 12:05:16.824218: - The battery is currently at 23% and is charging to 19% for the next 25 minutes.
2026-08-15 12:05:16.824253: - For the next 48 hours there will be no solar generation.
2026-08-15 12:05:16.824288: - You will run out of battery in 23 hours.
2026-08-15 12:05:16.824322: 
2026-08-15 12:05:16.882428: Plan calculation took 13.24 seconds
2026-08-15 12:05:16.882845: Inverter 0: Type SK Sunsynk
2026-08-15 12:05:16.882901: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 12:05:16.883181: Reserve min: 7%, battery_min: 7%
2026-08-15 12:05:16.883288: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 12:05:16.883701: Inverter 0 SoC: 3.74kW 23%, current charge rate 5000W, current discharge rate 5250W, current battery power 369W, current battery voltage 51.2V, grid power -54W, load power 429W, PV Power 0W
2026-08-15 12:05:16.883999: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 12:05:16.884140: Inverter 0 scheduled charge enable is True
2026-08-15 12:05:16.884209: Inverter 0 charge windows currently [{'start': 630, 'end': 960, 'average': 0}, {'start': 2070, 'end': 2400, 'average': 0}, {'start': 3510, 'end': 3840, 'average': 0}]
2026-08-15 12:05:16.884360: Inverter 0 Charge settings: 08-15 10:30:00-08-15 16:00:00, limit 19.0%, power 5.0kW
2026-08-15 12:05:16.884530: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 12:05:16.884574: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 12:05:16.884623: Inverter 0 scheduled discharge enable is False
2026-08-15 12:05:16.884801: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 12:05:16.884845: Inverter 0 discharge windows currently []
2026-08-15 12:05:16.884872: Note: Inverter does not support discharge freeze - disabled
2026-08-15 12:05:16.884915: Note: Inverter does not support charge freeze - disabled
2026-08-15 12:05:16.885011: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 12:05:16.940819: Include original charge start 08-15 10:30:00, keeping this instead of new start 08-15 11:30:00
2026-08-15 12:05:16.941005: Inverter 0 Charge window will be: 2026-08-15 10:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 23%, target 19%
2026-08-15 12:05:16.941166: Inverter 0 Target SoC 19%, (this inverter 19%), battery temperature 20°C, select charge rate 5000W (real 5000W), current charge rate 5000W
2026-08-15 12:05:16.941249: Inverter 0 Hold charging as SoC 23% is above target SoC 19% (global soc target 19%) set_discharge_during_charge True
2026-08-15 12:05:16.941380: Adjust idle time, charge 10:30:00-16:00:00 discharge 00:00:00-00:00:00
2026-08-15 12:05:16.941589: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 12:05:16.941707: No export window planned
2026-08-15 12:05:16.942193: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 12:05:16.942265: Adjust idle time, charge 10:30:00-16:00:00 discharge 00:00:00-00:00:00
2026-08-15 12:05:16.942452: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 12:05:16.942589: Inverter 0 setting charging SoC to 19% as per target
2026-08-15 12:05:16.942653: Inverter 0 adjust target SoC for charge to 19% (3.04kWh/16.0kWh 16.0kWh) based on going from 23% -> 19% total add is -0.7kWh and this battery needs to add -0.7kWh to get to 3.04kWh
2026-08-15 12:05:16.942712: Inverter 0 Current Target SoC is 19%, already at target
2026-08-15 12:05:16.942820: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:05:16.942866: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:05:16.942894: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:05:16.942919: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:05:16.942960: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:05:16.942987: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:05:16.943019: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:05:16.943063: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 12:05:16.943095: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 12:05:16.943124: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 12:05:16.943150: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 12:05:16.943180: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 12:05:16.943205: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 12:05:16.943228: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 12:05:16.943292: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:05:16.943320: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:05:16.943345: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:05:16.943368: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:05:16.943397: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:05:16.943420: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:05:16.943444: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:05:16.943463: Inverter 0 count register writes 0
2026-08-15 12:05:16.986206: Total inverter register writes now 820
2026-08-15 12:05:17.024640: Info: Completed run status Hold charging
2026-08-15 12:05:17.031340: Info: record_status Hold charging target 23%-19%
2026-08-15 12:05:17.042236: Saved current settings to /config/predbat_config.json
2026-08-15 12:05:17.042546: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 12:05:57.160866: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 12:05:57.161181: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 12:05:57.161256: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 12:05:57.161417: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 12:05:57.161485: Note: Inverter does not support discharge freeze - disabled
2026-08-15 12:05:57.161506: Note: Inverter does not support charge freeze - disabled
2026-08-15 12:05:57.161525: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 12:07:57.389375: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 12:07:57.389635: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 12:07:57.389678: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 12:07:57.389812: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 12:07:57.389852: Note: Inverter does not support discharge freeze - disabled
2026-08-15 12:07:57.389873: Note: Inverter does not support charge freeze - disabled
2026-08-15 12:07:57.389890: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 12:09:47.482395: ML Component: Fetching 28 days of load history from ['sensor.sunsynk_day_load_energy']
2026-08-15 12:09:48.560779: Processing 1297 30-minute periods for power integration
2026-08-15 12:09:48.667576: ML Component: Car charging hold False, car energy reported load False
2026-08-15 12:09:48.769634: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 12:09:48.872041: ML Temperature data points: 48236
2026-08-15 12:09:49.145352: ML Component: Fetched 7776 load data points, 27.0 days of history
2026-08-15 12:09:49.188747: ML Component: Data fetch completed, load data age 56.0 days, 16410 data points
2026-08-15 12:09:49.189417: ML Component: No training needed, model age is 0.88 hours
2026-08-15 12:09:49.189501: ML Component: Generating predictions load data age 56.0 days, 16410 data points
2026-08-15 12:09:49.329562: ML Predictor: Starting autoregressive prediction loop for 576 steps (48.0 hours), prev_energy value 0.0315 max_dow {0: 0.09899687486626207, 1: 0.10616562486607581, 2: 0.12051249983031302, 3: 0.1227374996352941, 4: 0.1701437503574416, 5: 0.0974166672406925, 6: 0.11264999961592256}
2026-08-15 12:09:49.861973: ML Component: Generated 576 predictions (total 33.65 kWh over 48h)
2026-08-15 12:09:49.912513: ML Component: Prediction cycle completed
2026-08-15 12:09:50.031059: ML Component: Saved 16410 steps (56 days) of history to /config/predbat_ml_history.npz
2026-08-15 12:10:00.617847: --------------- PredBat - update at 2026-08-15 12:10:00+01:00 with clock skew 0 minutes, minutes now 730
2026-08-15 12:10:00.618623: Saved current settings to /config/predbat_config.json
2026-08-15 12:10:00.618753: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 115.0 minutes
2026-08-15 12:10:00.618821: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.1, latest beta is v8.48.1
2026-08-15 12:10:00.618897: Autoupdate: Currently up to date
2026-08-15 12:10:00.642002: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 12:10:00.642165: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 12:10:00.642429: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 12:10:00.643064: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 12:10:00.643253: Predbat mode is set to Control charge & discharge
2026-08-15 12:10:00.870722: Found 21602 load_today datapoints going back 28 days
2026-08-15 12:10:00.870882: Using load_power data to fill gaps in load_today data
2026-08-15 12:10:01.744031: Processing 721 30-minute periods for power integration
2026-08-15 12:10:01.934578: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 12:10:01.934726: Car charging hold False, threshold 6.0kWh
2026-08-15 12:10:01.934774: Current data so far today: load 7.42kWh, import 11.1kWh, export 0.0kWh, PV 0kWh
2026-08-15 12:10:01.949948: Cars: SoC: [11.72]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 12:10:01.950406: Standing charge is set to 49.98p
2026-08-15 12:10:01.997024: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 12:10:01.997135: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 12:10:01.997366: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 90.0 minutes
2026-08-15 12:10:01.997792: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 90.0 minutes
2026-08-15 12:10:02.003735: Loaded 95 datapoints of futurerate analysis
2026-08-15 12:10:02.101566: Predicted future rates: ['08-15 00:00:00 => 28.9 / 20.01', '08-15 01:00:00 => 27.54 / 19.31', '08-15 02:00:00 => 26.52 / 18.8', '08-15 03:00:00 => 25.99 / 18.53', '08-15 04:00:00 => 25.8 / 18.43', '08-15 05:00:00 => 25.96 / 18.51', '08-15 06:00:00 => 25.55 / 18.3', '08-15 07:00:00 => 24.33 / 17.68', '08-15 08:00:00 => 23.03 / 17.01', '08-15 09:00:00 => 22.05 / 16.51', '08-15 10:00:00 => 20.43 / 15.68', '08-15 11:00:00 => 18.01 / 14.45', '08-15 12:00:00 => 16.37 / 13.61', '08-15 13:00:00 => 15.76 / 13.3', '08-15 14:00:00 => 15.35 / 13.09', '08-15 15:00:00 => 15.86 / 13.35', '08-15 16:00:00 => 32.89 / 16.13', '08-15 17:00:00 => 38.02 / 18.75', '08-15 18:00:00 => 42.36 / 20.96', '08-15 19:00:00 => 31.09 / 21.13', '08-15 20:00:00 => 31.64 / 21.41', '08-15 21:00:00 => 31.64 / 21.41', '08-15 22:00:00 => 30.58 / 20.87', '08-15 23:00:00 => 29.37 / 20.25', '08-16 00:00:00 => 28.83 / 19.97', '08-16 01:00:00 => 27.73 / 19.41', '08-16 02:00:00 => 26.76 / 18.92', '08-16 03:00:00 => 26.39 / 18.73', '08-16 04:00:00 => 26.33 / 18.7', '08-16 05:00:00 => 26.23 / 18.65', '08-16 06:00:00 => 25.99 / 18.53', '08-16 07:00:00 => 25.64 / 18.35', '08-16 08:00:00 => 24.84 / 17.94', '08-16 09:00:00 => 24.26 / 17.64', '08-16 10:00:00 => 24.8 / 17.92', '08-16 11:00:00 => 24.71 / 17.87']
2026-08-15 12:10:02.164376: Rate min forward looking: now 13.77p at end of forecast 21.29p
2026-08-15 12:10:02.164738: Import rates: min 13.77p, max 46.05p, average 27.78p
2026-08-15 12:10:02.208016: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 12:10:02.208154: Rate thresholds (for charge/export) are import 45.55p (0.0p), export -0.1p (0.0p)
2026-08-15 12:10:02.209558: High export rate found rates in range 99p to -99p
2026-08-15 12:10:02.304188: Low Import rate found rates in range 13.77p to 44.19p
2026-08-15 12:10:02.304358: Car 0 charging is not planned as it is not plugged in
2026-08-15 12:10:02.318546: Battery level now 3.74kWh, -1hr ago 2.08kWh, at midnight 1.66kWh, battery value change in the last hour 19.68p, change today 24.69p, rate_forward 11.83p
2026-08-15 12:10:02.318968: Last hour: net energy 2.35kWh, import 2.35kWh, export 0.0kWh, car 0kWh, load 0.35kWh, net cost 36.8p, import 36.8p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 12:10:02.373765: Today's energy total net 11.1kWh, import 11.1kWh, export 0.0kWh, cost 309.43p, import 259.44p, export 0.0p, carbon 0.0kg
2026-08-15 12:10:02.373908: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 12:10:02.457420: Using weighted-bucket historical load forecast over 14 days
2026-08-15 12:10:02.483668: Today's load divergence 101.5%, in-day adjustment 122.3%, damping 0.95x, yesterday 143.77% today 101.43% blend 49.31%
2026-08-15 12:10:02.483982: Today's predicted so far 7.29kWh with 0.0kWh car/iBoost excluded, 5.67kWh import ignored, and 7.29kWh forecast extra.
2026-08-15 12:10:02.484029: Today's actual load so far 7.53kWh with 0.0kWh car/iBoost excluded, and 5.67kWh import ignored.
2026-08-15 12:10:02.520629: Inverter 0: Type SK Sunsynk
2026-08-15 12:10:02.520725: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 12:10:02.520910: Reserve min: 7%, battery_min: 7%
2026-08-15 12:10:02.521129: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 12:10:02.521426: Inverter 0 SoC: 3.74kW 23%, current charge rate 5000W, current discharge rate 5250W, current battery power 312W, current battery voltage 51.2V, grid power -54W, load power 373W, PV Power 0W
2026-08-15 12:10:02.521619: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 12:10:02.521721: Inverter 0 scheduled charge enable is True
2026-08-15 12:10:02.521766: Inverter 0 charge windows currently [{'start': 630, 'end': 960, 'average': 0}, {'start': 2070, 'end': 2400, 'average': 0}, {'start': 3510, 'end': 3840, 'average': 0}]
2026-08-15 12:10:02.521852: Inverter 0 Charge settings: 08-15 10:30:00-08-15 16:00:00, limit 19.0%, power 5.0kW
2026-08-15 12:10:02.521991: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 12:10:02.522030: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 12:10:02.522066: Inverter 0 scheduled discharge enable is False
2026-08-15 12:10:02.522184: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 12:10:02.522220: Inverter 0 discharge windows currently []
2026-08-15 12:10:02.522242: Note: Inverter does not support discharge freeze - disabled
2026-08-15 12:10:02.522260: Note: Inverter does not support charge freeze - disabled
2026-08-15 12:10:02.522277: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 12:10:02.592166: Dynamic load last period 0.30kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 12:10:02.592280: Plan was last updated on 2026-08-15 12:05:00+01:00 and is now 5.0 minutes old
2026-08-15 12:10:02.592525: Best charge window [ 15-08 11:30:00 - 15-08 12:30:00 @ 16.23p 19%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 12:30:00 - 16-08 18:30:00 @ 41.93p 100%, 16-08 19:00:00 - 17-08 12:00:00 @ 24.43p 100% ]
2026-08-15 12:10:02.592566: Best export window [  ]
2026-08-15 12:10:02.593408: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 12:10:02.597968: Load divergence over 8.0 hours mean 578.56W, min 291.6W, max 1657.2W, std dev 295.3W, divergence 25.52%
2026-08-15 12:10:02.617384: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 12:10:02.617514: LoadML is_calculating False
2026-08-15 12:10:02.617583: Creating pool of 12 processes to match your CPU count
2026-08-15 12:10:02.750868: predict base end_record 08-16 12:35:00, final soc 3.04kWh, metric 810.1p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 18:50:00, load 25.35kWh, PV 0.0kWh
2026-08-15 12:10:02.888095: Battery has 6.67 hours left - now at 3.74kWh
2026-08-15 12:10:02.934639: predict base10 end_record 08-16 12:35:00, final soc 3.04kWh, metric 834.15p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 18:40:00, load 26.2kWh, PV 0.0kWh
2026-08-15 12:10:03.019027: predict best10 end_record 08-16 12:35:00, final soc 1.44kWh, metric 659.28p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 10:25:00, load 26.2kWh, PV 0.0kWh
2026-08-15 12:10:03.101775: predict best end_record 08-16 12:35:00, final soc 1.51kWh, metric 636.91p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 11:35:00, load 25.35kWh, PV 0.0kWh
2026-08-15 12:10:03.101871: Saving plan best values to HA entities
2026-08-15 12:10:03.270253: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 12:10:03.276863: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0.0
2026-08-15 12:10:03.283111: Best charging limit SoC's [3.0, 4.0, 16.0, 16.0, 16.0]kWh, export []kWh gives import battery 16.88kWh, house 0.81kWh, export 0.0kWh, metric 636.91p, metric10 659.28p
2026-08-15 12:10:03.361195: Marginal costs baseline metric (no standing charge): 586.9255
2026-08-15 12:10:03.635794: Marginal energy costs matrix computed: min=14.24 max=33.3
2026-08-15 12:10:03.723018: Rate array import [{'start': 730, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 17.0p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1950, 'rate': 'expensive', 'range': '(24.8p - 32.9p)'}, {'start': 1950, 'end': 2040, 'rate': 'cheap', 'range': '(24.2p - 24.3p)'}, {'start': 2040, 'end': 2130, 'rate': 'expensive', 'range': '(24.7p - 25.4p)'}, {'start': 2130, 'end': 2195, 'rate': 'cheap', 'range': '(23.6p - 24.0p)'}] export [{'start': 730, 'end': 2195, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 12:10:03.723649: - Your estimated bill for today is £5.56 and tomorrow is £6.71
2026-08-15 12:10:03.723704: - Import rates are cheap (13.8p - 17.0p) for the next 3 and three quarters hours and then expensive (33.1p) for the next 1 hour.
2026-08-15 12:10:03.723727: - The battery is currently at 23% and is charging to 19% for the next 20 minutes.
2026-08-15 12:10:03.723746: - For the next 48 hours there will be no solar generation.
2026-08-15 12:10:03.723763: - You will run out of battery in 23 hours.
2026-08-15 12:10:03.723780: 
2026-08-15 12:10:03.778079: Plan calculation took 1.19 seconds
2026-08-15 12:10:03.781887: No high rate period found
2026-08-15 12:10:03.833149: Import threshold used for optimisation was 24.28p
2026-08-15 12:10:03.888178: Low import rate windows [0: 08-15 12:00:00 - 08-15 12:30:00 @ 17.0, 1: 08-15 12:30:00 - 08-15 13:00:00 @ 16.34, 2: 08-15 13:00:00 - 08-15 13:30:00 @ 15.36, 3: 08-15 13:30:00 - 08-15 14:00:00 @ 15.74, 4: 08-15 14:00:00 - 08-15 14:30:00 @ 14.57, 5: 08-15 14:30:00 - 08-15 15:00:00 @ 13.77, 6: 08-15 15:00:00 - 08-15 15:30:00 @ 15.02, 7: 08-15 15:30:00 - 08-15 16:00:00 @ 15.87, 8: 08-15 16:00:00 - 08-15 16:30:00 @ 33.13, 9: 08-15 16:30:00 - 08-15 17:00:00 @ 33.13, 10: 08-15 17:00:00 - 08-15 17:30:00 @ 38.46, 11: 08-15 17:30:00 - 08-15 18:00:00 @ 40.44, 12: 08-15 18:00:00 - 08-15 18:30:00 @ 41.55, 13: 08-15 18:30:00 - 08-15 19:00:00 @ 43.82, 14: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 15: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 16: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 17: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 18: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 19: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 20: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 21: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 22: 08-15 23:00:00 - 08-15 23:30:00 @ 29.37, 23: 08-15 23:30:00 - 08-16 00:00:00 @ 29.2, 24: 08-16 00:00:00 - 08-16 00:30:00 @ 28.83, 25: 08-16 00:30:00 - 08-16 01:00:00 @ 28.46, 26: 08-16 01:00:00 - 08-16 01:30:00 @ 27.73, 27: 08-16 01:30:00 - 08-16 02:00:00 @ 27.01, 28: 08-16 02:00:00 - 08-16 02:30:00 @ 26.76, 29: 08-16 02:30:00 - 08-16 03:00:00 @ 26.48, 30: 08-16 03:00:00 - 08-16 03:30:00 @ 26.39, 31: 08-16 03:30:00 - 08-16 04:00:00 @ 26.27, 32: 08-16 04:00:00 - 08-16 04:30:00 @ 26.33, 33: 08-16 04:30:00 - 08-16 05:00:00 @ 26.37, 34: 08-16 05:00:00 - 08-16 05:30:00 @ 26.23, 35: 08-16 05:30:00 - 08-16 06:00:00 @ 26.07, 36: 08-16 06:00:00 - 08-16 06:30:00 @ 25.99, 37: 08-16 06:30:00 - 08-16 07:00:00 @ 25.92, 38: 08-16 07:00:00 - 08-16 07:30:00 @ 25.64, 39: 08-16 07:30:00 - 08-16 08:00:00 @ 25.39, 40: 08-16 08:00:00 - 08-16 08:30:00 @ 24.84, 41: 08-16 08:30:00 - 08-16 09:00:00 @ 24.28, 42: 08-16 09:00:00 - 08-16 09:30:00 @ 24.26, 43: 08-16 09:30:00 - 08-16 10:00:00 @ 24.22, 44: 08-16 10:00:00 - 08-16 10:30:00 @ 24.8, 45: 08-16 10:30:00 - 08-16 11:00:00 @ 25.37, 46: 08-16 11:00:00 - 08-16 11:30:00 @ 24.71, 47: 08-16 11:30:00 - 08-16 12:00:00 @ 24.02, 48: 08-16 12:00:00 - 08-16 12:30:00 @ 23.79, 49: 08-16 12:30:00 - 08-16 13:00:00 @ 23.55, 50: 08-16 13:00:00 - 08-16 13:30:00 @ 23.14, 51: 08-16 13:30:00 - 08-16 14:00:00 @ 22.71, 52: 08-16 14:00:00 - 08-16 14:30:00 @ 22.01, 53: 08-16 14:30:00 - 08-16 15:00:00 @ 21.29, 54: 08-16 15:00:00 - 08-16 15:30:00 @ 22.01, 55: 08-16 15:30:00 - 08-16 16:00:00 @ 22.71, 56: 08-16 16:00:00 - 08-16 16:30:00 @ 37.14, 57: 08-16 16:30:00 - 08-16 17:00:00 @ 37.91, 58: 08-16 17:00:00 - 08-16 17:30:00 @ 40.13, 59: 08-16 17:30:00 - 08-16 18:00:00 @ 42.36, 60: 08-16 18:00:00 - 08-16 18:30:00 @ 44.19, 61: 08-16 19:00:00 - 08-16 19:30:00 @ 33.04, 62: 08-16 19:30:00 - 08-16 20:00:00 @ 33.71, 63: 08-16 20:00:00 - 08-16 20:30:00 @ 33.83, 64: 08-16 20:30:00 - 08-16 21:00:00 @ 33.94, 65: 08-16 21:00:00 - 08-16 21:30:00 @ 33.73, 66: 08-16 21:30:00 - 08-16 22:00:00 @ 33.53, 67: 08-16 22:00:00 - 08-16 22:30:00 @ 32.36, 68: 08-16 22:30:00 - 08-16 23:00:00 @ 31.17, 69: 08-16 23:00:00 - 08-16 23:30:00 @ 29.37, 70: 08-16 23:30:00 - 08-17 00:00:00 @ 29.2, 71: 08-17 00:00:00 - 08-17 00:30:00 @ 28.83, 72: 08-17 00:30:00 - 08-17 01:00:00 @ 28.46, 73: 08-17 01:00:00 - 08-17 01:30:00 @ 27.73, 74: 08-17 01:30:00 - 08-17 02:00:00 @ 27.01, 75: 08-17 02:00:00 - 08-17 02:30:00 @ 26.76, 76: 08-17 02:30:00 - 08-17 03:00:00 @ 26.48, 77: 08-17 03:00:00 - 08-17 03:30:00 @ 26.39, 78: 08-17 03:30:00 - 08-17 04:00:00 @ 26.27, 79: 08-17 04:00:00 - 08-17 04:30:00 @ 26.33, 80: 08-17 04:30:00 - 08-17 05:00:00 @ 26.37, 81: 08-17 05:00:00 - 08-17 05:30:00 @ 26.23, 82: 08-17 05:30:00 - 08-17 06:00:00 @ 26.07, 83: 08-17 06:00:00 - 08-17 06:30:00 @ 25.99, 84: 08-17 06:30:00 - 08-17 07:00:00 @ 25.92, 85: 08-17 07:00:00 - 08-17 07:30:00 @ 25.64, 86: 08-17 07:30:00 - 08-17 08:00:00 @ 25.39, 87: 08-17 08:00:00 - 08-17 08:30:00 @ 24.84, 88: 08-17 08:30:00 - 08-17 09:00:00 @ 24.28, 89: 08-17 09:00:00 - 08-17 09:30:00 @ 24.26, 90: 08-17 09:30:00 - 08-17 10:00:00 @ 24.22, 91: 08-17 10:00:00 - 08-17 10:30:00 @ 24.8, 92: 08-17 10:30:00 - 08-17 11:00:00 @ 25.37, 93: 08-17 11:00:00 - 08-17 11:30:00 @ 24.71, 94: 08-17 11:30:00 - 08-17 12:00:00 @ 24.02, 95: 08-17 12:00:00 - 08-17 12:30:00 @ 23.79]
2026-08-15 12:10:03.896514: Include original charge start 08-15 10:30:00, keeping this instead of new start 08-15 11:30:00
2026-08-15 12:10:03.896649: Inverter 0 Charge window will be: 2026-08-15 10:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 23%, target 19%
2026-08-15 12:10:03.896840: Inverter 0 Target SoC 19%, (this inverter 19%), battery temperature 20°C, select charge rate 5000W (real 5000W), current charge rate 5000W
2026-08-15 12:10:03.896997: Inverter 0 Hold charging as SoC 23% is above target SoC 19% (global soc target 19%) set_discharge_during_charge True
2026-08-15 12:10:03.897192: Adjust idle time, charge 10:30:00-16:00:00 discharge 00:00:00-00:00:00
2026-08-15 12:10:03.897469: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 12:10:03.897584: No export window planned
2026-08-15 12:10:03.897731: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 12:10:03.897801: Adjust idle time, charge 10:30:00-16:00:00 discharge 00:00:00-00:00:00
2026-08-15 12:10:03.897989: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 12:10:03.898125: Inverter 0 setting charging SoC to 19% as per target
2026-08-15 12:10:03.898207: Inverter 0 adjust target SoC for charge to 19% (3.04kWh/16.0kWh 16.0kWh) based on going from 23% -> 19% total add is -0.7kWh and this battery needs to add -0.7kWh to get to 3.04kWh
2026-08-15 12:10:03.898280: Inverter 0 Current Target SoC is 19%, already at target
2026-08-15 12:10:03.898405: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:10:03.898458: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:10:03.898487: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:10:03.898538: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:10:03.898571: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:10:03.898598: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:10:03.898618: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:10:03.898658: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 12:10:03.898714: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 12:10:03.898755: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 12:10:03.898779: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 12:10:03.898802: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 12:10:03.898830: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 12:10:03.898852: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 12:10:03.898918: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:10:03.899057: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:10:03.899108: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:10:03.899138: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:10:03.899163: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:10:03.899187: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:10:03.899216: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:10:03.899257: Inverter 0 count register writes 0
2026-08-15 12:10:03.915337: Will not recompute the plan, it is 5.0 minutes old and max age is 10 minutes
2026-08-15 12:10:03.920042: Total inverter register writes now 820
2026-08-15 12:10:03.954980: Info: Completed run status Hold charging
2026-08-15 12:10:03.961098: Info: record_status Hold charging target 23%-19%
2026-08-15 12:10:03.968335: Saved current settings to /config/predbat_config.json
2026-08-15 12:10:03.968734: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 12:10:42.081990: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 12:10:42.082309: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 12:10:42.082368: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 12:10:42.082564: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 12:10:42.082650: Note: Inverter does not support discharge freeze - disabled
2026-08-15 12:10:42.082695: Note: Inverter does not support charge freeze - disabled
2026-08-15 12:10:42.082725: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 12:12:42.308748: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 12:12:42.309072: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 12:12:42.309122: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 12:12:42.309263: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 12:12:42.309302: Note: Inverter does not support discharge freeze - disabled
2026-08-15 12:12:42.309324: Note: Inverter does not support charge freeze - disabled
2026-08-15 12:12:42.309342: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 12:14:56.543979: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 12:14:56.544272: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 12:14:56.544317: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 12:14:56.544458: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 12:14:56.544497: Note: Inverter does not support discharge freeze - disabled
2026-08-15 12:14:56.544518: Note: Inverter does not support charge freeze - disabled
2026-08-15 12:14:56.544537: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 12:15:00.633538: --------------- PredBat - update at 2026-08-15 12:15:00+01:00 with clock skew 0 minutes, minutes now 735
2026-08-15 12:15:00.634347: Saved current settings to /config/predbat_config.json
2026-08-15 12:15:00.965296: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.1, latest beta is v8.48.1
2026-08-15 12:15:00.965411: Autoupdate: Currently up to date
2026-08-15 12:15:00.984879: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 12:15:00.985050: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 12:15:00.985224: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 12:15:00.985731: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 12:15:00.985853: Predbat mode is set to Control charge & discharge
2026-08-15 12:15:01.152701: Found 21602 load_today datapoints going back 28 days
2026-08-15 12:15:01.152857: Using load_power data to fill gaps in load_today data
2026-08-15 12:15:01.953039: Processing 721 30-minute periods for power integration
2026-08-15 12:15:02.135116: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 12:15:02.135250: Car charging hold False, threshold 6.0kWh
2026-08-15 12:15:02.135308: Current data so far today: load 7.45kWh, import 11.1kWh, export 0.0kWh, PV 0kWh
2026-08-15 12:15:02.147415: Cars: SoC: [11.72]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 12:15:02.148230: Standing charge is set to 49.98p
2026-08-15 12:15:02.190499: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 12:15:02.190627: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 12:15:02.190900: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 95.0 minutes
2026-08-15 12:15:02.191393: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 95.0 minutes
2026-08-15 12:15:02.197761: Loaded 95 datapoints of futurerate analysis
2026-08-15 12:15:02.303689: Predicted future rates: ['08-15 00:00:00 => 28.9 / 20.01', '08-15 01:00:00 => 27.54 / 19.31', '08-15 02:00:00 => 26.52 / 18.8', '08-15 03:00:00 => 25.99 / 18.53', '08-15 04:00:00 => 25.8 / 18.43', '08-15 05:00:00 => 25.96 / 18.51', '08-15 06:00:00 => 25.55 / 18.3', '08-15 07:00:00 => 24.33 / 17.68', '08-15 08:00:00 => 23.03 / 17.01', '08-15 09:00:00 => 22.05 / 16.51', '08-15 10:00:00 => 20.43 / 15.68', '08-15 11:00:00 => 18.01 / 14.45', '08-15 12:00:00 => 16.37 / 13.61', '08-15 13:00:00 => 15.76 / 13.3', '08-15 14:00:00 => 15.35 / 13.09', '08-15 15:00:00 => 15.86 / 13.35', '08-15 16:00:00 => 32.89 / 16.13', '08-15 17:00:00 => 38.02 / 18.75', '08-15 18:00:00 => 42.36 / 20.96', '08-15 19:00:00 => 31.09 / 21.13', '08-15 20:00:00 => 31.64 / 21.41', '08-15 21:00:00 => 31.64 / 21.41', '08-15 22:00:00 => 30.58 / 20.87', '08-15 23:00:00 => 29.37 / 20.25', '08-16 00:00:00 => 28.83 / 19.97', '08-16 01:00:00 => 27.73 / 19.41', '08-16 02:00:00 => 26.76 / 18.92', '08-16 03:00:00 => 26.39 / 18.73', '08-16 04:00:00 => 26.33 / 18.7', '08-16 05:00:00 => 26.23 / 18.65', '08-16 06:00:00 => 25.99 / 18.53', '08-16 07:00:00 => 25.64 / 18.35', '08-16 08:00:00 => 24.84 / 17.94', '08-16 09:00:00 => 24.26 / 17.64', '08-16 10:00:00 => 24.8 / 17.92', '08-16 11:00:00 => 24.71 / 17.87']
2026-08-15 12:15:02.367733: Rate min forward looking: now 13.77p at end of forecast 21.29p
2026-08-15 12:15:02.368243: Import rates: min 13.77p, max 46.05p, average 27.79p
2026-08-15 12:15:02.407172: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 12:15:02.407361: Rate thresholds (for charge/export) are import 45.55p (0.0p), export -0.1p (0.0p)
2026-08-15 12:15:02.408397: High export rate found rates in range 99p to -99p
2026-08-15 12:15:02.504450: Low Import rate found rates in range 13.77p to 44.19p
2026-08-15 12:15:02.504607: Car 0 charging is not planned as it is not plugged in
2026-08-15 12:15:02.517473: Battery level now 3.74kWh, -1hr ago 2.08kWh, at midnight 1.66kWh, battery value change in the last hour 19.68p, change today 24.69p, rate_forward 11.83p
2026-08-15 12:15:02.517848: Last hour: net energy 2.3kWh, import 2.3kWh, export 0.0kWh, car 0kWh, load 0.35kWh, net cost 35.98p, import 35.98p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 12:15:02.577554: Today's energy total net 11.1kWh, import 11.1kWh, export 0.0kWh, cost 309.43p, import 259.44p, export 0.0p, carbon 0.0kg
2026-08-15 12:15:02.577694: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 12:15:02.656698: Using weighted-bucket historical load forecast over 14 days
2026-08-15 12:15:02.679101: Today's load divergence 101.24%, in-day adjustment 122.03%, damping 0.95x, yesterday 143.77% today 101.18% blend 48.96%
2026-08-15 12:15:02.679182: Today's predicted so far 7.31kWh with 0.0kWh car/iBoost excluded, 5.65kWh import ignored, and 7.31kWh forecast extra.
2026-08-15 12:15:02.679474: Today's actual load so far 7.5kWh with 0.0kWh car/iBoost excluded, and 5.65kWh import ignored.
2026-08-15 12:15:02.716205: Inverter 0: Type SK Sunsynk
2026-08-15 12:15:02.716289: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 12:15:02.716482: Reserve min: 7%, battery_min: 7%
2026-08-15 12:15:02.716558: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 12:15:02.716864: Inverter 0 SoC: 3.68kW 23%, current charge rate 5000W, current discharge rate 5250W, current battery power 359W, current battery voltage 51.2V, grid power -54W, load power 421W, PV Power 0W
2026-08-15 12:15:02.717042: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 12:15:02.717124: Inverter 0 scheduled charge enable is True
2026-08-15 12:15:02.717167: Inverter 0 charge windows currently [{'start': 630, 'end': 960, 'average': 0}, {'start': 2070, 'end': 2400, 'average': 0}, {'start': 3510, 'end': 3840, 'average': 0}]
2026-08-15 12:15:02.717239: Inverter 0 Charge settings: 08-15 10:30:00-08-15 16:00:00, limit 19.0%, power 5.0kW
2026-08-15 12:15:02.717339: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 12:15:02.717364: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 12:15:02.717393: Inverter 0 scheduled discharge enable is False
2026-08-15 12:15:02.717492: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 12:15:02.717516: Inverter 0 discharge windows currently []
2026-08-15 12:15:02.717534: Note: Inverter does not support discharge freeze - disabled
2026-08-15 12:15:02.717549: Note: Inverter does not support charge freeze - disabled
2026-08-15 12:15:02.717568: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 12:15:02.773877: Dynamic load last period 0.30kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 12:15:02.774035: Plan was last updated on 2026-08-15 12:05:00+01:00 and is now 10.0 minutes old
2026-08-15 12:15:02.774394: Best charge window [ 15-08 11:30:00 - 15-08 12:30:00 @ 16.23p 19%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 12:30:00 - 16-08 18:30:00 @ 41.93p 100%, 16-08 19:00:00 - 17-08 12:00:00 @ 24.43p 100% ]
2026-08-15 12:15:02.774457: Best export window [  ]
2026-08-15 12:15:02.775427: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 12:15:02.778306: Load divergence over 8.0 hours mean 579.94W, min 290.4W, max 1559.4W, std dev 313.64W, divergence 27.04%
2026-08-15 12:15:02.793234: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 12:15:02.793355: LoadML is_calculating False
2026-08-15 12:15:02.793412: Creating pool of 12 processes to match your CPU count
2026-08-15 12:15:02.908301: predict base end_record 08-16 12:40:00, final soc 3.04kWh, metric 811.47p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 18:50:00, load 25.37kWh, PV 0.0kWh
2026-08-15 12:15:03.042059: Battery has 6.58 hours left - now at 3.68kWh
2026-08-15 12:15:03.088498: predict base10 end_record 08-16 12:40:00, final soc 3.04kWh, metric 835.49p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 18:40:00, load 26.22kWh, PV 0.0kWh
2026-08-15 12:15:03.170134: predict best10 end_record 08-16 12:40:00, final soc 1.77kWh, metric 668.94p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 10:25:00, load 26.22kWh, PV 0.0kWh
2026-08-15 12:15:03.243522: predict best end_record 08-16 12:40:00, final soc 1.9kWh, metric 648.16p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 11:35:00, load 25.37kWh, PV 0.0kWh
2026-08-15 12:15:03.243612: Saving plan best values to HA entities
2026-08-15 12:15:03.416276: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 12:15:03.423231: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0.0
2026-08-15 12:15:03.429232: Best charging limit SoC's [3.0, 4.0, 16.0, 16.0, 16.0]kWh, export []kWh gives import battery 17.35kWh, house 0.82kWh, export 0.0kWh, metric 648.16p, metric10 668.94p
2026-08-15 12:15:03.507369: Marginal costs baseline metric (no standing charge): 598.1784
2026-08-15 12:15:03.735096: Marginal energy costs matrix computed: min=14.28 max=32.89
2026-08-15 12:15:03.807962: Rate array import [{'start': 735, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 17.0p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1950, 'rate': 'expensive', 'range': '(24.8p - 32.9p)'}, {'start': 1950, 'end': 2040, 'rate': 'cheap', 'range': '(24.2p - 24.3p)'}, {'start': 2040, 'end': 2130, 'rate': 'expensive', 'range': '(24.7p - 25.4p)'}, {'start': 2130, 'end': 2200, 'rate': 'cheap', 'range': '(23.6p - 24.0p)'}] export [{'start': 735, 'end': 2200, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 12:15:03.808474: - Your estimated bill for today is £5.56 and tomorrow is £6.73
2026-08-15 12:15:03.808528: - Import rates are cheap (13.8p - 17.0p) for the next 3 and three quarters hours and then expensive (33.1p) for the next 1 hour.
2026-08-15 12:15:03.808551: - The battery is currently at 23% and is charging to 19% for the next 15 minutes.
2026-08-15 12:15:03.808569: - For the next 48 hours there will be no solar generation.
2026-08-15 12:15:03.808586: - You will run out of battery in 23 hours.
2026-08-15 12:15:03.808616: 
2026-08-15 12:15:03.853448: Plan calculation took 1.08 seconds
2026-08-15 12:15:03.857370: No high rate period found
2026-08-15 12:15:03.905325: Import threshold used for optimisation was 24.28p
2026-08-15 12:15:03.957668: Low import rate windows [0: 08-15 12:00:00 - 08-15 12:30:00 @ 17.0, 1: 08-15 12:30:00 - 08-15 13:00:00 @ 16.34, 2: 08-15 13:00:00 - 08-15 13:30:00 @ 15.36, 3: 08-15 13:30:00 - 08-15 14:00:00 @ 15.74, 4: 08-15 14:00:00 - 08-15 14:30:00 @ 14.57, 5: 08-15 14:30:00 - 08-15 15:00:00 @ 13.77, 6: 08-15 15:00:00 - 08-15 15:30:00 @ 15.02, 7: 08-15 15:30:00 - 08-15 16:00:00 @ 15.87, 8: 08-15 16:00:00 - 08-15 16:30:00 @ 33.13, 9: 08-15 16:30:00 - 08-15 17:00:00 @ 33.13, 10: 08-15 17:00:00 - 08-15 17:30:00 @ 38.46, 11: 08-15 17:30:00 - 08-15 18:00:00 @ 40.44, 12: 08-15 18:00:00 - 08-15 18:30:00 @ 41.55, 13: 08-15 18:30:00 - 08-15 19:00:00 @ 43.82, 14: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 15: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 16: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 17: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 18: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 19: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 20: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 21: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 22: 08-15 23:00:00 - 08-15 23:30:00 @ 29.37, 23: 08-15 23:30:00 - 08-16 00:00:00 @ 29.2, 24: 08-16 00:00:00 - 08-16 00:30:00 @ 28.83, 25: 08-16 00:30:00 - 08-16 01:00:00 @ 28.46, 26: 08-16 01:00:00 - 08-16 01:30:00 @ 27.73, 27: 08-16 01:30:00 - 08-16 02:00:00 @ 27.01, 28: 08-16 02:00:00 - 08-16 02:30:00 @ 26.76, 29: 08-16 02:30:00 - 08-16 03:00:00 @ 26.48, 30: 08-16 03:00:00 - 08-16 03:30:00 @ 26.39, 31: 08-16 03:30:00 - 08-16 04:00:00 @ 26.27, 32: 08-16 04:00:00 - 08-16 04:30:00 @ 26.33, 33: 08-16 04:30:00 - 08-16 05:00:00 @ 26.37, 34: 08-16 05:00:00 - 08-16 05:30:00 @ 26.23, 35: 08-16 05:30:00 - 08-16 06:00:00 @ 26.07, 36: 08-16 06:00:00 - 08-16 06:30:00 @ 25.99, 37: 08-16 06:30:00 - 08-16 07:00:00 @ 25.92, 38: 08-16 07:00:00 - 08-16 07:30:00 @ 25.64, 39: 08-16 07:30:00 - 08-16 08:00:00 @ 25.39, 40: 08-16 08:00:00 - 08-16 08:30:00 @ 24.84, 41: 08-16 08:30:00 - 08-16 09:00:00 @ 24.28, 42: 08-16 09:00:00 - 08-16 09:30:00 @ 24.26, 43: 08-16 09:30:00 - 08-16 10:00:00 @ 24.22, 44: 08-16 10:00:00 - 08-16 10:30:00 @ 24.8, 45: 08-16 10:30:00 - 08-16 11:00:00 @ 25.37, 46: 08-16 11:00:00 - 08-16 11:30:00 @ 24.71, 47: 08-16 11:30:00 - 08-16 12:00:00 @ 24.02, 48: 08-16 12:00:00 - 08-16 12:30:00 @ 23.79, 49: 08-16 12:30:00 - 08-16 13:00:00 @ 23.55, 50: 08-16 13:00:00 - 08-16 13:30:00 @ 23.14, 51: 08-16 13:30:00 - 08-16 14:00:00 @ 22.71, 52: 08-16 14:00:00 - 08-16 14:30:00 @ 22.01, 53: 08-16 14:30:00 - 08-16 15:00:00 @ 21.29, 54: 08-16 15:00:00 - 08-16 15:30:00 @ 22.01, 55: 08-16 15:30:00 - 08-16 16:00:00 @ 22.71, 56: 08-16 16:00:00 - 08-16 16:30:00 @ 37.14, 57: 08-16 16:30:00 - 08-16 17:00:00 @ 37.91, 58: 08-16 17:00:00 - 08-16 17:30:00 @ 40.13, 59: 08-16 17:30:00 - 08-16 18:00:00 @ 42.36, 60: 08-16 18:00:00 - 08-16 18:30:00 @ 44.19, 61: 08-16 19:00:00 - 08-16 19:30:00 @ 33.04, 62: 08-16 19:30:00 - 08-16 20:00:00 @ 33.71, 63: 08-16 20:00:00 - 08-16 20:30:00 @ 33.83, 64: 08-16 20:30:00 - 08-16 21:00:00 @ 33.94, 65: 08-16 21:00:00 - 08-16 21:30:00 @ 33.73, 66: 08-16 21:30:00 - 08-16 22:00:00 @ 33.53, 67: 08-16 22:00:00 - 08-16 22:30:00 @ 32.36, 68: 08-16 22:30:00 - 08-16 23:00:00 @ 31.17, 69: 08-16 23:00:00 - 08-16 23:30:00 @ 29.37, 70: 08-16 23:30:00 - 08-17 00:00:00 @ 29.2, 71: 08-17 00:00:00 - 08-17 00:30:00 @ 28.83, 72: 08-17 00:30:00 - 08-17 01:00:00 @ 28.46, 73: 08-17 01:00:00 - 08-17 01:30:00 @ 27.73, 74: 08-17 01:30:00 - 08-17 02:00:00 @ 27.01, 75: 08-17 02:00:00 - 08-17 02:30:00 @ 26.76, 76: 08-17 02:30:00 - 08-17 03:00:00 @ 26.48, 77: 08-17 03:00:00 - 08-17 03:30:00 @ 26.39, 78: 08-17 03:30:00 - 08-17 04:00:00 @ 26.27, 79: 08-17 04:00:00 - 08-17 04:30:00 @ 26.33, 80: 08-17 04:30:00 - 08-17 05:00:00 @ 26.37, 81: 08-17 05:00:00 - 08-17 05:30:00 @ 26.23, 82: 08-17 05:30:00 - 08-17 06:00:00 @ 26.07, 83: 08-17 06:00:00 - 08-17 06:30:00 @ 25.99, 84: 08-17 06:30:00 - 08-17 07:00:00 @ 25.92, 85: 08-17 07:00:00 - 08-17 07:30:00 @ 25.64, 86: 08-17 07:30:00 - 08-17 08:00:00 @ 25.39, 87: 08-17 08:00:00 - 08-17 08:30:00 @ 24.84, 88: 08-17 08:30:00 - 08-17 09:00:00 @ 24.28, 89: 08-17 09:00:00 - 08-17 09:30:00 @ 24.26, 90: 08-17 09:30:00 - 08-17 10:00:00 @ 24.22, 91: 08-17 10:00:00 - 08-17 10:30:00 @ 24.8, 92: 08-17 10:30:00 - 08-17 11:00:00 @ 25.37, 93: 08-17 11:00:00 - 08-17 11:30:00 @ 24.71, 94: 08-17 11:30:00 - 08-17 12:00:00 @ 24.02, 95: 08-17 12:00:00 - 08-17 12:30:00 @ 23.79]
2026-08-15 12:15:03.964762: Include original charge start 08-15 10:30:00, keeping this instead of new start 08-15 11:30:00
2026-08-15 12:15:03.964883: Inverter 0 Charge window will be: 2026-08-15 10:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 23%, target 19%
2026-08-15 12:15:03.965167: Inverter 0 Target SoC 19%, (this inverter 19%), battery temperature 20°C, select charge rate 5000W (real 5000W), current charge rate 5000W
2026-08-15 12:15:03.965269: Inverter 0 Hold charging as SoC 23% is above target SoC 19% (global soc target 19%) set_discharge_during_charge True
2026-08-15 12:15:03.965450: Adjust idle time, charge 10:30:00-16:00:00 discharge 00:00:00-00:00:00
2026-08-15 12:15:03.965742: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 12:15:03.965845: No export window planned
2026-08-15 12:15:03.966008: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 12:15:03.966041: Adjust idle time, charge 10:30:00-16:00:00 discharge 00:00:00-00:00:00
2026-08-15 12:15:03.966200: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 12:15:03.966319: Inverter 0 setting charging SoC to 19% as per target
2026-08-15 12:15:03.966377: Inverter 0 adjust target SoC for charge to 19% (3.04kWh/16.0kWh 16.0kWh) based on going from 23% -> 19% total add is -0.64kWh and this battery needs to add -0.64kWh to get to 3.04kWh
2026-08-15 12:15:03.966447: Inverter 0 Current Target SoC is 19%, already at target
2026-08-15 12:15:03.966561: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:15:03.966606: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:15:03.966635: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:15:03.966705: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:15:03.966742: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:15:03.966771: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:15:03.966797: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:15:03.966841: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 12:15:03.966884: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 12:15:03.966915: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 12:15:03.966957: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 12:15:03.966988: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 12:15:03.967014: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 12:15:03.967038: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 12:15:03.967104: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:15:03.967134: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:15:03.967159: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:15:03.967193: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:15:03.967217: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:15:03.967245: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:15:03.967269: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:15:03.967289: Inverter 0 count register writes 0
2026-08-15 12:15:03.982566: Will recompute the plan as it is now 10.0 minutes old and will exceed the max age of 10 minutes before the next run
2026-08-15 12:15:03.982739: Recompute is saving previous plan...
2026-08-15 12:15:03.985920: Best charge window [ 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 19%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 19%, 15-08 13:00:00 - 15-08 13:30:00 @ 15.36p 19%, 15-08 13:30:00 - 15-08 14:00:00 @ 15.74p 19%, 15-08 14:00:00 - 15-08 14:30:00 @ 14.57p 19%, 15-08 14:30:00 - 15-08 15:00:00 @ 13.77p 19%, 15-08 15:00:00 - 15-08 15:30:00 @ 15.02p 19%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 19%, 15-08 16:00:00 - 15-08 16:30:00 @ 33.13p 19%, 15-08 16:30:00 - 15-08 17:00:00 @ 33.13p 19%, 15-08 17:00:00 - 15-08 17:30:00 @ 38.46p 19%, 15-08 17:30:00 - 15-08 18:00:00 @ 40.44p 19%, 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 19%, 15-08 18:30:00 - 15-08 19:00:00 @ 43.82p 19%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 19%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 19%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 19%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 19%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 19%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 19%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 19%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 19%, 15-08 23:00:00 - 15-08 23:30:00 @ 29.37p 19%, 15-08 23:30:00 - 16-08 00:00:00 @ 29.2p 19%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.83p 19%, 16-08 00:30:00 - 16-08 01:00:00 @ 28.46p 19%, 16-08 01:00:00 - 16-08 01:30:00 @ 27.73p 19%, 16-08 01:30:00 - 16-08 02:00:00 @ 27.01p 19%, 16-08 02:00:00 - 16-08 02:30:00 @ 26.76p 19%, 16-08 02:30:00 - 16-08 03:00:00 @ 26.48p 19%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.39p 19%, 16-08 03:30:00 - 16-08 04:00:00 @ 26.27p 19%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.33p 19%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.37p 19%, 16-08 05:00:00 - 16-08 05:30:00 @ 26.23p 19%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.07p 19%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.99p 19%, 16-08 06:30:00 - 16-08 07:00:00 @ 25.92p 19%, 16-08 07:00:00 - 16-08 07:30:00 @ 25.64p 19%, 16-08 07:30:00 - 16-08 08:00:00 @ 25.39p 19%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.84p 19%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.28p 19%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.26p 19%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.22p 19%, 16-08 10:00:00 - 16-08 10:30:00 @ 24.8p 19%, 16-08 10:30:00 - 16-08 11:00:00 @ 25.37p 19%, 16-08 11:00:00 - 16-08 11:30:00 @ 24.71p 19%, 16-08 11:30:00 - 16-08 12:00:00 @ 24.02p 19%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.79p 19%, 16-08 12:30:00 - 16-08 13:00:00 @ 23.55p 19%, 16-08 13:00:00 - 16-08 13:30:00 @ 23.14p 19%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.71p 19%, 16-08 14:00:00 - 16-08 14:30:00 @ 22.01p 19%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.29p 19%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.01p 19%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.71p 19%, 16-08 16:00:00 - 16-08 16:30:00 @ 37.14p 19%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.91p 19%, 16-08 17:00:00 - 16-08 17:30:00 @ 40.13p 19%, 16-08 17:30:00 - 16-08 18:00:00 @ 42.36p 19%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.19p 19%, 16-08 19:00:00 - 16-08 19:30:00 @ 33.04p 19%, 16-08 19:30:00 - 16-08 20:00:00 @ 33.71p 19%, 16-08 20:00:00 - 16-08 20:30:00 @ 33.83p 19%, 16-08 20:30:00 - 16-08 21:00:00 @ 33.94p 19%, 16-08 21:00:00 - 16-08 21:30:00 @ 33.73p 19%, 16-08 21:30:00 - 16-08 22:00:00 @ 33.53p 19%, 16-08 22:00:00 - 16-08 22:30:00 @ 32.36p 19%, 16-08 22:30:00 - 16-08 23:00:00 @ 31.17p 19%, 16-08 23:00:00 - 16-08 23:30:00 @ 29.37p 19%, 16-08 23:30:00 - 17-08 00:00:00 @ 29.2p 19%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.83p 19%, 17-08 00:30:00 - 17-08 01:00:00 @ 28.46p 19%, 17-08 01:00:00 - 17-08 01:30:00 @ 27.73p 19%, 17-08 01:30:00 - 17-08 02:00:00 @ 27.01p 19%, 17-08 02:00:00 - 17-08 02:30:00 @ 26.76p 19%, 17-08 02:30:00 - 17-08 03:00:00 @ 26.48p 19%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.39p 19%, 17-08 03:30:00 - 17-08 04:00:00 @ 26.27p 19%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.33p 19%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.37p 19%, 17-08 05:00:00 - 17-08 05:30:00 @ 26.23p 19%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.07p 19%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.99p 19%, 17-08 06:30:00 - 17-08 07:00:00 @ 25.92p 19%, 17-08 07:00:00 - 17-08 07:30:00 @ 25.64p 19%, 17-08 07:30:00 - 17-08 08:00:00 @ 25.39p 19%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.84p 19%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.28p 19%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.26p 19%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.22p 19%, 17-08 10:00:00 - 17-08 10:30:00 @ 24.8p 19%, 17-08 10:30:00 - 17-08 11:00:00 @ 25.37p 19%, 17-08 11:00:00 - 17-08 11:30:00 @ 24.71p 19%, 17-08 11:30:00 - 17-08 12:00:00 @ 24.02p 19%, 17-08 12:00:00 - 17-08 12:30:00 @ 23.79p 19% ]
2026-08-15 12:15:03.986013: Best export window [  ]
2026-08-15 12:15:03.986854: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 12:15:03.989916: Load divergence over 8.0 hours mean 579.94W, min 290.4W, max 1559.4W, std dev 313.64W, divergence 27.04%
2026-08-15 12:15:04.007716: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 12:15:04.007827: LoadML is_calculating False
2026-08-15 12:15:04.007889: Creating pool of 12 processes to match your CPU count
2026-08-15 12:15:04.088230: Calculate Best options: mode(Control charge & discharge), calculate_export_oncharge(False), calculate_export_on_pv(True), set_export_freeze_only(False), set_discharge_during_charge(True), combine_charge_slots(False), combine_export_slots(False), combine_rate_threshold(0.0), best_soc_min(0.0 kWh), best_soc_max(0.0 kWh), best_soc_keep(0.0 kWh), inverter_loss(4%), battery_loss(3%), battery_loss_discharge (3%), inverter_hybrid(True), metric_min_improvement(0.0p), metric_min_improvement_export(0.1p), metric_min_improvement_export_freeze(0.1p), metric_battery_cycle(0.0p/kWh), metric_battery_value_scaling(1.0 x) 
2026-08-15 12:15:04.090605: Optimise levels pass started at 2026-08-15 12:15:04
2026-08-15 12:15:04.090676: Optimise all windows, total charge 95 export 1
2026-08-15 12:15:04.926335: >> Region optimisation pass width 960 gives best_metric 950.42p, best_cost 963.18p, best_cycle 47.44kWh, best_import 34.17kWh
2026-08-15 12:15:05.357321: >> Region optimisation pass width 480 gives best_metric 950.42p, best_cost 963.18p, best_cycle 47.44kWh, best_import 34.17kWh
2026-08-15 12:15:05.866567: >> Region optimisation pass width 240 gives best_metric 950.42p, best_cost 963.18p, best_cycle 47.44kWh, best_import 34.17kWh
2026-08-15 12:15:07.328488: >> Region optimisation pass width 120 gives best_metric 950.22p, best_cost 964.59p, best_cycle 46.3kWh, best_import 34.08kWh
2026-08-15 12:15:07.328974: Calculated end_record as 08-16 12:30:00 based on best_price 22.71p, next_charge_start 08-15 12:30:00, max_windows 49
2026-08-15 12:15:07.329067: Optimise levels pass ended at 2026-08-15 12:15:07, duration 3.2 seconds tried 306 combinations
2026-08-15 12:15:07.329136: Set best_price_charge_level 24.4p, best_price_export_level 0p, best_price_charge 22.71p, best_cost_export 0p, best_metric 950.22p, best_keep 0kWh, best_cycle 46.3kWh, best_carbon 0kg, best_import 34.08kWh
2026-08-15 12:15:07.349556: Starting detailed optimisation end_record 08-16 12:30:00, best_price_charge 22.71p, best_price_export 0p. lowest_price_charge 13.77p with charge limits [0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0]kWh and export limits []kWh
2026-08-15 12:15:11.267479: Tweak plan optimisation started metric 557.79p, cost 574.78p
2026-08-15 12:15:11.576258: Tweak optimisation finished metric 557.79p, cost 574.78p, metric_keep 0kWh, cycle 27.13kWh, carbon 0kg, import 17.15kWh, changed 8 window(s)
2026-08-15 12:15:11.596535: Swap charge optimisation started metric 557.79p, cost 574.78p, min_improvement_swap 0.1p
2026-08-15 12:15:15.389291: Swap charge optimisation finished metric 557.79p, cost 574.78p
2026-08-15 12:15:15.537664: Pruned 3 dead plan slot(s) in 11 trial(s), nominal metric 554.3p -> 554.3p, plan now metric 557.88p, cost 574.78p, cycle 27.13kWh, import 17.15kWh
2026-08-15 12:15:15.549739: Raw charge windows [ 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 13:30:00 @ 15.36p 100%, 15-08 13:30:00 - 15-08 14:00:00 @ 15.74p 100%, 15-08 14:00:00 - 15-08 14:30:00 @ 14.57p 100%, 15-08 14:30:00 - 15-08 15:00:00 @ 13.77p 100%, 15-08 15:00:00 - 15-08 15:30:00 @ 15.02p 100%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 100%, 15-08 16:00:00 - 15-08 16:30:00 @ 33.13p 0%, 15-08 16:30:00 - 15-08 17:00:00 @ 33.13p 0%, 15-08 17:00:00 - 15-08 17:30:00 @ 38.46p 0%, 15-08 17:30:00 - 15-08 18:00:00 @ 40.44p 0%, 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 0%, 15-08 18:30:00 - 15-08 19:00:00 @ 43.82p 0%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 0%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 0%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 0%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 0%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 29.37p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 29.2p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.83p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 28.46p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 27.73p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 27.01p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 26.76p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 26.48p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.39p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 26.27p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.33p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.37p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 26.23p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.07p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.99p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 25.92p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 25.64p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 25.39p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.84p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.28p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.26p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.22p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 24.8p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 25.37p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 24.71p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 24.02p 0%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.79p 0%, 16-08 12:30:00 - 16-08 13:00:00 @ 23.55p 100%, 16-08 13:00:00 - 16-08 13:30:00 @ 23.14p 100%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.71p 100%, 16-08 14:00:00 - 16-08 14:30:00 @ 22.01p 100%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.29p 100%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.01p 100%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.71p 100%, 16-08 16:00:00 - 16-08 16:30:00 @ 37.14p 100%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.91p 100%, 16-08 17:00:00 - 16-08 17:30:00 @ 40.13p 100%, 16-08 17:30:00 - 16-08 18:00:00 @ 42.36p 100%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.19p 100%, 16-08 19:00:00 - 16-08 19:30:00 @ 33.04p 100%, 16-08 19:30:00 - 16-08 20:00:00 @ 33.71p 100%, 16-08 20:00:00 - 16-08 20:30:00 @ 33.83p 100%, 16-08 20:30:00 - 16-08 21:00:00 @ 33.94p 100%, 16-08 21:00:00 - 16-08 21:30:00 @ 33.73p 100%, 16-08 21:30:00 - 16-08 22:00:00 @ 33.53p 100%, 16-08 22:00:00 - 16-08 22:30:00 @ 32.36p 100%, 16-08 22:30:00 - 16-08 23:00:00 @ 31.17p 100%, 16-08 23:00:00 - 16-08 23:30:00 @ 29.37p 100%, 16-08 23:30:00 - 17-08 00:00:00 @ 29.2p 100%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.83p 100%, 17-08 00:30:00 - 17-08 01:00:00 @ 28.46p 100%, 17-08 01:00:00 - 17-08 01:30:00 @ 27.73p 100%, 17-08 01:30:00 - 17-08 02:00:00 @ 27.01p 100%, 17-08 02:00:00 - 17-08 02:30:00 @ 26.76p 100%, 17-08 02:30:00 - 17-08 03:00:00 @ 26.48p 100%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.39p 100%, 17-08 03:30:00 - 17-08 04:00:00 @ 26.27p 100%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.33p 100%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.37p 100%, 17-08 05:00:00 - 17-08 05:30:00 @ 26.23p 100%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.07p 100%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.99p 100%, 17-08 06:30:00 - 17-08 07:00:00 @ 25.92p 100%, 17-08 07:00:00 - 17-08 07:30:00 @ 25.64p 100%, 17-08 07:30:00 - 17-08 08:00:00 @ 25.39p 100%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.84p 100%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.28p 100%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.26p 100%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.22p 100%, 17-08 10:00:00 - 17-08 10:30:00 @ 24.8p 100%, 17-08 10:30:00 - 17-08 11:00:00 @ 25.37p 100%, 17-08 11:00:00 - 17-08 11:30:00 @ 24.71p 100%, 17-08 11:30:00 - 17-08 12:00:00 @ 24.02p 100%, 17-08 12:00:00 - 17-08 12:30:00 @ 23.79p 100% ] reserve 1.12
2026-08-15 12:15:15.550402: Unclipped charge windows [ 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 12:30:00 - 16-08 18:30:00 @ 41.93p 100%, 16-08 19:00:00 - 17-08 12:30:00 @ 24.11p 100% ] reserve 1.12
2026-08-15 12:15:15.550693: Unfiltered charge windows [ 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 12:30:00 - 16-08 18:30:00 @ 41.93p 100%, 16-08 19:00:00 - 17-08 12:30:00 @ 24.11p 100% ] reserve 1.12
2026-08-15 12:15:15.550945: Filtered charge windows [ 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 12:30:00 - 16-08 18:30:00 @ 41.93p 100%, 16-08 19:00:00 - 17-08 12:30:00 @ 24.11p 100% ] reserve 1.12
2026-08-15 12:15:15.589413: Previous plan best metric is 558.25 (cost 575.24) and new plan best metric is 557.79 (cost 574.78)
2026-08-15 12:15:15.589722: New plan metric is not significantly better (metric_min_improvement_plan 2.0) than previous plan, using previous plan
2026-08-15 12:15:15.589906: Plan valid is now true after recompute was False
2026-08-15 12:15:15.619815: predict base end_record 08-16 12:30:00, final soc 3.04kWh, metric 808.16p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 18:50:00, load 25.23kWh, PV 0.0kWh
2026-08-15 12:15:15.725355: Battery has 6.58 hours left - now at 3.68kWh
2026-08-15 12:15:15.770771: predict base10 end_record 08-16 12:30:00, final soc 3.04kWh, metric 832.01p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 18:40:00, load 26.07kWh, PV 0.0kWh
2026-08-15 12:15:15.849709: predict best10 end_record 08-16 12:30:00, final soc 1.12kWh, metric 649.11p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 10:25:00, load 26.07kWh, PV 0.0kWh
2026-08-15 12:15:15.928431: predict best end_record 08-16 12:30:00, final soc 1.12kWh, metric 625.22p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 11:35:00, load 25.23kWh, PV 0.0kWh
2026-08-15 12:15:15.928527: Saving plan best values to HA entities
2026-08-15 12:15:16.094767: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 12:15:16.100574: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0.0
2026-08-15 12:15:16.106503: Best charging limit SoC's [3.0, 4.0, 16.0, 16.0, 16.0]kWh, export []kWh gives import battery 16.37kWh, house 0.82kWh, export 0.0kWh, metric 625.22p, metric10 649.11p
2026-08-15 12:15:16.184840: Marginal costs baseline metric (no standing charge): 575.2399
2026-08-15 12:15:16.463616: Marginal energy costs matrix computed: min=14.28 max=32.89
2026-08-15 12:15:16.547494: Rate array import [{'start': 735, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 17.0p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1950, 'rate': 'expensive', 'range': '(24.8p - 32.9p)'}, {'start': 1950, 'end': 2040, 'rate': 'cheap', 'range': '(24.2p - 24.3p)'}, {'start': 2040, 'end': 2130, 'rate': 'expensive', 'range': '(24.7p - 25.4p)'}, {'start': 2130, 'end': 2190, 'rate': 'cheap', 'range': '(23.8p - 24.0p)'}] export [{'start': 735, 'end': 2190, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 12:15:16.547896: - Your estimated bill for today is £5.56 and tomorrow is £6.73
2026-08-15 12:15:16.547957: - Import rates are cheap (13.8p - 17.0p) for the next 3 and three quarters hours and then expensive (33.1p) for the next 1 hour.
2026-08-15 12:15:16.547982: - The battery is currently at 23% and is charging to 19% for the next 15 minutes.
2026-08-15 12:15:16.548000: - For the next 48 hours there will be no solar generation.
2026-08-15 12:15:16.548022: - You will run out of battery in 23 hours.
2026-08-15 12:15:16.548041: 
2026-08-15 12:15:16.603528: Plan calculation took 12.62 seconds
2026-08-15 12:15:16.604006: Inverter 0: Type SK Sunsynk
2026-08-15 12:15:16.604076: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 12:15:16.604391: Reserve min: 7%, battery_min: 7%
2026-08-15 12:15:16.604523: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 12:15:16.605067: Inverter 0 SoC: 3.68kW 23%, current charge rate 5000W, current discharge rate 5250W, current battery power 358W, current battery voltage 51.2V, grid power -54W, load power 420W, PV Power 0W
2026-08-15 12:15:16.605383: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 12:15:16.605542: Inverter 0 scheduled charge enable is True
2026-08-15 12:15:16.605614: Inverter 0 charge windows currently [{'start': 630, 'end': 960, 'average': 0}, {'start': 2070, 'end': 2400, 'average': 0}, {'start': 3510, 'end': 3840, 'average': 0}]
2026-08-15 12:15:16.605775: Inverter 0 Charge settings: 08-15 10:30:00-08-15 16:00:00, limit 19.0%, power 5.0kW
2026-08-15 12:15:16.605969: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 12:15:16.606014: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 12:15:16.606066: Inverter 0 scheduled discharge enable is False
2026-08-15 12:15:16.606250: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 12:15:16.606295: Inverter 0 discharge windows currently []
2026-08-15 12:15:16.606324: Note: Inverter does not support discharge freeze - disabled
2026-08-15 12:15:16.606367: Note: Inverter does not support charge freeze - disabled
2026-08-15 12:15:16.606405: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 12:15:16.669189: Include original charge start 08-15 10:30:00, keeping this instead of new start 08-15 11:30:00
2026-08-15 12:15:16.669339: Inverter 0 Charge window will be: 2026-08-15 10:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 23%, target 19%
2026-08-15 12:15:16.669469: Inverter 0 Target SoC 19%, (this inverter 19%), battery temperature 20°C, select charge rate 5000W (real 5000W), current charge rate 5000W
2026-08-15 12:15:16.669572: Inverter 0 Hold charging as SoC 23% is above target SoC 19% (global soc target 19%) set_discharge_during_charge True
2026-08-15 12:15:16.669714: Adjust idle time, charge 10:30:00-16:00:00 discharge 00:00:00-00:00:00
2026-08-15 12:15:16.669916: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 12:15:16.670021: No export window planned
2026-08-15 12:15:16.670133: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 12:15:16.670168: Adjust idle time, charge 10:30:00-16:00:00 discharge 00:00:00-00:00:00
2026-08-15 12:15:16.670300: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 12:15:16.670411: Inverter 0 setting charging SoC to 19% as per target
2026-08-15 12:15:16.670476: Inverter 0 adjust target SoC for charge to 19% (3.04kWh/16.0kWh 16.0kWh) based on going from 23% -> 19% total add is -0.64kWh and this battery needs to add -0.64kWh to get to 3.04kWh
2026-08-15 12:15:16.670526: Inverter 0 Current Target SoC is 19%, already at target
2026-08-15 12:15:16.670640: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:15:16.670687: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:15:16.670718: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:15:16.670743: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:15:16.670767: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:15:16.670794: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:15:16.670818: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:15:16.670886: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 12:15:16.670922: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 12:15:16.670977: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 12:15:16.671005: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 12:15:16.671032: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 12:15:16.671057: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 12:15:16.671081: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 12:15:16.671141: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:15:16.671168: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:15:16.671192: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:15:16.671216: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:15:16.671242: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:15:16.671265: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:15:16.671289: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:15:16.671309: Inverter 0 count register writes 0
2026-08-15 12:15:16.695792: Total inverter register writes now 820
2026-08-15 12:15:16.732563: Info: Completed run status Hold charging
2026-08-15 12:15:16.738946: Info: record_status Hold charging target 23%-19%
2026-08-15 12:15:16.745984: Saved current settings to /config/predbat_config.json
2026-08-15 12:15:16.746333: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 12:15:56.868633: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 12:15:56.868906: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 12:15:56.868997: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 12:15:56.869159: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 12:15:56.869200: Note: Inverter does not support discharge freeze - disabled
2026-08-15 12:15:56.869222: Note: Inverter does not support charge freeze - disabled
2026-08-15 12:15:56.869240: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 12:17:57.126329: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 12:17:57.126763: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 12:17:57.126820: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 12:17:57.127044: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 12:17:57.127119: Note: Inverter does not support discharge freeze - disabled
2026-08-15 12:17:57.127163: Note: Inverter does not support charge freeze - disabled
2026-08-15 12:17:57.127184: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 12:19:57.356132: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 12:19:57.356447: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 12:19:57.356519: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 12:19:57.356730: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 12:19:57.356774: Note: Inverter does not support discharge freeze - disabled
2026-08-15 12:19:57.356811: Note: Inverter does not support charge freeze - disabled
2026-08-15 12:19:57.356846: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 12:20:00.438486: --------------- PredBat - update at 2026-08-15 12:20:00+01:00 with clock skew 0 minutes, minutes now 740
2026-08-15 12:20:00.439338: Saved current settings to /config/predbat_config.json
2026-08-15 12:20:00.439564: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 5.0 minutes
2026-08-15 12:20:00.439637: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.1, latest beta is v8.48.1
2026-08-15 12:20:00.439721: Autoupdate: Currently up to date
2026-08-15 12:20:00.470738: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 12:20:00.470874: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 12:20:00.471153: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 12:20:00.471793: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 12:20:00.471922: Predbat mode is set to Control charge & discharge
2026-08-15 12:20:00.659680: Found 21602 load_today datapoints going back 28 days
2026-08-15 12:20:00.659833: Using load_power data to fill gaps in load_today data
2026-08-15 12:20:01.407405: Processing 721 30-minute periods for power integration
2026-08-15 12:20:01.565203: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 12:20:01.565339: Car charging hold False, threshold 6.0kWh
2026-08-15 12:20:01.565382: Current data so far today: load 7.4kWh, import 11.1kWh, export 0.0kWh, PV 0kWh
2026-08-15 12:20:01.578427: Cars: SoC: [11.72]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 12:20:01.578826: Standing charge is set to 49.98p
2026-08-15 12:20:01.622209: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 12:20:01.622320: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 12:20:01.622584: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 100.0 minutes
2026-08-15 12:20:01.623087: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 100.0 minutes
2026-08-15 12:20:01.627915: Loaded 95 datapoints of futurerate analysis
2026-08-15 12:20:01.714682: Predicted future rates: ['08-15 00:00:00 => 28.9 / 20.01', '08-15 01:00:00 => 27.54 / 19.31', '08-15 02:00:00 => 26.52 / 18.8', '08-15 03:00:00 => 25.99 / 18.53', '08-15 04:00:00 => 25.8 / 18.43', '08-15 05:00:00 => 25.96 / 18.51', '08-15 06:00:00 => 25.55 / 18.3', '08-15 07:00:00 => 24.33 / 17.68', '08-15 08:00:00 => 23.03 / 17.01', '08-15 09:00:00 => 22.05 / 16.51', '08-15 10:00:00 => 20.43 / 15.68', '08-15 11:00:00 => 18.01 / 14.45', '08-15 12:00:00 => 16.37 / 13.61', '08-15 13:00:00 => 15.76 / 13.3', '08-15 14:00:00 => 15.35 / 13.09', '08-15 15:00:00 => 15.86 / 13.35', '08-15 16:00:00 => 32.89 / 16.13', '08-15 17:00:00 => 38.02 / 18.75', '08-15 18:00:00 => 42.36 / 20.96', '08-15 19:00:00 => 31.09 / 21.13', '08-15 20:00:00 => 31.64 / 21.41', '08-15 21:00:00 => 31.64 / 21.41', '08-15 22:00:00 => 30.58 / 20.87', '08-15 23:00:00 => 29.37 / 20.25', '08-16 00:00:00 => 28.83 / 19.97', '08-16 01:00:00 => 27.73 / 19.41', '08-16 02:00:00 => 26.76 / 18.92', '08-16 03:00:00 => 26.39 / 18.73', '08-16 04:00:00 => 26.33 / 18.7', '08-16 05:00:00 => 26.23 / 18.65', '08-16 06:00:00 => 25.99 / 18.53', '08-16 07:00:00 => 25.64 / 18.35', '08-16 08:00:00 => 24.84 / 17.94', '08-16 09:00:00 => 24.26 / 17.64', '08-16 10:00:00 => 24.8 / 17.92', '08-16 11:00:00 => 24.71 / 17.87']
2026-08-15 12:20:01.770159: Rate min forward looking: now 13.77p at end of forecast 21.29p
2026-08-15 12:20:01.770579: Import rates: min 13.77p, max 46.05p, average 27.81p
2026-08-15 12:20:01.805053: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 12:20:01.805214: Rate thresholds (for charge/export) are import 45.55p (0.0p), export -0.1p (0.0p)
2026-08-15 12:20:01.806531: High export rate found rates in range 99p to -99p
2026-08-15 12:20:01.884322: Low Import rate found rates in range 13.77p to 44.19p
2026-08-15 12:20:01.884448: Car 0 charging is not planned as it is not plugged in
2026-08-15 12:20:01.896081: Battery level now 3.68kWh, -1hr ago 2.08kWh, at midnight 1.66kWh, battery value change in the last hour 18.92p, change today 23.94p, rate_forward 11.83p
2026-08-15 12:20:01.896395: Last hour: net energy 2.25kWh, import 2.25kWh, export 0.0kWh, car 0kWh, load 0.25kWh, net cost 35.15p, import 35.15p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 12:20:01.946774: Today's energy total net 11.1kWh, import 11.1kWh, export 0.0kWh, cost 309.43p, import 259.44p, export 0.0p, carbon 0.0kg
2026-08-15 12:20:01.946918: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 12:20:02.033845: Using weighted-bucket historical load forecast over 14 days
2026-08-15 12:20:02.057470: Today's load divergence 100.4%, in-day adjustment 121.47%, damping 0.95x, yesterday 143.77% today 100.38% blend 48.61%
2026-08-15 12:20:02.057555: Today's predicted so far 7.35kWh with 0.0kWh car/iBoost excluded, 5.64kWh import ignored, and 7.35kWh forecast extra.
2026-08-15 12:20:02.057582: Today's actual load so far 7.42kWh with 0.0kWh car/iBoost excluded, and 5.64kWh import ignored.
2026-08-15 12:20:02.090010: Inverter 0: Type SK Sunsynk
2026-08-15 12:20:02.090092: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 12:20:02.090257: Reserve min: 7%, battery_min: 7%
2026-08-15 12:20:02.090315: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 12:20:02.090549: Inverter 0 SoC: 3.68kW 23%, current charge rate 5000W, current discharge rate 5250W, current battery power 305W, current battery voltage 51.2V, grid power -55W, load power 368W, PV Power 0W
2026-08-15 12:20:02.090683: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 12:20:02.090758: Inverter 0 scheduled charge enable is True
2026-08-15 12:20:02.090800: Inverter 0 charge windows currently [{'start': 630, 'end': 960, 'average': 0}, {'start': 2070, 'end': 2400, 'average': 0}, {'start': 3510, 'end': 3840, 'average': 0}]
2026-08-15 12:20:02.090874: Inverter 0 Charge settings: 08-15 10:30:00-08-15 16:00:00, limit 19.0%, power 5.0kW
2026-08-15 12:20:02.090998: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 12:20:02.091024: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 12:20:02.091055: Inverter 0 scheduled discharge enable is False
2026-08-15 12:20:02.091156: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 12:20:02.091231: Inverter 0 discharge windows currently []
2026-08-15 12:20:02.091251: Note: Inverter does not support discharge freeze - disabled
2026-08-15 12:20:02.091266: Note: Inverter does not support charge freeze - disabled
2026-08-15 12:20:02.091280: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 12:20:02.145761: Dynamic load last period 0.00kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 12:20:02.145860: Plan was last updated on 2026-08-15 12:15:00+01:00 and is now 5.0 minutes old
2026-08-15 12:20:02.146096: Best charge window [ 15-08 11:30:00 - 15-08 12:30:00 @ 16.23p 19%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 12:30:00 - 16-08 18:30:00 @ 41.93p 100%, 16-08 19:00:00 - 17-08 12:00:00 @ 24.43p 100% ]
2026-08-15 12:20:02.146137: Best export window [  ]
2026-08-15 12:20:02.146863: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 12:20:02.149364: Load divergence over 8.0 hours mean 564.76W, min 292.8W, max 1692.6W, std dev 289.51W, divergence 25.63%
2026-08-15 12:20:02.164691: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 12:20:02.164804: LoadML is_calculating False
2026-08-15 12:20:02.164864: Creating pool of 12 processes to match your CPU count
2026-08-15 12:20:02.282790: predict base end_record 08-16 12:35:00, final soc 3.04kWh, metric 808.03p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 18:45:00, load 25.13kWh, PV 0.0kWh
2026-08-15 12:20:02.400317: Battery has 6.42 hours left - now at 3.68kWh
2026-08-15 12:20:02.437652: predict base10 end_record 08-16 12:35:00, final soc 3.04kWh, metric 831.9p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 18:40:00, load 25.98kWh, PV 0.0kWh
2026-08-15 12:20:02.513594: predict best10 end_record 08-16 12:35:00, final soc 1.44kWh, metric 656.75p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 10:30:00, load 25.98kWh, PV 0.0kWh
2026-08-15 12:20:02.586034: predict best end_record 08-16 12:35:00, final soc 1.51kWh, metric 634.52p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 11:35:00, load 25.13kWh, PV 0.0kWh
2026-08-15 12:20:02.586120: Saving plan best values to HA entities
2026-08-15 12:20:02.748366: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 12:20:02.754404: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0.0
2026-08-15 12:20:02.760501: Best charging limit SoC's [3.0, 4.0, 16.0, 16.0, 16.0]kWh, export []kWh gives import battery 16.75kWh, house 0.8kWh, export 0.0kWh, metric 634.52p, metric10 656.75p
2026-08-15 12:20:02.834437: Marginal costs baseline metric (no standing charge): 584.5356
2026-08-15 12:20:03.071335: Marginal energy costs matrix computed: min=14.32 max=32.49
2026-08-15 12:20:03.133377: Rate array import [{'start': 740, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 17.0p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1950, 'rate': 'expensive', 'range': '(24.8p - 32.9p)'}, {'start': 1950, 'end': 2040, 'rate': 'cheap', 'range': '(24.2p - 24.3p)'}, {'start': 2040, 'end': 2130, 'rate': 'expensive', 'range': '(24.7p - 25.4p)'}, {'start': 2130, 'end': 2195, 'rate': 'cheap', 'range': '(23.6p - 24.0p)'}] export [{'start': 740, 'end': 2195, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 12:20:03.133705: - Your estimated bill for today is £5.54 and tomorrow is £6.73
2026-08-15 12:20:03.133741: - Import rates are cheap (13.8p - 17.0p) for the next 3 and three quarters hours and then expensive (33.1p) for the next 1 hour.
2026-08-15 12:20:03.133786: - The battery is currently at 23% and is charging to 19% for the next 10 minutes.
2026-08-15 12:20:03.133818: - For the next 48 hours there will be no solar generation.
2026-08-15 12:20:03.133838: - You will run out of battery in 23 hours.
2026-08-15 12:20:03.133852: 
2026-08-15 12:20:03.178320: Plan calculation took 1.03 seconds
2026-08-15 12:20:03.181891: No high rate period found
2026-08-15 12:20:03.226504: Import threshold used for optimisation was 24.28p
2026-08-15 12:20:03.272428: Low import rate windows [0: 08-15 12:00:00 - 08-15 12:30:00 @ 17.0, 1: 08-15 12:30:00 - 08-15 13:00:00 @ 16.34, 2: 08-15 13:00:00 - 08-15 13:30:00 @ 15.36, 3: 08-15 13:30:00 - 08-15 14:00:00 @ 15.74, 4: 08-15 14:00:00 - 08-15 14:30:00 @ 14.57, 5: 08-15 14:30:00 - 08-15 15:00:00 @ 13.77, 6: 08-15 15:00:00 - 08-15 15:30:00 @ 15.02, 7: 08-15 15:30:00 - 08-15 16:00:00 @ 15.87, 8: 08-15 16:00:00 - 08-15 16:30:00 @ 33.13, 9: 08-15 16:30:00 - 08-15 17:00:00 @ 33.13, 10: 08-15 17:00:00 - 08-15 17:30:00 @ 38.46, 11: 08-15 17:30:00 - 08-15 18:00:00 @ 40.44, 12: 08-15 18:00:00 - 08-15 18:30:00 @ 41.55, 13: 08-15 18:30:00 - 08-15 19:00:00 @ 43.82, 14: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 15: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 16: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 17: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 18: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 19: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 20: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 21: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 22: 08-15 23:00:00 - 08-15 23:30:00 @ 29.37, 23: 08-15 23:30:00 - 08-16 00:00:00 @ 29.2, 24: 08-16 00:00:00 - 08-16 00:30:00 @ 28.83, 25: 08-16 00:30:00 - 08-16 01:00:00 @ 28.46, 26: 08-16 01:00:00 - 08-16 01:30:00 @ 27.73, 27: 08-16 01:30:00 - 08-16 02:00:00 @ 27.01, 28: 08-16 02:00:00 - 08-16 02:30:00 @ 26.76, 29: 08-16 02:30:00 - 08-16 03:00:00 @ 26.48, 30: 08-16 03:00:00 - 08-16 03:30:00 @ 26.39, 31: 08-16 03:30:00 - 08-16 04:00:00 @ 26.27, 32: 08-16 04:00:00 - 08-16 04:30:00 @ 26.33, 33: 08-16 04:30:00 - 08-16 05:00:00 @ 26.37, 34: 08-16 05:00:00 - 08-16 05:30:00 @ 26.23, 35: 08-16 05:30:00 - 08-16 06:00:00 @ 26.07, 36: 08-16 06:00:00 - 08-16 06:30:00 @ 25.99, 37: 08-16 06:30:00 - 08-16 07:00:00 @ 25.92, 38: 08-16 07:00:00 - 08-16 07:30:00 @ 25.64, 39: 08-16 07:30:00 - 08-16 08:00:00 @ 25.39, 40: 08-16 08:00:00 - 08-16 08:30:00 @ 24.84, 41: 08-16 08:30:00 - 08-16 09:00:00 @ 24.28, 42: 08-16 09:00:00 - 08-16 09:30:00 @ 24.26, 43: 08-16 09:30:00 - 08-16 10:00:00 @ 24.22, 44: 08-16 10:00:00 - 08-16 10:30:00 @ 24.8, 45: 08-16 10:30:00 - 08-16 11:00:00 @ 25.37, 46: 08-16 11:00:00 - 08-16 11:30:00 @ 24.71, 47: 08-16 11:30:00 - 08-16 12:00:00 @ 24.02, 48: 08-16 12:00:00 - 08-16 12:30:00 @ 23.79, 49: 08-16 12:30:00 - 08-16 13:00:00 @ 23.55, 50: 08-16 13:00:00 - 08-16 13:30:00 @ 23.14, 51: 08-16 13:30:00 - 08-16 14:00:00 @ 22.71, 52: 08-16 14:00:00 - 08-16 14:30:00 @ 22.01, 53: 08-16 14:30:00 - 08-16 15:00:00 @ 21.29, 54: 08-16 15:00:00 - 08-16 15:30:00 @ 22.01, 55: 08-16 15:30:00 - 08-16 16:00:00 @ 22.71, 56: 08-16 16:00:00 - 08-16 16:30:00 @ 37.14, 57: 08-16 16:30:00 - 08-16 17:00:00 @ 37.91, 58: 08-16 17:00:00 - 08-16 17:30:00 @ 40.13, 59: 08-16 17:30:00 - 08-16 18:00:00 @ 42.36, 60: 08-16 18:00:00 - 08-16 18:30:00 @ 44.19, 61: 08-16 19:00:00 - 08-16 19:30:00 @ 33.04, 62: 08-16 19:30:00 - 08-16 20:00:00 @ 33.71, 63: 08-16 20:00:00 - 08-16 20:30:00 @ 33.83, 64: 08-16 20:30:00 - 08-16 21:00:00 @ 33.94, 65: 08-16 21:00:00 - 08-16 21:30:00 @ 33.73, 66: 08-16 21:30:00 - 08-16 22:00:00 @ 33.53, 67: 08-16 22:00:00 - 08-16 22:30:00 @ 32.36, 68: 08-16 22:30:00 - 08-16 23:00:00 @ 31.17, 69: 08-16 23:00:00 - 08-16 23:30:00 @ 29.37, 70: 08-16 23:30:00 - 08-17 00:00:00 @ 29.2, 71: 08-17 00:00:00 - 08-17 00:30:00 @ 28.83, 72: 08-17 00:30:00 - 08-17 01:00:00 @ 28.46, 73: 08-17 01:00:00 - 08-17 01:30:00 @ 27.73, 74: 08-17 01:30:00 - 08-17 02:00:00 @ 27.01, 75: 08-17 02:00:00 - 08-17 02:30:00 @ 26.76, 76: 08-17 02:30:00 - 08-17 03:00:00 @ 26.48, 77: 08-17 03:00:00 - 08-17 03:30:00 @ 26.39, 78: 08-17 03:30:00 - 08-17 04:00:00 @ 26.27, 79: 08-17 04:00:00 - 08-17 04:30:00 @ 26.33, 80: 08-17 04:30:00 - 08-17 05:00:00 @ 26.37, 81: 08-17 05:00:00 - 08-17 05:30:00 @ 26.23, 82: 08-17 05:30:00 - 08-17 06:00:00 @ 26.07, 83: 08-17 06:00:00 - 08-17 06:30:00 @ 25.99, 84: 08-17 06:30:00 - 08-17 07:00:00 @ 25.92, 85: 08-17 07:00:00 - 08-17 07:30:00 @ 25.64, 86: 08-17 07:30:00 - 08-17 08:00:00 @ 25.39, 87: 08-17 08:00:00 - 08-17 08:30:00 @ 24.84, 88: 08-17 08:30:00 - 08-17 09:00:00 @ 24.28, 89: 08-17 09:00:00 - 08-17 09:30:00 @ 24.26, 90: 08-17 09:30:00 - 08-17 10:00:00 @ 24.22, 91: 08-17 10:00:00 - 08-17 10:30:00 @ 24.8, 92: 08-17 10:30:00 - 08-17 11:00:00 @ 25.37, 93: 08-17 11:00:00 - 08-17 11:30:00 @ 24.71, 94: 08-17 11:30:00 - 08-17 12:00:00 @ 24.02, 95: 08-17 12:00:00 - 08-17 12:30:00 @ 23.79]
2026-08-15 12:20:03.279047: Include original charge start 08-15 10:30:00, keeping this instead of new start 08-15 11:30:00
2026-08-15 12:20:03.279150: Inverter 0 Charge window will be: 2026-08-15 10:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 23%, target 19%
2026-08-15 12:20:03.279327: Inverter 0 Target SoC 19%, (this inverter 19%), battery temperature 20°C, select charge rate 5000W (real 5000W), current charge rate 5000W
2026-08-15 12:20:03.279405: Inverter 0 Hold charging as SoC 23% is above target SoC 19% (global soc target 19%) set_discharge_during_charge True
2026-08-15 12:20:03.279542: Adjust idle time, charge 10:30:00-16:00:00 discharge 00:00:00-00:00:00
2026-08-15 12:20:03.279745: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 12:20:03.279828: No export window planned
2026-08-15 12:20:03.279928: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 12:20:03.279973: Adjust idle time, charge 10:30:00-16:00:00 discharge 00:00:00-00:00:00
2026-08-15 12:20:03.280087: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 12:20:03.280184: Inverter 0 setting charging SoC to 19% as per target
2026-08-15 12:20:03.280237: Inverter 0 adjust target SoC for charge to 19% (3.04kWh/16.0kWh 16.0kWh) based on going from 23% -> 19% total add is -0.64kWh and this battery needs to add -0.64kWh to get to 3.04kWh
2026-08-15 12:20:03.280296: Inverter 0 Current Target SoC is 19%, already at target
2026-08-15 12:20:03.280388: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:20:03.280426: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:20:03.280450: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:20:03.280471: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:20:03.280492: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:20:03.280517: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:20:03.280538: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:20:03.280574: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 12:20:03.280606: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 12:20:03.280631: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 12:20:03.280651: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 12:20:03.280674: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 12:20:03.280694: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 12:20:03.280732: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 12:20:03.280787: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:20:03.280817: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:20:03.280838: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:20:03.280862: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:20:03.280881: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:20:03.280903: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:20:03.280923: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:20:03.280972: Inverter 0 count register writes 0
2026-08-15 12:20:03.294647: Will not recompute the plan, it is 5.0 minutes old and max age is 10 minutes
2026-08-15 12:20:03.299183: Total inverter register writes now 820
2026-08-15 12:20:03.327088: Info: Completed run status Hold charging
2026-08-15 12:20:03.333143: Info: record_status Hold charging target 23%-19%
2026-08-15 12:20:03.339431: Saved current settings to /config/predbat_config.json
2026-08-15 12:20:03.339750: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 12:20:42.445823: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 12:20:42.446161: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 12:20:42.446214: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 12:20:42.446376: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 12:20:42.446421: Note: Inverter does not support discharge freeze - disabled
2026-08-15 12:20:42.446443: Note: Inverter does not support charge freeze - disabled
2026-08-15 12:20:42.446461: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 12:22:56.684900: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 12:22:56.685248: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 12:22:56.685297: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 12:22:56.685443: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 12:22:56.685484: Note: Inverter does not support discharge freeze - disabled
2026-08-15 12:22:56.685506: Note: Inverter does not support charge freeze - disabled
2026-08-15 12:22:56.685524: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 12:24:56.929177: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 12:24:56.929610: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 12:24:56.929677: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 12:24:56.929795: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 12:24:56.929844: Note: Inverter does not support discharge freeze - disabled
2026-08-15 12:24:56.929860: Note: Inverter does not support charge freeze - disabled
2026-08-15 12:24:56.929874: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 12:25:00.008560: --------------- PredBat - update at 2026-08-15 12:25:00+01:00 with clock skew 0 minutes, minutes now 745
2026-08-15 12:25:00.009441: Saved current settings to /config/predbat_config.json
2026-08-15 12:25:00.009638: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 10.0 minutes
2026-08-15 12:25:00.009717: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.1, latest beta is v8.48.1
2026-08-15 12:25:00.009852: Autoupdate: Currently up to date
2026-08-15 12:25:00.030744: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 12:25:00.030860: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 12:25:00.031021: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 12:25:00.031493: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 12:25:00.031635: Predbat mode is set to Control charge & discharge
2026-08-15 12:25:00.214156: Found 21602 load_today datapoints going back 28 days
2026-08-15 12:25:00.214289: Using load_power data to fill gaps in load_today data
2026-08-15 12:25:01.012343: Processing 721 30-minute periods for power integration
2026-08-15 12:25:01.214676: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 12:25:01.214823: Car charging hold False, threshold 6.0kWh
2026-08-15 12:25:01.214871: Current data so far today: load 7.4kWh, import 11.1kWh, export 0.0kWh, PV 0kWh
2026-08-15 12:25:01.234775: Cars: SoC: [11.72]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 12:25:01.235384: Standing charge is set to 49.98p
2026-08-15 12:25:01.286568: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 12:25:01.286695: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 12:25:01.287062: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 105.0 minutes
2026-08-15 12:25:01.287520: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 105.0 minutes
2026-08-15 12:25:01.296545: Loaded 95 datapoints of futurerate analysis
2026-08-15 12:25:01.391952: Predicted future rates: ['08-15 00:00:00 => 28.9 / 20.01', '08-15 01:00:00 => 27.54 / 19.31', '08-15 02:00:00 => 26.52 / 18.8', '08-15 03:00:00 => 25.99 / 18.53', '08-15 04:00:00 => 25.8 / 18.43', '08-15 05:00:00 => 25.96 / 18.51', '08-15 06:00:00 => 25.55 / 18.3', '08-15 07:00:00 => 24.33 / 17.68', '08-15 08:00:00 => 23.03 / 17.01', '08-15 09:00:00 => 22.05 / 16.51', '08-15 10:00:00 => 20.43 / 15.68', '08-15 11:00:00 => 18.01 / 14.45', '08-15 12:00:00 => 16.37 / 13.61', '08-15 13:00:00 => 15.76 / 13.3', '08-15 14:00:00 => 15.35 / 13.09', '08-15 15:00:00 => 15.86 / 13.35', '08-15 16:00:00 => 32.89 / 16.13', '08-15 17:00:00 => 38.02 / 18.75', '08-15 18:00:00 => 42.36 / 20.96', '08-15 19:00:00 => 31.09 / 21.13', '08-15 20:00:00 => 31.64 / 21.41', '08-15 21:00:00 => 31.64 / 21.41', '08-15 22:00:00 => 30.58 / 20.87', '08-15 23:00:00 => 29.37 / 20.25', '08-16 00:00:00 => 28.83 / 19.97', '08-16 01:00:00 => 27.73 / 19.41', '08-16 02:00:00 => 26.76 / 18.92', '08-16 03:00:00 => 26.39 / 18.73', '08-16 04:00:00 => 26.33 / 18.7', '08-16 05:00:00 => 26.23 / 18.65', '08-16 06:00:00 => 25.99 / 18.53', '08-16 07:00:00 => 25.64 / 18.35', '08-16 08:00:00 => 24.84 / 17.94', '08-16 09:00:00 => 24.26 / 17.64', '08-16 10:00:00 => 24.8 / 17.92', '08-16 11:00:00 => 24.71 / 17.87']
2026-08-15 12:25:01.455240: Rate min forward looking: now 13.77p at end of forecast 21.29p
2026-08-15 12:25:01.455690: Import rates: min 13.77p, max 46.05p, average 27.82p
2026-08-15 12:25:01.499465: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 12:25:01.499600: Rate thresholds (for charge/export) are import 45.55p (0.0p), export -0.1p (0.0p)
2026-08-15 12:25:01.501109: High export rate found rates in range 99p to -99p
2026-08-15 12:25:01.594909: Low Import rate found rates in range 13.77p to 44.19p
2026-08-15 12:25:01.595063: Car 0 charging is not planned as it is not plugged in
2026-08-15 12:25:01.608310: Battery level now 3.68kWh, -1hr ago 2.08kWh, at midnight 1.66kWh, battery value change in the last hour 18.92p, change today 23.94p, rate_forward 11.83p
2026-08-15 12:25:01.609064: Last hour: net energy 2.2kWh, import 2.2kWh, export 0.0kWh, car 0kWh, load 0.2kWh, net cost 34.32p, import 34.32p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 12:25:01.665010: Today's energy total net 11.1kWh, import 11.1kWh, export 0.0kWh, cost 309.43p, import 259.44p, export 0.0p, carbon 0.0kg
2026-08-15 12:25:01.665187: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 12:25:01.751705: Using weighted-bucket historical load forecast over 14 days
2026-08-15 12:25:01.780256: Today's load divergence 99.79%, in-day adjustment 121.02%, damping 0.95x, yesterday 143.77% today 99.8% blend 48.26%
2026-08-15 12:25:01.780350: Today's predicted so far 7.41kWh with 0.0kWh car/iBoost excluded, 5.61kWh import ignored, and 7.41kWh forecast extra.
2026-08-15 12:25:01.780383: Today's actual load so far 7.37kWh with 0.0kWh car/iBoost excluded, and 5.61kWh import ignored.
2026-08-15 12:25:01.836881: Inverter 0: Type SK Sunsynk
2026-08-15 12:25:01.837011: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 12:25:01.837184: Reserve min: 7%, battery_min: 7%
2026-08-15 12:25:01.837249: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 12:25:01.837515: Inverter 0 SoC: 3.68kW 23%, current charge rate 5000W, current discharge rate 5250W, current battery power 361W, current battery voltage 51.2V, grid power -54W, load power 427W, PV Power 0W
2026-08-15 12:25:01.837647: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 12:25:01.837714: Inverter 0 scheduled charge enable is True
2026-08-15 12:25:01.837750: Inverter 0 charge windows currently [{'start': 630, 'end': 960, 'average': 0}, {'start': 2070, 'end': 2400, 'average': 0}, {'start': 3510, 'end': 3840, 'average': 0}]
2026-08-15 12:25:01.837824: Inverter 0 Charge settings: 08-15 10:30:00-08-15 16:00:00, limit 19.0%, power 5.0kW
2026-08-15 12:25:01.837951: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 12:25:01.837990: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 12:25:01.838020: Inverter 0 scheduled discharge enable is False
2026-08-15 12:25:01.838117: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 12:25:01.838174: Inverter 0 discharge windows currently []
2026-08-15 12:25:01.838192: Note: Inverter does not support discharge freeze - disabled
2026-08-15 12:25:01.838207: Note: Inverter does not support charge freeze - disabled
2026-08-15 12:25:01.838221: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 12:25:01.899282: Dynamic load last period 0.00kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 12:25:01.899393: Plan was last updated on 2026-08-15 12:15:00+01:00 and is now 10.0 minutes old
2026-08-15 12:25:01.899675: Best charge window [ 15-08 11:30:00 - 15-08 12:30:00 @ 16.23p 19%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 12:30:00 - 16-08 18:30:00 @ 41.93p 100%, 16-08 19:00:00 - 17-08 12:00:00 @ 24.43p 100% ]
2026-08-15 12:25:01.899741: Best export window [  ]
2026-08-15 12:25:01.900592: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 12:25:01.903938: Load divergence over 8.0 hours mean 549.84W, min 291.6W, max 1838.4W, std dev 288.97W, divergence 26.28%
2026-08-15 12:25:01.920621: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 12:25:01.920738: LoadML is_calculating False
2026-08-15 12:25:01.920798: Creating pool of 12 processes to match your CPU count
2026-08-15 12:25:02.032883: predict base end_record 08-16 12:40:00, final soc 3.04kWh, metric 807.31p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 18:50:00, load 25.09kWh, PV 0.0kWh
2026-08-15 12:25:02.152399: Battery has 6.42 hours left - now at 3.68kWh
2026-08-15 12:25:02.195839: predict base10 end_record 08-16 12:40:00, final soc 3.04kWh, metric 831.11p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 18:40:00, load 25.93kWh, PV 0.0kWh
2026-08-15 12:25:02.266264: predict best10 end_record 08-16 12:40:00, final soc 1.77kWh, metric 664.29p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 10:30:00, load 25.93kWh, PV 0.0kWh
2026-08-15 12:25:02.341868: predict best end_record 08-16 12:40:00, final soc 1.9kWh, metric 643.76p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 11:35:00, load 25.09kWh, PV 0.0kWh
2026-08-15 12:25:02.341995: Saving plan best values to HA entities
2026-08-15 12:25:02.515381: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0
2026-08-15 12:25:02.521925: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 12:25:02.528603: Best charging limit SoC's [3.0, 4.0, 16.0, 16.0, 16.0]kWh, export []kWh gives import battery 17.13kWh, house 0.78kWh, export 0.0kWh, metric 643.76p, metric10 664.29p
2026-08-15 12:25:02.605596: Marginal costs baseline metric (no standing charge): 593.7796
2026-08-15 12:25:02.887657: Marginal energy costs matrix computed: min=14.35 max=32.11
2026-08-15 12:25:02.973449: Rate array import [{'start': 745, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 17.0p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1950, 'rate': 'expensive', 'range': '(24.8p - 32.9p)'}, {'start': 1950, 'end': 2040, 'rate': 'cheap', 'range': '(24.2p - 24.3p)'}, {'start': 2040, 'end': 2130, 'rate': 'expensive', 'range': '(24.7p - 25.4p)'}, {'start': 2130, 'end': 2200, 'rate': 'cheap', 'range': '(23.6p - 24.0p)'}] export [{'start': 745, 'end': 2200, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 12:25:02.974210: - Your estimated bill for today is £5.52 and tomorrow is £6.73
2026-08-15 12:25:02.974283: - Import rates are cheap (13.8p - 17.0p) for the next 3 and a half hours and then expensive (33.1p) for the next 1 hour.
2026-08-15 12:25:02.974326: - The battery is currently at 23% and is charging to 19% for the next 5 minutes.
2026-08-15 12:25:02.974359: - For the next 48 hours there will be no solar generation.
2026-08-15 12:25:02.974389: - You will run out of battery in 23 hours.
2026-08-15 12:25:02.974420: 
2026-08-15 12:25:03.053569: Plan calculation took 1.15 seconds
2026-08-15 12:25:03.058745: No high rate period found
2026-08-15 12:25:03.111824: Import threshold used for optimisation was 24.28p
2026-08-15 12:25:03.163756: Low import rate windows [0: 08-15 12:00:00 - 08-15 12:30:00 @ 17.0, 1: 08-15 12:30:00 - 08-15 13:00:00 @ 16.34, 2: 08-15 13:00:00 - 08-15 13:30:00 @ 15.36, 3: 08-15 13:30:00 - 08-15 14:00:00 @ 15.74, 4: 08-15 14:00:00 - 08-15 14:30:00 @ 14.57, 5: 08-15 14:30:00 - 08-15 15:00:00 @ 13.77, 6: 08-15 15:00:00 - 08-15 15:30:00 @ 15.02, 7: 08-15 15:30:00 - 08-15 16:00:00 @ 15.87, 8: 08-15 16:00:00 - 08-15 16:30:00 @ 33.13, 9: 08-15 16:30:00 - 08-15 17:00:00 @ 33.13, 10: 08-15 17:00:00 - 08-15 17:30:00 @ 38.46, 11: 08-15 17:30:00 - 08-15 18:00:00 @ 40.44, 12: 08-15 18:00:00 - 08-15 18:30:00 @ 41.55, 13: 08-15 18:30:00 - 08-15 19:00:00 @ 43.82, 14: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 15: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 16: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 17: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 18: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 19: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 20: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 21: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 22: 08-15 23:00:00 - 08-15 23:30:00 @ 29.37, 23: 08-15 23:30:00 - 08-16 00:00:00 @ 29.2, 24: 08-16 00:00:00 - 08-16 00:30:00 @ 28.83, 25: 08-16 00:30:00 - 08-16 01:00:00 @ 28.46, 26: 08-16 01:00:00 - 08-16 01:30:00 @ 27.73, 27: 08-16 01:30:00 - 08-16 02:00:00 @ 27.01, 28: 08-16 02:00:00 - 08-16 02:30:00 @ 26.76, 29: 08-16 02:30:00 - 08-16 03:00:00 @ 26.48, 30: 08-16 03:00:00 - 08-16 03:30:00 @ 26.39, 31: 08-16 03:30:00 - 08-16 04:00:00 @ 26.27, 32: 08-16 04:00:00 - 08-16 04:30:00 @ 26.33, 33: 08-16 04:30:00 - 08-16 05:00:00 @ 26.37, 34: 08-16 05:00:00 - 08-16 05:30:00 @ 26.23, 35: 08-16 05:30:00 - 08-16 06:00:00 @ 26.07, 36: 08-16 06:00:00 - 08-16 06:30:00 @ 25.99, 37: 08-16 06:30:00 - 08-16 07:00:00 @ 25.92, 38: 08-16 07:00:00 - 08-16 07:30:00 @ 25.64, 39: 08-16 07:30:00 - 08-16 08:00:00 @ 25.39, 40: 08-16 08:00:00 - 08-16 08:30:00 @ 24.84, 41: 08-16 08:30:00 - 08-16 09:00:00 @ 24.28, 42: 08-16 09:00:00 - 08-16 09:30:00 @ 24.26, 43: 08-16 09:30:00 - 08-16 10:00:00 @ 24.22, 44: 08-16 10:00:00 - 08-16 10:30:00 @ 24.8, 45: 08-16 10:30:00 - 08-16 11:00:00 @ 25.37, 46: 08-16 11:00:00 - 08-16 11:30:00 @ 24.71, 47: 08-16 11:30:00 - 08-16 12:00:00 @ 24.02, 48: 08-16 12:00:00 - 08-16 12:30:00 @ 23.79, 49: 08-16 12:30:00 - 08-16 13:00:00 @ 23.55, 50: 08-16 13:00:00 - 08-16 13:30:00 @ 23.14, 51: 08-16 13:30:00 - 08-16 14:00:00 @ 22.71, 52: 08-16 14:00:00 - 08-16 14:30:00 @ 22.01, 53: 08-16 14:30:00 - 08-16 15:00:00 @ 21.29, 54: 08-16 15:00:00 - 08-16 15:30:00 @ 22.01, 55: 08-16 15:30:00 - 08-16 16:00:00 @ 22.71, 56: 08-16 16:00:00 - 08-16 16:30:00 @ 37.14, 57: 08-16 16:30:00 - 08-16 17:00:00 @ 37.91, 58: 08-16 17:00:00 - 08-16 17:30:00 @ 40.13, 59: 08-16 17:30:00 - 08-16 18:00:00 @ 42.36, 60: 08-16 18:00:00 - 08-16 18:30:00 @ 44.19, 61: 08-16 19:00:00 - 08-16 19:30:00 @ 33.04, 62: 08-16 19:30:00 - 08-16 20:00:00 @ 33.71, 63: 08-16 20:00:00 - 08-16 20:30:00 @ 33.83, 64: 08-16 20:30:00 - 08-16 21:00:00 @ 33.94, 65: 08-16 21:00:00 - 08-16 21:30:00 @ 33.73, 66: 08-16 21:30:00 - 08-16 22:00:00 @ 33.53, 67: 08-16 22:00:00 - 08-16 22:30:00 @ 32.36, 68: 08-16 22:30:00 - 08-16 23:00:00 @ 31.17, 69: 08-16 23:00:00 - 08-16 23:30:00 @ 29.37, 70: 08-16 23:30:00 - 08-17 00:00:00 @ 29.2, 71: 08-17 00:00:00 - 08-17 00:30:00 @ 28.83, 72: 08-17 00:30:00 - 08-17 01:00:00 @ 28.46, 73: 08-17 01:00:00 - 08-17 01:30:00 @ 27.73, 74: 08-17 01:30:00 - 08-17 02:00:00 @ 27.01, 75: 08-17 02:00:00 - 08-17 02:30:00 @ 26.76, 76: 08-17 02:30:00 - 08-17 03:00:00 @ 26.48, 77: 08-17 03:00:00 - 08-17 03:30:00 @ 26.39, 78: 08-17 03:30:00 - 08-17 04:00:00 @ 26.27, 79: 08-17 04:00:00 - 08-17 04:30:00 @ 26.33, 80: 08-17 04:30:00 - 08-17 05:00:00 @ 26.37, 81: 08-17 05:00:00 - 08-17 05:30:00 @ 26.23, 82: 08-17 05:30:00 - 08-17 06:00:00 @ 26.07, 83: 08-17 06:00:00 - 08-17 06:30:00 @ 25.99, 84: 08-17 06:30:00 - 08-17 07:00:00 @ 25.92, 85: 08-17 07:00:00 - 08-17 07:30:00 @ 25.64, 86: 08-17 07:30:00 - 08-17 08:00:00 @ 25.39, 87: 08-17 08:00:00 - 08-17 08:30:00 @ 24.84, 88: 08-17 08:30:00 - 08-17 09:00:00 @ 24.28, 89: 08-17 09:00:00 - 08-17 09:30:00 @ 24.26, 90: 08-17 09:30:00 - 08-17 10:00:00 @ 24.22, 91: 08-17 10:00:00 - 08-17 10:30:00 @ 24.8, 92: 08-17 10:30:00 - 08-17 11:00:00 @ 25.37, 93: 08-17 11:00:00 - 08-17 11:30:00 @ 24.71, 94: 08-17 11:30:00 - 08-17 12:00:00 @ 24.02, 95: 08-17 12:00:00 - 08-17 12:30:00 @ 23.79]
2026-08-15 12:25:03.171870: Include original charge start 08-15 10:30:00, keeping this instead of new start 08-15 11:30:00
2026-08-15 12:25:03.172041: Inverter 0 Charge window will be: 2026-08-15 10:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 23%, target 19%
2026-08-15 12:25:03.172269: Inverter 0 Target SoC 19%, (this inverter 19%), battery temperature 20°C, select charge rate 5000W (real 5000W), current charge rate 5000W
2026-08-15 12:25:03.172363: Inverter 0 Hold charging as SoC 23% is above target SoC 19% (global soc target 19%) set_discharge_during_charge True
2026-08-15 12:25:03.172534: Adjust idle time, charge 10:30:00-16:00:00 discharge 00:00:00-00:00:00
2026-08-15 12:25:03.172784: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 12:25:03.172883: No export window planned
2026-08-15 12:25:03.173048: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 12:25:03.173094: Adjust idle time, charge 10:30:00-16:00:00 discharge 00:00:00-00:00:00
2026-08-15 12:25:03.173239: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 12:25:03.173362: Inverter 0 setting charging SoC to 19% as per target
2026-08-15 12:25:03.173429: Inverter 0 adjust target SoC for charge to 19% (3.04kWh/16.0kWh 16.0kWh) based on going from 23% -> 19% total add is -0.64kWh and this battery needs to add -0.64kWh to get to 3.04kWh
2026-08-15 12:25:03.173511: Inverter 0 Current Target SoC is 19%, already at target
2026-08-15 12:25:03.173636: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:25:03.173681: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:25:03.173715: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:25:03.173745: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:25:03.173774: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:25:03.173804: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:25:03.173830: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:25:03.173873: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 12:25:03.173910: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 12:25:03.173940: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 12:25:03.174001: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 12:25:03.174048: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 12:25:03.174081: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 12:25:03.174107: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 12:25:03.174176: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:25:03.174212: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:25:03.174239: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:25:03.174268: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:25:03.174317: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:25:03.174352: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:25:03.174377: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:25:03.174398: Inverter 0 count register writes 0
2026-08-15 12:25:03.192085: Will recompute the plan as it is now 10.0 minutes old and will exceed the max age of 10 minutes before the next run
2026-08-15 12:25:03.192274: Recompute is saving previous plan...
2026-08-15 12:25:03.194921: Best charge window [ 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 19%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 19%, 15-08 13:00:00 - 15-08 13:30:00 @ 15.36p 19%, 15-08 13:30:00 - 15-08 14:00:00 @ 15.74p 19%, 15-08 14:00:00 - 15-08 14:30:00 @ 14.57p 19%, 15-08 14:30:00 - 15-08 15:00:00 @ 13.77p 19%, 15-08 15:00:00 - 15-08 15:30:00 @ 15.02p 19%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 19%, 15-08 16:00:00 - 15-08 16:30:00 @ 33.13p 19%, 15-08 16:30:00 - 15-08 17:00:00 @ 33.13p 19%, 15-08 17:00:00 - 15-08 17:30:00 @ 38.46p 19%, 15-08 17:30:00 - 15-08 18:00:00 @ 40.44p 19%, 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 19%, 15-08 18:30:00 - 15-08 19:00:00 @ 43.82p 19%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 19%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 19%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 19%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 19%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 19%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 19%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 19%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 19%, 15-08 23:00:00 - 15-08 23:30:00 @ 29.37p 19%, 15-08 23:30:00 - 16-08 00:00:00 @ 29.2p 19%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.83p 19%, 16-08 00:30:00 - 16-08 01:00:00 @ 28.46p 19%, 16-08 01:00:00 - 16-08 01:30:00 @ 27.73p 19%, 16-08 01:30:00 - 16-08 02:00:00 @ 27.01p 19%, 16-08 02:00:00 - 16-08 02:30:00 @ 26.76p 19%, 16-08 02:30:00 - 16-08 03:00:00 @ 26.48p 19%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.39p 19%, 16-08 03:30:00 - 16-08 04:00:00 @ 26.27p 19%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.33p 19%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.37p 19%, 16-08 05:00:00 - 16-08 05:30:00 @ 26.23p 19%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.07p 19%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.99p 19%, 16-08 06:30:00 - 16-08 07:00:00 @ 25.92p 19%, 16-08 07:00:00 - 16-08 07:30:00 @ 25.64p 19%, 16-08 07:30:00 - 16-08 08:00:00 @ 25.39p 19%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.84p 19%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.28p 19%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.26p 19%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.22p 19%, 16-08 10:00:00 - 16-08 10:30:00 @ 24.8p 19%, 16-08 10:30:00 - 16-08 11:00:00 @ 25.37p 19%, 16-08 11:00:00 - 16-08 11:30:00 @ 24.71p 19%, 16-08 11:30:00 - 16-08 12:00:00 @ 24.02p 19%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.79p 19%, 16-08 12:30:00 - 16-08 13:00:00 @ 23.55p 19%, 16-08 13:00:00 - 16-08 13:30:00 @ 23.14p 19%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.71p 19%, 16-08 14:00:00 - 16-08 14:30:00 @ 22.01p 19%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.29p 19%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.01p 19%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.71p 19%, 16-08 16:00:00 - 16-08 16:30:00 @ 37.14p 19%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.91p 19%, 16-08 17:00:00 - 16-08 17:30:00 @ 40.13p 19%, 16-08 17:30:00 - 16-08 18:00:00 @ 42.36p 19%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.19p 19%, 16-08 19:00:00 - 16-08 19:30:00 @ 33.04p 19%, 16-08 19:30:00 - 16-08 20:00:00 @ 33.71p 19%, 16-08 20:00:00 - 16-08 20:30:00 @ 33.83p 19%, 16-08 20:30:00 - 16-08 21:00:00 @ 33.94p 19%, 16-08 21:00:00 - 16-08 21:30:00 @ 33.73p 19%, 16-08 21:30:00 - 16-08 22:00:00 @ 33.53p 19%, 16-08 22:00:00 - 16-08 22:30:00 @ 32.36p 19%, 16-08 22:30:00 - 16-08 23:00:00 @ 31.17p 19%, 16-08 23:00:00 - 16-08 23:30:00 @ 29.37p 19%, 16-08 23:30:00 - 17-08 00:00:00 @ 29.2p 19%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.83p 19%, 17-08 00:30:00 - 17-08 01:00:00 @ 28.46p 19%, 17-08 01:00:00 - 17-08 01:30:00 @ 27.73p 19%, 17-08 01:30:00 - 17-08 02:00:00 @ 27.01p 19%, 17-08 02:00:00 - 17-08 02:30:00 @ 26.76p 19%, 17-08 02:30:00 - 17-08 03:00:00 @ 26.48p 19%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.39p 19%, 17-08 03:30:00 - 17-08 04:00:00 @ 26.27p 19%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.33p 19%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.37p 19%, 17-08 05:00:00 - 17-08 05:30:00 @ 26.23p 19%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.07p 19%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.99p 19%, 17-08 06:30:00 - 17-08 07:00:00 @ 25.92p 19%, 17-08 07:00:00 - 17-08 07:30:00 @ 25.64p 19%, 17-08 07:30:00 - 17-08 08:00:00 @ 25.39p 19%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.84p 19%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.28p 19%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.26p 19%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.22p 19%, 17-08 10:00:00 - 17-08 10:30:00 @ 24.8p 19%, 17-08 10:30:00 - 17-08 11:00:00 @ 25.37p 19%, 17-08 11:00:00 - 17-08 11:30:00 @ 24.71p 19%, 17-08 11:30:00 - 17-08 12:00:00 @ 24.02p 19%, 17-08 12:00:00 - 17-08 12:30:00 @ 23.79p 19% ]
2026-08-15 12:25:03.195007: Best export window [  ]
2026-08-15 12:25:03.195651: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 12:25:03.198204: Load divergence over 8.0 hours mean 549.84W, min 291.6W, max 1838.4W, std dev 288.97W, divergence 26.28%
2026-08-15 12:25:03.212491: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 12:25:03.212589: LoadML is_calculating False
2026-08-15 12:25:03.212646: Creating pool of 12 processes to match your CPU count
2026-08-15 12:25:03.296490: Calculate Best options: mode(Control charge & discharge), calculate_export_oncharge(False), calculate_export_on_pv(True), set_export_freeze_only(False), set_discharge_during_charge(True), combine_charge_slots(False), combine_export_slots(False), combine_rate_threshold(0.0), best_soc_min(0.0 kWh), best_soc_max(0.0 kWh), best_soc_keep(0.0 kWh), inverter_loss(4%), battery_loss(3%), battery_loss_discharge (3%), inverter_hybrid(True), metric_min_improvement(0.0p), metric_min_improvement_export(0.1p), metric_min_improvement_export_freeze(0.1p), metric_battery_cycle(0.0p/kWh), metric_battery_value_scaling(1.0 x) 
2026-08-15 12:25:03.298153: Optimise levels pass started at 2026-08-15 12:25:03
2026-08-15 12:25:03.298207: Optimise all windows, total charge 95 export 1
2026-08-15 12:25:04.158495: >> Region optimisation pass width 960 gives best_metric 949.48p, best_cost 962.44p, best_cycle 47.05kWh, best_import 34.06kWh
2026-08-15 12:25:04.569878: >> Region optimisation pass width 480 gives best_metric 949.48p, best_cost 962.44p, best_cycle 47.05kWh, best_import 34.06kWh
2026-08-15 12:25:05.017311: >> Region optimisation pass width 240 gives best_metric 949.48p, best_cost 962.44p, best_cycle 47.05kWh, best_import 34.06kWh
2026-08-15 12:25:06.086534: >> Region optimisation pass width 120 gives best_metric 949.48p, best_cost 962.44p, best_cycle 47.05kWh, best_import 34.06kWh
2026-08-15 12:25:06.087064: Calculated end_record as 08-16 13:00:00 based on best_price 22.71p, next_charge_start 08-15 13:00:00, max_windows 50
2026-08-15 12:25:06.087166: Optimise levels pass ended at 2026-08-15 12:25:06, duration 2.8 seconds tried 306 combinations
2026-08-15 12:25:06.087255: Set best_price_charge_level 24.4p, best_price_export_level 0p, best_price_charge 22.71p, best_cost_export 0p, best_metric 949.48p, best_keep 0kWh, best_cycle 47.05kWh, best_carbon 0kg, best_import 34.06kWh
2026-08-15 12:25:06.103460: Starting detailed optimisation end_record 08-16 13:00:00, best_price_charge 22.71p, best_price_export 0p. lowest_price_charge 13.77p with charge limits [0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0]kWh and export limits []kWh
2026-08-15 12:25:10.069241: Tweak plan optimisation started metric 563.78p, cost 580.74p
2026-08-15 12:25:10.386657: Tweak optimisation finished metric 563.78p, cost 580.74p, metric_keep 0kWh, cycle 27.13kWh, carbon 0kg, import 17.35kWh, changed 8 window(s)
2026-08-15 12:25:10.406145: Swap charge optimisation started metric 563.78p, cost 580.74p, min_improvement_swap 0.1p
2026-08-15 12:25:14.278236: Swap charge optimisation finished metric 563.78p, cost 580.74p
2026-08-15 12:25:14.407597: Pruned 3 dead plan slot(s) in 11 trial(s), nominal metric 560.25p -> 560.25p, plan now metric 563.87p, cost 580.74p, cycle 27.13kWh, import 17.35kWh
2026-08-15 12:25:14.419731: Raw charge windows [ 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 13:30:00 @ 15.36p 100%, 15-08 13:30:00 - 15-08 14:00:00 @ 15.74p 100%, 15-08 14:00:00 - 15-08 14:30:00 @ 14.57p 100%, 15-08 14:30:00 - 15-08 15:00:00 @ 13.77p 100%, 15-08 15:00:00 - 15-08 15:30:00 @ 15.02p 100%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 100%, 15-08 16:00:00 - 15-08 16:30:00 @ 33.13p 0%, 15-08 16:30:00 - 15-08 17:00:00 @ 33.13p 0%, 15-08 17:00:00 - 15-08 17:30:00 @ 38.46p 0%, 15-08 17:30:00 - 15-08 18:00:00 @ 40.44p 0%, 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 0%, 15-08 18:30:00 - 15-08 19:00:00 @ 43.82p 0%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 0%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 0%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 0%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 0%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 29.37p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 29.2p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.83p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 28.46p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 27.73p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 27.01p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 26.76p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 26.48p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.39p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 26.27p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.33p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.37p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 26.23p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.07p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.99p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 25.92p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 25.64p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 25.39p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.84p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.28p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.26p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.22p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 24.8p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 25.37p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 24.71p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 24.02p 0%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.79p 0%, 16-08 12:30:00 - 16-08 13:00:00 @ 23.55p 0%, 16-08 13:00:00 - 16-08 13:30:00 @ 23.14p 100%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.71p 100%, 16-08 14:00:00 - 16-08 14:30:00 @ 22.01p 100%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.29p 100%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.01p 100%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.71p 100%, 16-08 16:00:00 - 16-08 16:30:00 @ 37.14p 100%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.91p 100%, 16-08 17:00:00 - 16-08 17:30:00 @ 40.13p 100%, 16-08 17:30:00 - 16-08 18:00:00 @ 42.36p 100%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.19p 100%, 16-08 19:00:00 - 16-08 19:30:00 @ 33.04p 100%, 16-08 19:30:00 - 16-08 20:00:00 @ 33.71p 100%, 16-08 20:00:00 - 16-08 20:30:00 @ 33.83p 100%, 16-08 20:30:00 - 16-08 21:00:00 @ 33.94p 100%, 16-08 21:00:00 - 16-08 21:30:00 @ 33.73p 100%, 16-08 21:30:00 - 16-08 22:00:00 @ 33.53p 100%, 16-08 22:00:00 - 16-08 22:30:00 @ 32.36p 100%, 16-08 22:30:00 - 16-08 23:00:00 @ 31.17p 100%, 16-08 23:00:00 - 16-08 23:30:00 @ 29.37p 100%, 16-08 23:30:00 - 17-08 00:00:00 @ 29.2p 100%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.83p 100%, 17-08 00:30:00 - 17-08 01:00:00 @ 28.46p 100%, 17-08 01:00:00 - 17-08 01:30:00 @ 27.73p 100%, 17-08 01:30:00 - 17-08 02:00:00 @ 27.01p 100%, 17-08 02:00:00 - 17-08 02:30:00 @ 26.76p 100%, 17-08 02:30:00 - 17-08 03:00:00 @ 26.48p 100%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.39p 100%, 17-08 03:30:00 - 17-08 04:00:00 @ 26.27p 100%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.33p 100%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.37p 100%, 17-08 05:00:00 - 17-08 05:30:00 @ 26.23p 100%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.07p 100%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.99p 100%, 17-08 06:30:00 - 17-08 07:00:00 @ 25.92p 100%, 17-08 07:00:00 - 17-08 07:30:00 @ 25.64p 100%, 17-08 07:30:00 - 17-08 08:00:00 @ 25.39p 100%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.84p 100%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.28p 100%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.26p 100%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.22p 100%, 17-08 10:00:00 - 17-08 10:30:00 @ 24.8p 100%, 17-08 10:30:00 - 17-08 11:00:00 @ 25.37p 100%, 17-08 11:00:00 - 17-08 11:30:00 @ 24.71p 100%, 17-08 11:30:00 - 17-08 12:00:00 @ 24.02p 100%, 17-08 12:00:00 - 17-08 12:30:00 @ 23.79p 100% ] reserve 1.12
2026-08-15 12:25:14.420373: Unclipped charge windows [ 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 13:00:00 - 16-08 18:30:00 @ 41.93p 100%, 16-08 19:00:00 - 17-08 12:30:00 @ 24.11p 100% ] reserve 1.12
2026-08-15 12:25:14.420630: Unfiltered charge windows [ 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 13:00:00 - 16-08 18:30:00 @ 41.93p 100%, 16-08 19:00:00 - 17-08 12:30:00 @ 24.11p 100% ] reserve 1.12
2026-08-15 12:25:14.420833: Filtered charge windows [ 15-08 12:00:00 - 15-08 12:30:00 @ 17.0p 22%, 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 13:00:00 - 16-08 18:30:00 @ 41.93p 100%, 16-08 19:00:00 - 17-08 12:30:00 @ 24.11p 100% ] reserve 1.12
2026-08-15 12:25:14.458742: Previous plan best metric is 579.84 (cost 639.78) and new plan best metric is 563.78 (cost 580.74)
2026-08-15 12:25:14.459019: New plan metric is significantly better from previous plan, using new plan
2026-08-15 12:25:14.459090: Plan valid is now true after recompute was False
2026-08-15 12:25:14.489102: predict base end_record 08-16 13:00:00, final soc 3.04kWh, metric 814.06p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 18:50:00, load 25.38kWh, PV 0.0kWh
2026-08-15 12:25:14.598628: Battery has 6.42 hours left - now at 3.68kWh
2026-08-15 12:25:14.643829: predict base10 end_record 08-16 13:00:00, final soc 3.04kWh, metric 838.18p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 18:40:00, load 26.23kWh, PV 0.0kWh
2026-08-15 12:25:14.724107: predict best10 end_record 08-16 13:00:00, final soc 1.12kWh, metric 654.83p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 10:30:00, load 26.23kWh, PV 0.0kWh
2026-08-15 12:25:14.804909: predict best end_record 08-16 13:00:00, final soc 1.12kWh, metric 630.72p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 11:35:00, load 25.38kWh, PV 0.0kWh
2026-08-15 12:25:14.805086: Saving plan best values to HA entities
2026-08-15 12:25:14.950335: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0
2026-08-15 12:25:14.955008: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 12:25:14.959987: Best charging limit SoC's [3.5, 4.0, 16.0, 16.0, 16.0]kWh, export []kWh gives import battery 16.15kWh, house 1.2kWh, export 0.0kWh, metric 630.72p, metric10 654.83p
2026-08-15 12:25:15.031807: Marginal costs baseline metric (no standing charge): 580.7355
2026-08-15 12:25:15.255485: Marginal energy costs matrix computed: min=14.35 max=32.11
2026-08-15 12:25:15.325736: Rate array import [{'start': 745, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 17.0p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1950, 'rate': 'expensive', 'range': '(24.8p - 32.9p)'}, {'start': 1950, 'end': 2040, 'rate': 'cheap', 'range': '(24.2p - 24.3p)'}, {'start': 2040, 'end': 2130, 'rate': 'expensive', 'range': '(24.7p - 25.4p)'}, {'start': 2130, 'end': 2220, 'rate': 'cheap', 'range': '(23.6p - 24.0p)'}] export [{'start': 745, 'end': 2220, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 12:25:15.326096: - Your estimated bill for today is £5.52 and tomorrow is £6.85
2026-08-15 12:25:15.326159: - Import rates are cheap (13.8p - 17.0p) for the next 3 and a half hours and then expensive (33.1p) for the next 1 hour.
2026-08-15 12:25:15.326178: - The battery is currently at 23% and is charging to 22% for the next 5 minutes.
2026-08-15 12:25:15.326193: - For the next 48 hours there will be no solar generation.
2026-08-15 12:25:15.326207: - You will run out of battery in 23 hours.
2026-08-15 12:25:15.326222: 
2026-08-15 12:25:15.377858: Plan calculation took 12.19 seconds
2026-08-15 12:25:15.378312: Inverter 0: Type SK Sunsynk
2026-08-15 12:25:15.378361: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 12:25:15.378563: Reserve min: 7%, battery_min: 7%
2026-08-15 12:25:15.378652: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 12:25:15.378977: Inverter 0 SoC: 3.68kW 23%, current charge rate 5000W, current discharge rate 5250W, current battery power 345W, current battery voltage 51.2V, grid power -55W, load power 408W, PV Power 0W
2026-08-15 12:25:15.379190: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 12:25:15.379285: Inverter 0 scheduled charge enable is True
2026-08-15 12:25:15.379328: Inverter 0 charge windows currently [{'start': 630, 'end': 960, 'average': 0}, {'start': 2070, 'end': 2400, 'average': 0}, {'start': 3510, 'end': 3840, 'average': 0}]
2026-08-15 12:25:15.379415: Inverter 0 Charge settings: 08-15 10:30:00-08-15 16:00:00, limit 19.0%, power 5.0kW
2026-08-15 12:25:15.379525: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 12:25:15.379555: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 12:25:15.379586: Inverter 0 scheduled discharge enable is False
2026-08-15 12:25:15.379690: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 12:25:15.379722: Inverter 0 discharge windows currently []
2026-08-15 12:25:15.379742: Note: Inverter does not support discharge freeze - disabled
2026-08-15 12:25:15.379761: Note: Inverter does not support charge freeze - disabled
2026-08-15 12:25:15.379775: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 12:25:15.430828: Include original charge start 08-15 10:30:00, keeping this instead of new start 08-15 12:00:00
2026-08-15 12:25:15.430997: Inverter 0 Charge window will be: 2026-08-15 10:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 23%, target 22%
2026-08-15 12:25:15.431119: Inverter 0 Target SoC 22%, (this inverter 22%), battery temperature 20°C, select charge rate 5000W (real 5000W), current charge rate 5000W
2026-08-15 12:25:15.431218: Inverter 0 Hold charging as SoC 23% is above target SoC 22% (global soc target 22%) set_discharge_during_charge True
2026-08-15 12:25:15.431324: Adjust idle time, charge 10:30:00-16:00:00 discharge 00:00:00-00:00:00
2026-08-15 12:25:15.431512: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 12:25:15.431584: No export window planned
2026-08-15 12:25:15.431684: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 12:25:15.431732: Adjust idle time, charge 10:30:00-16:00:00 discharge 00:00:00-00:00:00
2026-08-15 12:25:15.431850: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 12:25:15.431947: Inverter 0 setting charging SoC to 22% as per target
2026-08-15 12:25:15.432020: Inverter 0 adjust target SoC for charge to 22% (3.52kWh/16.0kWh 16.0kWh) based on going from 23% -> 22% total add is -0.16kWh and this battery needs to add -0.16kWh to get to 3.52kWh
2026-08-15 12:25:15.432076: Inverter 0 Current charge limit is 19% and new target is 22%
2026-08-15 12:25:20.535540: Inverter 0 write_and_poll_value: Wrote 22 to charge_limit, successfully now 22.0
2026-08-15 12:25:20.535832: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:25:20.535896: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:25:20.535931: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:25:20.535990: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:25:20.536037: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:25:20.536079: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:25:20.536104: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:25:20.536195: Inverter 0 Calling service charge_start_service domain charge service_name select/select_option with data {'entity_id': 'select.sunsynk_prog1_charge', 'option': 'Allow Grid & Gen'}
2026-08-15 12:25:20.542135: Inverter 0 Calling service charge_start_service domain charge service_name select/select_option with data {'entity_id': 'select.sunsynk_prog2_charge', 'option': 'Allow Grid & Gen'}
2026-08-15 12:25:20.645384: Inverter 0 Calling service charge_start_service domain charge service_name select/select_option with data {'entity_id': 'select.sunsynk_prog3_charge', 'option': 'Allow Grid & Gen'}
2026-08-15 12:25:20.748814: Inverter 0 Calling service charge_start_service domain charge service_name select/select_option with data {'entity_id': 'select.sunsynk_prog4_charge', 'option': 'Allow Grid & Gen'}
2026-08-15 12:25:20.852460: Inverter 0 Calling service charge_start_service domain charge service_name select/select_option with data {'entity_id': 'select.sunsynk_prog5_charge', 'option': 'Allow Grid & Gen'}
2026-08-15 12:25:20.915251: Inverter 0 Calling service charge_start_service domain charge service_name select/select_option with data {'entity_id': 'select.sunsynk_prog6_charge', 'option': 'Allow Grid & Gen'}
2026-08-15 12:25:21.018944: Inverter 0 Calling service charge_start_service domain charge service_name select/select_option with data {'entity_id': 'select.sunsynk_load_limit', 'option': 'Zero Export'}
2026-08-15 12:25:21.122613: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:25:21.122718: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:25:21.122767: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:25:21.122794: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:25:21.122818: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:25:21.122847: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:25:21.122900: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:25:21.122924: Inverter 0 count register writes 1
2026-08-15 12:25:21.148193: Total inverter register writes now 821
2026-08-15 12:25:21.182652: Info: Completed run status Hold charging
2026-08-15 12:25:21.190522: Info: record_status Hold charging target 23%-22%
2026-08-15 12:25:21.197770: Saved current settings to /config/predbat_config.json
2026-08-15 12:25:21.198157: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 12:25:57.308131: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 12:25:57.308418: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 12:25:57.308455: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 12:25:57.308630: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 12:25:57.308697: Note: Inverter does not support discharge freeze - disabled
2026-08-15 12:25:57.308718: Note: Inverter does not support charge freeze - disabled
2026-08-15 12:25:57.308737: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 12:28:11.621107: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 12:28:11.621402: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 12:28:11.621464: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 12:28:11.621620: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 12:28:11.621669: Note: Inverter does not support discharge freeze - disabled
2026-08-15 12:28:11.621691: Note: Inverter does not support charge freeze - disabled
2026-08-15 12:28:11.621709: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 12:30:00.828033: --------------- PredBat - update at 2026-08-15 12:30:00+01:00 with clock skew 0 minutes, minutes now 750
2026-08-15 12:30:00.828823: Saved current settings to /config/predbat_config.json
2026-08-15 12:30:00.828996: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 15.0 minutes
2026-08-15 12:30:00.829078: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.1, latest beta is v8.48.1
2026-08-15 12:30:00.829194: Autoupdate: Currently up to date
2026-08-15 12:30:00.853716: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 12:30:00.853868: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 12:30:00.854057: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 12:30:00.854590: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 12:30:00.854712: Predbat mode is set to Control charge & discharge
2026-08-15 12:30:01.079965: Found 21602 load_today datapoints going back 28 days
2026-08-15 12:30:01.080335: Using load_power data to fill gaps in load_today data
2026-08-15 12:30:01.963531: Processing 721 30-minute periods for power integration
2026-08-15 12:30:02.125301: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 12:30:02.125446: Car charging hold False, threshold 6.0kWh
2026-08-15 12:30:02.125490: Current data so far today: load 7.52kWh, import 11.1kWh, export 0.0kWh, PV 0kWh
2026-08-15 12:30:02.137803: Cars: SoC: [11.72]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 12:30:02.138223: Standing charge is set to 49.98p
2026-08-15 12:30:02.195578: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 12:30:02.195706: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 12:30:02.195969: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 110.0 minutes
2026-08-15 12:30:02.196554: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 110.0 minutes
2026-08-15 12:30:02.204227: Loaded 95 datapoints of futurerate analysis
2026-08-15 12:30:02.279506: Predicted future rates: ['08-15 00:00:00 => 28.9 / 20.01', '08-15 01:00:00 => 27.54 / 19.31', '08-15 02:00:00 => 26.52 / 18.8', '08-15 03:00:00 => 25.99 / 18.53', '08-15 04:00:00 => 25.8 / 18.43', '08-15 05:00:00 => 25.96 / 18.51', '08-15 06:00:00 => 25.55 / 18.3', '08-15 07:00:00 => 24.33 / 17.68', '08-15 08:00:00 => 23.03 / 17.01', '08-15 09:00:00 => 22.05 / 16.51', '08-15 10:00:00 => 20.43 / 15.68', '08-15 11:00:00 => 18.01 / 14.45', '08-15 12:00:00 => 16.37 / 13.61', '08-15 13:00:00 => 15.76 / 13.3', '08-15 14:00:00 => 15.35 / 13.09', '08-15 15:00:00 => 15.86 / 13.35', '08-15 16:00:00 => 32.89 / 16.13', '08-15 17:00:00 => 38.02 / 18.75', '08-15 18:00:00 => 42.36 / 20.96', '08-15 19:00:00 => 31.09 / 21.13', '08-15 20:00:00 => 31.64 / 21.41', '08-15 21:00:00 => 31.64 / 21.41', '08-15 22:00:00 => 30.58 / 20.87', '08-15 23:00:00 => 29.37 / 20.25', '08-16 00:00:00 => 28.83 / 19.97', '08-16 01:00:00 => 27.73 / 19.41', '08-16 02:00:00 => 26.76 / 18.92', '08-16 03:00:00 => 26.39 / 18.73', '08-16 04:00:00 => 26.33 / 18.7', '08-16 05:00:00 => 26.23 / 18.65', '08-16 06:00:00 => 25.99 / 18.53', '08-16 07:00:00 => 25.64 / 18.35', '08-16 08:00:00 => 24.84 / 17.94', '08-16 09:00:00 => 24.26 / 17.64', '08-16 10:00:00 => 24.8 / 17.92', '08-16 11:00:00 => 24.71 / 17.87']
2026-08-15 12:30:02.330794: Rate min forward looking: now 13.77p at end of forecast 21.29p
2026-08-15 12:30:02.331156: Import rates: min 13.77p, max 46.05p, average 27.83p
2026-08-15 12:30:02.366084: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 12:30:02.366435: Rate thresholds (for charge/export) are import 45.55p (0.0p), export -0.1p (0.0p)
2026-08-15 12:30:02.367485: High export rate found rates in range 99p to -99p
2026-08-15 12:30:02.443493: Low Import rate found rates in range 13.77p to 44.19p
2026-08-15 12:30:02.443629: Car 0 charging is not planned as it is not plugged in
2026-08-15 12:30:02.454800: Battery level now 3.68kWh, -1hr ago 2.08kWh, at midnight 1.66kWh, battery value change in the last hour 18.92p, change today 23.94p, rate_forward 11.83p
2026-08-15 12:30:02.455127: Last hour: net energy 2.05kWh, import 2.05kWh, export 0.0kWh, car 0kWh, load 0.3kWh, net cost 31.87p, import 31.87p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 12:30:02.514538: Today's energy total net 11.1kWh, import 11.1kWh, export 0.0kWh, cost 309.43p, import 259.44p, export 0.0p, carbon 0.0kg
2026-08-15 12:30:02.514726: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 12:30:02.586009: Using weighted-bucket historical load forecast over 14 days
2026-08-15 12:30:02.612221: Today's load divergence 100.42%, in-day adjustment 121.18%, damping 0.95x, yesterday 143.77% today 100.4% blend 47.92%
2026-08-15 12:30:02.612631: Today's predicted so far 7.54kWh with 0.0kWh car/iBoost excluded, 5.52kWh import ignored, and 7.54kWh forecast extra.
2026-08-15 12:30:02.612714: Today's actual load so far 7.61kWh with 0.0kWh car/iBoost excluded, and 5.52kWh import ignored.
2026-08-15 12:30:02.659721: Inverter 0: Type SK Sunsynk
2026-08-15 12:30:02.659825: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 12:30:02.660099: Reserve min: 7%, battery_min: 7%
2026-08-15 12:30:02.660202: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 12:30:02.660520: Inverter 0 SoC: 3.68kW 23%, current charge rate 5000W, current discharge rate 5250W, current battery power -16W, current battery voltage 51.2V, grid power -400W, load power 379W, PV Power 0W
2026-08-15 12:30:02.660732: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 12:30:02.660859: Inverter 0 scheduled charge enable is True
2026-08-15 12:30:02.660934: Inverter 0 charge windows currently [{'start': 630, 'end': 960, 'average': 0}, {'start': 2070, 'end': 2400, 'average': 0}, {'start': 3510, 'end': 3840, 'average': 0}]
2026-08-15 12:30:02.661118: Inverter 0 Charge settings: 08-15 10:30:00-08-15 16:00:00, limit 22.0%, power 5.0kW
2026-08-15 12:30:02.661304: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 12:30:02.661358: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 12:30:02.661417: Inverter 0 scheduled discharge enable is False
2026-08-15 12:30:02.661593: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 12:30:02.661640: Inverter 0 discharge windows currently []
2026-08-15 12:30:02.661665: Note: Inverter does not support discharge freeze - disabled
2026-08-15 12:30:02.661693: Note: Inverter does not support charge freeze - disabled
2026-08-15 12:30:02.661726: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 12:30:02.742765: Dynamic load last period 0.30kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 12:30:02.742880: Plan was last updated on 2026-08-15 12:25:00+01:00 and is now 5.0 minutes old
2026-08-15 12:30:02.742916: Current charge window has expired, removing it
2026-08-15 12:30:02.743146: Best charge window [ 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 13:00:00 - 16-08 18:30:00 @ 41.93p 100%, 16-08 19:00:00 - 17-08 12:30:00 @ 24.11p 100% ]
2026-08-15 12:30:02.743192: Best export window [  ]
2026-08-15 12:30:02.744048: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 12:30:02.749866: Load divergence over 8.0 hours mean 548.03W, min 295.8W, max 1607.4W, std dev 279.95W, divergence 25.54%
2026-08-15 12:30:02.770515: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 12:30:02.770665: LoadML is_calculating False
2026-08-15 12:30:02.770770: Creating pool of 12 processes to match your CPU count
2026-08-15 12:30:02.895542: predict base end_record 08-16 13:05:00, final soc 3.52kWh, metric 818.39p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 19:25:00, load 25.46kWh, PV 0.0kWh
2026-08-15 12:30:03.053125: Battery has 6.92 hours left - now at 3.68kWh
2026-08-15 12:30:03.092218: predict base10 end_record 08-16 13:05:00, final soc 3.52kWh, metric 840.55p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 19:15:00, load 26.31kWh, PV 0.0kWh
2026-08-15 12:30:03.173951: predict best10 end_record 08-16 13:05:00, final soc 1.44kWh, metric 662.37p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 10:30:00, load 26.31kWh, PV 0.0kWh
2026-08-15 12:30:03.264257: predict best end_record 08-16 13:05:00, final soc 1.51kWh, metric 639.93p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 11:35:00, load 25.46kWh, PV 0.0kWh
2026-08-15 12:30:03.264344: Saving plan best values to HA entities
2026-08-15 12:30:03.461958: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0
2026-08-15 12:30:03.468640: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 12:30:03.475582: Best charging limit SoC's [4.0, 16.0, 16.0, 16.0]kWh, export []kWh gives import battery 16.54kWh, house 1.18kWh, export 0.0kWh, metric 639.93p, metric10 662.37p
2026-08-15 12:30:03.560581: Marginal costs baseline metric (no standing charge): 589.9482
2026-08-15 12:30:03.836722: Marginal energy costs matrix computed: min=14.39 max=31.73
2026-08-15 12:30:03.906512: Rate array import [{'start': 750, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 16.3p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1950, 'rate': 'expensive', 'range': '(24.8p - 32.9p)'}, {'start': 1950, 'end': 2040, 'rate': 'cheap', 'range': '(24.2p - 24.3p)'}, {'start': 2040, 'end': 2130, 'rate': 'expensive', 'range': '(24.7p - 25.4p)'}, {'start': 2130, 'end': 2225, 'rate': 'cheap', 'range': '(23.1p - 24.0p)'}] export [{'start': 750, 'end': 2225, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 12:30:03.906879: - Your estimated bill for today is £5.51 and tomorrow is £6.82
2026-08-15 12:30:03.906924: - Import rates are cheap (13.8p - 16.3p) for the next 3 and a half hours and then expensive (33.1p) for the next 1 hour.
2026-08-15 12:30:03.906943: - The battery is currently at 23% and is charging to 25% for the next 30 minutes.
2026-08-15 12:30:03.906957: - For the next 48 hours there will be no solar generation.
2026-08-15 12:30:03.906971: - You will run out of battery in 23 hours.
2026-08-15 12:30:03.907000: 
2026-08-15 12:30:03.964635: Plan calculation took 1.22 seconds
2026-08-15 12:30:03.967822: No high rate period found
2026-08-15 12:30:04.023089: Import threshold used for optimisation was 24.28p
2026-08-15 12:30:04.111375: Low import rate windows [0: 08-15 12:30:00 - 08-15 13:00:00 @ 16.34, 1: 08-15 13:00:00 - 08-15 13:30:00 @ 15.36, 2: 08-15 13:30:00 - 08-15 14:00:00 @ 15.74, 3: 08-15 14:00:00 - 08-15 14:30:00 @ 14.57, 4: 08-15 14:30:00 - 08-15 15:00:00 @ 13.77, 5: 08-15 15:00:00 - 08-15 15:30:00 @ 15.02, 6: 08-15 15:30:00 - 08-15 16:00:00 @ 15.87, 7: 08-15 16:00:00 - 08-15 16:30:00 @ 33.13, 8: 08-15 16:30:00 - 08-15 17:00:00 @ 33.13, 9: 08-15 17:00:00 - 08-15 17:30:00 @ 38.46, 10: 08-15 17:30:00 - 08-15 18:00:00 @ 40.44, 11: 08-15 18:00:00 - 08-15 18:30:00 @ 41.55, 12: 08-15 18:30:00 - 08-15 19:00:00 @ 43.82, 13: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 14: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 15: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 16: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 17: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 18: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 19: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 20: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 21: 08-15 23:00:00 - 08-15 23:30:00 @ 29.37, 22: 08-15 23:30:00 - 08-16 00:00:00 @ 29.2, 23: 08-16 00:00:00 - 08-16 00:30:00 @ 28.83, 24: 08-16 00:30:00 - 08-16 01:00:00 @ 28.46, 25: 08-16 01:00:00 - 08-16 01:30:00 @ 27.73, 26: 08-16 01:30:00 - 08-16 02:00:00 @ 27.01, 27: 08-16 02:00:00 - 08-16 02:30:00 @ 26.76, 28: 08-16 02:30:00 - 08-16 03:00:00 @ 26.48, 29: 08-16 03:00:00 - 08-16 03:30:00 @ 26.39, 30: 08-16 03:30:00 - 08-16 04:00:00 @ 26.27, 31: 08-16 04:00:00 - 08-16 04:30:00 @ 26.33, 32: 08-16 04:30:00 - 08-16 05:00:00 @ 26.37, 33: 08-16 05:00:00 - 08-16 05:30:00 @ 26.23, 34: 08-16 05:30:00 - 08-16 06:00:00 @ 26.07, 35: 08-16 06:00:00 - 08-16 06:30:00 @ 25.99, 36: 08-16 06:30:00 - 08-16 07:00:00 @ 25.92, 37: 08-16 07:00:00 - 08-16 07:30:00 @ 25.64, 38: 08-16 07:30:00 - 08-16 08:00:00 @ 25.39, 39: 08-16 08:00:00 - 08-16 08:30:00 @ 24.84, 40: 08-16 08:30:00 - 08-16 09:00:00 @ 24.28, 41: 08-16 09:00:00 - 08-16 09:30:00 @ 24.26, 42: 08-16 09:30:00 - 08-16 10:00:00 @ 24.22, 43: 08-16 10:00:00 - 08-16 10:30:00 @ 24.8, 44: 08-16 10:30:00 - 08-16 11:00:00 @ 25.37, 45: 08-16 11:00:00 - 08-16 11:30:00 @ 24.71, 46: 08-16 11:30:00 - 08-16 12:00:00 @ 24.02, 47: 08-16 12:00:00 - 08-16 12:30:00 @ 23.79, 48: 08-16 12:30:00 - 08-16 13:00:00 @ 23.55, 49: 08-16 13:00:00 - 08-16 13:30:00 @ 23.14, 50: 08-16 13:30:00 - 08-16 14:00:00 @ 22.71, 51: 08-16 14:00:00 - 08-16 14:30:00 @ 22.01, 52: 08-16 14:30:00 - 08-16 15:00:00 @ 21.29, 53: 08-16 15:00:00 - 08-16 15:30:00 @ 22.01, 54: 08-16 15:30:00 - 08-16 16:00:00 @ 22.71, 55: 08-16 16:00:00 - 08-16 16:30:00 @ 37.14, 56: 08-16 16:30:00 - 08-16 17:00:00 @ 37.91, 57: 08-16 17:00:00 - 08-16 17:30:00 @ 40.13, 58: 08-16 17:30:00 - 08-16 18:00:00 @ 42.36, 59: 08-16 18:00:00 - 08-16 18:30:00 @ 44.19, 60: 08-16 19:00:00 - 08-16 19:30:00 @ 33.04, 61: 08-16 19:30:00 - 08-16 20:00:00 @ 33.71, 62: 08-16 20:00:00 - 08-16 20:30:00 @ 33.83, 63: 08-16 20:30:00 - 08-16 21:00:00 @ 33.94, 64: 08-16 21:00:00 - 08-16 21:30:00 @ 33.73, 65: 08-16 21:30:00 - 08-16 22:00:00 @ 33.53, 66: 08-16 22:00:00 - 08-16 22:30:00 @ 32.36, 67: 08-16 22:30:00 - 08-16 23:00:00 @ 31.17, 68: 08-16 23:00:00 - 08-16 23:30:00 @ 29.37, 69: 08-16 23:30:00 - 08-17 00:00:00 @ 29.2, 70: 08-17 00:00:00 - 08-17 00:30:00 @ 28.83, 71: 08-17 00:30:00 - 08-17 01:00:00 @ 28.46, 72: 08-17 01:00:00 - 08-17 01:30:00 @ 27.73, 73: 08-17 01:30:00 - 08-17 02:00:00 @ 27.01, 74: 08-17 02:00:00 - 08-17 02:30:00 @ 26.76, 75: 08-17 02:30:00 - 08-17 03:00:00 @ 26.48, 76: 08-17 03:00:00 - 08-17 03:30:00 @ 26.39, 77: 08-17 03:30:00 - 08-17 04:00:00 @ 26.27, 78: 08-17 04:00:00 - 08-17 04:30:00 @ 26.33, 79: 08-17 04:30:00 - 08-17 05:00:00 @ 26.37, 80: 08-17 05:00:00 - 08-17 05:30:00 @ 26.23, 81: 08-17 05:30:00 - 08-17 06:00:00 @ 26.07, 82: 08-17 06:00:00 - 08-17 06:30:00 @ 25.99, 83: 08-17 06:30:00 - 08-17 07:00:00 @ 25.92, 84: 08-17 07:00:00 - 08-17 07:30:00 @ 25.64, 85: 08-17 07:30:00 - 08-17 08:00:00 @ 25.39, 86: 08-17 08:00:00 - 08-17 08:30:00 @ 24.84, 87: 08-17 08:30:00 - 08-17 09:00:00 @ 24.28, 88: 08-17 09:00:00 - 08-17 09:30:00 @ 24.26, 89: 08-17 09:30:00 - 08-17 10:00:00 @ 24.22, 90: 08-17 10:00:00 - 08-17 10:30:00 @ 24.8, 91: 08-17 10:30:00 - 08-17 11:00:00 @ 25.37, 92: 08-17 11:00:00 - 08-17 11:30:00 @ 24.71, 93: 08-17 11:30:00 - 08-17 12:00:00 @ 24.02, 94: 08-17 12:00:00 - 08-17 12:30:00 @ 23.79]
2026-08-15 12:30:04.121820: Include original charge start 08-15 10:30:00, keeping this instead of new start 08-15 12:30:00
2026-08-15 12:30:04.122002: Inverter 0 Charge window will be: 2026-08-15 10:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 23%, target 25%
2026-08-15 12:30:04.122260: Inverter 0 Target SoC 25%, (this inverter 25%), battery temperature 20°C, select charge rate 5000W (real 5000W), current charge rate 5000W
2026-08-15 12:30:04.122549: Adjust idle time, charge 10:30:00-16:00:00 discharge 00:00:00-00:00:00
2026-08-15 12:30:04.122891: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 12:30:04.123042: No export window planned
2026-08-15 12:30:04.123231: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 12:30:04.123285: Adjust idle time, charge 10:30:00-16:00:00 discharge 00:00:00-00:00:00
2026-08-15 12:30:04.123489: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 12:30:04.123648: Inverter 0 setting charging SoC to 25% as per target
2026-08-15 12:30:04.123745: Inverter 0 adjust target SoC for charge to 25% (4.0kWh/16.0kWh 16.0kWh) based on going from 23% -> 25% total add is 0.32kWh and this battery needs to add 0.32kWh to get to 4.0kWh
2026-08-15 12:30:04.123840: Inverter 0 Current charge limit is 22% and new target is 25%
2026-08-15 12:30:09.223342: Inverter 0 write_and_poll_value: Wrote 25 to charge_limit, successfully now 25.0
2026-08-15 12:30:09.223617: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:30:09.223670: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:30:09.223701: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:30:09.223727: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:30:09.223776: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:30:09.223802: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:30:09.223833: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:30:09.223895: Inverter 0 Calling service charge_start_service domain charge service_name select/select_option with data {'entity_id': 'select.sunsynk_prog1_charge', 'option': 'Allow Grid & Gen'}
2026-08-15 12:30:09.250858: Inverter 0 Calling service charge_start_service domain charge service_name select/select_option with data {'entity_id': 'select.sunsynk_prog2_charge', 'option': 'Allow Grid & Gen'}
2026-08-15 12:30:09.266858: Inverter 0 Calling service charge_start_service domain charge service_name select/select_option with data {'entity_id': 'select.sunsynk_prog3_charge', 'option': 'Allow Grid & Gen'}
2026-08-15 12:30:09.318407: Inverter 0 Calling service charge_start_service domain charge service_name select/select_option with data {'entity_id': 'select.sunsynk_prog4_charge', 'option': 'Allow Grid & Gen'}
2026-08-15 12:30:09.422010: Inverter 0 Calling service charge_start_service domain charge service_name select/select_option with data {'entity_id': 'select.sunsynk_prog5_charge', 'option': 'Allow Grid & Gen'}
2026-08-15 12:30:09.525538: Inverter 0 Calling service charge_start_service domain charge service_name select/select_option with data {'entity_id': 'select.sunsynk_prog6_charge', 'option': 'Allow Grid & Gen'}
2026-08-15 12:30:09.629399: Inverter 0 Calling service charge_start_service domain charge service_name select/select_option with data {'entity_id': 'select.sunsynk_load_limit', 'option': 'Zero Export'}
2026-08-15 12:30:09.732915: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:30:09.733064: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:30:09.733101: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:30:09.733129: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:30:09.733156: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:30:09.733181: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:30:09.733208: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:30:09.733229: Inverter 0 count register writes 1
2026-08-15 12:30:09.751001: Will not recompute the plan, it is 5.0 minutes old and max age is 10 minutes
2026-08-15 12:30:09.758502: Total inverter register writes now 822
2026-08-15 12:30:09.793308: Info: Completed run status Charging
2026-08-15 12:30:10.067654: Info: record_status Charging target 23%-25%
2026-08-15 12:30:10.075486: Saved current settings to /config/predbat_config.json
2026-08-15 12:30:10.075802: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 12:30:42.182560: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 12:30:42.182862: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 12:30:42.182908: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 12:30:42.183073: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 12:30:42.183117: Note: Inverter does not support discharge freeze - disabled
2026-08-15 12:30:42.183160: Note: Inverter does not support charge freeze - disabled
2026-08-15 12:30:42.183187: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 12:32:42.438640: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 12:32:42.439010: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 12:32:42.439061: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 12:32:42.439208: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 12:32:42.439248: Note: Inverter does not support discharge freeze - disabled
2026-08-15 12:32:42.439271: Note: Inverter does not support charge freeze - disabled
2026-08-15 12:32:42.439294: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 12:34:56.685635: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 12:34:56.685931: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 12:34:56.685969: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 12:34:56.686158: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 12:34:56.686194: Note: Inverter does not support discharge freeze - disabled
2026-08-15 12:34:56.686215: Note: Inverter does not support charge freeze - disabled
2026-08-15 12:34:56.686232: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 12:35:00.771616: --------------- PredBat - update at 2026-08-15 12:35:00+01:00 with clock skew 0 minutes, minutes now 755
2026-08-15 12:35:00.772495: Saved current settings to /config/predbat_config.json
2026-08-15 12:35:00.772663: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 20.0 minutes
2026-08-15 12:35:00.772749: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.1, latest beta is v8.48.1
2026-08-15 12:35:00.772881: Autoupdate: Currently up to date
2026-08-15 12:35:00.793791: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 12:35:00.793928: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 12:35:00.794187: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 12:35:00.794873: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 12:35:00.795063: Predbat mode is set to Control charge & discharge
2026-08-15 12:35:00.999257: Found 21602 load_today datapoints going back 28 days
2026-08-15 12:35:01.000032: Using load_power data to fill gaps in load_today data
2026-08-15 12:35:01.848515: Processing 721 30-minute periods for power integration
2026-08-15 12:35:02.037185: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 12:35:02.037339: Car charging hold False, threshold 6.0kWh
2026-08-15 12:35:02.037386: Current data so far today: load 7.55kWh, import 11.1kWh, export 0.0kWh, PV 0kWh
2026-08-15 12:35:02.053409: Cars: SoC: [11.72]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 12:35:02.053957: Standing charge is set to 49.98p
2026-08-15 12:35:02.101897: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 12:35:02.102021: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 12:35:02.102235: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 115.0 minutes
2026-08-15 12:35:02.102658: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 115.0 minutes
2026-08-15 12:35:02.108444: Loaded 95 datapoints of futurerate analysis
2026-08-15 12:35:02.204262: Predicted future rates: ['08-15 00:00:00 => 28.9 / 20.01', '08-15 01:00:00 => 27.54 / 19.31', '08-15 02:00:00 => 26.52 / 18.8', '08-15 03:00:00 => 25.99 / 18.53', '08-15 04:00:00 => 25.8 / 18.43', '08-15 05:00:00 => 25.96 / 18.51', '08-15 06:00:00 => 25.55 / 18.3', '08-15 07:00:00 => 24.33 / 17.68', '08-15 08:00:00 => 23.03 / 17.01', '08-15 09:00:00 => 22.05 / 16.51', '08-15 10:00:00 => 20.43 / 15.68', '08-15 11:00:00 => 18.01 / 14.45', '08-15 12:00:00 => 16.37 / 13.61', '08-15 13:00:00 => 15.76 / 13.3', '08-15 14:00:00 => 15.35 / 13.09', '08-15 15:00:00 => 15.86 / 13.35', '08-15 16:00:00 => 32.89 / 16.13', '08-15 17:00:00 => 38.02 / 18.75', '08-15 18:00:00 => 42.36 / 20.96', '08-15 19:00:00 => 31.09 / 21.13', '08-15 20:00:00 => 31.64 / 21.41', '08-15 21:00:00 => 31.64 / 21.41', '08-15 22:00:00 => 30.58 / 20.87', '08-15 23:00:00 => 29.37 / 20.25', '08-16 00:00:00 => 28.83 / 19.97', '08-16 01:00:00 => 27.73 / 19.41', '08-16 02:00:00 => 26.76 / 18.92', '08-16 03:00:00 => 26.39 / 18.73', '08-16 04:00:00 => 26.33 / 18.7', '08-16 05:00:00 => 26.23 / 18.65', '08-16 06:00:00 => 25.99 / 18.53', '08-16 07:00:00 => 25.64 / 18.35', '08-16 08:00:00 => 24.84 / 17.94', '08-16 09:00:00 => 24.26 / 17.64', '08-16 10:00:00 => 24.8 / 17.92', '08-16 11:00:00 => 24.71 / 17.87']
2026-08-15 12:35:02.268224: Rate min forward looking: now 13.77p at end of forecast 21.29p
2026-08-15 12:35:02.268713: Import rates: min 13.77p, max 46.05p, average 27.84p
2026-08-15 12:35:02.312108: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 12:35:02.312248: Rate thresholds (for charge/export) are import 45.55p (0.0p), export -0.1p (0.0p)
2026-08-15 12:35:02.313554: High export rate found rates in range 99p to -99p
2026-08-15 12:35:02.410523: Low Import rate found rates in range 13.77p to 44.19p
2026-08-15 12:35:02.410653: Car 0 charging is not planned as it is not plugged in
2026-08-15 12:35:02.423606: Battery level now 3.68kWh, -1hr ago 2.15kWh, at midnight 1.66kWh, battery value change in the last hour 18.07p, change today 23.94p, rate_forward 11.83p
2026-08-15 12:35:02.424170: Last hour: net energy 1.9kWh, import 1.9kWh, export 0.0kWh, car 0kWh, load 0.3kWh, net cost 29.55p, import 29.55p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 12:35:02.492923: Today's energy total net 11.1kWh, import 11.1kWh, export 0.0kWh, cost 309.43p, import 259.44p, export 0.0p, carbon 0.0kg
2026-08-15 12:35:02.493130: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 12:35:02.577536: Using weighted-bucket historical load forecast over 14 days
2026-08-15 12:35:02.608177: Today's load divergence 100.44%, in-day adjustment 121.04%, damping 0.95x, yesterday 143.77% today 100.42% blend 47.57%
2026-08-15 12:35:02.608278: Today's predicted so far 7.64kWh with 0.0kWh car/iBoost excluded, 5.61kWh import ignored, and 7.64kWh forecast extra.
2026-08-15 12:35:02.608310: Today's actual load so far 7.71kWh with 0.0kWh car/iBoost excluded, and 5.61kWh import ignored.
2026-08-15 12:35:02.647693: Inverter 0: Type SK Sunsynk
2026-08-15 12:35:02.647797: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 12:35:02.648009: Reserve min: 7%, battery_min: 7%
2026-08-15 12:35:02.648092: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 12:35:02.648387: Inverter 0 SoC: 3.63kW 23%, current charge rate 5000W, current discharge rate 5250W, current battery power -4494W, current battery voltage 51.2V, grid power -5307W, load power 311W, PV Power 0W
2026-08-15 12:35:02.648570: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 12:35:02.648661: Inverter 0 scheduled charge enable is True
2026-08-15 12:35:02.648712: Inverter 0 charge windows currently [{'start': 630, 'end': 960, 'average': 0}, {'start': 2070, 'end': 2400, 'average': 0}, {'start': 3510, 'end': 3840, 'average': 0}]
2026-08-15 12:35:02.648803: Inverter 0 Charge settings: 08-15 10:30:00-08-15 16:00:00, limit 25.0%, power 5.0kW
2026-08-15 12:35:02.648920: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 12:35:02.649014: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 12:35:02.649060: Inverter 0 scheduled discharge enable is False
2026-08-15 12:35:02.649185: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 12:35:02.649222: Inverter 0 discharge windows currently []
2026-08-15 12:35:02.649245: Note: Inverter does not support discharge freeze - disabled
2026-08-15 12:35:02.649267: Note: Inverter does not support charge freeze - disabled
2026-08-15 12:35:02.649285: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 12:35:02.708046: Dynamic load last period 0.30kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 12:35:02.708162: Plan was last updated on 2026-08-15 12:25:00+01:00 and is now 10.0 minutes old
2026-08-15 12:35:02.708378: Best charge window [ 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 13:00:00 - 16-08 18:30:00 @ 41.93p 100%, 16-08 19:00:00 - 17-08 12:30:00 @ 24.11p 100% ]
2026-08-15 12:35:02.708421: Best export window [  ]
2026-08-15 12:35:02.709228: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 12:35:02.712383: Load divergence over 8.0 hours mean 550.48W, min 294.0W, max 1564.2W, std dev 280.95W, divergence 25.52%
2026-08-15 12:35:02.730947: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 12:35:02.731078: LoadML is_calculating False
2026-08-15 12:35:02.731143: Creating pool of 12 processes to match your CPU count
2026-08-15 12:35:02.864935: predict base end_record 08-16 13:10:00, final soc 4.0kWh, metric 827.24p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 19:45:00, load 25.45kWh, PV 0.0kWh
2026-08-15 12:35:02.994063: Battery has 7.17 hours left - now at 3.63kWh
2026-08-15 12:35:03.039924: predict base10 end_record 08-16 13:10:00, final soc 4.0kWh, metric 849.38p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 19:35:00, load 26.31kWh, PV 0.0kWh
2026-08-15 12:35:03.118734: predict best10 end_record 08-16 13:10:00, final soc 1.77kWh, metric 670.9p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 10:35:00, load 26.31kWh, PV 0.0kWh
2026-08-15 12:35:03.202680: predict best end_record 08-16 13:10:00, final soc 1.9kWh, metric 650.16p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 11:40:00, load 25.45kWh, PV 0.0kWh
2026-08-15 12:35:03.202779: Saving plan best values to HA entities
2026-08-15 12:35:03.376693: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0
2026-08-15 12:35:03.381680: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 12:35:03.387097: Best charging limit SoC's [4.0, 16.0, 16.0, 16.0]kWh, export []kWh gives import battery 17.01kWh, house 1.15kWh, export 0.0kWh, metric 650.16p, metric10 670.9p
2026-08-15 12:35:03.465303: Marginal costs baseline metric (no standing charge): 600.1748
2026-08-15 12:35:03.704052: Marginal energy costs matrix computed: min=14.57 max=31.21
2026-08-15 12:35:03.788660: Rate array import [{'start': 755, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 16.3p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1950, 'rate': 'expensive', 'range': '(24.8p - 32.9p)'}, {'start': 1950, 'end': 2040, 'rate': 'cheap', 'range': '(24.2p - 24.3p)'}, {'start': 2040, 'end': 2130, 'rate': 'expensive', 'range': '(24.7p - 25.4p)'}, {'start': 2130, 'end': 2230, 'rate': 'cheap', 'range': '(23.1p - 24.0p)'}] export [{'start': 755, 'end': 2230, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 12:35:03.789143: - Your estimated bill for today is £5.50 and tomorrow is £6.80
2026-08-15 12:35:03.789197: - Import rates are cheap (13.8p - 16.3p) for the next 3 and a half hours and then expensive (33.1p) for the next 1 hour.
2026-08-15 12:35:03.789217: - The battery is currently at 23% and is charging to 25% for the next 25 minutes.
2026-08-15 12:35:03.789232: - For the next 48 hours there will be no solar generation.
2026-08-15 12:35:03.789245: - You will run out of battery in 23 hours.
2026-08-15 12:35:03.789259: 
2026-08-15 12:35:03.843469: Plan calculation took 1.14 seconds
2026-08-15 12:35:03.846359: No high rate period found
2026-08-15 12:35:03.893654: Import threshold used for optimisation was 24.28p
2026-08-15 12:35:03.941549: Low import rate windows [0: 08-15 12:30:00 - 08-15 13:00:00 @ 16.34, 1: 08-15 13:00:00 - 08-15 13:30:00 @ 15.36, 2: 08-15 13:30:00 - 08-15 14:00:00 @ 15.74, 3: 08-15 14:00:00 - 08-15 14:30:00 @ 14.57, 4: 08-15 14:30:00 - 08-15 15:00:00 @ 13.77, 5: 08-15 15:00:00 - 08-15 15:30:00 @ 15.02, 6: 08-15 15:30:00 - 08-15 16:00:00 @ 15.87, 7: 08-15 16:00:00 - 08-15 16:30:00 @ 33.13, 8: 08-15 16:30:00 - 08-15 17:00:00 @ 33.13, 9: 08-15 17:00:00 - 08-15 17:30:00 @ 38.46, 10: 08-15 17:30:00 - 08-15 18:00:00 @ 40.44, 11: 08-15 18:00:00 - 08-15 18:30:00 @ 41.55, 12: 08-15 18:30:00 - 08-15 19:00:00 @ 43.82, 13: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 14: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 15: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 16: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 17: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 18: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 19: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 20: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 21: 08-15 23:00:00 - 08-15 23:30:00 @ 29.37, 22: 08-15 23:30:00 - 08-16 00:00:00 @ 29.2, 23: 08-16 00:00:00 - 08-16 00:30:00 @ 28.83, 24: 08-16 00:30:00 - 08-16 01:00:00 @ 28.46, 25: 08-16 01:00:00 - 08-16 01:30:00 @ 27.73, 26: 08-16 01:30:00 - 08-16 02:00:00 @ 27.01, 27: 08-16 02:00:00 - 08-16 02:30:00 @ 26.76, 28: 08-16 02:30:00 - 08-16 03:00:00 @ 26.48, 29: 08-16 03:00:00 - 08-16 03:30:00 @ 26.39, 30: 08-16 03:30:00 - 08-16 04:00:00 @ 26.27, 31: 08-16 04:00:00 - 08-16 04:30:00 @ 26.33, 32: 08-16 04:30:00 - 08-16 05:00:00 @ 26.37, 33: 08-16 05:00:00 - 08-16 05:30:00 @ 26.23, 34: 08-16 05:30:00 - 08-16 06:00:00 @ 26.07, 35: 08-16 06:00:00 - 08-16 06:30:00 @ 25.99, 36: 08-16 06:30:00 - 08-16 07:00:00 @ 25.92, 37: 08-16 07:00:00 - 08-16 07:30:00 @ 25.64, 38: 08-16 07:30:00 - 08-16 08:00:00 @ 25.39, 39: 08-16 08:00:00 - 08-16 08:30:00 @ 24.84, 40: 08-16 08:30:00 - 08-16 09:00:00 @ 24.28, 41: 08-16 09:00:00 - 08-16 09:30:00 @ 24.26, 42: 08-16 09:30:00 - 08-16 10:00:00 @ 24.22, 43: 08-16 10:00:00 - 08-16 10:30:00 @ 24.8, 44: 08-16 10:30:00 - 08-16 11:00:00 @ 25.37, 45: 08-16 11:00:00 - 08-16 11:30:00 @ 24.71, 46: 08-16 11:30:00 - 08-16 12:00:00 @ 24.02, 47: 08-16 12:00:00 - 08-16 12:30:00 @ 23.79, 48: 08-16 12:30:00 - 08-16 13:00:00 @ 23.55, 49: 08-16 13:00:00 - 08-16 13:30:00 @ 23.14, 50: 08-16 13:30:00 - 08-16 14:00:00 @ 22.71, 51: 08-16 14:00:00 - 08-16 14:30:00 @ 22.01, 52: 08-16 14:30:00 - 08-16 15:00:00 @ 21.29, 53: 08-16 15:00:00 - 08-16 15:30:00 @ 22.01, 54: 08-16 15:30:00 - 08-16 16:00:00 @ 22.71, 55: 08-16 16:00:00 - 08-16 16:30:00 @ 37.14, 56: 08-16 16:30:00 - 08-16 17:00:00 @ 37.91, 57: 08-16 17:00:00 - 08-16 17:30:00 @ 40.13, 58: 08-16 17:30:00 - 08-16 18:00:00 @ 42.36, 59: 08-16 18:00:00 - 08-16 18:30:00 @ 44.19, 60: 08-16 19:00:00 - 08-16 19:30:00 @ 33.04, 61: 08-16 19:30:00 - 08-16 20:00:00 @ 33.71, 62: 08-16 20:00:00 - 08-16 20:30:00 @ 33.83, 63: 08-16 20:30:00 - 08-16 21:00:00 @ 33.94, 64: 08-16 21:00:00 - 08-16 21:30:00 @ 33.73, 65: 08-16 21:30:00 - 08-16 22:00:00 @ 33.53, 66: 08-16 22:00:00 - 08-16 22:30:00 @ 32.36, 67: 08-16 22:30:00 - 08-16 23:00:00 @ 31.17, 68: 08-16 23:00:00 - 08-16 23:30:00 @ 29.37, 69: 08-16 23:30:00 - 08-17 00:00:00 @ 29.2, 70: 08-17 00:00:00 - 08-17 00:30:00 @ 28.83, 71: 08-17 00:30:00 - 08-17 01:00:00 @ 28.46, 72: 08-17 01:00:00 - 08-17 01:30:00 @ 27.73, 73: 08-17 01:30:00 - 08-17 02:00:00 @ 27.01, 74: 08-17 02:00:00 - 08-17 02:30:00 @ 26.76, 75: 08-17 02:30:00 - 08-17 03:00:00 @ 26.48, 76: 08-17 03:00:00 - 08-17 03:30:00 @ 26.39, 77: 08-17 03:30:00 - 08-17 04:00:00 @ 26.27, 78: 08-17 04:00:00 - 08-17 04:30:00 @ 26.33, 79: 08-17 04:30:00 - 08-17 05:00:00 @ 26.37, 80: 08-17 05:00:00 - 08-17 05:30:00 @ 26.23, 81: 08-17 05:30:00 - 08-17 06:00:00 @ 26.07, 82: 08-17 06:00:00 - 08-17 06:30:00 @ 25.99, 83: 08-17 06:30:00 - 08-17 07:00:00 @ 25.92, 84: 08-17 07:00:00 - 08-17 07:30:00 @ 25.64, 85: 08-17 07:30:00 - 08-17 08:00:00 @ 25.39, 86: 08-17 08:00:00 - 08-17 08:30:00 @ 24.84, 87: 08-17 08:30:00 - 08-17 09:00:00 @ 24.28, 88: 08-17 09:00:00 - 08-17 09:30:00 @ 24.26, 89: 08-17 09:30:00 - 08-17 10:00:00 @ 24.22, 90: 08-17 10:00:00 - 08-17 10:30:00 @ 24.8, 91: 08-17 10:30:00 - 08-17 11:00:00 @ 25.37, 92: 08-17 11:00:00 - 08-17 11:30:00 @ 24.71, 93: 08-17 11:30:00 - 08-17 12:00:00 @ 24.02, 94: 08-17 12:00:00 - 08-17 12:30:00 @ 23.79, 95: 08-17 12:30:00 - 08-17 13:00:00 @ 23.55]
2026-08-15 12:35:03.949852: Include original charge start 08-15 10:30:00, keeping this instead of new start 08-15 12:30:00
2026-08-15 12:35:03.949964: Inverter 0 Charge window will be: 2026-08-15 10:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 23%, target 25%
2026-08-15 12:35:03.950165: Inverter 0 Target SoC 25%, (this inverter 25%), battery temperature 20°C, select charge rate 5000W (real 5000W), current charge rate 5000W
2026-08-15 12:35:03.950406: Adjust idle time, charge 10:30:00-16:00:00 discharge 00:00:00-00:00:00
2026-08-15 12:35:03.950656: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 12:35:03.950760: No export window planned
2026-08-15 12:35:03.950912: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 12:35:03.950951: Adjust idle time, charge 10:30:00-16:00:00 discharge 00:00:00-00:00:00
2026-08-15 12:35:03.951121: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 12:35:03.951254: Inverter 0 setting charging SoC to 25% as per target
2026-08-15 12:35:03.951321: Inverter 0 adjust target SoC for charge to 25% (4.0kWh/16.0kWh 16.0kWh) based on going from 23% -> 25% total add is 0.37kWh and this battery needs to add 0.37kWh to get to 4.0kWh
2026-08-15 12:35:03.951412: Inverter 0 Current Target SoC is 25%, already at target
2026-08-15 12:35:03.951554: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:35:03.951599: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:35:03.951635: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:35:03.951683: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:35:03.951726: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:35:03.951768: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:35:03.951819: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:35:03.951883: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 12:35:03.951948: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 12:35:03.951988: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 12:35:03.952052: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 12:35:03.952083: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 12:35:03.952106: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 12:35:03.952126: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 12:35:03.952185: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:35:03.952219: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:35:03.952240: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:35:03.952261: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:35:03.952280: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:35:03.952300: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:35:03.952319: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:35:03.952336: Inverter 0 count register writes 0
2026-08-15 12:35:03.966199: Will recompute the plan as it is now 10.0 minutes old and will exceed the max age of 10 minutes before the next run
2026-08-15 12:35:03.966371: Recompute is saving previous plan...
2026-08-15 12:35:03.969016: Best charge window [ 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 13:30:00 @ 15.36p 25%, 15-08 13:30:00 - 15-08 14:00:00 @ 15.74p 25%, 15-08 14:00:00 - 15-08 14:30:00 @ 14.57p 25%, 15-08 14:30:00 - 15-08 15:00:00 @ 13.77p 25%, 15-08 15:00:00 - 15-08 15:30:00 @ 15.02p 25%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 25%, 15-08 16:00:00 - 15-08 16:30:00 @ 33.13p 25%, 15-08 16:30:00 - 15-08 17:00:00 @ 33.13p 25%, 15-08 17:00:00 - 15-08 17:30:00 @ 38.46p 25%, 15-08 17:30:00 - 15-08 18:00:00 @ 40.44p 25%, 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 25%, 15-08 18:30:00 - 15-08 19:00:00 @ 43.82p 25%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 25%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 25%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 25%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 25%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 25%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 25%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 25%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 25%, 15-08 23:00:00 - 15-08 23:30:00 @ 29.37p 25%, 15-08 23:30:00 - 16-08 00:00:00 @ 29.2p 25%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.83p 25%, 16-08 00:30:00 - 16-08 01:00:00 @ 28.46p 25%, 16-08 01:00:00 - 16-08 01:30:00 @ 27.73p 25%, 16-08 01:30:00 - 16-08 02:00:00 @ 27.01p 25%, 16-08 02:00:00 - 16-08 02:30:00 @ 26.76p 25%, 16-08 02:30:00 - 16-08 03:00:00 @ 26.48p 25%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.39p 25%, 16-08 03:30:00 - 16-08 04:00:00 @ 26.27p 25%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.33p 25%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.37p 25%, 16-08 05:00:00 - 16-08 05:30:00 @ 26.23p 25%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.07p 25%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.99p 25%, 16-08 06:30:00 - 16-08 07:00:00 @ 25.92p 25%, 16-08 07:00:00 - 16-08 07:30:00 @ 25.64p 25%, 16-08 07:30:00 - 16-08 08:00:00 @ 25.39p 25%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.84p 25%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.28p 25%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.26p 25%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.22p 25%, 16-08 10:00:00 - 16-08 10:30:00 @ 24.8p 25%, 16-08 10:30:00 - 16-08 11:00:00 @ 25.37p 25%, 16-08 11:00:00 - 16-08 11:30:00 @ 24.71p 25%, 16-08 11:30:00 - 16-08 12:00:00 @ 24.02p 25%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.79p 25%, 16-08 12:30:00 - 16-08 13:00:00 @ 23.55p 25%, 16-08 13:00:00 - 16-08 13:30:00 @ 23.14p 25%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.71p 25%, 16-08 14:00:00 - 16-08 14:30:00 @ 22.01p 25%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.29p 25%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.01p 25%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.71p 25%, 16-08 16:00:00 - 16-08 16:30:00 @ 37.14p 25%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.91p 25%, 16-08 17:00:00 - 16-08 17:30:00 @ 40.13p 25%, 16-08 17:30:00 - 16-08 18:00:00 @ 42.36p 25%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.19p 25%, 16-08 19:00:00 - 16-08 19:30:00 @ 33.04p 25%, 16-08 19:30:00 - 16-08 20:00:00 @ 33.71p 25%, 16-08 20:00:00 - 16-08 20:30:00 @ 33.83p 25%, 16-08 20:30:00 - 16-08 21:00:00 @ 33.94p 25%, 16-08 21:00:00 - 16-08 21:30:00 @ 33.73p 25%, 16-08 21:30:00 - 16-08 22:00:00 @ 33.53p 25%, 16-08 22:00:00 - 16-08 22:30:00 @ 32.36p 25%, 16-08 22:30:00 - 16-08 23:00:00 @ 31.17p 25%, 16-08 23:00:00 - 16-08 23:30:00 @ 29.37p 25%, 16-08 23:30:00 - 17-08 00:00:00 @ 29.2p 25%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.83p 25%, 17-08 00:30:00 - 17-08 01:00:00 @ 28.46p 25%, 17-08 01:00:00 - 17-08 01:30:00 @ 27.73p 25%, 17-08 01:30:00 - 17-08 02:00:00 @ 27.01p 25%, 17-08 02:00:00 - 17-08 02:30:00 @ 26.76p 25%, 17-08 02:30:00 - 17-08 03:00:00 @ 26.48p 25%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.39p 25%, 17-08 03:30:00 - 17-08 04:00:00 @ 26.27p 25%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.33p 25%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.37p 25%, 17-08 05:00:00 - 17-08 05:30:00 @ 26.23p 25%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.07p 25%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.99p 25%, 17-08 06:30:00 - 17-08 07:00:00 @ 25.92p 25%, 17-08 07:00:00 - 17-08 07:30:00 @ 25.64p 25%, 17-08 07:30:00 - 17-08 08:00:00 @ 25.39p 25%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.84p 25%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.28p 25%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.26p 25%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.22p 25%, 17-08 10:00:00 - 17-08 10:30:00 @ 24.8p 25%, 17-08 10:30:00 - 17-08 11:00:00 @ 25.37p 25%, 17-08 11:00:00 - 17-08 11:30:00 @ 24.71p 25%, 17-08 11:30:00 - 17-08 12:00:00 @ 24.02p 25%, 17-08 12:00:00 - 17-08 12:30:00 @ 23.79p 25%, 17-08 12:30:00 - 17-08 13:00:00 @ 23.55p 25% ]
2026-08-15 12:35:03.969092: Best export window [  ]
2026-08-15 12:35:03.969758: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 12:35:03.972200: Load divergence over 8.0 hours mean 550.48W, min 294.0W, max 1564.2W, std dev 280.95W, divergence 25.52%
2026-08-15 12:35:03.986288: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 12:35:03.986390: LoadML is_calculating False
2026-08-15 12:35:03.986448: Creating pool of 12 processes to match your CPU count
2026-08-15 12:35:04.066182: Calculate Best options: mode(Control charge & discharge), calculate_export_oncharge(False), calculate_export_on_pv(True), set_export_freeze_only(False), set_discharge_during_charge(True), combine_charge_slots(False), combine_export_slots(False), combine_rate_threshold(0.0), best_soc_min(0.0 kWh), best_soc_max(0.0 kWh), best_soc_keep(0.0 kWh), inverter_loss(4%), battery_loss(3%), battery_loss_discharge (3%), inverter_hybrid(True), metric_min_improvement(0.0p), metric_min_improvement_export(0.1p), metric_min_improvement_export_freeze(0.1p), metric_battery_cycle(0.0p/kWh), metric_battery_value_scaling(1.0 x) 
2026-08-15 12:35:04.068101: Optimise levels pass started at 2026-08-15 12:35:04
2026-08-15 12:35:04.068190: Optimise all windows, total charge 95 export 1
2026-08-15 12:35:04.970611: >> Region optimisation pass width 960 gives best_metric 948.19p, best_cost 962.58p, best_cycle 45.82kWh, best_import 33.91kWh
2026-08-15 12:35:05.335387: >> Region optimisation pass width 480 gives best_metric 948.19p, best_cost 962.58p, best_cycle 45.82kWh, best_import 33.91kWh
2026-08-15 12:35:05.808565: >> Region optimisation pass width 240 gives best_metric 948.19p, best_cost 962.58p, best_cycle 45.82kWh, best_import 33.91kWh
2026-08-15 12:35:06.907178: >> Region optimisation pass width 120 gives best_metric 948.19p, best_cost 962.58p, best_cycle 45.82kWh, best_import 33.91kWh
2026-08-15 12:35:06.907479: Calculated end_record as 08-16 13:00:00 based on best_price 22.71p, next_charge_start 08-15 13:00:00, max_windows 49
2026-08-15 12:35:06.907555: Optimise levels pass ended at 2026-08-15 12:35:06, duration 2.8 seconds tried 277 combinations
2026-08-15 12:35:06.907624: Set best_price_charge_level 24.4p, best_price_export_level 0p, best_price_charge 22.71p, best_cost_export 0p, best_metric 948.19p, best_keep 0kWh, best_cycle 45.82kWh, best_carbon 0kg, best_import 33.91kWh
2026-08-15 12:35:06.927465: Starting detailed optimisation end_record 08-16 13:00:00, best_price_charge 22.71p, best_price_export 0p. lowest_price_charge 13.77p with charge limits [16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0]kWh and export limits []kWh
2026-08-15 12:35:10.693707: Tweak plan optimisation started metric 560.83p, cost 577.74p
2026-08-15 12:35:11.017394: Tweak optimisation finished metric 560.83p, cost 577.74p, metric_keep 0kWh, cycle 27.18kWh, carbon 0kg, import 17.19kWh, changed 8 window(s)
2026-08-15 12:35:11.052974: Swap charge optimisation started metric 560.83p, cost 577.74p, min_improvement_swap 0.1p
2026-08-15 12:35:13.538608: Swap charge optimisation finished metric 560.83p, cost 577.74p
2026-08-15 12:35:13.626396: Raw charge windows [ 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 13:30:00 @ 15.36p 100%, 15-08 13:30:00 - 15-08 14:00:00 @ 15.74p 100%, 15-08 14:00:00 - 15-08 14:30:00 @ 14.57p 100%, 15-08 14:30:00 - 15-08 15:00:00 @ 13.77p 100%, 15-08 15:00:00 - 15-08 15:30:00 @ 15.02p 100%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 100%, 15-08 16:00:00 - 15-08 16:30:00 @ 33.13p 0%, 15-08 16:30:00 - 15-08 17:00:00 @ 33.13p 0%, 15-08 17:00:00 - 15-08 17:30:00 @ 38.46p 0%, 15-08 17:30:00 - 15-08 18:00:00 @ 40.44p 0%, 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 0%, 15-08 18:30:00 - 15-08 19:00:00 @ 43.82p 0%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 0%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 0%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 0%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 0%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 29.37p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 29.2p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.83p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 28.46p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 27.73p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 27.01p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 26.76p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 26.48p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.39p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 26.27p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.33p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.37p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 26.23p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.07p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.99p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 25.92p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 25.64p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 25.39p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.84p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.28p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.26p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.22p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 24.8p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 25.37p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 24.71p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 24.02p 0%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.79p 0%, 16-08 12:30:00 - 16-08 13:00:00 @ 23.55p 0%, 16-08 13:00:00 - 16-08 13:30:00 @ 23.14p 100%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.71p 100%, 16-08 14:00:00 - 16-08 14:30:00 @ 22.01p 100%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.29p 100%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.01p 100%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.71p 100%, 16-08 16:00:00 - 16-08 16:30:00 @ 37.14p 100%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.91p 100%, 16-08 17:00:00 - 16-08 17:30:00 @ 40.13p 100%, 16-08 17:30:00 - 16-08 18:00:00 @ 42.36p 100%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.19p 100%, 16-08 19:00:00 - 16-08 19:30:00 @ 33.04p 100%, 16-08 19:30:00 - 16-08 20:00:00 @ 33.71p 100%, 16-08 20:00:00 - 16-08 20:30:00 @ 33.83p 100%, 16-08 20:30:00 - 16-08 21:00:00 @ 33.94p 100%, 16-08 21:00:00 - 16-08 21:30:00 @ 33.73p 100%, 16-08 21:30:00 - 16-08 22:00:00 @ 33.53p 100%, 16-08 22:00:00 - 16-08 22:30:00 @ 32.36p 100%, 16-08 22:30:00 - 16-08 23:00:00 @ 31.17p 100%, 16-08 23:00:00 - 16-08 23:30:00 @ 29.37p 100%, 16-08 23:30:00 - 17-08 00:00:00 @ 29.2p 100%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.83p 100%, 17-08 00:30:00 - 17-08 01:00:00 @ 28.46p 100%, 17-08 01:00:00 - 17-08 01:30:00 @ 27.73p 100%, 17-08 01:30:00 - 17-08 02:00:00 @ 27.01p 100%, 17-08 02:00:00 - 17-08 02:30:00 @ 26.76p 100%, 17-08 02:30:00 - 17-08 03:00:00 @ 26.48p 100%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.39p 100%, 17-08 03:30:00 - 17-08 04:00:00 @ 26.27p 100%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.33p 100%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.37p 100%, 17-08 05:00:00 - 17-08 05:30:00 @ 26.23p 100%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.07p 100%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.99p 100%, 17-08 06:30:00 - 17-08 07:00:00 @ 25.92p 100%, 17-08 07:00:00 - 17-08 07:30:00 @ 25.64p 100%, 17-08 07:30:00 - 17-08 08:00:00 @ 25.39p 100%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.84p 100%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.28p 100%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.26p 100%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.22p 100%, 17-08 10:00:00 - 17-08 10:30:00 @ 24.8p 100%, 17-08 10:30:00 - 17-08 11:00:00 @ 25.37p 100%, 17-08 11:00:00 - 17-08 11:30:00 @ 24.71p 100%, 17-08 11:30:00 - 17-08 12:00:00 @ 24.02p 100%, 17-08 12:00:00 - 17-08 12:30:00 @ 23.79p 100%, 17-08 12:30:00 - 17-08 13:00:00 @ 23.55p 100% ] reserve 1.12
2026-08-15 12:35:13.627023: Unclipped charge windows [ 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 13:00:00 - 16-08 18:30:00 @ 41.93p 100%, 16-08 19:00:00 - 17-08 13:00:00 @ 23.83p 100% ] reserve 1.12
2026-08-15 12:35:13.627241: Unfiltered charge windows [ 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 13:00:00 - 16-08 18:30:00 @ 41.93p 100%, 16-08 19:00:00 - 17-08 13:00:00 @ 23.83p 100% ] reserve 1.12
2026-08-15 12:35:13.627444: Filtered charge windows [ 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 13:00:00 - 16-08 18:30:00 @ 41.93p 100%, 16-08 19:00:00 - 17-08 13:00:00 @ 23.83p 100% ] reserve 1.12
2026-08-15 12:35:13.665668: Previous plan best metric is 560.75 (cost 577.74) and new plan best metric is 560.83 (cost 577.74)
2026-08-15 12:35:13.666282: New plan metric is not significantly better (metric_min_improvement_plan 2.0) than previous plan, using previous plan
2026-08-15 12:35:13.666452: Plan valid is now true after recompute was False
2026-08-15 12:35:13.695814: predict base end_record 08-16 13:00:00, final soc 4.0kWh, metric 824.09p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 19:45:00, load 25.32kWh, PV 0.0kWh
2026-08-15 12:35:13.812341: Battery has 7.17 hours left - now at 3.63kWh
2026-08-15 12:35:13.860287: predict base10 end_record 08-16 13:00:00, final soc 4.0kWh, metric 846.09p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 19:35:00, load 26.16kWh, PV 0.0kWh
2026-08-15 12:35:13.937135: predict best10 end_record 08-16 13:00:00, final soc 1.12kWh, metric 651.53p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 10:35:00, load 26.16kWh, PV 0.0kWh
2026-08-15 12:35:14.011416: predict best end_record 08-16 13:00:00, final soc 1.12kWh, metric 627.73p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 11:40:00, load 25.32kWh, PV 0.0kWh
2026-08-15 12:35:14.011503: Saving plan best values to HA entities
2026-08-15 12:35:14.171508: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0
2026-08-15 12:35:14.178683: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 12:35:14.184367: Best charging limit SoC's [4.0, 16.0, 16.0, 16.0]kWh, export []kWh gives import battery 16.04kWh, house 1.15kWh, export 0.0kWh, metric 627.73p, metric10 651.53p
2026-08-15 12:35:14.267732: Marginal costs baseline metric (no standing charge): 577.7444
2026-08-15 12:35:14.495839: Marginal energy costs matrix computed: min=14.57 max=31.21
2026-08-15 12:35:14.553280: Rate array import [{'start': 755, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 16.3p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1950, 'rate': 'expensive', 'range': '(24.8p - 32.9p)'}, {'start': 1950, 'end': 2040, 'rate': 'cheap', 'range': '(24.2p - 24.3p)'}, {'start': 2040, 'end': 2130, 'rate': 'expensive', 'range': '(24.7p - 25.4p)'}, {'start': 2130, 'end': 2220, 'rate': 'cheap', 'range': '(23.6p - 24.0p)'}] export [{'start': 755, 'end': 2220, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 12:35:14.553612: - Your estimated bill for today is £5.50 and tomorrow is £6.80
2026-08-15 12:35:14.553649: - Import rates are cheap (13.8p - 16.3p) for the next 3 and a half hours and then expensive (33.1p) for the next 1 hour.
2026-08-15 12:35:14.553668: - The battery is currently at 23% and is charging to 25% for the next 25 minutes.
2026-08-15 12:35:14.553683: - For the next 48 hours there will be no solar generation.
2026-08-15 12:35:14.553697: - You will run out of battery in 23 hours.
2026-08-15 12:35:14.553712: 
2026-08-15 12:35:14.605052: Plan calculation took 10.64 seconds
2026-08-15 12:35:14.605409: Inverter 0: Type SK Sunsynk
2026-08-15 12:35:14.605450: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 12:35:14.605648: Reserve min: 7%, battery_min: 7%
2026-08-15 12:35:14.605713: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 12:35:14.606014: Inverter 0 SoC: 3.74kW 23%, current charge rate 5000W, current discharge rate 5250W, current battery power -2851W, current battery voltage 51.2V, grid power -3468W, load power 296W, PV Power 0W
2026-08-15 12:35:14.606218: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 12:35:14.606308: Inverter 0 scheduled charge enable is True
2026-08-15 12:35:14.606350: Inverter 0 charge windows currently [{'start': 630, 'end': 960, 'average': 0}, {'start': 2070, 'end': 2400, 'average': 0}, {'start': 3510, 'end': 3840, 'average': 0}]
2026-08-15 12:35:14.606432: Inverter 0 Charge settings: 08-15 10:30:00-08-15 16:00:00, limit 25.0%, power 5.0kW
2026-08-15 12:35:14.606524: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 12:35:14.606555: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 12:35:14.606584: Inverter 0 scheduled discharge enable is False
2026-08-15 12:35:14.606692: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 12:35:14.606743: Inverter 0 discharge windows currently []
2026-08-15 12:35:14.606763: Note: Inverter does not support discharge freeze - disabled
2026-08-15 12:35:14.606779: Note: Inverter does not support charge freeze - disabled
2026-08-15 12:35:14.606794: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 12:35:14.657495: Include original charge start 08-15 10:30:00, keeping this instead of new start 08-15 12:30:00
2026-08-15 12:35:14.657618: Inverter 0 Charge window will be: 2026-08-15 10:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 23%, target 25%
2026-08-15 12:35:14.657848: Inverter 0 Target SoC 25%, (this inverter 25%), battery temperature 20°C, select charge rate 5000W (real 5000W), current charge rate 5000W
2026-08-15 12:35:14.658144: Adjust idle time, charge 10:30:00-16:00:00 discharge 00:00:00-00:00:00
2026-08-15 12:35:14.658466: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 12:35:14.658577: No export window planned
2026-08-15 12:35:14.658756: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 12:35:14.658807: Adjust idle time, charge 10:30:00-16:00:00 discharge 00:00:00-00:00:00
2026-08-15 12:35:14.659032: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 12:35:14.659187: Inverter 0 setting charging SoC to 25% as per target
2026-08-15 12:35:14.659290: Inverter 0 adjust target SoC for charge to 25% (4.0kWh/16.0kWh 16.0kWh) based on going from 23% -> 25% total add is 0.26kWh and this battery needs to add 0.26kWh to get to 4.0kWh
2026-08-15 12:35:14.659372: Inverter 0 Current Target SoC is 25%, already at target
2026-08-15 12:35:14.659526: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:35:14.659585: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:35:14.659648: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:35:14.659686: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:35:14.659728: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:35:14.659784: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:35:14.659823: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:35:14.659897: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 12:35:14.659942: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 12:35:14.660030: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 12:35:14.660091: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 12:35:14.660151: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 12:35:14.660212: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 12:35:14.660267: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 12:35:14.660356: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:35:14.660415: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:35:14.660502: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:35:14.660563: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:35:14.660630: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:35:14.660678: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:35:14.660714: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:35:14.660754: Inverter 0 count register writes 0
2026-08-15 12:35:14.679866: Total inverter register writes now 822
2026-08-15 12:35:14.711332: Info: Completed run status Charging
2026-08-15 12:35:14.717059: Info: record_status Charging target 23%-25%
2026-08-15 12:35:14.724261: Saved current settings to /config/predbat_config.json
2026-08-15 12:35:14.724638: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 12:35:56.843556: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 12:35:56.843800: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 12:35:56.843839: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 12:35:56.843956: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 12:35:56.843989: Note: Inverter does not support discharge freeze - disabled
2026-08-15 12:35:56.844022: Note: Inverter does not support charge freeze - disabled
2026-08-15 12:35:56.844038: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 12:37:57.069945: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 12:37:57.070283: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 12:37:57.070352: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 12:37:57.070566: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 12:37:57.070611: Note: Inverter does not support discharge freeze - disabled
2026-08-15 12:37:57.070663: Note: Inverter does not support charge freeze - disabled
2026-08-15 12:37:57.070696: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 12:39:51.685334: ML Component: Fetching 28 days of load history from ['sensor.sunsynk_day_load_energy']
2026-08-15 12:39:52.579969: Processing 1345 30-minute periods for power integration
2026-08-15 12:39:52.667422: ML Component: Car charging hold False, car energy reported load False
2026-08-15 12:39:52.753285: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 12:39:52.838725: ML Temperature data points: 49646
2026-08-15 12:39:53.066013: ML Component: Fetched 8064 load data points, 28.0 days of history
2026-08-15 12:39:53.103902: ML Component: Data fetch completed, load data age 56.0 days, 16416 data points
2026-08-15 12:39:53.104080: ML Component: No training needed, model age is 1.38 hours
2026-08-15 12:39:53.104150: ML Component: Generating predictions load data age 56.0 days, 16416 data points
2026-08-15 12:39:53.216979: ML Predictor: Starting autoregressive prediction loop for 576 steps (48.0 hours), prev_energy value 0.0203 max_dow {0: 0.09899687486626207, 1: 0.10616562486607581, 2: 0.12051249983031302, 3: 0.1227374996352941, 4: 0.1701437503574416, 5: 0.0974166672406925, 6: 0.11264999961592256}
2026-08-15 12:39:55.767449: ML Component: Generated 576 predictions (total 33.54 kWh over 48h)
2026-08-15 12:39:55.805872: ML Component: Prediction cycle completed
2026-08-15 12:39:55.926645: ML Component: Saved 16416 steps (56 days) of history to /config/predbat_ml_history.npz
2026-08-15 12:39:57.221762: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 12:39:57.222055: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 12:39:57.222100: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 12:39:57.222235: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 12:39:57.222275: Note: Inverter does not support discharge freeze - disabled
2026-08-15 12:39:57.222296: Note: Inverter does not support charge freeze - disabled
2026-08-15 12:39:57.222313: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 12:40:00.309448: --------------- PredBat - update at 2026-08-15 12:40:00+01:00 with clock skew 0 minutes, minutes now 760
2026-08-15 12:40:00.310260: Saved current settings to /config/predbat_config.json
2026-08-15 12:40:00.310409: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 25.0 minutes
2026-08-15 12:40:00.310508: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.1, latest beta is v8.48.1
2026-08-15 12:40:00.310626: Autoupdate: Currently up to date
2026-08-15 12:40:00.332233: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 12:40:00.332364: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 12:40:00.332606: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 12:40:00.333290: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 12:40:00.333469: Predbat mode is set to Control charge & discharge
2026-08-15 12:40:00.530765: Found 21602 load_today datapoints going back 28 days
2026-08-15 12:40:00.531487: Using load_power data to fill gaps in load_today data
2026-08-15 12:40:01.395681: Processing 721 30-minute periods for power integration
2026-08-15 12:40:01.569331: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 12:40:01.569468: Car charging hold False, threshold 6.0kWh
2026-08-15 12:40:01.569508: Current data so far today: load 7.5kWh, import 11.4kWh, export 0.0kWh, PV 0kWh
2026-08-15 12:40:01.581933: Cars: SoC: [11.72]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 12:40:01.582347: Standing charge is set to 49.98p
2026-08-15 12:40:01.620985: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 12:40:01.621100: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 12:40:01.621296: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 120.0 minutes
2026-08-15 12:40:01.621621: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 120.0 minutes
2026-08-15 12:40:01.626409: Loaded 95 datapoints of futurerate analysis
2026-08-15 12:40:01.701853: Predicted future rates: ['08-15 00:00:00 => 28.9 / 20.01', '08-15 01:00:00 => 27.54 / 19.31', '08-15 02:00:00 => 26.52 / 18.8', '08-15 03:00:00 => 25.99 / 18.53', '08-15 04:00:00 => 25.8 / 18.43', '08-15 05:00:00 => 25.96 / 18.51', '08-15 06:00:00 => 25.55 / 18.3', '08-15 07:00:00 => 24.33 / 17.68', '08-15 08:00:00 => 23.03 / 17.01', '08-15 09:00:00 => 22.05 / 16.51', '08-15 10:00:00 => 20.43 / 15.68', '08-15 11:00:00 => 18.01 / 14.45', '08-15 12:00:00 => 16.37 / 13.61', '08-15 13:00:00 => 15.76 / 13.3', '08-15 14:00:00 => 15.35 / 13.09', '08-15 15:00:00 => 15.86 / 13.35', '08-15 16:00:00 => 32.89 / 16.13', '08-15 17:00:00 => 38.02 / 18.75', '08-15 18:00:00 => 42.36 / 20.96', '08-15 19:00:00 => 31.09 / 21.13', '08-15 20:00:00 => 31.64 / 21.41', '08-15 21:00:00 => 31.64 / 21.41', '08-15 22:00:00 => 30.58 / 20.87', '08-15 23:00:00 => 29.37 / 20.25', '08-16 00:00:00 => 28.83 / 19.97', '08-16 01:00:00 => 27.73 / 19.41', '08-16 02:00:00 => 26.76 / 18.92', '08-16 03:00:00 => 26.39 / 18.73', '08-16 04:00:00 => 26.33 / 18.7', '08-16 05:00:00 => 26.23 / 18.65', '08-16 06:00:00 => 25.99 / 18.53', '08-16 07:00:00 => 25.64 / 18.35', '08-16 08:00:00 => 24.84 / 17.94', '08-16 09:00:00 => 24.26 / 17.64', '08-16 10:00:00 => 24.8 / 17.92', '08-16 11:00:00 => 24.71 / 17.87']
2026-08-15 12:40:01.753911: Rate min forward looking: now 13.77p at end of forecast 21.29p
2026-08-15 12:40:01.754233: Import rates: min 13.77p, max 46.05p, average 27.86p
2026-08-15 12:40:01.791103: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 12:40:01.791257: Rate thresholds (for charge/export) are import 45.55p (0.0p), export -0.1p (0.0p)
2026-08-15 12:40:01.792397: High export rate found rates in range 99p to -99p
2026-08-15 12:40:01.871389: Low Import rate found rates in range 13.77p to 44.19p
2026-08-15 12:40:01.871516: Car 0 charging is not planned as it is not plugged in
2026-08-15 12:40:01.883391: Battery level now 3.63kWh, -1hr ago 2.15kWh, at midnight 1.66kWh, battery value change in the last hour 17.5p, change today 23.37p, rate_forward 11.83p
2026-08-15 12:40:01.883783: Last hour: net energy 1.8kWh, import 1.8kWh, export 0.0kWh, car 0kWh, load 0.22kWh, net cost 28.43p, import 28.43p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 12:40:01.938534: Today's energy total net 11.4kWh, import 11.4kWh, export 0.0kWh, cost 314.49p, import 264.51p, export 0.0p, carbon 0.0kg
2026-08-15 12:40:01.938661: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 12:40:02.009382: Using weighted-bucket historical load forecast over 14 days
2026-08-15 12:40:02.031298: Today's load divergence 99.65%, in-day adjustment 120.5%, damping 0.95x, yesterday 143.77% today 99.67% blend 47.22%
2026-08-15 12:40:02.031383: Today's predicted so far 7.67kWh with 0.0kWh car/iBoost excluded, 5.86kWh import ignored, and 7.67kWh forecast extra.
2026-08-15 12:40:02.031409: Today's actual load so far 7.62kWh with 0.0kWh car/iBoost excluded, and 5.86kWh import ignored.
2026-08-15 12:40:02.066574: Inverter 0: Type SK Sunsynk
2026-08-15 12:40:02.066655: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 12:40:02.066811: Reserve min: 7%, battery_min: 7%
2026-08-15 12:40:02.066869: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 12:40:02.067102: Inverter 0 SoC: 4.0kW 25%, current charge rate 5000W, current discharge rate 5250W, current battery power -19W, current battery voltage 51.2V, grid power -392W, load power 376W, PV Power 0W
2026-08-15 12:40:02.067236: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 12:40:02.067305: Inverter 0 scheduled charge enable is True
2026-08-15 12:40:02.067342: Inverter 0 charge windows currently [{'start': 630, 'end': 960, 'average': 0}, {'start': 2070, 'end': 2400, 'average': 0}, {'start': 3510, 'end': 3840, 'average': 0}]
2026-08-15 12:40:02.067420: Inverter 0 Charge settings: 08-15 10:30:00-08-15 16:00:00, limit 25.0%, power 5.0kW
2026-08-15 12:40:02.067513: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 12:40:02.067543: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 12:40:02.067591: Inverter 0 scheduled discharge enable is False
2026-08-15 12:40:02.067718: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 12:40:02.067749: Inverter 0 discharge windows currently []
2026-08-15 12:40:02.067768: Note: Inverter does not support discharge freeze - disabled
2026-08-15 12:40:02.067783: Note: Inverter does not support charge freeze - disabled
2026-08-15 12:40:02.067797: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 12:40:02.121567: Dynamic load last period 0.00kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 12:40:02.121661: Plan was last updated on 2026-08-15 12:35:00+01:00 and is now 5.0 minutes old
2026-08-15 12:40:02.121906: Best charge window [ 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 13:00:00 - 16-08 18:30:00 @ 41.93p 100%, 16-08 19:00:00 - 17-08 12:30:00 @ 24.11p 100% ]
2026-08-15 12:40:02.121949: Best export window [  ]
2026-08-15 12:40:02.122614: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 12:40:02.125306: Load divergence over 8.0 hours mean 547.57W, min 291.6W, max 1657.2W, std dev 276.7W, divergence 25.27%
2026-08-15 12:40:02.140353: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 12:40:02.140447: LoadML is_calculating False
2026-08-15 12:40:02.140524: Creating pool of 12 processes to match your CPU count
2026-08-15 12:40:02.246615: predict base end_record 08-16 13:05:00, final soc 4.0kWh, metric 822.46p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 19:45:00, load 25.23kWh, PV 0.0kWh
2026-08-15 12:40:02.370381: Battery has 7.08 hours left - now at 4.0kWh
2026-08-15 12:40:02.411419: predict base10 end_record 08-16 13:05:00, final soc 4.0kWh, metric 844.44p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 19:40:00, load 26.07kWh, PV 0.0kWh
2026-08-15 12:40:02.486874: predict best10 end_record 08-16 13:05:00, final soc 1.44kWh, metric 657.98p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 10:35:00, load 26.07kWh, PV 0.0kWh
2026-08-15 12:40:02.563372: predict best end_record 08-16 13:05:00, final soc 1.51kWh, metric 635.79p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 11:40:00, load 25.23kWh, PV 0.0kWh
2026-08-15 12:40:02.563466: Saving plan best values to HA entities
2026-08-15 12:40:02.738967: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0
2026-08-15 12:40:02.745167: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 12:40:02.750747: Best charging limit SoC's [4.0, 16.0, 16.0, 16.0]kWh, export []kWh gives import battery 16.04kWh, house 1.14kWh, export 0.0kWh, metric 635.79p, metric10 657.98p
2026-08-15 12:40:02.819399: Marginal costs baseline metric (no standing charge): 585.8053
2026-08-15 12:40:03.049281: Marginal energy costs matrix computed: min=14.74 max=30.92
2026-08-15 12:40:03.116054: Rate array import [{'start': 760, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 16.3p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1950, 'rate': 'expensive', 'range': '(24.8p - 32.9p)'}, {'start': 1950, 'end': 2040, 'rate': 'cheap', 'range': '(24.2p - 24.3p)'}, {'start': 2040, 'end': 2130, 'rate': 'expensive', 'range': '(24.7p - 25.4p)'}, {'start': 2130, 'end': 2225, 'rate': 'cheap', 'range': '(23.1p - 24.0p)'}] export [{'start': 760, 'end': 2225, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 12:40:03.117000: - Your estimated bill for today is £5.47 and tomorrow is £6.81
2026-08-15 12:40:03.117060: - Import rates are cheap (13.8p - 16.3p) for the next 3 and a quarter hours and then expensive (33.1p) for the next 1 hour.
2026-08-15 12:40:03.117081: - The battery is currently at 25% and is charging to 25% for the next 20 minutes.
2026-08-15 12:40:03.117113: - For the next 48 hours there will be no solar generation.
2026-08-15 12:40:03.117129: - You will run out of battery in 23 hours.
2026-08-15 12:40:03.117143: 
2026-08-15 12:40:03.168179: Plan calculation took 1.05 seconds
2026-08-15 12:40:03.174051: No high rate period found
2026-08-15 12:40:03.221088: Import threshold used for optimisation was 16.34p
2026-08-15 12:40:03.276009: Low import rate windows [0: 08-15 12:30:00 - 08-15 13:00:00 @ 16.34, 1: 08-15 13:00:00 - 08-15 13:30:00 @ 15.36, 2: 08-15 13:30:00 - 08-15 14:00:00 @ 15.74, 3: 08-15 14:00:00 - 08-15 14:30:00 @ 14.57, 4: 08-15 14:30:00 - 08-15 15:00:00 @ 13.77, 5: 08-15 15:00:00 - 08-15 15:30:00 @ 15.02, 6: 08-15 15:30:00 - 08-15 16:00:00 @ 15.87, 7: 08-15 16:00:00 - 08-15 16:30:00 @ 33.13, 8: 08-15 16:30:00 - 08-15 17:00:00 @ 33.13, 9: 08-15 17:00:00 - 08-15 17:30:00 @ 38.46, 10: 08-15 17:30:00 - 08-15 18:00:00 @ 40.44, 11: 08-15 18:00:00 - 08-15 18:30:00 @ 41.55, 12: 08-15 18:30:00 - 08-15 19:00:00 @ 43.82, 13: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 14: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 15: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 16: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 17: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 18: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 19: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 20: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 21: 08-15 23:00:00 - 08-15 23:30:00 @ 29.37, 22: 08-15 23:30:00 - 08-16 00:00:00 @ 29.2, 23: 08-16 00:00:00 - 08-16 00:30:00 @ 28.83, 24: 08-16 00:30:00 - 08-16 01:00:00 @ 28.46, 25: 08-16 01:00:00 - 08-16 01:30:00 @ 27.73, 26: 08-16 01:30:00 - 08-16 02:00:00 @ 27.01, 27: 08-16 02:00:00 - 08-16 02:30:00 @ 26.76, 28: 08-16 02:30:00 - 08-16 03:00:00 @ 26.48, 29: 08-16 03:00:00 - 08-16 03:30:00 @ 26.39, 30: 08-16 03:30:00 - 08-16 04:00:00 @ 26.27, 31: 08-16 04:00:00 - 08-16 04:30:00 @ 26.33, 32: 08-16 04:30:00 - 08-16 05:00:00 @ 26.37, 33: 08-16 05:00:00 - 08-16 05:30:00 @ 26.23, 34: 08-16 05:30:00 - 08-16 06:00:00 @ 26.07, 35: 08-16 06:00:00 - 08-16 06:30:00 @ 25.99, 36: 08-16 06:30:00 - 08-16 07:00:00 @ 25.92, 37: 08-16 07:00:00 - 08-16 07:30:00 @ 25.64, 38: 08-16 07:30:00 - 08-16 08:00:00 @ 25.39, 39: 08-16 08:00:00 - 08-16 08:30:00 @ 24.84, 40: 08-16 08:30:00 - 08-16 09:00:00 @ 24.28, 41: 08-16 09:00:00 - 08-16 09:30:00 @ 24.26, 42: 08-16 09:30:00 - 08-16 10:00:00 @ 24.22, 43: 08-16 10:00:00 - 08-16 10:30:00 @ 24.8, 44: 08-16 10:30:00 - 08-16 11:00:00 @ 25.37, 45: 08-16 11:00:00 - 08-16 11:30:00 @ 24.71, 46: 08-16 11:30:00 - 08-16 12:00:00 @ 24.02, 47: 08-16 12:00:00 - 08-16 12:30:00 @ 23.79, 48: 08-16 12:30:00 - 08-16 13:00:00 @ 23.55, 49: 08-16 13:00:00 - 08-16 13:30:00 @ 23.14, 50: 08-16 13:30:00 - 08-16 14:00:00 @ 22.71, 51: 08-16 14:00:00 - 08-16 14:30:00 @ 22.01, 52: 08-16 14:30:00 - 08-16 15:00:00 @ 21.29, 53: 08-16 15:00:00 - 08-16 15:30:00 @ 22.01, 54: 08-16 15:30:00 - 08-16 16:00:00 @ 22.71, 55: 08-16 16:00:00 - 08-16 16:30:00 @ 37.14, 56: 08-16 16:30:00 - 08-16 17:00:00 @ 37.91, 57: 08-16 17:00:00 - 08-16 17:30:00 @ 40.13, 58: 08-16 17:30:00 - 08-16 18:00:00 @ 42.36, 59: 08-16 18:00:00 - 08-16 18:30:00 @ 44.19, 60: 08-16 19:00:00 - 08-16 19:30:00 @ 33.04, 61: 08-16 19:30:00 - 08-16 20:00:00 @ 33.71, 62: 08-16 20:00:00 - 08-16 20:30:00 @ 33.83, 63: 08-16 20:30:00 - 08-16 21:00:00 @ 33.94, 64: 08-16 21:00:00 - 08-16 21:30:00 @ 33.73, 65: 08-16 21:30:00 - 08-16 22:00:00 @ 33.53, 66: 08-16 22:00:00 - 08-16 22:30:00 @ 32.36, 67: 08-16 22:30:00 - 08-16 23:00:00 @ 31.17, 68: 08-16 23:00:00 - 08-16 23:30:00 @ 29.37, 69: 08-16 23:30:00 - 08-17 00:00:00 @ 29.2, 70: 08-17 00:00:00 - 08-17 00:30:00 @ 28.83, 71: 08-17 00:30:00 - 08-17 01:00:00 @ 28.46, 72: 08-17 01:00:00 - 08-17 01:30:00 @ 27.73, 73: 08-17 01:30:00 - 08-17 02:00:00 @ 27.01, 74: 08-17 02:00:00 - 08-17 02:30:00 @ 26.76, 75: 08-17 02:30:00 - 08-17 03:00:00 @ 26.48, 76: 08-17 03:00:00 - 08-17 03:30:00 @ 26.39, 77: 08-17 03:30:00 - 08-17 04:00:00 @ 26.27, 78: 08-17 04:00:00 - 08-17 04:30:00 @ 26.33, 79: 08-17 04:30:00 - 08-17 05:00:00 @ 26.37, 80: 08-17 05:00:00 - 08-17 05:30:00 @ 26.23, 81: 08-17 05:30:00 - 08-17 06:00:00 @ 26.07, 82: 08-17 06:00:00 - 08-17 06:30:00 @ 25.99, 83: 08-17 06:30:00 - 08-17 07:00:00 @ 25.92, 84: 08-17 07:00:00 - 08-17 07:30:00 @ 25.64, 85: 08-17 07:30:00 - 08-17 08:00:00 @ 25.39, 86: 08-17 08:00:00 - 08-17 08:30:00 @ 24.84, 87: 08-17 08:30:00 - 08-17 09:00:00 @ 24.28, 88: 08-17 09:00:00 - 08-17 09:30:00 @ 24.26, 89: 08-17 09:30:00 - 08-17 10:00:00 @ 24.22, 90: 08-17 10:00:00 - 08-17 10:30:00 @ 24.8, 91: 08-17 10:30:00 - 08-17 11:00:00 @ 25.37, 92: 08-17 11:00:00 - 08-17 11:30:00 @ 24.71, 93: 08-17 11:30:00 - 08-17 12:00:00 @ 24.02, 94: 08-17 12:00:00 - 08-17 12:30:00 @ 23.79, 95: 08-17 12:30:00 - 08-17 13:00:00 @ 23.55]
2026-08-15 12:40:03.284078: Include original charge start 08-15 10:30:00, keeping this instead of new start 08-15 12:30:00
2026-08-15 12:40:03.284190: Inverter 0 Charge window will be: 2026-08-15 10:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 25%, target 25%
2026-08-15 12:40:03.284352: Inverter 0 Target SoC 25%, (this inverter 25%), battery temperature 20°C, select charge rate 5000W (real 5000W), current charge rate 5000W
2026-08-15 12:40:03.284437: Inverter 0 Hold charging as SoC 25% is above target SoC 25% (global soc target 25%) set_discharge_during_charge True
2026-08-15 12:40:03.284575: Adjust idle time, charge 10:30:00-16:00:00 discharge 00:00:00-00:00:00
2026-08-15 12:40:03.284789: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 12:40:03.284896: Inverter 0 current discharge rate is 5000W and new target is 0W
2026-08-15 12:40:08.292052: Inverter 0 write_and_poll_value: Wrote 0 to discharge_rate, successfully now 0.0
2026-08-15 12:40:13.308397: Inverter 0 write_and_poll_value: Wrote 0.0 to timed_discharge_current, successfully now 0.0
2026-08-15 12:40:13.308555: No export window planned
2026-08-15 12:40:13.308811: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 12:40:13.308871: Adjust idle time, charge 10:30:00-16:00:00 discharge 00:00:00-00:00:00
2026-08-15 12:40:13.309154: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 12:40:13.309279: Inverter 0 setting charging SoC to 25% as per target
2026-08-15 12:40:13.309348: Inverter 0 adjust target SoC for charge to 25% (4.0kWh/16.0kWh 16.0kWh) based on going from 25% -> 25% total add is 0.0kWh and this battery needs to add 0.0kWh to get to 4.0kWh
2026-08-15 12:40:13.309443: Inverter 0 Current Target SoC is 25%, already at target
2026-08-15 12:40:13.309592: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:40:13.309637: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:40:13.309666: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:40:13.309696: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:40:13.309722: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:40:13.309753: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:40:13.309778: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:40:13.309828: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 12:40:13.309890: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 12:40:13.309925: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 12:40:13.309980: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 12:40:13.310012: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 12:40:13.310069: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 12:40:13.310105: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 12:40:13.310172: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:40:13.310207: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:40:13.310233: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:40:13.310262: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:40:13.310286: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:40:13.310311: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:40:13.310335: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:40:13.310360: Inverter 0 count register writes 1
2026-08-15 12:40:13.329586: Will not recompute the plan, it is 5.0 minutes old and max age is 10 minutes
2026-08-15 12:40:13.335957: Total inverter register writes now 823
2026-08-15 12:40:13.370754: Info: Completed run status Hold charging
2026-08-15 12:40:13.663154: Info: record_status Hold charging target 25%-25%
2026-08-15 12:40:13.670660: Saved current settings to /config/predbat_config.json
2026-08-15 12:40:13.671045: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 12:40:56.791678: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 12:40:56.791968: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 12:40:56.792013: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 12:40:56.792209: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 12:40:56.792252: Note: Inverter does not support discharge freeze - disabled
2026-08-15 12:40:56.792298: Note: Inverter does not support charge freeze - disabled
2026-08-15 12:40:56.792316: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 12:42:57.022592: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 12:42:57.022939: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 12:42:57.023001: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 12:42:57.023218: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 12:42:57.023265: Note: Inverter does not support discharge freeze - disabled
2026-08-15 12:42:57.023288: Note: Inverter does not support charge freeze - disabled
2026-08-15 12:42:57.023306: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 12:44:57.248782: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 12:44:57.249257: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 12:44:57.249332: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 12:44:57.249604: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 12:44:57.249679: Note: Inverter does not support discharge freeze - disabled
2026-08-15 12:44:57.249761: Note: Inverter does not support charge freeze - disabled
2026-08-15 12:44:57.249808: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 12:45:00.337502: --------------- PredBat - update at 2026-08-15 12:45:00+01:00 with clock skew 0 minutes, minutes now 765
2026-08-15 12:45:00.338366: Saved current settings to /config/predbat_config.json
2026-08-15 12:45:00.338504: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 30.0 minutes
2026-08-15 12:45:00.338580: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.1, latest beta is v8.48.1
2026-08-15 12:45:00.338722: Autoupdate: Currently up to date
2026-08-15 12:45:00.362189: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 12:45:00.362348: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 12:45:00.362553: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 12:45:00.363190: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 12:45:00.363331: Predbat mode is set to Control charge & discharge
2026-08-15 12:45:00.572226: Found 21602 load_today datapoints going back 28 days
2026-08-15 12:45:00.572410: Using load_power data to fill gaps in load_today data
2026-08-15 12:45:01.448868: Processing 721 30-minute periods for power integration
2026-08-15 12:45:01.679003: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 12:45:01.679168: Car charging hold False, threshold 6.0kWh
2026-08-15 12:45:01.679217: Current data so far today: load 7.5kWh, import 11.4kWh, export 0.0kWh, PV 0kWh
2026-08-15 12:45:01.694559: Cars: SoC: [11.72]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 12:45:01.695098: Standing charge is set to 49.98p
2026-08-15 12:45:01.751256: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 12:45:01.751360: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 12:45:01.751589: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 125.0 minutes
2026-08-15 12:45:01.751982: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 125.0 minutes
2026-08-15 12:45:01.758275: Loaded 95 datapoints of futurerate analysis
2026-08-15 12:45:01.855744: Predicted future rates: ['08-15 00:00:00 => 28.9 / 20.01', '08-15 01:00:00 => 27.54 / 19.31', '08-15 02:00:00 => 26.52 / 18.8', '08-15 03:00:00 => 25.99 / 18.53', '08-15 04:00:00 => 25.8 / 18.43', '08-15 05:00:00 => 25.96 / 18.51', '08-15 06:00:00 => 25.55 / 18.3', '08-15 07:00:00 => 24.33 / 17.68', '08-15 08:00:00 => 23.03 / 17.01', '08-15 09:00:00 => 22.05 / 16.51', '08-15 10:00:00 => 20.43 / 15.68', '08-15 11:00:00 => 18.01 / 14.45', '08-15 12:00:00 => 16.37 / 13.61', '08-15 13:00:00 => 15.76 / 13.3', '08-15 14:00:00 => 15.35 / 13.09', '08-15 15:00:00 => 15.86 / 13.35', '08-15 16:00:00 => 32.89 / 16.13', '08-15 17:00:00 => 38.02 / 18.75', '08-15 18:00:00 => 42.36 / 20.96', '08-15 19:00:00 => 31.09 / 21.13', '08-15 20:00:00 => 31.64 / 21.41', '08-15 21:00:00 => 31.64 / 21.41', '08-15 22:00:00 => 30.58 / 20.87', '08-15 23:00:00 => 29.37 / 20.25', '08-16 00:00:00 => 28.83 / 19.97', '08-16 01:00:00 => 27.73 / 19.41', '08-16 02:00:00 => 26.76 / 18.92', '08-16 03:00:00 => 26.39 / 18.73', '08-16 04:00:00 => 26.33 / 18.7', '08-16 05:00:00 => 26.23 / 18.65', '08-16 06:00:00 => 25.99 / 18.53', '08-16 07:00:00 => 25.64 / 18.35', '08-16 08:00:00 => 24.84 / 17.94', '08-16 09:00:00 => 24.26 / 17.64', '08-16 10:00:00 => 24.8 / 17.92', '08-16 11:00:00 => 24.71 / 17.87']
2026-08-15 12:45:01.924465: Rate min forward looking: now 13.77p at end of forecast 21.29p
2026-08-15 12:45:01.925244: Import rates: min 13.77p, max 46.05p, average 27.87p
2026-08-15 12:45:01.975614: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 12:45:01.975752: Rate thresholds (for charge/export) are import 45.55p (0.0p), export -0.1p (0.0p)
2026-08-15 12:45:01.977073: High export rate found rates in range 99p to -99p
2026-08-15 12:45:02.083831: Low Import rate found rates in range 13.77p to 44.19p
2026-08-15 12:45:02.084018: Car 0 charging is not planned as it is not plugged in
2026-08-15 12:45:02.097922: Battery level now 4.0kWh, -1hr ago 2.5kWh, at midnight 1.66kWh, battery value change in the last hour 17.69p, change today 27.72p, rate_forward 11.83p
2026-08-15 12:45:02.098423: Last hour: net energy 1.4kWh, import 1.4kWh, export 0.0kWh, car 0kWh, load 0.2kWh, net cost 22.25p, import 22.25p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 12:45:02.157028: Today's energy total net 11.4kWh, import 11.4kWh, export 0.0kWh, cost 314.49p, import 264.51p, export 0.0p, carbon 0.0kg
2026-08-15 12:45:02.157253: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 12:45:02.249084: Using weighted-bucket historical load forecast over 14 days
2026-08-15 12:45:02.278196: Today's load divergence 99.06%, in-day adjustment 120.04%, damping 0.95x, yesterday 143.77% today 99.11% blend 46.88%
2026-08-15 12:45:02.278304: Today's predicted so far 7.71kWh with 0.0kWh car/iBoost excluded, 5.84kWh import ignored, and 7.71kWh forecast extra.
2026-08-15 12:45:02.278337: Today's actual load so far 7.57kWh with 0.0kWh car/iBoost excluded, and 5.84kWh import ignored.
2026-08-15 12:45:02.319318: Inverter 0: Type SK Sunsynk
2026-08-15 12:45:02.319417: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 12:45:02.319686: Reserve min: 7%, battery_min: 7%
2026-08-15 12:45:02.319801: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 12:45:02.320141: Inverter 0 SoC: 4.0kW 25%, current charge rate 5000W, current discharge rate 0W, current battery power -13W, current battery voltage 51.2V, grid power -420W, load power 415W, PV Power 0W
2026-08-15 12:45:02.320356: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 12:45:02.320483: Inverter 0 scheduled charge enable is True
2026-08-15 12:45:02.320563: Inverter 0 charge windows currently [{'start': 630, 'end': 960, 'average': 0}, {'start': 2070, 'end': 2400, 'average': 0}, {'start': 3510, 'end': 3840, 'average': 0}]
2026-08-15 12:45:02.320703: Inverter 0 Charge settings: 08-15 10:30:00-08-15 16:00:00, limit 25.0%, power 5.0kW
2026-08-15 12:45:02.320876: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 12:45:02.320932: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 12:45:02.321081: Inverter 0 scheduled discharge enable is False
2026-08-15 12:45:02.321300: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 12:45:02.321364: Inverter 0 discharge windows currently []
2026-08-15 12:45:02.321399: Note: Inverter does not support discharge freeze - disabled
2026-08-15 12:45:02.321443: Note: Inverter does not support charge freeze - disabled
2026-08-15 12:45:02.321472: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 12:45:02.397133: Dynamic load last period 0.00kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 12:45:02.397270: Plan was last updated on 2026-08-15 12:35:00+01:00 and is now 10.0 minutes old
2026-08-15 12:45:02.397494: Best charge window [ 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 13:00:00 - 16-08 18:30:00 @ 41.93p 100%, 16-08 19:00:00 - 17-08 12:30:00 @ 24.11p 100% ]
2026-08-15 12:45:02.397537: Best export window [  ]
2026-08-15 12:45:02.398396: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 12:45:02.401576: Load divergence over 8.0 hours mean 544.47W, min 290.4W, max 1559.4W, std dev 279.76W, divergence 25.69%
2026-08-15 12:45:02.421033: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 12:45:02.421182: LoadML is_calculating False
2026-08-15 12:45:02.421251: Creating pool of 12 processes to match your CPU count
2026-08-15 12:45:02.541859: predict base end_record 08-16 13:10:00, final soc 4.0kWh, metric 821.75p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 19:50:00, load 25.17kWh, PV 0.0kWh
2026-08-15 12:45:02.706440: Battery has 7.08 hours left - now at 4.0kWh
2026-08-15 12:45:02.757766: predict base10 end_record 08-16 13:10:00, final soc 4.0kWh, metric 843.71p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 19:40:00, load 26.01kWh, PV 0.0kWh
2026-08-15 12:45:02.839377: predict best10 end_record 08-16 13:10:00, final soc 1.77kWh, metric 665.31p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 10:35:00, load 26.01kWh, PV 0.0kWh
2026-08-15 12:45:02.920875: predict best end_record 08-16 13:10:00, final soc 1.9kWh, metric 644.77p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 11:40:00, load 25.17kWh, PV 0.0kWh
2026-08-15 12:45:02.921005: Saving plan best values to HA entities
2026-08-15 12:45:03.103551: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0
2026-08-15 12:45:03.109938: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 12:45:03.115609: Best charging limit SoC's [4.0, 16.0, 16.0, 16.0]kWh, export []kWh gives import battery 16.39kWh, house 1.14kWh, export 0.0kWh, metric 644.77p, metric10 665.31p
2026-08-15 12:45:03.198650: Marginal costs baseline metric (no standing charge): 594.7863
2026-08-15 12:45:03.475361: Marginal energy costs matrix computed: min=14.92 max=31.24
2026-08-15 12:45:03.543177: Rate array import [{'start': 765, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 16.3p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1950, 'rate': 'expensive', 'range': '(24.8p - 32.9p)'}, {'start': 1950, 'end': 2040, 'rate': 'cheap', 'range': '(24.2p - 24.3p)'}, {'start': 2040, 'end': 2130, 'rate': 'expensive', 'range': '(24.7p - 25.4p)'}, {'start': 2130, 'end': 2230, 'rate': 'cheap', 'range': '(23.1p - 24.0p)'}] export [{'start': 765, 'end': 2230, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 12:45:03.543600: - Your estimated bill for today is £5.45 and tomorrow is £6.82
2026-08-15 12:45:03.543646: - Import rates are cheap (13.8p - 16.3p) for the next 3 and a quarter hours and then expensive (33.1p) for the next 1 hour.
2026-08-15 12:45:03.543669: - The battery is currently at 25% and is charging to 25% for the next 15 minutes.
2026-08-15 12:45:03.543687: - For the next 48 hours there will be no solar generation.
2026-08-15 12:45:03.543712: - You will run out of battery in 22 hours.
2026-08-15 12:45:03.543730: 
2026-08-15 12:45:03.589484: Plan calculation took 1.19 seconds
2026-08-15 12:45:03.593134: No high rate period found
2026-08-15 12:45:03.638806: Import threshold used for optimisation was 16.34p
2026-08-15 12:45:03.690799: Low import rate windows [0: 08-15 12:30:00 - 08-15 13:00:00 @ 16.34, 1: 08-15 13:00:00 - 08-15 13:30:00 @ 15.36, 2: 08-15 13:30:00 - 08-15 14:00:00 @ 15.74, 3: 08-15 14:00:00 - 08-15 14:30:00 @ 14.57, 4: 08-15 14:30:00 - 08-15 15:00:00 @ 13.77, 5: 08-15 15:00:00 - 08-15 15:30:00 @ 15.02, 6: 08-15 15:30:00 - 08-15 16:00:00 @ 15.87, 7: 08-15 16:00:00 - 08-15 16:30:00 @ 33.13, 8: 08-15 16:30:00 - 08-15 17:00:00 @ 33.13, 9: 08-15 17:00:00 - 08-15 17:30:00 @ 38.46, 10: 08-15 17:30:00 - 08-15 18:00:00 @ 40.44, 11: 08-15 18:00:00 - 08-15 18:30:00 @ 41.55, 12: 08-15 18:30:00 - 08-15 19:00:00 @ 43.82, 13: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 14: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 15: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 16: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 17: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 18: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 19: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 20: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 21: 08-15 23:00:00 - 08-15 23:30:00 @ 29.37, 22: 08-15 23:30:00 - 08-16 00:00:00 @ 29.2, 23: 08-16 00:00:00 - 08-16 00:30:00 @ 28.83, 24: 08-16 00:30:00 - 08-16 01:00:00 @ 28.46, 25: 08-16 01:00:00 - 08-16 01:30:00 @ 27.73, 26: 08-16 01:30:00 - 08-16 02:00:00 @ 27.01, 27: 08-16 02:00:00 - 08-16 02:30:00 @ 26.76, 28: 08-16 02:30:00 - 08-16 03:00:00 @ 26.48, 29: 08-16 03:00:00 - 08-16 03:30:00 @ 26.39, 30: 08-16 03:30:00 - 08-16 04:00:00 @ 26.27, 31: 08-16 04:00:00 - 08-16 04:30:00 @ 26.33, 32: 08-16 04:30:00 - 08-16 05:00:00 @ 26.37, 33: 08-16 05:00:00 - 08-16 05:30:00 @ 26.23, 34: 08-16 05:30:00 - 08-16 06:00:00 @ 26.07, 35: 08-16 06:00:00 - 08-16 06:30:00 @ 25.99, 36: 08-16 06:30:00 - 08-16 07:00:00 @ 25.92, 37: 08-16 07:00:00 - 08-16 07:30:00 @ 25.64, 38: 08-16 07:30:00 - 08-16 08:00:00 @ 25.39, 39: 08-16 08:00:00 - 08-16 08:30:00 @ 24.84, 40: 08-16 08:30:00 - 08-16 09:00:00 @ 24.28, 41: 08-16 09:00:00 - 08-16 09:30:00 @ 24.26, 42: 08-16 09:30:00 - 08-16 10:00:00 @ 24.22, 43: 08-16 10:00:00 - 08-16 10:30:00 @ 24.8, 44: 08-16 10:30:00 - 08-16 11:00:00 @ 25.37, 45: 08-16 11:00:00 - 08-16 11:30:00 @ 24.71, 46: 08-16 11:30:00 - 08-16 12:00:00 @ 24.02, 47: 08-16 12:00:00 - 08-16 12:30:00 @ 23.79, 48: 08-16 12:30:00 - 08-16 13:00:00 @ 23.55, 49: 08-16 13:00:00 - 08-16 13:30:00 @ 23.14, 50: 08-16 13:30:00 - 08-16 14:00:00 @ 22.71, 51: 08-16 14:00:00 - 08-16 14:30:00 @ 22.01, 52: 08-16 14:30:00 - 08-16 15:00:00 @ 21.29, 53: 08-16 15:00:00 - 08-16 15:30:00 @ 22.01, 54: 08-16 15:30:00 - 08-16 16:00:00 @ 22.71, 55: 08-16 16:00:00 - 08-16 16:30:00 @ 37.14, 56: 08-16 16:30:00 - 08-16 17:00:00 @ 37.91, 57: 08-16 17:00:00 - 08-16 17:30:00 @ 40.13, 58: 08-16 17:30:00 - 08-16 18:00:00 @ 42.36, 59: 08-16 18:00:00 - 08-16 18:30:00 @ 44.19, 60: 08-16 19:00:00 - 08-16 19:30:00 @ 33.04, 61: 08-16 19:30:00 - 08-16 20:00:00 @ 33.71, 62: 08-16 20:00:00 - 08-16 20:30:00 @ 33.83, 63: 08-16 20:30:00 - 08-16 21:00:00 @ 33.94, 64: 08-16 21:00:00 - 08-16 21:30:00 @ 33.73, 65: 08-16 21:30:00 - 08-16 22:00:00 @ 33.53, 66: 08-16 22:00:00 - 08-16 22:30:00 @ 32.36, 67: 08-16 22:30:00 - 08-16 23:00:00 @ 31.17, 68: 08-16 23:00:00 - 08-16 23:30:00 @ 29.37, 69: 08-16 23:30:00 - 08-17 00:00:00 @ 29.2, 70: 08-17 00:00:00 - 08-17 00:30:00 @ 28.83, 71: 08-17 00:30:00 - 08-17 01:00:00 @ 28.46, 72: 08-17 01:00:00 - 08-17 01:30:00 @ 27.73, 73: 08-17 01:30:00 - 08-17 02:00:00 @ 27.01, 74: 08-17 02:00:00 - 08-17 02:30:00 @ 26.76, 75: 08-17 02:30:00 - 08-17 03:00:00 @ 26.48, 76: 08-17 03:00:00 - 08-17 03:30:00 @ 26.39, 77: 08-17 03:30:00 - 08-17 04:00:00 @ 26.27, 78: 08-17 04:00:00 - 08-17 04:30:00 @ 26.33, 79: 08-17 04:30:00 - 08-17 05:00:00 @ 26.37, 80: 08-17 05:00:00 - 08-17 05:30:00 @ 26.23, 81: 08-17 05:30:00 - 08-17 06:00:00 @ 26.07, 82: 08-17 06:00:00 - 08-17 06:30:00 @ 25.99, 83: 08-17 06:30:00 - 08-17 07:00:00 @ 25.92, 84: 08-17 07:00:00 - 08-17 07:30:00 @ 25.64, 85: 08-17 07:30:00 - 08-17 08:00:00 @ 25.39, 86: 08-17 08:00:00 - 08-17 08:30:00 @ 24.84, 87: 08-17 08:30:00 - 08-17 09:00:00 @ 24.28, 88: 08-17 09:00:00 - 08-17 09:30:00 @ 24.26, 89: 08-17 09:30:00 - 08-17 10:00:00 @ 24.22, 90: 08-17 10:00:00 - 08-17 10:30:00 @ 24.8, 91: 08-17 10:30:00 - 08-17 11:00:00 @ 25.37, 92: 08-17 11:00:00 - 08-17 11:30:00 @ 24.71, 93: 08-17 11:30:00 - 08-17 12:00:00 @ 24.02, 94: 08-17 12:00:00 - 08-17 12:30:00 @ 23.79, 95: 08-17 12:30:00 - 08-17 13:00:00 @ 23.55]
2026-08-15 12:45:03.697829: Include original charge start 08-15 10:30:00, keeping this instead of new start 08-15 12:30:00
2026-08-15 12:45:03.697942: Inverter 0 Charge window will be: 2026-08-15 10:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 25%, target 25%
2026-08-15 12:45:03.698140: Inverter 0 Target SoC 25%, (this inverter 25%), battery temperature 20°C, select charge rate 5000W (real 5000W), current charge rate 5000W
2026-08-15 12:45:03.698236: Inverter 0 Hold charging as SoC 25% is above target SoC 25% (global soc target 25%) set_discharge_during_charge True
2026-08-15 12:45:03.698392: Adjust idle time, charge 10:30:00-16:00:00 discharge 00:00:00-00:00:00
2026-08-15 12:45:03.698636: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 12:45:03.698761: No export window planned
2026-08-15 12:45:03.698881: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 12:45:03.698917: Adjust idle time, charge 10:30:00-16:00:00 discharge 00:00:00-00:00:00
2026-08-15 12:45:03.699098: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 12:45:03.699190: Inverter 0 setting charging SoC to 25% as per target
2026-08-15 12:45:03.699241: Inverter 0 adjust target SoC for charge to 25% (4.0kWh/16.0kWh 16.0kWh) based on going from 25% -> 25% total add is 0.0kWh and this battery needs to add 0.0kWh to get to 4.0kWh
2026-08-15 12:45:03.699299: Inverter 0 Current Target SoC is 25%, already at target
2026-08-15 12:45:03.699410: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:45:03.699454: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:45:03.699483: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:45:03.699510: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:45:03.699536: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:45:03.699566: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:45:03.699590: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:45:03.699635: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 12:45:03.699669: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 12:45:03.699699: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 12:45:03.699731: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 12:45:03.699760: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 12:45:03.699794: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 12:45:03.699819: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 12:45:03.699881: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:45:03.699909: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:45:03.699959: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:45:03.699985: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:45:03.700009: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:45:03.700033: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:45:03.700085: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:45:03.700107: Inverter 0 count register writes 0
2026-08-15 12:45:03.714983: Will recompute the plan as it is now 10.0 minutes old and will exceed the max age of 10 minutes before the next run
2026-08-15 12:45:03.715166: Recompute is saving previous plan...
2026-08-15 12:45:03.718350: Best charge window [ 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 13:30:00 @ 15.36p 25%, 15-08 13:30:00 - 15-08 14:00:00 @ 15.74p 25%, 15-08 14:00:00 - 15-08 14:30:00 @ 14.57p 25%, 15-08 14:30:00 - 15-08 15:00:00 @ 13.77p 25%, 15-08 15:00:00 - 15-08 15:30:00 @ 15.02p 25%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 25%, 15-08 16:00:00 - 15-08 16:30:00 @ 33.13p 25%, 15-08 16:30:00 - 15-08 17:00:00 @ 33.13p 25%, 15-08 17:00:00 - 15-08 17:30:00 @ 38.46p 25%, 15-08 17:30:00 - 15-08 18:00:00 @ 40.44p 25%, 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 25%, 15-08 18:30:00 - 15-08 19:00:00 @ 43.82p 25%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 25%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 25%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 25%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 25%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 25%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 25%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 25%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 25%, 15-08 23:00:00 - 15-08 23:30:00 @ 29.37p 25%, 15-08 23:30:00 - 16-08 00:00:00 @ 29.2p 25%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.83p 25%, 16-08 00:30:00 - 16-08 01:00:00 @ 28.46p 25%, 16-08 01:00:00 - 16-08 01:30:00 @ 27.73p 25%, 16-08 01:30:00 - 16-08 02:00:00 @ 27.01p 25%, 16-08 02:00:00 - 16-08 02:30:00 @ 26.76p 25%, 16-08 02:30:00 - 16-08 03:00:00 @ 26.48p 25%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.39p 25%, 16-08 03:30:00 - 16-08 04:00:00 @ 26.27p 25%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.33p 25%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.37p 25%, 16-08 05:00:00 - 16-08 05:30:00 @ 26.23p 25%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.07p 25%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.99p 25%, 16-08 06:30:00 - 16-08 07:00:00 @ 25.92p 25%, 16-08 07:00:00 - 16-08 07:30:00 @ 25.64p 25%, 16-08 07:30:00 - 16-08 08:00:00 @ 25.39p 25%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.84p 25%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.28p 25%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.26p 25%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.22p 25%, 16-08 10:00:00 - 16-08 10:30:00 @ 24.8p 25%, 16-08 10:30:00 - 16-08 11:00:00 @ 25.37p 25%, 16-08 11:00:00 - 16-08 11:30:00 @ 24.71p 25%, 16-08 11:30:00 - 16-08 12:00:00 @ 24.02p 25%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.79p 25%, 16-08 12:30:00 - 16-08 13:00:00 @ 23.55p 25%, 16-08 13:00:00 - 16-08 13:30:00 @ 23.14p 25%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.71p 25%, 16-08 14:00:00 - 16-08 14:30:00 @ 22.01p 25%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.29p 25%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.01p 25%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.71p 25%, 16-08 16:00:00 - 16-08 16:30:00 @ 37.14p 25%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.91p 25%, 16-08 17:00:00 - 16-08 17:30:00 @ 40.13p 25%, 16-08 17:30:00 - 16-08 18:00:00 @ 42.36p 25%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.19p 25%, 16-08 19:00:00 - 16-08 19:30:00 @ 33.04p 25%, 16-08 19:30:00 - 16-08 20:00:00 @ 33.71p 25%, 16-08 20:00:00 - 16-08 20:30:00 @ 33.83p 25%, 16-08 20:30:00 - 16-08 21:00:00 @ 33.94p 25%, 16-08 21:00:00 - 16-08 21:30:00 @ 33.73p 25%, 16-08 21:30:00 - 16-08 22:00:00 @ 33.53p 25%, 16-08 22:00:00 - 16-08 22:30:00 @ 32.36p 25%, 16-08 22:30:00 - 16-08 23:00:00 @ 31.17p 25%, 16-08 23:00:00 - 16-08 23:30:00 @ 29.37p 25%, 16-08 23:30:00 - 17-08 00:00:00 @ 29.2p 25%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.83p 25%, 17-08 00:30:00 - 17-08 01:00:00 @ 28.46p 25%, 17-08 01:00:00 - 17-08 01:30:00 @ 27.73p 25%, 17-08 01:30:00 - 17-08 02:00:00 @ 27.01p 25%, 17-08 02:00:00 - 17-08 02:30:00 @ 26.76p 25%, 17-08 02:30:00 - 17-08 03:00:00 @ 26.48p 25%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.39p 25%, 17-08 03:30:00 - 17-08 04:00:00 @ 26.27p 25%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.33p 25%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.37p 25%, 17-08 05:00:00 - 17-08 05:30:00 @ 26.23p 25%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.07p 25%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.99p 25%, 17-08 06:30:00 - 17-08 07:00:00 @ 25.92p 25%, 17-08 07:00:00 - 17-08 07:30:00 @ 25.64p 25%, 17-08 07:30:00 - 17-08 08:00:00 @ 25.39p 25%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.84p 25%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.28p 25%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.26p 25%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.22p 25%, 17-08 10:00:00 - 17-08 10:30:00 @ 24.8p 25%, 17-08 10:30:00 - 17-08 11:00:00 @ 25.37p 25%, 17-08 11:00:00 - 17-08 11:30:00 @ 24.71p 25%, 17-08 11:30:00 - 17-08 12:00:00 @ 24.02p 25%, 17-08 12:00:00 - 17-08 12:30:00 @ 23.79p 25%, 17-08 12:30:00 - 17-08 13:00:00 @ 23.55p 25% ]
2026-08-15 12:45:03.718428: Best export window [  ]
2026-08-15 12:45:03.719186: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 12:45:03.722347: Load divergence over 8.0 hours mean 544.47W, min 290.4W, max 1559.4W, std dev 279.76W, divergence 25.69%
2026-08-15 12:45:03.739815: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 12:45:03.739906: LoadML is_calculating False
2026-08-15 12:45:03.739967: Creating pool of 12 processes to match your CPU count
2026-08-15 12:45:03.831088: Calculate Best options: mode(Control charge & discharge), calculate_export_oncharge(False), calculate_export_on_pv(True), set_export_freeze_only(False), set_discharge_during_charge(True), combine_charge_slots(False), combine_export_slots(False), combine_rate_threshold(0.0), best_soc_min(0.0 kWh), best_soc_max(0.0 kWh), best_soc_keep(0.0 kWh), inverter_loss(4%), battery_loss(3%), battery_loss_discharge (3%), inverter_hybrid(True), metric_min_improvement(0.0p), metric_min_improvement_export(0.1p), metric_min_improvement_export_freeze(0.1p), metric_battery_cycle(0.0p/kWh), metric_battery_value_scaling(1.0 x) 
2026-08-15 12:45:03.833472: Optimise levels pass started at 2026-08-15 12:45:03
2026-08-15 12:45:03.833555: Optimise all windows, total charge 95 export 1
2026-08-15 12:45:04.987204: >> Region optimisation pass width 960 gives best_metric 946.48p, best_cost 960.04p, best_cycle 45.99kWh, best_import 33.5kWh
2026-08-15 12:45:05.411085: >> Region optimisation pass width 480 gives best_metric 946.48p, best_cost 960.04p, best_cycle 45.99kWh, best_import 33.5kWh
2026-08-15 12:45:05.945207: >> Region optimisation pass width 240 gives best_metric 946.48p, best_cost 960.04p, best_cycle 45.99kWh, best_import 33.5kWh
2026-08-15 12:45:07.074108: >> Region optimisation pass width 120 gives best_metric 946.48p, best_cost 960.04p, best_cycle 45.99kWh, best_import 33.5kWh
2026-08-15 12:45:07.074547: Calculated end_record as 08-16 13:00:00 based on best_price 22.71p, next_charge_start 08-15 13:00:00, max_windows 49
2026-08-15 12:45:07.074634: Optimise levels pass ended at 2026-08-15 12:45:07, duration 3.2 seconds tried 305 combinations
2026-08-15 12:45:07.074754: Set best_price_charge_level 24.4p, best_price_export_level 0p, best_price_charge 22.71p, best_cost_export 0p, best_metric 946.48p, best_keep 0kWh, best_cycle 45.99kWh, best_carbon 0kg, best_import 33.5kWh
2026-08-15 12:45:07.095197: Starting detailed optimisation end_record 08-16 13:00:00, best_price_charge 22.71p, best_price_export 0p. lowest_price_charge 13.77p with charge limits [0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0]kWh and export limits []kWh
2026-08-15 12:45:10.508085: Tweak plan optimisation started metric 555.6p, cost 572.54p
2026-08-15 12:45:10.812943: Tweak optimisation finished metric 555.6p, cost 572.54p, metric_keep 0kWh, cycle 26.8kWh, carbon 0kg, import 16.57kWh, changed 8 window(s)
2026-08-15 12:45:10.833199: Swap charge optimisation started metric 555.6p, cost 572.54p, min_improvement_swap 0.1p
2026-08-15 12:45:12.986141: Swap charge optimisation finished metric 555.6p, cost 572.54p
2026-08-15 12:45:13.072872: Raw charge windows [ 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 13:30:00 @ 15.36p 100%, 15-08 13:30:00 - 15-08 14:00:00 @ 15.74p 100%, 15-08 14:00:00 - 15-08 14:30:00 @ 14.57p 100%, 15-08 14:30:00 - 15-08 15:00:00 @ 13.77p 100%, 15-08 15:00:00 - 15-08 15:30:00 @ 15.02p 100%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 100%, 15-08 16:00:00 - 15-08 16:30:00 @ 33.13p 0%, 15-08 16:30:00 - 15-08 17:00:00 @ 33.13p 0%, 15-08 17:00:00 - 15-08 17:30:00 @ 38.46p 0%, 15-08 17:30:00 - 15-08 18:00:00 @ 40.44p 0%, 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 0%, 15-08 18:30:00 - 15-08 19:00:00 @ 43.82p 0%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 0%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 0%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 0%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 0%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 29.37p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 29.2p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.83p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 28.46p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 27.73p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 27.01p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 26.76p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 26.48p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.39p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 26.27p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.33p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.37p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 26.23p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.07p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.99p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 25.92p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 25.64p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 25.39p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.84p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.28p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.26p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.22p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 24.8p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 25.37p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 24.71p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 24.02p 0%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.79p 0%, 16-08 12:30:00 - 16-08 13:00:00 @ 23.55p 0%, 16-08 13:00:00 - 16-08 13:30:00 @ 23.14p 100%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.71p 100%, 16-08 14:00:00 - 16-08 14:30:00 @ 22.01p 100%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.29p 100%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.01p 100%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.71p 100%, 16-08 16:00:00 - 16-08 16:30:00 @ 37.14p 100%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.91p 100%, 16-08 17:00:00 - 16-08 17:30:00 @ 40.13p 100%, 16-08 17:30:00 - 16-08 18:00:00 @ 42.36p 100%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.19p 100%, 16-08 19:00:00 - 16-08 19:30:00 @ 33.04p 100%, 16-08 19:30:00 - 16-08 20:00:00 @ 33.71p 100%, 16-08 20:00:00 - 16-08 20:30:00 @ 33.83p 100%, 16-08 20:30:00 - 16-08 21:00:00 @ 33.94p 100%, 16-08 21:00:00 - 16-08 21:30:00 @ 33.73p 100%, 16-08 21:30:00 - 16-08 22:00:00 @ 33.53p 100%, 16-08 22:00:00 - 16-08 22:30:00 @ 32.36p 100%, 16-08 22:30:00 - 16-08 23:00:00 @ 31.17p 100%, 16-08 23:00:00 - 16-08 23:30:00 @ 29.37p 100%, 16-08 23:30:00 - 17-08 00:00:00 @ 29.2p 100%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.83p 100%, 17-08 00:30:00 - 17-08 01:00:00 @ 28.46p 100%, 17-08 01:00:00 - 17-08 01:30:00 @ 27.73p 100%, 17-08 01:30:00 - 17-08 02:00:00 @ 27.01p 100%, 17-08 02:00:00 - 17-08 02:30:00 @ 26.76p 100%, 17-08 02:30:00 - 17-08 03:00:00 @ 26.48p 100%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.39p 100%, 17-08 03:30:00 - 17-08 04:00:00 @ 26.27p 100%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.33p 100%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.37p 100%, 17-08 05:00:00 - 17-08 05:30:00 @ 26.23p 100%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.07p 100%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.99p 100%, 17-08 06:30:00 - 17-08 07:00:00 @ 25.92p 100%, 17-08 07:00:00 - 17-08 07:30:00 @ 25.64p 100%, 17-08 07:30:00 - 17-08 08:00:00 @ 25.39p 100%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.84p 100%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.28p 100%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.26p 100%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.22p 100%, 17-08 10:00:00 - 17-08 10:30:00 @ 24.8p 100%, 17-08 10:30:00 - 17-08 11:00:00 @ 25.37p 100%, 17-08 11:00:00 - 17-08 11:30:00 @ 24.71p 100%, 17-08 11:30:00 - 17-08 12:00:00 @ 24.02p 100%, 17-08 12:00:00 - 17-08 12:30:00 @ 23.79p 100%, 17-08 12:30:00 - 17-08 13:00:00 @ 23.55p 100% ] reserve 1.12
2026-08-15 12:45:13.073583: Unclipped charge windows [ 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 13:00:00 - 16-08 18:30:00 @ 41.93p 100%, 16-08 19:00:00 - 17-08 13:00:00 @ 23.83p 100% ] reserve 1.12
2026-08-15 12:45:13.073836: Unfiltered charge windows [ 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 13:00:00 - 16-08 18:30:00 @ 41.93p 100%, 16-08 19:00:00 - 17-08 13:00:00 @ 23.83p 100% ] reserve 1.12
2026-08-15 12:45:13.074102: Filtered charge windows [ 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 13:00:00 - 16-08 18:30:00 @ 41.93p 100%, 16-08 19:00:00 - 17-08 13:00:00 @ 23.83p 100% ] reserve 1.12
2026-08-15 12:45:13.112331: Previous plan best metric is 555.52 (cost 572.54) and new plan best metric is 555.6 (cost 572.54)
2026-08-15 12:45:13.112651: New plan metric is not significantly better (metric_min_improvement_plan 2.0) than previous plan, using previous plan
2026-08-15 12:45:13.112853: Plan valid is now true after recompute was False
2026-08-15 12:45:13.142634: predict base end_record 08-16 13:00:00, final soc 4.0kWh, metric 818.78p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 19:50:00, load 25.04kWh, PV 0.0kWh
2026-08-15 12:45:13.262106: Battery has 7.08 hours left - now at 4.0kWh
2026-08-15 12:45:13.305688: predict base10 end_record 08-16 13:00:00, final soc 4.0kWh, metric 840.6p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 19:40:00, load 25.87kWh, PV 0.0kWh
2026-08-15 12:45:13.379530: predict best10 end_record 08-16 13:00:00, final soc 1.12kWh, metric 646.14p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 10:35:00, load 25.87kWh, PV 0.0kWh
2026-08-15 12:45:13.445195: predict best end_record 08-16 13:00:00, final soc 1.12kWh, metric 622.52p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 11:40:00, load 25.04kWh, PV 0.0kWh
2026-08-15 12:45:13.445271: Saving plan best values to HA entities
2026-08-15 12:45:13.571825: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0
2026-08-15 12:45:13.576325: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 12:45:13.580938: Best charging limit SoC's [4.0, 16.0, 16.0, 16.0]kWh, export []kWh gives import battery 15.43kWh, house 1.14kWh, export 0.0kWh, metric 622.52p, metric10 646.14p
2026-08-15 12:45:13.641422: Marginal costs baseline metric (no standing charge): 572.5388
2026-08-15 12:45:13.853576: Marginal energy costs matrix computed: min=14.92 max=31.24
2026-08-15 12:45:13.916915: Rate array import [{'start': 765, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 16.3p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1950, 'rate': 'expensive', 'range': '(24.8p - 32.9p)'}, {'start': 1950, 'end': 2040, 'rate': 'cheap', 'range': '(24.2p - 24.3p)'}, {'start': 2040, 'end': 2130, 'rate': 'expensive', 'range': '(24.7p - 25.4p)'}, {'start': 2130, 'end': 2220, 'rate': 'cheap', 'range': '(23.6p - 24.0p)'}] export [{'start': 765, 'end': 2220, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 12:45:13.917310: - Your estimated bill for today is £5.45 and tomorrow is £6.82
2026-08-15 12:45:13.917351: - Import rates are cheap (13.8p - 16.3p) for the next 3 and a quarter hours and then expensive (33.1p) for the next 1 hour.
2026-08-15 12:45:13.917371: - The battery is currently at 25% and is charging to 25% for the next 15 minutes.
2026-08-15 12:45:13.917387: - For the next 48 hours there will be no solar generation.
2026-08-15 12:45:13.917401: - You will run out of battery in 22 hours.
2026-08-15 12:45:13.917416: 
2026-08-15 12:45:13.961390: Plan calculation took 10.25 seconds
2026-08-15 12:45:13.962553: Inverter 0: Type SK Sunsynk
2026-08-15 12:45:13.962612: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 12:45:13.962850: Reserve min: 7%, battery_min: 7%
2026-08-15 12:45:13.962930: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 12:45:13.963380: Inverter 0 SoC: 4.0kW 25%, current charge rate 5000W, current discharge rate 0W, current battery power -10W, current battery voltage 51.2V, grid power -375W, load power 375W, PV Power 0W
2026-08-15 12:45:13.963701: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 12:45:13.963847: Inverter 0 scheduled charge enable is True
2026-08-15 12:45:13.963935: Inverter 0 charge windows currently [{'start': 630, 'end': 960, 'average': 0}, {'start': 2070, 'end': 2400, 'average': 0}, {'start': 3510, 'end': 3840, 'average': 0}]
2026-08-15 12:45:13.964092: Inverter 0 Charge settings: 08-15 10:30:00-08-15 16:00:00, limit 25.0%, power 5.0kW
2026-08-15 12:45:13.964263: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 12:45:13.964323: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 12:45:13.964395: Inverter 0 scheduled discharge enable is False
2026-08-15 12:45:13.964563: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 12:45:13.964606: Inverter 0 discharge windows currently []
2026-08-15 12:45:13.964642: Note: Inverter does not support discharge freeze - disabled
2026-08-15 12:45:13.964684: Note: Inverter does not support charge freeze - disabled
2026-08-15 12:45:13.964705: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 12:45:14.021571: Include original charge start 08-15 10:30:00, keeping this instead of new start 08-15 12:30:00
2026-08-15 12:45:14.021705: Inverter 0 Charge window will be: 2026-08-15 10:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 25%, target 25%
2026-08-15 12:45:14.021868: Inverter 0 Target SoC 25%, (this inverter 25%), battery temperature 20°C, select charge rate 5000W (real 5000W), current charge rate 5000W
2026-08-15 12:45:14.021973: Inverter 0 Hold charging as SoC 25% is above target SoC 25% (global soc target 25%) set_discharge_during_charge True
2026-08-15 12:45:14.022169: Adjust idle time, charge 10:30:00-16:00:00 discharge 00:00:00-00:00:00
2026-08-15 12:45:14.022390: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 12:45:14.022524: No export window planned
2026-08-15 12:45:14.022685: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 12:45:14.022750: Adjust idle time, charge 10:30:00-16:00:00 discharge 00:00:00-00:00:00
2026-08-15 12:45:14.022950: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 12:45:14.023082: Inverter 0 setting charging SoC to 25% as per target
2026-08-15 12:45:14.023168: Inverter 0 adjust target SoC for charge to 25% (4.0kWh/16.0kWh 16.0kWh) based on going from 25% -> 25% total add is 0.0kWh and this battery needs to add 0.0kWh to get to 4.0kWh
2026-08-15 12:45:14.023261: Inverter 0 Current Target SoC is 25%, already at target
2026-08-15 12:45:14.023416: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:45:14.023479: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:45:14.023527: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:45:14.023574: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:45:14.023600: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:45:14.023641: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:45:14.023690: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:45:14.023761: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 12:45:14.023819: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 12:45:14.023872: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 12:45:14.023920: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 12:45:14.023969: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 12:45:14.024015: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 12:45:14.024072: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 12:45:14.024149: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:45:14.024178: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:45:14.024199: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:45:14.024239: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:45:14.024289: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:45:14.024335: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:45:14.024378: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:45:14.024398: Inverter 0 count register writes 0
2026-08-15 12:45:14.042629: Total inverter register writes now 823
2026-08-15 12:45:14.072381: Info: Completed run status Hold charging
2026-08-15 12:45:14.078815: Info: record_status Hold charging target 25%-25%
2026-08-15 12:45:14.085291: Saved current settings to /config/predbat_config.json
2026-08-15 12:45:14.085666: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 12:45:57.201837: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 12:45:57.202128: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 12:45:57.202208: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 12:45:57.202342: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 12:45:57.202391: Note: Inverter does not support discharge freeze - disabled
2026-08-15 12:45:57.202420: Note: Inverter does not support charge freeze - disabled
2026-08-15 12:45:57.202446: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 12:47:57.422540: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 12:47:57.422774: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 12:47:57.422810: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 12:47:57.422944: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 12:47:57.422976: Note: Inverter does not support discharge freeze - disabled
2026-08-15 12:47:57.422993: Note: Inverter does not support charge freeze - disabled
2026-08-15 12:47:57.423007: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 12:50:00.639874: --------------- PredBat - update at 2026-08-15 12:50:00+01:00 with clock skew 0 minutes, minutes now 770
2026-08-15 12:50:00.640669: Saved current settings to /config/predbat_config.json
2026-08-15 12:50:00.640805: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 35.0 minutes
2026-08-15 12:50:00.640897: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.1, latest beta is v8.48.1
2026-08-15 12:50:00.641053: Autoupdate: Currently up to date
2026-08-15 12:50:00.661630: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 12:50:00.661817: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 12:50:00.662154: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 12:50:00.662984: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 12:50:00.663195: Predbat mode is set to Control charge & discharge
2026-08-15 12:50:00.875862: Found 21602 load_today datapoints going back 28 days
2026-08-15 12:50:00.876046: Using load_power data to fill gaps in load_today data
2026-08-15 12:50:01.706644: Processing 721 30-minute periods for power integration
2026-08-15 12:50:01.896374: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 12:50:01.896560: Car charging hold False, threshold 6.0kWh
2026-08-15 12:50:01.896639: Current data so far today: load 7.62kWh, import 11.6kWh, export 0.0kWh, PV 0kWh
2026-08-15 12:50:01.911997: Cars: SoC: [11.72]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 12:50:01.912563: Standing charge is set to 49.98p
2026-08-15 12:50:01.951301: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 12:50:01.951398: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 12:50:01.951649: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 130.0 minutes
2026-08-15 12:50:01.952124: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 130.0 minutes
2026-08-15 12:50:01.958144: Loaded 95 datapoints of futurerate analysis
2026-08-15 12:50:02.057294: Predicted future rates: ['08-15 00:00:00 => 28.9 / 20.01', '08-15 01:00:00 => 27.54 / 19.31', '08-15 02:00:00 => 26.52 / 18.8', '08-15 03:00:00 => 25.99 / 18.53', '08-15 04:00:00 => 25.8 / 18.43', '08-15 05:00:00 => 25.96 / 18.51', '08-15 06:00:00 => 25.55 / 18.3', '08-15 07:00:00 => 24.33 / 17.68', '08-15 08:00:00 => 23.03 / 17.01', '08-15 09:00:00 => 22.05 / 16.51', '08-15 10:00:00 => 20.43 / 15.68', '08-15 11:00:00 => 18.01 / 14.45', '08-15 12:00:00 => 16.37 / 13.61', '08-15 13:00:00 => 15.76 / 13.3', '08-15 14:00:00 => 15.35 / 13.09', '08-15 15:00:00 => 15.86 / 13.35', '08-15 16:00:00 => 32.89 / 16.13', '08-15 17:00:00 => 38.02 / 18.75', '08-15 18:00:00 => 42.36 / 20.96', '08-15 19:00:00 => 31.09 / 21.13', '08-15 20:00:00 => 31.64 / 21.41', '08-15 21:00:00 => 31.64 / 21.41', '08-15 22:00:00 => 30.58 / 20.87', '08-15 23:00:00 => 29.37 / 20.25', '08-16 00:00:00 => 28.83 / 19.97', '08-16 01:00:00 => 27.73 / 19.41', '08-16 02:00:00 => 26.76 / 18.92', '08-16 03:00:00 => 26.39 / 18.73', '08-16 04:00:00 => 26.33 / 18.7', '08-16 05:00:00 => 26.23 / 18.65', '08-16 06:00:00 => 25.99 / 18.53', '08-16 07:00:00 => 25.64 / 18.35', '08-16 08:00:00 => 24.84 / 17.94', '08-16 09:00:00 => 24.26 / 17.64', '08-16 10:00:00 => 24.8 / 17.92', '08-16 11:00:00 => 24.71 / 17.87']
2026-08-15 12:50:02.125947: Rate min forward looking: now 13.77p at end of forecast 21.29p
2026-08-15 12:50:02.126437: Import rates: min 13.77p, max 46.05p, average 27.88p
2026-08-15 12:50:02.174707: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 12:50:02.174838: Rate thresholds (for charge/export) are import 45.55p (0.0p), export -0.1p (0.0p)
2026-08-15 12:50:02.176168: High export rate found rates in range 99p to -99p
2026-08-15 12:50:02.272701: Low Import rate found rates in range 13.77p to 44.19p
2026-08-15 12:50:02.272847: Car 0 charging is not planned as it is not plugged in
2026-08-15 12:50:02.286468: Battery level now 4.0kWh, -1hr ago 2.86kWh, at midnight 1.66kWh, battery value change in the last hour 13.53p, change today 27.72p, rate_forward 11.83p
2026-08-15 12:50:02.286931: Last hour: net energy 1.15kWh, import 1.15kWh, export 0.0kWh, car 0kWh, load 0.3kWh, net cost 18.56p, import 18.56p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 12:50:02.340047: Today's energy total net 11.6kWh, import 11.6kWh, export 0.0kWh, cost 317.76p, import 267.78p, export 0.0p, carbon 0.0kg
2026-08-15 12:50:02.340230: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 12:50:02.434608: Using weighted-bucket historical load forecast over 14 days
2026-08-15 12:50:02.464097: Today's load divergence 99.14%, in-day adjustment 119.93%, damping 0.95x, yesterday 143.77% today 99.19% blend 46.53%
2026-08-15 12:50:02.464207: Today's predicted so far 7.76kWh with 0.0kWh car/iBoost excluded, 5.92kWh import ignored, and 7.76kWh forecast extra.
2026-08-15 12:50:02.464239: Today's actual load so far 7.63kWh with 0.0kWh car/iBoost excluded, and 5.92kWh import ignored.
2026-08-15 12:50:02.497554: Inverter 0: Type SK Sunsynk
2026-08-15 12:50:02.497650: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 12:50:02.497857: Reserve min: 7%, battery_min: 7%
2026-08-15 12:50:02.497958: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 12:50:02.498256: Inverter 0 SoC: 4.0kW 25%, current charge rate 5000W, current discharge rate 0W, current battery power -10W, current battery voltage 51.2V, grid power -398W, load power 396W, PV Power 0W
2026-08-15 12:50:02.498440: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 12:50:02.498529: Inverter 0 scheduled charge enable is True
2026-08-15 12:50:02.498579: Inverter 0 charge windows currently [{'start': 630, 'end': 960, 'average': 0}, {'start': 2070, 'end': 2400, 'average': 0}, {'start': 3510, 'end': 3840, 'average': 0}]
2026-08-15 12:50:02.498672: Inverter 0 Charge settings: 08-15 10:30:00-08-15 16:00:00, limit 25.0%, power 5.0kW
2026-08-15 12:50:02.498790: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 12:50:02.498827: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 12:50:02.498863: Inverter 0 scheduled discharge enable is False
2026-08-15 12:50:02.498984: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 12:50:02.499020: Inverter 0 discharge windows currently []
2026-08-15 12:50:02.499042: Note: Inverter does not support discharge freeze - disabled
2026-08-15 12:50:02.499061: Note: Inverter does not support charge freeze - disabled
2026-08-15 12:50:02.499094: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 12:50:02.566941: Dynamic load last period 0.30kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 12:50:02.567057: Plan was last updated on 2026-08-15 12:45:00+01:00 and is now 5.0 minutes old
2026-08-15 12:50:02.567354: Best charge window [ 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 13:00:00 - 16-08 18:30:00 @ 41.93p 100%, 16-08 19:00:00 - 17-08 12:30:00 @ 24.11p 100% ]
2026-08-15 12:50:02.567414: Best export window [  ]
2026-08-15 12:50:02.568344: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 12:50:02.571765: Load divergence over 8.0 hours mean 541.37W, min 292.8W, max 1692.6W, std dev 276.47W, divergence 25.53%
2026-08-15 12:50:02.590883: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 12:50:02.591035: LoadML is_calculating False
2026-08-15 12:50:02.591151: Creating pool of 12 processes to match your CPU count
2026-08-15 12:50:02.722940: predict base end_record 08-16 13:05:00, final soc 4.0kWh, metric 822.34p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 19:50:00, load 25.15kWh, PV 0.0kWh
2026-08-15 12:50:02.845559: Battery has 7.0 hours left - now at 4.0kWh
2026-08-15 12:50:02.884196: predict base10 end_record 08-16 13:05:00, final soc 4.0kWh, metric 844.21p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 19:40:00, load 25.99kWh, PV 0.0kWh
2026-08-15 12:50:02.962241: predict best10 end_record 08-16 13:05:00, final soc 1.44kWh, metric 657.78p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 10:35:00, load 25.99kWh, PV 0.0kWh
2026-08-15 12:50:03.040313: predict best end_record 08-16 13:05:00, final soc 1.51kWh, metric 635.71p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 11:40:00, load 25.15kWh, PV 0.0kWh
2026-08-15 12:50:03.040401: Saving plan best values to HA entities
2026-08-15 12:50:03.200030: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0
2026-08-15 12:50:03.206158: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 12:50:03.212241: Best charging limit SoC's [4.0, 16.0, 16.0, 16.0]kWh, export []kWh gives import battery 15.83kWh, house 1.14kWh, export 0.0kWh, metric 635.71p, metric10 657.78p
2026-08-15 12:50:03.285166: Marginal costs baseline metric (no standing charge): 585.7296
2026-08-15 12:50:03.503731: Marginal energy costs matrix computed: min=15.09 max=31.54
2026-08-15 12:50:03.569976: Rate array import [{'start': 770, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 16.3p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1950, 'rate': 'expensive', 'range': '(24.8p - 32.9p)'}, {'start': 1950, 'end': 2040, 'rate': 'cheap', 'range': '(24.2p - 24.3p)'}, {'start': 2040, 'end': 2130, 'rate': 'expensive', 'range': '(24.7p - 25.4p)'}, {'start': 2130, 'end': 2225, 'rate': 'cheap', 'range': '(23.1p - 24.0p)'}] export [{'start': 770, 'end': 2225, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 12:50:03.570369: - Your estimated bill for today is £5.47 and tomorrow is £6.83
2026-08-15 12:50:03.570409: - Import rates are cheap (13.8p - 16.3p) for the next 3 and a quarter hours and then expensive (33.1p) for the next 1 hour.
2026-08-15 12:50:03.570427: - The battery is currently at 25% and is charging to 25% for the next 10 minutes.
2026-08-15 12:50:03.570443: - For the next 48 hours there will be no solar generation.
2026-08-15 12:50:03.570456: - You will run out of battery in 22 hours.
2026-08-15 12:50:03.570470: 
2026-08-15 12:50:03.620532: Plan calculation took 1.05 seconds
2026-08-15 12:50:03.624148: No high rate period found
2026-08-15 12:50:03.672761: Import threshold used for optimisation was 16.34p
2026-08-15 12:50:03.721909: Low import rate windows [0: 08-15 12:30:00 - 08-15 13:00:00 @ 16.34, 1: 08-15 13:00:00 - 08-15 13:30:00 @ 15.36, 2: 08-15 13:30:00 - 08-15 14:00:00 @ 15.74, 3: 08-15 14:00:00 - 08-15 14:30:00 @ 14.57, 4: 08-15 14:30:00 - 08-15 15:00:00 @ 13.77, 5: 08-15 15:00:00 - 08-15 15:30:00 @ 15.02, 6: 08-15 15:30:00 - 08-15 16:00:00 @ 15.87, 7: 08-15 16:00:00 - 08-15 16:30:00 @ 33.13, 8: 08-15 16:30:00 - 08-15 17:00:00 @ 33.13, 9: 08-15 17:00:00 - 08-15 17:30:00 @ 38.46, 10: 08-15 17:30:00 - 08-15 18:00:00 @ 40.44, 11: 08-15 18:00:00 - 08-15 18:30:00 @ 41.55, 12: 08-15 18:30:00 - 08-15 19:00:00 @ 43.82, 13: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 14: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 15: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 16: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 17: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 18: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 19: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 20: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 21: 08-15 23:00:00 - 08-15 23:30:00 @ 29.37, 22: 08-15 23:30:00 - 08-16 00:00:00 @ 29.2, 23: 08-16 00:00:00 - 08-16 00:30:00 @ 28.83, 24: 08-16 00:30:00 - 08-16 01:00:00 @ 28.46, 25: 08-16 01:00:00 - 08-16 01:30:00 @ 27.73, 26: 08-16 01:30:00 - 08-16 02:00:00 @ 27.01, 27: 08-16 02:00:00 - 08-16 02:30:00 @ 26.76, 28: 08-16 02:30:00 - 08-16 03:00:00 @ 26.48, 29: 08-16 03:00:00 - 08-16 03:30:00 @ 26.39, 30: 08-16 03:30:00 - 08-16 04:00:00 @ 26.27, 31: 08-16 04:00:00 - 08-16 04:30:00 @ 26.33, 32: 08-16 04:30:00 - 08-16 05:00:00 @ 26.37, 33: 08-16 05:00:00 - 08-16 05:30:00 @ 26.23, 34: 08-16 05:30:00 - 08-16 06:00:00 @ 26.07, 35: 08-16 06:00:00 - 08-16 06:30:00 @ 25.99, 36: 08-16 06:30:00 - 08-16 07:00:00 @ 25.92, 37: 08-16 07:00:00 - 08-16 07:30:00 @ 25.64, 38: 08-16 07:30:00 - 08-16 08:00:00 @ 25.39, 39: 08-16 08:00:00 - 08-16 08:30:00 @ 24.84, 40: 08-16 08:30:00 - 08-16 09:00:00 @ 24.28, 41: 08-16 09:00:00 - 08-16 09:30:00 @ 24.26, 42: 08-16 09:30:00 - 08-16 10:00:00 @ 24.22, 43: 08-16 10:00:00 - 08-16 10:30:00 @ 24.8, 44: 08-16 10:30:00 - 08-16 11:00:00 @ 25.37, 45: 08-16 11:00:00 - 08-16 11:30:00 @ 24.71, 46: 08-16 11:30:00 - 08-16 12:00:00 @ 24.02, 47: 08-16 12:00:00 - 08-16 12:30:00 @ 23.79, 48: 08-16 12:30:00 - 08-16 13:00:00 @ 23.55, 49: 08-16 13:00:00 - 08-16 13:30:00 @ 23.14, 50: 08-16 13:30:00 - 08-16 14:00:00 @ 22.71, 51: 08-16 14:00:00 - 08-16 14:30:00 @ 22.01, 52: 08-16 14:30:00 - 08-16 15:00:00 @ 21.29, 53: 08-16 15:00:00 - 08-16 15:30:00 @ 22.01, 54: 08-16 15:30:00 - 08-16 16:00:00 @ 22.71, 55: 08-16 16:00:00 - 08-16 16:30:00 @ 37.14, 56: 08-16 16:30:00 - 08-16 17:00:00 @ 37.91, 57: 08-16 17:00:00 - 08-16 17:30:00 @ 40.13, 58: 08-16 17:30:00 - 08-16 18:00:00 @ 42.36, 59: 08-16 18:00:00 - 08-16 18:30:00 @ 44.19, 60: 08-16 19:00:00 - 08-16 19:30:00 @ 33.04, 61: 08-16 19:30:00 - 08-16 20:00:00 @ 33.71, 62: 08-16 20:00:00 - 08-16 20:30:00 @ 33.83, 63: 08-16 20:30:00 - 08-16 21:00:00 @ 33.94, 64: 08-16 21:00:00 - 08-16 21:30:00 @ 33.73, 65: 08-16 21:30:00 - 08-16 22:00:00 @ 33.53, 66: 08-16 22:00:00 - 08-16 22:30:00 @ 32.36, 67: 08-16 22:30:00 - 08-16 23:00:00 @ 31.17, 68: 08-16 23:00:00 - 08-16 23:30:00 @ 29.37, 69: 08-16 23:30:00 - 08-17 00:00:00 @ 29.2, 70: 08-17 00:00:00 - 08-17 00:30:00 @ 28.83, 71: 08-17 00:30:00 - 08-17 01:00:00 @ 28.46, 72: 08-17 01:00:00 - 08-17 01:30:00 @ 27.73, 73: 08-17 01:30:00 - 08-17 02:00:00 @ 27.01, 74: 08-17 02:00:00 - 08-17 02:30:00 @ 26.76, 75: 08-17 02:30:00 - 08-17 03:00:00 @ 26.48, 76: 08-17 03:00:00 - 08-17 03:30:00 @ 26.39, 77: 08-17 03:30:00 - 08-17 04:00:00 @ 26.27, 78: 08-17 04:00:00 - 08-17 04:30:00 @ 26.33, 79: 08-17 04:30:00 - 08-17 05:00:00 @ 26.37, 80: 08-17 05:00:00 - 08-17 05:30:00 @ 26.23, 81: 08-17 05:30:00 - 08-17 06:00:00 @ 26.07, 82: 08-17 06:00:00 - 08-17 06:30:00 @ 25.99, 83: 08-17 06:30:00 - 08-17 07:00:00 @ 25.92, 84: 08-17 07:00:00 - 08-17 07:30:00 @ 25.64, 85: 08-17 07:30:00 - 08-17 08:00:00 @ 25.39, 86: 08-17 08:00:00 - 08-17 08:30:00 @ 24.84, 87: 08-17 08:30:00 - 08-17 09:00:00 @ 24.28, 88: 08-17 09:00:00 - 08-17 09:30:00 @ 24.26, 89: 08-17 09:30:00 - 08-17 10:00:00 @ 24.22, 90: 08-17 10:00:00 - 08-17 10:30:00 @ 24.8, 91: 08-17 10:30:00 - 08-17 11:00:00 @ 25.37, 92: 08-17 11:00:00 - 08-17 11:30:00 @ 24.71, 93: 08-17 11:30:00 - 08-17 12:00:00 @ 24.02, 94: 08-17 12:00:00 - 08-17 12:30:00 @ 23.79, 95: 08-17 12:30:00 - 08-17 13:00:00 @ 23.55]
2026-08-15 12:50:03.728682: Include original charge start 08-15 10:30:00, keeping this instead of new start 08-15 12:30:00
2026-08-15 12:50:03.728815: Inverter 0 Charge window will be: 2026-08-15 10:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 25%, target 25%
2026-08-15 12:50:03.729019: Inverter 0 Target SoC 25%, (this inverter 25%), battery temperature 20°C, select charge rate 5000W (real 5000W), current charge rate 5000W
2026-08-15 12:50:03.729115: Inverter 0 Hold charging as SoC 25% is above target SoC 25% (global soc target 25%) set_discharge_during_charge True
2026-08-15 12:50:03.729276: Adjust idle time, charge 10:30:00-16:00:00 discharge 00:00:00-00:00:00
2026-08-15 12:50:03.729644: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 12:50:03.729767: No export window planned
2026-08-15 12:50:03.729877: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 12:50:03.729911: Adjust idle time, charge 10:30:00-16:00:00 discharge 00:00:00-00:00:00
2026-08-15 12:50:03.730049: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 12:50:03.730141: Inverter 0 setting charging SoC to 25% as per target
2026-08-15 12:50:03.730192: Inverter 0 adjust target SoC for charge to 25% (4.0kWh/16.0kWh 16.0kWh) based on going from 25% -> 25% total add is 0.0kWh and this battery needs to add 0.0kWh to get to 4.0kWh
2026-08-15 12:50:03.730248: Inverter 0 Current Target SoC is 25%, already at target
2026-08-15 12:50:03.730365: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:50:03.730402: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:50:03.730426: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:50:03.730446: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:50:03.730468: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:50:03.730492: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:50:03.730514: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:50:03.730576: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 12:50:03.730607: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 12:50:03.730631: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 12:50:03.730654: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 12:50:03.730676: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 12:50:03.730701: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 12:50:03.730722: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 12:50:03.730778: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:50:03.730803: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:50:03.730823: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:50:03.730846: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:50:03.730871: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:50:03.730891: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:50:03.730910: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:50:03.730927: Inverter 0 count register writes 0
2026-08-15 12:50:03.745484: Will not recompute the plan, it is 5.0 minutes old and max age is 10 minutes
2026-08-15 12:50:03.750827: Total inverter register writes now 823
2026-08-15 12:50:03.780722: Info: Completed run status Hold charging
2026-08-15 12:50:03.787003: Info: record_status Hold charging target 25%-25%
2026-08-15 12:50:03.793338: Saved current settings to /config/predbat_config.json
2026-08-15 12:50:03.793628: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 12:50:41.902523: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 12:50:41.902884: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 12:50:41.902979: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 12:50:41.903605: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 12:50:41.903673: Note: Inverter does not support discharge freeze - disabled
2026-08-15 12:50:41.903699: Note: Inverter does not support charge freeze - disabled
2026-08-15 12:50:41.903718: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 12:52:42.125102: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 12:52:42.125402: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 12:52:42.125450: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 12:52:42.125597: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 12:52:42.125637: Note: Inverter does not support discharge freeze - disabled
2026-08-15 12:52:42.125660: Note: Inverter does not support charge freeze - disabled
2026-08-15 12:52:42.125685: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 12:54:42.353750: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 12:54:42.354060: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 12:54:42.354134: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 12:54:42.354305: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 12:54:42.354344: Note: Inverter does not support discharge freeze - disabled
2026-08-15 12:54:42.354365: Note: Inverter does not support charge freeze - disabled
2026-08-15 12:54:42.354383: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 12:55:00.457681: --------------- PredBat - update at 2026-08-15 12:55:00+01:00 with clock skew 0 minutes, minutes now 775
2026-08-15 12:55:00.458520: Saved current settings to /config/predbat_config.json
2026-08-15 12:55:00.458688: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 40.0 minutes
2026-08-15 12:55:00.458766: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.1, latest beta is v8.48.1
2026-08-15 12:55:00.458876: Autoupdate: Currently up to date
2026-08-15 12:55:00.478981: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 12:55:00.479133: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 12:55:00.479313: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 12:55:00.479877: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 12:55:00.480025: Predbat mode is set to Control charge & discharge
2026-08-15 12:55:00.687174: Found 21602 load_today datapoints going back 28 days
2026-08-15 12:55:00.687361: Using load_power data to fill gaps in load_today data
2026-08-15 12:55:01.544980: Processing 721 30-minute periods for power integration
2026-08-15 12:55:01.714806: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 12:55:01.714933: Car charging hold False, threshold 6.0kWh
2026-08-15 12:55:01.714971: Current data so far today: load 7.65kWh, import 11.6kWh, export 0.0kWh, PV 0kWh
2026-08-15 12:55:01.726991: Cars: SoC: [11.134]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 12:55:01.727446: Standing charge is set to 49.98p
2026-08-15 12:55:01.770774: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 12:55:01.770865: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 12:55:01.771034: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 135.0 minutes
2026-08-15 12:55:01.771404: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 135.0 minutes
2026-08-15 12:55:01.776099: Loaded 95 datapoints of futurerate analysis
2026-08-15 12:55:01.853819: Predicted future rates: ['08-15 00:00:00 => 28.9 / 20.01', '08-15 01:00:00 => 27.54 / 19.31', '08-15 02:00:00 => 26.52 / 18.8', '08-15 03:00:00 => 25.99 / 18.53', '08-15 04:00:00 => 25.8 / 18.43', '08-15 05:00:00 => 25.96 / 18.51', '08-15 06:00:00 => 25.55 / 18.3', '08-15 07:00:00 => 24.33 / 17.68', '08-15 08:00:00 => 23.03 / 17.01', '08-15 09:00:00 => 22.05 / 16.51', '08-15 10:00:00 => 20.43 / 15.68', '08-15 11:00:00 => 18.01 / 14.45', '08-15 12:00:00 => 16.37 / 13.61', '08-15 13:00:00 => 15.76 / 13.3', '08-15 14:00:00 => 15.35 / 13.09', '08-15 15:00:00 => 15.86 / 13.35', '08-15 16:00:00 => 32.89 / 16.13', '08-15 17:00:00 => 38.02 / 18.75', '08-15 18:00:00 => 42.36 / 20.96', '08-15 19:00:00 => 31.09 / 21.13', '08-15 20:00:00 => 31.64 / 21.41', '08-15 21:00:00 => 31.64 / 21.41', '08-15 22:00:00 => 30.58 / 20.87', '08-15 23:00:00 => 29.37 / 20.25', '08-16 00:00:00 => 28.83 / 19.97', '08-16 01:00:00 => 27.73 / 19.41', '08-16 02:00:00 => 26.76 / 18.92', '08-16 03:00:00 => 26.39 / 18.73', '08-16 04:00:00 => 26.33 / 18.7', '08-16 05:00:00 => 26.23 / 18.65', '08-16 06:00:00 => 25.99 / 18.53', '08-16 07:00:00 => 25.64 / 18.35', '08-16 08:00:00 => 24.84 / 17.94', '08-16 09:00:00 => 24.26 / 17.64', '08-16 10:00:00 => 24.8 / 17.92', '08-16 11:00:00 => 24.71 / 17.87']
2026-08-15 12:55:01.906350: Rate min forward looking: now 13.77p at end of forecast 21.29p
2026-08-15 12:55:01.906743: Import rates: min 13.77p, max 46.05p, average 27.89p
2026-08-15 12:55:01.941988: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 12:55:01.942114: Rate thresholds (for charge/export) are import 45.55p (0.0p), export -0.1p (0.0p)
2026-08-15 12:55:01.943149: High export rate found rates in range 99p to -99p
2026-08-15 12:55:02.018847: Low Import rate found rates in range 13.77p to 44.19p
2026-08-15 12:55:02.018966: Car 0 charging is not planned as it is not plugged in
2026-08-15 12:55:02.031351: Battery level now 4.0kWh, -1hr ago 3.22kWh, at midnight 1.66kWh, battery value change in the last hour 9.18p, change today 27.72p, rate_forward 11.83p
2026-08-15 12:55:02.031700: Last hour: net energy 0.7kWh, import 0.7kWh, export 0.0kWh, car 0kWh, load 0.3kWh, net cost 11.6p, import 11.6p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 12:55:02.090217: Today's energy total net 11.6kWh, import 11.6kWh, export 0.0kWh, cost 317.76p, import 267.78p, export 0.0p, carbon 0.0kg
2026-08-15 12:55:02.090369: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 12:55:02.176826: Using weighted-bucket historical load forecast over 14 days
2026-08-15 12:55:02.205408: Today's load divergence 98.7%, in-day adjustment 119.55%, damping 0.95x, yesterday 143.77% today 98.77% blend 46.18%
2026-08-15 12:55:02.205508: Today's predicted so far 7.81kWh with 0.0kWh car/iBoost excluded, 5.9kWh import ignored, and 7.81kWh forecast extra.
2026-08-15 12:55:02.205540: Today's actual load so far 7.61kWh with 0.0kWh car/iBoost excluded, and 5.9kWh import ignored.
2026-08-15 12:55:02.240021: Inverter 0: Type SK Sunsynk
2026-08-15 12:55:02.240135: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 12:55:02.240388: Reserve min: 7%, battery_min: 7%
2026-08-15 12:55:02.240500: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 12:55:02.240819: Inverter 0 SoC: 4.0kW 25%, current charge rate 5000W, current discharge rate 0W, current battery power -8W, current battery voltage 51.2V, grid power -341W, load power 341W, PV Power 0W
2026-08-15 12:55:02.241076: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 12:55:02.241219: Inverter 0 scheduled charge enable is True
2026-08-15 12:55:02.241292: Inverter 0 charge windows currently [{'start': 630, 'end': 960, 'average': 0}, {'start': 2070, 'end': 2400, 'average': 0}, {'start': 3510, 'end': 3840, 'average': 0}]
2026-08-15 12:55:02.241429: Inverter 0 Charge settings: 08-15 10:30:00-08-15 16:00:00, limit 25.0%, power 5.0kW
2026-08-15 12:55:02.241618: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 12:55:02.241670: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 12:55:02.241759: Inverter 0 scheduled discharge enable is False
2026-08-15 12:55:02.241961: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 12:55:02.242009: Inverter 0 discharge windows currently []
2026-08-15 12:55:02.242047: Note: Inverter does not support discharge freeze - disabled
2026-08-15 12:55:02.242098: Note: Inverter does not support charge freeze - disabled
2026-08-15 12:55:02.242129: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 12:55:02.300428: Dynamic load last period 0.30kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 12:55:02.300555: Plan was last updated on 2026-08-15 12:45:00+01:00 and is now 10.0 minutes old
2026-08-15 12:55:02.300843: Best charge window [ 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 13:00:00 - 16-08 18:30:00 @ 41.93p 100%, 16-08 19:00:00 - 17-08 12:30:00 @ 24.11p 100% ]
2026-08-15 12:55:02.300894: Best export window [  ]
2026-08-15 12:55:02.301810: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 12:55:02.305250: Load divergence over 8.0 hours mean 537.99W, min 291.6W, max 1838.4W, std dev 291.27W, divergence 27.07%
2026-08-15 12:55:02.323777: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 12:55:02.323896: LoadML is_calculating False
2026-08-15 12:55:02.323981: Creating pool of 12 processes to match your CPU count
2026-08-15 12:55:02.451667: predict base end_record 08-16 13:10:00, final soc 4.0kWh, metric 822.06p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 19:50:00, load 25.15kWh, PV 0.0kWh
2026-08-15 12:55:02.572816: Battery has 6.92 hours left - now at 4.0kWh
2026-08-15 12:55:02.611568: predict base10 end_record 08-16 13:10:00, final soc 4.0kWh, metric 843.91p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 19:40:00, load 25.98kWh, PV 0.0kWh
2026-08-15 12:55:02.684381: predict best10 end_record 08-16 13:10:00, final soc 1.77kWh, metric 665.61p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 10:35:00, load 25.98kWh, PV 0.0kWh
2026-08-15 12:55:02.764142: predict best end_record 08-16 13:10:00, final soc 1.9kWh, metric 645.18p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 11:40:00, load 25.15kWh, PV 0.0kWh
2026-08-15 12:55:02.764232: Saving plan best values to HA entities
2026-08-15 12:55:02.931921: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0
2026-08-15 12:55:02.937612: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 12:55:02.944579: Best charging limit SoC's [4.0, 16.0, 16.0, 16.0]kWh, export []kWh gives import battery 16.24kWh, house 1.12kWh, export 0.0kWh, metric 645.18p, metric10 665.61p
2026-08-15 12:55:03.009860: Marginal costs baseline metric (no standing charge): 595.1976
2026-08-15 12:55:03.233471: Marginal energy costs matrix computed: min=15.27 max=31.83
2026-08-15 12:55:03.296793: Rate array import [{'start': 775, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 16.3p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1950, 'rate': 'expensive', 'range': '(24.8p - 32.9p)'}, {'start': 1950, 'end': 2040, 'rate': 'cheap', 'range': '(24.2p - 24.3p)'}, {'start': 2040, 'end': 2130, 'rate': 'expensive', 'range': '(24.7p - 25.4p)'}, {'start': 2130, 'end': 2230, 'rate': 'cheap', 'range': '(23.1p - 24.0p)'}] export [{'start': 775, 'end': 2230, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 12:55:03.297167: - Your estimated bill for today is £5.46 and tomorrow is £6.83
2026-08-15 12:55:03.297210: - Import rates are cheap (13.8p - 16.3p) for the next 3 hours and then expensive (33.1p) for the next 1 hour.
2026-08-15 12:55:03.297229: - The battery is currently at 25% and is charging to 25% for the next 5 minutes.
2026-08-15 12:55:03.297259: - For the next 48 hours there will be no solar generation.
2026-08-15 12:55:03.297274: - You will run out of battery in 22 hours.
2026-08-15 12:55:03.297289: 
2026-08-15 12:55:03.345556: Plan calculation took 1.04 seconds
2026-08-15 12:55:03.349200: No high rate period found
2026-08-15 12:55:03.400198: Import threshold used for optimisation was 16.34p
2026-08-15 12:55:03.452792: Low import rate windows [0: 08-15 12:30:00 - 08-15 13:00:00 @ 16.34, 1: 08-15 13:00:00 - 08-15 13:30:00 @ 15.36, 2: 08-15 13:30:00 - 08-15 14:00:00 @ 15.74, 3: 08-15 14:00:00 - 08-15 14:30:00 @ 14.57, 4: 08-15 14:30:00 - 08-15 15:00:00 @ 13.77, 5: 08-15 15:00:00 - 08-15 15:30:00 @ 15.02, 6: 08-15 15:30:00 - 08-15 16:00:00 @ 15.87, 7: 08-15 16:00:00 - 08-15 16:30:00 @ 33.13, 8: 08-15 16:30:00 - 08-15 17:00:00 @ 33.13, 9: 08-15 17:00:00 - 08-15 17:30:00 @ 38.46, 10: 08-15 17:30:00 - 08-15 18:00:00 @ 40.44, 11: 08-15 18:00:00 - 08-15 18:30:00 @ 41.55, 12: 08-15 18:30:00 - 08-15 19:00:00 @ 43.82, 13: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 14: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 15: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 16: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 17: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 18: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 19: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 20: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 21: 08-15 23:00:00 - 08-15 23:30:00 @ 29.37, 22: 08-15 23:30:00 - 08-16 00:00:00 @ 29.2, 23: 08-16 00:00:00 - 08-16 00:30:00 @ 28.83, 24: 08-16 00:30:00 - 08-16 01:00:00 @ 28.46, 25: 08-16 01:00:00 - 08-16 01:30:00 @ 27.73, 26: 08-16 01:30:00 - 08-16 02:00:00 @ 27.01, 27: 08-16 02:00:00 - 08-16 02:30:00 @ 26.76, 28: 08-16 02:30:00 - 08-16 03:00:00 @ 26.48, 29: 08-16 03:00:00 - 08-16 03:30:00 @ 26.39, 30: 08-16 03:30:00 - 08-16 04:00:00 @ 26.27, 31: 08-16 04:00:00 - 08-16 04:30:00 @ 26.33, 32: 08-16 04:30:00 - 08-16 05:00:00 @ 26.37, 33: 08-16 05:00:00 - 08-16 05:30:00 @ 26.23, 34: 08-16 05:30:00 - 08-16 06:00:00 @ 26.07, 35: 08-16 06:00:00 - 08-16 06:30:00 @ 25.99, 36: 08-16 06:30:00 - 08-16 07:00:00 @ 25.92, 37: 08-16 07:00:00 - 08-16 07:30:00 @ 25.64, 38: 08-16 07:30:00 - 08-16 08:00:00 @ 25.39, 39: 08-16 08:00:00 - 08-16 08:30:00 @ 24.84, 40: 08-16 08:30:00 - 08-16 09:00:00 @ 24.28, 41: 08-16 09:00:00 - 08-16 09:30:00 @ 24.26, 42: 08-16 09:30:00 - 08-16 10:00:00 @ 24.22, 43: 08-16 10:00:00 - 08-16 10:30:00 @ 24.8, 44: 08-16 10:30:00 - 08-16 11:00:00 @ 25.37, 45: 08-16 11:00:00 - 08-16 11:30:00 @ 24.71, 46: 08-16 11:30:00 - 08-16 12:00:00 @ 24.02, 47: 08-16 12:00:00 - 08-16 12:30:00 @ 23.79, 48: 08-16 12:30:00 - 08-16 13:00:00 @ 23.55, 49: 08-16 13:00:00 - 08-16 13:30:00 @ 23.14, 50: 08-16 13:30:00 - 08-16 14:00:00 @ 22.71, 51: 08-16 14:00:00 - 08-16 14:30:00 @ 22.01, 52: 08-16 14:30:00 - 08-16 15:00:00 @ 21.29, 53: 08-16 15:00:00 - 08-16 15:30:00 @ 22.01, 54: 08-16 15:30:00 - 08-16 16:00:00 @ 22.71, 55: 08-16 16:00:00 - 08-16 16:30:00 @ 37.14, 56: 08-16 16:30:00 - 08-16 17:00:00 @ 37.91, 57: 08-16 17:00:00 - 08-16 17:30:00 @ 40.13, 58: 08-16 17:30:00 - 08-16 18:00:00 @ 42.36, 59: 08-16 18:00:00 - 08-16 18:30:00 @ 44.19, 60: 08-16 19:00:00 - 08-16 19:30:00 @ 33.04, 61: 08-16 19:30:00 - 08-16 20:00:00 @ 33.71, 62: 08-16 20:00:00 - 08-16 20:30:00 @ 33.83, 63: 08-16 20:30:00 - 08-16 21:00:00 @ 33.94, 64: 08-16 21:00:00 - 08-16 21:30:00 @ 33.73, 65: 08-16 21:30:00 - 08-16 22:00:00 @ 33.53, 66: 08-16 22:00:00 - 08-16 22:30:00 @ 32.36, 67: 08-16 22:30:00 - 08-16 23:00:00 @ 31.17, 68: 08-16 23:00:00 - 08-16 23:30:00 @ 29.37, 69: 08-16 23:30:00 - 08-17 00:00:00 @ 29.2, 70: 08-17 00:00:00 - 08-17 00:30:00 @ 28.83, 71: 08-17 00:30:00 - 08-17 01:00:00 @ 28.46, 72: 08-17 01:00:00 - 08-17 01:30:00 @ 27.73, 73: 08-17 01:30:00 - 08-17 02:00:00 @ 27.01, 74: 08-17 02:00:00 - 08-17 02:30:00 @ 26.76, 75: 08-17 02:30:00 - 08-17 03:00:00 @ 26.48, 76: 08-17 03:00:00 - 08-17 03:30:00 @ 26.39, 77: 08-17 03:30:00 - 08-17 04:00:00 @ 26.27, 78: 08-17 04:00:00 - 08-17 04:30:00 @ 26.33, 79: 08-17 04:30:00 - 08-17 05:00:00 @ 26.37, 80: 08-17 05:00:00 - 08-17 05:30:00 @ 26.23, 81: 08-17 05:30:00 - 08-17 06:00:00 @ 26.07, 82: 08-17 06:00:00 - 08-17 06:30:00 @ 25.99, 83: 08-17 06:30:00 - 08-17 07:00:00 @ 25.92, 84: 08-17 07:00:00 - 08-17 07:30:00 @ 25.64, 85: 08-17 07:30:00 - 08-17 08:00:00 @ 25.39, 86: 08-17 08:00:00 - 08-17 08:30:00 @ 24.84, 87: 08-17 08:30:00 - 08-17 09:00:00 @ 24.28, 88: 08-17 09:00:00 - 08-17 09:30:00 @ 24.26, 89: 08-17 09:30:00 - 08-17 10:00:00 @ 24.22, 90: 08-17 10:00:00 - 08-17 10:30:00 @ 24.8, 91: 08-17 10:30:00 - 08-17 11:00:00 @ 25.37, 92: 08-17 11:00:00 - 08-17 11:30:00 @ 24.71, 93: 08-17 11:30:00 - 08-17 12:00:00 @ 24.02, 94: 08-17 12:00:00 - 08-17 12:30:00 @ 23.79, 95: 08-17 12:30:00 - 08-17 13:00:00 @ 23.55]
2026-08-15 12:55:03.460916: Include original charge start 08-15 10:30:00, keeping this instead of new start 08-15 12:30:00
2026-08-15 12:55:03.461146: Inverter 0 Charge window will be: 2026-08-15 10:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 25%, target 25%
2026-08-15 12:55:03.461431: Inverter 0 Target SoC 25%, (this inverter 25%), battery temperature 20°C, select charge rate 5000W (real 5000W), current charge rate 5000W
2026-08-15 12:55:03.461567: Inverter 0 Hold charging as SoC 25% is above target SoC 25% (global soc target 25%) set_discharge_during_charge True
2026-08-15 12:55:03.461840: Adjust idle time, charge 10:30:00-16:00:00 discharge 00:00:00-00:00:00
2026-08-15 12:55:03.462206: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 12:55:03.462369: No export window planned
2026-08-15 12:55:03.462605: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 12:55:03.462654: Adjust idle time, charge 10:30:00-16:00:00 discharge 00:00:00-00:00:00
2026-08-15 12:55:03.462813: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 12:55:03.462912: Inverter 0 setting charging SoC to 25% as per target
2026-08-15 12:55:03.462971: Inverter 0 adjust target SoC for charge to 25% (4.0kWh/16.0kWh 16.0kWh) based on going from 25% -> 25% total add is 0.0kWh and this battery needs to add 0.0kWh to get to 4.0kWh
2026-08-15 12:55:03.463036: Inverter 0 Current Target SoC is 25%, already at target
2026-08-15 12:55:03.463185: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:55:03.463264: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:55:03.463298: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:55:03.463327: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:55:03.463356: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:55:03.463384: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:55:03.463413: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:55:03.463460: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 12:55:03.463500: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 12:55:03.463535: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 12:55:03.463570: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 12:55:03.463601: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 12:55:03.463641: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 12:55:03.463704: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 12:55:03.463779: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:55:03.463821: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:55:03.463850: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:55:03.463887: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:55:03.463914: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:55:03.463947: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:55:03.463974: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:55:03.464005: Inverter 0 count register writes 0
2026-08-15 12:55:03.479861: Will recompute the plan as it is now 10.0 minutes old and will exceed the max age of 10 minutes before the next run
2026-08-15 12:55:03.480032: Recompute is saving previous plan...
2026-08-15 12:55:03.483218: Best charge window [ 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 13:30:00 @ 15.36p 25%, 15-08 13:30:00 - 15-08 14:00:00 @ 15.74p 25%, 15-08 14:00:00 - 15-08 14:30:00 @ 14.57p 25%, 15-08 14:30:00 - 15-08 15:00:00 @ 13.77p 25%, 15-08 15:00:00 - 15-08 15:30:00 @ 15.02p 25%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 25%, 15-08 16:00:00 - 15-08 16:30:00 @ 33.13p 25%, 15-08 16:30:00 - 15-08 17:00:00 @ 33.13p 25%, 15-08 17:00:00 - 15-08 17:30:00 @ 38.46p 25%, 15-08 17:30:00 - 15-08 18:00:00 @ 40.44p 25%, 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 25%, 15-08 18:30:00 - 15-08 19:00:00 @ 43.82p 25%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 25%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 25%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 25%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 25%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 25%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 25%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 25%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 25%, 15-08 23:00:00 - 15-08 23:30:00 @ 29.37p 25%, 15-08 23:30:00 - 16-08 00:00:00 @ 29.2p 25%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.83p 25%, 16-08 00:30:00 - 16-08 01:00:00 @ 28.46p 25%, 16-08 01:00:00 - 16-08 01:30:00 @ 27.73p 25%, 16-08 01:30:00 - 16-08 02:00:00 @ 27.01p 25%, 16-08 02:00:00 - 16-08 02:30:00 @ 26.76p 25%, 16-08 02:30:00 - 16-08 03:00:00 @ 26.48p 25%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.39p 25%, 16-08 03:30:00 - 16-08 04:00:00 @ 26.27p 25%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.33p 25%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.37p 25%, 16-08 05:00:00 - 16-08 05:30:00 @ 26.23p 25%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.07p 25%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.99p 25%, 16-08 06:30:00 - 16-08 07:00:00 @ 25.92p 25%, 16-08 07:00:00 - 16-08 07:30:00 @ 25.64p 25%, 16-08 07:30:00 - 16-08 08:00:00 @ 25.39p 25%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.84p 25%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.28p 25%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.26p 25%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.22p 25%, 16-08 10:00:00 - 16-08 10:30:00 @ 24.8p 25%, 16-08 10:30:00 - 16-08 11:00:00 @ 25.37p 25%, 16-08 11:00:00 - 16-08 11:30:00 @ 24.71p 25%, 16-08 11:30:00 - 16-08 12:00:00 @ 24.02p 25%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.79p 25%, 16-08 12:30:00 - 16-08 13:00:00 @ 23.55p 25%, 16-08 13:00:00 - 16-08 13:30:00 @ 23.14p 25%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.71p 25%, 16-08 14:00:00 - 16-08 14:30:00 @ 22.01p 25%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.29p 25%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.01p 25%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.71p 25%, 16-08 16:00:00 - 16-08 16:30:00 @ 37.14p 25%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.91p 25%, 16-08 17:00:00 - 16-08 17:30:00 @ 40.13p 25%, 16-08 17:30:00 - 16-08 18:00:00 @ 42.36p 25%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.19p 25%, 16-08 19:00:00 - 16-08 19:30:00 @ 33.04p 25%, 16-08 19:30:00 - 16-08 20:00:00 @ 33.71p 25%, 16-08 20:00:00 - 16-08 20:30:00 @ 33.83p 25%, 16-08 20:30:00 - 16-08 21:00:00 @ 33.94p 25%, 16-08 21:00:00 - 16-08 21:30:00 @ 33.73p 25%, 16-08 21:30:00 - 16-08 22:00:00 @ 33.53p 25%, 16-08 22:00:00 - 16-08 22:30:00 @ 32.36p 25%, 16-08 22:30:00 - 16-08 23:00:00 @ 31.17p 25%, 16-08 23:00:00 - 16-08 23:30:00 @ 29.37p 25%, 16-08 23:30:00 - 17-08 00:00:00 @ 29.2p 25%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.83p 25%, 17-08 00:30:00 - 17-08 01:00:00 @ 28.46p 25%, 17-08 01:00:00 - 17-08 01:30:00 @ 27.73p 25%, 17-08 01:30:00 - 17-08 02:00:00 @ 27.01p 25%, 17-08 02:00:00 - 17-08 02:30:00 @ 26.76p 25%, 17-08 02:30:00 - 17-08 03:00:00 @ 26.48p 25%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.39p 25%, 17-08 03:30:00 - 17-08 04:00:00 @ 26.27p 25%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.33p 25%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.37p 25%, 17-08 05:00:00 - 17-08 05:30:00 @ 26.23p 25%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.07p 25%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.99p 25%, 17-08 06:30:00 - 17-08 07:00:00 @ 25.92p 25%, 17-08 07:00:00 - 17-08 07:30:00 @ 25.64p 25%, 17-08 07:30:00 - 17-08 08:00:00 @ 25.39p 25%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.84p 25%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.28p 25%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.26p 25%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.22p 25%, 17-08 10:00:00 - 17-08 10:30:00 @ 24.8p 25%, 17-08 10:30:00 - 17-08 11:00:00 @ 25.37p 25%, 17-08 11:00:00 - 17-08 11:30:00 @ 24.71p 25%, 17-08 11:30:00 - 17-08 12:00:00 @ 24.02p 25%, 17-08 12:00:00 - 17-08 12:30:00 @ 23.79p 25%, 17-08 12:30:00 - 17-08 13:00:00 @ 23.55p 25% ]
2026-08-15 12:55:03.483299: Best export window [  ]
2026-08-15 12:55:03.484151: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 12:55:03.487455: Load divergence over 8.0 hours mean 537.99W, min 291.6W, max 1838.4W, std dev 291.27W, divergence 27.07%
2026-08-15 12:55:03.502313: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 12:55:03.502415: LoadML is_calculating False
2026-08-15 12:55:03.502474: Creating pool of 12 processes to match your CPU count
2026-08-15 12:55:03.592825: Calculate Best options: mode(Control charge & discharge), calculate_export_oncharge(False), calculate_export_on_pv(True), set_export_freeze_only(False), set_discharge_during_charge(True), combine_charge_slots(False), combine_export_slots(False), combine_rate_threshold(0.0), best_soc_min(0.0 kWh), best_soc_max(0.0 kWh), best_soc_keep(0.0 kWh), inverter_loss(4%), battery_loss(3%), battery_loss_discharge (3%), inverter_hybrid(True), metric_min_improvement(0.0p), metric_min_improvement_export(0.1p), metric_min_improvement_export_freeze(0.1p), metric_battery_cycle(0.0p/kWh), metric_battery_value_scaling(1.0 x) 
2026-08-15 12:55:03.594562: Optimise levels pass started at 2026-08-15 12:55:03
2026-08-15 12:55:03.594614: Optimise all windows, total charge 95 export 1
2026-08-15 12:55:04.262949: >> Region optimisation pass width 960 gives best_metric 950.14p, best_cost 964.47p, best_cycle 50.1kWh, best_import 33.75kWh
2026-08-15 12:55:04.618013: >> Region optimisation pass width 480 gives best_metric 950.14p, best_cost 964.47p, best_cycle 50.1kWh, best_import 33.75kWh
2026-08-15 12:55:05.111192: >> Region optimisation pass width 240 gives best_metric 950.14p, best_cost 964.47p, best_cycle 50.1kWh, best_import 33.75kWh
2026-08-15 12:55:06.224655: >> Region optimisation pass width 120 gives best_metric 950.14p, best_cost 964.47p, best_cycle 50.1kWh, best_import 33.75kWh
2026-08-15 12:55:06.225161: Calculated end_record as 08-16 13:00:00 based on best_price 22.71p, next_charge_start 08-15 13:00:00, max_windows 49
2026-08-15 12:55:06.225288: Optimise levels pass ended at 2026-08-15 12:55:06, duration 2.6 seconds tried 267 combinations
2026-08-15 12:55:06.225415: Set best_price_charge_level 24.4p, best_price_export_level 0p, best_price_charge 22.71p, best_cost_export 0p, best_metric 950.14p, best_keep 0kWh, best_cycle 50.1kWh, best_carbon 0kg, best_import 33.75kWh
2026-08-15 12:55:06.245042: Starting detailed optimisation end_record 08-16 13:00:00, best_price_charge 22.71p, best_price_export 0p. lowest_price_charge 13.77p with charge limits [16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0]kWh and export limits []kWh
2026-08-15 12:55:09.487434: Tweak plan optimisation started metric 555.65p, cost 572.61p
2026-08-15 12:55:09.726146: Tweak optimisation finished metric 555.65p, cost 572.61p, metric_keep 0kWh, cycle 26.8kWh, carbon 0kg, import 16.38kWh, changed 8 window(s)
2026-08-15 12:55:09.746247: Swap charge optimisation started metric 555.65p, cost 572.61p, min_improvement_swap 0.1p
2026-08-15 12:55:11.947278: Swap charge optimisation finished metric 555.65p, cost 572.61p
2026-08-15 12:55:12.032724: Raw charge windows [ 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 13:30:00 @ 15.36p 100%, 15-08 13:30:00 - 15-08 14:00:00 @ 15.74p 100%, 15-08 14:00:00 - 15-08 14:30:00 @ 14.57p 100%, 15-08 14:30:00 - 15-08 15:00:00 @ 13.77p 100%, 15-08 15:00:00 - 15-08 15:30:00 @ 15.02p 100%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 100%, 15-08 16:00:00 - 15-08 16:30:00 @ 33.13p 0%, 15-08 16:30:00 - 15-08 17:00:00 @ 33.13p 0%, 15-08 17:00:00 - 15-08 17:30:00 @ 38.46p 0%, 15-08 17:30:00 - 15-08 18:00:00 @ 40.44p 0%, 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 0%, 15-08 18:30:00 - 15-08 19:00:00 @ 43.82p 0%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 0%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 0%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 0%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 0%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 29.37p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 29.2p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.83p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 28.46p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 27.73p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 27.01p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 26.76p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 26.48p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.39p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 26.27p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.33p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.37p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 26.23p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.07p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.99p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 25.92p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 25.64p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 25.39p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.84p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.28p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.26p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.22p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 24.8p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 25.37p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 24.71p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 24.02p 0%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.79p 0%, 16-08 12:30:00 - 16-08 13:00:00 @ 23.55p 0%, 16-08 13:00:00 - 16-08 13:30:00 @ 23.14p 100%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.71p 100%, 16-08 14:00:00 - 16-08 14:30:00 @ 22.01p 100%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.29p 100%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.01p 100%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.71p 100%, 16-08 16:00:00 - 16-08 16:30:00 @ 37.14p 100%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.91p 100%, 16-08 17:00:00 - 16-08 17:30:00 @ 40.13p 100%, 16-08 17:30:00 - 16-08 18:00:00 @ 42.36p 100%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.19p 100%, 16-08 19:00:00 - 16-08 19:30:00 @ 33.04p 100%, 16-08 19:30:00 - 16-08 20:00:00 @ 33.71p 100%, 16-08 20:00:00 - 16-08 20:30:00 @ 33.83p 100%, 16-08 20:30:00 - 16-08 21:00:00 @ 33.94p 100%, 16-08 21:00:00 - 16-08 21:30:00 @ 33.73p 100%, 16-08 21:30:00 - 16-08 22:00:00 @ 33.53p 100%, 16-08 22:00:00 - 16-08 22:30:00 @ 32.36p 100%, 16-08 22:30:00 - 16-08 23:00:00 @ 31.17p 100%, 16-08 23:00:00 - 16-08 23:30:00 @ 29.37p 100%, 16-08 23:30:00 - 17-08 00:00:00 @ 29.2p 100%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.83p 100%, 17-08 00:30:00 - 17-08 01:00:00 @ 28.46p 100%, 17-08 01:00:00 - 17-08 01:30:00 @ 27.73p 100%, 17-08 01:30:00 - 17-08 02:00:00 @ 27.01p 100%, 17-08 02:00:00 - 17-08 02:30:00 @ 26.76p 100%, 17-08 02:30:00 - 17-08 03:00:00 @ 26.48p 100%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.39p 100%, 17-08 03:30:00 - 17-08 04:00:00 @ 26.27p 100%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.33p 100%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.37p 100%, 17-08 05:00:00 - 17-08 05:30:00 @ 26.23p 100%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.07p 100%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.99p 100%, 17-08 06:30:00 - 17-08 07:00:00 @ 25.92p 100%, 17-08 07:00:00 - 17-08 07:30:00 @ 25.64p 100%, 17-08 07:30:00 - 17-08 08:00:00 @ 25.39p 100%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.84p 100%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.28p 100%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.26p 100%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.22p 100%, 17-08 10:00:00 - 17-08 10:30:00 @ 24.8p 100%, 17-08 10:30:00 - 17-08 11:00:00 @ 25.37p 100%, 17-08 11:00:00 - 17-08 11:30:00 @ 24.71p 100%, 17-08 11:30:00 - 17-08 12:00:00 @ 24.02p 100%, 17-08 12:00:00 - 17-08 12:30:00 @ 23.79p 100%, 17-08 12:30:00 - 17-08 13:00:00 @ 23.55p 100% ] reserve 1.12
2026-08-15 12:55:12.033402: Unclipped charge windows [ 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 13:00:00 - 16-08 18:30:00 @ 41.93p 100%, 16-08 19:00:00 - 17-08 13:00:00 @ 23.83p 100% ] reserve 1.12
2026-08-15 12:55:12.033631: Unfiltered charge windows [ 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 13:00:00 - 16-08 18:30:00 @ 41.93p 100%, 16-08 19:00:00 - 17-08 13:00:00 @ 23.83p 100% ] reserve 1.12
2026-08-15 12:55:12.033844: Filtered charge windows [ 15-08 12:30:00 - 15-08 13:00:00 @ 16.34p 25%, 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 13:00:00 - 16-08 18:30:00 @ 41.93p 100%, 16-08 19:00:00 - 17-08 13:00:00 @ 23.83p 100% ] reserve 1.12
2026-08-15 12:55:12.071175: Previous plan best metric is 555.57 (cost 572.61) and new plan best metric is 555.65 (cost 572.61)
2026-08-15 12:55:12.071478: New plan metric is not significantly better (metric_min_improvement_plan 2.0) than previous plan, using previous plan
2026-08-15 12:55:12.071668: Plan valid is now true after recompute was False
2026-08-15 12:55:12.101075: predict base end_record 08-16 13:00:00, final soc 4.0kWh, metric 818.76p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 19:50:00, load 25.0kWh, PV 0.0kWh
2026-08-15 12:55:12.220854: Battery has 6.92 hours left - now at 4.0kWh
2026-08-15 12:55:12.265380: predict base10 end_record 08-16 13:00:00, final soc 4.0kWh, metric 840.45p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 19:40:00, load 25.83kWh, PV 0.0kWh
2026-08-15 12:55:12.346517: predict best10 end_record 08-16 13:00:00, final soc 1.12kWh, metric 646.07p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 10:35:00, load 25.83kWh, PV 0.0kWh
2026-08-15 12:55:12.426823: predict best end_record 08-16 13:00:00, final soc 1.12kWh, metric 622.59p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 11:40:00, load 25.0kWh, PV 0.0kWh
2026-08-15 12:55:12.426913: Saving plan best values to HA entities
2026-08-15 12:55:12.580595: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0
2026-08-15 12:55:12.586472: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 12:55:12.592418: Best charging limit SoC's [4.0, 16.0, 16.0, 16.0]kWh, export []kWh gives import battery 15.26kWh, house 1.12kWh, export 0.0kWh, metric 622.59p, metric10 646.07p
2026-08-15 12:55:12.669416: Marginal costs baseline metric (no standing charge): 572.6098
2026-08-15 12:55:12.942279: Marginal energy costs matrix computed: min=15.27 max=31.83
2026-08-15 12:55:13.018557: Rate array import [{'start': 775, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 16.3p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1950, 'rate': 'expensive', 'range': '(24.8p - 32.9p)'}, {'start': 1950, 'end': 2040, 'rate': 'cheap', 'range': '(24.2p - 24.3p)'}, {'start': 2040, 'end': 2130, 'rate': 'expensive', 'range': '(24.7p - 25.4p)'}, {'start': 2130, 'end': 2220, 'rate': 'cheap', 'range': '(23.6p - 24.0p)'}] export [{'start': 775, 'end': 2220, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 12:55:13.019187: - Your estimated bill for today is £5.46 and tomorrow is £6.83
2026-08-15 12:55:13.019254: - Import rates are cheap (13.8p - 16.3p) for the next 3 hours and then expensive (33.1p) for the next 1 hour.
2026-08-15 12:55:13.019289: - The battery is currently at 25% and is charging to 25% for the next 5 minutes.
2026-08-15 12:55:13.019328: - For the next 48 hours there will be no solar generation.
2026-08-15 12:55:13.019361: - You will run out of battery in 22 hours.
2026-08-15 12:55:13.019381: 
2026-08-15 12:55:13.071836: Plan calculation took 9.59 seconds
2026-08-15 12:55:13.072234: Inverter 0: Type SK Sunsynk
2026-08-15 12:55:13.072283: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 12:55:13.072508: Reserve min: 7%, battery_min: 7%
2026-08-15 12:55:13.072590: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 12:55:13.072977: Inverter 0 SoC: 4.0kW 25%, current charge rate 5000W, current discharge rate 0W, current battery power -8W, current battery voltage 51.2V, grid power -341W, load power 341W, PV Power 0W
2026-08-15 12:55:13.073240: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 12:55:13.073355: Inverter 0 scheduled charge enable is True
2026-08-15 12:55:13.073414: Inverter 0 charge windows currently [{'start': 630, 'end': 960, 'average': 0}, {'start': 2070, 'end': 2400, 'average': 0}, {'start': 3510, 'end': 3840, 'average': 0}]
2026-08-15 12:55:13.073511: Inverter 0 Charge settings: 08-15 10:30:00-08-15 16:00:00, limit 25.0%, power 5.0kW
2026-08-15 12:55:13.073634: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 12:55:13.073670: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 12:55:13.073706: Inverter 0 scheduled discharge enable is False
2026-08-15 12:55:13.073836: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 12:55:13.073873: Inverter 0 discharge windows currently []
2026-08-15 12:55:13.073897: Note: Inverter does not support discharge freeze - disabled
2026-08-15 12:55:13.073920: Note: Inverter does not support charge freeze - disabled
2026-08-15 12:55:13.073939: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 12:55:13.136310: Include original charge start 08-15 10:30:00, keeping this instead of new start 08-15 12:30:00
2026-08-15 12:55:13.136454: Inverter 0 Charge window will be: 2026-08-15 10:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 25%, target 25%
2026-08-15 12:55:13.136656: Inverter 0 Target SoC 25%, (this inverter 25%), battery temperature 20°C, select charge rate 5000W (real 5000W), current charge rate 5000W
2026-08-15 12:55:13.136778: Inverter 0 Hold charging as SoC 25% is above target SoC 25% (global soc target 25%) set_discharge_during_charge True
2026-08-15 12:55:13.136908: Adjust idle time, charge 10:30:00-16:00:00 discharge 00:00:00-00:00:00
2026-08-15 12:55:13.137181: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 12:55:13.137304: No export window planned
2026-08-15 12:55:13.137426: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 12:55:13.137462: Adjust idle time, charge 10:30:00-16:00:00 discharge 00:00:00-00:00:00
2026-08-15 12:55:13.137602: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 12:55:13.137695: Inverter 0 setting charging SoC to 25% as per target
2026-08-15 12:55:13.137752: Inverter 0 adjust target SoC for charge to 25% (4.0kWh/16.0kWh 16.0kWh) based on going from 25% -> 25% total add is 0.0kWh and this battery needs to add 0.0kWh to get to 4.0kWh
2026-08-15 12:55:13.137803: Inverter 0 Current Target SoC is 25%, already at target
2026-08-15 12:55:13.137918: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:55:13.137964: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:55:13.137993: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:55:13.138018: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:55:13.138042: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:55:13.138074: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:55:13.138127: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:55:13.138178: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 12:55:13.138222: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 12:55:13.138256: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 12:55:13.138318: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 12:55:13.138380: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 12:55:13.138433: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 12:55:13.138486: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 12:55:13.138587: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:55:13.138638: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:55:13.138700: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:55:13.138741: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:55:13.138798: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:55:13.138832: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:55:13.138897: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 12:55:13.138933: Inverter 0 count register writes 0
2026-08-15 12:55:13.165026: Total inverter register writes now 823
2026-08-15 12:55:13.199521: Info: Completed run status Hold charging
2026-08-15 12:55:13.206384: Info: record_status Hold charging target 25%-25%
2026-08-15 12:55:13.213353: Saved current settings to /config/predbat_config.json
2026-08-15 12:55:13.213682: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 12:55:57.327763: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 12:55:57.328210: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 12:55:57.328277: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 12:55:57.328437: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 12:55:57.328483: Note: Inverter does not support discharge freeze - disabled
2026-08-15 12:55:57.328507: Note: Inverter does not support charge freeze - disabled
2026-08-15 12:55:57.328525: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 12:58:11.612548: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 12:58:11.612909: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 12:58:11.613008: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 12:58:11.613233: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 12:58:11.613282: Note: Inverter does not support discharge freeze - disabled
2026-08-15 12:58:11.613305: Note: Inverter does not support charge freeze - disabled
2026-08-15 12:58:11.613329: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 12:58:18.307867: TemperatureAPI: Using coordinates latitude 53.4, longitude -2.2
2026-08-15 12:58:18.464803: TemperatureAPI: Successfully fetched temperature data from Open-Meteo API
2026-08-15 13:00:00.839289: --------------- PredBat - update at 2026-08-15 13:00:00+01:00 with clock skew 0 minutes, minutes now 780
2026-08-15 13:00:00.840141: Saved current settings to /config/predbat_config.json
2026-08-15 13:00:00.840352: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 45.0 minutes
2026-08-15 13:00:00.840517: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.1, latest beta is v8.48.1
2026-08-15 13:00:00.840636: Autoupdate: Currently up to date
2026-08-15 13:00:00.866116: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 13:00:00.866334: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 13:00:00.866591: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 13:00:00.867452: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 13:00:00.867647: Predbat mode is set to Control charge & discharge
2026-08-15 13:00:01.114277: Found 21602 load_today datapoints going back 28 days
2026-08-15 13:00:01.114435: Using load_power data to fill gaps in load_today data
2026-08-15 13:00:01.884797: Processing 721 30-minute periods for power integration
2026-08-15 13:00:02.052420: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 13:00:02.052546: Car charging hold False, threshold 6.0kWh
2026-08-15 13:00:02.052603: Current data so far today: load 7.75kWh, import 11.7kWh, export 0.0kWh, PV 0kWh
2026-08-15 13:00:02.065598: Cars: SoC: [11.134]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 13:00:02.066045: Standing charge is set to 49.98p
2026-08-15 13:00:02.104803: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 13:00:02.104922: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 13:00:02.105263: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 140.0 minutes
2026-08-15 13:00:02.105846: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 140.0 minutes
2026-08-15 13:00:02.111938: Loaded 95 datapoints of futurerate analysis
2026-08-15 13:00:02.210173: Predicted future rates: ['08-15 00:00:00 => 28.9 / 20.01', '08-15 01:00:00 => 27.54 / 19.31', '08-15 02:00:00 => 26.52 / 18.8', '08-15 03:00:00 => 25.99 / 18.53', '08-15 04:00:00 => 25.8 / 18.43', '08-15 05:00:00 => 25.96 / 18.51', '08-15 06:00:00 => 25.55 / 18.3', '08-15 07:00:00 => 24.33 / 17.68', '08-15 08:00:00 => 23.03 / 17.01', '08-15 09:00:00 => 22.05 / 16.51', '08-15 10:00:00 => 20.43 / 15.68', '08-15 11:00:00 => 18.01 / 14.45', '08-15 12:00:00 => 16.37 / 13.61', '08-15 13:00:00 => 15.76 / 13.3', '08-15 14:00:00 => 15.35 / 13.09', '08-15 15:00:00 => 15.86 / 13.35', '08-15 16:00:00 => 32.89 / 16.13', '08-15 17:00:00 => 38.02 / 18.75', '08-15 18:00:00 => 42.36 / 20.96', '08-15 19:00:00 => 31.09 / 21.13', '08-15 20:00:00 => 31.64 / 21.41', '08-15 21:00:00 => 31.64 / 21.41', '08-15 22:00:00 => 30.58 / 20.87', '08-15 23:00:00 => 29.37 / 20.25', '08-16 00:00:00 => 28.83 / 19.97', '08-16 01:00:00 => 27.73 / 19.41', '08-16 02:00:00 => 26.76 / 18.92', '08-16 03:00:00 => 26.39 / 18.73', '08-16 04:00:00 => 26.33 / 18.7', '08-16 05:00:00 => 26.23 / 18.65', '08-16 06:00:00 => 25.99 / 18.53', '08-16 07:00:00 => 25.64 / 18.35', '08-16 08:00:00 => 24.84 / 17.94', '08-16 09:00:00 => 24.26 / 17.64', '08-16 10:00:00 => 24.8 / 17.92', '08-16 11:00:00 => 24.71 / 17.87', '08-16 12:00:00 => 23.79 / 17.4']
2026-08-15 13:00:02.272115: Rate min forward looking: now 13.77p at end of forecast 21.29p
2026-08-15 13:00:02.272539: Import rates: min 13.77p, max 46.05p, average 27.91p
2026-08-15 13:00:02.316365: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 13:00:02.316508: Rate thresholds (for charge/export) are import 45.55p (0.0p), export -0.1p (0.0p)
2026-08-15 13:00:02.317803: High export rate found rates in range 99p to -99p
2026-08-15 13:00:02.412424: Low Import rate found rates in range 13.77p to 44.19p
2026-08-15 13:00:02.413214: Car 0 charging is not planned as it is not plugged in
2026-08-15 13:00:02.427794: Battery level now 4.0kWh, -1hr ago 3.56kWh, at midnight 1.66kWh, battery value change in the last hour 5.2p, change today 27.72p, rate_forward 11.83p
2026-08-15 13:00:02.428190: Last hour: net energy 0.7kWh, import 0.7kWh, export 0.0kWh, car 0kWh, load 0.38kWh, net cost 11.66p, import 11.66p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 13:00:02.490424: Today's energy total net 11.7kWh, import 11.7kWh, export 0.0kWh, cost 319.4p, import 269.41p, export 0.0p, carbon 0.0kg
2026-08-15 13:00:02.490613: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 13:00:02.579668: Using weighted-bucket historical load forecast over 14 days
2026-08-15 13:00:02.608048: Today's load divergence 99.16%, in-day adjustment 119.63%, damping 0.95x, yesterday 143.77% today 99.2% blend 45.83%
2026-08-15 13:00:02.608153: Today's predicted so far 7.95kWh with 0.0kWh car/iBoost excluded, 5.82kWh import ignored, and 7.95kWh forecast extra.
2026-08-15 13:00:02.608186: Today's actual load so far 7.82kWh with 0.0kWh car/iBoost excluded, and 5.82kWh import ignored.
2026-08-15 13:00:02.647926: Inverter 0: Type SK Sunsynk
2026-08-15 13:00:02.648018: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 13:00:02.648222: Reserve min: 7%, battery_min: 7%
2026-08-15 13:00:02.648294: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 13:00:02.648559: Inverter 0 SoC: 4.0kW 25%, current charge rate 5000W, current discharge rate 0W, current battery power -8W, current battery voltage 51.2V, grid power -391W, load power 390W, PV Power 0W
2026-08-15 13:00:02.648719: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 13:00:02.648808: Inverter 0 scheduled charge enable is True
2026-08-15 13:00:02.648857: Inverter 0 charge windows currently [{'start': 630, 'end': 960, 'average': 0}, {'start': 2070, 'end': 2400, 'average': 0}, {'start': 3510, 'end': 3840, 'average': 0}]
2026-08-15 13:00:02.649000: Inverter 0 Charge settings: 08-15 10:30:00-08-15 16:00:00, limit 25.0%, power 5.0kW
2026-08-15 13:00:02.649170: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 13:00:02.649211: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 13:00:02.649251: Inverter 0 scheduled discharge enable is False
2026-08-15 13:00:02.649377: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 13:00:02.649414: Inverter 0 discharge windows currently []
2026-08-15 13:00:02.649438: Note: Inverter does not support discharge freeze - disabled
2026-08-15 13:00:02.649460: Note: Inverter does not support charge freeze - disabled
2026-08-15 13:00:02.649477: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 13:00:02.725969: Dynamic load last period 0.60kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 13:00:02.726107: Plan was last updated on 2026-08-15 12:55:00+01:00 and is now 5.0 minutes old
2026-08-15 13:00:02.726147: Current charge window has expired, removing it
2026-08-15 13:00:02.726319: Best charge window [ 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 13:00:00 - 16-08 18:30:00 @ 41.93p 100%, 16-08 19:00:00 - 17-08 12:30:00 @ 24.11p 100% ]
2026-08-15 13:00:02.726359: Best export window [  ]
2026-08-15 13:00:02.727225: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 13:00:02.730389: Load divergence over 8.0 hours mean 532.86W, min 295.8W, max 1607.4W, std dev 278.05W, divergence 26.09%
2026-08-15 13:00:02.749106: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 13:00:02.749225: LoadML is_calculating False
2026-08-15 13:00:02.749338: Creating pool of 12 processes to match your CPU count
2026-08-15 13:00:02.884167: predict base end_record 08-16 13:05:00, final soc 4.0kWh, metric 819.62p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 19:50:00, load 25.05kWh, PV 0.0kWh
2026-08-15 13:00:03.032108: Battery has 6.83 hours left - now at 4.0kWh
2026-08-15 13:00:03.078923: predict base10 end_record 08-16 13:05:00, final soc 4.0kWh, metric 841.26p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 19:40:00, load 25.87kWh, PV 0.0kWh
2026-08-15 13:00:03.161382: predict best10 end_record 08-16 13:05:00, final soc 1.44kWh, metric 655.05p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 10:40:00, load 25.87kWh, PV 0.0kWh
2026-08-15 13:00:03.258364: predict best end_record 08-16 13:05:00, final soc 1.51kWh, metric 633.26p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 11:40:00, load 25.05kWh, PV 0.0kWh
2026-08-15 13:00:03.258468: Saving plan best values to HA entities
2026-08-15 13:00:03.485017: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0
2026-08-15 13:00:03.491804: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 13:00:03.498414: Best charging limit SoC's [16.0, 16.0, 16.0]kWh, export []kWh gives import battery 15.65kWh, house 1.1kWh, export 0.0kWh, metric 633.26p, metric10 655.05p
2026-08-15 13:00:03.588633: Marginal costs baseline metric (no standing charge): 583.2721
2026-08-15 13:00:03.878256: Marginal energy costs matrix computed: min=15.44 max=32.11
2026-08-15 13:00:03.957178: Rate array import [{'start': 780, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 15.9p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1950, 'rate': 'expensive', 'range': '(24.8p - 32.9p)'}, {'start': 1950, 'end': 2040, 'rate': 'cheap', 'range': '(24.2p - 24.3p)'}, {'start': 2040, 'end': 2130, 'rate': 'expensive', 'range': '(24.7p - 25.4p)'}, {'start': 2130, 'end': 2225, 'rate': 'cheap', 'range': '(23.1p - 24.0p)'}] export [{'start': 780, 'end': 2225, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 13:00:03.957665: - Your estimated bill for today is £5.46 and tomorrow is £6.80
2026-08-15 13:00:03.957718: - Import rates are cheap (13.8p - 15.9p) for the next 3 hours and then expensive (33.1p) for the next 1 hour.
2026-08-15 13:00:03.957742: - The battery is currently at 25% and is charging to 100% for the next 3 hours.
2026-08-15 13:00:03.957761: - For the next 48 hours there will be no solar generation.
2026-08-15 13:00:03.957778: - You will run out of battery in 22 hours.
2026-08-15 13:00:03.957799: 
2026-08-15 13:00:04.021056: Plan calculation took 1.29 seconds
2026-08-15 13:00:04.024674: No high rate period found
2026-08-15 13:00:04.078626: Import threshold used for optimisation was 16.34p
2026-08-15 13:00:04.135885: Low import rate windows [0: 08-15 13:00:00 - 08-15 13:30:00 @ 15.36, 1: 08-15 13:30:00 - 08-15 14:00:00 @ 15.74, 2: 08-15 14:00:00 - 08-15 14:30:00 @ 14.57, 3: 08-15 14:30:00 - 08-15 15:00:00 @ 13.77, 4: 08-15 15:00:00 - 08-15 15:30:00 @ 15.02, 5: 08-15 15:30:00 - 08-15 16:00:00 @ 15.87, 6: 08-15 16:00:00 - 08-15 16:30:00 @ 33.13, 7: 08-15 16:30:00 - 08-15 17:00:00 @ 33.13, 8: 08-15 17:00:00 - 08-15 17:30:00 @ 38.46, 9: 08-15 17:30:00 - 08-15 18:00:00 @ 40.44, 10: 08-15 18:00:00 - 08-15 18:30:00 @ 41.55, 11: 08-15 18:30:00 - 08-15 19:00:00 @ 43.82, 12: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 13: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 14: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 15: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 16: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 17: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 18: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 19: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 20: 08-15 23:00:00 - 08-15 23:30:00 @ 29.37, 21: 08-15 23:30:00 - 08-16 00:00:00 @ 29.2, 22: 08-16 00:00:00 - 08-16 00:30:00 @ 28.83, 23: 08-16 00:30:00 - 08-16 01:00:00 @ 28.46, 24: 08-16 01:00:00 - 08-16 01:30:00 @ 27.73, 25: 08-16 01:30:00 - 08-16 02:00:00 @ 27.01, 26: 08-16 02:00:00 - 08-16 02:30:00 @ 26.76, 27: 08-16 02:30:00 - 08-16 03:00:00 @ 26.48, 28: 08-16 03:00:00 - 08-16 03:30:00 @ 26.39, 29: 08-16 03:30:00 - 08-16 04:00:00 @ 26.27, 30: 08-16 04:00:00 - 08-16 04:30:00 @ 26.33, 31: 08-16 04:30:00 - 08-16 05:00:00 @ 26.37, 32: 08-16 05:00:00 - 08-16 05:30:00 @ 26.23, 33: 08-16 05:30:00 - 08-16 06:00:00 @ 26.07, 34: 08-16 06:00:00 - 08-16 06:30:00 @ 25.99, 35: 08-16 06:30:00 - 08-16 07:00:00 @ 25.92, 36: 08-16 07:00:00 - 08-16 07:30:00 @ 25.64, 37: 08-16 07:30:00 - 08-16 08:00:00 @ 25.39, 38: 08-16 08:00:00 - 08-16 08:30:00 @ 24.84, 39: 08-16 08:30:00 - 08-16 09:00:00 @ 24.28, 40: 08-16 09:00:00 - 08-16 09:30:00 @ 24.26, 41: 08-16 09:30:00 - 08-16 10:00:00 @ 24.22, 42: 08-16 10:00:00 - 08-16 10:30:00 @ 24.8, 43: 08-16 10:30:00 - 08-16 11:00:00 @ 25.37, 44: 08-16 11:00:00 - 08-16 11:30:00 @ 24.71, 45: 08-16 11:30:00 - 08-16 12:00:00 @ 24.02, 46: 08-16 12:00:00 - 08-16 12:30:00 @ 23.79, 47: 08-16 12:30:00 - 08-16 13:00:00 @ 23.55, 48: 08-16 13:00:00 - 08-16 13:30:00 @ 23.14, 49: 08-16 13:30:00 - 08-16 14:00:00 @ 22.71, 50: 08-16 14:00:00 - 08-16 14:30:00 @ 22.01, 51: 08-16 14:30:00 - 08-16 15:00:00 @ 21.29, 52: 08-16 15:00:00 - 08-16 15:30:00 @ 22.01, 53: 08-16 15:30:00 - 08-16 16:00:00 @ 22.71, 54: 08-16 16:00:00 - 08-16 16:30:00 @ 37.14, 55: 08-16 16:30:00 - 08-16 17:00:00 @ 37.91, 56: 08-16 17:00:00 - 08-16 17:30:00 @ 40.13, 57: 08-16 17:30:00 - 08-16 18:00:00 @ 42.36, 58: 08-16 18:00:00 - 08-16 18:30:00 @ 44.19, 59: 08-16 19:00:00 - 08-16 19:30:00 @ 33.04, 60: 08-16 19:30:00 - 08-16 20:00:00 @ 33.71, 61: 08-16 20:00:00 - 08-16 20:30:00 @ 33.83, 62: 08-16 20:30:00 - 08-16 21:00:00 @ 33.94, 63: 08-16 21:00:00 - 08-16 21:30:00 @ 33.73, 64: 08-16 21:30:00 - 08-16 22:00:00 @ 33.53, 65: 08-16 22:00:00 - 08-16 22:30:00 @ 32.36, 66: 08-16 22:30:00 - 08-16 23:00:00 @ 31.17, 67: 08-16 23:00:00 - 08-16 23:30:00 @ 29.37, 68: 08-16 23:30:00 - 08-17 00:00:00 @ 29.2, 69: 08-17 00:00:00 - 08-17 00:30:00 @ 28.83, 70: 08-17 00:30:00 - 08-17 01:00:00 @ 28.46, 71: 08-17 01:00:00 - 08-17 01:30:00 @ 27.73, 72: 08-17 01:30:00 - 08-17 02:00:00 @ 27.01, 73: 08-17 02:00:00 - 08-17 02:30:00 @ 26.76, 74: 08-17 02:30:00 - 08-17 03:00:00 @ 26.48, 75: 08-17 03:00:00 - 08-17 03:30:00 @ 26.39, 76: 08-17 03:30:00 - 08-17 04:00:00 @ 26.27, 77: 08-17 04:00:00 - 08-17 04:30:00 @ 26.33, 78: 08-17 04:30:00 - 08-17 05:00:00 @ 26.37, 79: 08-17 05:00:00 - 08-17 05:30:00 @ 26.23, 80: 08-17 05:30:00 - 08-17 06:00:00 @ 26.07, 81: 08-17 06:00:00 - 08-17 06:30:00 @ 25.99, 82: 08-17 06:30:00 - 08-17 07:00:00 @ 25.92, 83: 08-17 07:00:00 - 08-17 07:30:00 @ 25.64, 84: 08-17 07:30:00 - 08-17 08:00:00 @ 25.39, 85: 08-17 08:00:00 - 08-17 08:30:00 @ 24.84, 86: 08-17 08:30:00 - 08-17 09:00:00 @ 24.28, 87: 08-17 09:00:00 - 08-17 09:30:00 @ 24.26, 88: 08-17 09:30:00 - 08-17 10:00:00 @ 24.22, 89: 08-17 10:00:00 - 08-17 10:30:00 @ 24.8, 90: 08-17 10:30:00 - 08-17 11:00:00 @ 25.37, 91: 08-17 11:00:00 - 08-17 11:30:00 @ 24.71, 92: 08-17 11:30:00 - 08-17 12:00:00 @ 24.02, 93: 08-17 12:00:00 - 08-17 12:30:00 @ 23.79, 94: 08-17 12:30:00 - 08-17 13:00:00 @ 23.55]
2026-08-15 13:00:04.144275: Include original charge start 08-15 10:30:00, keeping this instead of new start 08-15 13:00:00
2026-08-15 13:00:04.144404: Inverter 0 Charge window will be: 2026-08-15 10:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 25%, target 100%
2026-08-15 13:00:04.144584: Inverter 0 Target SoC 100%, (this inverter 100%), battery temperature 20°C, select charge rate 5000W (real 5000W), current charge rate 5000W
2026-08-15 13:00:04.144801: Adjust idle time, charge 10:30:00-16:00:00 discharge 00:00:00-00:00:00
2026-08-15 13:00:04.145114: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 13:00:04.145226: No export window planned
2026-08-15 13:00:04.145360: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 13:00:04.145391: Adjust idle time, charge 10:30:00-16:00:00 discharge 00:00:00-00:00:00
2026-08-15 13:00:04.145531: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 13:00:04.145638: Inverter 0 current discharge rate is 0W and new target is 5000W
2026-08-15 13:00:09.153144: Inverter 0 write_and_poll_value: Wrote 5000 to discharge_rate, successfully now 5000.0
2026-08-15 13:00:14.198877: Inverter 0 write_and_poll_value: Wrote 98.0 to timed_discharge_current, successfully now 98.0
2026-08-15 13:00:14.199047: Inverter 0 setting charging SoC to 100% as per target
2026-08-15 13:00:14.199122: Inverter 0 adjust target SoC for charge to 100% based on requested all inverter SoC 100%
2026-08-15 13:00:14.199233: Inverter 0 Current charge limit is 25% and new target is 100%
2026-08-15 13:00:19.282573: Inverter 0 write_and_poll_value: Wrote 100 to charge_limit, successfully now 100.0
2026-08-15 13:00:19.282849: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:00:19.282919: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:00:19.282952: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:00:19.282979: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:00:19.283004: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:00:19.283029: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:00:19.283059: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:00:19.283193: Inverter 0 Calling service charge_start_service domain charge service_name select/select_option with data {'entity_id': 'select.sunsynk_prog1_charge', 'option': 'Allow Grid & Gen'}
2026-08-15 13:00:19.290854: Inverter 0 Calling service charge_start_service domain charge service_name select/select_option with data {'entity_id': 'select.sunsynk_prog2_charge', 'option': 'Allow Grid & Gen'}
2026-08-15 13:00:19.299479: Inverter 0 Calling service charge_start_service domain charge service_name select/select_option with data {'entity_id': 'select.sunsynk_prog3_charge', 'option': 'Allow Grid & Gen'}
2026-08-15 13:00:19.403337: Inverter 0 Calling service charge_start_service domain charge service_name select/select_option with data {'entity_id': 'select.sunsynk_prog4_charge', 'option': 'Allow Grid & Gen'}
2026-08-15 13:00:19.506919: Inverter 0 Calling service charge_start_service domain charge service_name select/select_option with data {'entity_id': 'select.sunsynk_prog5_charge', 'option': 'Allow Grid & Gen'}
2026-08-15 13:00:19.610360: Inverter 0 Calling service charge_start_service domain charge service_name select/select_option with data {'entity_id': 'select.sunsynk_prog6_charge', 'option': 'Allow Grid & Gen'}
2026-08-15 13:00:19.713880: Inverter 0 Calling service charge_start_service domain charge service_name select/select_option with data {'entity_id': 'select.sunsynk_load_limit', 'option': 'Zero Export'}
2026-08-15 13:00:19.817413: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:00:19.817509: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:00:19.817543: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:00:19.817570: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:00:19.817596: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:00:19.817622: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:00:19.817653: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:00:19.817675: Inverter 0 count register writes 2
2026-08-15 13:00:19.836413: Will not recompute the plan, it is 5.0 minutes old and max age is 10 minutes
2026-08-15 13:00:19.843673: Total inverter register writes now 825
2026-08-15 13:00:19.880095: Info: Completed run status Charging
2026-08-15 13:00:20.173706: Info: record_status Charging target 25%-100.0%
2026-08-15 13:00:20.180989: Saved current settings to /config/predbat_config.json
2026-08-15 13:00:20.181339: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 13:00:57.303986: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 13:00:57.304305: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 13:00:57.304342: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 13:00:57.304528: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 13:00:57.304569: Note: Inverter does not support discharge freeze - disabled
2026-08-15 13:00:57.304590: Note: Inverter does not support charge freeze - disabled
2026-08-15 13:00:57.304608: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 13:01:17.802974: Info: HAHistory: Pruning history data started.
2026-08-15 13:01:17.806754: Info: HAHistory: Pruning history data completed.
2026-08-15 13:03:11.560401: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 13:03:11.560664: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 13:03:11.560743: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 13:03:11.560905: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 13:03:11.560995: Note: Inverter does not support discharge freeze - disabled
2026-08-15 13:03:11.561047: Note: Inverter does not support charge freeze - disabled
2026-08-15 13:03:11.561102: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 13:05:00.767246: --------------- PredBat - update at 2026-08-15 13:05:00+01:00 with clock skew 0 minutes, minutes now 785
2026-08-15 13:05:00.768056: Saved current settings to /config/predbat_config.json
2026-08-15 13:05:00.768249: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 50.0 minutes
2026-08-15 13:05:00.768339: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.1, latest beta is v8.48.1
2026-08-15 13:05:00.768430: Autoupdate: Currently up to date
2026-08-15 13:05:00.788699: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 13:05:00.788833: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 13:05:00.789083: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 13:05:00.789640: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 13:05:00.789776: Predbat mode is set to Control charge & discharge
2026-08-15 13:05:00.988387: Found 21602 load_today datapoints going back 27 days
2026-08-15 13:05:00.988546: Using load_power data to fill gaps in load_today data
2026-08-15 13:05:01.892440: Processing 721 30-minute periods for power integration
2026-08-15 13:05:02.084088: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 13:05:02.084246: Car charging hold False, threshold 6.0kWh
2026-08-15 13:05:02.084298: Current data so far today: load 7.8kWh, import 11.7kWh, export 0.0kWh, PV 0kWh
2026-08-15 13:05:02.099903: Cars: SoC: [11.134]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 13:05:02.100731: Standing charge is set to 49.98p
2026-08-15 13:05:02.144917: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 13:05:02.145049: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 13:05:02.145285: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 145.0 minutes
2026-08-15 13:05:02.145709: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 145.0 minutes
2026-08-15 13:05:02.151972: Loaded 95 datapoints of futurerate analysis
2026-08-15 13:05:02.251966: Predicted future rates: ['08-15 00:00:00 => 28.9 / 20.01', '08-15 01:00:00 => 27.54 / 19.31', '08-15 02:00:00 => 26.52 / 18.8', '08-15 03:00:00 => 25.99 / 18.53', '08-15 04:00:00 => 25.8 / 18.43', '08-15 05:00:00 => 25.96 / 18.51', '08-15 06:00:00 => 25.55 / 18.3', '08-15 07:00:00 => 24.33 / 17.68', '08-15 08:00:00 => 23.03 / 17.01', '08-15 09:00:00 => 22.05 / 16.51', '08-15 10:00:00 => 20.43 / 15.68', '08-15 11:00:00 => 18.01 / 14.45', '08-15 12:00:00 => 16.37 / 13.61', '08-15 13:00:00 => 15.76 / 13.3', '08-15 14:00:00 => 15.35 / 13.09', '08-15 15:00:00 => 15.86 / 13.35', '08-15 16:00:00 => 32.89 / 16.13', '08-15 17:00:00 => 38.02 / 18.75', '08-15 18:00:00 => 42.36 / 20.96', '08-15 19:00:00 => 31.09 / 21.13', '08-15 20:00:00 => 31.64 / 21.41', '08-15 21:00:00 => 31.64 / 21.41', '08-15 22:00:00 => 30.58 / 20.87', '08-15 23:00:00 => 29.37 / 20.25', '08-16 00:00:00 => 28.83 / 19.97', '08-16 01:00:00 => 27.73 / 19.41', '08-16 02:00:00 => 26.76 / 18.92', '08-16 03:00:00 => 26.39 / 18.73', '08-16 04:00:00 => 26.33 / 18.7', '08-16 05:00:00 => 26.23 / 18.65', '08-16 06:00:00 => 25.99 / 18.53', '08-16 07:00:00 => 25.64 / 18.35', '08-16 08:00:00 => 24.84 / 17.94', '08-16 09:00:00 => 24.26 / 17.64', '08-16 10:00:00 => 24.8 / 17.92', '08-16 11:00:00 => 24.71 / 17.87', '08-16 12:00:00 => 23.79 / 17.4']
2026-08-15 13:05:02.320308: Rate min forward looking: now 13.77p at end of forecast 21.29p
2026-08-15 13:05:02.321521: Import rates: min 13.77p, max 46.05p, average 27.92p
2026-08-15 13:05:02.367400: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 13:05:02.368130: Rate thresholds (for charge/export) are import 45.55p (0.0p), export -0.1p (0.0p)
2026-08-15 13:05:02.369511: High export rate found rates in range 99p to -99p
2026-08-15 13:05:02.464929: Low Import rate found rates in range 13.77p to 44.19p
2026-08-15 13:05:02.465157: Car 0 charging is not planned as it is not plugged in
2026-08-15 13:05:02.478320: Battery level now 4.0kWh, -1hr ago 3.74kWh, at midnight 1.66kWh, battery value change in the last hour 3.03p, change today 27.72p, rate_forward 11.83p
2026-08-15 13:05:02.478719: Last hour: net energy 0.6kWh, import 0.6kWh, export 0.0kWh, car 0kWh, load 0.4kWh, net cost 9.96p, import 9.96p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 13:05:02.536410: Today's energy total net 11.7kWh, import 11.7kWh, export 0.0kWh, cost 319.4p, import 269.41p, export 0.0p, carbon 0.0kg
2026-08-15 13:05:02.536562: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 13:05:02.624092: Using weighted-bucket historical load forecast over 14 days
2026-08-15 13:05:02.652594: Today's load divergence 99.27%, in-day adjustment 119.53%, damping 0.95x, yesterday 143.77% today 99.31% blend 45.49%
2026-08-15 13:05:02.652691: Today's predicted so far 8.06kWh with 0.0kWh car/iBoost excluded, 5.89kWh import ignored, and 8.06kWh forecast extra.
2026-08-15 13:05:02.652723: Today's actual load so far 7.95kWh with 0.0kWh car/iBoost excluded, and 5.89kWh import ignored.
2026-08-15 13:05:02.686658: Inverter 0: Type SK Sunsynk
2026-08-15 13:05:02.686759: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 13:05:02.686956: Reserve min: 7%, battery_min: 7%
2026-08-15 13:05:02.687034: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 13:05:02.687321: Inverter 0 SoC: 4.09kW 26%, current charge rate 5000W, current discharge rate 5250W, current battery power -4494W, current battery voltage 51.2V, grid power -5267W, load power 271W, PV Power 0W
2026-08-15 13:05:02.687504: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 13:05:02.687595: Inverter 0 scheduled charge enable is True
2026-08-15 13:05:02.687639: Inverter 0 charge windows currently [{'start': 630, 'end': 960, 'average': 0}, {'start': 2070, 'end': 2400, 'average': 0}, {'start': 3510, 'end': 3840, 'average': 0}]
2026-08-15 13:05:02.687749: Inverter 0 Charge settings: 08-15 10:30:00-08-15 16:00:00, limit 100.0%, power 5.0kW
2026-08-15 13:05:02.687916: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 13:05:02.687959: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 13:05:02.687997: Inverter 0 scheduled discharge enable is False
2026-08-15 13:05:02.688139: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 13:05:02.688178: Inverter 0 discharge windows currently []
2026-08-15 13:05:02.688201: Note: Inverter does not support discharge freeze - disabled
2026-08-15 13:05:02.688219: Note: Inverter does not support charge freeze - disabled
2026-08-15 13:05:02.688236: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 13:05:02.754808: Dynamic load last period 0.60kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 13:05:02.754919: Plan was last updated on 2026-08-15 12:55:00+01:00 and is now 10.0 minutes old
2026-08-15 13:05:02.755129: Best charge window [ 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 13:00:00 - 16-08 18:30:00 @ 41.93p 100%, 16-08 19:00:00 - 17-08 12:30:00 @ 24.11p 100% ]
2026-08-15 13:05:02.755172: Best export window [  ]
2026-08-15 13:05:02.755959: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 13:05:02.759116: Load divergence over 8.0 hours mean 526.44W, min 294.0W, max 1564.2W, std dev 264.29W, divergence 25.1%
2026-08-15 13:05:02.777459: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 13:05:02.777585: LoadML is_calculating False
2026-08-15 13:05:02.777660: Creating pool of 12 processes to match your CPU count
2026-08-15 13:05:02.906052: predict base end_record 08-16 13:10:00, final soc 14.74kWh, metric 972.64p, metric_keep 0kWh, min_soc 2.32kWh @ 08-16 10:25:00, load 25.06kWh, PV 0.0kWh
2026-08-15 13:05:03.044539: Battery has 48.0 hours left - now at 4.09kWh
2026-08-15 13:05:03.092495: predict base10 end_record 08-16 13:10:00, final soc 11.47kWh, metric 915.96p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 10:25:00, load 25.88kWh, PV 0.0kWh
2026-08-15 13:05:03.177003: predict best10 end_record 08-16 13:10:00, final soc 1.77kWh, metric 662.96p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 10:25:00, load 25.88kWh, PV 0.0kWh
2026-08-15 13:05:03.271689: predict best end_record 08-16 13:10:00, final soc 1.9kWh, metric 641.34p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 11:45:00, load 25.06kWh, PV 0.0kWh
2026-08-15 13:05:03.271789: Saving plan best values to HA entities
2026-08-15 13:05:03.461221: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0
2026-08-15 13:05:03.468154: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 13:05:03.475192: Best charging limit SoC's [16.0, 16.0, 16.0]kWh, export []kWh gives import battery 15.96kWh, house 1.07kWh, export 0.0kWh, metric 641.34p, metric10 662.96p
2026-08-15 13:05:03.561324: Marginal costs baseline metric (no standing charge): 591.3558
2026-08-15 13:05:03.846987: Marginal energy costs matrix computed: min=15.48 max=32.22
2026-08-15 13:05:03.926475: Rate array import [{'start': 785, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 15.9p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1950, 'rate': 'expensive', 'range': '(24.8p - 32.9p)'}, {'start': 1950, 'end': 2040, 'rate': 'cheap', 'range': '(24.2p - 24.3p)'}, {'start': 2040, 'end': 2130, 'rate': 'expensive', 'range': '(24.7p - 25.4p)'}, {'start': 2130, 'end': 2230, 'rate': 'cheap', 'range': '(23.1p - 24.0p)'}] export [{'start': 785, 'end': 2230, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 13:05:03.927001: - Your estimated bill for today is £5.44 and tomorrow is £6.78
2026-08-15 13:05:03.927077: - Import rates are cheap (13.8p - 15.9p) for the next 2  hours and then expensive (33.1p) for the next 1 hour.
2026-08-15 13:05:03.927107: - The battery is currently at 26% and is charging to 100% for the next 2  hours.
2026-08-15 13:05:03.927125: - For the next 48 hours there will be no solar generation.
2026-08-15 13:05:03.927143: - You will run out of battery in 22 hours.
2026-08-15 13:05:03.927160: 
2026-08-15 13:05:03.987625: Plan calculation took 1.23 seconds
2026-08-15 13:05:03.991514: No high rate period found
2026-08-15 13:05:04.050821: Import threshold used for optimisation was 16.34p
2026-08-15 13:05:04.112140: Low import rate windows [0: 08-15 13:00:00 - 08-15 13:30:00 @ 15.36, 1: 08-15 13:30:00 - 08-15 14:00:00 @ 15.74, 2: 08-15 14:00:00 - 08-15 14:30:00 @ 14.57, 3: 08-15 14:30:00 - 08-15 15:00:00 @ 13.77, 4: 08-15 15:00:00 - 08-15 15:30:00 @ 15.02, 5: 08-15 15:30:00 - 08-15 16:00:00 @ 15.87, 6: 08-15 16:00:00 - 08-15 16:30:00 @ 33.13, 7: 08-15 16:30:00 - 08-15 17:00:00 @ 33.13, 8: 08-15 17:00:00 - 08-15 17:30:00 @ 38.46, 9: 08-15 17:30:00 - 08-15 18:00:00 @ 40.44, 10: 08-15 18:00:00 - 08-15 18:30:00 @ 41.55, 11: 08-15 18:30:00 - 08-15 19:00:00 @ 43.82, 12: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 13: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 14: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 15: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 16: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 17: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 18: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 19: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 20: 08-15 23:00:00 - 08-15 23:30:00 @ 29.37, 21: 08-15 23:30:00 - 08-16 00:00:00 @ 29.2, 22: 08-16 00:00:00 - 08-16 00:30:00 @ 28.83, 23: 08-16 00:30:00 - 08-16 01:00:00 @ 28.46, 24: 08-16 01:00:00 - 08-16 01:30:00 @ 27.73, 25: 08-16 01:30:00 - 08-16 02:00:00 @ 27.01, 26: 08-16 02:00:00 - 08-16 02:30:00 @ 26.76, 27: 08-16 02:30:00 - 08-16 03:00:00 @ 26.48, 28: 08-16 03:00:00 - 08-16 03:30:00 @ 26.39, 29: 08-16 03:30:00 - 08-16 04:00:00 @ 26.27, 30: 08-16 04:00:00 - 08-16 04:30:00 @ 26.33, 31: 08-16 04:30:00 - 08-16 05:00:00 @ 26.37, 32: 08-16 05:00:00 - 08-16 05:30:00 @ 26.23, 33: 08-16 05:30:00 - 08-16 06:00:00 @ 26.07, 34: 08-16 06:00:00 - 08-16 06:30:00 @ 25.99, 35: 08-16 06:30:00 - 08-16 07:00:00 @ 25.92, 36: 08-16 07:00:00 - 08-16 07:30:00 @ 25.64, 37: 08-16 07:30:00 - 08-16 08:00:00 @ 25.39, 38: 08-16 08:00:00 - 08-16 08:30:00 @ 24.84, 39: 08-16 08:30:00 - 08-16 09:00:00 @ 24.28, 40: 08-16 09:00:00 - 08-16 09:30:00 @ 24.26, 41: 08-16 09:30:00 - 08-16 10:00:00 @ 24.22, 42: 08-16 10:00:00 - 08-16 10:30:00 @ 24.8, 43: 08-16 10:30:00 - 08-16 11:00:00 @ 25.37, 44: 08-16 11:00:00 - 08-16 11:30:00 @ 24.71, 45: 08-16 11:30:00 - 08-16 12:00:00 @ 24.02, 46: 08-16 12:00:00 - 08-16 12:30:00 @ 23.79, 47: 08-16 12:30:00 - 08-16 13:00:00 @ 23.55, 48: 08-16 13:00:00 - 08-16 13:30:00 @ 23.14, 49: 08-16 13:30:00 - 08-16 14:00:00 @ 22.71, 50: 08-16 14:00:00 - 08-16 14:30:00 @ 22.01, 51: 08-16 14:30:00 - 08-16 15:00:00 @ 21.29, 52: 08-16 15:00:00 - 08-16 15:30:00 @ 22.01, 53: 08-16 15:30:00 - 08-16 16:00:00 @ 22.71, 54: 08-16 16:00:00 - 08-16 16:30:00 @ 37.14, 55: 08-16 16:30:00 - 08-16 17:00:00 @ 37.91, 56: 08-16 17:00:00 - 08-16 17:30:00 @ 40.13, 57: 08-16 17:30:00 - 08-16 18:00:00 @ 42.36, 58: 08-16 18:00:00 - 08-16 18:30:00 @ 44.19, 59: 08-16 19:00:00 - 08-16 19:30:00 @ 33.04, 60: 08-16 19:30:00 - 08-16 20:00:00 @ 33.71, 61: 08-16 20:00:00 - 08-16 20:30:00 @ 33.83, 62: 08-16 20:30:00 - 08-16 21:00:00 @ 33.94, 63: 08-16 21:00:00 - 08-16 21:30:00 @ 33.73, 64: 08-16 21:30:00 - 08-16 22:00:00 @ 33.53, 65: 08-16 22:00:00 - 08-16 22:30:00 @ 32.36, 66: 08-16 22:30:00 - 08-16 23:00:00 @ 31.17, 67: 08-16 23:00:00 - 08-16 23:30:00 @ 29.37, 68: 08-16 23:30:00 - 08-17 00:00:00 @ 29.2, 69: 08-17 00:00:00 - 08-17 00:30:00 @ 28.83, 70: 08-17 00:30:00 - 08-17 01:00:00 @ 28.46, 71: 08-17 01:00:00 - 08-17 01:30:00 @ 27.73, 72: 08-17 01:30:00 - 08-17 02:00:00 @ 27.01, 73: 08-17 02:00:00 - 08-17 02:30:00 @ 26.76, 74: 08-17 02:30:00 - 08-17 03:00:00 @ 26.48, 75: 08-17 03:00:00 - 08-17 03:30:00 @ 26.39, 76: 08-17 03:30:00 - 08-17 04:00:00 @ 26.27, 77: 08-17 04:00:00 - 08-17 04:30:00 @ 26.33, 78: 08-17 04:30:00 - 08-17 05:00:00 @ 26.37, 79: 08-17 05:00:00 - 08-17 05:30:00 @ 26.23, 80: 08-17 05:30:00 - 08-17 06:00:00 @ 26.07, 81: 08-17 06:00:00 - 08-17 06:30:00 @ 25.99, 82: 08-17 06:30:00 - 08-17 07:00:00 @ 25.92, 83: 08-17 07:00:00 - 08-17 07:30:00 @ 25.64, 84: 08-17 07:30:00 - 08-17 08:00:00 @ 25.39, 85: 08-17 08:00:00 - 08-17 08:30:00 @ 24.84, 86: 08-17 08:30:00 - 08-17 09:00:00 @ 24.28, 87: 08-17 09:00:00 - 08-17 09:30:00 @ 24.26, 88: 08-17 09:30:00 - 08-17 10:00:00 @ 24.22, 89: 08-17 10:00:00 - 08-17 10:30:00 @ 24.8, 90: 08-17 10:30:00 - 08-17 11:00:00 @ 25.37, 91: 08-17 11:00:00 - 08-17 11:30:00 @ 24.71, 92: 08-17 11:30:00 - 08-17 12:00:00 @ 24.02, 93: 08-17 12:00:00 - 08-17 12:30:00 @ 23.79, 94: 08-17 12:30:00 - 08-17 13:00:00 @ 23.55, 95: 08-17 13:00:00 - 08-17 13:30:00 @ 23.14]
2026-08-15 13:05:04.121673: Include original charge start 08-15 10:30:00, keeping this instead of new start 08-15 13:00:00
2026-08-15 13:05:04.121856: Inverter 0 Charge window will be: 2026-08-15 10:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 26%, target 100%
2026-08-15 13:05:04.122084: Inverter 0 Target SoC 100%, (this inverter 100%), battery temperature 20°C, select charge rate 5000W (real 5000W), current charge rate 5000W
2026-08-15 13:05:04.122329: Adjust idle time, charge 10:30:00-16:00:00 discharge 00:00:00-00:00:00
2026-08-15 13:05:04.122586: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 13:05:04.122694: No export window planned
2026-08-15 13:05:04.122814: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 13:05:04.122850: Adjust idle time, charge 10:30:00-16:00:00 discharge 00:00:00-00:00:00
2026-08-15 13:05:04.122989: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 13:05:04.123129: Inverter 0 setting charging SoC to 100% as per target
2026-08-15 13:05:04.123177: Inverter 0 adjust target SoC for charge to 100% based on requested all inverter SoC 100%
2026-08-15 13:05:04.123238: Inverter 0 Current Target SoC is 100%, already at target
2026-08-15 13:05:04.123401: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:05:04.123453: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:05:04.123486: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:05:04.123516: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:05:04.123540: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:05:04.123570: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:05:04.123595: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:05:04.123646: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 13:05:04.123681: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 13:05:04.123711: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 13:05:04.123758: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 13:05:04.123795: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 13:05:04.123865: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 13:05:04.123934: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 13:05:04.124021: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:05:04.124052: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:05:04.124105: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:05:04.124133: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:05:04.124165: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:05:04.124190: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:05:04.124219: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:05:04.124241: Inverter 0 count register writes 0
2026-08-15 13:05:04.144193: Will recompute the plan as it is now 10.0 minutes old and will exceed the max age of 10 minutes before the next run
2026-08-15 13:05:04.144381: Recompute is saving previous plan...
2026-08-15 13:05:04.147741: Best charge window [ 15-08 13:00:00 - 15-08 13:30:00 @ 15.36p 100%, 15-08 13:30:00 - 15-08 14:00:00 @ 15.74p 100%, 15-08 14:00:00 - 15-08 14:30:00 @ 14.57p 100%, 15-08 14:30:00 - 15-08 15:00:00 @ 13.77p 100%, 15-08 15:00:00 - 15-08 15:30:00 @ 15.02p 100%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 100%, 15-08 16:00:00 - 15-08 16:30:00 @ 33.13p 100%, 15-08 16:30:00 - 15-08 17:00:00 @ 33.13p 100%, 15-08 17:00:00 - 15-08 17:30:00 @ 38.46p 100%, 15-08 17:30:00 - 15-08 18:00:00 @ 40.44p 100%, 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 100%, 15-08 18:30:00 - 15-08 19:00:00 @ 43.82p 100%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 100%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 100%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 100%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 100%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 100%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 100%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 100%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 100%, 15-08 23:00:00 - 15-08 23:30:00 @ 29.37p 100%, 15-08 23:30:00 - 16-08 00:00:00 @ 29.2p 100%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.83p 100%, 16-08 00:30:00 - 16-08 01:00:00 @ 28.46p 100%, 16-08 01:00:00 - 16-08 01:30:00 @ 27.73p 100%, 16-08 01:30:00 - 16-08 02:00:00 @ 27.01p 100%, 16-08 02:00:00 - 16-08 02:30:00 @ 26.76p 100%, 16-08 02:30:00 - 16-08 03:00:00 @ 26.48p 100%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.39p 100%, 16-08 03:30:00 - 16-08 04:00:00 @ 26.27p 100%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.33p 100%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.37p 100%, 16-08 05:00:00 - 16-08 05:30:00 @ 26.23p 100%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.07p 100%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.99p 100%, 16-08 06:30:00 - 16-08 07:00:00 @ 25.92p 100%, 16-08 07:00:00 - 16-08 07:30:00 @ 25.64p 100%, 16-08 07:30:00 - 16-08 08:00:00 @ 25.39p 100%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.84p 100%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.28p 100%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.26p 100%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.22p 100%, 16-08 10:00:00 - 16-08 10:30:00 @ 24.8p 100%, 16-08 10:30:00 - 16-08 11:00:00 @ 25.37p 100%, 16-08 11:00:00 - 16-08 11:30:00 @ 24.71p 100%, 16-08 11:30:00 - 16-08 12:00:00 @ 24.02p 100%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.79p 100%, 16-08 12:30:00 - 16-08 13:00:00 @ 23.55p 100%, 16-08 13:00:00 - 16-08 13:30:00 @ 23.14p 100%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.71p 100%, 16-08 14:00:00 - 16-08 14:30:00 @ 22.01p 100%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.29p 100%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.01p 100%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.71p 100%, 16-08 16:00:00 - 16-08 16:30:00 @ 37.14p 100%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.91p 100%, 16-08 17:00:00 - 16-08 17:30:00 @ 40.13p 100%, 16-08 17:30:00 - 16-08 18:00:00 @ 42.36p 100%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.19p 100%, 16-08 19:00:00 - 16-08 19:30:00 @ 33.04p 100%, 16-08 19:30:00 - 16-08 20:00:00 @ 33.71p 100%, 16-08 20:00:00 - 16-08 20:30:00 @ 33.83p 100%, 16-08 20:30:00 - 16-08 21:00:00 @ 33.94p 100%, 16-08 21:00:00 - 16-08 21:30:00 @ 33.73p 100%, 16-08 21:30:00 - 16-08 22:00:00 @ 33.53p 100%, 16-08 22:00:00 - 16-08 22:30:00 @ 32.36p 100%, 16-08 22:30:00 - 16-08 23:00:00 @ 31.17p 100%, 16-08 23:00:00 - 16-08 23:30:00 @ 29.37p 100%, 16-08 23:30:00 - 17-08 00:00:00 @ 29.2p 100%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.83p 100%, 17-08 00:30:00 - 17-08 01:00:00 @ 28.46p 100%, 17-08 01:00:00 - 17-08 01:30:00 @ 27.73p 100%, 17-08 01:30:00 - 17-08 02:00:00 @ 27.01p 100%, 17-08 02:00:00 - 17-08 02:30:00 @ 26.76p 100%, 17-08 02:30:00 - 17-08 03:00:00 @ 26.48p 100%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.39p 100%, 17-08 03:30:00 - 17-08 04:00:00 @ 26.27p 100%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.33p 100%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.37p 100%, 17-08 05:00:00 - 17-08 05:30:00 @ 26.23p 100%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.07p 100%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.99p 100%, 17-08 06:30:00 - 17-08 07:00:00 @ 25.92p 100%, 17-08 07:00:00 - 17-08 07:30:00 @ 25.64p 100%, 17-08 07:30:00 - 17-08 08:00:00 @ 25.39p 100%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.84p 100%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.28p 100%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.26p 100%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.22p 100%, 17-08 10:00:00 - 17-08 10:30:00 @ 24.8p 100%, 17-08 10:30:00 - 17-08 11:00:00 @ 25.37p 100%, 17-08 11:00:00 - 17-08 11:30:00 @ 24.71p 100%, 17-08 11:30:00 - 17-08 12:00:00 @ 24.02p 100%, 17-08 12:00:00 - 17-08 12:30:00 @ 23.79p 100%, 17-08 12:30:00 - 17-08 13:00:00 @ 23.55p 100%, 17-08 13:00:00 - 17-08 13:30:00 @ 23.14p 100% ]
2026-08-15 13:05:04.147843: Best export window [  ]
2026-08-15 13:05:04.148705: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 13:05:04.151836: Load divergence over 8.0 hours mean 526.44W, min 294.0W, max 1564.2W, std dev 264.29W, divergence 25.1%
2026-08-15 13:05:04.169158: Calculating data from yesterday for savings calculation
2026-08-15 13:05:04.182582: Yesterday basic charge window best: [{'start': 840, 'end': 870, 'average': 21.7}] charge limit best: [16.0] based on max charge slots 1
2026-08-15 13:05:04.228981: predict yesterday end_record 08-16 00:00:00, final soc 1.12kWh, metric 843.63p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 00:00:00, load 26.2kWh, PV 0.0kWh
2026-08-15 13:05:04.243107: predict yesterday10 end_record 08-16 00:00:00, final soc 1.12kWh, metric 847.91p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 00:00:00, load 26.2kWh, PV 0.0kWh
2026-08-15 13:05:04.262401: predict yesterday end_record 08-16 00:00:00, final soc 1.12kWh, metric 843.63p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 00:00:00, load 26.2kWh, PV 0.0kWh
2026-08-15 13:05:04.302271: Yesterday: Predbat disabled was £8.44 (adjusted £8.23) vs £7.38 (adjusted £7.05), saving £1.05 (adjusted £1.18) with import 26.54kWh, export 0.0kWh, battery_cycle 4.66kWh, start_soc 1.12kWh,  final_soc 1.12kWh and battery_value 20.49kWh
2026-08-15 13:05:04.383229: predict yesterday end_record 08-16 00:00:00, final soc 0.0kWh, metric 849.84p, metric_keep 0kWh, min_soc 0kWh @ 08-15 00:00:00, load 26.2kWh, PV 0.0kWh
2026-08-15 13:05:04.383396: Yesterday: No Battery/PV system cost predicted was £8.5 (adjusted £8.5) vs £7.38 (adjusted £7.05), saving £1.12 (adjusted £1.44) with import 26.2kWh, export 0kWh and battery_value 0.0kWh
2026-08-15 13:05:04.395998: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 13:05:04.397245: LoadML is_calculating False
2026-08-15 13:05:04.397367: Creating pool of 12 processes to match your CPU count
2026-08-15 13:05:04.502290: Calculate Best options: mode(Control charge & discharge), calculate_export_oncharge(False), calculate_export_on_pv(True), set_export_freeze_only(False), set_discharge_during_charge(True), combine_charge_slots(False), combine_export_slots(False), combine_rate_threshold(0.0), best_soc_min(0.0 kWh), best_soc_max(0.0 kWh), best_soc_keep(0.0 kWh), inverter_loss(4%), battery_loss(3%), battery_loss_discharge (3%), inverter_hybrid(True), metric_min_improvement(0.0p), metric_min_improvement_export(0.1p), metric_min_improvement_export_freeze(0.1p), metric_battery_cycle(0.0p/kWh), metric_battery_value_scaling(1.0 x) 
2026-08-15 13:05:04.504678: Optimise levels pass started at 2026-08-15 13:05:04
2026-08-15 13:05:04.504749: Optimise all windows, total charge 95 export 1
2026-08-15 13:05:05.248835: >> Region optimisation pass width 960 gives best_metric 948.53p, best_cost 962.17p, best_cycle 45.35kWh, best_import 33.22kWh
2026-08-15 13:05:05.638588: >> Region optimisation pass width 480 gives best_metric 948.53p, best_cost 962.17p, best_cycle 45.35kWh, best_import 33.22kWh
2026-08-15 13:05:06.171862: >> Region optimisation pass width 240 gives best_metric 948.53p, best_cost 962.17p, best_cycle 45.35kWh, best_import 33.22kWh
2026-08-15 13:05:07.243288: >> Region optimisation pass width 120 gives best_metric 948.53p, best_cost 962.17p, best_cycle 45.35kWh, best_import 33.22kWh
2026-08-15 13:05:07.243668: Calculated end_record as 08-16 13:30:00 based on best_price 22.71p, next_charge_start 08-15 13:30:00, max_windows 49
2026-08-15 13:05:07.243742: Optimise levels pass ended at 2026-08-15 13:05:07, duration 2.7 seconds tried 270 combinations
2026-08-15 13:05:07.243820: Set best_price_charge_level 24.4p, best_price_export_level 0p, best_price_charge 22.71p, best_cost_export 0p, best_metric 948.53p, best_keep 0kWh, best_cycle 45.35kWh, best_carbon 0kg, best_import 33.22kWh
2026-08-15 13:05:07.262279: Starting detailed optimisation end_record 08-16 13:30:00, best_price_charge 22.71p, best_price_export 0p. lowest_price_charge 13.77p with charge limits [16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0]kWh and export limits []kWh
2026-08-15 13:05:10.990976: Tweak plan optimisation started metric 560.99p, cost 577.79p
2026-08-15 13:05:11.266202: Tweak optimisation finished metric 560.99p, cost 577.79p, metric_keep 0kWh, cycle 26.71kWh, carbon 0kg, import 16.44kWh, changed 8 window(s)
2026-08-15 13:05:11.285474: Swap charge optimisation started metric 560.99p, cost 577.79p, min_improvement_swap 0.1p
2026-08-15 13:05:14.352836: Swap charge optimisation finished metric 560.99p, cost 577.79p
2026-08-15 13:05:14.460143: Pruned 3 dead plan slot(s) in 9 trial(s), nominal metric 557.31p -> 557.31p, plan now metric 561.08p, cost 577.79p, cycle 26.71kWh, import 16.44kWh
2026-08-15 13:05:14.472101: Raw charge windows [ 15-08 13:00:00 - 15-08 13:30:00 @ 15.36p 100%, 15-08 13:30:00 - 15-08 14:00:00 @ 15.74p 100%, 15-08 14:00:00 - 15-08 14:30:00 @ 14.57p 100%, 15-08 14:30:00 - 15-08 15:00:00 @ 13.77p 100%, 15-08 15:00:00 - 15-08 15:30:00 @ 15.02p 100%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 100%, 15-08 16:00:00 - 15-08 16:30:00 @ 33.13p 0%, 15-08 16:30:00 - 15-08 17:00:00 @ 33.13p 0%, 15-08 17:00:00 - 15-08 17:30:00 @ 38.46p 0%, 15-08 17:30:00 - 15-08 18:00:00 @ 40.44p 0%, 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 0%, 15-08 18:30:00 - 15-08 19:00:00 @ 43.82p 0%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 0%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 0%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 0%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 0%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 29.37p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 29.2p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.83p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 28.46p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 27.73p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 27.01p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 26.76p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 26.48p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.39p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 26.27p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.33p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.37p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 26.23p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.07p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.99p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 25.92p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 25.64p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 25.39p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.84p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.28p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.26p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.22p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 24.8p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 25.37p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 24.71p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 24.02p 0%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.79p 0%, 16-08 12:30:00 - 16-08 13:00:00 @ 23.55p 0%, 16-08 13:00:00 - 16-08 13:30:00 @ 23.14p 0%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.71p 100%, 16-08 14:00:00 - 16-08 14:30:00 @ 22.01p 100%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.29p 100%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.01p 100%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.71p 100%, 16-08 16:00:00 - 16-08 16:30:00 @ 37.14p 100%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.91p 100%, 16-08 17:00:00 - 16-08 17:30:00 @ 40.13p 100%, 16-08 17:30:00 - 16-08 18:00:00 @ 42.36p 100%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.19p 100%, 16-08 19:00:00 - 16-08 19:30:00 @ 33.04p 100%, 16-08 19:30:00 - 16-08 20:00:00 @ 33.71p 100%, 16-08 20:00:00 - 16-08 20:30:00 @ 33.83p 100%, 16-08 20:30:00 - 16-08 21:00:00 @ 33.94p 100%, 16-08 21:00:00 - 16-08 21:30:00 @ 33.73p 100%, 16-08 21:30:00 - 16-08 22:00:00 @ 33.53p 100%, 16-08 22:00:00 - 16-08 22:30:00 @ 32.36p 100%, 16-08 22:30:00 - 16-08 23:00:00 @ 31.17p 100%, 16-08 23:00:00 - 16-08 23:30:00 @ 29.37p 100%, 16-08 23:30:00 - 17-08 00:00:00 @ 29.2p 100%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.83p 100%, 17-08 00:30:00 - 17-08 01:00:00 @ 28.46p 100%, 17-08 01:00:00 - 17-08 01:30:00 @ 27.73p 100%, 17-08 01:30:00 - 17-08 02:00:00 @ 27.01p 100%, 17-08 02:00:00 - 17-08 02:30:00 @ 26.76p 100%, 17-08 02:30:00 - 17-08 03:00:00 @ 26.48p 100%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.39p 100%, 17-08 03:30:00 - 17-08 04:00:00 @ 26.27p 100%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.33p 100%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.37p 100%, 17-08 05:00:00 - 17-08 05:30:00 @ 26.23p 100%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.07p 100%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.99p 100%, 17-08 06:30:00 - 17-08 07:00:00 @ 25.92p 100%, 17-08 07:00:00 - 17-08 07:30:00 @ 25.64p 100%, 17-08 07:30:00 - 17-08 08:00:00 @ 25.39p 100%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.84p 100%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.28p 100%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.26p 100%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.22p 100%, 17-08 10:00:00 - 17-08 10:30:00 @ 24.8p 100%, 17-08 10:30:00 - 17-08 11:00:00 @ 25.37p 100%, 17-08 11:00:00 - 17-08 11:30:00 @ 24.71p 100%, 17-08 11:30:00 - 17-08 12:00:00 @ 24.02p 100%, 17-08 12:00:00 - 17-08 12:30:00 @ 23.79p 100%, 17-08 12:30:00 - 17-08 13:00:00 @ 23.55p 100%, 17-08 13:00:00 - 17-08 13:30:00 @ 23.14p 100% ] reserve 1.12
2026-08-15 13:05:14.472688: Unclipped charge windows [ 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 13:30:00 - 16-08 18:30:00 @ 41.93p 100%, 16-08 19:00:00 - 17-08 13:30:00 @ 23.48p 100% ] reserve 1.12
2026-08-15 13:05:14.472879: Unfiltered charge windows [ 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 13:30:00 - 16-08 18:30:00 @ 41.93p 100%, 16-08 19:00:00 - 17-08 13:30:00 @ 23.48p 100% ] reserve 1.12
2026-08-15 13:05:14.473105: Filtered charge windows [ 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 13:30:00 - 16-08 18:30:00 @ 41.93p 100%, 16-08 19:00:00 - 17-08 13:30:00 @ 23.48p 100% ] reserve 1.12
2026-08-15 13:05:14.508928: Previous plan best metric is 575.87 (cost 635.64) and new plan best metric is 560.99 (cost 577.79)
2026-08-15 13:05:14.509163: New plan metric is significantly better from previous plan, using new plan
2026-08-15 13:05:14.509199: Plan valid is now true after recompute was False
2026-08-15 13:05:14.540189: predict base end_record 08-16 13:30:00, final soc 16.0kWh, metric 1009.63p, metric_keep 0kWh, min_soc 2.32kWh @ 08-16 10:25:00, load 25.31kWh, PV 0.0kWh
2026-08-15 13:05:14.650448: Battery has 48.0 hours left - now at 4.09kWh
2026-08-15 13:05:14.694268: predict base10 end_record 08-16 13:30:00, final soc 12.76kWh, metric 954.1p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 10:25:00, load 26.14kWh, PV 0.0kWh
2026-08-15 13:05:14.766526: predict best10 end_record 08-16 13:30:00, final soc 1.12kWh, metric 652.89p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 10:25:00, load 26.14kWh, PV 0.0kWh
2026-08-15 13:05:14.840712: predict best end_record 08-16 13:30:00, final soc 1.12kWh, metric 627.78p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 11:45:00, load 25.31kWh, PV 0.0kWh
2026-08-15 13:05:14.840802: Saving plan best values to HA entities
2026-08-15 13:05:14.979408: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0
2026-08-15 13:05:14.984979: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 13:05:14.990223: Best charging limit SoC's [16.0, 16.0, 16.0]kWh, export []kWh gives import battery 14.99kWh, house 1.45kWh, export 0.0kWh, metric 627.78p, metric10 652.89p
2026-08-15 13:05:15.057864: Marginal costs baseline metric (no standing charge): 577.795
2026-08-15 13:05:15.276171: Marginal energy costs matrix computed: min=15.48 max=32.22
2026-08-15 13:05:15.340091: Rate array import [{'start': 785, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 15.9p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1950, 'rate': 'expensive', 'range': '(24.8p - 32.9p)'}, {'start': 1950, 'end': 2040, 'rate': 'cheap', 'range': '(24.2p - 24.3p)'}, {'start': 2040, 'end': 2130, 'rate': 'expensive', 'range': '(24.7p - 25.4p)'}, {'start': 2130, 'end': 2250, 'rate': 'cheap', 'range': '(23.1p - 24.0p)'}] export [{'start': 785, 'end': 2250, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 13:05:15.340498: - Your estimated bill for today is £5.44 and tomorrow is £7.13
2026-08-15 13:05:15.340543: - Import rates are cheap (13.8p - 15.9p) for the next 2  hours and then expensive (33.1p) for the next 1 hour.
2026-08-15 13:05:15.340566: - The battery is currently at 26% and is charging to 100% for the next 2  hours.
2026-08-15 13:05:15.340585: - For the next 48 hours there will be no solar generation.
2026-08-15 13:05:15.340606: - You will run out of battery in 22 hours.
2026-08-15 13:05:15.340624: 
2026-08-15 13:05:15.393791: Plan calculation took 11.25 seconds
2026-08-15 13:05:15.394304: Inverter 0: Type SK Sunsynk
2026-08-15 13:05:15.394353: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 13:05:15.394662: Reserve min: 7%, battery_min: 7%
2026-08-15 13:05:15.394761: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 13:05:15.395157: Inverter 0 SoC: 4.09kW 26%, current charge rate 5000W, current discharge rate 5250W, current battery power -4494W, current battery voltage 51.2V, grid power -5267W, load power 271W, PV Power 0W
2026-08-15 13:05:15.395396: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 13:05:15.395507: Inverter 0 scheduled charge enable is True
2026-08-15 13:05:15.395565: Inverter 0 charge windows currently [{'start': 630, 'end': 960, 'average': 0}, {'start': 2070, 'end': 2400, 'average': 0}, {'start': 3510, 'end': 3840, 'average': 0}]
2026-08-15 13:05:15.395669: Inverter 0 Charge settings: 08-15 10:30:00-08-15 16:00:00, limit 100.0%, power 5.0kW
2026-08-15 13:05:15.395791: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 13:05:15.395828: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 13:05:15.395864: Inverter 0 scheduled discharge enable is False
2026-08-15 13:05:15.395983: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 13:05:15.396020: Inverter 0 discharge windows currently []
2026-08-15 13:05:15.396043: Note: Inverter does not support discharge freeze - disabled
2026-08-15 13:05:15.396079: Note: Inverter does not support charge freeze - disabled
2026-08-15 13:05:15.396098: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 13:05:15.454474: Include original charge start 08-15 10:30:00, keeping this instead of new start 08-15 13:00:00
2026-08-15 13:05:15.454600: Inverter 0 Charge window will be: 2026-08-15 10:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 26%, target 100%
2026-08-15 13:05:15.454733: Inverter 0 Target SoC 100%, (this inverter 100%), battery temperature 20°C, select charge rate 5000W (real 5000W), current charge rate 5000W
2026-08-15 13:05:15.454920: Adjust idle time, charge 10:30:00-16:00:00 discharge 00:00:00-00:00:00
2026-08-15 13:05:15.455153: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 13:05:15.455270: No export window planned
2026-08-15 13:05:15.455403: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 13:05:15.455439: Adjust idle time, charge 10:30:00-16:00:00 discharge 00:00:00-00:00:00
2026-08-15 13:05:15.455573: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 13:05:15.455683: Inverter 0 setting charging SoC to 100% as per target
2026-08-15 13:05:15.455725: Inverter 0 adjust target SoC for charge to 100% based on requested all inverter SoC 100%
2026-08-15 13:05:15.455774: Inverter 0 Current Target SoC is 100%, already at target
2026-08-15 13:05:15.455884: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:05:15.455957: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:05:15.455985: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:05:15.456011: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:05:15.456035: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:05:15.456060: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:05:15.456108: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:05:15.456153: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 13:05:15.456206: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 13:05:15.456243: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 13:05:15.456270: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 13:05:15.456304: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 13:05:15.456337: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 13:05:15.456363: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 13:05:15.456420: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:05:15.456454: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:05:15.456479: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:05:15.456508: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:05:15.456532: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:05:15.456559: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:05:15.456583: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:05:15.456604: Inverter 0 count register writes 0
2026-08-15 13:05:15.479057: Total inverter register writes now 825
2026-08-15 13:05:15.516827: Info: Completed run status Charging
2026-08-15 13:05:15.524294: Info: record_status Charging target 26%-100.0%
2026-08-15 13:05:15.531583: Saved current settings to /config/predbat_config.json
2026-08-15 13:05:15.531907: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 13:05:56.650862: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 13:05:56.651197: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 13:05:56.651246: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 13:05:56.651386: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 13:05:56.651425: Note: Inverter does not support discharge freeze - disabled
2026-08-15 13:05:56.651447: Note: Inverter does not support charge freeze - disabled
2026-08-15 13:05:56.651464: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 13:07:56.875263: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 13:07:56.875495: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 13:07:56.875549: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 13:07:56.875698: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 13:07:56.875756: Note: Inverter does not support discharge freeze - disabled
2026-08-15 13:07:56.875774: Note: Inverter does not support charge freeze - disabled
2026-08-15 13:07:56.875788: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 13:09:57.093786: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 13:09:57.094076: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 13:09:57.094144: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 13:09:57.094290: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 13:09:57.094345: Note: Inverter does not support discharge freeze - disabled
2026-08-15 13:09:57.094368: Note: Inverter does not support charge freeze - disabled
2026-08-15 13:09:57.094391: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 13:09:57.610125: ML Component: Fetching 28 days of load history from ['sensor.sunsynk_day_load_energy']
2026-08-15 13:09:58.487109: Processing 1297 30-minute periods for power integration
2026-08-15 13:09:58.568376: ML Component: Car charging hold False, car energy reported load False
2026-08-15 13:09:58.646805: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 13:09:58.728616: ML Temperature data points: 48176
2026-08-15 13:09:58.940532: ML Component: Fetched 7776 load data points, 27.0 days of history
2026-08-15 13:09:58.976081: ML Component: Data fetch completed, load data age 57.0 days, 16422 data points
2026-08-15 13:09:58.976200: ML Component: No training needed, model age is 1.88 hours
2026-08-15 13:09:58.976256: ML Component: Generating predictions load data age 57.0 days, 16422 data points
2026-08-15 13:09:59.087742: ML Predictor: Starting autoregressive prediction loop for 576 steps (48.0 hours), prev_energy value 0.034 max_dow {0: 0.09899687486626207, 1: 0.10616562486607581, 2: 0.12051249983031302, 3: 0.1227374996352941, 4: 0.1701437503574416, 5: 0.0974166672406925, 6: 0.11264999961592256}
2026-08-15 13:10:00.185241: --------------- PredBat - update at 2026-08-15 13:10:00+01:00 with clock skew 0 minutes, minutes now 790
2026-08-15 13:10:00.186423: Saved current settings to /config/predbat_config.json
2026-08-15 13:10:00.186627: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 55.0 minutes
2026-08-15 13:10:00.186821: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.1, latest beta is v8.48.1
2026-08-15 13:10:00.187044: Autoupdate: Currently up to date
2026-08-15 13:10:00.222988: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 13:10:00.223506: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 13:10:00.223722: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 13:10:00.224263: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 13:10:00.224414: Predbat mode is set to Control charge & discharge
2026-08-15 13:10:00.602186: Found 21602 load_today datapoints going back 27 days
2026-08-15 13:10:00.602431: Using load_power data to fill gaps in load_today data
2026-08-15 13:10:02.828898: Processing 721 30-minute periods for power integration
2026-08-15 13:10:03.423106: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 13:10:03.423280: Car charging hold False, threshold 6.0kWh
2026-08-15 13:10:03.423331: Current data so far today: load 7.7kWh, import 12.0kWh, export 0.0kWh, PV 0kWh
2026-08-15 13:10:03.465382: Cars: SoC: [11.134]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 13:10:03.466026: Standing charge is set to 49.98p
2026-08-15 13:10:03.661817: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 13:10:03.661933: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 13:10:03.662233: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 150.0 minutes
2026-08-15 13:10:03.662767: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 150.0 minutes
2026-08-15 13:10:03.669040: Loaded 95 datapoints of futurerate analysis
2026-08-15 13:10:03.937827: Predicted future rates: ['08-15 00:00:00 => 28.9 / 20.01', '08-15 01:00:00 => 27.54 / 19.31', '08-15 02:00:00 => 26.52 / 18.8', '08-15 03:00:00 => 25.99 / 18.53', '08-15 04:00:00 => 25.8 / 18.43', '08-15 05:00:00 => 25.96 / 18.51', '08-15 06:00:00 => 25.55 / 18.3', '08-15 07:00:00 => 24.33 / 17.68', '08-15 08:00:00 => 23.03 / 17.01', '08-15 09:00:00 => 22.05 / 16.51', '08-15 10:00:00 => 20.43 / 15.68', '08-15 11:00:00 => 18.01 / 14.45', '08-15 12:00:00 => 16.37 / 13.61', '08-15 13:00:00 => 15.76 / 13.3', '08-15 14:00:00 => 15.35 / 13.09', '08-15 15:00:00 => 15.86 / 13.35', '08-15 16:00:00 => 32.89 / 16.13', '08-15 17:00:00 => 38.02 / 18.75', '08-15 18:00:00 => 42.36 / 20.96', '08-15 19:00:00 => 31.09 / 21.13', '08-15 20:00:00 => 31.64 / 21.41', '08-15 21:00:00 => 31.64 / 21.41', '08-15 22:00:00 => 30.58 / 20.87', '08-15 23:00:00 => 29.37 / 20.25', '08-16 00:00:00 => 28.83 / 19.97', '08-16 01:00:00 => 27.73 / 19.41', '08-16 02:00:00 => 26.76 / 18.92', '08-16 03:00:00 => 26.39 / 18.73', '08-16 04:00:00 => 26.33 / 18.7', '08-16 05:00:00 => 26.23 / 18.65', '08-16 06:00:00 => 25.99 / 18.53', '08-16 07:00:00 => 25.64 / 18.35', '08-16 08:00:00 => 24.84 / 17.94', '08-16 09:00:00 => 24.26 / 17.64', '08-16 10:00:00 => 24.8 / 17.92', '08-16 11:00:00 => 24.71 / 17.87', '08-16 12:00:00 => 23.79 / 17.4']
2026-08-15 13:10:04.135930: Rate min forward looking: now 13.77p at end of forecast 21.29p
2026-08-15 13:10:04.136463: Import rates: min 13.77p, max 46.05p, average 27.93p
2026-08-15 13:10:04.260295: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 13:10:04.260431: Rate thresholds (for charge/export) are import 45.55p (0.0p), export -0.1p (0.0p)
2026-08-15 13:10:04.261552: High export rate found rates in range 99p to -99p
2026-08-15 13:10:04.532877: Low Import rate found rates in range 13.77p to 44.19p
2026-08-15 13:10:04.533036: Car 0 charging is not planned as it is not plugged in
2026-08-15 13:10:04.562019: Battery level now 4.09kWh, -1hr ago 3.74kWh, at midnight 1.66kWh, battery value change in the last hour 4.07p, change today 28.76p, rate_forward 11.83p
2026-08-15 13:10:04.562434: Last hour: net energy 0.85kWh, import 0.85kWh, export 0.0kWh, car 0kWh, load 0.27kWh, net cost 13.84p, import 13.84p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 13:10:04.673894: Today's energy total net 12.0kWh, import 12.0kWh, export 0.0kWh, cost 324.15p, import 274.17p, export 0.0p, carbon 0.0kg
2026-08-15 13:10:04.674044: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 13:10:04.830570: Using weighted-bucket historical load forecast over 14 days
2026-08-15 13:10:04.843433: ML Component: Generated 576 predictions (total 33.59 kWh over 48h)
2026-08-15 13:10:04.884362: Today's load divergence 98.23%, in-day adjustment 118.83%, damping 0.95x, yesterday 143.77% today 98.32% blend 45.14%
2026-08-15 13:10:04.898191: Today's predicted so far 8.08kWh with 0.0kWh car/iBoost excluded, 6.27kWh import ignored, and 8.08kWh forecast extra.
2026-08-15 13:10:04.898254: Today's actual load so far 7.81kWh with 0.0kWh car/iBoost excluded, and 6.27kWh import ignored.
2026-08-15 13:10:04.897886: ML Component: Prediction cycle completed
2026-08-15 13:10:04.997512: Inverter 0: Type SK Sunsynk
2026-08-15 13:10:04.997607: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 13:10:04.997821: Reserve min: 7%, battery_min: 7%
2026-08-15 13:10:04.998503: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 13:10:04.998893: Inverter 0 SoC: 4.09kW 26%, current charge rate 5000W, current discharge rate 5250W, current battery power -4501W, current battery voltage 51.2V, grid power -5310W, load power 313W, PV Power 0W
2026-08-15 13:10:04.999080: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 13:10:04.999305: Inverter 0 scheduled charge enable is True
2026-08-15 13:10:04.999373: Inverter 0 charge windows currently [{'start': 630, 'end': 960, 'average': 0}, {'start': 2070, 'end': 2400, 'average': 0}, {'start': 3510, 'end': 3840, 'average': 0}]
2026-08-15 13:10:04.999478: Inverter 0 Charge settings: 08-15 10:30:00-08-15 16:00:00, limit 100.0%, power 5.0kW
2026-08-15 13:10:05.000081: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 13:10:05.000135: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 13:10:05.000181: Inverter 0 scheduled discharge enable is False
2026-08-15 13:10:05.000348: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 13:10:05.000387: Inverter 0 discharge windows currently []
2026-08-15 13:10:05.000410: Note: Inverter does not support discharge freeze - disabled
2026-08-15 13:10:05.000429: Note: Inverter does not support charge freeze - disabled
2026-08-15 13:10:05.000449: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 13:10:05.029575: ML Component: Saved 16422 steps (57 days) of history to /config/predbat_ml_history.npz
2026-08-15 13:10:05.081019: Dynamic load last period 0.00kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 13:10:05.081165: Plan was last updated on 2026-08-15 13:05:00+01:00 and is now 5.0 minutes old
2026-08-15 13:10:05.081351: Best charge window [ 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 13:30:00 - 16-08 18:30:00 @ 41.93p 100%, 16-08 19:00:00 - 17-08 13:30:00 @ 23.48p 100% ]
2026-08-15 13:10:05.081391: Best export window [  ]
2026-08-15 13:10:05.082335: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 13:10:05.085587: Load divergence over 8.0 hours mean 520.61W, min 291.6W, max 1657.2W, std dev 258.22W, divergence 24.8%
2026-08-15 13:10:05.105208: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 13:10:05.105324: LoadML is_calculating False
2026-08-15 13:10:05.105404: Creating pool of 12 processes to match your CPU count
2026-08-15 13:10:05.229949: predict base end_record 08-16 13:35:00, final soc 16.0kWh, metric 1014.24p, metric_keep 0kWh, min_soc 2.33kWh @ 08-16 10:25:00, load 25.16kWh, PV 0.0kWh
2026-08-15 13:10:05.353333: Battery has 48.0 hours left - now at 4.09kWh
2026-08-15 13:10:05.390231: predict base10 end_record 08-16 13:35:00, final soc 13.08kWh, metric 968.42p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 10:00:00, load 25.99kWh, PV 0.0kWh
2026-08-15 13:10:05.467130: predict best10 end_record 08-16 13:35:00, final soc 1.44kWh, metric 667.21p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 10:00:00, load 25.99kWh, PV 0.0kWh
2026-08-15 13:10:05.550900: predict best end_record 08-16 13:35:00, final soc 1.51kWh, metric 641.8p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 11:45:00, load 25.16kWh, PV 0.0kWh
2026-08-15 13:10:05.550998: Saving plan best values to HA entities
2026-08-15 13:10:05.732233: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0
2026-08-15 13:10:05.742499: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 13:10:05.749147: Best charging limit SoC's [16.0, 16.0, 16.0]kWh, export []kWh gives import battery 15.38kWh, house 1.44kWh, export 0.0kWh, metric 641.8p, metric10 667.21p
2026-08-15 13:10:05.831892: Marginal costs baseline metric (no standing charge): 591.8174
2026-08-15 13:10:06.110503: Marginal energy costs matrix computed: min=15.42 max=32.35
2026-08-15 13:10:06.193677: Rate array import [{'start': 790, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 15.9p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1950, 'rate': 'expensive', 'range': '(24.8p - 32.9p)'}, {'start': 1950, 'end': 2040, 'rate': 'cheap', 'range': '(24.2p - 24.3p)'}, {'start': 2040, 'end': 2130, 'rate': 'expensive', 'range': '(24.7p - 25.4p)'}, {'start': 2130, 'end': 2255, 'rate': 'cheap', 'range': '(22.7p - 24.0p)'}] export [{'start': 790, 'end': 2255, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 13:10:06.194138: - Your estimated bill for today is £5.47 and tomorrow is £7.15
2026-08-15 13:10:06.194185: - Import rates are cheap (13.8p - 15.9p) for the next 2 and three quarters hours and then expensive (33.1p) for the next 1 hour.
2026-08-15 13:10:06.194207: - The battery is currently at 26% and is charging to 100% for the next 2 and three quarters hours.
2026-08-15 13:10:06.194225: - For the next 48 hours there will be no solar generation.
2026-08-15 13:10:06.194242: - You will run out of battery in 22 hours.
2026-08-15 13:10:06.194262: 
2026-08-15 13:10:06.250540: Plan calculation took 1.17 seconds
2026-08-15 13:10:06.254312: No high rate period found
2026-08-15 13:10:06.306528: Import threshold used for optimisation was 24.28p
2026-08-15 13:10:06.366590: Low import rate windows [0: 08-15 13:00:00 - 08-15 13:30:00 @ 15.36, 1: 08-15 13:30:00 - 08-15 14:00:00 @ 15.74, 2: 08-15 14:00:00 - 08-15 14:30:00 @ 14.57, 3: 08-15 14:30:00 - 08-15 15:00:00 @ 13.77, 4: 08-15 15:00:00 - 08-15 15:30:00 @ 15.02, 5: 08-15 15:30:00 - 08-15 16:00:00 @ 15.87, 6: 08-15 16:00:00 - 08-15 16:30:00 @ 33.13, 7: 08-15 16:30:00 - 08-15 17:00:00 @ 33.13, 8: 08-15 17:00:00 - 08-15 17:30:00 @ 38.46, 9: 08-15 17:30:00 - 08-15 18:00:00 @ 40.44, 10: 08-15 18:00:00 - 08-15 18:30:00 @ 41.55, 11: 08-15 18:30:00 - 08-15 19:00:00 @ 43.82, 12: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 13: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 14: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 15: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 16: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 17: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 18: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 19: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 20: 08-15 23:00:00 - 08-15 23:30:00 @ 29.37, 21: 08-15 23:30:00 - 08-16 00:00:00 @ 29.2, 22: 08-16 00:00:00 - 08-16 00:30:00 @ 28.83, 23: 08-16 00:30:00 - 08-16 01:00:00 @ 28.46, 24: 08-16 01:00:00 - 08-16 01:30:00 @ 27.73, 25: 08-16 01:30:00 - 08-16 02:00:00 @ 27.01, 26: 08-16 02:00:00 - 08-16 02:30:00 @ 26.76, 27: 08-16 02:30:00 - 08-16 03:00:00 @ 26.48, 28: 08-16 03:00:00 - 08-16 03:30:00 @ 26.39, 29: 08-16 03:30:00 - 08-16 04:00:00 @ 26.27, 30: 08-16 04:00:00 - 08-16 04:30:00 @ 26.33, 31: 08-16 04:30:00 - 08-16 05:00:00 @ 26.37, 32: 08-16 05:00:00 - 08-16 05:30:00 @ 26.23, 33: 08-16 05:30:00 - 08-16 06:00:00 @ 26.07, 34: 08-16 06:00:00 - 08-16 06:30:00 @ 25.99, 35: 08-16 06:30:00 - 08-16 07:00:00 @ 25.92, 36: 08-16 07:00:00 - 08-16 07:30:00 @ 25.64, 37: 08-16 07:30:00 - 08-16 08:00:00 @ 25.39, 38: 08-16 08:00:00 - 08-16 08:30:00 @ 24.84, 39: 08-16 08:30:00 - 08-16 09:00:00 @ 24.28, 40: 08-16 09:00:00 - 08-16 09:30:00 @ 24.26, 41: 08-16 09:30:00 - 08-16 10:00:00 @ 24.22, 42: 08-16 10:00:00 - 08-16 10:30:00 @ 24.8, 43: 08-16 10:30:00 - 08-16 11:00:00 @ 25.37, 44: 08-16 11:00:00 - 08-16 11:30:00 @ 24.71, 45: 08-16 11:30:00 - 08-16 12:00:00 @ 24.02, 46: 08-16 12:00:00 - 08-16 12:30:00 @ 23.79, 47: 08-16 12:30:00 - 08-16 13:00:00 @ 23.55, 48: 08-16 13:00:00 - 08-16 13:30:00 @ 23.14, 49: 08-16 13:30:00 - 08-16 14:00:00 @ 22.71, 50: 08-16 14:00:00 - 08-16 14:30:00 @ 22.01, 51: 08-16 14:30:00 - 08-16 15:00:00 @ 21.29, 52: 08-16 15:00:00 - 08-16 15:30:00 @ 22.01, 53: 08-16 15:30:00 - 08-16 16:00:00 @ 22.71, 54: 08-16 16:00:00 - 08-16 16:30:00 @ 37.14, 55: 08-16 16:30:00 - 08-16 17:00:00 @ 37.91, 56: 08-16 17:00:00 - 08-16 17:30:00 @ 40.13, 57: 08-16 17:30:00 - 08-16 18:00:00 @ 42.36, 58: 08-16 18:00:00 - 08-16 18:30:00 @ 44.19, 59: 08-16 19:00:00 - 08-16 19:30:00 @ 33.04, 60: 08-16 19:30:00 - 08-16 20:00:00 @ 33.71, 61: 08-16 20:00:00 - 08-16 20:30:00 @ 33.83, 62: 08-16 20:30:00 - 08-16 21:00:00 @ 33.94, 63: 08-16 21:00:00 - 08-16 21:30:00 @ 33.73, 64: 08-16 21:30:00 - 08-16 22:00:00 @ 33.53, 65: 08-16 22:00:00 - 08-16 22:30:00 @ 32.36, 66: 08-16 22:30:00 - 08-16 23:00:00 @ 31.17, 67: 08-16 23:00:00 - 08-16 23:30:00 @ 29.37, 68: 08-16 23:30:00 - 08-17 00:00:00 @ 29.2, 69: 08-17 00:00:00 - 08-17 00:30:00 @ 28.83, 70: 08-17 00:30:00 - 08-17 01:00:00 @ 28.46, 71: 08-17 01:00:00 - 08-17 01:30:00 @ 27.73, 72: 08-17 01:30:00 - 08-17 02:00:00 @ 27.01, 73: 08-17 02:00:00 - 08-17 02:30:00 @ 26.76, 74: 08-17 02:30:00 - 08-17 03:00:00 @ 26.48, 75: 08-17 03:00:00 - 08-17 03:30:00 @ 26.39, 76: 08-17 03:30:00 - 08-17 04:00:00 @ 26.27, 77: 08-17 04:00:00 - 08-17 04:30:00 @ 26.33, 78: 08-17 04:30:00 - 08-17 05:00:00 @ 26.37, 79: 08-17 05:00:00 - 08-17 05:30:00 @ 26.23, 80: 08-17 05:30:00 - 08-17 06:00:00 @ 26.07, 81: 08-17 06:00:00 - 08-17 06:30:00 @ 25.99, 82: 08-17 06:30:00 - 08-17 07:00:00 @ 25.92, 83: 08-17 07:00:00 - 08-17 07:30:00 @ 25.64, 84: 08-17 07:30:00 - 08-17 08:00:00 @ 25.39, 85: 08-17 08:00:00 - 08-17 08:30:00 @ 24.84, 86: 08-17 08:30:00 - 08-17 09:00:00 @ 24.28, 87: 08-17 09:00:00 - 08-17 09:30:00 @ 24.26, 88: 08-17 09:30:00 - 08-17 10:00:00 @ 24.22, 89: 08-17 10:00:00 - 08-17 10:30:00 @ 24.8, 90: 08-17 10:30:00 - 08-17 11:00:00 @ 25.37, 91: 08-17 11:00:00 - 08-17 11:30:00 @ 24.71, 92: 08-17 11:30:00 - 08-17 12:00:00 @ 24.02, 93: 08-17 12:00:00 - 08-17 12:30:00 @ 23.79, 94: 08-17 12:30:00 - 08-17 13:00:00 @ 23.55, 95: 08-17 13:00:00 - 08-17 13:30:00 @ 23.14]
2026-08-15 13:10:06.374995: Include original charge start 08-15 10:30:00, keeping this instead of new start 08-15 13:00:00
2026-08-15 13:10:06.375165: Inverter 0 Charge window will be: 2026-08-15 10:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 26%, target 100%
2026-08-15 13:10:06.375415: Inverter 0 Target SoC 100%, (this inverter 100%), battery temperature 20°C, select charge rate 5000W (real 5000W), current charge rate 5000W
2026-08-15 13:10:06.375765: Adjust idle time, charge 10:30:00-16:00:00 discharge 00:00:00-00:00:00
2026-08-15 13:10:06.376135: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 13:10:06.376286: No export window planned
2026-08-15 13:10:06.376498: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 13:10:06.376554: Adjust idle time, charge 10:30:00-16:00:00 discharge 00:00:00-00:00:00
2026-08-15 13:10:06.376772: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 13:10:06.376985: Inverter 0 setting charging SoC to 100% as per target
2026-08-15 13:10:06.377107: Inverter 0 adjust target SoC for charge to 100% based on requested all inverter SoC 100%
2026-08-15 13:10:06.377219: Inverter 0 Current Target SoC is 100%, already at target
2026-08-15 13:10:06.377418: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:10:06.377494: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:10:06.377553: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:10:06.377610: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:10:06.377643: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:10:06.377694: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:10:06.377767: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:10:06.377836: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 13:10:06.377893: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 13:10:06.377955: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 13:10:06.378003: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 13:10:06.378078: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 13:10:06.378135: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 13:10:06.378179: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 13:10:06.378291: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:10:06.378340: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:10:06.378376: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:10:06.378430: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:10:06.378498: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:10:06.378544: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:10:06.378595: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:10:06.378645: Inverter 0 count register writes 0
2026-08-15 13:10:06.395920: Will not recompute the plan, it is 5.0 minutes old and max age is 10 minutes
2026-08-15 13:10:06.401820: Total inverter register writes now 825
2026-08-15 13:10:06.437863: Info: Completed run status Charging
2026-08-15 13:10:06.444255: Info: record_status Charging target 26%-100.0%
2026-08-15 13:10:06.451675: Saved current settings to /config/predbat_config.json
2026-08-15 13:10:06.452087: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 13:10:41.560578: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 13:10:41.560866: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 13:10:41.560937: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 13:10:41.561210: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 13:10:41.561256: Note: Inverter does not support discharge freeze - disabled
2026-08-15 13:10:41.561279: Note: Inverter does not support charge freeze - disabled
2026-08-15 13:10:41.561296: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 13:12:41.783647: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 13:12:41.783989: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 13:12:41.784051: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 13:12:41.784292: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 13:12:41.784360: Note: Inverter does not support discharge freeze - disabled
2026-08-15 13:12:41.784403: Note: Inverter does not support charge freeze - disabled
2026-08-15 13:12:41.784422: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 13:14:42.007296: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 13:14:42.007587: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 13:14:42.007633: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 13:14:42.007768: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 13:14:42.007808: Note: Inverter does not support discharge freeze - disabled
2026-08-15 13:14:42.007828: Note: Inverter does not support charge freeze - disabled
2026-08-15 13:14:42.007846: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 13:15:00.107114: --------------- PredBat - update at 2026-08-15 13:15:00+01:00 with clock skew 0 minutes, minutes now 795
2026-08-15 13:15:00.107943: Saved current settings to /config/predbat_config.json
2026-08-15 13:15:00.108095: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 60.0 minutes
2026-08-15 13:15:00.108246: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.1, latest beta is v8.48.1
2026-08-15 13:15:00.108383: Autoupdate: Currently up to date
2026-08-15 13:15:00.126719: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 13:15:00.126848: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 13:15:00.127036: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 13:15:00.127627: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 13:15:00.127755: Predbat mode is set to Control charge & discharge
2026-08-15 13:15:00.299987: Found 21602 load_today datapoints going back 27 days
2026-08-15 13:15:00.300164: Using load_power data to fill gaps in load_today data
2026-08-15 13:15:01.110409: Processing 721 30-minute periods for power integration
2026-08-15 13:15:01.268296: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 13:15:01.268419: Car charging hold False, threshold 6.0kWh
2026-08-15 13:15:01.268459: Current data so far today: load 7.7kWh, import 12.0kWh, export 0.0kWh, PV 0kWh
2026-08-15 13:15:01.281025: Cars: SoC: [11.134]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 13:15:01.281561: Standing charge is set to 49.98p
2026-08-15 13:15:01.327145: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 13:15:01.327253: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 13:15:01.327543: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 155.0 minutes
2026-08-15 13:15:01.328005: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 155.0 minutes
2026-08-15 13:15:01.334634: Loaded 95 datapoints of futurerate analysis
2026-08-15 13:15:01.416357: Predicted future rates: ['08-15 00:00:00 => 28.9 / 20.01', '08-15 01:00:00 => 27.54 / 19.31', '08-15 02:00:00 => 26.52 / 18.8', '08-15 03:00:00 => 25.99 / 18.53', '08-15 04:00:00 => 25.8 / 18.43', '08-15 05:00:00 => 25.96 / 18.51', '08-15 06:00:00 => 25.55 / 18.3', '08-15 07:00:00 => 24.33 / 17.68', '08-15 08:00:00 => 23.03 / 17.01', '08-15 09:00:00 => 22.05 / 16.51', '08-15 10:00:00 => 20.43 / 15.68', '08-15 11:00:00 => 18.01 / 14.45', '08-15 12:00:00 => 16.37 / 13.61', '08-15 13:00:00 => 15.76 / 13.3', '08-15 14:00:00 => 15.35 / 13.09', '08-15 15:00:00 => 15.86 / 13.35', '08-15 16:00:00 => 32.89 / 16.13', '08-15 17:00:00 => 38.02 / 18.75', '08-15 18:00:00 => 42.36 / 20.96', '08-15 19:00:00 => 31.09 / 21.13', '08-15 20:00:00 => 31.64 / 21.41', '08-15 21:00:00 => 31.64 / 21.41', '08-15 22:00:00 => 30.58 / 20.87', '08-15 23:00:00 => 29.37 / 20.25', '08-16 00:00:00 => 28.83 / 19.97', '08-16 01:00:00 => 27.73 / 19.41', '08-16 02:00:00 => 26.76 / 18.92', '08-16 03:00:00 => 26.39 / 18.73', '08-16 04:00:00 => 26.33 / 18.7', '08-16 05:00:00 => 26.23 / 18.65', '08-16 06:00:00 => 25.99 / 18.53', '08-16 07:00:00 => 25.64 / 18.35', '08-16 08:00:00 => 24.84 / 17.94', '08-16 09:00:00 => 24.26 / 17.64', '08-16 10:00:00 => 24.8 / 17.92', '08-16 11:00:00 => 24.71 / 17.87', '08-16 12:00:00 => 23.79 / 17.4']
2026-08-15 13:15:01.467261: Rate min forward looking: now 13.77p at end of forecast 21.29p
2026-08-15 13:15:01.467601: Import rates: min 13.77p, max 46.05p, average 27.95p
2026-08-15 13:15:01.502494: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 13:15:01.502606: Rate thresholds (for charge/export) are import 45.55p (0.0p), export -0.1p (0.0p)
2026-08-15 13:15:01.503735: High export rate found rates in range 99p to -99p
2026-08-15 13:15:01.585071: Low Import rate found rates in range 13.77p to 44.19p
2026-08-15 13:15:01.585198: Car 0 charging is not planned as it is not plugged in
2026-08-15 13:15:01.598476: Battery level now 4.09kWh, -1hr ago 3.68kWh, at midnight 1.66kWh, battery value change in the last hour 4.83p, change today 28.76p, rate_forward 11.83p
2026-08-15 13:15:01.598856: Last hour: net energy 0.8kWh, import 0.8kWh, export 0.0kWh, car 0kWh, load 0.25kWh, net cost 12.99p, import 12.99p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 13:15:01.651445: Today's energy total net 12.0kWh, import 12.0kWh, export 0.0kWh, cost 324.15p, import 274.17p, export 0.0p, carbon 0.0kg
2026-08-15 13:15:01.651576: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 13:15:01.723476: Using weighted-bucket historical load forecast over 14 days
2026-08-15 13:15:01.748082: Today's load divergence 97.75%, in-day adjustment 118.42%, damping 0.95x, yesterday 143.77% today 97.86% blend 44.79%
2026-08-15 13:15:01.748170: Today's predicted so far 8.1kWh with 0.0kWh car/iBoost excluded, 6.26kWh import ignored, and 8.1kWh forecast extra.
2026-08-15 13:15:01.748197: Today's actual load so far 7.76kWh with 0.0kWh car/iBoost excluded, and 6.26kWh import ignored.
2026-08-15 13:15:01.781263: Inverter 0: Type SK Sunsynk
2026-08-15 13:15:01.781345: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 13:15:01.781514: Reserve min: 7%, battery_min: 7%
2026-08-15 13:15:01.781580: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 13:15:01.781822: Inverter 0 SoC: 4.42kW 28%, current charge rate 5000W, current discharge rate 5250W, current battery power -4512W, current battery voltage 51.2V, grid power -5274W, load power 277W, PV Power 0W
2026-08-15 13:15:01.781952: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 13:15:01.782026: Inverter 0 scheduled charge enable is True
2026-08-15 13:15:01.782081: Inverter 0 charge windows currently [{'start': 630, 'end': 960, 'average': 0}, {'start': 2070, 'end': 2400, 'average': 0}, {'start': 3510, 'end': 3840, 'average': 0}]
2026-08-15 13:15:01.782159: Inverter 0 Charge settings: 08-15 10:30:00-08-15 16:00:00, limit 100.0%, power 5.0kW
2026-08-15 13:15:01.782259: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 13:15:01.782307: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 13:15:01.782339: Inverter 0 scheduled discharge enable is False
2026-08-15 13:15:01.782440: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 13:15:01.782471: Inverter 0 discharge windows currently []
2026-08-15 13:15:01.782489: Note: Inverter does not support discharge freeze - disabled
2026-08-15 13:15:01.782505: Note: Inverter does not support charge freeze - disabled
2026-08-15 13:15:01.782518: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 13:15:01.837754: Dynamic load last period 0.00kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 13:15:01.837868: Plan was last updated on 2026-08-15 13:05:00+01:00 and is now 10.0 minutes old
2026-08-15 13:15:01.838080: Best charge window [ 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 13:30:00 - 16-08 18:30:00 @ 41.93p 100%, 16-08 19:00:00 - 17-08 13:30:00 @ 23.48p 100% ]
2026-08-15 13:15:01.838119: Best export window [  ]
2026-08-15 13:15:01.839088: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 13:15:01.841595: Load divergence over 8.0 hours mean 512.97W, min 290.4W, max 1507.8W, std dev 250.53W, divergence 24.42%
2026-08-15 13:15:01.856609: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 13:15:01.856710: LoadML is_calculating False
2026-08-15 13:15:01.856769: Creating pool of 12 processes to match your CPU count
2026-08-15 13:15:01.968582: predict base end_record 08-16 13:40:00, final soc 16.0kWh, metric 1008.95p, metric_keep 0kWh, min_soc 2.34kWh @ 08-16 10:25:00, load 25.15kWh, PV 0.0kWh
2026-08-15 13:15:02.087732: Battery has 48.0 hours left - now at 4.42kWh
2026-08-15 13:15:02.124480: predict base10 end_record 08-16 13:40:00, final soc 13.41kWh, metric 970.93p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 10:00:00, load 25.98kWh, PV 0.0kWh
2026-08-15 13:15:02.193901: predict best10 end_record 08-16 13:40:00, final soc 1.77kWh, metric 669.72p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 10:00:00, load 25.98kWh, PV 0.0kWh
2026-08-15 13:15:02.265166: predict best end_record 08-16 13:40:00, final soc 1.9kWh, metric 645.99p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 11:45:00, load 25.15kWh, PV 0.0kWh
2026-08-15 13:15:02.265248: Saving plan best values to HA entities
2026-08-15 13:15:02.421888: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0
2026-08-15 13:15:02.427145: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 13:15:02.431893: Best charging limit SoC's [16.0, 16.0, 16.0]kWh, export []kWh gives import battery 15.42kWh, house 1.43kWh, export 0.0kWh, metric 645.99p, metric10 669.72p
2026-08-15 13:15:02.502500: Marginal costs baseline metric (no standing charge): 596.0022
2026-08-15 13:15:02.720344: Marginal energy costs matrix computed: min=15.35 max=32.5
2026-08-15 13:15:02.795205: Rate array import [{'start': 795, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 15.9p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1950, 'rate': 'expensive', 'range': '(24.8p - 32.9p)'}, {'start': 1950, 'end': 2040, 'rate': 'cheap', 'range': '(24.2p - 24.3p)'}, {'start': 2040, 'end': 2130, 'rate': 'expensive', 'range': '(24.7p - 25.4p)'}, {'start': 2130, 'end': 2260, 'rate': 'cheap', 'range': '(22.7p - 24.0p)'}] export [{'start': 795, 'end': 2260, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 13:15:02.795584: - Your estimated bill for today is £5.40 and tomorrow is £7.16
2026-08-15 13:15:02.795622: - Import rates are cheap (13.8p - 15.9p) for the next 2 and three quarters hours and then expensive (33.1p) for the next 1 hour.
2026-08-15 13:15:02.795656: - The battery is currently at 28% and is charging to 100% for the next 2 and three quarters hours.
2026-08-15 13:15:02.795672: - For the next 48 hours there will be no solar generation.
2026-08-15 13:15:02.795690: - You will run out of battery in 22 hours.
2026-08-15 13:15:02.795705: 
2026-08-15 13:15:02.844934: Plan calculation took 1.01 seconds
2026-08-15 13:15:02.848484: No high rate period found
2026-08-15 13:15:02.897400: Import threshold used for optimisation was 24.28p
2026-08-15 13:15:02.946600: Low import rate windows [0: 08-15 13:00:00 - 08-15 13:30:00 @ 15.36, 1: 08-15 13:30:00 - 08-15 14:00:00 @ 15.74, 2: 08-15 14:00:00 - 08-15 14:30:00 @ 14.57, 3: 08-15 14:30:00 - 08-15 15:00:00 @ 13.77, 4: 08-15 15:00:00 - 08-15 15:30:00 @ 15.02, 5: 08-15 15:30:00 - 08-15 16:00:00 @ 15.87, 6: 08-15 16:00:00 - 08-15 16:30:00 @ 33.13, 7: 08-15 16:30:00 - 08-15 17:00:00 @ 33.13, 8: 08-15 17:00:00 - 08-15 17:30:00 @ 38.46, 9: 08-15 17:30:00 - 08-15 18:00:00 @ 40.44, 10: 08-15 18:00:00 - 08-15 18:30:00 @ 41.55, 11: 08-15 18:30:00 - 08-15 19:00:00 @ 43.82, 12: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 13: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 14: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 15: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 16: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 17: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 18: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 19: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 20: 08-15 23:00:00 - 08-15 23:30:00 @ 29.37, 21: 08-15 23:30:00 - 08-16 00:00:00 @ 29.2, 22: 08-16 00:00:00 - 08-16 00:30:00 @ 28.83, 23: 08-16 00:30:00 - 08-16 01:00:00 @ 28.46, 24: 08-16 01:00:00 - 08-16 01:30:00 @ 27.73, 25: 08-16 01:30:00 - 08-16 02:00:00 @ 27.01, 26: 08-16 02:00:00 - 08-16 02:30:00 @ 26.76, 27: 08-16 02:30:00 - 08-16 03:00:00 @ 26.48, 28: 08-16 03:00:00 - 08-16 03:30:00 @ 26.39, 29: 08-16 03:30:00 - 08-16 04:00:00 @ 26.27, 30: 08-16 04:00:00 - 08-16 04:30:00 @ 26.33, 31: 08-16 04:30:00 - 08-16 05:00:00 @ 26.37, 32: 08-16 05:00:00 - 08-16 05:30:00 @ 26.23, 33: 08-16 05:30:00 - 08-16 06:00:00 @ 26.07, 34: 08-16 06:00:00 - 08-16 06:30:00 @ 25.99, 35: 08-16 06:30:00 - 08-16 07:00:00 @ 25.92, 36: 08-16 07:00:00 - 08-16 07:30:00 @ 25.64, 37: 08-16 07:30:00 - 08-16 08:00:00 @ 25.39, 38: 08-16 08:00:00 - 08-16 08:30:00 @ 24.84, 39: 08-16 08:30:00 - 08-16 09:00:00 @ 24.28, 40: 08-16 09:00:00 - 08-16 09:30:00 @ 24.26, 41: 08-16 09:30:00 - 08-16 10:00:00 @ 24.22, 42: 08-16 10:00:00 - 08-16 10:30:00 @ 24.8, 43: 08-16 10:30:00 - 08-16 11:00:00 @ 25.37, 44: 08-16 11:00:00 - 08-16 11:30:00 @ 24.71, 45: 08-16 11:30:00 - 08-16 12:00:00 @ 24.02, 46: 08-16 12:00:00 - 08-16 12:30:00 @ 23.79, 47: 08-16 12:30:00 - 08-16 13:00:00 @ 23.55, 48: 08-16 13:00:00 - 08-16 13:30:00 @ 23.14, 49: 08-16 13:30:00 - 08-16 14:00:00 @ 22.71, 50: 08-16 14:00:00 - 08-16 14:30:00 @ 22.01, 51: 08-16 14:30:00 - 08-16 15:00:00 @ 21.29, 52: 08-16 15:00:00 - 08-16 15:30:00 @ 22.01, 53: 08-16 15:30:00 - 08-16 16:00:00 @ 22.71, 54: 08-16 16:00:00 - 08-16 16:30:00 @ 37.14, 55: 08-16 16:30:00 - 08-16 17:00:00 @ 37.91, 56: 08-16 17:00:00 - 08-16 17:30:00 @ 40.13, 57: 08-16 17:30:00 - 08-16 18:00:00 @ 42.36, 58: 08-16 18:00:00 - 08-16 18:30:00 @ 44.19, 59: 08-16 19:00:00 - 08-16 19:30:00 @ 33.04, 60: 08-16 19:30:00 - 08-16 20:00:00 @ 33.71, 61: 08-16 20:00:00 - 08-16 20:30:00 @ 33.83, 62: 08-16 20:30:00 - 08-16 21:00:00 @ 33.94, 63: 08-16 21:00:00 - 08-16 21:30:00 @ 33.73, 64: 08-16 21:30:00 - 08-16 22:00:00 @ 33.53, 65: 08-16 22:00:00 - 08-16 22:30:00 @ 32.36, 66: 08-16 22:30:00 - 08-16 23:00:00 @ 31.17, 67: 08-16 23:00:00 - 08-16 23:30:00 @ 29.37, 68: 08-16 23:30:00 - 08-17 00:00:00 @ 29.2, 69: 08-17 00:00:00 - 08-17 00:30:00 @ 28.83, 70: 08-17 00:30:00 - 08-17 01:00:00 @ 28.46, 71: 08-17 01:00:00 - 08-17 01:30:00 @ 27.73, 72: 08-17 01:30:00 - 08-17 02:00:00 @ 27.01, 73: 08-17 02:00:00 - 08-17 02:30:00 @ 26.76, 74: 08-17 02:30:00 - 08-17 03:00:00 @ 26.48, 75: 08-17 03:00:00 - 08-17 03:30:00 @ 26.39, 76: 08-17 03:30:00 - 08-17 04:00:00 @ 26.27, 77: 08-17 04:00:00 - 08-17 04:30:00 @ 26.33, 78: 08-17 04:30:00 - 08-17 05:00:00 @ 26.37, 79: 08-17 05:00:00 - 08-17 05:30:00 @ 26.23, 80: 08-17 05:30:00 - 08-17 06:00:00 @ 26.07, 81: 08-17 06:00:00 - 08-17 06:30:00 @ 25.99, 82: 08-17 06:30:00 - 08-17 07:00:00 @ 25.92, 83: 08-17 07:00:00 - 08-17 07:30:00 @ 25.64, 84: 08-17 07:30:00 - 08-17 08:00:00 @ 25.39, 85: 08-17 08:00:00 - 08-17 08:30:00 @ 24.84, 86: 08-17 08:30:00 - 08-17 09:00:00 @ 24.28, 87: 08-17 09:00:00 - 08-17 09:30:00 @ 24.26, 88: 08-17 09:30:00 - 08-17 10:00:00 @ 24.22, 89: 08-17 10:00:00 - 08-17 10:30:00 @ 24.8, 90: 08-17 10:30:00 - 08-17 11:00:00 @ 25.37, 91: 08-17 11:00:00 - 08-17 11:30:00 @ 24.71, 92: 08-17 11:30:00 - 08-17 12:00:00 @ 24.02, 93: 08-17 12:00:00 - 08-17 12:30:00 @ 23.79, 94: 08-17 12:30:00 - 08-17 13:00:00 @ 23.55, 95: 08-17 13:00:00 - 08-17 13:30:00 @ 23.14]
2026-08-15 13:15:02.962164: Include original charge start 08-15 10:30:00, keeping this instead of new start 08-15 13:00:00
2026-08-15 13:15:02.962291: Inverter 0 Charge window will be: 2026-08-15 10:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 28%, target 100%
2026-08-15 13:15:02.962446: Inverter 0 Target SoC 100%, (this inverter 100%), battery temperature 20°C, select charge rate 5000W (real 5000W), current charge rate 5000W
2026-08-15 13:15:02.962677: Adjust idle time, charge 10:30:00-16:00:00 discharge 00:00:00-00:00:00
2026-08-15 13:15:02.962907: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 13:15:02.962993: No export window planned
2026-08-15 13:15:02.963105: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 13:15:02.963137: Adjust idle time, charge 10:30:00-16:00:00 discharge 00:00:00-00:00:00
2026-08-15 13:15:02.963247: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 13:15:02.963352: Inverter 0 setting charging SoC to 100% as per target
2026-08-15 13:15:02.963387: Inverter 0 adjust target SoC for charge to 100% based on requested all inverter SoC 100%
2026-08-15 13:15:02.963438: Inverter 0 Current Target SoC is 100%, already at target
2026-08-15 13:15:02.963524: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:15:02.963561: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:15:02.963584: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:15:02.963608: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:15:02.963629: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:15:02.963652: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:15:02.963677: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:15:02.963713: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 13:15:02.963736: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 13:15:02.963765: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 13:15:02.963787: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 13:15:02.963814: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 13:15:02.963835: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 13:15:02.963878: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 13:15:02.963933: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:15:02.963957: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:15:02.963976: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:15:02.964004: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:15:02.964024: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:15:02.964043: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:15:02.964074: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:15:02.964094: Inverter 0 count register writes 0
2026-08-15 13:15:02.981698: Will recompute the plan as it is now 10.0 minutes old and will exceed the max age of 10 minutes before the next run
2026-08-15 13:15:02.981889: Recompute is saving previous plan...
2026-08-15 13:15:02.985115: Best charge window [ 15-08 13:00:00 - 15-08 13:30:00 @ 15.36p 100%, 15-08 13:30:00 - 15-08 14:00:00 @ 15.74p 100%, 15-08 14:00:00 - 15-08 14:30:00 @ 14.57p 100%, 15-08 14:30:00 - 15-08 15:00:00 @ 13.77p 100%, 15-08 15:00:00 - 15-08 15:30:00 @ 15.02p 100%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 100%, 15-08 16:00:00 - 15-08 16:30:00 @ 33.13p 100%, 15-08 16:30:00 - 15-08 17:00:00 @ 33.13p 100%, 15-08 17:00:00 - 15-08 17:30:00 @ 38.46p 100%, 15-08 17:30:00 - 15-08 18:00:00 @ 40.44p 100%, 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 100%, 15-08 18:30:00 - 15-08 19:00:00 @ 43.82p 100%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 100%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 100%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 100%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 100%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 100%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 100%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 100%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 100%, 15-08 23:00:00 - 15-08 23:30:00 @ 29.37p 100%, 15-08 23:30:00 - 16-08 00:00:00 @ 29.2p 100%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.83p 100%, 16-08 00:30:00 - 16-08 01:00:00 @ 28.46p 100%, 16-08 01:00:00 - 16-08 01:30:00 @ 27.73p 100%, 16-08 01:30:00 - 16-08 02:00:00 @ 27.01p 100%, 16-08 02:00:00 - 16-08 02:30:00 @ 26.76p 100%, 16-08 02:30:00 - 16-08 03:00:00 @ 26.48p 100%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.39p 100%, 16-08 03:30:00 - 16-08 04:00:00 @ 26.27p 100%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.33p 100%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.37p 100%, 16-08 05:00:00 - 16-08 05:30:00 @ 26.23p 100%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.07p 100%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.99p 100%, 16-08 06:30:00 - 16-08 07:00:00 @ 25.92p 100%, 16-08 07:00:00 - 16-08 07:30:00 @ 25.64p 100%, 16-08 07:30:00 - 16-08 08:00:00 @ 25.39p 100%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.84p 100%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.28p 100%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.26p 100%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.22p 100%, 16-08 10:00:00 - 16-08 10:30:00 @ 24.8p 100%, 16-08 10:30:00 - 16-08 11:00:00 @ 25.37p 100%, 16-08 11:00:00 - 16-08 11:30:00 @ 24.71p 100%, 16-08 11:30:00 - 16-08 12:00:00 @ 24.02p 100%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.79p 100%, 16-08 12:30:00 - 16-08 13:00:00 @ 23.55p 100%, 16-08 13:00:00 - 16-08 13:30:00 @ 23.14p 100%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.71p 100%, 16-08 14:00:00 - 16-08 14:30:00 @ 22.01p 100%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.29p 100%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.01p 100%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.71p 100%, 16-08 16:00:00 - 16-08 16:30:00 @ 37.14p 100%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.91p 100%, 16-08 17:00:00 - 16-08 17:30:00 @ 40.13p 100%, 16-08 17:30:00 - 16-08 18:00:00 @ 42.36p 100%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.19p 100%, 16-08 19:00:00 - 16-08 19:30:00 @ 33.04p 100%, 16-08 19:30:00 - 16-08 20:00:00 @ 33.71p 100%, 16-08 20:00:00 - 16-08 20:30:00 @ 33.83p 100%, 16-08 20:30:00 - 16-08 21:00:00 @ 33.94p 100%, 16-08 21:00:00 - 16-08 21:30:00 @ 33.73p 100%, 16-08 21:30:00 - 16-08 22:00:00 @ 33.53p 100%, 16-08 22:00:00 - 16-08 22:30:00 @ 32.36p 100%, 16-08 22:30:00 - 16-08 23:00:00 @ 31.17p 100%, 16-08 23:00:00 - 16-08 23:30:00 @ 29.37p 100%, 16-08 23:30:00 - 17-08 00:00:00 @ 29.2p 100%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.83p 100%, 17-08 00:30:00 - 17-08 01:00:00 @ 28.46p 100%, 17-08 01:00:00 - 17-08 01:30:00 @ 27.73p 100%, 17-08 01:30:00 - 17-08 02:00:00 @ 27.01p 100%, 17-08 02:00:00 - 17-08 02:30:00 @ 26.76p 100%, 17-08 02:30:00 - 17-08 03:00:00 @ 26.48p 100%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.39p 100%, 17-08 03:30:00 - 17-08 04:00:00 @ 26.27p 100%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.33p 100%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.37p 100%, 17-08 05:00:00 - 17-08 05:30:00 @ 26.23p 100%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.07p 100%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.99p 100%, 17-08 06:30:00 - 17-08 07:00:00 @ 25.92p 100%, 17-08 07:00:00 - 17-08 07:30:00 @ 25.64p 100%, 17-08 07:30:00 - 17-08 08:00:00 @ 25.39p 100%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.84p 100%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.28p 100%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.26p 100%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.22p 100%, 17-08 10:00:00 - 17-08 10:30:00 @ 24.8p 100%, 17-08 10:30:00 - 17-08 11:00:00 @ 25.37p 100%, 17-08 11:00:00 - 17-08 11:30:00 @ 24.71p 100%, 17-08 11:30:00 - 17-08 12:00:00 @ 24.02p 100%, 17-08 12:00:00 - 17-08 12:30:00 @ 23.79p 100%, 17-08 12:30:00 - 17-08 13:00:00 @ 23.55p 100%, 17-08 13:00:00 - 17-08 13:30:00 @ 23.14p 100% ]
2026-08-15 13:15:02.985200: Best export window [  ]
2026-08-15 13:15:02.986100: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 13:15:02.989295: Load divergence over 8.0 hours mean 512.97W, min 290.4W, max 1507.8W, std dev 250.53W, divergence 24.42%
2026-08-15 13:15:03.005263: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 13:15:03.005394: LoadML is_calculating False
2026-08-15 13:15:03.005472: Creating pool of 12 processes to match your CPU count
2026-08-15 13:15:03.094189: Calculate Best options: mode(Control charge & discharge), calculate_export_oncharge(False), calculate_export_on_pv(True), set_export_freeze_only(False), set_discharge_during_charge(True), combine_charge_slots(False), combine_export_slots(False), combine_rate_threshold(0.0), best_soc_min(0.0 kWh), best_soc_max(0.0 kWh), best_soc_keep(0.0 kWh), inverter_loss(4%), battery_loss(3%), battery_loss_discharge (3%), inverter_hybrid(True), metric_min_improvement(0.0p), metric_min_improvement_export(0.1p), metric_min_improvement_export_freeze(0.1p), metric_battery_cycle(0.0p/kWh), metric_battery_value_scaling(1.0 x) 
2026-08-15 13:15:03.096170: Optimise levels pass started at 2026-08-15 13:15:03
2026-08-15 13:15:03.096229: Optimise all windows, total charge 95 export 1
2026-08-15 13:15:03.743499: >> Region optimisation pass width 960 gives best_metric 948.39p, best_cost 961.76p, best_cycle 45.0kWh, best_import 32.8kWh
2026-08-15 13:15:04.083636: >> Region optimisation pass width 480 gives best_metric 948.39p, best_cost 961.76p, best_cycle 45.0kWh, best_import 32.8kWh
2026-08-15 13:15:04.586499: >> Region optimisation pass width 240 gives best_metric 948.39p, best_cost 961.76p, best_cycle 45.0kWh, best_import 32.8kWh
2026-08-15 13:15:05.429909: ML Component: Fetching 28 days of load history from ['sensor.sunsynk_day_load_energy']
2026-08-15 13:15:05.948541: >> Region optimisation pass width 120 gives best_metric 948.39p, best_cost 961.76p, best_cycle 45.0kWh, best_import 32.8kWh
2026-08-15 13:15:05.954091: Calculated end_record as 08-16 13:30:00 based on best_price 22.71p, next_charge_start 08-15 13:30:00, max_windows 49
2026-08-15 13:15:05.959338: Optimise levels pass ended at 2026-08-15 13:15:05, duration 2.9 seconds tried 270 combinations
2026-08-15 13:15:05.964782: Set best_price_charge_level 24.4p, best_price_export_level 0p, best_price_charge 22.71p, best_cost_export 0p, best_metric 948.39p, best_keep 0kWh, best_cycle 45.0kWh, best_carbon 0kg, best_import 32.8kWh
2026-08-15 13:15:06.016450: Starting detailed optimisation end_record 08-16 13:30:00, best_price_charge 22.71p, best_price_export 0p. lowest_price_charge 13.77p with charge limits [16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0]kWh and export limits []kWh
2026-08-15 13:15:06.820636: Processing 1297 30-minute periods for power integration
2026-08-15 13:15:06.935832: ML Component: Car charging hold False, car energy reported load False
2026-08-15 13:15:07.061924: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 13:15:07.173178: ML Temperature data points: 48166
2026-08-15 13:15:07.488213: ML Component: Fetched 7776 load data points, 27.0 days of history
2026-08-15 13:15:07.543636: ML Component: Data fetch completed, load data age 57.0 days, 16424 data points
2026-08-15 13:15:07.544041: ML Component: Starting fine-tune training (2h interval), model age is 2.0432553944444445 hours
2026-08-15 13:15:07.544799: ML Component: Waiting for current prediction cycle to complete before running ML work
2026-08-15 13:15:10.711815: Tweak plan optimisation started metric 557.54p, cost 574.08p
2026-08-15 13:15:11.030498: Tweak optimisation finished metric 557.54p, cost 574.08p, metric_keep 0kWh, cycle 26.37kWh, carbon 0kg, import 15.89kWh, changed 8 window(s)
2026-08-15 13:15:11.049471: Swap charge optimisation started metric 557.54p, cost 574.08p, min_improvement_swap 0.1p
2026-08-15 13:15:13.533869: Swap charge optimisation finished metric 557.54p, cost 574.08p
2026-08-15 13:15:13.622606: Pruned 3 dead plan slot(s) in 9 trial(s), nominal metric 553.6p -> 553.6p, plan now metric 557.61p, cost 574.08p, cycle 26.37kWh, import 15.89kWh
2026-08-15 13:15:13.632102: Raw charge windows [ 15-08 13:00:00 - 15-08 13:30:00 @ 15.36p 100%, 15-08 13:30:00 - 15-08 14:00:00 @ 15.74p 100%, 15-08 14:00:00 - 15-08 14:30:00 @ 14.57p 100%, 15-08 14:30:00 - 15-08 15:00:00 @ 13.77p 100%, 15-08 15:00:00 - 15-08 15:30:00 @ 15.02p 100%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 100%, 15-08 16:00:00 - 15-08 16:30:00 @ 33.13p 0%, 15-08 16:30:00 - 15-08 17:00:00 @ 33.13p 0%, 15-08 17:00:00 - 15-08 17:30:00 @ 38.46p 0%, 15-08 17:30:00 - 15-08 18:00:00 @ 40.44p 0%, 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 0%, 15-08 18:30:00 - 15-08 19:00:00 @ 43.82p 0%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 0%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 0%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 0%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 0%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 29.37p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 29.2p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.83p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 28.46p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 27.73p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 27.01p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 26.76p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 26.48p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.39p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 26.27p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.33p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.37p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 26.23p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.07p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.99p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 25.92p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 25.64p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 25.39p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.84p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.28p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.26p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.22p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 24.8p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 25.37p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 24.71p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 24.02p 0%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.79p 0%, 16-08 12:30:00 - 16-08 13:00:00 @ 23.55p 0%, 16-08 13:00:00 - 16-08 13:30:00 @ 23.14p 0%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.71p 100%, 16-08 14:00:00 - 16-08 14:30:00 @ 22.01p 100%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.29p 100%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.01p 100%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.71p 100%, 16-08 16:00:00 - 16-08 16:30:00 @ 37.14p 100%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.91p 100%, 16-08 17:00:00 - 16-08 17:30:00 @ 40.13p 100%, 16-08 17:30:00 - 16-08 18:00:00 @ 42.36p 100%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.19p 100%, 16-08 19:00:00 - 16-08 19:30:00 @ 33.04p 100%, 16-08 19:30:00 - 16-08 20:00:00 @ 33.71p 100%, 16-08 20:00:00 - 16-08 20:30:00 @ 33.83p 100%, 16-08 20:30:00 - 16-08 21:00:00 @ 33.94p 100%, 16-08 21:00:00 - 16-08 21:30:00 @ 33.73p 100%, 16-08 21:30:00 - 16-08 22:00:00 @ 33.53p 100%, 16-08 22:00:00 - 16-08 22:30:00 @ 32.36p 100%, 16-08 22:30:00 - 16-08 23:00:00 @ 31.17p 100%, 16-08 23:00:00 - 16-08 23:30:00 @ 29.37p 100%, 16-08 23:30:00 - 17-08 00:00:00 @ 29.2p 100%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.83p 100%, 17-08 00:30:00 - 17-08 01:00:00 @ 28.46p 100%, 17-08 01:00:00 - 17-08 01:30:00 @ 27.73p 100%, 17-08 01:30:00 - 17-08 02:00:00 @ 27.01p 100%, 17-08 02:00:00 - 17-08 02:30:00 @ 26.76p 100%, 17-08 02:30:00 - 17-08 03:00:00 @ 26.48p 100%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.39p 100%, 17-08 03:30:00 - 17-08 04:00:00 @ 26.27p 100%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.33p 100%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.37p 100%, 17-08 05:00:00 - 17-08 05:30:00 @ 26.23p 100%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.07p 100%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.99p 100%, 17-08 06:30:00 - 17-08 07:00:00 @ 25.92p 100%, 17-08 07:00:00 - 17-08 07:30:00 @ 25.64p 100%, 17-08 07:30:00 - 17-08 08:00:00 @ 25.39p 100%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.84p 100%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.28p 100%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.26p 100%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.22p 100%, 17-08 10:00:00 - 17-08 10:30:00 @ 24.8p 100%, 17-08 10:30:00 - 17-08 11:00:00 @ 25.37p 100%, 17-08 11:00:00 - 17-08 11:30:00 @ 24.71p 100%, 17-08 11:30:00 - 17-08 12:00:00 @ 24.02p 100%, 17-08 12:00:00 - 17-08 12:30:00 @ 23.79p 100%, 17-08 12:30:00 - 17-08 13:00:00 @ 23.55p 100%, 17-08 13:00:00 - 17-08 13:30:00 @ 23.14p 100% ] reserve 1.12
2026-08-15 13:15:13.632580: Unclipped charge windows [ 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 13:30:00 - 16-08 18:30:00 @ 41.93p 100%, 16-08 19:00:00 - 17-08 13:30:00 @ 23.48p 100% ] reserve 1.12
2026-08-15 13:15:13.632732: Unfiltered charge windows [ 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 13:30:00 - 16-08 18:30:00 @ 41.93p 100%, 16-08 19:00:00 - 17-08 13:30:00 @ 23.48p 100% ] reserve 1.12
2026-08-15 13:15:13.632876: Filtered charge windows [ 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 13:30:00 - 16-08 18:30:00 @ 41.93p 100%, 16-08 19:00:00 - 17-08 13:30:00 @ 23.48p 100% ] reserve 1.12
2026-08-15 13:15:13.663827: Previous plan best metric is 557.55 (cost 574.08) and new plan best metric is 557.54 (cost 574.08)
2026-08-15 13:15:13.664070: New plan metric is not significantly better (metric_min_improvement_plan 2.0) than previous plan, using previous plan
2026-08-15 13:15:13.664179: Plan valid is now true after recompute was False
2026-08-15 13:15:13.687647: predict base end_record 08-16 13:30:00, final soc 16.0kWh, metric 1005.88p, metric_keep 0kWh, min_soc 2.34kWh @ 08-16 10:25:00, load 25.01kWh, PV 0.0kWh
2026-08-15 13:15:13.784721: Battery has 48.0 hours left - now at 4.42kWh
2026-08-15 13:15:13.821639: predict base10 end_record 08-16 13:30:00, final soc 12.76kWh, metric 952.02p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 10:00:00, load 25.84kWh, PV 0.0kWh
2026-08-15 13:15:13.885286: predict best10 end_record 08-16 13:30:00, final soc 1.12kWh, metric 650.81p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 10:00:00, load 25.84kWh, PV 0.0kWh
2026-08-15 13:15:13.954663: predict best end_record 08-16 13:30:00, final soc 1.12kWh, metric 624.07p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 11:45:00, load 25.01kWh, PV 0.0kWh
2026-08-15 13:15:13.954753: Saving plan best values to HA entities
2026-08-15 13:15:14.084779: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0
2026-08-15 13:15:14.090015: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 13:15:14.094664: Best charging limit SoC's [16.0, 16.0, 16.0]kWh, export []kWh gives import battery 14.46kWh, house 1.43kWh, export 0.0kWh, metric 624.07p, metric10 650.81p
2026-08-15 13:15:14.160321: Marginal costs baseline metric (no standing charge): 574.084
2026-08-15 13:15:14.400797: Marginal energy costs matrix computed: min=15.35 max=32.5
2026-08-15 13:15:14.461260: Rate array import [{'start': 795, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 15.9p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1950, 'rate': 'expensive', 'range': '(24.8p - 32.9p)'}, {'start': 1950, 'end': 2040, 'rate': 'cheap', 'range': '(24.2p - 24.3p)'}, {'start': 2040, 'end': 2130, 'rate': 'expensive', 'range': '(24.7p - 25.4p)'}, {'start': 2130, 'end': 2250, 'rate': 'cheap', 'range': '(23.1p - 24.0p)'}] export [{'start': 795, 'end': 2250, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 13:15:14.461604: - Your estimated bill for today is £5.40 and tomorrow is £7.16
2026-08-15 13:15:14.461646: - Import rates are cheap (13.8p - 15.9p) for the next 2 and three quarters hours and then expensive (33.1p) for the next 1 hour.
2026-08-15 13:15:14.461664: - The battery is currently at 28% and is charging to 100% for the next 2 and three quarters hours.
2026-08-15 13:15:14.461679: - For the next 48 hours there will be no solar generation.
2026-08-15 13:15:14.461693: - You will run out of battery in 22 hours.
2026-08-15 13:15:14.461711: 
2026-08-15 13:15:14.524550: Plan calculation took 11.54 seconds
2026-08-15 13:15:14.524931: Inverter 0: Type SK Sunsynk
2026-08-15 13:15:14.525009: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 13:15:14.525282: Reserve min: 7%, battery_min: 7%
2026-08-15 13:15:14.525363: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 13:15:14.525687: Inverter 0 SoC: 4.78kW 30%, current charge rate 5000W, current discharge rate 5250W, current battery power -4514W, current battery voltage 51.2V, grid power -5277W, load power 281W, PV Power 0W
2026-08-15 13:15:14.525949: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 13:15:14.526056: Inverter 0 scheduled charge enable is True
2026-08-15 13:15:14.526126: Inverter 0 charge windows currently [{'start': 630, 'end': 960, 'average': 0}, {'start': 2070, 'end': 2400, 'average': 0}, {'start': 3510, 'end': 3840, 'average': 0}]
2026-08-15 13:15:14.526232: Inverter 0 Charge settings: 08-15 10:30:00-08-15 16:00:00, limit 100.0%, power 5.0kW
2026-08-15 13:15:14.526348: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 13:15:14.526409: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 13:15:14.526449: Inverter 0 scheduled discharge enable is False
2026-08-15 13:15:14.526576: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 13:15:14.526614: Inverter 0 discharge windows currently []
2026-08-15 13:15:14.526637: Note: Inverter does not support discharge freeze - disabled
2026-08-15 13:15:14.526656: Note: Inverter does not support charge freeze - disabled
2026-08-15 13:15:14.526676: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 13:15:14.586758: Include original charge start 08-15 10:30:00, keeping this instead of new start 08-15 13:00:00
2026-08-15 13:15:14.586886: Inverter 0 Charge window will be: 2026-08-15 10:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 30%, target 100%
2026-08-15 13:15:14.587009: Inverter 0 Target SoC 100%, (this inverter 100%), battery temperature 20°C, select charge rate 5000W (real 5000W), current charge rate 5000W
2026-08-15 13:15:14.587174: Adjust idle time, charge 10:30:00-16:00:00 discharge 00:00:00-00:00:00
2026-08-15 13:15:14.587333: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 13:15:14.587408: No export window planned
2026-08-15 13:15:14.587504: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 13:15:14.587534: Adjust idle time, charge 10:30:00-16:00:00 discharge 00:00:00-00:00:00
2026-08-15 13:15:14.587647: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 13:15:14.587743: Inverter 0 setting charging SoC to 100% as per target
2026-08-15 13:15:14.587778: Inverter 0 adjust target SoC for charge to 100% based on requested all inverter SoC 100%
2026-08-15 13:15:14.587818: Inverter 0 Current Target SoC is 100%, already at target
2026-08-15 13:15:14.587906: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:15:14.587941: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:15:14.587964: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:15:14.587984: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:15:14.588010: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:15:14.588034: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:15:14.588054: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:15:14.588108: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 13:15:14.588139: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 13:15:14.588162: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 13:15:14.588182: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 13:15:14.588202: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 13:15:14.588230: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 13:15:14.588251: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 13:15:14.588325: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:15:14.588350: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:15:14.588371: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:15:14.588390: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:15:14.588414: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:15:14.588434: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:15:14.588453: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:15:14.588470: Inverter 0 count register writes 0
2026-08-15 13:15:14.612091: Total inverter register writes now 825
2026-08-15 13:15:14.654438: Info: Completed run status Charging
2026-08-15 13:15:14.661198: Info: record_status Charging target 30%-100.0%
2026-08-15 13:15:14.668548: Saved current settings to /config/predbat_config.json
2026-08-15 13:15:14.668849: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 13:15:15.087145: ML Component: Doing training...
2026-08-15 13:15:15.100869: ML Predictor: Curriculum training - capped to last 4 intermediate passes (starting at window=54.0 days)
2026-08-15 13:15:15.101005: ML Predictor: Curriculum training - 5 passes, window 54.0→57.0 days + final full pass (57.0 days)
2026-08-15 13:15:15.164002: ML Predictor: Curriculum pass 1/5: window=54.0 days (1296 hours of data)
2026-08-15 13:15:15.164145: ML Predictor: Starting initial training with 30 epochs
2026-08-15 13:15:15.768073: ML Predictor: Creating dataset with 1296 hours of training data, 48 hours validation
2026-08-15 13:15:20.069640: ML Predictor: Created 15264 training samples, 576 validation samples
2026-08-15 13:15:20.118278: ML Predictor: Normalization stats [fit] target(mean=0.0587 std=0.0472) load(mean=0.0587 std=0.0470) pv(mean=0.0000 std=0.0100) temp(mean=19.4996 std=4.4155) import_rate(mean=25.5254 std=2.4659) export_rate(mean=0.0000 std=1.0000) time(mean=-0.1882 std=0.5244)
2026-08-15 13:15:47.045738: ML Predictor: Epoch 1/30: lr=0.00100 huber_loss=0.0143 val_mae=0.0063 kWh val_bias=-0.0020 kWh (-3.9%) combined=0.0042 kWh ema_combined=0.0042 kWh
2026-08-15 13:15:57.376255: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 13:15:57.376508: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 13:15:57.376545: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 13:15:57.376716: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 13:15:57.376756: Note: Inverter does not support discharge freeze - disabled
2026-08-15 13:15:57.376776: Note: Inverter does not support charge freeze - disabled
2026-08-15 13:15:57.376794: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 13:16:20.476374: ML Predictor: Epoch 2/30: lr=0.00100 huber_loss=0.0338 val_mae=0.0048 kWh val_bias=-0.0005 kWh (-1.0%) combined=0.0029 kWh ema_combined=0.0038 kWh
2026-08-15 13:16:50.825741: ML Predictor: Epoch 3/30: lr=0.00099 huber_loss=0.0259 val_mae=0.0032 kWh val_bias=+0.0008 kWh (+1.5%) combined=0.0021 kWh ema_combined=0.0033 kWh
2026-08-15 13:17:21.045397: ML Predictor: Epoch 4/30: lr=0.00098 huber_loss=0.0188 val_mae=0.0028 kWh val_bias=-0.0007 kWh (-1.3%) combined=0.0021 kWh ema_combined=0.0030 kWh
2026-08-15 13:17:54.856290: ML Predictor: Epoch 5/30: lr=0.00096 huber_loss=0.0156 val_mae=0.0026 kWh val_bias=+0.0006 kWh (+1.2%) combined=0.0020 kWh ema_combined=0.0027 kWh
2026-08-15 13:18:11.982115: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 13:18:11.982455: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 13:18:11.982511: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 13:18:11.982686: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 13:18:11.982734: Note: Inverter does not support discharge freeze - disabled
2026-08-15 13:18:11.982861: Note: Inverter does not support charge freeze - disabled
2026-08-15 13:18:11.982909: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 13:18:25.355485: ML Predictor: Epoch 6/30: lr=0.00094 huber_loss=0.0120 val_mae=0.0023 kWh val_bias=+0.0004 kWh (+0.8%) combined=0.0013 kWh ema_combined=0.0023 kWh
2026-08-15 13:18:53.749241: ML Predictor: Epoch 7/30: lr=0.00091 huber_loss=0.0104 val_mae=0.0020 kWh val_bias=+0.0005 kWh (+0.9%) combined=0.0014 kWh ema_combined=0.0020 kWh
2026-08-15 13:19:26.253639: ML Predictor: Epoch 8/30: lr=0.00088 huber_loss=0.0088 val_mae=0.0020 kWh val_bias=-0.0003 kWh (-0.6%) combined=0.0011 kWh ema_combined=0.0017 kWh
2026-08-15 13:19:58.206175: ML Predictor: Epoch 9/30: lr=0.00084 huber_loss=0.0091 val_mae=0.0018 kWh val_bias=-0.0007 kWh (-1.3%) combined=0.0014 kWh ema_combined=0.0016 kWh
2026-08-15 13:20:00.417606: --------------- PredBat - update at 2026-08-15 13:20:00+01:00 with clock skew 0 minutes, minutes now 800
2026-08-15 13:20:00.418898: Saved current settings to /config/predbat_config.json
2026-08-15 13:20:00.419163: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 65.0 minutes
2026-08-15 13:20:00.419361: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.1, latest beta is v8.48.1
2026-08-15 13:20:00.419536: Autoupdate: Currently up to date
2026-08-15 13:20:00.477311: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 13:20:00.477497: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 13:20:00.477795: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 13:20:00.478572: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 13:20:00.478794: Predbat mode is set to Control charge & discharge
2026-08-15 13:20:00.814377: Found 21602 load_today datapoints going back 27 days
2026-08-15 13:20:00.814553: Using load_power data to fill gaps in load_today data
2026-08-15 13:20:02.167500: Processing 721 30-minute periods for power integration
2026-08-15 13:20:02.540138: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 13:20:02.553348: Car charging hold False, threshold 6.0kWh
2026-08-15 13:20:02.553460: Current data so far today: load 7.82kWh, import 12.9kWh, export 0.0kWh, PV 0kWh
2026-08-15 13:20:02.593408: Cars: SoC: [11.134]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 13:20:02.594261: Standing charge is set to 49.98p
2026-08-15 13:20:02.725454: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 13:20:02.726112: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 13:20:02.728715: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 160.0 minutes
2026-08-15 13:20:02.731017: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 160.0 minutes
2026-08-15 13:20:02.740197: Loaded 95 datapoints of futurerate analysis
2026-08-15 13:20:02.964381: Predicted future rates: ['08-15 00:00:00 => 28.9 / 20.01', '08-15 01:00:00 => 27.54 / 19.31', '08-15 02:00:00 => 26.52 / 18.8', '08-15 03:00:00 => 25.99 / 18.53', '08-15 04:00:00 => 25.8 / 18.43', '08-15 05:00:00 => 25.96 / 18.51', '08-15 06:00:00 => 25.55 / 18.3', '08-15 07:00:00 => 24.33 / 17.68', '08-15 08:00:00 => 23.03 / 17.01', '08-15 09:00:00 => 22.05 / 16.51', '08-15 10:00:00 => 20.43 / 15.68', '08-15 11:00:00 => 18.01 / 14.45', '08-15 12:00:00 => 16.37 / 13.61', '08-15 13:00:00 => 15.76 / 13.3', '08-15 14:00:00 => 15.35 / 13.09', '08-15 15:00:00 => 15.86 / 13.35', '08-15 16:00:00 => 32.89 / 16.13', '08-15 17:00:00 => 38.02 / 18.75', '08-15 18:00:00 => 42.36 / 20.96', '08-15 19:00:00 => 31.09 / 21.13', '08-15 20:00:00 => 31.64 / 21.41', '08-15 21:00:00 => 31.64 / 21.41', '08-15 22:00:00 => 30.58 / 20.87', '08-15 23:00:00 => 29.37 / 20.25', '08-16 00:00:00 => 28.83 / 19.97', '08-16 01:00:00 => 27.73 / 19.41', '08-16 02:00:00 => 26.76 / 18.92', '08-16 03:00:00 => 26.39 / 18.73', '08-16 04:00:00 => 26.33 / 18.7', '08-16 05:00:00 => 26.23 / 18.65', '08-16 06:00:00 => 25.99 / 18.53', '08-16 07:00:00 => 25.64 / 18.35', '08-16 08:00:00 => 24.84 / 17.94', '08-16 09:00:00 => 24.26 / 17.64', '08-16 10:00:00 => 24.8 / 17.92', '08-16 11:00:00 => 24.71 / 17.87', '08-16 12:00:00 => 23.79 / 17.4']
2026-08-15 13:20:03.145598: Rate min forward looking: now 13.77p at end of forecast 21.29p
2026-08-15 13:20:03.145992: Import rates: min 13.77p, max 46.05p, average 27.96p
2026-08-15 13:20:03.260893: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 13:20:03.261400: Rate thresholds (for charge/export) are import 45.55p (0.0p), export -0.1p (0.0p)
2026-08-15 13:20:03.262534: High export rate found rates in range 99p to -99p
2026-08-15 13:20:03.350806: Low Import rate found rates in range 13.77p to 44.19p
2026-08-15 13:20:03.351025: Car 0 charging is not planned as it is not plugged in
2026-08-15 13:20:03.366302: Battery level now 4.42kWh, -1hr ago 3.68kWh, at midnight 1.66kWh, battery value change in the last hour 8.8p, change today 32.73p, rate_forward 11.83p
2026-08-15 13:20:03.366905: Last hour: net energy 1.65kWh, import 1.65kWh, export 0.0kWh, car 0kWh, load 0.35kWh, net cost 25.96p, import 25.96p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 13:20:03.471148: Today's energy total net 12.9kWh, import 12.9kWh, export 0.0kWh, cost 337.98p, import 287.99p, export 0.0p, carbon 0.0kg
2026-08-15 13:20:03.471425: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 13:20:03.653615: Using weighted-bucket historical load forecast over 14 days
2026-08-15 13:20:03.714490: Today's load divergence 97.75%, in-day adjustment 118.27%, damping 0.95x, yesterday 143.77% today 97.86% blend 44.44%
2026-08-15 13:20:03.714595: Today's predicted so far 8.17kWh with 0.0kWh car/iBoost excluded, 7.02kWh import ignored, and 8.17kWh forecast extra.
2026-08-15 13:20:03.714622: Today's actual load so far 7.83kWh with 0.0kWh car/iBoost excluded, and 7.02kWh import ignored.
2026-08-15 13:20:03.791971: Inverter 0: Type SK Sunsynk
2026-08-15 13:20:03.792222: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 13:20:03.792539: Reserve min: 7%, battery_min: 7%
2026-08-15 13:20:03.792685: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 13:20:03.793141: Inverter 0 SoC: 4.78kW 30%, current charge rate 5000W, current discharge rate 5250W, current battery power -4520W, current battery voltage 51.2V, grid power -5321W, load power 325W, PV Power 0W
2026-08-15 13:20:03.793403: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 13:20:03.794939: Inverter 0 scheduled charge enable is True
2026-08-15 13:20:03.795090: Inverter 0 charge windows currently [{'start': 630, 'end': 960, 'average': 0}, {'start': 2070, 'end': 2400, 'average': 0}, {'start': 3510, 'end': 3840, 'average': 0}]
2026-08-15 13:20:03.795303: Inverter 0 Charge settings: 08-15 10:30:00-08-15 16:00:00, limit 100.0%, power 5.0kW
2026-08-15 13:20:03.795551: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 13:20:03.795609: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 13:20:03.809108: Inverter 0 scheduled discharge enable is False
2026-08-15 13:20:03.809409: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 13:20:03.809467: Inverter 0 discharge windows currently []
2026-08-15 13:20:03.809579: Note: Inverter does not support discharge freeze - disabled
2026-08-15 13:20:03.809623: Note: Inverter does not support charge freeze - disabled
2026-08-15 13:20:03.809697: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 13:20:03.890690: Dynamic load last period 0.30kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 13:20:03.890810: Plan was last updated on 2026-08-15 13:15:00+01:00 and is now 5.0 minutes old
2026-08-15 13:20:03.891053: Best charge window [ 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 13:30:00 - 16-08 18:30:00 @ 41.93p 100%, 16-08 19:00:00 - 17-08 13:30:00 @ 23.48p 100% ]
2026-08-15 13:20:03.891198: Best export window [  ]
2026-08-15 13:20:03.892037: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 13:20:03.895308: Load divergence over 8.0 hours mean 505.06W, min 292.8W, max 1404.6W, std dev 231.94W, divergence 22.96%
2026-08-15 13:20:03.913644: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 13:20:03.913863: LoadML is_calculating True
2026-08-15 13:20:03.913909: Not using thread pool as LoadML is calculating to avoid lockups
2026-08-15 13:20:03.952812: predict base end_record 08-16 13:35:00, final soc 16.0kWh, metric 1013.72p, metric_keep 0kWh, min_soc 2.34kWh @ 08-16 10:25:00, load 25.1kWh, PV 0.0kWh
2026-08-15 13:20:04.225275: Battery has 48.0 hours left - now at 4.78kWh
2026-08-15 13:20:04.278165: predict base10 end_record 08-16 13:35:00, final soc 13.08kWh, metric 967.41p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 10:05:00, load 25.92kWh, PV 0.0kWh
2026-08-15 13:20:04.431759: predict best10 end_record 08-16 13:35:00, final soc 1.44kWh, metric 666.21p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 10:05:00, load 25.92kWh, PV 0.0kWh
2026-08-15 13:20:04.603867: predict best end_record 08-16 13:35:00, final soc 1.51kWh, metric 641.3p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 11:45:00, load 25.1kWh, PV 0.0kWh
2026-08-15 13:20:04.604626: Saving plan best values to HA entities
2026-08-15 13:20:04.959603: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0
2026-08-15 13:20:04.968241: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 13:20:04.976632: Best charging limit SoC's [16.0, 16.0, 16.0]kWh, export []kWh gives import battery 14.44kWh, house 1.44kWh, export 0.0kWh, metric 641.3p, metric10 666.21p
2026-08-15 13:20:05.157560: Marginal costs baseline metric (no standing charge): 591.3139
2026-08-15 13:20:05.536853: Marginal energy costs matrix computed: min=15.29 max=32.67
2026-08-15 13:20:05.653362: Rate array import [{'start': 800, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 15.9p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1950, 'rate': 'expensive', 'range': '(24.8p - 32.9p)'}, {'start': 1950, 'end': 2040, 'rate': 'cheap', 'range': '(24.2p - 24.3p)'}, {'start': 2040, 'end': 2130, 'rate': 'expensive', 'range': '(24.7p - 25.4p)'}, {'start': 2130, 'end': 2255, 'rate': 'cheap', 'range': '(22.7p - 24.0p)'}] export [{'start': 800, 'end': 2255, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 13:20:05.653985: - Your estimated bill for today is £5.47 and tomorrow is £7.17
2026-08-15 13:20:05.654179: - Import rates are cheap (13.8p - 15.9p) for the next 2 and three quarters hours and then expensive (33.1p) for the next 1 hour.
2026-08-15 13:20:05.654325: - The battery is currently at 30% and is charging to 100% for the next 2 and three quarters hours.
2026-08-15 13:20:05.654462: - For the next 48 hours there will be no solar generation.
2026-08-15 13:20:05.654594: - You will run out of battery in 22 hours.
2026-08-15 13:20:05.654724: 
2026-08-15 13:20:05.724728: Plan calculation took 1.83 seconds
2026-08-15 13:20:05.730220: No high rate period found
2026-08-15 13:20:05.843549: Import threshold used for optimisation was 24.8p
2026-08-15 13:20:05.927872: Low import rate windows [0: 08-15 13:00:00 - 08-15 13:30:00 @ 15.36, 1: 08-15 13:30:00 - 08-15 14:00:00 @ 15.74, 2: 08-15 14:00:00 - 08-15 14:30:00 @ 14.57, 3: 08-15 14:30:00 - 08-15 15:00:00 @ 13.77, 4: 08-15 15:00:00 - 08-15 15:30:00 @ 15.02, 5: 08-15 15:30:00 - 08-15 16:00:00 @ 15.87, 6: 08-15 16:00:00 - 08-15 16:30:00 @ 33.13, 7: 08-15 16:30:00 - 08-15 17:00:00 @ 33.13, 8: 08-15 17:00:00 - 08-15 17:30:00 @ 38.46, 9: 08-15 17:30:00 - 08-15 18:00:00 @ 40.44, 10: 08-15 18:00:00 - 08-15 18:30:00 @ 41.55, 11: 08-15 18:30:00 - 08-15 19:00:00 @ 43.82, 12: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 13: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 14: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 15: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 16: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 17: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 18: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 19: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 20: 08-15 23:00:00 - 08-15 23:30:00 @ 29.37, 21: 08-15 23:30:00 - 08-16 00:00:00 @ 29.2, 22: 08-16 00:00:00 - 08-16 00:30:00 @ 28.83, 23: 08-16 00:30:00 - 08-16 01:00:00 @ 28.46, 24: 08-16 01:00:00 - 08-16 01:30:00 @ 27.73, 25: 08-16 01:30:00 - 08-16 02:00:00 @ 27.01, 26: 08-16 02:00:00 - 08-16 02:30:00 @ 26.76, 27: 08-16 02:30:00 - 08-16 03:00:00 @ 26.48, 28: 08-16 03:00:00 - 08-16 03:30:00 @ 26.39, 29: 08-16 03:30:00 - 08-16 04:00:00 @ 26.27, 30: 08-16 04:00:00 - 08-16 04:30:00 @ 26.33, 31: 08-16 04:30:00 - 08-16 05:00:00 @ 26.37, 32: 08-16 05:00:00 - 08-16 05:30:00 @ 26.23, 33: 08-16 05:30:00 - 08-16 06:00:00 @ 26.07, 34: 08-16 06:00:00 - 08-16 06:30:00 @ 25.99, 35: 08-16 06:30:00 - 08-16 07:00:00 @ 25.92, 36: 08-16 07:00:00 - 08-16 07:30:00 @ 25.64, 37: 08-16 07:30:00 - 08-16 08:00:00 @ 25.39, 38: 08-16 08:00:00 - 08-16 08:30:00 @ 24.84, 39: 08-16 08:30:00 - 08-16 09:00:00 @ 24.28, 40: 08-16 09:00:00 - 08-16 09:30:00 @ 24.26, 41: 08-16 09:30:00 - 08-16 10:00:00 @ 24.22, 42: 08-16 10:00:00 - 08-16 10:30:00 @ 24.8, 43: 08-16 10:30:00 - 08-16 11:00:00 @ 25.37, 44: 08-16 11:00:00 - 08-16 11:30:00 @ 24.71, 45: 08-16 11:30:00 - 08-16 12:00:00 @ 24.02, 46: 08-16 12:00:00 - 08-16 12:30:00 @ 23.79, 47: 08-16 12:30:00 - 08-16 13:00:00 @ 23.55, 48: 08-16 13:00:00 - 08-16 13:30:00 @ 23.14, 49: 08-16 13:30:00 - 08-16 14:00:00 @ 22.71, 50: 08-16 14:00:00 - 08-16 14:30:00 @ 22.01, 51: 08-16 14:30:00 - 08-16 15:00:00 @ 21.29, 52: 08-16 15:00:00 - 08-16 15:30:00 @ 22.01, 53: 08-16 15:30:00 - 08-16 16:00:00 @ 22.71, 54: 08-16 16:00:00 - 08-16 16:30:00 @ 37.14, 55: 08-16 16:30:00 - 08-16 17:00:00 @ 37.91, 56: 08-16 17:00:00 - 08-16 17:30:00 @ 40.13, 57: 08-16 17:30:00 - 08-16 18:00:00 @ 42.36, 58: 08-16 18:00:00 - 08-16 18:30:00 @ 44.19, 59: 08-16 19:00:00 - 08-16 19:30:00 @ 33.04, 60: 08-16 19:30:00 - 08-16 20:00:00 @ 33.71, 61: 08-16 20:00:00 - 08-16 20:30:00 @ 33.83, 62: 08-16 20:30:00 - 08-16 21:00:00 @ 33.94, 63: 08-16 21:00:00 - 08-16 21:30:00 @ 33.73, 64: 08-16 21:30:00 - 08-16 22:00:00 @ 33.53, 65: 08-16 22:00:00 - 08-16 22:30:00 @ 32.36, 66: 08-16 22:30:00 - 08-16 23:00:00 @ 31.17, 67: 08-16 23:00:00 - 08-16 23:30:00 @ 29.37, 68: 08-16 23:30:00 - 08-17 00:00:00 @ 29.2, 69: 08-17 00:00:00 - 08-17 00:30:00 @ 28.83, 70: 08-17 00:30:00 - 08-17 01:00:00 @ 28.46, 71: 08-17 01:00:00 - 08-17 01:30:00 @ 27.73, 72: 08-17 01:30:00 - 08-17 02:00:00 @ 27.01, 73: 08-17 02:00:00 - 08-17 02:30:00 @ 26.76, 74: 08-17 02:30:00 - 08-17 03:00:00 @ 26.48, 75: 08-17 03:00:00 - 08-17 03:30:00 @ 26.39, 76: 08-17 03:30:00 - 08-17 04:00:00 @ 26.27, 77: 08-17 04:00:00 - 08-17 04:30:00 @ 26.33, 78: 08-17 04:30:00 - 08-17 05:00:00 @ 26.37, 79: 08-17 05:00:00 - 08-17 05:30:00 @ 26.23, 80: 08-17 05:30:00 - 08-17 06:00:00 @ 26.07, 81: 08-17 06:00:00 - 08-17 06:30:00 @ 25.99, 82: 08-17 06:30:00 - 08-17 07:00:00 @ 25.92, 83: 08-17 07:00:00 - 08-17 07:30:00 @ 25.64, 84: 08-17 07:30:00 - 08-17 08:00:00 @ 25.39, 85: 08-17 08:00:00 - 08-17 08:30:00 @ 24.84, 86: 08-17 08:30:00 - 08-17 09:00:00 @ 24.28, 87: 08-17 09:00:00 - 08-17 09:30:00 @ 24.26, 88: 08-17 09:30:00 - 08-17 10:00:00 @ 24.22, 89: 08-17 10:00:00 - 08-17 10:30:00 @ 24.8, 90: 08-17 10:30:00 - 08-17 11:00:00 @ 25.37, 91: 08-17 11:00:00 - 08-17 11:30:00 @ 24.71, 92: 08-17 11:30:00 - 08-17 12:00:00 @ 24.02, 93: 08-17 12:00:00 - 08-17 12:30:00 @ 23.79, 94: 08-17 12:30:00 - 08-17 13:00:00 @ 23.55, 95: 08-17 13:00:00 - 08-17 13:30:00 @ 23.14]
2026-08-15 13:20:05.966029: Include original charge start 08-15 10:30:00, keeping this instead of new start 08-15 13:00:00
2026-08-15 13:20:05.966330: Inverter 0 Charge window will be: 2026-08-15 10:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 30%, target 100%
2026-08-15 13:20:05.966547: Inverter 0 Target SoC 100%, (this inverter 100%), battery temperature 20°C, select charge rate 5000W (real 5000W), current charge rate 5000W
2026-08-15 13:20:05.966811: Adjust idle time, charge 10:30:00-16:00:00 discharge 00:00:00-00:00:00
2026-08-15 13:20:05.967119: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 13:20:05.967303: No export window planned
2026-08-15 13:20:05.967519: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 13:20:05.967623: Adjust idle time, charge 10:30:00-16:00:00 discharge 00:00:00-00:00:00
2026-08-15 13:20:05.967847: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 13:20:05.968010: Inverter 0 setting charging SoC to 100% as per target
2026-08-15 13:20:05.968079: Inverter 0 adjust target SoC for charge to 100% based on requested all inverter SoC 100%
2026-08-15 13:20:05.968211: Inverter 0 Current Target SoC is 100%, already at target
2026-08-15 13:20:05.968361: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:20:05.968412: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:20:05.968516: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:20:05.968561: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:20:05.968622: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:20:05.968720: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:20:05.968763: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:20:05.968884: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 13:20:05.968931: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 13:20:05.968984: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 13:20:05.969151: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 13:20:05.969201: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 13:20:05.969303: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 13:20:05.969346: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 13:20:05.969445: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:20:05.969585: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:20:05.969713: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:20:05.969840: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:20:05.969964: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:20:05.970104: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:20:05.970233: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:20:05.970349: Inverter 0 count register writes 0
2026-08-15 13:20:06.002869: Will not recompute the plan, it is 5.0 minutes old and max age is 10 minutes
2026-08-15 13:20:06.010091: Total inverter register writes now 825
2026-08-15 13:20:06.073707: Info: Completed run status Charging
2026-08-15 13:20:06.083943: Info: record_status Charging target 30%-100.0%
2026-08-15 13:20:06.092041: Saved current settings to /config/predbat_config.json
2026-08-15 13:20:06.092431: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 13:20:30.457525: ML Predictor: Epoch 10/30: lr=0.00080 huber_loss=0.0078 val_mae=0.0018 kWh val_bias=+0.0006 kWh (+1.2%) combined=0.0017 kWh ema_combined=0.0017 kWh
2026-08-15 13:20:42.244842: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 13:20:42.245414: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 13:20:42.245565: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 13:20:42.245852: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 13:20:42.245970: Note: Inverter does not support discharge freeze - disabled
2026-08-15 13:20:42.246094: Note: Inverter does not support charge freeze - disabled
2026-08-15 13:20:42.246187: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 13:21:02.547715: ML Predictor: Epoch 11/30: lr=0.00076 huber_loss=0.0071 val_mae=0.0017 kWh val_bias=+0.0005 kWh (+0.9%) combined=0.0013 kWh ema_combined=0.0015 kWh
2026-08-15 13:21:33.581101: ML Predictor: Epoch 12/30: lr=0.00072 huber_loss=0.0070 val_mae=0.0015 kWh val_bias=-0.0004 kWh (-0.7%) combined=0.0011 kWh ema_combined=0.0014 kWh
2026-08-15 13:22:04.492242: ML Predictor: Epoch 13/30: lr=0.00067 huber_loss=0.0066 val_mae=0.0016 kWh val_bias=-0.0005 kWh (-0.9%) combined=0.0012 kWh ema_combined=0.0014 kWh
2026-08-15 13:22:36.299666: ML Predictor: Epoch 14/30: lr=0.00062 huber_loss=0.0074 val_mae=0.0017 kWh val_bias=-0.0010 kWh (-2.0%) combined=0.0019 kWh ema_combined=0.0015 kWh
2026-08-15 13:22:56.855769: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 13:22:56.856049: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 13:22:56.856137: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 13:22:56.856322: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 13:22:56.856370: Note: Inverter does not support discharge freeze - disabled
2026-08-15 13:22:56.856392: Note: Inverter does not support charge freeze - disabled
2026-08-15 13:22:56.856410: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 13:23:06.524817: ML Predictor: Epoch 15/30: lr=0.00057 huber_loss=0.0063 val_mae=0.0014 kWh val_bias=+0.0000 kWh (+0.1%) combined=0.0007 kWh ema_combined=0.0013 kWh
2026-08-15 13:23:36.787620: ML Predictor: Epoch 16/30: lr=0.00053 huber_loss=0.0063 val_mae=0.0014 kWh val_bias=-0.0003 kWh (-0.6%) combined=0.0011 kWh ema_combined=0.0012 kWh
2026-08-15 13:24:08.940511: ML Predictor: Epoch 17/30: lr=0.00048 huber_loss=0.0059 val_mae=0.0015 kWh val_bias=+0.0003 kWh (+0.7%) combined=0.0013 kWh ema_combined=0.0012 kWh
2026-08-15 13:24:40.960019: ML Predictor: Epoch 18/30: lr=0.00043 huber_loss=0.0054 val_mae=0.0013 kWh val_bias=+0.0001 kWh (+0.2%) combined=0.0008 kWh ema_combined=0.0011 kWh
2026-08-15 13:24:57.307520: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 13:24:57.307951: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 13:24:57.308115: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 13:24:57.308381: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 13:24:57.308505: Note: Inverter does not support discharge freeze - disabled
2026-08-15 13:24:57.308608: Note: Inverter does not support charge freeze - disabled
2026-08-15 13:24:57.308694: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 13:25:00.455852: --------------- PredBat - update at 2026-08-15 13:25:00+01:00 with clock skew 0 minutes, minutes now 805
2026-08-15 13:25:00.456866: Saved current settings to /config/predbat_config.json
2026-08-15 13:25:00.457108: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 70.0 minutes
2026-08-15 13:25:00.457274: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.1, latest beta is v8.48.1
2026-08-15 13:25:00.457423: Autoupdate: Currently up to date
2026-08-15 13:25:00.511221: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 13:25:00.511485: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 13:25:00.511781: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 13:25:00.512429: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 13:25:00.512654: Predbat mode is set to Control charge & discharge
2026-08-15 13:25:00.944227: Found 21602 load_today datapoints going back 27 days
2026-08-15 13:25:00.944634: Using load_power data to fill gaps in load_today data
2026-08-15 13:25:02.064422: Processing 721 30-minute periods for power integration
2026-08-15 13:25:02.384242: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 13:25:02.384846: Car charging hold False, threshold 6.0kWh
2026-08-15 13:25:02.385197: Current data so far today: load 7.85kWh, import 12.9kWh, export 0.0kWh, PV 0kWh
2026-08-15 13:25:02.398950: Cars: SoC: [11.134]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 13:25:02.399764: Standing charge is set to 49.98p
2026-08-15 13:25:02.542659: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 13:25:02.542794: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 13:25:02.542999: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 165.0 minutes
2026-08-15 13:25:02.543450: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 165.0 minutes
2026-08-15 13:25:02.549322: Loaded 95 datapoints of futurerate analysis
2026-08-15 13:25:02.747460: Predicted future rates: ['08-15 00:00:00 => 28.9 / 20.01', '08-15 01:00:00 => 27.54 / 19.31', '08-15 02:00:00 => 26.52 / 18.8', '08-15 03:00:00 => 25.99 / 18.53', '08-15 04:00:00 => 25.8 / 18.43', '08-15 05:00:00 => 25.96 / 18.51', '08-15 06:00:00 => 25.55 / 18.3', '08-15 07:00:00 => 24.33 / 17.68', '08-15 08:00:00 => 23.03 / 17.01', '08-15 09:00:00 => 22.05 / 16.51', '08-15 10:00:00 => 20.43 / 15.68', '08-15 11:00:00 => 18.01 / 14.45', '08-15 12:00:00 => 16.37 / 13.61', '08-15 13:00:00 => 15.76 / 13.3', '08-15 14:00:00 => 15.35 / 13.09', '08-15 15:00:00 => 15.86 / 13.35', '08-15 16:00:00 => 32.89 / 16.13', '08-15 17:00:00 => 38.02 / 18.75', '08-15 18:00:00 => 42.36 / 20.96', '08-15 19:00:00 => 31.09 / 21.13', '08-15 20:00:00 => 31.64 / 21.41', '08-15 21:00:00 => 31.64 / 21.41', '08-15 22:00:00 => 30.58 / 20.87', '08-15 23:00:00 => 29.37 / 20.25', '08-16 00:00:00 => 28.83 / 19.97', '08-16 01:00:00 => 27.73 / 19.41', '08-16 02:00:00 => 26.76 / 18.92', '08-16 03:00:00 => 26.39 / 18.73', '08-16 04:00:00 => 26.33 / 18.7', '08-16 05:00:00 => 26.23 / 18.65', '08-16 06:00:00 => 25.99 / 18.53', '08-16 07:00:00 => 25.64 / 18.35', '08-16 08:00:00 => 24.84 / 17.94', '08-16 09:00:00 => 24.26 / 17.64', '08-16 10:00:00 => 24.8 / 17.92', '08-16 11:00:00 => 24.71 / 17.87', '08-16 12:00:00 => 23.79 / 17.4']
2026-08-15 13:25:02.873690: Rate min forward looking: now 13.77p at end of forecast 21.29p
2026-08-15 13:25:02.874153: Import rates: min 13.77p, max 46.05p, average 27.97p
2026-08-15 13:25:02.920575: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 13:25:02.921326: Rate thresholds (for charge/export) are import 45.55p (0.0p), export -0.1p (0.0p)
2026-08-15 13:25:02.922950: High export rate found rates in range 99p to -99p
2026-08-15 13:25:03.032585: Low Import rate found rates in range 13.77p to 44.19p
2026-08-15 13:25:03.033008: Car 0 charging is not planned as it is not plugged in
2026-08-15 13:25:03.053387: Battery level now 4.78kWh, -1hr ago 3.68kWh, at midnight 1.66kWh, battery value change in the last hour 13.06p, change today 36.99p, rate_forward 11.83p
2026-08-15 13:25:03.053918: Last hour: net energy 1.6kWh, import 1.6kWh, export 0.0kWh, car 0kWh, load 0.35kWh, net cost 25.11p, import 25.11p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 13:25:03.183064: Today's energy total net 12.9kWh, import 12.9kWh, export 0.0kWh, cost 337.98p, import 287.99p, export 0.0p, carbon 0.0kg
2026-08-15 13:25:03.183281: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 13:25:03.416286: Using weighted-bucket historical load forecast over 14 days
2026-08-15 13:25:03.442895: Today's load divergence 97.28%, in-day adjustment 117.86%, damping 0.95x, yesterday 143.77% today 97.41% blend 44.1%
2026-08-15 13:25:03.443200: Today's predicted so far 8.22kWh with 0.0kWh car/iBoost excluded, 6.99kWh import ignored, and 8.22kWh forecast extra.
2026-08-15 13:25:03.443266: Today's actual load so far 7.81kWh with 0.0kWh car/iBoost excluded, and 6.99kWh import ignored.
2026-08-15 13:25:03.489677: Inverter 0: Type SK Sunsynk
2026-08-15 13:25:03.489885: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 13:25:03.490125: Reserve min: 7%, battery_min: 7%
2026-08-15 13:25:03.490201: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 13:25:03.490503: Inverter 0 SoC: 5.13kW 32%, current charge rate 5000W, current discharge rate 5250W, current battery power -4522W, current battery voltage 51.2V, grid power -5298W, load power 301W, PV Power 0W
2026-08-15 13:25:03.490665: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 13:25:03.490759: Inverter 0 scheduled charge enable is True
2026-08-15 13:25:03.490804: Inverter 0 charge windows currently [{'start': 630, 'end': 960, 'average': 0}, {'start': 2070, 'end': 2400, 'average': 0}, {'start': 3510, 'end': 3840, 'average': 0}]
2026-08-15 13:25:03.490996: Inverter 0 Charge settings: 08-15 10:30:00-08-15 16:00:00, limit 100.0%, power 5.0kW
2026-08-15 13:25:03.491165: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 13:25:03.491208: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 13:25:03.491248: Inverter 0 scheduled discharge enable is False
2026-08-15 13:25:03.491383: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 13:25:03.491423: Inverter 0 discharge windows currently []
2026-08-15 13:25:03.491446: Note: Inverter does not support discharge freeze - disabled
2026-08-15 13:25:03.491465: Note: Inverter does not support charge freeze - disabled
2026-08-15 13:25:03.491567: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 13:25:03.569786: Dynamic load last period 0.30kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 13:25:03.570019: Plan was last updated on 2026-08-15 13:15:00+01:00 and is now 10.0 minutes old
2026-08-15 13:25:03.570307: Best charge window [ 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 13:30:00 - 16-08 18:30:00 @ 41.93p 100%, 16-08 19:00:00 - 17-08 13:30:00 @ 23.48p 100% ]
2026-08-15 13:25:03.570364: Best export window [  ]
2026-08-15 13:25:03.571206: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 13:25:03.574637: Load divergence over 8.0 hours mean 497.14W, min 291.6W, max 1389.6W, std dev 231.83W, divergence 23.32%
2026-08-15 13:25:03.596165: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 13:25:03.596295: LoadML is_calculating True
2026-08-15 13:25:03.596323: Not using thread pool as LoadML is calculating to avoid lockups
2026-08-15 13:25:03.642202: predict base end_record 08-16 13:40:00, final soc 16.0kWh, metric 1008.15p, metric_keep 0kWh, min_soc 2.37kWh @ 08-16 10:25:00, load 25.1kWh, PV 0.0kWh
2026-08-15 13:25:03.824818: Battery has 48.0 hours left - now at 5.13kWh
2026-08-15 13:25:03.895543: predict base10 end_record 08-16 13:40:00, final soc 13.41kWh, metric 969.63p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 10:05:00, load 25.92kWh, PV 0.0kWh
2026-08-15 13:25:04.062104: predict best10 end_record 08-16 13:40:00, final soc 1.77kWh, metric 668.42p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 10:05:00, load 25.92kWh, PV 0.0kWh
2026-08-15 13:25:04.192293: predict best end_record 08-16 13:40:00, final soc 1.9kWh, metric 645.24p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 11:45:00, load 25.1kWh, PV 0.0kWh
2026-08-15 13:25:04.201135: Saving plan best values to HA entities
2026-08-15 13:25:04.726428: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0
2026-08-15 13:25:04.736064: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 13:25:04.773418: Best charging limit SoC's [16.0, 16.0, 16.0]kWh, export []kWh gives import battery 14.47kWh, house 1.44kWh, export 0.0kWh, metric 645.24p, metric10 668.42p
2026-08-15 13:25:04.986893: Marginal costs baseline metric (no standing charge): 595.2567
2026-08-15 13:25:05.432221: Marginal energy costs matrix computed: min=15.22 max=32.8
2026-08-15 13:25:05.590610: Rate array import [{'start': 805, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 15.9p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1950, 'rate': 'expensive', 'range': '(24.8p - 32.9p)'}, {'start': 1950, 'end': 2040, 'rate': 'cheap', 'range': '(24.2p - 24.3p)'}, {'start': 2040, 'end': 2130, 'rate': 'expensive', 'range': '(24.7p - 25.4p)'}, {'start': 2130, 'end': 2260, 'rate': 'cheap', 'range': '(22.7p - 24.0p)'}] export [{'start': 805, 'end': 2260, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 13:25:05.609482: - Your estimated bill for today is £5.40 and tomorrow is £7.17
2026-08-15 13:25:05.609677: - Import rates are cheap (13.8p - 15.9p) for the next 2 and a half hours and then expensive (33.1p) for the next 1 hour.
2026-08-15 13:25:05.609805: - The battery is currently at 32% and is charging to 100% for the next 2 and a half hours.
2026-08-15 13:25:05.609896: - For the next 48 hours there will be no solar generation.
2026-08-15 13:25:05.609989: - You will run out of battery in 22 hours.
2026-08-15 13:25:05.610064: 
2026-08-15 13:25:05.652695: Plan calculation took 2.08 seconds
2026-08-15 13:25:05.656827: No high rate period found
2026-08-15 13:25:05.730152: Import threshold used for optimisation was 24.8p
2026-08-15 13:25:05.800768: Low import rate windows [0: 08-15 13:00:00 - 08-15 13:30:00 @ 15.36, 1: 08-15 13:30:00 - 08-15 14:00:00 @ 15.74, 2: 08-15 14:00:00 - 08-15 14:30:00 @ 14.57, 3: 08-15 14:30:00 - 08-15 15:00:00 @ 13.77, 4: 08-15 15:00:00 - 08-15 15:30:00 @ 15.02, 5: 08-15 15:30:00 - 08-15 16:00:00 @ 15.87, 6: 08-15 16:00:00 - 08-15 16:30:00 @ 33.13, 7: 08-15 16:30:00 - 08-15 17:00:00 @ 33.13, 8: 08-15 17:00:00 - 08-15 17:30:00 @ 38.46, 9: 08-15 17:30:00 - 08-15 18:00:00 @ 40.44, 10: 08-15 18:00:00 - 08-15 18:30:00 @ 41.55, 11: 08-15 18:30:00 - 08-15 19:00:00 @ 43.82, 12: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 13: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 14: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 15: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 16: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 17: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 18: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 19: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 20: 08-15 23:00:00 - 08-15 23:30:00 @ 29.37, 21: 08-15 23:30:00 - 08-16 00:00:00 @ 29.2, 22: 08-16 00:00:00 - 08-16 00:30:00 @ 28.83, 23: 08-16 00:30:00 - 08-16 01:00:00 @ 28.46, 24: 08-16 01:00:00 - 08-16 01:30:00 @ 27.73, 25: 08-16 01:30:00 - 08-16 02:00:00 @ 27.01, 26: 08-16 02:00:00 - 08-16 02:30:00 @ 26.76, 27: 08-16 02:30:00 - 08-16 03:00:00 @ 26.48, 28: 08-16 03:00:00 - 08-16 03:30:00 @ 26.39, 29: 08-16 03:30:00 - 08-16 04:00:00 @ 26.27, 30: 08-16 04:00:00 - 08-16 04:30:00 @ 26.33, 31: 08-16 04:30:00 - 08-16 05:00:00 @ 26.37, 32: 08-16 05:00:00 - 08-16 05:30:00 @ 26.23, 33: 08-16 05:30:00 - 08-16 06:00:00 @ 26.07, 34: 08-16 06:00:00 - 08-16 06:30:00 @ 25.99, 35: 08-16 06:30:00 - 08-16 07:00:00 @ 25.92, 36: 08-16 07:00:00 - 08-16 07:30:00 @ 25.64, 37: 08-16 07:30:00 - 08-16 08:00:00 @ 25.39, 38: 08-16 08:00:00 - 08-16 08:30:00 @ 24.84, 39: 08-16 08:30:00 - 08-16 09:00:00 @ 24.28, 40: 08-16 09:00:00 - 08-16 09:30:00 @ 24.26, 41: 08-16 09:30:00 - 08-16 10:00:00 @ 24.22, 42: 08-16 10:00:00 - 08-16 10:30:00 @ 24.8, 43: 08-16 10:30:00 - 08-16 11:00:00 @ 25.37, 44: 08-16 11:00:00 - 08-16 11:30:00 @ 24.71, 45: 08-16 11:30:00 - 08-16 12:00:00 @ 24.02, 46: 08-16 12:00:00 - 08-16 12:30:00 @ 23.79, 47: 08-16 12:30:00 - 08-16 13:00:00 @ 23.55, 48: 08-16 13:00:00 - 08-16 13:30:00 @ 23.14, 49: 08-16 13:30:00 - 08-16 14:00:00 @ 22.71, 50: 08-16 14:00:00 - 08-16 14:30:00 @ 22.01, 51: 08-16 14:30:00 - 08-16 15:00:00 @ 21.29, 52: 08-16 15:00:00 - 08-16 15:30:00 @ 22.01, 53: 08-16 15:30:00 - 08-16 16:00:00 @ 22.71, 54: 08-16 16:00:00 - 08-16 16:30:00 @ 37.14, 55: 08-16 16:30:00 - 08-16 17:00:00 @ 37.91, 56: 08-16 17:00:00 - 08-16 17:30:00 @ 40.13, 57: 08-16 17:30:00 - 08-16 18:00:00 @ 42.36, 58: 08-16 18:00:00 - 08-16 18:30:00 @ 44.19, 59: 08-16 19:00:00 - 08-16 19:30:00 @ 33.04, 60: 08-16 19:30:00 - 08-16 20:00:00 @ 33.71, 61: 08-16 20:00:00 - 08-16 20:30:00 @ 33.83, 62: 08-16 20:30:00 - 08-16 21:00:00 @ 33.94, 63: 08-16 21:00:00 - 08-16 21:30:00 @ 33.73, 64: 08-16 21:30:00 - 08-16 22:00:00 @ 33.53, 65: 08-16 22:00:00 - 08-16 22:30:00 @ 32.36, 66: 08-16 22:30:00 - 08-16 23:00:00 @ 31.17, 67: 08-16 23:00:00 - 08-16 23:30:00 @ 29.37, 68: 08-16 23:30:00 - 08-17 00:00:00 @ 29.2, 69: 08-17 00:00:00 - 08-17 00:30:00 @ 28.83, 70: 08-17 00:30:00 - 08-17 01:00:00 @ 28.46, 71: 08-17 01:00:00 - 08-17 01:30:00 @ 27.73, 72: 08-17 01:30:00 - 08-17 02:00:00 @ 27.01, 73: 08-17 02:00:00 - 08-17 02:30:00 @ 26.76, 74: 08-17 02:30:00 - 08-17 03:00:00 @ 26.48, 75: 08-17 03:00:00 - 08-17 03:30:00 @ 26.39, 76: 08-17 03:30:00 - 08-17 04:00:00 @ 26.27, 77: 08-17 04:00:00 - 08-17 04:30:00 @ 26.33, 78: 08-17 04:30:00 - 08-17 05:00:00 @ 26.37, 79: 08-17 05:00:00 - 08-17 05:30:00 @ 26.23, 80: 08-17 05:30:00 - 08-17 06:00:00 @ 26.07, 81: 08-17 06:00:00 - 08-17 06:30:00 @ 25.99, 82: 08-17 06:30:00 - 08-17 07:00:00 @ 25.92, 83: 08-17 07:00:00 - 08-17 07:30:00 @ 25.64, 84: 08-17 07:30:00 - 08-17 08:00:00 @ 25.39, 85: 08-17 08:00:00 - 08-17 08:30:00 @ 24.84, 86: 08-17 08:30:00 - 08-17 09:00:00 @ 24.28, 87: 08-17 09:00:00 - 08-17 09:30:00 @ 24.26, 88: 08-17 09:30:00 - 08-17 10:00:00 @ 24.22, 89: 08-17 10:00:00 - 08-17 10:30:00 @ 24.8, 90: 08-17 10:30:00 - 08-17 11:00:00 @ 25.37, 91: 08-17 11:00:00 - 08-17 11:30:00 @ 24.71, 92: 08-17 11:30:00 - 08-17 12:00:00 @ 24.02, 93: 08-17 12:00:00 - 08-17 12:30:00 @ 23.79, 94: 08-17 12:30:00 - 08-17 13:00:00 @ 23.55, 95: 08-17 13:00:00 - 08-17 13:30:00 @ 23.14]
2026-08-15 13:25:05.813656: Include original charge start 08-15 10:30:00, keeping this instead of new start 08-15 13:00:00
2026-08-15 13:25:05.813921: Inverter 0 Charge window will be: 2026-08-15 10:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 32%, target 100%
2026-08-15 13:25:05.814147: Inverter 0 Target SoC 100%, (this inverter 100%), battery temperature 20°C, select charge rate 5000W (real 5000W), current charge rate 5000W
2026-08-15 13:25:05.814419: Adjust idle time, charge 10:30:00-16:00:00 discharge 00:00:00-00:00:00
2026-08-15 13:25:05.814690: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 13:25:05.814859: No export window planned
2026-08-15 13:25:05.815161: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 13:25:05.815290: Adjust idle time, charge 10:30:00-16:00:00 discharge 00:00:00-00:00:00
2026-08-15 13:25:05.815523: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 13:25:05.815720: Inverter 0 setting charging SoC to 100% as per target
2026-08-15 13:25:05.815832: Inverter 0 adjust target SoC for charge to 100% based on requested all inverter SoC 100%
2026-08-15 13:25:05.815971: Inverter 0 Current Target SoC is 100%, already at target
2026-08-15 13:25:05.816163: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:25:05.816298: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:25:05.816403: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:25:05.816537: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:25:05.816652: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:25:05.816782: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:25:05.816895: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:25:05.817104: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 13:25:05.817227: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 13:25:05.817363: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 13:25:05.817472: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 13:25:05.817589: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 13:25:05.817692: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 13:25:05.817807: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 13:25:05.817949: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:25:05.818083: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:25:05.818190: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:25:05.818304: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:25:05.818402: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:25:05.818505: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:25:05.818622: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:25:05.818755: Inverter 0 count register writes 0
2026-08-15 13:25:05.840243: Will recompute the plan as it is now 10.0 minutes old and will exceed the max age of 10 minutes before the next run
2026-08-15 13:25:05.840536: Recompute is saving previous plan...
2026-08-15 13:25:05.844316: Best charge window [ 15-08 13:00:00 - 15-08 13:30:00 @ 15.36p 100%, 15-08 13:30:00 - 15-08 14:00:00 @ 15.74p 100%, 15-08 14:00:00 - 15-08 14:30:00 @ 14.57p 100%, 15-08 14:30:00 - 15-08 15:00:00 @ 13.77p 100%, 15-08 15:00:00 - 15-08 15:30:00 @ 15.02p 100%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 100%, 15-08 16:00:00 - 15-08 16:30:00 @ 33.13p 100%, 15-08 16:30:00 - 15-08 17:00:00 @ 33.13p 100%, 15-08 17:00:00 - 15-08 17:30:00 @ 38.46p 100%, 15-08 17:30:00 - 15-08 18:00:00 @ 40.44p 100%, 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 100%, 15-08 18:30:00 - 15-08 19:00:00 @ 43.82p 100%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 100%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 100%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 100%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 100%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 100%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 100%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 100%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 100%, 15-08 23:00:00 - 15-08 23:30:00 @ 29.37p 100%, 15-08 23:30:00 - 16-08 00:00:00 @ 29.2p 100%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.83p 100%, 16-08 00:30:00 - 16-08 01:00:00 @ 28.46p 100%, 16-08 01:00:00 - 16-08 01:30:00 @ 27.73p 100%, 16-08 01:30:00 - 16-08 02:00:00 @ 27.01p 100%, 16-08 02:00:00 - 16-08 02:30:00 @ 26.76p 100%, 16-08 02:30:00 - 16-08 03:00:00 @ 26.48p 100%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.39p 100%, 16-08 03:30:00 - 16-08 04:00:00 @ 26.27p 100%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.33p 100%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.37p 100%, 16-08 05:00:00 - 16-08 05:30:00 @ 26.23p 100%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.07p 100%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.99p 100%, 16-08 06:30:00 - 16-08 07:00:00 @ 25.92p 100%, 16-08 07:00:00 - 16-08 07:30:00 @ 25.64p 100%, 16-08 07:30:00 - 16-08 08:00:00 @ 25.39p 100%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.84p 100%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.28p 100%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.26p 100%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.22p 100%, 16-08 10:00:00 - 16-08 10:30:00 @ 24.8p 100%, 16-08 10:30:00 - 16-08 11:00:00 @ 25.37p 100%, 16-08 11:00:00 - 16-08 11:30:00 @ 24.71p 100%, 16-08 11:30:00 - 16-08 12:00:00 @ 24.02p 100%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.79p 100%, 16-08 12:30:00 - 16-08 13:00:00 @ 23.55p 100%, 16-08 13:00:00 - 16-08 13:30:00 @ 23.14p 100%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.71p 100%, 16-08 14:00:00 - 16-08 14:30:00 @ 22.01p 100%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.29p 100%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.01p 100%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.71p 100%, 16-08 16:00:00 - 16-08 16:30:00 @ 37.14p 100%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.91p 100%, 16-08 17:00:00 - 16-08 17:30:00 @ 40.13p 100%, 16-08 17:30:00 - 16-08 18:00:00 @ 42.36p 100%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.19p 100%, 16-08 19:00:00 - 16-08 19:30:00 @ 33.04p 100%, 16-08 19:30:00 - 16-08 20:00:00 @ 33.71p 100%, 16-08 20:00:00 - 16-08 20:30:00 @ 33.83p 100%, 16-08 20:30:00 - 16-08 21:00:00 @ 33.94p 100%, 16-08 21:00:00 - 16-08 21:30:00 @ 33.73p 100%, 16-08 21:30:00 - 16-08 22:00:00 @ 33.53p 100%, 16-08 22:00:00 - 16-08 22:30:00 @ 32.36p 100%, 16-08 22:30:00 - 16-08 23:00:00 @ 31.17p 100%, 16-08 23:00:00 - 16-08 23:30:00 @ 29.37p 100%, 16-08 23:30:00 - 17-08 00:00:00 @ 29.2p 100%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.83p 100%, 17-08 00:30:00 - 17-08 01:00:00 @ 28.46p 100%, 17-08 01:00:00 - 17-08 01:30:00 @ 27.73p 100%, 17-08 01:30:00 - 17-08 02:00:00 @ 27.01p 100%, 17-08 02:00:00 - 17-08 02:30:00 @ 26.76p 100%, 17-08 02:30:00 - 17-08 03:00:00 @ 26.48p 100%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.39p 100%, 17-08 03:30:00 - 17-08 04:00:00 @ 26.27p 100%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.33p 100%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.37p 100%, 17-08 05:00:00 - 17-08 05:30:00 @ 26.23p 100%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.07p 100%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.99p 100%, 17-08 06:30:00 - 17-08 07:00:00 @ 25.92p 100%, 17-08 07:00:00 - 17-08 07:30:00 @ 25.64p 100%, 17-08 07:30:00 - 17-08 08:00:00 @ 25.39p 100%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.84p 100%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.28p 100%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.26p 100%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.22p 100%, 17-08 10:00:00 - 17-08 10:30:00 @ 24.8p 100%, 17-08 10:30:00 - 17-08 11:00:00 @ 25.37p 100%, 17-08 11:00:00 - 17-08 11:30:00 @ 24.71p 100%, 17-08 11:30:00 - 17-08 12:00:00 @ 24.02p 100%, 17-08 12:00:00 - 17-08 12:30:00 @ 23.79p 100%, 17-08 12:30:00 - 17-08 13:00:00 @ 23.55p 100%, 17-08 13:00:00 - 17-08 13:30:00 @ 23.14p 100% ]
2026-08-15 13:25:05.844491: Best export window [  ]
2026-08-15 13:25:05.845627: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 13:25:05.850751: Load divergence over 8.0 hours mean 497.14W, min 291.6W, max 1389.6W, std dev 231.83W, divergence 23.32%
2026-08-15 13:25:05.873099: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 13:25:05.873284: LoadML is_calculating True
2026-08-15 13:25:05.873382: Not using thread pool as LoadML is calculating to avoid lockups
2026-08-15 13:25:05.885958: Calculate Best options: mode(Control charge & discharge), calculate_export_oncharge(False), calculate_export_on_pv(True), set_export_freeze_only(False), set_discharge_during_charge(True), combine_charge_slots(False), combine_export_slots(False), combine_rate_threshold(0.0), best_soc_min(0.0 kWh), best_soc_max(0.0 kWh), best_soc_keep(0.0 kWh), inverter_loss(4%), battery_loss(3%), battery_loss_discharge (3%), inverter_hybrid(True), metric_min_improvement(0.0p), metric_min_improvement_export(0.1p), metric_min_improvement_export_freeze(0.1p), metric_battery_cycle(0.0p/kWh), metric_battery_value_scaling(1.0 x) 
2026-08-15 13:25:05.887352: Optimise levels pass started at 2026-08-15 13:25:05
2026-08-15 13:25:05.887508: Optimise all windows, total charge 95 export 1
2026-08-15 13:25:09.268015: >> Region optimisation pass width 960 gives best_metric 951.17p, best_cost 964.61p, best_cycle 44.27kWh, best_import 32.0kWh
2026-08-15 13:25:12.523878: >> Region optimisation pass width 480 gives best_metric 951.17p, best_cost 964.61p, best_cycle 44.27kWh, best_import 32.0kWh
2026-08-15 13:25:13.840264: >> Region optimisation pass width 240 gives best_metric 951.17p, best_cost 964.61p, best_cycle 44.27kWh, best_import 32.0kWh
2026-08-15 13:25:17.063306: >> Region optimisation pass width 120 gives best_metric 951.17p, best_cost 964.61p, best_cycle 44.27kWh, best_import 32.0kWh
2026-08-15 13:25:17.077395: Calculated end_record as 08-16 13:30:00 based on best_price 22.71p, next_charge_start 08-15 13:30:00, max_windows 49
2026-08-15 13:25:17.077644: Optimise levels pass ended at 2026-08-15 13:25:17, duration 11.2 seconds tried 264 combinations
2026-08-15 13:25:17.077873: Set best_price_charge_level 24.4p, best_price_export_level 0p, best_price_charge 22.71p, best_cost_export 0p, best_metric 951.17p, best_keep 0kWh, best_cycle 44.27kWh, best_carbon 0kg, best_import 32.0kWh
2026-08-15 13:25:17.098746: Starting detailed optimisation end_record 08-16 13:30:00, best_price_charge 22.71p, best_price_export 0p. lowest_price_charge 13.77p with charge limits [16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0]kWh and export limits []kWh
2026-08-15 13:25:25.944731: ML Predictor: Epoch 19/30: lr=0.00038 huber_loss=0.0059 val_mae=0.0013 kWh val_bias=+0.0002 kWh (+0.3%) combined=0.0008 kWh ema_combined=0.0010 kWh
2026-08-15 13:25:38.127661: Tweak plan optimisation started metric 556.9p, cost 573.55p
2026-08-15 13:25:38.647954: Tweak optimisation finished metric 556.9p, cost 573.55p, metric_keep 0kWh, cycle 25.64kWh, carbon 0kg, import 14.95kWh, changed 8 window(s)
2026-08-15 13:25:38.677816: Swap charge optimisation started metric 556.9p, cost 573.55p, min_improvement_swap 0.1p
2026-08-15 13:25:44.221498: Swap charge optimisation finished metric 556.9p, cost 573.55p
2026-08-15 13:25:44.339642: Pruned 3 dead plan slot(s) in 9 trial(s), nominal metric 553.07p -> 553.07p, plan now metric 557.0p, cost 573.55p, cycle 25.64kWh, import 14.95kWh
2026-08-15 13:25:44.352638: Raw charge windows [ 15-08 13:00:00 - 15-08 13:30:00 @ 15.36p 100%, 15-08 13:30:00 - 15-08 14:00:00 @ 15.74p 100%, 15-08 14:00:00 - 15-08 14:30:00 @ 14.57p 100%, 15-08 14:30:00 - 15-08 15:00:00 @ 13.77p 100%, 15-08 15:00:00 - 15-08 15:30:00 @ 15.02p 100%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 100%, 15-08 16:00:00 - 15-08 16:30:00 @ 33.13p 0%, 15-08 16:30:00 - 15-08 17:00:00 @ 33.13p 0%, 15-08 17:00:00 - 15-08 17:30:00 @ 38.46p 0%, 15-08 17:30:00 - 15-08 18:00:00 @ 40.44p 0%, 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 0%, 15-08 18:30:00 - 15-08 19:00:00 @ 43.82p 0%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 0%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 0%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 0%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 0%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 29.37p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 29.2p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.83p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 28.46p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 27.73p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 27.01p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 26.76p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 26.48p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.39p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 26.27p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.33p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.37p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 26.23p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.07p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.99p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 25.92p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 25.64p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 25.39p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.84p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.28p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.26p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.22p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 24.8p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 25.37p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 24.71p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 24.02p 0%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.79p 0%, 16-08 12:30:00 - 16-08 13:00:00 @ 23.55p 0%, 16-08 13:00:00 - 16-08 13:30:00 @ 23.14p 0%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.71p 100%, 16-08 14:00:00 - 16-08 14:30:00 @ 22.01p 100%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.29p 100%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.01p 100%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.71p 100%, 16-08 16:00:00 - 16-08 16:30:00 @ 37.14p 100%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.91p 100%, 16-08 17:00:00 - 16-08 17:30:00 @ 40.13p 100%, 16-08 17:30:00 - 16-08 18:00:00 @ 42.36p 100%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.19p 100%, 16-08 19:00:00 - 16-08 19:30:00 @ 33.04p 100%, 16-08 19:30:00 - 16-08 20:00:00 @ 33.71p 100%, 16-08 20:00:00 - 16-08 20:30:00 @ 33.83p 100%, 16-08 20:30:00 - 16-08 21:00:00 @ 33.94p 100%, 16-08 21:00:00 - 16-08 21:30:00 @ 33.73p 100%, 16-08 21:30:00 - 16-08 22:00:00 @ 33.53p 100%, 16-08 22:00:00 - 16-08 22:30:00 @ 32.36p 100%, 16-08 22:30:00 - 16-08 23:00:00 @ 31.17p 100%, 16-08 23:00:00 - 16-08 23:30:00 @ 29.37p 100%, 16-08 23:30:00 - 17-08 00:00:00 @ 29.2p 100%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.83p 100%, 17-08 00:30:00 - 17-08 01:00:00 @ 28.46p 100%, 17-08 01:00:00 - 17-08 01:30:00 @ 27.73p 100%, 17-08 01:30:00 - 17-08 02:00:00 @ 27.01p 100%, 17-08 02:00:00 - 17-08 02:30:00 @ 26.76p 100%, 17-08 02:30:00 - 17-08 03:00:00 @ 26.48p 100%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.39p 100%, 17-08 03:30:00 - 17-08 04:00:00 @ 26.27p 100%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.33p 100%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.37p 100%, 17-08 05:00:00 - 17-08 05:30:00 @ 26.23p 100%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.07p 100%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.99p 100%, 17-08 06:30:00 - 17-08 07:00:00 @ 25.92p 100%, 17-08 07:00:00 - 17-08 07:30:00 @ 25.64p 100%, 17-08 07:30:00 - 17-08 08:00:00 @ 25.39p 100%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.84p 100%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.28p 100%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.26p 100%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.22p 100%, 17-08 10:00:00 - 17-08 10:30:00 @ 24.8p 100%, 17-08 10:30:00 - 17-08 11:00:00 @ 25.37p 100%, 17-08 11:00:00 - 17-08 11:30:00 @ 24.71p 100%, 17-08 11:30:00 - 17-08 12:00:00 @ 24.02p 100%, 17-08 12:00:00 - 17-08 12:30:00 @ 23.79p 100%, 17-08 12:30:00 - 17-08 13:00:00 @ 23.55p 100%, 17-08 13:00:00 - 17-08 13:30:00 @ 23.14p 100% ] reserve 1.12
2026-08-15 13:25:44.353595: Unclipped charge windows [ 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 13:30:00 - 16-08 18:30:00 @ 41.93p 100%, 16-08 19:00:00 - 17-08 13:30:00 @ 23.48p 100% ] reserve 1.12
2026-08-15 13:25:44.353897: Unfiltered charge windows [ 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 13:30:00 - 16-08 18:30:00 @ 41.93p 100%, 16-08 19:00:00 - 17-08 13:30:00 @ 23.48p 100% ] reserve 1.12
2026-08-15 13:25:44.354178: Filtered charge windows [ 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 13:30:00 - 16-08 18:30:00 @ 41.93p 100%, 16-08 19:00:00 - 17-08 13:30:00 @ 23.48p 100% ] reserve 1.12
2026-08-15 13:25:44.396831: Previous plan best metric is 556.9 (cost 573.55) and new plan best metric is 556.9 (cost 573.55)
2026-08-15 13:25:44.397313: New plan metric is not significantly better (metric_min_improvement_plan 2.0) than previous plan, using previous plan
2026-08-15 13:25:44.397551: Plan valid is now true after recompute was False
2026-08-15 13:25:44.427637: predict base end_record 08-16 13:30:00, final soc 15.99kWh, metric 1005.24p, metric_keep 0kWh, min_soc 2.37kWh @ 08-16 10:25:00, load 24.98kWh, PV 0.0kWh
2026-08-15 13:25:44.745816: Battery has 48.0 hours left - now at 5.13kWh
2026-08-15 13:25:44.816044: predict base10 end_record 08-16 13:30:00, final soc 12.76kWh, metric 950.95p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 10:05:00, load 25.8kWh, PV 0.0kWh
2026-08-15 13:25:44.994373: predict best10 end_record 08-16 13:30:00, final soc 1.12kWh, metric 649.74p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 10:05:00, load 25.8kWh, PV 0.0kWh
2026-08-15 13:25:45.186841: predict best end_record 08-16 13:30:00, final soc 1.12kWh, metric 623.54p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 11:45:00, load 24.98kWh, PV 0.0kWh
2026-08-15 13:25:45.186946: Saving plan best values to HA entities
2026-08-15 13:25:45.420517: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0
2026-08-15 13:25:45.429789: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 13:25:45.438868: Best charging limit SoC's [16.0, 16.0, 16.0]kWh, export []kWh gives import battery 13.51kWh, house 1.44kWh, export 0.0kWh, metric 623.54p, metric10 649.74p
2026-08-15 13:25:45.634067: Marginal costs baseline metric (no standing charge): 573.552
2026-08-15 13:25:45.980920: Marginal energy costs matrix computed: min=15.22 max=32.8
2026-08-15 13:25:46.120132: Rate array import [{'start': 805, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 15.9p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1950, 'rate': 'expensive', 'range': '(24.8p - 32.9p)'}, {'start': 1950, 'end': 2040, 'rate': 'cheap', 'range': '(24.2p - 24.3p)'}, {'start': 2040, 'end': 2130, 'rate': 'expensive', 'range': '(24.7p - 25.4p)'}, {'start': 2130, 'end': 2250, 'rate': 'cheap', 'range': '(23.1p - 24.0p)'}] export [{'start': 805, 'end': 2250, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 13:25:46.123313: - Your estimated bill for today is £5.40 and tomorrow is £7.17
2026-08-15 13:25:46.123378: - Import rates are cheap (13.8p - 15.9p) for the next 2 and a half hours and then expensive (33.1p) for the next 1 hour.
2026-08-15 13:25:46.123401: - The battery is currently at 32% and is charging to 100% for the next 2 and a half hours.
2026-08-15 13:25:46.123419: - For the next 48 hours there will be no solar generation.
2026-08-15 13:25:46.123517: - You will run out of battery in 22 hours.
2026-08-15 13:25:46.123554: 
2026-08-15 13:25:46.185166: Plan calculation took 40.34 seconds
2026-08-15 13:25:46.185458: Inverter 0: Type SK Sunsynk
2026-08-15 13:25:46.185508: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 13:25:46.185689: Reserve min: 7%, battery_min: 7%
2026-08-15 13:25:46.185761: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 13:25:46.186041: Inverter 0 SoC: 5.47kW 34%, current charge rate 5000W, current discharge rate 5250W, current battery power -4523W, current battery voltage 51.2V, grid power -5308W, load power 311W, PV Power 0W
2026-08-15 13:25:46.186242: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 13:25:46.186343: Inverter 0 scheduled charge enable is True
2026-08-15 13:25:46.186400: Inverter 0 charge windows currently [{'start': 630, 'end': 960, 'average': 0}, {'start': 2070, 'end': 2400, 'average': 0}, {'start': 3510, 'end': 3840, 'average': 0}]
2026-08-15 13:25:46.186525: Inverter 0 Charge settings: 08-15 10:30:00-08-15 16:00:00, limit 100.0%, power 5.0kW
2026-08-15 13:25:46.186657: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 13:25:46.186695: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 13:25:46.186732: Inverter 0 scheduled discharge enable is False
2026-08-15 13:25:46.186862: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 13:25:46.186900: Inverter 0 discharge windows currently []
2026-08-15 13:25:46.186924: Note: Inverter does not support discharge freeze - disabled
2026-08-15 13:25:46.186942: Note: Inverter does not support charge freeze - disabled
2026-08-15 13:25:46.186959: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 13:25:46.345267: Include original charge start 08-15 10:30:00, keeping this instead of new start 08-15 13:00:00
2026-08-15 13:25:46.345623: Inverter 0 Charge window will be: 2026-08-15 10:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 34%, target 100%
2026-08-15 13:25:46.345916: Inverter 0 Target SoC 100%, (this inverter 100%), battery temperature 20°C, select charge rate 5000W (real 5000W), current charge rate 5000W
2026-08-15 13:25:46.346260: Adjust idle time, charge 10:30:00-16:00:00 discharge 00:00:00-00:00:00
2026-08-15 13:25:46.346611: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 13:25:46.346852: No export window planned
2026-08-15 13:25:46.347185: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 13:25:46.347327: Adjust idle time, charge 10:30:00-16:00:00 discharge 00:00:00-00:00:00
2026-08-15 13:25:46.347671: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 13:25:46.347921: Inverter 0 setting charging SoC to 100% as per target
2026-08-15 13:25:46.348061: Inverter 0 adjust target SoC for charge to 100% based on requested all inverter SoC 100%
2026-08-15 13:25:46.348292: Inverter 0 Current Target SoC is 100%, already at target
2026-08-15 13:25:46.348538: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:25:46.348678: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:25:46.348838: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:25:46.349121: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:25:46.349273: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:25:46.349432: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:25:46.349586: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:25:46.349858: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 13:25:46.350026: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 13:25:46.350255: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 13:25:46.350440: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 13:25:46.350596: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 13:25:46.350750: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 13:25:46.350933: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 13:25:46.351187: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:25:46.351325: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:25:46.351480: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:25:46.351634: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:25:46.351786: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:25:46.351939: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:25:46.352142: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:25:46.352268: Inverter 0 count register writes 0
2026-08-15 13:25:46.381289: Total inverter register writes now 825
2026-08-15 13:25:46.423244: Info: Completed run status Charging
2026-08-15 13:25:46.431901: Info: record_status Charging target 34%-100.0%
2026-08-15 13:25:46.441448: Saved current settings to /config/predbat_config.json
2026-08-15 13:25:46.441824: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 13:26:09.058709: ML Predictor: Epoch 20/30: lr=0.00034 huber_loss=0.0056 val_mae=0.0014 kWh val_bias=-0.0005 kWh (-1.0%) combined=0.0011 kWh ema_combined=0.0010 kWh
2026-08-15 13:26:26.597977: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 13:26:26.598343: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 13:26:26.598400: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 13:26:26.598580: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 13:26:26.598629: Note: Inverter does not support discharge freeze - disabled
2026-08-15 13:26:26.598657: Note: Inverter does not support charge freeze - disabled
2026-08-15 13:26:26.598690: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 13:26:39.836451: ML Predictor: Epoch 21/30: lr=0.00030 huber_loss=0.0055 val_mae=0.0014 kWh val_bias=-0.0005 kWh (-1.0%) combined=0.0013 kWh ema_combined=0.0011 kWh
2026-08-15 13:27:09.750589: ML Predictor: Epoch 22/30: lr=0.00026 huber_loss=0.0050 val_mae=0.0013 kWh val_bias=-0.0003 kWh (-0.6%) combined=0.0009 kWh ema_combined=0.0011 kWh
2026-08-15 13:27:43.793324: ML Predictor: Epoch 23/30: lr=0.00022 huber_loss=0.0051 val_mae=0.0012 kWh val_bias=+0.0000 kWh (+0.1%) combined=0.0006 kWh ema_combined=0.0009 kWh
2026-08-15 13:28:14.964204: ML Predictor: Epoch 24/30: lr=0.00019 huber_loss=0.0052 val_mae=0.0012 kWh val_bias=-0.0004 kWh (-0.8%) combined=0.0009 kWh ema_combined=0.0009 kWh
2026-08-15 13:28:27.111488: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 13:28:27.111783: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 13:28:27.111832: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 13:28:27.111971: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 13:28:27.112012: Note: Inverter does not support discharge freeze - disabled
2026-08-15 13:28:27.112034: Note: Inverter does not support charge freeze - disabled
2026-08-15 13:28:27.112052: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 13:28:46.640180: ML Predictor: Epoch 25/30: lr=0.00016 huber_loss=0.0047 val_mae=0.0012 kWh val_bias=-0.0002 kWh (-0.4%) combined=0.0007 kWh ema_combined=0.0009 kWh
2026-08-15 13:29:17.428072: ML Predictor: Epoch 26/30: lr=0.00014 huber_loss=0.0047 val_mae=0.0011 kWh val_bias=+0.0000 kWh (+0.0%) combined=0.0007 kWh ema_combined=0.0008 kWh
2026-08-15 13:29:48.424044: ML Predictor: Epoch 27/30: lr=0.00012 huber_loss=0.0046 val_mae=0.0012 kWh val_bias=+0.0002 kWh (+0.3%) combined=0.0009 kWh ema_combined=0.0008 kWh
2026-08-15 13:30:00.568404: --------------- PredBat - update at 2026-08-15 13:30:00+01:00 with clock skew 0 minutes, minutes now 810
2026-08-15 13:30:00.569652: Saved current settings to /config/predbat_config.json
2026-08-15 13:30:00.569898: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 75.0 minutes
2026-08-15 13:30:00.570166: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.1, latest beta is v8.48.1
2026-08-15 13:30:00.570346: Autoupdate: Currently up to date
2026-08-15 13:30:00.628624: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 13:30:00.628806: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 13:30:00.629111: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 13:30:00.629872: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 13:30:00.630046: Predbat mode is set to Control charge & discharge
2026-08-15 13:30:01.092404: Found 21602 load_today datapoints going back 28 days
2026-08-15 13:30:01.092882: Using load_power data to fill gaps in load_today data
2026-08-15 13:30:02.572355: Processing 721 30-minute periods for power integration
2026-08-15 13:30:02.921857: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 13:30:02.922178: Car charging hold False, threshold 6.0kWh
2026-08-15 13:30:02.922260: Current data so far today: load 7.8kWh, import 13.8kWh, export 0.0kWh, PV 0kWh
2026-08-15 13:30:02.938548: Cars: SoC: [11.134]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 13:30:02.939101: Standing charge is set to 49.98p
2026-08-15 13:30:03.086746: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 13:30:03.086993: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 13:30:03.087366: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 170.0 minutes
2026-08-15 13:30:03.088262: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 170.0 minutes
2026-08-15 13:30:03.097738: Loaded 95 datapoints of futurerate analysis
2026-08-15 13:30:03.505233: Predicted future rates: ['08-15 00:00:00 => 28.9 / 20.01', '08-15 01:00:00 => 27.54 / 19.31', '08-15 02:00:00 => 26.52 / 18.8', '08-15 03:00:00 => 25.99 / 18.53', '08-15 04:00:00 => 25.8 / 18.43', '08-15 05:00:00 => 25.96 / 18.51', '08-15 06:00:00 => 25.55 / 18.3', '08-15 07:00:00 => 24.33 / 17.68', '08-15 08:00:00 => 23.03 / 17.01', '08-15 09:00:00 => 22.05 / 16.51', '08-15 10:00:00 => 20.43 / 15.68', '08-15 11:00:00 => 18.01 / 14.45', '08-15 12:00:00 => 16.37 / 13.61', '08-15 13:00:00 => 15.76 / 13.3', '08-15 14:00:00 => 15.35 / 13.09', '08-15 15:00:00 => 15.86 / 13.35', '08-15 16:00:00 => 32.89 / 16.13', '08-15 17:00:00 => 38.02 / 18.75', '08-15 18:00:00 => 42.36 / 20.96', '08-15 19:00:00 => 31.09 / 21.13', '08-15 20:00:00 => 31.64 / 21.41', '08-15 21:00:00 => 31.64 / 21.41', '08-15 22:00:00 => 30.58 / 20.87', '08-15 23:00:00 => 29.37 / 20.25', '08-16 00:00:00 => 28.83 / 19.97', '08-16 01:00:00 => 27.73 / 19.41', '08-16 02:00:00 => 26.76 / 18.92', '08-16 03:00:00 => 26.39 / 18.73', '08-16 04:00:00 => 26.33 / 18.7', '08-16 05:00:00 => 26.23 / 18.65', '08-16 06:00:00 => 25.99 / 18.53', '08-16 07:00:00 => 25.64 / 18.35', '08-16 08:00:00 => 24.84 / 17.94', '08-16 09:00:00 => 24.26 / 17.64', '08-16 10:00:00 => 24.8 / 17.92', '08-16 11:00:00 => 24.71 / 17.87', '08-16 12:00:00 => 23.79 / 17.4']
2026-08-15 13:30:03.599357: Rate min forward looking: now 13.77p at end of forecast 21.29p
2026-08-15 13:30:03.599956: Import rates: min 13.77p, max 46.05p, average 27.99p
2026-08-15 13:30:03.646939: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 13:30:03.647440: Rate thresholds (for charge/export) are import 45.55p (0.0p), export -0.1p (0.0p)
2026-08-15 13:30:03.648987: High export rate found rates in range 99p to -99p
2026-08-15 13:30:03.774778: Low Import rate found rates in range 13.77p to 44.19p
2026-08-15 13:30:03.775125: Car 0 charging is not planned as it is not plugged in
2026-08-15 13:30:03.793400: Battery level now 5.13kWh, -1hr ago 3.68kWh, at midnight 1.66kWh, battery value change in the last hour 17.12p, change today 41.06p, rate_forward 11.83p
2026-08-15 13:30:03.794030: Last hour: net energy 2.45kWh, import 2.45kWh, export 0.0kWh, car 0kWh, load 0.28kWh, net cost 38.09p, import 38.09p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 13:30:03.913618: Today's energy total net 13.8kWh, import 13.8kWh, export 0.0kWh, cost 351.8p, import 301.82p, export 0.0p, carbon 0.0kg
2026-08-15 13:30:03.913808: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 13:30:04.076818: Using weighted-bucket historical load forecast over 14 days
2026-08-15 13:30:04.106653: Today's load divergence 97.13%, in-day adjustment 117.61%, damping 0.95x, yesterday 143.77% today 97.27% blend 43.75%
2026-08-15 13:30:04.107343: Today's predicted so far 8.32kWh with 0.0kWh car/iBoost excluded, 7.83kWh import ignored, and 8.32kWh forecast extra.
2026-08-15 13:30:04.107473: Today's actual load so far 7.89kWh with 0.0kWh car/iBoost excluded, and 7.83kWh import ignored.
2026-08-15 13:30:04.187488: Inverter 0: Type SK Sunsynk
2026-08-15 13:30:04.187583: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 13:30:04.187767: Reserve min: 7%, battery_min: 7%
2026-08-15 13:30:04.187839: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 13:30:04.188125: Inverter 0 SoC: 5.47kW 34%, current charge rate 5000W, current discharge rate 5250W, current battery power -4529W, current battery voltage 51.2V, grid power -5321W, load power 327W, PV Power 0W
2026-08-15 13:30:04.188286: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 13:30:04.188375: Inverter 0 scheduled charge enable is True
2026-08-15 13:30:04.188428: Inverter 0 charge windows currently [{'start': 630, 'end': 960, 'average': 0}, {'start': 2070, 'end': 2400, 'average': 0}, {'start': 3510, 'end': 3840, 'average': 0}]
2026-08-15 13:30:04.188517: Inverter 0 Charge settings: 08-15 10:30:00-08-15 16:00:00, limit 100.0%, power 5.0kW
2026-08-15 13:30:04.188645: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 13:30:04.188683: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 13:30:04.188723: Inverter 0 scheduled discharge enable is False
2026-08-15 13:30:04.188843: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 13:30:04.188881: Inverter 0 discharge windows currently []
2026-08-15 13:30:04.188933: Note: Inverter does not support discharge freeze - disabled
2026-08-15 13:30:04.188986: Note: Inverter does not support charge freeze - disabled
2026-08-15 13:30:04.189005: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 13:30:04.341311: Dynamic load last period 0.00kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 13:30:04.341445: Plan was last updated on 2026-08-15 13:25:00+01:00 and is now 5.0 minutes old
2026-08-15 13:30:04.341676: Best charge window [ 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 13:30:00 - 16-08 18:30:00 @ 41.93p 100%, 16-08 19:00:00 - 17-08 13:30:00 @ 23.48p 100% ]
2026-08-15 13:30:04.341726: Best export window [  ]
2026-08-15 13:30:04.343019: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 13:30:04.347947: Load divergence over 8.0 hours mean 503.15W, min 295.8W, max 1607.4W, std dev 240.82W, divergence 23.93%
2026-08-15 13:30:04.378839: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 13:30:04.378987: LoadML is_calculating True
2026-08-15 13:30:04.379021: Not using thread pool as LoadML is calculating to avoid lockups
2026-08-15 13:30:04.434951: predict base end_record 08-16 13:35:00, final soc 16.0kWh, metric 1012.31p, metric_keep 0kWh, min_soc 2.41kWh @ 08-16 10:25:00, load 24.87kWh, PV 0.0kWh
2026-08-15 13:30:04.664357: Battery has 48.0 hours left - now at 5.47kWh
2026-08-15 13:30:04.721200: predict base10 end_record 08-16 13:35:00, final soc 13.08kWh, metric 965.61p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 10:10:00, load 25.68kWh, PV 0.0kWh
2026-08-15 13:30:04.883927: predict best10 end_record 08-16 13:35:00, final soc 1.44kWh, metric 664.41p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 10:10:00, load 25.68kWh, PV 0.0kWh
2026-08-15 13:30:05.093975: predict best end_record 08-16 13:35:00, final soc 1.51kWh, metric 640.05p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 11:50:00, load 24.87kWh, PV 0.0kWh
2026-08-15 13:30:05.125040: Saving plan best values to HA entities
2026-08-15 13:30:05.466928: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0
2026-08-15 13:30:05.485158: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 13:30:05.492186: Best charging limit SoC's [16.0, 16.0, 16.0]kWh, export []kWh gives import battery 13.56kWh, house 1.37kWh, export 0.0kWh, metric 640.05p, metric10 664.41p
2026-08-15 13:30:05.735218: Marginal costs baseline metric (no standing charge): 590.065
2026-08-15 13:30:06.167751: Marginal energy costs matrix computed: min=15.16 max=32.95
2026-08-15 13:30:06.407037: Rate array import [{'start': 810, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 15.9p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1950, 'rate': 'expensive', 'range': '(24.8p - 32.9p)'}, {'start': 1950, 'end': 2040, 'rate': 'cheap', 'range': '(24.2p - 24.3p)'}, {'start': 2040, 'end': 2130, 'rate': 'expensive', 'range': '(24.7p - 25.4p)'}, {'start': 2130, 'end': 2255, 'rate': 'cheap', 'range': '(22.7p - 24.0p)'}] export [{'start': 810, 'end': 2255, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 13:30:06.407652: - Your estimated bill for today is £5.47 and tomorrow is £7.13
2026-08-15 13:30:06.407726: - Import rates are cheap (13.8p - 15.9p) for the next 2 and a half hours and then expensive (33.1p) for the next 1 hour.
2026-08-15 13:30:06.407764: - The battery is currently at 34% and is charging to 100% for the next 2 and a half hours.
2026-08-15 13:30:06.407796: - For the next 48 hours there will be no solar generation.
2026-08-15 13:30:06.414115: - You will run out of battery in 22 hours.
2026-08-15 13:30:06.414327: 
2026-08-15 13:30:06.513887: Plan calculation took 2.17 seconds
2026-08-15 13:30:06.518344: No high rate period found
2026-08-15 13:30:06.628910: Import threshold used for optimisation was 24.28p
2026-08-15 13:30:06.743346: Low import rate windows [0: 08-15 13:30:00 - 08-15 14:00:00 @ 15.74, 1: 08-15 14:00:00 - 08-15 14:30:00 @ 14.57, 2: 08-15 14:30:00 - 08-15 15:00:00 @ 13.77, 3: 08-15 15:00:00 - 08-15 15:30:00 @ 15.02, 4: 08-15 15:30:00 - 08-15 16:00:00 @ 15.87, 5: 08-15 16:00:00 - 08-15 16:30:00 @ 33.13, 6: 08-15 16:30:00 - 08-15 17:00:00 @ 33.13, 7: 08-15 17:00:00 - 08-15 17:30:00 @ 38.46, 8: 08-15 17:30:00 - 08-15 18:00:00 @ 40.44, 9: 08-15 18:00:00 - 08-15 18:30:00 @ 41.55, 10: 08-15 18:30:00 - 08-15 19:00:00 @ 43.82, 11: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 12: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 13: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 14: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 15: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 16: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 17: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 18: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 19: 08-15 23:00:00 - 08-15 23:30:00 @ 29.37, 20: 08-15 23:30:00 - 08-16 00:00:00 @ 29.2, 21: 08-16 00:00:00 - 08-16 00:30:00 @ 28.83, 22: 08-16 00:30:00 - 08-16 01:00:00 @ 28.46, 23: 08-16 01:00:00 - 08-16 01:30:00 @ 27.73, 24: 08-16 01:30:00 - 08-16 02:00:00 @ 27.01, 25: 08-16 02:00:00 - 08-16 02:30:00 @ 26.76, 26: 08-16 02:30:00 - 08-16 03:00:00 @ 26.48, 27: 08-16 03:00:00 - 08-16 03:30:00 @ 26.39, 28: 08-16 03:30:00 - 08-16 04:00:00 @ 26.27, 29: 08-16 04:00:00 - 08-16 04:30:00 @ 26.33, 30: 08-16 04:30:00 - 08-16 05:00:00 @ 26.37, 31: 08-16 05:00:00 - 08-16 05:30:00 @ 26.23, 32: 08-16 05:30:00 - 08-16 06:00:00 @ 26.07, 33: 08-16 06:00:00 - 08-16 06:30:00 @ 25.99, 34: 08-16 06:30:00 - 08-16 07:00:00 @ 25.92, 35: 08-16 07:00:00 - 08-16 07:30:00 @ 25.64, 36: 08-16 07:30:00 - 08-16 08:00:00 @ 25.39, 37: 08-16 08:00:00 - 08-16 08:30:00 @ 24.84, 38: 08-16 08:30:00 - 08-16 09:00:00 @ 24.28, 39: 08-16 09:00:00 - 08-16 09:30:00 @ 24.26, 40: 08-16 09:30:00 - 08-16 10:00:00 @ 24.22, 41: 08-16 10:00:00 - 08-16 10:30:00 @ 24.8, 42: 08-16 10:30:00 - 08-16 11:00:00 @ 25.37, 43: 08-16 11:00:00 - 08-16 11:30:00 @ 24.71, 44: 08-16 11:30:00 - 08-16 12:00:00 @ 24.02, 45: 08-16 12:00:00 - 08-16 12:30:00 @ 23.79, 46: 08-16 12:30:00 - 08-16 13:00:00 @ 23.55, 47: 08-16 13:00:00 - 08-16 13:30:00 @ 23.14, 48: 08-16 13:30:00 - 08-16 14:00:00 @ 22.71, 49: 08-16 14:00:00 - 08-16 14:30:00 @ 22.01, 50: 08-16 14:30:00 - 08-16 15:00:00 @ 21.29, 51: 08-16 15:00:00 - 08-16 15:30:00 @ 22.01, 52: 08-16 15:30:00 - 08-16 16:00:00 @ 22.71, 53: 08-16 16:00:00 - 08-16 16:30:00 @ 37.14, 54: 08-16 16:30:00 - 08-16 17:00:00 @ 37.91, 55: 08-16 17:00:00 - 08-16 17:30:00 @ 40.13, 56: 08-16 17:30:00 - 08-16 18:00:00 @ 42.36, 57: 08-16 18:00:00 - 08-16 18:30:00 @ 44.19, 58: 08-16 19:00:00 - 08-16 19:30:00 @ 33.04, 59: 08-16 19:30:00 - 08-16 20:00:00 @ 33.71, 60: 08-16 20:00:00 - 08-16 20:30:00 @ 33.83, 61: 08-16 20:30:00 - 08-16 21:00:00 @ 33.94, 62: 08-16 21:00:00 - 08-16 21:30:00 @ 33.73, 63: 08-16 21:30:00 - 08-16 22:00:00 @ 33.53, 64: 08-16 22:00:00 - 08-16 22:30:00 @ 32.36, 65: 08-16 22:30:00 - 08-16 23:00:00 @ 31.17, 66: 08-16 23:00:00 - 08-16 23:30:00 @ 29.37, 67: 08-16 23:30:00 - 08-17 00:00:00 @ 29.2, 68: 08-17 00:00:00 - 08-17 00:30:00 @ 28.83, 69: 08-17 00:30:00 - 08-17 01:00:00 @ 28.46, 70: 08-17 01:00:00 - 08-17 01:30:00 @ 27.73, 71: 08-17 01:30:00 - 08-17 02:00:00 @ 27.01, 72: 08-17 02:00:00 - 08-17 02:30:00 @ 26.76, 73: 08-17 02:30:00 - 08-17 03:00:00 @ 26.48, 74: 08-17 03:00:00 - 08-17 03:30:00 @ 26.39, 75: 08-17 03:30:00 - 08-17 04:00:00 @ 26.27, 76: 08-17 04:00:00 - 08-17 04:30:00 @ 26.33, 77: 08-17 04:30:00 - 08-17 05:00:00 @ 26.37, 78: 08-17 05:00:00 - 08-17 05:30:00 @ 26.23, 79: 08-17 05:30:00 - 08-17 06:00:00 @ 26.07, 80: 08-17 06:00:00 - 08-17 06:30:00 @ 25.99, 81: 08-17 06:30:00 - 08-17 07:00:00 @ 25.92, 82: 08-17 07:00:00 - 08-17 07:30:00 @ 25.64, 83: 08-17 07:30:00 - 08-17 08:00:00 @ 25.39, 84: 08-17 08:00:00 - 08-17 08:30:00 @ 24.84, 85: 08-17 08:30:00 - 08-17 09:00:00 @ 24.28, 86: 08-17 09:00:00 - 08-17 09:30:00 @ 24.26, 87: 08-17 09:30:00 - 08-17 10:00:00 @ 24.22, 88: 08-17 10:00:00 - 08-17 10:30:00 @ 24.8, 89: 08-17 10:30:00 - 08-17 11:00:00 @ 25.37, 90: 08-17 11:00:00 - 08-17 11:30:00 @ 24.71, 91: 08-17 11:30:00 - 08-17 12:00:00 @ 24.02, 92: 08-17 12:00:00 - 08-17 12:30:00 @ 23.79, 93: 08-17 12:30:00 - 08-17 13:00:00 @ 23.55, 94: 08-17 13:00:00 - 08-17 13:30:00 @ 23.14]
2026-08-15 13:30:06.759866: Include original charge start 08-15 10:30:00, keeping this instead of new start 08-15 13:00:00
2026-08-15 13:30:06.760023: Inverter 0 Charge window will be: 2026-08-15 10:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 34%, target 100%
2026-08-15 13:30:06.760191: Inverter 0 Target SoC 100%, (this inverter 100%), battery temperature 20°C, select charge rate 5000W (real 5000W), current charge rate 5000W
2026-08-15 13:30:06.760423: Adjust idle time, charge 10:30:00-16:00:00 discharge 00:00:00-00:00:00
2026-08-15 13:30:06.760672: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 13:30:06.760772: No export window planned
2026-08-15 13:30:06.760904: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 13:30:06.761013: Adjust idle time, charge 10:30:00-16:00:00 discharge 00:00:00-00:00:00
2026-08-15 13:30:06.761238: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 13:30:06.761371: Inverter 0 setting charging SoC to 100% as per target
2026-08-15 13:30:06.761425: Inverter 0 adjust target SoC for charge to 100% based on requested all inverter SoC 100%
2026-08-15 13:30:06.761490: Inverter 0 Current Target SoC is 100%, already at target
2026-08-15 13:30:06.761611: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:30:06.761664: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:30:06.761701: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:30:06.761744: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:30:06.761780: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:30:06.761822: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:30:06.761857: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:30:06.761916: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 13:30:06.761964: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 13:30:06.762008: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 13:30:06.762044: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 13:30:06.762103: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 13:30:06.762141: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 13:30:06.762185: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 13:30:06.762262: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:30:06.762308: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:30:06.762377: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:30:06.762422: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:30:06.762553: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:30:06.762610: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:30:06.762740: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:30:06.762789: Inverter 0 count register writes 0
2026-08-15 13:30:06.797690: Will not recompute the plan, it is 5.0 minutes old and max age is 10 minutes
2026-08-15 13:30:06.806699: Total inverter register writes now 825
2026-08-15 13:30:06.897296: Info: Completed run status Charging
2026-08-15 13:30:06.909227: Info: record_status Charging target 34%-100.0%
2026-08-15 13:30:06.935585: Saved current settings to /config/predbat_config.json
2026-08-15 13:30:06.936042: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 13:30:27.737341: ML Predictor: Epoch 28/30: lr=0.00011 huber_loss=0.0045 val_mae=0.0011 kWh val_bias=+0.0001 kWh (+0.1%) combined=0.0007 kWh ema_combined=0.0008 kWh
2026-08-15 13:30:42.250543: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 13:30:42.252528: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 13:30:42.252748: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 13:30:42.253154: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 13:30:42.253968: Note: Inverter does not support discharge freeze - disabled
2026-08-15 13:30:42.254834: Note: Inverter does not support charge freeze - disabled
2026-08-15 13:30:42.254971: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 13:30:58.656441: ML Predictor: Epoch 29/30: lr=0.00010 huber_loss=0.0049 val_mae=0.0011 kWh val_bias=-0.0001 kWh (-0.1%) combined=0.0006 kWh ema_combined=0.0007 kWh
2026-08-15 13:31:27.874686: ML Predictor: Epoch 30/30: lr=0.00010 huber_loss=0.0047 val_mae=0.0011 kWh val_bias=+0.0000 kWh (+0.1%) combined=0.0007 kWh ema_combined=0.0007 kWh
2026-08-15 13:31:27.880558: ML Predictor: Restored best weights from epoch with val_mae=0.0011 kWh val_bias=+0.0000 kWh (+0.1%)
2026-08-15 13:31:27.880831: ML Predictor: Training complete, final val_mae=0.0011 kWh val_bias=+0.0000 kWh (+0.1%)
2026-08-15 13:31:29.393319: ML Predictor: AR rollout over holdout: ar_mae=0.0012 kWh ar_bias=+0.0001 kWh (+0.2%) [drift vs teacher-forced: +0.0001 kWh]
2026-08-15 13:31:29.398682: ML Predictor: Curriculum pass 1/5 complete, val_mae=0.0011 kWh
2026-08-15 13:31:29.500352: ML Predictor: Curriculum pass 2/5: window=55.0 days (1320 hours of data)
2026-08-15 13:31:29.500489: ML Predictor: Starting fine-tune training with 30 epochs
2026-08-15 13:31:30.070370: ML Predictor: Creating dataset with 1320 hours of training data, 48 hours validation
2026-08-15 13:31:35.096465: ML Predictor: Created 15552 training samples, 576 validation samples
2026-08-15 13:31:35.150519: ML Predictor: Normalization stats [ema-update alpha=0.1] target(mean=0.0586 std=0.0470) load(mean=0.0587 std=0.0470) pv(mean=0.0000 std=0.0100) temp(mean=19.5091 std=4.4216) import_rate(mean=25.5284 std=2.4645) export_rate(mean=0.0000 std=1.0000) time(mean=-0.1883 std=0.5246)
2026-08-15 13:31:35.235757: ML Predictor: Applied EMA normalization update (alpha=0.1) to track feature drift
2026-08-15 13:31:35.249746: ML Predictor: Reset Adam optimiser state for fine-tuning
2026-08-15 13:31:35.283365: ML Predictor: Baseline (pre-finetune) val_mae=0.0029 kWh val_bias=-0.0011 kWh
2026-08-15 13:32:05.723447: ML Predictor: Epoch 1/30: lr=0.00100 huber_loss=0.0091 val_mae=0.0031 kWh val_bias=-0.0001 kWh (-0.1%) combined=0.0016 kWh ema_combined=0.0016 kWh
2026-08-15 13:32:34.875638: ML Predictor: Epoch 2/30: lr=0.00100 huber_loss=0.0085 val_mae=0.0039 kWh val_bias=-0.0026 kWh (-3.7%) combined=0.0031 kWh ema_combined=0.0021 kWh
2026-08-15 13:32:56.958948: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 13:32:56.960512: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 13:32:56.960571: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 13:32:56.960774: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 13:32:56.960887: Note: Inverter does not support discharge freeze - disabled
2026-08-15 13:32:56.960926: Note: Inverter does not support charge freeze - disabled
2026-08-15 13:32:56.961038: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 13:33:05.744287: ML Predictor: Epoch 3/30: lr=0.00099 huber_loss=0.0102 val_mae=0.0032 kWh val_bias=-0.0005 kWh (-0.7%) combined=0.0018 kWh ema_combined=0.0020 kWh
2026-08-15 13:33:37.854499: ML Predictor: Epoch 4/30: lr=0.00098 huber_loss=0.0091 val_mae=0.0042 kWh val_bias=+0.0026 kWh (+3.6%) combined=0.0028 kWh ema_combined=0.0022 kWh
2026-08-15 13:34:08.860651: ML Predictor: Epoch 5/30: lr=0.00096 huber_loss=0.0105 val_mae=0.0033 kWh val_bias=-0.0000 kWh (-0.0%) combined=0.0019 kWh ema_combined=0.0021 kWh
2026-08-15 13:34:43.080290: ML Predictor: Epoch 6/30: lr=0.00094 huber_loss=0.0089 val_mae=0.0031 kWh val_bias=-0.0012 kWh (-1.7%) combined=0.0020 kWh ema_combined=0.0021 kWh
2026-08-15 13:34:57.397869: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 13:34:57.398390: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 13:34:57.398633: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 13:34:57.399018: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 13:34:57.399225: Note: Inverter does not support discharge freeze - disabled
2026-08-15 13:34:57.399416: Note: Inverter does not support charge freeze - disabled
2026-08-15 13:34:57.399531: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 13:35:00.581849: --------------- PredBat - update at 2026-08-15 13:35:00+01:00 with clock skew 0 minutes, minutes now 815
2026-08-15 13:35:00.582926: Saved current settings to /config/predbat_config.json
2026-08-15 13:35:00.583073: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 80.0 minutes
2026-08-15 13:35:00.583173: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.1, latest beta is v8.48.1
2026-08-15 13:35:00.583305: Autoupdate: Currently up to date
2026-08-15 13:35:00.619863: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 13:35:00.620057: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 13:35:00.620506: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 13:35:00.621692: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 13:35:00.622434: Predbat mode is set to Control charge & discharge
2026-08-15 13:35:00.968613: Found 21602 load_today datapoints going back 28 days
2026-08-15 13:35:00.968988: Using load_power data to fill gaps in load_today data
2026-08-15 13:35:02.301008: Processing 721 30-minute periods for power integration
2026-08-15 13:35:02.474538: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 13:35:02.474708: Car charging hold False, threshold 6.0kWh
2026-08-15 13:35:02.474754: Current data so far today: load 7.8kWh, import 13.8kWh, export 0.0kWh, PV 0kWh
2026-08-15 13:35:02.491398: Cars: SoC: [11.134]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 13:35:02.492571: Standing charge is set to 49.98p
2026-08-15 13:35:02.685971: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 13:35:02.686204: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 13:35:02.686547: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 175.0 minutes
2026-08-15 13:35:02.687096: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 175.0 minutes
2026-08-15 13:35:02.693634: Loaded 95 datapoints of futurerate analysis
2026-08-15 13:35:02.840563: Predicted future rates: ['08-15 00:00:00 => 28.9 / 20.01', '08-15 01:00:00 => 27.54 / 19.31', '08-15 02:00:00 => 26.52 / 18.8', '08-15 03:00:00 => 25.99 / 18.53', '08-15 04:00:00 => 25.8 / 18.43', '08-15 05:00:00 => 25.96 / 18.51', '08-15 06:00:00 => 25.55 / 18.3', '08-15 07:00:00 => 24.33 / 17.68', '08-15 08:00:00 => 23.03 / 17.01', '08-15 09:00:00 => 22.05 / 16.51', '08-15 10:00:00 => 20.43 / 15.68', '08-15 11:00:00 => 18.01 / 14.45', '08-15 12:00:00 => 16.37 / 13.61', '08-15 13:00:00 => 15.76 / 13.3', '08-15 14:00:00 => 15.35 / 13.09', '08-15 15:00:00 => 15.86 / 13.35', '08-15 16:00:00 => 32.89 / 16.13', '08-15 17:00:00 => 38.02 / 18.75', '08-15 18:00:00 => 42.36 / 20.96', '08-15 19:00:00 => 31.09 / 21.13', '08-15 20:00:00 => 31.64 / 21.41', '08-15 21:00:00 => 31.64 / 21.41', '08-15 22:00:00 => 30.58 / 20.87', '08-15 23:00:00 => 29.37 / 20.25', '08-16 00:00:00 => 28.83 / 19.97', '08-16 01:00:00 => 27.73 / 19.41', '08-16 02:00:00 => 26.76 / 18.92', '08-16 03:00:00 => 26.39 / 18.73', '08-16 04:00:00 => 26.33 / 18.7', '08-16 05:00:00 => 26.23 / 18.65', '08-16 06:00:00 => 25.99 / 18.53', '08-16 07:00:00 => 25.64 / 18.35', '08-16 08:00:00 => 24.84 / 17.94', '08-16 09:00:00 => 24.26 / 17.64', '08-16 10:00:00 => 24.8 / 17.92', '08-16 11:00:00 => 24.71 / 17.87', '08-16 12:00:00 => 23.79 / 17.4']
2026-08-15 13:35:02.913996: Rate min forward looking: now 13.77p at end of forecast 21.29p
2026-08-15 13:35:02.914466: Import rates: min 13.77p, max 46.05p, average 28.0p
2026-08-15 13:35:02.966067: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 13:35:02.966306: Rate thresholds (for charge/export) are import 45.55p (0.0p), export -0.1p (0.0p)
2026-08-15 13:35:02.968019: High export rate found rates in range 99p to -99p
2026-08-15 13:35:03.111704: Low Import rate found rates in range 13.77p to 44.19p
2026-08-15 13:35:03.125052: Car 0 charging is not planned as it is not plugged in
2026-08-15 13:35:03.155532: Battery level now 5.47kWh, -1hr ago 3.63kWh, at midnight 1.66kWh, battery value change in the last hour 21.76p, change today 45.13p, rate_forward 11.83p
2026-08-15 13:35:03.156081: Last hour: net energy 2.4kWh, import 2.4kWh, export 0.0kWh, car 0kWh, load 0.25kWh, net cost 37.28p, import 37.28p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 13:35:03.259482: Today's energy total net 13.8kWh, import 13.8kWh, export 0.0kWh, cost 351.8p, import 301.82p, export 0.0p, carbon 0.0kg
2026-08-15 13:35:03.259774: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 13:35:03.475761: Using weighted-bucket historical load forecast over 14 days
2026-08-15 13:35:03.515789: Today's load divergence 97.06%, in-day adjustment 117.42%, damping 0.95x, yesterday 143.77% today 97.21% blend 43.4%
2026-08-15 13:35:03.515909: Today's predicted so far 8.41kWh with 0.0kWh car/iBoost excluded, 7.91kWh import ignored, and 8.41kWh forecast extra.
2026-08-15 13:35:03.515970: Today's actual load so far 7.97kWh with 0.0kWh car/iBoost excluded, and 7.91kWh import ignored.
2026-08-15 13:35:03.568886: Inverter 0: Type SK Sunsynk
2026-08-15 13:35:03.569027: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 13:35:03.569259: Reserve min: 7%, battery_min: 7%
2026-08-15 13:35:03.569343: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 13:35:03.569645: Inverter 0 SoC: 5.82kW 36%, current charge rate 5000W, current discharge rate 5250W, current battery power -4531W, current battery voltage 51.2V, grid power -5273W, load power 277W, PV Power 0W
2026-08-15 13:35:03.569810: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 13:35:03.569901: Inverter 0 scheduled charge enable is True
2026-08-15 13:35:03.569956: Inverter 0 charge windows currently [{'start': 630, 'end': 960, 'average': 0}, {'start': 2070, 'end': 2400, 'average': 0}, {'start': 3510, 'end': 3840, 'average': 0}]
2026-08-15 13:35:03.570046: Inverter 0 Charge settings: 08-15 10:30:00-08-15 16:00:00, limit 100.0%, power 5.0kW
2026-08-15 13:35:03.570215: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 13:35:03.570270: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 13:35:03.570310: Inverter 0 scheduled discharge enable is False
2026-08-15 13:35:03.570462: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 13:35:03.570503: Inverter 0 discharge windows currently []
2026-08-15 13:35:03.570526: Note: Inverter does not support discharge freeze - disabled
2026-08-15 13:35:03.570552: Note: Inverter does not support charge freeze - disabled
2026-08-15 13:35:03.570570: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 13:35:03.671901: Dynamic load last period 0.00kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 13:35:03.672196: Plan was last updated on 2026-08-15 13:25:00+01:00 and is now 10.0 minutes old
2026-08-15 13:35:03.672539: Best charge window [ 15-08 13:00:00 - 15-08 16:00:00 @ 15.29p 100%, 16-08 13:30:00 - 16-08 18:30:00 @ 41.93p 100%, 16-08 19:00:00 - 17-08 13:30:00 @ 23.48p 100% ]
2026-08-15 13:35:03.672685: Best export window [  ]
2026-08-15 13:35:03.673671: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 13:35:03.677044: Load divergence over 8.0 hours mean 496.9W, min 294.0W, max 1285.8W, std dev 217.87W, divergence 21.92%
2026-08-15 13:35:03.698458: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 13:35:03.698720: LoadML is_calculating True
2026-08-15 13:35:03.698851: Not using thread pool as LoadML is calculating to avoid lockups
2026-08-15 13:35:03.742743: predict base end_record 08-16 13:40:00, final soc 16.0kWh, metric 1006.0p, metric_keep 0kWh, min_soc 2.45kWh @ 08-16 10:25:00, load 24.84kWh, PV 0.0kWh
2026-08-15 13:35:04.038812: Battery has 48.0 hours left - now at 5.82kWh
2026-08-15 13:35:04.098203: predict base10 end_record 08-16 13:40:00, final soc 13.41kWh, metric 967.07p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 10:20:00, load 25.65kWh, PV 0.0kWh
2026-08-15 13:35:04.244914: predict best10 end_record 08-16 13:40:00, final soc 1.77kWh, metric 665.86p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 10:20:00, load 25.65kWh, PV 0.0kWh
2026-08-15 13:35:04.421177: predict best end_record 08-16 13:40:00, final soc 1.9kWh, metric 643.3p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 11:50:00, load 24.84kWh, PV 0.0kWh
2026-08-15 13:35:04.421321: Saving plan best values to HA entities
2026-08-15 13:35:04.799187: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0
2026-08-15 13:35:04.812670: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 13:35:04.820639: Best charging limit SoC's [16.0, 16.0, 16.0]kWh, export []kWh gives import battery 13.61kWh, house 1.34kWh, export 0.0kWh, metric 643.3p, metric10 665.86p
2026-08-15 13:35:04.971285: Marginal costs baseline metric (no standing charge): 593.3184
2026-08-15 13:35:05.412588: Marginal energy costs matrix computed: min=14.99 max=33.16
2026-08-15 13:35:05.593752: Rate array import [{'start': 815, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 15.9p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1950, 'rate': 'expensive', 'range': '(24.8p - 32.9p)'}, {'start': 1950, 'end': 2040, 'rate': 'cheap', 'range': '(24.2p - 24.3p)'}, {'start': 2040, 'end': 2130, 'rate': 'expensive', 'range': '(24.7p - 25.4p)'}, {'start': 2130, 'end': 2260, 'rate': 'cheap', 'range': '(22.7p - 24.0p)'}] export [{'start': 815, 'end': 2260, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 13:35:05.594415: - Your estimated bill for today is £5.40 and tomorrow is £7.11
2026-08-15 13:35:05.594476: - Import rates are cheap (13.8p - 15.9p) for the next 2 and a half hours and then expensive (33.1p) for the next 1 hour.
2026-08-15 13:35:05.594538: - The battery is currently at 36% and is charging to 100% for the next 2 and a half hours.
2026-08-15 13:35:05.594564: - For the next 48 hours there will be no solar generation.
2026-08-15 13:35:05.594621: - You will run out of battery in 22 hours.
2026-08-15 13:35:05.594655: 
2026-08-15 13:35:05.634167: Plan calculation took 1.96 seconds
2026-08-15 13:35:05.638136: No high rate period found
2026-08-15 13:35:05.711708: Import threshold used for optimisation was 24.28p
2026-08-15 13:35:05.829271: Low import rate windows [0: 08-15 13:30:00 - 08-15 14:00:00 @ 15.74, 1: 08-15 14:00:00 - 08-15 14:30:00 @ 14.57, 2: 08-15 14:30:00 - 08-15 15:00:00 @ 13.77, 3: 08-15 15:00:00 - 08-15 15:30:00 @ 15.02, 4: 08-15 15:30:00 - 08-15 16:00:00 @ 15.87, 5: 08-15 16:00:00 - 08-15 16:30:00 @ 33.13, 6: 08-15 16:30:00 - 08-15 17:00:00 @ 33.13, 7: 08-15 17:00:00 - 08-15 17:30:00 @ 38.46, 8: 08-15 17:30:00 - 08-15 18:00:00 @ 40.44, 9: 08-15 18:00:00 - 08-15 18:30:00 @ 41.55, 10: 08-15 18:30:00 - 08-15 19:00:00 @ 43.82, 11: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 12: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 13: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 14: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 15: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 16: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 17: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 18: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 19: 08-15 23:00:00 - 08-15 23:30:00 @ 29.37, 20: 08-15 23:30:00 - 08-16 00:00:00 @ 29.2, 21: 08-16 00:00:00 - 08-16 00:30:00 @ 28.83, 22: 08-16 00:30:00 - 08-16 01:00:00 @ 28.46, 23: 08-16 01:00:00 - 08-16 01:30:00 @ 27.73, 24: 08-16 01:30:00 - 08-16 02:00:00 @ 27.01, 25: 08-16 02:00:00 - 08-16 02:30:00 @ 26.76, 26: 08-16 02:30:00 - 08-16 03:00:00 @ 26.48, 27: 08-16 03:00:00 - 08-16 03:30:00 @ 26.39, 28: 08-16 03:30:00 - 08-16 04:00:00 @ 26.27, 29: 08-16 04:00:00 - 08-16 04:30:00 @ 26.33, 30: 08-16 04:30:00 - 08-16 05:00:00 @ 26.37, 31: 08-16 05:00:00 - 08-16 05:30:00 @ 26.23, 32: 08-16 05:30:00 - 08-16 06:00:00 @ 26.07, 33: 08-16 06:00:00 - 08-16 06:30:00 @ 25.99, 34: 08-16 06:30:00 - 08-16 07:00:00 @ 25.92, 35: 08-16 07:00:00 - 08-16 07:30:00 @ 25.64, 36: 08-16 07:30:00 - 08-16 08:00:00 @ 25.39, 37: 08-16 08:00:00 - 08-16 08:30:00 @ 24.84, 38: 08-16 08:30:00 - 08-16 09:00:00 @ 24.28, 39: 08-16 09:00:00 - 08-16 09:30:00 @ 24.26, 40: 08-16 09:30:00 - 08-16 10:00:00 @ 24.22, 41: 08-16 10:00:00 - 08-16 10:30:00 @ 24.8, 42: 08-16 10:30:00 - 08-16 11:00:00 @ 25.37, 43: 08-16 11:00:00 - 08-16 11:30:00 @ 24.71, 44: 08-16 11:30:00 - 08-16 12:00:00 @ 24.02, 45: 08-16 12:00:00 - 08-16 12:30:00 @ 23.79, 46: 08-16 12:30:00 - 08-16 13:00:00 @ 23.55, 47: 08-16 13:00:00 - 08-16 13:30:00 @ 23.14, 48: 08-16 13:30:00 - 08-16 14:00:00 @ 22.71, 49: 08-16 14:00:00 - 08-16 14:30:00 @ 22.01, 50: 08-16 14:30:00 - 08-16 15:00:00 @ 21.29, 51: 08-16 15:00:00 - 08-16 15:30:00 @ 22.01, 52: 08-16 15:30:00 - 08-16 16:00:00 @ 22.71, 53: 08-16 16:00:00 - 08-16 16:30:00 @ 37.14, 54: 08-16 16:30:00 - 08-16 17:00:00 @ 37.91, 55: 08-16 17:00:00 - 08-16 17:30:00 @ 40.13, 56: 08-16 17:30:00 - 08-16 18:00:00 @ 42.36, 57: 08-16 18:00:00 - 08-16 18:30:00 @ 44.19, 58: 08-16 19:00:00 - 08-16 19:30:00 @ 33.04, 59: 08-16 19:30:00 - 08-16 20:00:00 @ 33.71, 60: 08-16 20:00:00 - 08-16 20:30:00 @ 33.83, 61: 08-16 20:30:00 - 08-16 21:00:00 @ 33.94, 62: 08-16 21:00:00 - 08-16 21:30:00 @ 33.73, 63: 08-16 21:30:00 - 08-16 22:00:00 @ 33.53, 64: 08-16 22:00:00 - 08-16 22:30:00 @ 32.36, 65: 08-16 22:30:00 - 08-16 23:00:00 @ 31.17, 66: 08-16 23:00:00 - 08-16 23:30:00 @ 29.37, 67: 08-16 23:30:00 - 08-17 00:00:00 @ 29.2, 68: 08-17 00:00:00 - 08-17 00:30:00 @ 28.83, 69: 08-17 00:30:00 - 08-17 01:00:00 @ 28.46, 70: 08-17 01:00:00 - 08-17 01:30:00 @ 27.73, 71: 08-17 01:30:00 - 08-17 02:00:00 @ 27.01, 72: 08-17 02:00:00 - 08-17 02:30:00 @ 26.76, 73: 08-17 02:30:00 - 08-17 03:00:00 @ 26.48, 74: 08-17 03:00:00 - 08-17 03:30:00 @ 26.39, 75: 08-17 03:30:00 - 08-17 04:00:00 @ 26.27, 76: 08-17 04:00:00 - 08-17 04:30:00 @ 26.33, 77: 08-17 04:30:00 - 08-17 05:00:00 @ 26.37, 78: 08-17 05:00:00 - 08-17 05:30:00 @ 26.23, 79: 08-17 05:30:00 - 08-17 06:00:00 @ 26.07, 80: 08-17 06:00:00 - 08-17 06:30:00 @ 25.99, 81: 08-17 06:30:00 - 08-17 07:00:00 @ 25.92, 82: 08-17 07:00:00 - 08-17 07:30:00 @ 25.64, 83: 08-17 07:30:00 - 08-17 08:00:00 @ 25.39, 84: 08-17 08:00:00 - 08-17 08:30:00 @ 24.84, 85: 08-17 08:30:00 - 08-17 09:00:00 @ 24.28, 86: 08-17 09:00:00 - 08-17 09:30:00 @ 24.26, 87: 08-17 09:30:00 - 08-17 10:00:00 @ 24.22, 88: 08-17 10:00:00 - 08-17 10:30:00 @ 24.8, 89: 08-17 10:30:00 - 08-17 11:00:00 @ 25.37, 90: 08-17 11:00:00 - 08-17 11:30:00 @ 24.71, 91: 08-17 11:30:00 - 08-17 12:00:00 @ 24.02, 92: 08-17 12:00:00 - 08-17 12:30:00 @ 23.79, 93: 08-17 12:30:00 - 08-17 13:00:00 @ 23.55, 94: 08-17 13:00:00 - 08-17 13:30:00 @ 23.14, 95: 08-17 13:30:00 - 08-17 14:00:00 @ 22.71]
2026-08-15 13:35:05.849517: Include original charge start 08-15 10:30:00, keeping this instead of new start 08-15 13:00:00
2026-08-15 13:35:05.849771: Inverter 0 Charge window will be: 2026-08-15 10:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 36%, target 100%
2026-08-15 13:35:05.849954: Inverter 0 Target SoC 100%, (this inverter 100%), battery temperature 20°C, select charge rate 5000W (real 5000W), current charge rate 5000W
2026-08-15 13:35:05.850174: Adjust idle time, charge 10:30:00-16:00:00 discharge 00:00:00-00:00:00
2026-08-15 13:35:05.850440: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 13:35:05.850579: No export window planned
2026-08-15 13:35:05.850747: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 13:35:05.850792: Adjust idle time, charge 10:30:00-16:00:00 discharge 00:00:00-00:00:00
2026-08-15 13:35:05.851013: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 13:35:05.851221: Inverter 0 setting charging SoC to 100% as per target
2026-08-15 13:35:05.851372: Inverter 0 adjust target SoC for charge to 100% based on requested all inverter SoC 100%
2026-08-15 13:35:05.851491: Inverter 0 Current Target SoC is 100%, already at target
2026-08-15 13:35:05.851657: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:35:05.851709: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:35:05.851822: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:35:05.851890: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:35:05.851998: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:35:05.852042: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:35:05.852140: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:35:05.852233: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 13:35:05.852279: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 13:35:05.852416: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 13:35:05.852501: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 13:35:05.852574: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 13:35:05.852649: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 13:35:05.852694: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 13:35:05.852837: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:35:05.852884: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:35:05.853013: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:35:05.853061: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:35:05.853164: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:35:05.853237: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:35:05.853281: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:35:05.853383: Inverter 0 count register writes 0
2026-08-15 13:35:05.883701: Will recompute the plan as it is now 10.0 minutes old and will exceed the max age of 10 minutes before the next run
2026-08-15 13:35:05.883978: Recompute is saving previous plan...
2026-08-15 13:35:05.887287: Best charge window [ 15-08 13:30:00 - 15-08 14:00:00 @ 15.74p 100%, 15-08 14:00:00 - 15-08 14:30:00 @ 14.57p 100%, 15-08 14:30:00 - 15-08 15:00:00 @ 13.77p 100%, 15-08 15:00:00 - 15-08 15:30:00 @ 15.02p 100%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 100%, 15-08 16:00:00 - 15-08 16:30:00 @ 33.13p 100%, 15-08 16:30:00 - 15-08 17:00:00 @ 33.13p 100%, 15-08 17:00:00 - 15-08 17:30:00 @ 38.46p 100%, 15-08 17:30:00 - 15-08 18:00:00 @ 40.44p 100%, 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 100%, 15-08 18:30:00 - 15-08 19:00:00 @ 43.82p 100%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 100%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 100%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 100%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 100%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 100%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 100%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 100%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 100%, 15-08 23:00:00 - 15-08 23:30:00 @ 29.37p 100%, 15-08 23:30:00 - 16-08 00:00:00 @ 29.2p 100%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.83p 100%, 16-08 00:30:00 - 16-08 01:00:00 @ 28.46p 100%, 16-08 01:00:00 - 16-08 01:30:00 @ 27.73p 100%, 16-08 01:30:00 - 16-08 02:00:00 @ 27.01p 100%, 16-08 02:00:00 - 16-08 02:30:00 @ 26.76p 100%, 16-08 02:30:00 - 16-08 03:00:00 @ 26.48p 100%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.39p 100%, 16-08 03:30:00 - 16-08 04:00:00 @ 26.27p 100%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.33p 100%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.37p 100%, 16-08 05:00:00 - 16-08 05:30:00 @ 26.23p 100%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.07p 100%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.99p 100%, 16-08 06:30:00 - 16-08 07:00:00 @ 25.92p 100%, 16-08 07:00:00 - 16-08 07:30:00 @ 25.64p 100%, 16-08 07:30:00 - 16-08 08:00:00 @ 25.39p 100%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.84p 100%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.28p 100%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.26p 100%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.22p 100%, 16-08 10:00:00 - 16-08 10:30:00 @ 24.8p 100%, 16-08 10:30:00 - 16-08 11:00:00 @ 25.37p 100%, 16-08 11:00:00 - 16-08 11:30:00 @ 24.71p 100%, 16-08 11:30:00 - 16-08 12:00:00 @ 24.02p 100%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.79p 100%, 16-08 12:30:00 - 16-08 13:00:00 @ 23.55p 100%, 16-08 13:00:00 - 16-08 13:30:00 @ 23.14p 100%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.71p 100%, 16-08 14:00:00 - 16-08 14:30:00 @ 22.01p 100%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.29p 100%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.01p 100%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.71p 100%, 16-08 16:00:00 - 16-08 16:30:00 @ 37.14p 100%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.91p 100%, 16-08 17:00:00 - 16-08 17:30:00 @ 40.13p 100%, 16-08 17:30:00 - 16-08 18:00:00 @ 42.36p 100%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.19p 100%, 16-08 19:00:00 - 16-08 19:30:00 @ 33.04p 100%, 16-08 19:30:00 - 16-08 20:00:00 @ 33.71p 100%, 16-08 20:00:00 - 16-08 20:30:00 @ 33.83p 100%, 16-08 20:30:00 - 16-08 21:00:00 @ 33.94p 100%, 16-08 21:00:00 - 16-08 21:30:00 @ 33.73p 100%, 16-08 21:30:00 - 16-08 22:00:00 @ 33.53p 100%, 16-08 22:00:00 - 16-08 22:30:00 @ 32.36p 100%, 16-08 22:30:00 - 16-08 23:00:00 @ 31.17p 100%, 16-08 23:00:00 - 16-08 23:30:00 @ 29.37p 100%, 16-08 23:30:00 - 17-08 00:00:00 @ 29.2p 100%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.83p 100%, 17-08 00:30:00 - 17-08 01:00:00 @ 28.46p 100%, 17-08 01:00:00 - 17-08 01:30:00 @ 27.73p 100%, 17-08 01:30:00 - 17-08 02:00:00 @ 27.01p 100%, 17-08 02:00:00 - 17-08 02:30:00 @ 26.76p 100%, 17-08 02:30:00 - 17-08 03:00:00 @ 26.48p 100%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.39p 100%, 17-08 03:30:00 - 17-08 04:00:00 @ 26.27p 100%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.33p 100%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.37p 100%, 17-08 05:00:00 - 17-08 05:30:00 @ 26.23p 100%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.07p 100%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.99p 100%, 17-08 06:30:00 - 17-08 07:00:00 @ 25.92p 100%, 17-08 07:00:00 - 17-08 07:30:00 @ 25.64p 100%, 17-08 07:30:00 - 17-08 08:00:00 @ 25.39p 100%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.84p 100%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.28p 100%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.26p 100%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.22p 100%, 17-08 10:00:00 - 17-08 10:30:00 @ 24.8p 100%, 17-08 10:30:00 - 17-08 11:00:00 @ 25.37p 100%, 17-08 11:00:00 - 17-08 11:30:00 @ 24.71p 100%, 17-08 11:30:00 - 17-08 12:00:00 @ 24.02p 100%, 17-08 12:00:00 - 17-08 12:30:00 @ 23.79p 100%, 17-08 12:30:00 - 17-08 13:00:00 @ 23.55p 100%, 17-08 13:00:00 - 17-08 13:30:00 @ 23.14p 100%, 17-08 13:30:00 - 17-08 14:00:00 @ 22.71p 100% ]
2026-08-15 13:35:05.897056: Best export window [  ]
2026-08-15 13:35:05.898124: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 13:35:05.901433: Load divergence over 8.0 hours mean 496.9W, min 294.0W, max 1285.8W, std dev 217.87W, divergence 21.92%
2026-08-15 13:35:05.931374: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 13:35:05.931667: LoadML is_calculating True
2026-08-15 13:35:05.931801: Not using thread pool as LoadML is calculating to avoid lockups
2026-08-15 13:35:05.942771: Calculate Best options: mode(Control charge & discharge), calculate_export_oncharge(False), calculate_export_on_pv(True), set_export_freeze_only(False), set_discharge_during_charge(True), combine_charge_slots(False), combine_export_slots(False), combine_rate_threshold(0.0), best_soc_min(0.0 kWh), best_soc_max(0.0 kWh), best_soc_keep(0.0 kWh), inverter_loss(4%), battery_loss(3%), battery_loss_discharge (3%), inverter_hybrid(True), metric_min_improvement(0.0p), metric_min_improvement_export(0.1p), metric_min_improvement_export_freeze(0.1p), metric_battery_cycle(0.0p/kWh), metric_battery_value_scaling(1.0 x) 
2026-08-15 13:35:05.944436: Optimise levels pass started at 2026-08-15 13:35:05
2026-08-15 13:35:05.944646: Optimise all windows, total charge 95 export 1
2026-08-15 13:35:11.132803: >> Region optimisation pass width 960 gives best_metric 951.04p, best_cost 964.55p, best_cycle 43.56kWh, best_import 31.13kWh
2026-08-15 13:35:12.144432: >> Region optimisation pass width 480 gives best_metric 951.04p, best_cost 964.55p, best_cycle 43.56kWh, best_import 31.13kWh
2026-08-15 13:35:13.463839: >> Region optimisation pass width 240 gives best_metric 951.04p, best_cost 964.55p, best_cycle 43.56kWh, best_import 31.13kWh
2026-08-15 13:35:16.581457: >> Region optimisation pass width 120 gives best_metric 951.04p, best_cost 964.55p, best_cycle 43.56kWh, best_import 31.13kWh
2026-08-15 13:35:16.581968: Calculated end_record as 08-16 14:00:00 based on best_price 22.71p, next_charge_start 08-15 14:00:00, max_windows 49
2026-08-15 13:35:16.582113: Optimise levels pass ended at 2026-08-15 13:35:16, duration 10.6 seconds tried 270 combinations
2026-08-15 13:35:16.582263: Set best_price_charge_level 24.4p, best_price_export_level 0p, best_price_charge 22.71p, best_cost_export 0p, best_metric 951.04p, best_keep 0kWh, best_cycle 43.56kWh, best_carbon 0kg, best_import 31.13kWh
2026-08-15 13:35:16.597864: Starting detailed optimisation end_record 08-16 14:00:00, best_price_charge 22.71p, best_price_export 0p. lowest_price_charge 13.77p with charge limits [16.0, 16.0, 16.0, 16.0, 16.0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0]kWh and export limits []kWh
2026-08-15 13:35:31.918193: ML Predictor: Epoch 7/30: lr=0.00091 huber_loss=0.0079 val_mae=0.0030 kWh val_bias=-0.0013 kWh (-1.9%) combined=0.0023 kWh ema_combined=0.0022 kWh
2026-08-15 13:35:38.893759: Tweak plan optimisation started metric 562.68p, cost 579.36p
2026-08-15 13:35:39.513801: Tweak optimisation finished metric 562.68p, cost 579.36p, metric_keep 0kWh, cycle 24.92kWh, carbon 0kg, import 14.33kWh, changed 8 window(s)
2026-08-15 13:35:39.567879: Swap charge optimisation started metric 562.68p, cost 579.36p, min_improvement_swap 0.1p
2026-08-15 13:35:44.598612: Swap charge optimisation finished metric 562.68p, cost 579.36p
2026-08-15 13:35:44.755667: Pruned 3 dead plan slot(s) in 8 trial(s), nominal metric 558.88p -> 558.88p, plan now metric 562.77p, cost 579.36p, cycle 24.92kWh, import 14.33kWh
2026-08-15 13:35:44.775354: Raw charge windows [ 15-08 13:30:00 - 15-08 14:00:00 @ 15.74p 100%, 15-08 14:00:00 - 15-08 14:30:00 @ 14.57p 100%, 15-08 14:30:00 - 15-08 15:00:00 @ 13.77p 100%, 15-08 15:00:00 - 15-08 15:30:00 @ 15.02p 100%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 100%, 15-08 16:00:00 - 15-08 16:30:00 @ 33.13p 0%, 15-08 16:30:00 - 15-08 17:00:00 @ 33.13p 0%, 15-08 17:00:00 - 15-08 17:30:00 @ 38.46p 0%, 15-08 17:30:00 - 15-08 18:00:00 @ 40.44p 0%, 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 0%, 15-08 18:30:00 - 15-08 19:00:00 @ 43.82p 0%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 0%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 0%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 0%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 0%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 29.37p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 29.2p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.83p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 28.46p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 27.73p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 27.01p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 26.76p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 26.48p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.39p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 26.27p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.33p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.37p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 26.23p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.07p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.99p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 25.92p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 25.64p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 25.39p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.84p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.28p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.26p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.22p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 24.8p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 25.37p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 24.71p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 24.02p 0%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.79p 0%, 16-08 12:30:00 - 16-08 13:00:00 @ 23.55p 0%, 16-08 13:00:00 - 16-08 13:30:00 @ 23.14p 0%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.71p 0%, 16-08 14:00:00 - 16-08 14:30:00 @ 22.01p 100%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.29p 100%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.01p 100%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.71p 100%, 16-08 16:00:00 - 16-08 16:30:00 @ 37.14p 100%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.91p 100%, 16-08 17:00:00 - 16-08 17:30:00 @ 40.13p 100%, 16-08 17:30:00 - 16-08 18:00:00 @ 42.36p 100%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.19p 100%, 16-08 19:00:00 - 16-08 19:30:00 @ 33.04p 100%, 16-08 19:30:00 - 16-08 20:00:00 @ 33.71p 100%, 16-08 20:00:00 - 16-08 20:30:00 @ 33.83p 100%, 16-08 20:30:00 - 16-08 21:00:00 @ 33.94p 100%, 16-08 21:00:00 - 16-08 21:30:00 @ 33.73p 100%, 16-08 21:30:00 - 16-08 22:00:00 @ 33.53p 100%, 16-08 22:00:00 - 16-08 22:30:00 @ 32.36p 100%, 16-08 22:30:00 - 16-08 23:00:00 @ 31.17p 100%, 16-08 23:00:00 - 16-08 23:30:00 @ 29.37p 100%, 16-08 23:30:00 - 17-08 00:00:00 @ 29.2p 100%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.83p 100%, 17-08 00:30:00 - 17-08 01:00:00 @ 28.46p 100%, 17-08 01:00:00 - 17-08 01:30:00 @ 27.73p 100%, 17-08 01:30:00 - 17-08 02:00:00 @ 27.01p 100%, 17-08 02:00:00 - 17-08 02:30:00 @ 26.76p 100%, 17-08 02:30:00 - 17-08 03:00:00 @ 26.48p 100%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.39p 100%, 17-08 03:30:00 - 17-08 04:00:00 @ 26.27p 100%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.33p 100%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.37p 100%, 17-08 05:00:00 - 17-08 05:30:00 @ 26.23p 100%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.07p 100%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.99p 100%, 17-08 06:30:00 - 17-08 07:00:00 @ 25.92p 100%, 17-08 07:00:00 - 17-08 07:30:00 @ 25.64p 100%, 17-08 07:30:00 - 17-08 08:00:00 @ 25.39p 100%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.84p 100%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.28p 100%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.26p 100%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.22p 100%, 17-08 10:00:00 - 17-08 10:30:00 @ 24.8p 100%, 17-08 10:30:00 - 17-08 11:00:00 @ 25.37p 100%, 17-08 11:00:00 - 17-08 11:30:00 @ 24.71p 100%, 17-08 11:30:00 - 17-08 12:00:00 @ 24.02p 100%, 17-08 12:00:00 - 17-08 12:30:00 @ 23.79p 100%, 17-08 12:30:00 - 17-08 13:00:00 @ 23.55p 100%, 17-08 13:00:00 - 17-08 13:30:00 @ 23.14p 100%, 17-08 13:30:00 - 17-08 14:00:00 @ 22.71p 100% ] reserve 1.12
2026-08-15 13:35:44.776202: Unclipped charge windows [ 15-08 13:30:00 - 15-08 16:00:00 @ 15.3p 100%, 16-08 14:00:00 - 16-08 18:30:00 @ 41.92p 100%, 16-08 19:00:00 - 17-08 14:00:00 @ 23.09p 100% ] reserve 1.12
2026-08-15 13:35:44.776785: Unfiltered charge windows [ 15-08 13:30:00 - 15-08 16:00:00 @ 15.3p 100%, 16-08 14:00:00 - 16-08 18:30:00 @ 41.92p 100%, 16-08 19:00:00 - 17-08 14:00:00 @ 23.09p 100% ] reserve 1.12
2026-08-15 13:35:44.777115: Filtered charge windows [ 15-08 13:30:00 - 15-08 16:00:00 @ 15.3p 100%, 16-08 14:00:00 - 16-08 18:30:00 @ 41.92p 100%, 16-08 19:00:00 - 17-08 14:00:00 @ 23.09p 100% ] reserve 1.12
2026-08-15 13:35:44.841993: Previous plan best metric is 576.52 (cost 636.14) and new plan best metric is 562.68 (cost 579.36)
2026-08-15 13:35:44.842598: New plan metric is significantly better from previous plan, using new plan
2026-08-15 13:35:44.842673: Plan valid is now true after recompute was False
2026-08-15 13:35:44.884602: predict base end_record 08-16 14:00:00, final soc 16.0kWh, metric 1010.98p, metric_keep 0kWh, min_soc 2.45kWh @ 08-16 10:25:00, load 25.06kWh, PV 0.0kWh
2026-08-15 13:35:45.199688: Battery has 48.0 hours left - now at 5.82kWh
2026-08-15 13:35:45.266430: predict base10 end_record 08-16 14:00:00, final soc 14.7kWh, metric 1003.82p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 10:20:00, load 25.88kWh, PV 0.0kWh
2026-08-15 13:35:45.413687: predict best10 end_record 08-16 14:00:00, final soc 1.12kWh, metric 655.3p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 10:20:00, load 25.88kWh, PV 0.0kWh
2026-08-15 13:35:45.635975: predict best end_record 08-16 14:00:00, final soc 1.12kWh, metric 629.35p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 11:50:00, load 25.06kWh, PV 0.0kWh
2026-08-15 13:35:45.636096: Saving plan best values to HA entities
2026-08-15 13:35:45.950299: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0
2026-08-15 13:35:45.962842: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 13:35:45.974040: Best charging limit SoC's [16.0, 16.0, 16.0]kWh, export []kWh gives import battery 12.66kWh, house 1.67kWh, export 0.0kWh, metric 629.35p, metric10 655.3p
2026-08-15 13:35:46.144018: Marginal costs baseline metric (no standing charge): 579.3646
2026-08-15 13:35:46.701293: Marginal energy costs matrix computed: min=14.99 max=33.16
2026-08-15 13:35:46.795931: Rate array import [{'start': 815, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 15.9p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1950, 'rate': 'expensive', 'range': '(24.8p - 32.9p)'}, {'start': 1950, 'end': 2040, 'rate': 'cheap', 'range': '(24.2p - 24.3p)'}, {'start': 2040, 'end': 2130, 'rate': 'expensive', 'range': '(24.7p - 25.4p)'}, {'start': 2130, 'end': 2280, 'rate': 'cheap', 'range': '(22.7p - 24.0p)'}] export [{'start': 815, 'end': 2280, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 13:35:46.796527: - Your estimated bill for today is £5.40 and tomorrow is £7.51
2026-08-15 13:35:46.796597: - Import rates are cheap (13.8p - 15.9p) for the next 2 and a half hours and then expensive (33.1p) for the next 1 hour.
2026-08-15 13:35:46.796620: - The battery is currently at 36% and is charging to 100% for the next 2 and a half hours.
2026-08-15 13:35:46.796687: - For the next 48 hours there will be no solar generation.
2026-08-15 13:35:46.796787: - You will run out of battery in 22 hours.
2026-08-15 13:35:46.796819: 
2026-08-15 13:35:46.834081: Plan calculation took 40.95 seconds
2026-08-15 13:35:46.834614: Inverter 0: Type SK Sunsynk
2026-08-15 13:35:46.834674: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 13:35:46.834854: Reserve min: 7%, battery_min: 7%
2026-08-15 13:35:46.834927: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 13:35:46.835190: Inverter 0 SoC: 6.19kW 39%, current charge rate 5000W, current discharge rate 5250W, current battery power -4531W, current battery voltage 51.2V, grid power -5271W, load power 274W, PV Power 0W
2026-08-15 13:35:46.835379: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 13:35:46.835492: Inverter 0 scheduled charge enable is True
2026-08-15 13:35:46.835547: Inverter 0 charge windows currently [{'start': 630, 'end': 960, 'average': 0}, {'start': 2070, 'end': 2400, 'average': 0}, {'start': 3510, 'end': 3840, 'average': 0}]
2026-08-15 13:35:46.835739: Inverter 0 Charge settings: 08-15 10:30:00-08-15 16:00:00, limit 100.0%, power 5.0kW
2026-08-15 13:35:46.835954: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 13:35:46.836004: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 13:35:46.836077: Inverter 0 scheduled discharge enable is False
2026-08-15 13:35:46.836281: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 13:35:46.836328: Inverter 0 discharge windows currently []
2026-08-15 13:35:46.836353: Note: Inverter does not support discharge freeze - disabled
2026-08-15 13:35:46.836433: Note: Inverter does not support charge freeze - disabled
2026-08-15 13:35:46.836486: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 13:35:46.945132: Include original charge start 08-15 10:30:00, keeping this instead of new start 08-15 13:30:00
2026-08-15 13:35:46.945292: Inverter 0 Charge window will be: 2026-08-15 10:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 39%, target 100%
2026-08-15 13:35:46.945473: Inverter 0 Target SoC 100%, (this inverter 100%), battery temperature 20°C, select charge rate 5000W (real 5000W), current charge rate 5000W
2026-08-15 13:35:46.945687: Adjust idle time, charge 10:30:00-16:00:00 discharge 00:00:00-00:00:00
2026-08-15 13:35:46.945930: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 13:35:46.946038: No export window planned
2026-08-15 13:35:46.946179: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 13:35:46.946228: Adjust idle time, charge 10:30:00-16:00:00 discharge 00:00:00-00:00:00
2026-08-15 13:35:46.946445: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 13:35:46.946588: Inverter 0 setting charging SoC to 100% as per target
2026-08-15 13:35:46.946639: Inverter 0 adjust target SoC for charge to 100% based on requested all inverter SoC 100%
2026-08-15 13:35:46.946715: Inverter 0 Current Target SoC is 100%, already at target
2026-08-15 13:35:46.946850: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:35:46.946913: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:35:46.946954: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:35:46.947003: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:35:46.947039: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:35:46.947084: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:35:46.947121: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:35:46.947187: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 13:35:46.947236: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 13:35:46.947302: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 13:35:46.947392: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 13:35:46.947463: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 13:35:46.947513: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 13:35:46.947744: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 13:35:46.947926: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:35:46.947989: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:35:46.948115: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:35:46.948169: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:35:46.948286: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:35:46.948365: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:35:46.948475: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:35:46.948524: Inverter 0 count register writes 0
2026-08-15 13:35:46.990064: Total inverter register writes now 825
2026-08-15 13:35:47.097299: Info: Completed run status Charging
2026-08-15 13:35:47.130718: Info: record_status Charging target 39%-100.0%
2026-08-15 13:35:47.143237: Saved current settings to /config/predbat_config.json
2026-08-15 13:35:47.143499: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 13:36:12.659716: ML Predictor: Epoch 8/30: lr=0.00088 huber_loss=0.0095 val_mae=0.0031 kWh val_bias=-0.0003 kWh (-0.4%) combined=0.0016 kWh ema_combined=0.0020 kWh
2026-08-15 13:36:27.347398: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 13:36:27.347885: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 13:36:27.348051: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 13:36:27.348354: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 13:36:27.348519: Note: Inverter does not support discharge freeze - disabled
2026-08-15 13:36:27.348649: Note: Inverter does not support charge freeze - disabled
2026-08-15 13:36:27.348769: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 13:36:45.160268: ML Predictor: Epoch 9/30: lr=0.00084 huber_loss=0.0102 val_mae=0.0031 kWh val_bias=+0.0012 kWh (+1.7%) combined=0.0021 kWh ema_combined=0.0020 kWh
2026-08-15 13:37:16.390936: ML Predictor: Epoch 10/30: lr=0.00080 huber_loss=0.0081 val_mae=0.0025 kWh val_bias=-0.0008 kWh (-1.1%) combined=0.0021 kWh ema_combined=0.0020 kWh
2026-08-15 13:37:46.088119: ML Predictor: Epoch 11/30: lr=0.00076 huber_loss=0.0080 val_mae=0.0027 kWh val_bias=+0.0004 kWh (+0.6%) combined=0.0014 kWh ema_combined=0.0018 kWh
2026-08-15 13:37:46.088265: ML Predictor: Early stopping at epoch 11
2026-08-15 13:37:46.089466: ML Predictor: Restored best weights from epoch with val_mae=0.0031 kWh val_bias=-0.0001 kWh (-0.1%)
2026-08-15 13:37:46.089684: ML Predictor: Training complete, final val_mae=0.0031 kWh val_bias=-0.0001 kWh (-0.1%)
2026-08-15 13:37:50.878569: ML Predictor: AR rollout over holdout: ar_mae=0.0038 kWh ar_bias=+0.0001 kWh (+0.1%) [drift vs teacher-forced: +0.0007 kWh]
2026-08-15 13:37:50.883575: ML Predictor: Curriculum pass 2/5 complete, val_mae=0.0031 kWh
2026-08-15 13:37:51.036582: ML Predictor: Curriculum pass 3/5: window=56.0 days (1344 hours of data)
2026-08-15 13:37:51.036852: ML Predictor: Starting fine-tune training with 30 epochs
2026-08-15 13:37:51.731921: ML Predictor: Creating dataset with 1344 hours of training data, 48 hours validation
2026-08-15 13:37:56.642685: ML Predictor: Created 15840 training samples, 576 validation samples
2026-08-15 13:37:56.693440: ML Predictor: Normalization stats [ema-update alpha=0.1] target(mean=0.0586 std=0.0470) load(mean=0.0588 std=0.0471) pv(mean=0.0000 std=0.0100) temp(mean=19.5305 std=4.4377) import_rate(mean=25.5337 std=2.4621) export_rate(mean=0.0000 std=1.0000) time(mean=-0.1887 std=0.5248)
2026-08-15 13:37:56.773992: ML Predictor: Applied EMA normalization update (alpha=0.1) to track feature drift
2026-08-15 13:37:56.788774: ML Predictor: Reset Adam optimiser state for fine-tuning
2026-08-15 13:37:56.935198: ML Predictor: Baseline (pre-finetune) val_mae=0.0060 kWh val_bias=-0.0016 kWh
2026-08-15 13:38:30.511606: ML Predictor: Epoch 1/30: lr=0.00100 huber_loss=0.0124 val_mae=0.0068 kWh val_bias=-0.0043 kWh (-4.8%) combined=0.0054 kWh ema_combined=0.0054 kWh
2026-08-15 13:38:41.635179: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 13:38:41.635688: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 13:38:41.635905: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 13:38:41.636155: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 13:38:41.637102: Note: Inverter does not support discharge freeze - disabled
2026-08-15 13:38:41.637290: Note: Inverter does not support charge freeze - disabled
2026-08-15 13:38:41.637482: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 13:39:02.688156: ML Predictor: Epoch 2/30: lr=0.00100 huber_loss=0.0095 val_mae=0.0046 kWh val_bias=+0.0000 kWh (+0.0%) combined=0.0024 kWh ema_combined=0.0045 kWh
2026-08-15 13:39:36.784082: ML Predictor: Epoch 3/30: lr=0.00099 huber_loss=0.0128 val_mae=0.0044 kWh val_bias=-0.0007 kWh (-0.8%) combined=0.0028 kWh ema_combined=0.0040 kWh
2026-08-15 13:40:00.969839: --------------- PredBat - update at 2026-08-15 13:40:00+01:00 with clock skew 0 minutes, minutes now 820
2026-08-15 13:40:00.971693: Saved current settings to /config/predbat_config.json
2026-08-15 13:40:00.972005: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 85.0 minutes
2026-08-15 13:40:00.972212: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.1, latest beta is v8.48.1
2026-08-15 13:40:00.972566: Autoupdate: Currently up to date
2026-08-15 13:40:01.023928: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 13:40:01.024418: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 13:40:01.025224: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 13:40:01.026137: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 13:40:01.026751: Predbat mode is set to Control charge & discharge
2026-08-15 13:40:01.485046: Found 21602 load_today datapoints going back 28 days
2026-08-15 13:40:01.485322: Using load_power data to fill gaps in load_today data
2026-08-15 13:40:02.616603: Processing 721 30-minute periods for power integration
2026-08-15 13:40:02.970774: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 13:40:02.970998: Car charging hold False, threshold 6.0kWh
2026-08-15 13:40:02.971078: Current data so far today: load 7.93kWh, import 14.7kWh, export 0.0kWh, PV 0kWh
2026-08-15 13:40:02.985678: Cars: SoC: [11.134]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 13:40:02.986340: Standing charge is set to 49.98p
2026-08-15 13:40:03.066793: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 13:40:03.067075: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 13:40:03.067417: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 180.0 minutes
2026-08-15 13:40:03.068093: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 180.0 minutes
2026-08-15 13:40:03.077138: Loaded 95 datapoints of futurerate analysis
2026-08-15 13:40:03.235024: Predicted future rates: ['08-15 00:00:00 => 28.9 / 20.01', '08-15 01:00:00 => 27.54 / 19.31', '08-15 02:00:00 => 26.52 / 18.8', '08-15 03:00:00 => 25.99 / 18.53', '08-15 04:00:00 => 25.8 / 18.43', '08-15 05:00:00 => 25.96 / 18.51', '08-15 06:00:00 => 25.55 / 18.3', '08-15 07:00:00 => 24.33 / 17.68', '08-15 08:00:00 => 23.03 / 17.01', '08-15 09:00:00 => 22.05 / 16.51', '08-15 10:00:00 => 20.43 / 15.68', '08-15 11:00:00 => 18.01 / 14.45', '08-15 12:00:00 => 16.37 / 13.61', '08-15 13:00:00 => 15.76 / 13.3', '08-15 14:00:00 => 15.35 / 13.09', '08-15 15:00:00 => 15.86 / 13.35', '08-15 16:00:00 => 32.89 / 16.13', '08-15 17:00:00 => 38.02 / 18.75', '08-15 18:00:00 => 42.36 / 20.96', '08-15 19:00:00 => 31.09 / 21.13', '08-15 20:00:00 => 31.64 / 21.41', '08-15 21:00:00 => 31.64 / 21.41', '08-15 22:00:00 => 30.58 / 20.87', '08-15 23:00:00 => 29.37 / 20.25', '08-16 00:00:00 => 28.83 / 19.97', '08-16 01:00:00 => 27.73 / 19.41', '08-16 02:00:00 => 26.76 / 18.92', '08-16 03:00:00 => 26.39 / 18.73', '08-16 04:00:00 => 26.33 / 18.7', '08-16 05:00:00 => 26.23 / 18.65', '08-16 06:00:00 => 25.99 / 18.53', '08-16 07:00:00 => 25.64 / 18.35', '08-16 08:00:00 => 24.84 / 17.94', '08-16 09:00:00 => 24.26 / 17.64', '08-16 10:00:00 => 24.8 / 17.92', '08-16 11:00:00 => 24.71 / 17.87', '08-16 12:00:00 => 23.79 / 17.4']
2026-08-15 13:40:03.341503: Rate min forward looking: now 13.77p at end of forecast 21.29p
2026-08-15 13:40:03.342156: Import rates: min 13.77p, max 46.05p, average 28.01p
2026-08-15 13:40:03.415779: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 13:40:03.415918: Rate thresholds (for charge/export) are import 45.55p (0.0p), export -0.1p (0.0p)
2026-08-15 13:40:03.417294: High export rate found rates in range 99p to -99p
2026-08-15 13:40:03.646674: Low Import rate found rates in range 13.77p to 44.19p
2026-08-15 13:40:03.647568: Car 0 charging is not planned as it is not plugged in
2026-08-15 13:40:03.665342: Battery level now 5.82kWh, -1hr ago 4.0kWh, at midnight 1.66kWh, battery value change in the last hour 21.57p, change today 49.29p, rate_forward 11.83p
2026-08-15 13:40:03.665751: Last hour: net energy 3.2kWh, import 3.2kWh, export 0.0kWh, car 0kWh, load 0.35kWh, net cost 49.67p, import 49.67p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 13:40:03.740609: Today's energy total net 14.7kWh, import 14.7kWh, export 0.0kWh, cost 365.8p, import 315.81p, export 0.0p, carbon 0.0kg
2026-08-15 13:40:03.740975: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 13:40:03.882381: Using weighted-bucket historical load forecast over 14 days
2026-08-15 13:40:03.936210: Today's load divergence 97.28%, in-day adjustment 117.37%, damping 0.95x, yesterday 143.77% today 97.42% blend 43.06%
2026-08-15 13:40:03.936474: Today's predicted so far 8.44kWh with 0.0kWh car/iBoost excluded, 8.76kWh import ignored, and 8.44kWh forecast extra.
2026-08-15 13:40:03.936680: Today's actual load so far 8.03kWh with 0.0kWh car/iBoost excluded, and 8.76kWh import ignored.
2026-08-15 13:40:04.027945: Inverter 0: Type SK Sunsynk
2026-08-15 13:40:04.028198: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 13:40:04.028514: Reserve min: 7%, battery_min: 7%
2026-08-15 13:40:04.028715: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 13:40:04.029137: Inverter 0 SoC: 6.53kW 41%, current charge rate 5000W, current discharge rate 5250W, current battery power -4534W, current battery voltage 51.2V, grid power -5327W, load power 331W, PV Power 0W
2026-08-15 13:40:04.029416: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 13:40:04.029616: Inverter 0 scheduled charge enable is True
2026-08-15 13:40:04.029789: Inverter 0 charge windows currently [{'start': 630, 'end': 960, 'average': 0}, {'start': 2070, 'end': 2400, 'average': 0}, {'start': 3510, 'end': 3840, 'average': 0}]
2026-08-15 13:40:04.029984: Inverter 0 Charge settings: 08-15 10:30:00-08-15 16:00:00, limit 100.0%, power 5.0kW
2026-08-15 13:40:04.030229: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 13:40:04.030337: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 13:40:04.030458: Inverter 0 scheduled discharge enable is False
2026-08-15 13:40:04.030705: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 13:40:04.030832: Inverter 0 discharge windows currently []
2026-08-15 13:40:04.030928: Note: Inverter does not support discharge freeze - disabled
2026-08-15 13:40:04.031020: Note: Inverter does not support charge freeze - disabled
2026-08-15 13:40:04.031094: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 13:40:04.160310: Dynamic load last period 0.30kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 13:40:04.160573: Plan was last updated on 2026-08-15 13:35:00+01:00 and is now 5.0 minutes old
2026-08-15 13:40:04.160862: Best charge window [ 15-08 13:30:00 - 15-08 16:00:00 @ 15.3p 100%, 16-08 14:00:00 - 16-08 18:30:00 @ 41.92p 100%, 16-08 19:00:00 - 17-08 14:00:00 @ 23.09p 100% ]
2026-08-15 13:40:04.160912: Best export window [  ]
2026-08-15 13:40:04.161836: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 13:40:04.165082: Load divergence over 8.0 hours mean 488.37W, min 291.6W, max 1201.8W, std dev 199.38W, divergence 20.41%
2026-08-15 13:40:04.186417: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 13:40:04.186616: LoadML is_calculating True
2026-08-15 13:40:04.186663: Not using thread pool as LoadML is calculating to avoid lockups
2026-08-15 13:40:04.225125: predict base end_record 08-16 14:05:00, final soc 16.0kWh, metric 1013.15p, metric_keep 0kWh, min_soc 2.42kWh @ 08-16 10:25:00, load 25.16kWh, PV 0.0kWh
2026-08-15 13:40:04.421277: Battery has 48.0 hours left - now at 6.53kWh
2026-08-15 13:40:04.520600: predict base10 end_record 08-16 14:05:00, final soc 15.26kWh, metric 1016.71p, metric_keep 0kWh, min_soc 1.36kWh @ 08-16 10:25:00, load 25.98kWh, PV 0.0kWh
2026-08-15 13:40:04.649957: predict best10 end_record 08-16 14:05:00, final soc 1.44kWh, metric 662.64p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 10:45:00, load 25.98kWh, PV 0.0kWh
2026-08-15 13:40:04.787369: predict best end_record 08-16 14:05:00, final soc 1.51kWh, metric 640.63p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 11:50:00, load 25.16kWh, PV 0.0kWh
2026-08-15 13:40:04.787476: Saving plan best values to HA entities
2026-08-15 13:40:05.189272: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0
2026-08-15 13:40:05.209009: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 13:40:05.229283: Best charging limit SoC's [16.0, 16.0, 16.0]kWh, export []kWh gives import battery 12.28kWh, house 1.69kWh, export 0.0kWh, metric 640.63p, metric10 662.64p
2026-08-15 13:40:05.375151: Marginal costs baseline metric (no standing charge): 590.6466
2026-08-15 13:40:05.689211: Marginal energy costs matrix computed: min=14.83 max=33.33
2026-08-15 13:40:05.775258: Rate array import [{'start': 820, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 15.9p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1950, 'rate': 'expensive', 'range': '(24.8p - 32.9p)'}, {'start': 1950, 'end': 2040, 'rate': 'cheap', 'range': '(24.2p - 24.3p)'}, {'start': 2040, 'end': 2130, 'rate': 'expensive', 'range': '(24.7p - 25.4p)'}, {'start': 2130, 'end': 2285, 'rate': 'cheap', 'range': '(22.0p - 24.0p)'}] export [{'start': 820, 'end': 2285, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 13:40:05.775797: - Your estimated bill for today is £5.41 and tomorrow is £7.53
2026-08-15 13:40:05.775942: - Import rates are cheap (13.8p - 15.9p) for the next 2 and a quarter hours and then expensive (33.1p) for the next 1 hour.
2026-08-15 13:40:05.776040: - The battery is currently at 41% and is charging to 100% for the next 2 and a quarter hours.
2026-08-15 13:40:05.776282: - For the next 48 hours there will be no solar generation.
2026-08-15 13:40:05.785075: - You will run out of battery in 22 hours.
2026-08-15 13:40:05.785512: 
2026-08-15 13:40:05.819605: Plan calculation took 1.66 seconds
2026-08-15 13:40:05.822961: No high rate period found
2026-08-15 13:40:05.910151: Import threshold used for optimisation was 24.28p
2026-08-15 13:40:06.021372: Low import rate windows [0: 08-15 13:30:00 - 08-15 14:00:00 @ 15.74, 1: 08-15 14:00:00 - 08-15 14:30:00 @ 14.57, 2: 08-15 14:30:00 - 08-15 15:00:00 @ 13.77, 3: 08-15 15:00:00 - 08-15 15:30:00 @ 15.02, 4: 08-15 15:30:00 - 08-15 16:00:00 @ 15.87, 5: 08-15 16:00:00 - 08-15 16:30:00 @ 33.13, 6: 08-15 16:30:00 - 08-15 17:00:00 @ 33.13, 7: 08-15 17:00:00 - 08-15 17:30:00 @ 38.46, 8: 08-15 17:30:00 - 08-15 18:00:00 @ 40.44, 9: 08-15 18:00:00 - 08-15 18:30:00 @ 41.55, 10: 08-15 18:30:00 - 08-15 19:00:00 @ 43.82, 11: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 12: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 13: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 14: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 15: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 16: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 17: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 18: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 19: 08-15 23:00:00 - 08-15 23:30:00 @ 29.37, 20: 08-15 23:30:00 - 08-16 00:00:00 @ 29.2, 21: 08-16 00:00:00 - 08-16 00:30:00 @ 28.83, 22: 08-16 00:30:00 - 08-16 01:00:00 @ 28.46, 23: 08-16 01:00:00 - 08-16 01:30:00 @ 27.73, 24: 08-16 01:30:00 - 08-16 02:00:00 @ 27.01, 25: 08-16 02:00:00 - 08-16 02:30:00 @ 26.76, 26: 08-16 02:30:00 - 08-16 03:00:00 @ 26.48, 27: 08-16 03:00:00 - 08-16 03:30:00 @ 26.39, 28: 08-16 03:30:00 - 08-16 04:00:00 @ 26.27, 29: 08-16 04:00:00 - 08-16 04:30:00 @ 26.33, 30: 08-16 04:30:00 - 08-16 05:00:00 @ 26.37, 31: 08-16 05:00:00 - 08-16 05:30:00 @ 26.23, 32: 08-16 05:30:00 - 08-16 06:00:00 @ 26.07, 33: 08-16 06:00:00 - 08-16 06:30:00 @ 25.99, 34: 08-16 06:30:00 - 08-16 07:00:00 @ 25.92, 35: 08-16 07:00:00 - 08-16 07:30:00 @ 25.64, 36: 08-16 07:30:00 - 08-16 08:00:00 @ 25.39, 37: 08-16 08:00:00 - 08-16 08:30:00 @ 24.84, 38: 08-16 08:30:00 - 08-16 09:00:00 @ 24.28, 39: 08-16 09:00:00 - 08-16 09:30:00 @ 24.26, 40: 08-16 09:30:00 - 08-16 10:00:00 @ 24.22, 41: 08-16 10:00:00 - 08-16 10:30:00 @ 24.8, 42: 08-16 10:30:00 - 08-16 11:00:00 @ 25.37, 43: 08-16 11:00:00 - 08-16 11:30:00 @ 24.71, 44: 08-16 11:30:00 - 08-16 12:00:00 @ 24.02, 45: 08-16 12:00:00 - 08-16 12:30:00 @ 23.79, 46: 08-16 12:30:00 - 08-16 13:00:00 @ 23.55, 47: 08-16 13:00:00 - 08-16 13:30:00 @ 23.14, 48: 08-16 13:30:00 - 08-16 14:00:00 @ 22.71, 49: 08-16 14:00:00 - 08-16 14:30:00 @ 22.01, 50: 08-16 14:30:00 - 08-16 15:00:00 @ 21.29, 51: 08-16 15:00:00 - 08-16 15:30:00 @ 22.01, 52: 08-16 15:30:00 - 08-16 16:00:00 @ 22.71, 53: 08-16 16:00:00 - 08-16 16:30:00 @ 37.14, 54: 08-16 16:30:00 - 08-16 17:00:00 @ 37.91, 55: 08-16 17:00:00 - 08-16 17:30:00 @ 40.13, 56: 08-16 17:30:00 - 08-16 18:00:00 @ 42.36, 57: 08-16 18:00:00 - 08-16 18:30:00 @ 44.19, 58: 08-16 19:00:00 - 08-16 19:30:00 @ 33.04, 59: 08-16 19:30:00 - 08-16 20:00:00 @ 33.71, 60: 08-16 20:00:00 - 08-16 20:30:00 @ 33.83, 61: 08-16 20:30:00 - 08-16 21:00:00 @ 33.94, 62: 08-16 21:00:00 - 08-16 21:30:00 @ 33.73, 63: 08-16 21:30:00 - 08-16 22:00:00 @ 33.53, 64: 08-16 22:00:00 - 08-16 22:30:00 @ 32.36, 65: 08-16 22:30:00 - 08-16 23:00:00 @ 31.17, 66: 08-16 23:00:00 - 08-16 23:30:00 @ 29.37, 67: 08-16 23:30:00 - 08-17 00:00:00 @ 29.2, 68: 08-17 00:00:00 - 08-17 00:30:00 @ 28.83, 69: 08-17 00:30:00 - 08-17 01:00:00 @ 28.46, 70: 08-17 01:00:00 - 08-17 01:30:00 @ 27.73, 71: 08-17 01:30:00 - 08-17 02:00:00 @ 27.01, 72: 08-17 02:00:00 - 08-17 02:30:00 @ 26.76, 73: 08-17 02:30:00 - 08-17 03:00:00 @ 26.48, 74: 08-17 03:00:00 - 08-17 03:30:00 @ 26.39, 75: 08-17 03:30:00 - 08-17 04:00:00 @ 26.27, 76: 08-17 04:00:00 - 08-17 04:30:00 @ 26.33, 77: 08-17 04:30:00 - 08-17 05:00:00 @ 26.37, 78: 08-17 05:00:00 - 08-17 05:30:00 @ 26.23, 79: 08-17 05:30:00 - 08-17 06:00:00 @ 26.07, 80: 08-17 06:00:00 - 08-17 06:30:00 @ 25.99, 81: 08-17 06:30:00 - 08-17 07:00:00 @ 25.92, 82: 08-17 07:00:00 - 08-17 07:30:00 @ 25.64, 83: 08-17 07:30:00 - 08-17 08:00:00 @ 25.39, 84: 08-17 08:00:00 - 08-17 08:30:00 @ 24.84, 85: 08-17 08:30:00 - 08-17 09:00:00 @ 24.28, 86: 08-17 09:00:00 - 08-17 09:30:00 @ 24.26, 87: 08-17 09:30:00 - 08-17 10:00:00 @ 24.22, 88: 08-17 10:00:00 - 08-17 10:30:00 @ 24.8, 89: 08-17 10:30:00 - 08-17 11:00:00 @ 25.37, 90: 08-17 11:00:00 - 08-17 11:30:00 @ 24.71, 91: 08-17 11:30:00 - 08-17 12:00:00 @ 24.02, 92: 08-17 12:00:00 - 08-17 12:30:00 @ 23.79, 93: 08-17 12:30:00 - 08-17 13:00:00 @ 23.55, 94: 08-17 13:00:00 - 08-17 13:30:00 @ 23.14, 95: 08-17 13:30:00 - 08-17 14:00:00 @ 22.71]
2026-08-15 13:40:06.079321: Include original charge start 08-15 10:30:00, keeping this instead of new start 08-15 13:30:00
2026-08-15 13:40:06.079554: Inverter 0 Charge window will be: 2026-08-15 10:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 41%, target 100%
2026-08-15 13:40:06.079847: Inverter 0 Target SoC 100%, (this inverter 100%), battery temperature 20°C, select charge rate 5000W (real 5000W), current charge rate 5000W
2026-08-15 13:40:06.080090: Adjust idle time, charge 10:30:00-16:00:00 discharge 00:00:00-00:00:00
2026-08-15 13:40:06.080380: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 13:40:06.080652: No export window planned
2026-08-15 13:40:06.080859: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 13:40:06.080912: Adjust idle time, charge 10:30:00-16:00:00 discharge 00:00:00-00:00:00
2026-08-15 13:40:06.081175: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 13:40:06.081367: Inverter 0 setting charging SoC to 100% as per target
2026-08-15 13:40:06.081431: Inverter 0 adjust target SoC for charge to 100% based on requested all inverter SoC 100%
2026-08-15 13:40:06.081570: Inverter 0 Current Target SoC is 100%, already at target
2026-08-15 13:40:06.081757: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:40:06.081818: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:40:06.081924: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:40:06.081977: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:40:06.082113: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:40:06.082167: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:40:06.082268: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:40:06.082379: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 13:40:06.082433: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 13:40:06.082543: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 13:40:06.082614: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 13:40:06.082730: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 13:40:06.082809: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 13:40:06.082863: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 13:40:06.083027: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:40:06.083083: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:40:06.083184: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:40:06.083234: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:40:06.083333: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:40:06.083383: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:40:06.083483: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:40:06.083527: Inverter 0 count register writes 0
2026-08-15 13:40:06.136979: Will not recompute the plan, it is 5.0 minutes old and max age is 10 minutes
2026-08-15 13:40:06.161884: Total inverter register writes now 825
2026-08-15 13:40:06.231094: Info: Completed run status Charging
2026-08-15 13:40:06.242206: Info: record_status Charging target 41%-100.0%
2026-08-15 13:40:06.252648: Saved current settings to /config/predbat_config.json
2026-08-15 13:40:06.252938: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 13:40:12.943580: ML Predictor: Epoch 4/30: lr=0.00098 huber_loss=0.0109 val_mae=0.0062 kWh val_bias=-0.0039 kWh (-4.4%) combined=0.0053 kWh ema_combined=0.0044 kWh
2026-08-15 13:40:42.433157: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 13:40:42.433552: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 13:40:42.433641: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 13:40:42.433869: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 13:40:42.433927: Note: Inverter does not support discharge freeze - disabled
2026-08-15 13:40:42.433966: Note: Inverter does not support charge freeze - disabled
2026-08-15 13:40:42.434005: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 13:40:46.519535: ML Predictor: Epoch 5/30: lr=0.00096 huber_loss=0.0099 val_mae=0.0041 kWh val_bias=-0.0001 kWh (-0.1%) combined=0.0022 kWh ema_combined=0.0037 kWh
2026-08-15 13:41:19.565158: ML Predictor: Epoch 6/30: lr=0.00094 huber_loss=0.0097 val_mae=0.0048 kWh val_bias=-0.0013 kWh (-1.5%) combined=0.0025 kWh ema_combined=0.0034 kWh
2026-08-15 13:41:50.484162: ML Predictor: Epoch 7/30: lr=0.00091 huber_loss=0.0097 val_mae=0.0048 kWh val_bias=-0.0023 kWh (-2.6%) combined=0.0035 kWh ema_combined=0.0034 kWh
2026-08-15 13:42:23.533949: ML Predictor: Epoch 8/30: lr=0.00088 huber_loss=0.0084 val_mae=0.0040 kWh val_bias=-0.0010 kWh (-1.1%) combined=0.0025 kWh ema_combined=0.0031 kWh
2026-08-15 13:42:55.855144: ML Predictor: Epoch 9/30: lr=0.00084 huber_loss=0.0084 val_mae=0.0048 kWh val_bias=-0.0018 kWh (-2.0%) combined=0.0041 kWh ema_combined=0.0034 kWh
2026-08-15 13:42:56.918468: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 13:42:56.918755: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 13:42:56.918801: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 13:42:56.918941: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 13:42:56.918982: Note: Inverter does not support discharge freeze - disabled
2026-08-15 13:42:56.919004: Note: Inverter does not support charge freeze - disabled
2026-08-15 13:42:56.919024: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 13:43:29.735462: ML Predictor: Epoch 10/30: lr=0.00080 huber_loss=0.0102 val_mae=0.0044 kWh val_bias=-0.0019 kWh (-2.1%) combined=0.0027 kWh ema_combined=0.0032 kWh
2026-08-15 13:44:02.172920: ML Predictor: Epoch 11/30: lr=0.00076 huber_loss=0.0091 val_mae=0.0036 kWh val_bias=-0.0001 kWh (-0.1%) combined=0.0022 kWh ema_combined=0.0029 kWh
2026-08-15 13:44:34.702796: ML Predictor: Epoch 12/30: lr=0.00072 huber_loss=0.0089 val_mae=0.0037 kWh val_bias=-0.0004 kWh (-0.5%) combined=0.0020 kWh ema_combined=0.0026 kWh
2026-08-15 13:44:57.375038: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 13:44:57.375348: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 13:44:57.375406: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 13:44:57.375593: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 13:44:57.375642: Note: Inverter does not support discharge freeze - disabled
2026-08-15 13:44:57.375673: Note: Inverter does not support charge freeze - disabled
2026-08-15 13:44:57.375796: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 13:45:00.581285: --------------- PredBat - update at 2026-08-15 13:45:00+01:00 with clock skew 0 minutes, minutes now 825
2026-08-15 13:45:00.582094: Saved current settings to /config/predbat_config.json
2026-08-15 13:45:00.582210: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 90.0 minutes
2026-08-15 13:45:00.582274: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.1, latest beta is v8.48.1
2026-08-15 13:45:00.582343: Autoupdate: Currently up to date
2026-08-15 13:45:00.622554: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 13:45:00.622725: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 13:45:00.623084: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 13:45:00.623862: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 13:45:00.624123: Predbat mode is set to Control charge & discharge
2026-08-15 13:45:00.931880: Found 21602 load_today datapoints going back 28 days
2026-08-15 13:45:00.932288: Using load_power data to fill gaps in load_today data
2026-08-15 13:45:02.444208: Processing 721 30-minute periods for power integration
2026-08-15 13:45:02.702164: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 13:45:02.702444: Car charging hold False, threshold 6.0kWh
2026-08-15 13:45:02.702616: Current data so far today: load 7.95kWh, import 14.7kWh, export 0.0kWh, PV 0kWh
2026-08-15 13:45:02.725626: Cars: SoC: [11.134]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 13:45:02.726338: Standing charge is set to 49.98p
2026-08-15 13:45:02.907194: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 13:45:02.907510: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 13:45:02.907951: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 185.0 minutes
2026-08-15 13:45:02.908747: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 185.0 minutes
2026-08-15 13:45:02.915246: Loaded 95 datapoints of futurerate analysis
2026-08-15 13:45:03.028467: Predicted future rates: ['08-15 00:00:00 => 28.9 / 20.01', '08-15 01:00:00 => 27.54 / 19.31', '08-15 02:00:00 => 26.52 / 18.8', '08-15 03:00:00 => 25.99 / 18.53', '08-15 04:00:00 => 25.8 / 18.43', '08-15 05:00:00 => 25.96 / 18.51', '08-15 06:00:00 => 25.55 / 18.3', '08-15 07:00:00 => 24.33 / 17.68', '08-15 08:00:00 => 23.03 / 17.01', '08-15 09:00:00 => 22.05 / 16.51', '08-15 10:00:00 => 20.43 / 15.68', '08-15 11:00:00 => 18.01 / 14.45', '08-15 12:00:00 => 16.37 / 13.61', '08-15 13:00:00 => 15.76 / 13.3', '08-15 14:00:00 => 15.35 / 13.09', '08-15 15:00:00 => 15.86 / 13.35', '08-15 16:00:00 => 32.89 / 16.13', '08-15 17:00:00 => 38.02 / 18.75', '08-15 18:00:00 => 42.36 / 20.96', '08-15 19:00:00 => 31.09 / 21.13', '08-15 20:00:00 => 31.64 / 21.41', '08-15 21:00:00 => 31.64 / 21.41', '08-15 22:00:00 => 30.58 / 20.87', '08-15 23:00:00 => 29.37 / 20.25', '08-16 00:00:00 => 28.83 / 19.97', '08-16 01:00:00 => 27.73 / 19.41', '08-16 02:00:00 => 26.76 / 18.92', '08-16 03:00:00 => 26.39 / 18.73', '08-16 04:00:00 => 26.33 / 18.7', '08-16 05:00:00 => 26.23 / 18.65', '08-16 06:00:00 => 25.99 / 18.53', '08-16 07:00:00 => 25.64 / 18.35', '08-16 08:00:00 => 24.84 / 17.94', '08-16 09:00:00 => 24.26 / 17.64', '08-16 10:00:00 => 24.8 / 17.92', '08-16 11:00:00 => 24.71 / 17.87', '08-16 12:00:00 => 23.79 / 17.4']
2026-08-15 13:45:03.095085: Rate min forward looking: now 13.77p at end of forecast 21.29p
2026-08-15 13:45:03.095553: Import rates: min 13.77p, max 46.05p, average 28.02p
2026-08-15 13:45:03.147379: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 13:45:03.147550: Rate thresholds (for charge/export) are import 45.55p (0.0p), export -0.1p (0.0p)
2026-08-15 13:45:03.150587: High export rate found rates in range 99p to -99p
2026-08-15 13:45:03.498675: Low Import rate found rates in range 13.77p to 44.19p
2026-08-15 13:45:03.498825: Car 0 charging is not planned as it is not plugged in
2026-08-15 13:45:03.518335: Battery level now 6.53kWh, -1hr ago 4.0kWh, at midnight 1.66kWh, battery value change in the last hour 29.9p, change today 57.62p, rate_forward 11.83p
2026-08-15 13:45:03.519044: Last hour: net energy 3.1kWh, import 3.1kWh, export 0.0kWh, car 0kWh, load 0.35kWh, net cost 48.04p, import 48.04p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 13:45:03.640408: Today's energy total net 14.7kWh, import 14.7kWh, export 0.0kWh, cost 365.8p, import 315.81p, export 0.0p, carbon 0.0kg
2026-08-15 13:45:03.640614: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 13:45:03.850142: Using weighted-bucket historical load forecast over 14 days
2026-08-15 13:45:03.879809: Today's load divergence 96.88%, in-day adjustment 117.0%, damping 0.95x, yesterday 143.77% today 97.04% blend 42.71%
2026-08-15 13:45:03.879984: Today's predicted so far 8.47kWh with 0.0kWh car/iBoost excluded, 8.74kWh import ignored, and 8.47kWh forecast extra.
2026-08-15 13:45:03.880031: Today's actual load so far 8.0kWh with 0.0kWh car/iBoost excluded, and 8.74kWh import ignored.
2026-08-15 13:45:03.932464: Inverter 0: Type SK Sunsynk
2026-08-15 13:45:03.932792: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 13:45:03.933219: Reserve min: 7%, battery_min: 7%
2026-08-15 13:45:03.933491: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 13:45:03.934049: Inverter 0 SoC: 6.53kW 41%, current charge rate 5000W, current discharge rate 5250W, current battery power -4537W, current battery voltage 51.2V, grid power -5264W, load power 268W, PV Power 0W
2026-08-15 13:45:03.934427: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 13:45:03.934698: Inverter 0 scheduled charge enable is True
2026-08-15 13:45:03.934931: Inverter 0 charge windows currently [{'start': 630, 'end': 960, 'average': 0}, {'start': 2070, 'end': 2400, 'average': 0}, {'start': 3510, 'end': 3840, 'average': 0}]
2026-08-15 13:45:03.935215: Inverter 0 Charge settings: 08-15 10:30:00-08-15 16:00:00, limit 100.0%, power 5.0kW
2026-08-15 13:45:03.935547: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 13:45:03.939715: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 13:45:03.939959: Inverter 0 scheduled discharge enable is False
2026-08-15 13:45:03.940324: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 13:45:03.940479: Inverter 0 discharge windows currently []
2026-08-15 13:45:03.940632: Note: Inverter does not support discharge freeze - disabled
2026-08-15 13:45:03.940780: Note: Inverter does not support charge freeze - disabled
2026-08-15 13:45:03.940926: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 13:45:04.066472: Dynamic load last period 0.30kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 13:45:04.066603: Plan was last updated on 2026-08-15 13:35:00+01:00 and is now 10.0 minutes old
2026-08-15 13:45:04.066807: Best charge window [ 15-08 13:30:00 - 15-08 16:00:00 @ 15.3p 100%, 16-08 14:00:00 - 16-08 18:30:00 @ 41.92p 100%, 16-08 19:00:00 - 17-08 14:00:00 @ 23.09p 100% ]
2026-08-15 13:45:04.066853: Best export window [  ]
2026-08-15 13:45:04.067903: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 13:45:04.071164: Load divergence over 8.0 hours mean 479.66W, min 290.4W, max 1344.6W, std dev 191.48W, divergence 19.96%
2026-08-15 13:45:04.099963: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 13:45:04.100221: LoadML is_calculating True
2026-08-15 13:45:04.100332: Not using thread pool as LoadML is calculating to avoid lockups
2026-08-15 13:45:04.157881: predict base end_record 08-16 14:10:00, final soc 16.0kWh, metric 1012.55p, metric_keep 0kWh, min_soc 2.42kWh @ 08-16 10:25:00, load 25.13kWh, PV 0.0kWh
2026-08-15 13:45:04.407839: Battery has 48.0 hours left - now at 6.53kWh
2026-08-15 13:45:04.461224: predict base10 end_record 08-16 14:10:00, final soc 15.35kWh, metric 1020.22p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 10:20:00, load 25.95kWh, PV 0.0kWh
2026-08-15 13:45:04.614490: predict best10 end_record 08-16 14:10:00, final soc 1.77kWh, metric 671.7p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 10:20:00, load 25.95kWh, PV 0.0kWh
2026-08-15 13:45:04.772431: predict best end_record 08-16 14:10:00, final soc 1.9kWh, metric 649.21p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 11:50:00, load 25.13kWh, PV 0.0kWh
2026-08-15 13:45:04.772664: Saving plan best values to HA entities
2026-08-15 13:45:05.160984: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0
2026-08-15 13:45:05.171290: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 13:45:05.200004: Best charging limit SoC's [16.0, 16.0, 16.0]kWh, export []kWh gives import battery 12.63kWh, house 1.69kWh, export 0.0kWh, metric 649.21p, metric10 671.7p
2026-08-15 13:45:05.447667: Marginal costs baseline metric (no standing charge): 599.2293
2026-08-15 13:45:05.917491: Marginal energy costs matrix computed: min=14.66 max=33.47
2026-08-15 13:45:06.110484: Rate array import [{'start': 825, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 15.9p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1950, 'rate': 'expensive', 'range': '(24.8p - 32.9p)'}, {'start': 1950, 'end': 2040, 'rate': 'cheap', 'range': '(24.2p - 24.3p)'}, {'start': 2040, 'end': 2130, 'rate': 'expensive', 'range': '(24.7p - 25.4p)'}, {'start': 2130, 'end': 2290, 'rate': 'cheap', 'range': '(22.0p - 24.0p)'}] export [{'start': 825, 'end': 2290, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 13:45:06.133335: - Your estimated bill for today is £5.40 and tomorrow is £7.54
2026-08-15 13:45:06.133565: - Import rates are cheap (13.8p - 15.9p) for the next 2 and a quarter hours and then expensive (33.1p) for the next 1 hour.
2026-08-15 13:45:06.133705: - The battery is currently at 41% and is charging to 100% for the next 2 and a quarter hours.
2026-08-15 13:45:06.133864: - For the next 48 hours there will be no solar generation.
2026-08-15 13:45:06.133988: - You will run out of battery in 22 hours.
2026-08-15 13:45:06.134210: 
2026-08-15 13:45:06.188227: Plan calculation took 2.12 seconds
2026-08-15 13:45:06.191565: No high rate period found
2026-08-15 13:45:06.367174: Import threshold used for optimisation was 24.28p
2026-08-15 13:45:06.459315: Low import rate windows [0: 08-15 13:30:00 - 08-15 14:00:00 @ 15.74, 1: 08-15 14:00:00 - 08-15 14:30:00 @ 14.57, 2: 08-15 14:30:00 - 08-15 15:00:00 @ 13.77, 3: 08-15 15:00:00 - 08-15 15:30:00 @ 15.02, 4: 08-15 15:30:00 - 08-15 16:00:00 @ 15.87, 5: 08-15 16:00:00 - 08-15 16:30:00 @ 33.13, 6: 08-15 16:30:00 - 08-15 17:00:00 @ 33.13, 7: 08-15 17:00:00 - 08-15 17:30:00 @ 38.46, 8: 08-15 17:30:00 - 08-15 18:00:00 @ 40.44, 9: 08-15 18:00:00 - 08-15 18:30:00 @ 41.55, 10: 08-15 18:30:00 - 08-15 19:00:00 @ 43.82, 11: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 12: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 13: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 14: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 15: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 16: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 17: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 18: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 19: 08-15 23:00:00 - 08-15 23:30:00 @ 29.37, 20: 08-15 23:30:00 - 08-16 00:00:00 @ 29.2, 21: 08-16 00:00:00 - 08-16 00:30:00 @ 28.83, 22: 08-16 00:30:00 - 08-16 01:00:00 @ 28.46, 23: 08-16 01:00:00 - 08-16 01:30:00 @ 27.73, 24: 08-16 01:30:00 - 08-16 02:00:00 @ 27.01, 25: 08-16 02:00:00 - 08-16 02:30:00 @ 26.76, 26: 08-16 02:30:00 - 08-16 03:00:00 @ 26.48, 27: 08-16 03:00:00 - 08-16 03:30:00 @ 26.39, 28: 08-16 03:30:00 - 08-16 04:00:00 @ 26.27, 29: 08-16 04:00:00 - 08-16 04:30:00 @ 26.33, 30: 08-16 04:30:00 - 08-16 05:00:00 @ 26.37, 31: 08-16 05:00:00 - 08-16 05:30:00 @ 26.23, 32: 08-16 05:30:00 - 08-16 06:00:00 @ 26.07, 33: 08-16 06:00:00 - 08-16 06:30:00 @ 25.99, 34: 08-16 06:30:00 - 08-16 07:00:00 @ 25.92, 35: 08-16 07:00:00 - 08-16 07:30:00 @ 25.64, 36: 08-16 07:30:00 - 08-16 08:00:00 @ 25.39, 37: 08-16 08:00:00 - 08-16 08:30:00 @ 24.84, 38: 08-16 08:30:00 - 08-16 09:00:00 @ 24.28, 39: 08-16 09:00:00 - 08-16 09:30:00 @ 24.26, 40: 08-16 09:30:00 - 08-16 10:00:00 @ 24.22, 41: 08-16 10:00:00 - 08-16 10:30:00 @ 24.8, 42: 08-16 10:30:00 - 08-16 11:00:00 @ 25.37, 43: 08-16 11:00:00 - 08-16 11:30:00 @ 24.71, 44: 08-16 11:30:00 - 08-16 12:00:00 @ 24.02, 45: 08-16 12:00:00 - 08-16 12:30:00 @ 23.79, 46: 08-16 12:30:00 - 08-16 13:00:00 @ 23.55, 47: 08-16 13:00:00 - 08-16 13:30:00 @ 23.14, 48: 08-16 13:30:00 - 08-16 14:00:00 @ 22.71, 49: 08-16 14:00:00 - 08-16 14:30:00 @ 22.01, 50: 08-16 14:30:00 - 08-16 15:00:00 @ 21.29, 51: 08-16 15:00:00 - 08-16 15:30:00 @ 22.01, 52: 08-16 15:30:00 - 08-16 16:00:00 @ 22.71, 53: 08-16 16:00:00 - 08-16 16:30:00 @ 37.14, 54: 08-16 16:30:00 - 08-16 17:00:00 @ 37.91, 55: 08-16 17:00:00 - 08-16 17:30:00 @ 40.13, 56: 08-16 17:30:00 - 08-16 18:00:00 @ 42.36, 57: 08-16 18:00:00 - 08-16 18:30:00 @ 44.19, 58: 08-16 19:00:00 - 08-16 19:30:00 @ 33.04, 59: 08-16 19:30:00 - 08-16 20:00:00 @ 33.71, 60: 08-16 20:00:00 - 08-16 20:30:00 @ 33.83, 61: 08-16 20:30:00 - 08-16 21:00:00 @ 33.94, 62: 08-16 21:00:00 - 08-16 21:30:00 @ 33.73, 63: 08-16 21:30:00 - 08-16 22:00:00 @ 33.53, 64: 08-16 22:00:00 - 08-16 22:30:00 @ 32.36, 65: 08-16 22:30:00 - 08-16 23:00:00 @ 31.17, 66: 08-16 23:00:00 - 08-16 23:30:00 @ 29.37, 67: 08-16 23:30:00 - 08-17 00:00:00 @ 29.2, 68: 08-17 00:00:00 - 08-17 00:30:00 @ 28.83, 69: 08-17 00:30:00 - 08-17 01:00:00 @ 28.46, 70: 08-17 01:00:00 - 08-17 01:30:00 @ 27.73, 71: 08-17 01:30:00 - 08-17 02:00:00 @ 27.01, 72: 08-17 02:00:00 - 08-17 02:30:00 @ 26.76, 73: 08-17 02:30:00 - 08-17 03:00:00 @ 26.48, 74: 08-17 03:00:00 - 08-17 03:30:00 @ 26.39, 75: 08-17 03:30:00 - 08-17 04:00:00 @ 26.27, 76: 08-17 04:00:00 - 08-17 04:30:00 @ 26.33, 77: 08-17 04:30:00 - 08-17 05:00:00 @ 26.37, 78: 08-17 05:00:00 - 08-17 05:30:00 @ 26.23, 79: 08-17 05:30:00 - 08-17 06:00:00 @ 26.07, 80: 08-17 06:00:00 - 08-17 06:30:00 @ 25.99, 81: 08-17 06:30:00 - 08-17 07:00:00 @ 25.92, 82: 08-17 07:00:00 - 08-17 07:30:00 @ 25.64, 83: 08-17 07:30:00 - 08-17 08:00:00 @ 25.39, 84: 08-17 08:00:00 - 08-17 08:30:00 @ 24.84, 85: 08-17 08:30:00 - 08-17 09:00:00 @ 24.28, 86: 08-17 09:00:00 - 08-17 09:30:00 @ 24.26, 87: 08-17 09:30:00 - 08-17 10:00:00 @ 24.22, 88: 08-17 10:00:00 - 08-17 10:30:00 @ 24.8, 89: 08-17 10:30:00 - 08-17 11:00:00 @ 25.37, 90: 08-17 11:00:00 - 08-17 11:30:00 @ 24.71, 91: 08-17 11:30:00 - 08-17 12:00:00 @ 24.02, 92: 08-17 12:00:00 - 08-17 12:30:00 @ 23.79, 93: 08-17 12:30:00 - 08-17 13:00:00 @ 23.55, 94: 08-17 13:00:00 - 08-17 13:30:00 @ 23.14, 95: 08-17 13:30:00 - 08-17 14:00:00 @ 22.71]
2026-08-15 13:45:06.471979: Include original charge start 08-15 10:30:00, keeping this instead of new start 08-15 13:30:00
2026-08-15 13:45:06.472156: Inverter 0 Charge window will be: 2026-08-15 10:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 41%, target 100%
2026-08-15 13:45:06.472308: Inverter 0 Target SoC 100%, (this inverter 100%), battery temperature 20°C, select charge rate 5000W (real 5000W), current charge rate 5000W
2026-08-15 13:45:06.472510: Adjust idle time, charge 10:30:00-16:00:00 discharge 00:00:00-00:00:00
2026-08-15 13:45:06.472777: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 13:45:06.472894: No export window planned
2026-08-15 13:45:06.473220: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 13:45:06.473284: Adjust idle time, charge 10:30:00-16:00:00 discharge 00:00:00-00:00:00
2026-08-15 13:45:06.473504: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 13:45:06.473647: Inverter 0 setting charging SoC to 100% as per target
2026-08-15 13:45:06.473778: Inverter 0 adjust target SoC for charge to 100% based on requested all inverter SoC 100%
2026-08-15 13:45:06.473862: Inverter 0 Current Target SoC is 100%, already at target
2026-08-15 13:45:06.474069: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:45:06.474275: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:45:06.474332: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:45:06.474427: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:45:06.474475: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:45:06.474519: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:45:06.474572: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:45:06.474706: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 13:45:06.474779: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 13:45:06.474918: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 13:45:06.474998: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 13:45:06.475092: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 13:45:06.475134: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 13:45:06.475161: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 13:45:06.475331: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:45:06.476333: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:45:06.476389: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:45:06.476418: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:45:06.476452: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:45:06.476480: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:45:06.476504: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:45:06.476535: Inverter 0 count register writes 0
2026-08-15 13:45:06.505674: Will recompute the plan as it is now 10.0 minutes old and will exceed the max age of 10 minutes before the next run
2026-08-15 13:45:06.505902: Recompute is saving previous plan...
2026-08-15 13:45:06.511336: Best charge window [ 15-08 13:30:00 - 15-08 14:00:00 @ 15.74p 100%, 15-08 14:00:00 - 15-08 14:30:00 @ 14.57p 100%, 15-08 14:30:00 - 15-08 15:00:00 @ 13.77p 100%, 15-08 15:00:00 - 15-08 15:30:00 @ 15.02p 100%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 100%, 15-08 16:00:00 - 15-08 16:30:00 @ 33.13p 100%, 15-08 16:30:00 - 15-08 17:00:00 @ 33.13p 100%, 15-08 17:00:00 - 15-08 17:30:00 @ 38.46p 100%, 15-08 17:30:00 - 15-08 18:00:00 @ 40.44p 100%, 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 100%, 15-08 18:30:00 - 15-08 19:00:00 @ 43.82p 100%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 100%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 100%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 100%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 100%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 100%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 100%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 100%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 100%, 15-08 23:00:00 - 15-08 23:30:00 @ 29.37p 100%, 15-08 23:30:00 - 16-08 00:00:00 @ 29.2p 100%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.83p 100%, 16-08 00:30:00 - 16-08 01:00:00 @ 28.46p 100%, 16-08 01:00:00 - 16-08 01:30:00 @ 27.73p 100%, 16-08 01:30:00 - 16-08 02:00:00 @ 27.01p 100%, 16-08 02:00:00 - 16-08 02:30:00 @ 26.76p 100%, 16-08 02:30:00 - 16-08 03:00:00 @ 26.48p 100%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.39p 100%, 16-08 03:30:00 - 16-08 04:00:00 @ 26.27p 100%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.33p 100%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.37p 100%, 16-08 05:00:00 - 16-08 05:30:00 @ 26.23p 100%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.07p 100%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.99p 100%, 16-08 06:30:00 - 16-08 07:00:00 @ 25.92p 100%, 16-08 07:00:00 - 16-08 07:30:00 @ 25.64p 100%, 16-08 07:30:00 - 16-08 08:00:00 @ 25.39p 100%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.84p 100%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.28p 100%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.26p 100%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.22p 100%, 16-08 10:00:00 - 16-08 10:30:00 @ 24.8p 100%, 16-08 10:30:00 - 16-08 11:00:00 @ 25.37p 100%, 16-08 11:00:00 - 16-08 11:30:00 @ 24.71p 100%, 16-08 11:30:00 - 16-08 12:00:00 @ 24.02p 100%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.79p 100%, 16-08 12:30:00 - 16-08 13:00:00 @ 23.55p 100%, 16-08 13:00:00 - 16-08 13:30:00 @ 23.14p 100%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.71p 100%, 16-08 14:00:00 - 16-08 14:30:00 @ 22.01p 100%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.29p 100%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.01p 100%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.71p 100%, 16-08 16:00:00 - 16-08 16:30:00 @ 37.14p 100%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.91p 100%, 16-08 17:00:00 - 16-08 17:30:00 @ 40.13p 100%, 16-08 17:30:00 - 16-08 18:00:00 @ 42.36p 100%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.19p 100%, 16-08 19:00:00 - 16-08 19:30:00 @ 33.04p 100%, 16-08 19:30:00 - 16-08 20:00:00 @ 33.71p 100%, 16-08 20:00:00 - 16-08 20:30:00 @ 33.83p 100%, 16-08 20:30:00 - 16-08 21:00:00 @ 33.94p 100%, 16-08 21:00:00 - 16-08 21:30:00 @ 33.73p 100%, 16-08 21:30:00 - 16-08 22:00:00 @ 33.53p 100%, 16-08 22:00:00 - 16-08 22:30:00 @ 32.36p 100%, 16-08 22:30:00 - 16-08 23:00:00 @ 31.17p 100%, 16-08 23:00:00 - 16-08 23:30:00 @ 29.37p 100%, 16-08 23:30:00 - 17-08 00:00:00 @ 29.2p 100%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.83p 100%, 17-08 00:30:00 - 17-08 01:00:00 @ 28.46p 100%, 17-08 01:00:00 - 17-08 01:30:00 @ 27.73p 100%, 17-08 01:30:00 - 17-08 02:00:00 @ 27.01p 100%, 17-08 02:00:00 - 17-08 02:30:00 @ 26.76p 100%, 17-08 02:30:00 - 17-08 03:00:00 @ 26.48p 100%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.39p 100%, 17-08 03:30:00 - 17-08 04:00:00 @ 26.27p 100%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.33p 100%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.37p 100%, 17-08 05:00:00 - 17-08 05:30:00 @ 26.23p 100%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.07p 100%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.99p 100%, 17-08 06:30:00 - 17-08 07:00:00 @ 25.92p 100%, 17-08 07:00:00 - 17-08 07:30:00 @ 25.64p 100%, 17-08 07:30:00 - 17-08 08:00:00 @ 25.39p 100%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.84p 100%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.28p 100%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.26p 100%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.22p 100%, 17-08 10:00:00 - 17-08 10:30:00 @ 24.8p 100%, 17-08 10:30:00 - 17-08 11:00:00 @ 25.37p 100%, 17-08 11:00:00 - 17-08 11:30:00 @ 24.71p 100%, 17-08 11:30:00 - 17-08 12:00:00 @ 24.02p 100%, 17-08 12:00:00 - 17-08 12:30:00 @ 23.79p 100%, 17-08 12:30:00 - 17-08 13:00:00 @ 23.55p 100%, 17-08 13:00:00 - 17-08 13:30:00 @ 23.14p 100%, 17-08 13:30:00 - 17-08 14:00:00 @ 22.71p 100% ]
2026-08-15 13:45:06.511452: Best export window [  ]
2026-08-15 13:45:06.512766: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 13:45:06.517807: Load divergence over 8.0 hours mean 479.66W, min 290.4W, max 1344.6W, std dev 191.48W, divergence 19.96%
2026-08-15 13:45:06.549268: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 13:45:06.549405: LoadML is_calculating True
2026-08-15 13:45:06.549441: Not using thread pool as LoadML is calculating to avoid lockups
2026-08-15 13:45:06.567013: Calculate Best options: mode(Control charge & discharge), calculate_export_oncharge(False), calculate_export_on_pv(True), set_export_freeze_only(False), set_discharge_during_charge(True), combine_charge_slots(False), combine_export_slots(False), combine_rate_threshold(0.0), best_soc_min(0.0 kWh), best_soc_max(0.0 kWh), best_soc_keep(0.0 kWh), inverter_loss(4%), battery_loss(3%), battery_loss_discharge (3%), inverter_hybrid(True), metric_min_improvement(0.0p), metric_min_improvement_export(0.1p), metric_min_improvement_export_freeze(0.1p), metric_battery_cycle(0.0p/kWh), metric_battery_value_scaling(1.0 x) 
2026-08-15 13:45:06.568664: Optimise levels pass started at 2026-08-15 13:45:06
2026-08-15 13:45:06.568744: Optimise all windows, total charge 95 export 1
2026-08-15 13:45:12.341079: >> Region optimisation pass width 960 gives best_metric 954.31p, best_cost 967.86p, best_cycle 42.83kWh, best_import 30.37kWh
2026-08-15 13:45:13.222184: >> Region optimisation pass width 480 gives best_metric 954.31p, best_cost 967.86p, best_cycle 42.83kWh, best_import 30.37kWh
2026-08-15 13:45:13.843857: ML Predictor: Epoch 13/30: lr=0.00067 huber_loss=0.0075 val_mae=0.0036 kWh val_bias=+0.0002 kWh (+0.3%) combined=0.0023 kWh ema_combined=0.0025 kWh
2026-08-15 13:45:14.598982: >> Region optimisation pass width 240 gives best_metric 954.31p, best_cost 967.86p, best_cycle 42.83kWh, best_import 30.37kWh
2026-08-15 13:45:17.602209: >> Region optimisation pass width 120 gives best_metric 954.31p, best_cost 967.86p, best_cycle 42.83kWh, best_import 30.37kWh
2026-08-15 13:45:17.602728: Calculated end_record as 08-16 14:00:00 based on best_price 22.71p, next_charge_start 08-15 14:00:00, max_windows 49
2026-08-15 13:45:17.602928: Optimise levels pass ended at 2026-08-15 13:45:17, duration 11.0 seconds tried 270 combinations
2026-08-15 13:45:17.603062: Set best_price_charge_level 24.4p, best_price_export_level 0p, best_price_charge 22.71p, best_cost_export 0p, best_metric 954.31p, best_keep 0kWh, best_cycle 42.83kWh, best_carbon 0kg, best_import 30.37kWh
2026-08-15 13:45:17.667565: Starting detailed optimisation end_record 08-16 14:00:00, best_price_charge 22.71p, best_price_export 0p. lowest_price_charge 13.77p with charge limits [16.0, 16.0, 16.0, 16.0, 16.0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0]kWh and export limits []kWh
2026-08-15 13:45:37.406967: Tweak plan optimisation started metric 562.37p, cost 579.12p
2026-08-15 13:45:37.995861: Tweak optimisation finished metric 562.37p, cost 579.12p, metric_keep 0kWh, cycle 24.2kWh, carbon 0kg, import 13.41kWh, changed 8 window(s)
2026-08-15 13:45:38.015577: Swap charge optimisation started metric 562.37p, cost 579.12p, min_improvement_swap 0.1p
2026-08-15 13:45:42.940555: Swap charge optimisation finished metric 562.37p, cost 579.12p
2026-08-15 13:45:43.276665: Pruned 3 dead plan slot(s) in 8 trial(s), nominal metric 558.63p -> 558.63p, plan now metric 562.45p, cost 579.12p, cycle 24.2kWh, import 13.41kWh
2026-08-15 13:45:43.295237: Raw charge windows [ 15-08 13:30:00 - 15-08 14:00:00 @ 15.74p 100%, 15-08 14:00:00 - 15-08 14:30:00 @ 14.57p 100%, 15-08 14:30:00 - 15-08 15:00:00 @ 13.77p 100%, 15-08 15:00:00 - 15-08 15:30:00 @ 15.02p 100%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 100%, 15-08 16:00:00 - 15-08 16:30:00 @ 33.13p 0%, 15-08 16:30:00 - 15-08 17:00:00 @ 33.13p 0%, 15-08 17:00:00 - 15-08 17:30:00 @ 38.46p 0%, 15-08 17:30:00 - 15-08 18:00:00 @ 40.44p 0%, 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 0%, 15-08 18:30:00 - 15-08 19:00:00 @ 43.82p 0%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 0%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 0%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 0%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 0%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 29.37p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 29.2p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.83p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 28.46p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 27.73p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 27.01p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 26.76p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 26.48p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.39p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 26.27p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.33p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.37p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 26.23p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.07p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.99p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 25.92p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 25.64p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 25.39p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.84p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.28p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.26p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.22p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 24.8p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 25.37p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 24.71p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 24.02p 0%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.79p 0%, 16-08 12:30:00 - 16-08 13:00:00 @ 23.55p 0%, 16-08 13:00:00 - 16-08 13:30:00 @ 23.14p 0%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.71p 0%, 16-08 14:00:00 - 16-08 14:30:00 @ 22.01p 100%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.29p 100%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.01p 100%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.71p 100%, 16-08 16:00:00 - 16-08 16:30:00 @ 37.14p 100%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.91p 100%, 16-08 17:00:00 - 16-08 17:30:00 @ 40.13p 100%, 16-08 17:30:00 - 16-08 18:00:00 @ 42.36p 100%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.19p 100%, 16-08 19:00:00 - 16-08 19:30:00 @ 33.04p 100%, 16-08 19:30:00 - 16-08 20:00:00 @ 33.71p 100%, 16-08 20:00:00 - 16-08 20:30:00 @ 33.83p 100%, 16-08 20:30:00 - 16-08 21:00:00 @ 33.94p 100%, 16-08 21:00:00 - 16-08 21:30:00 @ 33.73p 100%, 16-08 21:30:00 - 16-08 22:00:00 @ 33.53p 100%, 16-08 22:00:00 - 16-08 22:30:00 @ 32.36p 100%, 16-08 22:30:00 - 16-08 23:00:00 @ 31.17p 100%, 16-08 23:00:00 - 16-08 23:30:00 @ 29.37p 100%, 16-08 23:30:00 - 17-08 00:00:00 @ 29.2p 100%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.83p 100%, 17-08 00:30:00 - 17-08 01:00:00 @ 28.46p 100%, 17-08 01:00:00 - 17-08 01:30:00 @ 27.73p 100%, 17-08 01:30:00 - 17-08 02:00:00 @ 27.01p 100%, 17-08 02:00:00 - 17-08 02:30:00 @ 26.76p 100%, 17-08 02:30:00 - 17-08 03:00:00 @ 26.48p 100%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.39p 100%, 17-08 03:30:00 - 17-08 04:00:00 @ 26.27p 100%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.33p 100%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.37p 100%, 17-08 05:00:00 - 17-08 05:30:00 @ 26.23p 100%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.07p 100%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.99p 100%, 17-08 06:30:00 - 17-08 07:00:00 @ 25.92p 100%, 17-08 07:00:00 - 17-08 07:30:00 @ 25.64p 100%, 17-08 07:30:00 - 17-08 08:00:00 @ 25.39p 100%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.84p 100%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.28p 100%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.26p 100%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.22p 100%, 17-08 10:00:00 - 17-08 10:30:00 @ 24.8p 100%, 17-08 10:30:00 - 17-08 11:00:00 @ 25.37p 100%, 17-08 11:00:00 - 17-08 11:30:00 @ 24.71p 100%, 17-08 11:30:00 - 17-08 12:00:00 @ 24.02p 100%, 17-08 12:00:00 - 17-08 12:30:00 @ 23.79p 100%, 17-08 12:30:00 - 17-08 13:00:00 @ 23.55p 100%, 17-08 13:00:00 - 17-08 13:30:00 @ 23.14p 100%, 17-08 13:30:00 - 17-08 14:00:00 @ 22.71p 100% ] reserve 1.12
2026-08-15 13:45:43.297080: Unclipped charge windows [ 15-08 13:30:00 - 15-08 16:00:00 @ 15.3p 100%, 16-08 14:00:00 - 16-08 18:30:00 @ 41.92p 100%, 16-08 19:00:00 - 17-08 14:00:00 @ 23.09p 100% ] reserve 1.12
2026-08-15 13:45:43.297439: Unfiltered charge windows [ 15-08 13:30:00 - 15-08 16:00:00 @ 15.3p 100%, 16-08 14:00:00 - 16-08 18:30:00 @ 41.92p 100%, 16-08 19:00:00 - 17-08 14:00:00 @ 23.09p 100% ] reserve 1.12
2026-08-15 13:45:43.297702: Filtered charge windows [ 15-08 13:30:00 - 15-08 16:00:00 @ 15.3p 100%, 16-08 14:00:00 - 16-08 18:30:00 @ 41.92p 100%, 16-08 19:00:00 - 17-08 14:00:00 @ 23.09p 100% ] reserve 1.12
2026-08-15 13:45:43.343580: Previous plan best metric is 562.37 (cost 579.12) and new plan best metric is 562.37 (cost 579.12)
2026-08-15 13:45:43.343942: New plan metric is not significantly better (metric_min_improvement_plan 2.0) than previous plan, using previous plan
2026-08-15 13:45:43.344087: Plan valid is now true after recompute was False
2026-08-15 13:45:43.375494: predict base end_record 08-16 14:00:00, final soc 16.0kWh, metric 1010.78p, metric_keep 0kWh, min_soc 2.42kWh @ 08-16 10:25:00, load 25.05kWh, PV 0.0kWh
2026-08-15 13:45:43.620865: Battery has 48.0 hours left - now at 6.53kWh
2026-08-15 13:45:43.727632: predict base10 end_record 08-16 14:00:00, final soc 14.7kWh, metric 1003.09p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 10:20:00, load 25.86kWh, PV 0.0kWh
2026-08-15 13:45:43.883059: predict best10 end_record 08-16 14:00:00, final soc 1.12kWh, metric 654.56p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 10:20:00, load 25.86kWh, PV 0.0kWh
2026-08-15 13:45:44.032909: predict best end_record 08-16 14:00:00, final soc 1.12kWh, metric 629.1p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 11:50:00, load 25.05kWh, PV 0.0kWh
2026-08-15 13:45:44.033094: Saving plan best values to HA entities
2026-08-15 13:45:44.348786: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0
2026-08-15 13:45:44.366292: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 13:45:44.375088: Best charging limit SoC's [16.0, 16.0, 16.0]kWh, export []kWh gives import battery 11.72kWh, house 1.69kWh, export 0.0kWh, metric 629.1p, metric10 654.56p
2026-08-15 13:45:44.533955: Marginal costs baseline metric (no standing charge): 579.1202
2026-08-15 13:45:44.977826: Marginal energy costs matrix computed: min=14.66 max=33.47
2026-08-15 13:45:45.067786: Rate array import [{'start': 825, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 15.9p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1950, 'rate': 'expensive', 'range': '(24.8p - 32.9p)'}, {'start': 1950, 'end': 2040, 'rate': 'cheap', 'range': '(24.2p - 24.3p)'}, {'start': 2040, 'end': 2130, 'rate': 'expensive', 'range': '(24.7p - 25.4p)'}, {'start': 2130, 'end': 2280, 'rate': 'cheap', 'range': '(22.7p - 24.0p)'}] export [{'start': 825, 'end': 2280, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 13:45:45.068175: - Your estimated bill for today is £5.40 and tomorrow is £7.54
2026-08-15 13:45:45.068218: - Import rates are cheap (13.8p - 15.9p) for the next 2 and a quarter hours and then expensive (33.1p) for the next 1 hour.
2026-08-15 13:45:45.068240: - The battery is currently at 41% and is charging to 100% for the next 2 and a quarter hours.
2026-08-15 13:45:45.068258: - For the next 48 hours there will be no solar generation.
2026-08-15 13:45:45.068275: - You will run out of battery in 22 hours.
2026-08-15 13:45:45.068378: 
2026-08-15 13:45:45.102739: Plan calculation took 38.60 seconds
2026-08-15 13:45:45.102997: Inverter 0: Type SK Sunsynk
2026-08-15 13:45:45.103039: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 13:45:45.103233: Reserve min: 7%, battery_min: 7%
2026-08-15 13:45:45.103303: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 13:45:45.103551: Inverter 0 SoC: 6.87kW 43%, current charge rate 5000W, current discharge rate 5250W, current battery power -4536W, current battery voltage 51.2V, grid power -5277W, load power 280W, PV Power 0W
2026-08-15 13:45:45.103723: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 13:45:45.103841: Inverter 0 scheduled charge enable is True
2026-08-15 13:45:45.103896: Inverter 0 charge windows currently [{'start': 630, 'end': 960, 'average': 0}, {'start': 2070, 'end': 2400, 'average': 0}, {'start': 3510, 'end': 3840, 'average': 0}]
2026-08-15 13:45:45.104088: Inverter 0 Charge settings: 08-15 10:30:00-08-15 16:00:00, limit 100.0%, power 5.0kW
2026-08-15 13:45:45.104285: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 13:45:45.104332: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 13:45:45.104421: Inverter 0 scheduled discharge enable is False
2026-08-15 13:45:45.104616: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 13:45:45.104662: Inverter 0 discharge windows currently []
2026-08-15 13:45:45.104729: Note: Inverter does not support discharge freeze - disabled
2026-08-15 13:45:45.104781: Note: Inverter does not support charge freeze - disabled
2026-08-15 13:45:45.104801: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 13:45:45.201720: Include original charge start 08-15 10:30:00, keeping this instead of new start 08-15 13:30:00
2026-08-15 13:45:45.201896: Inverter 0 Charge window will be: 2026-08-15 10:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 43%, target 100%
2026-08-15 13:45:45.202034: Inverter 0 Target SoC 100%, (this inverter 100%), battery temperature 20°C, select charge rate 5000W (real 5000W), current charge rate 5000W
2026-08-15 13:45:45.202214: Adjust idle time, charge 10:30:00-16:00:00 discharge 00:00:00-00:00:00
2026-08-15 13:45:45.202438: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 13:45:45.202533: No export window planned
2026-08-15 13:45:45.202660: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 13:45:45.202706: Adjust idle time, charge 10:30:00-16:00:00 discharge 00:00:00-00:00:00
2026-08-15 13:45:45.202898: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 13:45:45.203020: Inverter 0 setting charging SoC to 100% as per target
2026-08-15 13:45:45.203072: Inverter 0 adjust target SoC for charge to 100% based on requested all inverter SoC 100%
2026-08-15 13:45:45.203128: Inverter 0 Current Target SoC is 100%, already at target
2026-08-15 13:45:45.203243: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:45:45.203295: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:45:45.203333: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:45:45.203370: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:45:45.203404: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:45:45.203440: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:45:45.203480: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:45:45.203570: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 13:45:45.203622: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 13:45:45.203663: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 13:45:45.203698: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 13:45:45.203732: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 13:45:45.203783: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 13:45:45.203820: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 13:45:45.203894: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:45:45.203942: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:45:45.203977: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:45:45.204010: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:45:45.204046: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:45:45.204079: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:45:45.204112: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:45:45.204244: Inverter 0 count register writes 0
2026-08-15 13:45:45.258251: Total inverter register writes now 825
2026-08-15 13:45:45.325816: Info: Completed run status Charging
2026-08-15 13:45:45.333533: Info: record_status Charging target 43%-100.0%
2026-08-15 13:45:45.342778: Saved current settings to /config/predbat_config.json
2026-08-15 13:45:45.343119: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 13:46:01.434032: ML Predictor: Epoch 14/30: lr=0.00062 huber_loss=0.0081 val_mae=0.0036 kWh val_bias=-0.0017 kWh (-2.0%) combined=0.0031 kWh ema_combined=0.0027 kWh
2026-08-15 13:46:26.613078: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 13:46:26.613509: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 13:46:26.613666: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 13:46:26.613961: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 13:46:26.614094: Note: Inverter does not support discharge freeze - disabled
2026-08-15 13:46:26.614205: Note: Inverter does not support charge freeze - disabled
2026-08-15 13:46:26.614301: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 13:46:32.959439: ML Predictor: Epoch 15/30: lr=0.00057 huber_loss=0.0068 val_mae=0.0032 kWh val_bias=+0.0003 kWh (+0.3%) combined=0.0016 kWh ema_combined=0.0024 kWh
2026-08-15 13:47:05.199630: ML Predictor: Epoch 16/30: lr=0.00053 huber_loss=0.0072 val_mae=0.0034 kWh val_bias=-0.0016 kWh (-1.8%) combined=0.0024 kWh ema_combined=0.0024 kWh
2026-08-15 13:47:36.788383: ML Predictor: Epoch 17/30: lr=0.00048 huber_loss=0.0061 val_mae=0.0030 kWh val_bias=+0.0006 kWh (+0.7%) combined=0.0024 kWh ema_combined=0.0024 kWh
2026-08-15 13:48:09.416354: ML Predictor: Epoch 18/30: lr=0.00043 huber_loss=0.0060 val_mae=0.0036 kWh val_bias=-0.0017 kWh (-1.9%) combined=0.0023 kWh ema_combined=0.0023 kWh
2026-08-15 13:48:27.069038: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 13:48:27.069414: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 13:48:27.069479: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 13:48:27.069674: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 13:48:27.069727: Note: Inverter does not support discharge freeze - disabled
2026-08-15 13:48:27.069758: Note: Inverter does not support charge freeze - disabled
2026-08-15 13:48:27.069786: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 13:48:40.713372: ML Predictor: Epoch 19/30: lr=0.00038 huber_loss=0.0059 val_mae=0.0028 kWh val_bias=-0.0005 kWh (-0.6%) combined=0.0018 kWh ema_combined=0.0022 kWh
2026-08-15 13:49:13.488880: ML Predictor: Epoch 20/30: lr=0.00034 huber_loss=0.0055 val_mae=0.0030 kWh val_bias=-0.0017 kWh (-1.9%) combined=0.0025 kWh ema_combined=0.0023 kWh
2026-08-15 13:49:44.560085: ML Predictor: Epoch 21/30: lr=0.00030 huber_loss=0.0060 val_mae=0.0025 kWh val_bias=-0.0001 kWh (-0.1%) combined=0.0014 kWh ema_combined=0.0020 kWh
2026-08-15 13:50:00.577570: --------------- PredBat - update at 2026-08-15 13:50:00+01:00 with clock skew 0 minutes, minutes now 830
2026-08-15 13:50:00.578367: Saved current settings to /config/predbat_config.json
2026-08-15 13:50:00.578519: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 95.0 minutes
2026-08-15 13:50:00.578608: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.1, latest beta is v8.48.1
2026-08-15 13:50:00.578676: Autoupdate: Currently up to date
2026-08-15 13:50:00.617285: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 13:50:00.617432: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 13:50:00.617596: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 13:50:00.618159: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 13:50:00.618280: Predbat mode is set to Control charge & discharge
2026-08-15 13:50:00.958270: Found 21602 load_today datapoints going back 28 days
2026-08-15 13:50:00.975846: Using load_power data to fill gaps in load_today data
2026-08-15 13:50:02.432687: Processing 721 30-minute periods for power integration
2026-08-15 13:50:02.649761: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 13:50:02.650107: Car charging hold False, threshold 6.0kWh
2026-08-15 13:50:02.650308: Current data so far today: load 7.9kWh, import 15.5kWh, export 0.0kWh, PV 0kWh
2026-08-15 13:50:02.665726: Cars: SoC: [11.134]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 13:50:02.666377: Standing charge is set to 49.98p
2026-08-15 13:50:02.748297: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 13:50:02.748551: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 13:50:02.749003: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 190.0 minutes
2026-08-15 13:50:02.749750: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 190.0 minutes
2026-08-15 13:50:02.755930: Loaded 95 datapoints of futurerate analysis
2026-08-15 13:50:02.893928: Predicted future rates: ['08-15 00:00:00 => 28.9 / 20.01', '08-15 01:00:00 => 27.54 / 19.31', '08-15 02:00:00 => 26.52 / 18.8', '08-15 03:00:00 => 25.99 / 18.53', '08-15 04:00:00 => 25.8 / 18.43', '08-15 05:00:00 => 25.96 / 18.51', '08-15 06:00:00 => 25.55 / 18.3', '08-15 07:00:00 => 24.33 / 17.68', '08-15 08:00:00 => 23.03 / 17.01', '08-15 09:00:00 => 22.05 / 16.51', '08-15 10:00:00 => 20.43 / 15.68', '08-15 11:00:00 => 18.01 / 14.45', '08-15 12:00:00 => 16.37 / 13.61', '08-15 13:00:00 => 15.76 / 13.3', '08-15 14:00:00 => 15.35 / 13.09', '08-15 15:00:00 => 15.86 / 13.35', '08-15 16:00:00 => 32.89 / 16.13', '08-15 17:00:00 => 38.02 / 18.75', '08-15 18:00:00 => 42.36 / 20.96', '08-15 19:00:00 => 31.09 / 21.13', '08-15 20:00:00 => 31.64 / 21.41', '08-15 21:00:00 => 31.64 / 21.41', '08-15 22:00:00 => 30.58 / 20.87', '08-15 23:00:00 => 29.37 / 20.25', '08-16 00:00:00 => 28.83 / 19.97', '08-16 01:00:00 => 27.73 / 19.41', '08-16 02:00:00 => 26.76 / 18.92', '08-16 03:00:00 => 26.39 / 18.73', '08-16 04:00:00 => 26.33 / 18.7', '08-16 05:00:00 => 26.23 / 18.65', '08-16 06:00:00 => 25.99 / 18.53', '08-16 07:00:00 => 25.64 / 18.35', '08-16 08:00:00 => 24.84 / 17.94', '08-16 09:00:00 => 24.26 / 17.64', '08-16 10:00:00 => 24.8 / 17.92', '08-16 11:00:00 => 24.71 / 17.87', '08-16 12:00:00 => 23.79 / 17.4']
2026-08-15 13:50:03.036247: Rate min forward looking: now 13.77p at end of forecast 21.29p
2026-08-15 13:50:03.036750: Import rates: min 13.77p, max 46.05p, average 28.03p
2026-08-15 13:50:03.185311: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 13:50:03.185605: Rate thresholds (for charge/export) are import 45.55p (0.0p), export -0.1p (0.0p)
2026-08-15 13:50:03.187029: High export rate found rates in range 99p to -99p
2026-08-15 13:50:03.292225: Low Import rate found rates in range 13.77p to 44.19p
2026-08-15 13:50:03.292493: Car 0 charging is not planned as it is not plugged in
2026-08-15 13:50:03.314549: Battery level now 6.53kWh, -1hr ago 4.0kWh, at midnight 1.66kWh, battery value change in the last hour 29.9p, change today 57.62p, rate_forward 11.83p
2026-08-15 13:50:03.315224: Last hour: net energy 3.85kWh, import 3.85kWh, export 0.0kWh, car 0kWh, load 0.25kWh, net cost 59.81p, import 59.81p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 13:50:03.439853: Today's energy total net 15.5kWh, import 15.5kWh, export 0.0kWh, cost 378.39p, import 328.4p, export 0.0p, carbon 0.0kg
2026-08-15 13:50:03.440050: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 13:50:03.700091: Using weighted-bucket historical load forecast over 14 days
2026-08-15 13:50:03.731895: Today's load divergence 96.02%, in-day adjustment 116.36%, damping 0.95x, yesterday 143.77% today 96.22% blend 42.36%
2026-08-15 13:50:03.732107: Today's predicted so far 8.5kWh with 0.0kWh car/iBoost excluded, 9.52kWh import ignored, and 8.5kWh forecast extra.
2026-08-15 13:50:03.732164: Today's actual load so far 7.91kWh with 0.0kWh car/iBoost excluded, and 9.52kWh import ignored.
2026-08-15 13:50:03.792926: Inverter 0: Type SK Sunsynk
2026-08-15 13:50:03.793052: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 13:50:03.793312: Reserve min: 7%, battery_min: 7%
2026-08-15 13:50:03.793453: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 13:50:03.793978: Inverter 0 SoC: 6.87kW 43%, current charge rate 5000W, current discharge rate 5250W, current battery power -4538W, current battery voltage 51.2V, grid power -5327W, load power 330W, PV Power 0W
2026-08-15 13:50:03.794192: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 13:50:03.794312: Inverter 0 scheduled charge enable is True
2026-08-15 13:50:03.794369: Inverter 0 charge windows currently [{'start': 630, 'end': 960, 'average': 0}, {'start': 2070, 'end': 2400, 'average': 0}, {'start': 3510, 'end': 3840, 'average': 0}]
2026-08-15 13:50:03.794470: Inverter 0 Charge settings: 08-15 10:30:00-08-15 16:00:00, limit 100.0%, power 5.0kW
2026-08-15 13:50:03.794600: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 13:50:03.794639: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 13:50:03.794677: Inverter 0 scheduled discharge enable is False
2026-08-15 13:50:03.794801: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 13:50:03.794879: Inverter 0 discharge windows currently []
2026-08-15 13:50:03.794927: Note: Inverter does not support discharge freeze - disabled
2026-08-15 13:50:03.794948: Note: Inverter does not support charge freeze - disabled
2026-08-15 13:50:03.794974: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 13:50:03.919661: Dynamic load last period 0.00kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 13:50:03.919783: Plan was last updated on 2026-08-15 13:45:00+01:00 and is now 5.0 minutes old
2026-08-15 13:50:03.919994: Best charge window [ 15-08 13:30:00 - 15-08 16:00:00 @ 15.3p 100%, 16-08 14:00:00 - 16-08 18:30:00 @ 41.92p 100%, 16-08 19:00:00 - 17-08 14:00:00 @ 23.09p 100% ]
2026-08-15 13:50:03.920040: Best export window [  ]
2026-08-15 13:50:03.920864: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 13:50:03.924128: Load divergence over 8.0 hours mean 476.43W, min 292.8W, max 1321.2W, std dev 186.19W, divergence 19.54%
2026-08-15 13:50:03.946357: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 13:50:03.946586: LoadML is_calculating True
2026-08-15 13:50:03.946710: Not using thread pool as LoadML is calculating to avoid lockups
2026-08-15 13:50:03.987784: predict base end_record 08-16 14:05:00, final soc 16.0kWh, metric 1016.55p, metric_keep 0kWh, min_soc 2.45kWh @ 08-16 10:25:00, load 24.94kWh, PV 0.0kWh
2026-08-15 13:50:04.273992: Battery has 48.0 hours left - now at 6.87kWh
2026-08-15 13:50:04.329613: predict base10 end_record 08-16 14:05:00, final soc 15.02kWh, metric 1016.44p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 10:25:00, load 25.75kWh, PV 0.0kWh
2026-08-15 13:50:04.496533: predict best10 end_record 08-16 14:05:00, final soc 1.44kWh, metric 667.92p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 10:25:00, load 25.75kWh, PV 0.0kWh
2026-08-15 13:50:04.662219: predict best end_record 08-16 14:05:00, final soc 1.51kWh, metric 644.12p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 11:50:00, load 24.94kWh, PV 0.0kWh
2026-08-15 13:50:04.675880: Saving plan best values to HA entities
2026-08-15 13:50:05.195278: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0
2026-08-15 13:50:05.209408: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 13:50:05.225857: Best charging limit SoC's [16.0, 16.0, 16.0]kWh, export []kWh gives import battery 11.74kWh, house 1.66kWh, export 0.0kWh, metric 644.12p, metric10 667.92p
2026-08-15 13:50:05.388741: Marginal costs baseline metric (no standing charge): 594.1333
2026-08-15 13:50:06.110843: Marginal energy costs matrix computed: min=14.5 max=33.61
2026-08-15 13:50:06.225394: Rate array import [{'start': 830, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 15.9p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1950, 'rate': 'expensive', 'range': '(24.8p - 32.9p)'}, {'start': 1950, 'end': 2040, 'rate': 'cheap', 'range': '(24.2p - 24.3p)'}, {'start': 2040, 'end': 2130, 'rate': 'expensive', 'range': '(24.7p - 25.4p)'}, {'start': 2130, 'end': 2285, 'rate': 'cheap', 'range': '(22.0p - 24.0p)'}] export [{'start': 830, 'end': 2285, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 13:50:06.225885: - Your estimated bill for today is £5.45 and tomorrow is £7.54
2026-08-15 13:50:06.225935: - Import rates are cheap (13.8p - 15.9p) for the next 2 and a quarter hours and then expensive (33.1p) for the next 1 hour.
2026-08-15 13:50:06.225958: - The battery is currently at 43% and is charging to 100% for the next 2 and a quarter hours.
2026-08-15 13:50:06.225978: - For the next 48 hours there will be no solar generation.
2026-08-15 13:50:06.226043: - You will run out of battery in 22 hours.
2026-08-15 13:50:06.226108: 
2026-08-15 13:50:06.272987: Plan calculation took 2.35 seconds
2026-08-15 13:50:06.277271: No high rate period found
2026-08-15 13:50:06.343502: Import threshold used for optimisation was 24.28p
2026-08-15 13:50:06.415380: Low import rate windows [0: 08-15 13:30:00 - 08-15 14:00:00 @ 15.74, 1: 08-15 14:00:00 - 08-15 14:30:00 @ 14.57, 2: 08-15 14:30:00 - 08-15 15:00:00 @ 13.77, 3: 08-15 15:00:00 - 08-15 15:30:00 @ 15.02, 4: 08-15 15:30:00 - 08-15 16:00:00 @ 15.87, 5: 08-15 16:00:00 - 08-15 16:30:00 @ 33.13, 6: 08-15 16:30:00 - 08-15 17:00:00 @ 33.13, 7: 08-15 17:00:00 - 08-15 17:30:00 @ 38.46, 8: 08-15 17:30:00 - 08-15 18:00:00 @ 40.44, 9: 08-15 18:00:00 - 08-15 18:30:00 @ 41.55, 10: 08-15 18:30:00 - 08-15 19:00:00 @ 43.82, 11: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 12: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 13: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 14: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 15: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 16: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 17: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 18: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 19: 08-15 23:00:00 - 08-15 23:30:00 @ 29.37, 20: 08-15 23:30:00 - 08-16 00:00:00 @ 29.2, 21: 08-16 00:00:00 - 08-16 00:30:00 @ 28.83, 22: 08-16 00:30:00 - 08-16 01:00:00 @ 28.46, 23: 08-16 01:00:00 - 08-16 01:30:00 @ 27.73, 24: 08-16 01:30:00 - 08-16 02:00:00 @ 27.01, 25: 08-16 02:00:00 - 08-16 02:30:00 @ 26.76, 26: 08-16 02:30:00 - 08-16 03:00:00 @ 26.48, 27: 08-16 03:00:00 - 08-16 03:30:00 @ 26.39, 28: 08-16 03:30:00 - 08-16 04:00:00 @ 26.27, 29: 08-16 04:00:00 - 08-16 04:30:00 @ 26.33, 30: 08-16 04:30:00 - 08-16 05:00:00 @ 26.37, 31: 08-16 05:00:00 - 08-16 05:30:00 @ 26.23, 32: 08-16 05:30:00 - 08-16 06:00:00 @ 26.07, 33: 08-16 06:00:00 - 08-16 06:30:00 @ 25.99, 34: 08-16 06:30:00 - 08-16 07:00:00 @ 25.92, 35: 08-16 07:00:00 - 08-16 07:30:00 @ 25.64, 36: 08-16 07:30:00 - 08-16 08:00:00 @ 25.39, 37: 08-16 08:00:00 - 08-16 08:30:00 @ 24.84, 38: 08-16 08:30:00 - 08-16 09:00:00 @ 24.28, 39: 08-16 09:00:00 - 08-16 09:30:00 @ 24.26, 40: 08-16 09:30:00 - 08-16 10:00:00 @ 24.22, 41: 08-16 10:00:00 - 08-16 10:30:00 @ 24.8, 42: 08-16 10:30:00 - 08-16 11:00:00 @ 25.37, 43: 08-16 11:00:00 - 08-16 11:30:00 @ 24.71, 44: 08-16 11:30:00 - 08-16 12:00:00 @ 24.02, 45: 08-16 12:00:00 - 08-16 12:30:00 @ 23.79, 46: 08-16 12:30:00 - 08-16 13:00:00 @ 23.55, 47: 08-16 13:00:00 - 08-16 13:30:00 @ 23.14, 48: 08-16 13:30:00 - 08-16 14:00:00 @ 22.71, 49: 08-16 14:00:00 - 08-16 14:30:00 @ 22.01, 50: 08-16 14:30:00 - 08-16 15:00:00 @ 21.29, 51: 08-16 15:00:00 - 08-16 15:30:00 @ 22.01, 52: 08-16 15:30:00 - 08-16 16:00:00 @ 22.71, 53: 08-16 16:00:00 - 08-16 16:30:00 @ 37.14, 54: 08-16 16:30:00 - 08-16 17:00:00 @ 37.91, 55: 08-16 17:00:00 - 08-16 17:30:00 @ 40.13, 56: 08-16 17:30:00 - 08-16 18:00:00 @ 42.36, 57: 08-16 18:00:00 - 08-16 18:30:00 @ 44.19, 58: 08-16 19:00:00 - 08-16 19:30:00 @ 33.04, 59: 08-16 19:30:00 - 08-16 20:00:00 @ 33.71, 60: 08-16 20:00:00 - 08-16 20:30:00 @ 33.83, 61: 08-16 20:30:00 - 08-16 21:00:00 @ 33.94, 62: 08-16 21:00:00 - 08-16 21:30:00 @ 33.73, 63: 08-16 21:30:00 - 08-16 22:00:00 @ 33.53, 64: 08-16 22:00:00 - 08-16 22:30:00 @ 32.36, 65: 08-16 22:30:00 - 08-16 23:00:00 @ 31.17, 66: 08-16 23:00:00 - 08-16 23:30:00 @ 29.37, 67: 08-16 23:30:00 - 08-17 00:00:00 @ 29.2, 68: 08-17 00:00:00 - 08-17 00:30:00 @ 28.83, 69: 08-17 00:30:00 - 08-17 01:00:00 @ 28.46, 70: 08-17 01:00:00 - 08-17 01:30:00 @ 27.73, 71: 08-17 01:30:00 - 08-17 02:00:00 @ 27.01, 72: 08-17 02:00:00 - 08-17 02:30:00 @ 26.76, 73: 08-17 02:30:00 - 08-17 03:00:00 @ 26.48, 74: 08-17 03:00:00 - 08-17 03:30:00 @ 26.39, 75: 08-17 03:30:00 - 08-17 04:00:00 @ 26.27, 76: 08-17 04:00:00 - 08-17 04:30:00 @ 26.33, 77: 08-17 04:30:00 - 08-17 05:00:00 @ 26.37, 78: 08-17 05:00:00 - 08-17 05:30:00 @ 26.23, 79: 08-17 05:30:00 - 08-17 06:00:00 @ 26.07, 80: 08-17 06:00:00 - 08-17 06:30:00 @ 25.99, 81: 08-17 06:30:00 - 08-17 07:00:00 @ 25.92, 82: 08-17 07:00:00 - 08-17 07:30:00 @ 25.64, 83: 08-17 07:30:00 - 08-17 08:00:00 @ 25.39, 84: 08-17 08:00:00 - 08-17 08:30:00 @ 24.84, 85: 08-17 08:30:00 - 08-17 09:00:00 @ 24.28, 86: 08-17 09:00:00 - 08-17 09:30:00 @ 24.26, 87: 08-17 09:30:00 - 08-17 10:00:00 @ 24.22, 88: 08-17 10:00:00 - 08-17 10:30:00 @ 24.8, 89: 08-17 10:30:00 - 08-17 11:00:00 @ 25.37, 90: 08-17 11:00:00 - 08-17 11:30:00 @ 24.71, 91: 08-17 11:30:00 - 08-17 12:00:00 @ 24.02, 92: 08-17 12:00:00 - 08-17 12:30:00 @ 23.79, 93: 08-17 12:30:00 - 08-17 13:00:00 @ 23.55, 94: 08-17 13:00:00 - 08-17 13:30:00 @ 23.14, 95: 08-17 13:30:00 - 08-17 14:00:00 @ 22.71]
2026-08-15 13:50:06.428884: Include original charge start 08-15 10:30:00, keeping this instead of new start 08-15 13:30:00
2026-08-15 13:50:06.429042: Inverter 0 Charge window will be: 2026-08-15 10:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 43%, target 100%
2026-08-15 13:50:06.429175: Inverter 0 Target SoC 100%, (this inverter 100%), battery temperature 20°C, select charge rate 5000W (real 5000W), current charge rate 5000W
2026-08-15 13:50:06.429342: Adjust idle time, charge 10:30:00-16:00:00 discharge 00:00:00-00:00:00
2026-08-15 13:50:06.429537: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 13:50:06.429618: No export window planned
2026-08-15 13:50:06.429724: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 13:50:06.429756: Adjust idle time, charge 10:30:00-16:00:00 discharge 00:00:00-00:00:00
2026-08-15 13:50:06.429925: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 13:50:06.430044: Inverter 0 setting charging SoC to 100% as per target
2026-08-15 13:50:06.430102: Inverter 0 adjust target SoC for charge to 100% based on requested all inverter SoC 100%
2026-08-15 13:50:06.430167: Inverter 0 Current Target SoC is 100%, already at target
2026-08-15 13:50:06.430274: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:50:06.430315: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:50:06.430348: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:50:06.430376: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:50:06.430405: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:50:06.430437: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:50:06.430555: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:50:06.430662: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 13:50:06.430713: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 13:50:06.430793: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 13:50:06.430985: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 13:50:06.431093: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 13:50:06.431139: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 13:50:06.431249: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 13:50:06.431379: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:50:06.431428: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:50:06.431537: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:50:06.431584: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:50:06.431690: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:50:06.431735: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:50:06.431851: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:50:06.431895: Inverter 0 count register writes 0
2026-08-15 13:50:06.456722: Will not recompute the plan, it is 5.0 minutes old and max age is 10 minutes
2026-08-15 13:50:06.465885: Total inverter register writes now 825
2026-08-15 13:50:06.518030: Info: Completed run status Charging
2026-08-15 13:50:06.531597: Info: record_status Charging target 43%-100.0%
2026-08-15 13:50:06.547442: Saved current settings to /config/predbat_config.json
2026-08-15 13:50:06.547810: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 13:50:19.839806: ML Predictor: Epoch 22/30: lr=0.00026 huber_loss=0.0054 val_mae=0.0025 kWh val_bias=+0.0004 kWh (+0.4%) combined=0.0016 kWh ema_combined=0.0019 kWh
2026-08-15 13:50:41.751618: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 13:50:41.752736: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 13:50:41.752915: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 13:50:41.753234: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 13:50:41.753375: Note: Inverter does not support discharge freeze - disabled
2026-08-15 13:50:41.753505: Note: Inverter does not support charge freeze - disabled
2026-08-15 13:50:41.753623: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 13:50:54.536015: ML Predictor: Epoch 23/30: lr=0.00022 huber_loss=0.0053 val_mae=0.0025 kWh val_bias=-0.0001 kWh (-0.2%) combined=0.0014 kWh ema_combined=0.0017 kWh
2026-08-15 13:51:28.175801: ML Predictor: Epoch 24/30: lr=0.00019 huber_loss=0.0053 val_mae=0.0026 kWh val_bias=-0.0011 kWh (-1.2%) combined=0.0018 kWh ema_combined=0.0017 kWh
2026-08-15 13:52:00.824002: ML Predictor: Epoch 25/30: lr=0.00016 huber_loss=0.0055 val_mae=0.0024 kWh val_bias=-0.0008 kWh (-0.9%) combined=0.0015 kWh ema_combined=0.0017 kWh
2026-08-15 13:52:34.568835: ML Predictor: Epoch 26/30: lr=0.00014 huber_loss=0.0052 val_mae=0.0023 kWh val_bias=-0.0003 kWh (-0.3%) combined=0.0013 kWh ema_combined=0.0016 kWh
2026-08-15 13:52:42.316247: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 13:52:42.316885: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 13:52:42.317190: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 13:52:42.317618: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 13:52:42.317829: Note: Inverter does not support discharge freeze - disabled
2026-08-15 13:52:42.318063: Note: Inverter does not support charge freeze - disabled
2026-08-15 13:52:42.318311: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 13:53:04.002899: ML Predictor: Epoch 27/30: lr=0.00012 huber_loss=0.0052 val_mae=0.0022 kWh val_bias=-0.0005 kWh (-0.5%) combined=0.0013 kWh ema_combined=0.0015 kWh
2026-08-15 13:53:34.984754: ML Predictor: Epoch 28/30: lr=0.00011 huber_loss=0.0050 val_mae=0.0028 kWh val_bias=-0.0016 kWh (-1.8%) combined=0.0022 kWh ema_combined=0.0017 kWh
2026-08-15 13:54:07.564063: ML Predictor: Epoch 29/30: lr=0.00010 huber_loss=0.0052 val_mae=0.0024 kWh val_bias=-0.0006 kWh (-0.7%) combined=0.0013 kWh ema_combined=0.0016 kWh
2026-08-15 13:54:37.342412: ML Predictor: Epoch 30/30: lr=0.00010 huber_loss=0.0053 val_mae=0.0023 kWh val_bias=-0.0010 kWh (-1.1%) combined=0.0017 kWh ema_combined=0.0016 kWh
2026-08-15 13:54:37.343504: ML Predictor: Restored best weights from epoch with val_mae=0.0022 kWh val_bias=-0.0005 kWh (-0.5%)
2026-08-15 13:54:37.343795: ML Predictor: Training complete, final val_mae=0.0022 kWh val_bias=-0.0005 kWh (-0.5%)
2026-08-15 13:54:43.624265: ML Predictor: AR rollout over holdout: ar_mae=0.0025 kWh ar_bias=-0.0005 kWh (-0.5%) [drift vs teacher-forced: +0.0002 kWh]
2026-08-15 13:54:43.630281: ML Predictor: Curriculum pass 3/5 complete, val_mae=0.0022 kWh
2026-08-15 13:54:43.724165: ML Predictor: Curriculum pass 4/5: window=57.0 days (1368 hours of data)
2026-08-15 13:54:43.724488: ML Predictor: Starting fine-tune training with 30 epochs
2026-08-15 13:54:44.437221: ML Predictor: Creating dataset with 1368 hours of training data, 48 hours validation
2026-08-15 13:54:49.407867: ML Predictor: Created 16128 training samples, 576 validation samples
2026-08-15 13:54:49.459461: ML Predictor: Normalization stats [ema-update alpha=0.1] target(mean=0.0586 std=0.0470) load(mean=0.0589 std=0.0472) pv(mean=0.0000 std=0.0100) temp(mean=19.5523 std=4.4512) import_rate(mean=25.5437 std=2.4791) export_rate(mean=0.0000 std=1.0000) time(mean=-0.1895 std=0.5252)
2026-08-15 13:54:49.548127: ML Predictor: Applied EMA normalization update (alpha=0.1) to track feature drift
2026-08-15 13:54:49.565703: ML Predictor: Reset Adam optimiser state for fine-tuning
2026-08-15 13:54:49.679310: ML Predictor: Baseline (pre-finetune) val_mae=0.0067 kWh val_bias=-0.0001 kWh
2026-08-15 13:54:56.645187: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 13:54:56.645514: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 13:54:56.645568: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 13:54:56.645739: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 13:54:56.645786: Note: Inverter does not support discharge freeze - disabled
2026-08-15 13:54:56.645921: Note: Inverter does not support charge freeze - disabled
2026-08-15 13:54:56.645971: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 13:55:00.889983: --------------- PredBat - update at 2026-08-15 13:55:00+01:00 with clock skew 0 minutes, minutes now 835
2026-08-15 13:55:00.891196: Saved current settings to /config/predbat_config.json
2026-08-15 13:55:00.891451: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 100.0 minutes
2026-08-15 13:55:00.891745: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.1, latest beta is v8.48.1
2026-08-15 13:55:00.892005: Autoupdate: Currently up to date
2026-08-15 13:55:00.931508: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 13:55:00.931858: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 13:55:00.932197: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 13:55:00.932881: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 13:55:00.933246: Predbat mode is set to Control charge & discharge
2026-08-15 13:55:01.380620: Found 21602 load_today datapoints going back 28 days
2026-08-15 13:55:01.380929: Using load_power data to fill gaps in load_today data
2026-08-15 13:55:02.962745: Processing 721 30-minute periods for power integration
2026-08-15 13:55:03.161824: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 13:55:03.163329: Car charging hold False, threshold 6.0kWh
2026-08-15 13:55:03.164060: Current data so far today: load 7.9kWh, import 15.5kWh, export 0.0kWh, PV 0kWh
2026-08-15 13:55:03.188576: Cars: SoC: [11.134]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 13:55:03.189250: Standing charge is set to 49.98p
2026-08-15 13:55:03.281736: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 13:55:03.281849: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 13:55:03.282117: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 195.0 minutes
2026-08-15 13:55:03.282726: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 195.0 minutes
2026-08-15 13:55:03.289521: Loaded 95 datapoints of futurerate analysis
2026-08-15 13:55:03.613128: Predicted future rates: ['08-15 00:00:00 => 28.9 / 20.01', '08-15 01:00:00 => 27.54 / 19.31', '08-15 02:00:00 => 26.52 / 18.8', '08-15 03:00:00 => 25.99 / 18.53', '08-15 04:00:00 => 25.8 / 18.43', '08-15 05:00:00 => 25.96 / 18.51', '08-15 06:00:00 => 25.55 / 18.3', '08-15 07:00:00 => 24.33 / 17.68', '08-15 08:00:00 => 23.03 / 17.01', '08-15 09:00:00 => 22.05 / 16.51', '08-15 10:00:00 => 20.43 / 15.68', '08-15 11:00:00 => 18.01 / 14.45', '08-15 12:00:00 => 16.37 / 13.61', '08-15 13:00:00 => 15.76 / 13.3', '08-15 14:00:00 => 15.35 / 13.09', '08-15 15:00:00 => 15.86 / 13.35', '08-15 16:00:00 => 32.89 / 16.13', '08-15 17:00:00 => 38.02 / 18.75', '08-15 18:00:00 => 42.36 / 20.96', '08-15 19:00:00 => 31.09 / 21.13', '08-15 20:00:00 => 31.64 / 21.41', '08-15 21:00:00 => 31.64 / 21.41', '08-15 22:00:00 => 30.58 / 20.87', '08-15 23:00:00 => 29.37 / 20.25', '08-16 00:00:00 => 28.83 / 19.97', '08-16 01:00:00 => 27.73 / 19.41', '08-16 02:00:00 => 26.76 / 18.92', '08-16 03:00:00 => 26.39 / 18.73', '08-16 04:00:00 => 26.33 / 18.7', '08-16 05:00:00 => 26.23 / 18.65', '08-16 06:00:00 => 25.99 / 18.53', '08-16 07:00:00 => 25.64 / 18.35', '08-16 08:00:00 => 24.84 / 17.94', '08-16 09:00:00 => 24.26 / 17.64', '08-16 10:00:00 => 24.8 / 17.92', '08-16 11:00:00 => 24.71 / 17.87', '08-16 12:00:00 => 23.79 / 17.4']
2026-08-15 13:55:03.674201: Rate min forward looking: now 13.77p at end of forecast 21.29p
2026-08-15 13:55:03.674530: Import rates: min 13.77p, max 46.05p, average 28.05p
2026-08-15 13:55:03.710860: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 13:55:03.711087: Rate thresholds (for charge/export) are import 45.55p (0.0p), export -0.1p (0.0p)
2026-08-15 13:55:03.712224: High export rate found rates in range 99p to -99p
2026-08-15 13:55:03.791692: Low Import rate found rates in range 13.77p to 44.19p
2026-08-15 13:55:03.791816: Car 0 charging is not planned as it is not plugged in
2026-08-15 13:55:03.819881: Battery level now 6.87kWh, -1hr ago 4.0kWh, at midnight 1.66kWh, battery value change in the last hour 33.96p, change today 61.68p, rate_forward 11.83p
2026-08-15 13:55:03.820284: Last hour: net energy 3.8kWh, import 3.8kWh, export 0.0kWh, car 0kWh, load 0.2kWh, net cost 59.0p, import 59.0p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 13:55:03.893764: Today's energy total net 15.5kWh, import 15.5kWh, export 0.0kWh, cost 378.39p, import 328.4p, export 0.0p, carbon 0.0kg
2026-08-15 13:55:03.893940: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 13:55:04.001816: Using weighted-bucket historical load forecast over 14 days
2026-08-15 13:55:04.031616: Today's load divergence 95.48%, in-day adjustment 115.9%, damping 0.95x, yesterday 143.77% today 95.71% blend 42.01%
2026-08-15 13:55:04.031848: Today's predicted so far 8.54kWh with 0.0kWh car/iBoost excluded, 9.5kWh import ignored, and 8.54kWh forecast extra.
2026-08-15 13:55:04.032050: Today's actual load so far 7.87kWh with 0.0kWh car/iBoost excluded, and 9.5kWh import ignored.
2026-08-15 13:55:04.077106: Inverter 0: Type SK Sunsynk
2026-08-15 13:55:04.077336: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 13:55:04.077621: Reserve min: 7%, battery_min: 7%
2026-08-15 13:55:04.077788: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 13:55:04.078226: Inverter 0 SoC: 7.22kW 45%, current charge rate 5000W, current discharge rate 5250W, current battery power -4540W, current battery voltage 51.2V, grid power -5262W, load power 267W, PV Power 0W
2026-08-15 13:55:04.078857: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 13:55:04.079075: Inverter 0 scheduled charge enable is True
2026-08-15 13:55:04.079214: Inverter 0 charge windows currently [{'start': 630, 'end': 960, 'average': 0}, {'start': 2070, 'end': 2400, 'average': 0}, {'start': 3510, 'end': 3840, 'average': 0}]
2026-08-15 13:55:04.079407: Inverter 0 Charge settings: 08-15 10:30:00-08-15 16:00:00, limit 100.0%, power 5.0kW
2026-08-15 13:55:04.079637: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 13:55:04.079763: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 13:55:04.079991: Inverter 0 scheduled discharge enable is False
2026-08-15 13:55:04.080245: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 13:55:04.080369: Inverter 0 discharge windows currently []
2026-08-15 13:55:04.080475: Note: Inverter does not support discharge freeze - disabled
2026-08-15 13:55:04.080579: Note: Inverter does not support charge freeze - disabled
2026-08-15 13:55:04.080669: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 13:55:04.194043: Dynamic load last period 0.00kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 13:55:04.194216: Plan was last updated on 2026-08-15 13:45:00+01:00 and is now 10.0 minutes old
2026-08-15 13:55:04.194490: Best charge window [ 15-08 13:30:00 - 15-08 16:00:00 @ 15.3p 100%, 16-08 14:00:00 - 16-08 18:30:00 @ 41.92p 100%, 16-08 19:00:00 - 17-08 14:00:00 @ 23.09p 100% ]
2026-08-15 13:55:04.194547: Best export window [  ]
2026-08-15 13:55:04.195938: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 13:55:04.202971: Load divergence over 8.0 hours mean 473.66W, min 291.6W, max 1314.0W, std dev 192.58W, divergence 20.33%
2026-08-15 13:55:04.248272: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 13:55:04.248547: LoadML is_calculating True
2026-08-15 13:55:04.248689: Not using thread pool as LoadML is calculating to avoid lockups
2026-08-15 13:55:04.296082: predict base end_record 08-16 14:10:00, final soc 16.0kWh, metric 1009.97p, metric_keep 0kWh, min_soc 2.49kWh @ 08-16 10:25:00, load 24.89kWh, PV 0.0kWh
2026-08-15 13:55:04.579950: Battery has 48.0 hours left - now at 7.22kWh
2026-08-15 13:55:04.659254: predict base10 end_record 08-16 14:10:00, final soc 15.38kWh, metric 1018.09p, metric_keep 0kWh, min_soc 1.15kWh @ 08-16 10:25:00, load 25.7kWh, PV 0.0kWh
2026-08-15 13:55:04.821452: predict best10 end_record 08-16 14:10:00, final soc 1.77kWh, metric 668.76p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 10:30:00, load 25.7kWh, PV 0.0kWh
2026-08-15 13:55:04.981516: predict best end_record 08-16 14:10:00, final soc 1.9kWh, metric 646.77p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 11:55:00, load 24.89kWh, PV 0.0kWh
2026-08-15 13:55:04.985040: Saving plan best values to HA entities
2026-08-15 13:55:05.325805: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0
2026-08-15 13:55:05.333048: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 13:55:05.343539: Best charging limit SoC's [16.0, 16.0, 16.0]kWh, export []kWh gives import battery 11.75kWh, house 1.65kWh, export 0.0kWh, metric 646.77p, metric10 668.76p
2026-08-15 13:55:05.501148: Marginal costs baseline metric (no standing charge): 596.7865
2026-08-15 13:55:05.989998: Marginal energy costs matrix computed: min=14.33 max=33.73
2026-08-15 13:55:06.097329: Rate array import [{'start': 835, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 15.9p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1950, 'rate': 'expensive', 'range': '(24.8p - 32.9p)'}, {'start': 1950, 'end': 2040, 'rate': 'cheap', 'range': '(24.2p - 24.3p)'}, {'start': 2040, 'end': 2130, 'rate': 'expensive', 'range': '(24.7p - 25.4p)'}, {'start': 2130, 'end': 2290, 'rate': 'cheap', 'range': '(22.0p - 24.0p)'}] export [{'start': 835, 'end': 2290, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 13:55:06.097733: - Your estimated bill for today is £5.38 and tomorrow is £7.54
2026-08-15 13:55:06.097781: - Import rates are cheap (13.8p - 15.9p) for the next 2 hours and then expensive (33.1p) for the next 1 hour.
2026-08-15 13:55:06.097805: - The battery is currently at 45% and is charging to 100% for the next 2 hours.
2026-08-15 13:55:06.097823: - For the next 48 hours there will be no solar generation.
2026-08-15 13:55:06.097848: - You will run out of battery in 22 hours.
2026-08-15 13:55:06.097873: 
2026-08-15 13:55:06.130792: Plan calculation took 1.94 seconds
2026-08-15 13:55:06.134215: No high rate period found
2026-08-15 13:55:06.260641: Import threshold used for optimisation was 24.28p
2026-08-15 13:55:06.386311: Low import rate windows [0: 08-15 13:30:00 - 08-15 14:00:00 @ 15.74, 1: 08-15 14:00:00 - 08-15 14:30:00 @ 14.57, 2: 08-15 14:30:00 - 08-15 15:00:00 @ 13.77, 3: 08-15 15:00:00 - 08-15 15:30:00 @ 15.02, 4: 08-15 15:30:00 - 08-15 16:00:00 @ 15.87, 5: 08-15 16:00:00 - 08-15 16:30:00 @ 33.13, 6: 08-15 16:30:00 - 08-15 17:00:00 @ 33.13, 7: 08-15 17:00:00 - 08-15 17:30:00 @ 38.46, 8: 08-15 17:30:00 - 08-15 18:00:00 @ 40.44, 9: 08-15 18:00:00 - 08-15 18:30:00 @ 41.55, 10: 08-15 18:30:00 - 08-15 19:00:00 @ 43.82, 11: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 12: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 13: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 14: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 15: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 16: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 17: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 18: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 19: 08-15 23:00:00 - 08-15 23:30:00 @ 29.37, 20: 08-15 23:30:00 - 08-16 00:00:00 @ 29.2, 21: 08-16 00:00:00 - 08-16 00:30:00 @ 28.83, 22: 08-16 00:30:00 - 08-16 01:00:00 @ 28.46, 23: 08-16 01:00:00 - 08-16 01:30:00 @ 27.73, 24: 08-16 01:30:00 - 08-16 02:00:00 @ 27.01, 25: 08-16 02:00:00 - 08-16 02:30:00 @ 26.76, 26: 08-16 02:30:00 - 08-16 03:00:00 @ 26.48, 27: 08-16 03:00:00 - 08-16 03:30:00 @ 26.39, 28: 08-16 03:30:00 - 08-16 04:00:00 @ 26.27, 29: 08-16 04:00:00 - 08-16 04:30:00 @ 26.33, 30: 08-16 04:30:00 - 08-16 05:00:00 @ 26.37, 31: 08-16 05:00:00 - 08-16 05:30:00 @ 26.23, 32: 08-16 05:30:00 - 08-16 06:00:00 @ 26.07, 33: 08-16 06:00:00 - 08-16 06:30:00 @ 25.99, 34: 08-16 06:30:00 - 08-16 07:00:00 @ 25.92, 35: 08-16 07:00:00 - 08-16 07:30:00 @ 25.64, 36: 08-16 07:30:00 - 08-16 08:00:00 @ 25.39, 37: 08-16 08:00:00 - 08-16 08:30:00 @ 24.84, 38: 08-16 08:30:00 - 08-16 09:00:00 @ 24.28, 39: 08-16 09:00:00 - 08-16 09:30:00 @ 24.26, 40: 08-16 09:30:00 - 08-16 10:00:00 @ 24.22, 41: 08-16 10:00:00 - 08-16 10:30:00 @ 24.8, 42: 08-16 10:30:00 - 08-16 11:00:00 @ 25.37, 43: 08-16 11:00:00 - 08-16 11:30:00 @ 24.71, 44: 08-16 11:30:00 - 08-16 12:00:00 @ 24.02, 45: 08-16 12:00:00 - 08-16 12:30:00 @ 23.79, 46: 08-16 12:30:00 - 08-16 13:00:00 @ 23.55, 47: 08-16 13:00:00 - 08-16 13:30:00 @ 23.14, 48: 08-16 13:30:00 - 08-16 14:00:00 @ 22.71, 49: 08-16 14:00:00 - 08-16 14:30:00 @ 22.01, 50: 08-16 14:30:00 - 08-16 15:00:00 @ 21.29, 51: 08-16 15:00:00 - 08-16 15:30:00 @ 22.01, 52: 08-16 15:30:00 - 08-16 16:00:00 @ 22.71, 53: 08-16 16:00:00 - 08-16 16:30:00 @ 37.14, 54: 08-16 16:30:00 - 08-16 17:00:00 @ 37.91, 55: 08-16 17:00:00 - 08-16 17:30:00 @ 40.13, 56: 08-16 17:30:00 - 08-16 18:00:00 @ 42.36, 57: 08-16 18:00:00 - 08-16 18:30:00 @ 44.19, 58: 08-16 19:00:00 - 08-16 19:30:00 @ 33.04, 59: 08-16 19:30:00 - 08-16 20:00:00 @ 33.71, 60: 08-16 20:00:00 - 08-16 20:30:00 @ 33.83, 61: 08-16 20:30:00 - 08-16 21:00:00 @ 33.94, 62: 08-16 21:00:00 - 08-16 21:30:00 @ 33.73, 63: 08-16 21:30:00 - 08-16 22:00:00 @ 33.53, 64: 08-16 22:00:00 - 08-16 22:30:00 @ 32.36, 65: 08-16 22:30:00 - 08-16 23:00:00 @ 31.17, 66: 08-16 23:00:00 - 08-16 23:30:00 @ 29.37, 67: 08-16 23:30:00 - 08-17 00:00:00 @ 29.2, 68: 08-17 00:00:00 - 08-17 00:30:00 @ 28.83, 69: 08-17 00:30:00 - 08-17 01:00:00 @ 28.46, 70: 08-17 01:00:00 - 08-17 01:30:00 @ 27.73, 71: 08-17 01:30:00 - 08-17 02:00:00 @ 27.01, 72: 08-17 02:00:00 - 08-17 02:30:00 @ 26.76, 73: 08-17 02:30:00 - 08-17 03:00:00 @ 26.48, 74: 08-17 03:00:00 - 08-17 03:30:00 @ 26.39, 75: 08-17 03:30:00 - 08-17 04:00:00 @ 26.27, 76: 08-17 04:00:00 - 08-17 04:30:00 @ 26.33, 77: 08-17 04:30:00 - 08-17 05:00:00 @ 26.37, 78: 08-17 05:00:00 - 08-17 05:30:00 @ 26.23, 79: 08-17 05:30:00 - 08-17 06:00:00 @ 26.07, 80: 08-17 06:00:00 - 08-17 06:30:00 @ 25.99, 81: 08-17 06:30:00 - 08-17 07:00:00 @ 25.92, 82: 08-17 07:00:00 - 08-17 07:30:00 @ 25.64, 83: 08-17 07:30:00 - 08-17 08:00:00 @ 25.39, 84: 08-17 08:00:00 - 08-17 08:30:00 @ 24.84, 85: 08-17 08:30:00 - 08-17 09:00:00 @ 24.28, 86: 08-17 09:00:00 - 08-17 09:30:00 @ 24.26, 87: 08-17 09:30:00 - 08-17 10:00:00 @ 24.22, 88: 08-17 10:00:00 - 08-17 10:30:00 @ 24.8, 89: 08-17 10:30:00 - 08-17 11:00:00 @ 25.37, 90: 08-17 11:00:00 - 08-17 11:30:00 @ 24.71, 91: 08-17 11:30:00 - 08-17 12:00:00 @ 24.02, 92: 08-17 12:00:00 - 08-17 12:30:00 @ 23.79, 93: 08-17 12:30:00 - 08-17 13:00:00 @ 23.55, 94: 08-17 13:00:00 - 08-17 13:30:00 @ 23.14, 95: 08-17 13:30:00 - 08-17 14:00:00 @ 22.71]
2026-08-15 13:55:06.403556: Include original charge start 08-15 10:30:00, keeping this instead of new start 08-15 13:30:00
2026-08-15 13:55:06.403730: Inverter 0 Charge window will be: 2026-08-15 10:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 45%, target 100%
2026-08-15 13:55:06.403932: Inverter 0 Target SoC 100%, (this inverter 100%), battery temperature 20°C, select charge rate 5000W (real 5000W), current charge rate 5000W
2026-08-15 13:55:06.404187: Adjust idle time, charge 10:30:00-16:00:00 discharge 00:00:00-00:00:00
2026-08-15 13:55:06.404491: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 13:55:06.404622: No export window planned
2026-08-15 13:55:06.404803: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 13:55:06.404891: Adjust idle time, charge 10:30:00-16:00:00 discharge 00:00:00-00:00:00
2026-08-15 13:55:06.405193: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 13:55:06.405362: Inverter 0 setting charging SoC to 100% as per target
2026-08-15 13:55:06.405567: Inverter 0 adjust target SoC for charge to 100% based on requested all inverter SoC 100%
2026-08-15 13:55:06.405776: Inverter 0 Current Target SoC is 100%, already at target
2026-08-15 13:55:06.406081: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:55:06.406269: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:55:06.406446: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:55:06.406616: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:55:06.406782: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:55:06.406955: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:55:06.407117: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:55:06.407298: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 13:55:06.407467: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 13:55:06.407634: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 13:55:06.407803: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 13:55:06.407985: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 13:55:06.408156: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 13:55:06.408323: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 13:55:06.408549: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:55:06.408725: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:55:06.408890: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:55:06.409761: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:55:06.409960: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:55:06.410122: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:55:06.410269: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:55:06.413032: Inverter 0 count register writes 0
2026-08-15 13:55:06.440862: Will recompute the plan as it is now 10.0 minutes old and will exceed the max age of 10 minutes before the next run
2026-08-15 13:55:06.441130: Recompute is saving previous plan...
2026-08-15 13:55:06.444986: Best charge window [ 15-08 13:30:00 - 15-08 14:00:00 @ 15.74p 100%, 15-08 14:00:00 - 15-08 14:30:00 @ 14.57p 100%, 15-08 14:30:00 - 15-08 15:00:00 @ 13.77p 100%, 15-08 15:00:00 - 15-08 15:30:00 @ 15.02p 100%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 100%, 15-08 16:00:00 - 15-08 16:30:00 @ 33.13p 100%, 15-08 16:30:00 - 15-08 17:00:00 @ 33.13p 100%, 15-08 17:00:00 - 15-08 17:30:00 @ 38.46p 100%, 15-08 17:30:00 - 15-08 18:00:00 @ 40.44p 100%, 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 100%, 15-08 18:30:00 - 15-08 19:00:00 @ 43.82p 100%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 100%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 100%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 100%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 100%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 100%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 100%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 100%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 100%, 15-08 23:00:00 - 15-08 23:30:00 @ 29.37p 100%, 15-08 23:30:00 - 16-08 00:00:00 @ 29.2p 100%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.83p 100%, 16-08 00:30:00 - 16-08 01:00:00 @ 28.46p 100%, 16-08 01:00:00 - 16-08 01:30:00 @ 27.73p 100%, 16-08 01:30:00 - 16-08 02:00:00 @ 27.01p 100%, 16-08 02:00:00 - 16-08 02:30:00 @ 26.76p 100%, 16-08 02:30:00 - 16-08 03:00:00 @ 26.48p 100%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.39p 100%, 16-08 03:30:00 - 16-08 04:00:00 @ 26.27p 100%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.33p 100%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.37p 100%, 16-08 05:00:00 - 16-08 05:30:00 @ 26.23p 100%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.07p 100%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.99p 100%, 16-08 06:30:00 - 16-08 07:00:00 @ 25.92p 100%, 16-08 07:00:00 - 16-08 07:30:00 @ 25.64p 100%, 16-08 07:30:00 - 16-08 08:00:00 @ 25.39p 100%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.84p 100%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.28p 100%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.26p 100%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.22p 100%, 16-08 10:00:00 - 16-08 10:30:00 @ 24.8p 100%, 16-08 10:30:00 - 16-08 11:00:00 @ 25.37p 100%, 16-08 11:00:00 - 16-08 11:30:00 @ 24.71p 100%, 16-08 11:30:00 - 16-08 12:00:00 @ 24.02p 100%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.79p 100%, 16-08 12:30:00 - 16-08 13:00:00 @ 23.55p 100%, 16-08 13:00:00 - 16-08 13:30:00 @ 23.14p 100%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.71p 100%, 16-08 14:00:00 - 16-08 14:30:00 @ 22.01p 100%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.29p 100%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.01p 100%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.71p 100%, 16-08 16:00:00 - 16-08 16:30:00 @ 37.14p 100%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.91p 100%, 16-08 17:00:00 - 16-08 17:30:00 @ 40.13p 100%, 16-08 17:30:00 - 16-08 18:00:00 @ 42.36p 100%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.19p 100%, 16-08 19:00:00 - 16-08 19:30:00 @ 33.04p 100%, 16-08 19:30:00 - 16-08 20:00:00 @ 33.71p 100%, 16-08 20:00:00 - 16-08 20:30:00 @ 33.83p 100%, 16-08 20:30:00 - 16-08 21:00:00 @ 33.94p 100%, 16-08 21:00:00 - 16-08 21:30:00 @ 33.73p 100%, 16-08 21:30:00 - 16-08 22:00:00 @ 33.53p 100%, 16-08 22:00:00 - 16-08 22:30:00 @ 32.36p 100%, 16-08 22:30:00 - 16-08 23:00:00 @ 31.17p 100%, 16-08 23:00:00 - 16-08 23:30:00 @ 29.37p 100%, 16-08 23:30:00 - 17-08 00:00:00 @ 29.2p 100%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.83p 100%, 17-08 00:30:00 - 17-08 01:00:00 @ 28.46p 100%, 17-08 01:00:00 - 17-08 01:30:00 @ 27.73p 100%, 17-08 01:30:00 - 17-08 02:00:00 @ 27.01p 100%, 17-08 02:00:00 - 17-08 02:30:00 @ 26.76p 100%, 17-08 02:30:00 - 17-08 03:00:00 @ 26.48p 100%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.39p 100%, 17-08 03:30:00 - 17-08 04:00:00 @ 26.27p 100%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.33p 100%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.37p 100%, 17-08 05:00:00 - 17-08 05:30:00 @ 26.23p 100%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.07p 100%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.99p 100%, 17-08 06:30:00 - 17-08 07:00:00 @ 25.92p 100%, 17-08 07:00:00 - 17-08 07:30:00 @ 25.64p 100%, 17-08 07:30:00 - 17-08 08:00:00 @ 25.39p 100%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.84p 100%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.28p 100%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.26p 100%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.22p 100%, 17-08 10:00:00 - 17-08 10:30:00 @ 24.8p 100%, 17-08 10:30:00 - 17-08 11:00:00 @ 25.37p 100%, 17-08 11:00:00 - 17-08 11:30:00 @ 24.71p 100%, 17-08 11:30:00 - 17-08 12:00:00 @ 24.02p 100%, 17-08 12:00:00 - 17-08 12:30:00 @ 23.79p 100%, 17-08 12:30:00 - 17-08 13:00:00 @ 23.55p 100%, 17-08 13:00:00 - 17-08 13:30:00 @ 23.14p 100%, 17-08 13:30:00 - 17-08 14:00:00 @ 22.71p 100% ]
2026-08-15 13:55:06.446475: Best export window [  ]
2026-08-15 13:55:06.447236: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 13:55:06.449804: Load divergence over 8.0 hours mean 473.66W, min 291.6W, max 1314.0W, std dev 192.58W, divergence 20.33%
2026-08-15 13:55:06.465240: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 13:55:06.465424: LoadML is_calculating True
2026-08-15 13:55:06.465475: Not using thread pool as LoadML is calculating to avoid lockups
2026-08-15 13:55:06.476638: Calculate Best options: mode(Control charge & discharge), calculate_export_oncharge(False), calculate_export_on_pv(True), set_export_freeze_only(False), set_discharge_during_charge(True), combine_charge_slots(False), combine_export_slots(False), combine_rate_threshold(0.0), best_soc_min(0.0 kWh), best_soc_max(0.0 kWh), best_soc_keep(0.0 kWh), inverter_loss(4%), battery_loss(3%), battery_loss_discharge (3%), inverter_hybrid(True), metric_min_improvement(0.0p), metric_min_improvement_export(0.1p), metric_min_improvement_export_freeze(0.1p), metric_battery_cycle(0.0p/kWh), metric_battery_value_scaling(1.0 x) 
2026-08-15 13:55:06.477803: Optimise levels pass started at 2026-08-15 13:55:06
2026-08-15 13:55:06.477864: Optimise all windows, total charge 95 export 1
2026-08-15 13:55:11.030817: >> Region optimisation pass width 960 gives best_metric 954.62p, best_cost 968.23p, best_cycle 42.11kWh, best_import 29.56kWh
2026-08-15 13:55:11.816244: >> Region optimisation pass width 480 gives best_metric 954.62p, best_cost 968.23p, best_cycle 42.11kWh, best_import 29.56kWh
2026-08-15 13:55:13.048513: >> Region optimisation pass width 240 gives best_metric 954.62p, best_cost 968.23p, best_cycle 42.11kWh, best_import 29.56kWh
2026-08-15 13:55:16.199651: >> Region optimisation pass width 120 gives best_metric 954.62p, best_cost 968.23p, best_cycle 42.11kWh, best_import 29.56kWh
2026-08-15 13:55:16.200027: Calculated end_record as 08-16 14:00:00 based on best_price 22.71p, next_charge_start 08-15 14:00:00, max_windows 49
2026-08-15 13:55:16.200096: Optimise levels pass ended at 2026-08-15 13:55:16, duration 9.7 seconds tried 270 combinations
2026-08-15 13:55:16.200747: Set best_price_charge_level 24.4p, best_price_export_level 0p, best_price_charge 22.71p, best_cost_export 0p, best_metric 954.62p, best_keep 0kWh, best_cycle 42.11kWh, best_carbon 0kg, best_import 29.56kWh
2026-08-15 13:55:16.223884: Starting detailed optimisation end_record 08-16 14:00:00, best_price_charge 22.71p, best_price_export 0p. lowest_price_charge 13.77p with charge limits [16.0, 16.0, 16.0, 16.0, 16.0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0]kWh and export limits []kWh
2026-08-15 13:55:35.455200: Tweak plan optimisation started metric 559.98p, cost 576.8p
2026-08-15 13:55:35.853632: Tweak optimisation finished metric 559.98p, cost 576.8p, metric_keep 0kWh, cycle 23.48kWh, carbon 0kg, import 12.49kWh, changed 8 window(s)
2026-08-15 13:55:35.904930: Swap charge optimisation started metric 559.98p, cost 576.8p, min_improvement_swap 0.1p
2026-08-15 13:55:40.330894: Swap charge optimisation finished metric 559.98p, cost 576.8p
2026-08-15 13:55:40.464612: Pruned 3 dead plan slot(s) in 8 trial(s), nominal metric 556.32p -> 556.32p, plan now metric 560.06p, cost 576.8p, cycle 23.48kWh, import 12.49kWh
2026-08-15 13:55:40.479926: Raw charge windows [ 15-08 13:30:00 - 15-08 14:00:00 @ 15.74p 100%, 15-08 14:00:00 - 15-08 14:30:00 @ 14.57p 100%, 15-08 14:30:00 - 15-08 15:00:00 @ 13.77p 100%, 15-08 15:00:00 - 15-08 15:30:00 @ 15.02p 100%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 100%, 15-08 16:00:00 - 15-08 16:30:00 @ 33.13p 0%, 15-08 16:30:00 - 15-08 17:00:00 @ 33.13p 0%, 15-08 17:00:00 - 15-08 17:30:00 @ 38.46p 0%, 15-08 17:30:00 - 15-08 18:00:00 @ 40.44p 0%, 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 0%, 15-08 18:30:00 - 15-08 19:00:00 @ 43.82p 0%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 0%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 0%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 0%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 0%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 29.37p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 29.2p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.83p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 28.46p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 27.73p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 27.01p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 26.76p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 26.48p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.39p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 26.27p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.33p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.37p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 26.23p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.07p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.99p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 25.92p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 25.64p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 25.39p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.84p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.28p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.26p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.22p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 24.8p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 25.37p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 24.71p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 24.02p 0%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.79p 0%, 16-08 12:30:00 - 16-08 13:00:00 @ 23.55p 0%, 16-08 13:00:00 - 16-08 13:30:00 @ 23.14p 0%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.71p 0%, 16-08 14:00:00 - 16-08 14:30:00 @ 22.01p 100%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.29p 100%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.01p 100%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.71p 100%, 16-08 16:00:00 - 16-08 16:30:00 @ 37.14p 100%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.91p 100%, 16-08 17:00:00 - 16-08 17:30:00 @ 40.13p 100%, 16-08 17:30:00 - 16-08 18:00:00 @ 42.36p 100%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.19p 100%, 16-08 19:00:00 - 16-08 19:30:00 @ 33.04p 100%, 16-08 19:30:00 - 16-08 20:00:00 @ 33.71p 100%, 16-08 20:00:00 - 16-08 20:30:00 @ 33.83p 100%, 16-08 20:30:00 - 16-08 21:00:00 @ 33.94p 100%, 16-08 21:00:00 - 16-08 21:30:00 @ 33.73p 100%, 16-08 21:30:00 - 16-08 22:00:00 @ 33.53p 100%, 16-08 22:00:00 - 16-08 22:30:00 @ 32.36p 100%, 16-08 22:30:00 - 16-08 23:00:00 @ 31.17p 100%, 16-08 23:00:00 - 16-08 23:30:00 @ 29.37p 100%, 16-08 23:30:00 - 17-08 00:00:00 @ 29.2p 100%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.83p 100%, 17-08 00:30:00 - 17-08 01:00:00 @ 28.46p 100%, 17-08 01:00:00 - 17-08 01:30:00 @ 27.73p 100%, 17-08 01:30:00 - 17-08 02:00:00 @ 27.01p 100%, 17-08 02:00:00 - 17-08 02:30:00 @ 26.76p 100%, 17-08 02:30:00 - 17-08 03:00:00 @ 26.48p 100%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.39p 100%, 17-08 03:30:00 - 17-08 04:00:00 @ 26.27p 100%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.33p 100%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.37p 100%, 17-08 05:00:00 - 17-08 05:30:00 @ 26.23p 100%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.07p 100%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.99p 100%, 17-08 06:30:00 - 17-08 07:00:00 @ 25.92p 100%, 17-08 07:00:00 - 17-08 07:30:00 @ 25.64p 100%, 17-08 07:30:00 - 17-08 08:00:00 @ 25.39p 100%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.84p 100%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.28p 100%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.26p 100%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.22p 100%, 17-08 10:00:00 - 17-08 10:30:00 @ 24.8p 100%, 17-08 10:30:00 - 17-08 11:00:00 @ 25.37p 100%, 17-08 11:00:00 - 17-08 11:30:00 @ 24.71p 100%, 17-08 11:30:00 - 17-08 12:00:00 @ 24.02p 100%, 17-08 12:00:00 - 17-08 12:30:00 @ 23.79p 100%, 17-08 12:30:00 - 17-08 13:00:00 @ 23.55p 100%, 17-08 13:00:00 - 17-08 13:30:00 @ 23.14p 100%, 17-08 13:30:00 - 17-08 14:00:00 @ 22.71p 100% ] reserve 1.12
2026-08-15 13:55:40.480868: Unclipped charge windows [ 15-08 13:30:00 - 15-08 16:00:00 @ 15.3p 100%, 16-08 14:00:00 - 16-08 18:30:00 @ 41.92p 100%, 16-08 19:00:00 - 17-08 14:00:00 @ 23.09p 100% ] reserve 1.12
2026-08-15 13:55:40.481277: Unfiltered charge windows [ 15-08 13:30:00 - 15-08 16:00:00 @ 15.3p 100%, 16-08 14:00:00 - 16-08 18:30:00 @ 41.92p 100%, 16-08 19:00:00 - 17-08 14:00:00 @ 23.09p 100% ] reserve 1.12
2026-08-15 13:55:40.481633: Filtered charge windows [ 15-08 13:30:00 - 15-08 16:00:00 @ 15.3p 100%, 16-08 14:00:00 - 16-08 18:30:00 @ 41.92p 100%, 16-08 19:00:00 - 17-08 14:00:00 @ 23.09p 100% ] reserve 1.12
2026-08-15 13:55:40.530789: Previous plan best metric is 559.98 (cost 576.8) and new plan best metric is 559.98 (cost 576.8)
2026-08-15 13:55:40.532186: New plan metric is not significantly better (metric_min_improvement_plan 2.0) than previous plan, using previous plan
2026-08-15 13:55:40.532449: Plan valid is now true after recompute was False
2026-08-15 13:55:40.568233: predict base end_record 08-16 14:00:00, final soc 16.0kWh, metric 1008.32p, metric_keep 0kWh, min_soc 2.49kWh @ 08-16 10:25:00, load 24.82kWh, PV 0.0kWh
2026-08-15 13:55:40.775298: Battery has 48.0 hours left - now at 7.22kWh
2026-08-15 13:55:40.831859: predict base10 end_record 08-16 14:00:00, final soc 14.73kWh, metric 1001.09p, metric_keep 0kWh, min_soc 1.15kWh @ 08-16 10:25:00, load 25.63kWh, PV 0.0kWh
2026-08-15 13:55:40.960763: predict best10 end_record 08-16 14:00:00, final soc 1.12kWh, metric 651.75p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 10:30:00, load 25.63kWh, PV 0.0kWh
2026-08-15 13:55:41.072350: predict best end_record 08-16 14:00:00, final soc 1.12kWh, metric 626.79p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 11:55:00, load 24.82kWh, PV 0.0kWh
2026-08-15 13:55:41.072538: Saving plan best values to HA entities
2026-08-15 13:55:41.253127: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0
2026-08-15 13:55:41.261158: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 13:55:41.267800: Best charging limit SoC's [16.0, 16.0, 16.0]kWh, export []kWh gives import battery 10.84kWh, house 1.65kWh, export 0.0kWh, metric 626.79p, metric10 651.75p
2026-08-15 13:55:41.380756: Marginal costs baseline metric (no standing charge): 576.8029
2026-08-15 13:55:41.741935: Marginal energy costs matrix computed: min=14.33 max=33.73
2026-08-15 13:55:41.822885: Rate array import [{'start': 835, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 15.9p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1950, 'rate': 'expensive', 'range': '(24.8p - 32.9p)'}, {'start': 1950, 'end': 2040, 'rate': 'cheap', 'range': '(24.2p - 24.3p)'}, {'start': 2040, 'end': 2130, 'rate': 'expensive', 'range': '(24.7p - 25.4p)'}, {'start': 2130, 'end': 2280, 'rate': 'cheap', 'range': '(22.7p - 24.0p)'}] export [{'start': 835, 'end': 2280, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 13:55:41.828104: - Your estimated bill for today is £5.38 and tomorrow is £7.54
2026-08-15 13:55:41.828334: - Import rates are cheap (13.8p - 15.9p) for the next 2 hours and then expensive (33.1p) for the next 1 hour.
2026-08-15 13:55:41.828625: - The battery is currently at 45% and is charging to 100% for the next 2 hours.
2026-08-15 13:55:41.828774: - For the next 48 hours there will be no solar generation.
2026-08-15 13:55:41.828905: - You will run out of battery in 22 hours.
2026-08-15 13:55:41.829306: 
2026-08-15 13:55:41.895005: Plan calculation took 35.45 seconds
2026-08-15 13:55:41.895264: Inverter 0: Type SK Sunsynk
2026-08-15 13:55:41.895308: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 13:55:41.895483: Reserve min: 7%, battery_min: 7%
2026-08-15 13:55:41.895553: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 13:55:41.895813: Inverter 0 SoC: 7.58kW 47%, current charge rate 5000W, current discharge rate 5250W, current battery power -4541W, current battery voltage 51.2V, grid power -5272W, load power 276W, PV Power 0W
2026-08-15 13:55:41.895989: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 13:55:41.896084: Inverter 0 scheduled charge enable is True
2026-08-15 13:55:41.896138: Inverter 0 charge windows currently [{'start': 630, 'end': 960, 'average': 0}, {'start': 2070, 'end': 2400, 'average': 0}, {'start': 3510, 'end': 3840, 'average': 0}]
2026-08-15 13:55:41.896237: Inverter 0 Charge settings: 08-15 10:30:00-08-15 16:00:00, limit 100.0%, power 5.0kW
2026-08-15 13:55:41.896360: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 13:55:41.896398: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 13:55:41.896433: Inverter 0 scheduled discharge enable is False
2026-08-15 13:55:41.896552: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 13:55:41.896591: Inverter 0 discharge windows currently []
2026-08-15 13:55:41.896614: Note: Inverter does not support discharge freeze - disabled
2026-08-15 13:55:41.896714: Note: Inverter does not support charge freeze - disabled
2026-08-15 13:55:41.896752: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 13:55:42.052864: Include original charge start 08-15 10:30:00, keeping this instead of new start 08-15 13:30:00
2026-08-15 13:55:42.053157: Inverter 0 Charge window will be: 2026-08-15 10:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 47%, target 100%
2026-08-15 13:55:42.053366: Inverter 0 Target SoC 100%, (this inverter 100%), battery temperature 20°C, select charge rate 5000W (real 5000W), current charge rate 5000W
2026-08-15 13:55:42.053630: Adjust idle time, charge 10:30:00-16:00:00 discharge 00:00:00-00:00:00
2026-08-15 13:55:42.053898: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 13:55:42.054093: No export window planned
2026-08-15 13:55:42.054290: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 13:55:42.054413: Adjust idle time, charge 10:30:00-16:00:00 discharge 00:00:00-00:00:00
2026-08-15 13:55:42.054641: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 13:55:42.054839: Inverter 0 setting charging SoC to 100% as per target
2026-08-15 13:55:42.054968: Inverter 0 adjust target SoC for charge to 100% based on requested all inverter SoC 100%
2026-08-15 13:55:42.055112: Inverter 0 Current Target SoC is 100%, already at target
2026-08-15 13:55:42.055289: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:55:42.055418: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:55:42.055522: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:55:42.055630: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:55:42.055731: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:55:42.055874: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:55:42.055994: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:55:42.056121: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 13:55:42.056229: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 13:55:42.056350: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 13:55:42.056450: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 13:55:42.056558: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 13:55:42.056657: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 13:55:42.056762: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 13:55:42.056903: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:55:42.057108: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:55:42.057218: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:55:42.057325: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:55:42.057426: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:55:42.057533: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:55:42.057630: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 13:55:42.057728: Inverter 0 count register writes 0
2026-08-15 13:55:42.113554: Total inverter register writes now 825
2026-08-15 13:55:42.169840: Info: Completed run status Charging
2026-08-15 13:55:42.178811: Info: record_status Charging target 47%-100.0%
2026-08-15 13:55:42.188941: Saved current settings to /config/predbat_config.json
2026-08-15 13:55:42.189230: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 13:55:46.392810: ML Predictor: Epoch 1/30: lr=0.00100 huber_loss=0.0109 val_mae=0.0071 kWh val_bias=-0.0020 kWh (-2.5%) combined=0.0044 kWh ema_combined=0.0044 kWh
2026-08-15 13:56:12.380930: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 13:56:12.381364: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 13:56:12.381503: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 13:56:12.381804: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 13:56:12.381929: Note: Inverter does not support discharge freeze - disabled
2026-08-15 13:56:12.382052: Note: Inverter does not support charge freeze - disabled
2026-08-15 13:56:12.382149: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 13:56:19.884401: ML Predictor: Epoch 2/30: lr=0.00100 huber_loss=0.0114 val_mae=0.0064 kWh val_bias=+0.0008 kWh (+1.0%) combined=0.0035 kWh ema_combined=0.0042 kWh
2026-08-15 13:56:53.711622: ML Predictor: Epoch 3/30: lr=0.00099 huber_loss=0.0120 val_mae=0.0061 kWh val_bias=+0.0007 kWh (+0.9%) combined=0.0042 kWh ema_combined=0.0042 kWh
2026-08-15 13:57:25.560573: ML Predictor: Epoch 4/30: lr=0.00098 huber_loss=0.0134 val_mae=0.0067 kWh val_bias=-0.0036 kWh (-4.5%) combined=0.0045 kWh ema_combined=0.0043 kWh
2026-08-15 13:57:58.301689: ML Predictor: Epoch 5/30: lr=0.00096 huber_loss=0.0146 val_mae=0.0076 kWh val_bias=-0.0051 kWh (-6.4%) combined=0.0083 kWh ema_combined=0.0055 kWh
2026-08-15 13:58:23.253355: TemperatureAPI: Using coordinates latitude 53.4, longitude -2.2
2026-08-15 13:58:23.436298: TemperatureAPI: Successfully fetched temperature data from Open-Meteo API
2026-08-15 13:58:26.881553: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 13:58:26.881924: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 13:58:26.882008: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 13:58:26.882239: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 13:58:26.882297: Note: Inverter does not support discharge freeze - disabled
2026-08-15 13:58:26.882334: Note: Inverter does not support charge freeze - disabled
2026-08-15 13:58:26.882369: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 13:58:29.017618: ML Predictor: Epoch 6/30: lr=0.00094 huber_loss=0.0152 val_mae=0.0063 kWh val_bias=+0.0010 kWh (+1.2%) combined=0.0041 kWh ema_combined=0.0051 kWh
2026-08-15 13:59:02.212135: ML Predictor: Epoch 7/30: lr=0.00091 huber_loss=0.0127 val_mae=0.0065 kWh val_bias=-0.0018 kWh (-2.2%) combined=0.0044 kWh ema_combined=0.0049 kWh
2026-08-15 13:59:31.359813: ML Predictor: Epoch 8/30: lr=0.00088 huber_loss=0.0112 val_mae=0.0056 kWh val_bias=-0.0017 kWh (-2.1%) combined=0.0041 kWh ema_combined=0.0046 kWh
2026-08-15 14:00:00.286911: --------------- PredBat - update at 2026-08-15 14:00:00+01:00 with clock skew 0 minutes, minutes now 840
2026-08-15 14:00:00.288251: Saved current settings to /config/predbat_config.json
2026-08-15 14:00:00.288505: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 105.0 minutes
2026-08-15 14:00:00.288711: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.1, latest beta is v8.48.1
2026-08-15 14:00:00.288910: Autoupdate: Currently up to date
2026-08-15 14:00:00.317293: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 14:00:00.321612: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 14:00:00.321892: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 14:00:00.322717: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 14:00:00.323025: Predbat mode is set to Control charge & discharge
2026-08-15 14:00:00.685395: Found 21602 load_today datapoints going back 28 days
2026-08-15 14:00:00.685572: Using load_power data to fill gaps in load_today data
2026-08-15 14:00:01.957474: Processing 721 30-minute periods for power integration
2026-08-15 14:00:02.199296: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 14:00:02.199593: Car charging hold False, threshold 6.0kWh
2026-08-15 14:00:02.199734: Current data so far today: load 8.03kWh, import 16.4kWh, export 0.0kWh, PV 0kWh
2026-08-15 14:00:02.215225: Cars: SoC: [11.134]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 14:00:02.215825: Standing charge is set to 49.98p
2026-08-15 14:00:02.361679: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 14:00:02.362201: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 14:00:02.362623: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 200.0 minutes
2026-08-15 14:00:02.363252: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 200.0 minutes
2026-08-15 14:00:02.369149: Loaded 95 datapoints of futurerate analysis
2026-08-15 14:00:02.650434: Predicted future rates: ['08-15 00:00:00 => 28.9 / 20.01', '08-15 01:00:00 => 27.54 / 19.31', '08-15 02:00:00 => 26.52 / 18.8', '08-15 03:00:00 => 25.99 / 18.53', '08-15 04:00:00 => 25.8 / 18.43', '08-15 05:00:00 => 25.96 / 18.51', '08-15 06:00:00 => 25.55 / 18.3', '08-15 07:00:00 => 24.33 / 17.68', '08-15 08:00:00 => 23.03 / 17.01', '08-15 09:00:00 => 22.05 / 16.51', '08-15 10:00:00 => 20.43 / 15.68', '08-15 11:00:00 => 18.01 / 14.45', '08-15 12:00:00 => 16.37 / 13.61', '08-15 13:00:00 => 15.76 / 13.3', '08-15 14:00:00 => 15.35 / 13.09', '08-15 15:00:00 => 15.86 / 13.35', '08-15 16:00:00 => 32.89 / 16.13', '08-15 17:00:00 => 38.02 / 18.75', '08-15 18:00:00 => 42.36 / 20.96', '08-15 19:00:00 => 31.09 / 21.13', '08-15 20:00:00 => 31.64 / 21.41', '08-15 21:00:00 => 31.64 / 21.41', '08-15 22:00:00 => 30.58 / 20.87', '08-15 23:00:00 => 29.37 / 20.25', '08-16 00:00:00 => 28.83 / 19.97', '08-16 01:00:00 => 27.73 / 19.41', '08-16 02:00:00 => 26.76 / 18.92', '08-16 03:00:00 => 26.39 / 18.73', '08-16 04:00:00 => 26.33 / 18.7', '08-16 05:00:00 => 26.23 / 18.65', '08-16 06:00:00 => 25.99 / 18.53', '08-16 07:00:00 => 25.64 / 18.35', '08-16 08:00:00 => 24.84 / 17.94', '08-16 09:00:00 => 24.26 / 17.64', '08-16 10:00:00 => 24.8 / 17.92', '08-16 11:00:00 => 24.71 / 17.87', '08-16 12:00:00 => 23.79 / 17.4', '08-16 13:00:00 => 23.14 / 17.07']
2026-08-15 14:00:02.771557: Rate min forward looking: now 13.77p at end of forecast 21.29p
2026-08-15 14:00:02.772412: Import rates: min 13.77p, max 46.05p, average 28.06p
2026-08-15 14:00:02.818897: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 14:00:02.819544: Rate thresholds (for charge/export) are import 45.55p (0.0p), export -0.1p (0.0p)
2026-08-15 14:00:02.820918: High export rate found rates in range 99p to -99p
2026-08-15 14:00:02.924990: Low Import rate found rates in range 13.77p to 44.19p
2026-08-15 14:00:02.925278: Car 0 charging is not planned as it is not plugged in
2026-08-15 14:00:02.945250: Battery level now 7.22kWh, -1hr ago 4.0kWh, at midnight 1.66kWh, battery value change in the last hour 38.13p, change today 65.85p, rate_forward 11.83p
2026-08-15 14:00:02.945750: Last hour: net energy 4.55kWh, import 4.55kWh, export 0.0kWh, car 0kWh, load 0.3kWh, net cost 70.74p, import 70.74p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 14:00:03.028903: Today's energy total net 16.4kWh, import 16.4kWh, export 0.0kWh, cost 392.55p, import 342.57p, export 0.0p, carbon 0.0kg
2026-08-15 14:00:03.029422: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 14:00:03.221060: Using weighted-bucket historical load forecast over 14 days
2026-08-15 14:00:03.306310: Today's load divergence 96.36%, in-day adjustment 116.22%, damping 0.95x, yesterday 143.77% today 96.54% blend 41.67%
2026-08-15 14:00:03.322903: Today's predicted so far 8.64kWh with 0.0kWh car/iBoost excluded, 10.22kWh import ignored, and 8.64kWh forecast extra.
2026-08-15 14:00:03.323123: Today's actual load so far 8.1kWh with 0.0kWh car/iBoost excluded, and 10.22kWh import ignored.
2026-08-15 14:00:03.419626: Inverter 0: Type SK Sunsynk
2026-08-15 14:00:03.421463: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 14:00:03.422016: Reserve min: 7%, battery_min: 7%
2026-08-15 14:00:03.422902: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 14:00:03.423529: Inverter 0 SoC: 7.58kW 47%, current charge rate 5000W, current discharge rate 5250W, current battery power -4542W, current battery voltage 51.2V, grid power -5320W, load power 324W, PV Power 0W
2026-08-15 14:00:03.424160: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 14:00:03.424450: Inverter 0 scheduled charge enable is True
2026-08-15 14:00:03.424533: Inverter 0 charge windows currently [{'start': 630, 'end': 960, 'average': 0}, {'start': 2070, 'end': 2400, 'average': 0}, {'start': 3510, 'end': 3840, 'average': 0}]
2026-08-15 14:00:03.425110: Inverter 0 Charge settings: 08-15 10:30:00-08-15 16:00:00, limit 100.0%, power 5.0kW
2026-08-15 14:00:03.425505: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 14:00:03.425615: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 14:00:03.425673: Inverter 0 scheduled discharge enable is False
2026-08-15 14:00:03.425953: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 14:00:03.426144: Inverter 0 discharge windows currently []
2026-08-15 14:00:03.426202: Note: Inverter does not support discharge freeze - disabled
2026-08-15 14:00:03.426301: Note: Inverter does not support charge freeze - disabled
2026-08-15 14:00:03.426346: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 14:00:03.531956: Dynamic load last period 0.30kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 14:00:03.532109: Plan was last updated on 2026-08-15 13:55:00+01:00 and is now 5.0 minutes old
2026-08-15 14:00:03.532348: Best charge window [ 15-08 13:30:00 - 15-08 16:00:00 @ 15.3p 100%, 16-08 14:00:00 - 16-08 18:30:00 @ 41.92p 100%, 16-08 19:00:00 - 17-08 14:00:00 @ 23.09p 100% ]
2026-08-15 14:00:03.532400: Best export window [  ]
2026-08-15 14:00:03.533683: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 14:00:03.538538: Load divergence over 8.0 hours mean 473.88W, min 295.8W, max 1270.8W, std dev 181.01W, divergence 19.1%
2026-08-15 14:00:03.570088: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 14:00:03.570400: LoadML is_calculating True
2026-08-15 14:00:03.570614: Not using thread pool as LoadML is calculating to avoid lockups
2026-08-15 14:00:03.662699: predict base end_record 08-16 14:05:00, final soc 16.0kWh, metric 1016.31p, metric_keep 0kWh, min_soc 2.49kWh @ 08-16 10:25:00, load 24.92kWh, PV 0.0kWh
2026-08-15 14:00:03.972293: Battery has 48.0 hours left - now at 7.58kWh
2026-08-15 14:00:04.115055: predict base10 end_record 08-16 14:05:00, final soc 15.09kWh, metric 1017.27p, metric_keep 0kWh, min_soc 1.19kWh @ 08-16 10:25:00, load 25.73kWh, PV 0.0kWh
2026-08-15 14:00:04.307107: predict best10 end_record 08-16 14:05:00, final soc 1.44kWh, metric 667.18p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 10:30:00, load 25.73kWh, PV 0.0kWh
2026-08-15 14:00:04.504170: predict best end_record 08-16 14:05:00, final soc 1.51kWh, metric 643.96p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 11:55:00, load 24.92kWh, PV 0.0kWh
2026-08-15 14:00:04.504588: Saving plan best values to HA entities
2026-08-15 14:00:04.792126: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0
2026-08-15 14:00:04.799419: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 14:00:04.808094: Best charging limit SoC's [16.0, 16.0, 16.0]kWh, export []kWh gives import battery 10.87kWh, house 1.64kWh, export 0.0kWh, metric 643.96p, metric10 667.18p
2026-08-15 14:00:04.982914: Marginal costs baseline metric (no standing charge): 593.9745
2026-08-15 14:00:05.338409: Marginal energy costs matrix computed: min=14.17 max=33.87
2026-08-15 14:00:05.455227: Rate array import [{'start': 840, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 15.9p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1950, 'rate': 'expensive', 'range': '(24.8p - 32.9p)'}, {'start': 1950, 'end': 2040, 'rate': 'cheap', 'range': '(24.2p - 24.3p)'}, {'start': 2040, 'end': 2130, 'rate': 'expensive', 'range': '(24.7p - 25.4p)'}, {'start': 2130, 'end': 2285, 'rate': 'cheap', 'range': '(22.0p - 24.0p)'}] export [{'start': 840, 'end': 2285, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 14:00:05.455811: - Your estimated bill for today is £5.46 and tomorrow is £7.51
2026-08-15 14:00:05.455884: - Import rates are cheap (13.8p - 15.9p) for the next 2 hours and then expensive (33.1p) for the next 1 hour.
2026-08-15 14:00:05.456061: - The battery is currently at 47% and is charging to 100% for the next 2 hours.
2026-08-15 14:00:05.456207: - For the next 48 hours there will be no solar generation.
2026-08-15 14:00:05.456365: - You will run out of battery in 21 hours.
2026-08-15 14:00:05.456465: 
2026-08-15 14:00:05.513368: Plan calculation took 1.98 seconds
2026-08-15 14:00:05.517119: No high rate period found
2026-08-15 14:00:05.668847: Import threshold used for optimisation was 24.28p
2026-08-15 14:00:05.783951: Low import rate windows [0: 08-15 14:00:00 - 08-15 14:30:00 @ 14.57, 1: 08-15 14:30:00 - 08-15 15:00:00 @ 13.77, 2: 08-15 15:00:00 - 08-15 15:30:00 @ 15.02, 3: 08-15 15:30:00 - 08-15 16:00:00 @ 15.87, 4: 08-15 16:00:00 - 08-15 16:30:00 @ 33.13, 5: 08-15 16:30:00 - 08-15 17:00:00 @ 33.13, 6: 08-15 17:00:00 - 08-15 17:30:00 @ 38.46, 7: 08-15 17:30:00 - 08-15 18:00:00 @ 40.44, 8: 08-15 18:00:00 - 08-15 18:30:00 @ 41.55, 9: 08-15 18:30:00 - 08-15 19:00:00 @ 43.82, 10: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 11: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 12: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 13: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 14: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 15: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 16: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 17: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 18: 08-15 23:00:00 - 08-15 23:30:00 @ 29.37, 19: 08-15 23:30:00 - 08-16 00:00:00 @ 29.2, 20: 08-16 00:00:00 - 08-16 00:30:00 @ 28.83, 21: 08-16 00:30:00 - 08-16 01:00:00 @ 28.46, 22: 08-16 01:00:00 - 08-16 01:30:00 @ 27.73, 23: 08-16 01:30:00 - 08-16 02:00:00 @ 27.01, 24: 08-16 02:00:00 - 08-16 02:30:00 @ 26.76, 25: 08-16 02:30:00 - 08-16 03:00:00 @ 26.48, 26: 08-16 03:00:00 - 08-16 03:30:00 @ 26.39, 27: 08-16 03:30:00 - 08-16 04:00:00 @ 26.27, 28: 08-16 04:00:00 - 08-16 04:30:00 @ 26.33, 29: 08-16 04:30:00 - 08-16 05:00:00 @ 26.37, 30: 08-16 05:00:00 - 08-16 05:30:00 @ 26.23, 31: 08-16 05:30:00 - 08-16 06:00:00 @ 26.07, 32: 08-16 06:00:00 - 08-16 06:30:00 @ 25.99, 33: 08-16 06:30:00 - 08-16 07:00:00 @ 25.92, 34: 08-16 07:00:00 - 08-16 07:30:00 @ 25.64, 35: 08-16 07:30:00 - 08-16 08:00:00 @ 25.39, 36: 08-16 08:00:00 - 08-16 08:30:00 @ 24.84, 37: 08-16 08:30:00 - 08-16 09:00:00 @ 24.28, 38: 08-16 09:00:00 - 08-16 09:30:00 @ 24.26, 39: 08-16 09:30:00 - 08-16 10:00:00 @ 24.22, 40: 08-16 10:00:00 - 08-16 10:30:00 @ 24.8, 41: 08-16 10:30:00 - 08-16 11:00:00 @ 25.37, 42: 08-16 11:00:00 - 08-16 11:30:00 @ 24.71, 43: 08-16 11:30:00 - 08-16 12:00:00 @ 24.02, 44: 08-16 12:00:00 - 08-16 12:30:00 @ 23.79, 45: 08-16 12:30:00 - 08-16 13:00:00 @ 23.55, 46: 08-16 13:00:00 - 08-16 13:30:00 @ 23.14, 47: 08-16 13:30:00 - 08-16 14:00:00 @ 22.71, 48: 08-16 14:00:00 - 08-16 14:30:00 @ 22.01, 49: 08-16 14:30:00 - 08-16 15:00:00 @ 21.29, 50: 08-16 15:00:00 - 08-16 15:30:00 @ 22.01, 51: 08-16 15:30:00 - 08-16 16:00:00 @ 22.71, 52: 08-16 16:00:00 - 08-16 16:30:00 @ 37.14, 53: 08-16 16:30:00 - 08-16 17:00:00 @ 37.91, 54: 08-16 17:00:00 - 08-16 17:30:00 @ 40.13, 55: 08-16 17:30:00 - 08-16 18:00:00 @ 42.36, 56: 08-16 18:00:00 - 08-16 18:30:00 @ 44.19, 57: 08-16 19:00:00 - 08-16 19:30:00 @ 33.04, 58: 08-16 19:30:00 - 08-16 20:00:00 @ 33.71, 59: 08-16 20:00:00 - 08-16 20:30:00 @ 33.83, 60: 08-16 20:30:00 - 08-16 21:00:00 @ 33.94, 61: 08-16 21:00:00 - 08-16 21:30:00 @ 33.73, 62: 08-16 21:30:00 - 08-16 22:00:00 @ 33.53, 63: 08-16 22:00:00 - 08-16 22:30:00 @ 32.36, 64: 08-16 22:30:00 - 08-16 23:00:00 @ 31.17, 65: 08-16 23:00:00 - 08-16 23:30:00 @ 29.37, 66: 08-16 23:30:00 - 08-17 00:00:00 @ 29.2, 67: 08-17 00:00:00 - 08-17 00:30:00 @ 28.83, 68: 08-17 00:30:00 - 08-17 01:00:00 @ 28.46, 69: 08-17 01:00:00 - 08-17 01:30:00 @ 27.73, 70: 08-17 01:30:00 - 08-17 02:00:00 @ 27.01, 71: 08-17 02:00:00 - 08-17 02:30:00 @ 26.76, 72: 08-17 02:30:00 - 08-17 03:00:00 @ 26.48, 73: 08-17 03:00:00 - 08-17 03:30:00 @ 26.39, 74: 08-17 03:30:00 - 08-17 04:00:00 @ 26.27, 75: 08-17 04:00:00 - 08-17 04:30:00 @ 26.33, 76: 08-17 04:30:00 - 08-17 05:00:00 @ 26.37, 77: 08-17 05:00:00 - 08-17 05:30:00 @ 26.23, 78: 08-17 05:30:00 - 08-17 06:00:00 @ 26.07, 79: 08-17 06:00:00 - 08-17 06:30:00 @ 25.99, 80: 08-17 06:30:00 - 08-17 07:00:00 @ 25.92, 81: 08-17 07:00:00 - 08-17 07:30:00 @ 25.64, 82: 08-17 07:30:00 - 08-17 08:00:00 @ 25.39, 83: 08-17 08:00:00 - 08-17 08:30:00 @ 24.84, 84: 08-17 08:30:00 - 08-17 09:00:00 @ 24.28, 85: 08-17 09:00:00 - 08-17 09:30:00 @ 24.26, 86: 08-17 09:30:00 - 08-17 10:00:00 @ 24.22, 87: 08-17 10:00:00 - 08-17 10:30:00 @ 24.8, 88: 08-17 10:30:00 - 08-17 11:00:00 @ 25.37, 89: 08-17 11:00:00 - 08-17 11:30:00 @ 24.71, 90: 08-17 11:30:00 - 08-17 12:00:00 @ 24.02, 91: 08-17 12:00:00 - 08-17 12:30:00 @ 23.79, 92: 08-17 12:30:00 - 08-17 13:00:00 @ 23.55, 93: 08-17 13:00:00 - 08-17 13:30:00 @ 23.14, 94: 08-17 13:30:00 - 08-17 14:00:00 @ 22.71]
2026-08-15 14:00:05.800891: Include original charge start 08-15 10:30:00, keeping this instead of new start 08-15 13:30:00
2026-08-15 14:00:05.801452: Inverter 0 Charge window will be: 2026-08-15 10:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 47%, target 100%
2026-08-15 14:00:05.801820: Inverter 0 Target SoC 100%, (this inverter 100%), battery temperature 20°C, select charge rate 5000W (real 5000W), current charge rate 5000W
2026-08-15 14:00:05.802254: Adjust idle time, charge 10:30:00-16:00:00 discharge 00:00:00-00:00:00
2026-08-15 14:00:05.802687: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 14:00:05.802979: No export window planned
2026-08-15 14:00:05.803303: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 14:00:05.803461: Adjust idle time, charge 10:30:00-16:00:00 discharge 00:00:00-00:00:00
2026-08-15 14:00:05.803878: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 14:00:05.804207: Inverter 0 setting charging SoC to 100% as per target
2026-08-15 14:00:05.804418: Inverter 0 adjust target SoC for charge to 100% based on requested all inverter SoC 100%
2026-08-15 14:00:05.804639: Inverter 0 Current Target SoC is 100%, already at target
2026-08-15 14:00:05.804935: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:00:05.805285: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:00:05.805510: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:00:05.805727: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:00:05.805915: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:00:05.806123: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:00:05.806316: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:00:05.806560: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 14:00:05.806752: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 14:00:05.806937: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 14:00:05.807144: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 14:00:05.807329: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 14:00:05.807514: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 14:00:05.807696: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 14:00:05.807951: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:00:05.808167: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:00:05.808353: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:00:05.808536: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:00:05.808722: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:00:05.808905: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:00:05.809165: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:00:05.809486: Inverter 0 count register writes 0
2026-08-15 14:00:05.848697: Will not recompute the plan, it is 5.0 minutes old and max age is 10 minutes
2026-08-15 14:00:05.865678: Total inverter register writes now 825
2026-08-15 14:00:05.987425: Info: Completed run status Charging
2026-08-15 14:00:06.002227: Info: record_status Charging target 47%-100.0%
2026-08-15 14:00:06.023597: Saved current settings to /config/predbat_config.json
2026-08-15 14:00:06.024060: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 14:00:07.652908: ML Predictor: Epoch 9/30: lr=0.00084 huber_loss=0.0096 val_mae=0.0053 kWh val_bias=+0.0006 kWh (+0.7%) combined=0.0027 kWh ema_combined=0.0040 kWh
2026-08-15 14:00:42.223750: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 14:00:42.224086: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 14:00:42.224140: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 14:00:42.224545: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 14:00:42.224606: Note: Inverter does not support discharge freeze - disabled
2026-08-15 14:00:42.224718: Note: Inverter does not support charge freeze - disabled
2026-08-15 14:00:42.224762: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 14:00:43.949794: ML Predictor: Epoch 10/30: lr=0.00080 huber_loss=0.0092 val_mae=0.0048 kWh val_bias=+0.0011 kWh (+1.4%) combined=0.0033 kWh ema_combined=0.0038 kWh
2026-08-15 14:00:43.950060: ML Predictor: Early stopping at epoch 10
2026-08-15 14:00:43.951156: ML Predictor: Restored best weights from epoch with val_mae=0.0067 kWh val_bias=-0.0001 kWh (-0.1%)
2026-08-15 14:00:43.951433: ML Predictor: Training complete, final val_mae=0.0067 kWh val_bias=-0.0001 kWh (-0.1%)
2026-08-15 14:00:49.875032: ML Predictor: AR rollout over holdout: ar_mae=0.0116 kWh ar_bias=+0.0040 kWh (+4.9%) [drift vs teacher-forced: +0.0049 kWh]
2026-08-15 14:00:49.880181: ML Predictor: Curriculum pass 4/5 complete, val_mae=0.0067 kWh
2026-08-15 14:00:49.880388: ML Predictor: Curriculum final pass 5/5: full dataset (57.0 days)
2026-08-15 14:00:49.880510: ML Predictor: Starting fine-tune training with 30 epochs
2026-08-15 14:00:50.574562: ML Predictor: Creating dataset with 1368 hours of training data, 48 hours validation
2026-08-15 14:00:55.191747: ML Predictor: Created 16135 training samples, 576 validation samples
2026-08-15 14:00:55.247702: ML Predictor: Normalization stats [ema-update alpha=0.1] target(mean=0.0586 std=0.0470) load(mean=0.0590 std=0.0473) pv(mean=0.0000 std=0.0100) temp(mean=19.5719 std=4.4633) import_rate(mean=25.5529 std=2.4950) export_rate(mean=0.0000 std=1.0000) time(mean=-0.1903 std=0.5255)
2026-08-15 14:00:55.339752: ML Predictor: Applied EMA normalization update (alpha=0.1) to track feature drift
2026-08-15 14:00:55.356773: ML Predictor: Reset Adam optimiser state for fine-tuning
2026-08-15 14:00:55.425956: ML Predictor: Baseline (pre-finetune) val_mae=0.0070 kWh val_bias=+0.0002 kWh
2026-08-15 14:01:31.554309: ML Predictor: Epoch 1/30: lr=0.00100 huber_loss=0.0099 val_mae=0.0060 kWh val_bias=+0.0006 kWh (+0.8%) combined=0.0042 kWh ema_combined=0.0042 kWh
2026-08-15 14:01:36.370004: Info: HAHistory: Pruning history data started.
2026-08-15 14:01:36.373467: Info: HAHistory: Pruning history data completed.
2026-08-15 14:02:03.265797: ML Predictor: Epoch 2/30: lr=0.00100 huber_loss=0.0109 val_mae=0.0069 kWh val_bias=-0.0040 kWh (-5.1%) combined=0.0061 kWh ema_combined=0.0048 kWh
2026-08-15 14:02:36.808549: ML Predictor: Epoch 3/30: lr=0.00099 huber_loss=0.0114 val_mae=0.0064 kWh val_bias=-0.0015 kWh (-1.9%) combined=0.0033 kWh ema_combined=0.0043 kWh
2026-08-15 14:02:57.151199: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 14:02:57.151664: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 14:02:57.151950: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 14:02:57.152257: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 14:02:57.152379: Note: Inverter does not support discharge freeze - disabled
2026-08-15 14:02:57.152491: Note: Inverter does not support charge freeze - disabled
2026-08-15 14:02:57.152589: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 14:03:09.051509: ML Predictor: Epoch 4/30: lr=0.00098 huber_loss=0.0114 val_mae=0.0053 kWh val_bias=+0.0012 kWh (+1.5%) combined=0.0042 kWh ema_combined=0.0043 kWh
2026-08-15 14:03:40.380631: ML Predictor: Epoch 5/30: lr=0.00096 huber_loss=0.0114 val_mae=0.0063 kWh val_bias=-0.0021 kWh (-2.7%) combined=0.0033 kWh ema_combined=0.0040 kWh
2026-08-15 14:04:13.391971: ML Predictor: Epoch 6/30: lr=0.00094 huber_loss=0.0097 val_mae=0.0054 kWh val_bias=+0.0007 kWh (+0.8%) combined=0.0039 kWh ema_combined=0.0040 kWh
2026-08-15 14:04:47.922439: ML Predictor: Epoch 7/30: lr=0.00091 huber_loss=0.0109 val_mae=0.0058 kWh val_bias=-0.0002 kWh (-0.2%) combined=0.0036 kWh ema_combined=0.0038 kWh
2026-08-15 14:05:00.629347: --------------- PredBat - update at 2026-08-15 14:05:00+01:00 with clock skew 0 minutes, minutes now 845
2026-08-15 14:05:00.630772: Saved current settings to /config/predbat_config.json
2026-08-15 14:05:00.631032: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 110.0 minutes
2026-08-15 14:05:00.631254: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.1, latest beta is v8.48.1
2026-08-15 14:05:00.631452: Autoupdate: Currently up to date
2026-08-15 14:05:00.665967: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 14:05:00.666149: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 14:05:00.666542: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 14:05:00.667283: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 14:05:00.667478: Predbat mode is set to Control charge & discharge
2026-08-15 14:05:01.252590: Found 21602 load_today datapoints going back 27 days
2026-08-15 14:05:01.253056: Using load_power data to fill gaps in load_today data
2026-08-15 14:05:02.970189: Processing 721 30-minute periods for power integration
2026-08-15 14:05:03.189417: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 14:05:03.189637: Car charging hold False, threshold 6.0kWh
2026-08-15 14:05:03.189689: Current data so far today: load 8.05kWh, import 16.4kWh, export 0.0kWh, PV 0kWh
2026-08-15 14:05:03.209900: Cars: SoC: [11.134]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 14:05:03.210541: Standing charge is set to 49.98p
2026-08-15 14:05:03.410830: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 14:05:03.410986: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 14:05:03.411300: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 205.0 minutes
2026-08-15 14:05:03.411928: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 205.0 minutes
2026-08-15 14:05:03.420412: Loaded 95 datapoints of futurerate analysis
2026-08-15 14:05:03.799885: Predicted future rates: ['08-15 00:00:00 => 28.9 / 20.01', '08-15 01:00:00 => 27.54 / 19.31', '08-15 02:00:00 => 26.52 / 18.8', '08-15 03:00:00 => 25.99 / 18.53', '08-15 04:00:00 => 25.8 / 18.43', '08-15 05:00:00 => 25.96 / 18.51', '08-15 06:00:00 => 25.55 / 18.3', '08-15 07:00:00 => 24.33 / 17.68', '08-15 08:00:00 => 23.03 / 17.01', '08-15 09:00:00 => 22.05 / 16.51', '08-15 10:00:00 => 20.43 / 15.68', '08-15 11:00:00 => 18.01 / 14.45', '08-15 12:00:00 => 16.37 / 13.61', '08-15 13:00:00 => 15.76 / 13.3', '08-15 14:00:00 => 15.35 / 13.09', '08-15 15:00:00 => 15.86 / 13.35', '08-15 16:00:00 => 32.89 / 16.13', '08-15 17:00:00 => 38.02 / 18.75', '08-15 18:00:00 => 42.36 / 20.96', '08-15 19:00:00 => 31.09 / 21.13', '08-15 20:00:00 => 31.64 / 21.41', '08-15 21:00:00 => 31.64 / 21.41', '08-15 22:00:00 => 30.58 / 20.87', '08-15 23:00:00 => 29.37 / 20.25', '08-16 00:00:00 => 28.83 / 19.97', '08-16 01:00:00 => 27.73 / 19.41', '08-16 02:00:00 => 26.76 / 18.92', '08-16 03:00:00 => 26.39 / 18.73', '08-16 04:00:00 => 26.33 / 18.7', '08-16 05:00:00 => 26.23 / 18.65', '08-16 06:00:00 => 25.99 / 18.53', '08-16 07:00:00 => 25.64 / 18.35', '08-16 08:00:00 => 24.84 / 17.94', '08-16 09:00:00 => 24.26 / 17.64', '08-16 10:00:00 => 24.8 / 17.92', '08-16 11:00:00 => 24.71 / 17.87', '08-16 12:00:00 => 23.79 / 17.4', '08-16 13:00:00 => 23.14 / 17.07']
2026-08-15 14:05:03.872615: Rate min forward looking: now 13.77p at end of forecast 21.29p
2026-08-15 14:05:03.878134: Import rates: min 13.77p, max 46.05p, average 28.07p
2026-08-15 14:05:03.923437: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 14:05:03.923849: Rate thresholds (for charge/export) are import 45.55p (0.0p), export -0.1p (0.0p)
2026-08-15 14:05:03.925230: High export rate found rates in range 99p to -99p
2026-08-15 14:05:04.027836: Low Import rate found rates in range 13.77p to 44.19p
2026-08-15 14:05:04.028138: Car 0 charging is not planned as it is not plugged in
2026-08-15 14:05:04.063837: Battery level now 7.58kWh, -1hr ago 4.09kWh, at midnight 1.66kWh, battery value change in the last hour 41.25p, change today 70.01p, rate_forward 11.83p
2026-08-15 14:05:04.064470: Last hour: net energy 4.4kWh, import 4.4kWh, export 0.0kWh, car 0kWh, load 0.3kWh, net cost 68.44p, import 68.44p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 14:05:04.224311: Today's energy total net 16.4kWh, import 16.4kWh, export 0.0kWh, cost 392.55p, import 342.57p, export 0.0p, carbon 0.0kg
2026-08-15 14:05:04.224634: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 14:05:04.372443: Using weighted-bucket historical load forecast over 14 days
2026-08-15 14:05:04.411931: Today's load divergence 96.54%, in-day adjustment 116.16%, damping 0.95x, yesterday 143.77% today 96.72% blend 41.32%
2026-08-15 14:05:04.412101: Today's predicted so far 8.72kWh with 0.0kWh car/iBoost excluded, 10.3kWh import ignored, and 8.72kWh forecast extra.
2026-08-15 14:05:04.412176: Today's actual load so far 8.21kWh with 0.0kWh car/iBoost excluded, and 10.3kWh import ignored.
2026-08-15 14:05:04.487047: Inverter 0: Type SK Sunsynk
2026-08-15 14:05:04.487148: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 14:05:04.487333: Reserve min: 7%, battery_min: 7%
2026-08-15 14:05:04.487406: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 14:05:04.487677: Inverter 0 SoC: 8.28kW 52%, current charge rate 5000W, current discharge rate 5250W, current battery power -4543W, current battery voltage 51.2V, grid power -5276W, load power 280W, PV Power 0W
2026-08-15 14:05:04.487841: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 14:05:04.487934: Inverter 0 scheduled charge enable is True
2026-08-15 14:05:04.487988: Inverter 0 charge windows currently [{'start': 630, 'end': 960, 'average': 0}, {'start': 2070, 'end': 2400, 'average': 0}, {'start': 3510, 'end': 3840, 'average': 0}]
2026-08-15 14:05:04.488098: Inverter 0 Charge settings: 08-15 10:30:00-08-15 16:00:00, limit 100.0%, power 5.0kW
2026-08-15 14:05:04.488223: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 14:05:04.488261: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 14:05:04.488297: Inverter 0 scheduled discharge enable is False
2026-08-15 14:05:04.488423: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 14:05:04.488462: Inverter 0 discharge windows currently []
2026-08-15 14:05:04.488485: Note: Inverter does not support discharge freeze - disabled
2026-08-15 14:05:04.488503: Note: Inverter does not support charge freeze - disabled
2026-08-15 14:05:04.488527: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 14:05:04.614792: Dynamic load last period 0.30kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 14:05:04.614905: Plan was last updated on 2026-08-15 13:55:00+01:00 and is now 10.0 minutes old
2026-08-15 14:05:04.615209: Best charge window [ 15-08 13:30:00 - 15-08 16:00:00 @ 15.3p 100%, 16-08 14:00:00 - 16-08 18:30:00 @ 41.92p 100%, 16-08 19:00:00 - 17-08 14:00:00 @ 23.09p 100% ]
2026-08-15 14:05:04.615379: Best export window [  ]
2026-08-15 14:05:04.616807: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 14:05:04.620210: Load divergence over 8.0 hours mean 481.4W, min 294.0W, max 1140.6W, std dev 192.43W, divergence 19.99%
2026-08-15 14:05:04.641735: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 14:05:04.641903: LoadML is_calculating True
2026-08-15 14:05:04.641933: Not using thread pool as LoadML is calculating to avoid lockups
2026-08-15 14:05:04.681767: predict base end_record 08-16 14:10:00, final soc 16.0kWh, metric 1004.52p, metric_keep 0kWh, min_soc 2.52kWh @ 08-16 10:25:00, load 24.93kWh, PV 0.0kWh
2026-08-15 14:05:04.912880: Battery has 48.0 hours left - now at 8.28kWh
2026-08-15 14:05:05.041144: predict base10 end_record 08-16 14:10:00, final soc 15.79kWh, metric 1019.48p, metric_keep 0kWh, min_soc 1.6kWh @ 08-16 10:25:00, load 25.73kWh, PV 0.0kWh
2026-08-15 14:05:05.231107: predict best10 end_record 08-16 14:10:00, final soc 1.77kWh, metric 660.48p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 11:00:00, load 25.73kWh, PV 0.0kWh
2026-08-15 14:05:05.358372: predict best end_record 08-16 14:10:00, final soc 1.9kWh, metric 641.41p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 11:55:00, load 24.93kWh, PV 0.0kWh
2026-08-15 14:05:05.358623: Saving plan best values to HA entities
2026-08-15 14:05:05.821485: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0
2026-08-15 14:05:05.829748: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 14:05:05.838573: Best charging limit SoC's [16.0, 16.0, 16.0]kWh, export []kWh gives import battery 10.54kWh, house 1.6kWh, export 0.0kWh, metric 641.41p, metric10 660.48p
2026-08-15 14:05:05.967787: Marginal costs baseline metric (no standing charge): 591.431
2026-08-15 14:05:06.535582: Marginal energy costs matrix computed: min=14.21 max=33.5
2026-08-15 14:05:06.681893: Rate array import [{'start': 845, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 15.9p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1950, 'rate': 'expensive', 'range': '(24.8p - 32.9p)'}, {'start': 1950, 'end': 2040, 'rate': 'cheap', 'range': '(24.2p - 24.3p)'}, {'start': 2040, 'end': 2130, 'rate': 'expensive', 'range': '(24.7p - 25.4p)'}, {'start': 2130, 'end': 2290, 'rate': 'cheap', 'range': '(22.0p - 24.0p)'}] export [{'start': 845, 'end': 2290, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 14:05:06.682325: - Your estimated bill for today is £5.34 and tomorrow is £7.49
2026-08-15 14:05:06.682378: - Import rates are cheap (13.8p - 15.9p) for the next 1  hours and then expensive (33.1p) for the next 1 hour.
2026-08-15 14:05:06.682402: - The battery is currently at 52% and is charging to 100% for the next 1  hours.
2026-08-15 14:05:06.682420: - For the next 48 hours there will be no solar generation.
2026-08-15 14:05:06.682438: - You will run out of battery in 21 hours.
2026-08-15 14:05:06.682455: 
2026-08-15 14:05:06.747502: Plan calculation took 2.13 seconds
2026-08-15 14:05:06.754256: No high rate period found
2026-08-15 14:05:06.882911: Import threshold used for optimisation was 24.28p
2026-08-15 14:05:07.074763: Low import rate windows [0: 08-15 14:00:00 - 08-15 14:30:00 @ 14.57, 1: 08-15 14:30:00 - 08-15 15:00:00 @ 13.77, 2: 08-15 15:00:00 - 08-15 15:30:00 @ 15.02, 3: 08-15 15:30:00 - 08-15 16:00:00 @ 15.87, 4: 08-15 16:00:00 - 08-15 16:30:00 @ 33.13, 5: 08-15 16:30:00 - 08-15 17:00:00 @ 33.13, 6: 08-15 17:00:00 - 08-15 17:30:00 @ 38.46, 7: 08-15 17:30:00 - 08-15 18:00:00 @ 40.44, 8: 08-15 18:00:00 - 08-15 18:30:00 @ 41.55, 9: 08-15 18:30:00 - 08-15 19:00:00 @ 43.82, 10: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 11: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 12: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 13: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 14: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 15: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 16: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 17: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 18: 08-15 23:00:00 - 08-15 23:30:00 @ 29.37, 19: 08-15 23:30:00 - 08-16 00:00:00 @ 29.2, 20: 08-16 00:00:00 - 08-16 00:30:00 @ 28.83, 21: 08-16 00:30:00 - 08-16 01:00:00 @ 28.46, 22: 08-16 01:00:00 - 08-16 01:30:00 @ 27.73, 23: 08-16 01:30:00 - 08-16 02:00:00 @ 27.01, 24: 08-16 02:00:00 - 08-16 02:30:00 @ 26.76, 25: 08-16 02:30:00 - 08-16 03:00:00 @ 26.48, 26: 08-16 03:00:00 - 08-16 03:30:00 @ 26.39, 27: 08-16 03:30:00 - 08-16 04:00:00 @ 26.27, 28: 08-16 04:00:00 - 08-16 04:30:00 @ 26.33, 29: 08-16 04:30:00 - 08-16 05:00:00 @ 26.37, 30: 08-16 05:00:00 - 08-16 05:30:00 @ 26.23, 31: 08-16 05:30:00 - 08-16 06:00:00 @ 26.07, 32: 08-16 06:00:00 - 08-16 06:30:00 @ 25.99, 33: 08-16 06:30:00 - 08-16 07:00:00 @ 25.92, 34: 08-16 07:00:00 - 08-16 07:30:00 @ 25.64, 35: 08-16 07:30:00 - 08-16 08:00:00 @ 25.39, 36: 08-16 08:00:00 - 08-16 08:30:00 @ 24.84, 37: 08-16 08:30:00 - 08-16 09:00:00 @ 24.28, 38: 08-16 09:00:00 - 08-16 09:30:00 @ 24.26, 39: 08-16 09:30:00 - 08-16 10:00:00 @ 24.22, 40: 08-16 10:00:00 - 08-16 10:30:00 @ 24.8, 41: 08-16 10:30:00 - 08-16 11:00:00 @ 25.37, 42: 08-16 11:00:00 - 08-16 11:30:00 @ 24.71, 43: 08-16 11:30:00 - 08-16 12:00:00 @ 24.02, 44: 08-16 12:00:00 - 08-16 12:30:00 @ 23.79, 45: 08-16 12:30:00 - 08-16 13:00:00 @ 23.55, 46: 08-16 13:00:00 - 08-16 13:30:00 @ 23.14, 47: 08-16 13:30:00 - 08-16 14:00:00 @ 22.71, 48: 08-16 14:00:00 - 08-16 14:30:00 @ 22.01, 49: 08-16 14:30:00 - 08-16 15:00:00 @ 21.29, 50: 08-16 15:00:00 - 08-16 15:30:00 @ 22.01, 51: 08-16 15:30:00 - 08-16 16:00:00 @ 22.71, 52: 08-16 16:00:00 - 08-16 16:30:00 @ 37.14, 53: 08-16 16:30:00 - 08-16 17:00:00 @ 37.91, 54: 08-16 17:00:00 - 08-16 17:30:00 @ 40.13, 55: 08-16 17:30:00 - 08-16 18:00:00 @ 42.36, 56: 08-16 18:00:00 - 08-16 18:30:00 @ 44.19, 57: 08-16 19:00:00 - 08-16 19:30:00 @ 33.04, 58: 08-16 19:30:00 - 08-16 20:00:00 @ 33.71, 59: 08-16 20:00:00 - 08-16 20:30:00 @ 33.83, 60: 08-16 20:30:00 - 08-16 21:00:00 @ 33.94, 61: 08-16 21:00:00 - 08-16 21:30:00 @ 33.73, 62: 08-16 21:30:00 - 08-16 22:00:00 @ 33.53, 63: 08-16 22:00:00 - 08-16 22:30:00 @ 32.36, 64: 08-16 22:30:00 - 08-16 23:00:00 @ 31.17, 65: 08-16 23:00:00 - 08-16 23:30:00 @ 29.37, 66: 08-16 23:30:00 - 08-17 00:00:00 @ 29.2, 67: 08-17 00:00:00 - 08-17 00:30:00 @ 28.83, 68: 08-17 00:30:00 - 08-17 01:00:00 @ 28.46, 69: 08-17 01:00:00 - 08-17 01:30:00 @ 27.73, 70: 08-17 01:30:00 - 08-17 02:00:00 @ 27.01, 71: 08-17 02:00:00 - 08-17 02:30:00 @ 26.76, 72: 08-17 02:30:00 - 08-17 03:00:00 @ 26.48, 73: 08-17 03:00:00 - 08-17 03:30:00 @ 26.39, 74: 08-17 03:30:00 - 08-17 04:00:00 @ 26.27, 75: 08-17 04:00:00 - 08-17 04:30:00 @ 26.33, 76: 08-17 04:30:00 - 08-17 05:00:00 @ 26.37, 77: 08-17 05:00:00 - 08-17 05:30:00 @ 26.23, 78: 08-17 05:30:00 - 08-17 06:00:00 @ 26.07, 79: 08-17 06:00:00 - 08-17 06:30:00 @ 25.99, 80: 08-17 06:30:00 - 08-17 07:00:00 @ 25.92, 81: 08-17 07:00:00 - 08-17 07:30:00 @ 25.64, 82: 08-17 07:30:00 - 08-17 08:00:00 @ 25.39, 83: 08-17 08:00:00 - 08-17 08:30:00 @ 24.84, 84: 08-17 08:30:00 - 08-17 09:00:00 @ 24.28, 85: 08-17 09:00:00 - 08-17 09:30:00 @ 24.26, 86: 08-17 09:30:00 - 08-17 10:00:00 @ 24.22, 87: 08-17 10:00:00 - 08-17 10:30:00 @ 24.8, 88: 08-17 10:30:00 - 08-17 11:00:00 @ 25.37, 89: 08-17 11:00:00 - 08-17 11:30:00 @ 24.71, 90: 08-17 11:30:00 - 08-17 12:00:00 @ 24.02, 91: 08-17 12:00:00 - 08-17 12:30:00 @ 23.79, 92: 08-17 12:30:00 - 08-17 13:00:00 @ 23.55, 93: 08-17 13:00:00 - 08-17 13:30:00 @ 23.14, 94: 08-17 13:30:00 - 08-17 14:00:00 @ 22.71, 95: 08-17 14:00:00 - 08-17 14:30:00 @ 22.01]
2026-08-15 14:05:07.088700: Include original charge start 08-15 10:30:00, keeping this instead of new start 08-15 13:30:00
2026-08-15 14:05:07.088855: Inverter 0 Charge window will be: 2026-08-15 10:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 52%, target 100%
2026-08-15 14:05:07.089062: Inverter 0 Target SoC 100%, (this inverter 100%), battery temperature 20°C, select charge rate 5000W (real 5000W), current charge rate 5000W
2026-08-15 14:05:07.089247: Adjust idle time, charge 10:30:00-16:00:00 discharge 00:00:00-00:00:00
2026-08-15 14:05:07.089518: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 14:05:07.090761: No export window planned
2026-08-15 14:05:07.090991: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 14:05:07.091075: Adjust idle time, charge 10:30:00-16:00:00 discharge 00:00:00-00:00:00
2026-08-15 14:05:07.091248: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 14:05:07.091357: Inverter 0 setting charging SoC to 100% as per target
2026-08-15 14:05:07.091400: Inverter 0 adjust target SoC for charge to 100% based on requested all inverter SoC 100%
2026-08-15 14:05:07.091447: Inverter 0 Current Target SoC is 100%, already at target
2026-08-15 14:05:07.091546: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:05:07.091586: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:05:07.091615: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:05:07.091711: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:05:07.091760: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:05:07.091788: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:05:07.091813: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:05:07.092012: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 14:05:07.092150: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 14:05:07.092200: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 14:05:07.092228: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 14:05:07.092299: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 14:05:07.092488: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 14:05:07.092558: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 14:05:07.092645: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:05:07.092689: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:05:07.092718: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:05:07.092751: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:05:07.092779: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:05:07.092812: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:05:07.092841: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:05:07.092870: Inverter 0 count register writes 0
2026-08-15 14:05:07.121080: Will recompute the plan as it is now 10.0 minutes old and will exceed the max age of 10 minutes before the next run
2026-08-15 14:05:07.121342: Recompute is saving previous plan...
2026-08-15 14:05:07.124803: Best charge window [ 15-08 14:00:00 - 15-08 14:30:00 @ 14.57p 100%, 15-08 14:30:00 - 15-08 15:00:00 @ 13.77p 100%, 15-08 15:00:00 - 15-08 15:30:00 @ 15.02p 100%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 100%, 15-08 16:00:00 - 15-08 16:30:00 @ 33.13p 100%, 15-08 16:30:00 - 15-08 17:00:00 @ 33.13p 100%, 15-08 17:00:00 - 15-08 17:30:00 @ 38.46p 100%, 15-08 17:30:00 - 15-08 18:00:00 @ 40.44p 100%, 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 100%, 15-08 18:30:00 - 15-08 19:00:00 @ 43.82p 100%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 100%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 100%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 100%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 100%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 100%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 100%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 100%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 100%, 15-08 23:00:00 - 15-08 23:30:00 @ 29.37p 100%, 15-08 23:30:00 - 16-08 00:00:00 @ 29.2p 100%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.83p 100%, 16-08 00:30:00 - 16-08 01:00:00 @ 28.46p 100%, 16-08 01:00:00 - 16-08 01:30:00 @ 27.73p 100%, 16-08 01:30:00 - 16-08 02:00:00 @ 27.01p 100%, 16-08 02:00:00 - 16-08 02:30:00 @ 26.76p 100%, 16-08 02:30:00 - 16-08 03:00:00 @ 26.48p 100%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.39p 100%, 16-08 03:30:00 - 16-08 04:00:00 @ 26.27p 100%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.33p 100%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.37p 100%, 16-08 05:00:00 - 16-08 05:30:00 @ 26.23p 100%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.07p 100%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.99p 100%, 16-08 06:30:00 - 16-08 07:00:00 @ 25.92p 100%, 16-08 07:00:00 - 16-08 07:30:00 @ 25.64p 100%, 16-08 07:30:00 - 16-08 08:00:00 @ 25.39p 100%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.84p 100%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.28p 100%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.26p 100%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.22p 100%, 16-08 10:00:00 - 16-08 10:30:00 @ 24.8p 100%, 16-08 10:30:00 - 16-08 11:00:00 @ 25.37p 100%, 16-08 11:00:00 - 16-08 11:30:00 @ 24.71p 100%, 16-08 11:30:00 - 16-08 12:00:00 @ 24.02p 100%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.79p 100%, 16-08 12:30:00 - 16-08 13:00:00 @ 23.55p 100%, 16-08 13:00:00 - 16-08 13:30:00 @ 23.14p 100%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.71p 100%, 16-08 14:00:00 - 16-08 14:30:00 @ 22.01p 100%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.29p 100%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.01p 100%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.71p 100%, 16-08 16:00:00 - 16-08 16:30:00 @ 37.14p 100%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.91p 100%, 16-08 17:00:00 - 16-08 17:30:00 @ 40.13p 100%, 16-08 17:30:00 - 16-08 18:00:00 @ 42.36p 100%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.19p 100%, 16-08 19:00:00 - 16-08 19:30:00 @ 33.04p 100%, 16-08 19:30:00 - 16-08 20:00:00 @ 33.71p 100%, 16-08 20:00:00 - 16-08 20:30:00 @ 33.83p 100%, 16-08 20:30:00 - 16-08 21:00:00 @ 33.94p 100%, 16-08 21:00:00 - 16-08 21:30:00 @ 33.73p 100%, 16-08 21:30:00 - 16-08 22:00:00 @ 33.53p 100%, 16-08 22:00:00 - 16-08 22:30:00 @ 32.36p 100%, 16-08 22:30:00 - 16-08 23:00:00 @ 31.17p 100%, 16-08 23:00:00 - 16-08 23:30:00 @ 29.37p 100%, 16-08 23:30:00 - 17-08 00:00:00 @ 29.2p 100%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.83p 100%, 17-08 00:30:00 - 17-08 01:00:00 @ 28.46p 100%, 17-08 01:00:00 - 17-08 01:30:00 @ 27.73p 100%, 17-08 01:30:00 - 17-08 02:00:00 @ 27.01p 100%, 17-08 02:00:00 - 17-08 02:30:00 @ 26.76p 100%, 17-08 02:30:00 - 17-08 03:00:00 @ 26.48p 100%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.39p 100%, 17-08 03:30:00 - 17-08 04:00:00 @ 26.27p 100%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.33p 100%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.37p 100%, 17-08 05:00:00 - 17-08 05:30:00 @ 26.23p 100%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.07p 100%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.99p 100%, 17-08 06:30:00 - 17-08 07:00:00 @ 25.92p 100%, 17-08 07:00:00 - 17-08 07:30:00 @ 25.64p 100%, 17-08 07:30:00 - 17-08 08:00:00 @ 25.39p 100%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.84p 100%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.28p 100%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.26p 100%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.22p 100%, 17-08 10:00:00 - 17-08 10:30:00 @ 24.8p 100%, 17-08 10:30:00 - 17-08 11:00:00 @ 25.37p 100%, 17-08 11:00:00 - 17-08 11:30:00 @ 24.71p 100%, 17-08 11:30:00 - 17-08 12:00:00 @ 24.02p 100%, 17-08 12:00:00 - 17-08 12:30:00 @ 23.79p 100%, 17-08 12:30:00 - 17-08 13:00:00 @ 23.55p 100%, 17-08 13:00:00 - 17-08 13:30:00 @ 23.14p 100%, 17-08 13:30:00 - 17-08 14:00:00 @ 22.71p 100%, 17-08 14:00:00 - 17-08 14:30:00 @ 22.01p 100% ]
2026-08-15 14:05:07.125139: Best export window [  ]
2026-08-15 14:05:07.126010: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 14:05:07.129961: Load divergence over 8.0 hours mean 481.4W, min 294.0W, max 1140.6W, std dev 192.43W, divergence 19.99%
2026-08-15 14:05:07.151259: Calculating data from yesterday for savings calculation
2026-08-15 14:05:07.164938: Yesterday basic charge window best: [{'start': 840, 'end': 870, 'average': 21.7}] charge limit best: [16.0] based on max charge slots 1
2026-08-15 14:05:07.234850: predict yesterday end_record 08-16 00:00:00, final soc 1.12kWh, metric 843.63p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 00:00:00, load 26.2kWh, PV 0.0kWh
2026-08-15 14:05:07.255586: predict yesterday10 end_record 08-16 00:00:00, final soc 1.12kWh, metric 847.91p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 00:00:00, load 26.2kWh, PV 0.0kWh
2026-08-15 14:05:07.278504: predict yesterday end_record 08-16 00:00:00, final soc 1.12kWh, metric 843.63p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 00:00:00, load 26.2kWh, PV 0.0kWh
2026-08-15 14:05:07.369822: Yesterday: Predbat disabled was £8.44 (adjusted £8.23) vs £7.38 (adjusted £7.05), saving £1.05 (adjusted £1.18) with import 26.54kWh, export 0.0kWh, battery_cycle 4.66kWh, start_soc 1.12kWh,  final_soc 1.12kWh and battery_value 20.49kWh
2026-08-15 14:05:07.607169: predict yesterday end_record 08-16 00:00:00, final soc 0.0kWh, metric 849.84p, metric_keep 0kWh, min_soc 0kWh @ 08-15 00:00:00, load 26.2kWh, PV 0.0kWh
2026-08-15 14:05:07.607493: Yesterday: No Battery/PV system cost predicted was £8.5 (adjusted £8.5) vs £7.38 (adjusted £7.05), saving £1.12 (adjusted £1.44) with import 26.2kWh, export 0kWh and battery_value 0.0kWh
2026-08-15 14:05:07.634671: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 14:05:07.635768: LoadML is_calculating True
2026-08-15 14:05:07.635918: Not using thread pool as LoadML is calculating to avoid lockups
2026-08-15 14:05:07.650928: Calculate Best options: mode(Control charge & discharge), calculate_export_oncharge(False), calculate_export_on_pv(True), set_export_freeze_only(False), set_discharge_during_charge(True), combine_charge_slots(False), combine_export_slots(False), combine_rate_threshold(0.0), best_soc_min(0.0 kWh), best_soc_max(0.0 kWh), best_soc_keep(0.0 kWh), inverter_loss(4%), battery_loss(3%), battery_loss_discharge (3%), inverter_hybrid(True), metric_min_improvement(0.0p), metric_min_improvement_export(0.1p), metric_min_improvement_export_freeze(0.1p), metric_battery_cycle(0.0p/kWh), metric_battery_value_scaling(1.0 x) 
2026-08-15 14:05:07.666878: Optimise levels pass started at 2026-08-15 14:05:07
2026-08-15 14:05:07.672668: Optimise all windows, total charge 95 export 1
2026-08-15 14:05:13.071256: >> Region optimisation pass width 960 gives best_metric 949.77p, best_cost 963.82p, best_cycle 41.02kWh, best_import 28.36kWh
2026-08-15 14:05:14.107465: >> Region optimisation pass width 480 gives best_metric 949.77p, best_cost 963.82p, best_cycle 41.02kWh, best_import 28.36kWh
2026-08-15 14:05:15.349822: >> Region optimisation pass width 240 gives best_metric 949.77p, best_cost 963.82p, best_cycle 41.02kWh, best_import 28.36kWh
2026-08-15 14:05:17.885621: >> Region optimisation pass width 120 gives best_metric 949.77p, best_cost 963.82p, best_cycle 41.02kWh, best_import 28.36kWh
2026-08-15 14:05:17.901392: Calculated end_record as 08-16 14:30:00 based on best_price 22.71p, next_charge_start 08-15 14:30:00, max_windows 49
2026-08-15 14:05:17.901652: Optimise levels pass ended at 2026-08-15 14:05:17, duration 10.2 seconds tried 258 combinations
2026-08-15 14:05:17.901722: Set best_price_charge_level 24.4p, best_price_export_level 0p, best_price_charge 22.71p, best_cost_export 0p, best_metric 949.77p, best_keep 0kWh, best_cycle 41.02kWh, best_carbon 0kg, best_import 28.36kWh
2026-08-15 14:05:17.925952: Starting detailed optimisation end_record 08-16 14:30:00, best_price_charge 22.71p, best_price_export 0p. lowest_price_charge 13.77p with charge limits [16.0, 16.0, 16.0, 16.0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0]kWh and export limits []kWh
2026-08-15 14:05:35.477129: Tweak plan optimisation started metric 559.76p, cost 576.93p
2026-08-15 14:05:36.234064: Tweak optimisation finished metric 559.76p, cost 576.93p, metric_keep 0kWh, cycle 22.39kWh, carbon 0kg, import 11.49kWh, changed 8 window(s)
2026-08-15 14:05:36.254131: Swap charge optimisation started metric 559.76p, cost 576.93p, min_improvement_swap 0.1p
2026-08-15 14:05:39.671312: Swap charge optimisation finished metric 559.76p, cost 576.93p
2026-08-15 14:05:39.772099: Pruned 2 dead plan slot(s) in 6 trial(s), nominal metric 556.44p -> 556.44p, plan now metric 559.79p, cost 576.93p, cycle 22.39kWh, import 11.49kWh
2026-08-15 14:05:39.784343: Raw charge windows [ 15-08 14:00:00 - 15-08 14:30:00 @ 14.57p 100%, 15-08 14:30:00 - 15-08 15:00:00 @ 13.77p 100%, 15-08 15:00:00 - 15-08 15:30:00 @ 15.02p 100%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 100%, 15-08 16:00:00 - 15-08 16:30:00 @ 33.13p 0%, 15-08 16:30:00 - 15-08 17:00:00 @ 33.13p 0%, 15-08 17:00:00 - 15-08 17:30:00 @ 38.46p 0%, 15-08 17:30:00 - 15-08 18:00:00 @ 40.44p 0%, 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 0%, 15-08 18:30:00 - 15-08 19:00:00 @ 43.82p 0%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 0%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 0%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 0%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 0%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 29.37p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 29.2p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.83p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 28.46p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 27.73p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 27.01p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 26.76p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 26.48p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.39p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 26.27p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.33p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.37p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 26.23p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.07p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.99p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 25.92p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 25.64p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 25.39p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.84p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.28p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.26p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.22p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 24.8p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 25.37p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 24.71p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 24.02p 0%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.79p 0%, 16-08 12:30:00 - 16-08 13:00:00 @ 23.55p 0%, 16-08 13:00:00 - 16-08 13:30:00 @ 23.14p 0%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.71p 0%, 16-08 14:00:00 - 16-08 14:30:00 @ 22.01p 0%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.29p 100%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.01p 100%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.71p 100%, 16-08 16:00:00 - 16-08 16:30:00 @ 37.14p 100%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.91p 100%, 16-08 17:00:00 - 16-08 17:30:00 @ 40.13p 100%, 16-08 17:30:00 - 16-08 18:00:00 @ 42.36p 100%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.19p 100%, 16-08 19:00:00 - 16-08 19:30:00 @ 33.04p 100%, 16-08 19:30:00 - 16-08 20:00:00 @ 33.71p 100%, 16-08 20:00:00 - 16-08 20:30:00 @ 33.83p 100%, 16-08 20:30:00 - 16-08 21:00:00 @ 33.94p 100%, 16-08 21:00:00 - 16-08 21:30:00 @ 33.73p 100%, 16-08 21:30:00 - 16-08 22:00:00 @ 33.53p 100%, 16-08 22:00:00 - 16-08 22:30:00 @ 32.36p 100%, 16-08 22:30:00 - 16-08 23:00:00 @ 31.17p 100%, 16-08 23:00:00 - 16-08 23:30:00 @ 29.37p 100%, 16-08 23:30:00 - 17-08 00:00:00 @ 29.2p 100%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.83p 100%, 17-08 00:30:00 - 17-08 01:00:00 @ 28.46p 100%, 17-08 01:00:00 - 17-08 01:30:00 @ 27.73p 100%, 17-08 01:30:00 - 17-08 02:00:00 @ 27.01p 100%, 17-08 02:00:00 - 17-08 02:30:00 @ 26.76p 100%, 17-08 02:30:00 - 17-08 03:00:00 @ 26.48p 100%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.39p 100%, 17-08 03:30:00 - 17-08 04:00:00 @ 26.27p 100%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.33p 100%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.37p 100%, 17-08 05:00:00 - 17-08 05:30:00 @ 26.23p 100%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.07p 100%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.99p 100%, 17-08 06:30:00 - 17-08 07:00:00 @ 25.92p 100%, 17-08 07:00:00 - 17-08 07:30:00 @ 25.64p 100%, 17-08 07:30:00 - 17-08 08:00:00 @ 25.39p 100%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.84p 100%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.28p 100%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.26p 100%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.22p 100%, 17-08 10:00:00 - 17-08 10:30:00 @ 24.8p 100%, 17-08 10:30:00 - 17-08 11:00:00 @ 25.37p 100%, 17-08 11:00:00 - 17-08 11:30:00 @ 24.71p 100%, 17-08 11:30:00 - 17-08 12:00:00 @ 24.02p 100%, 17-08 12:00:00 - 17-08 12:30:00 @ 23.79p 100%, 17-08 12:30:00 - 17-08 13:00:00 @ 23.55p 100%, 17-08 13:00:00 - 17-08 13:30:00 @ 23.14p 100%, 17-08 13:30:00 - 17-08 14:00:00 @ 22.71p 100%, 17-08 14:00:00 - 17-08 14:30:00 @ 22.01p 100% ] reserve 1.12
2026-08-15 14:05:39.785063: Unclipped charge windows [ 15-08 14:00:00 - 15-08 16:00:00 @ 15.23p 100%, 16-08 14:30:00 - 16-08 18:30:00 @ 41.92p 100%, 16-08 19:00:00 - 17-08 14:30:00 @ 22.55p 100% ] reserve 1.12
2026-08-15 14:05:39.785343: Unfiltered charge windows [ 15-08 14:00:00 - 15-08 16:00:00 @ 15.23p 100%, 16-08 14:30:00 - 16-08 18:30:00 @ 41.92p 100%, 16-08 19:00:00 - 17-08 14:30:00 @ 22.55p 100% ] reserve 1.12
2026-08-15 14:05:39.785690: Filtered charge windows [ 15-08 14:00:00 - 15-08 16:00:00 @ 15.23p 100%, 16-08 14:30:00 - 16-08 18:30:00 @ 41.92p 100%, 16-08 19:00:00 - 17-08 14:30:00 @ 22.55p 100% ] reserve 1.12
2026-08-15 14:05:39.823142: Previous plan best metric is 571.9 (cost 631.95) and new plan best metric is 559.76 (cost 576.93)
2026-08-15 14:05:39.823423: New plan metric is significantly better from previous plan, using new plan
2026-08-15 14:05:39.823517: Plan valid is now true after recompute was False
2026-08-15 14:05:39.853513: predict base end_record 08-16 14:30:00, final soc 16.0kWh, metric 1008.35p, metric_keep 0kWh, min_soc 2.52kWh @ 08-16 10:25:00, load 25.1kWh, PV 0.0kWh
2026-08-15 14:05:40.051820: Battery has 48.0 hours left - now at 8.28kWh
2026-08-15 14:05:40.161478: predict base10 end_record 08-16 14:30:00, final soc 16.0kWh, metric 1028.42p, metric_keep 0kWh, min_soc 1.6kWh @ 08-16 10:25:00, load 25.91kWh, PV 0.0kWh
2026-08-15 14:05:40.259807: predict best10 end_record 08-16 14:30:00, final soc 1.12kWh, metric 649.21p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 11:00:00, load 25.91kWh, PV 0.0kWh
2026-08-15 14:05:40.422885: predict best end_record 08-16 14:30:00, final soc 1.12kWh, metric 626.91p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 11:55:00, load 25.1kWh, PV 0.0kWh
2026-08-15 14:05:40.423165: Saving plan best values to HA entities
2026-08-15 14:05:40.794571: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0
2026-08-15 14:05:40.803536: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 14:05:40.814593: Best charging limit SoC's [16.0, 16.0, 16.0]kWh, export []kWh gives import battery 9.63kWh, house 1.86kWh, export 0.0kWh, metric 626.91p, metric10 649.21p
2026-08-15 14:05:41.030482: Marginal costs baseline metric (no standing charge): 576.9279
2026-08-15 14:05:41.405295: Marginal energy costs matrix computed: min=14.21 max=33.5
2026-08-15 14:05:41.487601: Rate array import [{'start': 845, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 15.9p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1950, 'rate': 'expensive', 'range': '(24.8p - 32.9p)'}, {'start': 1950, 'end': 2040, 'rate': 'cheap', 'range': '(24.2p - 24.3p)'}, {'start': 2040, 'end': 2130, 'rate': 'expensive', 'range': '(24.7p - 25.4p)'}, {'start': 2130, 'end': 2310, 'rate': 'cheap', 'range': '(22.0p - 24.0p)'}] export [{'start': 845, 'end': 2310, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 14:05:41.488195: - Your estimated bill for today is £5.34 and tomorrow is £7.97
2026-08-15 14:05:41.488250: - Import rates are cheap (13.8p - 15.9p) for the next 1  hours and then expensive (33.1p) for the next 1 hour.
2026-08-15 14:05:41.488400: - The battery is currently at 52% and is charging to 100% for the next 1  hours.
2026-08-15 14:05:41.488441: - For the next 48 hours there will be no solar generation.
2026-08-15 14:05:41.488583: - You will run out of battery in 21 hours.
2026-08-15 14:05:41.488623: 
2026-08-15 14:05:41.535498: Plan calculation took 34.41 seconds
2026-08-15 14:05:41.535915: Inverter 0: Type SK Sunsynk
2026-08-15 14:05:41.536079: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 14:05:41.536456: Reserve min: 7%, battery_min: 7%
2026-08-15 14:05:41.536661: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 14:05:41.537155: Inverter 0 SoC: 8.28kW 52%, current charge rate 5000W, current discharge rate 5250W, current battery power -4543W, current battery voltage 51.2V, grid power -5276W, load power 280W, PV Power 0W
2026-08-15 14:05:41.537475: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 14:05:41.537687: Inverter 0 scheduled charge enable is True
2026-08-15 14:05:41.537822: Inverter 0 charge windows currently [{'start': 630, 'end': 960, 'average': 0}, {'start': 2070, 'end': 2400, 'average': 0}, {'start': 3510, 'end': 3840, 'average': 0}]
2026-08-15 14:05:41.538241: Inverter 0 Charge settings: 08-15 10:30:00-08-15 16:00:00, limit 100.0%, power 5.0kW
2026-08-15 14:05:41.538544: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 14:05:41.553686: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 14:05:41.553824: Inverter 0 scheduled discharge enable is False
2026-08-15 14:05:41.554114: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 14:05:41.554171: Inverter 0 discharge windows currently []
2026-08-15 14:05:41.554205: Note: Inverter does not support discharge freeze - disabled
2026-08-15 14:05:41.554240: Note: Inverter does not support charge freeze - disabled
2026-08-15 14:05:41.554266: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 14:05:41.734571: Include original charge start 08-15 10:30:00, keeping this instead of new start 08-15 14:00:00
2026-08-15 14:05:41.734883: Inverter 0 Charge window will be: 2026-08-15 10:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 52%, target 100%
2026-08-15 14:05:41.735162: Inverter 0 Target SoC 100%, (this inverter 100%), battery temperature 20°C, select charge rate 5000W (real 5000W), current charge rate 5000W
2026-08-15 14:05:41.735433: Adjust idle time, charge 10:30:00-16:00:00 discharge 00:00:00-00:00:00
2026-08-15 14:05:41.735704: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 14:05:41.735843: No export window planned
2026-08-15 14:05:41.735996: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 14:05:41.736056: Adjust idle time, charge 10:30:00-16:00:00 discharge 00:00:00-00:00:00
2026-08-15 14:05:41.736285: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 14:05:41.736402: Inverter 0 setting charging SoC to 100% as per target
2026-08-15 14:05:41.736802: Inverter 0 adjust target SoC for charge to 100% based on requested all inverter SoC 100%
2026-08-15 14:05:41.736890: Inverter 0 Current Target SoC is 100%, already at target
2026-08-15 14:05:41.737027: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:05:41.737158: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:05:41.737240: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:05:41.737290: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:05:41.737341: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:05:41.737397: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:05:41.737439: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:05:41.737525: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 14:05:41.737576: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 14:05:41.737629: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 14:05:41.737671: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 14:05:41.737721: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 14:05:41.737771: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 14:05:41.737822: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 14:05:41.737935: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:05:41.737995: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:05:41.738063: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:05:41.738120: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:05:41.738168: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:05:41.738200: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:05:41.738258: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:05:41.738290: Inverter 0 count register writes 0
2026-08-15 14:05:41.790184: Total inverter register writes now 825
2026-08-15 14:05:41.863982: Info: Completed run status Charging
2026-08-15 14:05:41.878104: Info: record_status Charging target 52%-100.0%
2026-08-15 14:05:41.904715: Saved current settings to /config/predbat_config.json
2026-08-15 14:05:41.905185: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 14:05:45.696163: ML Predictor: Epoch 8/30: lr=0.00088 huber_loss=0.0115 val_mae=0.0058 kWh val_bias=-0.0005 kWh (-0.6%) combined=0.0035 kWh ema_combined=0.0038 kWh
2026-08-15 14:06:12.098615: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 14:06:12.098897: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 14:06:12.098945: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 14:06:12.099103: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 14:06:12.099147: Note: Inverter does not support discharge freeze - disabled
2026-08-15 14:06:12.099169: Note: Inverter does not support charge freeze - disabled
2026-08-15 14:06:12.099271: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 14:06:18.828486: ML Predictor: Epoch 9/30: lr=0.00084 huber_loss=0.0101 val_mae=0.0059 kWh val_bias=+0.0028 kWh (+3.5%) combined=0.0058 kWh ema_combined=0.0044 kWh
2026-08-15 14:06:52.132100: ML Predictor: Epoch 10/30: lr=0.00080 huber_loss=0.0107 val_mae=0.0058 kWh val_bias=+0.0005 kWh (+0.6%) combined=0.0040 kWh ema_combined=0.0043 kWh
2026-08-15 14:06:52.132372: ML Predictor: Early stopping at epoch 10
2026-08-15 14:06:52.133546: ML Predictor: Restored best weights from epoch with val_mae=0.0070 kWh val_bias=+0.0002 kWh (+0.2%)
2026-08-15 14:06:52.133901: ML Predictor: Training complete, final val_mae=0.0070 kWh val_bias=+0.0002 kWh (+0.2%)
2026-08-15 14:07:00.756243: ML Predictor: AR rollout over holdout: ar_mae=0.0120 kWh ar_bias=+0.0043 kWh (+5.4%) [drift vs teacher-forced: +0.0049 kWh]
2026-08-15 14:07:00.781346: ML Predictor: Curriculum training complete, final val_mae=0.0070 kWh
2026-08-15 14:07:00.793960: ML Component: Training successful, val_mae=0.0070 kWh
2026-08-15 14:07:00.957752: ML Predictor: Model saved to /config/predbat_ml_model.npz
2026-08-15 14:07:00.963084: ML Component: Generating predictions load data age 57.0 days, 16424 data points
2026-08-15 14:07:01.128331: ML Predictor: Starting autoregressive prediction loop for 576 steps (48.0 hours), prev_energy value 0.0157 max_dow {0: 0.10500312496256084, 1: 0.10763750054407865, 2: 0.11822499983031302, 3: 0.1251781244263053, 4: 0.1736281253574416, 5: 0.09573055558072197, 6: 0.10785625073947014}
2026-08-15 14:07:08.172622: ML Component: Generated 576 predictions (total 34.75 kWh over 48h)
2026-08-15 14:07:08.232816: ML Component: Prediction cycle completed
2026-08-15 14:07:08.337352: ML Component: Saved 16424 steps (57 days) of history to /config/predbat_ml_history.npz
2026-08-15 14:08:12.474243: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 14:08:12.474572: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 14:08:12.474640: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 14:08:12.474865: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 14:08:12.474911: Note: Inverter does not support discharge freeze - disabled
2026-08-15 14:08:12.474940: Note: Inverter does not support charge freeze - disabled
2026-08-15 14:08:12.474983: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 14:10:00.680622: --------------- PredBat - update at 2026-08-15 14:10:00+01:00 with clock skew 0 minutes, minutes now 850
2026-08-15 14:10:00.681441: Saved current settings to /config/predbat_config.json
2026-08-15 14:10:00.681557: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 115.0 minutes
2026-08-15 14:10:00.681627: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.1, latest beta is v8.48.1
2026-08-15 14:10:00.681729: Autoupdate: Currently up to date
2026-08-15 14:10:00.702959: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 14:10:00.703093: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 14:10:00.703292: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 14:10:00.703787: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 14:10:00.703901: Predbat mode is set to Control charge & discharge
2026-08-15 14:10:00.904771: Found 21602 load_today datapoints going back 27 days
2026-08-15 14:10:00.904909: Using load_power data to fill gaps in load_today data
2026-08-15 14:10:01.648470: Processing 721 30-minute periods for power integration
2026-08-15 14:10:01.835712: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 14:10:01.835853: Car charging hold False, threshold 6.0kWh
2026-08-15 14:10:01.835900: Current data so far today: load 8.0kWh, import 17.3kWh, export 0.0kWh, PV 0kWh
2026-08-15 14:10:01.852190: Cars: SoC: [11.134]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 14:10:01.852541: Standing charge is set to 49.98p
2026-08-15 14:10:01.898949: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 14:10:01.899089: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 14:10:01.899385: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 210.0 minutes
2026-08-15 14:10:01.900075: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 210.0 minutes
2026-08-15 14:10:01.906363: Loaded 95 datapoints of futurerate analysis
2026-08-15 14:10:02.002302: Predicted future rates: ['08-15 00:00:00 => 28.9 / 20.01', '08-15 01:00:00 => 27.54 / 19.31', '08-15 02:00:00 => 26.52 / 18.8', '08-15 03:00:00 => 25.99 / 18.53', '08-15 04:00:00 => 25.8 / 18.43', '08-15 05:00:00 => 25.96 / 18.51', '08-15 06:00:00 => 25.55 / 18.3', '08-15 07:00:00 => 24.33 / 17.68', '08-15 08:00:00 => 23.03 / 17.01', '08-15 09:00:00 => 22.05 / 16.51', '08-15 10:00:00 => 20.43 / 15.68', '08-15 11:00:00 => 18.01 / 14.45', '08-15 12:00:00 => 16.37 / 13.61', '08-15 13:00:00 => 15.76 / 13.3', '08-15 14:00:00 => 15.35 / 13.09', '08-15 15:00:00 => 15.86 / 13.35', '08-15 16:00:00 => 32.89 / 16.13', '08-15 17:00:00 => 38.02 / 18.75', '08-15 18:00:00 => 42.36 / 20.96', '08-15 19:00:00 => 31.09 / 21.13', '08-15 20:00:00 => 31.64 / 21.41', '08-15 21:00:00 => 31.64 / 21.41', '08-15 22:00:00 => 30.58 / 20.87', '08-15 23:00:00 => 29.37 / 20.25', '08-16 00:00:00 => 28.83 / 19.97', '08-16 01:00:00 => 27.73 / 19.41', '08-16 02:00:00 => 26.76 / 18.92', '08-16 03:00:00 => 26.39 / 18.73', '08-16 04:00:00 => 26.33 / 18.7', '08-16 05:00:00 => 26.23 / 18.65', '08-16 06:00:00 => 25.99 / 18.53', '08-16 07:00:00 => 25.64 / 18.35', '08-16 08:00:00 => 24.84 / 17.94', '08-16 09:00:00 => 24.26 / 17.64', '08-16 10:00:00 => 24.8 / 17.92', '08-16 11:00:00 => 24.71 / 17.87', '08-16 12:00:00 => 23.79 / 17.4', '08-16 13:00:00 => 23.14 / 17.07']
2026-08-15 14:10:02.067304: Rate min forward looking: now 13.77p at end of forecast 21.29p
2026-08-15 14:10:02.067705: Import rates: min 13.77p, max 46.05p, average 28.08p
2026-08-15 14:10:02.110759: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 14:10:02.110907: Rate thresholds (for charge/export) are import 45.55p (0.0p), export -0.1p (0.0p)
2026-08-15 14:10:02.112222: High export rate found rates in range 99p to -99p
2026-08-15 14:10:02.210351: Low Import rate found rates in range 13.77p to 44.19p
2026-08-15 14:10:02.210473: Car 0 charging is not planned as it is not plugged in
2026-08-15 14:10:02.223387: Battery level now 8.28kWh, -1hr ago 4.09kWh, at midnight 1.66kWh, battery value change in the last hour 49.57p, change today 78.34p, rate_forward 11.83p
2026-08-15 14:10:02.223799: Last hour: net energy 4.85kWh, import 4.85kWh, export 0.0kWh, car 0kWh, load 0.22kWh, net cost 75.06p, import 75.06p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 14:10:02.283252: Today's energy total net 17.3kWh, import 17.3kWh, export 0.0kWh, cost 406.19p, import 356.21p, export 0.0p, carbon 0.0kg
2026-08-15 14:10:02.283420: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 14:10:02.374398: Using weighted-bucket historical load forecast over 14 days
2026-08-15 14:10:02.401974: Today's load divergence 95.9%, in-day adjustment 115.63%, damping 0.95x, yesterday 143.77% today 96.1% blend 40.97%
2026-08-15 14:10:02.402075: Today's predicted so far 8.72kWh with 0.0kWh car/iBoost excluded, 11.26kWh import ignored, and 8.72kWh forecast extra.
2026-08-15 14:10:02.402134: Today's actual load so far 8.12kWh with 0.0kWh car/iBoost excluded, and 11.26kWh import ignored.
2026-08-15 14:10:02.437705: Inverter 0: Type SK Sunsynk
2026-08-15 14:10:02.437795: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 14:10:02.437970: Reserve min: 7%, battery_min: 7%
2026-08-15 14:10:02.438039: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 14:10:02.438312: Inverter 0 SoC: 8.28kW 52%, current charge rate 5000W, current discharge rate 5250W, current battery power -4544W, current battery voltage 51.2V, grid power -5311W, load power 315W, PV Power 0W
2026-08-15 14:10:02.438468: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 14:10:02.438556: Inverter 0 scheduled charge enable is True
2026-08-15 14:10:02.438599: Inverter 0 charge windows currently [{'start': 630, 'end': 960, 'average': 0}, {'start': 2070, 'end': 2400, 'average': 0}, {'start': 3510, 'end': 3840, 'average': 0}]
2026-08-15 14:10:02.438692: Inverter 0 Charge settings: 08-15 10:30:00-08-15 16:00:00, limit 100.0%, power 5.0kW
2026-08-15 14:10:02.438810: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 14:10:02.438847: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 14:10:02.438882: Inverter 0 scheduled discharge enable is False
2026-08-15 14:10:02.438997: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 14:10:02.439034: Inverter 0 discharge windows currently []
2026-08-15 14:10:02.439055: Note: Inverter does not support discharge freeze - disabled
2026-08-15 14:10:02.439082: Note: Inverter does not support charge freeze - disabled
2026-08-15 14:10:02.439117: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 14:10:02.511370: Dynamic load last period 0.00kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 14:10:02.511465: Plan was last updated on 2026-08-15 14:05:00+01:00 and is now 5.0 minutes old
2026-08-15 14:10:02.511622: Best charge window [ 15-08 14:00:00 - 15-08 16:00:00 @ 15.23p 100%, 16-08 14:30:00 - 16-08 18:30:00 @ 41.92p 100%, 16-08 19:00:00 - 17-08 14:30:00 @ 22.55p 100% ]
2026-08-15 14:10:02.511651: Best export window [  ]
2026-08-15 14:10:02.512332: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 14:10:02.514900: Load divergence over 8.0 hours mean 481.71W, min 291.6W, max 1201.8W, std dev 190.98W, divergence 19.82%
2026-08-15 14:10:02.531115: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 14:10:02.531220: LoadML is_calculating False
2026-08-15 14:10:02.531278: Creating pool of 12 processes to match your CPU count
2026-08-15 14:10:02.662682: predict base end_record 08-16 14:35:00, final soc 16.0kWh, metric 1022.82p, metric_keep 0kWh, min_soc 2.52kWh @ 08-16 10:25:00, load 25.05kWh, PV 0.0kWh
2026-08-15 14:10:02.797672: Battery has 48.0 hours left - now at 8.28kWh
2026-08-15 14:10:02.841245: predict base10 end_record 08-16 14:35:00, final soc 16.0kWh, metric 1044.95p, metric_keep 0kWh, min_soc 1.28kWh @ 08-16 10:25:00, load 25.86kWh, PV 0.0kWh
2026-08-15 14:10:02.935867: predict best10 end_record 08-16 14:35:00, final soc 1.44kWh, metric 673.09p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 10:40:00, load 25.86kWh, PV 0.0kWh
2026-08-15 14:10:03.024903: predict best end_record 08-16 14:35:00, final soc 1.51kWh, metric 650.26p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 11:55:00, load 25.05kWh, PV 0.0kWh
2026-08-15 14:10:03.025041: Saving plan best values to HA entities
2026-08-15 14:10:03.193253: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0
2026-08-15 14:10:03.199626: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 14:10:03.205529: Best charging limit SoC's [16.0, 16.0, 16.0]kWh, export []kWh gives import battery 10.04kWh, house 1.86kWh, export 0.0kWh, metric 650.26p, metric10 673.09p
2026-08-15 14:10:03.286175: Marginal costs baseline metric (no standing charge): 600.2729
2026-08-15 14:10:03.563595: Marginal energy costs matrix computed: min=14.24 max=33.1
2026-08-15 14:10:03.644151: Rate array import [{'start': 850, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 15.9p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1950, 'rate': 'expensive', 'range': '(24.8p - 32.9p)'}, {'start': 1950, 'end': 2040, 'rate': 'cheap', 'range': '(24.2p - 24.3p)'}, {'start': 2040, 'end': 2130, 'rate': 'expensive', 'range': '(24.7p - 25.4p)'}, {'start': 2130, 'end': 2315, 'rate': 'cheap', 'range': '(21.3p - 24.0p)'}] export [{'start': 850, 'end': 2315, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 14:10:03.644735: - Your estimated bill for today is £5.47 and tomorrow is £7.98
2026-08-15 14:10:03.644920: - Import rates are cheap (13.8p - 15.9p) for the next 1 and three quarters hours and then expensive (33.1p) for the next 1 hour.
2026-08-15 14:10:03.644997: - The battery is currently at 52% and is charging to 100% for the next 1 and three quarters hours.
2026-08-15 14:10:03.645039: - For the next 48 hours there will be no solar generation.
2026-08-15 14:10:03.645095: - You will run out of battery in 21 hours.
2026-08-15 14:10:03.645135: 
2026-08-15 14:10:03.696879: Plan calculation took 1.19 seconds
2026-08-15 14:10:03.700670: No high rate period found
2026-08-15 14:10:03.752781: Import threshold used for optimisation was 24.28p
2026-08-15 14:10:03.808116: Low import rate windows [0: 08-15 14:00:00 - 08-15 14:30:00 @ 14.57, 1: 08-15 14:30:00 - 08-15 15:00:00 @ 13.77, 2: 08-15 15:00:00 - 08-15 15:30:00 @ 15.02, 3: 08-15 15:30:00 - 08-15 16:00:00 @ 15.87, 4: 08-15 16:00:00 - 08-15 16:30:00 @ 33.13, 5: 08-15 16:30:00 - 08-15 17:00:00 @ 33.13, 6: 08-15 17:00:00 - 08-15 17:30:00 @ 38.46, 7: 08-15 17:30:00 - 08-15 18:00:00 @ 40.44, 8: 08-15 18:00:00 - 08-15 18:30:00 @ 41.55, 9: 08-15 18:30:00 - 08-15 19:00:00 @ 43.82, 10: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 11: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 12: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 13: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 14: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 15: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 16: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 17: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 18: 08-15 23:00:00 - 08-15 23:30:00 @ 29.37, 19: 08-15 23:30:00 - 08-16 00:00:00 @ 29.2, 20: 08-16 00:00:00 - 08-16 00:30:00 @ 28.83, 21: 08-16 00:30:00 - 08-16 01:00:00 @ 28.46, 22: 08-16 01:00:00 - 08-16 01:30:00 @ 27.73, 23: 08-16 01:30:00 - 08-16 02:00:00 @ 27.01, 24: 08-16 02:00:00 - 08-16 02:30:00 @ 26.76, 25: 08-16 02:30:00 - 08-16 03:00:00 @ 26.48, 26: 08-16 03:00:00 - 08-16 03:30:00 @ 26.39, 27: 08-16 03:30:00 - 08-16 04:00:00 @ 26.27, 28: 08-16 04:00:00 - 08-16 04:30:00 @ 26.33, 29: 08-16 04:30:00 - 08-16 05:00:00 @ 26.37, 30: 08-16 05:00:00 - 08-16 05:30:00 @ 26.23, 31: 08-16 05:30:00 - 08-16 06:00:00 @ 26.07, 32: 08-16 06:00:00 - 08-16 06:30:00 @ 25.99, 33: 08-16 06:30:00 - 08-16 07:00:00 @ 25.92, 34: 08-16 07:00:00 - 08-16 07:30:00 @ 25.64, 35: 08-16 07:30:00 - 08-16 08:00:00 @ 25.39, 36: 08-16 08:00:00 - 08-16 08:30:00 @ 24.84, 37: 08-16 08:30:00 - 08-16 09:00:00 @ 24.28, 38: 08-16 09:00:00 - 08-16 09:30:00 @ 24.26, 39: 08-16 09:30:00 - 08-16 10:00:00 @ 24.22, 40: 08-16 10:00:00 - 08-16 10:30:00 @ 24.8, 41: 08-16 10:30:00 - 08-16 11:00:00 @ 25.37, 42: 08-16 11:00:00 - 08-16 11:30:00 @ 24.71, 43: 08-16 11:30:00 - 08-16 12:00:00 @ 24.02, 44: 08-16 12:00:00 - 08-16 12:30:00 @ 23.79, 45: 08-16 12:30:00 - 08-16 13:00:00 @ 23.55, 46: 08-16 13:00:00 - 08-16 13:30:00 @ 23.14, 47: 08-16 13:30:00 - 08-16 14:00:00 @ 22.71, 48: 08-16 14:00:00 - 08-16 14:30:00 @ 22.01, 49: 08-16 14:30:00 - 08-16 15:00:00 @ 21.29, 50: 08-16 15:00:00 - 08-16 15:30:00 @ 22.01, 51: 08-16 15:30:00 - 08-16 16:00:00 @ 22.71, 52: 08-16 16:00:00 - 08-16 16:30:00 @ 37.14, 53: 08-16 16:30:00 - 08-16 17:00:00 @ 37.91, 54: 08-16 17:00:00 - 08-16 17:30:00 @ 40.13, 55: 08-16 17:30:00 - 08-16 18:00:00 @ 42.36, 56: 08-16 18:00:00 - 08-16 18:30:00 @ 44.19, 57: 08-16 19:00:00 - 08-16 19:30:00 @ 33.04, 58: 08-16 19:30:00 - 08-16 20:00:00 @ 33.71, 59: 08-16 20:00:00 - 08-16 20:30:00 @ 33.83, 60: 08-16 20:30:00 - 08-16 21:00:00 @ 33.94, 61: 08-16 21:00:00 - 08-16 21:30:00 @ 33.73, 62: 08-16 21:30:00 - 08-16 22:00:00 @ 33.53, 63: 08-16 22:00:00 - 08-16 22:30:00 @ 32.36, 64: 08-16 22:30:00 - 08-16 23:00:00 @ 31.17, 65: 08-16 23:00:00 - 08-16 23:30:00 @ 29.37, 66: 08-16 23:30:00 - 08-17 00:00:00 @ 29.2, 67: 08-17 00:00:00 - 08-17 00:30:00 @ 28.83, 68: 08-17 00:30:00 - 08-17 01:00:00 @ 28.46, 69: 08-17 01:00:00 - 08-17 01:30:00 @ 27.73, 70: 08-17 01:30:00 - 08-17 02:00:00 @ 27.01, 71: 08-17 02:00:00 - 08-17 02:30:00 @ 26.76, 72: 08-17 02:30:00 - 08-17 03:00:00 @ 26.48, 73: 08-17 03:00:00 - 08-17 03:30:00 @ 26.39, 74: 08-17 03:30:00 - 08-17 04:00:00 @ 26.27, 75: 08-17 04:00:00 - 08-17 04:30:00 @ 26.33, 76: 08-17 04:30:00 - 08-17 05:00:00 @ 26.37, 77: 08-17 05:00:00 - 08-17 05:30:00 @ 26.23, 78: 08-17 05:30:00 - 08-17 06:00:00 @ 26.07, 79: 08-17 06:00:00 - 08-17 06:30:00 @ 25.99, 80: 08-17 06:30:00 - 08-17 07:00:00 @ 25.92, 81: 08-17 07:00:00 - 08-17 07:30:00 @ 25.64, 82: 08-17 07:30:00 - 08-17 08:00:00 @ 25.39, 83: 08-17 08:00:00 - 08-17 08:30:00 @ 24.84, 84: 08-17 08:30:00 - 08-17 09:00:00 @ 24.28, 85: 08-17 09:00:00 - 08-17 09:30:00 @ 24.26, 86: 08-17 09:30:00 - 08-17 10:00:00 @ 24.22, 87: 08-17 10:00:00 - 08-17 10:30:00 @ 24.8, 88: 08-17 10:30:00 - 08-17 11:00:00 @ 25.37, 89: 08-17 11:00:00 - 08-17 11:30:00 @ 24.71, 90: 08-17 11:30:00 - 08-17 12:00:00 @ 24.02, 91: 08-17 12:00:00 - 08-17 12:30:00 @ 23.79, 92: 08-17 12:30:00 - 08-17 13:00:00 @ 23.55, 93: 08-17 13:00:00 - 08-17 13:30:00 @ 23.14, 94: 08-17 13:30:00 - 08-17 14:00:00 @ 22.71, 95: 08-17 14:00:00 - 08-17 14:30:00 @ 22.01]
2026-08-15 14:10:03.815947: Include original charge start 08-15 10:30:00, keeping this instead of new start 08-15 14:00:00
2026-08-15 14:10:03.816074: Inverter 0 Charge window will be: 2026-08-15 10:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 52%, target 100%
2026-08-15 14:10:03.816298: Inverter 0 Target SoC 100%, (this inverter 100%), battery temperature 20°C, select charge rate 5000W (real 5000W), current charge rate 5000W
2026-08-15 14:10:03.816590: Adjust idle time, charge 10:30:00-16:00:00 discharge 00:00:00-00:00:00
2026-08-15 14:10:03.816885: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 14:10:03.817049: No export window planned
2026-08-15 14:10:03.817252: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 14:10:03.817297: Adjust idle time, charge 10:30:00-16:00:00 discharge 00:00:00-00:00:00
2026-08-15 14:10:03.817484: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 14:10:03.817643: Inverter 0 setting charging SoC to 100% as per target
2026-08-15 14:10:03.817696: Inverter 0 adjust target SoC for charge to 100% based on requested all inverter SoC 100%
2026-08-15 14:10:03.817799: Inverter 0 Current Target SoC is 100%, already at target
2026-08-15 14:10:03.817972: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:10:03.818030: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:10:03.818093: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:10:03.818172: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:10:03.818230: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:10:03.818284: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:10:03.818326: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:10:03.818405: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 14:10:03.818472: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 14:10:03.818537: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 14:10:03.818599: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 14:10:03.818668: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 14:10:03.818723: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 14:10:03.818782: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 14:10:03.818909: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:10:03.818955: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:10:03.818996: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:10:03.819047: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:10:03.819122: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:10:03.819187: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:10:03.819248: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:10:03.819316: Inverter 0 count register writes 0
2026-08-15 14:10:03.835971: Will not recompute the plan, it is 5.0 minutes old and max age is 10 minutes
2026-08-15 14:10:03.841348: Total inverter register writes now 825
2026-08-15 14:10:03.876201: Info: Completed run status Charging
2026-08-15 14:10:03.882981: Info: record_status Charging target 52%-100.0%
2026-08-15 14:10:03.890117: Saved current settings to /config/predbat_config.json
2026-08-15 14:10:03.890467: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 14:10:42.006005: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 14:10:42.006302: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 14:10:42.006352: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 14:10:42.006508: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 14:10:42.006573: Note: Inverter does not support discharge freeze - disabled
2026-08-15 14:10:42.006610: Note: Inverter does not support charge freeze - disabled
2026-08-15 14:10:42.006646: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 14:12:42.229592: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 14:12:42.229867: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 14:12:42.229965: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 14:12:42.230137: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 14:12:42.230188: Note: Inverter does not support discharge freeze - disabled
2026-08-15 14:12:42.230219: Note: Inverter does not support charge freeze - disabled
2026-08-15 14:12:42.230238: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 14:14:42.453868: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 14:14:42.454366: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 14:14:42.454729: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 14:14:42.454998: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 14:14:42.455054: Note: Inverter does not support discharge freeze - disabled
2026-08-15 14:14:42.455089: Note: Inverter does not support charge freeze - disabled
2026-08-15 14:14:42.455123: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 14:15:00.553957: --------------- PredBat - update at 2026-08-15 14:15:00+01:00 with clock skew 0 minutes, minutes now 855
2026-08-15 14:15:00.554763: Saved current settings to /config/predbat_config.json
2026-08-15 14:15:00.554904: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 120.0 minutes
2026-08-15 14:15:00.554978: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.1, latest beta is v8.48.1
2026-08-15 14:15:00.555126: Autoupdate: Currently up to date
2026-08-15 14:15:00.576786: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 14:15:00.576931: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 14:15:00.577133: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 14:15:00.577664: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 14:15:00.577785: Predbat mode is set to Control charge & discharge
2026-08-15 14:15:00.777828: Found 21602 load_today datapoints going back 27 days
2026-08-15 14:15:00.778166: Using load_power data to fill gaps in load_today data
2026-08-15 14:15:01.609642: Processing 721 30-minute periods for power integration
2026-08-15 14:15:01.801661: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 14:15:01.802088: Car charging hold False, threshold 6.0kWh
2026-08-15 14:15:01.802148: Current data so far today: load 8.0kWh, import 17.3kWh, export 0.0kWh, PV 0kWh
2026-08-15 14:15:01.817344: Cars: SoC: [11.134]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 14:15:01.817804: Standing charge is set to 49.98p
2026-08-15 14:15:01.863883: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 14:15:01.864006: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 14:15:01.864287: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 215.0 minutes
2026-08-15 14:15:01.864678: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 215.0 minutes
2026-08-15 14:15:01.871100: Loaded 95 datapoints of futurerate analysis
2026-08-15 14:15:01.966142: Predicted future rates: ['08-15 00:00:00 => 28.9 / 20.01', '08-15 01:00:00 => 27.54 / 19.31', '08-15 02:00:00 => 26.52 / 18.8', '08-15 03:00:00 => 25.99 / 18.53', '08-15 04:00:00 => 25.8 / 18.43', '08-15 05:00:00 => 25.96 / 18.51', '08-15 06:00:00 => 25.55 / 18.3', '08-15 07:00:00 => 24.33 / 17.68', '08-15 08:00:00 => 23.03 / 17.01', '08-15 09:00:00 => 22.05 / 16.51', '08-15 10:00:00 => 20.43 / 15.68', '08-15 11:00:00 => 18.01 / 14.45', '08-15 12:00:00 => 16.37 / 13.61', '08-15 13:00:00 => 15.76 / 13.3', '08-15 14:00:00 => 15.35 / 13.09', '08-15 15:00:00 => 15.86 / 13.35', '08-15 16:00:00 => 32.89 / 16.13', '08-15 17:00:00 => 38.02 / 18.75', '08-15 18:00:00 => 42.36 / 20.96', '08-15 19:00:00 => 31.09 / 21.13', '08-15 20:00:00 => 31.64 / 21.41', '08-15 21:00:00 => 31.64 / 21.41', '08-15 22:00:00 => 30.58 / 20.87', '08-15 23:00:00 => 29.37 / 20.25', '08-16 00:00:00 => 28.83 / 19.97', '08-16 01:00:00 => 27.73 / 19.41', '08-16 02:00:00 => 26.76 / 18.92', '08-16 03:00:00 => 26.39 / 18.73', '08-16 04:00:00 => 26.33 / 18.7', '08-16 05:00:00 => 26.23 / 18.65', '08-16 06:00:00 => 25.99 / 18.53', '08-16 07:00:00 => 25.64 / 18.35', '08-16 08:00:00 => 24.84 / 17.94', '08-16 09:00:00 => 24.26 / 17.64', '08-16 10:00:00 => 24.8 / 17.92', '08-16 11:00:00 => 24.71 / 17.87', '08-16 12:00:00 => 23.79 / 17.4', '08-16 13:00:00 => 23.14 / 17.07']
2026-08-15 14:15:02.029145: Rate min forward looking: now 13.77p at end of forecast 21.29p
2026-08-15 14:15:02.029660: Import rates: min 13.77p, max 46.05p, average 28.1p
2026-08-15 14:15:02.071998: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 14:15:02.072123: Rate thresholds (for charge/export) are import 45.55p (0.0p), export -0.1p (0.0p)
2026-08-15 14:15:02.073557: High export rate found rates in range 99p to -99p
2026-08-15 14:15:02.171721: Low Import rate found rates in range 13.77p to 44.19p
2026-08-15 14:15:02.171852: Car 0 charging is not planned as it is not plugged in
2026-08-15 14:15:02.186080: Battery level now 8.28kWh, -1hr ago 4.42kWh, at midnight 1.66kWh, battery value change in the last hour 45.6p, change today 78.34p, rate_forward 11.83p
2026-08-15 14:15:02.186478: Last hour: net energy 4.4kWh, import 4.4kWh, export 0.0kWh, car 0kWh, load 0.2kWh, net cost 68.15p, import 68.15p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 14:15:02.245754: Today's energy total net 17.3kWh, import 17.3kWh, export 0.0kWh, cost 406.19p, import 356.21p, export 0.0p, carbon 0.0kg
2026-08-15 14:15:02.245901: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 14:15:02.335745: Using weighted-bucket historical load forecast over 14 days
2026-08-15 14:15:02.365470: Today's load divergence 95.54%, in-day adjustment 115.27%, damping 0.95x, yesterday 143.77% today 95.77% blend 40.62%
2026-08-15 14:15:02.365578: Today's predicted so far 8.72kWh with 0.0kWh car/iBoost excluded, 11.24kWh import ignored, and 8.72kWh forecast extra.
2026-08-15 14:15:02.365611: Today's actual load so far 8.07kWh with 0.0kWh car/iBoost excluded, and 11.24kWh import ignored.
2026-08-15 14:15:02.399606: Inverter 0: Type SK Sunsynk
2026-08-15 14:15:02.399698: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 14:15:02.399885: Reserve min: 7%, battery_min: 7%
2026-08-15 14:15:02.399963: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 14:15:02.400299: Inverter 0 SoC: 8.63kW 54%, current charge rate 5000W, current discharge rate 5250W, current battery power -4548W, current battery voltage 51.2V, grid power -5276W, load power 280W, PV Power 0W
2026-08-15 14:15:02.400460: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 14:15:02.400548: Inverter 0 scheduled charge enable is True
2026-08-15 14:15:02.400594: Inverter 0 charge windows currently [{'start': 630, 'end': 960, 'average': 0}, {'start': 2070, 'end': 2400, 'average': 0}, {'start': 3510, 'end': 3840, 'average': 0}]
2026-08-15 14:15:02.400680: Inverter 0 Charge settings: 08-15 10:30:00-08-15 16:00:00, limit 100.0%, power 5.0kW
2026-08-15 14:15:02.400796: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 14:15:02.400832: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 14:15:02.400869: Inverter 0 scheduled discharge enable is False
2026-08-15 14:15:02.401030: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 14:15:02.401074: Inverter 0 discharge windows currently []
2026-08-15 14:15:02.401097: Note: Inverter does not support discharge freeze - disabled
2026-08-15 14:15:02.401116: Note: Inverter does not support charge freeze - disabled
2026-08-15 14:15:02.401138: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 14:15:02.467147: Dynamic load last period 0.00kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 14:15:02.467284: Plan was last updated on 2026-08-15 14:05:00+01:00 and is now 10.0 minutes old
2026-08-15 14:15:02.467488: Best charge window [ 15-08 14:00:00 - 15-08 16:00:00 @ 15.23p 100%, 16-08 14:30:00 - 16-08 18:30:00 @ 41.92p 100%, 16-08 19:00:00 - 17-08 14:30:00 @ 22.55p 100% ]
2026-08-15 14:15:02.467530: Best export window [  ]
2026-08-15 14:15:02.468289: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 14:15:02.471465: Load divergence over 8.0 hours mean 481.39W, min 290.4W, max 1344.6W, std dev 195.46W, divergence 20.3%
2026-08-15 14:15:02.489969: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 14:15:02.490094: LoadML is_calculating False
2026-08-15 14:15:02.490199: Creating pool of 12 processes to match your CPU count
2026-08-15 14:15:02.618509: predict base end_record 08-16 14:40:00, final soc 16.0kWh, metric 1017.6p, metric_keep 0kWh, min_soc 2.53kWh @ 08-16 10:25:00, load 25.04kWh, PV 0.0kWh
2026-08-15 14:15:02.753994: Battery has 48.0 hours left - now at 8.63kWh
2026-08-15 14:15:02.798706: predict base10 end_record 08-16 14:40:00, final soc 16.0kWh, metric 1039.49p, metric_keep 0kWh, min_soc 1.31kWh @ 08-16 10:25:00, load 25.86kWh, PV 0.0kWh
2026-08-15 14:15:02.874347: predict best10 end_record 08-16 14:40:00, final soc 1.77kWh, metric 675.02p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 10:40:00, load 25.86kWh, PV 0.0kWh
2026-08-15 14:15:02.965330: predict best end_record 08-16 14:40:00, final soc 1.9kWh, metric 653.93p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 11:55:00, load 25.04kWh, PV 0.0kWh
2026-08-15 14:15:02.965435: Saving plan best values to HA entities
2026-08-15 14:15:03.128492: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0
2026-08-15 14:15:03.134825: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 14:15:03.140618: Best charging limit SoC's [16.0, 16.0, 16.0]kWh, export []kWh gives import battery 10.07kWh, house 1.87kWh, export 0.0kWh, metric 653.93p, metric10 675.02p
2026-08-15 14:15:03.217847: Marginal costs baseline metric (no standing charge): 603.9443
2026-08-15 14:15:03.485011: Marginal energy costs matrix computed: min=14.28 max=32.7
2026-08-15 14:15:03.558445: Rate array import [{'start': 855, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 15.9p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1950, 'rate': 'expensive', 'range': '(24.8p - 32.9p)'}, {'start': 1950, 'end': 2040, 'rate': 'cheap', 'range': '(24.2p - 24.3p)'}, {'start': 2040, 'end': 2130, 'rate': 'expensive', 'range': '(24.7p - 25.4p)'}, {'start': 2130, 'end': 2320, 'rate': 'cheap', 'range': '(21.3p - 24.0p)'}] export [{'start': 855, 'end': 2320, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 14:15:03.558899: - Your estimated bill for today is £5.41 and tomorrow is £7.99
2026-08-15 14:15:03.558957: - Import rates are cheap (13.8p - 15.9p) for the next 1 and three quarters hours and then expensive (33.1p) for the next 1 hour.
2026-08-15 14:15:03.558980: - The battery is currently at 54% and is charging to 100% for the next 1 and three quarters hours.
2026-08-15 14:15:03.558999: - For the next 48 hours there will be no solar generation.
2026-08-15 14:15:03.559017: - You will run out of battery in 21 hours.
2026-08-15 14:15:03.559035: 
2026-08-15 14:15:03.612772: Plan calculation took 1.15 seconds
2026-08-15 14:15:03.618554: No high rate period found
2026-08-15 14:15:03.669381: Import threshold used for optimisation was 24.28p
2026-08-15 14:15:03.722294: Low import rate windows [0: 08-15 14:00:00 - 08-15 14:30:00 @ 14.57, 1: 08-15 14:30:00 - 08-15 15:00:00 @ 13.77, 2: 08-15 15:00:00 - 08-15 15:30:00 @ 15.02, 3: 08-15 15:30:00 - 08-15 16:00:00 @ 15.87, 4: 08-15 16:00:00 - 08-15 16:30:00 @ 33.13, 5: 08-15 16:30:00 - 08-15 17:00:00 @ 33.13, 6: 08-15 17:00:00 - 08-15 17:30:00 @ 38.46, 7: 08-15 17:30:00 - 08-15 18:00:00 @ 40.44, 8: 08-15 18:00:00 - 08-15 18:30:00 @ 41.55, 9: 08-15 18:30:00 - 08-15 19:00:00 @ 43.82, 10: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 11: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 12: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 13: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 14: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 15: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 16: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 17: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 18: 08-15 23:00:00 - 08-15 23:30:00 @ 29.37, 19: 08-15 23:30:00 - 08-16 00:00:00 @ 29.2, 20: 08-16 00:00:00 - 08-16 00:30:00 @ 28.83, 21: 08-16 00:30:00 - 08-16 01:00:00 @ 28.46, 22: 08-16 01:00:00 - 08-16 01:30:00 @ 27.73, 23: 08-16 01:30:00 - 08-16 02:00:00 @ 27.01, 24: 08-16 02:00:00 - 08-16 02:30:00 @ 26.76, 25: 08-16 02:30:00 - 08-16 03:00:00 @ 26.48, 26: 08-16 03:00:00 - 08-16 03:30:00 @ 26.39, 27: 08-16 03:30:00 - 08-16 04:00:00 @ 26.27, 28: 08-16 04:00:00 - 08-16 04:30:00 @ 26.33, 29: 08-16 04:30:00 - 08-16 05:00:00 @ 26.37, 30: 08-16 05:00:00 - 08-16 05:30:00 @ 26.23, 31: 08-16 05:30:00 - 08-16 06:00:00 @ 26.07, 32: 08-16 06:00:00 - 08-16 06:30:00 @ 25.99, 33: 08-16 06:30:00 - 08-16 07:00:00 @ 25.92, 34: 08-16 07:00:00 - 08-16 07:30:00 @ 25.64, 35: 08-16 07:30:00 - 08-16 08:00:00 @ 25.39, 36: 08-16 08:00:00 - 08-16 08:30:00 @ 24.84, 37: 08-16 08:30:00 - 08-16 09:00:00 @ 24.28, 38: 08-16 09:00:00 - 08-16 09:30:00 @ 24.26, 39: 08-16 09:30:00 - 08-16 10:00:00 @ 24.22, 40: 08-16 10:00:00 - 08-16 10:30:00 @ 24.8, 41: 08-16 10:30:00 - 08-16 11:00:00 @ 25.37, 42: 08-16 11:00:00 - 08-16 11:30:00 @ 24.71, 43: 08-16 11:30:00 - 08-16 12:00:00 @ 24.02, 44: 08-16 12:00:00 - 08-16 12:30:00 @ 23.79, 45: 08-16 12:30:00 - 08-16 13:00:00 @ 23.55, 46: 08-16 13:00:00 - 08-16 13:30:00 @ 23.14, 47: 08-16 13:30:00 - 08-16 14:00:00 @ 22.71, 48: 08-16 14:00:00 - 08-16 14:30:00 @ 22.01, 49: 08-16 14:30:00 - 08-16 15:00:00 @ 21.29, 50: 08-16 15:00:00 - 08-16 15:30:00 @ 22.01, 51: 08-16 15:30:00 - 08-16 16:00:00 @ 22.71, 52: 08-16 16:00:00 - 08-16 16:30:00 @ 37.14, 53: 08-16 16:30:00 - 08-16 17:00:00 @ 37.91, 54: 08-16 17:00:00 - 08-16 17:30:00 @ 40.13, 55: 08-16 17:30:00 - 08-16 18:00:00 @ 42.36, 56: 08-16 18:00:00 - 08-16 18:30:00 @ 44.19, 57: 08-16 19:00:00 - 08-16 19:30:00 @ 33.04, 58: 08-16 19:30:00 - 08-16 20:00:00 @ 33.71, 59: 08-16 20:00:00 - 08-16 20:30:00 @ 33.83, 60: 08-16 20:30:00 - 08-16 21:00:00 @ 33.94, 61: 08-16 21:00:00 - 08-16 21:30:00 @ 33.73, 62: 08-16 21:30:00 - 08-16 22:00:00 @ 33.53, 63: 08-16 22:00:00 - 08-16 22:30:00 @ 32.36, 64: 08-16 22:30:00 - 08-16 23:00:00 @ 31.17, 65: 08-16 23:00:00 - 08-16 23:30:00 @ 29.37, 66: 08-16 23:30:00 - 08-17 00:00:00 @ 29.2, 67: 08-17 00:00:00 - 08-17 00:30:00 @ 28.83, 68: 08-17 00:30:00 - 08-17 01:00:00 @ 28.46, 69: 08-17 01:00:00 - 08-17 01:30:00 @ 27.73, 70: 08-17 01:30:00 - 08-17 02:00:00 @ 27.01, 71: 08-17 02:00:00 - 08-17 02:30:00 @ 26.76, 72: 08-17 02:30:00 - 08-17 03:00:00 @ 26.48, 73: 08-17 03:00:00 - 08-17 03:30:00 @ 26.39, 74: 08-17 03:30:00 - 08-17 04:00:00 @ 26.27, 75: 08-17 04:00:00 - 08-17 04:30:00 @ 26.33, 76: 08-17 04:30:00 - 08-17 05:00:00 @ 26.37, 77: 08-17 05:00:00 - 08-17 05:30:00 @ 26.23, 78: 08-17 05:30:00 - 08-17 06:00:00 @ 26.07, 79: 08-17 06:00:00 - 08-17 06:30:00 @ 25.99, 80: 08-17 06:30:00 - 08-17 07:00:00 @ 25.92, 81: 08-17 07:00:00 - 08-17 07:30:00 @ 25.64, 82: 08-17 07:30:00 - 08-17 08:00:00 @ 25.39, 83: 08-17 08:00:00 - 08-17 08:30:00 @ 24.84, 84: 08-17 08:30:00 - 08-17 09:00:00 @ 24.28, 85: 08-17 09:00:00 - 08-17 09:30:00 @ 24.26, 86: 08-17 09:30:00 - 08-17 10:00:00 @ 24.22, 87: 08-17 10:00:00 - 08-17 10:30:00 @ 24.8, 88: 08-17 10:30:00 - 08-17 11:00:00 @ 25.37, 89: 08-17 11:00:00 - 08-17 11:30:00 @ 24.71, 90: 08-17 11:30:00 - 08-17 12:00:00 @ 24.02, 91: 08-17 12:00:00 - 08-17 12:30:00 @ 23.79, 92: 08-17 12:30:00 - 08-17 13:00:00 @ 23.55, 93: 08-17 13:00:00 - 08-17 13:30:00 @ 23.14, 94: 08-17 13:30:00 - 08-17 14:00:00 @ 22.71, 95: 08-17 14:00:00 - 08-17 14:30:00 @ 22.01]
2026-08-15 14:15:03.730827: Include original charge start 08-15 10:30:00, keeping this instead of new start 08-15 14:00:00
2026-08-15 14:15:03.730955: Inverter 0 Charge window will be: 2026-08-15 10:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 54%, target 100%
2026-08-15 14:15:03.731227: Inverter 0 Target SoC 100%, (this inverter 100%), battery temperature 20°C, select charge rate 5000W (real 5000W), current charge rate 5000W
2026-08-15 14:15:03.731536: Adjust idle time, charge 10:30:00-16:00:00 discharge 00:00:00-00:00:00
2026-08-15 14:15:03.731879: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 14:15:03.732013: No export window planned
2026-08-15 14:15:03.732233: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 14:15:03.732279: Adjust idle time, charge 10:30:00-16:00:00 discharge 00:00:00-00:00:00
2026-08-15 14:15:03.732511: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 14:15:03.732672: Inverter 0 setting charging SoC to 100% as per target
2026-08-15 14:15:03.732774: Inverter 0 adjust target SoC for charge to 100% based on requested all inverter SoC 100%
2026-08-15 14:15:03.732883: Inverter 0 Current Target SoC is 100%, already at target
2026-08-15 14:15:03.733149: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:15:03.733348: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:15:03.733437: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:15:03.733497: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:15:03.733578: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:15:03.733608: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:15:03.733710: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:15:03.733805: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 14:15:03.733850: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 14:15:03.733883: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 14:15:03.733909: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 14:15:03.733944: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 14:15:03.733973: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 14:15:03.733998: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 14:15:03.734093: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:15:03.734130: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:15:03.734156: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:15:03.734280: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:15:03.734346: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:15:03.734378: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:15:03.734403: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:15:03.734425: Inverter 0 count register writes 0
2026-08-15 14:15:03.751569: Will recompute the plan as it is now 10.0 minutes old and will exceed the max age of 10 minutes before the next run
2026-08-15 14:15:03.751744: Recompute is saving previous plan...
2026-08-15 14:15:03.755370: Best charge window [ 15-08 14:00:00 - 15-08 14:30:00 @ 14.57p 100%, 15-08 14:30:00 - 15-08 15:00:00 @ 13.77p 100%, 15-08 15:00:00 - 15-08 15:30:00 @ 15.02p 100%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 100%, 15-08 16:00:00 - 15-08 16:30:00 @ 33.13p 100%, 15-08 16:30:00 - 15-08 17:00:00 @ 33.13p 100%, 15-08 17:00:00 - 15-08 17:30:00 @ 38.46p 100%, 15-08 17:30:00 - 15-08 18:00:00 @ 40.44p 100%, 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 100%, 15-08 18:30:00 - 15-08 19:00:00 @ 43.82p 100%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 100%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 100%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 100%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 100%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 100%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 100%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 100%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 100%, 15-08 23:00:00 - 15-08 23:30:00 @ 29.37p 100%, 15-08 23:30:00 - 16-08 00:00:00 @ 29.2p 100%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.83p 100%, 16-08 00:30:00 - 16-08 01:00:00 @ 28.46p 100%, 16-08 01:00:00 - 16-08 01:30:00 @ 27.73p 100%, 16-08 01:30:00 - 16-08 02:00:00 @ 27.01p 100%, 16-08 02:00:00 - 16-08 02:30:00 @ 26.76p 100%, 16-08 02:30:00 - 16-08 03:00:00 @ 26.48p 100%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.39p 100%, 16-08 03:30:00 - 16-08 04:00:00 @ 26.27p 100%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.33p 100%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.37p 100%, 16-08 05:00:00 - 16-08 05:30:00 @ 26.23p 100%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.07p 100%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.99p 100%, 16-08 06:30:00 - 16-08 07:00:00 @ 25.92p 100%, 16-08 07:00:00 - 16-08 07:30:00 @ 25.64p 100%, 16-08 07:30:00 - 16-08 08:00:00 @ 25.39p 100%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.84p 100%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.28p 100%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.26p 100%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.22p 100%, 16-08 10:00:00 - 16-08 10:30:00 @ 24.8p 100%, 16-08 10:30:00 - 16-08 11:00:00 @ 25.37p 100%, 16-08 11:00:00 - 16-08 11:30:00 @ 24.71p 100%, 16-08 11:30:00 - 16-08 12:00:00 @ 24.02p 100%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.79p 100%, 16-08 12:30:00 - 16-08 13:00:00 @ 23.55p 100%, 16-08 13:00:00 - 16-08 13:30:00 @ 23.14p 100%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.71p 100%, 16-08 14:00:00 - 16-08 14:30:00 @ 22.01p 100%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.29p 100%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.01p 100%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.71p 100%, 16-08 16:00:00 - 16-08 16:30:00 @ 37.14p 100%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.91p 100%, 16-08 17:00:00 - 16-08 17:30:00 @ 40.13p 100%, 16-08 17:30:00 - 16-08 18:00:00 @ 42.36p 100%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.19p 100%, 16-08 19:00:00 - 16-08 19:30:00 @ 33.04p 100%, 16-08 19:30:00 - 16-08 20:00:00 @ 33.71p 100%, 16-08 20:00:00 - 16-08 20:30:00 @ 33.83p 100%, 16-08 20:30:00 - 16-08 21:00:00 @ 33.94p 100%, 16-08 21:00:00 - 16-08 21:30:00 @ 33.73p 100%, 16-08 21:30:00 - 16-08 22:00:00 @ 33.53p 100%, 16-08 22:00:00 - 16-08 22:30:00 @ 32.36p 100%, 16-08 22:30:00 - 16-08 23:00:00 @ 31.17p 100%, 16-08 23:00:00 - 16-08 23:30:00 @ 29.37p 100%, 16-08 23:30:00 - 17-08 00:00:00 @ 29.2p 100%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.83p 100%, 17-08 00:30:00 - 17-08 01:00:00 @ 28.46p 100%, 17-08 01:00:00 - 17-08 01:30:00 @ 27.73p 100%, 17-08 01:30:00 - 17-08 02:00:00 @ 27.01p 100%, 17-08 02:00:00 - 17-08 02:30:00 @ 26.76p 100%, 17-08 02:30:00 - 17-08 03:00:00 @ 26.48p 100%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.39p 100%, 17-08 03:30:00 - 17-08 04:00:00 @ 26.27p 100%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.33p 100%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.37p 100%, 17-08 05:00:00 - 17-08 05:30:00 @ 26.23p 100%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.07p 100%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.99p 100%, 17-08 06:30:00 - 17-08 07:00:00 @ 25.92p 100%, 17-08 07:00:00 - 17-08 07:30:00 @ 25.64p 100%, 17-08 07:30:00 - 17-08 08:00:00 @ 25.39p 100%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.84p 100%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.28p 100%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.26p 100%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.22p 100%, 17-08 10:00:00 - 17-08 10:30:00 @ 24.8p 100%, 17-08 10:30:00 - 17-08 11:00:00 @ 25.37p 100%, 17-08 11:00:00 - 17-08 11:30:00 @ 24.71p 100%, 17-08 11:30:00 - 17-08 12:00:00 @ 24.02p 100%, 17-08 12:00:00 - 17-08 12:30:00 @ 23.79p 100%, 17-08 12:30:00 - 17-08 13:00:00 @ 23.55p 100%, 17-08 13:00:00 - 17-08 13:30:00 @ 23.14p 100%, 17-08 13:30:00 - 17-08 14:00:00 @ 22.71p 100%, 17-08 14:00:00 - 17-08 14:30:00 @ 22.01p 100% ]
2026-08-15 14:15:03.755457: Best export window [  ]
2026-08-15 14:15:03.756388: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 14:15:03.759688: Load divergence over 8.0 hours mean 481.39W, min 290.4W, max 1344.6W, std dev 195.46W, divergence 20.3%
2026-08-15 14:15:03.778512: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 14:15:03.778643: LoadML is_calculating False
2026-08-15 14:15:03.778722: Creating pool of 12 processes to match your CPU count
2026-08-15 14:15:03.875408: Calculate Best options: mode(Control charge & discharge), calculate_export_oncharge(False), calculate_export_on_pv(True), set_export_freeze_only(False), set_discharge_during_charge(True), combine_charge_slots(False), combine_export_slots(False), combine_rate_threshold(0.0), best_soc_min(0.0 kWh), best_soc_max(0.0 kWh), best_soc_keep(0.0 kWh), inverter_loss(4%), battery_loss(3%), battery_loss_discharge (3%), inverter_hybrid(True), metric_min_improvement(0.0p), metric_min_improvement_export(0.1p), metric_min_improvement_export_freeze(0.1p), metric_battery_cycle(0.0p/kWh), metric_battery_value_scaling(1.0 x) 
2026-08-15 14:15:03.877693: Optimise levels pass started at 2026-08-15 14:15:03
2026-08-15 14:15:03.877755: Optimise all windows, total charge 95 export 1
2026-08-15 14:15:04.801903: >> Region optimisation pass width 960 gives best_metric 959.05p, best_cost 972.83p, best_cycle 40.66kWh, best_import 27.95kWh
2026-08-15 14:15:05.176109: >> Region optimisation pass width 480 gives best_metric 959.05p, best_cost 972.83p, best_cycle 40.66kWh, best_import 27.95kWh
2026-08-15 14:15:05.677011: >> Region optimisation pass width 240 gives best_metric 959.05p, best_cost 972.83p, best_cycle 40.66kWh, best_import 27.95kWh
2026-08-15 14:15:06.760695: >> Region optimisation pass width 120 gives best_metric 959.05p, best_cost 972.83p, best_cycle 40.66kWh, best_import 27.95kWh
2026-08-15 14:15:06.761056: Calculated end_record as 08-16 14:30:00 based on best_price 22.71p, next_charge_start 08-15 14:30:00, max_windows 49
2026-08-15 14:15:06.761140: Optimise levels pass ended at 2026-08-15 14:15:06, duration 2.9 seconds tried 258 combinations
2026-08-15 14:15:06.761223: Set best_price_charge_level 24.4p, best_price_export_level 0p, best_price_charge 22.71p, best_cost_export 0p, best_metric 959.05p, best_keep 0kWh, best_cycle 40.66kWh, best_carbon 0kg, best_import 27.95kWh
2026-08-15 14:15:06.780043: Starting detailed optimisation end_record 08-16 14:30:00, best_price_charge 22.71p, best_price_export 0p. lowest_price_charge 13.77p with charge limits [16.0, 16.0, 16.0, 16.0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0]kWh and export limits []kWh
2026-08-15 14:15:09.866165: Tweak plan optimisation started metric 567.06p, cost 584.0p
2026-08-15 14:15:10.123439: Tweak optimisation finished metric 567.06p, cost 584.0p, metric_keep 0kWh, cycle 22.03kWh, carbon 0kg, import 11.0kWh, changed 8 window(s)
2026-08-15 14:15:10.142601: Swap charge optimisation started metric 567.06p, cost 584.0p, min_improvement_swap 0.1p
2026-08-15 14:15:12.779087: Swap charge optimisation finished metric 567.06p, cost 584.0p
2026-08-15 14:15:12.879089: Pruned 3 dead plan slot(s) in 7 trial(s), nominal metric 563.52p -> 563.52p, plan now metric 567.11p, cost 584.0p, cycle 22.03kWh, import 11.0kWh
2026-08-15 14:15:12.891649: Raw charge windows [ 15-08 14:00:00 - 15-08 14:30:00 @ 14.57p 100%, 15-08 14:30:00 - 15-08 15:00:00 @ 13.77p 100%, 15-08 15:00:00 - 15-08 15:30:00 @ 15.02p 100%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 100%, 15-08 16:00:00 - 15-08 16:30:00 @ 33.13p 0%, 15-08 16:30:00 - 15-08 17:00:00 @ 33.13p 0%, 15-08 17:00:00 - 15-08 17:30:00 @ 38.46p 0%, 15-08 17:30:00 - 15-08 18:00:00 @ 40.44p 0%, 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 0%, 15-08 18:30:00 - 15-08 19:00:00 @ 43.82p 0%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 0%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 0%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 0%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 0%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 29.37p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 29.2p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.83p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 28.46p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 27.73p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 27.01p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 26.76p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 26.48p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.39p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 26.27p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.33p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.37p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 26.23p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.07p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.99p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 25.92p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 25.64p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 25.39p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.84p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.28p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.26p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.22p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 24.8p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 25.37p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 24.71p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 24.02p 0%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.79p 0%, 16-08 12:30:00 - 16-08 13:00:00 @ 23.55p 0%, 16-08 13:00:00 - 16-08 13:30:00 @ 23.14p 0%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.71p 0%, 16-08 14:00:00 - 16-08 14:30:00 @ 22.01p 0%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.29p 100%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.01p 100%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.71p 100%, 16-08 16:00:00 - 16-08 16:30:00 @ 37.14p 100%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.91p 100%, 16-08 17:00:00 - 16-08 17:30:00 @ 40.13p 100%, 16-08 17:30:00 - 16-08 18:00:00 @ 42.36p 100%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.19p 100%, 16-08 19:00:00 - 16-08 19:30:00 @ 33.04p 100%, 16-08 19:30:00 - 16-08 20:00:00 @ 33.71p 100%, 16-08 20:00:00 - 16-08 20:30:00 @ 33.83p 100%, 16-08 20:30:00 - 16-08 21:00:00 @ 33.94p 100%, 16-08 21:00:00 - 16-08 21:30:00 @ 33.73p 100%, 16-08 21:30:00 - 16-08 22:00:00 @ 33.53p 100%, 16-08 22:00:00 - 16-08 22:30:00 @ 32.36p 100%, 16-08 22:30:00 - 16-08 23:00:00 @ 31.17p 100%, 16-08 23:00:00 - 16-08 23:30:00 @ 29.37p 100%, 16-08 23:30:00 - 17-08 00:00:00 @ 29.2p 100%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.83p 100%, 17-08 00:30:00 - 17-08 01:00:00 @ 28.46p 100%, 17-08 01:00:00 - 17-08 01:30:00 @ 27.73p 100%, 17-08 01:30:00 - 17-08 02:00:00 @ 27.01p 100%, 17-08 02:00:00 - 17-08 02:30:00 @ 26.76p 100%, 17-08 02:30:00 - 17-08 03:00:00 @ 26.48p 100%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.39p 100%, 17-08 03:30:00 - 17-08 04:00:00 @ 26.27p 100%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.33p 100%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.37p 100%, 17-08 05:00:00 - 17-08 05:30:00 @ 26.23p 100%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.07p 100%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.99p 100%, 17-08 06:30:00 - 17-08 07:00:00 @ 25.92p 100%, 17-08 07:00:00 - 17-08 07:30:00 @ 25.64p 100%, 17-08 07:30:00 - 17-08 08:00:00 @ 25.39p 100%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.84p 100%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.28p 100%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.26p 100%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.22p 100%, 17-08 10:00:00 - 17-08 10:30:00 @ 24.8p 100%, 17-08 10:30:00 - 17-08 11:00:00 @ 25.37p 100%, 17-08 11:00:00 - 17-08 11:30:00 @ 24.71p 100%, 17-08 11:30:00 - 17-08 12:00:00 @ 24.02p 100%, 17-08 12:00:00 - 17-08 12:30:00 @ 23.79p 100%, 17-08 12:30:00 - 17-08 13:00:00 @ 23.55p 100%, 17-08 13:00:00 - 17-08 13:30:00 @ 23.14p 100%, 17-08 13:30:00 - 17-08 14:00:00 @ 22.71p 100%, 17-08 14:00:00 - 17-08 14:30:00 @ 22.01p 100% ] reserve 1.12
2026-08-15 14:15:12.892325: Unclipped charge windows [ 15-08 14:00:00 - 15-08 16:00:00 @ 15.23p 100%, 16-08 14:30:00 - 16-08 18:30:00 @ 41.92p 100%, 16-08 19:00:00 - 17-08 14:30:00 @ 22.55p 100% ] reserve 1.12
2026-08-15 14:15:12.892554: Unfiltered charge windows [ 15-08 14:00:00 - 15-08 16:00:00 @ 15.23p 100%, 16-08 14:30:00 - 16-08 18:30:00 @ 41.92p 100%, 16-08 19:00:00 - 17-08 14:30:00 @ 22.55p 100% ] reserve 1.12
2026-08-15 14:15:12.892707: Filtered charge windows [ 15-08 14:00:00 - 15-08 16:00:00 @ 15.23p 100%, 16-08 14:30:00 - 16-08 18:30:00 @ 41.92p 100%, 16-08 19:00:00 - 17-08 14:30:00 @ 22.55p 100% ] reserve 1.12
2026-08-15 14:15:12.931293: Previous plan best metric is 567.07 (cost 584.0) and new plan best metric is 567.06 (cost 584.0)
2026-08-15 14:15:12.931647: New plan metric is not significantly better (metric_min_improvement_plan 2.0) than previous plan, using previous plan
2026-08-15 14:15:12.931802: Plan valid is now true after recompute was False
2026-08-15 14:15:12.964153: predict base end_record 08-16 14:30:00, final soc 16.0kWh, metric 1015.4p, metric_keep 0kWh, min_soc 2.53kWh @ 08-16 10:25:00, load 24.94kWh, PV 0.0kWh
2026-08-15 14:15:13.094683: Battery has 48.0 hours left - now at 8.63kWh
2026-08-15 14:15:13.143619: predict base10 end_record 08-16 14:30:00, final soc 16.0kWh, metric 1037.18p, metric_keep 0kWh, min_soc 1.31kWh @ 08-16 10:25:00, load 25.75kWh, PV 0.0kWh
2026-08-15 14:15:13.216493: predict best10 end_record 08-16 14:30:00, final soc 1.12kWh, metric 657.93p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 10:40:00, load 25.75kWh, PV 0.0kWh
2026-08-15 14:15:13.304362: predict best end_record 08-16 14:30:00, final soc 1.12kWh, metric 633.98p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 11:55:00, load 24.94kWh, PV 0.0kWh
2026-08-15 14:15:13.305000: Saving plan best values to HA entities
2026-08-15 14:15:13.478581: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0
2026-08-15 14:15:13.484689: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 14:15:13.490516: Best charging limit SoC's [16.0, 16.0, 16.0]kWh, export []kWh gives import battery 9.13kWh, house 1.87kWh, export 0.0kWh, metric 633.98p, metric10 657.93p
2026-08-15 14:15:13.572611: Marginal costs baseline metric (no standing charge): 584.0013
2026-08-15 14:15:13.806325: Marginal energy costs matrix computed: min=14.28 max=32.7
2026-08-15 14:15:13.888506: Rate array import [{'start': 855, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 15.9p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1950, 'rate': 'expensive', 'range': '(24.8p - 32.9p)'}, {'start': 1950, 'end': 2040, 'rate': 'cheap', 'range': '(24.2p - 24.3p)'}, {'start': 2040, 'end': 2130, 'rate': 'expensive', 'range': '(24.7p - 25.4p)'}, {'start': 2130, 'end': 2310, 'rate': 'cheap', 'range': '(22.0p - 24.0p)'}] export [{'start': 855, 'end': 2310, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 14:15:13.889054: - Your estimated bill for today is £5.41 and tomorrow is £7.99
2026-08-15 14:15:13.889119: - Import rates are cheap (13.8p - 15.9p) for the next 1 and three quarters hours and then expensive (33.1p) for the next 1 hour.
2026-08-15 14:15:13.889162: - The battery is currently at 54% and is charging to 100% for the next 1 and three quarters hours.
2026-08-15 14:15:13.889219: - For the next 48 hours there will be no solar generation.
2026-08-15 14:15:13.889264: - You will run out of battery in 21 hours.
2026-08-15 14:15:13.889296: 
2026-08-15 14:15:13.944650: Plan calculation took 10.19 seconds
2026-08-15 14:15:13.945146: Inverter 0: Type SK Sunsynk
2026-08-15 14:15:13.945234: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 14:15:13.945508: Reserve min: 7%, battery_min: 7%
2026-08-15 14:15:13.945634: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 14:15:13.946112: Inverter 0 SoC: 8.98kW 56%, current charge rate 5000W, current discharge rate 5250W, current battery power -4548W, current battery voltage 51.2V, grid power -5220W, load power 224W, PV Power 0W
2026-08-15 14:15:13.946431: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 14:15:13.946573: Inverter 0 scheduled charge enable is True
2026-08-15 14:15:13.946648: Inverter 0 charge windows currently [{'start': 630, 'end': 960, 'average': 0}, {'start': 2070, 'end': 2400, 'average': 0}, {'start': 3510, 'end': 3840, 'average': 0}]
2026-08-15 14:15:13.946786: Inverter 0 Charge settings: 08-15 10:30:00-08-15 16:00:00, limit 100.0%, power 5.0kW
2026-08-15 14:15:13.946957: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 14:15:13.947022: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 14:15:13.947084: Inverter 0 scheduled discharge enable is False
2026-08-15 14:15:13.947324: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 14:15:13.947383: Inverter 0 discharge windows currently []
2026-08-15 14:15:13.947415: Note: Inverter does not support discharge freeze - disabled
2026-08-15 14:15:13.947452: Note: Inverter does not support charge freeze - disabled
2026-08-15 14:15:13.947484: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 14:15:14.015318: Include original charge start 08-15 10:30:00, keeping this instead of new start 08-15 14:00:00
2026-08-15 14:15:14.015436: Inverter 0 Charge window will be: 2026-08-15 10:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 56%, target 100%
2026-08-15 14:15:14.015582: Inverter 0 Target SoC 100%, (this inverter 100%), battery temperature 20°C, select charge rate 5000W (real 5000W), current charge rate 5000W
2026-08-15 14:15:14.015762: Adjust idle time, charge 10:30:00-16:00:00 discharge 00:00:00-00:00:00
2026-08-15 14:15:14.015955: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 14:15:14.016042: No export window planned
2026-08-15 14:15:14.016192: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 14:15:14.016228: Adjust idle time, charge 10:30:00-16:00:00 discharge 00:00:00-00:00:00
2026-08-15 14:15:14.016394: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 14:15:14.016526: Inverter 0 setting charging SoC to 100% as per target
2026-08-15 14:15:14.016581: Inverter 0 adjust target SoC for charge to 100% based on requested all inverter SoC 100%
2026-08-15 14:15:14.016647: Inverter 0 Current Target SoC is 100%, already at target
2026-08-15 14:15:14.016775: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:15:14.016820: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:15:14.016857: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:15:14.016901: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:15:14.016996: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:15:14.017058: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:15:14.017109: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:15:14.017187: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 14:15:14.017242: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 14:15:14.017320: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 14:15:14.017366: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 14:15:14.017419: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 14:15:14.017460: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 14:15:14.017507: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 14:15:14.017600: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:15:14.017639: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:15:14.017674: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:15:14.017712: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:15:14.017753: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:15:14.017797: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:15:14.017849: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:15:14.017885: Inverter 0 count register writes 0
2026-08-15 14:15:14.046230: Total inverter register writes now 825
2026-08-15 14:15:14.090952: Info: Completed run status Charging
2026-08-15 14:15:14.097589: Info: record_status Charging target 56%-100.0%
2026-08-15 14:15:14.104247: Saved current settings to /config/predbat_config.json
2026-08-15 14:15:14.104546: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 14:15:57.218795: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 14:15:57.219070: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 14:15:57.219118: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 14:15:57.219330: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 14:15:57.219397: Note: Inverter does not support discharge freeze - disabled
2026-08-15 14:15:57.219438: Note: Inverter does not support charge freeze - disabled
2026-08-15 14:15:57.219473: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 14:17:57.457496: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 14:17:57.457775: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 14:17:57.457814: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 14:17:57.457992: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 14:17:57.458052: Note: Inverter does not support discharge freeze - disabled
2026-08-15 14:17:57.458073: Note: Inverter does not support charge freeze - disabled
2026-08-15 14:17:57.458091: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 14:20:00.681180: --------------- PredBat - update at 2026-08-15 14:20:00+01:00 with clock skew 0 minutes, minutes now 860
2026-08-15 14:20:00.682043: Saved current settings to /config/predbat_config.json
2026-08-15 14:20:00.936267: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.2, latest beta is v8.48.2
2026-08-15 14:20:00.936421: Autoupdate: There is an update pending v8.48.2 PV90 and second pass enabled by default, bug fixes - auto update is off
2026-08-15 14:20:00.958322: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 14:20:00.958451: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 14:20:00.958615: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 14:20:00.959119: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 14:20:00.959255: Predbat mode is set to Control charge & discharge
2026-08-15 14:20:01.153035: Found 21602 load_today datapoints going back 27 days
2026-08-15 14:20:01.153206: Using load_power data to fill gaps in load_today data
2026-08-15 14:20:02.016010: Processing 721 30-minute periods for power integration
2026-08-15 14:20:02.210319: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 14:20:02.210458: Car charging hold False, threshold 6.0kWh
2026-08-15 14:20:02.210505: Current data so far today: load 8.12kWh, import 18.2kWh, export 0.0kWh, PV 0kWh
2026-08-15 14:20:02.226042: Cars: SoC: [11.134]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 14:20:02.226567: Standing charge is set to 49.98p
2026-08-15 14:20:02.274120: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 14:20:02.274229: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 14:20:02.274456: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 220.0 minutes
2026-08-15 14:20:02.274841: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 220.0 minutes
2026-08-15 14:20:02.280669: Loaded 95 datapoints of futurerate analysis
2026-08-15 14:20:02.375138: Predicted future rates: ['08-15 00:00:00 => 28.9 / 20.01', '08-15 01:00:00 => 27.54 / 19.31', '08-15 02:00:00 => 26.52 / 18.8', '08-15 03:00:00 => 25.99 / 18.53', '08-15 04:00:00 => 25.8 / 18.43', '08-15 05:00:00 => 25.96 / 18.51', '08-15 06:00:00 => 25.55 / 18.3', '08-15 07:00:00 => 24.33 / 17.68', '08-15 08:00:00 => 23.03 / 17.01', '08-15 09:00:00 => 22.05 / 16.51', '08-15 10:00:00 => 20.43 / 15.68', '08-15 11:00:00 => 18.01 / 14.45', '08-15 12:00:00 => 16.37 / 13.61', '08-15 13:00:00 => 15.76 / 13.3', '08-15 14:00:00 => 15.35 / 13.09', '08-15 15:00:00 => 15.86 / 13.35', '08-15 16:00:00 => 32.89 / 16.13', '08-15 17:00:00 => 38.02 / 18.75', '08-15 18:00:00 => 42.36 / 20.96', '08-15 19:00:00 => 31.09 / 21.13', '08-15 20:00:00 => 31.64 / 21.41', '08-15 21:00:00 => 31.64 / 21.41', '08-15 22:00:00 => 30.58 / 20.87', '08-15 23:00:00 => 29.37 / 20.25', '08-16 00:00:00 => 28.83 / 19.97', '08-16 01:00:00 => 27.73 / 19.41', '08-16 02:00:00 => 26.76 / 18.92', '08-16 03:00:00 => 26.39 / 18.73', '08-16 04:00:00 => 26.33 / 18.7', '08-16 05:00:00 => 26.23 / 18.65', '08-16 06:00:00 => 25.99 / 18.53', '08-16 07:00:00 => 25.64 / 18.35', '08-16 08:00:00 => 24.84 / 17.94', '08-16 09:00:00 => 24.26 / 17.64', '08-16 10:00:00 => 24.8 / 17.92', '08-16 11:00:00 => 24.71 / 17.87', '08-16 12:00:00 => 23.79 / 17.4', '08-16 13:00:00 => 23.14 / 17.07']
2026-08-15 14:20:02.436979: Rate min forward looking: now 13.77p at end of forecast 21.29p
2026-08-15 14:20:02.437513: Import rates: min 13.77p, max 46.05p, average 28.11p
2026-08-15 14:20:02.480985: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 14:20:02.481168: Rate thresholds (for charge/export) are import 45.55p (0.0p), export -0.1p (0.0p)
2026-08-15 14:20:02.482516: High export rate found rates in range 99p to -99p
2026-08-15 14:20:02.578755: Low Import rate found rates in range 13.77p to 44.19p
2026-08-15 14:20:02.578935: Car 0 charging is not planned as it is not plugged in
2026-08-15 14:20:02.591184: Battery level now 8.63kWh, -1hr ago 4.78kWh, at midnight 1.66kWh, battery value change in the last hour 45.51p, change today 82.5p, rate_forward 11.83p
2026-08-15 14:20:02.591649: Last hour: net energy 4.85kWh, import 4.85kWh, export 0.0kWh, car 0kWh, load 0.3kWh, net cost 74.35p, import 74.35p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 14:20:02.656461: Today's energy total net 18.2kWh, import 18.2kWh, export 0.0kWh, cost 419.31p, import 369.33p, export 0.0p, carbon 0.0kg
2026-08-15 14:20:02.656620: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 14:20:02.751579: Using weighted-bucket historical load forecast over 14 days
2026-08-15 14:20:02.780780: Today's load divergence 95.88%, in-day adjustment 115.29%, damping 0.95x, yesterday 143.77% today 96.08% blend 40.28%
2026-08-15 14:20:02.780882: Today's predicted so far 8.74kWh with 0.0kWh car/iBoost excluded, 12.01kWh import ignored, and 8.74kWh forecast extra.
2026-08-15 14:20:02.780914: Today's actual load so far 8.13kWh with 0.0kWh car/iBoost excluded, and 12.01kWh import ignored.
2026-08-15 14:20:02.814070: Inverter 0: Type SK Sunsynk
2026-08-15 14:20:02.814162: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 14:20:02.814358: Reserve min: 7%, battery_min: 7%
2026-08-15 14:20:02.814431: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 14:20:02.814694: Inverter 0 SoC: 8.98kW 56%, current charge rate 5000W, current discharge rate 5250W, current battery power -4546W, current battery voltage 51.2V, grid power -5231W, load power 232W, PV Power 0W
2026-08-15 14:20:02.814848: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 14:20:02.814928: Inverter 0 scheduled charge enable is True
2026-08-15 14:20:02.814971: Inverter 0 charge windows currently [{'start': 630, 'end': 960, 'average': 0}, {'start': 2070, 'end': 2400, 'average': 0}, {'start': 3510, 'end': 3840, 'average': 0}]
2026-08-15 14:20:02.815054: Inverter 0 Charge settings: 08-15 10:30:00-08-15 16:00:00, limit 100.0%, power 5.0kW
2026-08-15 14:20:02.815161: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 14:20:02.815199: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 14:20:02.815234: Inverter 0 scheduled discharge enable is False
2026-08-15 14:20:02.815373: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 14:20:02.815412: Inverter 0 discharge windows currently []
2026-08-15 14:20:02.815433: Note: Inverter does not support discharge freeze - disabled
2026-08-15 14:20:02.815452: Note: Inverter does not support charge freeze - disabled
2026-08-15 14:20:02.815471: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 14:20:02.876783: Dynamic load last period 0.30kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 14:20:02.876895: Plan was last updated on 2026-08-15 14:15:00+01:00 and is now 5.0 minutes old
2026-08-15 14:20:02.877205: Best charge window [ 15-08 14:00:00 - 15-08 16:00:00 @ 15.23p 100%, 16-08 14:30:00 - 16-08 18:30:00 @ 41.92p 100%, 16-08 19:00:00 - 17-08 14:30:00 @ 22.55p 100% ]
2026-08-15 14:20:02.877277: Best export window [  ]
2026-08-15 14:20:02.878165: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 14:20:02.881547: Load divergence over 8.0 hours mean 481.72W, min 292.8W, max 1321.2W, std dev 194.82W, divergence 20.22%
2026-08-15 14:20:02.900183: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 14:20:02.900301: LoadML is_calculating False
2026-08-15 14:20:02.900378: Creating pool of 12 processes to match your CPU count
2026-08-15 14:20:03.031367: predict base end_record 08-16 14:35:00, final soc 16.0kWh, metric 1023.73p, metric_keep 0kWh, min_soc 2.52kWh @ 08-16 10:25:00, load 25.08kWh, PV 0.0kWh
2026-08-15 14:20:03.175095: Battery has 48.0 hours left - now at 8.98kWh
2026-08-15 14:20:03.220576: predict base10 end_record 08-16 14:35:00, final soc 16.0kWh, metric 1045.24p, metric_keep 0kWh, min_soc 1.33kWh @ 08-16 10:25:00, load 25.89kWh, PV 0.0kWh
2026-08-15 14:20:03.318551: predict best10 end_record 08-16 14:35:00, final soc 1.44kWh, metric 673.38p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 10:40:00, load 25.89kWh, PV 0.0kWh
2026-08-15 14:20:03.400196: predict best end_record 08-16 14:35:00, final soc 1.51kWh, metric 651.15p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 11:55:00, load 25.08kWh, PV 0.0kWh
2026-08-15 14:20:03.400340: Saving plan best values to HA entities
2026-08-15 14:20:03.583182: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0
2026-08-15 14:20:03.589032: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 14:20:03.594585: Best charging limit SoC's [16.0, 16.0, 16.0]kWh, export []kWh gives import battery 9.18kWh, house 1.87kWh, export 0.0kWh, metric 651.15p, metric10 673.38p
2026-08-15 14:20:03.672539: Marginal costs baseline metric (no standing charge): 601.1708
2026-08-15 14:20:03.945616: Marginal energy costs matrix computed: min=14.32 max=32.32
2026-08-15 14:20:04.012497: Rate array import [{'start': 860, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 15.9p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1950, 'rate': 'expensive', 'range': '(24.8p - 32.9p)'}, {'start': 1950, 'end': 2040, 'rate': 'cheap', 'range': '(24.2p - 24.3p)'}, {'start': 2040, 'end': 2130, 'rate': 'expensive', 'range': '(24.7p - 25.4p)'}, {'start': 2130, 'end': 2315, 'rate': 'cheap', 'range': '(21.3p - 24.0p)'}] export [{'start': 860, 'end': 2315, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 14:20:04.012925: - Your estimated bill for today is £5.48 and tomorrow is £8.00
2026-08-15 14:20:04.013007: - Import rates are cheap (13.8p - 15.9p) for the next 1 and three quarters hours and then expensive (33.1p) for the next 1 hour.
2026-08-15 14:20:04.013040: - The battery is currently at 56% and is charging to 100% for the next 1 and three quarters hours.
2026-08-15 14:20:04.013060: - For the next 48 hours there will be no solar generation.
2026-08-15 14:20:04.013077: - You will run out of battery in 21 hours.
2026-08-15 14:20:04.013100: 
2026-08-15 14:20:04.060322: Plan calculation took 1.18 seconds
2026-08-15 14:20:04.063953: No high rate period found
2026-08-15 14:20:04.111689: Import threshold used for optimisation was 24.28p
2026-08-15 14:20:04.157766: Low import rate windows [0: 08-15 14:00:00 - 08-15 14:30:00 @ 14.57, 1: 08-15 14:30:00 - 08-15 15:00:00 @ 13.77, 2: 08-15 15:00:00 - 08-15 15:30:00 @ 15.02, 3: 08-15 15:30:00 - 08-15 16:00:00 @ 15.87, 4: 08-15 16:00:00 - 08-15 16:30:00 @ 33.13, 5: 08-15 16:30:00 - 08-15 17:00:00 @ 33.13, 6: 08-15 17:00:00 - 08-15 17:30:00 @ 38.46, 7: 08-15 17:30:00 - 08-15 18:00:00 @ 40.44, 8: 08-15 18:00:00 - 08-15 18:30:00 @ 41.55, 9: 08-15 18:30:00 - 08-15 19:00:00 @ 43.82, 10: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 11: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 12: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 13: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 14: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 15: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 16: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 17: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 18: 08-15 23:00:00 - 08-15 23:30:00 @ 29.37, 19: 08-15 23:30:00 - 08-16 00:00:00 @ 29.2, 20: 08-16 00:00:00 - 08-16 00:30:00 @ 28.83, 21: 08-16 00:30:00 - 08-16 01:00:00 @ 28.46, 22: 08-16 01:00:00 - 08-16 01:30:00 @ 27.73, 23: 08-16 01:30:00 - 08-16 02:00:00 @ 27.01, 24: 08-16 02:00:00 - 08-16 02:30:00 @ 26.76, 25: 08-16 02:30:00 - 08-16 03:00:00 @ 26.48, 26: 08-16 03:00:00 - 08-16 03:30:00 @ 26.39, 27: 08-16 03:30:00 - 08-16 04:00:00 @ 26.27, 28: 08-16 04:00:00 - 08-16 04:30:00 @ 26.33, 29: 08-16 04:30:00 - 08-16 05:00:00 @ 26.37, 30: 08-16 05:00:00 - 08-16 05:30:00 @ 26.23, 31: 08-16 05:30:00 - 08-16 06:00:00 @ 26.07, 32: 08-16 06:00:00 - 08-16 06:30:00 @ 25.99, 33: 08-16 06:30:00 - 08-16 07:00:00 @ 25.92, 34: 08-16 07:00:00 - 08-16 07:30:00 @ 25.64, 35: 08-16 07:30:00 - 08-16 08:00:00 @ 25.39, 36: 08-16 08:00:00 - 08-16 08:30:00 @ 24.84, 37: 08-16 08:30:00 - 08-16 09:00:00 @ 24.28, 38: 08-16 09:00:00 - 08-16 09:30:00 @ 24.26, 39: 08-16 09:30:00 - 08-16 10:00:00 @ 24.22, 40: 08-16 10:00:00 - 08-16 10:30:00 @ 24.8, 41: 08-16 10:30:00 - 08-16 11:00:00 @ 25.37, 42: 08-16 11:00:00 - 08-16 11:30:00 @ 24.71, 43: 08-16 11:30:00 - 08-16 12:00:00 @ 24.02, 44: 08-16 12:00:00 - 08-16 12:30:00 @ 23.79, 45: 08-16 12:30:00 - 08-16 13:00:00 @ 23.55, 46: 08-16 13:00:00 - 08-16 13:30:00 @ 23.14, 47: 08-16 13:30:00 - 08-16 14:00:00 @ 22.71, 48: 08-16 14:00:00 - 08-16 14:30:00 @ 22.01, 49: 08-16 14:30:00 - 08-16 15:00:00 @ 21.29, 50: 08-16 15:00:00 - 08-16 15:30:00 @ 22.01, 51: 08-16 15:30:00 - 08-16 16:00:00 @ 22.71, 52: 08-16 16:00:00 - 08-16 16:30:00 @ 37.14, 53: 08-16 16:30:00 - 08-16 17:00:00 @ 37.91, 54: 08-16 17:00:00 - 08-16 17:30:00 @ 40.13, 55: 08-16 17:30:00 - 08-16 18:00:00 @ 42.36, 56: 08-16 18:00:00 - 08-16 18:30:00 @ 44.19, 57: 08-16 19:00:00 - 08-16 19:30:00 @ 33.04, 58: 08-16 19:30:00 - 08-16 20:00:00 @ 33.71, 59: 08-16 20:00:00 - 08-16 20:30:00 @ 33.83, 60: 08-16 20:30:00 - 08-16 21:00:00 @ 33.94, 61: 08-16 21:00:00 - 08-16 21:30:00 @ 33.73, 62: 08-16 21:30:00 - 08-16 22:00:00 @ 33.53, 63: 08-16 22:00:00 - 08-16 22:30:00 @ 32.36, 64: 08-16 22:30:00 - 08-16 23:00:00 @ 31.17, 65: 08-16 23:00:00 - 08-16 23:30:00 @ 29.37, 66: 08-16 23:30:00 - 08-17 00:00:00 @ 29.2, 67: 08-17 00:00:00 - 08-17 00:30:00 @ 28.83, 68: 08-17 00:30:00 - 08-17 01:00:00 @ 28.46, 69: 08-17 01:00:00 - 08-17 01:30:00 @ 27.73, 70: 08-17 01:30:00 - 08-17 02:00:00 @ 27.01, 71: 08-17 02:00:00 - 08-17 02:30:00 @ 26.76, 72: 08-17 02:30:00 - 08-17 03:00:00 @ 26.48, 73: 08-17 03:00:00 - 08-17 03:30:00 @ 26.39, 74: 08-17 03:30:00 - 08-17 04:00:00 @ 26.27, 75: 08-17 04:00:00 - 08-17 04:30:00 @ 26.33, 76: 08-17 04:30:00 - 08-17 05:00:00 @ 26.37, 77: 08-17 05:00:00 - 08-17 05:30:00 @ 26.23, 78: 08-17 05:30:00 - 08-17 06:00:00 @ 26.07, 79: 08-17 06:00:00 - 08-17 06:30:00 @ 25.99, 80: 08-17 06:30:00 - 08-17 07:00:00 @ 25.92, 81: 08-17 07:00:00 - 08-17 07:30:00 @ 25.64, 82: 08-17 07:30:00 - 08-17 08:00:00 @ 25.39, 83: 08-17 08:00:00 - 08-17 08:30:00 @ 24.84, 84: 08-17 08:30:00 - 08-17 09:00:00 @ 24.28, 85: 08-17 09:00:00 - 08-17 09:30:00 @ 24.26, 86: 08-17 09:30:00 - 08-17 10:00:00 @ 24.22, 87: 08-17 10:00:00 - 08-17 10:30:00 @ 24.8, 88: 08-17 10:30:00 - 08-17 11:00:00 @ 25.37, 89: 08-17 11:00:00 - 08-17 11:30:00 @ 24.71, 90: 08-17 11:30:00 - 08-17 12:00:00 @ 24.02, 91: 08-17 12:00:00 - 08-17 12:30:00 @ 23.79, 92: 08-17 12:30:00 - 08-17 13:00:00 @ 23.55, 93: 08-17 13:00:00 - 08-17 13:30:00 @ 23.14, 94: 08-17 13:30:00 - 08-17 14:00:00 @ 22.71, 95: 08-17 14:00:00 - 08-17 14:30:00 @ 22.01]
2026-08-15 14:20:04.164700: Include original charge start 08-15 10:30:00, keeping this instead of new start 08-15 14:00:00
2026-08-15 14:20:04.164801: Inverter 0 Charge window will be: 2026-08-15 10:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 56%, target 100%
2026-08-15 14:20:04.164987: Inverter 0 Target SoC 100%, (this inverter 100%), battery temperature 20°C, select charge rate 5000W (real 5000W), current charge rate 5000W
2026-08-15 14:20:04.165259: Adjust idle time, charge 10:30:00-16:00:00 discharge 00:00:00-00:00:00
2026-08-15 14:20:04.165481: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 14:20:04.165565: No export window planned
2026-08-15 14:20:04.165664: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 14:20:04.165695: Adjust idle time, charge 10:30:00-16:00:00 discharge 00:00:00-00:00:00
2026-08-15 14:20:04.165807: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 14:20:04.165911: Inverter 0 setting charging SoC to 100% as per target
2026-08-15 14:20:04.165946: Inverter 0 adjust target SoC for charge to 100% based on requested all inverter SoC 100%
2026-08-15 14:20:04.165998: Inverter 0 Current Target SoC is 100%, already at target
2026-08-15 14:20:04.166096: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:20:04.166141: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:20:04.166190: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:20:04.166218: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:20:04.166255: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:20:04.166280: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:20:04.166300: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:20:04.166339: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 14:20:04.166373: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 14:20:04.166395: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 14:20:04.166424: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 14:20:04.166463: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 14:20:04.166483: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 14:20:04.166504: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 14:20:04.166560: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:20:04.166589: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:20:04.166610: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:20:04.166634: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:20:04.166654: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:20:04.166674: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:20:04.166693: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:20:04.166724: Inverter 0 count register writes 0
2026-08-15 14:20:04.181600: Will not recompute the plan, it is 5.0 minutes old and max age is 10 minutes
2026-08-15 14:20:04.186375: Total inverter register writes now 825
2026-08-15 14:20:04.215829: Info: Completed run status Charging
2026-08-15 14:20:04.221307: Info: record_status Charging target 56%-100.0%
2026-08-15 14:20:04.227061: Saved current settings to /config/predbat_config.json
2026-08-15 14:20:04.227465: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 14:20:42.331948: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 14:20:42.332393: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 14:20:42.332463: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 14:20:42.332661: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 14:20:42.332715: Note: Inverter does not support discharge freeze - disabled
2026-08-15 14:20:42.332746: Note: Inverter does not support charge freeze - disabled
2026-08-15 14:20:42.332779: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 14:22:56.597184: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 14:22:56.597716: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 14:22:56.597788: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 14:22:56.598091: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 14:22:56.598154: Note: Inverter does not support discharge freeze - disabled
2026-08-15 14:22:56.598192: Note: Inverter does not support charge freeze - disabled
2026-08-15 14:22:56.598223: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 14:24:56.823630: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 14:24:56.823907: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 14:24:56.823944: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 14:24:56.824097: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 14:24:56.824165: Note: Inverter does not support discharge freeze - disabled
2026-08-15 14:24:56.824187: Note: Inverter does not support charge freeze - disabled
2026-08-15 14:24:56.824205: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 14:25:00.903638: --------------- PredBat - update at 2026-08-15 14:25:00+01:00 with clock skew 0 minutes, minutes now 865
2026-08-15 14:25:00.904452: Saved current settings to /config/predbat_config.json
2026-08-15 14:25:00.904620: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 5.0 minutes
2026-08-15 14:25:00.904717: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.2, latest beta is v8.48.2
2026-08-15 14:25:00.904878: Autoupdate: There is an update pending v8.48.2 PV90 and second pass enabled by default, bug fixes - auto update is off
2026-08-15 14:25:00.929335: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 14:25:00.929471: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 14:25:00.929643: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 14:25:00.930156: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 14:25:00.930320: Predbat mode is set to Control charge & discharge
2026-08-15 14:25:01.098785: Found 21602 load_today datapoints going back 27 days
2026-08-15 14:25:01.098921: Using load_power data to fill gaps in load_today data
2026-08-15 14:25:01.789543: Processing 721 30-minute periods for power integration
2026-08-15 14:25:01.943631: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 14:25:01.943760: Car charging hold False, threshold 6.0kWh
2026-08-15 14:25:01.943799: Current data so far today: load 8.15kWh, import 18.2kWh, export 0.0kWh, PV 0kWh
2026-08-15 14:25:01.956034: Cars: SoC: [11.134]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 14:25:01.956471: Standing charge is set to 49.98p
2026-08-15 14:25:01.996417: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 14:25:01.996554: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 14:25:01.996816: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 225.0 minutes
2026-08-15 14:25:01.997248: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 225.0 minutes
2026-08-15 14:25:02.002811: Loaded 95 datapoints of futurerate analysis
2026-08-15 14:25:02.077051: Predicted future rates: ['08-15 00:00:00 => 28.9 / 20.01', '08-15 01:00:00 => 27.54 / 19.31', '08-15 02:00:00 => 26.52 / 18.8', '08-15 03:00:00 => 25.99 / 18.53', '08-15 04:00:00 => 25.8 / 18.43', '08-15 05:00:00 => 25.96 / 18.51', '08-15 06:00:00 => 25.55 / 18.3', '08-15 07:00:00 => 24.33 / 17.68', '08-15 08:00:00 => 23.03 / 17.01', '08-15 09:00:00 => 22.05 / 16.51', '08-15 10:00:00 => 20.43 / 15.68', '08-15 11:00:00 => 18.01 / 14.45', '08-15 12:00:00 => 16.37 / 13.61', '08-15 13:00:00 => 15.76 / 13.3', '08-15 14:00:00 => 15.35 / 13.09', '08-15 15:00:00 => 15.86 / 13.35', '08-15 16:00:00 => 32.89 / 16.13', '08-15 17:00:00 => 38.02 / 18.75', '08-15 18:00:00 => 42.36 / 20.96', '08-15 19:00:00 => 31.09 / 21.13', '08-15 20:00:00 => 31.64 / 21.41', '08-15 21:00:00 => 31.64 / 21.41', '08-15 22:00:00 => 30.58 / 20.87', '08-15 23:00:00 => 29.37 / 20.25', '08-16 00:00:00 => 28.83 / 19.97', '08-16 01:00:00 => 27.73 / 19.41', '08-16 02:00:00 => 26.76 / 18.92', '08-16 03:00:00 => 26.39 / 18.73', '08-16 04:00:00 => 26.33 / 18.7', '08-16 05:00:00 => 26.23 / 18.65', '08-16 06:00:00 => 25.99 / 18.53', '08-16 07:00:00 => 25.64 / 18.35', '08-16 08:00:00 => 24.84 / 17.94', '08-16 09:00:00 => 24.26 / 17.64', '08-16 10:00:00 => 24.8 / 17.92', '08-16 11:00:00 => 24.71 / 17.87', '08-16 12:00:00 => 23.79 / 17.4', '08-16 13:00:00 => 23.14 / 17.07']
2026-08-15 14:25:02.135410: Rate min forward looking: now 13.77p at end of forecast 21.29p
2026-08-15 14:25:02.135833: Import rates: min 13.77p, max 46.05p, average 28.12p
2026-08-15 14:25:02.180057: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 14:25:02.180180: Rate thresholds (for charge/export) are import 45.55p (0.0p), export -0.1p (0.0p)
2026-08-15 14:25:02.181561: High export rate found rates in range 99p to -99p
2026-08-15 14:25:02.277743: Low Import rate found rates in range 13.77p to 44.19p
2026-08-15 14:25:02.277882: Car 0 charging is not planned as it is not plugged in
2026-08-15 14:25:02.290066: Battery level now 8.98kWh, -1hr ago 5.13kWh, at midnight 1.66kWh, battery value change in the last hour 45.6p, change today 86.66p, rate_forward 11.83p
2026-08-15 14:25:02.290395: Last hour: net energy 4.4kWh, import 4.4kWh, export 0.0kWh, car 0kWh, load 0.3kWh, net cost 67.44p, import 67.44p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 14:25:02.346388: Today's energy total net 18.2kWh, import 18.2kWh, export 0.0kWh, cost 419.31p, import 369.33p, export 0.0p, carbon 0.0kg
2026-08-15 14:25:02.346532: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 14:25:02.422896: Using weighted-bucket historical load forecast over 14 days
2026-08-15 14:25:02.447525: Today's load divergence 95.51%, in-day adjustment 114.92%, damping 0.95x, yesterday 143.77% today 95.74% blend 39.93%
2026-08-15 14:25:02.448268: Today's predicted so far 8.77kWh with 0.0kWh car/iBoost excluded, 11.99kWh import ignored, and 8.77kWh forecast extra.
2026-08-15 14:25:02.448338: Today's actual load so far 8.11kWh with 0.0kWh car/iBoost excluded, and 11.99kWh import ignored.
2026-08-15 14:25:02.482689: Inverter 0: Type SK Sunsynk
2026-08-15 14:25:02.482797: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 14:25:02.483021: Reserve min: 7%, battery_min: 7%
2026-08-15 14:25:02.483121: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 14:25:02.483429: Inverter 0 SoC: 9.33kW 58%, current charge rate 5000W, current discharge rate 5250W, current battery power -4550W, current battery voltage 51.2V, grid power -5188W, load power 192W, PV Power 0W
2026-08-15 14:25:02.483600: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 14:25:02.483710: Inverter 0 scheduled charge enable is True
2026-08-15 14:25:02.483769: Inverter 0 charge windows currently [{'start': 630, 'end': 960, 'average': 0}, {'start': 2070, 'end': 2400, 'average': 0}, {'start': 3510, 'end': 3840, 'average': 0}]
2026-08-15 14:25:02.483881: Inverter 0 Charge settings: 08-15 10:30:00-08-15 16:00:00, limit 100.0%, power 5.0kW
2026-08-15 14:25:02.484026: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 14:25:02.484071: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 14:25:02.484122: Inverter 0 scheduled discharge enable is False
2026-08-15 14:25:02.484269: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 14:25:02.484320: Inverter 0 discharge windows currently []
2026-08-15 14:25:02.484355: Note: Inverter does not support discharge freeze - disabled
2026-08-15 14:25:02.484390: Note: Inverter does not support charge freeze - disabled
2026-08-15 14:25:02.484406: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 14:25:02.552183: Dynamic load last period 0.30kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 14:25:02.552428: Plan was last updated on 2026-08-15 14:15:00+01:00 and is now 10.0 minutes old
2026-08-15 14:25:02.552836: Best charge window [ 15-08 14:00:00 - 15-08 16:00:00 @ 15.23p 100%, 16-08 14:30:00 - 16-08 18:30:00 @ 41.92p 100%, 16-08 19:00:00 - 17-08 14:30:00 @ 22.55p 100% ]
2026-08-15 14:25:02.552910: Best export window [  ]
2026-08-15 14:25:02.554265: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 14:25:02.558763: Load divergence over 8.0 hours mean 481.84W, min 291.6W, max 1314.0W, std dev 199.15W, divergence 20.67%
2026-08-15 14:25:02.581381: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 14:25:02.581531: LoadML is_calculating False
2026-08-15 14:25:02.581628: Creating pool of 12 processes to match your CPU count
2026-08-15 14:25:02.720532: predict base end_record 08-16 14:40:00, final soc 16.0kWh, metric 1018.06p, metric_keep 0kWh, min_soc 2.55kWh @ 08-16 10:25:00, load 25.08kWh, PV 0.0kWh
2026-08-15 14:25:02.869258: Battery has 48.0 hours left - now at 9.33kWh
2026-08-15 14:25:02.915270: predict base10 end_record 08-16 14:40:00, final soc 16.0kWh, metric 1039.35p, metric_keep 0kWh, min_soc 1.38kWh @ 08-16 10:25:00, load 25.88kWh, PV 0.0kWh
2026-08-15 14:25:03.012724: predict best10 end_record 08-16 14:40:00, final soc 1.77kWh, metric 674.89p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 10:45:00, load 25.88kWh, PV 0.0kWh
2026-08-15 14:25:03.106956: predict best end_record 08-16 14:40:00, final soc 1.9kWh, metric 654.41p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 11:55:00, load 25.08kWh, PV 0.0kWh
2026-08-15 14:25:03.107064: Saving plan best values to HA entities
2026-08-15 14:25:03.285053: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0
2026-08-15 14:25:03.290786: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 14:25:03.296620: Best charging limit SoC's [16.0, 16.0, 16.0]kWh, export []kWh gives import battery 9.22kWh, house 1.85kWh, export 0.0kWh, metric 654.41p, metric10 674.89p
2026-08-15 14:25:03.381856: Marginal costs baseline metric (no standing charge): 604.4251
2026-08-15 14:25:03.663096: Marginal energy costs matrix computed: min=14.35 max=31.95
2026-08-15 14:25:03.739748: Rate array import [{'start': 865, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 15.9p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1950, 'rate': 'expensive', 'range': '(24.8p - 32.9p)'}, {'start': 1950, 'end': 2040, 'rate': 'cheap', 'range': '(24.2p - 24.3p)'}, {'start': 2040, 'end': 2130, 'rate': 'expensive', 'range': '(24.7p - 25.4p)'}, {'start': 2130, 'end': 2320, 'rate': 'cheap', 'range': '(21.3p - 24.0p)'}] export [{'start': 865, 'end': 2320, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 14:25:03.740255: - Your estimated bill for today is £5.42 and tomorrow is £8.00
2026-08-15 14:25:03.740323: - Import rates are cheap (13.8p - 15.9p) for the next 1 and a half hours and then expensive (33.1p) for the next 1 hour.
2026-08-15 14:25:03.740353: - The battery is currently at 58% and is charging to 100% for the next 1 and a half hours.
2026-08-15 14:25:03.740388: - For the next 48 hours there will be no solar generation.
2026-08-15 14:25:03.740425: - You will run out of battery in 21 hours.
2026-08-15 14:25:03.740458: 
2026-08-15 14:25:03.800508: Plan calculation took 1.25 seconds
2026-08-15 14:25:03.804165: No high rate period found
2026-08-15 14:25:03.857848: Import threshold used for optimisation was 24.28p
2026-08-15 14:25:03.915898: Low import rate windows [0: 08-15 14:00:00 - 08-15 14:30:00 @ 14.57, 1: 08-15 14:30:00 - 08-15 15:00:00 @ 13.77, 2: 08-15 15:00:00 - 08-15 15:30:00 @ 15.02, 3: 08-15 15:30:00 - 08-15 16:00:00 @ 15.87, 4: 08-15 16:00:00 - 08-15 16:30:00 @ 33.13, 5: 08-15 16:30:00 - 08-15 17:00:00 @ 33.13, 6: 08-15 17:00:00 - 08-15 17:30:00 @ 38.46, 7: 08-15 17:30:00 - 08-15 18:00:00 @ 40.44, 8: 08-15 18:00:00 - 08-15 18:30:00 @ 41.55, 9: 08-15 18:30:00 - 08-15 19:00:00 @ 43.82, 10: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 11: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 12: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 13: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 14: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 15: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 16: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 17: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 18: 08-15 23:00:00 - 08-15 23:30:00 @ 29.37, 19: 08-15 23:30:00 - 08-16 00:00:00 @ 29.2, 20: 08-16 00:00:00 - 08-16 00:30:00 @ 28.83, 21: 08-16 00:30:00 - 08-16 01:00:00 @ 28.46, 22: 08-16 01:00:00 - 08-16 01:30:00 @ 27.73, 23: 08-16 01:30:00 - 08-16 02:00:00 @ 27.01, 24: 08-16 02:00:00 - 08-16 02:30:00 @ 26.76, 25: 08-16 02:30:00 - 08-16 03:00:00 @ 26.48, 26: 08-16 03:00:00 - 08-16 03:30:00 @ 26.39, 27: 08-16 03:30:00 - 08-16 04:00:00 @ 26.27, 28: 08-16 04:00:00 - 08-16 04:30:00 @ 26.33, 29: 08-16 04:30:00 - 08-16 05:00:00 @ 26.37, 30: 08-16 05:00:00 - 08-16 05:30:00 @ 26.23, 31: 08-16 05:30:00 - 08-16 06:00:00 @ 26.07, 32: 08-16 06:00:00 - 08-16 06:30:00 @ 25.99, 33: 08-16 06:30:00 - 08-16 07:00:00 @ 25.92, 34: 08-16 07:00:00 - 08-16 07:30:00 @ 25.64, 35: 08-16 07:30:00 - 08-16 08:00:00 @ 25.39, 36: 08-16 08:00:00 - 08-16 08:30:00 @ 24.84, 37: 08-16 08:30:00 - 08-16 09:00:00 @ 24.28, 38: 08-16 09:00:00 - 08-16 09:30:00 @ 24.26, 39: 08-16 09:30:00 - 08-16 10:00:00 @ 24.22, 40: 08-16 10:00:00 - 08-16 10:30:00 @ 24.8, 41: 08-16 10:30:00 - 08-16 11:00:00 @ 25.37, 42: 08-16 11:00:00 - 08-16 11:30:00 @ 24.71, 43: 08-16 11:30:00 - 08-16 12:00:00 @ 24.02, 44: 08-16 12:00:00 - 08-16 12:30:00 @ 23.79, 45: 08-16 12:30:00 - 08-16 13:00:00 @ 23.55, 46: 08-16 13:00:00 - 08-16 13:30:00 @ 23.14, 47: 08-16 13:30:00 - 08-16 14:00:00 @ 22.71, 48: 08-16 14:00:00 - 08-16 14:30:00 @ 22.01, 49: 08-16 14:30:00 - 08-16 15:00:00 @ 21.29, 50: 08-16 15:00:00 - 08-16 15:30:00 @ 22.01, 51: 08-16 15:30:00 - 08-16 16:00:00 @ 22.71, 52: 08-16 16:00:00 - 08-16 16:30:00 @ 37.14, 53: 08-16 16:30:00 - 08-16 17:00:00 @ 37.91, 54: 08-16 17:00:00 - 08-16 17:30:00 @ 40.13, 55: 08-16 17:30:00 - 08-16 18:00:00 @ 42.36, 56: 08-16 18:00:00 - 08-16 18:30:00 @ 44.19, 57: 08-16 19:00:00 - 08-16 19:30:00 @ 33.04, 58: 08-16 19:30:00 - 08-16 20:00:00 @ 33.71, 59: 08-16 20:00:00 - 08-16 20:30:00 @ 33.83, 60: 08-16 20:30:00 - 08-16 21:00:00 @ 33.94, 61: 08-16 21:00:00 - 08-16 21:30:00 @ 33.73, 62: 08-16 21:30:00 - 08-16 22:00:00 @ 33.53, 63: 08-16 22:00:00 - 08-16 22:30:00 @ 32.36, 64: 08-16 22:30:00 - 08-16 23:00:00 @ 31.17, 65: 08-16 23:00:00 - 08-16 23:30:00 @ 29.37, 66: 08-16 23:30:00 - 08-17 00:00:00 @ 29.2, 67: 08-17 00:00:00 - 08-17 00:30:00 @ 28.83, 68: 08-17 00:30:00 - 08-17 01:00:00 @ 28.46, 69: 08-17 01:00:00 - 08-17 01:30:00 @ 27.73, 70: 08-17 01:30:00 - 08-17 02:00:00 @ 27.01, 71: 08-17 02:00:00 - 08-17 02:30:00 @ 26.76, 72: 08-17 02:30:00 - 08-17 03:00:00 @ 26.48, 73: 08-17 03:00:00 - 08-17 03:30:00 @ 26.39, 74: 08-17 03:30:00 - 08-17 04:00:00 @ 26.27, 75: 08-17 04:00:00 - 08-17 04:30:00 @ 26.33, 76: 08-17 04:30:00 - 08-17 05:00:00 @ 26.37, 77: 08-17 05:00:00 - 08-17 05:30:00 @ 26.23, 78: 08-17 05:30:00 - 08-17 06:00:00 @ 26.07, 79: 08-17 06:00:00 - 08-17 06:30:00 @ 25.99, 80: 08-17 06:30:00 - 08-17 07:00:00 @ 25.92, 81: 08-17 07:00:00 - 08-17 07:30:00 @ 25.64, 82: 08-17 07:30:00 - 08-17 08:00:00 @ 25.39, 83: 08-17 08:00:00 - 08-17 08:30:00 @ 24.84, 84: 08-17 08:30:00 - 08-17 09:00:00 @ 24.28, 85: 08-17 09:00:00 - 08-17 09:30:00 @ 24.26, 86: 08-17 09:30:00 - 08-17 10:00:00 @ 24.22, 87: 08-17 10:00:00 - 08-17 10:30:00 @ 24.8, 88: 08-17 10:30:00 - 08-17 11:00:00 @ 25.37, 89: 08-17 11:00:00 - 08-17 11:30:00 @ 24.71, 90: 08-17 11:30:00 - 08-17 12:00:00 @ 24.02, 91: 08-17 12:00:00 - 08-17 12:30:00 @ 23.79, 92: 08-17 12:30:00 - 08-17 13:00:00 @ 23.55, 93: 08-17 13:00:00 - 08-17 13:30:00 @ 23.14, 94: 08-17 13:30:00 - 08-17 14:00:00 @ 22.71, 95: 08-17 14:00:00 - 08-17 14:30:00 @ 22.01]
2026-08-15 14:25:03.925930: Include original charge start 08-15 10:30:00, keeping this instead of new start 08-15 14:00:00
2026-08-15 14:25:03.926057: Inverter 0 Charge window will be: 2026-08-15 10:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 58%, target 100%
2026-08-15 14:25:03.926232: Inverter 0 Target SoC 100%, (this inverter 100%), battery temperature 20°C, select charge rate 5000W (real 5000W), current charge rate 5000W
2026-08-15 14:25:03.926500: Adjust idle time, charge 10:30:00-16:00:00 discharge 00:00:00-00:00:00
2026-08-15 14:25:03.926783: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 14:25:03.926910: No export window planned
2026-08-15 14:25:03.927037: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 14:25:03.927075: Adjust idle time, charge 10:30:00-16:00:00 discharge 00:00:00-00:00:00
2026-08-15 14:25:03.927271: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 14:25:03.927423: Inverter 0 setting charging SoC to 100% as per target
2026-08-15 14:25:03.927469: Inverter 0 adjust target SoC for charge to 100% based on requested all inverter SoC 100%
2026-08-15 14:25:03.927535: Inverter 0 Current Target SoC is 100%, already at target
2026-08-15 14:25:03.927653: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:25:03.927722: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:25:03.927753: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:25:03.927778: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:25:03.927803: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:25:03.927834: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:25:03.927859: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:25:03.927912: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 14:25:03.927945: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 14:25:03.927971: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 14:25:03.927996: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 14:25:03.928030: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 14:25:03.928057: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 14:25:03.928087: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 14:25:03.928148: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:25:03.928183: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:25:03.928209: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:25:03.928238: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:25:03.928262: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:25:03.928332: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:25:03.928390: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:25:03.928426: Inverter 0 count register writes 0
2026-08-15 14:25:03.948761: Will recompute the plan as it is now 10.0 minutes old and will exceed the max age of 10 minutes before the next run
2026-08-15 14:25:03.949079: Recompute is saving previous plan...
2026-08-15 14:25:03.954408: Best charge window [ 15-08 14:00:00 - 15-08 14:30:00 @ 14.57p 100%, 15-08 14:30:00 - 15-08 15:00:00 @ 13.77p 100%, 15-08 15:00:00 - 15-08 15:30:00 @ 15.02p 100%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 100%, 15-08 16:00:00 - 15-08 16:30:00 @ 33.13p 100%, 15-08 16:30:00 - 15-08 17:00:00 @ 33.13p 100%, 15-08 17:00:00 - 15-08 17:30:00 @ 38.46p 100%, 15-08 17:30:00 - 15-08 18:00:00 @ 40.44p 100%, 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 100%, 15-08 18:30:00 - 15-08 19:00:00 @ 43.82p 100%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 100%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 100%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 100%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 100%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 100%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 100%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 100%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 100%, 15-08 23:00:00 - 15-08 23:30:00 @ 29.37p 100%, 15-08 23:30:00 - 16-08 00:00:00 @ 29.2p 100%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.83p 100%, 16-08 00:30:00 - 16-08 01:00:00 @ 28.46p 100%, 16-08 01:00:00 - 16-08 01:30:00 @ 27.73p 100%, 16-08 01:30:00 - 16-08 02:00:00 @ 27.01p 100%, 16-08 02:00:00 - 16-08 02:30:00 @ 26.76p 100%, 16-08 02:30:00 - 16-08 03:00:00 @ 26.48p 100%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.39p 100%, 16-08 03:30:00 - 16-08 04:00:00 @ 26.27p 100%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.33p 100%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.37p 100%, 16-08 05:00:00 - 16-08 05:30:00 @ 26.23p 100%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.07p 100%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.99p 100%, 16-08 06:30:00 - 16-08 07:00:00 @ 25.92p 100%, 16-08 07:00:00 - 16-08 07:30:00 @ 25.64p 100%, 16-08 07:30:00 - 16-08 08:00:00 @ 25.39p 100%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.84p 100%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.28p 100%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.26p 100%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.22p 100%, 16-08 10:00:00 - 16-08 10:30:00 @ 24.8p 100%, 16-08 10:30:00 - 16-08 11:00:00 @ 25.37p 100%, 16-08 11:00:00 - 16-08 11:30:00 @ 24.71p 100%, 16-08 11:30:00 - 16-08 12:00:00 @ 24.02p 100%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.79p 100%, 16-08 12:30:00 - 16-08 13:00:00 @ 23.55p 100%, 16-08 13:00:00 - 16-08 13:30:00 @ 23.14p 100%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.71p 100%, 16-08 14:00:00 - 16-08 14:30:00 @ 22.01p 100%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.29p 100%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.01p 100%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.71p 100%, 16-08 16:00:00 - 16-08 16:30:00 @ 37.14p 100%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.91p 100%, 16-08 17:00:00 - 16-08 17:30:00 @ 40.13p 100%, 16-08 17:30:00 - 16-08 18:00:00 @ 42.36p 100%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.19p 100%, 16-08 19:00:00 - 16-08 19:30:00 @ 33.04p 100%, 16-08 19:30:00 - 16-08 20:00:00 @ 33.71p 100%, 16-08 20:00:00 - 16-08 20:30:00 @ 33.83p 100%, 16-08 20:30:00 - 16-08 21:00:00 @ 33.94p 100%, 16-08 21:00:00 - 16-08 21:30:00 @ 33.73p 100%, 16-08 21:30:00 - 16-08 22:00:00 @ 33.53p 100%, 16-08 22:00:00 - 16-08 22:30:00 @ 32.36p 100%, 16-08 22:30:00 - 16-08 23:00:00 @ 31.17p 100%, 16-08 23:00:00 - 16-08 23:30:00 @ 29.37p 100%, 16-08 23:30:00 - 17-08 00:00:00 @ 29.2p 100%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.83p 100%, 17-08 00:30:00 - 17-08 01:00:00 @ 28.46p 100%, 17-08 01:00:00 - 17-08 01:30:00 @ 27.73p 100%, 17-08 01:30:00 - 17-08 02:00:00 @ 27.01p 100%, 17-08 02:00:00 - 17-08 02:30:00 @ 26.76p 100%, 17-08 02:30:00 - 17-08 03:00:00 @ 26.48p 100%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.39p 100%, 17-08 03:30:00 - 17-08 04:00:00 @ 26.27p 100%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.33p 100%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.37p 100%, 17-08 05:00:00 - 17-08 05:30:00 @ 26.23p 100%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.07p 100%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.99p 100%, 17-08 06:30:00 - 17-08 07:00:00 @ 25.92p 100%, 17-08 07:00:00 - 17-08 07:30:00 @ 25.64p 100%, 17-08 07:30:00 - 17-08 08:00:00 @ 25.39p 100%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.84p 100%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.28p 100%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.26p 100%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.22p 100%, 17-08 10:00:00 - 17-08 10:30:00 @ 24.8p 100%, 17-08 10:30:00 - 17-08 11:00:00 @ 25.37p 100%, 17-08 11:00:00 - 17-08 11:30:00 @ 24.71p 100%, 17-08 11:30:00 - 17-08 12:00:00 @ 24.02p 100%, 17-08 12:00:00 - 17-08 12:30:00 @ 23.79p 100%, 17-08 12:30:00 - 17-08 13:00:00 @ 23.55p 100%, 17-08 13:00:00 - 17-08 13:30:00 @ 23.14p 100%, 17-08 13:30:00 - 17-08 14:00:00 @ 22.71p 100%, 17-08 14:00:00 - 17-08 14:30:00 @ 22.01p 100% ]
2026-08-15 14:25:03.954547: Best export window [  ]
2026-08-15 14:25:03.955708: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 14:25:03.960943: Load divergence over 8.0 hours mean 481.84W, min 291.6W, max 1314.0W, std dev 199.15W, divergence 20.67%
2026-08-15 14:25:03.979548: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 14:25:03.979700: LoadML is_calculating False
2026-08-15 14:25:03.979816: Creating pool of 12 processes to match your CPU count
2026-08-15 14:25:04.078439: Calculate Best options: mode(Control charge & discharge), calculate_export_oncharge(False), calculate_export_on_pv(True), set_export_freeze_only(False), set_discharge_during_charge(True), combine_charge_slots(False), combine_export_slots(False), combine_rate_threshold(0.0), best_soc_min(0.0 kWh), best_soc_max(0.0 kWh), best_soc_keep(0.0 kWh), inverter_loss(4%), battery_loss(3%), battery_loss_discharge (3%), inverter_hybrid(True), metric_min_improvement(0.0p), metric_min_improvement_export(0.1p), metric_min_improvement_export_freeze(0.1p), metric_battery_cycle(0.0p/kWh), metric_battery_value_scaling(1.0 x) 
2026-08-15 14:25:04.080600: Optimise levels pass started at 2026-08-15 14:25:04
2026-08-15 14:25:04.080666: Optimise all windows, total charge 95 export 1
2026-08-15 14:25:05.269497: >> Region optimisation pass width 960 gives best_metric 974.81p, best_cost 988.27p, best_cycle 36.69kWh, best_import 26.96kWh
2026-08-15 14:25:06.953980: >> Region optimisation pass width 480 gives best_metric 963.02p, best_cost 976.81p, best_cycle 39.94kWh, best_import 27.19kWh
2026-08-15 14:25:07.761429: >> Region optimisation pass width 240 gives best_metric 964.21p, best_cost 978.26p, best_cycle 44.38kWh, best_import 27.51kWh
2026-08-15 14:25:08.923912: >> Region optimisation pass width 120 gives best_metric 964.21p, best_cost 978.26p, best_cycle 44.38kWh, best_import 27.51kWh
2026-08-15 14:25:08.924294: Calculated end_record as 08-16 14:30:00 based on best_price 23.14p, next_charge_start 08-15 14:30:00, max_windows 49
2026-08-15 14:25:08.924394: Optimise levels pass ended at 2026-08-15 14:25:08, duration 4.8 seconds tried 352 combinations
2026-08-15 14:25:08.924509: Set best_price_charge_level 24.8p, best_price_export_level 0p, best_price_charge 23.14p, best_cost_export 0p, best_metric 964.21p, best_keep 0kWh, best_cycle 44.38kWh, best_carbon 0kg, best_import 27.51kWh
2026-08-15 14:25:08.944526: Starting detailed optimisation end_record 08-16 14:30:00, best_price_charge 23.14p, best_price_export 0p. lowest_price_charge 13.77p with charge limits [16.0, 16.0, 16.0, 16.0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8.0, 8.0, 8.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0]kWh and export limits []kWh
2026-08-15 14:25:12.242119: Tweak plan optimisation started metric 567.43p, cost 584.47p
2026-08-15 14:25:12.483565: Tweak optimisation finished metric 567.43p, cost 584.47p, metric_keep 0kWh, cycle 21.31kWh, carbon 0kg, import 10.13kWh, changed 8 window(s)
2026-08-15 14:25:12.502768: Swap charge optimisation started metric 567.43p, cost 584.47p, min_improvement_swap 0.1p
2026-08-15 14:25:14.624900: Swap charge optimisation finished metric 567.43p, cost 584.47p
2026-08-15 14:25:14.696899: Pruned 3 dead plan slot(s) in 7 trial(s), nominal metric 563.99p -> 563.99p, plan now metric 567.49p, cost 584.47p, cycle 21.31kWh, import 10.13kWh
2026-08-15 14:25:14.706467: Raw charge windows [ 15-08 14:00:00 - 15-08 14:30:00 @ 14.57p 100%, 15-08 14:30:00 - 15-08 15:00:00 @ 13.77p 100%, 15-08 15:00:00 - 15-08 15:30:00 @ 15.02p 100%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 100%, 15-08 16:00:00 - 15-08 16:30:00 @ 33.13p 0%, 15-08 16:30:00 - 15-08 17:00:00 @ 33.13p 0%, 15-08 17:00:00 - 15-08 17:30:00 @ 38.46p 0%, 15-08 17:30:00 - 15-08 18:00:00 @ 40.44p 0%, 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 0%, 15-08 18:30:00 - 15-08 19:00:00 @ 43.82p 0%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 0%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 0%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 0%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 0%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 29.37p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 29.2p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.83p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 28.46p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 27.73p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 27.01p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 26.76p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 26.48p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.39p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 26.27p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.33p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.37p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 26.23p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.07p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.99p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 25.92p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 25.64p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 25.39p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.84p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.28p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.26p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.22p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 24.8p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 25.37p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 24.71p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 24.02p 0%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.79p 0%, 16-08 12:30:00 - 16-08 13:00:00 @ 23.55p 0%, 16-08 13:00:00 - 16-08 13:30:00 @ 23.14p 0%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.71p 0%, 16-08 14:00:00 - 16-08 14:30:00 @ 22.01p 0%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.29p 100%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.01p 100%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.71p 100%, 16-08 16:00:00 - 16-08 16:30:00 @ 37.14p 100%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.91p 100%, 16-08 17:00:00 - 16-08 17:30:00 @ 40.13p 100%, 16-08 17:30:00 - 16-08 18:00:00 @ 42.36p 100%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.19p 100%, 16-08 19:00:00 - 16-08 19:30:00 @ 33.04p 100%, 16-08 19:30:00 - 16-08 20:00:00 @ 33.71p 100%, 16-08 20:00:00 - 16-08 20:30:00 @ 33.83p 100%, 16-08 20:30:00 - 16-08 21:00:00 @ 33.94p 100%, 16-08 21:00:00 - 16-08 21:30:00 @ 33.73p 100%, 16-08 21:30:00 - 16-08 22:00:00 @ 33.53p 100%, 16-08 22:00:00 - 16-08 22:30:00 @ 32.36p 100%, 16-08 22:30:00 - 16-08 23:00:00 @ 31.17p 100%, 16-08 23:00:00 - 16-08 23:30:00 @ 29.37p 100%, 16-08 23:30:00 - 17-08 00:00:00 @ 29.2p 100%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.83p 100%, 17-08 00:30:00 - 17-08 01:00:00 @ 28.46p 100%, 17-08 01:00:00 - 17-08 01:30:00 @ 27.73p 100%, 17-08 01:30:00 - 17-08 02:00:00 @ 27.01p 100%, 17-08 02:00:00 - 17-08 02:30:00 @ 26.76p 100%, 17-08 02:30:00 - 17-08 03:00:00 @ 26.48p 100%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.39p 100%, 17-08 03:30:00 - 17-08 04:00:00 @ 26.27p 100%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.33p 100%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.37p 100%, 17-08 05:00:00 - 17-08 05:30:00 @ 26.23p 100%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.07p 100%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.99p 100%, 17-08 06:30:00 - 17-08 07:00:00 @ 25.92p 100%, 17-08 07:00:00 - 17-08 07:30:00 @ 25.64p 100%, 17-08 07:30:00 - 17-08 08:00:00 @ 25.39p 100%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.84p 100%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.28p 100%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.26p 100%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.22p 100%, 17-08 10:00:00 - 17-08 10:30:00 @ 24.8p 100%, 17-08 10:30:00 - 17-08 11:00:00 @ 25.37p 100%, 17-08 11:00:00 - 17-08 11:30:00 @ 24.71p 100%, 17-08 11:30:00 - 17-08 12:00:00 @ 24.02p 100%, 17-08 12:00:00 - 17-08 12:30:00 @ 23.79p 100%, 17-08 12:30:00 - 17-08 13:00:00 @ 23.55p 100%, 17-08 13:00:00 - 17-08 13:30:00 @ 23.14p 100%, 17-08 13:30:00 - 17-08 14:00:00 @ 22.71p 100%, 17-08 14:00:00 - 17-08 14:30:00 @ 22.01p 100% ] reserve 1.12
2026-08-15 14:25:14.706960: Unclipped charge windows [ 15-08 14:00:00 - 15-08 16:00:00 @ 15.23p 100%, 16-08 14:30:00 - 16-08 18:30:00 @ 41.92p 100%, 16-08 19:00:00 - 17-08 14:30:00 @ 22.55p 100% ] reserve 1.12
2026-08-15 14:25:14.707130: Unfiltered charge windows [ 15-08 14:00:00 - 15-08 16:00:00 @ 15.23p 100%, 16-08 14:30:00 - 16-08 18:30:00 @ 41.92p 100%, 16-08 19:00:00 - 17-08 14:30:00 @ 22.55p 100% ] reserve 1.12
2026-08-15 14:25:14.707266: Filtered charge windows [ 15-08 14:00:00 - 15-08 16:00:00 @ 15.23p 100%, 16-08 14:30:00 - 16-08 18:30:00 @ 41.92p 100%, 16-08 19:00:00 - 17-08 14:30:00 @ 22.55p 100% ] reserve 1.12
2026-08-15 14:25:14.737016: Previous plan best metric is 567.44 (cost 584.47) and new plan best metric is 567.43 (cost 584.47)
2026-08-15 14:25:14.737273: New plan metric is not significantly better (metric_min_improvement_plan 2.0) than previous plan, using previous plan
2026-08-15 14:25:14.737422: Plan valid is now true after recompute was False
2026-08-15 14:25:14.761369: predict base end_record 08-16 14:30:00, final soc 16.0kWh, metric 1015.84p, metric_keep 0kWh, min_soc 2.55kWh @ 08-16 10:25:00, load 24.97kWh, PV 0.0kWh
2026-08-15 14:25:14.877048: Battery has 48.0 hours left - now at 9.33kWh
2026-08-15 14:25:14.920866: predict base10 end_record 08-16 14:30:00, final soc 16.0kWh, metric 1037.03p, metric_keep 0kWh, min_soc 1.38kWh @ 08-16 10:25:00, load 25.77kWh, PV 0.0kWh
2026-08-15 14:25:14.994358: predict best10 end_record 08-16 14:30:00, final soc 1.12kWh, metric 657.79p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 10:45:00, load 25.77kWh, PV 0.0kWh
2026-08-15 14:25:15.076519: predict best end_record 08-16 14:30:00, final soc 1.12kWh, metric 634.45p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 11:55:00, load 24.97kWh, PV 0.0kWh
2026-08-15 14:25:15.076613: Saving plan best values to HA entities
2026-08-15 14:25:15.214133: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0
2026-08-15 14:25:15.219329: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 14:25:15.224686: Best charging limit SoC's [16.0, 16.0, 16.0]kWh, export []kWh gives import battery 8.28kWh, house 1.85kWh, export 0.0kWh, metric 634.45p, metric10 657.79p
2026-08-15 14:25:15.293731: Marginal costs baseline metric (no standing charge): 584.4714
2026-08-15 14:25:15.558559: Marginal energy costs matrix computed: min=14.35 max=31.95
2026-08-15 14:25:15.624503: Rate array import [{'start': 865, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 15.9p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1950, 'rate': 'expensive', 'range': '(24.8p - 32.9p)'}, {'start': 1950, 'end': 2040, 'rate': 'cheap', 'range': '(24.2p - 24.3p)'}, {'start': 2040, 'end': 2130, 'rate': 'expensive', 'range': '(24.7p - 25.4p)'}, {'start': 2130, 'end': 2310, 'rate': 'cheap', 'range': '(22.0p - 24.0p)'}] export [{'start': 865, 'end': 2310, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 14:25:15.624810: - Your estimated bill for today is £5.42 and tomorrow is £8.00
2026-08-15 14:25:15.624845: - Import rates are cheap (13.8p - 15.9p) for the next 1 and a half hours and then expensive (33.1p) for the next 1 hour.
2026-08-15 14:25:15.624863: - The battery is currently at 58% and is charging to 100% for the next 1 and a half hours.
2026-08-15 14:25:15.624877: - For the next 48 hours there will be no solar generation.
2026-08-15 14:25:15.624891: - You will run out of battery in 21 hours.
2026-08-15 14:25:15.624905: 
2026-08-15 14:25:15.669711: Plan calculation took 11.72 seconds
2026-08-15 14:25:15.670074: Inverter 0: Type SK Sunsynk
2026-08-15 14:25:15.670120: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 14:25:15.670358: Reserve min: 7%, battery_min: 7%
2026-08-15 14:25:15.670440: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 14:25:15.670840: Inverter 0 SoC: 9.69kW 61%, current charge rate 5000W, current discharge rate 5250W, current battery power -4551W, current battery voltage 51.2V, grid power -5200W, load power 204W, PV Power 0W
2026-08-15 14:25:15.671102: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 14:25:15.671214: Inverter 0 scheduled charge enable is True
2026-08-15 14:25:15.671271: Inverter 0 charge windows currently [{'start': 630, 'end': 960, 'average': 0}, {'start': 2070, 'end': 2400, 'average': 0}, {'start': 3510, 'end': 3840, 'average': 0}]
2026-08-15 14:25:15.671397: Inverter 0 Charge settings: 08-15 10:30:00-08-15 16:00:00, limit 100.0%, power 5.0kW
2026-08-15 14:25:15.671528: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 14:25:15.671564: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 14:25:15.671602: Inverter 0 scheduled discharge enable is False
2026-08-15 14:25:15.671723: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 14:25:15.671761: Inverter 0 discharge windows currently []
2026-08-15 14:25:15.671784: Note: Inverter does not support discharge freeze - disabled
2026-08-15 14:25:15.671806: Note: Inverter does not support charge freeze - disabled
2026-08-15 14:25:15.671824: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 14:25:15.725720: Include original charge start 08-15 10:30:00, keeping this instead of new start 08-15 14:00:00
2026-08-15 14:25:15.725838: Inverter 0 Charge window will be: 2026-08-15 10:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 61%, target 100%
2026-08-15 14:25:15.725969: Inverter 0 Target SoC 100%, (this inverter 100%), battery temperature 20°C, select charge rate 5000W (real 5000W), current charge rate 5000W
2026-08-15 14:25:15.726163: Adjust idle time, charge 10:30:00-16:00:00 discharge 00:00:00-00:00:00
2026-08-15 14:25:15.726394: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 14:25:15.726484: No export window planned
2026-08-15 14:25:15.726593: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 14:25:15.726629: Adjust idle time, charge 10:30:00-16:00:00 discharge 00:00:00-00:00:00
2026-08-15 14:25:15.726763: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 14:25:15.726873: Inverter 0 setting charging SoC to 100% as per target
2026-08-15 14:25:15.726915: Inverter 0 adjust target SoC for charge to 100% based on requested all inverter SoC 100%
2026-08-15 14:25:15.726964: Inverter 0 Current Target SoC is 100%, already at target
2026-08-15 14:25:15.727075: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:25:15.727119: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:25:15.727147: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:25:15.727172: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:25:15.727197: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:25:15.727221: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:25:15.727250: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:25:15.727295: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 14:25:15.727377: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 14:25:15.727414: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 14:25:15.727441: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 14:25:15.727471: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 14:25:15.727497: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 14:25:15.727521: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 14:25:15.727586: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:25:15.727618: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:25:15.727643: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:25:15.727670: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:25:15.727698: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:25:15.727728: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:25:15.727754: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:25:15.727780: Inverter 0 count register writes 0
2026-08-15 14:25:15.749799: Total inverter register writes now 825
2026-08-15 14:25:15.781198: Info: Completed run status Charging
2026-08-15 14:25:15.787162: Info: record_status Charging target 61%-100.0%
2026-08-15 14:25:15.794127: Saved current settings to /config/predbat_config.json
2026-08-15 14:25:15.794450: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 14:25:56.905339: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 14:25:56.905611: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 14:25:56.905683: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 14:25:56.905864: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 14:25:56.905929: Note: Inverter does not support discharge freeze - disabled
2026-08-15 14:25:56.905965: Note: Inverter does not support charge freeze - disabled
2026-08-15 14:25:56.905982: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 14:27:57.125270: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 14:27:57.125523: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 14:27:57.125590: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 14:27:57.125793: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 14:27:57.125846: Note: Inverter does not support discharge freeze - disabled
2026-08-15 14:27:57.125882: Note: Inverter does not support charge freeze - disabled
2026-08-15 14:27:57.125902: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 14:29:57.339271: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 14:29:57.339571: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 14:29:57.339660: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 14:29:57.339822: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 14:29:57.339865: Note: Inverter does not support discharge freeze - disabled
2026-08-15 14:29:57.339886: Note: Inverter does not support charge freeze - disabled
2026-08-15 14:29:57.339903: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 14:30:00.425145: --------------- PredBat - update at 2026-08-15 14:30:00+01:00 with clock skew 0 minutes, minutes now 870
2026-08-15 14:30:00.425913: Saved current settings to /config/predbat_config.json
2026-08-15 14:30:00.426044: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 10.0 minutes
2026-08-15 14:30:00.426141: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.2, latest beta is v8.48.2
2026-08-15 14:30:00.426247: Autoupdate: There is an update pending v8.48.2 PV90 and second pass enabled by default, bug fixes - auto update is off
2026-08-15 14:30:00.445823: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 14:30:00.445929: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 14:30:00.446068: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 14:30:00.446526: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 14:30:00.446625: Predbat mode is set to Control charge & discharge
2026-08-15 14:30:00.621071: Found 21602 load_today datapoints going back 28 days
2026-08-15 14:30:00.621219: Using load_power data to fill gaps in load_today data
2026-08-15 14:30:01.375819: Processing 721 30-minute periods for power integration
2026-08-15 14:30:01.556573: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 14:30:01.556708: Car charging hold False, threshold 6.0kWh
2026-08-15 14:30:01.556755: Current data so far today: load 8.1kWh, import 19.0kWh, export 0.0kWh, PV 0kWh
2026-08-15 14:30:01.571859: Cars: SoC: [11.134]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 14:30:01.572324: Standing charge is set to 49.98p
2026-08-15 14:30:01.621113: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 14:30:01.621248: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 14:30:01.621567: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 230.0 minutes
2026-08-15 14:30:01.622258: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 230.0 minutes
2026-08-15 14:30:01.634407: Loaded 95 datapoints of futurerate analysis
2026-08-15 14:30:01.721322: Predicted future rates: ['08-15 00:00:00 => 28.9 / 20.01', '08-15 01:00:00 => 27.54 / 19.31', '08-15 02:00:00 => 26.52 / 18.8', '08-15 03:00:00 => 25.99 / 18.53', '08-15 04:00:00 => 25.8 / 18.43', '08-15 05:00:00 => 25.96 / 18.51', '08-15 06:00:00 => 25.55 / 18.3', '08-15 07:00:00 => 24.33 / 17.68', '08-15 08:00:00 => 23.03 / 17.01', '08-15 09:00:00 => 22.05 / 16.51', '08-15 10:00:00 => 20.43 / 15.68', '08-15 11:00:00 => 18.01 / 14.45', '08-15 12:00:00 => 16.37 / 13.61', '08-15 13:00:00 => 15.76 / 13.3', '08-15 14:00:00 => 15.35 / 13.09', '08-15 15:00:00 => 15.86 / 13.35', '08-15 16:00:00 => 32.89 / 16.13', '08-15 17:00:00 => 38.02 / 18.75', '08-15 18:00:00 => 42.36 / 20.96', '08-15 19:00:00 => 31.09 / 21.13', '08-15 20:00:00 => 31.64 / 21.41', '08-15 21:00:00 => 31.64 / 21.41', '08-15 22:00:00 => 30.58 / 20.87', '08-15 23:00:00 => 29.37 / 20.25', '08-16 00:00:00 => 28.83 / 19.97', '08-16 01:00:00 => 27.73 / 19.41', '08-16 02:00:00 => 26.76 / 18.92', '08-16 03:00:00 => 26.39 / 18.73', '08-16 04:00:00 => 26.33 / 18.7', '08-16 05:00:00 => 26.23 / 18.65', '08-16 06:00:00 => 25.99 / 18.53', '08-16 07:00:00 => 25.64 / 18.35', '08-16 08:00:00 => 24.84 / 17.94', '08-16 09:00:00 => 24.26 / 17.64', '08-16 10:00:00 => 24.8 / 17.92', '08-16 11:00:00 => 24.71 / 17.87', '08-16 12:00:00 => 23.79 / 17.4', '08-16 13:00:00 => 23.14 / 17.07']
2026-08-15 14:30:01.773663: Rate min forward looking: now 13.77p at end of forecast 21.29p
2026-08-15 14:30:01.773986: Import rates: min 13.77p, max 46.05p, average 28.14p
2026-08-15 14:30:01.809323: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 14:30:01.809453: Rate thresholds (for charge/export) are import 45.55p (0.0p), export -0.1p (0.0p)
2026-08-15 14:30:01.810520: High export rate found rates in range 99p to -99p
2026-08-15 14:30:01.889006: Low Import rate found rates in range 13.77p to 44.19p
2026-08-15 14:30:01.889160: Car 0 charging is not planned as it is not plugged in
2026-08-15 14:30:01.900801: Battery level now 9.33kWh, -1hr ago 5.47kWh, at midnight 1.66kWh, battery value change in the last hour 45.6p, change today 90.73p, rate_forward 11.83p
2026-08-15 14:30:01.901207: Last hour: net energy 4.75kWh, import 4.75kWh, export 0.0kWh, car 0kWh, load 0.22kWh, net cost 72.15p, import 72.15p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 14:30:01.955350: Today's energy total net 19.0kWh, import 19.0kWh, export 0.0kWh, cost 430.97p, import 380.99p, export 0.0p, carbon 0.0kg
2026-08-15 14:30:01.955578: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 14:30:02.036563: Using weighted-bucket historical load forecast over 14 days
2026-08-15 14:30:02.065403: Today's load divergence 95.25%, in-day adjustment 114.6%, damping 0.95x, yesterday 143.77% today 95.49% blend 39.58%
2026-08-15 14:30:02.065501: Today's predicted so far 8.88kWh with 0.0kWh car/iBoost excluded, 12.72kWh import ignored, and 8.88kWh forecast extra.
2026-08-15 14:30:02.065534: Today's actual load so far 8.19kWh with 0.0kWh car/iBoost excluded, and 12.72kWh import ignored.
2026-08-15 14:30:02.101872: Inverter 0: Type SK Sunsynk
2026-08-15 14:30:02.101961: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 14:30:02.102140: Reserve min: 7%, battery_min: 7%
2026-08-15 14:30:02.102213: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 14:30:02.102516: Inverter 0 SoC: 10.02kW 63%, current charge rate 5000W, current discharge rate 5250W, current battery power -4550W, current battery voltage 51.2V, grid power -5244W, load power 248W, PV Power 0W
2026-08-15 14:30:02.102670: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 14:30:02.102752: Inverter 0 scheduled charge enable is True
2026-08-15 14:30:02.102802: Inverter 0 charge windows currently [{'start': 630, 'end': 960, 'average': 0}, {'start': 2070, 'end': 2400, 'average': 0}, {'start': 3510, 'end': 3840, 'average': 0}]
2026-08-15 14:30:02.102889: Inverter 0 Charge settings: 08-15 10:30:00-08-15 16:00:00, limit 100.0%, power 5.0kW
2026-08-15 14:30:02.103010: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 14:30:02.103046: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 14:30:02.103082: Inverter 0 scheduled discharge enable is False
2026-08-15 14:30:02.103224: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 14:30:02.103262: Inverter 0 discharge windows currently []
2026-08-15 14:30:02.103284: Note: Inverter does not support discharge freeze - disabled
2026-08-15 14:30:02.103303: Note: Inverter does not support charge freeze - disabled
2026-08-15 14:30:02.103324: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 14:30:02.167248: Dynamic load last period 0.00kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 14:30:02.167375: Plan was last updated on 2026-08-15 14:25:00+01:00 and is now 5.0 minutes old
2026-08-15 14:30:02.167565: Best charge window [ 15-08 14:00:00 - 15-08 16:00:00 @ 15.23p 100%, 16-08 14:30:00 - 16-08 18:30:00 @ 41.92p 100%, 16-08 19:00:00 - 17-08 14:30:00 @ 22.55p 100% ]
2026-08-15 14:30:02.167608: Best export window [  ]
2026-08-15 14:30:02.168405: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 14:30:02.171633: Load divergence over 8.0 hours mean 478.52W, min 295.8W, max 1270.8W, std dev 192.83W, divergence 20.15%
2026-08-15 14:30:02.189761: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 14:30:02.189875: LoadML is_calculating False
2026-08-15 14:30:02.189939: Creating pool of 12 processes to match your CPU count
2026-08-15 14:30:02.311459: predict base end_record 08-16 14:35:00, final soc 16.0kWh, metric 1015.0p, metric_keep 0kWh, min_soc 2.59kWh @ 08-16 10:25:00, load 24.86kWh, PV 0.0kWh
2026-08-15 14:30:02.460383: Battery has 48.0 hours left - now at 10.02kWh
2026-08-15 14:30:02.512221: predict base10 end_record 08-16 14:35:00, final soc 16.0kWh, metric 1033.86p, metric_keep 0kWh, min_soc 1.76kWh @ 08-16 10:25:00, load 25.66kWh, PV 0.0kWh
2026-08-15 14:30:02.590741: predict best10 end_record 08-16 14:35:00, final soc 1.44kWh, metric 662.15p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 11:10:00, load 25.66kWh, PV 0.0kWh
2026-08-15 14:30:02.681626: predict best end_record 08-16 14:35:00, final soc 1.51kWh, metric 642.6p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 12:00:00, load 24.86kWh, PV 0.0kWh
2026-08-15 14:30:02.681729: Saving plan best values to HA entities
2026-08-15 14:30:02.863611: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0
2026-08-15 14:30:02.869636: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 14:30:02.875434: Best charging limit SoC's [16.0, 16.0, 16.0]kWh, export []kWh gives import battery 7.94kWh, house 1.8kWh, export 0.0kWh, metric 642.6p, metric10 662.15p
2026-08-15 14:30:02.958017: Marginal costs baseline metric (no standing charge): 592.6123
2026-08-15 14:30:03.246036: Marginal energy costs matrix computed: min=14.39 max=31.56
2026-08-15 14:30:03.326353: Rate array import [{'start': 870, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 15.9p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1950, 'rate': 'expensive', 'range': '(24.8p - 32.9p)'}, {'start': 1950, 'end': 2040, 'rate': 'cheap', 'range': '(24.2p - 24.3p)'}, {'start': 2040, 'end': 2130, 'rate': 'expensive', 'range': '(24.7p - 25.4p)'}, {'start': 2130, 'end': 2315, 'rate': 'cheap', 'range': '(21.3p - 24.0p)'}] export [{'start': 870, 'end': 2315, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 14:30:03.326998: - Your estimated bill for today is £5.41 and tomorrow is £7.97
2026-08-15 14:30:03.327052: - Import rates are cheap (13.8p - 15.9p) for the next 1 and a half hours and then expensive (33.1p) for the next 1 hour.
2026-08-15 14:30:03.327075: - The battery is currently at 63% and is charging to 100% for the next 1 and a half hours.
2026-08-15 14:30:03.327095: - For the next 48 hours there will be no solar generation.
2026-08-15 14:30:03.327132: - You will run out of battery in 21 hours.
2026-08-15 14:30:03.327158: 
2026-08-15 14:30:03.385254: Plan calculation took 1.22 seconds
2026-08-15 14:30:03.388783: No high rate period found
2026-08-15 14:30:03.448611: Import threshold used for optimisation was 24.28p
2026-08-15 14:30:03.532703: Low import rate windows [0: 08-15 14:30:00 - 08-15 15:00:00 @ 13.77, 1: 08-15 15:00:00 - 08-15 15:30:00 @ 15.02, 2: 08-15 15:30:00 - 08-15 16:00:00 @ 15.87, 3: 08-15 16:00:00 - 08-15 16:30:00 @ 33.13, 4: 08-15 16:30:00 - 08-15 17:00:00 @ 33.13, 5: 08-15 17:00:00 - 08-15 17:30:00 @ 38.46, 6: 08-15 17:30:00 - 08-15 18:00:00 @ 40.44, 7: 08-15 18:00:00 - 08-15 18:30:00 @ 41.55, 8: 08-15 18:30:00 - 08-15 19:00:00 @ 43.82, 9: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 10: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 11: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 12: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 13: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 14: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 15: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 16: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 17: 08-15 23:00:00 - 08-15 23:30:00 @ 29.37, 18: 08-15 23:30:00 - 08-16 00:00:00 @ 29.2, 19: 08-16 00:00:00 - 08-16 00:30:00 @ 28.83, 20: 08-16 00:30:00 - 08-16 01:00:00 @ 28.46, 21: 08-16 01:00:00 - 08-16 01:30:00 @ 27.73, 22: 08-16 01:30:00 - 08-16 02:00:00 @ 27.01, 23: 08-16 02:00:00 - 08-16 02:30:00 @ 26.76, 24: 08-16 02:30:00 - 08-16 03:00:00 @ 26.48, 25: 08-16 03:00:00 - 08-16 03:30:00 @ 26.39, 26: 08-16 03:30:00 - 08-16 04:00:00 @ 26.27, 27: 08-16 04:00:00 - 08-16 04:30:00 @ 26.33, 28: 08-16 04:30:00 - 08-16 05:00:00 @ 26.37, 29: 08-16 05:00:00 - 08-16 05:30:00 @ 26.23, 30: 08-16 05:30:00 - 08-16 06:00:00 @ 26.07, 31: 08-16 06:00:00 - 08-16 06:30:00 @ 25.99, 32: 08-16 06:30:00 - 08-16 07:00:00 @ 25.92, 33: 08-16 07:00:00 - 08-16 07:30:00 @ 25.64, 34: 08-16 07:30:00 - 08-16 08:00:00 @ 25.39, 35: 08-16 08:00:00 - 08-16 08:30:00 @ 24.84, 36: 08-16 08:30:00 - 08-16 09:00:00 @ 24.28, 37: 08-16 09:00:00 - 08-16 09:30:00 @ 24.26, 38: 08-16 09:30:00 - 08-16 10:00:00 @ 24.22, 39: 08-16 10:00:00 - 08-16 10:30:00 @ 24.8, 40: 08-16 10:30:00 - 08-16 11:00:00 @ 25.37, 41: 08-16 11:00:00 - 08-16 11:30:00 @ 24.71, 42: 08-16 11:30:00 - 08-16 12:00:00 @ 24.02, 43: 08-16 12:00:00 - 08-16 12:30:00 @ 23.79, 44: 08-16 12:30:00 - 08-16 13:00:00 @ 23.55, 45: 08-16 13:00:00 - 08-16 13:30:00 @ 23.14, 46: 08-16 13:30:00 - 08-16 14:00:00 @ 22.71, 47: 08-16 14:00:00 - 08-16 14:30:00 @ 22.01, 48: 08-16 14:30:00 - 08-16 15:00:00 @ 21.29, 49: 08-16 15:00:00 - 08-16 15:30:00 @ 22.01, 50: 08-16 15:30:00 - 08-16 16:00:00 @ 22.71, 51: 08-16 16:00:00 - 08-16 16:30:00 @ 37.14, 52: 08-16 16:30:00 - 08-16 17:00:00 @ 37.91, 53: 08-16 17:00:00 - 08-16 17:30:00 @ 40.13, 54: 08-16 17:30:00 - 08-16 18:00:00 @ 42.36, 55: 08-16 18:00:00 - 08-16 18:30:00 @ 44.19, 56: 08-16 19:00:00 - 08-16 19:30:00 @ 33.04, 57: 08-16 19:30:00 - 08-16 20:00:00 @ 33.71, 58: 08-16 20:00:00 - 08-16 20:30:00 @ 33.83, 59: 08-16 20:30:00 - 08-16 21:00:00 @ 33.94, 60: 08-16 21:00:00 - 08-16 21:30:00 @ 33.73, 61: 08-16 21:30:00 - 08-16 22:00:00 @ 33.53, 62: 08-16 22:00:00 - 08-16 22:30:00 @ 32.36, 63: 08-16 22:30:00 - 08-16 23:00:00 @ 31.17, 64: 08-16 23:00:00 - 08-16 23:30:00 @ 29.37, 65: 08-16 23:30:00 - 08-17 00:00:00 @ 29.2, 66: 08-17 00:00:00 - 08-17 00:30:00 @ 28.83, 67: 08-17 00:30:00 - 08-17 01:00:00 @ 28.46, 68: 08-17 01:00:00 - 08-17 01:30:00 @ 27.73, 69: 08-17 01:30:00 - 08-17 02:00:00 @ 27.01, 70: 08-17 02:00:00 - 08-17 02:30:00 @ 26.76, 71: 08-17 02:30:00 - 08-17 03:00:00 @ 26.48, 72: 08-17 03:00:00 - 08-17 03:30:00 @ 26.39, 73: 08-17 03:30:00 - 08-17 04:00:00 @ 26.27, 74: 08-17 04:00:00 - 08-17 04:30:00 @ 26.33, 75: 08-17 04:30:00 - 08-17 05:00:00 @ 26.37, 76: 08-17 05:00:00 - 08-17 05:30:00 @ 26.23, 77: 08-17 05:30:00 - 08-17 06:00:00 @ 26.07, 78: 08-17 06:00:00 - 08-17 06:30:00 @ 25.99, 79: 08-17 06:30:00 - 08-17 07:00:00 @ 25.92, 80: 08-17 07:00:00 - 08-17 07:30:00 @ 25.64, 81: 08-17 07:30:00 - 08-17 08:00:00 @ 25.39, 82: 08-17 08:00:00 - 08-17 08:30:00 @ 24.84, 83: 08-17 08:30:00 - 08-17 09:00:00 @ 24.28, 84: 08-17 09:00:00 - 08-17 09:30:00 @ 24.26, 85: 08-17 09:30:00 - 08-17 10:00:00 @ 24.22, 86: 08-17 10:00:00 - 08-17 10:30:00 @ 24.8, 87: 08-17 10:30:00 - 08-17 11:00:00 @ 25.37, 88: 08-17 11:00:00 - 08-17 11:30:00 @ 24.71, 89: 08-17 11:30:00 - 08-17 12:00:00 @ 24.02, 90: 08-17 12:00:00 - 08-17 12:30:00 @ 23.79, 91: 08-17 12:30:00 - 08-17 13:00:00 @ 23.55, 92: 08-17 13:00:00 - 08-17 13:30:00 @ 23.14, 93: 08-17 13:30:00 - 08-17 14:00:00 @ 22.71, 94: 08-17 14:00:00 - 08-17 14:30:00 @ 22.01]
2026-08-15 14:30:03.541924: Include original charge start 08-15 10:30:00, keeping this instead of new start 08-15 14:00:00
2026-08-15 14:30:03.542081: Inverter 0 Charge window will be: 2026-08-15 10:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 63%, target 100%
2026-08-15 14:30:03.542306: Inverter 0 Target SoC 100%, (this inverter 100%), battery temperature 20°C, select charge rate 5000W (real 5000W), current charge rate 5000W
2026-08-15 14:30:03.542607: Adjust idle time, charge 10:30:00-16:00:00 discharge 00:00:00-00:00:00
2026-08-15 14:30:03.542923: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 14:30:03.543074: No export window planned
2026-08-15 14:30:03.543290: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 14:30:03.543346: Adjust idle time, charge 10:30:00-16:00:00 discharge 00:00:00-00:00:00
2026-08-15 14:30:03.543623: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 14:30:03.543808: Inverter 0 setting charging SoC to 100% as per target
2026-08-15 14:30:03.543904: Inverter 0 adjust target SoC for charge to 100% based on requested all inverter SoC 100%
2026-08-15 14:30:03.544017: Inverter 0 Current Target SoC is 100%, already at target
2026-08-15 14:30:03.544234: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:30:03.544340: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:30:03.544429: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:30:03.544505: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:30:03.544584: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:30:03.544637: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:30:03.544699: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:30:03.544806: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 14:30:03.544904: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 14:30:03.545001: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 14:30:03.545069: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 14:30:03.545131: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 14:30:03.545196: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 14:30:03.545252: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 14:30:03.545382: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:30:03.545466: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:30:03.545515: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:30:03.545567: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:30:03.545624: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:30:03.545685: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:30:03.545746: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:30:03.545797: Inverter 0 count register writes 0
2026-08-15 14:30:03.562013: Will not recompute the plan, it is 5.0 minutes old and max age is 10 minutes
2026-08-15 14:30:03.567509: Total inverter register writes now 825
2026-08-15 14:30:03.605390: Info: Completed run status Charging
2026-08-15 14:30:03.612392: Info: record_status Charging target 63%-100.0%
2026-08-15 14:30:03.620266: Saved current settings to /config/predbat_config.json
2026-08-15 14:30:03.620654: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 14:30:41.736120: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 14:30:41.736422: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 14:30:41.736468: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 14:30:41.736618: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 14:30:41.736656: Note: Inverter does not support discharge freeze - disabled
2026-08-15 14:30:41.736675: Note: Inverter does not support charge freeze - disabled
2026-08-15 14:30:41.736689: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 14:32:09.695643: ML Component: Fetching 28 days of load history from ['sensor.sunsynk_day_load_energy']
2026-08-15 14:32:10.772301: Processing 1345 30-minute periods for power integration
2026-08-15 14:32:10.881363: ML Component: Car charging hold False, car energy reported load False
2026-08-15 14:32:10.988607: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 14:32:11.088866: ML Temperature data points: 49531
2026-08-15 14:32:11.351454: ML Component: Fetched 8064 load data points, 28.0 days of history
2026-08-15 14:32:11.388203: ML Component: Data fetch completed, load data age 57.0 days, 16439 data points
2026-08-15 14:32:11.388328: ML Component: No training needed, model age is 0.38 hours
2026-08-15 14:32:11.388426: ML Component: Generating predictions load data age 57.0 days, 16439 data points
2026-08-15 14:32:11.502771: ML Predictor: Starting autoregressive prediction loop for 576 steps (48.0 hours), prev_energy value 0.0116 max_dow {0: 0.10148124996256083, 1: 0.10722812486607582, 2: 0.11988124983031304, 3: 0.11477812442630529, 4: 0.1668593753574416, 5: 0.09790277780294418, 6: 0.10850624993629754}
2026-08-15 14:32:18.630131: ML Component: Generated 576 predictions (total 34.54 kWh over 48h)
2026-08-15 14:32:18.700926: ML Component: Prediction cycle completed
2026-08-15 14:32:18.811023: ML Component: Saved 16439 steps (57 days) of history to /config/predbat_ml_history.npz
2026-08-15 14:32:41.962842: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 14:32:41.963188: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 14:32:41.963244: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 14:32:41.963480: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 14:32:41.963527: Note: Inverter does not support discharge freeze - disabled
2026-08-15 14:32:41.963583: Note: Inverter does not support charge freeze - disabled
2026-08-15 14:32:41.963616: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 14:34:42.187236: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 14:34:42.187575: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 14:34:42.187644: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 14:34:42.187806: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 14:34:42.187841: Note: Inverter does not support discharge freeze - disabled
2026-08-15 14:34:42.187869: Note: Inverter does not support charge freeze - disabled
2026-08-15 14:34:42.187893: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 14:35:00.287456: --------------- PredBat - update at 2026-08-15 14:35:00+01:00 with clock skew 0 minutes, minutes now 875
2026-08-15 14:35:00.288391: Saved current settings to /config/predbat_config.json
2026-08-15 14:35:00.288606: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 15.0 minutes
2026-08-15 14:35:00.288810: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.2, latest beta is v8.48.2
2026-08-15 14:35:00.289034: Autoupdate: There is an update pending v8.48.2 PV90 and second pass enabled by default, bug fixes - auto update is off
2026-08-15 14:35:00.308142: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 14:35:00.308273: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 14:35:00.308455: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 14:35:00.309028: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 14:35:00.309158: Predbat mode is set to Control charge & discharge
2026-08-15 14:35:00.500588: Found 21602 load_today datapoints going back 28 days
2026-08-15 14:35:00.500740: Using load_power data to fill gaps in load_today data
2026-08-15 14:35:01.316045: Processing 721 30-minute periods for power integration
2026-08-15 14:35:01.498113: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 14:35:01.498475: Car charging hold False, threshold 6.0kWh
2026-08-15 14:35:01.498987: Current data so far today: load 8.1kWh, import 19.0kWh, export 0.0kWh, PV 0kWh
2026-08-15 14:35:01.511293: Cars: SoC: [11.134]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 14:35:01.511699: Standing charge is set to 49.98p
2026-08-15 14:35:01.550997: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 14:35:01.551105: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 14:35:01.551330: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 235.0 minutes
2026-08-15 14:35:01.551822: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 235.0 minutes
2026-08-15 14:35:01.557812: Loaded 95 datapoints of futurerate analysis
2026-08-15 14:35:01.634087: Predicted future rates: ['08-15 00:00:00 => 28.9 / 20.01', '08-15 01:00:00 => 27.54 / 19.31', '08-15 02:00:00 => 26.52 / 18.8', '08-15 03:00:00 => 25.99 / 18.53', '08-15 04:00:00 => 25.8 / 18.43', '08-15 05:00:00 => 25.96 / 18.51', '08-15 06:00:00 => 25.55 / 18.3', '08-15 07:00:00 => 24.33 / 17.68', '08-15 08:00:00 => 23.03 / 17.01', '08-15 09:00:00 => 22.05 / 16.51', '08-15 10:00:00 => 20.43 / 15.68', '08-15 11:00:00 => 18.01 / 14.45', '08-15 12:00:00 => 16.37 / 13.61', '08-15 13:00:00 => 15.76 / 13.3', '08-15 14:00:00 => 15.35 / 13.09', '08-15 15:00:00 => 15.86 / 13.35', '08-15 16:00:00 => 32.89 / 16.13', '08-15 17:00:00 => 38.02 / 18.75', '08-15 18:00:00 => 42.36 / 20.96', '08-15 19:00:00 => 31.09 / 21.13', '08-15 20:00:00 => 31.64 / 21.41', '08-15 21:00:00 => 31.64 / 21.41', '08-15 22:00:00 => 30.58 / 20.87', '08-15 23:00:00 => 29.37 / 20.25', '08-16 00:00:00 => 28.83 / 19.97', '08-16 01:00:00 => 27.73 / 19.41', '08-16 02:00:00 => 26.76 / 18.92', '08-16 03:00:00 => 26.39 / 18.73', '08-16 04:00:00 => 26.33 / 18.7', '08-16 05:00:00 => 26.23 / 18.65', '08-16 06:00:00 => 25.99 / 18.53', '08-16 07:00:00 => 25.64 / 18.35', '08-16 08:00:00 => 24.84 / 17.94', '08-16 09:00:00 => 24.26 / 17.64', '08-16 10:00:00 => 24.8 / 17.92', '08-16 11:00:00 => 24.71 / 17.87', '08-16 12:00:00 => 23.79 / 17.4', '08-16 13:00:00 => 23.14 / 17.07']
2026-08-15 14:35:01.684517: Rate min forward looking: now 13.77p at end of forecast 21.29p
2026-08-15 14:35:01.684990: Import rates: min 13.77p, max 46.05p, average 28.15p
2026-08-15 14:35:01.719655: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 14:35:01.719750: Rate thresholds (for charge/export) are import 45.55p (0.0p), export -0.1p (0.0p)
2026-08-15 14:35:01.720896: High export rate found rates in range 99p to -99p
2026-08-15 14:35:01.801449: Low Import rate found rates in range 13.77p to 44.19p
2026-08-15 14:35:01.801579: Car 0 charging is not planned as it is not plugged in
2026-08-15 14:35:01.812495: Battery level now 10.02kWh, -1hr ago 5.82kWh, at midnight 1.66kWh, battery value change in the last hour 49.67p, change today 98.96p, rate_forward 11.83p
2026-08-15 14:35:01.812804: Last hour: net energy 4.3kWh, import 4.3kWh, export 0.0kWh, car 0kWh, load 0.2kWh, net cost 65.07p, import 65.07p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 14:35:01.863261: Today's energy total net 19.0kWh, import 19.0kWh, export 0.0kWh, cost 430.97p, import 380.99p, export 0.0p, carbon 0.0kg
2026-08-15 14:35:01.863392: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 14:35:01.934743: Using weighted-bucket historical load forecast over 14 days
2026-08-15 14:35:01.957543: Today's load divergence 95.22%, in-day adjustment 114.41%, damping 0.95x, yesterday 143.77% today 95.46% blend 39.24%
2026-08-15 14:35:01.957623: Today's predicted so far 8.97kWh with 0.0kWh car/iBoost excluded, 12.81kWh import ignored, and 8.97kWh forecast extra.
2026-08-15 14:35:01.957647: Today's actual load so far 8.28kWh with 0.0kWh car/iBoost excluded, and 12.81kWh import ignored.
2026-08-15 14:35:01.995559: Inverter 0: Type SK Sunsynk
2026-08-15 14:35:01.995644: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 14:35:01.995861: Reserve min: 7%, battery_min: 7%
2026-08-15 14:35:01.995941: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 14:35:01.996174: Inverter 0 SoC: 10.38kW 65%, current charge rate 5000W, current discharge rate 5250W, current battery power -4550W, current battery voltage 51.2V, grid power -5201W, load power 204W, PV Power 0W
2026-08-15 14:35:01.996307: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 14:35:01.996380: Inverter 0 scheduled charge enable is True
2026-08-15 14:35:01.996436: Inverter 0 charge windows currently [{'start': 630, 'end': 960, 'average': 0}, {'start': 2070, 'end': 2400, 'average': 0}, {'start': 3510, 'end': 3840, 'average': 0}]
2026-08-15 14:35:01.996541: Inverter 0 Charge settings: 08-15 10:30:00-08-15 16:00:00, limit 100.0%, power 5.0kW
2026-08-15 14:35:01.996636: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 14:35:01.996669: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 14:35:01.996699: Inverter 0 scheduled discharge enable is False
2026-08-15 14:35:01.996795: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 14:35:01.996831: Inverter 0 discharge windows currently []
2026-08-15 14:35:01.996863: Note: Inverter does not support discharge freeze - disabled
2026-08-15 14:35:01.996883: Note: Inverter does not support charge freeze - disabled
2026-08-15 14:35:01.996898: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 14:35:02.053220: Dynamic load last period 0.00kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 14:35:02.053332: Plan was last updated on 2026-08-15 14:25:00+01:00 and is now 10.0 minutes old
2026-08-15 14:35:02.053544: Best charge window [ 15-08 14:00:00 - 15-08 16:00:00 @ 15.23p 100%, 16-08 14:30:00 - 16-08 18:30:00 @ 41.92p 100%, 16-08 19:00:00 - 17-08 14:30:00 @ 22.55p 100% ]
2026-08-15 14:35:02.053588: Best export window [  ]
2026-08-15 14:35:02.054305: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 14:35:02.057050: Load divergence over 8.0 hours mean 475.37W, min 294.0W, max 1140.6W, std dev 189.77W, divergence 19.96%
2026-08-15 14:35:02.074679: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 14:35:02.074792: LoadML is_calculating False
2026-08-15 14:35:02.074849: Creating pool of 12 processes to match your CPU count
2026-08-15 14:35:02.179339: predict base end_record 08-16 14:40:00, final soc 16.0kWh, metric 1009.37p, metric_keep 0kWh, min_soc 2.62kWh @ 08-16 10:25:00, load 24.83kWh, PV 0.0kWh
2026-08-15 14:35:02.301890: Battery has 48.0 hours left - now at 10.38kWh
2026-08-15 14:35:02.341578: predict base10 end_record 08-16 14:40:00, final soc 16.0kWh, metric 1028.3p, metric_keep 0kWh, min_soc 1.76kWh @ 08-16 10:25:00, load 25.63kWh, PV 0.0kWh
2026-08-15 14:35:02.404465: predict best10 end_record 08-16 14:40:00, final soc 1.77kWh, metric 663.98p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 11:10:00, load 25.63kWh, PV 0.0kWh
2026-08-15 14:35:02.484468: predict best end_record 08-16 14:40:00, final soc 1.9kWh, metric 645.93p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 12:00:00, load 24.83kWh, PV 0.0kWh
2026-08-15 14:35:02.484553: Saving plan best values to HA entities
2026-08-15 14:35:02.637795: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0
2026-08-15 14:35:02.642532: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 14:35:02.647162: Best charging limit SoC's [16.0, 16.0, 16.0]kWh, export []kWh gives import battery 7.97kWh, house 1.77kWh, export 0.0kWh, metric 645.93p, metric10 663.98p
2026-08-15 14:35:02.717725: Marginal costs baseline metric (no standing charge): 595.9449
2026-08-15 14:35:02.930488: Marginal energy costs matrix computed: min=14.57 max=31.05
2026-08-15 14:35:03.004253: Rate array import [{'start': 875, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 15.9p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1950, 'rate': 'expensive', 'range': '(24.8p - 32.9p)'}, {'start': 1950, 'end': 2040, 'rate': 'cheap', 'range': '(24.2p - 24.3p)'}, {'start': 2040, 'end': 2130, 'rate': 'expensive', 'range': '(24.7p - 25.4p)'}, {'start': 2130, 'end': 2320, 'rate': 'cheap', 'range': '(21.3p - 24.0p)'}] export [{'start': 875, 'end': 2320, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 14:35:03.004716: - Your estimated bill for today is £5.35 and tomorrow is £7.94
2026-08-15 14:35:03.004762: - Import rates are cheap (13.8p - 15.9p) for the next 1 and a half hours and then expensive (33.1p) for the next 1 hour.
2026-08-15 14:35:03.004785: - The battery is currently at 65% and is charging to 100% for the next 1 and a half hours.
2026-08-15 14:35:03.004804: - For the next 48 hours there will be no solar generation.
2026-08-15 14:35:03.004821: - You will run out of battery in 21 hours.
2026-08-15 14:35:03.004860: 
2026-08-15 14:35:03.058535: Plan calculation took 1.01 seconds
2026-08-15 14:35:03.061455: No high rate period found
2026-08-15 14:35:03.110654: Import threshold used for optimisation was 24.28p
2026-08-15 14:35:03.160154: Low import rate windows [0: 08-15 14:30:00 - 08-15 15:00:00 @ 13.77, 1: 08-15 15:00:00 - 08-15 15:30:00 @ 15.02, 2: 08-15 15:30:00 - 08-15 16:00:00 @ 15.87, 3: 08-15 16:00:00 - 08-15 16:30:00 @ 33.13, 4: 08-15 16:30:00 - 08-15 17:00:00 @ 33.13, 5: 08-15 17:00:00 - 08-15 17:30:00 @ 38.46, 6: 08-15 17:30:00 - 08-15 18:00:00 @ 40.44, 7: 08-15 18:00:00 - 08-15 18:30:00 @ 41.55, 8: 08-15 18:30:00 - 08-15 19:00:00 @ 43.82, 9: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 10: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 11: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 12: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 13: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 14: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 15: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 16: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 17: 08-15 23:00:00 - 08-15 23:30:00 @ 29.37, 18: 08-15 23:30:00 - 08-16 00:00:00 @ 29.2, 19: 08-16 00:00:00 - 08-16 00:30:00 @ 28.83, 20: 08-16 00:30:00 - 08-16 01:00:00 @ 28.46, 21: 08-16 01:00:00 - 08-16 01:30:00 @ 27.73, 22: 08-16 01:30:00 - 08-16 02:00:00 @ 27.01, 23: 08-16 02:00:00 - 08-16 02:30:00 @ 26.76, 24: 08-16 02:30:00 - 08-16 03:00:00 @ 26.48, 25: 08-16 03:00:00 - 08-16 03:30:00 @ 26.39, 26: 08-16 03:30:00 - 08-16 04:00:00 @ 26.27, 27: 08-16 04:00:00 - 08-16 04:30:00 @ 26.33, 28: 08-16 04:30:00 - 08-16 05:00:00 @ 26.37, 29: 08-16 05:00:00 - 08-16 05:30:00 @ 26.23, 30: 08-16 05:30:00 - 08-16 06:00:00 @ 26.07, 31: 08-16 06:00:00 - 08-16 06:30:00 @ 25.99, 32: 08-16 06:30:00 - 08-16 07:00:00 @ 25.92, 33: 08-16 07:00:00 - 08-16 07:30:00 @ 25.64, 34: 08-16 07:30:00 - 08-16 08:00:00 @ 25.39, 35: 08-16 08:00:00 - 08-16 08:30:00 @ 24.84, 36: 08-16 08:30:00 - 08-16 09:00:00 @ 24.28, 37: 08-16 09:00:00 - 08-16 09:30:00 @ 24.26, 38: 08-16 09:30:00 - 08-16 10:00:00 @ 24.22, 39: 08-16 10:00:00 - 08-16 10:30:00 @ 24.8, 40: 08-16 10:30:00 - 08-16 11:00:00 @ 25.37, 41: 08-16 11:00:00 - 08-16 11:30:00 @ 24.71, 42: 08-16 11:30:00 - 08-16 12:00:00 @ 24.02, 43: 08-16 12:00:00 - 08-16 12:30:00 @ 23.79, 44: 08-16 12:30:00 - 08-16 13:00:00 @ 23.55, 45: 08-16 13:00:00 - 08-16 13:30:00 @ 23.14, 46: 08-16 13:30:00 - 08-16 14:00:00 @ 22.71, 47: 08-16 14:00:00 - 08-16 14:30:00 @ 22.01, 48: 08-16 14:30:00 - 08-16 15:00:00 @ 21.29, 49: 08-16 15:00:00 - 08-16 15:30:00 @ 22.01, 50: 08-16 15:30:00 - 08-16 16:00:00 @ 22.71, 51: 08-16 16:00:00 - 08-16 16:30:00 @ 37.14, 52: 08-16 16:30:00 - 08-16 17:00:00 @ 37.91, 53: 08-16 17:00:00 - 08-16 17:30:00 @ 40.13, 54: 08-16 17:30:00 - 08-16 18:00:00 @ 42.36, 55: 08-16 18:00:00 - 08-16 18:30:00 @ 44.19, 56: 08-16 19:00:00 - 08-16 19:30:00 @ 33.04, 57: 08-16 19:30:00 - 08-16 20:00:00 @ 33.71, 58: 08-16 20:00:00 - 08-16 20:30:00 @ 33.83, 59: 08-16 20:30:00 - 08-16 21:00:00 @ 33.94, 60: 08-16 21:00:00 - 08-16 21:30:00 @ 33.73, 61: 08-16 21:30:00 - 08-16 22:00:00 @ 33.53, 62: 08-16 22:00:00 - 08-16 22:30:00 @ 32.36, 63: 08-16 22:30:00 - 08-16 23:00:00 @ 31.17, 64: 08-16 23:00:00 - 08-16 23:30:00 @ 29.37, 65: 08-16 23:30:00 - 08-17 00:00:00 @ 29.2, 66: 08-17 00:00:00 - 08-17 00:30:00 @ 28.83, 67: 08-17 00:30:00 - 08-17 01:00:00 @ 28.46, 68: 08-17 01:00:00 - 08-17 01:30:00 @ 27.73, 69: 08-17 01:30:00 - 08-17 02:00:00 @ 27.01, 70: 08-17 02:00:00 - 08-17 02:30:00 @ 26.76, 71: 08-17 02:30:00 - 08-17 03:00:00 @ 26.48, 72: 08-17 03:00:00 - 08-17 03:30:00 @ 26.39, 73: 08-17 03:30:00 - 08-17 04:00:00 @ 26.27, 74: 08-17 04:00:00 - 08-17 04:30:00 @ 26.33, 75: 08-17 04:30:00 - 08-17 05:00:00 @ 26.37, 76: 08-17 05:00:00 - 08-17 05:30:00 @ 26.23, 77: 08-17 05:30:00 - 08-17 06:00:00 @ 26.07, 78: 08-17 06:00:00 - 08-17 06:30:00 @ 25.99, 79: 08-17 06:30:00 - 08-17 07:00:00 @ 25.92, 80: 08-17 07:00:00 - 08-17 07:30:00 @ 25.64, 81: 08-17 07:30:00 - 08-17 08:00:00 @ 25.39, 82: 08-17 08:00:00 - 08-17 08:30:00 @ 24.84, 83: 08-17 08:30:00 - 08-17 09:00:00 @ 24.28, 84: 08-17 09:00:00 - 08-17 09:30:00 @ 24.26, 85: 08-17 09:30:00 - 08-17 10:00:00 @ 24.22, 86: 08-17 10:00:00 - 08-17 10:30:00 @ 24.8, 87: 08-17 10:30:00 - 08-17 11:00:00 @ 25.37, 88: 08-17 11:00:00 - 08-17 11:30:00 @ 24.71, 89: 08-17 11:30:00 - 08-17 12:00:00 @ 24.02, 90: 08-17 12:00:00 - 08-17 12:30:00 @ 23.79, 91: 08-17 12:30:00 - 08-17 13:00:00 @ 23.55, 92: 08-17 13:00:00 - 08-17 13:30:00 @ 23.14, 93: 08-17 13:30:00 - 08-17 14:00:00 @ 22.71, 94: 08-17 14:00:00 - 08-17 14:30:00 @ 22.01, 95: 08-17 14:30:00 - 08-17 15:00:00 @ 21.29]
2026-08-15 14:35:03.167562: Include original charge start 08-15 10:30:00, keeping this instead of new start 08-15 14:00:00
2026-08-15 14:35:03.167684: Inverter 0 Charge window will be: 2026-08-15 10:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 65%, target 100%
2026-08-15 14:35:03.167856: Inverter 0 Target SoC 100%, (this inverter 100%), battery temperature 20°C, select charge rate 5000W (real 5000W), current charge rate 5000W
2026-08-15 14:35:03.168101: Adjust idle time, charge 10:30:00-16:00:00 discharge 00:00:00-00:00:00
2026-08-15 14:35:03.168372: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 14:35:03.168492: No export window planned
2026-08-15 14:35:03.168626: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 14:35:03.168662: Adjust idle time, charge 10:30:00-16:00:00 discharge 00:00:00-00:00:00
2026-08-15 14:35:03.168796: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 14:35:03.168918: Inverter 0 setting charging SoC to 100% as per target
2026-08-15 14:35:03.168987: Inverter 0 adjust target SoC for charge to 100% based on requested all inverter SoC 100%
2026-08-15 14:35:03.169066: Inverter 0 Current Target SoC is 100%, already at target
2026-08-15 14:35:03.169184: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:35:03.169229: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:35:03.169257: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:35:03.169289: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:35:03.169314: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:35:03.169338: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:35:03.169367: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:35:03.169410: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 14:35:03.169462: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 14:35:03.169493: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 14:35:03.169525: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 14:35:03.169554: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 14:35:03.169602: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 14:35:03.169628: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 14:35:03.169700: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:35:03.169729: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:35:03.169753: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:35:03.169786: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:35:03.169810: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:35:03.169838: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:35:03.169862: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:35:03.169891: Inverter 0 count register writes 0
2026-08-15 14:35:03.186706: Will recompute the plan as it is now 10.0 minutes old and will exceed the max age of 10 minutes before the next run
2026-08-15 14:35:03.186891: Recompute is saving previous plan...
2026-08-15 14:35:03.190093: Best charge window [ 15-08 14:30:00 - 15-08 15:00:00 @ 13.77p 100%, 15-08 15:00:00 - 15-08 15:30:00 @ 15.02p 100%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 100%, 15-08 16:00:00 - 15-08 16:30:00 @ 33.13p 100%, 15-08 16:30:00 - 15-08 17:00:00 @ 33.13p 100%, 15-08 17:00:00 - 15-08 17:30:00 @ 38.46p 100%, 15-08 17:30:00 - 15-08 18:00:00 @ 40.44p 100%, 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 100%, 15-08 18:30:00 - 15-08 19:00:00 @ 43.82p 100%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 100%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 100%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 100%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 100%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 100%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 100%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 100%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 100%, 15-08 23:00:00 - 15-08 23:30:00 @ 29.37p 100%, 15-08 23:30:00 - 16-08 00:00:00 @ 29.2p 100%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.83p 100%, 16-08 00:30:00 - 16-08 01:00:00 @ 28.46p 100%, 16-08 01:00:00 - 16-08 01:30:00 @ 27.73p 100%, 16-08 01:30:00 - 16-08 02:00:00 @ 27.01p 100%, 16-08 02:00:00 - 16-08 02:30:00 @ 26.76p 100%, 16-08 02:30:00 - 16-08 03:00:00 @ 26.48p 100%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.39p 100%, 16-08 03:30:00 - 16-08 04:00:00 @ 26.27p 100%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.33p 100%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.37p 100%, 16-08 05:00:00 - 16-08 05:30:00 @ 26.23p 100%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.07p 100%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.99p 100%, 16-08 06:30:00 - 16-08 07:00:00 @ 25.92p 100%, 16-08 07:00:00 - 16-08 07:30:00 @ 25.64p 100%, 16-08 07:30:00 - 16-08 08:00:00 @ 25.39p 100%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.84p 100%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.28p 100%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.26p 100%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.22p 100%, 16-08 10:00:00 - 16-08 10:30:00 @ 24.8p 100%, 16-08 10:30:00 - 16-08 11:00:00 @ 25.37p 100%, 16-08 11:00:00 - 16-08 11:30:00 @ 24.71p 100%, 16-08 11:30:00 - 16-08 12:00:00 @ 24.02p 100%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.79p 100%, 16-08 12:30:00 - 16-08 13:00:00 @ 23.55p 100%, 16-08 13:00:00 - 16-08 13:30:00 @ 23.14p 100%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.71p 100%, 16-08 14:00:00 - 16-08 14:30:00 @ 22.01p 100%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.29p 100%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.01p 100%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.71p 100%, 16-08 16:00:00 - 16-08 16:30:00 @ 37.14p 100%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.91p 100%, 16-08 17:00:00 - 16-08 17:30:00 @ 40.13p 100%, 16-08 17:30:00 - 16-08 18:00:00 @ 42.36p 100%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.19p 100%, 16-08 19:00:00 - 16-08 19:30:00 @ 33.04p 100%, 16-08 19:30:00 - 16-08 20:00:00 @ 33.71p 100%, 16-08 20:00:00 - 16-08 20:30:00 @ 33.83p 100%, 16-08 20:30:00 - 16-08 21:00:00 @ 33.94p 100%, 16-08 21:00:00 - 16-08 21:30:00 @ 33.73p 100%, 16-08 21:30:00 - 16-08 22:00:00 @ 33.53p 100%, 16-08 22:00:00 - 16-08 22:30:00 @ 32.36p 100%, 16-08 22:30:00 - 16-08 23:00:00 @ 31.17p 100%, 16-08 23:00:00 - 16-08 23:30:00 @ 29.37p 100%, 16-08 23:30:00 - 17-08 00:00:00 @ 29.2p 100%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.83p 100%, 17-08 00:30:00 - 17-08 01:00:00 @ 28.46p 100%, 17-08 01:00:00 - 17-08 01:30:00 @ 27.73p 100%, 17-08 01:30:00 - 17-08 02:00:00 @ 27.01p 100%, 17-08 02:00:00 - 17-08 02:30:00 @ 26.76p 100%, 17-08 02:30:00 - 17-08 03:00:00 @ 26.48p 100%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.39p 100%, 17-08 03:30:00 - 17-08 04:00:00 @ 26.27p 100%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.33p 100%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.37p 100%, 17-08 05:00:00 - 17-08 05:30:00 @ 26.23p 100%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.07p 100%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.99p 100%, 17-08 06:30:00 - 17-08 07:00:00 @ 25.92p 100%, 17-08 07:00:00 - 17-08 07:30:00 @ 25.64p 100%, 17-08 07:30:00 - 17-08 08:00:00 @ 25.39p 100%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.84p 100%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.28p 100%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.26p 100%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.22p 100%, 17-08 10:00:00 - 17-08 10:30:00 @ 24.8p 100%, 17-08 10:30:00 - 17-08 11:00:00 @ 25.37p 100%, 17-08 11:00:00 - 17-08 11:30:00 @ 24.71p 100%, 17-08 11:30:00 - 17-08 12:00:00 @ 24.02p 100%, 17-08 12:00:00 - 17-08 12:30:00 @ 23.79p 100%, 17-08 12:30:00 - 17-08 13:00:00 @ 23.55p 100%, 17-08 13:00:00 - 17-08 13:30:00 @ 23.14p 100%, 17-08 13:30:00 - 17-08 14:00:00 @ 22.71p 100%, 17-08 14:00:00 - 17-08 14:30:00 @ 22.01p 100%, 17-08 14:30:00 - 17-08 15:00:00 @ 21.29p 100% ]
2026-08-15 14:35:03.190182: Best export window [  ]
2026-08-15 14:35:03.191030: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 14:35:03.194147: Load divergence over 8.0 hours mean 475.37W, min 294.0W, max 1140.6W, std dev 189.77W, divergence 19.96%
2026-08-15 14:35:03.211573: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 14:35:03.211684: LoadML is_calculating False
2026-08-15 14:35:03.211751: Creating pool of 12 processes to match your CPU count
2026-08-15 14:35:03.305591: Calculate Best options: mode(Control charge & discharge), calculate_export_oncharge(False), calculate_export_on_pv(True), set_export_freeze_only(False), set_discharge_during_charge(True), combine_charge_slots(False), combine_export_slots(False), combine_rate_threshold(0.0), best_soc_min(0.0 kWh), best_soc_max(0.0 kWh), best_soc_keep(0.0 kWh), inverter_loss(4%), battery_loss(3%), battery_loss_discharge (3%), inverter_hybrid(True), metric_min_improvement(0.0p), metric_min_improvement_export(0.1p), metric_min_improvement_export_freeze(0.1p), metric_battery_cycle(0.0p/kWh), metric_battery_value_scaling(1.0 x) 
2026-08-15 14:35:03.308732: Optimise levels pass started at 2026-08-15 14:35:03
2026-08-15 14:35:03.308820: Optimise all windows, total charge 95 export 1
2026-08-15 14:35:04.172674: >> Region optimisation pass width 960 gives best_metric 954.61p, best_cost 968.82p, best_cycle 38.86kWh, best_import 25.94kWh
2026-08-15 14:35:04.517249: >> Region optimisation pass width 480 gives best_metric 954.61p, best_cost 968.82p, best_cycle 38.86kWh, best_import 25.94kWh
2026-08-15 14:35:04.956587: >> Region optimisation pass width 240 gives best_metric 954.61p, best_cost 968.82p, best_cycle 38.86kWh, best_import 25.94kWh
2026-08-15 14:35:06.063640: >> Region optimisation pass width 120 gives best_metric 954.61p, best_cost 968.82p, best_cycle 38.86kWh, best_import 25.94kWh
2026-08-15 14:35:06.063983: Calculated end_record as 08-16 15:00:00 based on best_price 22.71p, next_charge_start 08-15 15:00:00, max_windows 49
2026-08-15 14:35:06.064058: Optimise levels pass ended at 2026-08-15 14:35:06, duration 2.8 seconds tried 268 combinations
2026-08-15 14:35:06.064126: Set best_price_charge_level 24.4p, best_price_export_level 0p, best_price_charge 22.71p, best_cost_export 0p, best_metric 954.61p, best_keep 0kWh, best_cycle 38.86kWh, best_carbon 0kg, best_import 25.94kWh
2026-08-15 14:35:06.086727: Starting detailed optimisation end_record 08-16 15:00:00, best_price_charge 22.71p, best_price_export 0p. lowest_price_charge 13.77p with charge limits [16.0, 16.0, 16.0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0]kWh and export limits []kWh
2026-08-15 14:35:09.313626: Tweak plan optimisation started metric 565.19p, cost 582.51p
2026-08-15 14:35:09.530227: Tweak optimisation finished metric 565.19p, cost 582.51p, metric_keep 0kWh, cycle 20.22kWh, carbon 0kg, import 9.11kWh, changed 8 window(s)
2026-08-15 14:35:09.545674: Swap charge optimisation started metric 565.19p, cost 582.51p, min_improvement_swap 0.1p
2026-08-15 14:35:10.787511: Swap charge optimisation finished metric 565.19p, cost 582.51p
2026-08-15 14:35:10.842703: Pruned 1 dead plan slot(s) in 4 trial(s), nominal metric 562.02p -> 562.02p, plan now metric 565.2p, cost 582.51p, cycle 20.22kWh, import 9.11kWh
2026-08-15 14:35:10.854475: Raw charge windows [ 15-08 14:30:00 - 15-08 15:00:00 @ 13.77p 100%, 15-08 15:00:00 - 15-08 15:30:00 @ 15.02p 100%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 100%, 15-08 16:00:00 - 15-08 16:30:00 @ 33.13p 0%, 15-08 16:30:00 - 15-08 17:00:00 @ 33.13p 0%, 15-08 17:00:00 - 15-08 17:30:00 @ 38.46p 0%, 15-08 17:30:00 - 15-08 18:00:00 @ 40.44p 0%, 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 0%, 15-08 18:30:00 - 15-08 19:00:00 @ 43.82p 0%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 0%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 0%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 0%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 0%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 29.37p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 29.2p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.83p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 28.46p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 27.73p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 27.01p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 26.76p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 26.48p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.39p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 26.27p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.33p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.37p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 26.23p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.07p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.99p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 25.92p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 25.64p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 25.39p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.84p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.28p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.26p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.22p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 24.8p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 25.37p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 24.71p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 24.02p 0%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.79p 0%, 16-08 12:30:00 - 16-08 13:00:00 @ 23.55p 0%, 16-08 13:00:00 - 16-08 13:30:00 @ 23.14p 0%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.71p 0%, 16-08 14:00:00 - 16-08 14:30:00 @ 22.01p 0%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.29p 0%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.01p 100%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.71p 100%, 16-08 16:00:00 - 16-08 16:30:00 @ 37.14p 100%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.91p 100%, 16-08 17:00:00 - 16-08 17:30:00 @ 40.13p 100%, 16-08 17:30:00 - 16-08 18:00:00 @ 42.36p 100%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.19p 100%, 16-08 19:00:00 - 16-08 19:30:00 @ 33.04p 100%, 16-08 19:30:00 - 16-08 20:00:00 @ 33.71p 100%, 16-08 20:00:00 - 16-08 20:30:00 @ 33.83p 100%, 16-08 20:30:00 - 16-08 21:00:00 @ 33.94p 100%, 16-08 21:00:00 - 16-08 21:30:00 @ 33.73p 100%, 16-08 21:30:00 - 16-08 22:00:00 @ 33.53p 100%, 16-08 22:00:00 - 16-08 22:30:00 @ 32.36p 100%, 16-08 22:30:00 - 16-08 23:00:00 @ 31.17p 100%, 16-08 23:00:00 - 16-08 23:30:00 @ 29.37p 100%, 16-08 23:30:00 - 17-08 00:00:00 @ 29.2p 100%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.83p 100%, 17-08 00:30:00 - 17-08 01:00:00 @ 28.46p 100%, 17-08 01:00:00 - 17-08 01:30:00 @ 27.73p 100%, 17-08 01:30:00 - 17-08 02:00:00 @ 27.01p 100%, 17-08 02:00:00 - 17-08 02:30:00 @ 26.76p 100%, 17-08 02:30:00 - 17-08 03:00:00 @ 26.48p 100%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.39p 100%, 17-08 03:30:00 - 17-08 04:00:00 @ 26.27p 100%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.33p 100%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.37p 100%, 17-08 05:00:00 - 17-08 05:30:00 @ 26.23p 100%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.07p 100%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.99p 100%, 17-08 06:30:00 - 17-08 07:00:00 @ 25.92p 100%, 17-08 07:00:00 - 17-08 07:30:00 @ 25.64p 100%, 17-08 07:30:00 - 17-08 08:00:00 @ 25.39p 100%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.84p 100%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.28p 100%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.26p 100%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.22p 100%, 17-08 10:00:00 - 17-08 10:30:00 @ 24.8p 100%, 17-08 10:30:00 - 17-08 11:00:00 @ 25.37p 100%, 17-08 11:00:00 - 17-08 11:30:00 @ 24.71p 100%, 17-08 11:30:00 - 17-08 12:00:00 @ 24.02p 100%, 17-08 12:00:00 - 17-08 12:30:00 @ 23.79p 100%, 17-08 12:30:00 - 17-08 13:00:00 @ 23.55p 100%, 17-08 13:00:00 - 17-08 13:30:00 @ 23.14p 100%, 17-08 13:30:00 - 17-08 14:00:00 @ 22.71p 100%, 17-08 14:00:00 - 17-08 14:30:00 @ 22.01p 100%, 17-08 14:30:00 - 17-08 15:00:00 @ 21.29p 100% ] reserve 1.12
2026-08-15 14:35:10.854995: Unclipped charge windows [ 15-08 14:30:00 - 15-08 16:00:00 @ 15.13p 100%, 16-08 15:00:00 - 16-08 18:30:00 @ 41.93p 100%, 16-08 19:00:00 - 17-08 15:00:00 @ 21.92p 100% ] reserve 1.12
2026-08-15 14:35:10.855192: Unfiltered charge windows [ 15-08 14:30:00 - 15-08 16:00:00 @ 15.13p 100%, 16-08 15:00:00 - 16-08 18:30:00 @ 41.93p 100%, 16-08 19:00:00 - 17-08 15:00:00 @ 21.92p 100% ] reserve 1.12
2026-08-15 14:35:10.855352: Filtered charge windows [ 15-08 14:30:00 - 15-08 16:00:00 @ 15.13p 100%, 16-08 15:00:00 - 16-08 18:30:00 @ 41.93p 100%, 16-08 19:00:00 - 17-08 15:00:00 @ 21.92p 100% ] reserve 1.12
2026-08-15 14:35:10.892312: Previous plan best metric is 575.57 (cost 635.73) and new plan best metric is 565.19 (cost 582.51)
2026-08-15 14:35:10.892739: New plan metric is significantly better from previous plan, using new plan
2026-08-15 14:35:10.892795: Plan valid is now true after recompute was False
2026-08-15 14:35:10.919151: predict base end_record 08-16 15:00:00, final soc 16.0kWh, metric 1013.67p, metric_keep 0kWh, min_soc 2.62kWh @ 08-16 10:25:00, load 25.03kWh, PV 0.0kWh
2026-08-15 14:35:11.044807: Battery has 48.0 hours left - now at 10.38kWh
2026-08-15 14:35:11.082753: predict base10 end_record 08-16 15:00:00, final soc 16.0kWh, metric 1032.81p, metric_keep 0kWh, min_soc 1.76kWh @ 08-16 10:25:00, load 25.84kWh, PV 0.0kWh
2026-08-15 14:35:11.158637: predict best10 end_record 08-16 15:00:00, final soc 1.12kWh, metric 653.7p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 11:10:00, load 25.84kWh, PV 0.0kWh
2026-08-15 14:35:11.241771: predict best end_record 08-16 15:00:00, final soc 1.12kWh, metric 632.49p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 12:00:00, load 25.03kWh, PV 0.0kWh
2026-08-15 14:35:11.241907: Saving plan best values to HA entities
2026-08-15 14:35:11.403875: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0
2026-08-15 14:35:11.412092: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 14:35:11.419886: Best charging limit SoC's [16.0, 16.0, 16.0]kWh, export []kWh gives import battery 7.04kWh, house 2.07kWh, export 0.0kWh, metric 632.49p, metric10 653.7p
2026-08-15 14:35:11.495165: Marginal costs baseline metric (no standing charge): 582.5059
2026-08-15 14:35:11.737737: Marginal energy costs matrix computed: min=14.57 max=31.05
2026-08-15 14:35:11.797259: Rate array import [{'start': 875, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 15.9p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1950, 'rate': 'expensive', 'range': '(24.8p - 32.9p)'}, {'start': 1950, 'end': 2040, 'rate': 'cheap', 'range': '(24.2p - 24.3p)'}, {'start': 2040, 'end': 2130, 'rate': 'expensive', 'range': '(24.7p - 25.4p)'}, {'start': 2130, 'end': 2340, 'rate': 'cheap', 'range': '(21.3p - 24.0p)'}] export [{'start': 875, 'end': 2340, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 14:35:11.797604: - Your estimated bill for today is £5.35 and tomorrow is £8.49
2026-08-15 14:35:11.797644: - Import rates are cheap (13.8p - 15.9p) for the next 1 and a half hours and then expensive (33.1p) for the next 1 hour.
2026-08-15 14:35:11.797664: - The battery is currently at 65% and is charging to 100% for the next 1 and a half hours.
2026-08-15 14:35:11.797679: - For the next 48 hours there will be no solar generation.
2026-08-15 14:35:11.797693: - You will run out of battery in 21 hours.
2026-08-15 14:35:11.797710: 
2026-08-15 14:35:11.848011: Plan calculation took 8.66 seconds
2026-08-15 14:35:11.848469: Inverter 0: Type SK Sunsynk
2026-08-15 14:35:11.848520: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 14:35:11.848750: Reserve min: 7%, battery_min: 7%
2026-08-15 14:35:11.848829: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 14:35:11.849202: Inverter 0 SoC: 10.38kW 65%, current charge rate 5000W, current discharge rate 5250W, current battery power -4550W, current battery voltage 51.2V, grid power -5201W, load power 204W, PV Power 0W
2026-08-15 14:35:11.849538: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 14:35:11.849689: Inverter 0 scheduled charge enable is True
2026-08-15 14:35:11.849744: Inverter 0 charge windows currently [{'start': 630, 'end': 960, 'average': 0}, {'start': 2070, 'end': 2400, 'average': 0}, {'start': 3510, 'end': 3840, 'average': 0}]
2026-08-15 14:35:11.849861: Inverter 0 Charge settings: 08-15 10:30:00-08-15 16:00:00, limit 100.0%, power 5.0kW
2026-08-15 14:35:11.850008: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 14:35:11.850048: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 14:35:11.850086: Inverter 0 scheduled discharge enable is False
2026-08-15 14:35:11.850221: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 14:35:11.850260: Inverter 0 discharge windows currently []
2026-08-15 14:35:11.850284: Note: Inverter does not support discharge freeze - disabled
2026-08-15 14:35:11.850304: Note: Inverter does not support charge freeze - disabled
2026-08-15 14:35:11.850326: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 14:35:11.904522: Include original charge start 08-15 10:30:00, keeping this instead of new start 08-15 14:30:00
2026-08-15 14:35:11.904682: Inverter 0 Charge window will be: 2026-08-15 10:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 65%, target 100%
2026-08-15 14:35:11.904885: Inverter 0 Target SoC 100%, (this inverter 100%), battery temperature 20°C, select charge rate 5000W (real 5000W), current charge rate 5000W
2026-08-15 14:35:11.905131: Adjust idle time, charge 10:30:00-16:00:00 discharge 00:00:00-00:00:00
2026-08-15 14:35:11.905383: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 14:35:11.905514: No export window planned
2026-08-15 14:35:11.905691: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 14:35:11.905736: Adjust idle time, charge 10:30:00-16:00:00 discharge 00:00:00-00:00:00
2026-08-15 14:35:11.905926: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 14:35:11.906100: Inverter 0 setting charging SoC to 100% as per target
2026-08-15 14:35:11.906161: Inverter 0 adjust target SoC for charge to 100% based on requested all inverter SoC 100%
2026-08-15 14:35:11.906234: Inverter 0 Current Target SoC is 100%, already at target
2026-08-15 14:35:11.906400: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:35:11.906474: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:35:11.906520: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:35:11.906576: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:35:11.906628: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:35:11.906679: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:35:11.906740: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:35:11.906828: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 14:35:11.906895: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 14:35:11.906968: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 14:35:11.907035: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 14:35:11.907090: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 14:35:11.907142: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 14:35:11.907203: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 14:35:11.907316: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:35:11.907372: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:35:11.907449: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:35:11.907484: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:35:11.907534: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:35:11.907594: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:35:11.907673: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:35:11.907727: Inverter 0 count register writes 0
2026-08-15 14:35:11.928180: Total inverter register writes now 825
2026-08-15 14:35:11.958320: Info: Completed run status Charging
2026-08-15 14:35:11.965529: Info: record_status Charging target 65%-100.0%
2026-08-15 14:35:11.972074: Saved current settings to /config/predbat_config.json
2026-08-15 14:35:11.972396: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 14:35:42.064348: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 14:35:42.064766: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 14:35:42.064825: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 14:35:42.065076: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 14:35:42.065129: Note: Inverter does not support discharge freeze - disabled
2026-08-15 14:35:42.065156: Note: Inverter does not support charge freeze - disabled
2026-08-15 14:35:42.065200: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 14:37:42.290879: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 14:37:42.291147: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 14:37:42.291190: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 14:37:42.291327: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 14:37:42.291390: Note: Inverter does not support discharge freeze - disabled
2026-08-15 14:37:42.291411: Note: Inverter does not support charge freeze - disabled
2026-08-15 14:37:42.291429: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 14:39:56.534957: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 14:39:56.535308: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 14:39:56.535389: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 14:39:56.535534: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 14:39:56.535574: Note: Inverter does not support discharge freeze - disabled
2026-08-15 14:39:56.535596: Note: Inverter does not support charge freeze - disabled
2026-08-15 14:39:56.535613: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 14:40:00.620370: --------------- PredBat - update at 2026-08-15 14:40:00+01:00 with clock skew 0 minutes, minutes now 880
2026-08-15 14:40:00.621220: Saved current settings to /config/predbat_config.json
2026-08-15 14:40:00.621369: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 20.0 minutes
2026-08-15 14:40:00.621464: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.2, latest beta is v8.48.2
2026-08-15 14:40:00.621611: Autoupdate: There is an update pending v8.48.2 PV90 and second pass enabled by default, bug fixes - auto update is off
2026-08-15 14:40:00.642029: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 14:40:00.642158: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 14:40:00.642360: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 14:40:00.642955: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 14:40:00.643101: Predbat mode is set to Control charge & discharge
2026-08-15 14:40:00.880124: Found 21602 load_today datapoints going back 28 days
2026-08-15 14:40:00.880303: Using load_power data to fill gaps in load_today data
2026-08-15 14:40:01.737971: Processing 721 30-minute periods for power integration
2026-08-15 14:40:01.929692: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 14:40:01.929834: Car charging hold False, threshold 6.0kWh
2026-08-15 14:40:01.929881: Current data so far today: load 8.22kWh, import 19.9kWh, export 0.0kWh, PV 0kWh
2026-08-15 14:40:01.944970: Cars: SoC: [11.134]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 14:40:01.945539: Standing charge is set to 49.98p
2026-08-15 14:40:01.991999: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 14:40:01.992102: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 14:40:01.992373: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 240.0 minutes
2026-08-15 14:40:01.992815: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 240.0 minutes
2026-08-15 14:40:01.999264: Loaded 95 datapoints of futurerate analysis
2026-08-15 14:40:02.093537: Predicted future rates: ['08-15 00:00:00 => 28.9 / 20.01', '08-15 01:00:00 => 27.54 / 19.31', '08-15 02:00:00 => 26.52 / 18.8', '08-15 03:00:00 => 25.99 / 18.53', '08-15 04:00:00 => 25.8 / 18.43', '08-15 05:00:00 => 25.96 / 18.51', '08-15 06:00:00 => 25.55 / 18.3', '08-15 07:00:00 => 24.33 / 17.68', '08-15 08:00:00 => 23.03 / 17.01', '08-15 09:00:00 => 22.05 / 16.51', '08-15 10:00:00 => 20.43 / 15.68', '08-15 11:00:00 => 18.01 / 14.45', '08-15 12:00:00 => 16.37 / 13.61', '08-15 13:00:00 => 15.76 / 13.3', '08-15 14:00:00 => 15.35 / 13.09', '08-15 15:00:00 => 15.86 / 13.35', '08-15 16:00:00 => 32.89 / 16.13', '08-15 17:00:00 => 38.02 / 18.75', '08-15 18:00:00 => 42.36 / 20.96', '08-15 19:00:00 => 31.09 / 21.13', '08-15 20:00:00 => 31.64 / 21.41', '08-15 21:00:00 => 31.64 / 21.41', '08-15 22:00:00 => 30.58 / 20.87', '08-15 23:00:00 => 29.37 / 20.25', '08-16 00:00:00 => 28.83 / 19.97', '08-16 01:00:00 => 27.73 / 19.41', '08-16 02:00:00 => 26.76 / 18.92', '08-16 03:00:00 => 26.39 / 18.73', '08-16 04:00:00 => 26.33 / 18.7', '08-16 05:00:00 => 26.23 / 18.65', '08-16 06:00:00 => 25.99 / 18.53', '08-16 07:00:00 => 25.64 / 18.35', '08-16 08:00:00 => 24.84 / 17.94', '08-16 09:00:00 => 24.26 / 17.64', '08-16 10:00:00 => 24.8 / 17.92', '08-16 11:00:00 => 24.71 / 17.87', '08-16 12:00:00 => 23.79 / 17.4', '08-16 13:00:00 => 23.14 / 17.07']
2026-08-15 14:40:02.158244: Rate min forward looking: now 13.77p at end of forecast 21.29p
2026-08-15 14:40:02.158737: Import rates: min 13.77p, max 46.05p, average 28.16p
2026-08-15 14:40:02.202593: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 14:40:02.202772: Rate thresholds (for charge/export) are import 45.55p (0.0p), export -0.1p (0.0p)
2026-08-15 14:40:02.204126: High export rate found rates in range 99p to -99p
2026-08-15 14:40:02.305741: Low Import rate found rates in range 13.77p to 44.19p
2026-08-15 14:40:02.305876: Car 0 charging is not planned as it is not plugged in
2026-08-15 14:40:02.318882: Battery level now 10.38kWh, -1hr ago 6.53kWh, at midnight 1.66kWh, battery value change in the last hour 45.6p, change today 103.22p, rate_forward 11.83p
2026-08-15 14:40:02.319261: Last hour: net energy 4.8kWh, import 4.8kWh, export 0.0kWh, car 0kWh, load 0.3kWh, net cost 71.45p, import 71.45p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 14:40:02.377660: Today's energy total net 19.9kWh, import 19.9kWh, export 0.0kWh, cost 443.72p, import 393.74p, export 0.0p, carbon 0.0kg
2026-08-15 14:40:02.377822: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 14:40:02.466777: Using weighted-bucket historical load forecast over 14 days
2026-08-15 14:40:02.496159: Today's load divergence 95.49%, in-day adjustment 114.4%, damping 0.95x, yesterday 143.77% today 95.72% blend 38.89%
2026-08-15 14:40:02.496279: Today's predicted so far 8.99kWh with 0.0kWh car/iBoost excluded, 13.66kWh import ignored, and 8.99kWh forecast extra.
2026-08-15 14:40:02.496316: Today's actual load so far 8.33kWh with 0.0kWh car/iBoost excluded, and 13.66kWh import ignored.
2026-08-15 14:40:02.529242: Inverter 0: Type SK Sunsynk
2026-08-15 14:40:02.529346: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 14:40:02.529524: Reserve min: 7%, battery_min: 7%
2026-08-15 14:40:02.529595: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 14:40:02.529853: Inverter 0 SoC: 10.38kW 65%, current charge rate 5000W, current discharge rate 5250W, current battery power -4548W, current battery voltage 51.2V, grid power -5250W, load power 253W, PV Power 0W
2026-08-15 14:40:02.530005: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 14:40:02.530092: Inverter 0 scheduled charge enable is True
2026-08-15 14:40:02.530136: Inverter 0 charge windows currently [{'start': 630, 'end': 960, 'average': 0}, {'start': 2070, 'end': 2400, 'average': 0}, {'start': 3510, 'end': 3840, 'average': 0}]
2026-08-15 14:40:02.530222: Inverter 0 Charge settings: 08-15 10:30:00-08-15 16:00:00, limit 100.0%, power 5.0kW
2026-08-15 14:40:02.530356: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 14:40:02.530395: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 14:40:02.530431: Inverter 0 scheduled discharge enable is False
2026-08-15 14:40:02.530546: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 14:40:02.530583: Inverter 0 discharge windows currently []
2026-08-15 14:40:02.530605: Note: Inverter does not support discharge freeze - disabled
2026-08-15 14:40:02.530624: Note: Inverter does not support charge freeze - disabled
2026-08-15 14:40:02.530641: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 14:40:02.592709: Dynamic load last period 0.30kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 14:40:02.592810: Plan was last updated on 2026-08-15 14:35:00+01:00 and is now 5.0 minutes old
2026-08-15 14:40:02.592999: Best charge window [ 15-08 14:30:00 - 15-08 16:00:00 @ 15.13p 100%, 16-08 15:00:00 - 16-08 18:30:00 @ 41.93p 100%, 16-08 19:00:00 - 17-08 15:00:00 @ 21.92p 100% ]
2026-08-15 14:40:02.593038: Best export window [  ]
2026-08-15 14:40:02.593719: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 14:40:02.596156: Load divergence over 8.0 hours mean 472.3W, min 291.6W, max 1201.8W, std dev 188.06W, divergence 19.91%
2026-08-15 14:40:02.611003: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 14:40:02.611095: LoadML is_calculating False
2026-08-15 14:40:02.611147: Creating pool of 12 processes to match your CPU count
2026-08-15 14:40:02.728590: predict base end_record 08-16 15:05:00, final soc 16.0kWh, metric 1028.32p, metric_keep 0kWh, min_soc 2.59kWh @ 08-16 10:25:00, load 25.17kWh, PV 0.0kWh
2026-08-15 14:40:02.858538: Battery has 48.0 hours left - now at 10.38kWh
2026-08-15 14:40:02.909518: predict base10 end_record 08-16 15:05:00, final soc 16.0kWh, metric 1048.74p, metric_keep 0kWh, min_soc 1.52kWh @ 08-16 10:25:00, load 25.98kWh, PV 0.0kWh
2026-08-15 14:40:02.986420: predict best10 end_record 08-16 15:05:00, final soc 1.44kWh, metric 677.14p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 10:55:00, load 25.98kWh, PV 0.0kWh
2026-08-15 14:40:03.071335: predict best end_record 08-16 15:05:00, final soc 1.51kWh, metric 656.24p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 12:00:00, load 25.17kWh, PV 0.0kWh
2026-08-15 14:40:03.071434: Saving plan best values to HA entities
2026-08-15 14:40:03.238314: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0
2026-08-15 14:40:03.243886: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 14:40:03.250003: Best charging limit SoC's [16.0, 16.0, 16.0]kWh, export []kWh gives import battery 7.45kWh, house 2.09kWh, export 0.0kWh, metric 656.24p, metric10 677.14p
2026-08-15 14:40:03.327506: Marginal costs baseline metric (no standing charge): 606.2558
2026-08-15 14:40:03.598962: Marginal energy costs matrix computed: min=14.74 max=30.78
2026-08-15 14:40:03.676894: Rate array import [{'start': 880, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 15.9p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1950, 'rate': 'expensive', 'range': '(24.8p - 32.9p)'}, {'start': 1950, 'end': 2040, 'rate': 'cheap', 'range': '(24.2p - 24.3p)'}, {'start': 2040, 'end': 2130, 'rate': 'expensive', 'range': '(24.7p - 25.4p)'}, {'start': 2130, 'end': 2345, 'rate': 'cheap', 'range': '(21.3p - 24.0p)'}] export [{'start': 880, 'end': 2345, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 14:40:03.677391: - Your estimated bill for today is £5.48 and tomorrow is £8.51
2026-08-15 14:40:03.677440: - Import rates are cheap (13.8p - 15.9p) for the next 1 and a quarter hours and then expensive (33.1p) for the next 1 hour.
2026-08-15 14:40:03.677463: - The battery is currently at 65% and is charging to 100% for the next 1 and a quarter hours.
2026-08-15 14:40:03.677482: - For the next 48 hours there will be no solar generation.
2026-08-15 14:40:03.677499: - You will run out of battery in 21 hours.
2026-08-15 14:40:03.677518: 
2026-08-15 14:40:03.728552: Plan calculation took 1.14 seconds
2026-08-15 14:40:03.732181: No high rate period found
2026-08-15 14:40:03.783441: Import threshold used for optimisation was 24.26p
2026-08-15 14:40:03.840098: Low import rate windows [0: 08-15 14:30:00 - 08-15 15:00:00 @ 13.77, 1: 08-15 15:00:00 - 08-15 15:30:00 @ 15.02, 2: 08-15 15:30:00 - 08-15 16:00:00 @ 15.87, 3: 08-15 16:00:00 - 08-15 16:30:00 @ 33.13, 4: 08-15 16:30:00 - 08-15 17:00:00 @ 33.13, 5: 08-15 17:00:00 - 08-15 17:30:00 @ 38.46, 6: 08-15 17:30:00 - 08-15 18:00:00 @ 40.44, 7: 08-15 18:00:00 - 08-15 18:30:00 @ 41.55, 8: 08-15 18:30:00 - 08-15 19:00:00 @ 43.82, 9: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 10: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 11: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 12: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 13: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 14: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 15: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 16: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 17: 08-15 23:00:00 - 08-15 23:30:00 @ 29.37, 18: 08-15 23:30:00 - 08-16 00:00:00 @ 29.2, 19: 08-16 00:00:00 - 08-16 00:30:00 @ 28.83, 20: 08-16 00:30:00 - 08-16 01:00:00 @ 28.46, 21: 08-16 01:00:00 - 08-16 01:30:00 @ 27.73, 22: 08-16 01:30:00 - 08-16 02:00:00 @ 27.01, 23: 08-16 02:00:00 - 08-16 02:30:00 @ 26.76, 24: 08-16 02:30:00 - 08-16 03:00:00 @ 26.48, 25: 08-16 03:00:00 - 08-16 03:30:00 @ 26.39, 26: 08-16 03:30:00 - 08-16 04:00:00 @ 26.27, 27: 08-16 04:00:00 - 08-16 04:30:00 @ 26.33, 28: 08-16 04:30:00 - 08-16 05:00:00 @ 26.37, 29: 08-16 05:00:00 - 08-16 05:30:00 @ 26.23, 30: 08-16 05:30:00 - 08-16 06:00:00 @ 26.07, 31: 08-16 06:00:00 - 08-16 06:30:00 @ 25.99, 32: 08-16 06:30:00 - 08-16 07:00:00 @ 25.92, 33: 08-16 07:00:00 - 08-16 07:30:00 @ 25.64, 34: 08-16 07:30:00 - 08-16 08:00:00 @ 25.39, 35: 08-16 08:00:00 - 08-16 08:30:00 @ 24.84, 36: 08-16 08:30:00 - 08-16 09:00:00 @ 24.28, 37: 08-16 09:00:00 - 08-16 09:30:00 @ 24.26, 38: 08-16 09:30:00 - 08-16 10:00:00 @ 24.22, 39: 08-16 10:00:00 - 08-16 10:30:00 @ 24.8, 40: 08-16 10:30:00 - 08-16 11:00:00 @ 25.37, 41: 08-16 11:00:00 - 08-16 11:30:00 @ 24.71, 42: 08-16 11:30:00 - 08-16 12:00:00 @ 24.02, 43: 08-16 12:00:00 - 08-16 12:30:00 @ 23.79, 44: 08-16 12:30:00 - 08-16 13:00:00 @ 23.55, 45: 08-16 13:00:00 - 08-16 13:30:00 @ 23.14, 46: 08-16 13:30:00 - 08-16 14:00:00 @ 22.71, 47: 08-16 14:00:00 - 08-16 14:30:00 @ 22.01, 48: 08-16 14:30:00 - 08-16 15:00:00 @ 21.29, 49: 08-16 15:00:00 - 08-16 15:30:00 @ 22.01, 50: 08-16 15:30:00 - 08-16 16:00:00 @ 22.71, 51: 08-16 16:00:00 - 08-16 16:30:00 @ 37.14, 52: 08-16 16:30:00 - 08-16 17:00:00 @ 37.91, 53: 08-16 17:00:00 - 08-16 17:30:00 @ 40.13, 54: 08-16 17:30:00 - 08-16 18:00:00 @ 42.36, 55: 08-16 18:00:00 - 08-16 18:30:00 @ 44.19, 56: 08-16 19:00:00 - 08-16 19:30:00 @ 33.04, 57: 08-16 19:30:00 - 08-16 20:00:00 @ 33.71, 58: 08-16 20:00:00 - 08-16 20:30:00 @ 33.83, 59: 08-16 20:30:00 - 08-16 21:00:00 @ 33.94, 60: 08-16 21:00:00 - 08-16 21:30:00 @ 33.73, 61: 08-16 21:30:00 - 08-16 22:00:00 @ 33.53, 62: 08-16 22:00:00 - 08-16 22:30:00 @ 32.36, 63: 08-16 22:30:00 - 08-16 23:00:00 @ 31.17, 64: 08-16 23:00:00 - 08-16 23:30:00 @ 29.37, 65: 08-16 23:30:00 - 08-17 00:00:00 @ 29.2, 66: 08-17 00:00:00 - 08-17 00:30:00 @ 28.83, 67: 08-17 00:30:00 - 08-17 01:00:00 @ 28.46, 68: 08-17 01:00:00 - 08-17 01:30:00 @ 27.73, 69: 08-17 01:30:00 - 08-17 02:00:00 @ 27.01, 70: 08-17 02:00:00 - 08-17 02:30:00 @ 26.76, 71: 08-17 02:30:00 - 08-17 03:00:00 @ 26.48, 72: 08-17 03:00:00 - 08-17 03:30:00 @ 26.39, 73: 08-17 03:30:00 - 08-17 04:00:00 @ 26.27, 74: 08-17 04:00:00 - 08-17 04:30:00 @ 26.33, 75: 08-17 04:30:00 - 08-17 05:00:00 @ 26.37, 76: 08-17 05:00:00 - 08-17 05:30:00 @ 26.23, 77: 08-17 05:30:00 - 08-17 06:00:00 @ 26.07, 78: 08-17 06:00:00 - 08-17 06:30:00 @ 25.99, 79: 08-17 06:30:00 - 08-17 07:00:00 @ 25.92, 80: 08-17 07:00:00 - 08-17 07:30:00 @ 25.64, 81: 08-17 07:30:00 - 08-17 08:00:00 @ 25.39, 82: 08-17 08:00:00 - 08-17 08:30:00 @ 24.84, 83: 08-17 08:30:00 - 08-17 09:00:00 @ 24.28, 84: 08-17 09:00:00 - 08-17 09:30:00 @ 24.26, 85: 08-17 09:30:00 - 08-17 10:00:00 @ 24.22, 86: 08-17 10:00:00 - 08-17 10:30:00 @ 24.8, 87: 08-17 10:30:00 - 08-17 11:00:00 @ 25.37, 88: 08-17 11:00:00 - 08-17 11:30:00 @ 24.71, 89: 08-17 11:30:00 - 08-17 12:00:00 @ 24.02, 90: 08-17 12:00:00 - 08-17 12:30:00 @ 23.79, 91: 08-17 12:30:00 - 08-17 13:00:00 @ 23.55, 92: 08-17 13:00:00 - 08-17 13:30:00 @ 23.14, 93: 08-17 13:30:00 - 08-17 14:00:00 @ 22.71, 94: 08-17 14:00:00 - 08-17 14:30:00 @ 22.01, 95: 08-17 14:30:00 - 08-17 15:00:00 @ 21.29]
2026-08-15 14:40:03.847578: Include original charge start 08-15 10:30:00, keeping this instead of new start 08-15 14:30:00
2026-08-15 14:40:03.847699: Inverter 0 Charge window will be: 2026-08-15 10:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 65%, target 100%
2026-08-15 14:40:03.847952: Inverter 0 Target SoC 100%, (this inverter 100%), battery temperature 20°C, select charge rate 5000W (real 5000W), current charge rate 5000W
2026-08-15 14:40:03.848251: Adjust idle time, charge 10:30:00-16:00:00 discharge 00:00:00-00:00:00
2026-08-15 14:40:03.848627: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 14:40:03.848739: No export window planned
2026-08-15 14:40:03.848981: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 14:40:03.849044: Adjust idle time, charge 10:30:00-16:00:00 discharge 00:00:00-00:00:00
2026-08-15 14:40:03.849274: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 14:40:03.849435: Inverter 0 setting charging SoC to 100% as per target
2026-08-15 14:40:03.849509: Inverter 0 adjust target SoC for charge to 100% based on requested all inverter SoC 100%
2026-08-15 14:40:03.849615: Inverter 0 Current Target SoC is 100%, already at target
2026-08-15 14:40:03.849818: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:40:03.849895: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:40:03.849957: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:40:03.850010: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:40:03.850060: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:40:03.850093: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:40:03.850152: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:40:03.850229: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 14:40:03.850311: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 14:40:03.850358: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 14:40:03.850423: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 14:40:03.850485: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 14:40:03.850543: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 14:40:03.850589: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 14:40:03.850687: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:40:03.850735: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:40:03.850791: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:40:03.850825: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:40:03.850864: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:40:03.850914: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:40:03.850970: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:40:03.851009: Inverter 0 count register writes 0
2026-08-15 14:40:03.871460: Will not recompute the plan, it is 5.0 minutes old and max age is 10 minutes
2026-08-15 14:40:03.878295: Total inverter register writes now 825
2026-08-15 14:40:03.910442: Info: Completed run status Charging
2026-08-15 14:40:03.916800: Info: record_status Charging target 65%-100.0%
2026-08-15 14:40:03.923550: Saved current settings to /config/predbat_config.json
2026-08-15 14:40:03.923904: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 14:40:42.034360: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 14:40:42.034674: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 14:40:42.034724: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 14:40:42.034900: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 14:40:42.034974: Note: Inverter does not support discharge freeze - disabled
2026-08-15 14:40:42.034997: Note: Inverter does not support charge freeze - disabled
2026-08-15 14:40:42.035014: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 14:42:42.253509: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 14:42:42.253816: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 14:42:42.253861: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 14:42:42.254021: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 14:42:42.254087: Note: Inverter does not support discharge freeze - disabled
2026-08-15 14:42:42.254108: Note: Inverter does not support charge freeze - disabled
2026-08-15 14:42:42.254126: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 14:44:56.510813: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 14:44:56.511093: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 14:44:56.511139: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 14:44:56.511286: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 14:44:56.511326: Note: Inverter does not support discharge freeze - disabled
2026-08-15 14:44:56.511347: Note: Inverter does not support charge freeze - disabled
2026-08-15 14:44:56.511379: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 14:45:00.594814: --------------- PredBat - update at 2026-08-15 14:45:00+01:00 with clock skew 0 minutes, minutes now 885
2026-08-15 14:45:00.595645: Saved current settings to /config/predbat_config.json
2026-08-15 14:45:00.595805: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 25.0 minutes
2026-08-15 14:45:00.595946: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.2, latest beta is v8.48.2
2026-08-15 14:45:00.596091: Autoupdate: There is an update pending v8.48.2 PV90 and second pass enabled by default, bug fixes - auto update is off
2026-08-15 14:45:00.615392: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 14:45:00.615557: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 14:45:00.615786: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 14:45:00.616423: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 14:45:00.616618: Predbat mode is set to Control charge & discharge
2026-08-15 14:45:00.785181: Found 21602 load_today datapoints going back 28 days
2026-08-15 14:45:00.785318: Using load_power data to fill gaps in load_today data
2026-08-15 14:45:01.470566: Processing 721 30-minute periods for power integration
2026-08-15 14:45:01.623041: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 14:45:01.623165: Car charging hold False, threshold 6.0kWh
2026-08-15 14:45:01.623203: Current data so far today: load 8.25kWh, import 19.9kWh, export 0.0kWh, PV 0kWh
2026-08-15 14:45:01.635461: Cars: SoC: [11.134]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 14:45:01.635860: Standing charge is set to 49.98p
2026-08-15 14:45:01.686295: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 14:45:01.686416: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 14:45:01.686597: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 245.0 minutes
2026-08-15 14:45:01.686916: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 245.0 minutes
2026-08-15 14:45:01.691540: Loaded 95 datapoints of futurerate analysis
2026-08-15 14:45:01.767272: Predicted future rates: ['08-15 00:00:00 => 28.9 / 20.01', '08-15 01:00:00 => 27.54 / 19.31', '08-15 02:00:00 => 26.52 / 18.8', '08-15 03:00:00 => 25.99 / 18.53', '08-15 04:00:00 => 25.8 / 18.43', '08-15 05:00:00 => 25.96 / 18.51', '08-15 06:00:00 => 25.55 / 18.3', '08-15 07:00:00 => 24.33 / 17.68', '08-15 08:00:00 => 23.03 / 17.01', '08-15 09:00:00 => 22.05 / 16.51', '08-15 10:00:00 => 20.43 / 15.68', '08-15 11:00:00 => 18.01 / 14.45', '08-15 12:00:00 => 16.37 / 13.61', '08-15 13:00:00 => 15.76 / 13.3', '08-15 14:00:00 => 15.35 / 13.09', '08-15 15:00:00 => 15.86 / 13.35', '08-15 16:00:00 => 32.89 / 16.13', '08-15 17:00:00 => 38.02 / 18.75', '08-15 18:00:00 => 42.36 / 20.96', '08-15 19:00:00 => 31.09 / 21.13', '08-15 20:00:00 => 31.64 / 21.41', '08-15 21:00:00 => 31.64 / 21.41', '08-15 22:00:00 => 30.58 / 20.87', '08-15 23:00:00 => 29.37 / 20.25', '08-16 00:00:00 => 28.83 / 19.97', '08-16 01:00:00 => 27.73 / 19.41', '08-16 02:00:00 => 26.76 / 18.92', '08-16 03:00:00 => 26.39 / 18.73', '08-16 04:00:00 => 26.33 / 18.7', '08-16 05:00:00 => 26.23 / 18.65', '08-16 06:00:00 => 25.99 / 18.53', '08-16 07:00:00 => 25.64 / 18.35', '08-16 08:00:00 => 24.84 / 17.94', '08-16 09:00:00 => 24.26 / 17.64', '08-16 10:00:00 => 24.8 / 17.92', '08-16 11:00:00 => 24.71 / 17.87', '08-16 12:00:00 => 23.79 / 17.4', '08-16 13:00:00 => 23.14 / 17.07']
2026-08-15 14:45:01.818217: Rate min forward looking: now 13.77p at end of forecast 21.29p
2026-08-15 14:45:01.818599: Import rates: min 13.77p, max 46.05p, average 28.18p
2026-08-15 14:45:01.853064: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 14:45:01.853205: Rate thresholds (for charge/export) are import 45.55p (0.0p), export -0.1p (0.0p)
2026-08-15 14:45:01.854374: High export rate found rates in range 99p to -99p
2026-08-15 14:45:01.931833: Low Import rate found rates in range 13.77p to 44.19p
2026-08-15 14:45:01.931943: Car 0 charging is not planned as it is not plugged in
2026-08-15 14:45:01.943373: Battery level now 10.38kWh, -1hr ago 6.53kWh, at midnight 1.66kWh, battery value change in the last hour 45.6p, change today 103.22p, rate_forward 11.83p
2026-08-15 14:45:01.943740: Last hour: net energy 4.4kWh, import 4.4kWh, export 0.0kWh, car 0kWh, load 0.3kWh, net cost 65.16p, import 65.16p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 14:45:01.999368: Today's energy total net 19.9kWh, import 19.9kWh, export 0.0kWh, cost 443.72p, import 393.74p, export 0.0p, carbon 0.0kg
2026-08-15 14:45:01.999517: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 14:45:02.072436: Using weighted-bucket historical load forecast over 14 days
2026-08-15 14:45:02.096577: Today's load divergence 95.25%, in-day adjustment 114.09%, damping 0.95x, yesterday 143.77% today 95.48% blend 38.54%
2026-08-15 14:45:02.096660: Today's predicted so far 9.0kWh with 0.0kWh car/iBoost excluded, 13.64kWh import ignored, and 9.0kWh forecast extra.
2026-08-15 14:45:02.096686: Today's actual load so far 8.3kWh with 0.0kWh car/iBoost excluded, and 13.64kWh import ignored.
2026-08-15 14:45:02.131254: Inverter 0: Type SK Sunsynk
2026-08-15 14:45:02.131366: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 14:45:02.131625: Reserve min: 7%, battery_min: 7%
2026-08-15 14:45:02.131752: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 14:45:02.132088: Inverter 0 SoC: 11.07kW 69%, current charge rate 5000W, current discharge rate 5250W, current battery power -4550W, current battery voltage 51.2V, grid power -5180W, load power 184W, PV Power 0W
2026-08-15 14:45:02.132289: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 14:45:02.132405: Inverter 0 scheduled charge enable is True
2026-08-15 14:45:02.132488: Inverter 0 charge windows currently [{'start': 630, 'end': 960, 'average': 0}, {'start': 2070, 'end': 2400, 'average': 0}, {'start': 3510, 'end': 3840, 'average': 0}]
2026-08-15 14:45:02.132639: Inverter 0 Charge settings: 08-15 10:30:00-08-15 16:00:00, limit 100.0%, power 5.0kW
2026-08-15 14:45:02.132813: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 14:45:02.132856: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 14:45:02.132897: Inverter 0 scheduled discharge enable is False
2026-08-15 14:45:02.133156: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 14:45:02.133203: Inverter 0 discharge windows currently []
2026-08-15 14:45:02.133227: Note: Inverter does not support discharge freeze - disabled
2026-08-15 14:45:02.133245: Note: Inverter does not support charge freeze - disabled
2026-08-15 14:45:02.133263: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 14:45:02.192616: Dynamic load last period 0.30kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 14:45:02.192725: Plan was last updated on 2026-08-15 14:35:00+01:00 and is now 10.0 minutes old
2026-08-15 14:45:02.192992: Best charge window [ 15-08 14:30:00 - 15-08 16:00:00 @ 15.13p 100%, 16-08 15:00:00 - 16-08 18:30:00 @ 41.93p 100%, 16-08 19:00:00 - 17-08 15:00:00 @ 21.92p 100% ]
2026-08-15 14:45:02.193045: Best export window [  ]
2026-08-15 14:45:02.193854: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 14:45:02.196878: Load divergence over 8.0 hours mean 469.24W, min 290.4W, max 1344.6W, std dev 191.44W, divergence 20.4%
2026-08-15 14:45:02.211725: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 14:45:02.211825: LoadML is_calculating False
2026-08-15 14:45:02.211878: Creating pool of 12 processes to match your CPU count
2026-08-15 14:45:02.328626: predict base end_record 08-16 15:10:00, final soc 16.0kWh, metric 1017.96p, metric_keep 0kWh, min_soc 2.6kWh @ 08-16 10:25:00, load 25.2kWh, PV 0.0kWh
2026-08-15 14:45:02.443753: Battery has 48.0 hours left - now at 11.07kWh
2026-08-15 14:45:02.484891: predict base10 end_record 08-16 15:10:00, final soc 16.0kWh, metric 1036.66p, metric_keep 0kWh, min_soc 1.77kWh @ 08-16 10:25:00, load 26.01kWh, PV 0.0kWh
2026-08-15 14:45:02.556127: predict best10 end_record 08-16 15:10:00, final soc 1.77kWh, metric 672.86p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 11:15:00, load 26.01kWh, PV 0.0kWh
2026-08-15 14:45:02.625815: predict best end_record 08-16 15:10:00, final soc 1.9kWh, metric 655.06p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 12:00:00, load 25.2kWh, PV 0.0kWh
2026-08-15 14:45:02.625899: Saving plan best values to HA entities
2026-08-15 14:45:02.780570: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0
2026-08-15 14:45:02.785362: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 14:45:02.790475: Best charging limit SoC's [16.0, 16.0, 16.0]kWh, export []kWh gives import battery 7.12kWh, house 2.1kWh, export 0.0kWh, metric 655.06p, metric10 672.86p
2026-08-15 14:45:02.857612: Marginal costs baseline metric (no standing charge): 605.0797
2026-08-15 14:45:03.070071: Marginal energy costs matrix computed: min=14.92 max=31.09
2026-08-15 14:45:03.134747: Rate array import [{'start': 885, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 15.9p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1950, 'rate': 'expensive', 'range': '(24.8p - 32.9p)'}, {'start': 1950, 'end': 2040, 'rate': 'cheap', 'range': '(24.2p - 24.3p)'}, {'start': 2040, 'end': 2130, 'rate': 'expensive', 'range': '(24.7p - 25.4p)'}, {'start': 2130, 'end': 2350, 'rate': 'cheap', 'range': '(21.3p - 24.0p)'}] export [{'start': 885, 'end': 2350, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 14:45:03.135094: - Your estimated bill for today is £5.36 and tomorrow is £8.52
2026-08-15 14:45:03.135131: - Import rates are cheap (13.8p - 15.9p) for the next 1 and a quarter hours and then expensive (33.1p) for the next 1 hour.
2026-08-15 14:45:03.135149: - The battery is currently at 69% and is charging to 100% for the next 1 and a quarter hours.
2026-08-15 14:45:03.135164: - For the next 48 hours there will be no solar generation.
2026-08-15 14:45:03.135178: - You will run out of battery in 21 hours.
2026-08-15 14:45:03.135192: 
2026-08-15 14:45:03.183240: Plan calculation took 0.99 seconds
2026-08-15 14:45:03.186848: No high rate period found
2026-08-15 14:45:03.236844: Import threshold used for optimisation was 24.26p
2026-08-15 14:45:03.288235: Low import rate windows [0: 08-15 14:30:00 - 08-15 15:00:00 @ 13.77, 1: 08-15 15:00:00 - 08-15 15:30:00 @ 15.02, 2: 08-15 15:30:00 - 08-15 16:00:00 @ 15.87, 3: 08-15 16:00:00 - 08-15 16:30:00 @ 33.13, 4: 08-15 16:30:00 - 08-15 17:00:00 @ 33.13, 5: 08-15 17:00:00 - 08-15 17:30:00 @ 38.46, 6: 08-15 17:30:00 - 08-15 18:00:00 @ 40.44, 7: 08-15 18:00:00 - 08-15 18:30:00 @ 41.55, 8: 08-15 18:30:00 - 08-15 19:00:00 @ 43.82, 9: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 10: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 11: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 12: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 13: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 14: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 15: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 16: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 17: 08-15 23:00:00 - 08-15 23:30:00 @ 29.37, 18: 08-15 23:30:00 - 08-16 00:00:00 @ 29.2, 19: 08-16 00:00:00 - 08-16 00:30:00 @ 28.83, 20: 08-16 00:30:00 - 08-16 01:00:00 @ 28.46, 21: 08-16 01:00:00 - 08-16 01:30:00 @ 27.73, 22: 08-16 01:30:00 - 08-16 02:00:00 @ 27.01, 23: 08-16 02:00:00 - 08-16 02:30:00 @ 26.76, 24: 08-16 02:30:00 - 08-16 03:00:00 @ 26.48, 25: 08-16 03:00:00 - 08-16 03:30:00 @ 26.39, 26: 08-16 03:30:00 - 08-16 04:00:00 @ 26.27, 27: 08-16 04:00:00 - 08-16 04:30:00 @ 26.33, 28: 08-16 04:30:00 - 08-16 05:00:00 @ 26.37, 29: 08-16 05:00:00 - 08-16 05:30:00 @ 26.23, 30: 08-16 05:30:00 - 08-16 06:00:00 @ 26.07, 31: 08-16 06:00:00 - 08-16 06:30:00 @ 25.99, 32: 08-16 06:30:00 - 08-16 07:00:00 @ 25.92, 33: 08-16 07:00:00 - 08-16 07:30:00 @ 25.64, 34: 08-16 07:30:00 - 08-16 08:00:00 @ 25.39, 35: 08-16 08:00:00 - 08-16 08:30:00 @ 24.84, 36: 08-16 08:30:00 - 08-16 09:00:00 @ 24.28, 37: 08-16 09:00:00 - 08-16 09:30:00 @ 24.26, 38: 08-16 09:30:00 - 08-16 10:00:00 @ 24.22, 39: 08-16 10:00:00 - 08-16 10:30:00 @ 24.8, 40: 08-16 10:30:00 - 08-16 11:00:00 @ 25.37, 41: 08-16 11:00:00 - 08-16 11:30:00 @ 24.71, 42: 08-16 11:30:00 - 08-16 12:00:00 @ 24.02, 43: 08-16 12:00:00 - 08-16 12:30:00 @ 23.79, 44: 08-16 12:30:00 - 08-16 13:00:00 @ 23.55, 45: 08-16 13:00:00 - 08-16 13:30:00 @ 23.14, 46: 08-16 13:30:00 - 08-16 14:00:00 @ 22.71, 47: 08-16 14:00:00 - 08-16 14:30:00 @ 22.01, 48: 08-16 14:30:00 - 08-16 15:00:00 @ 21.29, 49: 08-16 15:00:00 - 08-16 15:30:00 @ 22.01, 50: 08-16 15:30:00 - 08-16 16:00:00 @ 22.71, 51: 08-16 16:00:00 - 08-16 16:30:00 @ 37.14, 52: 08-16 16:30:00 - 08-16 17:00:00 @ 37.91, 53: 08-16 17:00:00 - 08-16 17:30:00 @ 40.13, 54: 08-16 17:30:00 - 08-16 18:00:00 @ 42.36, 55: 08-16 18:00:00 - 08-16 18:30:00 @ 44.19, 56: 08-16 19:00:00 - 08-16 19:30:00 @ 33.04, 57: 08-16 19:30:00 - 08-16 20:00:00 @ 33.71, 58: 08-16 20:00:00 - 08-16 20:30:00 @ 33.83, 59: 08-16 20:30:00 - 08-16 21:00:00 @ 33.94, 60: 08-16 21:00:00 - 08-16 21:30:00 @ 33.73, 61: 08-16 21:30:00 - 08-16 22:00:00 @ 33.53, 62: 08-16 22:00:00 - 08-16 22:30:00 @ 32.36, 63: 08-16 22:30:00 - 08-16 23:00:00 @ 31.17, 64: 08-16 23:00:00 - 08-16 23:30:00 @ 29.37, 65: 08-16 23:30:00 - 08-17 00:00:00 @ 29.2, 66: 08-17 00:00:00 - 08-17 00:30:00 @ 28.83, 67: 08-17 00:30:00 - 08-17 01:00:00 @ 28.46, 68: 08-17 01:00:00 - 08-17 01:30:00 @ 27.73, 69: 08-17 01:30:00 - 08-17 02:00:00 @ 27.01, 70: 08-17 02:00:00 - 08-17 02:30:00 @ 26.76, 71: 08-17 02:30:00 - 08-17 03:00:00 @ 26.48, 72: 08-17 03:00:00 - 08-17 03:30:00 @ 26.39, 73: 08-17 03:30:00 - 08-17 04:00:00 @ 26.27, 74: 08-17 04:00:00 - 08-17 04:30:00 @ 26.33, 75: 08-17 04:30:00 - 08-17 05:00:00 @ 26.37, 76: 08-17 05:00:00 - 08-17 05:30:00 @ 26.23, 77: 08-17 05:30:00 - 08-17 06:00:00 @ 26.07, 78: 08-17 06:00:00 - 08-17 06:30:00 @ 25.99, 79: 08-17 06:30:00 - 08-17 07:00:00 @ 25.92, 80: 08-17 07:00:00 - 08-17 07:30:00 @ 25.64, 81: 08-17 07:30:00 - 08-17 08:00:00 @ 25.39, 82: 08-17 08:00:00 - 08-17 08:30:00 @ 24.84, 83: 08-17 08:30:00 - 08-17 09:00:00 @ 24.28, 84: 08-17 09:00:00 - 08-17 09:30:00 @ 24.26, 85: 08-17 09:30:00 - 08-17 10:00:00 @ 24.22, 86: 08-17 10:00:00 - 08-17 10:30:00 @ 24.8, 87: 08-17 10:30:00 - 08-17 11:00:00 @ 25.37, 88: 08-17 11:00:00 - 08-17 11:30:00 @ 24.71, 89: 08-17 11:30:00 - 08-17 12:00:00 @ 24.02, 90: 08-17 12:00:00 - 08-17 12:30:00 @ 23.79, 91: 08-17 12:30:00 - 08-17 13:00:00 @ 23.55, 92: 08-17 13:00:00 - 08-17 13:30:00 @ 23.14, 93: 08-17 13:30:00 - 08-17 14:00:00 @ 22.71, 94: 08-17 14:00:00 - 08-17 14:30:00 @ 22.01, 95: 08-17 14:30:00 - 08-17 15:00:00 @ 21.29]
2026-08-15 14:45:03.295135: Include original charge start 08-15 10:30:00, keeping this instead of new start 08-15 14:30:00
2026-08-15 14:45:03.295240: Inverter 0 Charge window will be: 2026-08-15 10:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 69%, target 100%
2026-08-15 14:45:03.295403: Inverter 0 Target SoC 100%, (this inverter 100%), battery temperature 20°C, select charge rate 5000W (real 5000W), current charge rate 5000W
2026-08-15 14:45:03.295594: Adjust idle time, charge 10:30:00-16:00:00 discharge 00:00:00-00:00:00
2026-08-15 14:45:03.295802: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 14:45:03.295883: No export window planned
2026-08-15 14:45:03.295979: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 14:45:03.296018: Adjust idle time, charge 10:30:00-16:00:00 discharge 00:00:00-00:00:00
2026-08-15 14:45:03.296133: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 14:45:03.296234: Inverter 0 setting charging SoC to 100% as per target
2026-08-15 14:45:03.296270: Inverter 0 adjust target SoC for charge to 100% based on requested all inverter SoC 100%
2026-08-15 14:45:03.296323: Inverter 0 Current Target SoC is 100%, already at target
2026-08-15 14:45:03.296436: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:45:03.296473: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:45:03.296496: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:45:03.296517: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:45:03.296537: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:45:03.296558: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:45:03.296598: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:45:03.296636: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 14:45:03.296663: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 14:45:03.296688: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 14:45:03.296709: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 14:45:03.296730: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 14:45:03.296751: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 14:45:03.296772: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 14:45:03.296821: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:45:03.296846: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:45:03.296866: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:45:03.296885: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:45:03.296904: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:45:03.296926: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:45:03.296972: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:45:03.297017: Inverter 0 count register writes 0
2026-08-15 14:45:03.311000: Will recompute the plan as it is now 10.0 minutes old and will exceed the max age of 10 minutes before the next run
2026-08-15 14:45:03.311125: Recompute is saving previous plan...
2026-08-15 14:45:03.313711: Best charge window [ 15-08 14:30:00 - 15-08 15:00:00 @ 13.77p 100%, 15-08 15:00:00 - 15-08 15:30:00 @ 15.02p 100%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 100%, 15-08 16:00:00 - 15-08 16:30:00 @ 33.13p 100%, 15-08 16:30:00 - 15-08 17:00:00 @ 33.13p 100%, 15-08 17:00:00 - 15-08 17:30:00 @ 38.46p 100%, 15-08 17:30:00 - 15-08 18:00:00 @ 40.44p 100%, 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 100%, 15-08 18:30:00 - 15-08 19:00:00 @ 43.82p 100%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 100%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 100%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 100%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 100%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 100%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 100%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 100%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 100%, 15-08 23:00:00 - 15-08 23:30:00 @ 29.37p 100%, 15-08 23:30:00 - 16-08 00:00:00 @ 29.2p 100%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.83p 100%, 16-08 00:30:00 - 16-08 01:00:00 @ 28.46p 100%, 16-08 01:00:00 - 16-08 01:30:00 @ 27.73p 100%, 16-08 01:30:00 - 16-08 02:00:00 @ 27.01p 100%, 16-08 02:00:00 - 16-08 02:30:00 @ 26.76p 100%, 16-08 02:30:00 - 16-08 03:00:00 @ 26.48p 100%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.39p 100%, 16-08 03:30:00 - 16-08 04:00:00 @ 26.27p 100%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.33p 100%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.37p 100%, 16-08 05:00:00 - 16-08 05:30:00 @ 26.23p 100%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.07p 100%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.99p 100%, 16-08 06:30:00 - 16-08 07:00:00 @ 25.92p 100%, 16-08 07:00:00 - 16-08 07:30:00 @ 25.64p 100%, 16-08 07:30:00 - 16-08 08:00:00 @ 25.39p 100%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.84p 100%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.28p 100%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.26p 100%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.22p 100%, 16-08 10:00:00 - 16-08 10:30:00 @ 24.8p 100%, 16-08 10:30:00 - 16-08 11:00:00 @ 25.37p 100%, 16-08 11:00:00 - 16-08 11:30:00 @ 24.71p 100%, 16-08 11:30:00 - 16-08 12:00:00 @ 24.02p 100%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.79p 100%, 16-08 12:30:00 - 16-08 13:00:00 @ 23.55p 100%, 16-08 13:00:00 - 16-08 13:30:00 @ 23.14p 100%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.71p 100%, 16-08 14:00:00 - 16-08 14:30:00 @ 22.01p 100%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.29p 100%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.01p 100%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.71p 100%, 16-08 16:00:00 - 16-08 16:30:00 @ 37.14p 100%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.91p 100%, 16-08 17:00:00 - 16-08 17:30:00 @ 40.13p 100%, 16-08 17:30:00 - 16-08 18:00:00 @ 42.36p 100%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.19p 100%, 16-08 19:00:00 - 16-08 19:30:00 @ 33.04p 100%, 16-08 19:30:00 - 16-08 20:00:00 @ 33.71p 100%, 16-08 20:00:00 - 16-08 20:30:00 @ 33.83p 100%, 16-08 20:30:00 - 16-08 21:00:00 @ 33.94p 100%, 16-08 21:00:00 - 16-08 21:30:00 @ 33.73p 100%, 16-08 21:30:00 - 16-08 22:00:00 @ 33.53p 100%, 16-08 22:00:00 - 16-08 22:30:00 @ 32.36p 100%, 16-08 22:30:00 - 16-08 23:00:00 @ 31.17p 100%, 16-08 23:00:00 - 16-08 23:30:00 @ 29.37p 100%, 16-08 23:30:00 - 17-08 00:00:00 @ 29.2p 100%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.83p 100%, 17-08 00:30:00 - 17-08 01:00:00 @ 28.46p 100%, 17-08 01:00:00 - 17-08 01:30:00 @ 27.73p 100%, 17-08 01:30:00 - 17-08 02:00:00 @ 27.01p 100%, 17-08 02:00:00 - 17-08 02:30:00 @ 26.76p 100%, 17-08 02:30:00 - 17-08 03:00:00 @ 26.48p 100%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.39p 100%, 17-08 03:30:00 - 17-08 04:00:00 @ 26.27p 100%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.33p 100%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.37p 100%, 17-08 05:00:00 - 17-08 05:30:00 @ 26.23p 100%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.07p 100%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.99p 100%, 17-08 06:30:00 - 17-08 07:00:00 @ 25.92p 100%, 17-08 07:00:00 - 17-08 07:30:00 @ 25.64p 100%, 17-08 07:30:00 - 17-08 08:00:00 @ 25.39p 100%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.84p 100%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.28p 100%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.26p 100%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.22p 100%, 17-08 10:00:00 - 17-08 10:30:00 @ 24.8p 100%, 17-08 10:30:00 - 17-08 11:00:00 @ 25.37p 100%, 17-08 11:00:00 - 17-08 11:30:00 @ 24.71p 100%, 17-08 11:30:00 - 17-08 12:00:00 @ 24.02p 100%, 17-08 12:00:00 - 17-08 12:30:00 @ 23.79p 100%, 17-08 12:30:00 - 17-08 13:00:00 @ 23.55p 100%, 17-08 13:00:00 - 17-08 13:30:00 @ 23.14p 100%, 17-08 13:30:00 - 17-08 14:00:00 @ 22.71p 100%, 17-08 14:00:00 - 17-08 14:30:00 @ 22.01p 100%, 17-08 14:30:00 - 17-08 15:00:00 @ 21.29p 100% ]
2026-08-15 14:45:03.313780: Best export window [  ]
2026-08-15 14:45:03.314464: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 14:45:03.316938: Load divergence over 8.0 hours mean 469.24W, min 290.4W, max 1344.6W, std dev 191.44W, divergence 20.4%
2026-08-15 14:45:03.331624: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 14:45:03.331720: LoadML is_calculating False
2026-08-15 14:45:03.331775: Creating pool of 12 processes to match your CPU count
2026-08-15 14:45:03.411296: Calculate Best options: mode(Control charge & discharge), calculate_export_oncharge(False), calculate_export_on_pv(True), set_export_freeze_only(False), set_discharge_during_charge(True), combine_charge_slots(False), combine_export_slots(False), combine_rate_threshold(0.0), best_soc_min(0.0 kWh), best_soc_max(0.0 kWh), best_soc_keep(0.0 kWh), inverter_loss(4%), battery_loss(3%), battery_loss_discharge (3%), inverter_hybrid(True), metric_min_improvement(0.0p), metric_min_improvement_export(0.1p), metric_min_improvement_export_freeze(0.1p), metric_battery_cycle(0.0p/kWh), metric_battery_value_scaling(1.0 x) 
2026-08-15 14:45:03.413181: Optimise levels pass started at 2026-08-15 14:45:03
2026-08-15 14:45:03.413235: Optimise all windows, total charge 95 export 1
2026-08-15 14:45:04.249728: >> Region optimisation pass width 960 gives best_metric 958.62p, best_cost 972.88p, best_cycle 38.15kWh, best_import 25.21kWh
2026-08-15 14:45:04.584684: >> Region optimisation pass width 480 gives best_metric 958.62p, best_cost 972.88p, best_cycle 38.15kWh, best_import 25.21kWh
2026-08-15 14:45:05.043940: >> Region optimisation pass width 240 gives best_metric 958.62p, best_cost 972.88p, best_cycle 38.15kWh, best_import 25.21kWh
2026-08-15 14:45:06.048768: >> Region optimisation pass width 120 gives best_metric 958.62p, best_cost 972.88p, best_cycle 38.15kWh, best_import 25.21kWh
2026-08-15 14:45:06.049038: Calculated end_record as 08-16 15:00:00 based on best_price 22.71p, next_charge_start 08-15 15:00:00, max_windows 49
2026-08-15 14:45:06.049095: Optimise levels pass ended at 2026-08-15 14:45:06, duration 2.6 seconds tried 268 combinations
2026-08-15 14:45:06.049146: Set best_price_charge_level 24.4p, best_price_export_level 0p, best_price_charge 22.71p, best_cost_export 0p, best_metric 958.62p, best_keep 0kWh, best_cycle 38.15kWh, best_carbon 0kg, best_import 25.21kWh
2026-08-15 14:45:06.064528: Starting detailed optimisation end_record 08-16 15:00:00, best_price_charge 22.71p, best_price_export 0p. lowest_price_charge 13.77p with charge limits [16.0, 16.0, 16.0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0]kWh and export limits []kWh
2026-08-15 14:45:09.254561: Tweak plan optimisation started metric 566.71p, cost 584.1p
2026-08-15 14:45:09.473149: Tweak optimisation finished metric 566.71p, cost 584.1p, metric_keep 0kWh, cycle 19.51kWh, carbon 0kg, import 8.26kWh, changed 8 window(s)
2026-08-15 14:45:09.492152: Swap charge optimisation started metric 566.71p, cost 584.1p, min_improvement_swap 0.1p
2026-08-15 14:45:10.652683: Swap charge optimisation finished metric 566.71p, cost 584.1p
2026-08-15 14:45:10.716452: Pruned 1 dead plan slot(s) in 4 trial(s), nominal metric 563.62p -> 563.62p, plan now metric 566.73p, cost 584.1p, cycle 19.51kWh, import 8.26kWh
2026-08-15 14:45:10.728268: Raw charge windows [ 15-08 14:30:00 - 15-08 15:00:00 @ 13.77p 100%, 15-08 15:00:00 - 15-08 15:30:00 @ 15.02p 100%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 100%, 15-08 16:00:00 - 15-08 16:30:00 @ 33.13p 0%, 15-08 16:30:00 - 15-08 17:00:00 @ 33.13p 0%, 15-08 17:00:00 - 15-08 17:30:00 @ 38.46p 0%, 15-08 17:30:00 - 15-08 18:00:00 @ 40.44p 0%, 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 0%, 15-08 18:30:00 - 15-08 19:00:00 @ 43.82p 0%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 0%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 0%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 0%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 0%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 29.37p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 29.2p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.83p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 28.46p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 27.73p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 27.01p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 26.76p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 26.48p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.39p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 26.27p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.33p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.37p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 26.23p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.07p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.99p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 25.92p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 25.64p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 25.39p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.84p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.28p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.26p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.22p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 24.8p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 25.37p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 24.71p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 24.02p 0%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.79p 0%, 16-08 12:30:00 - 16-08 13:00:00 @ 23.55p 0%, 16-08 13:00:00 - 16-08 13:30:00 @ 23.14p 0%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.71p 0%, 16-08 14:00:00 - 16-08 14:30:00 @ 22.01p 0%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.29p 0%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.01p 100%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.71p 100%, 16-08 16:00:00 - 16-08 16:30:00 @ 37.14p 100%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.91p 100%, 16-08 17:00:00 - 16-08 17:30:00 @ 40.13p 100%, 16-08 17:30:00 - 16-08 18:00:00 @ 42.36p 100%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.19p 100%, 16-08 19:00:00 - 16-08 19:30:00 @ 33.04p 100%, 16-08 19:30:00 - 16-08 20:00:00 @ 33.71p 100%, 16-08 20:00:00 - 16-08 20:30:00 @ 33.83p 100%, 16-08 20:30:00 - 16-08 21:00:00 @ 33.94p 100%, 16-08 21:00:00 - 16-08 21:30:00 @ 33.73p 100%, 16-08 21:30:00 - 16-08 22:00:00 @ 33.53p 100%, 16-08 22:00:00 - 16-08 22:30:00 @ 32.36p 100%, 16-08 22:30:00 - 16-08 23:00:00 @ 31.17p 100%, 16-08 23:00:00 - 16-08 23:30:00 @ 29.37p 100%, 16-08 23:30:00 - 17-08 00:00:00 @ 29.2p 100%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.83p 100%, 17-08 00:30:00 - 17-08 01:00:00 @ 28.46p 100%, 17-08 01:00:00 - 17-08 01:30:00 @ 27.73p 100%, 17-08 01:30:00 - 17-08 02:00:00 @ 27.01p 100%, 17-08 02:00:00 - 17-08 02:30:00 @ 26.76p 100%, 17-08 02:30:00 - 17-08 03:00:00 @ 26.48p 100%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.39p 100%, 17-08 03:30:00 - 17-08 04:00:00 @ 26.27p 100%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.33p 100%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.37p 100%, 17-08 05:00:00 - 17-08 05:30:00 @ 26.23p 100%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.07p 100%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.99p 100%, 17-08 06:30:00 - 17-08 07:00:00 @ 25.92p 100%, 17-08 07:00:00 - 17-08 07:30:00 @ 25.64p 100%, 17-08 07:30:00 - 17-08 08:00:00 @ 25.39p 100%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.84p 100%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.28p 100%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.26p 100%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.22p 100%, 17-08 10:00:00 - 17-08 10:30:00 @ 24.8p 100%, 17-08 10:30:00 - 17-08 11:00:00 @ 25.37p 100%, 17-08 11:00:00 - 17-08 11:30:00 @ 24.71p 100%, 17-08 11:30:00 - 17-08 12:00:00 @ 24.02p 100%, 17-08 12:00:00 - 17-08 12:30:00 @ 23.79p 100%, 17-08 12:30:00 - 17-08 13:00:00 @ 23.55p 100%, 17-08 13:00:00 - 17-08 13:30:00 @ 23.14p 100%, 17-08 13:30:00 - 17-08 14:00:00 @ 22.71p 100%, 17-08 14:00:00 - 17-08 14:30:00 @ 22.01p 100%, 17-08 14:30:00 - 17-08 15:00:00 @ 21.29p 100% ] reserve 1.12
2026-08-15 14:45:10.728857: Unclipped charge windows [ 15-08 14:30:00 - 15-08 16:00:00 @ 15.13p 100%, 16-08 15:00:00 - 16-08 18:30:00 @ 41.93p 100%, 16-08 19:00:00 - 17-08 15:00:00 @ 21.92p 100% ] reserve 1.12
2026-08-15 14:45:10.729107: Unfiltered charge windows [ 15-08 14:30:00 - 15-08 16:00:00 @ 15.13p 100%, 16-08 15:00:00 - 16-08 18:30:00 @ 41.93p 100%, 16-08 19:00:00 - 17-08 15:00:00 @ 21.92p 100% ] reserve 1.12
2026-08-15 14:45:10.729267: Filtered charge windows [ 15-08 14:30:00 - 15-08 16:00:00 @ 15.13p 100%, 16-08 15:00:00 - 16-08 18:30:00 @ 41.93p 100%, 16-08 19:00:00 - 17-08 15:00:00 @ 21.92p 100% ] reserve 1.12
2026-08-15 14:45:10.766234: Previous plan best metric is 566.71 (cost 584.1) and new plan best metric is 566.71 (cost 584.1)
2026-08-15 14:45:10.766569: New plan metric is not significantly better (metric_min_improvement_plan 2.0) than previous plan, using previous plan
2026-08-15 14:45:10.766809: Plan valid is now true after recompute was False
2026-08-15 14:45:10.798960: predict base end_record 08-16 15:00:00, final soc 16.0kWh, metric 1015.32p, metric_keep 0kWh, min_soc 2.6kWh @ 08-16 10:25:00, load 25.08kWh, PV 0.0kWh
2026-08-15 14:45:10.924138: Battery has 48.0 hours left - now at 11.07kWh
2026-08-15 14:45:10.972116: predict base10 end_record 08-16 15:00:00, final soc 16.0kWh, metric 1033.9p, metric_keep 0kWh, min_soc 1.77kWh @ 08-16 10:25:00, load 25.88kWh, PV 0.0kWh
2026-08-15 14:45:11.046189: predict best10 end_record 08-16 15:00:00, final soc 1.12kWh, metric 654.81p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 11:15:00, load 25.88kWh, PV 0.0kWh
2026-08-15 14:45:11.128583: predict best end_record 08-16 15:00:00, final soc 1.12kWh, metric 634.09p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 12:00:00, load 25.08kWh, PV 0.0kWh
2026-08-15 14:45:11.128687: Saving plan best values to HA entities
2026-08-15 14:45:11.290817: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0
2026-08-15 14:45:11.296524: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 14:45:11.302662: Best charging limit SoC's [16.0, 16.0, 16.0]kWh, export []kWh gives import battery 6.16kWh, house 2.1kWh, export 0.0kWh, metric 634.09p, metric10 654.81p
2026-08-15 14:45:11.381468: Marginal costs baseline metric (no standing charge): 584.1034
2026-08-15 14:45:11.647585: Marginal energy costs matrix computed: min=14.92 max=31.09
2026-08-15 14:45:11.715462: Rate array import [{'start': 885, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 15.9p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1950, 'rate': 'expensive', 'range': '(24.8p - 32.9p)'}, {'start': 1950, 'end': 2040, 'rate': 'cheap', 'range': '(24.2p - 24.3p)'}, {'start': 2040, 'end': 2130, 'rate': 'expensive', 'range': '(24.7p - 25.4p)'}, {'start': 2130, 'end': 2340, 'rate': 'cheap', 'range': '(21.3p - 24.0p)'}] export [{'start': 885, 'end': 2340, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 14:45:11.715864: - Your estimated bill for today is £5.36 and tomorrow is £8.52
2026-08-15 14:45:11.715943: - Import rates are cheap (13.8p - 15.9p) for the next 1 and a quarter hours and then expensive (33.1p) for the next 1 hour.
2026-08-15 14:45:11.715965: - The battery is currently at 69% and is charging to 100% for the next 1 and a quarter hours.
2026-08-15 14:45:11.715983: - For the next 48 hours there will be no solar generation.
2026-08-15 14:45:11.716000: - You will run out of battery in 21 hours.
2026-08-15 14:45:11.716018: 
2026-08-15 14:45:11.771060: Plan calculation took 8.46 seconds
2026-08-15 14:45:11.771536: Inverter 0: Type SK Sunsynk
2026-08-15 14:45:11.771619: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 14:45:11.771920: Reserve min: 7%, battery_min: 7%
2026-08-15 14:45:11.772027: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 14:45:11.772508: Inverter 0 SoC: 11.07kW 69%, current charge rate 5000W, current discharge rate 5250W, current battery power -4550W, current battery voltage 51.2V, grid power -5180W, load power 184W, PV Power 0W
2026-08-15 14:45:11.772794: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 14:45:11.772928: Inverter 0 scheduled charge enable is True
2026-08-15 14:45:11.773026: Inverter 0 charge windows currently [{'start': 630, 'end': 960, 'average': 0}, {'start': 2070, 'end': 2400, 'average': 0}, {'start': 3510, 'end': 3840, 'average': 0}]
2026-08-15 14:45:11.773179: Inverter 0 Charge settings: 08-15 10:30:00-08-15 16:00:00, limit 100.0%, power 5.0kW
2026-08-15 14:45:11.773395: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 14:45:11.773443: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 14:45:11.773508: Inverter 0 scheduled discharge enable is False
2026-08-15 14:45:11.773701: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 14:45:11.773752: Inverter 0 discharge windows currently []
2026-08-15 14:45:11.773784: Note: Inverter does not support discharge freeze - disabled
2026-08-15 14:45:11.773810: Note: Inverter does not support charge freeze - disabled
2026-08-15 14:45:11.773838: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 14:45:11.829449: Include original charge start 08-15 10:30:00, keeping this instead of new start 08-15 14:30:00
2026-08-15 14:45:11.829572: Inverter 0 Charge window will be: 2026-08-15 10:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 69%, target 100%
2026-08-15 14:45:11.829704: Inverter 0 Target SoC 100%, (this inverter 100%), battery temperature 20°C, select charge rate 5000W (real 5000W), current charge rate 5000W
2026-08-15 14:45:11.829873: Adjust idle time, charge 10:30:00-16:00:00 discharge 00:00:00-00:00:00
2026-08-15 14:45:11.830064: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 14:45:11.830149: No export window planned
2026-08-15 14:45:11.830260: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 14:45:11.830296: Adjust idle time, charge 10:30:00-16:00:00 discharge 00:00:00-00:00:00
2026-08-15 14:45:11.830452: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 14:45:11.830568: Inverter 0 setting charging SoC to 100% as per target
2026-08-15 14:45:11.830609: Inverter 0 adjust target SoC for charge to 100% based on requested all inverter SoC 100%
2026-08-15 14:45:11.830659: Inverter 0 Current Target SoC is 100%, already at target
2026-08-15 14:45:11.830775: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:45:11.830816: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:45:11.830844: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:45:11.830868: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:45:11.830893: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:45:11.830917: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:45:11.830941: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:45:11.830986: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 14:45:11.831022: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 14:45:11.831052: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 14:45:11.831077: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 14:45:11.831111: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 14:45:11.831136: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 14:45:11.831162: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 14:45:11.831246: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:45:11.831277: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:45:11.831308: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:45:11.831349: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:45:11.831377: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:45:11.831401: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:45:11.831429: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:45:11.831450: Inverter 0 count register writes 0
2026-08-15 14:45:11.853836: Total inverter register writes now 825
2026-08-15 14:45:11.889067: Info: Completed run status Charging
2026-08-15 14:45:11.896386: Info: record_status Charging target 69%-100.0%
2026-08-15 14:45:11.903729: Saved current settings to /config/predbat_config.json
2026-08-15 14:45:11.904025: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 14:45:42.012341: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 14:45:42.012637: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 14:45:42.012674: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 14:45:42.012841: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 14:45:42.012882: Note: Inverter does not support discharge freeze - disabled
2026-08-15 14:45:42.012902: Note: Inverter does not support charge freeze - disabled
2026-08-15 14:45:42.012927: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 14:47:42.229080: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 14:47:42.229457: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 14:47:42.229525: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 14:47:42.229770: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 14:47:42.229839: Note: Inverter does not support discharge freeze - disabled
2026-08-15 14:47:42.229883: Note: Inverter does not support charge freeze - disabled
2026-08-15 14:47:42.229929: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 14:49:42.461395: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 14:49:42.461651: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 14:49:42.461705: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 14:49:42.461918: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 14:49:42.461988: Note: Inverter does not support discharge freeze - disabled
2026-08-15 14:49:42.462009: Note: Inverter does not support charge freeze - disabled
2026-08-15 14:49:42.462026: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 14:50:00.563476: --------------- PredBat - update at 2026-08-15 14:50:00+01:00 with clock skew 0 minutes, minutes now 890
2026-08-15 14:50:00.564434: Saved current settings to /config/predbat_config.json
2026-08-15 14:50:00.564676: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 30.0 minutes
2026-08-15 14:50:00.564817: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.2, latest beta is v8.48.2
2026-08-15 14:50:00.565135: Autoupdate: There is an update pending v8.48.2 PV90 and second pass enabled by default, bug fixes - auto update is off
2026-08-15 14:50:00.590803: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 14:50:00.590961: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 14:50:00.591201: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 14:50:00.591870: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 14:50:00.592070: Predbat mode is set to Control charge & discharge
2026-08-15 14:50:00.800502: Found 21602 load_today datapoints going back 28 days
2026-08-15 14:50:00.800667: Using load_power data to fill gaps in load_today data
2026-08-15 14:50:01.563020: Processing 721 30-minute periods for power integration
2026-08-15 14:50:01.719088: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 14:50:01.719221: Car charging hold False, threshold 6.0kWh
2026-08-15 14:50:01.719286: Current data so far today: load 8.2kWh, import 20.8kWh, export 0.0kWh, PV 0kWh
2026-08-15 14:50:01.731548: Cars: SoC: [11.134]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 14:50:01.732037: Standing charge is set to 49.98p
2026-08-15 14:50:01.776174: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 14:50:01.776305: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 14:50:01.776580: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 250.0 minutes
2026-08-15 14:50:01.777227: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 250.0 minutes
2026-08-15 14:50:01.783922: Loaded 95 datapoints of futurerate analysis
2026-08-15 14:50:01.884301: Predicted future rates: ['08-15 00:00:00 => 28.9 / 20.01', '08-15 01:00:00 => 27.54 / 19.31', '08-15 02:00:00 => 26.52 / 18.8', '08-15 03:00:00 => 25.99 / 18.53', '08-15 04:00:00 => 25.8 / 18.43', '08-15 05:00:00 => 25.96 / 18.51', '08-15 06:00:00 => 25.55 / 18.3', '08-15 07:00:00 => 24.33 / 17.68', '08-15 08:00:00 => 23.03 / 17.01', '08-15 09:00:00 => 22.05 / 16.51', '08-15 10:00:00 => 20.43 / 15.68', '08-15 11:00:00 => 18.01 / 14.45', '08-15 12:00:00 => 16.37 / 13.61', '08-15 13:00:00 => 15.76 / 13.3', '08-15 14:00:00 => 15.35 / 13.09', '08-15 15:00:00 => 15.86 / 13.35', '08-15 16:00:00 => 32.89 / 16.13', '08-15 17:00:00 => 38.02 / 18.75', '08-15 18:00:00 => 42.36 / 20.96', '08-15 19:00:00 => 31.09 / 21.13', '08-15 20:00:00 => 31.64 / 21.41', '08-15 21:00:00 => 31.64 / 21.41', '08-15 22:00:00 => 30.58 / 20.87', '08-15 23:00:00 => 29.37 / 20.25', '08-16 00:00:00 => 28.83 / 19.97', '08-16 01:00:00 => 27.73 / 19.41', '08-16 02:00:00 => 26.76 / 18.92', '08-16 03:00:00 => 26.39 / 18.73', '08-16 04:00:00 => 26.33 / 18.7', '08-16 05:00:00 => 26.23 / 18.65', '08-16 06:00:00 => 25.99 / 18.53', '08-16 07:00:00 => 25.64 / 18.35', '08-16 08:00:00 => 24.84 / 17.94', '08-16 09:00:00 => 24.26 / 17.64', '08-16 10:00:00 => 24.8 / 17.92', '08-16 11:00:00 => 24.71 / 17.87', '08-16 12:00:00 => 23.79 / 17.4', '08-16 13:00:00 => 23.14 / 17.07']
2026-08-15 14:50:01.944475: Rate min forward looking: now 13.77p at end of forecast 21.29p
2026-08-15 14:50:01.944886: Import rates: min 13.77p, max 46.05p, average 28.19p
2026-08-15 14:50:01.979513: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 14:50:01.979631: Rate thresholds (for charge/export) are import 45.55p (0.0p), export -0.1p (0.0p)
2026-08-15 14:50:01.980703: High export rate found rates in range 99p to -99p
2026-08-15 14:50:02.058734: Low Import rate found rates in range 13.77p to 44.19p
2026-08-15 14:50:02.058860: Car 0 charging is not planned as it is not plugged in
2026-08-15 14:50:02.072640: Battery level now 11.07kWh, -1hr ago 6.87kWh, at midnight 1.66kWh, battery value change in the last hour 49.67p, change today 111.35p, rate_forward 11.83p
2026-08-15 14:50:02.073115: Last hour: net energy 4.85kWh, import 4.85kWh, export 0.0kWh, car 0kWh, load 0.22kWh, net cost 70.46p, import 70.46p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 14:50:02.123384: Today's energy total net 20.8kWh, import 20.8kWh, export 0.0kWh, cost 456.11p, import 406.13p, export 0.0p, carbon 0.0kg
2026-08-15 14:50:02.123538: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 14:50:02.196684: Using weighted-bucket historical load forecast over 14 days
2026-08-15 14:50:02.220148: Today's load divergence 94.42%, in-day adjustment 113.44%, damping 0.95x, yesterday 143.77% today 94.7% blend 38.19%
2026-08-15 14:50:02.220230: Today's predicted so far 9.02kWh with 0.0kWh car/iBoost excluded, 14.52kWh import ignored, and 9.02kWh forecast extra.
2026-08-15 14:50:02.220257: Today's actual load so far 8.21kWh with 0.0kWh car/iBoost excluded, and 14.52kWh import ignored.
2026-08-15 14:50:02.249590: Inverter 0: Type SK Sunsynk
2026-08-15 14:50:02.249671: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 14:50:02.249844: Reserve min: 7%, battery_min: 7%
2026-08-15 14:50:02.249907: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 14:50:02.250129: Inverter 0 SoC: 11.07kW 69%, current charge rate 5000W, current discharge rate 5250W, current battery power -4550W, current battery voltage 51.2V, grid power -5266W, load power 269W, PV Power 0W
2026-08-15 14:50:02.250264: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 14:50:02.250340: Inverter 0 scheduled charge enable is True
2026-08-15 14:50:02.250378: Inverter 0 charge windows currently [{'start': 630, 'end': 960, 'average': 0}, {'start': 2070, 'end': 2400, 'average': 0}, {'start': 3510, 'end': 3840, 'average': 0}]
2026-08-15 14:50:02.250450: Inverter 0 Charge settings: 08-15 10:30:00-08-15 16:00:00, limit 100.0%, power 5.0kW
2026-08-15 14:50:02.250549: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 14:50:02.250580: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 14:50:02.250610: Inverter 0 scheduled discharge enable is False
2026-08-15 14:50:02.250706: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 14:50:02.250737: Inverter 0 discharge windows currently []
2026-08-15 14:50:02.250755: Note: Inverter does not support discharge freeze - disabled
2026-08-15 14:50:02.250770: Note: Inverter does not support charge freeze - disabled
2026-08-15 14:50:02.250796: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 14:50:02.308751: Dynamic load last period 0.00kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 14:50:02.308885: Plan was last updated on 2026-08-15 14:45:00+01:00 and is now 5.0 minutes old
2026-08-15 14:50:02.309203: Best charge window [ 15-08 14:30:00 - 15-08 16:00:00 @ 15.13p 100%, 16-08 15:00:00 - 16-08 18:30:00 @ 41.93p 100%, 16-08 19:00:00 - 17-08 15:00:00 @ 21.92p 100% ]
2026-08-15 14:50:02.309273: Best export window [  ]
2026-08-15 14:50:02.310162: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 14:50:02.313318: Load divergence over 8.0 hours mean 466.25W, min 292.8W, max 1321.2W, std dev 187.0W, divergence 20.05%
2026-08-15 14:50:02.331713: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 14:50:02.331873: LoadML is_calculating False
2026-08-15 14:50:02.331944: Creating pool of 12 processes to match your CPU count
2026-08-15 14:50:02.458885: predict base end_record 08-16 15:05:00, final soc 16.0kWh, metric 1028.28p, metric_keep 0kWh, min_soc 2.63kWh @ 08-16 10:25:00, load 25.0kWh, PV 0.0kWh
2026-08-15 14:50:02.602725: Battery has 48.0 hours left - now at 11.07kWh
2026-08-15 14:50:02.648935: predict base10 end_record 08-16 15:05:00, final soc 16.0kWh, metric 1048.19p, metric_keep 0kWh, min_soc 1.59kWh @ 08-16 10:25:00, load 25.8kWh, PV 0.0kWh
2026-08-15 14:50:02.729002: predict best10 end_record 08-16 15:05:00, final soc 1.44kWh, metric 676.62p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 11:00:00, load 25.8kWh, PV 0.0kWh
2026-08-15 14:50:02.811633: predict best end_record 08-16 15:05:00, final soc 1.51kWh, metric 656.3p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 12:00:00, load 25.0kWh, PV 0.0kWh
2026-08-15 14:50:02.811734: Saving plan best values to HA entities
2026-08-15 14:50:02.986262: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0
2026-08-15 14:50:02.992147: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 14:50:02.998091: Best charging limit SoC's [16.0, 16.0, 16.0]kWh, export []kWh gives import battery 6.59kWh, house 2.07kWh, export 0.0kWh, metric 656.3p, metric10 676.62p
2026-08-15 14:50:03.081449: Marginal costs baseline metric (no standing charge): 606.3189
2026-08-15 14:50:03.345692: Marginal energy costs matrix computed: min=15.09 max=31.37
2026-08-15 14:50:03.419904: Rate array import [{'start': 890, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 15.9p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1950, 'rate': 'expensive', 'range': '(24.8p - 32.9p)'}, {'start': 1950, 'end': 2040, 'rate': 'cheap', 'range': '(24.2p - 24.3p)'}, {'start': 2040, 'end': 2130, 'rate': 'expensive', 'range': '(24.7p - 25.4p)'}, {'start': 2130, 'end': 2345, 'rate': 'cheap', 'range': '(21.3p - 24.0p)'}] export [{'start': 890, 'end': 2345, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 14:50:03.420337: - Your estimated bill for today is £5.49 and tomorrow is £8.52
2026-08-15 14:50:03.420382: - Import rates are cheap (13.8p - 15.9p) for the next 1 and a quarter hours and then expensive (33.1p) for the next 1 hour.
2026-08-15 14:50:03.420405: - The battery is currently at 69% and is charging to 100% for the next 1 and a quarter hours.
2026-08-15 14:50:03.420423: - For the next 48 hours there will be no solar generation.
2026-08-15 14:50:03.420440: - You will run out of battery in 21 hours.
2026-08-15 14:50:03.420457: 
2026-08-15 14:50:03.474560: Plan calculation took 1.17 seconds
2026-08-15 14:50:03.478195: No high rate period found
2026-08-15 14:50:03.530691: Import threshold used for optimisation was 24.26p
2026-08-15 14:50:03.586113: Low import rate windows [0: 08-15 14:30:00 - 08-15 15:00:00 @ 13.77, 1: 08-15 15:00:00 - 08-15 15:30:00 @ 15.02, 2: 08-15 15:30:00 - 08-15 16:00:00 @ 15.87, 3: 08-15 16:00:00 - 08-15 16:30:00 @ 33.13, 4: 08-15 16:30:00 - 08-15 17:00:00 @ 33.13, 5: 08-15 17:00:00 - 08-15 17:30:00 @ 38.46, 6: 08-15 17:30:00 - 08-15 18:00:00 @ 40.44, 7: 08-15 18:00:00 - 08-15 18:30:00 @ 41.55, 8: 08-15 18:30:00 - 08-15 19:00:00 @ 43.82, 9: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 10: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 11: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 12: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 13: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 14: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 15: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 16: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 17: 08-15 23:00:00 - 08-15 23:30:00 @ 29.37, 18: 08-15 23:30:00 - 08-16 00:00:00 @ 29.2, 19: 08-16 00:00:00 - 08-16 00:30:00 @ 28.83, 20: 08-16 00:30:00 - 08-16 01:00:00 @ 28.46, 21: 08-16 01:00:00 - 08-16 01:30:00 @ 27.73, 22: 08-16 01:30:00 - 08-16 02:00:00 @ 27.01, 23: 08-16 02:00:00 - 08-16 02:30:00 @ 26.76, 24: 08-16 02:30:00 - 08-16 03:00:00 @ 26.48, 25: 08-16 03:00:00 - 08-16 03:30:00 @ 26.39, 26: 08-16 03:30:00 - 08-16 04:00:00 @ 26.27, 27: 08-16 04:00:00 - 08-16 04:30:00 @ 26.33, 28: 08-16 04:30:00 - 08-16 05:00:00 @ 26.37, 29: 08-16 05:00:00 - 08-16 05:30:00 @ 26.23, 30: 08-16 05:30:00 - 08-16 06:00:00 @ 26.07, 31: 08-16 06:00:00 - 08-16 06:30:00 @ 25.99, 32: 08-16 06:30:00 - 08-16 07:00:00 @ 25.92, 33: 08-16 07:00:00 - 08-16 07:30:00 @ 25.64, 34: 08-16 07:30:00 - 08-16 08:00:00 @ 25.39, 35: 08-16 08:00:00 - 08-16 08:30:00 @ 24.84, 36: 08-16 08:30:00 - 08-16 09:00:00 @ 24.28, 37: 08-16 09:00:00 - 08-16 09:30:00 @ 24.26, 38: 08-16 09:30:00 - 08-16 10:00:00 @ 24.22, 39: 08-16 10:00:00 - 08-16 10:30:00 @ 24.8, 40: 08-16 10:30:00 - 08-16 11:00:00 @ 25.37, 41: 08-16 11:00:00 - 08-16 11:30:00 @ 24.71, 42: 08-16 11:30:00 - 08-16 12:00:00 @ 24.02, 43: 08-16 12:00:00 - 08-16 12:30:00 @ 23.79, 44: 08-16 12:30:00 - 08-16 13:00:00 @ 23.55, 45: 08-16 13:00:00 - 08-16 13:30:00 @ 23.14, 46: 08-16 13:30:00 - 08-16 14:00:00 @ 22.71, 47: 08-16 14:00:00 - 08-16 14:30:00 @ 22.01, 48: 08-16 14:30:00 - 08-16 15:00:00 @ 21.29, 49: 08-16 15:00:00 - 08-16 15:30:00 @ 22.01, 50: 08-16 15:30:00 - 08-16 16:00:00 @ 22.71, 51: 08-16 16:00:00 - 08-16 16:30:00 @ 37.14, 52: 08-16 16:30:00 - 08-16 17:00:00 @ 37.91, 53: 08-16 17:00:00 - 08-16 17:30:00 @ 40.13, 54: 08-16 17:30:00 - 08-16 18:00:00 @ 42.36, 55: 08-16 18:00:00 - 08-16 18:30:00 @ 44.19, 56: 08-16 19:00:00 - 08-16 19:30:00 @ 33.04, 57: 08-16 19:30:00 - 08-16 20:00:00 @ 33.71, 58: 08-16 20:00:00 - 08-16 20:30:00 @ 33.83, 59: 08-16 20:30:00 - 08-16 21:00:00 @ 33.94, 60: 08-16 21:00:00 - 08-16 21:30:00 @ 33.73, 61: 08-16 21:30:00 - 08-16 22:00:00 @ 33.53, 62: 08-16 22:00:00 - 08-16 22:30:00 @ 32.36, 63: 08-16 22:30:00 - 08-16 23:00:00 @ 31.17, 64: 08-16 23:00:00 - 08-16 23:30:00 @ 29.37, 65: 08-16 23:30:00 - 08-17 00:00:00 @ 29.2, 66: 08-17 00:00:00 - 08-17 00:30:00 @ 28.83, 67: 08-17 00:30:00 - 08-17 01:00:00 @ 28.46, 68: 08-17 01:00:00 - 08-17 01:30:00 @ 27.73, 69: 08-17 01:30:00 - 08-17 02:00:00 @ 27.01, 70: 08-17 02:00:00 - 08-17 02:30:00 @ 26.76, 71: 08-17 02:30:00 - 08-17 03:00:00 @ 26.48, 72: 08-17 03:00:00 - 08-17 03:30:00 @ 26.39, 73: 08-17 03:30:00 - 08-17 04:00:00 @ 26.27, 74: 08-17 04:00:00 - 08-17 04:30:00 @ 26.33, 75: 08-17 04:30:00 - 08-17 05:00:00 @ 26.37, 76: 08-17 05:00:00 - 08-17 05:30:00 @ 26.23, 77: 08-17 05:30:00 - 08-17 06:00:00 @ 26.07, 78: 08-17 06:00:00 - 08-17 06:30:00 @ 25.99, 79: 08-17 06:30:00 - 08-17 07:00:00 @ 25.92, 80: 08-17 07:00:00 - 08-17 07:30:00 @ 25.64, 81: 08-17 07:30:00 - 08-17 08:00:00 @ 25.39, 82: 08-17 08:00:00 - 08-17 08:30:00 @ 24.84, 83: 08-17 08:30:00 - 08-17 09:00:00 @ 24.28, 84: 08-17 09:00:00 - 08-17 09:30:00 @ 24.26, 85: 08-17 09:30:00 - 08-17 10:00:00 @ 24.22, 86: 08-17 10:00:00 - 08-17 10:30:00 @ 24.8, 87: 08-17 10:30:00 - 08-17 11:00:00 @ 25.37, 88: 08-17 11:00:00 - 08-17 11:30:00 @ 24.71, 89: 08-17 11:30:00 - 08-17 12:00:00 @ 24.02, 90: 08-17 12:00:00 - 08-17 12:30:00 @ 23.79, 91: 08-17 12:30:00 - 08-17 13:00:00 @ 23.55, 92: 08-17 13:00:00 - 08-17 13:30:00 @ 23.14, 93: 08-17 13:30:00 - 08-17 14:00:00 @ 22.71, 94: 08-17 14:00:00 - 08-17 14:30:00 @ 22.01, 95: 08-17 14:30:00 - 08-17 15:00:00 @ 21.29]
2026-08-15 14:50:03.593321: Include original charge start 08-15 10:30:00, keeping this instead of new start 08-15 14:30:00
2026-08-15 14:50:03.593432: Inverter 0 Charge window will be: 2026-08-15 10:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 69%, target 100%
2026-08-15 14:50:03.593591: Inverter 0 Target SoC 100%, (this inverter 100%), battery temperature 20°C, select charge rate 5000W (real 5000W), current charge rate 5000W
2026-08-15 14:50:03.593821: Adjust idle time, charge 10:30:00-16:00:00 discharge 00:00:00-00:00:00
2026-08-15 14:50:03.594064: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 14:50:03.594155: No export window planned
2026-08-15 14:50:03.594253: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 14:50:03.594283: Adjust idle time, charge 10:30:00-16:00:00 discharge 00:00:00-00:00:00
2026-08-15 14:50:03.594401: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 14:50:03.594503: Inverter 0 setting charging SoC to 100% as per target
2026-08-15 14:50:03.594539: Inverter 0 adjust target SoC for charge to 100% based on requested all inverter SoC 100%
2026-08-15 14:50:03.594594: Inverter 0 Current Target SoC is 100%, already at target
2026-08-15 14:50:03.594692: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:50:03.594727: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:50:03.594750: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:50:03.594774: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:50:03.594813: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:50:03.594840: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:50:03.594860: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:50:03.594900: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 14:50:03.594937: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 14:50:03.594962: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 14:50:03.594983: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 14:50:03.595002: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 14:50:03.595027: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 14:50:03.595048: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 14:50:03.595099: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:50:03.595128: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:50:03.595149: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:50:03.595169: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:50:03.595188: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:50:03.595206: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:50:03.595231: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:50:03.595263: Inverter 0 count register writes 0
2026-08-15 14:50:03.610772: Will not recompute the plan, it is 5.0 minutes old and max age is 10 minutes
2026-08-15 14:50:03.616030: Total inverter register writes now 825
2026-08-15 14:50:03.647456: Info: Completed run status Charging
2026-08-15 14:50:03.654121: Info: record_status Charging target 69%-100.0%
2026-08-15 14:50:03.660685: Saved current settings to /config/predbat_config.json
2026-08-15 14:50:03.661173: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 14:50:41.767032: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 14:50:41.767315: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 14:50:41.767364: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 14:50:41.767537: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 14:50:41.767587: Note: Inverter does not support discharge freeze - disabled
2026-08-15 14:50:41.767629: Note: Inverter does not support charge freeze - disabled
2026-08-15 14:50:41.767647: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 14:52:41.993654: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 14:52:41.993937: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 14:52:41.993982: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 14:52:41.994148: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 14:52:41.994188: Note: Inverter does not support discharge freeze - disabled
2026-08-15 14:52:41.994208: Note: Inverter does not support charge freeze - disabled
2026-08-15 14:52:41.994226: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 14:54:42.216884: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 14:54:42.217239: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 14:54:42.217280: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 14:54:42.217461: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 14:54:42.217578: Note: Inverter does not support discharge freeze - disabled
2026-08-15 14:54:42.217613: Note: Inverter does not support charge freeze - disabled
2026-08-15 14:54:42.217633: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 14:55:00.319941: --------------- PredBat - update at 2026-08-15 14:55:00+01:00 with clock skew 0 minutes, minutes now 895
2026-08-15 14:55:00.320792: Saved current settings to /config/predbat_config.json
2026-08-15 14:55:00.320922: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 35.0 minutes
2026-08-15 14:55:00.321074: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.2, latest beta is v8.48.2
2026-08-15 14:55:00.321219: Autoupdate: There is an update pending v8.48.2 PV90 and second pass enabled by default, bug fixes - auto update is off
2026-08-15 14:55:00.338725: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 14:55:00.338880: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 14:55:00.339048: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 14:55:00.339532: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 14:55:00.339656: Predbat mode is set to Control charge & discharge
2026-08-15 14:55:00.512783: Found 21602 load_today datapoints going back 28 days
2026-08-15 14:55:00.512920: Using load_power data to fill gaps in load_today data
2026-08-15 14:55:01.267392: Processing 721 30-minute periods for power integration
2026-08-15 14:55:01.426839: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 14:55:01.426966: Car charging hold False, threshold 6.0kWh
2026-08-15 14:55:01.427006: Current data so far today: load 8.2kWh, import 20.8kWh, export 0.0kWh, PV 0kWh
2026-08-15 14:55:01.439349: Cars: SoC: [11.134]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 14:55:01.439793: Standing charge is set to 49.98p
2026-08-15 14:55:01.481303: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 14:55:01.481395: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 14:55:01.481585: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 255.0 minutes
2026-08-15 14:55:01.481981: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 255.0 minutes
2026-08-15 14:55:01.486860: Loaded 95 datapoints of futurerate analysis
2026-08-15 14:55:01.564282: Predicted future rates: ['08-15 00:00:00 => 28.9 / 20.01', '08-15 01:00:00 => 27.54 / 19.31', '08-15 02:00:00 => 26.52 / 18.8', '08-15 03:00:00 => 25.99 / 18.53', '08-15 04:00:00 => 25.8 / 18.43', '08-15 05:00:00 => 25.96 / 18.51', '08-15 06:00:00 => 25.55 / 18.3', '08-15 07:00:00 => 24.33 / 17.68', '08-15 08:00:00 => 23.03 / 17.01', '08-15 09:00:00 => 22.05 / 16.51', '08-15 10:00:00 => 20.43 / 15.68', '08-15 11:00:00 => 18.01 / 14.45', '08-15 12:00:00 => 16.37 / 13.61', '08-15 13:00:00 => 15.76 / 13.3', '08-15 14:00:00 => 15.35 / 13.09', '08-15 15:00:00 => 15.86 / 13.35', '08-15 16:00:00 => 32.89 / 16.13', '08-15 17:00:00 => 38.02 / 18.75', '08-15 18:00:00 => 42.36 / 20.96', '08-15 19:00:00 => 31.09 / 21.13', '08-15 20:00:00 => 31.64 / 21.41', '08-15 21:00:00 => 31.64 / 21.41', '08-15 22:00:00 => 30.58 / 20.87', '08-15 23:00:00 => 29.37 / 20.25', '08-16 00:00:00 => 28.83 / 19.97', '08-16 01:00:00 => 27.73 / 19.41', '08-16 02:00:00 => 26.76 / 18.92', '08-16 03:00:00 => 26.39 / 18.73', '08-16 04:00:00 => 26.33 / 18.7', '08-16 05:00:00 => 26.23 / 18.65', '08-16 06:00:00 => 25.99 / 18.53', '08-16 07:00:00 => 25.64 / 18.35', '08-16 08:00:00 => 24.84 / 17.94', '08-16 09:00:00 => 24.26 / 17.64', '08-16 10:00:00 => 24.8 / 17.92', '08-16 11:00:00 => 24.71 / 17.87', '08-16 12:00:00 => 23.79 / 17.4', '08-16 13:00:00 => 23.14 / 17.07']
2026-08-15 14:55:01.615772: Rate min forward looking: now 13.77p at end of forecast 21.29p
2026-08-15 14:55:01.616217: Import rates: min 13.77p, max 46.05p, average 28.2p
2026-08-15 14:55:01.650180: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 14:55:01.650298: Rate thresholds (for charge/export) are import 45.55p (0.0p), export -0.1p (0.0p)
2026-08-15 14:55:01.651414: High export rate found rates in range 99p to -99p
2026-08-15 14:55:01.730527: Low Import rate found rates in range 13.77p to 44.19p
2026-08-15 14:55:01.730688: Car 0 charging is not planned as it is not plugged in
2026-08-15 14:55:01.741973: Battery level now 11.07kWh, -1hr ago 7.22kWh, at midnight 1.66kWh, battery value change in the last hour 45.51p, change today 111.35p, rate_forward 11.83p
2026-08-15 14:55:01.742286: Last hour: net energy 4.4kWh, import 4.4kWh, export 0.0kWh, car 0kWh, load 0.2kWh, net cost 63.38p, import 63.38p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 14:55:01.794421: Today's energy total net 20.8kWh, import 20.8kWh, export 0.0kWh, cost 456.11p, import 406.13p, export 0.0p, carbon 0.0kg
2026-08-15 14:55:01.794634: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 14:55:01.866783: Using weighted-bucket historical load forecast over 14 days
2026-08-15 14:55:01.889928: Today's load divergence 93.99%, in-day adjustment 113.02%, damping 0.95x, yesterday 143.77% today 94.29% blend 37.85%
2026-08-15 14:55:01.890004: Today's predicted so far 9.04kWh with 0.0kWh car/iBoost excluded, 14.5kWh import ignored, and 9.04kWh forecast extra.
2026-08-15 14:55:01.890030: Today's actual load so far 8.18kWh with 0.0kWh car/iBoost excluded, and 14.5kWh import ignored.
2026-08-15 14:55:01.922199: Inverter 0: Type SK Sunsynk
2026-08-15 14:55:01.922279: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 14:55:01.922480: Reserve min: 7%, battery_min: 7%
2026-08-15 14:55:01.922569: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 14:55:01.922807: Inverter 0 SoC: 11.42kW 71%, current charge rate 5000W, current discharge rate 5250W, current battery power -4554W, current battery voltage 51.2V, grid power -5214W, load power 218W, PV Power 0W
2026-08-15 14:55:01.922936: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 14:55:01.923010: Inverter 0 scheduled charge enable is True
2026-08-15 14:55:01.923046: Inverter 0 charge windows currently [{'start': 630, 'end': 960, 'average': 0}, {'start': 2070, 'end': 2400, 'average': 0}, {'start': 3510, 'end': 3840, 'average': 0}]
2026-08-15 14:55:01.923116: Inverter 0 Charge settings: 08-15 10:30:00-08-15 16:00:00, limit 100.0%, power 5.0kW
2026-08-15 14:55:01.923211: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 14:55:01.923236: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 14:55:01.923270: Inverter 0 scheduled discharge enable is False
2026-08-15 14:55:01.923365: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 14:55:01.923395: Inverter 0 discharge windows currently []
2026-08-15 14:55:01.923414: Note: Inverter does not support discharge freeze - disabled
2026-08-15 14:55:01.923429: Note: Inverter does not support charge freeze - disabled
2026-08-15 14:55:01.923458: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 14:55:01.975416: Dynamic load last period 0.00kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 14:55:01.975528: Plan was last updated on 2026-08-15 14:45:00+01:00 and is now 10.0 minutes old
2026-08-15 14:55:01.975690: Best charge window [ 15-08 14:30:00 - 15-08 16:00:00 @ 15.13p 100%, 16-08 15:00:00 - 16-08 18:30:00 @ 41.93p 100%, 16-08 19:00:00 - 17-08 15:00:00 @ 21.92p 100% ]
2026-08-15 14:55:01.975755: Best export window [  ]
2026-08-15 14:55:01.976347: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 14:55:01.978891: Load divergence over 8.0 hours mean 463.13W, min 291.6W, max 1314.0W, std dev 186.83W, divergence 20.17%
2026-08-15 14:55:01.993746: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 14:55:01.993828: LoadML is_calculating False
2026-08-15 14:55:01.993882: Creating pool of 12 processes to match your CPU count
2026-08-15 14:55:02.109627: predict base end_record 08-16 15:10:00, final soc 16.0kWh, metric 1023.46p, metric_keep 0kWh, min_soc 2.66kWh @ 08-16 10:25:00, load 25.0kWh, PV 0.0kWh
2026-08-15 14:55:02.234059: Battery has 48.0 hours left - now at 11.42kWh
2026-08-15 14:55:02.271500: predict base10 end_record 08-16 15:10:00, final soc 16.0kWh, metric 1043.08p, metric_keep 0kWh, min_soc 1.65kWh @ 08-16 10:25:00, load 25.8kWh, PV 0.0kWh
2026-08-15 14:55:02.343496: predict best10 end_record 08-16 15:10:00, final soc 1.77kWh, metric 679.18p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 11:05:00, load 25.8kWh, PV 0.0kWh
2026-08-15 14:55:02.418113: predict best end_record 08-16 15:10:00, final soc 1.9kWh, metric 660.71p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 12:00:00, load 25.0kWh, PV 0.0kWh
2026-08-15 14:55:02.418193: Saving plan best values to HA entities
2026-08-15 14:55:02.579317: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0
2026-08-15 14:55:02.584673: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 14:55:02.589910: Best charging limit SoC's [16.0, 16.0, 16.0]kWh, export []kWh gives import battery 6.66kWh, house 2.03kWh, export 0.0kWh, metric 660.71p, metric10 679.18p
2026-08-15 14:55:02.669845: Marginal costs baseline metric (no standing charge): 610.7272
2026-08-15 14:55:02.896381: Marginal energy costs matrix computed: min=15.27 max=31.66
2026-08-15 14:55:02.971786: Rate array import [{'start': 895, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 15.9p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1950, 'rate': 'expensive', 'range': '(24.8p - 32.9p)'}, {'start': 1950, 'end': 2040, 'rate': 'cheap', 'range': '(24.2p - 24.3p)'}, {'start': 2040, 'end': 2130, 'rate': 'expensive', 'range': '(24.7p - 25.4p)'}, {'start': 2130, 'end': 2350, 'rate': 'cheap', 'range': '(21.3p - 24.0p)'}] export [{'start': 895, 'end': 2350, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 14:55:02.972146: - Your estimated bill for today is £5.43 and tomorrow is £8.52
2026-08-15 14:55:02.972185: - Import rates are cheap (13.8p - 15.9p) for the next 1 hour and then expensive (33.1p) for the next 1 hour.
2026-08-15 14:55:02.972203: - The battery is currently at 71% and is charging to 100% for the next 1 hour.
2026-08-15 14:55:02.972217: - For the next 48 hours there will be no solar generation.
2026-08-15 14:55:02.972231: - You will run out of battery in 21 hours.
2026-08-15 14:55:02.972244: 
2026-08-15 14:55:03.021576: Plan calculation took 1.05 seconds
2026-08-15 14:55:03.025164: No high rate period found
2026-08-15 14:55:03.073260: Import threshold used for optimisation was 24.26p
2026-08-15 14:55:03.124087: Low import rate windows [0: 08-15 14:30:00 - 08-15 15:00:00 @ 13.77, 1: 08-15 15:00:00 - 08-15 15:30:00 @ 15.02, 2: 08-15 15:30:00 - 08-15 16:00:00 @ 15.87, 3: 08-15 16:00:00 - 08-15 16:30:00 @ 33.13, 4: 08-15 16:30:00 - 08-15 17:00:00 @ 33.13, 5: 08-15 17:00:00 - 08-15 17:30:00 @ 38.46, 6: 08-15 17:30:00 - 08-15 18:00:00 @ 40.44, 7: 08-15 18:00:00 - 08-15 18:30:00 @ 41.55, 8: 08-15 18:30:00 - 08-15 19:00:00 @ 43.82, 9: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 10: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 11: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 12: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 13: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 14: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 15: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 16: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 17: 08-15 23:00:00 - 08-15 23:30:00 @ 29.37, 18: 08-15 23:30:00 - 08-16 00:00:00 @ 29.2, 19: 08-16 00:00:00 - 08-16 00:30:00 @ 28.83, 20: 08-16 00:30:00 - 08-16 01:00:00 @ 28.46, 21: 08-16 01:00:00 - 08-16 01:30:00 @ 27.73, 22: 08-16 01:30:00 - 08-16 02:00:00 @ 27.01, 23: 08-16 02:00:00 - 08-16 02:30:00 @ 26.76, 24: 08-16 02:30:00 - 08-16 03:00:00 @ 26.48, 25: 08-16 03:00:00 - 08-16 03:30:00 @ 26.39, 26: 08-16 03:30:00 - 08-16 04:00:00 @ 26.27, 27: 08-16 04:00:00 - 08-16 04:30:00 @ 26.33, 28: 08-16 04:30:00 - 08-16 05:00:00 @ 26.37, 29: 08-16 05:00:00 - 08-16 05:30:00 @ 26.23, 30: 08-16 05:30:00 - 08-16 06:00:00 @ 26.07, 31: 08-16 06:00:00 - 08-16 06:30:00 @ 25.99, 32: 08-16 06:30:00 - 08-16 07:00:00 @ 25.92, 33: 08-16 07:00:00 - 08-16 07:30:00 @ 25.64, 34: 08-16 07:30:00 - 08-16 08:00:00 @ 25.39, 35: 08-16 08:00:00 - 08-16 08:30:00 @ 24.84, 36: 08-16 08:30:00 - 08-16 09:00:00 @ 24.28, 37: 08-16 09:00:00 - 08-16 09:30:00 @ 24.26, 38: 08-16 09:30:00 - 08-16 10:00:00 @ 24.22, 39: 08-16 10:00:00 - 08-16 10:30:00 @ 24.8, 40: 08-16 10:30:00 - 08-16 11:00:00 @ 25.37, 41: 08-16 11:00:00 - 08-16 11:30:00 @ 24.71, 42: 08-16 11:30:00 - 08-16 12:00:00 @ 24.02, 43: 08-16 12:00:00 - 08-16 12:30:00 @ 23.79, 44: 08-16 12:30:00 - 08-16 13:00:00 @ 23.55, 45: 08-16 13:00:00 - 08-16 13:30:00 @ 23.14, 46: 08-16 13:30:00 - 08-16 14:00:00 @ 22.71, 47: 08-16 14:00:00 - 08-16 14:30:00 @ 22.01, 48: 08-16 14:30:00 - 08-16 15:00:00 @ 21.29, 49: 08-16 15:00:00 - 08-16 15:30:00 @ 22.01, 50: 08-16 15:30:00 - 08-16 16:00:00 @ 22.71, 51: 08-16 16:00:00 - 08-16 16:30:00 @ 37.14, 52: 08-16 16:30:00 - 08-16 17:00:00 @ 37.91, 53: 08-16 17:00:00 - 08-16 17:30:00 @ 40.13, 54: 08-16 17:30:00 - 08-16 18:00:00 @ 42.36, 55: 08-16 18:00:00 - 08-16 18:30:00 @ 44.19, 56: 08-16 19:00:00 - 08-16 19:30:00 @ 33.04, 57: 08-16 19:30:00 - 08-16 20:00:00 @ 33.71, 58: 08-16 20:00:00 - 08-16 20:30:00 @ 33.83, 59: 08-16 20:30:00 - 08-16 21:00:00 @ 33.94, 60: 08-16 21:00:00 - 08-16 21:30:00 @ 33.73, 61: 08-16 21:30:00 - 08-16 22:00:00 @ 33.53, 62: 08-16 22:00:00 - 08-16 22:30:00 @ 32.36, 63: 08-16 22:30:00 - 08-16 23:00:00 @ 31.17, 64: 08-16 23:00:00 - 08-16 23:30:00 @ 29.37, 65: 08-16 23:30:00 - 08-17 00:00:00 @ 29.2, 66: 08-17 00:00:00 - 08-17 00:30:00 @ 28.83, 67: 08-17 00:30:00 - 08-17 01:00:00 @ 28.46, 68: 08-17 01:00:00 - 08-17 01:30:00 @ 27.73, 69: 08-17 01:30:00 - 08-17 02:00:00 @ 27.01, 70: 08-17 02:00:00 - 08-17 02:30:00 @ 26.76, 71: 08-17 02:30:00 - 08-17 03:00:00 @ 26.48, 72: 08-17 03:00:00 - 08-17 03:30:00 @ 26.39, 73: 08-17 03:30:00 - 08-17 04:00:00 @ 26.27, 74: 08-17 04:00:00 - 08-17 04:30:00 @ 26.33, 75: 08-17 04:30:00 - 08-17 05:00:00 @ 26.37, 76: 08-17 05:00:00 - 08-17 05:30:00 @ 26.23, 77: 08-17 05:30:00 - 08-17 06:00:00 @ 26.07, 78: 08-17 06:00:00 - 08-17 06:30:00 @ 25.99, 79: 08-17 06:30:00 - 08-17 07:00:00 @ 25.92, 80: 08-17 07:00:00 - 08-17 07:30:00 @ 25.64, 81: 08-17 07:30:00 - 08-17 08:00:00 @ 25.39, 82: 08-17 08:00:00 - 08-17 08:30:00 @ 24.84, 83: 08-17 08:30:00 - 08-17 09:00:00 @ 24.28, 84: 08-17 09:00:00 - 08-17 09:30:00 @ 24.26, 85: 08-17 09:30:00 - 08-17 10:00:00 @ 24.22, 86: 08-17 10:00:00 - 08-17 10:30:00 @ 24.8, 87: 08-17 10:30:00 - 08-17 11:00:00 @ 25.37, 88: 08-17 11:00:00 - 08-17 11:30:00 @ 24.71, 89: 08-17 11:30:00 - 08-17 12:00:00 @ 24.02, 90: 08-17 12:00:00 - 08-17 12:30:00 @ 23.79, 91: 08-17 12:30:00 - 08-17 13:00:00 @ 23.55, 92: 08-17 13:00:00 - 08-17 13:30:00 @ 23.14, 93: 08-17 13:30:00 - 08-17 14:00:00 @ 22.71, 94: 08-17 14:00:00 - 08-17 14:30:00 @ 22.01, 95: 08-17 14:30:00 - 08-17 15:00:00 @ 21.29]
2026-08-15 14:55:03.131111: Include original charge start 08-15 10:30:00, keeping this instead of new start 08-15 14:30:00
2026-08-15 14:55:03.131224: Inverter 0 Charge window will be: 2026-08-15 10:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 71%, target 100%
2026-08-15 14:55:03.131399: Inverter 0 Target SoC 100%, (this inverter 100%), battery temperature 20°C, select charge rate 5000W (real 5000W), current charge rate 5000W
2026-08-15 14:55:03.131621: Adjust idle time, charge 10:30:00-16:00:00 discharge 00:00:00-00:00:00
2026-08-15 14:55:03.131853: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 14:55:03.131932: No export window planned
2026-08-15 14:55:03.132026: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 14:55:03.132056: Adjust idle time, charge 10:30:00-16:00:00 discharge 00:00:00-00:00:00
2026-08-15 14:55:03.132164: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 14:55:03.132292: Inverter 0 setting charging SoC to 100% as per target
2026-08-15 14:55:03.132321: Inverter 0 adjust target SoC for charge to 100% based on requested all inverter SoC 100%
2026-08-15 14:55:03.132376: Inverter 0 Current Target SoC is 100%, already at target
2026-08-15 14:55:03.132478: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:55:03.132534: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:55:03.132559: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:55:03.132579: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:55:03.132599: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:55:03.132618: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:55:03.132642: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:55:03.132678: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 14:55:03.132709: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 14:55:03.132730: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 14:55:03.132750: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 14:55:03.132781: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 14:55:03.132801: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 14:55:03.132821: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 14:55:03.132870: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:55:03.132894: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:55:03.132913: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:55:03.132937: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:55:03.133015: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:55:03.133058: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:55:03.133108: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:55:03.133156: Inverter 0 count register writes 0
2026-08-15 14:55:03.150016: Will recompute the plan as it is now 10.0 minutes old and will exceed the max age of 10 minutes before the next run
2026-08-15 14:55:03.150185: Recompute is saving previous plan...
2026-08-15 14:55:03.153714: Best charge window [ 15-08 14:30:00 - 15-08 15:00:00 @ 13.77p 100%, 15-08 15:00:00 - 15-08 15:30:00 @ 15.02p 100%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 100%, 15-08 16:00:00 - 15-08 16:30:00 @ 33.13p 100%, 15-08 16:30:00 - 15-08 17:00:00 @ 33.13p 100%, 15-08 17:00:00 - 15-08 17:30:00 @ 38.46p 100%, 15-08 17:30:00 - 15-08 18:00:00 @ 40.44p 100%, 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 100%, 15-08 18:30:00 - 15-08 19:00:00 @ 43.82p 100%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 100%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 100%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 100%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 100%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 100%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 100%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 100%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 100%, 15-08 23:00:00 - 15-08 23:30:00 @ 29.37p 100%, 15-08 23:30:00 - 16-08 00:00:00 @ 29.2p 100%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.83p 100%, 16-08 00:30:00 - 16-08 01:00:00 @ 28.46p 100%, 16-08 01:00:00 - 16-08 01:30:00 @ 27.73p 100%, 16-08 01:30:00 - 16-08 02:00:00 @ 27.01p 100%, 16-08 02:00:00 - 16-08 02:30:00 @ 26.76p 100%, 16-08 02:30:00 - 16-08 03:00:00 @ 26.48p 100%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.39p 100%, 16-08 03:30:00 - 16-08 04:00:00 @ 26.27p 100%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.33p 100%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.37p 100%, 16-08 05:00:00 - 16-08 05:30:00 @ 26.23p 100%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.07p 100%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.99p 100%, 16-08 06:30:00 - 16-08 07:00:00 @ 25.92p 100%, 16-08 07:00:00 - 16-08 07:30:00 @ 25.64p 100%, 16-08 07:30:00 - 16-08 08:00:00 @ 25.39p 100%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.84p 100%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.28p 100%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.26p 100%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.22p 100%, 16-08 10:00:00 - 16-08 10:30:00 @ 24.8p 100%, 16-08 10:30:00 - 16-08 11:00:00 @ 25.37p 100%, 16-08 11:00:00 - 16-08 11:30:00 @ 24.71p 100%, 16-08 11:30:00 - 16-08 12:00:00 @ 24.02p 100%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.79p 100%, 16-08 12:30:00 - 16-08 13:00:00 @ 23.55p 100%, 16-08 13:00:00 - 16-08 13:30:00 @ 23.14p 100%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.71p 100%, 16-08 14:00:00 - 16-08 14:30:00 @ 22.01p 100%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.29p 100%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.01p 100%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.71p 100%, 16-08 16:00:00 - 16-08 16:30:00 @ 37.14p 100%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.91p 100%, 16-08 17:00:00 - 16-08 17:30:00 @ 40.13p 100%, 16-08 17:30:00 - 16-08 18:00:00 @ 42.36p 100%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.19p 100%, 16-08 19:00:00 - 16-08 19:30:00 @ 33.04p 100%, 16-08 19:30:00 - 16-08 20:00:00 @ 33.71p 100%, 16-08 20:00:00 - 16-08 20:30:00 @ 33.83p 100%, 16-08 20:30:00 - 16-08 21:00:00 @ 33.94p 100%, 16-08 21:00:00 - 16-08 21:30:00 @ 33.73p 100%, 16-08 21:30:00 - 16-08 22:00:00 @ 33.53p 100%, 16-08 22:00:00 - 16-08 22:30:00 @ 32.36p 100%, 16-08 22:30:00 - 16-08 23:00:00 @ 31.17p 100%, 16-08 23:00:00 - 16-08 23:30:00 @ 29.37p 100%, 16-08 23:30:00 - 17-08 00:00:00 @ 29.2p 100%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.83p 100%, 17-08 00:30:00 - 17-08 01:00:00 @ 28.46p 100%, 17-08 01:00:00 - 17-08 01:30:00 @ 27.73p 100%, 17-08 01:30:00 - 17-08 02:00:00 @ 27.01p 100%, 17-08 02:00:00 - 17-08 02:30:00 @ 26.76p 100%, 17-08 02:30:00 - 17-08 03:00:00 @ 26.48p 100%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.39p 100%, 17-08 03:30:00 - 17-08 04:00:00 @ 26.27p 100%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.33p 100%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.37p 100%, 17-08 05:00:00 - 17-08 05:30:00 @ 26.23p 100%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.07p 100%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.99p 100%, 17-08 06:30:00 - 17-08 07:00:00 @ 25.92p 100%, 17-08 07:00:00 - 17-08 07:30:00 @ 25.64p 100%, 17-08 07:30:00 - 17-08 08:00:00 @ 25.39p 100%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.84p 100%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.28p 100%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.26p 100%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.22p 100%, 17-08 10:00:00 - 17-08 10:30:00 @ 24.8p 100%, 17-08 10:30:00 - 17-08 11:00:00 @ 25.37p 100%, 17-08 11:00:00 - 17-08 11:30:00 @ 24.71p 100%, 17-08 11:30:00 - 17-08 12:00:00 @ 24.02p 100%, 17-08 12:00:00 - 17-08 12:30:00 @ 23.79p 100%, 17-08 12:30:00 - 17-08 13:00:00 @ 23.55p 100%, 17-08 13:00:00 - 17-08 13:30:00 @ 23.14p 100%, 17-08 13:30:00 - 17-08 14:00:00 @ 22.71p 100%, 17-08 14:00:00 - 17-08 14:30:00 @ 22.01p 100%, 17-08 14:30:00 - 17-08 15:00:00 @ 21.29p 100% ]
2026-08-15 14:55:03.153914: Best export window [  ]
2026-08-15 14:55:03.154790: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 14:55:03.158290: Load divergence over 8.0 hours mean 463.13W, min 291.6W, max 1314.0W, std dev 186.83W, divergence 20.17%
2026-08-15 14:55:03.174944: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 14:55:03.175084: LoadML is_calculating False
2026-08-15 14:55:03.175173: Creating pool of 12 processes to match your CPU count
2026-08-15 14:55:03.254698: Calculate Best options: mode(Control charge & discharge), calculate_export_oncharge(False), calculate_export_on_pv(True), set_export_freeze_only(False), set_discharge_during_charge(True), combine_charge_slots(False), combine_export_slots(False), combine_rate_threshold(0.0), best_soc_min(0.0 kWh), best_soc_max(0.0 kWh), best_soc_keep(0.0 kWh), inverter_loss(4%), battery_loss(3%), battery_loss_discharge (3%), inverter_hybrid(True), metric_min_improvement(0.0p), metric_min_improvement_export(0.1p), metric_min_improvement_export_freeze(0.1p), metric_battery_cycle(0.0p/kWh), metric_battery_value_scaling(1.0 x) 
2026-08-15 14:55:03.256578: Optimise levels pass started at 2026-08-15 14:55:03
2026-08-15 14:55:03.257986: Optimise all windows, total charge 95 export 1
2026-08-15 14:55:04.301540: >> Region optimisation pass width 960 gives best_metric 980.49p, best_cost 994.46p, best_cycle 34.05kWh, best_import 24.52kWh
2026-08-15 14:55:05.864178: >> Region optimisation pass width 480 gives best_metric 967.69p, best_cost 981.77p, best_cycle 37.79kWh, best_import 24.79kWh
2026-08-15 14:55:06.926158: >> Region optimisation pass width 240 gives best_metric 974.58p, best_cost 988.2p, best_cycle 42.45kWh, best_import 25.12kWh
2026-08-15 14:55:08.494697: >> Region optimisation pass width 120 gives best_metric 970.77p, best_cost 984.13p, best_cycle 37.79kWh, best_import 24.79kWh
2026-08-15 14:55:08.495086: Calculated end_record as 08-16 15:00:00 based on best_price 33.13p, next_charge_start 08-15 15:00:00, max_windows 49
2026-08-15 14:55:08.495504: Optimise levels pass ended at 2026-08-15 14:55:08, duration 5.2 seconds tried 382 combinations
2026-08-15 14:55:08.495592: Set best_price_charge_level 35.6p, best_price_export_level 0p, best_price_charge 33.13p, best_cost_export 0p, best_metric 970.77p, best_keep 0kWh, best_cycle 37.79kWh, best_carbon 0kg, best_import 24.79kWh
2026-08-15 14:55:08.515160: Starting detailed optimisation end_record 08-16 15:00:00, best_price_charge 33.13p, best_price_export 0p. lowest_price_charge 13.77p with charge limits [16.0, 16.0, 16.0, 16.0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0]kWh and export limits []kWh
2026-08-15 14:55:14.759027: Tweak plan optimisation started metric 572.29p, cost 589.59p
2026-08-15 14:55:14.983923: Tweak optimisation finished metric 572.29p, cost 589.59p, metric_keep 0kWh, cycle 19.16kWh, carbon 0kg, import 7.74kWh, changed 8 window(s)
2026-08-15 14:55:15.004915: Swap charge optimisation started metric 572.29p, cost 589.59p, min_improvement_swap 0.1p
2026-08-15 14:55:16.698462: Swap charge optimisation finished metric 572.29p, cost 589.59p
2026-08-15 14:55:16.772467: Pruned 2 dead plan slot(s) in 5 trial(s), nominal metric 569.1p -> 569.1p, plan now metric 572.31p, cost 589.59p, cycle 19.16kWh, import 7.74kWh
2026-08-15 14:55:16.784372: Raw charge windows [ 15-08 14:30:00 - 15-08 15:00:00 @ 13.77p 100%, 15-08 15:00:00 - 15-08 15:30:00 @ 15.02p 100%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 100%, 15-08 16:00:00 - 15-08 16:30:00 @ 33.13p 0%, 15-08 16:30:00 - 15-08 17:00:00 @ 33.13p 0%, 15-08 17:00:00 - 15-08 17:30:00 @ 38.46p 0%, 15-08 17:30:00 - 15-08 18:00:00 @ 40.44p 0%, 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 0%, 15-08 18:30:00 - 15-08 19:00:00 @ 43.82p 0%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 0%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 0%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 0%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 0%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 29.37p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 29.2p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.83p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 28.46p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 27.73p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 27.01p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 26.76p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 26.48p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.39p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 26.27p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.33p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.37p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 26.23p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.07p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.99p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 25.92p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 25.64p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 25.39p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.84p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.28p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.26p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.22p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 24.8p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 25.37p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 24.71p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 24.02p 0%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.79p 0%, 16-08 12:30:00 - 16-08 13:00:00 @ 23.55p 0%, 16-08 13:00:00 - 16-08 13:30:00 @ 23.14p 0%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.71p 0%, 16-08 14:00:00 - 16-08 14:30:00 @ 22.01p 0%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.29p 0%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.01p 100%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.71p 100%, 16-08 16:00:00 - 16-08 16:30:00 @ 37.14p 100%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.91p 100%, 16-08 17:00:00 - 16-08 17:30:00 @ 40.13p 100%, 16-08 17:30:00 - 16-08 18:00:00 @ 42.36p 100%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.19p 100%, 16-08 19:00:00 - 16-08 19:30:00 @ 33.04p 100%, 16-08 19:30:00 - 16-08 20:00:00 @ 33.71p 100%, 16-08 20:00:00 - 16-08 20:30:00 @ 33.83p 100%, 16-08 20:30:00 - 16-08 21:00:00 @ 33.94p 100%, 16-08 21:00:00 - 16-08 21:30:00 @ 33.73p 100%, 16-08 21:30:00 - 16-08 22:00:00 @ 33.53p 100%, 16-08 22:00:00 - 16-08 22:30:00 @ 32.36p 100%, 16-08 22:30:00 - 16-08 23:00:00 @ 31.17p 100%, 16-08 23:00:00 - 16-08 23:30:00 @ 29.37p 100%, 16-08 23:30:00 - 17-08 00:00:00 @ 29.2p 100%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.83p 100%, 17-08 00:30:00 - 17-08 01:00:00 @ 28.46p 100%, 17-08 01:00:00 - 17-08 01:30:00 @ 27.73p 100%, 17-08 01:30:00 - 17-08 02:00:00 @ 27.01p 100%, 17-08 02:00:00 - 17-08 02:30:00 @ 26.76p 100%, 17-08 02:30:00 - 17-08 03:00:00 @ 26.48p 100%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.39p 100%, 17-08 03:30:00 - 17-08 04:00:00 @ 26.27p 100%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.33p 100%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.37p 100%, 17-08 05:00:00 - 17-08 05:30:00 @ 26.23p 100%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.07p 100%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.99p 100%, 17-08 06:30:00 - 17-08 07:00:00 @ 25.92p 100%, 17-08 07:00:00 - 17-08 07:30:00 @ 25.64p 100%, 17-08 07:30:00 - 17-08 08:00:00 @ 25.39p 100%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.84p 100%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.28p 100%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.26p 100%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.22p 100%, 17-08 10:00:00 - 17-08 10:30:00 @ 24.8p 100%, 17-08 10:30:00 - 17-08 11:00:00 @ 25.37p 100%, 17-08 11:00:00 - 17-08 11:30:00 @ 24.71p 100%, 17-08 11:30:00 - 17-08 12:00:00 @ 24.02p 100%, 17-08 12:00:00 - 17-08 12:30:00 @ 23.79p 100%, 17-08 12:30:00 - 17-08 13:00:00 @ 23.55p 100%, 17-08 13:00:00 - 17-08 13:30:00 @ 23.14p 100%, 17-08 13:30:00 - 17-08 14:00:00 @ 22.71p 100%, 17-08 14:00:00 - 17-08 14:30:00 @ 22.01p 100%, 17-08 14:30:00 - 17-08 15:00:00 @ 21.29p 100% ] reserve 1.12
2026-08-15 14:55:16.785004: Unclipped charge windows [ 15-08 14:30:00 - 15-08 16:00:00 @ 15.13p 100%, 16-08 15:00:00 - 16-08 18:30:00 @ 41.93p 100%, 16-08 19:00:00 - 17-08 15:00:00 @ 21.92p 100% ] reserve 1.12
2026-08-15 14:55:16.785212: Unfiltered charge windows [ 15-08 14:30:00 - 15-08 16:00:00 @ 15.13p 100%, 16-08 15:00:00 - 16-08 18:30:00 @ 41.93p 100%, 16-08 19:00:00 - 17-08 15:00:00 @ 21.92p 100% ] reserve 1.12
2026-08-15 14:55:16.785372: Filtered charge windows [ 15-08 14:30:00 - 15-08 16:00:00 @ 15.13p 100%, 16-08 15:00:00 - 16-08 18:30:00 @ 41.93p 100%, 16-08 19:00:00 - 17-08 15:00:00 @ 21.92p 100% ] reserve 1.12
2026-08-15 14:55:16.821129: Previous plan best metric is 572.3 (cost 589.59) and new plan best metric is 572.29 (cost 589.59)
2026-08-15 14:55:16.822071: New plan metric is not significantly better (metric_min_improvement_plan 2.0) than previous plan, using previous plan
2026-08-15 14:55:16.822240: Plan valid is now true after recompute was False
2026-08-15 14:55:16.852725: predict base end_record 08-16 15:00:00, final soc 16.0kWh, metric 1020.66p, metric_keep 0kWh, min_soc 2.66kWh @ 08-16 10:25:00, load 24.87kWh, PV 0.0kWh
2026-08-15 14:55:16.971960: Battery has 48.0 hours left - now at 11.42kWh
2026-08-15 14:55:17.014735: predict base10 end_record 08-16 15:00:00, final soc 16.0kWh, metric 1040.15p, metric_keep 0kWh, min_soc 1.65kWh @ 08-16 10:25:00, load 25.66kWh, PV 0.0kWh
2026-08-15 14:55:17.094213: predict best10 end_record 08-16 15:00:00, final soc 1.12kWh, metric 660.97p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 11:05:00, load 25.66kWh, PV 0.0kWh
2026-08-15 14:55:17.181966: predict best end_record 08-16 15:00:00, final soc 1.12kWh, metric 639.57p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 12:00:00, load 24.87kWh, PV 0.0kWh
2026-08-15 14:55:17.182064: Saving plan best values to HA entities
2026-08-15 14:55:17.334037: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0
2026-08-15 14:55:17.339579: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 14:55:17.345261: Best charging limit SoC's [16.0, 16.0, 16.0]kWh, export []kWh gives import battery 5.7kWh, house 2.03kWh, export 0.0kWh, metric 639.57p, metric10 660.97p
2026-08-15 14:55:17.427993: Marginal costs baseline metric (no standing charge): 589.5881
2026-08-15 14:55:17.689011: Marginal energy costs matrix computed: min=15.27 max=31.66
2026-08-15 14:55:17.756241: Rate array import [{'start': 895, 'end': 960, 'rate': 'cheap', 'range': '(13.8p - 15.9p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1950, 'rate': 'expensive', 'range': '(24.8p - 32.9p)'}, {'start': 1950, 'end': 2040, 'rate': 'cheap', 'range': '(24.2p - 24.3p)'}, {'start': 2040, 'end': 2130, 'rate': 'expensive', 'range': '(24.7p - 25.4p)'}, {'start': 2130, 'end': 2340, 'rate': 'cheap', 'range': '(21.3p - 24.0p)'}] export [{'start': 895, 'end': 2340, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 14:55:17.756679: - Your estimated bill for today is £5.43 and tomorrow is £8.52
2026-08-15 14:55:17.756724: - Import rates are cheap (13.8p - 15.9p) for the next 1 hour and then expensive (33.1p) for the next 1 hour.
2026-08-15 14:55:17.756745: - The battery is currently at 71% and is charging to 100% for the next 1 hour.
2026-08-15 14:55:17.756763: - For the next 48 hours there will be no solar generation.
2026-08-15 14:55:17.756784: - You will run out of battery in 21 hours.
2026-08-15 14:55:17.756801: 
2026-08-15 14:55:17.810365: Plan calculation took 14.66 seconds
2026-08-15 14:55:17.810754: Inverter 0: Type SK Sunsynk
2026-08-15 14:55:17.810804: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 14:55:17.811026: Reserve min: 7%, battery_min: 7%
2026-08-15 14:55:17.811107: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 14:55:17.811519: Inverter 0 SoC: 11.77kW 74%, current charge rate 5000W, current discharge rate 5250W, current battery power -4552W, current battery voltage 51.2V, grid power -5212W, load power 216W, PV Power 0W
2026-08-15 14:55:17.811764: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 14:55:17.811871: Inverter 0 scheduled charge enable is True
2026-08-15 14:55:17.811959: Inverter 0 charge windows currently [{'start': 630, 'end': 960, 'average': 0}, {'start': 2070, 'end': 2400, 'average': 0}, {'start': 3510, 'end': 3840, 'average': 0}]
2026-08-15 14:55:17.812074: Inverter 0 Charge settings: 08-15 10:30:00-08-15 16:00:00, limit 100.0%, power 5.0kW
2026-08-15 14:55:17.812200: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 14:55:17.812236: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 14:55:17.812271: Inverter 0 scheduled discharge enable is False
2026-08-15 14:55:17.812432: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 14:55:17.812484: Inverter 0 discharge windows currently []
2026-08-15 14:55:17.812509: Note: Inverter does not support discharge freeze - disabled
2026-08-15 14:55:17.812531: Note: Inverter does not support charge freeze - disabled
2026-08-15 14:55:17.812549: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 14:55:17.870911: Include original charge start 08-15 10:30:00, keeping this instead of new start 08-15 14:30:00
2026-08-15 14:55:17.871030: Inverter 0 Charge window will be: 2026-08-15 10:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 74%, target 100%
2026-08-15 14:55:17.871158: Inverter 0 Target SoC 100%, (this inverter 100%), battery temperature 20°C, select charge rate 5000W (real 5000W), current charge rate 5000W
2026-08-15 14:55:17.871358: Adjust idle time, charge 10:30:00-16:00:00 discharge 00:00:00-00:00:00
2026-08-15 14:55:17.871608: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 14:55:17.871705: No export window planned
2026-08-15 14:55:17.871821: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 14:55:17.871884: Adjust idle time, charge 10:30:00-16:00:00 discharge 00:00:00-00:00:00
2026-08-15 14:55:17.872039: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 14:55:17.872179: Inverter 0 setting charging SoC to 100% as per target
2026-08-15 14:55:17.872221: Inverter 0 adjust target SoC for charge to 100% based on requested all inverter SoC 100%
2026-08-15 14:55:17.872272: Inverter 0 Current Target SoC is 100%, already at target
2026-08-15 14:55:17.872374: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:55:17.872429: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:55:17.872461: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:55:17.872490: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:55:17.872516: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:55:17.872541: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:55:17.872566: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:55:17.872610: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 14:55:17.872667: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 14:55:17.872696: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 14:55:17.872721: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 14:55:17.872749: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 14:55:17.872774: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 14:55:17.872800: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 14:55:17.872857: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:55:17.872892: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:55:17.872918: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:55:17.872979: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:55:17.873016: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:55:17.873041: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:55:17.873067: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 14:55:17.873088: Inverter 0 count register writes 0
2026-08-15 14:55:17.895306: Total inverter register writes now 825
2026-08-15 14:55:17.929734: Info: Completed run status Charging
2026-08-15 14:55:17.936360: Info: record_status Charging target 74%-100.0%
2026-08-15 14:55:17.943182: Saved current settings to /config/predbat_config.json
2026-08-15 14:55:17.943502: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 14:55:57.050227: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 14:55:57.051451: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 14:55:57.051517: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 14:55:57.051723: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 14:55:57.051774: Note: Inverter does not support discharge freeze - disabled
2026-08-15 14:55:57.051797: Note: Inverter does not support charge freeze - disabled
2026-08-15 14:55:57.051815: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 14:57:57.298539: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 14:57:57.298844: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 14:57:57.298896: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 14:57:57.299112: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 14:57:57.299212: Note: Inverter does not support discharge freeze - disabled
2026-08-15 14:57:57.299252: Note: Inverter does not support charge freeze - disabled
2026-08-15 14:57:57.299334: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 14:58:27.525340: TemperatureAPI: Using coordinates latitude 53.4, longitude -2.2
2026-08-15 14:58:27.666806: TemperatureAPI: Successfully fetched temperature data from Open-Meteo API
2026-08-15 15:00:00.533085: --------------- PredBat - update at 2026-08-15 15:00:00+01:00 with clock skew 0 minutes, minutes now 900
2026-08-15 15:00:00.534400: Saved current settings to /config/predbat_config.json
2026-08-15 15:00:00.534605: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 40.0 minutes
2026-08-15 15:00:00.534783: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.2, latest beta is v8.48.2
2026-08-15 15:00:00.534957: Autoupdate: There is an update pending v8.48.2 PV90 and second pass enabled by default, bug fixes - auto update is off
2026-08-15 15:00:00.557877: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 15:00:00.558049: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 15:00:00.558364: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 15:00:00.559111: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 15:00:00.559344: Predbat mode is set to Control charge & discharge
2026-08-15 15:00:00.803799: Found 21602 load_today datapoints going back 28 days
2026-08-15 15:00:00.804022: Using load_power data to fill gaps in load_today data
2026-08-15 15:00:01.703586: Processing 721 30-minute periods for power integration
2026-08-15 15:00:01.862079: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 15:00:01.862193: Car charging hold False, threshold 6.0kWh
2026-08-15 15:00:01.862248: Current data so far today: load 8.2kWh, import 21.7kWh, export 0.0kWh, PV 0kWh
2026-08-15 15:00:01.875244: Cars: SoC: [11.134]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 15:00:01.875729: Standing charge is set to 49.98p
2026-08-15 15:00:01.917840: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 15:00:01.917941: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 15:00:01.918147: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 260.0 minutes
2026-08-15 15:00:01.918556: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 260.0 minutes
2026-08-15 15:00:01.924790: Loaded 95 datapoints of futurerate analysis
2026-08-15 15:00:02.028137: Predicted future rates: ['08-15 00:00:00 => 28.9 / 20.01', '08-15 01:00:00 => 27.54 / 19.31', '08-15 02:00:00 => 26.52 / 18.8', '08-15 03:00:00 => 25.99 / 18.53', '08-15 04:00:00 => 25.8 / 18.43', '08-15 05:00:00 => 25.96 / 18.51', '08-15 06:00:00 => 25.55 / 18.3', '08-15 07:00:00 => 24.33 / 17.68', '08-15 08:00:00 => 23.03 / 17.01', '08-15 09:00:00 => 22.05 / 16.51', '08-15 10:00:00 => 20.43 / 15.68', '08-15 11:00:00 => 18.01 / 14.45', '08-15 12:00:00 => 16.37 / 13.61', '08-15 13:00:00 => 15.76 / 13.3', '08-15 14:00:00 => 15.35 / 13.09', '08-15 15:00:00 => 15.86 / 13.35', '08-15 16:00:00 => 32.89 / 16.13', '08-15 17:00:00 => 38.02 / 18.75', '08-15 18:00:00 => 42.36 / 20.96', '08-15 19:00:00 => 31.09 / 21.13', '08-15 20:00:00 => 31.64 / 21.41', '08-15 21:00:00 => 31.64 / 21.41', '08-15 22:00:00 => 30.58 / 20.87', '08-15 23:00:00 => 29.37 / 20.25', '08-16 00:00:00 => 28.83 / 19.97', '08-16 01:00:00 => 27.73 / 19.41', '08-16 02:00:00 => 26.76 / 18.92', '08-16 03:00:00 => 26.39 / 18.73', '08-16 04:00:00 => 26.33 / 18.7', '08-16 05:00:00 => 26.23 / 18.65', '08-16 06:00:00 => 25.99 / 18.53', '08-16 07:00:00 => 25.64 / 18.35', '08-16 08:00:00 => 24.84 / 17.94', '08-16 09:00:00 => 24.26 / 17.64', '08-16 10:00:00 => 24.8 / 17.92', '08-16 11:00:00 => 24.71 / 17.87', '08-16 12:00:00 => 23.79 / 17.4', '08-16 13:00:00 => 23.14 / 17.07', '08-16 14:00:00 => 22.01 / 16.49']
2026-08-15 15:00:02.099901: Rate min forward looking: now 15.02p at end of forecast 21.29p
2026-08-15 15:00:02.100335: Import rates: min 15.02p, max 46.05p, average 28.21p
2026-08-15 15:00:02.145096: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 15:00:02.145249: Rate thresholds (for charge/export) are import 45.55p (0.0p), export -0.1p (0.0p)
2026-08-15 15:00:02.146541: High export rate found rates in range 99p to -99p
2026-08-15 15:00:02.244808: Low Import rate found rates in range 15.02p to 44.19p
2026-08-15 15:00:02.244989: Car 0 charging is not planned as it is not plugged in
2026-08-15 15:00:02.258739: Battery level now 11.42kWh, -1hr ago 7.58kWh, at midnight 1.66kWh, battery value change in the last hour 49.53p, change today 125.9p, rate_forward 12.9p
2026-08-15 15:00:02.259225: Last hour: net energy 4.85kWh, import 4.85kWh, export 0.0kWh, car 0kWh, load 0.18kWh, net cost 68.79p, import 68.79p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 15:00:02.318998: Today's energy total net 21.7kWh, import 21.7kWh, export 0.0kWh, cost 468.5p, import 418.52p, export 0.0p, carbon 0.0kg
2026-08-15 15:00:02.319147: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 15:00:02.408771: Using weighted-bucket historical load forecast over 14 days
2026-08-15 15:00:02.441463: Today's load divergence 94.1%, in-day adjustment 112.91%, damping 0.95x, yesterday 143.77% today 94.39% blend 37.5%
2026-08-15 15:00:02.441566: Today's predicted so far 9.17kWh with 0.0kWh car/iBoost excluded, 15.29kWh import ignored, and 9.17kWh forecast extra.
2026-08-15 15:00:02.441599: Today's actual load so far 8.32kWh with 0.0kWh car/iBoost excluded, and 15.29kWh import ignored.
2026-08-15 15:00:02.477040: Inverter 0: Type SK Sunsynk
2026-08-15 15:00:02.477131: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 15:00:02.477337: Reserve min: 7%, battery_min: 7%
2026-08-15 15:00:02.477411: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 15:00:02.477677: Inverter 0 SoC: 12.13kW 76%, current charge rate 5000W, current discharge rate 5250W, current battery power -4554W, current battery voltage 51.2V, grid power -5262W, load power 266W, PV Power 0W
2026-08-15 15:00:02.477836: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 15:00:02.477925: Inverter 0 scheduled charge enable is True
2026-08-15 15:00:02.477971: Inverter 0 charge windows currently [{'start': 630, 'end': 960, 'average': 0}, {'start': 2070, 'end': 2400, 'average': 0}, {'start': 3510, 'end': 3840, 'average': 0}]
2026-08-15 15:00:02.478059: Inverter 0 Charge settings: 08-15 10:30:00-08-15 16:00:00, limit 100.0%, power 5.0kW
2026-08-15 15:00:02.478186: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 15:00:02.478238: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 15:00:02.478277: Inverter 0 scheduled discharge enable is False
2026-08-15 15:00:02.478402: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 15:00:02.478437: Inverter 0 discharge windows currently []
2026-08-15 15:00:02.478460: Note: Inverter does not support discharge freeze - disabled
2026-08-15 15:00:02.478478: Note: Inverter does not support charge freeze - disabled
2026-08-15 15:00:02.478503: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 15:00:02.539546: Dynamic load last period 0.00kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 15:00:02.539674: Plan was last updated on 2026-08-15 14:55:00+01:00 and is now 5.0 minutes old
2026-08-15 15:00:02.539863: Best charge window [ 15-08 14:30:00 - 15-08 16:00:00 @ 15.13p 100%, 16-08 15:00:00 - 16-08 18:30:00 @ 41.93p 100%, 16-08 19:00:00 - 17-08 15:00:00 @ 21.92p 100% ]
2026-08-15 15:00:02.539905: Best export window [  ]
2026-08-15 15:00:02.540729: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 15:00:02.544072: Load divergence over 8.0 hours mean 456.93W, min 295.8W, max 1270.8W, std dev 174.66W, divergence 19.11%
2026-08-15 15:00:02.563186: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 15:00:02.563328: LoadML is_calculating False
2026-08-15 15:00:02.563399: Creating pool of 12 processes to match your CPU count
2026-08-15 15:00:02.691483: predict base end_record 08-16 15:05:00, final soc 16.0kWh, metric 1021.15p, metric_keep 0kWh, min_soc 2.69kWh @ 08-16 10:25:00, load 24.82kWh, PV 0.0kWh
2026-08-15 15:00:02.836636: Battery has 48.0 hours left - now at 12.13kWh
2026-08-15 15:00:02.880390: predict base10 end_record 08-16 15:05:00, final soc 16.0kWh, metric 1038.64p, metric_keep 0kWh, min_soc 1.96kWh @ 08-16 10:25:00, load 25.61kWh, PV 0.0kWh
2026-08-15 15:00:03.001642: predict best10 end_record 08-16 15:05:00, final soc 1.44kWh, metric 667.3p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 11:20:00, load 25.61kWh, PV 0.0kWh
2026-08-15 15:00:03.086964: predict best end_record 08-16 15:05:00, final soc 1.51kWh, metric 649.32p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 12:05:00, load 24.82kWh, PV 0.0kWh
2026-08-15 15:00:03.087066: Saving plan best values to HA entities
2026-08-15 15:00:03.294704: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0
2026-08-15 15:00:03.301784: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 15:00:03.308483: Best charging limit SoC's [16.0, 16.0, 16.0]kWh, export []kWh gives import battery 5.33kWh, house 2.0kWh, export 0.0kWh, metric 649.32p, metric10 667.3p
2026-08-15 15:00:03.392298: Marginal costs baseline metric (no standing charge): 599.3373
2026-08-15 15:00:03.701047: Marginal energy costs matrix computed: min=15.44 max=31.94
2026-08-15 15:00:03.785078: Rate array import [{'start': 900, 'end': 960, 'rate': 'cheap', 'range': '(15.0p - 15.9p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1920, 'rate': 'expensive', 'range': '(25.4p - 32.9p)'}, {'start': 1920, 'end': 2070, 'rate': 'cheap', 'range': '(24.2p - 24.8p)'}, {'start': 2070, 'end': 2100, 'rate': 'expensive', 'range': '(25.4p)'}, {'start': 2100, 'end': 2345, 'rate': 'cheap', 'range': '(21.3p - 24.7p)'}] export [{'start': 900, 'end': 2345, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 15:00:03.785739: - Your estimated bill for today is £5.43 and tomorrow is £8.49
2026-08-15 15:00:03.785801: - Import rates are cheap (15.0p - 15.9p) for the next 1 hour and then expensive (33.1p) for the next 1 hour.
2026-08-15 15:00:03.785830: - The battery is currently at 76% and is charging to 100% for the next 1 hour.
2026-08-15 15:00:03.785854: - For the next 48 hours there will be no solar generation.
2026-08-15 15:00:03.785876: - You will run out of battery in 21 hours.
2026-08-15 15:00:03.785901: 
2026-08-15 15:00:03.846803: Plan calculation took 1.31 seconds
2026-08-15 15:00:03.854303: No high rate period found
2026-08-15 15:00:03.941809: Import threshold used for optimisation was 24.28p
2026-08-15 15:00:04.021195: Low import rate windows [0: 08-15 15:00:00 - 08-15 15:30:00 @ 15.02, 1: 08-15 15:30:00 - 08-15 16:00:00 @ 15.87, 2: 08-15 16:00:00 - 08-15 16:30:00 @ 33.13, 3: 08-15 16:30:00 - 08-15 17:00:00 @ 33.13, 4: 08-15 17:00:00 - 08-15 17:30:00 @ 38.46, 5: 08-15 17:30:00 - 08-15 18:00:00 @ 40.44, 6: 08-15 18:00:00 - 08-15 18:30:00 @ 41.55, 7: 08-15 18:30:00 - 08-15 19:00:00 @ 43.82, 8: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 9: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 10: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 11: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 12: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 13: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 14: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 15: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 16: 08-15 23:00:00 - 08-15 23:30:00 @ 29.37, 17: 08-15 23:30:00 - 08-16 00:00:00 @ 29.2, 18: 08-16 00:00:00 - 08-16 00:30:00 @ 28.83, 19: 08-16 00:30:00 - 08-16 01:00:00 @ 28.46, 20: 08-16 01:00:00 - 08-16 01:30:00 @ 27.73, 21: 08-16 01:30:00 - 08-16 02:00:00 @ 27.01, 22: 08-16 02:00:00 - 08-16 02:30:00 @ 26.76, 23: 08-16 02:30:00 - 08-16 03:00:00 @ 26.48, 24: 08-16 03:00:00 - 08-16 03:30:00 @ 26.39, 25: 08-16 03:30:00 - 08-16 04:00:00 @ 26.27, 26: 08-16 04:00:00 - 08-16 04:30:00 @ 26.33, 27: 08-16 04:30:00 - 08-16 05:00:00 @ 26.37, 28: 08-16 05:00:00 - 08-16 05:30:00 @ 26.23, 29: 08-16 05:30:00 - 08-16 06:00:00 @ 26.07, 30: 08-16 06:00:00 - 08-16 06:30:00 @ 25.99, 31: 08-16 06:30:00 - 08-16 07:00:00 @ 25.92, 32: 08-16 07:00:00 - 08-16 07:30:00 @ 25.64, 33: 08-16 07:30:00 - 08-16 08:00:00 @ 25.39, 34: 08-16 08:00:00 - 08-16 08:30:00 @ 24.84, 35: 08-16 08:30:00 - 08-16 09:00:00 @ 24.28, 36: 08-16 09:00:00 - 08-16 09:30:00 @ 24.26, 37: 08-16 09:30:00 - 08-16 10:00:00 @ 24.22, 38: 08-16 10:00:00 - 08-16 10:30:00 @ 24.8, 39: 08-16 10:30:00 - 08-16 11:00:00 @ 25.37, 40: 08-16 11:00:00 - 08-16 11:30:00 @ 24.71, 41: 08-16 11:30:00 - 08-16 12:00:00 @ 24.02, 42: 08-16 12:00:00 - 08-16 12:30:00 @ 23.79, 43: 08-16 12:30:00 - 08-16 13:00:00 @ 23.55, 44: 08-16 13:00:00 - 08-16 13:30:00 @ 23.14, 45: 08-16 13:30:00 - 08-16 14:00:00 @ 22.71, 46: 08-16 14:00:00 - 08-16 14:30:00 @ 22.01, 47: 08-16 14:30:00 - 08-16 15:00:00 @ 21.29, 48: 08-16 15:00:00 - 08-16 15:30:00 @ 22.01, 49: 08-16 15:30:00 - 08-16 16:00:00 @ 22.71, 50: 08-16 16:00:00 - 08-16 16:30:00 @ 37.14, 51: 08-16 16:30:00 - 08-16 17:00:00 @ 37.91, 52: 08-16 17:00:00 - 08-16 17:30:00 @ 40.13, 53: 08-16 17:30:00 - 08-16 18:00:00 @ 42.36, 54: 08-16 18:00:00 - 08-16 18:30:00 @ 44.19, 55: 08-16 19:00:00 - 08-16 19:30:00 @ 33.04, 56: 08-16 19:30:00 - 08-16 20:00:00 @ 33.71, 57: 08-16 20:00:00 - 08-16 20:30:00 @ 33.83, 58: 08-16 20:30:00 - 08-16 21:00:00 @ 33.94, 59: 08-16 21:00:00 - 08-16 21:30:00 @ 33.73, 60: 08-16 21:30:00 - 08-16 22:00:00 @ 33.53, 61: 08-16 22:00:00 - 08-16 22:30:00 @ 32.36, 62: 08-16 22:30:00 - 08-16 23:00:00 @ 31.17, 63: 08-16 23:00:00 - 08-16 23:30:00 @ 29.37, 64: 08-16 23:30:00 - 08-17 00:00:00 @ 29.2, 65: 08-17 00:00:00 - 08-17 00:30:00 @ 28.83, 66: 08-17 00:30:00 - 08-17 01:00:00 @ 28.46, 67: 08-17 01:00:00 - 08-17 01:30:00 @ 27.73, 68: 08-17 01:30:00 - 08-17 02:00:00 @ 27.01, 69: 08-17 02:00:00 - 08-17 02:30:00 @ 26.76, 70: 08-17 02:30:00 - 08-17 03:00:00 @ 26.48, 71: 08-17 03:00:00 - 08-17 03:30:00 @ 26.39, 72: 08-17 03:30:00 - 08-17 04:00:00 @ 26.27, 73: 08-17 04:00:00 - 08-17 04:30:00 @ 26.33, 74: 08-17 04:30:00 - 08-17 05:00:00 @ 26.37, 75: 08-17 05:00:00 - 08-17 05:30:00 @ 26.23, 76: 08-17 05:30:00 - 08-17 06:00:00 @ 26.07, 77: 08-17 06:00:00 - 08-17 06:30:00 @ 25.99, 78: 08-17 06:30:00 - 08-17 07:00:00 @ 25.92, 79: 08-17 07:00:00 - 08-17 07:30:00 @ 25.64, 80: 08-17 07:30:00 - 08-17 08:00:00 @ 25.39, 81: 08-17 08:00:00 - 08-17 08:30:00 @ 24.84, 82: 08-17 08:30:00 - 08-17 09:00:00 @ 24.28, 83: 08-17 09:00:00 - 08-17 09:30:00 @ 24.26, 84: 08-17 09:30:00 - 08-17 10:00:00 @ 24.22, 85: 08-17 10:00:00 - 08-17 10:30:00 @ 24.8, 86: 08-17 10:30:00 - 08-17 11:00:00 @ 25.37, 87: 08-17 11:00:00 - 08-17 11:30:00 @ 24.71, 88: 08-17 11:30:00 - 08-17 12:00:00 @ 24.02, 89: 08-17 12:00:00 - 08-17 12:30:00 @ 23.79, 90: 08-17 12:30:00 - 08-17 13:00:00 @ 23.55, 91: 08-17 13:00:00 - 08-17 13:30:00 @ 23.14, 92: 08-17 13:30:00 - 08-17 14:00:00 @ 22.71, 93: 08-17 14:00:00 - 08-17 14:30:00 @ 22.01, 94: 08-17 14:30:00 - 08-17 15:00:00 @ 21.29]
2026-08-15 15:00:04.031019: Include original charge start 08-15 10:30:00, keeping this instead of new start 08-15 14:30:00
2026-08-15 15:00:04.031156: Inverter 0 Charge window will be: 2026-08-15 10:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 76%, target 100%
2026-08-15 15:00:04.031370: Inverter 0 Target SoC 100%, (this inverter 100%), battery temperature 20°C, select charge rate 5000W (real 5000W), current charge rate 5000W
2026-08-15 15:00:04.031598: Adjust idle time, charge 10:30:00-16:00:00 discharge 00:00:00-00:00:00
2026-08-15 15:00:04.031935: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 15:00:04.032077: No export window planned
2026-08-15 15:00:04.032268: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 15:00:04.032314: Adjust idle time, charge 10:30:00-16:00:00 discharge 00:00:00-00:00:00
2026-08-15 15:00:04.032496: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 15:00:04.032658: Inverter 0 setting charging SoC to 100% as per target
2026-08-15 15:00:04.032712: Inverter 0 adjust target SoC for charge to 100% based on requested all inverter SoC 100%
2026-08-15 15:00:04.032826: Inverter 0 Current Target SoC is 100%, already at target
2026-08-15 15:00:04.033022: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:00:04.033080: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:00:04.033141: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:00:04.033196: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:00:04.033278: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:00:04.033338: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:00:04.033400: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:00:04.033490: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 15:00:04.033560: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 15:00:04.033618: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 15:00:04.033668: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 15:00:04.033735: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 15:00:04.033789: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 15:00:04.033850: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 15:00:04.033968: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:00:04.034019: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:00:04.034076: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:00:04.034135: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:00:04.034192: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:00:04.034289: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:00:04.034353: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:00:04.034402: Inverter 0 count register writes 0
2026-08-15 15:00:04.057422: Will not recompute the plan, it is 5.0 minutes old and max age is 10 minutes
2026-08-15 15:00:04.064116: Total inverter register writes now 825
2026-08-15 15:00:04.106879: Info: Completed run status Charging
2026-08-15 15:00:04.116249: Info: record_status Charging target 76%-100.0%
2026-08-15 15:00:04.125965: Saved current settings to /config/predbat_config.json
2026-08-15 15:00:04.126493: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 15:00:42.255629: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 15:00:42.255876: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 15:00:42.255935: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 15:00:42.256078: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 15:00:42.256131: Note: Inverter does not support discharge freeze - disabled
2026-08-15 15:00:42.256149: Note: Inverter does not support charge freeze - disabled
2026-08-15 15:00:42.256164: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 15:01:50.388904: Info: HAHistory: Pruning history data started.
2026-08-15 15:01:50.392499: Info: HAHistory: Pruning history data completed.
2026-08-15 15:02:20.436396: ML Component: Fetching 28 days of load history from ['sensor.sunsynk_day_load_energy']
2026-08-15 15:02:21.462260: Processing 1297 30-minute periods for power integration
2026-08-15 15:02:21.570974: ML Component: Car charging hold False, car energy reported load False
2026-08-15 15:02:21.669855: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 15:02:21.769588: ML Temperature data points: 48061
2026-08-15 15:02:22.041879: ML Component: Fetched 7776 load data points, 27.0 days of history
2026-08-15 15:02:22.082883: ML Component: Data fetch completed, load data age 57.0 days, 16445 data points
2026-08-15 15:02:22.083095: ML Component: No training needed, model age is 0.88 hours
2026-08-15 15:02:22.083266: ML Component: Generating predictions load data age 57.0 days, 16445 data points
2026-08-15 15:02:22.225772: ML Predictor: Starting autoregressive prediction loop for 576 steps (48.0 hours), prev_energy value 0.0049 max_dow {0: 0.10148124996256083, 1: 0.10722812486607582, 2: 0.11988124983031304, 3: 0.11477812442630529, 4: 0.1668593753574416, 5: 0.09790277780294418, 6: 0.10850624993629754}
2026-08-15 15:02:27.384557: ML Component: Generated 576 predictions (total 34.33 kWh over 48h)
2026-08-15 15:02:27.425767: ML Component: Prediction cycle completed
2026-08-15 15:02:27.528184: ML Component: Saved 16445 steps (57 days) of history to /config/predbat_ml_history.npz
2026-08-15 15:02:57.272081: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 15:02:57.272381: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 15:02:57.272423: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 15:02:57.272562: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 15:02:57.272608: Note: Inverter does not support discharge freeze - disabled
2026-08-15 15:02:57.272636: Note: Inverter does not support charge freeze - disabled
2026-08-15 15:02:57.272655: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 15:05:00.502021: --------------- PredBat - update at 2026-08-15 15:05:00+01:00 with clock skew 0 minutes, minutes now 905
2026-08-15 15:05:00.502800: Saved current settings to /config/predbat_config.json
2026-08-15 15:05:00.502927: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 45.0 minutes
2026-08-15 15:05:00.503011: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.2, latest beta is v8.48.2
2026-08-15 15:05:00.503175: Autoupdate: There is an update pending v8.48.2 PV90 and second pass enabled by default, bug fixes - auto update is off
2026-08-15 15:05:00.528148: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 15:05:00.528291: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 15:05:00.528458: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 15:05:00.528994: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 15:05:00.529160: Predbat mode is set to Control charge & discharge
2026-08-15 15:05:00.732098: Found 21602 load_today datapoints going back 27 days
2026-08-15 15:05:00.732268: Using load_power data to fill gaps in load_today data
2026-08-15 15:05:01.606924: Warn: Found 1 periods of zero load with power data, filling using power integration
2026-08-15 15:05:01.607142: Zero load period starting at 2026-08-15T15:05:00+0100 (0 minutes) for 30 minutes with base value 210.7333
2026-08-15 15:05:01.607322: Processing 721 30-minute periods for power integration
2026-08-15 15:05:01.794824: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 15:05:01.794978: Car charging hold False, threshold 6.0kWh
2026-08-15 15:05:01.795025: Current data so far today: load 8.2kWh, import 21.7kWh, export 0.0kWh, PV 0kWh
2026-08-15 15:05:01.811843: Cars: SoC: [11.134]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 15:05:01.812416: Standing charge is set to 49.98p
2026-08-15 15:05:01.861724: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 15:05:01.861828: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 15:05:01.862049: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 265.0 minutes
2026-08-15 15:05:01.862611: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 265.0 minutes
2026-08-15 15:05:01.868870: Loaded 95 datapoints of futurerate analysis
2026-08-15 15:05:01.968941: Predicted future rates: ['08-15 00:00:00 => 28.9 / 20.01', '08-15 01:00:00 => 27.54 / 19.31', '08-15 02:00:00 => 26.52 / 18.8', '08-15 03:00:00 => 25.99 / 18.53', '08-15 04:00:00 => 25.8 / 18.43', '08-15 05:00:00 => 25.96 / 18.51', '08-15 06:00:00 => 25.55 / 18.3', '08-15 07:00:00 => 24.33 / 17.68', '08-15 08:00:00 => 23.03 / 17.01', '08-15 09:00:00 => 22.05 / 16.51', '08-15 10:00:00 => 20.43 / 15.68', '08-15 11:00:00 => 18.01 / 14.45', '08-15 12:00:00 => 16.37 / 13.61', '08-15 13:00:00 => 15.76 / 13.3', '08-15 14:00:00 => 15.35 / 13.09', '08-15 15:00:00 => 15.86 / 13.35', '08-15 16:00:00 => 32.89 / 16.13', '08-15 17:00:00 => 38.02 / 18.75', '08-15 18:00:00 => 42.36 / 20.96', '08-15 19:00:00 => 31.09 / 21.13', '08-15 20:00:00 => 31.64 / 21.41', '08-15 21:00:00 => 31.64 / 21.41', '08-15 22:00:00 => 30.58 / 20.87', '08-15 23:00:00 => 29.37 / 20.25', '08-16 00:00:00 => 28.83 / 19.97', '08-16 01:00:00 => 27.73 / 19.41', '08-16 02:00:00 => 26.76 / 18.92', '08-16 03:00:00 => 26.39 / 18.73', '08-16 04:00:00 => 26.33 / 18.7', '08-16 05:00:00 => 26.23 / 18.65', '08-16 06:00:00 => 25.99 / 18.53', '08-16 07:00:00 => 25.64 / 18.35', '08-16 08:00:00 => 24.84 / 17.94', '08-16 09:00:00 => 24.26 / 17.64', '08-16 10:00:00 => 24.8 / 17.92', '08-16 11:00:00 => 24.71 / 17.87', '08-16 12:00:00 => 23.79 / 17.4', '08-16 13:00:00 => 23.14 / 17.07', '08-16 14:00:00 => 22.01 / 16.49']
2026-08-15 15:05:02.032598: Rate min forward looking: now 15.02p at end of forecast 21.29p
2026-08-15 15:05:02.033356: Import rates: min 15.02p, max 46.05p, average 28.23p
2026-08-15 15:05:02.076473: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 15:05:02.076629: Rate thresholds (for charge/export) are import 45.55p (0.0p), export -0.1p (0.0p)
2026-08-15 15:05:02.077976: High export rate found rates in range 99p to -99p
2026-08-15 15:05:02.182250: Low Import rate found rates in range 15.02p to 44.19p
2026-08-15 15:05:02.182403: Car 0 charging is not planned as it is not plugged in
2026-08-15 15:05:02.194953: Battery level now 12.13kWh, -1hr ago 8.28kWh, at midnight 1.66kWh, battery value change in the last hour 49.64p, change today 135.08p, rate_forward 12.9p
2026-08-15 15:05:02.195407: Last hour: net energy 4.4kWh, import 4.4kWh, export 0.0kWh, car 0kWh, load 0.26kWh, net cost 62.23p, import 62.23p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 15:05:02.261443: Today's energy total net 21.7kWh, import 21.7kWh, export 0.0kWh, cost 468.5p, import 418.52p, export 0.0p, carbon 0.0kg
2026-08-15 15:05:02.261662: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 15:05:02.354431: Using weighted-bucket historical load forecast over 14 days
2026-08-15 15:05:02.391894: Today's load divergence 94.57%, in-day adjustment 113.02%, damping 0.95x, yesterday 143.77% today 94.84% blend 37.15%
2026-08-15 15:05:02.392007: Today's predicted so far 9.27kWh with 0.0kWh car/iBoost excluded, 15.33kWh import ignored, and 9.27kWh forecast extra.
2026-08-15 15:05:02.392057: Today's actual load so far 8.48kWh with 0.0kWh car/iBoost excluded, and 15.33kWh import ignored.
2026-08-15 15:05:02.430794: Inverter 0: Type SK Sunsynk
2026-08-15 15:05:02.430889: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 15:05:02.431110: Reserve min: 7%, battery_min: 7%
2026-08-15 15:05:02.431189: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 15:05:02.431457: Inverter 0 SoC: 12.46kW 78%, current charge rate 5000W, current discharge rate 5250W, current battery power -4553W, current battery voltage 51.2V, grid power -5213W, load power 217W, PV Power 0W
2026-08-15 15:05:02.431617: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 15:05:02.431704: Inverter 0 scheduled charge enable is True
2026-08-15 15:05:02.431748: Inverter 0 charge windows currently [{'start': 630, 'end': 960, 'average': 0}, {'start': 2070, 'end': 2400, 'average': 0}, {'start': 3510, 'end': 3840, 'average': 0}]
2026-08-15 15:05:02.431833: Inverter 0 Charge settings: 08-15 10:30:00-08-15 16:00:00, limit 100.0%, power 5.0kW
2026-08-15 15:05:02.431952: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 15:05:02.431988: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 15:05:02.432024: Inverter 0 scheduled discharge enable is False
2026-08-15 15:05:02.432179: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 15:05:02.432218: Inverter 0 discharge windows currently []
2026-08-15 15:05:02.432241: Note: Inverter does not support discharge freeze - disabled
2026-08-15 15:05:02.432260: Note: Inverter does not support charge freeze - disabled
2026-08-15 15:05:02.432304: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 15:05:02.501918: Dynamic load last period 0.00kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 15:05:02.502073: Plan was last updated on 2026-08-15 14:55:00+01:00 and is now 10.0 minutes old
2026-08-15 15:05:02.502373: Best charge window [ 15-08 14:30:00 - 15-08 16:00:00 @ 15.13p 100%, 16-08 15:00:00 - 16-08 18:30:00 @ 41.93p 100%, 16-08 19:00:00 - 17-08 15:00:00 @ 21.92p 100% ]
2026-08-15 15:05:02.502437: Best export window [  ]
2026-08-15 15:05:02.503337: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 15:05:02.507138: Load divergence over 8.0 hours mean 450.9W, min 294.0W, max 1140.6W, std dev 164.48W, divergence 18.24%
2026-08-15 15:05:02.527291: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 15:05:02.527424: LoadML is_calculating False
2026-08-15 15:05:02.527490: Creating pool of 12 processes to match your CPU count
2026-08-15 15:05:02.657353: predict base end_record 08-16 15:10:00, final soc 16.0kWh, metric 1015.98p, metric_keep 0kWh, min_soc 2.71kWh @ 08-16 10:25:00, load 24.82kWh, PV 0.0kWh
2026-08-15 15:05:02.802197: Battery has 48.0 hours left - now at 12.46kWh
2026-08-15 15:05:02.849373: predict base10 end_record 08-16 15:10:00, final soc 16.0kWh, metric 1033.35p, metric_keep 0kWh, min_soc 1.99kWh @ 08-16 10:25:00, load 25.61kWh, PV 0.0kWh
2026-08-15 15:05:02.928201: predict best10 end_record 08-16 15:10:00, final soc 1.77kWh, metric 669.67p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 11:25:00, load 25.61kWh, PV 0.0kWh
2026-08-15 15:05:03.010515: predict best end_record 08-16 15:10:00, final soc 1.9kWh, metric 653.37p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 12:05:00, load 24.82kWh, PV 0.0kWh
2026-08-15 15:05:03.010601: Saving plan best values to HA entities
2026-08-15 15:05:03.177893: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0
2026-08-15 15:05:03.183494: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 15:05:03.189423: Best charging limit SoC's [16.0, 16.0, 16.0]kWh, export []kWh gives import battery 5.4kWh, house 1.99kWh, export 0.0kWh, metric 653.37p, metric10 669.67p
2026-08-15 15:05:03.271317: Marginal costs baseline metric (no standing charge): 603.386
2026-08-15 15:05:03.485638: Marginal energy costs matrix computed: min=16.17 max=32.05
2026-08-15 15:05:03.556438: Rate array import [{'start': 905, 'end': 960, 'rate': 'cheap', 'range': '(15.0p - 15.9p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1920, 'rate': 'expensive', 'range': '(25.4p - 32.9p)'}, {'start': 1920, 'end': 2070, 'rate': 'cheap', 'range': '(24.2p - 24.8p)'}, {'start': 2070, 'end': 2100, 'rate': 'expensive', 'range': '(25.4p)'}, {'start': 2100, 'end': 2350, 'rate': 'cheap', 'range': '(21.3p - 24.7p)'}] export [{'start': 905, 'end': 2350, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 15:05:03.556880: - Your estimated bill for today is £5.37 and tomorrow is £8.47
2026-08-15 15:05:03.556925: - Import rates are cheap (15.0p - 15.9p) for the next 55 minutes and then expensive (33.1p) for the next 1 hour.
2026-08-15 15:05:03.556978: - The battery is currently at 78% and is charging to 100% for the next 55 minutes.
2026-08-15 15:05:03.557003: - For the next 48 hours there will be no solar generation.
2026-08-15 15:05:03.557020: - You will run out of battery in 21 hours.
2026-08-15 15:05:03.557051: 
2026-08-15 15:05:03.606331: Plan calculation took 1.10 seconds
2026-08-15 15:05:03.609350: No high rate period found
2026-08-15 15:05:03.658430: Import threshold used for optimisation was 24.28p
2026-08-15 15:05:03.710316: Low import rate windows [0: 08-15 15:00:00 - 08-15 15:30:00 @ 15.02, 1: 08-15 15:30:00 - 08-15 16:00:00 @ 15.87, 2: 08-15 16:00:00 - 08-15 16:30:00 @ 33.13, 3: 08-15 16:30:00 - 08-15 17:00:00 @ 33.13, 4: 08-15 17:00:00 - 08-15 17:30:00 @ 38.46, 5: 08-15 17:30:00 - 08-15 18:00:00 @ 40.44, 6: 08-15 18:00:00 - 08-15 18:30:00 @ 41.55, 7: 08-15 18:30:00 - 08-15 19:00:00 @ 43.82, 8: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 9: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 10: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 11: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 12: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 13: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 14: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 15: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 16: 08-15 23:00:00 - 08-15 23:30:00 @ 29.37, 17: 08-15 23:30:00 - 08-16 00:00:00 @ 29.2, 18: 08-16 00:00:00 - 08-16 00:30:00 @ 28.83, 19: 08-16 00:30:00 - 08-16 01:00:00 @ 28.46, 20: 08-16 01:00:00 - 08-16 01:30:00 @ 27.73, 21: 08-16 01:30:00 - 08-16 02:00:00 @ 27.01, 22: 08-16 02:00:00 - 08-16 02:30:00 @ 26.76, 23: 08-16 02:30:00 - 08-16 03:00:00 @ 26.48, 24: 08-16 03:00:00 - 08-16 03:30:00 @ 26.39, 25: 08-16 03:30:00 - 08-16 04:00:00 @ 26.27, 26: 08-16 04:00:00 - 08-16 04:30:00 @ 26.33, 27: 08-16 04:30:00 - 08-16 05:00:00 @ 26.37, 28: 08-16 05:00:00 - 08-16 05:30:00 @ 26.23, 29: 08-16 05:30:00 - 08-16 06:00:00 @ 26.07, 30: 08-16 06:00:00 - 08-16 06:30:00 @ 25.99, 31: 08-16 06:30:00 - 08-16 07:00:00 @ 25.92, 32: 08-16 07:00:00 - 08-16 07:30:00 @ 25.64, 33: 08-16 07:30:00 - 08-16 08:00:00 @ 25.39, 34: 08-16 08:00:00 - 08-16 08:30:00 @ 24.84, 35: 08-16 08:30:00 - 08-16 09:00:00 @ 24.28, 36: 08-16 09:00:00 - 08-16 09:30:00 @ 24.26, 37: 08-16 09:30:00 - 08-16 10:00:00 @ 24.22, 38: 08-16 10:00:00 - 08-16 10:30:00 @ 24.8, 39: 08-16 10:30:00 - 08-16 11:00:00 @ 25.37, 40: 08-16 11:00:00 - 08-16 11:30:00 @ 24.71, 41: 08-16 11:30:00 - 08-16 12:00:00 @ 24.02, 42: 08-16 12:00:00 - 08-16 12:30:00 @ 23.79, 43: 08-16 12:30:00 - 08-16 13:00:00 @ 23.55, 44: 08-16 13:00:00 - 08-16 13:30:00 @ 23.14, 45: 08-16 13:30:00 - 08-16 14:00:00 @ 22.71, 46: 08-16 14:00:00 - 08-16 14:30:00 @ 22.01, 47: 08-16 14:30:00 - 08-16 15:00:00 @ 21.29, 48: 08-16 15:00:00 - 08-16 15:30:00 @ 22.01, 49: 08-16 15:30:00 - 08-16 16:00:00 @ 22.71, 50: 08-16 16:00:00 - 08-16 16:30:00 @ 37.14, 51: 08-16 16:30:00 - 08-16 17:00:00 @ 37.91, 52: 08-16 17:00:00 - 08-16 17:30:00 @ 40.13, 53: 08-16 17:30:00 - 08-16 18:00:00 @ 42.36, 54: 08-16 18:00:00 - 08-16 18:30:00 @ 44.19, 55: 08-16 19:00:00 - 08-16 19:30:00 @ 33.04, 56: 08-16 19:30:00 - 08-16 20:00:00 @ 33.71, 57: 08-16 20:00:00 - 08-16 20:30:00 @ 33.83, 58: 08-16 20:30:00 - 08-16 21:00:00 @ 33.94, 59: 08-16 21:00:00 - 08-16 21:30:00 @ 33.73, 60: 08-16 21:30:00 - 08-16 22:00:00 @ 33.53, 61: 08-16 22:00:00 - 08-16 22:30:00 @ 32.36, 62: 08-16 22:30:00 - 08-16 23:00:00 @ 31.17, 63: 08-16 23:00:00 - 08-16 23:30:00 @ 29.37, 64: 08-16 23:30:00 - 08-17 00:00:00 @ 29.2, 65: 08-17 00:00:00 - 08-17 00:30:00 @ 28.83, 66: 08-17 00:30:00 - 08-17 01:00:00 @ 28.46, 67: 08-17 01:00:00 - 08-17 01:30:00 @ 27.73, 68: 08-17 01:30:00 - 08-17 02:00:00 @ 27.01, 69: 08-17 02:00:00 - 08-17 02:30:00 @ 26.76, 70: 08-17 02:30:00 - 08-17 03:00:00 @ 26.48, 71: 08-17 03:00:00 - 08-17 03:30:00 @ 26.39, 72: 08-17 03:30:00 - 08-17 04:00:00 @ 26.27, 73: 08-17 04:00:00 - 08-17 04:30:00 @ 26.33, 74: 08-17 04:30:00 - 08-17 05:00:00 @ 26.37, 75: 08-17 05:00:00 - 08-17 05:30:00 @ 26.23, 76: 08-17 05:30:00 - 08-17 06:00:00 @ 26.07, 77: 08-17 06:00:00 - 08-17 06:30:00 @ 25.99, 78: 08-17 06:30:00 - 08-17 07:00:00 @ 25.92, 79: 08-17 07:00:00 - 08-17 07:30:00 @ 25.64, 80: 08-17 07:30:00 - 08-17 08:00:00 @ 25.39, 81: 08-17 08:00:00 - 08-17 08:30:00 @ 24.84, 82: 08-17 08:30:00 - 08-17 09:00:00 @ 24.28, 83: 08-17 09:00:00 - 08-17 09:30:00 @ 24.26, 84: 08-17 09:30:00 - 08-17 10:00:00 @ 24.22, 85: 08-17 10:00:00 - 08-17 10:30:00 @ 24.8, 86: 08-17 10:30:00 - 08-17 11:00:00 @ 25.37, 87: 08-17 11:00:00 - 08-17 11:30:00 @ 24.71, 88: 08-17 11:30:00 - 08-17 12:00:00 @ 24.02, 89: 08-17 12:00:00 - 08-17 12:30:00 @ 23.79, 90: 08-17 12:30:00 - 08-17 13:00:00 @ 23.55, 91: 08-17 13:00:00 - 08-17 13:30:00 @ 23.14, 92: 08-17 13:30:00 - 08-17 14:00:00 @ 22.71, 93: 08-17 14:00:00 - 08-17 14:30:00 @ 22.01, 94: 08-17 14:30:00 - 08-17 15:00:00 @ 21.29, 95: 08-17 15:00:00 - 08-17 15:30:00 @ 22.01]
2026-08-15 15:05:03.717604: Include original charge start 08-15 10:30:00, keeping this instead of new start 08-15 14:30:00
2026-08-15 15:05:03.717718: Inverter 0 Charge window will be: 2026-08-15 10:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 78%, target 100%
2026-08-15 15:05:03.717864: Inverter 0 Target SoC 100%, (this inverter 100%), battery temperature 20°C, select charge rate 5000W (real 5000W), current charge rate 5000W
2026-08-15 15:05:03.718059: Adjust idle time, charge 10:30:00-16:00:00 discharge 00:00:00-00:00:00
2026-08-15 15:05:03.718269: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 15:05:03.718351: No export window planned
2026-08-15 15:05:03.718449: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 15:05:03.718479: Adjust idle time, charge 10:30:00-16:00:00 discharge 00:00:00-00:00:00
2026-08-15 15:05:03.718589: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 15:05:03.718685: Inverter 0 setting charging SoC to 100% as per target
2026-08-15 15:05:03.718721: Inverter 0 adjust target SoC for charge to 100% based on requested all inverter SoC 100%
2026-08-15 15:05:03.718775: Inverter 0 Current Target SoC is 100%, already at target
2026-08-15 15:05:03.718869: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:05:03.718905: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:05:03.718928: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:05:03.718952: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:05:03.718972: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:05:03.718992: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:05:03.719011: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:05:03.719057: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 15:05:03.719086: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 15:05:03.719107: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 15:05:03.719133: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 15:05:03.719156: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 15:05:03.719176: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 15:05:03.719195: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 15:05:03.719249: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:05:03.719277: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:05:03.719298: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:05:03.719335: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:05:03.719355: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:05:03.719375: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:05:03.719399: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:05:03.719416: Inverter 0 count register writes 0
2026-08-15 15:05:03.733222: Will recompute the plan as it is now 10.0 minutes old and will exceed the max age of 10 minutes before the next run
2026-08-15 15:05:03.733360: Recompute is saving previous plan...
2026-08-15 15:05:03.736207: Best charge window [ 15-08 15:00:00 - 15-08 15:30:00 @ 15.02p 100%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 100%, 15-08 16:00:00 - 15-08 16:30:00 @ 33.13p 100%, 15-08 16:30:00 - 15-08 17:00:00 @ 33.13p 100%, 15-08 17:00:00 - 15-08 17:30:00 @ 38.46p 100%, 15-08 17:30:00 - 15-08 18:00:00 @ 40.44p 100%, 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 100%, 15-08 18:30:00 - 15-08 19:00:00 @ 43.82p 100%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 100%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 100%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 100%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 100%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 100%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 100%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 100%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 100%, 15-08 23:00:00 - 15-08 23:30:00 @ 29.37p 100%, 15-08 23:30:00 - 16-08 00:00:00 @ 29.2p 100%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.83p 100%, 16-08 00:30:00 - 16-08 01:00:00 @ 28.46p 100%, 16-08 01:00:00 - 16-08 01:30:00 @ 27.73p 100%, 16-08 01:30:00 - 16-08 02:00:00 @ 27.01p 100%, 16-08 02:00:00 - 16-08 02:30:00 @ 26.76p 100%, 16-08 02:30:00 - 16-08 03:00:00 @ 26.48p 100%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.39p 100%, 16-08 03:30:00 - 16-08 04:00:00 @ 26.27p 100%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.33p 100%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.37p 100%, 16-08 05:00:00 - 16-08 05:30:00 @ 26.23p 100%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.07p 100%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.99p 100%, 16-08 06:30:00 - 16-08 07:00:00 @ 25.92p 100%, 16-08 07:00:00 - 16-08 07:30:00 @ 25.64p 100%, 16-08 07:30:00 - 16-08 08:00:00 @ 25.39p 100%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.84p 100%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.28p 100%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.26p 100%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.22p 100%, 16-08 10:00:00 - 16-08 10:30:00 @ 24.8p 100%, 16-08 10:30:00 - 16-08 11:00:00 @ 25.37p 100%, 16-08 11:00:00 - 16-08 11:30:00 @ 24.71p 100%, 16-08 11:30:00 - 16-08 12:00:00 @ 24.02p 100%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.79p 100%, 16-08 12:30:00 - 16-08 13:00:00 @ 23.55p 100%, 16-08 13:00:00 - 16-08 13:30:00 @ 23.14p 100%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.71p 100%, 16-08 14:00:00 - 16-08 14:30:00 @ 22.01p 100%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.29p 100%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.01p 100%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.71p 100%, 16-08 16:00:00 - 16-08 16:30:00 @ 37.14p 100%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.91p 100%, 16-08 17:00:00 - 16-08 17:30:00 @ 40.13p 100%, 16-08 17:30:00 - 16-08 18:00:00 @ 42.36p 100%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.19p 100%, 16-08 19:00:00 - 16-08 19:30:00 @ 33.04p 100%, 16-08 19:30:00 - 16-08 20:00:00 @ 33.71p 100%, 16-08 20:00:00 - 16-08 20:30:00 @ 33.83p 100%, 16-08 20:30:00 - 16-08 21:00:00 @ 33.94p 100%, 16-08 21:00:00 - 16-08 21:30:00 @ 33.73p 100%, 16-08 21:30:00 - 16-08 22:00:00 @ 33.53p 100%, 16-08 22:00:00 - 16-08 22:30:00 @ 32.36p 100%, 16-08 22:30:00 - 16-08 23:00:00 @ 31.17p 100%, 16-08 23:00:00 - 16-08 23:30:00 @ 29.37p 100%, 16-08 23:30:00 - 17-08 00:00:00 @ 29.2p 100%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.83p 100%, 17-08 00:30:00 - 17-08 01:00:00 @ 28.46p 100%, 17-08 01:00:00 - 17-08 01:30:00 @ 27.73p 100%, 17-08 01:30:00 - 17-08 02:00:00 @ 27.01p 100%, 17-08 02:00:00 - 17-08 02:30:00 @ 26.76p 100%, 17-08 02:30:00 - 17-08 03:00:00 @ 26.48p 100%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.39p 100%, 17-08 03:30:00 - 17-08 04:00:00 @ 26.27p 100%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.33p 100%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.37p 100%, 17-08 05:00:00 - 17-08 05:30:00 @ 26.23p 100%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.07p 100%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.99p 100%, 17-08 06:30:00 - 17-08 07:00:00 @ 25.92p 100%, 17-08 07:00:00 - 17-08 07:30:00 @ 25.64p 100%, 17-08 07:30:00 - 17-08 08:00:00 @ 25.39p 100%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.84p 100%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.28p 100%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.26p 100%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.22p 100%, 17-08 10:00:00 - 17-08 10:30:00 @ 24.8p 100%, 17-08 10:30:00 - 17-08 11:00:00 @ 25.37p 100%, 17-08 11:00:00 - 17-08 11:30:00 @ 24.71p 100%, 17-08 11:30:00 - 17-08 12:00:00 @ 24.02p 100%, 17-08 12:00:00 - 17-08 12:30:00 @ 23.79p 100%, 17-08 12:30:00 - 17-08 13:00:00 @ 23.55p 100%, 17-08 13:00:00 - 17-08 13:30:00 @ 23.14p 100%, 17-08 13:30:00 - 17-08 14:00:00 @ 22.71p 100%, 17-08 14:00:00 - 17-08 14:30:00 @ 22.01p 100%, 17-08 14:30:00 - 17-08 15:00:00 @ 21.29p 100%, 17-08 15:00:00 - 17-08 15:30:00 @ 22.01p 100% ]
2026-08-15 15:05:03.736280: Best export window [  ]
2026-08-15 15:05:03.737072: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 15:05:03.739801: Load divergence over 8.0 hours mean 450.9W, min 294.0W, max 1140.6W, std dev 164.48W, divergence 18.24%
2026-08-15 15:05:03.753334: Calculating data from yesterday for savings calculation
2026-08-15 15:05:03.763518: Yesterday basic charge window best: [{'start': 840, 'end': 870, 'average': 21.7}] charge limit best: [16.0] based on max charge slots 1
2026-08-15 15:05:03.800857: predict yesterday end_record 08-16 00:00:00, final soc 1.12kWh, metric 843.63p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 00:00:00, load 26.2kWh, PV 0.0kWh
2026-08-15 15:05:03.811932: predict yesterday10 end_record 08-16 00:00:00, final soc 1.12kWh, metric 847.91p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 00:00:00, load 26.2kWh, PV 0.0kWh
2026-08-15 15:05:03.828290: predict yesterday end_record 08-16 00:00:00, final soc 1.12kWh, metric 843.63p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 00:00:00, load 26.2kWh, PV 0.0kWh
2026-08-15 15:05:03.860136: Yesterday: Predbat disabled was £8.44 (adjusted £8.23) vs £7.38 (adjusted £7.05), saving £1.05 (adjusted £1.18) with import 26.54kWh, export 0.0kWh, battery_cycle 4.66kWh, start_soc 1.12kWh,  final_soc 1.12kWh and battery_value 20.49kWh
2026-08-15 15:05:03.931460: predict yesterday end_record 08-16 00:00:00, final soc 0.0kWh, metric 849.84p, metric_keep 0kWh, min_soc 0kWh @ 08-15 00:00:00, load 26.2kWh, PV 0.0kWh
2026-08-15 15:05:03.931619: Yesterday: No Battery/PV system cost predicted was £8.5 (adjusted £8.5) vs £7.38 (adjusted £7.05), saving £1.12 (adjusted £1.44) with import 26.2kWh, export 0kWh and battery_value 0.0kWh
2026-08-15 15:05:03.942133: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 15:05:03.942282: LoadML is_calculating False
2026-08-15 15:05:03.942385: Creating pool of 12 processes to match your CPU count
2026-08-15 15:05:04.027568: Calculate Best options: mode(Control charge & discharge), calculate_export_oncharge(False), calculate_export_on_pv(True), set_export_freeze_only(False), set_discharge_during_charge(True), combine_charge_slots(False), combine_export_slots(False), combine_rate_threshold(0.0), best_soc_min(0.0 kWh), best_soc_max(0.0 kWh), best_soc_keep(0.0 kWh), inverter_loss(4%), battery_loss(3%), battery_loss_discharge (3%), inverter_hybrid(True), metric_min_improvement(0.0p), metric_min_improvement_export(0.1p), metric_min_improvement_export_freeze(0.1p), metric_battery_cycle(0.0p/kWh), metric_battery_value_scaling(1.0 x) 
2026-08-15 15:05:04.029460: Optimise levels pass started at 2026-08-15 15:05:04
2026-08-15 15:05:04.029527: Optimise all windows, total charge 95 export 1
2026-08-15 15:05:04.443195: >> Region optimisation pass width 960 gives best_metric 964.21p, best_cost 978.18p, best_cycle 32.05kWh, best_import 23.25kWh
2026-08-15 15:05:04.589622: >> Region optimisation pass width 480 gives best_metric 964.21p, best_cost 978.18p, best_cycle 32.05kWh, best_import 23.25kWh
2026-08-15 15:05:04.834164: >> Region optimisation pass width 240 gives best_metric 964.21p, best_cost 978.18p, best_cycle 32.05kWh, best_import 23.25kWh
2026-08-15 15:05:05.313993: >> Region optimisation pass width 120 gives best_metric 964.21p, best_cost 978.18p, best_cycle 32.05kWh, best_import 23.25kWh
2026-08-15 15:05:05.314299: Calculated end_record as 08-16 15:30:00 based on best_price 22.01p, next_charge_start 08-15 15:30:00, max_windows 49
2026-08-15 15:05:05.314365: Optimise levels pass ended at 2026-08-15 15:05:05, duration 1.3 seconds tried 25 combinations
2026-08-15 15:05:05.314426: Set best_price_charge_level 23.6p, best_price_export_level 0p, best_price_charge 22.01p, best_cost_export 0p, best_metric 964.21p, best_keep 0kWh, best_cycle 32.05kWh, best_carbon 0kg, best_import 23.25kWh
2026-08-15 15:05:05.334232: Starting detailed optimisation end_record 08-16 15:30:00, best_price_charge 22.01p, best_price_export 0p. lowest_price_charge 15.02p with charge limits [16.0, 16.0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0]kWh and export limits []kWh
2026-08-15 15:05:07.952183: Tweak plan optimisation started metric 572.22p, cost 589.77p
2026-08-15 15:05:08.163093: Tweak optimisation finished metric 572.22p, cost 589.77p, metric_keep 0kWh, cycle 18.08kWh, carbon 0kg, import 6.77kWh, changed 8 window(s)
2026-08-15 15:05:08.188346: Swap charge optimisation started metric 572.22p, cost 589.77p, min_improvement_swap 0.1p
2026-08-15 15:05:08.683372: Swap charge optimisation finished metric 572.22p, cost 589.77p
2026-08-15 15:05:08.714233: Raw charge windows [ 15-08 15:00:00 - 15-08 15:30:00 @ 15.02p 100%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 100%, 15-08 16:00:00 - 15-08 16:30:00 @ 33.13p 0%, 15-08 16:30:00 - 15-08 17:00:00 @ 33.13p 0%, 15-08 17:00:00 - 15-08 17:30:00 @ 38.46p 0%, 15-08 17:30:00 - 15-08 18:00:00 @ 40.44p 0%, 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 0%, 15-08 18:30:00 - 15-08 19:00:00 @ 43.82p 0%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 0%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 0%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 0%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 0%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 29.37p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 29.2p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.83p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 28.46p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 27.73p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 27.01p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 26.76p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 26.48p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.39p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 26.27p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.33p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.37p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 26.23p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.07p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.99p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 25.92p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 25.64p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 25.39p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.84p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.28p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.26p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.22p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 24.8p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 25.37p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 24.71p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 24.02p 0%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.79p 0%, 16-08 12:30:00 - 16-08 13:00:00 @ 23.55p 0%, 16-08 13:00:00 - 16-08 13:30:00 @ 23.14p 0%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.71p 0%, 16-08 14:00:00 - 16-08 14:30:00 @ 22.01p 0%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.29p 0%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.01p 0%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.71p 100%, 16-08 16:00:00 - 16-08 16:30:00 @ 37.14p 100%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.91p 100%, 16-08 17:00:00 - 16-08 17:30:00 @ 40.13p 100%, 16-08 17:30:00 - 16-08 18:00:00 @ 42.36p 100%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.19p 100%, 16-08 19:00:00 - 16-08 19:30:00 @ 33.04p 100%, 16-08 19:30:00 - 16-08 20:00:00 @ 33.71p 100%, 16-08 20:00:00 - 16-08 20:30:00 @ 33.83p 100%, 16-08 20:30:00 - 16-08 21:00:00 @ 33.94p 100%, 16-08 21:00:00 - 16-08 21:30:00 @ 33.73p 100%, 16-08 21:30:00 - 16-08 22:00:00 @ 33.53p 100%, 16-08 22:00:00 - 16-08 22:30:00 @ 32.36p 100%, 16-08 22:30:00 - 16-08 23:00:00 @ 31.17p 100%, 16-08 23:00:00 - 16-08 23:30:00 @ 29.37p 100%, 16-08 23:30:00 - 17-08 00:00:00 @ 29.2p 100%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.83p 100%, 17-08 00:30:00 - 17-08 01:00:00 @ 28.46p 100%, 17-08 01:00:00 - 17-08 01:30:00 @ 27.73p 100%, 17-08 01:30:00 - 17-08 02:00:00 @ 27.01p 100%, 17-08 02:00:00 - 17-08 02:30:00 @ 26.76p 100%, 17-08 02:30:00 - 17-08 03:00:00 @ 26.48p 100%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.39p 100%, 17-08 03:30:00 - 17-08 04:00:00 @ 26.27p 100%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.33p 100%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.37p 100%, 17-08 05:00:00 - 17-08 05:30:00 @ 26.23p 100%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.07p 100%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.99p 100%, 17-08 06:30:00 - 17-08 07:00:00 @ 25.92p 100%, 17-08 07:00:00 - 17-08 07:30:00 @ 25.64p 100%, 17-08 07:30:00 - 17-08 08:00:00 @ 25.39p 100%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.84p 100%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.28p 100%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.26p 100%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.22p 100%, 17-08 10:00:00 - 17-08 10:30:00 @ 24.8p 100%, 17-08 10:30:00 - 17-08 11:00:00 @ 25.37p 100%, 17-08 11:00:00 - 17-08 11:30:00 @ 24.71p 100%, 17-08 11:30:00 - 17-08 12:00:00 @ 24.02p 100%, 17-08 12:00:00 - 17-08 12:30:00 @ 23.79p 100%, 17-08 12:30:00 - 17-08 13:00:00 @ 23.55p 100%, 17-08 13:00:00 - 17-08 13:30:00 @ 23.14p 100%, 17-08 13:30:00 - 17-08 14:00:00 @ 22.71p 100%, 17-08 14:00:00 - 17-08 14:30:00 @ 22.01p 100%, 17-08 14:30:00 - 17-08 15:00:00 @ 21.29p 100%, 17-08 15:00:00 - 17-08 15:30:00 @ 22.01p 100% ] reserve 1.12
2026-08-15 15:05:08.714718: Unclipped charge windows [ 15-08 15:00:00 - 15-08 16:00:00 @ 15.45p 100%, 16-08 15:30:00 - 16-08 18:30:00 @ 41.95p 100%, 16-08 19:00:00 - 17-08 15:30:00 @ 21.97p 100% ] reserve 1.12
2026-08-15 15:05:08.714882: Unfiltered charge windows [ 15-08 15:00:00 - 15-08 16:00:00 @ 15.45p 100%, 16-08 15:30:00 - 16-08 18:30:00 @ 41.95p 100%, 16-08 19:00:00 - 17-08 15:30:00 @ 21.97p 100% ] reserve 1.12
2026-08-15 15:05:08.715041: Filtered charge windows [ 15-08 15:00:00 - 15-08 16:00:00 @ 15.45p 100%, 16-08 15:30:00 - 16-08 18:30:00 @ 41.95p 100%, 16-08 19:00:00 - 17-08 15:30:00 @ 21.97p 100% ] reserve 1.12
2026-08-15 15:05:08.744072: Previous plan best metric is 584.36 (cost 644.79) and new plan best metric is 572.22 (cost 589.77)
2026-08-15 15:05:08.744259: New plan metric is significantly better from previous plan, using new plan
2026-08-15 15:05:08.744293: Plan valid is now true after recompute was False
2026-08-15 15:05:08.768346: predict base end_record 08-16 15:30:00, final soc 16.0kWh, metric 1020.71p, metric_keep 0kWh, min_soc 2.71kWh @ 08-16 10:25:00, load 25.03kWh, PV 0.0kWh
2026-08-15 15:05:08.867828: Battery has 48.0 hours left - now at 12.46kWh
2026-08-15 15:05:08.905556: predict base10 end_record 08-16 15:30:00, final soc 16.0kWh, metric 1038.3p, metric_keep 0kWh, min_soc 1.99kWh @ 08-16 10:25:00, load 25.83kWh, PV 0.0kWh
2026-08-15 15:05:08.970199: predict best10 end_record 08-16 15:30:00, final soc 1.12kWh, metric 659.34p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 11:25:00, load 25.83kWh, PV 0.0kWh
2026-08-15 15:05:09.039176: predict best end_record 08-16 15:30:00, final soc 1.12kWh, metric 639.75p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 12:05:00, load 25.03kWh, PV 0.0kWh
2026-08-15 15:05:09.039259: Saving plan best values to HA entities
2026-08-15 15:05:09.192381: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0
2026-08-15 15:05:09.198072: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 15:05:09.203426: Best charging limit SoC's [16.0, 16.0, 16.0]kWh, export []kWh gives import battery 4.45kWh, house 2.32kWh, export 0.0kWh, metric 639.75p, metric10 659.34p
2026-08-15 15:05:09.287385: Marginal costs baseline metric (no standing charge): 589.7699
2026-08-15 15:05:09.556526: Marginal energy costs matrix computed: min=16.17 max=32.05
2026-08-15 15:05:09.624588: Rate array import [{'start': 905, 'end': 960, 'rate': 'cheap', 'range': '(15.0p - 15.9p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1920, 'rate': 'expensive', 'range': '(25.4p - 32.9p)'}, {'start': 1920, 'end': 2070, 'rate': 'cheap', 'range': '(24.2p - 24.8p)'}, {'start': 2070, 'end': 2100, 'rate': 'expensive', 'range': '(25.4p)'}, {'start': 2100, 'end': 2370, 'rate': 'cheap', 'range': '(21.3p - 24.7p)'}] export [{'start': 905, 'end': 2370, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 15:05:09.625112: - Your estimated bill for today is £5.37 and tomorrow is £8.91
2026-08-15 15:05:09.625168: - Import rates are cheap (15.0p - 15.9p) for the next 55 minutes and then expensive (33.1p) for the next 1 hour.
2026-08-15 15:05:09.625191: - The battery is currently at 78% and is charging to 100% for the next 55 minutes.
2026-08-15 15:05:09.625209: - For the next 48 hours there will be no solar generation.
2026-08-15 15:05:09.625226: - You will run out of battery in 21 hours.
2026-08-15 15:05:09.625244: 
2026-08-15 15:05:09.677872: Plan calculation took 5.94 seconds
2026-08-15 15:05:09.678394: Inverter 0: Type SK Sunsynk
2026-08-15 15:05:09.678443: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 15:05:09.678665: Reserve min: 7%, battery_min: 7%
2026-08-15 15:05:09.678746: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 15:05:09.679198: Inverter 0 SoC: 12.46kW 78%, current charge rate 5000W, current discharge rate 5250W, current battery power -4553W, current battery voltage 51.2V, grid power -5213W, load power 217W, PV Power 0W
2026-08-15 15:05:09.679465: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 15:05:09.679579: Inverter 0 scheduled charge enable is True
2026-08-15 15:05:09.679638: Inverter 0 charge windows currently [{'start': 630, 'end': 960, 'average': 0}, {'start': 2070, 'end': 2400, 'average': 0}, {'start': 3510, 'end': 3840, 'average': 0}]
2026-08-15 15:05:09.679750: Inverter 0 Charge settings: 08-15 10:30:00-08-15 16:00:00, limit 100.0%, power 5.0kW
2026-08-15 15:05:09.679874: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 15:05:09.679911: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 15:05:09.679947: Inverter 0 scheduled discharge enable is False
2026-08-15 15:05:09.680086: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 15:05:09.680153: Inverter 0 discharge windows currently []
2026-08-15 15:05:09.680196: Note: Inverter does not support discharge freeze - disabled
2026-08-15 15:05:09.680225: Note: Inverter does not support charge freeze - disabled
2026-08-15 15:05:09.680243: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 15:05:09.740196: Include original charge start 08-15 10:30:00, keeping this instead of new start 08-15 15:00:00
2026-08-15 15:05:09.740331: Inverter 0 Charge window will be: 2026-08-15 10:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 78%, target 100%
2026-08-15 15:05:09.740484: Inverter 0 Target SoC 100%, (this inverter 100%), battery temperature 20°C, select charge rate 5000W (real 5000W), current charge rate 5000W
2026-08-15 15:05:09.740665: Adjust idle time, charge 10:30:00-16:00:00 discharge 00:00:00-00:00:00
2026-08-15 15:05:09.740889: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 15:05:09.741008: No export window planned
2026-08-15 15:05:09.741147: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 15:05:09.741185: Adjust idle time, charge 10:30:00-16:00:00 discharge 00:00:00-00:00:00
2026-08-15 15:05:09.741323: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 15:05:09.741439: Inverter 0 setting charging SoC to 100% as per target
2026-08-15 15:05:09.741482: Inverter 0 adjust target SoC for charge to 100% based on requested all inverter SoC 100%
2026-08-15 15:05:09.741532: Inverter 0 Current Target SoC is 100%, already at target
2026-08-15 15:05:09.741643: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:05:09.741689: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:05:09.741717: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:05:09.741748: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:05:09.741774: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:05:09.741806: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:05:09.741831: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:05:09.741870: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 15:05:09.741904: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 15:05:09.741935: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 15:05:09.741964: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 15:05:09.741993: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 15:05:09.742024: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 15:05:09.742066: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 15:05:09.742131: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:05:09.742159: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:05:09.742191: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:05:09.742239: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:05:09.742266: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:05:09.742297: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:05:09.742325: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:05:09.742351: Inverter 0 count register writes 0
2026-08-15 15:05:09.766752: Total inverter register writes now 825
2026-08-15 15:05:09.804891: Info: Completed run status Charging
2026-08-15 15:05:09.811756: Info: record_status Charging target 78%-100.0%
2026-08-15 15:05:09.819141: Saved current settings to /config/predbat_config.json
2026-08-15 15:05:09.819509: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 15:05:41.921814: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 15:05:41.922145: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 15:05:41.922217: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 15:05:41.922385: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 15:05:41.922436: Note: Inverter does not support discharge freeze - disabled
2026-08-15 15:05:41.922457: Note: Inverter does not support charge freeze - disabled
2026-08-15 15:05:41.922475: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 15:07:42.143485: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 15:07:42.143810: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 15:07:42.143853: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 15:07:42.144009: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 15:07:42.144051: Note: Inverter does not support discharge freeze - disabled
2026-08-15 15:07:42.144072: Note: Inverter does not support charge freeze - disabled
2026-08-15 15:07:42.144090: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 15:09:42.363567: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 15:09:42.363989: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 15:09:42.364045: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 15:09:42.364209: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 15:09:42.364251: Note: Inverter does not support discharge freeze - disabled
2026-08-15 15:09:42.364273: Note: Inverter does not support charge freeze - disabled
2026-08-15 15:09:42.364295: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 15:10:00.459155: --------------- PredBat - update at 2026-08-15 15:10:00+01:00 with clock skew 0 minutes, minutes now 910
2026-08-15 15:10:00.460975: Saved current settings to /config/predbat_config.json
2026-08-15 15:10:00.461101: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 50.0 minutes
2026-08-15 15:10:00.461161: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.2, latest beta is v8.48.2
2026-08-15 15:10:00.461269: Autoupdate: There is an update pending v8.48.2 PV90 and second pass enabled by default, bug fixes - auto update is off
2026-08-15 15:10:00.482359: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 15:10:00.482486: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 15:10:00.482670: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 15:10:00.483223: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 15:10:00.483357: Predbat mode is set to Control charge & discharge
2026-08-15 15:10:00.708241: Found 21602 load_today datapoints going back 27 days
2026-08-15 15:10:00.708416: Using load_power data to fill gaps in load_today data
2026-08-15 15:10:01.457698: Processing 721 30-minute periods for power integration
2026-08-15 15:10:01.606997: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 15:10:01.607106: Car charging hold False, threshold 6.0kWh
2026-08-15 15:10:01.607143: Current data so far today: load 8.32kWh, import 22.5kWh, export 0.0kWh, PV 0kWh
2026-08-15 15:10:01.619004: Cars: SoC: [11.134]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 15:10:01.619377: Standing charge is set to 49.98p
2026-08-15 15:10:01.659222: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 15:10:01.659292: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 15:10:01.659450: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 270.0 minutes
2026-08-15 15:10:01.659767: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 270.0 minutes
2026-08-15 15:10:01.664619: Loaded 95 datapoints of futurerate analysis
2026-08-15 15:10:01.742427: Predicted future rates: ['08-15 00:00:00 => 28.9 / 20.01', '08-15 01:00:00 => 27.54 / 19.31', '08-15 02:00:00 => 26.52 / 18.8', '08-15 03:00:00 => 25.99 / 18.53', '08-15 04:00:00 => 25.8 / 18.43', '08-15 05:00:00 => 25.96 / 18.51', '08-15 06:00:00 => 25.55 / 18.3', '08-15 07:00:00 => 24.33 / 17.68', '08-15 08:00:00 => 23.03 / 17.01', '08-15 09:00:00 => 22.05 / 16.51', '08-15 10:00:00 => 20.43 / 15.68', '08-15 11:00:00 => 18.01 / 14.45', '08-15 12:00:00 => 16.37 / 13.61', '08-15 13:00:00 => 15.76 / 13.3', '08-15 14:00:00 => 15.35 / 13.09', '08-15 15:00:00 => 15.86 / 13.35', '08-15 16:00:00 => 32.89 / 16.13', '08-15 17:00:00 => 38.02 / 18.75', '08-15 18:00:00 => 42.36 / 20.96', '08-15 19:00:00 => 31.09 / 21.13', '08-15 20:00:00 => 31.64 / 21.41', '08-15 21:00:00 => 31.64 / 21.41', '08-15 22:00:00 => 30.58 / 20.87', '08-15 23:00:00 => 29.37 / 20.25', '08-16 00:00:00 => 28.83 / 19.97', '08-16 01:00:00 => 27.73 / 19.41', '08-16 02:00:00 => 26.76 / 18.92', '08-16 03:00:00 => 26.39 / 18.73', '08-16 04:00:00 => 26.33 / 18.7', '08-16 05:00:00 => 26.23 / 18.65', '08-16 06:00:00 => 25.99 / 18.53', '08-16 07:00:00 => 25.64 / 18.35', '08-16 08:00:00 => 24.84 / 17.94', '08-16 09:00:00 => 24.26 / 17.64', '08-16 10:00:00 => 24.8 / 17.92', '08-16 11:00:00 => 24.71 / 17.87', '08-16 12:00:00 => 23.79 / 17.4', '08-16 13:00:00 => 23.14 / 17.07', '08-16 14:00:00 => 22.01 / 16.49']
2026-08-15 15:10:01.791591: Rate min forward looking: now 15.02p at end of forecast 21.29p
2026-08-15 15:10:01.792038: Import rates: min 15.02p, max 46.05p, average 28.24p
2026-08-15 15:10:01.826651: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 15:10:01.826744: Rate thresholds (for charge/export) are import 45.55p (0.0p), export -0.1p (0.0p)
2026-08-15 15:10:01.827732: High export rate found rates in range 99p to -99p
2026-08-15 15:10:01.907022: Low Import rate found rates in range 15.02p to 44.19p
2026-08-15 15:10:01.907123: Car 0 charging is not planned as it is not plugged in
2026-08-15 15:10:01.918744: Battery level now 12.46kWh, -1hr ago 8.28kWh, at midnight 1.66kWh, battery value change in the last hour 53.97p, change today 139.42p, rate_forward 12.9p
2026-08-15 15:10:01.919087: Last hour: net energy 4.75kWh, import 4.75kWh, export 0.0kWh, car 0kWh, load 0.24kWh, net cost 67.29p, import 67.29p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 15:10:01.967303: Today's energy total net 22.5kWh, import 22.5kWh, export 0.0kWh, cost 480.01p, import 430.03p, export 0.0p, carbon 0.0kg
2026-08-15 15:10:01.967426: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 15:10:02.040283: Using weighted-bucket historical load forecast over 14 days
2026-08-15 15:10:02.064189: Today's load divergence 94.02%, in-day adjustment 112.52%, damping 0.95x, yesterday 143.77% today 94.32% blend 36.81%
2026-08-15 15:10:02.064269: Today's predicted so far 9.29kWh with 0.0kWh car/iBoost excluded, 16.15kWh import ignored, and 9.29kWh forecast extra.
2026-08-15 15:10:02.064294: Today's actual load so far 8.43kWh with 0.0kWh car/iBoost excluded, and 16.15kWh import ignored.
2026-08-15 15:10:02.097165: Inverter 0: Type SK Sunsynk
2026-08-15 15:10:02.097241: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 15:10:02.097391: Reserve min: 7%, battery_min: 7%
2026-08-15 15:10:02.097446: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 15:10:02.097670: Inverter 0 SoC: 12.46kW 78%, current charge rate 5000W, current discharge rate 5250W, current battery power -4553W, current battery voltage 51.2V, grid power -5260W, load power 266W, PV Power 0W
2026-08-15 15:10:02.097800: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 15:10:02.097871: Inverter 0 scheduled charge enable is True
2026-08-15 15:10:02.097925: Inverter 0 charge windows currently [{'start': 630, 'end': 960, 'average': 0}, {'start': 2070, 'end': 2400, 'average': 0}, {'start': 3510, 'end': 3840, 'average': 0}]
2026-08-15 15:10:02.098001: Inverter 0 Charge settings: 08-15 10:30:00-08-15 16:00:00, limit 100.0%, power 5.0kW
2026-08-15 15:10:02.098101: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 15:10:02.098126: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 15:10:02.098154: Inverter 0 scheduled discharge enable is False
2026-08-15 15:10:02.098251: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 15:10:02.098281: Inverter 0 discharge windows currently []
2026-08-15 15:10:02.098300: Note: Inverter does not support discharge freeze - disabled
2026-08-15 15:10:02.098314: Note: Inverter does not support charge freeze - disabled
2026-08-15 15:10:02.098328: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 15:10:02.149764: Dynamic load last period 0.20kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 15:10:02.149858: Plan was last updated on 2026-08-15 15:05:00+01:00 and is now 5.0 minutes old
2026-08-15 15:10:02.150030: Best charge window [ 15-08 15:00:00 - 15-08 16:00:00 @ 15.45p 100%, 16-08 15:30:00 - 16-08 18:30:00 @ 41.95p 100%, 16-08 19:00:00 - 17-08 15:30:00 @ 21.97p 100% ]
2026-08-15 15:10:02.150065: Best export window [  ]
2026-08-15 15:10:02.150729: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 15:10:02.153304: Load divergence over 8.0 hours mean 449.18W, min 291.6W, max 1201.8W, std dev 161.98W, divergence 18.03%
2026-08-15 15:10:02.168722: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 15:10:02.168845: LoadML is_calculating False
2026-08-15 15:10:02.168915: Creating pool of 12 processes to match your CPU count
2026-08-15 15:10:02.275199: predict base end_record 08-16 15:35:00, final soc 16.0kWh, metric 1032.24p, metric_keep 0kWh, min_soc 2.7kWh @ 08-16 10:25:00, load 25.1kWh, PV 0.0kWh
2026-08-15 15:10:02.387644: Battery has 48.0 hours left - now at 12.46kWh
2026-08-15 15:10:02.430343: predict base10 end_record 08-16 15:35:00, final soc 16.0kWh, metric 1051.14p, metric_keep 0kWh, min_soc 1.78kWh @ 08-16 10:25:00, load 25.9kWh, PV 0.0kWh
2026-08-15 15:10:02.513508: predict best10 end_record 08-16 15:35:00, final soc 1.44kWh, metric 679.93p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 11:15:00, load 25.9kWh, PV 0.0kWh
2026-08-15 15:10:02.597638: predict best end_record 08-16 15:35:00, final soc 1.51kWh, metric 660.74p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 12:05:00, load 25.1kWh, PV 0.0kWh
2026-08-15 15:10:02.597726: Saving plan best values to HA entities
2026-08-15 15:10:02.752807: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0
2026-08-15 15:10:02.758161: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 15:10:02.763522: Best charging limit SoC's [16.0, 16.0, 16.0]kWh, export []kWh gives import battery 4.82kWh, house 2.32kWh, export 0.0kWh, metric 660.74p, metric10 679.93p
2026-08-15 15:10:02.838713: Marginal costs baseline metric (no standing charge): 610.7616
2026-08-15 15:10:03.062633: Marginal energy costs matrix computed: min=16.91 max=32.18
2026-08-15 15:10:03.128106: Rate array import [{'start': 910, 'end': 960, 'rate': 'cheap', 'range': '(15.0p - 15.9p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1920, 'rate': 'expensive', 'range': '(25.4p - 32.9p)'}, {'start': 1920, 'end': 2070, 'rate': 'cheap', 'range': '(24.2p - 24.8p)'}, {'start': 2070, 'end': 2100, 'rate': 'expensive', 'range': '(25.4p)'}, {'start': 2100, 'end': 2375, 'rate': 'cheap', 'range': '(21.3p - 24.7p)'}] export [{'start': 910, 'end': 2375, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 15:10:03.128519: - Your estimated bill for today is £5.48 and tomorrow is £8.93
2026-08-15 15:10:03.128556: - Import rates are cheap (15.0p - 15.9p) for the next 50 minutes and then expensive (33.1p) for the next 1 hour.
2026-08-15 15:10:03.128574: - The battery is currently at 78% and is charging to 100% for the next 50 minutes.
2026-08-15 15:10:03.128589: - For the next 48 hours there will be no solar generation.
2026-08-15 15:10:03.128602: - You will run out of battery in 20 hours.
2026-08-15 15:10:03.128617: 
2026-08-15 15:10:03.180591: Plan calculation took 1.03 seconds
2026-08-15 15:10:03.186490: No high rate period found
2026-08-15 15:10:03.238805: Import threshold used for optimisation was 15.87p
2026-08-15 15:10:03.287055: Low import rate windows [0: 08-15 15:00:00 - 08-15 15:30:00 @ 15.02, 1: 08-15 15:30:00 - 08-15 16:00:00 @ 15.87, 2: 08-15 16:00:00 - 08-15 16:30:00 @ 33.13, 3: 08-15 16:30:00 - 08-15 17:00:00 @ 33.13, 4: 08-15 17:00:00 - 08-15 17:30:00 @ 38.46, 5: 08-15 17:30:00 - 08-15 18:00:00 @ 40.44, 6: 08-15 18:00:00 - 08-15 18:30:00 @ 41.55, 7: 08-15 18:30:00 - 08-15 19:00:00 @ 43.82, 8: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 9: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 10: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 11: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 12: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 13: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 14: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 15: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 16: 08-15 23:00:00 - 08-15 23:30:00 @ 29.37, 17: 08-15 23:30:00 - 08-16 00:00:00 @ 29.2, 18: 08-16 00:00:00 - 08-16 00:30:00 @ 28.83, 19: 08-16 00:30:00 - 08-16 01:00:00 @ 28.46, 20: 08-16 01:00:00 - 08-16 01:30:00 @ 27.73, 21: 08-16 01:30:00 - 08-16 02:00:00 @ 27.01, 22: 08-16 02:00:00 - 08-16 02:30:00 @ 26.76, 23: 08-16 02:30:00 - 08-16 03:00:00 @ 26.48, 24: 08-16 03:00:00 - 08-16 03:30:00 @ 26.39, 25: 08-16 03:30:00 - 08-16 04:00:00 @ 26.27, 26: 08-16 04:00:00 - 08-16 04:30:00 @ 26.33, 27: 08-16 04:30:00 - 08-16 05:00:00 @ 26.37, 28: 08-16 05:00:00 - 08-16 05:30:00 @ 26.23, 29: 08-16 05:30:00 - 08-16 06:00:00 @ 26.07, 30: 08-16 06:00:00 - 08-16 06:30:00 @ 25.99, 31: 08-16 06:30:00 - 08-16 07:00:00 @ 25.92, 32: 08-16 07:00:00 - 08-16 07:30:00 @ 25.64, 33: 08-16 07:30:00 - 08-16 08:00:00 @ 25.39, 34: 08-16 08:00:00 - 08-16 08:30:00 @ 24.84, 35: 08-16 08:30:00 - 08-16 09:00:00 @ 24.28, 36: 08-16 09:00:00 - 08-16 09:30:00 @ 24.26, 37: 08-16 09:30:00 - 08-16 10:00:00 @ 24.22, 38: 08-16 10:00:00 - 08-16 10:30:00 @ 24.8, 39: 08-16 10:30:00 - 08-16 11:00:00 @ 25.37, 40: 08-16 11:00:00 - 08-16 11:30:00 @ 24.71, 41: 08-16 11:30:00 - 08-16 12:00:00 @ 24.02, 42: 08-16 12:00:00 - 08-16 12:30:00 @ 23.79, 43: 08-16 12:30:00 - 08-16 13:00:00 @ 23.55, 44: 08-16 13:00:00 - 08-16 13:30:00 @ 23.14, 45: 08-16 13:30:00 - 08-16 14:00:00 @ 22.71, 46: 08-16 14:00:00 - 08-16 14:30:00 @ 22.01, 47: 08-16 14:30:00 - 08-16 15:00:00 @ 21.29, 48: 08-16 15:00:00 - 08-16 15:30:00 @ 22.01, 49: 08-16 15:30:00 - 08-16 16:00:00 @ 22.71, 50: 08-16 16:00:00 - 08-16 16:30:00 @ 37.14, 51: 08-16 16:30:00 - 08-16 17:00:00 @ 37.91, 52: 08-16 17:00:00 - 08-16 17:30:00 @ 40.13, 53: 08-16 17:30:00 - 08-16 18:00:00 @ 42.36, 54: 08-16 18:00:00 - 08-16 18:30:00 @ 44.19, 55: 08-16 19:00:00 - 08-16 19:30:00 @ 33.04, 56: 08-16 19:30:00 - 08-16 20:00:00 @ 33.71, 57: 08-16 20:00:00 - 08-16 20:30:00 @ 33.83, 58: 08-16 20:30:00 - 08-16 21:00:00 @ 33.94, 59: 08-16 21:00:00 - 08-16 21:30:00 @ 33.73, 60: 08-16 21:30:00 - 08-16 22:00:00 @ 33.53, 61: 08-16 22:00:00 - 08-16 22:30:00 @ 32.36, 62: 08-16 22:30:00 - 08-16 23:00:00 @ 31.17, 63: 08-16 23:00:00 - 08-16 23:30:00 @ 29.37, 64: 08-16 23:30:00 - 08-17 00:00:00 @ 29.2, 65: 08-17 00:00:00 - 08-17 00:30:00 @ 28.83, 66: 08-17 00:30:00 - 08-17 01:00:00 @ 28.46, 67: 08-17 01:00:00 - 08-17 01:30:00 @ 27.73, 68: 08-17 01:30:00 - 08-17 02:00:00 @ 27.01, 69: 08-17 02:00:00 - 08-17 02:30:00 @ 26.76, 70: 08-17 02:30:00 - 08-17 03:00:00 @ 26.48, 71: 08-17 03:00:00 - 08-17 03:30:00 @ 26.39, 72: 08-17 03:30:00 - 08-17 04:00:00 @ 26.27, 73: 08-17 04:00:00 - 08-17 04:30:00 @ 26.33, 74: 08-17 04:30:00 - 08-17 05:00:00 @ 26.37, 75: 08-17 05:00:00 - 08-17 05:30:00 @ 26.23, 76: 08-17 05:30:00 - 08-17 06:00:00 @ 26.07, 77: 08-17 06:00:00 - 08-17 06:30:00 @ 25.99, 78: 08-17 06:30:00 - 08-17 07:00:00 @ 25.92, 79: 08-17 07:00:00 - 08-17 07:30:00 @ 25.64, 80: 08-17 07:30:00 - 08-17 08:00:00 @ 25.39, 81: 08-17 08:00:00 - 08-17 08:30:00 @ 24.84, 82: 08-17 08:30:00 - 08-17 09:00:00 @ 24.28, 83: 08-17 09:00:00 - 08-17 09:30:00 @ 24.26, 84: 08-17 09:30:00 - 08-17 10:00:00 @ 24.22, 85: 08-17 10:00:00 - 08-17 10:30:00 @ 24.8, 86: 08-17 10:30:00 - 08-17 11:00:00 @ 25.37, 87: 08-17 11:00:00 - 08-17 11:30:00 @ 24.71, 88: 08-17 11:30:00 - 08-17 12:00:00 @ 24.02, 89: 08-17 12:00:00 - 08-17 12:30:00 @ 23.79, 90: 08-17 12:30:00 - 08-17 13:00:00 @ 23.55, 91: 08-17 13:00:00 - 08-17 13:30:00 @ 23.14, 92: 08-17 13:30:00 - 08-17 14:00:00 @ 22.71, 93: 08-17 14:00:00 - 08-17 14:30:00 @ 22.01, 94: 08-17 14:30:00 - 08-17 15:00:00 @ 21.29, 95: 08-17 15:00:00 - 08-17 15:30:00 @ 22.01]
2026-08-15 15:10:03.294488: Include original charge start 08-15 10:30:00, keeping this instead of new start 08-15 15:00:00
2026-08-15 15:10:03.294598: Inverter 0 Charge window will be: 2026-08-15 10:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 78%, target 100%
2026-08-15 15:10:03.294785: Inverter 0 Target SoC 100%, (this inverter 100%), battery temperature 20°C, select charge rate 5000W (real 5000W), current charge rate 5000W
2026-08-15 15:10:03.295042: Adjust idle time, charge 10:30:00-16:00:00 discharge 00:00:00-00:00:00
2026-08-15 15:10:03.295310: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 15:10:03.295411: No export window planned
2026-08-15 15:10:03.295567: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 15:10:03.295623: Adjust idle time, charge 10:30:00-16:00:00 discharge 00:00:00-00:00:00
2026-08-15 15:10:03.295786: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 15:10:03.295940: Inverter 0 setting charging SoC to 100% as per target
2026-08-15 15:10:03.295986: Inverter 0 adjust target SoC for charge to 100% based on requested all inverter SoC 100%
2026-08-15 15:10:03.296064: Inverter 0 Current Target SoC is 100%, already at target
2026-08-15 15:10:03.296212: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:10:03.296259: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:10:03.296294: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:10:03.296338: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:10:03.296385: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:10:03.296427: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:10:03.296477: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:10:03.296548: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 15:10:03.296601: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 15:10:03.296647: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 15:10:03.296691: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 15:10:03.296735: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 15:10:03.296774: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 15:10:03.296815: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 15:10:03.296926: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:10:03.296998: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:10:03.297036: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:10:03.297076: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:10:03.297116: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:10:03.297166: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:10:03.297211: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:10:03.297247: Inverter 0 count register writes 0
2026-08-15 15:10:03.311859: Will not recompute the plan, it is 5.0 minutes old and max age is 10 minutes
2026-08-15 15:10:03.316697: Total inverter register writes now 825
2026-08-15 15:10:03.346027: Info: Completed run status Charging
2026-08-15 15:10:03.352316: Info: record_status Charging target 78%-100.0%
2026-08-15 15:10:03.358426: Saved current settings to /config/predbat_config.json
2026-08-15 15:10:03.358794: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 15:10:42.466650: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 15:10:42.466954: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 15:10:42.467000: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 15:10:42.467153: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 15:10:42.467197: Note: Inverter does not support discharge freeze - disabled
2026-08-15 15:10:42.467219: Note: Inverter does not support charge freeze - disabled
2026-08-15 15:10:42.467236: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 15:12:56.708767: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 15:12:56.709094: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 15:12:56.709170: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 15:12:56.709351: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 15:12:56.709414: Note: Inverter does not support discharge freeze - disabled
2026-08-15 15:12:56.709447: Note: Inverter does not support charge freeze - disabled
2026-08-15 15:12:56.709465: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 15:14:56.940473: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 15:14:56.940876: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 15:14:56.940986: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 15:14:56.941261: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 15:14:56.941309: Note: Inverter does not support discharge freeze - disabled
2026-08-15 15:14:56.941332: Note: Inverter does not support charge freeze - disabled
2026-08-15 15:14:56.941350: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 15:15:00.039658: --------------- PredBat - update at 2026-08-15 15:15:00+01:00 with clock skew 0 minutes, minutes now 915
2026-08-15 15:15:00.040387: Saved current settings to /config/predbat_config.json
2026-08-15 15:15:00.040507: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 55.0 minutes
2026-08-15 15:15:00.040615: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.2, latest beta is v8.48.2
2026-08-15 15:15:00.040714: Autoupdate: There is an update pending v8.48.2 PV90 and second pass enabled by default, bug fixes - auto update is off
2026-08-15 15:15:00.063051: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 15:15:00.063190: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 15:15:00.063401: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 15:15:00.063999: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 15:15:00.064124: Predbat mode is set to Control charge & discharge
2026-08-15 15:15:00.263374: Found 21602 load_today datapoints going back 27 days
2026-08-15 15:15:00.263554: Using load_power data to fill gaps in load_today data
2026-08-15 15:15:01.154856: Processing 721 30-minute periods for power integration
2026-08-15 15:15:01.348881: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 15:15:01.349082: Car charging hold False, threshold 6.0kWh
2026-08-15 15:15:01.349135: Current data so far today: load 8.33kWh, import 22.5kWh, export 0.0kWh, PV 0kWh
2026-08-15 15:15:01.365655: Cars: SoC: [11.134]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 15:15:01.366142: Standing charge is set to 49.98p
2026-08-15 15:15:01.413881: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 15:15:01.414004: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 15:15:01.414258: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 275.0 minutes
2026-08-15 15:15:01.414737: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 275.0 minutes
2026-08-15 15:15:01.421839: Loaded 95 datapoints of futurerate analysis
2026-08-15 15:15:01.516863: Predicted future rates: ['08-15 00:00:00 => 28.9 / 20.01', '08-15 01:00:00 => 27.54 / 19.31', '08-15 02:00:00 => 26.52 / 18.8', '08-15 03:00:00 => 25.99 / 18.53', '08-15 04:00:00 => 25.8 / 18.43', '08-15 05:00:00 => 25.96 / 18.51', '08-15 06:00:00 => 25.55 / 18.3', '08-15 07:00:00 => 24.33 / 17.68', '08-15 08:00:00 => 23.03 / 17.01', '08-15 09:00:00 => 22.05 / 16.51', '08-15 10:00:00 => 20.43 / 15.68', '08-15 11:00:00 => 18.01 / 14.45', '08-15 12:00:00 => 16.37 / 13.61', '08-15 13:00:00 => 15.76 / 13.3', '08-15 14:00:00 => 15.35 / 13.09', '08-15 15:00:00 => 15.86 / 13.35', '08-15 16:00:00 => 32.89 / 16.13', '08-15 17:00:00 => 38.02 / 18.75', '08-15 18:00:00 => 42.36 / 20.96', '08-15 19:00:00 => 31.09 / 21.13', '08-15 20:00:00 => 31.64 / 21.41', '08-15 21:00:00 => 31.64 / 21.41', '08-15 22:00:00 => 30.58 / 20.87', '08-15 23:00:00 => 29.37 / 20.25', '08-16 00:00:00 => 28.83 / 19.97', '08-16 01:00:00 => 27.73 / 19.41', '08-16 02:00:00 => 26.76 / 18.92', '08-16 03:00:00 => 26.39 / 18.73', '08-16 04:00:00 => 26.33 / 18.7', '08-16 05:00:00 => 26.23 / 18.65', '08-16 06:00:00 => 25.99 / 18.53', '08-16 07:00:00 => 25.64 / 18.35', '08-16 08:00:00 => 24.84 / 17.94', '08-16 09:00:00 => 24.26 / 17.64', '08-16 10:00:00 => 24.8 / 17.92', '08-16 11:00:00 => 24.71 / 17.87', '08-16 12:00:00 => 23.79 / 17.4', '08-16 13:00:00 => 23.14 / 17.07', '08-16 14:00:00 => 22.01 / 16.49']
2026-08-15 15:15:01.581012: Rate min forward looking: now 15.02p at end of forecast 21.29p
2026-08-15 15:15:01.581426: Import rates: min 15.02p, max 46.05p, average 28.25p
2026-08-15 15:15:01.623565: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 15:15:01.623687: Rate thresholds (for charge/export) are import 45.55p (0.0p), export -0.1p (0.0p)
2026-08-15 15:15:01.625084: High export rate found rates in range 99p to -99p
2026-08-15 15:15:01.724074: Low Import rate found rates in range 15.02p to 44.19p
2026-08-15 15:15:01.724211: Car 0 charging is not planned as it is not plugged in
2026-08-15 15:15:01.737044: Battery level now 12.46kWh, -1hr ago 8.63kWh, at midnight 1.66kWh, battery value change in the last hour 49.43p, change today 139.42p, rate_forward 12.9p
2026-08-15 15:15:01.737461: Last hour: net energy 4.3kWh, import 4.3kWh, export 0.0kWh, car 0kWh, load 0.23kWh, net cost 60.73p, import 60.73p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 15:15:01.790613: Today's energy total net 22.5kWh, import 22.5kWh, export 0.0kWh, cost 480.01p, import 430.03p, export 0.0p, carbon 0.0kg
2026-08-15 15:15:01.790753: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 15:15:01.877643: Using weighted-bucket historical load forecast over 14 days
2026-08-15 15:15:01.906889: Today's load divergence 93.6%, in-day adjustment 112.09%, damping 0.95x, yesterday 143.77% today 93.92% blend 36.46%
2026-08-15 15:15:01.907012: Today's predicted so far 9.31kWh with 0.0kWh car/iBoost excluded, 16.13kWh import ignored, and 9.31kWh forecast extra.
2026-08-15 15:15:01.907044: Today's actual load so far 8.39kWh with 0.0kWh car/iBoost excluded, and 16.13kWh import ignored.
2026-08-15 15:15:01.949028: Inverter 0: Type SK Sunsynk
2026-08-15 15:15:01.949121: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 15:15:01.949309: Reserve min: 7%, battery_min: 7%
2026-08-15 15:15:01.949388: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 15:15:01.949718: Inverter 0 SoC: 12.81kW 80%, current charge rate 5000W, current discharge rate 5250W, current battery power -4556W, current battery voltage 51.2V, grid power -5216W, load power 220W, PV Power 0W
2026-08-15 15:15:01.949905: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 15:15:01.949996: Inverter 0 scheduled charge enable is True
2026-08-15 15:15:01.950041: Inverter 0 charge windows currently [{'start': 630, 'end': 960, 'average': 0}, {'start': 2070, 'end': 2400, 'average': 0}, {'start': 3510, 'end': 3840, 'average': 0}]
2026-08-15 15:15:01.950136: Inverter 0 Charge settings: 08-15 10:30:00-08-15 16:00:00, limit 100.0%, power 5.0kW
2026-08-15 15:15:01.950257: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 15:15:01.950293: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 15:15:01.950328: Inverter 0 scheduled discharge enable is False
2026-08-15 15:15:01.950448: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 15:15:01.950491: Inverter 0 discharge windows currently []
2026-08-15 15:15:01.950514: Note: Inverter does not support discharge freeze - disabled
2026-08-15 15:15:01.950532: Note: Inverter does not support charge freeze - disabled
2026-08-15 15:15:01.950550: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 15:15:02.010345: Dynamic load last period 0.20kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 15:15:02.010454: Plan was last updated on 2026-08-15 15:05:00+01:00 and is now 10.0 minutes old
2026-08-15 15:15:02.010709: Best charge window [ 15-08 15:00:00 - 15-08 16:00:00 @ 15.45p 100%, 16-08 15:30:00 - 16-08 18:30:00 @ 41.95p 100%, 16-08 19:00:00 - 17-08 15:30:00 @ 21.97p 100% ]
2026-08-15 15:15:02.010758: Best export window [  ]
2026-08-15 15:15:02.011668: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 15:15:02.014782: Load divergence over 8.0 hours mean 447.62W, min 290.4W, max 1344.6W, std dev 165.79W, divergence 18.52%
2026-08-15 15:15:02.033412: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 15:15:02.033591: LoadML is_calculating False
2026-08-15 15:15:02.033715: Creating pool of 12 processes to match your CPU count
2026-08-15 15:15:02.159497: predict base end_record 08-16 15:40:00, final soc 16.0kWh, metric 1026.35p, metric_keep 0kWh, min_soc 2.71kWh @ 08-16 10:25:00, load 25.08kWh, PV 0.0kWh
2026-08-15 15:15:02.291913: Battery has 48.0 hours left - now at 12.81kWh
2026-08-15 15:15:02.338764: predict base10 end_record 08-16 15:40:00, final soc 16.0kWh, metric 1045.09p, metric_keep 0kWh, min_soc 1.8kWh @ 08-16 10:25:00, load 25.88kWh, PV 0.0kWh
2026-08-15 15:15:02.417020: predict best10 end_record 08-16 15:40:00, final soc 1.77kWh, metric 681.79p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 11:15:00, load 25.88kWh, PV 0.0kWh
2026-08-15 15:15:02.508299: predict best end_record 08-16 15:40:00, final soc 1.9kWh, metric 664.36p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 12:05:00, load 25.08kWh, PV 0.0kWh
2026-08-15 15:15:02.508421: Saving plan best values to HA entities
2026-08-15 15:15:02.674568: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0
2026-08-15 15:15:02.680253: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 15:15:02.686014: Best charging limit SoC's [16.0, 16.0, 16.0]kWh, export []kWh gives import battery 4.83kWh, house 2.32kWh, export 0.0kWh, metric 664.36p, metric10 681.79p
2026-08-15 15:15:02.763119: Marginal costs baseline metric (no standing charge): 614.3734
2026-08-15 15:15:03.032025: Marginal energy costs matrix computed: min=17.66 max=32.33
2026-08-15 15:15:03.108931: Rate array import [{'start': 915, 'end': 960, 'rate': 'cheap', 'range': '(15.0p - 15.9p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1920, 'rate': 'expensive', 'range': '(25.4p - 32.9p)'}, {'start': 1920, 'end': 2070, 'rate': 'cheap', 'range': '(24.2p - 24.8p)'}, {'start': 2070, 'end': 2100, 'rate': 'expensive', 'range': '(25.4p)'}, {'start': 2100, 'end': 2380, 'rate': 'cheap', 'range': '(21.3p - 24.7p)'}] export [{'start': 915, 'end': 2380, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 15:15:03.109504: - Your estimated bill for today is £5.41 and tomorrow is £8.94
2026-08-15 15:15:03.109564: - Import rates are cheap (15.0p - 15.9p) for the next 45 minutes and then expensive (33.1p) for the next 1 hour.
2026-08-15 15:15:03.109606: - The battery is currently at 80% and is charging to 100% for the next 45 minutes.
2026-08-15 15:15:03.109642: - For the next 48 hours there will be no solar generation.
2026-08-15 15:15:03.109675: - You will run out of battery in 20 hours.
2026-08-15 15:15:03.109708: 
2026-08-15 15:15:03.162778: Plan calculation took 1.15 seconds
2026-08-15 15:15:03.166447: No high rate period found
2026-08-15 15:15:03.217603: Import threshold used for optimisation was 15.87p
2026-08-15 15:15:03.276153: Low import rate windows [0: 08-15 15:00:00 - 08-15 15:30:00 @ 15.02, 1: 08-15 15:30:00 - 08-15 16:00:00 @ 15.87, 2: 08-15 16:00:00 - 08-15 16:30:00 @ 33.13, 3: 08-15 16:30:00 - 08-15 17:00:00 @ 33.13, 4: 08-15 17:00:00 - 08-15 17:30:00 @ 38.46, 5: 08-15 17:30:00 - 08-15 18:00:00 @ 40.44, 6: 08-15 18:00:00 - 08-15 18:30:00 @ 41.55, 7: 08-15 18:30:00 - 08-15 19:00:00 @ 43.82, 8: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 9: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 10: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 11: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 12: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 13: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 14: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 15: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 16: 08-15 23:00:00 - 08-15 23:30:00 @ 29.37, 17: 08-15 23:30:00 - 08-16 00:00:00 @ 29.2, 18: 08-16 00:00:00 - 08-16 00:30:00 @ 28.83, 19: 08-16 00:30:00 - 08-16 01:00:00 @ 28.46, 20: 08-16 01:00:00 - 08-16 01:30:00 @ 27.73, 21: 08-16 01:30:00 - 08-16 02:00:00 @ 27.01, 22: 08-16 02:00:00 - 08-16 02:30:00 @ 26.76, 23: 08-16 02:30:00 - 08-16 03:00:00 @ 26.48, 24: 08-16 03:00:00 - 08-16 03:30:00 @ 26.39, 25: 08-16 03:30:00 - 08-16 04:00:00 @ 26.27, 26: 08-16 04:00:00 - 08-16 04:30:00 @ 26.33, 27: 08-16 04:30:00 - 08-16 05:00:00 @ 26.37, 28: 08-16 05:00:00 - 08-16 05:30:00 @ 26.23, 29: 08-16 05:30:00 - 08-16 06:00:00 @ 26.07, 30: 08-16 06:00:00 - 08-16 06:30:00 @ 25.99, 31: 08-16 06:30:00 - 08-16 07:00:00 @ 25.92, 32: 08-16 07:00:00 - 08-16 07:30:00 @ 25.64, 33: 08-16 07:30:00 - 08-16 08:00:00 @ 25.39, 34: 08-16 08:00:00 - 08-16 08:30:00 @ 24.84, 35: 08-16 08:30:00 - 08-16 09:00:00 @ 24.28, 36: 08-16 09:00:00 - 08-16 09:30:00 @ 24.26, 37: 08-16 09:30:00 - 08-16 10:00:00 @ 24.22, 38: 08-16 10:00:00 - 08-16 10:30:00 @ 24.8, 39: 08-16 10:30:00 - 08-16 11:00:00 @ 25.37, 40: 08-16 11:00:00 - 08-16 11:30:00 @ 24.71, 41: 08-16 11:30:00 - 08-16 12:00:00 @ 24.02, 42: 08-16 12:00:00 - 08-16 12:30:00 @ 23.79, 43: 08-16 12:30:00 - 08-16 13:00:00 @ 23.55, 44: 08-16 13:00:00 - 08-16 13:30:00 @ 23.14, 45: 08-16 13:30:00 - 08-16 14:00:00 @ 22.71, 46: 08-16 14:00:00 - 08-16 14:30:00 @ 22.01, 47: 08-16 14:30:00 - 08-16 15:00:00 @ 21.29, 48: 08-16 15:00:00 - 08-16 15:30:00 @ 22.01, 49: 08-16 15:30:00 - 08-16 16:00:00 @ 22.71, 50: 08-16 16:00:00 - 08-16 16:30:00 @ 37.14, 51: 08-16 16:30:00 - 08-16 17:00:00 @ 37.91, 52: 08-16 17:00:00 - 08-16 17:30:00 @ 40.13, 53: 08-16 17:30:00 - 08-16 18:00:00 @ 42.36, 54: 08-16 18:00:00 - 08-16 18:30:00 @ 44.19, 55: 08-16 19:00:00 - 08-16 19:30:00 @ 33.04, 56: 08-16 19:30:00 - 08-16 20:00:00 @ 33.71, 57: 08-16 20:00:00 - 08-16 20:30:00 @ 33.83, 58: 08-16 20:30:00 - 08-16 21:00:00 @ 33.94, 59: 08-16 21:00:00 - 08-16 21:30:00 @ 33.73, 60: 08-16 21:30:00 - 08-16 22:00:00 @ 33.53, 61: 08-16 22:00:00 - 08-16 22:30:00 @ 32.36, 62: 08-16 22:30:00 - 08-16 23:00:00 @ 31.17, 63: 08-16 23:00:00 - 08-16 23:30:00 @ 29.37, 64: 08-16 23:30:00 - 08-17 00:00:00 @ 29.2, 65: 08-17 00:00:00 - 08-17 00:30:00 @ 28.83, 66: 08-17 00:30:00 - 08-17 01:00:00 @ 28.46, 67: 08-17 01:00:00 - 08-17 01:30:00 @ 27.73, 68: 08-17 01:30:00 - 08-17 02:00:00 @ 27.01, 69: 08-17 02:00:00 - 08-17 02:30:00 @ 26.76, 70: 08-17 02:30:00 - 08-17 03:00:00 @ 26.48, 71: 08-17 03:00:00 - 08-17 03:30:00 @ 26.39, 72: 08-17 03:30:00 - 08-17 04:00:00 @ 26.27, 73: 08-17 04:00:00 - 08-17 04:30:00 @ 26.33, 74: 08-17 04:30:00 - 08-17 05:00:00 @ 26.37, 75: 08-17 05:00:00 - 08-17 05:30:00 @ 26.23, 76: 08-17 05:30:00 - 08-17 06:00:00 @ 26.07, 77: 08-17 06:00:00 - 08-17 06:30:00 @ 25.99, 78: 08-17 06:30:00 - 08-17 07:00:00 @ 25.92, 79: 08-17 07:00:00 - 08-17 07:30:00 @ 25.64, 80: 08-17 07:30:00 - 08-17 08:00:00 @ 25.39, 81: 08-17 08:00:00 - 08-17 08:30:00 @ 24.84, 82: 08-17 08:30:00 - 08-17 09:00:00 @ 24.28, 83: 08-17 09:00:00 - 08-17 09:30:00 @ 24.26, 84: 08-17 09:30:00 - 08-17 10:00:00 @ 24.22, 85: 08-17 10:00:00 - 08-17 10:30:00 @ 24.8, 86: 08-17 10:30:00 - 08-17 11:00:00 @ 25.37, 87: 08-17 11:00:00 - 08-17 11:30:00 @ 24.71, 88: 08-17 11:30:00 - 08-17 12:00:00 @ 24.02, 89: 08-17 12:00:00 - 08-17 12:30:00 @ 23.79, 90: 08-17 12:30:00 - 08-17 13:00:00 @ 23.55, 91: 08-17 13:00:00 - 08-17 13:30:00 @ 23.14, 92: 08-17 13:30:00 - 08-17 14:00:00 @ 22.71, 93: 08-17 14:00:00 - 08-17 14:30:00 @ 22.01, 94: 08-17 14:30:00 - 08-17 15:00:00 @ 21.29, 95: 08-17 15:00:00 - 08-17 15:30:00 @ 22.01]
2026-08-15 15:15:03.288330: Include original charge start 08-15 10:30:00, keeping this instead of new start 08-15 15:00:00
2026-08-15 15:15:03.289047: Inverter 0 Charge window will be: 2026-08-15 10:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 80%, target 100%
2026-08-15 15:15:03.289297: Inverter 0 Target SoC 100%, (this inverter 100%), battery temperature 20°C, select charge rate 5000W (real 5000W), current charge rate 5000W
2026-08-15 15:15:03.289579: Adjust idle time, charge 10:30:00-16:00:00 discharge 00:00:00-00:00:00
2026-08-15 15:15:03.289931: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 15:15:03.290079: No export window planned
2026-08-15 15:15:03.290286: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 15:15:03.290342: Adjust idle time, charge 10:30:00-16:00:00 discharge 00:00:00-00:00:00
2026-08-15 15:15:03.290548: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 15:15:03.290741: Inverter 0 setting charging SoC to 100% as per target
2026-08-15 15:15:03.290859: Inverter 0 adjust target SoC for charge to 100% based on requested all inverter SoC 100%
2026-08-15 15:15:03.291001: Inverter 0 Current Target SoC is 100%, already at target
2026-08-15 15:15:03.291168: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:15:03.291236: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:15:03.291285: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:15:03.291361: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:15:03.291393: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:15:03.291430: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:15:03.291466: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:15:03.291537: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 15:15:03.291574: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 15:15:03.291605: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 15:15:03.291632: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 15:15:03.291667: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 15:15:03.291696: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 15:15:03.291724: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 15:15:03.291793: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:15:03.291855: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:15:03.291886: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:15:03.291914: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:15:03.291944: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:15:03.291971: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:15:03.292002: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:15:03.292024: Inverter 0 count register writes 0
2026-08-15 15:15:03.309408: Will recompute the plan as it is now 10.0 minutes old and will exceed the max age of 10 minutes before the next run
2026-08-15 15:15:03.309631: Recompute is saving previous plan...
2026-08-15 15:15:03.312941: Best charge window [ 15-08 15:00:00 - 15-08 15:30:00 @ 15.02p 100%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 100%, 15-08 16:00:00 - 15-08 16:30:00 @ 33.13p 100%, 15-08 16:30:00 - 15-08 17:00:00 @ 33.13p 100%, 15-08 17:00:00 - 15-08 17:30:00 @ 38.46p 100%, 15-08 17:30:00 - 15-08 18:00:00 @ 40.44p 100%, 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 100%, 15-08 18:30:00 - 15-08 19:00:00 @ 43.82p 100%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 100%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 100%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 100%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 100%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 100%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 100%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 100%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 100%, 15-08 23:00:00 - 15-08 23:30:00 @ 29.37p 100%, 15-08 23:30:00 - 16-08 00:00:00 @ 29.2p 100%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.83p 100%, 16-08 00:30:00 - 16-08 01:00:00 @ 28.46p 100%, 16-08 01:00:00 - 16-08 01:30:00 @ 27.73p 100%, 16-08 01:30:00 - 16-08 02:00:00 @ 27.01p 100%, 16-08 02:00:00 - 16-08 02:30:00 @ 26.76p 100%, 16-08 02:30:00 - 16-08 03:00:00 @ 26.48p 100%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.39p 100%, 16-08 03:30:00 - 16-08 04:00:00 @ 26.27p 100%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.33p 100%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.37p 100%, 16-08 05:00:00 - 16-08 05:30:00 @ 26.23p 100%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.07p 100%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.99p 100%, 16-08 06:30:00 - 16-08 07:00:00 @ 25.92p 100%, 16-08 07:00:00 - 16-08 07:30:00 @ 25.64p 100%, 16-08 07:30:00 - 16-08 08:00:00 @ 25.39p 100%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.84p 100%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.28p 100%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.26p 100%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.22p 100%, 16-08 10:00:00 - 16-08 10:30:00 @ 24.8p 100%, 16-08 10:30:00 - 16-08 11:00:00 @ 25.37p 100%, 16-08 11:00:00 - 16-08 11:30:00 @ 24.71p 100%, 16-08 11:30:00 - 16-08 12:00:00 @ 24.02p 100%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.79p 100%, 16-08 12:30:00 - 16-08 13:00:00 @ 23.55p 100%, 16-08 13:00:00 - 16-08 13:30:00 @ 23.14p 100%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.71p 100%, 16-08 14:00:00 - 16-08 14:30:00 @ 22.01p 100%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.29p 100%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.01p 100%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.71p 100%, 16-08 16:00:00 - 16-08 16:30:00 @ 37.14p 100%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.91p 100%, 16-08 17:00:00 - 16-08 17:30:00 @ 40.13p 100%, 16-08 17:30:00 - 16-08 18:00:00 @ 42.36p 100%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.19p 100%, 16-08 19:00:00 - 16-08 19:30:00 @ 33.04p 100%, 16-08 19:30:00 - 16-08 20:00:00 @ 33.71p 100%, 16-08 20:00:00 - 16-08 20:30:00 @ 33.83p 100%, 16-08 20:30:00 - 16-08 21:00:00 @ 33.94p 100%, 16-08 21:00:00 - 16-08 21:30:00 @ 33.73p 100%, 16-08 21:30:00 - 16-08 22:00:00 @ 33.53p 100%, 16-08 22:00:00 - 16-08 22:30:00 @ 32.36p 100%, 16-08 22:30:00 - 16-08 23:00:00 @ 31.17p 100%, 16-08 23:00:00 - 16-08 23:30:00 @ 29.37p 100%, 16-08 23:30:00 - 17-08 00:00:00 @ 29.2p 100%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.83p 100%, 17-08 00:30:00 - 17-08 01:00:00 @ 28.46p 100%, 17-08 01:00:00 - 17-08 01:30:00 @ 27.73p 100%, 17-08 01:30:00 - 17-08 02:00:00 @ 27.01p 100%, 17-08 02:00:00 - 17-08 02:30:00 @ 26.76p 100%, 17-08 02:30:00 - 17-08 03:00:00 @ 26.48p 100%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.39p 100%, 17-08 03:30:00 - 17-08 04:00:00 @ 26.27p 100%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.33p 100%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.37p 100%, 17-08 05:00:00 - 17-08 05:30:00 @ 26.23p 100%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.07p 100%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.99p 100%, 17-08 06:30:00 - 17-08 07:00:00 @ 25.92p 100%, 17-08 07:00:00 - 17-08 07:30:00 @ 25.64p 100%, 17-08 07:30:00 - 17-08 08:00:00 @ 25.39p 100%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.84p 100%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.28p 100%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.26p 100%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.22p 100%, 17-08 10:00:00 - 17-08 10:30:00 @ 24.8p 100%, 17-08 10:30:00 - 17-08 11:00:00 @ 25.37p 100%, 17-08 11:00:00 - 17-08 11:30:00 @ 24.71p 100%, 17-08 11:30:00 - 17-08 12:00:00 @ 24.02p 100%, 17-08 12:00:00 - 17-08 12:30:00 @ 23.79p 100%, 17-08 12:30:00 - 17-08 13:00:00 @ 23.55p 100%, 17-08 13:00:00 - 17-08 13:30:00 @ 23.14p 100%, 17-08 13:30:00 - 17-08 14:00:00 @ 22.71p 100%, 17-08 14:00:00 - 17-08 14:30:00 @ 22.01p 100%, 17-08 14:30:00 - 17-08 15:00:00 @ 21.29p 100%, 17-08 15:00:00 - 17-08 15:30:00 @ 22.01p 100% ]
2026-08-15 15:15:03.313064: Best export window [  ]
2026-08-15 15:15:03.313834: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 15:15:03.317437: Load divergence over 8.0 hours mean 447.62W, min 290.4W, max 1344.6W, std dev 165.79W, divergence 18.52%
2026-08-15 15:15:03.335485: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 15:15:03.335626: LoadML is_calculating False
2026-08-15 15:15:03.335698: Creating pool of 12 processes to match your CPU count
2026-08-15 15:15:03.428199: Calculate Best options: mode(Control charge & discharge), calculate_export_oncharge(False), calculate_export_on_pv(True), set_export_freeze_only(False), set_discharge_during_charge(True), combine_charge_slots(False), combine_export_slots(False), combine_rate_threshold(0.0), best_soc_min(0.0 kWh), best_soc_max(0.0 kWh), best_soc_keep(0.0 kWh), inverter_loss(4%), battery_loss(3%), battery_loss_discharge (3%), inverter_hybrid(True), metric_min_improvement(0.0p), metric_min_improvement_export(0.1p), metric_min_improvement_export_freeze(0.1p), metric_battery_cycle(0.0p/kWh), metric_battery_value_scaling(1.0 x) 
2026-08-15 15:15:03.430399: Optimise levels pass started at 2026-08-15 15:15:03
2026-08-15 15:15:03.430518: Optimise all windows, total charge 95 export 1
2026-08-15 15:15:03.833004: >> Region optimisation pass width 960 gives best_metric 971.33p, best_cost 985.13p, best_cycle 31.69kWh, best_import 22.85kWh
2026-08-15 15:15:03.972334: >> Region optimisation pass width 480 gives best_metric 971.33p, best_cost 985.13p, best_cycle 31.69kWh, best_import 22.85kWh
2026-08-15 15:15:04.214581: >> Region optimisation pass width 240 gives best_metric 971.33p, best_cost 985.13p, best_cycle 31.69kWh, best_import 22.85kWh
2026-08-15 15:15:04.681638: >> Region optimisation pass width 120 gives best_metric 971.33p, best_cost 985.13p, best_cycle 31.69kWh, best_import 22.85kWh
2026-08-15 15:15:04.682048: Calculated end_record as 08-16 15:30:00 based on best_price 22.01p, next_charge_start 08-15 15:30:00, max_windows 49
2026-08-15 15:15:04.682157: Optimise levels pass ended at 2026-08-15 15:15:04, duration 1.3 seconds tried 25 combinations
2026-08-15 15:15:04.682265: Set best_price_charge_level 23.6p, best_price_export_level 0p, best_price_charge 22.01p, best_cost_export 0p, best_metric 971.33p, best_keep 0kWh, best_cycle 31.69kWh, best_carbon 0kg, best_import 22.85kWh
2026-08-15 15:15:04.701228: Starting detailed optimisation end_record 08-16 15:30:00, best_price_charge 22.01p, best_price_export 0p. lowest_price_charge 15.02p with charge limits [16.0, 16.0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0]kWh and export limits []kWh
2026-08-15 15:15:07.285054: Tweak plan optimisation started metric 576.01p, cost 593.43p
2026-08-15 15:15:07.515511: Tweak optimisation finished metric 576.01p, cost 593.43p, metric_keep 0kWh, cycle 17.72kWh, carbon 0kg, import 6.23kWh, changed 8 window(s)
2026-08-15 15:15:07.535316: Swap charge optimisation started metric 576.01p, cost 593.43p, min_improvement_swap 0.1p
2026-08-15 15:15:08.684051: Swap charge optimisation finished metric 576.01p, cost 593.43p
2026-08-15 15:15:08.741326: Pruned 1 dead plan slot(s) in 3 trial(s), nominal metric 572.95p -> 572.95p, plan now metric 576.02p, cost 593.43p, cycle 17.72kWh, import 6.23kWh
2026-08-15 15:15:08.753383: Raw charge windows [ 15-08 15:00:00 - 15-08 15:30:00 @ 15.02p 100%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 100%, 15-08 16:00:00 - 15-08 16:30:00 @ 33.13p 0%, 15-08 16:30:00 - 15-08 17:00:00 @ 33.13p 0%, 15-08 17:00:00 - 15-08 17:30:00 @ 38.46p 0%, 15-08 17:30:00 - 15-08 18:00:00 @ 40.44p 0%, 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 0%, 15-08 18:30:00 - 15-08 19:00:00 @ 43.82p 0%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 0%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 0%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 0%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 0%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 29.37p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 29.2p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.83p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 28.46p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 27.73p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 27.01p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 26.76p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 26.48p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.39p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 26.27p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.33p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.37p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 26.23p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.07p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.99p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 25.92p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 25.64p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 25.39p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.84p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.28p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.26p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.22p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 24.8p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 25.37p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 24.71p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 24.02p 0%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.79p 0%, 16-08 12:30:00 - 16-08 13:00:00 @ 23.55p 0%, 16-08 13:00:00 - 16-08 13:30:00 @ 23.14p 0%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.71p 0%, 16-08 14:00:00 - 16-08 14:30:00 @ 22.01p 0%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.29p 0%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.01p 0%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.71p 100%, 16-08 16:00:00 - 16-08 16:30:00 @ 37.14p 100%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.91p 100%, 16-08 17:00:00 - 16-08 17:30:00 @ 40.13p 100%, 16-08 17:30:00 - 16-08 18:00:00 @ 42.36p 100%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.19p 100%, 16-08 19:00:00 - 16-08 19:30:00 @ 33.04p 100%, 16-08 19:30:00 - 16-08 20:00:00 @ 33.71p 100%, 16-08 20:00:00 - 16-08 20:30:00 @ 33.83p 100%, 16-08 20:30:00 - 16-08 21:00:00 @ 33.94p 100%, 16-08 21:00:00 - 16-08 21:30:00 @ 33.73p 100%, 16-08 21:30:00 - 16-08 22:00:00 @ 33.53p 100%, 16-08 22:00:00 - 16-08 22:30:00 @ 32.36p 100%, 16-08 22:30:00 - 16-08 23:00:00 @ 31.17p 100%, 16-08 23:00:00 - 16-08 23:30:00 @ 29.37p 100%, 16-08 23:30:00 - 17-08 00:00:00 @ 29.2p 100%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.83p 100%, 17-08 00:30:00 - 17-08 01:00:00 @ 28.46p 100%, 17-08 01:00:00 - 17-08 01:30:00 @ 27.73p 100%, 17-08 01:30:00 - 17-08 02:00:00 @ 27.01p 100%, 17-08 02:00:00 - 17-08 02:30:00 @ 26.76p 100%, 17-08 02:30:00 - 17-08 03:00:00 @ 26.48p 100%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.39p 100%, 17-08 03:30:00 - 17-08 04:00:00 @ 26.27p 100%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.33p 100%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.37p 100%, 17-08 05:00:00 - 17-08 05:30:00 @ 26.23p 100%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.07p 100%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.99p 100%, 17-08 06:30:00 - 17-08 07:00:00 @ 25.92p 100%, 17-08 07:00:00 - 17-08 07:30:00 @ 25.64p 100%, 17-08 07:30:00 - 17-08 08:00:00 @ 25.39p 100%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.84p 100%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.28p 100%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.26p 100%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.22p 100%, 17-08 10:00:00 - 17-08 10:30:00 @ 24.8p 100%, 17-08 10:30:00 - 17-08 11:00:00 @ 25.37p 100%, 17-08 11:00:00 - 17-08 11:30:00 @ 24.71p 100%, 17-08 11:30:00 - 17-08 12:00:00 @ 24.02p 100%, 17-08 12:00:00 - 17-08 12:30:00 @ 23.79p 100%, 17-08 12:30:00 - 17-08 13:00:00 @ 23.55p 100%, 17-08 13:00:00 - 17-08 13:30:00 @ 23.14p 100%, 17-08 13:30:00 - 17-08 14:00:00 @ 22.71p 100%, 17-08 14:00:00 - 17-08 14:30:00 @ 22.01p 100%, 17-08 14:30:00 - 17-08 15:00:00 @ 21.29p 100%, 17-08 15:00:00 - 17-08 15:30:00 @ 22.01p 100% ] reserve 1.12
2026-08-15 15:15:08.754037: Unclipped charge windows [ 15-08 15:00:00 - 15-08 16:00:00 @ 15.45p 100%, 16-08 15:30:00 - 16-08 18:30:00 @ 41.95p 100%, 16-08 19:00:00 - 17-08 15:30:00 @ 21.97p 100% ] reserve 1.12
2026-08-15 15:15:08.754247: Unfiltered charge windows [ 15-08 15:00:00 - 15-08 16:00:00 @ 15.45p 100%, 16-08 15:30:00 - 16-08 18:30:00 @ 41.95p 100%, 16-08 19:00:00 - 17-08 15:30:00 @ 21.97p 100% ] reserve 1.12
2026-08-15 15:15:08.754425: Filtered charge windows [ 15-08 15:00:00 - 15-08 16:00:00 @ 15.45p 100%, 16-08 15:30:00 - 16-08 18:30:00 @ 41.95p 100%, 16-08 19:00:00 - 17-08 15:30:00 @ 21.97p 100% ] reserve 1.12
2026-08-15 15:15:08.790957: Previous plan best metric is 576.02 (cost 593.43) and new plan best metric is 576.01 (cost 593.43)
2026-08-15 15:15:08.791229: New plan metric is not significantly better (metric_min_improvement_plan 2.0) than previous plan, using previous plan
2026-08-15 15:15:08.791365: Plan valid is now true after recompute was False
2026-08-15 15:15:08.822470: predict base end_record 08-16 15:30:00, final soc 16.0kWh, metric 1024.34p, metric_keep 0kWh, min_soc 2.71kWh @ 08-16 10:25:00, load 24.99kWh, PV 0.0kWh
2026-08-15 15:15:08.938087: Battery has 48.0 hours left - now at 12.81kWh
2026-08-15 15:15:08.981982: predict base10 end_record 08-16 15:30:00, final soc 16.0kWh, metric 1042.98p, metric_keep 0kWh, min_soc 1.8kWh @ 08-16 10:25:00, load 25.78kWh, PV 0.0kWh
2026-08-15 15:15:09.055284: predict best10 end_record 08-16 15:30:00, final soc 1.12kWh, metric 663.91p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 11:15:00, load 25.78kWh, PV 0.0kWh
2026-08-15 15:15:09.128766: predict best end_record 08-16 15:30:00, final soc 1.12kWh, metric 643.42p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 12:05:00, load 24.99kWh, PV 0.0kWh
2026-08-15 15:15:09.128911: Saving plan best values to HA entities
2026-08-15 15:15:09.280234: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0
2026-08-15 15:15:09.285670: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 15:15:09.291496: Best charging limit SoC's [16.0, 16.0, 16.0]kWh, export []kWh gives import battery 3.91kWh, house 2.32kWh, export 0.0kWh, metric 643.42p, metric10 663.91p
2026-08-15 15:15:09.362789: Marginal costs baseline metric (no standing charge): 593.4341
2026-08-15 15:15:09.578861: Marginal energy costs matrix computed: min=17.66 max=32.33
2026-08-15 15:15:09.647105: Rate array import [{'start': 915, 'end': 960, 'rate': 'cheap', 'range': '(15.0p - 15.9p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1920, 'rate': 'expensive', 'range': '(25.4p - 32.9p)'}, {'start': 1920, 'end': 2070, 'rate': 'cheap', 'range': '(24.2p - 24.8p)'}, {'start': 2070, 'end': 2100, 'rate': 'expensive', 'range': '(25.4p)'}, {'start': 2100, 'end': 2370, 'rate': 'cheap', 'range': '(21.3p - 24.7p)'}] export [{'start': 915, 'end': 2370, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 15:15:09.647463: - Your estimated bill for today is £5.41 and tomorrow is £8.94
2026-08-15 15:15:09.647501: - Import rates are cheap (15.0p - 15.9p) for the next 45 minutes and then expensive (33.1p) for the next 1 hour.
2026-08-15 15:15:09.647518: - The battery is currently at 80% and is charging to 100% for the next 45 minutes.
2026-08-15 15:15:09.647534: - For the next 48 hours there will be no solar generation.
2026-08-15 15:15:09.647547: - You will run out of battery in 20 hours.
2026-08-15 15:15:09.647561: 
2026-08-15 15:15:09.702164: Plan calculation took 6.39 seconds
2026-08-15 15:15:09.702558: Inverter 0: Type SK Sunsynk
2026-08-15 15:15:09.702606: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 15:15:09.702954: Reserve min: 7%, battery_min: 7%
2026-08-15 15:15:09.703067: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 15:15:09.703428: Inverter 0 SoC: 12.81kW 80%, current charge rate 5000W, current discharge rate 5250W, current battery power -4556W, current battery voltage 51.2V, grid power -5216W, load power 220W, PV Power 0W
2026-08-15 15:15:09.703689: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 15:15:09.703816: Inverter 0 scheduled charge enable is True
2026-08-15 15:15:09.703877: Inverter 0 charge windows currently [{'start': 630, 'end': 960, 'average': 0}, {'start': 2070, 'end': 2400, 'average': 0}, {'start': 3510, 'end': 3840, 'average': 0}]
2026-08-15 15:15:09.704006: Inverter 0 Charge settings: 08-15 10:30:00-08-15 16:00:00, limit 100.0%, power 5.0kW
2026-08-15 15:15:09.704157: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 15:15:09.704195: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 15:15:09.704233: Inverter 0 scheduled discharge enable is False
2026-08-15 15:15:09.704357: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 15:15:09.704394: Inverter 0 discharge windows currently []
2026-08-15 15:15:09.704417: Note: Inverter does not support discharge freeze - disabled
2026-08-15 15:15:09.704439: Note: Inverter does not support charge freeze - disabled
2026-08-15 15:15:09.704457: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 15:15:09.761277: Include original charge start 08-15 10:30:00, keeping this instead of new start 08-15 15:00:00
2026-08-15 15:15:09.761426: Inverter 0 Charge window will be: 2026-08-15 10:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 80%, target 100%
2026-08-15 15:15:09.761626: Inverter 0 Target SoC 100%, (this inverter 100%), battery temperature 20°C, select charge rate 5000W (real 5000W), current charge rate 5000W
2026-08-15 15:15:09.761959: Adjust idle time, charge 10:30:00-16:00:00 discharge 00:00:00-00:00:00
2026-08-15 15:15:09.762301: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 15:15:09.762435: No export window planned
2026-08-15 15:15:09.762652: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 15:15:09.762706: Adjust idle time, charge 10:30:00-16:00:00 discharge 00:00:00-00:00:00
2026-08-15 15:15:09.762919: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 15:15:09.763076: Inverter 0 setting charging SoC to 100% as per target
2026-08-15 15:15:09.763135: Inverter 0 adjust target SoC for charge to 100% based on requested all inverter SoC 100%
2026-08-15 15:15:09.763213: Inverter 0 Current Target SoC is 100%, already at target
2026-08-15 15:15:09.763378: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:15:09.763435: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:15:09.763486: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:15:09.763538: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:15:09.763597: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:15:09.763661: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:15:09.763715: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:15:09.763816: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 15:15:09.763881: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 15:15:09.763949: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 15:15:09.764007: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 15:15:09.764100: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 15:15:09.764135: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 15:15:09.764162: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 15:15:09.764232: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:15:09.764298: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:15:09.764349: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:15:09.764377: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:15:09.764402: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:15:09.764426: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:15:09.764460: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:15:09.764486: Inverter 0 count register writes 0
2026-08-15 15:15:09.788182: Total inverter register writes now 825
2026-08-15 15:15:09.826214: Info: Completed run status Charging
2026-08-15 15:15:09.832694: Info: record_status Charging target 80%-100.0%
2026-08-15 15:15:09.840642: Saved current settings to /config/predbat_config.json
2026-08-15 15:15:09.841092: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 15:15:41.953358: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 15:15:41.953652: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 15:15:41.953689: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 15:15:41.953865: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 15:15:41.953930: Note: Inverter does not support discharge freeze - disabled
2026-08-15 15:15:41.953952: Note: Inverter does not support charge freeze - disabled
2026-08-15 15:15:41.953970: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 15:17:56.563028: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 15:17:56.563329: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 15:17:56.563373: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 15:17:56.563508: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 15:17:56.563576: Note: Inverter does not support discharge freeze - disabled
2026-08-15 15:17:56.563597: Note: Inverter does not support charge freeze - disabled
2026-08-15 15:17:56.563615: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 15:19:56.789532: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 15:19:56.789836: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 15:19:56.789929: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 15:19:56.790090: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 15:19:56.790126: Note: Inverter does not support discharge freeze - disabled
2026-08-15 15:19:56.790149: Note: Inverter does not support charge freeze - disabled
2026-08-15 15:19:56.790180: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 15:20:00.869816: --------------- PredBat - update at 2026-08-15 15:20:00+01:00 with clock skew 0 minutes, minutes now 920
2026-08-15 15:20:00.870820: Saved current settings to /config/predbat_config.json
2026-08-15 15:20:00.870992: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 60.0 minutes
2026-08-15 15:20:00.871090: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.2, latest beta is v8.48.2
2026-08-15 15:20:00.871233: Autoupdate: There is an update pending v8.48.2 PV90 and second pass enabled by default, bug fixes - auto update is off
2026-08-15 15:20:00.902077: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 15:20:00.902290: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 15:20:00.902579: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 15:20:00.903341: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 15:20:00.903498: Predbat mode is set to Control charge & discharge
2026-08-15 15:20:01.111620: Found 21602 load_today datapoints going back 28 days
2026-08-15 15:20:01.111785: Using load_power data to fill gaps in load_today data
2026-08-15 15:20:01.924135: Processing 721 30-minute periods for power integration
2026-08-15 15:20:02.115943: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 15:20:02.116097: Car charging hold False, threshold 6.0kWh
2026-08-15 15:20:02.116144: Current data so far today: load 8.3kWh, import 23.4kWh, export 0.0kWh, PV 0kWh
2026-08-15 15:20:02.131285: Cars: SoC: [11.134]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 15:20:02.131790: Standing charge is set to 49.98p
2026-08-15 15:20:02.178270: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 15:20:02.178368: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 15:20:02.178565: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 280.0 minutes
2026-08-15 15:20:02.179045: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 280.0 minutes
2026-08-15 15:20:02.185315: Loaded 95 datapoints of futurerate analysis
2026-08-15 15:20:02.284359: Predicted future rates: ['08-15 00:00:00 => 28.9 / 20.01', '08-15 01:00:00 => 27.54 / 19.31', '08-15 02:00:00 => 26.52 / 18.8', '08-15 03:00:00 => 25.99 / 18.53', '08-15 04:00:00 => 25.8 / 18.43', '08-15 05:00:00 => 25.96 / 18.51', '08-15 06:00:00 => 25.55 / 18.3', '08-15 07:00:00 => 24.33 / 17.68', '08-15 08:00:00 => 23.03 / 17.01', '08-15 09:00:00 => 22.05 / 16.51', '08-15 10:00:00 => 20.43 / 15.68', '08-15 11:00:00 => 18.01 / 14.45', '08-15 12:00:00 => 16.37 / 13.61', '08-15 13:00:00 => 15.76 / 13.3', '08-15 14:00:00 => 15.35 / 13.09', '08-15 15:00:00 => 15.86 / 13.35', '08-15 16:00:00 => 32.89 / 16.13', '08-15 17:00:00 => 38.02 / 18.75', '08-15 18:00:00 => 42.36 / 20.96', '08-15 19:00:00 => 31.09 / 21.13', '08-15 20:00:00 => 31.64 / 21.41', '08-15 21:00:00 => 31.64 / 21.41', '08-15 22:00:00 => 30.58 / 20.87', '08-15 23:00:00 => 29.37 / 20.25', '08-16 00:00:00 => 28.83 / 19.97', '08-16 01:00:00 => 27.73 / 19.41', '08-16 02:00:00 => 26.76 / 18.92', '08-16 03:00:00 => 26.39 / 18.73', '08-16 04:00:00 => 26.33 / 18.7', '08-16 05:00:00 => 26.23 / 18.65', '08-16 06:00:00 => 25.99 / 18.53', '08-16 07:00:00 => 25.64 / 18.35', '08-16 08:00:00 => 24.84 / 17.94', '08-16 09:00:00 => 24.26 / 17.64', '08-16 10:00:00 => 24.8 / 17.92', '08-16 11:00:00 => 24.71 / 17.87', '08-16 12:00:00 => 23.79 / 17.4', '08-16 13:00:00 => 23.14 / 17.07', '08-16 14:00:00 => 22.01 / 16.49']
2026-08-15 15:20:02.346943: Rate min forward looking: now 15.02p at end of forecast 21.29p
2026-08-15 15:20:02.347378: Import rates: min 15.02p, max 46.05p, average 28.26p
2026-08-15 15:20:02.390356: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 15:20:02.390481: Rate thresholds (for charge/export) are import 45.55p (0.0p), export -0.1p (0.0p)
2026-08-15 15:20:02.391853: High export rate found rates in range 99p to -99p
2026-08-15 15:20:02.489388: Low Import rate found rates in range 15.02p to 44.19p
2026-08-15 15:20:02.489509: Car 0 charging is not planned as it is not plugged in
2026-08-15 15:20:02.502318: Battery level now 12.81kWh, -1hr ago 8.98kWh, at midnight 1.66kWh, battery value change in the last hour 49.33p, change today 143.86p, rate_forward 12.9p
2026-08-15 15:20:02.502698: Last hour: net energy 4.8kWh, import 4.8kWh, export 0.0kWh, car 0kWh, load 0.18kWh, net cost 68.41p, import 68.41p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 15:20:02.561982: Today's energy total net 23.4kWh, import 23.4kWh, export 0.0kWh, cost 493.53p, import 443.54p, export 0.0p, carbon 0.0kg
2026-08-15 15:20:02.562128: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 15:20:02.635822: Using weighted-bucket historical load forecast over 14 days
2026-08-15 15:20:02.659913: Today's load divergence 92.77%, in-day adjustment 111.42%, damping 0.95x, yesterday 143.77% today 93.14% blend 36.11%
2026-08-15 15:20:02.659996: Today's predicted so far 9.35kWh with 0.0kWh car/iBoost excluded, 17.01kWh import ignored, and 9.35kWh forecast extra.
2026-08-15 15:20:02.660023: Today's actual load so far 8.32kWh with 0.0kWh car/iBoost excluded, and 17.01kWh import ignored.
2026-08-15 15:20:02.692235: Inverter 0: Type SK Sunsynk
2026-08-15 15:20:02.692322: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 15:20:02.692566: Reserve min: 7%, battery_min: 7%
2026-08-15 15:20:02.692660: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 15:20:02.693070: Inverter 0 SoC: 13.5kW 84%, current charge rate 5000W, current discharge rate 5250W, current battery power -4553W, current battery voltage 51.2V, grid power -5256W, load power 259W, PV Power 0W
2026-08-15 15:20:02.693281: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 15:20:02.693402: Inverter 0 scheduled charge enable is True
2026-08-15 15:20:02.693489: Inverter 0 charge windows currently [{'start': 630, 'end': 960, 'average': 0}, {'start': 2070, 'end': 2400, 'average': 0}, {'start': 3510, 'end': 3840, 'average': 0}]
2026-08-15 15:20:02.693612: Inverter 0 Charge settings: 08-15 10:30:00-08-15 16:00:00, limit 100.0%, power 5.0kW
2026-08-15 15:20:02.693814: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 15:20:02.693858: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 15:20:02.693912: Inverter 0 scheduled discharge enable is False
2026-08-15 15:20:02.694080: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 15:20:02.694124: Inverter 0 discharge windows currently []
2026-08-15 15:20:02.694159: Note: Inverter does not support discharge freeze - disabled
2026-08-15 15:20:02.694192: Note: Inverter does not support charge freeze - disabled
2026-08-15 15:20:02.694228: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 15:20:02.756624: Dynamic load last period 0.00kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 15:20:02.756750: Plan was last updated on 2026-08-15 15:15:00+01:00 and is now 5.0 minutes old
2026-08-15 15:20:02.756936: Best charge window [ 15-08 15:00:00 - 15-08 16:00:00 @ 15.45p 100%, 16-08 15:30:00 - 16-08 18:30:00 @ 41.95p 100%, 16-08 19:00:00 - 17-08 15:30:00 @ 21.97p 100% ]
2026-08-15 15:20:02.757023: Best export window [  ]
2026-08-15 15:20:02.758024: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 15:20:02.761196: Load divergence over 8.0 hours mean 445.71W, min 292.8W, max 1321.2W, std dev 160.11W, divergence 17.96%
2026-08-15 15:20:02.777642: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 15:20:02.777751: LoadML is_calculating False
2026-08-15 15:20:02.777843: Creating pool of 12 processes to match your CPU count
2026-08-15 15:20:02.892720: predict base end_record 08-16 15:35:00, final soc 16.0kWh, metric 1025.67p, metric_keep 0kWh, min_soc 2.75kWh @ 08-16 10:25:00, load 24.9kWh, PV 0.0kWh
2026-08-15 15:20:03.012864: Battery has 48.0 hours left - now at 13.5kWh
2026-08-15 15:20:03.050562: predict base10 end_record 08-16 15:35:00, final soc 16.0kWh, metric 1042.97p, metric_keep 0kWh, min_soc 2.04kWh @ 08-16 10:25:00, load 25.7kWh, PV 0.0kWh
2026-08-15 15:20:03.117717: predict best10 end_record 08-16 15:35:00, final soc 1.44kWh, metric 671.93p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 11:30:00, load 25.7kWh, PV 0.0kWh
2026-08-15 15:20:03.224344: predict best end_record 08-16 15:35:00, final soc 1.51kWh, metric 654.3p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 12:10:00, load 24.9kWh, PV 0.0kWh
2026-08-15 15:20:03.224430: Saving plan best values to HA entities
2026-08-15 15:20:03.387560: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0
2026-08-15 15:20:03.396942: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 15:20:03.402828: Best charging limit SoC's [16.0, 16.0, 16.0]kWh, export []kWh gives import battery 3.57kWh, house 2.28kWh, export 0.0kWh, metric 654.3p, metric10 671.93p
2026-08-15 15:20:03.475903: Marginal costs baseline metric (no standing charge): 604.3199
2026-08-15 15:20:03.689543: Marginal energy costs matrix computed: min=18.4 max=32.48
2026-08-15 15:20:03.754987: Rate array import [{'start': 920, 'end': 960, 'rate': 'cheap', 'range': '(15.0p - 15.9p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1920, 'rate': 'expensive', 'range': '(25.4p - 32.9p)'}, {'start': 1920, 'end': 2070, 'rate': 'cheap', 'range': '(24.2p - 24.8p)'}, {'start': 2070, 'end': 2100, 'rate': 'expensive', 'range': '(25.4p)'}, {'start': 2100, 'end': 2375, 'rate': 'cheap', 'range': '(21.3p - 24.7p)'}] export [{'start': 920, 'end': 2375, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 15:20:03.755368: - Your estimated bill for today is £5.42 and tomorrow is £8.94
2026-08-15 15:20:03.755405: - Import rates are cheap (15.0p - 15.9p) for the next 40 minutes and then expensive (33.1p) for the next 1 hour.
2026-08-15 15:20:03.755423: - The battery is currently at 84% and is charging to 100% for the next 40 minutes.
2026-08-15 15:20:03.755438: - For the next 48 hours there will be no solar generation.
2026-08-15 15:20:03.755451: - You will run out of battery in 20 hours.
2026-08-15 15:20:03.755465: 
2026-08-15 15:20:03.804877: Plan calculation took 1.05 seconds
2026-08-15 15:20:03.807917: No high rate period found
2026-08-15 15:20:03.853150: Import threshold used for optimisation was 24.26p
2026-08-15 15:20:03.901568: Low import rate windows [0: 08-15 15:00:00 - 08-15 15:30:00 @ 15.02, 1: 08-15 15:30:00 - 08-15 16:00:00 @ 15.87, 2: 08-15 16:00:00 - 08-15 16:30:00 @ 33.13, 3: 08-15 16:30:00 - 08-15 17:00:00 @ 33.13, 4: 08-15 17:00:00 - 08-15 17:30:00 @ 38.46, 5: 08-15 17:30:00 - 08-15 18:00:00 @ 40.44, 6: 08-15 18:00:00 - 08-15 18:30:00 @ 41.55, 7: 08-15 18:30:00 - 08-15 19:00:00 @ 43.82, 8: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 9: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 10: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 11: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 12: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 13: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 14: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 15: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 16: 08-15 23:00:00 - 08-15 23:30:00 @ 29.37, 17: 08-15 23:30:00 - 08-16 00:00:00 @ 29.2, 18: 08-16 00:00:00 - 08-16 00:30:00 @ 28.83, 19: 08-16 00:30:00 - 08-16 01:00:00 @ 28.46, 20: 08-16 01:00:00 - 08-16 01:30:00 @ 27.73, 21: 08-16 01:30:00 - 08-16 02:00:00 @ 27.01, 22: 08-16 02:00:00 - 08-16 02:30:00 @ 26.76, 23: 08-16 02:30:00 - 08-16 03:00:00 @ 26.48, 24: 08-16 03:00:00 - 08-16 03:30:00 @ 26.39, 25: 08-16 03:30:00 - 08-16 04:00:00 @ 26.27, 26: 08-16 04:00:00 - 08-16 04:30:00 @ 26.33, 27: 08-16 04:30:00 - 08-16 05:00:00 @ 26.37, 28: 08-16 05:00:00 - 08-16 05:30:00 @ 26.23, 29: 08-16 05:30:00 - 08-16 06:00:00 @ 26.07, 30: 08-16 06:00:00 - 08-16 06:30:00 @ 25.99, 31: 08-16 06:30:00 - 08-16 07:00:00 @ 25.92, 32: 08-16 07:00:00 - 08-16 07:30:00 @ 25.64, 33: 08-16 07:30:00 - 08-16 08:00:00 @ 25.39, 34: 08-16 08:00:00 - 08-16 08:30:00 @ 24.84, 35: 08-16 08:30:00 - 08-16 09:00:00 @ 24.28, 36: 08-16 09:00:00 - 08-16 09:30:00 @ 24.26, 37: 08-16 09:30:00 - 08-16 10:00:00 @ 24.22, 38: 08-16 10:00:00 - 08-16 10:30:00 @ 24.8, 39: 08-16 10:30:00 - 08-16 11:00:00 @ 25.37, 40: 08-16 11:00:00 - 08-16 11:30:00 @ 24.71, 41: 08-16 11:30:00 - 08-16 12:00:00 @ 24.02, 42: 08-16 12:00:00 - 08-16 12:30:00 @ 23.79, 43: 08-16 12:30:00 - 08-16 13:00:00 @ 23.55, 44: 08-16 13:00:00 - 08-16 13:30:00 @ 23.14, 45: 08-16 13:30:00 - 08-16 14:00:00 @ 22.71, 46: 08-16 14:00:00 - 08-16 14:30:00 @ 22.01, 47: 08-16 14:30:00 - 08-16 15:00:00 @ 21.29, 48: 08-16 15:00:00 - 08-16 15:30:00 @ 22.01, 49: 08-16 15:30:00 - 08-16 16:00:00 @ 22.71, 50: 08-16 16:00:00 - 08-16 16:30:00 @ 37.14, 51: 08-16 16:30:00 - 08-16 17:00:00 @ 37.91, 52: 08-16 17:00:00 - 08-16 17:30:00 @ 40.13, 53: 08-16 17:30:00 - 08-16 18:00:00 @ 42.36, 54: 08-16 18:00:00 - 08-16 18:30:00 @ 44.19, 55: 08-16 19:00:00 - 08-16 19:30:00 @ 33.04, 56: 08-16 19:30:00 - 08-16 20:00:00 @ 33.71, 57: 08-16 20:00:00 - 08-16 20:30:00 @ 33.83, 58: 08-16 20:30:00 - 08-16 21:00:00 @ 33.94, 59: 08-16 21:00:00 - 08-16 21:30:00 @ 33.73, 60: 08-16 21:30:00 - 08-16 22:00:00 @ 33.53, 61: 08-16 22:00:00 - 08-16 22:30:00 @ 32.36, 62: 08-16 22:30:00 - 08-16 23:00:00 @ 31.17, 63: 08-16 23:00:00 - 08-16 23:30:00 @ 29.37, 64: 08-16 23:30:00 - 08-17 00:00:00 @ 29.2, 65: 08-17 00:00:00 - 08-17 00:30:00 @ 28.83, 66: 08-17 00:30:00 - 08-17 01:00:00 @ 28.46, 67: 08-17 01:00:00 - 08-17 01:30:00 @ 27.73, 68: 08-17 01:30:00 - 08-17 02:00:00 @ 27.01, 69: 08-17 02:00:00 - 08-17 02:30:00 @ 26.76, 70: 08-17 02:30:00 - 08-17 03:00:00 @ 26.48, 71: 08-17 03:00:00 - 08-17 03:30:00 @ 26.39, 72: 08-17 03:30:00 - 08-17 04:00:00 @ 26.27, 73: 08-17 04:00:00 - 08-17 04:30:00 @ 26.33, 74: 08-17 04:30:00 - 08-17 05:00:00 @ 26.37, 75: 08-17 05:00:00 - 08-17 05:30:00 @ 26.23, 76: 08-17 05:30:00 - 08-17 06:00:00 @ 26.07, 77: 08-17 06:00:00 - 08-17 06:30:00 @ 25.99, 78: 08-17 06:30:00 - 08-17 07:00:00 @ 25.92, 79: 08-17 07:00:00 - 08-17 07:30:00 @ 25.64, 80: 08-17 07:30:00 - 08-17 08:00:00 @ 25.39, 81: 08-17 08:00:00 - 08-17 08:30:00 @ 24.84, 82: 08-17 08:30:00 - 08-17 09:00:00 @ 24.28, 83: 08-17 09:00:00 - 08-17 09:30:00 @ 24.26, 84: 08-17 09:30:00 - 08-17 10:00:00 @ 24.22, 85: 08-17 10:00:00 - 08-17 10:30:00 @ 24.8, 86: 08-17 10:30:00 - 08-17 11:00:00 @ 25.37, 87: 08-17 11:00:00 - 08-17 11:30:00 @ 24.71, 88: 08-17 11:30:00 - 08-17 12:00:00 @ 24.02, 89: 08-17 12:00:00 - 08-17 12:30:00 @ 23.79, 90: 08-17 12:30:00 - 08-17 13:00:00 @ 23.55, 91: 08-17 13:00:00 - 08-17 13:30:00 @ 23.14, 92: 08-17 13:30:00 - 08-17 14:00:00 @ 22.71, 93: 08-17 14:00:00 - 08-17 14:30:00 @ 22.01, 94: 08-17 14:30:00 - 08-17 15:00:00 @ 21.29, 95: 08-17 15:00:00 - 08-17 15:30:00 @ 22.01]
2026-08-15 15:20:03.909032: Include original charge start 08-15 10:30:00, keeping this instead of new start 08-15 15:00:00
2026-08-15 15:20:03.909146: Inverter 0 Charge window will be: 2026-08-15 10:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 84%, target 100%
2026-08-15 15:20:03.909307: Inverter 0 Target SoC 100%, (this inverter 100%), battery temperature 20°C, select charge rate 5000W (real 5000W), current charge rate 5000W
2026-08-15 15:20:03.909486: Adjust idle time, charge 10:30:00-16:00:00 discharge 00:00:00-00:00:00
2026-08-15 15:20:03.909695: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 15:20:03.909793: No export window planned
2026-08-15 15:20:03.909899: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 15:20:03.909923: Adjust idle time, charge 10:30:00-16:00:00 discharge 00:00:00-00:00:00
2026-08-15 15:20:03.910030: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 15:20:03.910132: Inverter 0 setting charging SoC to 100% as per target
2026-08-15 15:20:03.910162: Inverter 0 adjust target SoC for charge to 100% based on requested all inverter SoC 100%
2026-08-15 15:20:03.910211: Inverter 0 Current Target SoC is 100%, already at target
2026-08-15 15:20:03.910307: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:20:03.910344: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:20:03.910366: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:20:03.910388: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:20:03.910408: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:20:03.910428: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:20:03.910447: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:20:03.910481: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 15:20:03.910511: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 15:20:03.910536: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 15:20:03.910558: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 15:20:03.910582: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 15:20:03.910602: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 15:20:03.910623: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 15:20:03.910673: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:20:03.910702: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:20:03.910734: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:20:03.910757: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:20:03.910802: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:20:03.910824: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:20:03.910843: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:20:03.910860: Inverter 0 count register writes 0
2026-08-15 15:20:03.927448: Will not recompute the plan, it is 5.0 minutes old and max age is 10 minutes
2026-08-15 15:20:03.932279: Total inverter register writes now 825
2026-08-15 15:20:03.962026: Info: Completed run status Charging
2026-08-15 15:20:03.967883: Info: record_status Charging target 84%-100.0%
2026-08-15 15:20:03.974621: Saved current settings to /config/predbat_config.json
2026-08-15 15:20:03.974974: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 15:20:42.089858: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 15:20:42.090246: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 15:20:42.090344: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 15:20:42.090656: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 15:20:42.090731: Note: Inverter does not support discharge freeze - disabled
2026-08-15 15:20:42.090778: Note: Inverter does not support charge freeze - disabled
2026-08-15 15:20:42.090820: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 15:22:42.313291: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 15:22:42.313562: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 15:22:42.313598: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 15:22:42.313771: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 15:22:42.313817: Note: Inverter does not support discharge freeze - disabled
2026-08-15 15:22:42.313839: Note: Inverter does not support charge freeze - disabled
2026-08-15 15:22:42.313857: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 15:24:56.555225: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 15:24:56.555495: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 15:24:56.555577: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 15:24:56.555764: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 15:24:56.555806: Note: Inverter does not support discharge freeze - disabled
2026-08-15 15:24:56.555828: Note: Inverter does not support charge freeze - disabled
2026-08-15 15:24:56.555845: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 15:25:00.645964: --------------- PredBat - update at 2026-08-15 15:25:00+01:00 with clock skew 0 minutes, minutes now 925
2026-08-15 15:25:00.646853: Saved current settings to /config/predbat_config.json
2026-08-15 15:25:00.647036: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 65.0 minutes
2026-08-15 15:25:00.647196: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.2, latest beta is v8.48.2
2026-08-15 15:25:00.647343: Autoupdate: There is an update pending v8.48.2 PV90 and second pass enabled by default, bug fixes - auto update is off
2026-08-15 15:25:00.664909: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 15:25:00.665163: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 15:25:00.665394: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 15:25:00.665956: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 15:25:00.666078: Predbat mode is set to Control charge & discharge
2026-08-15 15:25:00.834477: Found 21602 load_today datapoints going back 28 days
2026-08-15 15:25:00.834615: Using load_power data to fill gaps in load_today data
2026-08-15 15:25:01.519621: Processing 721 30-minute periods for power integration
2026-08-15 15:25:01.669568: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 15:25:01.669711: Car charging hold False, threshold 6.0kWh
2026-08-15 15:25:01.669751: Current data so far today: load 8.3kWh, import 23.4kWh, export 0.0kWh, PV 0kWh
2026-08-15 15:25:01.681867: Cars: SoC: [11.134]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 15:25:01.682257: Standing charge is set to 49.98p
2026-08-15 15:25:01.722524: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 15:25:01.722630: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 15:25:01.722892: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 285.0 minutes
2026-08-15 15:25:01.723329: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 285.0 minutes
2026-08-15 15:25:01.729260: Loaded 95 datapoints of futurerate analysis
2026-08-15 15:25:01.819580: Predicted future rates: ['08-15 00:00:00 => 28.9 / 20.01', '08-15 01:00:00 => 27.54 / 19.31', '08-15 02:00:00 => 26.52 / 18.8', '08-15 03:00:00 => 25.99 / 18.53', '08-15 04:00:00 => 25.8 / 18.43', '08-15 05:00:00 => 25.96 / 18.51', '08-15 06:00:00 => 25.55 / 18.3', '08-15 07:00:00 => 24.33 / 17.68', '08-15 08:00:00 => 23.03 / 17.01', '08-15 09:00:00 => 22.05 / 16.51', '08-15 10:00:00 => 20.43 / 15.68', '08-15 11:00:00 => 18.01 / 14.45', '08-15 12:00:00 => 16.37 / 13.61', '08-15 13:00:00 => 15.76 / 13.3', '08-15 14:00:00 => 15.35 / 13.09', '08-15 15:00:00 => 15.86 / 13.35', '08-15 16:00:00 => 32.89 / 16.13', '08-15 17:00:00 => 38.02 / 18.75', '08-15 18:00:00 => 42.36 / 20.96', '08-15 19:00:00 => 31.09 / 21.13', '08-15 20:00:00 => 31.64 / 21.41', '08-15 21:00:00 => 31.64 / 21.41', '08-15 22:00:00 => 30.58 / 20.87', '08-15 23:00:00 => 29.37 / 20.25', '08-16 00:00:00 => 28.83 / 19.97', '08-16 01:00:00 => 27.73 / 19.41', '08-16 02:00:00 => 26.76 / 18.92', '08-16 03:00:00 => 26.39 / 18.73', '08-16 04:00:00 => 26.33 / 18.7', '08-16 05:00:00 => 26.23 / 18.65', '08-16 06:00:00 => 25.99 / 18.53', '08-16 07:00:00 => 25.64 / 18.35', '08-16 08:00:00 => 24.84 / 17.94', '08-16 09:00:00 => 24.26 / 17.64', '08-16 10:00:00 => 24.8 / 17.92', '08-16 11:00:00 => 24.71 / 17.87', '08-16 12:00:00 => 23.79 / 17.4', '08-16 13:00:00 => 23.14 / 17.07', '08-16 14:00:00 => 22.01 / 16.49']
2026-08-15 15:25:01.869410: Rate min forward looking: now 15.02p at end of forecast 21.29p
2026-08-15 15:25:01.869788: Import rates: min 15.02p, max 46.05p, average 28.28p
2026-08-15 15:25:01.905069: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 15:25:01.905231: Rate thresholds (for charge/export) are import 45.55p (0.0p), export -0.1p (0.0p)
2026-08-15 15:25:01.906348: High export rate found rates in range 99p to -99p
2026-08-15 15:25:01.991937: Low Import rate found rates in range 15.02p to 44.19p
2026-08-15 15:25:01.992081: Car 0 charging is not planned as it is not plugged in
2026-08-15 15:25:02.006034: Battery level now 13.5kWh, -1hr ago 9.33kWh, at midnight 1.66kWh, battery value change in the last hour 53.77p, change today 152.73p, rate_forward 12.9p
2026-08-15 15:25:02.006523: Last hour: net energy 4.4kWh, import 4.4kWh, export 0.0kWh, car 0kWh, load 0.15kWh, net cost 62.58p, import 62.58p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 15:25:02.058699: Today's energy total net 23.4kWh, import 23.4kWh, export 0.0kWh, cost 493.53p, import 443.54p, export 0.0p, carbon 0.0kg
2026-08-15 15:25:02.058828: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 15:25:02.139735: Using weighted-bucket historical load forecast over 14 days
2026-08-15 15:25:02.166729: Today's load divergence 92.32%, in-day adjustment 110.97%, damping 0.95x, yesterday 143.77% today 92.7% blend 35.76%
2026-08-15 15:25:02.166810: Today's predicted so far 9.38kWh with 0.0kWh car/iBoost excluded, 16.98kWh import ignored, and 9.38kWh forecast extra.
2026-08-15 15:25:02.166837: Today's actual load so far 8.29kWh with 0.0kWh car/iBoost excluded, and 16.98kWh import ignored.
2026-08-15 15:25:02.200864: Inverter 0: Type SK Sunsynk
2026-08-15 15:25:02.200966: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 15:25:02.201198: Reserve min: 7%, battery_min: 7%
2026-08-15 15:25:02.201294: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 15:25:02.201595: Inverter 0 SoC: 13.86kW 87%, current charge rate 5000W, current discharge rate 5250W, current battery power -4554W, current battery voltage 51.2V, grid power -5209W, load power 212W, PV Power 0W
2026-08-15 15:25:02.201779: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 15:25:02.201899: Inverter 0 scheduled charge enable is True
2026-08-15 15:25:02.201957: Inverter 0 charge windows currently [{'start': 630, 'end': 960, 'average': 0}, {'start': 2070, 'end': 2400, 'average': 0}, {'start': 3510, 'end': 3840, 'average': 0}]
2026-08-15 15:25:02.202072: Inverter 0 Charge settings: 08-15 10:30:00-08-15 16:00:00, limit 100.0%, power 5.0kW
2026-08-15 15:25:02.202217: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 15:25:02.202263: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 15:25:02.202312: Inverter 0 scheduled discharge enable is False
2026-08-15 15:25:02.202463: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 15:25:02.202502: Inverter 0 discharge windows currently []
2026-08-15 15:25:02.202530: Note: Inverter does not support discharge freeze - disabled
2026-08-15 15:25:02.202559: Note: Inverter does not support charge freeze - disabled
2026-08-15 15:25:02.202579: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 15:25:02.264974: Dynamic load last period 0.00kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 15:25:02.265096: Plan was last updated on 2026-08-15 15:15:00+01:00 and is now 10.0 minutes old
2026-08-15 15:25:02.265313: Best charge window [ 15-08 15:00:00 - 15-08 16:00:00 @ 15.45p 100%, 16-08 15:30:00 - 16-08 18:30:00 @ 41.95p 100%, 16-08 19:00:00 - 17-08 15:30:00 @ 21.97p 100% ]
2026-08-15 15:25:02.265355: Best export window [  ]
2026-08-15 15:25:02.266161: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 15:25:02.269195: Load divergence over 8.0 hours mean 445.86W, min 291.6W, max 1314.0W, std dev 162.88W, divergence 18.27%
2026-08-15 15:25:02.284931: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 15:25:02.285091: LoadML is_calculating False
2026-08-15 15:25:02.285169: Creating pool of 12 processes to match your CPU count
2026-08-15 15:25:02.398186: predict base end_record 08-16 15:40:00, final soc 16.0kWh, metric 1019.6p, metric_keep 0kWh, min_soc 2.79kWh @ 08-16 10:25:00, load 24.88kWh, PV 0.0kWh
2026-08-15 15:25:02.517035: Battery has 48.0 hours left - now at 13.86kWh
2026-08-15 15:25:02.559910: predict base10 end_record 08-16 15:40:00, final soc 16.0kWh, metric 1036.84p, metric_keep 0kWh, min_soc 2.08kWh @ 08-16 10:25:00, load 25.67kWh, PV 0.0kWh
2026-08-15 15:25:02.628342: predict best10 end_record 08-16 15:40:00, final soc 1.77kWh, metric 673.72p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 11:30:00, load 25.67kWh, PV 0.0kWh
2026-08-15 15:25:02.700978: predict best end_record 08-16 15:40:00, final soc 1.9kWh, metric 657.78p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 12:10:00, load 24.88kWh, PV 0.0kWh
2026-08-15 15:25:02.701067: Saving plan best values to HA entities
2026-08-15 15:25:02.891314: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0
2026-08-15 15:25:02.896582: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 15:25:02.902176: Best charging limit SoC's [16.0, 16.0, 16.0]kWh, export []kWh gives import battery 3.6kWh, house 2.26kWh, export 0.0kWh, metric 657.78p, metric10 673.72p
2026-08-15 15:25:02.969315: Marginal costs baseline metric (no standing charge): 607.7997
2026-08-15 15:25:03.212444: Marginal energy costs matrix computed: min=19.15 max=32.61
2026-08-15 15:25:03.281868: Rate array import [{'start': 925, 'end': 960, 'rate': 'cheap', 'range': '(15.0p - 15.9p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1920, 'rate': 'expensive', 'range': '(25.4p - 32.9p)'}, {'start': 1920, 'end': 2070, 'rate': 'cheap', 'range': '(24.2p - 24.8p)'}, {'start': 2070, 'end': 2100, 'rate': 'expensive', 'range': '(25.4p)'}, {'start': 2100, 'end': 2380, 'rate': 'cheap', 'range': '(21.3p - 24.7p)'}] export [{'start': 925, 'end': 2380, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 15:25:03.282309: - Your estimated bill for today is £5.36 and tomorrow is £8.94
2026-08-15 15:25:03.282353: - Import rates are cheap (15.0p - 15.9p) for the next 35 minutes and then expensive (33.1p) for the next 1 hour.
2026-08-15 15:25:03.282375: - The battery is currently at 87% and is charging to 100% for the next 35 minutes.
2026-08-15 15:25:03.282393: - For the next 48 hours there will be no solar generation.
2026-08-15 15:25:03.282412: - You will run out of battery in 20 hours.
2026-08-15 15:25:03.282429: 
2026-08-15 15:25:03.329858: Plan calculation took 1.06 seconds
2026-08-15 15:25:03.333686: No high rate period found
2026-08-15 15:25:03.378989: Import threshold used for optimisation was 24.26p
2026-08-15 15:25:03.438457: Low import rate windows [0: 08-15 15:00:00 - 08-15 15:30:00 @ 15.02, 1: 08-15 15:30:00 - 08-15 16:00:00 @ 15.87, 2: 08-15 16:00:00 - 08-15 16:30:00 @ 33.13, 3: 08-15 16:30:00 - 08-15 17:00:00 @ 33.13, 4: 08-15 17:00:00 - 08-15 17:30:00 @ 38.46, 5: 08-15 17:30:00 - 08-15 18:00:00 @ 40.44, 6: 08-15 18:00:00 - 08-15 18:30:00 @ 41.55, 7: 08-15 18:30:00 - 08-15 19:00:00 @ 43.82, 8: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 9: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 10: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 11: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 12: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 13: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 14: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 15: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 16: 08-15 23:00:00 - 08-15 23:30:00 @ 29.37, 17: 08-15 23:30:00 - 08-16 00:00:00 @ 29.2, 18: 08-16 00:00:00 - 08-16 00:30:00 @ 28.83, 19: 08-16 00:30:00 - 08-16 01:00:00 @ 28.46, 20: 08-16 01:00:00 - 08-16 01:30:00 @ 27.73, 21: 08-16 01:30:00 - 08-16 02:00:00 @ 27.01, 22: 08-16 02:00:00 - 08-16 02:30:00 @ 26.76, 23: 08-16 02:30:00 - 08-16 03:00:00 @ 26.48, 24: 08-16 03:00:00 - 08-16 03:30:00 @ 26.39, 25: 08-16 03:30:00 - 08-16 04:00:00 @ 26.27, 26: 08-16 04:00:00 - 08-16 04:30:00 @ 26.33, 27: 08-16 04:30:00 - 08-16 05:00:00 @ 26.37, 28: 08-16 05:00:00 - 08-16 05:30:00 @ 26.23, 29: 08-16 05:30:00 - 08-16 06:00:00 @ 26.07, 30: 08-16 06:00:00 - 08-16 06:30:00 @ 25.99, 31: 08-16 06:30:00 - 08-16 07:00:00 @ 25.92, 32: 08-16 07:00:00 - 08-16 07:30:00 @ 25.64, 33: 08-16 07:30:00 - 08-16 08:00:00 @ 25.39, 34: 08-16 08:00:00 - 08-16 08:30:00 @ 24.84, 35: 08-16 08:30:00 - 08-16 09:00:00 @ 24.28, 36: 08-16 09:00:00 - 08-16 09:30:00 @ 24.26, 37: 08-16 09:30:00 - 08-16 10:00:00 @ 24.22, 38: 08-16 10:00:00 - 08-16 10:30:00 @ 24.8, 39: 08-16 10:30:00 - 08-16 11:00:00 @ 25.37, 40: 08-16 11:00:00 - 08-16 11:30:00 @ 24.71, 41: 08-16 11:30:00 - 08-16 12:00:00 @ 24.02, 42: 08-16 12:00:00 - 08-16 12:30:00 @ 23.79, 43: 08-16 12:30:00 - 08-16 13:00:00 @ 23.55, 44: 08-16 13:00:00 - 08-16 13:30:00 @ 23.14, 45: 08-16 13:30:00 - 08-16 14:00:00 @ 22.71, 46: 08-16 14:00:00 - 08-16 14:30:00 @ 22.01, 47: 08-16 14:30:00 - 08-16 15:00:00 @ 21.29, 48: 08-16 15:00:00 - 08-16 15:30:00 @ 22.01, 49: 08-16 15:30:00 - 08-16 16:00:00 @ 22.71, 50: 08-16 16:00:00 - 08-16 16:30:00 @ 37.14, 51: 08-16 16:30:00 - 08-16 17:00:00 @ 37.91, 52: 08-16 17:00:00 - 08-16 17:30:00 @ 40.13, 53: 08-16 17:30:00 - 08-16 18:00:00 @ 42.36, 54: 08-16 18:00:00 - 08-16 18:30:00 @ 44.19, 55: 08-16 19:00:00 - 08-16 19:30:00 @ 33.04, 56: 08-16 19:30:00 - 08-16 20:00:00 @ 33.71, 57: 08-16 20:00:00 - 08-16 20:30:00 @ 33.83, 58: 08-16 20:30:00 - 08-16 21:00:00 @ 33.94, 59: 08-16 21:00:00 - 08-16 21:30:00 @ 33.73, 60: 08-16 21:30:00 - 08-16 22:00:00 @ 33.53, 61: 08-16 22:00:00 - 08-16 22:30:00 @ 32.36, 62: 08-16 22:30:00 - 08-16 23:00:00 @ 31.17, 63: 08-16 23:00:00 - 08-16 23:30:00 @ 29.37, 64: 08-16 23:30:00 - 08-17 00:00:00 @ 29.2, 65: 08-17 00:00:00 - 08-17 00:30:00 @ 28.83, 66: 08-17 00:30:00 - 08-17 01:00:00 @ 28.46, 67: 08-17 01:00:00 - 08-17 01:30:00 @ 27.73, 68: 08-17 01:30:00 - 08-17 02:00:00 @ 27.01, 69: 08-17 02:00:00 - 08-17 02:30:00 @ 26.76, 70: 08-17 02:30:00 - 08-17 03:00:00 @ 26.48, 71: 08-17 03:00:00 - 08-17 03:30:00 @ 26.39, 72: 08-17 03:30:00 - 08-17 04:00:00 @ 26.27, 73: 08-17 04:00:00 - 08-17 04:30:00 @ 26.33, 74: 08-17 04:30:00 - 08-17 05:00:00 @ 26.37, 75: 08-17 05:00:00 - 08-17 05:30:00 @ 26.23, 76: 08-17 05:30:00 - 08-17 06:00:00 @ 26.07, 77: 08-17 06:00:00 - 08-17 06:30:00 @ 25.99, 78: 08-17 06:30:00 - 08-17 07:00:00 @ 25.92, 79: 08-17 07:00:00 - 08-17 07:30:00 @ 25.64, 80: 08-17 07:30:00 - 08-17 08:00:00 @ 25.39, 81: 08-17 08:00:00 - 08-17 08:30:00 @ 24.84, 82: 08-17 08:30:00 - 08-17 09:00:00 @ 24.28, 83: 08-17 09:00:00 - 08-17 09:30:00 @ 24.26, 84: 08-17 09:30:00 - 08-17 10:00:00 @ 24.22, 85: 08-17 10:00:00 - 08-17 10:30:00 @ 24.8, 86: 08-17 10:30:00 - 08-17 11:00:00 @ 25.37, 87: 08-17 11:00:00 - 08-17 11:30:00 @ 24.71, 88: 08-17 11:30:00 - 08-17 12:00:00 @ 24.02, 89: 08-17 12:00:00 - 08-17 12:30:00 @ 23.79, 90: 08-17 12:30:00 - 08-17 13:00:00 @ 23.55, 91: 08-17 13:00:00 - 08-17 13:30:00 @ 23.14, 92: 08-17 13:30:00 - 08-17 14:00:00 @ 22.71, 93: 08-17 14:00:00 - 08-17 14:30:00 @ 22.01, 94: 08-17 14:30:00 - 08-17 15:00:00 @ 21.29, 95: 08-17 15:00:00 - 08-17 15:30:00 @ 22.01]
2026-08-15 15:25:03.446030: Include original charge start 08-15 10:30:00, keeping this instead of new start 08-15 15:00:00
2026-08-15 15:25:03.446177: Inverter 0 Charge window will be: 2026-08-15 10:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 87%, target 100%
2026-08-15 15:25:03.446373: Inverter 0 Target SoC 100%, (this inverter 100%), battery temperature 20°C, select charge rate 5000W (real 5000W), current charge rate 5000W
2026-08-15 15:25:03.446613: Adjust idle time, charge 10:30:00-16:00:00 discharge 00:00:00-00:00:00
2026-08-15 15:25:03.446893: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 15:25:03.446999: No export window planned
2026-08-15 15:25:03.447123: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 15:25:03.447195: Adjust idle time, charge 10:30:00-16:00:00 discharge 00:00:00-00:00:00
2026-08-15 15:25:03.447369: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 15:25:03.447503: Inverter 0 setting charging SoC to 100% as per target
2026-08-15 15:25:03.447553: Inverter 0 adjust target SoC for charge to 100% based on requested all inverter SoC 100%
2026-08-15 15:25:03.447612: Inverter 0 Current Target SoC is 100%, already at target
2026-08-15 15:25:03.447755: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:25:03.447803: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:25:03.447832: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:25:03.447857: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:25:03.447889: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:25:03.447914: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:25:03.447938: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:25:03.447987: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 15:25:03.448017: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 15:25:03.448051: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 15:25:03.448076: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 15:25:03.448111: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 15:25:03.448137: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 15:25:03.448167: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 15:25:03.448254: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:25:03.448306: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:25:03.448333: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:25:03.448363: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:25:03.448389: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:25:03.448418: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:25:03.448442: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:25:03.448469: Inverter 0 count register writes 0
2026-08-15 15:25:03.464550: Will recompute the plan as it is now 10.0 minutes old and will exceed the max age of 10 minutes before the next run
2026-08-15 15:25:03.464707: Recompute is saving previous plan...
2026-08-15 15:25:03.467241: Best charge window [ 15-08 15:00:00 - 15-08 15:30:00 @ 15.02p 100%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 100%, 15-08 16:00:00 - 15-08 16:30:00 @ 33.13p 100%, 15-08 16:30:00 - 15-08 17:00:00 @ 33.13p 100%, 15-08 17:00:00 - 15-08 17:30:00 @ 38.46p 100%, 15-08 17:30:00 - 15-08 18:00:00 @ 40.44p 100%, 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 100%, 15-08 18:30:00 - 15-08 19:00:00 @ 43.82p 100%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 100%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 100%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 100%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 100%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 100%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 100%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 100%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 100%, 15-08 23:00:00 - 15-08 23:30:00 @ 29.37p 100%, 15-08 23:30:00 - 16-08 00:00:00 @ 29.2p 100%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.83p 100%, 16-08 00:30:00 - 16-08 01:00:00 @ 28.46p 100%, 16-08 01:00:00 - 16-08 01:30:00 @ 27.73p 100%, 16-08 01:30:00 - 16-08 02:00:00 @ 27.01p 100%, 16-08 02:00:00 - 16-08 02:30:00 @ 26.76p 100%, 16-08 02:30:00 - 16-08 03:00:00 @ 26.48p 100%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.39p 100%, 16-08 03:30:00 - 16-08 04:00:00 @ 26.27p 100%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.33p 100%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.37p 100%, 16-08 05:00:00 - 16-08 05:30:00 @ 26.23p 100%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.07p 100%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.99p 100%, 16-08 06:30:00 - 16-08 07:00:00 @ 25.92p 100%, 16-08 07:00:00 - 16-08 07:30:00 @ 25.64p 100%, 16-08 07:30:00 - 16-08 08:00:00 @ 25.39p 100%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.84p 100%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.28p 100%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.26p 100%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.22p 100%, 16-08 10:00:00 - 16-08 10:30:00 @ 24.8p 100%, 16-08 10:30:00 - 16-08 11:00:00 @ 25.37p 100%, 16-08 11:00:00 - 16-08 11:30:00 @ 24.71p 100%, 16-08 11:30:00 - 16-08 12:00:00 @ 24.02p 100%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.79p 100%, 16-08 12:30:00 - 16-08 13:00:00 @ 23.55p 100%, 16-08 13:00:00 - 16-08 13:30:00 @ 23.14p 100%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.71p 100%, 16-08 14:00:00 - 16-08 14:30:00 @ 22.01p 100%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.29p 100%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.01p 100%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.71p 100%, 16-08 16:00:00 - 16-08 16:30:00 @ 37.14p 100%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.91p 100%, 16-08 17:00:00 - 16-08 17:30:00 @ 40.13p 100%, 16-08 17:30:00 - 16-08 18:00:00 @ 42.36p 100%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.19p 100%, 16-08 19:00:00 - 16-08 19:30:00 @ 33.04p 100%, 16-08 19:30:00 - 16-08 20:00:00 @ 33.71p 100%, 16-08 20:00:00 - 16-08 20:30:00 @ 33.83p 100%, 16-08 20:30:00 - 16-08 21:00:00 @ 33.94p 100%, 16-08 21:00:00 - 16-08 21:30:00 @ 33.73p 100%, 16-08 21:30:00 - 16-08 22:00:00 @ 33.53p 100%, 16-08 22:00:00 - 16-08 22:30:00 @ 32.36p 100%, 16-08 22:30:00 - 16-08 23:00:00 @ 31.17p 100%, 16-08 23:00:00 - 16-08 23:30:00 @ 29.37p 100%, 16-08 23:30:00 - 17-08 00:00:00 @ 29.2p 100%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.83p 100%, 17-08 00:30:00 - 17-08 01:00:00 @ 28.46p 100%, 17-08 01:00:00 - 17-08 01:30:00 @ 27.73p 100%, 17-08 01:30:00 - 17-08 02:00:00 @ 27.01p 100%, 17-08 02:00:00 - 17-08 02:30:00 @ 26.76p 100%, 17-08 02:30:00 - 17-08 03:00:00 @ 26.48p 100%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.39p 100%, 17-08 03:30:00 - 17-08 04:00:00 @ 26.27p 100%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.33p 100%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.37p 100%, 17-08 05:00:00 - 17-08 05:30:00 @ 26.23p 100%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.07p 100%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.99p 100%, 17-08 06:30:00 - 17-08 07:00:00 @ 25.92p 100%, 17-08 07:00:00 - 17-08 07:30:00 @ 25.64p 100%, 17-08 07:30:00 - 17-08 08:00:00 @ 25.39p 100%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.84p 100%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.28p 100%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.26p 100%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.22p 100%, 17-08 10:00:00 - 17-08 10:30:00 @ 24.8p 100%, 17-08 10:30:00 - 17-08 11:00:00 @ 25.37p 100%, 17-08 11:00:00 - 17-08 11:30:00 @ 24.71p 100%, 17-08 11:30:00 - 17-08 12:00:00 @ 24.02p 100%, 17-08 12:00:00 - 17-08 12:30:00 @ 23.79p 100%, 17-08 12:30:00 - 17-08 13:00:00 @ 23.55p 100%, 17-08 13:00:00 - 17-08 13:30:00 @ 23.14p 100%, 17-08 13:30:00 - 17-08 14:00:00 @ 22.71p 100%, 17-08 14:00:00 - 17-08 14:30:00 @ 22.01p 100%, 17-08 14:30:00 - 17-08 15:00:00 @ 21.29p 100%, 17-08 15:00:00 - 17-08 15:30:00 @ 22.01p 100% ]
2026-08-15 15:25:03.467317: Best export window [  ]
2026-08-15 15:25:03.468010: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 15:25:03.470633: Load divergence over 8.0 hours mean 445.86W, min 291.6W, max 1314.0W, std dev 162.88W, divergence 18.27%
2026-08-15 15:25:03.485131: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 15:25:03.485230: LoadML is_calculating False
2026-08-15 15:25:03.485290: Creating pool of 12 processes to match your CPU count
2026-08-15 15:25:03.567718: Calculate Best options: mode(Control charge & discharge), calculate_export_oncharge(False), calculate_export_on_pv(True), set_export_freeze_only(False), set_discharge_during_charge(True), combine_charge_slots(False), combine_export_slots(False), combine_rate_threshold(0.0), best_soc_min(0.0 kWh), best_soc_max(0.0 kWh), best_soc_keep(0.0 kWh), inverter_loss(4%), battery_loss(3%), battery_loss_discharge (3%), inverter_hybrid(True), metric_min_improvement(0.0p), metric_min_improvement_export(0.1p), metric_min_improvement_export_freeze(0.1p), metric_battery_cycle(0.0p/kWh), metric_battery_value_scaling(1.0 x) 
2026-08-15 15:25:03.569452: Optimise levels pass started at 2026-08-15 15:25:03
2026-08-15 15:25:03.569504: Optimise all windows, total charge 95 export 1
2026-08-15 15:25:04.130912: >> Region optimisation pass width 960 gives best_metric 980.03p, best_cost 994.0p, best_cycle 27.1kWh, best_import 21.41kWh
2026-08-15 15:25:04.658464: >> Region optimisation pass width 480 gives best_metric 989.19p, best_cost 1002.82p, best_cycle 22.45kWh, best_import 21.08kWh
2026-08-15 15:25:05.105048: >> Region optimisation pass width 240 gives best_metric 989.19p, best_cost 1002.82p, best_cycle 22.45kWh, best_import 21.08kWh
2026-08-15 15:25:05.473348: >> Region optimisation pass width 120 gives best_metric 989.19p, best_cost 1002.82p, best_cycle 22.45kWh, best_import 21.08kWh
2026-08-15 15:25:05.473628: Calculated end_record as 08-16 15:30:00 based on best_price 22.01p, next_charge_start 08-15 15:30:00, max_windows 49
2026-08-15 15:25:05.473714: Optimise levels pass ended at 2026-08-15 15:25:05, duration 1.9 seconds tried 31 combinations
2026-08-15 15:25:05.473809: Set best_price_charge_level 23.6p, best_price_export_level 0p, best_price_charge 22.01p, best_cost_export 0p, best_metric 989.19p, best_keep 0kWh, best_cycle 22.45kWh, best_carbon 0kg, best_import 21.08kWh
2026-08-15 15:25:05.488610: Starting detailed optimisation end_record 08-16 15:30:00, best_price_charge 22.01p, best_price_export 0p. lowest_price_charge 15.02p with charge limits [16.0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0]kWh and export limits []kWh
2026-08-15 15:25:07.782789: Tweak plan optimisation started metric 569.18p, cost 586.81p
2026-08-15 15:25:08.008337: Tweak optimisation finished metric 569.18p, cost 586.81p, metric_keep 0kWh, cycle 16.64kWh, carbon 0kg, import 4.93kWh, changed 8 window(s)
2026-08-15 15:25:08.027301: Swap charge optimisation started metric 569.18p, cost 586.81p, min_improvement_swap 0.1p
2026-08-15 15:25:08.609345: Swap charge optimisation finished metric 569.18p, cost 586.81p
2026-08-15 15:25:08.648168: Raw charge windows [ 15-08 15:00:00 - 15-08 15:30:00 @ 15.02p 100%, 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 100%, 15-08 16:00:00 - 15-08 16:30:00 @ 33.13p 0%, 15-08 16:30:00 - 15-08 17:00:00 @ 33.13p 0%, 15-08 17:00:00 - 15-08 17:30:00 @ 38.46p 0%, 15-08 17:30:00 - 15-08 18:00:00 @ 40.44p 0%, 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 0%, 15-08 18:30:00 - 15-08 19:00:00 @ 43.82p 0%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 0%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 0%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 0%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 0%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 29.37p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 29.2p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.83p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 28.46p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 27.73p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 27.01p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 26.76p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 26.48p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.39p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 26.27p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.33p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.37p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 26.23p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.07p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.99p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 25.92p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 25.64p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 25.39p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.84p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.28p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.26p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.22p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 24.8p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 25.37p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 24.71p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 24.02p 0%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.79p 0%, 16-08 12:30:00 - 16-08 13:00:00 @ 23.55p 0%, 16-08 13:00:00 - 16-08 13:30:00 @ 23.14p 0%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.71p 0%, 16-08 14:00:00 - 16-08 14:30:00 @ 22.01p 0%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.29p 0%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.01p 0%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.71p 100%, 16-08 16:00:00 - 16-08 16:30:00 @ 37.14p 100%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.91p 100%, 16-08 17:00:00 - 16-08 17:30:00 @ 40.13p 100%, 16-08 17:30:00 - 16-08 18:00:00 @ 42.36p 100%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.19p 100%, 16-08 19:00:00 - 16-08 19:30:00 @ 33.04p 100%, 16-08 19:30:00 - 16-08 20:00:00 @ 33.71p 100%, 16-08 20:00:00 - 16-08 20:30:00 @ 33.83p 100%, 16-08 20:30:00 - 16-08 21:00:00 @ 33.94p 100%, 16-08 21:00:00 - 16-08 21:30:00 @ 33.73p 100%, 16-08 21:30:00 - 16-08 22:00:00 @ 33.53p 100%, 16-08 22:00:00 - 16-08 22:30:00 @ 32.36p 100%, 16-08 22:30:00 - 16-08 23:00:00 @ 31.17p 100%, 16-08 23:00:00 - 16-08 23:30:00 @ 29.37p 100%, 16-08 23:30:00 - 17-08 00:00:00 @ 29.2p 100%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.83p 100%, 17-08 00:30:00 - 17-08 01:00:00 @ 28.46p 100%, 17-08 01:00:00 - 17-08 01:30:00 @ 27.73p 100%, 17-08 01:30:00 - 17-08 02:00:00 @ 27.01p 100%, 17-08 02:00:00 - 17-08 02:30:00 @ 26.76p 100%, 17-08 02:30:00 - 17-08 03:00:00 @ 26.48p 100%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.39p 100%, 17-08 03:30:00 - 17-08 04:00:00 @ 26.27p 100%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.33p 100%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.37p 100%, 17-08 05:00:00 - 17-08 05:30:00 @ 26.23p 100%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.07p 100%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.99p 100%, 17-08 06:30:00 - 17-08 07:00:00 @ 25.92p 100%, 17-08 07:00:00 - 17-08 07:30:00 @ 25.64p 100%, 17-08 07:30:00 - 17-08 08:00:00 @ 25.39p 100%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.84p 100%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.28p 100%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.26p 100%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.22p 100%, 17-08 10:00:00 - 17-08 10:30:00 @ 24.8p 100%, 17-08 10:30:00 - 17-08 11:00:00 @ 25.37p 100%, 17-08 11:00:00 - 17-08 11:30:00 @ 24.71p 100%, 17-08 11:30:00 - 17-08 12:00:00 @ 24.02p 100%, 17-08 12:00:00 - 17-08 12:30:00 @ 23.79p 100%, 17-08 12:30:00 - 17-08 13:00:00 @ 23.55p 100%, 17-08 13:00:00 - 17-08 13:30:00 @ 23.14p 100%, 17-08 13:30:00 - 17-08 14:00:00 @ 22.71p 100%, 17-08 14:00:00 - 17-08 14:30:00 @ 22.01p 100%, 17-08 14:30:00 - 17-08 15:00:00 @ 21.29p 100%, 17-08 15:00:00 - 17-08 15:30:00 @ 22.01p 100% ] reserve 1.12
2026-08-15 15:25:08.648859: Unclipped charge windows [ 15-08 15:00:00 - 15-08 16:00:00 @ 15.45p 100%, 16-08 15:30:00 - 16-08 18:30:00 @ 41.95p 100%, 16-08 19:00:00 - 17-08 15:30:00 @ 21.97p 100% ] reserve 1.12
2026-08-15 15:25:08.649180: Unfiltered charge windows [ 15-08 15:00:00 - 15-08 16:00:00 @ 15.45p 100%, 16-08 15:30:00 - 16-08 18:30:00 @ 41.95p 100%, 16-08 19:00:00 - 17-08 15:30:00 @ 21.97p 100% ] reserve 1.12
2026-08-15 15:25:08.649401: Filtered charge windows [ 15-08 15:00:00 - 15-08 16:00:00 @ 15.45p 100%, 16-08 15:30:00 - 16-08 18:30:00 @ 41.95p 100%, 16-08 19:00:00 - 17-08 15:30:00 @ 21.97p 100% ] reserve 1.12
2026-08-15 15:25:08.685599: Previous plan best metric is 569.18 (cost 586.81) and new plan best metric is 569.18 (cost 586.81)
2026-08-15 15:25:08.685882: New plan metric is not significantly better (metric_min_improvement_plan 2.0) than previous plan, using previous plan
2026-08-15 15:25:08.686099: Plan valid is now true after recompute was False
2026-08-15 15:25:08.719891: predict base end_record 08-16 15:30:00, final soc 16.0kWh, metric 1017.54p, metric_keep 0kWh, min_soc 2.79kWh @ 08-16 10:25:00, load 24.79kWh, PV 0.0kWh
2026-08-15 15:25:08.834762: Battery has 48.0 hours left - now at 13.86kWh
2026-08-15 15:25:08.872075: predict base10 end_record 08-16 15:30:00, final soc 16.0kWh, metric 1034.68p, metric_keep 0kWh, min_soc 2.08kWh @ 08-16 10:25:00, load 25.57kWh, PV 0.0kWh
2026-08-15 15:25:08.947161: predict best10 end_record 08-16 15:30:00, final soc 1.12kWh, metric 655.78p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 11:30:00, load 25.57kWh, PV 0.0kWh
2026-08-15 15:25:09.027451: predict best end_record 08-16 15:30:00, final soc 1.12kWh, metric 636.8p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 12:10:00, load 24.79kWh, PV 0.0kWh
2026-08-15 15:25:09.027564: Saving plan best values to HA entities
2026-08-15 15:25:09.175751: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0
2026-08-15 15:25:09.181295: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 15:25:09.186591: Best charging limit SoC's [16.0, 16.0, 16.0]kWh, export []kWh gives import battery 2.67kWh, house 2.26kWh, export 0.0kWh, metric 636.8p, metric10 655.78p
2026-08-15 15:25:09.257832: Marginal costs baseline metric (no standing charge): 586.8126
2026-08-15 15:25:09.473981: Marginal energy costs matrix computed: min=19.15 max=32.61
2026-08-15 15:25:09.538190: Rate array import [{'start': 925, 'end': 960, 'rate': 'cheap', 'range': '(15.0p - 15.9p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1920, 'rate': 'expensive', 'range': '(25.4p - 32.9p)'}, {'start': 1920, 'end': 2070, 'rate': 'cheap', 'range': '(24.2p - 24.8p)'}, {'start': 2070, 'end': 2100, 'rate': 'expensive', 'range': '(25.4p)'}, {'start': 2100, 'end': 2370, 'rate': 'cheap', 'range': '(21.3p - 24.7p)'}] export [{'start': 925, 'end': 2370, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 15:25:09.538597: - Your estimated bill for today is £5.36 and tomorrow is £8.94
2026-08-15 15:25:09.538654: - Import rates are cheap (15.0p - 15.9p) for the next 35 minutes and then expensive (33.1p) for the next 1 hour.
2026-08-15 15:25:09.538679: - The battery is currently at 87% and is charging to 100% for the next 35 minutes.
2026-08-15 15:25:09.538698: - For the next 48 hours there will be no solar generation.
2026-08-15 15:25:09.538715: - You will run out of battery in 20 hours.
2026-08-15 15:25:09.538733: 
2026-08-15 15:25:09.586635: Plan calculation took 6.12 seconds
2026-08-15 15:25:09.587052: Inverter 0: Type SK Sunsynk
2026-08-15 15:25:09.587126: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 15:25:09.587360: Reserve min: 7%, battery_min: 7%
2026-08-15 15:25:09.587446: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 15:25:09.587820: Inverter 0 SoC: 13.86kW 87%, current charge rate 5000W, current discharge rate 5250W, current battery power -4554W, current battery voltage 51.2V, grid power -5209W, load power 212W, PV Power 0W
2026-08-15 15:25:09.588062: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 15:25:09.588179: Inverter 0 scheduled charge enable is True
2026-08-15 15:25:09.588237: Inverter 0 charge windows currently [{'start': 630, 'end': 960, 'average': 0}, {'start': 2070, 'end': 2400, 'average': 0}, {'start': 3510, 'end': 3840, 'average': 0}]
2026-08-15 15:25:09.588339: Inverter 0 Charge settings: 08-15 10:30:00-08-15 16:00:00, limit 100.0%, power 5.0kW
2026-08-15 15:25:09.588472: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 15:25:09.588508: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 15:25:09.588545: Inverter 0 scheduled discharge enable is False
2026-08-15 15:25:09.588684: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 15:25:09.588724: Inverter 0 discharge windows currently []
2026-08-15 15:25:09.588754: Note: Inverter does not support discharge freeze - disabled
2026-08-15 15:25:09.588789: Note: Inverter does not support charge freeze - disabled
2026-08-15 15:25:09.588828: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 15:25:09.642767: Include original charge start 08-15 10:30:00, keeping this instead of new start 08-15 15:00:00
2026-08-15 15:25:09.642904: Inverter 0 Charge window will be: 2026-08-15 10:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 87%, target 100%
2026-08-15 15:25:09.643022: Inverter 0 Target SoC 100%, (this inverter 100%), battery temperature 20°C, select charge rate 5000W (real 5000W), current charge rate 5000W
2026-08-15 15:25:09.643166: Adjust idle time, charge 10:30:00-16:00:00 discharge 00:00:00-00:00:00
2026-08-15 15:25:09.643338: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 15:25:09.643405: No export window planned
2026-08-15 15:25:09.643520: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 15:25:09.643551: Adjust idle time, charge 10:30:00-16:00:00 discharge 00:00:00-00:00:00
2026-08-15 15:25:09.643682: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 15:25:09.643781: Inverter 0 setting charging SoC to 100% as per target
2026-08-15 15:25:09.643810: Inverter 0 adjust target SoC for charge to 100% based on requested all inverter SoC 100%
2026-08-15 15:25:09.643849: Inverter 0 Current Target SoC is 100%, already at target
2026-08-15 15:25:09.643937: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:25:09.643965: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:25:09.643987: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:25:09.644006: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:25:09.644027: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:25:09.644047: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:25:09.644088: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:25:09.644127: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 15:25:09.644151: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 15:25:09.644174: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 15:25:09.644195: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 15:25:09.644222: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 15:25:09.644243: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 15:25:09.644263: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 15:25:09.644309: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:25:09.644331: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:25:09.644350: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:25:09.644372: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:25:09.644392: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:25:09.644411: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:25:09.644431: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:25:09.644446: Inverter 0 count register writes 0
2026-08-15 15:25:09.664080: Total inverter register writes now 825
2026-08-15 15:25:09.696731: Info: Completed run status Charging
2026-08-15 15:25:09.703128: Info: record_status Charging target 87%-100.0%
2026-08-15 15:25:09.710171: Saved current settings to /config/predbat_config.json
2026-08-15 15:25:09.710474: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 15:25:41.813188: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 15:25:41.813517: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 15:25:41.813574: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 15:25:41.813804: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 15:25:41.813853: Note: Inverter does not support discharge freeze - disabled
2026-08-15 15:25:41.813882: Note: Inverter does not support charge freeze - disabled
2026-08-15 15:25:41.813923: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 15:27:42.038412: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 15:27:42.038953: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 15:27:42.039004: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 15:27:42.039330: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 15:27:42.039375: Note: Inverter does not support discharge freeze - disabled
2026-08-15 15:27:42.039394: Note: Inverter does not support charge freeze - disabled
2026-08-15 15:27:42.039500: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 15:29:42.252867: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 15:29:42.253288: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 15:29:42.253343: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 15:29:42.253540: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 15:29:42.253606: Note: Inverter does not support discharge freeze - disabled
2026-08-15 15:29:42.253635: Note: Inverter does not support charge freeze - disabled
2026-08-15 15:29:42.253678: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 15:30:00.347310: --------------- PredBat - update at 2026-08-15 15:30:00+01:00 with clock skew 0 minutes, minutes now 930
2026-08-15 15:30:00.348068: Saved current settings to /config/predbat_config.json
2026-08-15 15:30:00.348219: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 70.0 minutes
2026-08-15 15:30:00.348330: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.2, latest beta is v8.48.2
2026-08-15 15:30:00.348472: Autoupdate: There is an update pending v8.48.2 PV90 and second pass enabled by default, bug fixes - auto update is off
2026-08-15 15:30:00.369032: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 15:30:00.369167: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 15:30:00.369404: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 15:30:00.370019: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 15:30:00.370184: Predbat mode is set to Control charge & discharge
2026-08-15 15:30:00.618243: Found 21602 load_today datapoints going back 28 days
2026-08-15 15:30:00.618406: Using load_power data to fill gaps in load_today data
2026-08-15 15:30:01.497511: Processing 721 30-minute periods for power integration
2026-08-15 15:30:01.698769: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 15:30:01.698916: Car charging hold False, threshold 6.0kWh
2026-08-15 15:30:01.698963: Current data so far today: load 8.3kWh, import 24.3kWh, export 0.0kWh, PV 0kWh
2026-08-15 15:30:01.714227: Cars: SoC: [11.134]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 15:30:01.714717: Standing charge is set to 49.98p
2026-08-15 15:30:01.760849: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 15:30:01.760987: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 15:30:01.761197: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 290.0 minutes
2026-08-15 15:30:01.761679: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 290.0 minutes
2026-08-15 15:30:01.766845: Loaded 95 datapoints of futurerate analysis
2026-08-15 15:30:01.869194: Predicted future rates: ['08-15 00:00:00 => 28.9 / 20.01', '08-15 01:00:00 => 27.54 / 19.31', '08-15 02:00:00 => 26.52 / 18.8', '08-15 03:00:00 => 25.99 / 18.53', '08-15 04:00:00 => 25.8 / 18.43', '08-15 05:00:00 => 25.96 / 18.51', '08-15 06:00:00 => 25.55 / 18.3', '08-15 07:00:00 => 24.33 / 17.68', '08-15 08:00:00 => 23.03 / 17.01', '08-15 09:00:00 => 22.05 / 16.51', '08-15 10:00:00 => 20.43 / 15.68', '08-15 11:00:00 => 18.01 / 14.45', '08-15 12:00:00 => 16.37 / 13.61', '08-15 13:00:00 => 15.76 / 13.3', '08-15 14:00:00 => 15.35 / 13.09', '08-15 15:00:00 => 15.86 / 13.35', '08-15 16:00:00 => 32.89 / 16.13', '08-15 17:00:00 => 38.02 / 18.75', '08-15 18:00:00 => 42.36 / 20.96', '08-15 19:00:00 => 31.09 / 21.13', '08-15 20:00:00 => 31.64 / 21.41', '08-15 21:00:00 => 31.64 / 21.41', '08-15 22:00:00 => 30.58 / 20.87', '08-15 23:00:00 => 29.37 / 20.25', '08-16 00:00:00 => 28.83 / 19.97', '08-16 01:00:00 => 27.73 / 19.41', '08-16 02:00:00 => 26.76 / 18.92', '08-16 03:00:00 => 26.39 / 18.73', '08-16 04:00:00 => 26.33 / 18.7', '08-16 05:00:00 => 26.23 / 18.65', '08-16 06:00:00 => 25.99 / 18.53', '08-16 07:00:00 => 25.64 / 18.35', '08-16 08:00:00 => 24.84 / 17.94', '08-16 09:00:00 => 24.26 / 17.64', '08-16 10:00:00 => 24.8 / 17.92', '08-16 11:00:00 => 24.71 / 17.87', '08-16 12:00:00 => 23.79 / 17.4', '08-16 13:00:00 => 23.14 / 17.07', '08-16 14:00:00 => 22.01 / 16.49']
2026-08-15 15:30:01.938134: Rate min forward looking: now 15.87p at end of forecast 21.29p
2026-08-15 15:30:01.938799: Import rates: min 15.87p, max 46.05p, average 28.29p
2026-08-15 15:30:01.983893: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 15:30:01.984039: Rate thresholds (for charge/export) are import 45.55p (0.0p), export -0.1p (0.0p)
2026-08-15 15:30:01.985423: High export rate found rates in range 99p to -99p
2026-08-15 15:30:02.092998: Low Import rate found rates in range 15.87p to 44.19p
2026-08-15 15:30:02.093146: Car 0 charging is not planned as it is not plugged in
2026-08-15 15:30:02.108184: Battery level now 13.86kWh, -1hr ago 10.02kWh, at midnight 1.66kWh, battery value change in the last hour 52.23p, change today 166.29p, rate_forward 13.63p
2026-08-15 15:30:02.108582: Last hour: net energy 4.85kWh, import 4.85kWh, export 0.0kWh, car 0kWh, load 0.12kWh, net cost 69.61p, import 69.61p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 15:30:02.176837: Today's energy total net 24.3kWh, import 24.3kWh, export 0.0kWh, cost 507.04p, import 457.06p, export 0.0p, carbon 0.0kg
2026-08-15 15:30:02.177078: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 15:30:02.291883: Using weighted-bucket historical load forecast over 14 days
2026-08-15 15:30:02.322330: Today's load divergence 92.51%, in-day adjustment 110.91%, damping 0.95x, yesterday 143.77% today 92.88% blend 35.42%
2026-08-15 15:30:02.322436: Today's predicted so far 9.49kWh with 0.0kWh car/iBoost excluded, 17.79kWh import ignored, and 9.49kWh forecast extra.
2026-08-15 15:30:02.322469: Today's actual load so far 8.43kWh with 0.0kWh car/iBoost excluded, and 17.79kWh import ignored.
2026-08-15 15:30:02.356368: Inverter 0: Type SK Sunsynk
2026-08-15 15:30:02.356462: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 15:30:02.356741: Reserve min: 7%, battery_min: 7%
2026-08-15 15:30:02.356826: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 15:30:02.357177: Inverter 0 SoC: 13.86kW 87%, current charge rate 5000W, current discharge rate 5250W, current battery power -4555W, current battery voltage 51.2V, grid power -5253W, load power 257W, PV Power 0W
2026-08-15 15:30:02.357503: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 15:30:02.357646: Inverter 0 scheduled charge enable is True
2026-08-15 15:30:02.358181: Inverter 0 charge windows currently [{'start': 630, 'end': 960, 'average': 0}, {'start': 2070, 'end': 2400, 'average': 0}, {'start': 3510, 'end': 3840, 'average': 0}]
2026-08-15 15:30:02.358352: Inverter 0 Charge settings: 08-15 10:30:00-08-15 16:00:00, limit 100.0%, power 5.0kW
2026-08-15 15:30:02.358529: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 15:30:02.358643: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 15:30:02.358746: Inverter 0 scheduled discharge enable is False
2026-08-15 15:30:02.358953: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 15:30:02.359000: Inverter 0 discharge windows currently []
2026-08-15 15:30:02.359027: Note: Inverter does not support discharge freeze - disabled
2026-08-15 15:30:02.359061: Note: Inverter does not support charge freeze - disabled
2026-08-15 15:30:02.359099: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 15:30:02.428921: Dynamic load last period 0.00kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 15:30:02.429089: Plan was last updated on 2026-08-15 15:25:00+01:00 and is now 5.0 minutes old
2026-08-15 15:30:02.429294: Best charge window [ 15-08 15:00:00 - 15-08 16:00:00 @ 15.45p 100%, 16-08 15:30:00 - 16-08 18:30:00 @ 41.95p 100%, 16-08 19:00:00 - 17-08 15:30:00 @ 21.97p 100% ]
2026-08-15 15:30:02.429339: Best export window [  ]
2026-08-15 15:30:02.430190: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 15:30:02.433448: Load divergence over 8.0 hours mean 457.11W, min 295.8W, max 1534.2W, std dev 196.12W, divergence 21.45%
2026-08-15 15:30:02.452024: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 15:30:02.452156: LoadML is_calculating False
2026-08-15 15:30:02.452222: Creating pool of 12 processes to match your CPU count
2026-08-15 15:30:02.581483: predict base end_record 08-16 15:35:00, final soc 16.0kWh, metric 1030.8p, metric_keep 0kWh, min_soc 2.81kWh @ 08-16 10:25:00, load 24.75kWh, PV 0.0kWh
2026-08-15 15:30:02.708349: Battery has 48.0 hours left - now at 13.86kWh
2026-08-15 15:30:02.749744: predict base10 end_record 08-16 15:35:00, final soc 16.0kWh, metric 1048.87p, metric_keep 0kWh, min_soc 1.95kWh @ 08-16 10:25:00, load 25.53kWh, PV 0.0kWh
2026-08-15 15:30:02.820460: predict best10 end_record 08-16 15:35:00, final soc 1.44kWh, metric 677.76p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 11:20:00, load 25.53kWh, PV 0.0kWh
2026-08-15 15:30:02.894010: predict best end_record 08-16 15:35:00, final soc 1.51kWh, metric 659.57p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 12:15:00, load 24.75kWh, PV 0.0kWh
2026-08-15 15:30:02.894091: Saving plan best values to HA entities
2026-08-15 15:30:03.056799: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0
2026-08-15 15:30:03.062803: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 15:30:03.068287: Best charging limit SoC's [16.0, 16.0, 16.0]kWh, export []kWh gives import battery 3.07kWh, house 2.23kWh, export 0.0kWh, metric 659.57p, metric10 677.76p
2026-08-15 15:30:03.150173: Marginal costs baseline metric (no standing charge): 609.5885
2026-08-15 15:30:03.421101: Marginal energy costs matrix computed: min=19.89 max=32.76
2026-08-15 15:30:03.499488: Rate array import [{'start': 930, 'end': 960, 'rate': 'cheap', 'range': '(15.9p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1860, 'rate': 'expensive', 'range': '(25.9p - 32.9p)'}, {'start': 1860, 'end': 2375, 'rate': 'cheap', 'range': '(21.3p - 25.6p)'}] export [{'start': 930, 'end': 2375, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 15:30:03.500176: - Your estimated bill for today is £5.48 and tomorrow is £8.91
2026-08-15 15:30:03.500462: - Import rates are cheap (15.9p) for the next 30 minutes and then expensive (33.1p) for the next 1 hour.
2026-08-15 15:30:03.500520: - The battery is currently at 87% and is charging to 100% for the next 30 minutes.
2026-08-15 15:30:03.500603: - For the next 48 hours there will be no solar generation.
2026-08-15 15:30:03.500651: - You will run out of battery in 20 hours.
2026-08-15 15:30:03.500689: 
2026-08-15 15:30:03.556190: Plan calculation took 1.13 seconds
2026-08-15 15:30:03.559934: No high rate period found
2026-08-15 15:30:03.612837: Import threshold used for optimisation was 15.87p
2026-08-15 15:30:03.673376: Low import rate windows [0: 08-15 15:30:00 - 08-15 16:00:00 @ 15.87, 1: 08-15 16:00:00 - 08-15 16:30:00 @ 33.13, 2: 08-15 16:30:00 - 08-15 17:00:00 @ 33.13, 3: 08-15 17:00:00 - 08-15 17:30:00 @ 38.46, 4: 08-15 17:30:00 - 08-15 18:00:00 @ 40.44, 5: 08-15 18:00:00 - 08-15 18:30:00 @ 41.55, 6: 08-15 18:30:00 - 08-15 19:00:00 @ 43.82, 7: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 8: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 9: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 10: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 11: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 12: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 13: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 14: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 15: 08-15 23:00:00 - 08-15 23:30:00 @ 29.37, 16: 08-15 23:30:00 - 08-16 00:00:00 @ 29.2, 17: 08-16 00:00:00 - 08-16 00:30:00 @ 28.83, 18: 08-16 00:30:00 - 08-16 01:00:00 @ 28.46, 19: 08-16 01:00:00 - 08-16 01:30:00 @ 27.73, 20: 08-16 01:30:00 - 08-16 02:00:00 @ 27.01, 21: 08-16 02:00:00 - 08-16 02:30:00 @ 26.76, 22: 08-16 02:30:00 - 08-16 03:00:00 @ 26.48, 23: 08-16 03:00:00 - 08-16 03:30:00 @ 26.39, 24: 08-16 03:30:00 - 08-16 04:00:00 @ 26.27, 25: 08-16 04:00:00 - 08-16 04:30:00 @ 26.33, 26: 08-16 04:30:00 - 08-16 05:00:00 @ 26.37, 27: 08-16 05:00:00 - 08-16 05:30:00 @ 26.23, 28: 08-16 05:30:00 - 08-16 06:00:00 @ 26.07, 29: 08-16 06:00:00 - 08-16 06:30:00 @ 25.99, 30: 08-16 06:30:00 - 08-16 07:00:00 @ 25.92, 31: 08-16 07:00:00 - 08-16 07:30:00 @ 25.64, 32: 08-16 07:30:00 - 08-16 08:00:00 @ 25.39, 33: 08-16 08:00:00 - 08-16 08:30:00 @ 24.84, 34: 08-16 08:30:00 - 08-16 09:00:00 @ 24.28, 35: 08-16 09:00:00 - 08-16 09:30:00 @ 24.26, 36: 08-16 09:30:00 - 08-16 10:00:00 @ 24.22, 37: 08-16 10:00:00 - 08-16 10:30:00 @ 24.8, 38: 08-16 10:30:00 - 08-16 11:00:00 @ 25.37, 39: 08-16 11:00:00 - 08-16 11:30:00 @ 24.71, 40: 08-16 11:30:00 - 08-16 12:00:00 @ 24.02, 41: 08-16 12:00:00 - 08-16 12:30:00 @ 23.79, 42: 08-16 12:30:00 - 08-16 13:00:00 @ 23.55, 43: 08-16 13:00:00 - 08-16 13:30:00 @ 23.14, 44: 08-16 13:30:00 - 08-16 14:00:00 @ 22.71, 45: 08-16 14:00:00 - 08-16 14:30:00 @ 22.01, 46: 08-16 14:30:00 - 08-16 15:00:00 @ 21.29, 47: 08-16 15:00:00 - 08-16 15:30:00 @ 22.01, 48: 08-16 15:30:00 - 08-16 16:00:00 @ 22.71, 49: 08-16 16:00:00 - 08-16 16:30:00 @ 37.14, 50: 08-16 16:30:00 - 08-16 17:00:00 @ 37.91, 51: 08-16 17:00:00 - 08-16 17:30:00 @ 40.13, 52: 08-16 17:30:00 - 08-16 18:00:00 @ 42.36, 53: 08-16 18:00:00 - 08-16 18:30:00 @ 44.19, 54: 08-16 19:00:00 - 08-16 19:30:00 @ 33.04, 55: 08-16 19:30:00 - 08-16 20:00:00 @ 33.71, 56: 08-16 20:00:00 - 08-16 20:30:00 @ 33.83, 57: 08-16 20:30:00 - 08-16 21:00:00 @ 33.94, 58: 08-16 21:00:00 - 08-16 21:30:00 @ 33.73, 59: 08-16 21:30:00 - 08-16 22:00:00 @ 33.53, 60: 08-16 22:00:00 - 08-16 22:30:00 @ 32.36, 61: 08-16 22:30:00 - 08-16 23:00:00 @ 31.17, 62: 08-16 23:00:00 - 08-16 23:30:00 @ 29.37, 63: 08-16 23:30:00 - 08-17 00:00:00 @ 29.2, 64: 08-17 00:00:00 - 08-17 00:30:00 @ 28.83, 65: 08-17 00:30:00 - 08-17 01:00:00 @ 28.46, 66: 08-17 01:00:00 - 08-17 01:30:00 @ 27.73, 67: 08-17 01:30:00 - 08-17 02:00:00 @ 27.01, 68: 08-17 02:00:00 - 08-17 02:30:00 @ 26.76, 69: 08-17 02:30:00 - 08-17 03:00:00 @ 26.48, 70: 08-17 03:00:00 - 08-17 03:30:00 @ 26.39, 71: 08-17 03:30:00 - 08-17 04:00:00 @ 26.27, 72: 08-17 04:00:00 - 08-17 04:30:00 @ 26.33, 73: 08-17 04:30:00 - 08-17 05:00:00 @ 26.37, 74: 08-17 05:00:00 - 08-17 05:30:00 @ 26.23, 75: 08-17 05:30:00 - 08-17 06:00:00 @ 26.07, 76: 08-17 06:00:00 - 08-17 06:30:00 @ 25.99, 77: 08-17 06:30:00 - 08-17 07:00:00 @ 25.92, 78: 08-17 07:00:00 - 08-17 07:30:00 @ 25.64, 79: 08-17 07:30:00 - 08-17 08:00:00 @ 25.39, 80: 08-17 08:00:00 - 08-17 08:30:00 @ 24.84, 81: 08-17 08:30:00 - 08-17 09:00:00 @ 24.28, 82: 08-17 09:00:00 - 08-17 09:30:00 @ 24.26, 83: 08-17 09:30:00 - 08-17 10:00:00 @ 24.22, 84: 08-17 10:00:00 - 08-17 10:30:00 @ 24.8, 85: 08-17 10:30:00 - 08-17 11:00:00 @ 25.37, 86: 08-17 11:00:00 - 08-17 11:30:00 @ 24.71, 87: 08-17 11:30:00 - 08-17 12:00:00 @ 24.02, 88: 08-17 12:00:00 - 08-17 12:30:00 @ 23.79, 89: 08-17 12:30:00 - 08-17 13:00:00 @ 23.55, 90: 08-17 13:00:00 - 08-17 13:30:00 @ 23.14, 91: 08-17 13:30:00 - 08-17 14:00:00 @ 22.71, 92: 08-17 14:00:00 - 08-17 14:30:00 @ 22.01, 93: 08-17 14:30:00 - 08-17 15:00:00 @ 21.29, 94: 08-17 15:00:00 - 08-17 15:30:00 @ 22.01]
2026-08-15 15:30:03.681538: Include original charge start 08-15 10:30:00, keeping this instead of new start 08-15 15:00:00
2026-08-15 15:30:03.681705: Inverter 0 Charge window will be: 2026-08-15 10:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 87%, target 100%
2026-08-15 15:30:03.681939: Inverter 0 Target SoC 100%, (this inverter 100%), battery temperature 20°C, select charge rate 5000W (real 5000W), current charge rate 5000W
2026-08-15 15:30:03.682213: Adjust idle time, charge 10:30:00-16:00:00 discharge 00:00:00-00:00:00
2026-08-15 15:30:03.682535: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 15:30:03.682664: No export window planned
2026-08-15 15:30:03.682798: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 15:30:03.682835: Adjust idle time, charge 10:30:00-16:00:00 discharge 00:00:00-00:00:00
2026-08-15 15:30:03.682982: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 15:30:03.683110: Inverter 0 setting charging SoC to 100% as per target
2026-08-15 15:30:03.683153: Inverter 0 adjust target SoC for charge to 100% based on requested all inverter SoC 100%
2026-08-15 15:30:03.683210: Inverter 0 Current Target SoC is 100%, already at target
2026-08-15 15:30:03.683324: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:30:03.683367: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:30:03.683397: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:30:03.683427: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:30:03.683453: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:30:03.683478: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:30:03.683502: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:30:03.683551: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 15:30:03.683607: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 15:30:03.683640: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 15:30:03.683674: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 15:30:03.683699: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 15:30:03.683726: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 15:30:03.683750: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 15:30:03.683844: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:30:03.683885: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:30:03.683910: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:30:03.683940: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:30:03.683964: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:30:03.683987: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:30:03.684010: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:30:03.684036: Inverter 0 count register writes 0
2026-08-15 15:30:03.702307: Will not recompute the plan, it is 5.0 minutes old and max age is 10 minutes
2026-08-15 15:30:03.708151: Total inverter register writes now 825
2026-08-15 15:30:03.743474: Info: Completed run status Charging
2026-08-15 15:30:03.750004: Info: record_status Charging target 87%-100.0%
2026-08-15 15:30:03.758384: Saved current settings to /config/predbat_config.json
2026-08-15 15:30:03.758739: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 15:30:41.877903: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 15:30:41.878250: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 15:30:41.878320: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 15:30:41.878522: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 15:30:41.878591: Note: Inverter does not support discharge freeze - disabled
2026-08-15 15:30:41.878624: Note: Inverter does not support charge freeze - disabled
2026-08-15 15:30:41.878650: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 15:32:29.122410: ML Component: Fetching 28 days of load history from ['sensor.sunsynk_day_load_energy']
2026-08-15 15:32:30.208922: Processing 1345 30-minute periods for power integration
2026-08-15 15:32:30.317650: ML Component: Car charging hold False, car energy reported load False
2026-08-15 15:32:30.419394: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 15:32:30.519118: ML Temperature data points: 49471
2026-08-15 15:32:30.795351: ML Component: Fetched 8064 load data points, 28.0 days of history
2026-08-15 15:32:30.837094: ML Component: Data fetch completed, load data age 57.0 days, 16451 data points
2026-08-15 15:32:30.837333: ML Component: No training needed, model age is 1.38 hours
2026-08-15 15:32:30.837415: ML Component: Generating predictions load data age 57.0 days, 16451 data points
2026-08-15 15:32:30.976418: ML Predictor: Starting autoregressive prediction loop for 576 steps (48.0 hours), prev_energy value 0.0028 max_dow {0: 0.10148124996256083, 1: 0.10722812486607582, 2: 0.11988124983031304, 3: 0.11477812442630529, 4: 0.1668593753574416, 5: 0.09790277780294418, 6: 0.10850624993629754}
2026-08-15 15:32:37.258139: ML Component: Generated 576 predictions (total 34.36 kWh over 48h)
2026-08-15 15:32:37.287837: ML Component: Prediction cycle completed
2026-08-15 15:32:37.378946: ML Component: Saved 16451 steps (57 days) of history to /config/predbat_ml_history.npz
2026-08-15 15:32:41.997864: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 15:32:41.998127: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 15:32:41.998163: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 15:32:41.998337: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 15:32:41.998377: Note: Inverter does not support discharge freeze - disabled
2026-08-15 15:32:41.998398: Note: Inverter does not support charge freeze - disabled
2026-08-15 15:32:41.998416: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 15:34:42.210470: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 15:34:42.210756: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 15:34:42.210875: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 15:34:42.211039: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 15:34:42.211113: Note: Inverter does not support discharge freeze - disabled
2026-08-15 15:34:42.211133: Note: Inverter does not support charge freeze - disabled
2026-08-15 15:34:42.211151: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 15:35:00.308078: --------------- PredBat - update at 2026-08-15 15:35:00+01:00 with clock skew 0 minutes, minutes now 935
2026-08-15 15:35:00.309053: Saved current settings to /config/predbat_config.json
2026-08-15 15:35:00.309209: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 75.0 minutes
2026-08-15 15:35:00.309327: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.2, latest beta is v8.48.2
2026-08-15 15:35:00.309426: Autoupdate: There is an update pending v8.48.2 PV90 and second pass enabled by default, bug fixes - auto update is off
2026-08-15 15:35:00.330291: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 15:35:00.330428: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 15:35:00.330692: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 15:35:00.331244: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 15:35:00.331365: Predbat mode is set to Control charge & discharge
2026-08-15 15:35:00.525004: Found 21602 load_today datapoints going back 28 days
2026-08-15 15:35:00.525200: Using load_power data to fill gaps in load_today data
2026-08-15 15:35:01.368693: Warn: Found 1 periods of zero load with power data, filling using power integration
2026-08-15 15:35:01.368899: Zero load period starting at 2026-08-15T15:35:00+0100 (0 minutes) for 30 minutes with base value 210.7
2026-08-15 15:35:01.369053: Processing 721 30-minute periods for power integration
2026-08-15 15:35:01.558828: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 15:35:01.558970: Car charging hold False, threshold 6.0kWh
2026-08-15 15:35:01.559019: Current data so far today: load 8.3kWh, import 24.3kWh, export 0.0kWh, PV 0kWh
2026-08-15 15:35:01.574270: Cars: SoC: [11.134]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 15:35:01.574881: Standing charge is set to 49.98p
2026-08-15 15:35:01.623011: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 15:35:01.623120: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 15:35:01.623360: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 295.0 minutes
2026-08-15 15:35:01.623938: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 295.0 minutes
2026-08-15 15:35:01.630124: Loaded 95 datapoints of futurerate analysis
2026-08-15 15:35:01.732037: Predicted future rates: ['08-15 00:00:00 => 28.9 / 20.01', '08-15 01:00:00 => 27.54 / 19.31', '08-15 02:00:00 => 26.52 / 18.8', '08-15 03:00:00 => 25.99 / 18.53', '08-15 04:00:00 => 25.8 / 18.43', '08-15 05:00:00 => 25.96 / 18.51', '08-15 06:00:00 => 25.55 / 18.3', '08-15 07:00:00 => 24.33 / 17.68', '08-15 08:00:00 => 23.03 / 17.01', '08-15 09:00:00 => 22.05 / 16.51', '08-15 10:00:00 => 20.43 / 15.68', '08-15 11:00:00 => 18.01 / 14.45', '08-15 12:00:00 => 16.37 / 13.61', '08-15 13:00:00 => 15.76 / 13.3', '08-15 14:00:00 => 15.35 / 13.09', '08-15 15:00:00 => 15.86 / 13.35', '08-15 16:00:00 => 32.89 / 16.13', '08-15 17:00:00 => 38.02 / 18.75', '08-15 18:00:00 => 42.36 / 20.96', '08-15 19:00:00 => 31.09 / 21.13', '08-15 20:00:00 => 31.64 / 21.41', '08-15 21:00:00 => 31.64 / 21.41', '08-15 22:00:00 => 30.58 / 20.87', '08-15 23:00:00 => 29.37 / 20.25', '08-16 00:00:00 => 28.83 / 19.97', '08-16 01:00:00 => 27.73 / 19.41', '08-16 02:00:00 => 26.76 / 18.92', '08-16 03:00:00 => 26.39 / 18.73', '08-16 04:00:00 => 26.33 / 18.7', '08-16 05:00:00 => 26.23 / 18.65', '08-16 06:00:00 => 25.99 / 18.53', '08-16 07:00:00 => 25.64 / 18.35', '08-16 08:00:00 => 24.84 / 17.94', '08-16 09:00:00 => 24.26 / 17.64', '08-16 10:00:00 => 24.8 / 17.92', '08-16 11:00:00 => 24.71 / 17.87', '08-16 12:00:00 => 23.79 / 17.4', '08-16 13:00:00 => 23.14 / 17.07', '08-16 14:00:00 => 22.01 / 16.49']
2026-08-15 15:35:01.797728: Rate min forward looking: now 15.87p at end of forecast 21.29p
2026-08-15 15:35:01.798268: Import rates: min 15.87p, max 46.05p, average 28.3p
2026-08-15 15:35:01.842946: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 15:35:01.843072: Rate thresholds (for charge/export) are import 45.55p (0.0p), export -0.1p (0.0p)
2026-08-15 15:35:01.844728: High export rate found rates in range 99p to -99p
2026-08-15 15:35:01.947253: Low Import rate found rates in range 15.87p to 44.19p
2026-08-15 15:35:01.947397: Car 0 charging is not planned as it is not plugged in
2026-08-15 15:35:01.961701: Battery level now 13.86kWh, -1hr ago 10.38kWh, at midnight 1.66kWh, battery value change in the last hour 47.32p, change today 166.29p, rate_forward 13.63p
2026-08-15 15:35:01.962189: Last hour: net energy 4.4kWh, import 4.4kWh, export 0.0kWh, car 0kWh, load 0.22kWh, net cost 63.42p, import 63.42p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 15:35:02.017816: Today's energy total net 24.3kWh, import 24.3kWh, export 0.0kWh, cost 507.04p, import 457.06p, export 0.0p, carbon 0.0kg
2026-08-15 15:35:02.017956: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 15:35:02.093181: Using weighted-bucket historical load forecast over 14 days
2026-08-15 15:35:02.116462: Today's load divergence 93.05%, in-day adjustment 111.06%, damping 0.95x, yesterday 143.77% today 93.4% blend 35.07%
2026-08-15 15:35:02.116571: Today's predicted so far 9.57kWh with 0.0kWh car/iBoost excluded, 17.82kWh import ignored, and 9.57kWh forecast extra.
2026-08-15 15:35:02.116839: Today's actual load so far 8.58kWh with 0.0kWh car/iBoost excluded, and 17.82kWh import ignored.
2026-08-15 15:35:02.149108: Inverter 0: Type SK Sunsynk
2026-08-15 15:35:02.149189: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 15:35:02.149347: Reserve min: 7%, battery_min: 7%
2026-08-15 15:35:02.149401: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 15:35:02.149647: Inverter 0 SoC: 14.54kW 91%, current charge rate 5000W, current discharge rate 5250W, current battery power -4557W, current battery voltage 51.2V, grid power -5204W, load power 208W, PV Power 0W
2026-08-15 15:35:02.149799: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 15:35:02.149872: Inverter 0 scheduled charge enable is True
2026-08-15 15:35:02.149914: Inverter 0 charge windows currently [{'start': 630, 'end': 960, 'average': 0}, {'start': 2070, 'end': 2400, 'average': 0}, {'start': 3510, 'end': 3840, 'average': 0}]
2026-08-15 15:35:02.149986: Inverter 0 Charge settings: 08-15 10:30:00-08-15 16:00:00, limit 100.0%, power 5.0kW
2026-08-15 15:35:02.150081: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 15:35:02.150104: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 15:35:02.150131: Inverter 0 scheduled discharge enable is False
2026-08-15 15:35:02.150295: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 15:35:02.150339: Inverter 0 discharge windows currently []
2026-08-15 15:35:02.150360: Note: Inverter does not support discharge freeze - disabled
2026-08-15 15:35:02.150375: Note: Inverter does not support charge freeze - disabled
2026-08-15 15:35:02.150390: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 15:35:02.211083: Dynamic load last period 0.00kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 15:35:02.211230: Plan was last updated on 2026-08-15 15:25:00+01:00 and is now 10.0 minutes old
2026-08-15 15:35:02.211537: Best charge window [ 15-08 15:00:00 - 15-08 16:00:00 @ 15.45p 100%, 16-08 15:30:00 - 16-08 18:30:00 @ 41.95p 100%, 16-08 19:00:00 - 17-08 15:30:00 @ 21.97p 100% ]
2026-08-15 15:35:02.211597: Best export window [  ]
2026-08-15 15:35:02.212609: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 15:35:02.215840: Load divergence over 8.0 hours mean 470.34W, min 294.0W, max 1810.2W, std dev 235.87W, divergence 25.07%
2026-08-15 15:35:02.232530: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 15:35:02.232627: LoadML is_calculating False
2026-08-15 15:35:02.232680: Creating pool of 12 processes to match your CPU count
2026-08-15 15:35:02.356826: predict base end_record 08-16 15:40:00, final soc 16.0kWh, metric 1019.33p, metric_keep 0kWh, min_soc 2.82kWh @ 08-16 10:25:00, load 24.74kWh, PV 0.0kWh
2026-08-15 15:35:02.488308: Battery has 48.0 hours left - now at 14.54kWh
2026-08-15 15:35:02.533930: predict base10 end_record 08-16 15:40:00, final soc 16.0kWh, metric 1036.19p, metric_keep 0kWh, min_soc 2.15kWh @ 08-16 10:25:00, load 25.53kWh, PV 0.0kWh
2026-08-15 15:35:02.619755: predict best10 end_record 08-16 15:40:00, final soc 1.77kWh, metric 673.17p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 11:35:00, load 25.53kWh, PV 0.0kWh
2026-08-15 15:35:02.699376: predict best end_record 08-16 15:40:00, final soc 1.9kWh, metric 657.62p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 12:15:00, load 24.74kWh, PV 0.0kWh
2026-08-15 15:35:02.699473: Saving plan best values to HA entities
2026-08-15 15:35:02.865840: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0
2026-08-15 15:35:02.871372: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 15:35:02.877347: Best charging limit SoC's [16.0, 16.0, 16.0]kWh, export []kWh gives import battery 2.78kWh, house 2.21kWh, export 0.0kWh, metric 657.62p, metric10 673.17p
2026-08-15 15:35:02.959110: Marginal costs baseline metric (no standing charge): 607.6326
2026-08-15 15:35:03.232125: Marginal energy costs matrix computed: min=20.57 max=32.98
2026-08-15 15:35:03.336406: Rate array import [{'start': 935, 'end': 960, 'rate': 'cheap', 'range': '(15.9p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1860, 'rate': 'expensive', 'range': '(25.9p - 32.9p)'}, {'start': 1860, 'end': 2380, 'rate': 'cheap', 'range': '(21.3p - 25.6p)'}] export [{'start': 935, 'end': 2380, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 15:35:03.336865: - Your estimated bill for today is £5.36 and tomorrow is £8.89
2026-08-15 15:35:03.336912: - Import rates are cheap (15.9p) for the next 25 minutes and then expensive (33.1p) for the next 1 hour.
2026-08-15 15:35:03.336934: - The battery is currently at 91% and is charging to 100% for the next 25 minutes.
2026-08-15 15:35:03.336999: - For the next 48 hours there will be no solar generation.
2026-08-15 15:35:03.337023: - You will run out of battery in 20 hours.
2026-08-15 15:35:03.337041: 
2026-08-15 15:35:03.392732: Plan calculation took 1.18 seconds
2026-08-15 15:35:03.396587: No high rate period found
2026-08-15 15:35:03.464909: Import threshold used for optimisation was 15.87p
2026-08-15 15:35:03.543230: Low import rate windows [0: 08-15 15:30:00 - 08-15 16:00:00 @ 15.87, 1: 08-15 16:00:00 - 08-15 16:30:00 @ 33.13, 2: 08-15 16:30:00 - 08-15 17:00:00 @ 33.13, 3: 08-15 17:00:00 - 08-15 17:30:00 @ 38.46, 4: 08-15 17:30:00 - 08-15 18:00:00 @ 40.44, 5: 08-15 18:00:00 - 08-15 18:30:00 @ 41.55, 6: 08-15 18:30:00 - 08-15 19:00:00 @ 43.82, 7: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 8: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 9: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 10: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 11: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 12: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 13: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 14: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 15: 08-15 23:00:00 - 08-15 23:30:00 @ 29.37, 16: 08-15 23:30:00 - 08-16 00:00:00 @ 29.2, 17: 08-16 00:00:00 - 08-16 00:30:00 @ 28.83, 18: 08-16 00:30:00 - 08-16 01:00:00 @ 28.46, 19: 08-16 01:00:00 - 08-16 01:30:00 @ 27.73, 20: 08-16 01:30:00 - 08-16 02:00:00 @ 27.01, 21: 08-16 02:00:00 - 08-16 02:30:00 @ 26.76, 22: 08-16 02:30:00 - 08-16 03:00:00 @ 26.48, 23: 08-16 03:00:00 - 08-16 03:30:00 @ 26.39, 24: 08-16 03:30:00 - 08-16 04:00:00 @ 26.27, 25: 08-16 04:00:00 - 08-16 04:30:00 @ 26.33, 26: 08-16 04:30:00 - 08-16 05:00:00 @ 26.37, 27: 08-16 05:00:00 - 08-16 05:30:00 @ 26.23, 28: 08-16 05:30:00 - 08-16 06:00:00 @ 26.07, 29: 08-16 06:00:00 - 08-16 06:30:00 @ 25.99, 30: 08-16 06:30:00 - 08-16 07:00:00 @ 25.92, 31: 08-16 07:00:00 - 08-16 07:30:00 @ 25.64, 32: 08-16 07:30:00 - 08-16 08:00:00 @ 25.39, 33: 08-16 08:00:00 - 08-16 08:30:00 @ 24.84, 34: 08-16 08:30:00 - 08-16 09:00:00 @ 24.28, 35: 08-16 09:00:00 - 08-16 09:30:00 @ 24.26, 36: 08-16 09:30:00 - 08-16 10:00:00 @ 24.22, 37: 08-16 10:00:00 - 08-16 10:30:00 @ 24.8, 38: 08-16 10:30:00 - 08-16 11:00:00 @ 25.37, 39: 08-16 11:00:00 - 08-16 11:30:00 @ 24.71, 40: 08-16 11:30:00 - 08-16 12:00:00 @ 24.02, 41: 08-16 12:00:00 - 08-16 12:30:00 @ 23.79, 42: 08-16 12:30:00 - 08-16 13:00:00 @ 23.55, 43: 08-16 13:00:00 - 08-16 13:30:00 @ 23.14, 44: 08-16 13:30:00 - 08-16 14:00:00 @ 22.71, 45: 08-16 14:00:00 - 08-16 14:30:00 @ 22.01, 46: 08-16 14:30:00 - 08-16 15:00:00 @ 21.29, 47: 08-16 15:00:00 - 08-16 15:30:00 @ 22.01, 48: 08-16 15:30:00 - 08-16 16:00:00 @ 22.71, 49: 08-16 16:00:00 - 08-16 16:30:00 @ 37.14, 50: 08-16 16:30:00 - 08-16 17:00:00 @ 37.91, 51: 08-16 17:00:00 - 08-16 17:30:00 @ 40.13, 52: 08-16 17:30:00 - 08-16 18:00:00 @ 42.36, 53: 08-16 18:00:00 - 08-16 18:30:00 @ 44.19, 54: 08-16 19:00:00 - 08-16 19:30:00 @ 33.04, 55: 08-16 19:30:00 - 08-16 20:00:00 @ 33.71, 56: 08-16 20:00:00 - 08-16 20:30:00 @ 33.83, 57: 08-16 20:30:00 - 08-16 21:00:00 @ 33.94, 58: 08-16 21:00:00 - 08-16 21:30:00 @ 33.73, 59: 08-16 21:30:00 - 08-16 22:00:00 @ 33.53, 60: 08-16 22:00:00 - 08-16 22:30:00 @ 32.36, 61: 08-16 22:30:00 - 08-16 23:00:00 @ 31.17, 62: 08-16 23:00:00 - 08-16 23:30:00 @ 29.37, 63: 08-16 23:30:00 - 08-17 00:00:00 @ 29.2, 64: 08-17 00:00:00 - 08-17 00:30:00 @ 28.83, 65: 08-17 00:30:00 - 08-17 01:00:00 @ 28.46, 66: 08-17 01:00:00 - 08-17 01:30:00 @ 27.73, 67: 08-17 01:30:00 - 08-17 02:00:00 @ 27.01, 68: 08-17 02:00:00 - 08-17 02:30:00 @ 26.76, 69: 08-17 02:30:00 - 08-17 03:00:00 @ 26.48, 70: 08-17 03:00:00 - 08-17 03:30:00 @ 26.39, 71: 08-17 03:30:00 - 08-17 04:00:00 @ 26.27, 72: 08-17 04:00:00 - 08-17 04:30:00 @ 26.33, 73: 08-17 04:30:00 - 08-17 05:00:00 @ 26.37, 74: 08-17 05:00:00 - 08-17 05:30:00 @ 26.23, 75: 08-17 05:30:00 - 08-17 06:00:00 @ 26.07, 76: 08-17 06:00:00 - 08-17 06:30:00 @ 25.99, 77: 08-17 06:30:00 - 08-17 07:00:00 @ 25.92, 78: 08-17 07:00:00 - 08-17 07:30:00 @ 25.64, 79: 08-17 07:30:00 - 08-17 08:00:00 @ 25.39, 80: 08-17 08:00:00 - 08-17 08:30:00 @ 24.84, 81: 08-17 08:30:00 - 08-17 09:00:00 @ 24.28, 82: 08-17 09:00:00 - 08-17 09:30:00 @ 24.26, 83: 08-17 09:30:00 - 08-17 10:00:00 @ 24.22, 84: 08-17 10:00:00 - 08-17 10:30:00 @ 24.8, 85: 08-17 10:30:00 - 08-17 11:00:00 @ 25.37, 86: 08-17 11:00:00 - 08-17 11:30:00 @ 24.71, 87: 08-17 11:30:00 - 08-17 12:00:00 @ 24.02, 88: 08-17 12:00:00 - 08-17 12:30:00 @ 23.79, 89: 08-17 12:30:00 - 08-17 13:00:00 @ 23.55, 90: 08-17 13:00:00 - 08-17 13:30:00 @ 23.14, 91: 08-17 13:30:00 - 08-17 14:00:00 @ 22.71, 92: 08-17 14:00:00 - 08-17 14:30:00 @ 22.01, 93: 08-17 14:30:00 - 08-17 15:00:00 @ 21.29, 94: 08-17 15:00:00 - 08-17 15:30:00 @ 22.01, 95: 08-17 15:30:00 - 08-17 16:00:00 @ 22.71]
2026-08-15 15:35:03.552709: Include original charge start 08-15 10:30:00, keeping this instead of new start 08-15 15:00:00
2026-08-15 15:35:03.552842: Inverter 0 Charge window will be: 2026-08-15 10:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 91%, target 100%
2026-08-15 15:35:03.553066: Inverter 0 Target SoC 100%, (this inverter 100%), battery temperature 20°C, select charge rate 5000W (real 5000W), current charge rate 5000W
2026-08-15 15:35:03.553284: Adjust idle time, charge 10:30:00-16:00:00 discharge 00:00:00-00:00:00
2026-08-15 15:35:03.553563: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 15:35:03.553668: No export window planned
2026-08-15 15:35:03.553817: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 15:35:03.553855: Adjust idle time, charge 10:30:00-16:00:00 discharge 00:00:00-00:00:00
2026-08-15 15:35:03.554044: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 15:35:03.554176: Inverter 0 setting charging SoC to 100% as per target
2026-08-15 15:35:03.554220: Inverter 0 adjust target SoC for charge to 100% based on requested all inverter SoC 100%
2026-08-15 15:35:03.554282: Inverter 0 Current Target SoC is 100%, already at target
2026-08-15 15:35:03.554399: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:35:03.554441: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:35:03.554468: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:35:03.554523: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:35:03.554557: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:35:03.554583: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:35:03.554607: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:35:03.554652: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 15:35:03.554688: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 15:35:03.554718: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 15:35:03.554771: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 15:35:03.554804: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 15:35:03.554836: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 15:35:03.554861: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 15:35:03.554925: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:35:03.554959: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:35:03.554984: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:35:03.555013: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:35:03.555037: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:35:03.555065: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:35:03.555089: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:35:03.555110: Inverter 0 count register writes 0
2026-08-15 15:35:03.577595: Will recompute the plan as it is now 10.0 minutes old and will exceed the max age of 10 minutes before the next run
2026-08-15 15:35:03.577779: Recompute is saving previous plan...
2026-08-15 15:35:03.580930: Best charge window [ 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 100%, 15-08 16:00:00 - 15-08 16:30:00 @ 33.13p 100%, 15-08 16:30:00 - 15-08 17:00:00 @ 33.13p 100%, 15-08 17:00:00 - 15-08 17:30:00 @ 38.46p 100%, 15-08 17:30:00 - 15-08 18:00:00 @ 40.44p 100%, 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 100%, 15-08 18:30:00 - 15-08 19:00:00 @ 43.82p 100%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 100%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 100%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 100%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 100%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 100%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 100%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 100%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 100%, 15-08 23:00:00 - 15-08 23:30:00 @ 29.37p 100%, 15-08 23:30:00 - 16-08 00:00:00 @ 29.2p 100%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.83p 100%, 16-08 00:30:00 - 16-08 01:00:00 @ 28.46p 100%, 16-08 01:00:00 - 16-08 01:30:00 @ 27.73p 100%, 16-08 01:30:00 - 16-08 02:00:00 @ 27.01p 100%, 16-08 02:00:00 - 16-08 02:30:00 @ 26.76p 100%, 16-08 02:30:00 - 16-08 03:00:00 @ 26.48p 100%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.39p 100%, 16-08 03:30:00 - 16-08 04:00:00 @ 26.27p 100%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.33p 100%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.37p 100%, 16-08 05:00:00 - 16-08 05:30:00 @ 26.23p 100%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.07p 100%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.99p 100%, 16-08 06:30:00 - 16-08 07:00:00 @ 25.92p 100%, 16-08 07:00:00 - 16-08 07:30:00 @ 25.64p 100%, 16-08 07:30:00 - 16-08 08:00:00 @ 25.39p 100%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.84p 100%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.28p 100%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.26p 100%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.22p 100%, 16-08 10:00:00 - 16-08 10:30:00 @ 24.8p 100%, 16-08 10:30:00 - 16-08 11:00:00 @ 25.37p 100%, 16-08 11:00:00 - 16-08 11:30:00 @ 24.71p 100%, 16-08 11:30:00 - 16-08 12:00:00 @ 24.02p 100%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.79p 100%, 16-08 12:30:00 - 16-08 13:00:00 @ 23.55p 100%, 16-08 13:00:00 - 16-08 13:30:00 @ 23.14p 100%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.71p 100%, 16-08 14:00:00 - 16-08 14:30:00 @ 22.01p 100%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.29p 100%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.01p 100%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.71p 100%, 16-08 16:00:00 - 16-08 16:30:00 @ 37.14p 100%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.91p 100%, 16-08 17:00:00 - 16-08 17:30:00 @ 40.13p 100%, 16-08 17:30:00 - 16-08 18:00:00 @ 42.36p 100%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.19p 100%, 16-08 19:00:00 - 16-08 19:30:00 @ 33.04p 100%, 16-08 19:30:00 - 16-08 20:00:00 @ 33.71p 100%, 16-08 20:00:00 - 16-08 20:30:00 @ 33.83p 100%, 16-08 20:30:00 - 16-08 21:00:00 @ 33.94p 100%, 16-08 21:00:00 - 16-08 21:30:00 @ 33.73p 100%, 16-08 21:30:00 - 16-08 22:00:00 @ 33.53p 100%, 16-08 22:00:00 - 16-08 22:30:00 @ 32.36p 100%, 16-08 22:30:00 - 16-08 23:00:00 @ 31.17p 100%, 16-08 23:00:00 - 16-08 23:30:00 @ 29.37p 100%, 16-08 23:30:00 - 17-08 00:00:00 @ 29.2p 100%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.83p 100%, 17-08 00:30:00 - 17-08 01:00:00 @ 28.46p 100%, 17-08 01:00:00 - 17-08 01:30:00 @ 27.73p 100%, 17-08 01:30:00 - 17-08 02:00:00 @ 27.01p 100%, 17-08 02:00:00 - 17-08 02:30:00 @ 26.76p 100%, 17-08 02:30:00 - 17-08 03:00:00 @ 26.48p 100%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.39p 100%, 17-08 03:30:00 - 17-08 04:00:00 @ 26.27p 100%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.33p 100%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.37p 100%, 17-08 05:00:00 - 17-08 05:30:00 @ 26.23p 100%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.07p 100%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.99p 100%, 17-08 06:30:00 - 17-08 07:00:00 @ 25.92p 100%, 17-08 07:00:00 - 17-08 07:30:00 @ 25.64p 100%, 17-08 07:30:00 - 17-08 08:00:00 @ 25.39p 100%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.84p 100%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.28p 100%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.26p 100%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.22p 100%, 17-08 10:00:00 - 17-08 10:30:00 @ 24.8p 100%, 17-08 10:30:00 - 17-08 11:00:00 @ 25.37p 100%, 17-08 11:00:00 - 17-08 11:30:00 @ 24.71p 100%, 17-08 11:30:00 - 17-08 12:00:00 @ 24.02p 100%, 17-08 12:00:00 - 17-08 12:30:00 @ 23.79p 100%, 17-08 12:30:00 - 17-08 13:00:00 @ 23.55p 100%, 17-08 13:00:00 - 17-08 13:30:00 @ 23.14p 100%, 17-08 13:30:00 - 17-08 14:00:00 @ 22.71p 100%, 17-08 14:00:00 - 17-08 14:30:00 @ 22.01p 100%, 17-08 14:30:00 - 17-08 15:00:00 @ 21.29p 100%, 17-08 15:00:00 - 17-08 15:30:00 @ 22.01p 100%, 17-08 15:30:00 - 17-08 16:00:00 @ 22.71p 100% ]
2026-08-15 15:35:03.581052: Best export window [  ]
2026-08-15 15:35:03.581912: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 15:35:03.585075: Load divergence over 8.0 hours mean 470.34W, min 294.0W, max 1810.2W, std dev 235.87W, divergence 25.07%
2026-08-15 15:35:03.603664: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 15:35:03.604063: LoadML is_calculating False
2026-08-15 15:35:03.604157: Creating pool of 12 processes to match your CPU count
2026-08-15 15:35:03.701143: Calculate Best options: mode(Control charge & discharge), calculate_export_oncharge(False), calculate_export_on_pv(True), set_export_freeze_only(False), set_discharge_during_charge(True), combine_charge_slots(False), combine_export_slots(False), combine_rate_threshold(0.0), best_soc_min(0.0 kWh), best_soc_max(0.0 kWh), best_soc_keep(0.0 kWh), inverter_loss(4%), battery_loss(3%), battery_loss_discharge (3%), inverter_hybrid(True), metric_min_improvement(0.0p), metric_min_improvement_export(0.1p), metric_min_improvement_export_freeze(0.1p), metric_battery_cycle(0.0p/kWh), metric_battery_value_scaling(1.0 x) 
2026-08-15 15:35:03.703368: Optimise levels pass started at 2026-08-15 15:35:03
2026-08-15 15:35:03.703453: Optimise all windows, total charge 95 export 1
2026-08-15 15:35:04.145827: >> Region optimisation pass width 960 gives best_metric 968.05p, best_cost 982.12p, best_cycle 29.92kWh, best_import 20.86kWh
2026-08-15 15:35:04.304723: >> Region optimisation pass width 480 gives best_metric 968.05p, best_cost 982.12p, best_cycle 29.92kWh, best_import 20.86kWh
2026-08-15 15:35:04.536882: >> Region optimisation pass width 240 gives best_metric 968.05p, best_cost 982.12p, best_cycle 29.92kWh, best_import 20.86kWh
2026-08-15 15:35:04.951285: >> Region optimisation pass width 120 gives best_metric 968.05p, best_cost 982.12p, best_cycle 29.92kWh, best_import 20.86kWh
2026-08-15 15:35:04.951547: Calculated end_record as 08-16 16:00:00 based on best_price 22.01p, next_charge_start 08-15 16:00:00, max_windows 49
2026-08-15 15:35:04.951611: Optimise levels pass ended at 2026-08-15 15:35:04, duration 1.2 seconds tried 23 combinations
2026-08-15 15:35:04.951668: Set best_price_charge_level 23.6p, best_price_export_level 0p, best_price_charge 22.01p, best_cost_export 0p, best_metric 968.05p, best_keep 0kWh, best_cycle 29.92kWh, best_carbon 0kg, best_import 20.86kWh
2026-08-15 15:35:04.967748: Starting detailed optimisation end_record 08-16 16:00:00, best_price_charge 22.01p, best_price_export 0p. lowest_price_charge 15.87p with charge limits [16.0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 16.0, 16.0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0]kWh and export limits []kWh
2026-08-15 15:35:07.853334: Tweak plan optimisation started metric 575.77p, cost 593.42p
2026-08-15 15:35:08.095967: Tweak optimisation finished metric 575.77p, cost 593.42p, metric_keep 0kWh, cycle 15.94kWh, carbon 0kg, import 4.37kWh, changed 8 window(s)
2026-08-15 15:35:08.120539: Swap charge optimisation started metric 575.77p, cost 593.42p, min_improvement_swap 0.1p
2026-08-15 15:35:08.384357: Swap charge optimisation finished metric 575.77p, cost 593.42p
2026-08-15 15:35:08.415224: Raw charge windows [ 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 100%, 15-08 16:00:00 - 15-08 16:30:00 @ 33.13p 0%, 15-08 16:30:00 - 15-08 17:00:00 @ 33.13p 0%, 15-08 17:00:00 - 15-08 17:30:00 @ 38.46p 0%, 15-08 17:30:00 - 15-08 18:00:00 @ 40.44p 0%, 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 0%, 15-08 18:30:00 - 15-08 19:00:00 @ 43.82p 0%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 0%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 0%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 0%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 0%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 29.37p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 29.2p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.83p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 28.46p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 27.73p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 27.01p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 26.76p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 26.48p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.39p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 26.27p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.33p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.37p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 26.23p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.07p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.99p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 25.92p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 25.64p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 25.39p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.84p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.28p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.26p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.22p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 24.8p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 25.37p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 24.71p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 24.02p 0%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.79p 0%, 16-08 12:30:00 - 16-08 13:00:00 @ 23.55p 0%, 16-08 13:00:00 - 16-08 13:30:00 @ 23.14p 0%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.71p 0%, 16-08 14:00:00 - 16-08 14:30:00 @ 22.01p 0%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.29p 0%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.01p 0%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.71p 0%, 16-08 16:00:00 - 16-08 16:30:00 @ 37.14p 100%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.91p 100%, 16-08 17:00:00 - 16-08 17:30:00 @ 40.13p 100%, 16-08 17:30:00 - 16-08 18:00:00 @ 42.36p 100%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.19p 100%, 16-08 19:00:00 - 16-08 19:30:00 @ 33.04p 100%, 16-08 19:30:00 - 16-08 20:00:00 @ 33.71p 100%, 16-08 20:00:00 - 16-08 20:30:00 @ 33.83p 100%, 16-08 20:30:00 - 16-08 21:00:00 @ 33.94p 100%, 16-08 21:00:00 - 16-08 21:30:00 @ 33.73p 100%, 16-08 21:30:00 - 16-08 22:00:00 @ 33.53p 100%, 16-08 22:00:00 - 16-08 22:30:00 @ 32.36p 100%, 16-08 22:30:00 - 16-08 23:00:00 @ 31.17p 100%, 16-08 23:00:00 - 16-08 23:30:00 @ 29.37p 100%, 16-08 23:30:00 - 17-08 00:00:00 @ 29.2p 100%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.83p 100%, 17-08 00:30:00 - 17-08 01:00:00 @ 28.46p 100%, 17-08 01:00:00 - 17-08 01:30:00 @ 27.73p 100%, 17-08 01:30:00 - 17-08 02:00:00 @ 27.01p 100%, 17-08 02:00:00 - 17-08 02:30:00 @ 26.76p 100%, 17-08 02:30:00 - 17-08 03:00:00 @ 26.48p 100%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.39p 100%, 17-08 03:30:00 - 17-08 04:00:00 @ 26.27p 100%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.33p 100%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.37p 100%, 17-08 05:00:00 - 17-08 05:30:00 @ 26.23p 100%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.07p 100%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.99p 100%, 17-08 06:30:00 - 17-08 07:00:00 @ 25.92p 100%, 17-08 07:00:00 - 17-08 07:30:00 @ 25.64p 100%, 17-08 07:30:00 - 17-08 08:00:00 @ 25.39p 100%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.84p 100%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.28p 100%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.26p 100%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.22p 100%, 17-08 10:00:00 - 17-08 10:30:00 @ 24.8p 100%, 17-08 10:30:00 - 17-08 11:00:00 @ 25.37p 100%, 17-08 11:00:00 - 17-08 11:30:00 @ 24.71p 100%, 17-08 11:30:00 - 17-08 12:00:00 @ 24.02p 100%, 17-08 12:00:00 - 17-08 12:30:00 @ 23.79p 100%, 17-08 12:30:00 - 17-08 13:00:00 @ 23.55p 100%, 17-08 13:00:00 - 17-08 13:30:00 @ 23.14p 100%, 17-08 13:30:00 - 17-08 14:00:00 @ 22.71p 100%, 17-08 14:00:00 - 17-08 14:30:00 @ 22.01p 100%, 17-08 14:30:00 - 17-08 15:00:00 @ 21.29p 100%, 17-08 15:00:00 - 17-08 15:30:00 @ 22.01p 100%, 17-08 15:30:00 - 17-08 16:00:00 @ 22.71p 100% ] reserve 1.12
2026-08-15 15:35:08.415823: Unclipped charge windows [ 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 100%, 16-08 16:00:00 - 16-08 18:30:00 @ 42.39p 100%, 16-08 19:00:00 - 17-08 16:00:00 @ 22.34p 100% ] reserve 1.12
2026-08-15 15:35:08.415997: Unfiltered charge windows [ 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 100%, 16-08 16:00:00 - 16-08 18:30:00 @ 42.39p 100%, 16-08 19:00:00 - 17-08 16:00:00 @ 22.34p 100% ] reserve 1.12
2026-08-15 15:35:08.416141: Filtered charge windows [ 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 100%, 16-08 16:00:00 - 16-08 18:30:00 @ 42.39p 100%, 16-08 19:00:00 - 17-08 16:00:00 @ 22.34p 100% ] reserve 1.12
2026-08-15 15:35:08.452162: Previous plan best metric is 589.61 (cost 650.19) and new plan best metric is 575.77 (cost 593.42)
2026-08-15 15:35:08.452456: New plan metric is significantly better from previous plan, using new plan
2026-08-15 15:35:08.452511: Plan valid is now true after recompute was False
2026-08-15 15:35:08.484143: predict base end_record 08-16 16:00:00, final soc 16.0kWh, metric 1024.04p, metric_keep 0kWh, min_soc 2.82kWh @ 08-16 10:25:00, load 24.95kWh, PV 0.0kWh
2026-08-15 15:35:08.591120: Battery has 48.0 hours left - now at 14.54kWh
2026-08-15 15:35:08.631823: predict base10 end_record 08-16 16:00:00, final soc 16.0kWh, metric 1041.12p, metric_keep 0kWh, min_soc 2.15kWh @ 08-16 10:25:00, load 25.74kWh, PV 0.0kWh
2026-08-15 15:35:08.704576: predict best10 end_record 08-16 16:00:00, final soc 1.12kWh, metric 662.33p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 11:35:00, load 25.74kWh, PV 0.0kWh
2026-08-15 15:35:08.774369: predict best end_record 08-16 16:00:00, final soc 1.12kWh, metric 643.4p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 12:15:00, load 24.95kWh, PV 0.0kWh
2026-08-15 15:35:08.774458: Saving plan best values to HA entities
2026-08-15 15:35:08.912914: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0
2026-08-15 15:35:08.918221: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 15:35:08.923993: Best charging limit SoC's [16.0, 16.0, 16.0]kWh, export []kWh gives import battery 1.85kWh, house 2.51kWh, export 0.0kWh, metric 643.4p, metric10 662.33p
2026-08-15 15:35:09.003295: Marginal costs baseline metric (no standing charge): 593.4153
2026-08-15 15:35:09.259995: Marginal energy costs matrix computed: min=20.57 max=32.98
2026-08-15 15:35:09.331502: Rate array import [{'start': 935, 'end': 960, 'rate': 'cheap', 'range': '(15.9p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1860, 'rate': 'expensive', 'range': '(25.9p - 32.9p)'}, {'start': 1860, 'end': 2400, 'rate': 'cheap', 'range': '(21.3p - 25.6p)'}] export [{'start': 935, 'end': 2400, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 15:35:09.331908: - Your estimated bill for today is £5.36 and tomorrow is £9.16
2026-08-15 15:35:09.331961: - Import rates are cheap (15.9p) for the next 25 minutes and then expensive (33.1p) for the next 1 hour.
2026-08-15 15:35:09.331995: - The battery is currently at 91% and is charging to 100% for the next 25 minutes.
2026-08-15 15:35:09.332022: - For the next 48 hours there will be no solar generation.
2026-08-15 15:35:09.332055: - You will run out of battery in 20 hours.
2026-08-15 15:35:09.332077: 
2026-08-15 15:35:09.383453: Plan calculation took 5.81 seconds
2026-08-15 15:35:09.384001: Inverter 0: Type SK Sunsynk
2026-08-15 15:35:09.384054: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 15:35:09.384272: Reserve min: 7%, battery_min: 7%
2026-08-15 15:35:09.384355: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 15:35:09.384702: Inverter 0 SoC: 14.54kW 91%, current charge rate 5000W, current discharge rate 5250W, current battery power -4557W, current battery voltage 51.2V, grid power -5204W, load power 208W, PV Power 0W
2026-08-15 15:35:09.384943: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 15:35:09.385116: Inverter 0 scheduled charge enable is True
2026-08-15 15:35:09.385178: Inverter 0 charge windows currently [{'start': 630, 'end': 960, 'average': 0}, {'start': 2070, 'end': 2400, 'average': 0}, {'start': 3510, 'end': 3840, 'average': 0}]
2026-08-15 15:35:09.385280: Inverter 0 Charge settings: 08-15 10:30:00-08-15 16:00:00, limit 100.0%, power 5.0kW
2026-08-15 15:35:09.385405: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 15:35:09.385490: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 15:35:09.385535: Inverter 0 scheduled discharge enable is False
2026-08-15 15:35:09.385673: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 15:35:09.385711: Inverter 0 discharge windows currently []
2026-08-15 15:35:09.385733: Note: Inverter does not support discharge freeze - disabled
2026-08-15 15:35:09.385756: Note: Inverter does not support charge freeze - disabled
2026-08-15 15:35:09.385774: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 15:35:09.438313: Include original charge start 08-15 10:30:00, keeping this instead of new start 08-15 15:30:00
2026-08-15 15:35:09.438429: Inverter 0 Charge window will be: 2026-08-15 10:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 91%, target 100%
2026-08-15 15:35:09.438574: Inverter 0 Target SoC 100%, (this inverter 100%), battery temperature 20°C, select charge rate 5000W (real 5000W), current charge rate 5000W
2026-08-15 15:35:09.438778: Adjust idle time, charge 10:30:00-16:00:00 discharge 00:00:00-00:00:00
2026-08-15 15:35:09.438936: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 15:35:09.439037: No export window planned
2026-08-15 15:35:09.439134: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 15:35:09.439188: Adjust idle time, charge 10:30:00-16:00:00 discharge 00:00:00-00:00:00
2026-08-15 15:35:09.439297: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 15:35:09.439388: Inverter 0 setting charging SoC to 100% as per target
2026-08-15 15:35:09.439426: Inverter 0 adjust target SoC for charge to 100% based on requested all inverter SoC 100%
2026-08-15 15:35:09.439467: Inverter 0 Current Target SoC is 100%, already at target
2026-08-15 15:35:09.439580: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:35:09.439617: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:35:09.439640: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:35:09.439664: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:35:09.439684: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:35:09.439705: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:35:09.439725: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:35:09.439761: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 15:35:09.439794: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 15:35:09.439818: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 15:35:09.439856: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 15:35:09.439906: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 15:35:09.439953: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 15:35:09.440002: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 15:35:09.440100: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:35:09.440179: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:35:09.440202: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:35:09.440223: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:35:09.440242: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:35:09.440261: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:35:09.440300: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:35:09.440319: Inverter 0 count register writes 0
2026-08-15 15:35:09.458258: Total inverter register writes now 825
2026-08-15 15:35:09.486642: Info: Completed run status Charging
2026-08-15 15:35:09.493339: Info: record_status Charging target 91%-100.0%
2026-08-15 15:35:09.500315: Saved current settings to /config/predbat_config.json
2026-08-15 15:35:09.500598: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 15:35:41.604744: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 15:35:41.605052: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 15:35:41.605099: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 15:35:41.605293: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 15:35:41.605336: Note: Inverter does not support discharge freeze - disabled
2026-08-15 15:35:41.605358: Note: Inverter does not support charge freeze - disabled
2026-08-15 15:35:41.605375: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 15:37:41.828137: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 15:37:41.828388: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 15:37:41.828471: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 15:37:41.828620: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 15:37:41.828654: Note: Inverter does not support discharge freeze - disabled
2026-08-15 15:37:41.828672: Note: Inverter does not support charge freeze - disabled
2026-08-15 15:37:41.828687: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 15:39:42.043917: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 15:39:42.044188: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 15:39:42.044226: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 15:39:42.044460: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 15:39:42.044501: Note: Inverter does not support discharge freeze - disabled
2026-08-15 15:39:42.044523: Note: Inverter does not support charge freeze - disabled
2026-08-15 15:39:42.044541: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 15:40:00.140101: --------------- PredBat - update at 2026-08-15 15:40:00+01:00 with clock skew 0 minutes, minutes now 940
2026-08-15 15:40:00.140888: Saved current settings to /config/predbat_config.json
2026-08-15 15:40:00.141057: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 80.0 minutes
2026-08-15 15:40:00.141169: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.2, latest beta is v8.48.2
2026-08-15 15:40:00.141266: Autoupdate: There is an update pending v8.48.2 PV90 and second pass enabled by default, bug fixes - auto update is off
2026-08-15 15:40:00.160182: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 15:40:00.160354: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 15:40:00.160621: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 15:40:00.161360: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 15:40:00.161536: Predbat mode is set to Control charge & discharge
2026-08-15 15:40:00.342435: Found 21602 load_today datapoints going back 28 days
2026-08-15 15:40:00.342594: Using load_power data to fill gaps in load_today data
2026-08-15 15:40:01.042880: Processing 721 30-minute periods for power integration
2026-08-15 15:40:01.194274: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 15:40:01.194440: Car charging hold False, threshold 6.0kWh
2026-08-15 15:40:01.194482: Current data so far today: load 8.42kWh, import 25.1kWh, export 0.0kWh, PV 0kWh
2026-08-15 15:40:01.206906: Cars: SoC: [11.134]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 15:40:01.207318: Standing charge is set to 49.98p
2026-08-15 15:40:01.246457: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 15:40:01.246549: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 15:40:01.246743: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 300.0 minutes
2026-08-15 15:40:01.247093: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 300.0 minutes
2026-08-15 15:40:01.251819: Loaded 95 datapoints of futurerate analysis
2026-08-15 15:40:01.337378: Predicted future rates: ['08-15 00:00:00 => 28.9 / 20.01', '08-15 01:00:00 => 27.54 / 19.31', '08-15 02:00:00 => 26.52 / 18.8', '08-15 03:00:00 => 25.99 / 18.53', '08-15 04:00:00 => 25.8 / 18.43', '08-15 05:00:00 => 25.96 / 18.51', '08-15 06:00:00 => 25.55 / 18.3', '08-15 07:00:00 => 24.33 / 17.68', '08-15 08:00:00 => 23.03 / 17.01', '08-15 09:00:00 => 22.05 / 16.51', '08-15 10:00:00 => 20.43 / 15.68', '08-15 11:00:00 => 18.01 / 14.45', '08-15 12:00:00 => 16.37 / 13.61', '08-15 13:00:00 => 15.76 / 13.3', '08-15 14:00:00 => 15.35 / 13.09', '08-15 15:00:00 => 15.86 / 13.35', '08-15 16:00:00 => 32.89 / 16.13', '08-15 17:00:00 => 38.02 / 18.75', '08-15 18:00:00 => 42.36 / 20.96', '08-15 19:00:00 => 31.09 / 21.13', '08-15 20:00:00 => 31.64 / 21.41', '08-15 21:00:00 => 31.64 / 21.41', '08-15 22:00:00 => 30.58 / 20.87', '08-15 23:00:00 => 29.37 / 20.25', '08-16 00:00:00 => 28.83 / 19.97', '08-16 01:00:00 => 27.73 / 19.41', '08-16 02:00:00 => 26.76 / 18.92', '08-16 03:00:00 => 26.39 / 18.73', '08-16 04:00:00 => 26.33 / 18.7', '08-16 05:00:00 => 26.23 / 18.65', '08-16 06:00:00 => 25.99 / 18.53', '08-16 07:00:00 => 25.64 / 18.35', '08-16 08:00:00 => 24.84 / 17.94', '08-16 09:00:00 => 24.26 / 17.64', '08-16 10:00:00 => 24.8 / 17.92', '08-16 11:00:00 => 24.71 / 17.87', '08-16 12:00:00 => 23.79 / 17.4', '08-16 13:00:00 => 23.14 / 17.07', '08-16 14:00:00 => 22.01 / 16.49']
2026-08-15 15:40:01.401096: Rate min forward looking: now 15.87p at end of forecast 21.29p
2026-08-15 15:40:01.401553: Import rates: min 15.87p, max 46.05p, average 28.31p
2026-08-15 15:40:01.437720: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 15:40:01.437837: Rate thresholds (for charge/export) are import 45.55p (0.0p), export -0.1p (0.0p)
2026-08-15 15:40:01.438936: High export rate found rates in range 99p to -99p
2026-08-15 15:40:01.518893: Low Import rate found rates in range 15.87p to 44.19p
2026-08-15 15:40:01.519026: Car 0 charging is not planned as it is not plugged in
2026-08-15 15:40:01.530359: Battery level now 14.54kWh, -1hr ago 10.38kWh, at midnight 1.66kWh, battery value change in the last hour 56.59p, change today 175.56p, rate_forward 13.63p
2026-08-15 15:40:01.530686: Last hour: net energy 4.75kWh, import 4.75kWh, export 0.0kWh, car 0kWh, load 0.2kWh, net cost 69.64p, import 69.64p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 15:40:01.578611: Today's energy total net 25.1kWh, import 25.1kWh, export 0.0kWh, cost 519.39p, import 469.41p, export 0.0p, carbon 0.0kg
2026-08-15 15:40:01.578759: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 15:40:01.651608: Using weighted-bucket historical load forecast over 14 days
2026-08-15 15:40:01.675692: Today's load divergence 92.63%, in-day adjustment 110.62%, damping 0.95x, yesterday 143.77% today 92.99% blend 34.72%
2026-08-15 15:40:01.675779: Today's predicted so far 9.58kWh with 0.0kWh car/iBoost excluded, 18.65kWh import ignored, and 9.58kWh forecast extra.
2026-08-15 15:40:01.675805: Today's actual load so far 8.53kWh with 0.0kWh car/iBoost excluded, and 18.65kWh import ignored.
2026-08-15 15:40:01.706620: Inverter 0: Type SK Sunsynk
2026-08-15 15:40:01.706702: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 15:40:01.706854: Reserve min: 7%, battery_min: 7%
2026-08-15 15:40:01.706905: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 15:40:01.707128: Inverter 0 SoC: 14.89kW 93%, current charge rate 5000W, current discharge rate 5250W, current battery power -4554W, current battery voltage 51.2V, grid power -5261W, load power 263W, PV Power 0W
2026-08-15 15:40:01.707258: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 15:40:01.707334: Inverter 0 scheduled charge enable is True
2026-08-15 15:40:01.707371: Inverter 0 charge windows currently [{'start': 630, 'end': 960, 'average': 0}, {'start': 2070, 'end': 2400, 'average': 0}, {'start': 3510, 'end': 3840, 'average': 0}]
2026-08-15 15:40:01.707461: Inverter 0 Charge settings: 08-15 10:30:00-08-15 16:00:00, limit 100.0%, power 5.0kW
2026-08-15 15:40:01.707554: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 15:40:01.707585: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 15:40:01.707615: Inverter 0 scheduled discharge enable is False
2026-08-15 15:40:01.707712: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 15:40:01.707742: Inverter 0 discharge windows currently []
2026-08-15 15:40:01.707760: Note: Inverter does not support discharge freeze - disabled
2026-08-15 15:40:01.707775: Note: Inverter does not support charge freeze - disabled
2026-08-15 15:40:01.707789: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 15:40:01.761778: Dynamic load last period 0.20kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 15:40:01.761874: Plan was last updated on 2026-08-15 15:35:00+01:00 and is now 5.0 minutes old
2026-08-15 15:40:01.762028: Best charge window [ 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 100%, 16-08 16:00:00 - 16-08 18:30:00 @ 42.39p 100%, 16-08 19:00:00 - 17-08 16:00:00 @ 22.34p 100% ]
2026-08-15 15:40:01.762061: Best export window [  ]
2026-08-15 15:40:01.762670: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 15:40:01.765096: Load divergence over 8.0 hours mean 483.73W, min 291.6W, max 1856.4W, std dev 270.24W, divergence 27.93%
2026-08-15 15:40:01.780062: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 15:40:01.780306: LoadML is_calculating False
2026-08-15 15:40:01.780805: Creating pool of 12 processes to match your CPU count
2026-08-15 15:40:01.882830: predict base end_record 08-16 16:05:00, final soc 15.95kWh, metric 1029.33p, metric_keep 0kWh, min_soc 2.82kWh @ 08-16 10:25:00, load 25.05kWh, PV 0.0kWh
2026-08-15 15:40:01.990964: Battery has 48.0 hours left - now at 14.89kWh
2026-08-15 15:40:02.026764: predict base10 end_record 08-16 16:05:00, final soc 15.95kWh, metric 1046.16p, metric_keep 0kWh, min_soc 2.18kWh @ 08-16 10:25:00, load 25.84kWh, PV 0.0kWh
2026-08-15 15:40:02.092485: predict best10 end_record 08-16 16:05:00, final soc 1.44kWh, metric 682.12p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 11:35:00, load 25.84kWh, PV 0.0kWh
2026-08-15 15:40:02.158894: predict best end_record 08-16 16:05:00, final soc 1.51kWh, metric 665.9p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 12:15:00, load 25.05kWh, PV 0.0kWh
2026-08-15 15:40:02.158977: Saving plan best values to HA entities
2026-08-15 15:40:02.303879: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0
2026-08-15 15:40:02.308603: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 15:40:02.313471: Best charging limit SoC's [16.0, 16.0, 16.0]kWh, export []kWh gives import battery 1.88kWh, house 2.51kWh, export 0.0kWh, metric 665.9p, metric10 682.12p
2026-08-15 15:40:02.384614: Marginal costs baseline metric (no standing charge): 615.912
2026-08-15 15:40:02.628369: Marginal energy costs matrix computed: min=21.25 max=33.13
2026-08-15 15:40:02.692871: Rate array import [{'start': 940, 'end': 960, 'rate': 'cheap', 'range': '(15.9p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1860, 'rate': 'expensive', 'range': '(25.9p - 32.9p)'}, {'start': 1860, 'end': 2400, 'rate': 'cheap', 'range': '(21.3p - 25.6p)'}, {'start': 2400, 'end': 2405, 'rate': 'very expensive', 'range': '(37.1p)'}] export [{'start': 940, 'end': 2405, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 15:40:02.693226: - Your estimated bill for today is £5.42 and tomorrow is £9.17
2026-08-15 15:40:02.693269: - Import rates are cheap (15.9p) for the next 20 minutes and then expensive (33.1p) for the next 1 hour.
2026-08-15 15:40:02.693287: - The battery is currently at 93% and is charging to 100% for the next 20 minutes.
2026-08-15 15:40:02.693303: - For the next 48 hours there will be no solar generation.
2026-08-15 15:40:02.693317: - You will run out of battery in 20 hours.
2026-08-15 15:40:02.693331: 
2026-08-15 15:40:02.738005: Plan calculation took 0.98 seconds
2026-08-15 15:40:02.741750: No high rate period found
2026-08-15 15:40:02.790660: Import threshold used for optimisation was 15.87p
2026-08-15 15:40:02.841998: Low import rate windows [0: 08-15 15:30:00 - 08-15 16:00:00 @ 15.87, 1: 08-15 16:00:00 - 08-15 16:30:00 @ 33.13, 2: 08-15 16:30:00 - 08-15 17:00:00 @ 33.13, 3: 08-15 17:00:00 - 08-15 17:30:00 @ 38.46, 4: 08-15 17:30:00 - 08-15 18:00:00 @ 40.44, 5: 08-15 18:00:00 - 08-15 18:30:00 @ 41.55, 6: 08-15 18:30:00 - 08-15 19:00:00 @ 43.82, 7: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 8: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 9: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 10: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 11: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 12: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 13: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 14: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 15: 08-15 23:00:00 - 08-15 23:30:00 @ 29.37, 16: 08-15 23:30:00 - 08-16 00:00:00 @ 29.2, 17: 08-16 00:00:00 - 08-16 00:30:00 @ 28.83, 18: 08-16 00:30:00 - 08-16 01:00:00 @ 28.46, 19: 08-16 01:00:00 - 08-16 01:30:00 @ 27.73, 20: 08-16 01:30:00 - 08-16 02:00:00 @ 27.01, 21: 08-16 02:00:00 - 08-16 02:30:00 @ 26.76, 22: 08-16 02:30:00 - 08-16 03:00:00 @ 26.48, 23: 08-16 03:00:00 - 08-16 03:30:00 @ 26.39, 24: 08-16 03:30:00 - 08-16 04:00:00 @ 26.27, 25: 08-16 04:00:00 - 08-16 04:30:00 @ 26.33, 26: 08-16 04:30:00 - 08-16 05:00:00 @ 26.37, 27: 08-16 05:00:00 - 08-16 05:30:00 @ 26.23, 28: 08-16 05:30:00 - 08-16 06:00:00 @ 26.07, 29: 08-16 06:00:00 - 08-16 06:30:00 @ 25.99, 30: 08-16 06:30:00 - 08-16 07:00:00 @ 25.92, 31: 08-16 07:00:00 - 08-16 07:30:00 @ 25.64, 32: 08-16 07:30:00 - 08-16 08:00:00 @ 25.39, 33: 08-16 08:00:00 - 08-16 08:30:00 @ 24.84, 34: 08-16 08:30:00 - 08-16 09:00:00 @ 24.28, 35: 08-16 09:00:00 - 08-16 09:30:00 @ 24.26, 36: 08-16 09:30:00 - 08-16 10:00:00 @ 24.22, 37: 08-16 10:00:00 - 08-16 10:30:00 @ 24.8, 38: 08-16 10:30:00 - 08-16 11:00:00 @ 25.37, 39: 08-16 11:00:00 - 08-16 11:30:00 @ 24.71, 40: 08-16 11:30:00 - 08-16 12:00:00 @ 24.02, 41: 08-16 12:00:00 - 08-16 12:30:00 @ 23.79, 42: 08-16 12:30:00 - 08-16 13:00:00 @ 23.55, 43: 08-16 13:00:00 - 08-16 13:30:00 @ 23.14, 44: 08-16 13:30:00 - 08-16 14:00:00 @ 22.71, 45: 08-16 14:00:00 - 08-16 14:30:00 @ 22.01, 46: 08-16 14:30:00 - 08-16 15:00:00 @ 21.29, 47: 08-16 15:00:00 - 08-16 15:30:00 @ 22.01, 48: 08-16 15:30:00 - 08-16 16:00:00 @ 22.71, 49: 08-16 16:00:00 - 08-16 16:30:00 @ 37.14, 50: 08-16 16:30:00 - 08-16 17:00:00 @ 37.91, 51: 08-16 17:00:00 - 08-16 17:30:00 @ 40.13, 52: 08-16 17:30:00 - 08-16 18:00:00 @ 42.36, 53: 08-16 18:00:00 - 08-16 18:30:00 @ 44.19, 54: 08-16 19:00:00 - 08-16 19:30:00 @ 33.04, 55: 08-16 19:30:00 - 08-16 20:00:00 @ 33.71, 56: 08-16 20:00:00 - 08-16 20:30:00 @ 33.83, 57: 08-16 20:30:00 - 08-16 21:00:00 @ 33.94, 58: 08-16 21:00:00 - 08-16 21:30:00 @ 33.73, 59: 08-16 21:30:00 - 08-16 22:00:00 @ 33.53, 60: 08-16 22:00:00 - 08-16 22:30:00 @ 32.36, 61: 08-16 22:30:00 - 08-16 23:00:00 @ 31.17, 62: 08-16 23:00:00 - 08-16 23:30:00 @ 29.37, 63: 08-16 23:30:00 - 08-17 00:00:00 @ 29.2, 64: 08-17 00:00:00 - 08-17 00:30:00 @ 28.83, 65: 08-17 00:30:00 - 08-17 01:00:00 @ 28.46, 66: 08-17 01:00:00 - 08-17 01:30:00 @ 27.73, 67: 08-17 01:30:00 - 08-17 02:00:00 @ 27.01, 68: 08-17 02:00:00 - 08-17 02:30:00 @ 26.76, 69: 08-17 02:30:00 - 08-17 03:00:00 @ 26.48, 70: 08-17 03:00:00 - 08-17 03:30:00 @ 26.39, 71: 08-17 03:30:00 - 08-17 04:00:00 @ 26.27, 72: 08-17 04:00:00 - 08-17 04:30:00 @ 26.33, 73: 08-17 04:30:00 - 08-17 05:00:00 @ 26.37, 74: 08-17 05:00:00 - 08-17 05:30:00 @ 26.23, 75: 08-17 05:30:00 - 08-17 06:00:00 @ 26.07, 76: 08-17 06:00:00 - 08-17 06:30:00 @ 25.99, 77: 08-17 06:30:00 - 08-17 07:00:00 @ 25.92, 78: 08-17 07:00:00 - 08-17 07:30:00 @ 25.64, 79: 08-17 07:30:00 - 08-17 08:00:00 @ 25.39, 80: 08-17 08:00:00 - 08-17 08:30:00 @ 24.84, 81: 08-17 08:30:00 - 08-17 09:00:00 @ 24.28, 82: 08-17 09:00:00 - 08-17 09:30:00 @ 24.26, 83: 08-17 09:30:00 - 08-17 10:00:00 @ 24.22, 84: 08-17 10:00:00 - 08-17 10:30:00 @ 24.8, 85: 08-17 10:30:00 - 08-17 11:00:00 @ 25.37, 86: 08-17 11:00:00 - 08-17 11:30:00 @ 24.71, 87: 08-17 11:30:00 - 08-17 12:00:00 @ 24.02, 88: 08-17 12:00:00 - 08-17 12:30:00 @ 23.79, 89: 08-17 12:30:00 - 08-17 13:00:00 @ 23.55, 90: 08-17 13:00:00 - 08-17 13:30:00 @ 23.14, 91: 08-17 13:30:00 - 08-17 14:00:00 @ 22.71, 92: 08-17 14:00:00 - 08-17 14:30:00 @ 22.01, 93: 08-17 14:30:00 - 08-17 15:00:00 @ 21.29, 94: 08-17 15:00:00 - 08-17 15:30:00 @ 22.01, 95: 08-17 15:30:00 - 08-17 16:00:00 @ 22.71]
2026-08-15 15:40:02.849579: Include original charge start 08-15 10:30:00, keeping this instead of new start 08-15 15:30:00
2026-08-15 15:40:02.849711: Inverter 0 Charge window will be: 2026-08-15 10:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 93%, target 100%
2026-08-15 15:40:02.849886: Inverter 0 Target SoC 100%, (this inverter 100%), battery temperature 20°C, select charge rate 5000W (real 5000W), current charge rate 5000W
2026-08-15 15:40:02.850098: Adjust idle time, charge 10:30:00-16:00:00 discharge 00:00:00-00:00:00
2026-08-15 15:40:02.850349: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 15:40:02.850467: No export window planned
2026-08-15 15:40:02.850702: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 15:40:02.850764: Adjust idle time, charge 10:30:00-16:00:00 discharge 00:00:00-00:00:00
2026-08-15 15:40:02.850933: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 15:40:02.851068: Inverter 0 setting charging SoC to 100% as per target
2026-08-15 15:40:02.851113: Inverter 0 adjust target SoC for charge to 100% based on requested all inverter SoC 100%
2026-08-15 15:40:02.851179: Inverter 0 Current Target SoC is 100%, already at target
2026-08-15 15:40:02.851292: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:40:02.851357: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:40:02.851388: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:40:02.851443: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:40:02.851471: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:40:02.851498: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:40:02.851522: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:40:02.851567: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 15:40:02.851604: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 15:40:02.851634: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 15:40:02.851660: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 15:40:02.851688: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 15:40:02.851719: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 15:40:02.851744: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 15:40:02.851812: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:40:02.851843: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:40:02.851867: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:40:02.851893: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:40:02.851916: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:40:02.851939: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:40:02.851962: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:40:02.851983: Inverter 0 count register writes 0
2026-08-15 15:40:02.867753: Will not recompute the plan, it is 5.0 minutes old and max age is 10 minutes
2026-08-15 15:40:02.872656: Total inverter register writes now 825
2026-08-15 15:40:02.908195: Info: Completed run status Charging
2026-08-15 15:40:02.914837: Info: record_status Charging target 93%-100.0%
2026-08-15 15:40:02.922089: Saved current settings to /config/predbat_config.json
2026-08-15 15:40:02.922509: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 15:40:42.027940: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 15:40:42.028226: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 15:40:42.028276: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 15:40:42.028462: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 15:40:42.028535: Note: Inverter does not support discharge freeze - disabled
2026-08-15 15:40:42.028579: Note: Inverter does not support charge freeze - disabled
2026-08-15 15:40:42.028599: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 15:42:42.249014: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 15:42:42.249375: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 15:42:42.249430: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 15:42:42.249613: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 15:42:42.249652: Note: Inverter does not support discharge freeze - disabled
2026-08-15 15:42:42.249673: Note: Inverter does not support charge freeze - disabled
2026-08-15 15:42:42.249690: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 15:44:42.473155: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 15:44:42.473471: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 15:44:42.473526: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 15:44:42.473706: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 15:44:42.473776: Note: Inverter does not support discharge freeze - disabled
2026-08-15 15:44:42.474080: Note: Inverter does not support charge freeze - disabled
2026-08-15 15:44:42.474124: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 15:45:00.604466: --------------- PredBat - update at 2026-08-15 15:45:00+01:00 with clock skew 0 minutes, minutes now 945
2026-08-15 15:45:00.605258: Saved current settings to /config/predbat_config.json
2026-08-15 15:45:00.605403: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 85.0 minutes
2026-08-15 15:45:00.605483: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.2, latest beta is v8.48.2
2026-08-15 15:45:00.605686: Autoupdate: There is an update pending v8.48.2 PV90 and second pass enabled by default, bug fixes - auto update is off
2026-08-15 15:45:00.625750: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 15:45:00.625891: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 15:45:00.626058: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 15:45:00.626586: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 15:45:00.626706: Predbat mode is set to Control charge & discharge
2026-08-15 15:45:00.838065: Found 21602 load_today datapoints going back 28 days
2026-08-15 15:45:00.838222: Using load_power data to fill gaps in load_today data
2026-08-15 15:45:01.607127: Processing 721 30-minute periods for power integration
2026-08-15 15:45:01.792904: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 15:45:01.793063: Car charging hold False, threshold 6.0kWh
2026-08-15 15:45:01.793109: Current data so far today: load 8.43kWh, import 25.1kWh, export 0.0kWh, PV 0kWh
2026-08-15 15:45:01.808427: Cars: SoC: [11.134]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 15:45:01.808883: Standing charge is set to 49.98p
2026-08-15 15:45:01.855129: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 15:45:01.855232: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 15:45:01.855507: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 305.0 minutes
2026-08-15 15:45:01.855919: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 305.0 minutes
2026-08-15 15:45:01.861992: Loaded 95 datapoints of futurerate analysis
2026-08-15 15:45:01.956195: Predicted future rates: ['08-15 00:00:00 => 28.9 / 20.01', '08-15 01:00:00 => 27.54 / 19.31', '08-15 02:00:00 => 26.52 / 18.8', '08-15 03:00:00 => 25.99 / 18.53', '08-15 04:00:00 => 25.8 / 18.43', '08-15 05:00:00 => 25.96 / 18.51', '08-15 06:00:00 => 25.55 / 18.3', '08-15 07:00:00 => 24.33 / 17.68', '08-15 08:00:00 => 23.03 / 17.01', '08-15 09:00:00 => 22.05 / 16.51', '08-15 10:00:00 => 20.43 / 15.68', '08-15 11:00:00 => 18.01 / 14.45', '08-15 12:00:00 => 16.37 / 13.61', '08-15 13:00:00 => 15.76 / 13.3', '08-15 14:00:00 => 15.35 / 13.09', '08-15 15:00:00 => 15.86 / 13.35', '08-15 16:00:00 => 32.89 / 16.13', '08-15 17:00:00 => 38.02 / 18.75', '08-15 18:00:00 => 42.36 / 20.96', '08-15 19:00:00 => 31.09 / 21.13', '08-15 20:00:00 => 31.64 / 21.41', '08-15 21:00:00 => 31.64 / 21.41', '08-15 22:00:00 => 30.58 / 20.87', '08-15 23:00:00 => 29.37 / 20.25', '08-16 00:00:00 => 28.83 / 19.97', '08-16 01:00:00 => 27.73 / 19.41', '08-16 02:00:00 => 26.76 / 18.92', '08-16 03:00:00 => 26.39 / 18.73', '08-16 04:00:00 => 26.33 / 18.7', '08-16 05:00:00 => 26.23 / 18.65', '08-16 06:00:00 => 25.99 / 18.53', '08-16 07:00:00 => 25.64 / 18.35', '08-16 08:00:00 => 24.84 / 17.94', '08-16 09:00:00 => 24.26 / 17.64', '08-16 10:00:00 => 24.8 / 17.92', '08-16 11:00:00 => 24.71 / 17.87', '08-16 12:00:00 => 23.79 / 17.4', '08-16 13:00:00 => 23.14 / 17.07', '08-16 14:00:00 => 22.01 / 16.49']
2026-08-15 15:45:02.018990: Rate min forward looking: now 15.87p at end of forecast 21.29p
2026-08-15 15:45:02.019459: Import rates: min 15.87p, max 46.05p, average 28.32p
2026-08-15 15:45:02.064009: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 15:45:02.064142: Rate thresholds (for charge/export) are import 45.55p (0.0p), export -0.1p (0.0p)
2026-08-15 15:45:02.065504: High export rate found rates in range 99p to -99p
2026-08-15 15:45:02.170910: Low Import rate found rates in range 15.87p to 44.19p
2026-08-15 15:45:02.171053: Car 0 charging is not planned as it is not plugged in
2026-08-15 15:45:02.184609: Battery level now 14.89kWh, -1hr ago 11.07kWh, at midnight 1.66kWh, battery value change in the last hour 52.01p, change today 180.35p, rate_forward 13.63p
2026-08-15 15:45:02.185043: Last hour: net energy 4.3kWh, import 4.3kWh, export 0.0kWh, car 0kWh, load 0.2kWh, net cost 63.45p, import 63.45p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 15:45:02.245417: Today's energy total net 25.1kWh, import 25.1kWh, export 0.0kWh, cost 519.39p, import 469.41p, export 0.0p, carbon 0.0kg
2026-08-15 15:45:02.245569: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 15:45:02.345394: Using weighted-bucket historical load forecast over 14 days
2026-08-15 15:45:02.376864: Today's load divergence 92.33%, in-day adjustment 110.26%, damping 0.95x, yesterday 143.77% today 92.71% blend 34.38%
2026-08-15 15:45:02.377677: Today's predicted so far 9.58kWh with 0.0kWh car/iBoost excluded, 18.63kWh import ignored, and 9.58kWh forecast extra.
2026-08-15 15:45:02.377761: Today's actual load so far 8.49kWh with 0.0kWh car/iBoost excluded, and 18.63kWh import ignored.
2026-08-15 15:45:02.413413: Inverter 0: Type SK Sunsynk
2026-08-15 15:45:02.413506: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 15:45:02.413724: Reserve min: 7%, battery_min: 7%
2026-08-15 15:45:02.413829: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 15:45:02.414146: Inverter 0 SoC: 14.89kW 93%, current charge rate 5000W, current discharge rate 5250W, current battery power -4553W, current battery voltage 51.2V, grid power -5206W, load power 209W, PV Power 0W
2026-08-15 15:45:02.414324: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 15:45:02.414419: Inverter 0 scheduled charge enable is True
2026-08-15 15:45:02.414467: Inverter 0 charge windows currently [{'start': 630, 'end': 960, 'average': 0}, {'start': 2070, 'end': 2400, 'average': 0}, {'start': 3510, 'end': 3840, 'average': 0}]
2026-08-15 15:45:02.414558: Inverter 0 Charge settings: 08-15 10:30:00-08-15 16:00:00, limit 100.0%, power 5.0kW
2026-08-15 15:45:02.414729: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 15:45:02.414767: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 15:45:02.414821: Inverter 0 scheduled discharge enable is False
2026-08-15 15:45:02.414948: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 15:45:02.414996: Inverter 0 discharge windows currently []
2026-08-15 15:45:02.415022: Note: Inverter does not support discharge freeze - disabled
2026-08-15 15:45:02.415042: Note: Inverter does not support charge freeze - disabled
2026-08-15 15:45:02.415059: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 15:45:02.482956: Dynamic load last period 0.20kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 15:45:02.483073: Plan was last updated on 2026-08-15 15:35:00+01:00 and is now 10.0 minutes old
2026-08-15 15:45:02.483272: Best charge window [ 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 100%, 16-08 16:00:00 - 16-08 18:30:00 @ 42.39p 100%, 16-08 19:00:00 - 17-08 16:00:00 @ 22.34p 100% ]
2026-08-15 15:45:02.483329: Best export window [  ]
2026-08-15 15:45:02.484156: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 15:45:02.487437: Load divergence over 8.0 hours mean 495.24W, min 290.4W, max 1981.2W, std dev 300.4W, divergence 30.33%
2026-08-15 15:45:02.505793: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 15:45:02.505897: LoadML is_calculating False
2026-08-15 15:45:02.505962: Creating pool of 12 processes to match your CPU count
2026-08-15 15:45:02.635813: predict base end_record 08-16 16:10:00, final soc 15.91kWh, metric 1028.74p, metric_keep 0kWh, min_soc 2.76kWh @ 08-16 10:25:00, load 25.04kWh, PV 0.0kWh
2026-08-15 15:45:02.776330: Battery has 48.0 hours left - now at 14.89kWh
2026-08-15 15:45:02.847183: predict base10 end_record 08-16 16:10:00, final soc 15.91kWh, metric 1046.07p, metric_keep 0kWh, min_soc 2.03kWh @ 08-16 10:25:00, load 25.83kWh, PV 0.0kWh
2026-08-15 15:45:02.919765: predict best10 end_record 08-16 16:10:00, final soc 1.77kWh, metric 696.14p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 11:25:00, load 25.83kWh, PV 0.0kWh
2026-08-15 15:45:02.992432: predict best end_record 08-16 16:10:00, final soc 1.9kWh, metric 681.95p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 12:10:00, load 25.04kWh, PV 0.0kWh
2026-08-15 15:45:02.992515: Saving plan best values to HA entities
2026-08-15 15:45:03.172890: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0
2026-08-15 15:45:03.179879: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 15:45:03.186089: Best charging limit SoC's [16.0, 16.0, 16.0]kWh, export []kWh gives import battery 2.2kWh, house 2.56kWh, export 0.0kWh, metric 681.95p, metric10 696.14p
2026-08-15 15:45:03.268377: Marginal costs baseline metric (no standing charge): 631.9663
2026-08-15 15:45:03.539433: Marginal energy costs matrix computed: min=21.96 max=33.28
2026-08-15 15:45:03.630886: Rate array import [{'start': 945, 'end': 960, 'rate': 'cheap', 'range': '(15.9p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1860, 'rate': 'expensive', 'range': '(25.9p - 32.9p)'}, {'start': 1860, 'end': 2400, 'rate': 'cheap', 'range': '(21.3p - 25.6p)'}, {'start': 2400, 'end': 2410, 'rate': 'very expensive', 'range': '(37.1p)'}] export [{'start': 945, 'end': 2410, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 15:45:03.631413: - Your estimated bill for today is £5.40 and tomorrow is £9.20
2026-08-15 15:45:03.631482: - Import rates are cheap (15.9p) for the next 15 minutes and then expensive (33.1p) for the next 1 hour.
2026-08-15 15:45:03.631524: - The battery is currently at 93% and is charging to 100% for the next 15 minutes.
2026-08-15 15:45:03.631559: - For the next 48 hours there will be no solar generation.
2026-08-15 15:45:03.631594: - You will run out of battery in 20 hours.
2026-08-15 15:45:03.631627: 
2026-08-15 15:45:03.691929: Plan calculation took 1.21 seconds
2026-08-15 15:45:03.695644: No high rate period found
2026-08-15 15:45:03.747718: Import threshold used for optimisation was 15.87p
2026-08-15 15:45:03.806253: Low import rate windows [0: 08-15 15:30:00 - 08-15 16:00:00 @ 15.87, 1: 08-15 16:00:00 - 08-15 16:30:00 @ 33.13, 2: 08-15 16:30:00 - 08-15 17:00:00 @ 33.13, 3: 08-15 17:00:00 - 08-15 17:30:00 @ 38.46, 4: 08-15 17:30:00 - 08-15 18:00:00 @ 40.44, 5: 08-15 18:00:00 - 08-15 18:30:00 @ 41.55, 6: 08-15 18:30:00 - 08-15 19:00:00 @ 43.82, 7: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 8: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 9: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 10: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 11: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 12: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 13: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 14: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 15: 08-15 23:00:00 - 08-15 23:30:00 @ 29.37, 16: 08-15 23:30:00 - 08-16 00:00:00 @ 29.2, 17: 08-16 00:00:00 - 08-16 00:30:00 @ 28.83, 18: 08-16 00:30:00 - 08-16 01:00:00 @ 28.46, 19: 08-16 01:00:00 - 08-16 01:30:00 @ 27.73, 20: 08-16 01:30:00 - 08-16 02:00:00 @ 27.01, 21: 08-16 02:00:00 - 08-16 02:30:00 @ 26.76, 22: 08-16 02:30:00 - 08-16 03:00:00 @ 26.48, 23: 08-16 03:00:00 - 08-16 03:30:00 @ 26.39, 24: 08-16 03:30:00 - 08-16 04:00:00 @ 26.27, 25: 08-16 04:00:00 - 08-16 04:30:00 @ 26.33, 26: 08-16 04:30:00 - 08-16 05:00:00 @ 26.37, 27: 08-16 05:00:00 - 08-16 05:30:00 @ 26.23, 28: 08-16 05:30:00 - 08-16 06:00:00 @ 26.07, 29: 08-16 06:00:00 - 08-16 06:30:00 @ 25.99, 30: 08-16 06:30:00 - 08-16 07:00:00 @ 25.92, 31: 08-16 07:00:00 - 08-16 07:30:00 @ 25.64, 32: 08-16 07:30:00 - 08-16 08:00:00 @ 25.39, 33: 08-16 08:00:00 - 08-16 08:30:00 @ 24.84, 34: 08-16 08:30:00 - 08-16 09:00:00 @ 24.28, 35: 08-16 09:00:00 - 08-16 09:30:00 @ 24.26, 36: 08-16 09:30:00 - 08-16 10:00:00 @ 24.22, 37: 08-16 10:00:00 - 08-16 10:30:00 @ 24.8, 38: 08-16 10:30:00 - 08-16 11:00:00 @ 25.37, 39: 08-16 11:00:00 - 08-16 11:30:00 @ 24.71, 40: 08-16 11:30:00 - 08-16 12:00:00 @ 24.02, 41: 08-16 12:00:00 - 08-16 12:30:00 @ 23.79, 42: 08-16 12:30:00 - 08-16 13:00:00 @ 23.55, 43: 08-16 13:00:00 - 08-16 13:30:00 @ 23.14, 44: 08-16 13:30:00 - 08-16 14:00:00 @ 22.71, 45: 08-16 14:00:00 - 08-16 14:30:00 @ 22.01, 46: 08-16 14:30:00 - 08-16 15:00:00 @ 21.29, 47: 08-16 15:00:00 - 08-16 15:30:00 @ 22.01, 48: 08-16 15:30:00 - 08-16 16:00:00 @ 22.71, 49: 08-16 16:00:00 - 08-16 16:30:00 @ 37.14, 50: 08-16 16:30:00 - 08-16 17:00:00 @ 37.91, 51: 08-16 17:00:00 - 08-16 17:30:00 @ 40.13, 52: 08-16 17:30:00 - 08-16 18:00:00 @ 42.36, 53: 08-16 18:00:00 - 08-16 18:30:00 @ 44.19, 54: 08-16 19:00:00 - 08-16 19:30:00 @ 33.04, 55: 08-16 19:30:00 - 08-16 20:00:00 @ 33.71, 56: 08-16 20:00:00 - 08-16 20:30:00 @ 33.83, 57: 08-16 20:30:00 - 08-16 21:00:00 @ 33.94, 58: 08-16 21:00:00 - 08-16 21:30:00 @ 33.73, 59: 08-16 21:30:00 - 08-16 22:00:00 @ 33.53, 60: 08-16 22:00:00 - 08-16 22:30:00 @ 32.36, 61: 08-16 22:30:00 - 08-16 23:00:00 @ 31.17, 62: 08-16 23:00:00 - 08-16 23:30:00 @ 29.37, 63: 08-16 23:30:00 - 08-17 00:00:00 @ 29.2, 64: 08-17 00:00:00 - 08-17 00:30:00 @ 28.83, 65: 08-17 00:30:00 - 08-17 01:00:00 @ 28.46, 66: 08-17 01:00:00 - 08-17 01:30:00 @ 27.73, 67: 08-17 01:30:00 - 08-17 02:00:00 @ 27.01, 68: 08-17 02:00:00 - 08-17 02:30:00 @ 26.76, 69: 08-17 02:30:00 - 08-17 03:00:00 @ 26.48, 70: 08-17 03:00:00 - 08-17 03:30:00 @ 26.39, 71: 08-17 03:30:00 - 08-17 04:00:00 @ 26.27, 72: 08-17 04:00:00 - 08-17 04:30:00 @ 26.33, 73: 08-17 04:30:00 - 08-17 05:00:00 @ 26.37, 74: 08-17 05:00:00 - 08-17 05:30:00 @ 26.23, 75: 08-17 05:30:00 - 08-17 06:00:00 @ 26.07, 76: 08-17 06:00:00 - 08-17 06:30:00 @ 25.99, 77: 08-17 06:30:00 - 08-17 07:00:00 @ 25.92, 78: 08-17 07:00:00 - 08-17 07:30:00 @ 25.64, 79: 08-17 07:30:00 - 08-17 08:00:00 @ 25.39, 80: 08-17 08:00:00 - 08-17 08:30:00 @ 24.84, 81: 08-17 08:30:00 - 08-17 09:00:00 @ 24.28, 82: 08-17 09:00:00 - 08-17 09:30:00 @ 24.26, 83: 08-17 09:30:00 - 08-17 10:00:00 @ 24.22, 84: 08-17 10:00:00 - 08-17 10:30:00 @ 24.8, 85: 08-17 10:30:00 - 08-17 11:00:00 @ 25.37, 86: 08-17 11:00:00 - 08-17 11:30:00 @ 24.71, 87: 08-17 11:30:00 - 08-17 12:00:00 @ 24.02, 88: 08-17 12:00:00 - 08-17 12:30:00 @ 23.79, 89: 08-17 12:30:00 - 08-17 13:00:00 @ 23.55, 90: 08-17 13:00:00 - 08-17 13:30:00 @ 23.14, 91: 08-17 13:30:00 - 08-17 14:00:00 @ 22.71, 92: 08-17 14:00:00 - 08-17 14:30:00 @ 22.01, 93: 08-17 14:30:00 - 08-17 15:00:00 @ 21.29, 94: 08-17 15:00:00 - 08-17 15:30:00 @ 22.01, 95: 08-17 15:30:00 - 08-17 16:00:00 @ 22.71]
2026-08-15 15:45:03.814749: Include original charge start 08-15 10:30:00, keeping this instead of new start 08-15 15:30:00
2026-08-15 15:45:03.814881: Inverter 0 Charge window will be: 2026-08-15 10:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 93%, target 100%
2026-08-15 15:45:03.815056: Inverter 0 Target SoC 100%, (this inverter 100%), battery temperature 20°C, select charge rate 5000W (real 5000W), current charge rate 5000W
2026-08-15 15:45:03.815292: Adjust idle time, charge 10:30:00-16:00:00 discharge 00:00:00-00:00:00
2026-08-15 15:45:03.815584: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 15:45:03.815686: No export window planned
2026-08-15 15:45:03.815811: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 15:45:03.815846: Adjust idle time, charge 10:30:00-16:00:00 discharge 00:00:00-00:00:00
2026-08-15 15:45:03.815981: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 15:45:03.816106: Inverter 0 setting charging SoC to 100% as per target
2026-08-15 15:45:03.816149: Inverter 0 adjust target SoC for charge to 100% based on requested all inverter SoC 100%
2026-08-15 15:45:03.816232: Inverter 0 Current Target SoC is 100%, already at target
2026-08-15 15:45:03.816445: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:45:03.816521: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:45:03.816553: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:45:03.816585: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:45:03.816611: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:45:03.816635: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:45:03.816664: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:45:03.816711: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 15:45:03.816768: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 15:45:03.816796: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 15:45:03.816821: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 15:45:03.816852: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 15:45:03.816878: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 15:45:03.816902: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 15:45:03.817013: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:45:03.817058: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:45:03.817084: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:45:03.817108: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:45:03.817132: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:45:03.817155: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:45:03.817179: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:45:03.817200: Inverter 0 count register writes 0
2026-08-15 15:45:03.835196: Will recompute the plan as it is now 10.0 minutes old and will exceed the max age of 10 minutes before the next run
2026-08-15 15:45:03.835389: Recompute is saving previous plan...
2026-08-15 15:45:03.838790: Best charge window [ 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 100%, 15-08 16:00:00 - 15-08 16:30:00 @ 33.13p 100%, 15-08 16:30:00 - 15-08 17:00:00 @ 33.13p 100%, 15-08 17:00:00 - 15-08 17:30:00 @ 38.46p 100%, 15-08 17:30:00 - 15-08 18:00:00 @ 40.44p 100%, 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 100%, 15-08 18:30:00 - 15-08 19:00:00 @ 43.82p 100%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 100%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 100%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 100%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 100%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 100%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 100%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 100%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 100%, 15-08 23:00:00 - 15-08 23:30:00 @ 29.37p 100%, 15-08 23:30:00 - 16-08 00:00:00 @ 29.2p 100%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.83p 100%, 16-08 00:30:00 - 16-08 01:00:00 @ 28.46p 100%, 16-08 01:00:00 - 16-08 01:30:00 @ 27.73p 100%, 16-08 01:30:00 - 16-08 02:00:00 @ 27.01p 100%, 16-08 02:00:00 - 16-08 02:30:00 @ 26.76p 100%, 16-08 02:30:00 - 16-08 03:00:00 @ 26.48p 100%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.39p 100%, 16-08 03:30:00 - 16-08 04:00:00 @ 26.27p 100%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.33p 100%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.37p 100%, 16-08 05:00:00 - 16-08 05:30:00 @ 26.23p 100%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.07p 100%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.99p 100%, 16-08 06:30:00 - 16-08 07:00:00 @ 25.92p 100%, 16-08 07:00:00 - 16-08 07:30:00 @ 25.64p 100%, 16-08 07:30:00 - 16-08 08:00:00 @ 25.39p 100%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.84p 100%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.28p 100%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.26p 100%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.22p 100%, 16-08 10:00:00 - 16-08 10:30:00 @ 24.8p 100%, 16-08 10:30:00 - 16-08 11:00:00 @ 25.37p 100%, 16-08 11:00:00 - 16-08 11:30:00 @ 24.71p 100%, 16-08 11:30:00 - 16-08 12:00:00 @ 24.02p 100%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.79p 100%, 16-08 12:30:00 - 16-08 13:00:00 @ 23.55p 100%, 16-08 13:00:00 - 16-08 13:30:00 @ 23.14p 100%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.71p 100%, 16-08 14:00:00 - 16-08 14:30:00 @ 22.01p 100%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.29p 100%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.01p 100%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.71p 100%, 16-08 16:00:00 - 16-08 16:30:00 @ 37.14p 100%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.91p 100%, 16-08 17:00:00 - 16-08 17:30:00 @ 40.13p 100%, 16-08 17:30:00 - 16-08 18:00:00 @ 42.36p 100%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.19p 100%, 16-08 19:00:00 - 16-08 19:30:00 @ 33.04p 100%, 16-08 19:30:00 - 16-08 20:00:00 @ 33.71p 100%, 16-08 20:00:00 - 16-08 20:30:00 @ 33.83p 100%, 16-08 20:30:00 - 16-08 21:00:00 @ 33.94p 100%, 16-08 21:00:00 - 16-08 21:30:00 @ 33.73p 100%, 16-08 21:30:00 - 16-08 22:00:00 @ 33.53p 100%, 16-08 22:00:00 - 16-08 22:30:00 @ 32.36p 100%, 16-08 22:30:00 - 16-08 23:00:00 @ 31.17p 100%, 16-08 23:00:00 - 16-08 23:30:00 @ 29.37p 100%, 16-08 23:30:00 - 17-08 00:00:00 @ 29.2p 100%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.83p 100%, 17-08 00:30:00 - 17-08 01:00:00 @ 28.46p 100%, 17-08 01:00:00 - 17-08 01:30:00 @ 27.73p 100%, 17-08 01:30:00 - 17-08 02:00:00 @ 27.01p 100%, 17-08 02:00:00 - 17-08 02:30:00 @ 26.76p 100%, 17-08 02:30:00 - 17-08 03:00:00 @ 26.48p 100%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.39p 100%, 17-08 03:30:00 - 17-08 04:00:00 @ 26.27p 100%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.33p 100%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.37p 100%, 17-08 05:00:00 - 17-08 05:30:00 @ 26.23p 100%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.07p 100%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.99p 100%, 17-08 06:30:00 - 17-08 07:00:00 @ 25.92p 100%, 17-08 07:00:00 - 17-08 07:30:00 @ 25.64p 100%, 17-08 07:30:00 - 17-08 08:00:00 @ 25.39p 100%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.84p 100%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.28p 100%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.26p 100%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.22p 100%, 17-08 10:00:00 - 17-08 10:30:00 @ 24.8p 100%, 17-08 10:30:00 - 17-08 11:00:00 @ 25.37p 100%, 17-08 11:00:00 - 17-08 11:30:00 @ 24.71p 100%, 17-08 11:30:00 - 17-08 12:00:00 @ 24.02p 100%, 17-08 12:00:00 - 17-08 12:30:00 @ 23.79p 100%, 17-08 12:30:00 - 17-08 13:00:00 @ 23.55p 100%, 17-08 13:00:00 - 17-08 13:30:00 @ 23.14p 100%, 17-08 13:30:00 - 17-08 14:00:00 @ 22.71p 100%, 17-08 14:00:00 - 17-08 14:30:00 @ 22.01p 100%, 17-08 14:30:00 - 17-08 15:00:00 @ 21.29p 100%, 17-08 15:00:00 - 17-08 15:30:00 @ 22.01p 100%, 17-08 15:30:00 - 17-08 16:00:00 @ 22.71p 100% ]
2026-08-15 15:45:03.838884: Best export window [  ]
2026-08-15 15:45:03.839750: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 15:45:03.842924: Load divergence over 8.0 hours mean 495.24W, min 290.4W, max 1981.2W, std dev 300.4W, divergence 30.33%
2026-08-15 15:45:03.860827: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 15:45:03.860976: LoadML is_calculating False
2026-08-15 15:45:03.861090: Creating pool of 12 processes to match your CPU count
2026-08-15 15:45:03.953371: Calculate Best options: mode(Control charge & discharge), calculate_export_oncharge(False), calculate_export_on_pv(True), set_export_freeze_only(False), set_discharge_during_charge(True), combine_charge_slots(False), combine_export_slots(False), combine_rate_threshold(0.0), best_soc_min(0.0 kWh), best_soc_max(0.0 kWh), best_soc_keep(0.0 kWh), inverter_loss(4%), battery_loss(3%), battery_loss_discharge (3%), inverter_hybrid(True), metric_min_improvement(0.0p), metric_min_improvement_export(0.1p), metric_min_improvement_export_freeze(0.1p), metric_battery_cycle(0.0p/kWh), metric_battery_value_scaling(1.0 x) 
2026-08-15 15:45:03.955409: Optimise levels pass started at 2026-08-15 15:45:03
2026-08-15 15:45:03.955480: Optimise all windows, total charge 95 export 1
2026-08-15 15:45:04.347689: >> Region optimisation pass width 960 gives best_metric 975.42p, best_cost 989.42p, best_cycle 29.42kWh, best_import 20.47kWh
2026-08-15 15:45:04.480487: >> Region optimisation pass width 480 gives best_metric 975.42p, best_cost 989.42p, best_cycle 29.42kWh, best_import 20.47kWh
2026-08-15 15:45:04.716034: >> Region optimisation pass width 240 gives best_metric 975.42p, best_cost 989.42p, best_cycle 29.42kWh, best_import 20.47kWh
2026-08-15 15:45:05.181232: >> Region optimisation pass width 120 gives best_metric 975.42p, best_cost 989.42p, best_cycle 29.42kWh, best_import 20.47kWh
2026-08-15 15:45:05.181535: Calculated end_record as 08-16 16:00:00 based on best_price 22.01p, next_charge_start 08-15 16:00:00, max_windows 49
2026-08-15 15:45:05.181628: Optimise levels pass ended at 2026-08-15 15:45:05, duration 1.2 seconds tried 23 combinations
2026-08-15 15:45:05.181698: Set best_price_charge_level 23.6p, best_price_export_level 0p, best_price_charge 22.01p, best_cost_export 0p, best_metric 975.42p, best_keep 0kWh, best_cycle 29.42kWh, best_carbon 0kg, best_import 20.47kWh
2026-08-15 15:45:05.200406: Starting detailed optimisation end_record 08-16 16:00:00, best_price_charge 22.01p, best_price_export 0p. lowest_price_charge 15.87p with charge limits [16.0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 16.0, 16.0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0]kWh and export limits []kWh
2026-08-15 15:45:07.596801: Tweak plan optimisation started metric 580.35p, cost 597.96p
2026-08-15 15:45:07.822217: Tweak optimisation finished metric 580.35p, cost 597.96p, metric_keep 0kWh, cycle 15.44kWh, carbon 0kg, import 3.85kWh, changed 8 window(s)
2026-08-15 15:45:07.842357: Swap charge optimisation started metric 580.35p, cost 597.96p, min_improvement_swap 0.1p
2026-08-15 15:45:08.137258: Swap charge optimisation finished metric 580.35p, cost 597.96p
2026-08-15 15:45:08.168702: Raw charge windows [ 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 100%, 15-08 16:00:00 - 15-08 16:30:00 @ 33.13p 0%, 15-08 16:30:00 - 15-08 17:00:00 @ 33.13p 0%, 15-08 17:00:00 - 15-08 17:30:00 @ 38.46p 0%, 15-08 17:30:00 - 15-08 18:00:00 @ 40.44p 0%, 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 0%, 15-08 18:30:00 - 15-08 19:00:00 @ 43.82p 0%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 0%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 0%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 0%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 0%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 29.37p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 29.2p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.83p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 28.46p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 27.73p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 27.01p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 26.76p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 26.48p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.39p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 26.27p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.33p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.37p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 26.23p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.07p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.99p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 25.92p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 25.64p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 25.39p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.84p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.28p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.26p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.22p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 24.8p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 25.37p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 24.71p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 24.02p 0%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.79p 0%, 16-08 12:30:00 - 16-08 13:00:00 @ 23.55p 0%, 16-08 13:00:00 - 16-08 13:30:00 @ 23.14p 0%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.71p 0%, 16-08 14:00:00 - 16-08 14:30:00 @ 22.01p 0%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.29p 0%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.01p 0%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.71p 0%, 16-08 16:00:00 - 16-08 16:30:00 @ 37.14p 100%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.91p 100%, 16-08 17:00:00 - 16-08 17:30:00 @ 40.13p 100%, 16-08 17:30:00 - 16-08 18:00:00 @ 42.36p 100%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.19p 100%, 16-08 19:00:00 - 16-08 19:30:00 @ 33.04p 100%, 16-08 19:30:00 - 16-08 20:00:00 @ 33.71p 100%, 16-08 20:00:00 - 16-08 20:30:00 @ 33.83p 100%, 16-08 20:30:00 - 16-08 21:00:00 @ 33.94p 100%, 16-08 21:00:00 - 16-08 21:30:00 @ 33.73p 100%, 16-08 21:30:00 - 16-08 22:00:00 @ 33.53p 100%, 16-08 22:00:00 - 16-08 22:30:00 @ 32.36p 100%, 16-08 22:30:00 - 16-08 23:00:00 @ 31.17p 100%, 16-08 23:00:00 - 16-08 23:30:00 @ 29.37p 100%, 16-08 23:30:00 - 17-08 00:00:00 @ 29.2p 100%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.83p 100%, 17-08 00:30:00 - 17-08 01:00:00 @ 28.46p 100%, 17-08 01:00:00 - 17-08 01:30:00 @ 27.73p 100%, 17-08 01:30:00 - 17-08 02:00:00 @ 27.01p 100%, 17-08 02:00:00 - 17-08 02:30:00 @ 26.76p 100%, 17-08 02:30:00 - 17-08 03:00:00 @ 26.48p 100%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.39p 100%, 17-08 03:30:00 - 17-08 04:00:00 @ 26.27p 100%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.33p 100%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.37p 100%, 17-08 05:00:00 - 17-08 05:30:00 @ 26.23p 100%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.07p 100%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.99p 100%, 17-08 06:30:00 - 17-08 07:00:00 @ 25.92p 100%, 17-08 07:00:00 - 17-08 07:30:00 @ 25.64p 100%, 17-08 07:30:00 - 17-08 08:00:00 @ 25.39p 100%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.84p 100%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.28p 100%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.26p 100%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.22p 100%, 17-08 10:00:00 - 17-08 10:30:00 @ 24.8p 100%, 17-08 10:30:00 - 17-08 11:00:00 @ 25.37p 100%, 17-08 11:00:00 - 17-08 11:30:00 @ 24.71p 100%, 17-08 11:30:00 - 17-08 12:00:00 @ 24.02p 100%, 17-08 12:00:00 - 17-08 12:30:00 @ 23.79p 100%, 17-08 12:30:00 - 17-08 13:00:00 @ 23.55p 100%, 17-08 13:00:00 - 17-08 13:30:00 @ 23.14p 100%, 17-08 13:30:00 - 17-08 14:00:00 @ 22.71p 100%, 17-08 14:00:00 - 17-08 14:30:00 @ 22.01p 100%, 17-08 14:30:00 - 17-08 15:00:00 @ 21.29p 100%, 17-08 15:00:00 - 17-08 15:30:00 @ 22.01p 100%, 17-08 15:30:00 - 17-08 16:00:00 @ 22.71p 100% ] reserve 1.12
2026-08-15 15:45:08.169277: Unclipped charge windows [ 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 100%, 16-08 16:00:00 - 16-08 18:30:00 @ 42.39p 100%, 16-08 19:00:00 - 17-08 16:00:00 @ 22.34p 100% ] reserve 1.12
2026-08-15 15:45:08.169492: Unfiltered charge windows [ 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 100%, 16-08 16:00:00 - 16-08 18:30:00 @ 42.39p 100%, 16-08 19:00:00 - 17-08 16:00:00 @ 22.34p 100% ] reserve 1.12
2026-08-15 15:45:08.169636: Filtered charge windows [ 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 100%, 16-08 16:00:00 - 16-08 18:30:00 @ 42.39p 100%, 16-08 19:00:00 - 17-08 16:00:00 @ 22.34p 100% ] reserve 1.12
2026-08-15 15:45:08.204926: Previous plan best metric is 580.35 (cost 597.96) and new plan best metric is 580.35 (cost 597.96)
2026-08-15 15:45:08.205230: New plan metric is not significantly better (metric_min_improvement_plan 2.0) than previous plan, using previous plan
2026-08-15 15:45:08.205375: Plan valid is now true after recompute was False
2026-08-15 15:45:08.237166: predict base end_record 08-16 16:00:00, final soc 16.0kWh, metric 1028.74p, metric_keep 0kWh, min_soc 2.76kWh @ 08-16 10:25:00, load 24.96kWh, PV 0.0kWh
2026-08-15 15:45:08.362225: Battery has 48.0 hours left - now at 14.89kWh
2026-08-15 15:45:08.407128: predict base10 end_record 08-16 16:00:00, final soc 16.0kWh, metric 1046.07p, metric_keep 0kWh, min_soc 2.03kWh @ 08-16 10:25:00, load 25.74kWh, PV 0.0kWh
2026-08-15 15:45:08.483073: predict best10 end_record 08-16 16:00:00, final soc 1.12kWh, metric 667.14p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 11:25:00, load 25.74kWh, PV 0.0kWh
2026-08-15 15:45:08.564732: predict best end_record 08-16 16:00:00, final soc 1.12kWh, metric 647.94p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 12:10:00, load 24.96kWh, PV 0.0kWh
2026-08-15 15:45:08.564840: Saving plan best values to HA entities
2026-08-15 15:45:08.738631: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0
2026-08-15 15:45:08.744245: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 15:45:08.750154: Best charging limit SoC's [16.0, 16.0, 16.0]kWh, export []kWh gives import battery 1.29kWh, house 2.56kWh, export 0.0kWh, metric 647.94p, metric10 667.14p
2026-08-15 15:45:08.824151: Marginal costs baseline metric (no standing charge): 597.956
2026-08-15 15:45:09.083082: Marginal energy costs matrix computed: min=21.96 max=33.28
2026-08-15 15:45:09.147822: Rate array import [{'start': 945, 'end': 960, 'rate': 'cheap', 'range': '(15.9p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1860, 'rate': 'expensive', 'range': '(25.9p - 32.9p)'}, {'start': 1860, 'end': 2400, 'rate': 'cheap', 'range': '(21.3p - 25.6p)'}] export [{'start': 945, 'end': 2400, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 15:45:09.148186: - Your estimated bill for today is £5.40 and tomorrow is £9.20
2026-08-15 15:45:09.148230: - Import rates are cheap (15.9p) for the next 15 minutes and then expensive (33.1p) for the next 1 hour.
2026-08-15 15:45:09.148252: - The battery is currently at 93% and is charging to 100% for the next 15 minutes.
2026-08-15 15:45:09.148270: - For the next 48 hours there will be no solar generation.
2026-08-15 15:45:09.148287: - You will run out of battery in 20 hours.
2026-08-15 15:45:09.148304: 
2026-08-15 15:45:09.190953: Plan calculation took 5.36 seconds
2026-08-15 15:45:09.191361: Inverter 0: Type SK Sunsynk
2026-08-15 15:45:09.191410: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 15:45:09.191626: Reserve min: 7%, battery_min: 7%
2026-08-15 15:45:09.191706: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 15:45:09.192032: Inverter 0 SoC: 15.23kW 95%, current charge rate 5000W, current discharge rate 5250W, current battery power -4554W, current battery voltage 51.2V, grid power -5184W, load power 184W, PV Power 0W
2026-08-15 15:45:09.192272: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 15:45:09.192396: Inverter 0 scheduled charge enable is True
2026-08-15 15:45:09.192457: Inverter 0 charge windows currently [{'start': 630, 'end': 960, 'average': 0}, {'start': 2070, 'end': 2400, 'average': 0}, {'start': 3510, 'end': 3840, 'average': 0}]
2026-08-15 15:45:09.192557: Inverter 0 Charge settings: 08-15 10:30:00-08-15 16:00:00, limit 100.0%, power 5.0kW
2026-08-15 15:45:09.192682: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 15:45:09.192718: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 15:45:09.192755: Inverter 0 scheduled discharge enable is False
2026-08-15 15:45:09.192875: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 15:45:09.192912: Inverter 0 discharge windows currently []
2026-08-15 15:45:09.192934: Note: Inverter does not support discharge freeze - disabled
2026-08-15 15:45:09.192998: Note: Inverter does not support charge freeze - disabled
2026-08-15 15:45:09.193053: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 15:45:09.246394: Include original charge start 08-15 10:30:00, keeping this instead of new start 08-15 15:30:00
2026-08-15 15:45:09.246530: Inverter 0 Charge window will be: 2026-08-15 10:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 95%, target 100%
2026-08-15 15:45:09.246640: Inverter 0 Target SoC 100%, (this inverter 100%), battery temperature 20°C, select charge rate 5000W (real 5000W), current charge rate 5000W
2026-08-15 15:45:09.246778: Adjust idle time, charge 10:30:00-16:00:00 discharge 00:00:00-00:00:00
2026-08-15 15:45:09.246929: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 15:45:09.246997: No export window planned
2026-08-15 15:45:09.247088: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 15:45:09.247117: Adjust idle time, charge 10:30:00-16:00:00 discharge 00:00:00-00:00:00
2026-08-15 15:45:09.247227: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 15:45:09.247332: Inverter 0 setting charging SoC to 100% as per target
2026-08-15 15:45:09.247368: Inverter 0 adjust target SoC for charge to 100% based on requested all inverter SoC 100%
2026-08-15 15:45:09.247409: Inverter 0 Current Target SoC is 100%, already at target
2026-08-15 15:45:09.247497: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:45:09.247530: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:45:09.247552: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:45:09.247572: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:45:09.247596: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:45:09.247616: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:45:09.247635: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:45:09.247670: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 15:45:09.247697: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 15:45:09.247718: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 15:45:09.247743: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 15:45:09.247770: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 15:45:09.247790: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 15:45:09.247818: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 15:45:09.247865: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:45:09.247887: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:45:09.247906: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:45:09.247925: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:45:09.247970: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:45:09.247991: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:45:09.248014: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:45:09.248031: Inverter 0 count register writes 0
2026-08-15 15:45:09.266228: Total inverter register writes now 825
2026-08-15 15:45:09.297781: Info: Completed run status Charging
2026-08-15 15:45:09.303454: Info: record_status Charging target 95%-100.0%
2026-08-15 15:45:09.309591: Saved current settings to /config/predbat_config.json
2026-08-15 15:45:09.309871: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 15:45:42.403635: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 15:45:42.403911: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 15:45:42.403954: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 15:45:42.404090: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 15:45:42.404129: Note: Inverter does not support discharge freeze - disabled
2026-08-15 15:45:42.404151: Note: Inverter does not support charge freeze - disabled
2026-08-15 15:45:42.404169: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 15:47:56.658807: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 15:47:56.659129: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 15:47:56.659185: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 15:47:56.659477: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 15:47:56.659552: Note: Inverter does not support discharge freeze - disabled
2026-08-15 15:47:56.659574: Note: Inverter does not support charge freeze - disabled
2026-08-15 15:47:56.659592: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 15:49:56.884656: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 15:49:56.884919: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 15:49:56.885011: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 15:49:56.885165: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 15:49:56.885204: Note: Inverter does not support discharge freeze - disabled
2026-08-15 15:49:56.885225: Note: Inverter does not support charge freeze - disabled
2026-08-15 15:49:56.885243: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 15:50:00.978957: --------------- PredBat - update at 2026-08-15 15:50:00+01:00 with clock skew 0 minutes, minutes now 950
2026-08-15 15:50:00.980000: Saved current settings to /config/predbat_config.json
2026-08-15 15:50:00.980180: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 90.0 minutes
2026-08-15 15:50:00.980329: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.2, latest beta is v8.48.2
2026-08-15 15:50:00.980496: Autoupdate: There is an update pending v8.48.2 PV90 and second pass enabled by default, bug fixes - auto update is off
2026-08-15 15:50:01.005986: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 15:50:01.006119: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 15:50:01.006286: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 15:50:01.006901: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 15:50:01.007028: Predbat mode is set to Control charge & discharge
2026-08-15 15:50:01.186397: Found 21602 load_today datapoints going back 28 days
2026-08-15 15:50:01.186563: Using load_power data to fill gaps in load_today data
2026-08-15 15:50:01.894387: Processing 721 30-minute periods for power integration
2026-08-15 15:50:02.085013: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 15:50:02.085167: Car charging hold False, threshold 6.0kWh
2026-08-15 15:50:02.085215: Current data so far today: load 8.4kWh, import 26.0kWh, export 0.0kWh, PV 0kWh
2026-08-15 15:50:02.100168: Cars: SoC: [11.134]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 15:50:02.100658: Standing charge is set to 49.98p
2026-08-15 15:50:02.149202: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 15:50:02.149353: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 15:50:02.149577: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 310.0 minutes
2026-08-15 15:50:02.149957: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 310.0 minutes
2026-08-15 15:50:02.155702: Loaded 95 datapoints of futurerate analysis
2026-08-15 15:50:02.258622: Predicted future rates: ['08-15 00:00:00 => 28.9 / 20.01', '08-15 01:00:00 => 27.54 / 19.31', '08-15 02:00:00 => 26.52 / 18.8', '08-15 03:00:00 => 25.99 / 18.53', '08-15 04:00:00 => 25.8 / 18.43', '08-15 05:00:00 => 25.96 / 18.51', '08-15 06:00:00 => 25.55 / 18.3', '08-15 07:00:00 => 24.33 / 17.68', '08-15 08:00:00 => 23.03 / 17.01', '08-15 09:00:00 => 22.05 / 16.51', '08-15 10:00:00 => 20.43 / 15.68', '08-15 11:00:00 => 18.01 / 14.45', '08-15 12:00:00 => 16.37 / 13.61', '08-15 13:00:00 => 15.76 / 13.3', '08-15 14:00:00 => 15.35 / 13.09', '08-15 15:00:00 => 15.86 / 13.35', '08-15 16:00:00 => 32.89 / 16.13', '08-15 17:00:00 => 38.02 / 18.75', '08-15 18:00:00 => 42.36 / 20.96', '08-15 19:00:00 => 31.09 / 21.13', '08-15 20:00:00 => 31.64 / 21.41', '08-15 21:00:00 => 31.64 / 21.41', '08-15 22:00:00 => 30.58 / 20.87', '08-15 23:00:00 => 29.37 / 20.25', '08-16 00:00:00 => 28.83 / 19.97', '08-16 01:00:00 => 27.73 / 19.41', '08-16 02:00:00 => 26.76 / 18.92', '08-16 03:00:00 => 26.39 / 18.73', '08-16 04:00:00 => 26.33 / 18.7', '08-16 05:00:00 => 26.23 / 18.65', '08-16 06:00:00 => 25.99 / 18.53', '08-16 07:00:00 => 25.64 / 18.35', '08-16 08:00:00 => 24.84 / 17.94', '08-16 09:00:00 => 24.26 / 17.64', '08-16 10:00:00 => 24.8 / 17.92', '08-16 11:00:00 => 24.71 / 17.87', '08-16 12:00:00 => 23.79 / 17.4', '08-16 13:00:00 => 23.14 / 17.07', '08-16 14:00:00 => 22.01 / 16.49']
2026-08-15 15:50:02.322796: Rate min forward looking: now 15.87p at end of forecast 21.29p
2026-08-15 15:50:02.323265: Import rates: min 15.87p, max 46.05p, average 28.33p
2026-08-15 15:50:02.367502: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 15:50:02.367644: Rate thresholds (for charge/export) are import 45.55p (0.0p), export -0.1p (0.0p)
2026-08-15 15:50:02.369021: High export rate found rates in range 99p to -99p
2026-08-15 15:50:02.475740: Low Import rate found rates in range 15.87p to 44.19p
2026-08-15 15:50:02.475911: Car 0 charging is not planned as it is not plugged in
2026-08-15 15:50:02.488840: Battery level now 14.89kWh, -1hr ago 11.07kWh, at midnight 1.66kWh, battery value change in the last hour 52.01p, change today 180.35p, rate_forward 13.63p
2026-08-15 15:50:02.489269: Last hour: net energy 4.75kWh, import 4.75kWh, export 0.0kWh, car 0kWh, load 0.15kWh, net cost 71.53p, import 71.53p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 15:50:02.548606: Today's energy total net 26.0kWh, import 26.0kWh, export 0.0kWh, cost 533.67p, import 483.69p, export 0.0p, carbon 0.0kg
2026-08-15 15:50:02.548755: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 15:50:02.639523: Using weighted-bucket historical load forecast over 14 days
2026-08-15 15:50:02.669620: Today's load divergence 91.51%, in-day adjustment 109.57%, damping 0.95x, yesterday 143.77% today 91.93% blend 34.03%
2026-08-15 15:50:02.669735: Today's predicted so far 9.62kWh with 0.0kWh car/iBoost excluded, 19.51kWh import ignored, and 9.62kWh forecast extra.
2026-08-15 15:50:02.669791: Today's actual load so far 8.42kWh with 0.0kWh car/iBoost excluded, and 19.51kWh import ignored.
2026-08-15 15:50:02.705792: Inverter 0: Type SK Sunsynk
2026-08-15 15:50:02.705888: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 15:50:02.706072: Reserve min: 7%, battery_min: 7%
2026-08-15 15:50:02.706142: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 15:50:02.706413: Inverter 0 SoC: 15.58kW 97%, current charge rate 5000W, current discharge rate 5250W, current battery power -4558W, current battery voltage 51.2V, grid power -5221W, load power 224W, PV Power 0W
2026-08-15 15:50:02.706701: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 15:50:02.706852: Inverter 0 scheduled charge enable is True
2026-08-15 15:50:02.706957: Inverter 0 charge windows currently [{'start': 630, 'end': 960, 'average': 0}, {'start': 2070, 'end': 2400, 'average': 0}, {'start': 3510, 'end': 3840, 'average': 0}]
2026-08-15 15:50:02.707130: Inverter 0 Charge settings: 08-15 10:30:00-08-15 16:00:00, limit 100.0%, power 5.0kW
2026-08-15 15:50:02.707298: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 15:50:02.707345: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 15:50:02.707417: Inverter 0 scheduled discharge enable is False
2026-08-15 15:50:02.707620: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 15:50:02.707667: Inverter 0 discharge windows currently []
2026-08-15 15:50:02.707693: Note: Inverter does not support discharge freeze - disabled
2026-08-15 15:50:02.707736: Note: Inverter does not support charge freeze - disabled
2026-08-15 15:50:02.707774: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 15:50:02.778971: Dynamic load last period 0.00kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 15:50:02.779138: Plan was last updated on 2026-08-15 15:45:00+01:00 and is now 5.0 minutes old
2026-08-15 15:50:02.779367: Best charge window [ 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 100%, 16-08 16:00:00 - 16-08 18:30:00 @ 42.39p 100%, 16-08 19:00:00 - 17-08 16:00:00 @ 22.34p 100% ]
2026-08-15 15:50:02.779414: Best export window [  ]
2026-08-15 15:50:02.780243: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 15:50:02.783372: Load divergence over 8.0 hours mean 501.39W, min 292.8W, max 1903.2W, std dev 310.76W, divergence 30.99%
2026-08-15 15:50:02.802514: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 15:50:02.802643: LoadML is_calculating False
2026-08-15 15:50:02.802726: Creating pool of 12 processes to match your CPU count
2026-08-15 15:50:02.925966: predict base end_record 08-16 16:05:00, final soc 15.95kWh, metric 1028.93p, metric_keep 0kWh, min_soc 2.86kWh @ 08-16 10:25:00, load 24.88kWh, PV 0.0kWh
2026-08-15 15:50:03.060727: Battery has 48.0 hours left - now at 15.58kWh
2026-08-15 15:50:03.109592: predict base10 end_record 08-16 16:05:00, final soc 15.95kWh, metric 1045.95p, metric_keep 0kWh, min_soc 2.19kWh @ 08-16 10:25:00, load 25.66kWh, PV 0.0kWh
2026-08-15 15:50:03.190922: predict best10 end_record 08-16 16:05:00, final soc 1.44kWh, metric 681.93p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 11:35:00, load 25.66kWh, PV 0.0kWh
2026-08-15 15:50:03.267715: predict best end_record 08-16 16:05:00, final soc 1.51kWh, metric 665.61p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 12:20:00, load 24.88kWh, PV 0.0kWh
2026-08-15 15:50:03.267811: Saving plan best values to HA entities
2026-08-15 15:50:03.433812: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0
2026-08-15 15:50:03.439663: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 15:50:03.445318: Best charging limit SoC's [16.0, 16.0, 16.0]kWh, export []kWh gives import battery 1.02kWh, house 2.47kWh, export 0.0kWh, metric 665.61p, metric10 681.93p
2026-08-15 15:50:03.520096: Marginal costs baseline metric (no standing charge): 615.6262
2026-08-15 15:50:03.779445: Marginal energy costs matrix computed: min=22.61 max=33.4
2026-08-15 15:50:03.854900: Rate array import [{'start': 950, 'end': 960, 'rate': 'cheap', 'range': '(15.9p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1860, 'rate': 'expensive', 'range': '(25.9p - 32.9p)'}, {'start': 1860, 'end': 2400, 'rate': 'cheap', 'range': '(21.3p - 25.6p)'}, {'start': 2400, 'end': 2405, 'rate': 'very expensive', 'range': '(37.1p)'}] export [{'start': 950, 'end': 2405, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 15:50:03.855357: - Your estimated bill for today is £5.43 and tomorrow is £9.18
2026-08-15 15:50:03.855409: - Import rates are cheap (15.9p) for the next 10 minutes and then expensive (33.1p) for the next 1 hour.
2026-08-15 15:50:03.855443: - The battery is currently at 97% and is charging to 100% for the next 10 minutes.
2026-08-15 15:50:03.855486: - For the next 48 hours there will be no solar generation.
2026-08-15 15:50:03.855508: - You will run out of battery in 20 hours.
2026-08-15 15:50:03.855525: 
2026-08-15 15:50:03.909916: Plan calculation took 1.13 seconds
2026-08-15 15:50:03.913618: No high rate period found
2026-08-15 15:50:03.969462: Import threshold used for optimisation was 15.87p
2026-08-15 15:50:04.023784: Low import rate windows [0: 08-15 15:30:00 - 08-15 16:00:00 @ 15.87, 1: 08-15 16:00:00 - 08-15 16:30:00 @ 33.13, 2: 08-15 16:30:00 - 08-15 17:00:00 @ 33.13, 3: 08-15 17:00:00 - 08-15 17:30:00 @ 38.46, 4: 08-15 17:30:00 - 08-15 18:00:00 @ 40.44, 5: 08-15 18:00:00 - 08-15 18:30:00 @ 41.55, 6: 08-15 18:30:00 - 08-15 19:00:00 @ 43.82, 7: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 8: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 9: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 10: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 11: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 12: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 13: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 14: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 15: 08-15 23:00:00 - 08-15 23:30:00 @ 29.37, 16: 08-15 23:30:00 - 08-16 00:00:00 @ 29.2, 17: 08-16 00:00:00 - 08-16 00:30:00 @ 28.83, 18: 08-16 00:30:00 - 08-16 01:00:00 @ 28.46, 19: 08-16 01:00:00 - 08-16 01:30:00 @ 27.73, 20: 08-16 01:30:00 - 08-16 02:00:00 @ 27.01, 21: 08-16 02:00:00 - 08-16 02:30:00 @ 26.76, 22: 08-16 02:30:00 - 08-16 03:00:00 @ 26.48, 23: 08-16 03:00:00 - 08-16 03:30:00 @ 26.39, 24: 08-16 03:30:00 - 08-16 04:00:00 @ 26.27, 25: 08-16 04:00:00 - 08-16 04:30:00 @ 26.33, 26: 08-16 04:30:00 - 08-16 05:00:00 @ 26.37, 27: 08-16 05:00:00 - 08-16 05:30:00 @ 26.23, 28: 08-16 05:30:00 - 08-16 06:00:00 @ 26.07, 29: 08-16 06:00:00 - 08-16 06:30:00 @ 25.99, 30: 08-16 06:30:00 - 08-16 07:00:00 @ 25.92, 31: 08-16 07:00:00 - 08-16 07:30:00 @ 25.64, 32: 08-16 07:30:00 - 08-16 08:00:00 @ 25.39, 33: 08-16 08:00:00 - 08-16 08:30:00 @ 24.84, 34: 08-16 08:30:00 - 08-16 09:00:00 @ 24.28, 35: 08-16 09:00:00 - 08-16 09:30:00 @ 24.26, 36: 08-16 09:30:00 - 08-16 10:00:00 @ 24.22, 37: 08-16 10:00:00 - 08-16 10:30:00 @ 24.8, 38: 08-16 10:30:00 - 08-16 11:00:00 @ 25.37, 39: 08-16 11:00:00 - 08-16 11:30:00 @ 24.71, 40: 08-16 11:30:00 - 08-16 12:00:00 @ 24.02, 41: 08-16 12:00:00 - 08-16 12:30:00 @ 23.79, 42: 08-16 12:30:00 - 08-16 13:00:00 @ 23.55, 43: 08-16 13:00:00 - 08-16 13:30:00 @ 23.14, 44: 08-16 13:30:00 - 08-16 14:00:00 @ 22.71, 45: 08-16 14:00:00 - 08-16 14:30:00 @ 22.01, 46: 08-16 14:30:00 - 08-16 15:00:00 @ 21.29, 47: 08-16 15:00:00 - 08-16 15:30:00 @ 22.01, 48: 08-16 15:30:00 - 08-16 16:00:00 @ 22.71, 49: 08-16 16:00:00 - 08-16 16:30:00 @ 37.14, 50: 08-16 16:30:00 - 08-16 17:00:00 @ 37.91, 51: 08-16 17:00:00 - 08-16 17:30:00 @ 40.13, 52: 08-16 17:30:00 - 08-16 18:00:00 @ 42.36, 53: 08-16 18:00:00 - 08-16 18:30:00 @ 44.19, 54: 08-16 19:00:00 - 08-16 19:30:00 @ 33.04, 55: 08-16 19:30:00 - 08-16 20:00:00 @ 33.71, 56: 08-16 20:00:00 - 08-16 20:30:00 @ 33.83, 57: 08-16 20:30:00 - 08-16 21:00:00 @ 33.94, 58: 08-16 21:00:00 - 08-16 21:30:00 @ 33.73, 59: 08-16 21:30:00 - 08-16 22:00:00 @ 33.53, 60: 08-16 22:00:00 - 08-16 22:30:00 @ 32.36, 61: 08-16 22:30:00 - 08-16 23:00:00 @ 31.17, 62: 08-16 23:00:00 - 08-16 23:30:00 @ 29.37, 63: 08-16 23:30:00 - 08-17 00:00:00 @ 29.2, 64: 08-17 00:00:00 - 08-17 00:30:00 @ 28.83, 65: 08-17 00:30:00 - 08-17 01:00:00 @ 28.46, 66: 08-17 01:00:00 - 08-17 01:30:00 @ 27.73, 67: 08-17 01:30:00 - 08-17 02:00:00 @ 27.01, 68: 08-17 02:00:00 - 08-17 02:30:00 @ 26.76, 69: 08-17 02:30:00 - 08-17 03:00:00 @ 26.48, 70: 08-17 03:00:00 - 08-17 03:30:00 @ 26.39, 71: 08-17 03:30:00 - 08-17 04:00:00 @ 26.27, 72: 08-17 04:00:00 - 08-17 04:30:00 @ 26.33, 73: 08-17 04:30:00 - 08-17 05:00:00 @ 26.37, 74: 08-17 05:00:00 - 08-17 05:30:00 @ 26.23, 75: 08-17 05:30:00 - 08-17 06:00:00 @ 26.07, 76: 08-17 06:00:00 - 08-17 06:30:00 @ 25.99, 77: 08-17 06:30:00 - 08-17 07:00:00 @ 25.92, 78: 08-17 07:00:00 - 08-17 07:30:00 @ 25.64, 79: 08-17 07:30:00 - 08-17 08:00:00 @ 25.39, 80: 08-17 08:00:00 - 08-17 08:30:00 @ 24.84, 81: 08-17 08:30:00 - 08-17 09:00:00 @ 24.28, 82: 08-17 09:00:00 - 08-17 09:30:00 @ 24.26, 83: 08-17 09:30:00 - 08-17 10:00:00 @ 24.22, 84: 08-17 10:00:00 - 08-17 10:30:00 @ 24.8, 85: 08-17 10:30:00 - 08-17 11:00:00 @ 25.37, 86: 08-17 11:00:00 - 08-17 11:30:00 @ 24.71, 87: 08-17 11:30:00 - 08-17 12:00:00 @ 24.02, 88: 08-17 12:00:00 - 08-17 12:30:00 @ 23.79, 89: 08-17 12:30:00 - 08-17 13:00:00 @ 23.55, 90: 08-17 13:00:00 - 08-17 13:30:00 @ 23.14, 91: 08-17 13:30:00 - 08-17 14:00:00 @ 22.71, 92: 08-17 14:00:00 - 08-17 14:30:00 @ 22.01, 93: 08-17 14:30:00 - 08-17 15:00:00 @ 21.29, 94: 08-17 15:00:00 - 08-17 15:30:00 @ 22.01, 95: 08-17 15:30:00 - 08-17 16:00:00 @ 22.71]
2026-08-15 15:50:04.031993: Include original charge start 08-15 10:30:00, keeping this instead of new start 08-15 15:30:00
2026-08-15 15:50:04.032121: Inverter 0 Charge window will be: 2026-08-15 10:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 97%, target 100%
2026-08-15 15:50:04.032337: Inverter 0 Target SoC 100%, (this inverter 100%), battery temperature 20°C, select charge rate 5000W (real 3300W), current charge rate 5000W
2026-08-15 15:50:04.032618: Adjust idle time, charge 10:30:00-16:00:00 discharge 00:00:00-00:00:00
2026-08-15 15:50:04.032911: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 15:50:04.033077: No export window planned
2026-08-15 15:50:04.033270: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 15:50:04.033316: Adjust idle time, charge 10:30:00-16:00:00 discharge 00:00:00-00:00:00
2026-08-15 15:50:04.033505: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 15:50:04.033660: Inverter 0 setting charging SoC to 100% as per target
2026-08-15 15:50:04.033736: Inverter 0 adjust target SoC for charge to 100% based on requested all inverter SoC 100%
2026-08-15 15:50:04.033850: Inverter 0 Current Target SoC is 100%, already at target
2026-08-15 15:50:04.034023: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:50:04.034075: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:50:04.034105: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:50:04.034130: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:50:04.034156: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:50:04.034193: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:50:04.034254: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:50:04.034342: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 15:50:04.034440: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 15:50:04.034498: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 15:50:04.034576: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 15:50:04.034656: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 15:50:04.034720: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 15:50:04.034773: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 15:50:04.034890: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:50:04.034951: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:50:04.034993: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:50:04.035045: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:50:04.035103: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:50:04.035164: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:50:04.035221: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:50:04.035261: Inverter 0 count register writes 0
2026-08-15 15:50:04.052398: Will not recompute the plan, it is 5.0 minutes old and max age is 10 minutes
2026-08-15 15:50:04.058420: Total inverter register writes now 825
2026-08-15 15:50:04.095034: Info: Completed run status Charging
2026-08-15 15:50:04.101728: Info: record_status Charging target 97%-100.0%
2026-08-15 15:50:04.108486: Saved current settings to /config/predbat_config.json
2026-08-15 15:50:04.108879: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 15:50:42.223330: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 15:50:42.223674: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 15:50:42.223746: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 15:50:42.223902: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 15:50:42.223968: Note: Inverter does not support discharge freeze - disabled
2026-08-15 15:50:42.223990: Note: Inverter does not support charge freeze - disabled
2026-08-15 15:50:42.224012: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 15:52:42.446040: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 15:52:42.446304: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 15:52:42.446363: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 15:52:42.446516: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 15:52:42.446556: Note: Inverter does not support discharge freeze - disabled
2026-08-15 15:52:42.446578: Note: Inverter does not support charge freeze - disabled
2026-08-15 15:52:42.446596: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 15:54:56.681502: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 15:54:56.681820: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 15:54:56.681922: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 15:54:56.682072: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 15:54:56.682137: Note: Inverter does not support discharge freeze - disabled
2026-08-15 15:54:56.682158: Note: Inverter does not support charge freeze - disabled
2026-08-15 15:54:56.682175: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 15:55:00.764867: --------------- PredBat - update at 2026-08-15 15:55:00+01:00 with clock skew 0 minutes, minutes now 955
2026-08-15 15:55:00.765791: Saved current settings to /config/predbat_config.json
2026-08-15 15:55:00.765971: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 95.0 minutes
2026-08-15 15:55:00.766084: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.2, latest beta is v8.48.2
2026-08-15 15:55:00.766243: Autoupdate: There is an update pending v8.48.2 PV90 and second pass enabled by default, bug fixes - auto update is off
2026-08-15 15:55:00.787230: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 15:55:00.787442: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 15:55:00.787644: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 15:55:00.788191: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 15:55:00.788314: Predbat mode is set to Control charge & discharge
2026-08-15 15:55:01.009328: Found 21602 load_today datapoints going back 28 days
2026-08-15 15:55:01.009474: Using load_power data to fill gaps in load_today data
2026-08-15 15:55:01.855662: Processing 721 30-minute periods for power integration
2026-08-15 15:55:02.045479: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 15:55:02.045620: Car charging hold False, threshold 6.0kWh
2026-08-15 15:55:02.045665: Current data so far today: load 8.4kWh, import 26.0kWh, export 0.0kWh, PV 0kWh
2026-08-15 15:55:02.060824: Cars: SoC: [11.134]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 15:55:02.061359: Standing charge is set to 49.98p
2026-08-15 15:55:02.110715: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 15:55:02.110816: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 15:55:02.111073: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 315.0 minutes
2026-08-15 15:55:02.111507: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 315.0 minutes
2026-08-15 15:55:02.117585: Loaded 95 datapoints of futurerate analysis
2026-08-15 15:55:02.211638: Predicted future rates: ['08-15 00:00:00 => 28.9 / 20.01', '08-15 01:00:00 => 27.54 / 19.31', '08-15 02:00:00 => 26.52 / 18.8', '08-15 03:00:00 => 25.99 / 18.53', '08-15 04:00:00 => 25.8 / 18.43', '08-15 05:00:00 => 25.96 / 18.51', '08-15 06:00:00 => 25.55 / 18.3', '08-15 07:00:00 => 24.33 / 17.68', '08-15 08:00:00 => 23.03 / 17.01', '08-15 09:00:00 => 22.05 / 16.51', '08-15 10:00:00 => 20.43 / 15.68', '08-15 11:00:00 => 18.01 / 14.45', '08-15 12:00:00 => 16.37 / 13.61', '08-15 13:00:00 => 15.76 / 13.3', '08-15 14:00:00 => 15.35 / 13.09', '08-15 15:00:00 => 15.86 / 13.35', '08-15 16:00:00 => 32.89 / 16.13', '08-15 17:00:00 => 38.02 / 18.75', '08-15 18:00:00 => 42.36 / 20.96', '08-15 19:00:00 => 31.09 / 21.13', '08-15 20:00:00 => 31.64 / 21.41', '08-15 21:00:00 => 31.64 / 21.41', '08-15 22:00:00 => 30.58 / 20.87', '08-15 23:00:00 => 29.37 / 20.25', '08-16 00:00:00 => 28.83 / 19.97', '08-16 01:00:00 => 27.73 / 19.41', '08-16 02:00:00 => 26.76 / 18.92', '08-16 03:00:00 => 26.39 / 18.73', '08-16 04:00:00 => 26.33 / 18.7', '08-16 05:00:00 => 26.23 / 18.65', '08-16 06:00:00 => 25.99 / 18.53', '08-16 07:00:00 => 25.64 / 18.35', '08-16 08:00:00 => 24.84 / 17.94', '08-16 09:00:00 => 24.26 / 17.64', '08-16 10:00:00 => 24.8 / 17.92', '08-16 11:00:00 => 24.71 / 17.87', '08-16 12:00:00 => 23.79 / 17.4', '08-16 13:00:00 => 23.14 / 17.07', '08-16 14:00:00 => 22.01 / 16.49']
2026-08-15 15:55:02.272198: Rate min forward looking: now 15.87p at end of forecast 21.29p
2026-08-15 15:55:02.272610: Import rates: min 15.87p, max 46.05p, average 28.35p
2026-08-15 15:55:02.316080: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 15:55:02.316232: Rate thresholds (for charge/export) are import 45.55p (0.0p), export -0.1p (0.0p)
2026-08-15 15:55:02.317599: High export rate found rates in range 99p to -99p
2026-08-15 15:55:02.416715: Low Import rate found rates in range 15.87p to 44.19p
2026-08-15 15:55:02.416868: Car 0 charging is not planned as it is not plugged in
2026-08-15 15:55:02.429810: Battery level now 15.58kWh, -1hr ago 11.42kWh, at midnight 1.66kWh, battery value change in the last hour 56.7p, change today 189.73p, rate_forward 13.63p
2026-08-15 15:55:02.430217: Last hour: net energy 4.3kWh, import 4.3kWh, export 0.0kWh, car 0kWh, load 0.13kWh, net cost 65.34p, import 65.34p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 15:55:02.487259: Today's energy total net 26.0kWh, import 26.0kWh, export 0.0kWh, cost 533.67p, import 483.69p, export 0.0p, carbon 0.0kg
2026-08-15 15:55:02.487403: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 15:55:02.575526: Using weighted-bucket historical load forecast over 14 days
2026-08-15 15:55:02.605685: Today's load divergence 90.98%, in-day adjustment 109.06%, damping 0.95x, yesterday 143.77% today 91.43% blend 33.68%
2026-08-15 15:55:02.605784: Today's predicted so far 9.65kWh with 0.0kWh car/iBoost excluded, 19.48kWh import ignored, and 9.65kWh forecast extra.
2026-08-15 15:55:02.605817: Today's actual load so far 8.39kWh with 0.0kWh car/iBoost excluded, and 19.48kWh import ignored.
2026-08-15 15:55:02.637712: Inverter 0: Type SK Sunsynk
2026-08-15 15:55:02.637804: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 15:55:02.638024: Reserve min: 7%, battery_min: 7%
2026-08-15 15:55:02.638107: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 15:55:02.638387: Inverter 0 SoC: 15.58kW 97%, current charge rate 5000W, current discharge rate 5250W, current battery power -4555W, current battery voltage 51.2V, grid power -5177W, load power 182W, PV Power 0W
2026-08-15 15:55:02.638543: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 15:55:02.638634: Inverter 0 scheduled charge enable is True
2026-08-15 15:55:02.638683: Inverter 0 charge windows currently [{'start': 630, 'end': 960, 'average': 0}, {'start': 2070, 'end': 2400, 'average': 0}, {'start': 3510, 'end': 3840, 'average': 0}]
2026-08-15 15:55:02.638799: Inverter 0 Charge settings: 08-15 10:30:00-08-15 16:00:00, limit 100.0%, power 5.0kW
2026-08-15 15:55:02.639034: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 15:55:02.639102: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 15:55:02.639150: Inverter 0 scheduled discharge enable is False
2026-08-15 15:55:02.639414: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 15:55:02.639464: Inverter 0 discharge windows currently []
2026-08-15 15:55:02.639489: Note: Inverter does not support discharge freeze - disabled
2026-08-15 15:55:02.639508: Note: Inverter does not support charge freeze - disabled
2026-08-15 15:55:02.639532: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 15:55:02.700364: Dynamic load last period 0.00kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 15:55:02.700472: Plan was last updated on 2026-08-15 15:45:00+01:00 and is now 10.0 minutes old
2026-08-15 15:55:02.700665: Best charge window [ 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 100%, 16-08 16:00:00 - 16-08 18:30:00 @ 42.39p 100%, 16-08 19:00:00 - 17-08 16:00:00 @ 22.34p 100% ]
2026-08-15 15:55:02.700706: Best export window [  ]
2026-08-15 15:55:02.701653: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 15:55:02.704846: Load divergence over 8.0 hours mean 509.73W, min 291.6W, max 1875.0W, std dev 333.46W, divergence 32.71%
2026-08-15 15:55:02.723036: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 15:55:02.723277: LoadML is_calculating False
2026-08-15 15:55:02.724582: Creating pool of 12 processes to match your CPU count
2026-08-15 15:55:02.845089: predict base end_record 08-16 16:10:00, final soc 15.91kWh, metric 1028.57p, metric_keep 0kWh, min_soc 2.75kWh @ 08-16 10:25:00, load 24.83kWh, PV 0.0kWh
2026-08-15 15:55:02.956972: Battery has 48.0 hours left - now at 15.58kWh
2026-08-15 15:55:02.994451: predict base10 end_record 08-16 16:10:00, final soc 15.91kWh, metric 1045.42p, metric_keep 0kWh, min_soc 2.07kWh @ 08-16 10:25:00, load 25.61kWh, PV 0.0kWh
2026-08-15 15:55:03.066999: predict best10 end_record 08-16 16:10:00, final soc 1.77kWh, metric 695.45p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 11:30:00, load 25.61kWh, PV 0.0kWh
2026-08-15 15:55:03.149114: predict best end_record 08-16 16:10:00, final soc 1.9kWh, metric 681.67p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 12:10:00, load 24.83kWh, PV 0.0kWh
2026-08-15 15:55:03.149210: Saving plan best values to HA entities
2026-08-15 15:55:03.295292: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0
2026-08-15 15:55:03.300030: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 15:55:03.304625: Best charging limit SoC's [16.0, 16.0, 16.0]kWh, export []kWh gives import battery 1.25kWh, house 2.59kWh, export 0.0kWh, metric 681.67p, metric10 695.45p
2026-08-15 15:55:03.374667: Marginal costs baseline metric (no standing charge): 631.6845
2026-08-15 15:55:03.628529: Marginal energy costs matrix computed: min=23.46 max=33.56
2026-08-15 15:55:03.696577: Rate array import [{'start': 955, 'end': 960, 'rate': 'cheap', 'range': '(15.9p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1860, 'rate': 'expensive', 'range': '(25.9p - 32.9p)'}, {'start': 1860, 'end': 2400, 'rate': 'cheap', 'range': '(21.3p - 25.6p)'}, {'start': 2400, 'end': 2410, 'rate': 'very expensive', 'range': '(37.1p)'}] export [{'start': 955, 'end': 2410, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 15:55:03.696991: - Your estimated bill for today is £5.39 and tomorrow is £9.22
2026-08-15 15:55:03.697080: - Import rates are cheap (15.9p) for the next 5 minutes and then expensive (33.1p) for the next 1 hour.
2026-08-15 15:55:03.697105: - The battery is currently at 97% and is charging to 100% for the next 5 minutes.
2026-08-15 15:55:03.697123: - For the next 48 hours there will be no solar generation.
2026-08-15 15:55:03.697140: - You will run out of battery in 20 hours.
2026-08-15 15:55:03.697159: 
2026-08-15 15:55:03.741812: Plan calculation took 1.04 seconds
2026-08-15 15:55:03.745825: No high rate period found
2026-08-15 15:55:03.792780: Import threshold used for optimisation was 15.87p
2026-08-15 15:55:03.845186: Low import rate windows [0: 08-15 15:30:00 - 08-15 16:00:00 @ 15.87, 1: 08-15 16:00:00 - 08-15 16:30:00 @ 33.13, 2: 08-15 16:30:00 - 08-15 17:00:00 @ 33.13, 3: 08-15 17:00:00 - 08-15 17:30:00 @ 38.46, 4: 08-15 17:30:00 - 08-15 18:00:00 @ 40.44, 5: 08-15 18:00:00 - 08-15 18:30:00 @ 41.55, 6: 08-15 18:30:00 - 08-15 19:00:00 @ 43.82, 7: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 8: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 9: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 10: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 11: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 12: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 13: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 14: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 15: 08-15 23:00:00 - 08-15 23:30:00 @ 29.37, 16: 08-15 23:30:00 - 08-16 00:00:00 @ 29.2, 17: 08-16 00:00:00 - 08-16 00:30:00 @ 28.83, 18: 08-16 00:30:00 - 08-16 01:00:00 @ 28.46, 19: 08-16 01:00:00 - 08-16 01:30:00 @ 27.73, 20: 08-16 01:30:00 - 08-16 02:00:00 @ 27.01, 21: 08-16 02:00:00 - 08-16 02:30:00 @ 26.76, 22: 08-16 02:30:00 - 08-16 03:00:00 @ 26.48, 23: 08-16 03:00:00 - 08-16 03:30:00 @ 26.39, 24: 08-16 03:30:00 - 08-16 04:00:00 @ 26.27, 25: 08-16 04:00:00 - 08-16 04:30:00 @ 26.33, 26: 08-16 04:30:00 - 08-16 05:00:00 @ 26.37, 27: 08-16 05:00:00 - 08-16 05:30:00 @ 26.23, 28: 08-16 05:30:00 - 08-16 06:00:00 @ 26.07, 29: 08-16 06:00:00 - 08-16 06:30:00 @ 25.99, 30: 08-16 06:30:00 - 08-16 07:00:00 @ 25.92, 31: 08-16 07:00:00 - 08-16 07:30:00 @ 25.64, 32: 08-16 07:30:00 - 08-16 08:00:00 @ 25.39, 33: 08-16 08:00:00 - 08-16 08:30:00 @ 24.84, 34: 08-16 08:30:00 - 08-16 09:00:00 @ 24.28, 35: 08-16 09:00:00 - 08-16 09:30:00 @ 24.26, 36: 08-16 09:30:00 - 08-16 10:00:00 @ 24.22, 37: 08-16 10:00:00 - 08-16 10:30:00 @ 24.8, 38: 08-16 10:30:00 - 08-16 11:00:00 @ 25.37, 39: 08-16 11:00:00 - 08-16 11:30:00 @ 24.71, 40: 08-16 11:30:00 - 08-16 12:00:00 @ 24.02, 41: 08-16 12:00:00 - 08-16 12:30:00 @ 23.79, 42: 08-16 12:30:00 - 08-16 13:00:00 @ 23.55, 43: 08-16 13:00:00 - 08-16 13:30:00 @ 23.14, 44: 08-16 13:30:00 - 08-16 14:00:00 @ 22.71, 45: 08-16 14:00:00 - 08-16 14:30:00 @ 22.01, 46: 08-16 14:30:00 - 08-16 15:00:00 @ 21.29, 47: 08-16 15:00:00 - 08-16 15:30:00 @ 22.01, 48: 08-16 15:30:00 - 08-16 16:00:00 @ 22.71, 49: 08-16 16:00:00 - 08-16 16:30:00 @ 37.14, 50: 08-16 16:30:00 - 08-16 17:00:00 @ 37.91, 51: 08-16 17:00:00 - 08-16 17:30:00 @ 40.13, 52: 08-16 17:30:00 - 08-16 18:00:00 @ 42.36, 53: 08-16 18:00:00 - 08-16 18:30:00 @ 44.19, 54: 08-16 19:00:00 - 08-16 19:30:00 @ 33.04, 55: 08-16 19:30:00 - 08-16 20:00:00 @ 33.71, 56: 08-16 20:00:00 - 08-16 20:30:00 @ 33.83, 57: 08-16 20:30:00 - 08-16 21:00:00 @ 33.94, 58: 08-16 21:00:00 - 08-16 21:30:00 @ 33.73, 59: 08-16 21:30:00 - 08-16 22:00:00 @ 33.53, 60: 08-16 22:00:00 - 08-16 22:30:00 @ 32.36, 61: 08-16 22:30:00 - 08-16 23:00:00 @ 31.17, 62: 08-16 23:00:00 - 08-16 23:30:00 @ 29.37, 63: 08-16 23:30:00 - 08-17 00:00:00 @ 29.2, 64: 08-17 00:00:00 - 08-17 00:30:00 @ 28.83, 65: 08-17 00:30:00 - 08-17 01:00:00 @ 28.46, 66: 08-17 01:00:00 - 08-17 01:30:00 @ 27.73, 67: 08-17 01:30:00 - 08-17 02:00:00 @ 27.01, 68: 08-17 02:00:00 - 08-17 02:30:00 @ 26.76, 69: 08-17 02:30:00 - 08-17 03:00:00 @ 26.48, 70: 08-17 03:00:00 - 08-17 03:30:00 @ 26.39, 71: 08-17 03:30:00 - 08-17 04:00:00 @ 26.27, 72: 08-17 04:00:00 - 08-17 04:30:00 @ 26.33, 73: 08-17 04:30:00 - 08-17 05:00:00 @ 26.37, 74: 08-17 05:00:00 - 08-17 05:30:00 @ 26.23, 75: 08-17 05:30:00 - 08-17 06:00:00 @ 26.07, 76: 08-17 06:00:00 - 08-17 06:30:00 @ 25.99, 77: 08-17 06:30:00 - 08-17 07:00:00 @ 25.92, 78: 08-17 07:00:00 - 08-17 07:30:00 @ 25.64, 79: 08-17 07:30:00 - 08-17 08:00:00 @ 25.39, 80: 08-17 08:00:00 - 08-17 08:30:00 @ 24.84, 81: 08-17 08:30:00 - 08-17 09:00:00 @ 24.28, 82: 08-17 09:00:00 - 08-17 09:30:00 @ 24.26, 83: 08-17 09:30:00 - 08-17 10:00:00 @ 24.22, 84: 08-17 10:00:00 - 08-17 10:30:00 @ 24.8, 85: 08-17 10:30:00 - 08-17 11:00:00 @ 25.37, 86: 08-17 11:00:00 - 08-17 11:30:00 @ 24.71, 87: 08-17 11:30:00 - 08-17 12:00:00 @ 24.02, 88: 08-17 12:00:00 - 08-17 12:30:00 @ 23.79, 89: 08-17 12:30:00 - 08-17 13:00:00 @ 23.55, 90: 08-17 13:00:00 - 08-17 13:30:00 @ 23.14, 91: 08-17 13:30:00 - 08-17 14:00:00 @ 22.71, 92: 08-17 14:00:00 - 08-17 14:30:00 @ 22.01, 93: 08-17 14:30:00 - 08-17 15:00:00 @ 21.29, 94: 08-17 15:00:00 - 08-17 15:30:00 @ 22.01, 95: 08-17 15:30:00 - 08-17 16:00:00 @ 22.71]
2026-08-15 15:55:03.852796: Include original charge start 08-15 10:30:00, keeping this instead of new start 08-15 15:30:00
2026-08-15 15:55:03.852933: Inverter 0 Charge window will be: 2026-08-15 10:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 97%, target 100%
2026-08-15 15:55:03.853196: Inverter 0 Target SoC 100%, (this inverter 100%), battery temperature 20°C, select charge rate 5000W (real 3300W), current charge rate 5000W
2026-08-15 15:55:03.853408: Adjust idle time, charge 10:30:00-16:00:00 discharge 00:00:00-00:00:00
2026-08-15 15:55:03.853679: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 15:55:03.853776: No export window planned
2026-08-15 15:55:03.853899: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 15:55:03.853951: Adjust idle time, charge 10:30:00-16:00:00 discharge 00:00:00-00:00:00
2026-08-15 15:55:03.854092: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 15:55:03.854232: Inverter 0 setting charging SoC to 100% as per target
2026-08-15 15:55:03.854275: Inverter 0 adjust target SoC for charge to 100% based on requested all inverter SoC 100%
2026-08-15 15:55:03.854332: Inverter 0 Current Target SoC is 100%, already at target
2026-08-15 15:55:03.854463: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:55:03.854504: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:55:03.854531: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:55:03.854580: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:55:03.854605: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:55:03.854660: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:55:03.854688: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:55:03.854731: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 15:55:03.854767: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 15:55:03.854793: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 15:55:03.854817: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 15:55:03.854853: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 15:55:03.854885: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 15:55:03.854926: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 15:55:03.854995: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:55:03.855024: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:55:03.855057: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:55:03.855082: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:55:03.855105: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:55:03.855128: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:55:03.855156: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:55:03.855177: Inverter 0 count register writes 0
2026-08-15 15:55:03.870463: Will recompute the plan as it is now 10.0 minutes old and will exceed the max age of 10 minutes before the next run
2026-08-15 15:55:03.870627: Recompute is saving previous plan...
2026-08-15 15:55:03.873844: Best charge window [ 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 100%, 15-08 16:00:00 - 15-08 16:30:00 @ 33.13p 100%, 15-08 16:30:00 - 15-08 17:00:00 @ 33.13p 100%, 15-08 17:00:00 - 15-08 17:30:00 @ 38.46p 100%, 15-08 17:30:00 - 15-08 18:00:00 @ 40.44p 100%, 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 100%, 15-08 18:30:00 - 15-08 19:00:00 @ 43.82p 100%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 100%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 100%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 100%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 100%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 100%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 100%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 100%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 100%, 15-08 23:00:00 - 15-08 23:30:00 @ 29.37p 100%, 15-08 23:30:00 - 16-08 00:00:00 @ 29.2p 100%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.83p 100%, 16-08 00:30:00 - 16-08 01:00:00 @ 28.46p 100%, 16-08 01:00:00 - 16-08 01:30:00 @ 27.73p 100%, 16-08 01:30:00 - 16-08 02:00:00 @ 27.01p 100%, 16-08 02:00:00 - 16-08 02:30:00 @ 26.76p 100%, 16-08 02:30:00 - 16-08 03:00:00 @ 26.48p 100%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.39p 100%, 16-08 03:30:00 - 16-08 04:00:00 @ 26.27p 100%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.33p 100%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.37p 100%, 16-08 05:00:00 - 16-08 05:30:00 @ 26.23p 100%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.07p 100%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.99p 100%, 16-08 06:30:00 - 16-08 07:00:00 @ 25.92p 100%, 16-08 07:00:00 - 16-08 07:30:00 @ 25.64p 100%, 16-08 07:30:00 - 16-08 08:00:00 @ 25.39p 100%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.84p 100%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.28p 100%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.26p 100%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.22p 100%, 16-08 10:00:00 - 16-08 10:30:00 @ 24.8p 100%, 16-08 10:30:00 - 16-08 11:00:00 @ 25.37p 100%, 16-08 11:00:00 - 16-08 11:30:00 @ 24.71p 100%, 16-08 11:30:00 - 16-08 12:00:00 @ 24.02p 100%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.79p 100%, 16-08 12:30:00 - 16-08 13:00:00 @ 23.55p 100%, 16-08 13:00:00 - 16-08 13:30:00 @ 23.14p 100%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.71p 100%, 16-08 14:00:00 - 16-08 14:30:00 @ 22.01p 100%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.29p 100%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.01p 100%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.71p 100%, 16-08 16:00:00 - 16-08 16:30:00 @ 37.14p 100%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.91p 100%, 16-08 17:00:00 - 16-08 17:30:00 @ 40.13p 100%, 16-08 17:30:00 - 16-08 18:00:00 @ 42.36p 100%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.19p 100%, 16-08 19:00:00 - 16-08 19:30:00 @ 33.04p 100%, 16-08 19:30:00 - 16-08 20:00:00 @ 33.71p 100%, 16-08 20:00:00 - 16-08 20:30:00 @ 33.83p 100%, 16-08 20:30:00 - 16-08 21:00:00 @ 33.94p 100%, 16-08 21:00:00 - 16-08 21:30:00 @ 33.73p 100%, 16-08 21:30:00 - 16-08 22:00:00 @ 33.53p 100%, 16-08 22:00:00 - 16-08 22:30:00 @ 32.36p 100%, 16-08 22:30:00 - 16-08 23:00:00 @ 31.17p 100%, 16-08 23:00:00 - 16-08 23:30:00 @ 29.37p 100%, 16-08 23:30:00 - 17-08 00:00:00 @ 29.2p 100%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.83p 100%, 17-08 00:30:00 - 17-08 01:00:00 @ 28.46p 100%, 17-08 01:00:00 - 17-08 01:30:00 @ 27.73p 100%, 17-08 01:30:00 - 17-08 02:00:00 @ 27.01p 100%, 17-08 02:00:00 - 17-08 02:30:00 @ 26.76p 100%, 17-08 02:30:00 - 17-08 03:00:00 @ 26.48p 100%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.39p 100%, 17-08 03:30:00 - 17-08 04:00:00 @ 26.27p 100%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.33p 100%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.37p 100%, 17-08 05:00:00 - 17-08 05:30:00 @ 26.23p 100%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.07p 100%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.99p 100%, 17-08 06:30:00 - 17-08 07:00:00 @ 25.92p 100%, 17-08 07:00:00 - 17-08 07:30:00 @ 25.64p 100%, 17-08 07:30:00 - 17-08 08:00:00 @ 25.39p 100%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.84p 100%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.28p 100%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.26p 100%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.22p 100%, 17-08 10:00:00 - 17-08 10:30:00 @ 24.8p 100%, 17-08 10:30:00 - 17-08 11:00:00 @ 25.37p 100%, 17-08 11:00:00 - 17-08 11:30:00 @ 24.71p 100%, 17-08 11:30:00 - 17-08 12:00:00 @ 24.02p 100%, 17-08 12:00:00 - 17-08 12:30:00 @ 23.79p 100%, 17-08 12:30:00 - 17-08 13:00:00 @ 23.55p 100%, 17-08 13:00:00 - 17-08 13:30:00 @ 23.14p 100%, 17-08 13:30:00 - 17-08 14:00:00 @ 22.71p 100%, 17-08 14:00:00 - 17-08 14:30:00 @ 22.01p 100%, 17-08 14:30:00 - 17-08 15:00:00 @ 21.29p 100%, 17-08 15:00:00 - 17-08 15:30:00 @ 22.01p 100%, 17-08 15:30:00 - 17-08 16:00:00 @ 22.71p 100% ]
2026-08-15 15:55:03.873949: Best export window [  ]
2026-08-15 15:55:03.874788: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 15:55:03.877849: Load divergence over 8.0 hours mean 509.73W, min 291.6W, max 1875.0W, std dev 333.46W, divergence 32.71%
2026-08-15 15:55:03.895246: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 15:55:03.895357: LoadML is_calculating False
2026-08-15 15:55:03.895424: Creating pool of 12 processes to match your CPU count
2026-08-15 15:55:03.986329: Calculate Best options: mode(Control charge & discharge), calculate_export_oncharge(False), calculate_export_on_pv(True), set_export_freeze_only(False), set_discharge_during_charge(True), combine_charge_slots(False), combine_export_slots(False), combine_rate_threshold(0.0), best_soc_min(0.0 kWh), best_soc_max(0.0 kWh), best_soc_keep(0.0 kWh), inverter_loss(4%), battery_loss(3%), battery_loss_discharge (3%), inverter_hybrid(True), metric_min_improvement(0.0p), metric_min_improvement_export(0.1p), metric_min_improvement_export_freeze(0.1p), metric_battery_cycle(0.0p/kWh), metric_battery_value_scaling(1.0 x) 
2026-08-15 15:55:03.988478: Optimise levels pass started at 2026-08-15 15:55:03
2026-08-15 15:55:03.988536: Optimise all windows, total charge 95 export 1
2026-08-15 15:55:04.777519: >> Region optimisation pass width 960 gives best_metric 977.82p, best_cost 991.86p, best_cycle 28.53kWh, best_import 19.65kWh
2026-08-15 15:55:04.894812: >> Region optimisation pass width 480 gives best_metric 977.82p, best_cost 991.86p, best_cycle 28.53kWh, best_import 19.65kWh
2026-08-15 15:55:05.093751: >> Region optimisation pass width 240 gives best_metric 977.82p, best_cost 991.86p, best_cycle 28.53kWh, best_import 19.65kWh
2026-08-15 15:55:05.460299: >> Region optimisation pass width 120 gives best_metric 977.82p, best_cost 991.86p, best_cycle 28.53kWh, best_import 19.65kWh
2026-08-15 15:55:05.460604: Calculated end_record as 08-16 16:00:00 based on best_price 22.01p, next_charge_start 08-15 16:00:00, max_windows 49
2026-08-15 15:55:05.460701: Optimise levels pass ended at 2026-08-15 15:55:05, duration 1.5 seconds tried 31 combinations
2026-08-15 15:55:05.460821: Set best_price_charge_level 23.6p, best_price_export_level 0p, best_price_charge 22.01p, best_cost_export 0p, best_metric 977.82p, best_keep 0kWh, best_cycle 28.53kWh, best_carbon 0kg, best_import 19.65kWh
2026-08-15 15:55:05.475686: Starting detailed optimisation end_record 08-16 16:00:00, best_price_charge 22.01p, best_price_export 0p. lowest_price_charge 15.87p with charge limits [16.0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 16.0, 16.0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0]kWh and export limits []kWh
2026-08-15 15:55:07.767314: Tweak plan optimisation started metric 580.07p, cost 597.73p
2026-08-15 15:55:07.976082: Tweak optimisation finished metric 580.07p, cost 597.73p, metric_keep 0kWh, cycle 14.56kWh, carbon 0kg, import 2.92kWh, changed 8 window(s)
2026-08-15 15:55:07.996895: Swap charge optimisation started metric 580.07p, cost 597.73p, min_improvement_swap 0.1p
2026-08-15 15:55:08.271020: Swap charge optimisation finished metric 580.07p, cost 597.73p
2026-08-15 15:55:08.306042: Raw charge windows [ 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 100%, 15-08 16:00:00 - 15-08 16:30:00 @ 33.13p 0%, 15-08 16:30:00 - 15-08 17:00:00 @ 33.13p 0%, 15-08 17:00:00 - 15-08 17:30:00 @ 38.46p 0%, 15-08 17:30:00 - 15-08 18:00:00 @ 40.44p 0%, 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 0%, 15-08 18:30:00 - 15-08 19:00:00 @ 43.82p 0%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 0%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 0%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 0%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 0%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 29.37p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 29.2p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.83p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 28.46p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 27.73p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 27.01p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 26.76p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 26.48p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.39p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 26.27p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.33p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.37p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 26.23p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.07p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.99p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 25.92p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 25.64p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 25.39p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.84p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.28p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.26p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.22p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 24.8p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 25.37p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 24.71p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 24.02p 0%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.79p 0%, 16-08 12:30:00 - 16-08 13:00:00 @ 23.55p 0%, 16-08 13:00:00 - 16-08 13:30:00 @ 23.14p 0%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.71p 0%, 16-08 14:00:00 - 16-08 14:30:00 @ 22.01p 0%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.29p 0%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.01p 0%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.71p 0%, 16-08 16:00:00 - 16-08 16:30:00 @ 37.14p 100%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.91p 100%, 16-08 17:00:00 - 16-08 17:30:00 @ 40.13p 100%, 16-08 17:30:00 - 16-08 18:00:00 @ 42.36p 100%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.19p 100%, 16-08 19:00:00 - 16-08 19:30:00 @ 33.04p 100%, 16-08 19:30:00 - 16-08 20:00:00 @ 33.71p 100%, 16-08 20:00:00 - 16-08 20:30:00 @ 33.83p 100%, 16-08 20:30:00 - 16-08 21:00:00 @ 33.94p 100%, 16-08 21:00:00 - 16-08 21:30:00 @ 33.73p 100%, 16-08 21:30:00 - 16-08 22:00:00 @ 33.53p 100%, 16-08 22:00:00 - 16-08 22:30:00 @ 32.36p 100%, 16-08 22:30:00 - 16-08 23:00:00 @ 31.17p 100%, 16-08 23:00:00 - 16-08 23:30:00 @ 29.37p 100%, 16-08 23:30:00 - 17-08 00:00:00 @ 29.2p 100%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.83p 100%, 17-08 00:30:00 - 17-08 01:00:00 @ 28.46p 100%, 17-08 01:00:00 - 17-08 01:30:00 @ 27.73p 100%, 17-08 01:30:00 - 17-08 02:00:00 @ 27.01p 100%, 17-08 02:00:00 - 17-08 02:30:00 @ 26.76p 100%, 17-08 02:30:00 - 17-08 03:00:00 @ 26.48p 100%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.39p 100%, 17-08 03:30:00 - 17-08 04:00:00 @ 26.27p 100%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.33p 100%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.37p 100%, 17-08 05:00:00 - 17-08 05:30:00 @ 26.23p 100%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.07p 100%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.99p 100%, 17-08 06:30:00 - 17-08 07:00:00 @ 25.92p 100%, 17-08 07:00:00 - 17-08 07:30:00 @ 25.64p 100%, 17-08 07:30:00 - 17-08 08:00:00 @ 25.39p 100%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.84p 100%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.28p 100%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.26p 100%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.22p 100%, 17-08 10:00:00 - 17-08 10:30:00 @ 24.8p 100%, 17-08 10:30:00 - 17-08 11:00:00 @ 25.37p 100%, 17-08 11:00:00 - 17-08 11:30:00 @ 24.71p 100%, 17-08 11:30:00 - 17-08 12:00:00 @ 24.02p 100%, 17-08 12:00:00 - 17-08 12:30:00 @ 23.79p 100%, 17-08 12:30:00 - 17-08 13:00:00 @ 23.55p 100%, 17-08 13:00:00 - 17-08 13:30:00 @ 23.14p 100%, 17-08 13:30:00 - 17-08 14:00:00 @ 22.71p 100%, 17-08 14:00:00 - 17-08 14:30:00 @ 22.01p 100%, 17-08 14:30:00 - 17-08 15:00:00 @ 21.29p 100%, 17-08 15:00:00 - 17-08 15:30:00 @ 22.01p 100%, 17-08 15:30:00 - 17-08 16:00:00 @ 22.71p 100% ] reserve 1.12
2026-08-15 15:55:08.306615: Unclipped charge windows [ 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 100%, 16-08 16:00:00 - 16-08 18:30:00 @ 42.39p 100%, 16-08 19:00:00 - 17-08 16:00:00 @ 22.34p 100% ] reserve 1.12
2026-08-15 15:55:08.306815: Unfiltered charge windows [ 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 100%, 16-08 16:00:00 - 16-08 18:30:00 @ 42.39p 100%, 16-08 19:00:00 - 17-08 16:00:00 @ 22.34p 100% ] reserve 1.12
2026-08-15 15:55:08.307202: Filtered charge windows [ 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 100%, 16-08 16:00:00 - 16-08 18:30:00 @ 42.39p 100%, 16-08 19:00:00 - 17-08 16:00:00 @ 22.34p 100% ] reserve 1.12
2026-08-15 15:55:08.346136: Previous plan best metric is 580.07 (cost 597.73) and new plan best metric is 580.07 (cost 597.73)
2026-08-15 15:55:08.346458: New plan metric is not significantly better (metric_min_improvement_plan 2.0) than previous plan, using previous plan
2026-08-15 15:55:08.346716: Plan valid is now true after recompute was False
2026-08-15 15:55:08.382162: predict base end_record 08-16 16:00:00, final soc 16.0kWh, metric 1028.57p, metric_keep 0kWh, min_soc 2.75kWh @ 08-16 10:25:00, load 24.75kWh, PV 0.0kWh
2026-08-15 15:55:08.498967: Battery has 48.0 hours left - now at 15.58kWh
2026-08-15 15:55:08.544857: predict base10 end_record 08-16 16:00:00, final soc 16.0kWh, metric 1045.42p, metric_keep 0kWh, min_soc 2.07kWh @ 08-16 10:25:00, load 25.53kWh, PV 0.0kWh
2026-08-15 15:55:08.617788: predict best10 end_record 08-16 16:00:00, final soc 1.12kWh, metric 666.52p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 11:30:00, load 25.53kWh, PV 0.0kWh
2026-08-15 15:55:08.698981: predict best end_record 08-16 16:00:00, final soc 1.12kWh, metric 647.72p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 12:10:00, load 24.75kWh, PV 0.0kWh
2026-08-15 15:55:08.699569: Saving plan best values to HA entities
2026-08-15 15:55:08.847057: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0
2026-08-15 15:55:08.851963: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 15:55:08.856981: Best charging limit SoC's [16.0, 16.0, 16.0]kWh, export []kWh gives import battery 0.34kWh, house 2.59kWh, export 0.0kWh, metric 647.72p, metric10 666.52p
2026-08-15 15:55:08.932054: Marginal costs baseline metric (no standing charge): 597.7335
2026-08-15 15:55:09.175654: Marginal energy costs matrix computed: min=23.46 max=33.56
2026-08-15 15:55:09.243626: Rate array import [{'start': 955, 'end': 960, 'rate': 'cheap', 'range': '(15.9p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1860, 'rate': 'expensive', 'range': '(25.9p - 32.9p)'}, {'start': 1860, 'end': 2400, 'rate': 'cheap', 'range': '(21.3p - 25.6p)'}] export [{'start': 955, 'end': 2400, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 15:55:09.244020: - Your estimated bill for today is £5.39 and tomorrow is £9.22
2026-08-15 15:55:09.244063: - Import rates are cheap (15.9p) for the next 5 minutes and then expensive (33.1p) for the next 1 hour.
2026-08-15 15:55:09.244085: - The battery is currently at 97% and is charging to 100% for the next 5 minutes.
2026-08-15 15:55:09.244103: - For the next 48 hours there will be no solar generation.
2026-08-15 15:55:09.244120: - You will run out of battery in 20 hours.
2026-08-15 15:55:09.244137: 
2026-08-15 15:55:09.314136: Plan calculation took 5.44 seconds
2026-08-15 15:55:09.314519: Inverter 0: Type SK Sunsynk
2026-08-15 15:55:09.314565: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 15:55:09.314783: Reserve min: 7%, battery_min: 7%
2026-08-15 15:55:09.314866: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 15:55:09.315212: Inverter 0 SoC: 15.91kW 99%, current charge rate 5000W, current discharge rate 5250W, current battery power -4555W, current battery voltage 51.2V, grid power -5182W, load power 186W, PV Power 0W
2026-08-15 15:55:09.315446: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 15:55:09.315556: Inverter 0 scheduled charge enable is True
2026-08-15 15:55:09.315613: Inverter 0 charge windows currently [{'start': 630, 'end': 960, 'average': 0}, {'start': 2070, 'end': 2400, 'average': 0}, {'start': 3510, 'end': 3840, 'average': 0}]
2026-08-15 15:55:09.315704: Inverter 0 Charge settings: 08-15 10:30:00-08-15 16:00:00, limit 100.0%, power 5.0kW
2026-08-15 15:55:09.315825: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 15:55:09.315865: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 15:55:09.315983: Inverter 0 scheduled discharge enable is False
2026-08-15 15:55:09.316142: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 15:55:09.316182: Inverter 0 discharge windows currently []
2026-08-15 15:55:09.316205: Note: Inverter does not support discharge freeze - disabled
2026-08-15 15:55:09.316225: Note: Inverter does not support charge freeze - disabled
2026-08-15 15:55:09.316242: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 15:55:09.369221: Include original charge start 08-15 10:30:00, keeping this instead of new start 08-15 15:30:00
2026-08-15 15:55:09.369334: Inverter 0 Charge window will be: 2026-08-15 10:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 99%, target 100%
2026-08-15 15:55:09.369494: Inverter 0 Target SoC 100%, (this inverter 100%), battery temperature 20°C, select charge rate 5000W (real 2450W), current charge rate 5000W
2026-08-15 15:55:09.369695: Adjust idle time, charge 10:30:00-16:00:00 discharge 00:00:00-00:00:00
2026-08-15 15:55:09.369948: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 15:55:09.370044: No export window planned
2026-08-15 15:55:09.370157: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 15:55:09.370219: Adjust idle time, charge 10:30:00-16:00:00 discharge 00:00:00-00:00:00
2026-08-15 15:55:09.370353: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 15:55:09.370463: Inverter 0 setting charging SoC to 100% as per target
2026-08-15 15:55:09.370504: Inverter 0 adjust target SoC for charge to 100% based on requested all inverter SoC 100%
2026-08-15 15:55:09.370548: Inverter 0 Current Target SoC is 100%, already at target
2026-08-15 15:55:09.370646: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:55:09.370687: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:55:09.370715: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:55:09.370746: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:55:09.370772: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:55:09.370793: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:55:09.370820: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:55:09.370859: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 15:55:09.370890: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 15:55:09.370929: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 15:55:09.370955: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 15:55:09.370994: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 15:55:09.371019: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 15:55:09.371041: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 15:55:09.371105: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:55:09.371160: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:55:09.371184: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:55:09.371214: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:55:09.371237: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:55:09.371262: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:55:09.371284: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:55:09.371302: Inverter 0 count register writes 0
2026-08-15 15:55:09.390991: Total inverter register writes now 825
2026-08-15 15:55:09.421205: Info: Completed run status Charging
2026-08-15 15:55:09.427195: Info: record_status Charging target 99%-100.0%
2026-08-15 15:55:09.433149: Saved current settings to /config/predbat_config.json
2026-08-15 15:55:09.433429: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 15:55:11.493446: Info: Refresh config entities due to their age of 480.0 minutes
2026-08-15 15:55:11.493623: Refreshing Predbat configuration
2026-08-15 15:55:12.834796: Saved current settings to /config/predbat_config.json
2026-08-15 15:55:12.836817: Validation of apps.yaml was successful
2026-08-15 15:55:12.837059: --------------- PredBat - update at 2026-08-15 15:55:00+01:00 with clock skew 0 minutes, minutes now 955
2026-08-15 15:55:12.837655: Saved current settings to /config/predbat_config.json
2026-08-15 15:55:12.837793: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 95.2 minutes
2026-08-15 15:55:12.837874: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.2, latest beta is v8.48.2
2026-08-15 15:55:12.837984: Autoupdate: There is an update pending v8.48.2 PV90 and second pass enabled by default, bug fixes - auto update is off
2026-08-15 15:55:12.853872: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 15:55:12.853996: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 15:55:12.854138: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 15:55:12.854570: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 15:55:12.854673: Predbat mode is set to Control charge & discharge
2026-08-15 15:55:13.016388: Found 21602 load_today datapoints going back 28 days
2026-08-15 15:55:13.016531: Using load_power data to fill gaps in load_today data
2026-08-15 15:55:13.858841: Processing 721 30-minute periods for power integration
2026-08-15 15:55:14.042942: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 15:55:14.043084: Car charging hold False, threshold 6.0kWh
2026-08-15 15:55:14.043129: Current data so far today: load 8.4kWh, import 26.0kWh, export 0.0kWh, PV 0kWh
2026-08-15 15:55:14.058382: Cars: SoC: [11.134]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 15:55:14.058872: Standing charge is set to 49.98p
2026-08-15 15:55:14.106721: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 15:55:14.106820: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 15:55:14.107087: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 315.2 minutes
2026-08-15 15:55:14.107524: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 315.2 minutes
2026-08-15 15:55:14.113389: Loaded 95 datapoints of futurerate analysis
2026-08-15 15:55:14.207090: Predicted future rates: ['08-15 00:00:00 => 28.9 / 20.01', '08-15 01:00:00 => 27.54 / 19.31', '08-15 02:00:00 => 26.52 / 18.8', '08-15 03:00:00 => 25.99 / 18.53', '08-15 04:00:00 => 25.8 / 18.43', '08-15 05:00:00 => 25.96 / 18.51', '08-15 06:00:00 => 25.55 / 18.3', '08-15 07:00:00 => 24.33 / 17.68', '08-15 08:00:00 => 23.03 / 17.01', '08-15 09:00:00 => 22.05 / 16.51', '08-15 10:00:00 => 20.43 / 15.68', '08-15 11:00:00 => 18.01 / 14.45', '08-15 12:00:00 => 16.37 / 13.61', '08-15 13:00:00 => 15.76 / 13.3', '08-15 14:00:00 => 15.35 / 13.09', '08-15 15:00:00 => 15.86 / 13.35', '08-15 16:00:00 => 32.89 / 16.13', '08-15 17:00:00 => 38.02 / 18.75', '08-15 18:00:00 => 42.36 / 20.96', '08-15 19:00:00 => 31.09 / 21.13', '08-15 20:00:00 => 31.64 / 21.41', '08-15 21:00:00 => 31.64 / 21.41', '08-15 22:00:00 => 30.58 / 20.87', '08-15 23:00:00 => 29.37 / 20.25', '08-16 00:00:00 => 28.83 / 19.97', '08-16 01:00:00 => 27.73 / 19.41', '08-16 02:00:00 => 26.76 / 18.92', '08-16 03:00:00 => 26.39 / 18.73', '08-16 04:00:00 => 26.33 / 18.7', '08-16 05:00:00 => 26.23 / 18.65', '08-16 06:00:00 => 25.99 / 18.53', '08-16 07:00:00 => 25.64 / 18.35', '08-16 08:00:00 => 24.84 / 17.94', '08-16 09:00:00 => 24.26 / 17.64', '08-16 10:00:00 => 24.8 / 17.92', '08-16 11:00:00 => 24.71 / 17.87', '08-16 12:00:00 => 23.79 / 17.4', '08-16 13:00:00 => 23.14 / 17.07', '08-16 14:00:00 => 22.01 / 16.49']
2026-08-15 15:55:14.268997: Rate min forward looking: now 15.87p at end of forecast 21.29p
2026-08-15 15:55:14.270083: Import rates: min 15.87p, max 46.05p, average 28.35p
2026-08-15 15:55:14.312340: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 15:55:14.312468: Rate thresholds (for charge/export) are import 45.55p (0.0p), export -0.1p (0.0p)
2026-08-15 15:55:14.313961: High export rate found rates in range 99p to -99p
2026-08-15 15:55:14.412794: Low Import rate found rates in range 15.87p to 44.19p
2026-08-15 15:55:14.412927: Car 0 charging is not planned as it is not plugged in
2026-08-15 15:55:14.425276: Battery level now 15.58kWh, -1hr ago 11.42kWh, at midnight 1.66kWh, battery value change in the last hour 56.7p, change today 189.73p, rate_forward 13.63p
2026-08-15 15:55:14.425648: Last hour: net energy 4.3kWh, import 4.3kWh, export 0.0kWh, car 0kWh, load 0.13kWh, net cost 65.34p, import 65.34p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 15:55:14.474854: Today's energy total net 26.0kWh, import 26.0kWh, export 0.0kWh, cost 533.67p, import 483.69p, export 0.0p, carbon 0.0kg
2026-08-15 15:55:14.475047: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 15:55:14.563584: Using weighted-bucket historical load forecast over 14 days
2026-08-15 15:55:14.593548: Today's load divergence 90.98%, in-day adjustment 109.06%, damping 0.95x, yesterday 143.77% today 91.43% blend 33.68%
2026-08-15 15:55:14.593649: Today's predicted so far 9.65kWh with 0.0kWh car/iBoost excluded, 19.48kWh import ignored, and 9.65kWh forecast extra.
2026-08-15 15:55:14.593682: Today's actual load so far 8.39kWh with 0.0kWh car/iBoost excluded, and 19.48kWh import ignored.
2026-08-15 15:55:14.622728: Inverter 0: Type SK Sunsynk
2026-08-15 15:55:14.622818: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 15:55:14.623054: Reserve min: 7%, battery_min: 7%
2026-08-15 15:55:14.623128: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 15:55:14.623404: Inverter 0 SoC: 15.91kW 99%, current charge rate 5000W, current discharge rate 5250W, current battery power -4555W, current battery voltage 51.2V, grid power -5182W, load power 186W, PV Power 0W
2026-08-15 15:55:14.623560: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 15:55:14.623646: Inverter 0 scheduled charge enable is True
2026-08-15 15:55:14.623690: Inverter 0 charge windows currently [{'start': 630, 'end': 960, 'average': 0}, {'start': 2070, 'end': 2400, 'average': 0}, {'start': 3510, 'end': 3840, 'average': 0}]
2026-08-15 15:55:14.623776: Inverter 0 Charge settings: 08-15 10:30:00-08-15 16:00:00, limit 100.0%, power 5.0kW
2026-08-15 15:55:14.623892: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 15:55:14.623948: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 15:55:14.623988: Inverter 0 scheduled discharge enable is False
2026-08-15 15:55:14.624108: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 15:55:14.624144: Inverter 0 discharge windows currently []
2026-08-15 15:55:14.624166: Note: Inverter does not support discharge freeze - disabled
2026-08-15 15:55:14.624185: Note: Inverter does not support charge freeze - disabled
2026-08-15 15:55:14.624203: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 15:55:14.688382: Dynamic load last period 0.00kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 15:55:14.688503: Will recompute the plan as it is invalid
2026-08-15 15:55:14.688661: Recompute is saving previous plan...
2026-08-15 15:55:14.691985: Best charge window [ 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 100%, 15-08 16:00:00 - 15-08 16:30:00 @ 33.13p 100%, 15-08 16:30:00 - 15-08 17:00:00 @ 33.13p 100%, 15-08 17:00:00 - 15-08 17:30:00 @ 38.46p 100%, 15-08 17:30:00 - 15-08 18:00:00 @ 40.44p 100%, 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 100%, 15-08 18:30:00 - 15-08 19:00:00 @ 43.82p 100%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 100%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 100%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 100%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 100%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 100%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 100%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 100%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 100%, 15-08 23:00:00 - 15-08 23:30:00 @ 29.37p 100%, 15-08 23:30:00 - 16-08 00:00:00 @ 29.2p 100%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.83p 100%, 16-08 00:30:00 - 16-08 01:00:00 @ 28.46p 100%, 16-08 01:00:00 - 16-08 01:30:00 @ 27.73p 100%, 16-08 01:30:00 - 16-08 02:00:00 @ 27.01p 100%, 16-08 02:00:00 - 16-08 02:30:00 @ 26.76p 100%, 16-08 02:30:00 - 16-08 03:00:00 @ 26.48p 100%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.39p 100%, 16-08 03:30:00 - 16-08 04:00:00 @ 26.27p 100%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.33p 100%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.37p 100%, 16-08 05:00:00 - 16-08 05:30:00 @ 26.23p 100%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.07p 100%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.99p 100%, 16-08 06:30:00 - 16-08 07:00:00 @ 25.92p 100%, 16-08 07:00:00 - 16-08 07:30:00 @ 25.64p 100%, 16-08 07:30:00 - 16-08 08:00:00 @ 25.39p 100%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.84p 100%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.28p 100%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.26p 100%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.22p 100%, 16-08 10:00:00 - 16-08 10:30:00 @ 24.8p 100%, 16-08 10:30:00 - 16-08 11:00:00 @ 25.37p 100%, 16-08 11:00:00 - 16-08 11:30:00 @ 24.71p 100%, 16-08 11:30:00 - 16-08 12:00:00 @ 24.02p 100%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.79p 100%, 16-08 12:30:00 - 16-08 13:00:00 @ 23.55p 100%, 16-08 13:00:00 - 16-08 13:30:00 @ 23.14p 100%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.71p 100%, 16-08 14:00:00 - 16-08 14:30:00 @ 22.01p 100%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.29p 100%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.01p 100%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.71p 100%, 16-08 16:00:00 - 16-08 16:30:00 @ 37.14p 100%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.91p 100%, 16-08 17:00:00 - 16-08 17:30:00 @ 40.13p 100%, 16-08 17:30:00 - 16-08 18:00:00 @ 42.36p 100%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.19p 100%, 16-08 19:00:00 - 16-08 19:30:00 @ 33.04p 100%, 16-08 19:30:00 - 16-08 20:00:00 @ 33.71p 100%, 16-08 20:00:00 - 16-08 20:30:00 @ 33.83p 100%, 16-08 20:30:00 - 16-08 21:00:00 @ 33.94p 100%, 16-08 21:00:00 - 16-08 21:30:00 @ 33.73p 100%, 16-08 21:30:00 - 16-08 22:00:00 @ 33.53p 100%, 16-08 22:00:00 - 16-08 22:30:00 @ 32.36p 100%, 16-08 22:30:00 - 16-08 23:00:00 @ 31.17p 100%, 16-08 23:00:00 - 16-08 23:30:00 @ 29.37p 100%, 16-08 23:30:00 - 17-08 00:00:00 @ 29.2p 100%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.83p 100%, 17-08 00:30:00 - 17-08 01:00:00 @ 28.46p 100%, 17-08 01:00:00 - 17-08 01:30:00 @ 27.73p 100%, 17-08 01:30:00 - 17-08 02:00:00 @ 27.01p 100%, 17-08 02:00:00 - 17-08 02:30:00 @ 26.76p 100%, 17-08 02:30:00 - 17-08 03:00:00 @ 26.48p 100%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.39p 100%, 17-08 03:30:00 - 17-08 04:00:00 @ 26.27p 100%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.33p 100%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.37p 100%, 17-08 05:00:00 - 17-08 05:30:00 @ 26.23p 100%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.07p 100%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.99p 100%, 17-08 06:30:00 - 17-08 07:00:00 @ 25.92p 100%, 17-08 07:00:00 - 17-08 07:30:00 @ 25.64p 100%, 17-08 07:30:00 - 17-08 08:00:00 @ 25.39p 100%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.84p 100%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.28p 100%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.26p 100%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.22p 100%, 17-08 10:00:00 - 17-08 10:30:00 @ 24.8p 100%, 17-08 10:30:00 - 17-08 11:00:00 @ 25.37p 100%, 17-08 11:00:00 - 17-08 11:30:00 @ 24.71p 100%, 17-08 11:30:00 - 17-08 12:00:00 @ 24.02p 100%, 17-08 12:00:00 - 17-08 12:30:00 @ 23.79p 100%, 17-08 12:30:00 - 17-08 13:00:00 @ 23.55p 100%, 17-08 13:00:00 - 17-08 13:30:00 @ 23.14p 100%, 17-08 13:30:00 - 17-08 14:00:00 @ 22.71p 100%, 17-08 14:00:00 - 17-08 14:30:00 @ 22.01p 100%, 17-08 14:30:00 - 17-08 15:00:00 @ 21.29p 100%, 17-08 15:00:00 - 17-08 15:30:00 @ 22.01p 100%, 17-08 15:30:00 - 17-08 16:00:00 @ 22.71p 100% ]
2026-08-15 15:55:14.692069: Best export window [  ]
2026-08-15 15:55:14.692865: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 15:55:14.695982: Load divergence over 8.0 hours mean 509.73W, min 291.6W, max 1875.0W, std dev 333.46W, divergence 32.71%
2026-08-15 15:55:14.714583: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 15:55:14.714704: LoadML is_calculating False
2026-08-15 15:55:14.714772: Creating pool of 12 processes to match your CPU count
2026-08-15 15:55:14.807741: Calculate Best options: mode(Control charge & discharge), calculate_export_oncharge(False), calculate_export_on_pv(True), set_export_freeze_only(False), set_discharge_during_charge(True), combine_charge_slots(False), combine_export_slots(False), combine_rate_threshold(0.0), best_soc_min(0.0 kWh), best_soc_max(0.0 kWh), best_soc_keep(0.0 kWh), inverter_loss(4%), battery_loss(3%), battery_loss_discharge (3%), inverter_hybrid(True), metric_min_improvement(0.0p), metric_min_improvement_export(0.1p), metric_min_improvement_export_freeze(0.1p), metric_battery_cycle(0.0p/kWh), metric_battery_value_scaling(1.0 x) 
2026-08-15 15:55:14.809661: Optimise levels pass started at 2026-08-15 15:55:14
2026-08-15 15:55:14.809732: Optimise all windows, total charge 95 export 1
2026-08-15 15:55:15.607356: >> Region optimisation pass width 960 gives best_metric 971.25p, best_cost 985.35p, best_cycle 28.49kWh, best_import 19.32kWh
2026-08-15 15:55:15.746582: >> Region optimisation pass width 480 gives best_metric 971.25p, best_cost 985.35p, best_cycle 28.49kWh, best_import 19.32kWh
2026-08-15 15:55:15.991262: >> Region optimisation pass width 240 gives best_metric 971.25p, best_cost 985.35p, best_cycle 28.49kWh, best_import 19.32kWh
2026-08-15 15:55:16.456452: >> Region optimisation pass width 120 gives best_metric 971.25p, best_cost 985.35p, best_cycle 28.49kWh, best_import 19.32kWh
2026-08-15 15:55:16.456773: Calculated end_record as 08-16 16:00:00 based on best_price 22.01p, next_charge_start 08-15 16:00:00, max_windows 49
2026-08-15 15:55:16.456856: Optimise levels pass ended at 2026-08-15 15:55:16, duration 1.6 seconds tried 31 combinations
2026-08-15 15:55:16.457005: Set best_price_charge_level 23.6p, best_price_export_level 0p, best_price_charge 22.01p, best_cost_export 0p, best_metric 971.25p, best_keep 0kWh, best_cycle 28.49kWh, best_carbon 0kg, best_import 19.32kWh
2026-08-15 15:55:16.475837: Starting detailed optimisation end_record 08-16 16:00:00, best_price_charge 22.01p, best_price_export 0p. lowest_price_charge 15.87p with charge limits [16.0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 16.0, 16.0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0]kWh and export limits []kWh
2026-08-15 15:55:18.745756: Tweak plan optimisation started metric 573.5p, cost 591.22p
2026-08-15 15:55:18.951470: Tweak optimisation finished metric 573.5p, cost 591.22p, metric_keep 0kWh, cycle 14.52kWh, carbon 0kg, import 2.59kWh, changed 8 window(s)
2026-08-15 15:55:18.968826: Swap charge optimisation started metric 573.5p, cost 591.22p, min_improvement_swap 0.1p
2026-08-15 15:55:19.206513: Swap charge optimisation finished metric 573.5p, cost 591.22p
2026-08-15 15:55:19.232422: Raw charge windows [ 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 100%, 15-08 16:00:00 - 15-08 16:30:00 @ 33.13p 0%, 15-08 16:30:00 - 15-08 17:00:00 @ 33.13p 0%, 15-08 17:00:00 - 15-08 17:30:00 @ 38.46p 0%, 15-08 17:30:00 - 15-08 18:00:00 @ 40.44p 0%, 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 0%, 15-08 18:30:00 - 15-08 19:00:00 @ 43.82p 0%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 0%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 0%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 0%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 0%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 29.37p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 29.2p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.83p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 28.46p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 27.73p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 27.01p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 26.76p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 26.48p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.39p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 26.27p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.33p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.37p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 26.23p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.07p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.99p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 25.92p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 25.64p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 25.39p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.84p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.28p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.26p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.22p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 24.8p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 25.37p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 24.71p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 24.02p 0%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.79p 0%, 16-08 12:30:00 - 16-08 13:00:00 @ 23.55p 0%, 16-08 13:00:00 - 16-08 13:30:00 @ 23.14p 0%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.71p 0%, 16-08 14:00:00 - 16-08 14:30:00 @ 22.01p 0%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.29p 0%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.01p 0%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.71p 0%, 16-08 16:00:00 - 16-08 16:30:00 @ 37.14p 100%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.91p 100%, 16-08 17:00:00 - 16-08 17:30:00 @ 40.13p 100%, 16-08 17:30:00 - 16-08 18:00:00 @ 42.36p 100%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.19p 100%, 16-08 19:00:00 - 16-08 19:30:00 @ 33.04p 100%, 16-08 19:30:00 - 16-08 20:00:00 @ 33.71p 100%, 16-08 20:00:00 - 16-08 20:30:00 @ 33.83p 100%, 16-08 20:30:00 - 16-08 21:00:00 @ 33.94p 100%, 16-08 21:00:00 - 16-08 21:30:00 @ 33.73p 100%, 16-08 21:30:00 - 16-08 22:00:00 @ 33.53p 100%, 16-08 22:00:00 - 16-08 22:30:00 @ 32.36p 100%, 16-08 22:30:00 - 16-08 23:00:00 @ 31.17p 100%, 16-08 23:00:00 - 16-08 23:30:00 @ 29.37p 100%, 16-08 23:30:00 - 17-08 00:00:00 @ 29.2p 100%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.83p 100%, 17-08 00:30:00 - 17-08 01:00:00 @ 28.46p 100%, 17-08 01:00:00 - 17-08 01:30:00 @ 27.73p 100%, 17-08 01:30:00 - 17-08 02:00:00 @ 27.01p 100%, 17-08 02:00:00 - 17-08 02:30:00 @ 26.76p 100%, 17-08 02:30:00 - 17-08 03:00:00 @ 26.48p 100%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.39p 100%, 17-08 03:30:00 - 17-08 04:00:00 @ 26.27p 100%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.33p 100%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.37p 100%, 17-08 05:00:00 - 17-08 05:30:00 @ 26.23p 100%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.07p 100%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.99p 100%, 17-08 06:30:00 - 17-08 07:00:00 @ 25.92p 100%, 17-08 07:00:00 - 17-08 07:30:00 @ 25.64p 100%, 17-08 07:30:00 - 17-08 08:00:00 @ 25.39p 100%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.84p 100%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.28p 100%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.26p 100%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.22p 100%, 17-08 10:00:00 - 17-08 10:30:00 @ 24.8p 100%, 17-08 10:30:00 - 17-08 11:00:00 @ 25.37p 100%, 17-08 11:00:00 - 17-08 11:30:00 @ 24.71p 100%, 17-08 11:30:00 - 17-08 12:00:00 @ 24.02p 100%, 17-08 12:00:00 - 17-08 12:30:00 @ 23.79p 100%, 17-08 12:30:00 - 17-08 13:00:00 @ 23.55p 100%, 17-08 13:00:00 - 17-08 13:30:00 @ 23.14p 100%, 17-08 13:30:00 - 17-08 14:00:00 @ 22.71p 100%, 17-08 14:00:00 - 17-08 14:30:00 @ 22.01p 100%, 17-08 14:30:00 - 17-08 15:00:00 @ 21.29p 100%, 17-08 15:00:00 - 17-08 15:30:00 @ 22.01p 100%, 17-08 15:30:00 - 17-08 16:00:00 @ 22.71p 100% ] reserve 1.12
2026-08-15 15:55:19.232910: Unclipped charge windows [ 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 100%, 16-08 16:00:00 - 16-08 18:30:00 @ 42.39p 100%, 16-08 19:00:00 - 17-08 16:00:00 @ 22.34p 100% ] reserve 1.12
2026-08-15 15:55:19.233163: Unfiltered charge windows [ 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 100%, 16-08 16:00:00 - 16-08 18:30:00 @ 42.39p 100%, 16-08 19:00:00 - 17-08 16:00:00 @ 22.34p 100% ] reserve 1.12
2026-08-15 15:55:19.233290: Filtered charge windows [ 15-08 15:30:00 - 15-08 16:00:00 @ 15.87p 100%, 16-08 16:00:00 - 16-08 18:30:00 @ 42.39p 100%, 16-08 19:00:00 - 17-08 16:00:00 @ 22.34p 100% ] reserve 1.12
2026-08-15 15:55:19.262882: Previous plan best metric is 573.5 (cost 591.22) and new plan best metric is 573.5 (cost 591.22)
2026-08-15 15:55:19.263104: New plan metric is not significantly better (metric_min_improvement_plan 2.0) than previous plan, using previous plan
2026-08-15 15:55:19.263240: Plan valid is now true after recompute was False
2026-08-15 15:55:19.292295: predict base end_record 08-16 16:00:00, final soc 16.0kWh, metric 1021.64p, metric_keep 0kWh, min_soc 2.9kWh @ 08-16 10:25:00, load 24.75kWh, PV 0.0kWh
2026-08-15 15:55:19.403216: Battery has 48.0 hours left - now at 15.91kWh
2026-08-15 15:55:19.439786: predict base10 end_record 08-16 16:00:00, final soc 16.0kWh, metric 1038.3p, metric_keep 0kWh, min_soc 2.28kWh @ 08-16 10:25:00, load 25.53kWh, PV 0.0kWh
2026-08-15 15:55:19.513566: predict best10 end_record 08-16 16:00:00, final soc 1.12kWh, metric 659.68p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 11:40:00, load 25.53kWh, PV 0.0kWh
2026-08-15 15:55:19.607715: predict best end_record 08-16 16:00:00, final soc 1.12kWh, metric 641.2p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 12:20:00, load 24.75kWh, PV 0.0kWh
2026-08-15 15:55:19.607833: Saving plan best values to HA entities
2026-08-15 15:55:19.770984: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0
2026-08-15 15:55:19.776393: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 15:55:19.781133: Best charging limit SoC's [16.0, 16.0, 16.0]kWh, export []kWh gives import battery 0.14kWh, house 2.44kWh, export 0.0kWh, metric 641.2p, metric10 659.68p
2026-08-15 15:55:19.853356: Marginal costs baseline metric (no standing charge): 591.218
2026-08-15 15:55:20.087515: Marginal energy costs matrix computed: min=23.33 max=33.52
2026-08-15 15:55:20.153013: Rate array import [{'start': 955, 'end': 960, 'rate': 'cheap', 'range': '(15.9p)'}, {'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1860, 'rate': 'expensive', 'range': '(25.9p - 32.9p)'}, {'start': 1860, 'end': 2400, 'rate': 'cheap', 'range': '(21.3p - 25.6p)'}] export [{'start': 955, 'end': 2400, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 15:55:20.153343: - Your estimated bill for today is £5.36 and tomorrow is £9.18
2026-08-15 15:55:20.153378: - Import rates are cheap (15.9p) for the next 5 minutes and then expensive (33.1p) for the next 1 hour.
2026-08-15 15:55:20.153396: - The battery is currently at 99% and is charging to 100% for the next 5 minutes.
2026-08-15 15:55:20.153411: - For the next 48 hours there will be no solar generation.
2026-08-15 15:55:20.153424: - You will run out of battery in 20 hours.
2026-08-15 15:55:20.153438: 
2026-08-15 15:55:20.202418: Plan calculation took 5.51 seconds
2026-08-15 15:55:20.207843: Saved plan to storage
2026-08-15 15:55:20.211396: No high rate period found
2026-08-15 15:55:20.259959: Import threshold used for optimisation was 15.87p
2026-08-15 15:55:20.307382: Low import rate windows [0: 08-15 15:30:00 - 08-15 16:00:00 @ 15.87, 1: 08-15 16:00:00 - 08-15 16:30:00 @ 33.13, 2: 08-15 16:30:00 - 08-15 17:00:00 @ 33.13, 3: 08-15 17:00:00 - 08-15 17:30:00 @ 38.46, 4: 08-15 17:30:00 - 08-15 18:00:00 @ 40.44, 5: 08-15 18:00:00 - 08-15 18:30:00 @ 41.55, 6: 08-15 18:30:00 - 08-15 19:00:00 @ 43.82, 7: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 8: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 9: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 10: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 11: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 12: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 13: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 14: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 15: 08-15 23:00:00 - 08-15 23:30:00 @ 29.37, 16: 08-15 23:30:00 - 08-16 00:00:00 @ 29.2, 17: 08-16 00:00:00 - 08-16 00:30:00 @ 28.83, 18: 08-16 00:30:00 - 08-16 01:00:00 @ 28.46, 19: 08-16 01:00:00 - 08-16 01:30:00 @ 27.73, 20: 08-16 01:30:00 - 08-16 02:00:00 @ 27.01, 21: 08-16 02:00:00 - 08-16 02:30:00 @ 26.76, 22: 08-16 02:30:00 - 08-16 03:00:00 @ 26.48, 23: 08-16 03:00:00 - 08-16 03:30:00 @ 26.39, 24: 08-16 03:30:00 - 08-16 04:00:00 @ 26.27, 25: 08-16 04:00:00 - 08-16 04:30:00 @ 26.33, 26: 08-16 04:30:00 - 08-16 05:00:00 @ 26.37, 27: 08-16 05:00:00 - 08-16 05:30:00 @ 26.23, 28: 08-16 05:30:00 - 08-16 06:00:00 @ 26.07, 29: 08-16 06:00:00 - 08-16 06:30:00 @ 25.99, 30: 08-16 06:30:00 - 08-16 07:00:00 @ 25.92, 31: 08-16 07:00:00 - 08-16 07:30:00 @ 25.64, 32: 08-16 07:30:00 - 08-16 08:00:00 @ 25.39, 33: 08-16 08:00:00 - 08-16 08:30:00 @ 24.84, 34: 08-16 08:30:00 - 08-16 09:00:00 @ 24.28, 35: 08-16 09:00:00 - 08-16 09:30:00 @ 24.26, 36: 08-16 09:30:00 - 08-16 10:00:00 @ 24.22, 37: 08-16 10:00:00 - 08-16 10:30:00 @ 24.8, 38: 08-16 10:30:00 - 08-16 11:00:00 @ 25.37, 39: 08-16 11:00:00 - 08-16 11:30:00 @ 24.71, 40: 08-16 11:30:00 - 08-16 12:00:00 @ 24.02, 41: 08-16 12:00:00 - 08-16 12:30:00 @ 23.79, 42: 08-16 12:30:00 - 08-16 13:00:00 @ 23.55, 43: 08-16 13:00:00 - 08-16 13:30:00 @ 23.14, 44: 08-16 13:30:00 - 08-16 14:00:00 @ 22.71, 45: 08-16 14:00:00 - 08-16 14:30:00 @ 22.01, 46: 08-16 14:30:00 - 08-16 15:00:00 @ 21.29, 47: 08-16 15:00:00 - 08-16 15:30:00 @ 22.01, 48: 08-16 15:30:00 - 08-16 16:00:00 @ 22.71, 49: 08-16 16:00:00 - 08-16 16:30:00 @ 37.14, 50: 08-16 16:30:00 - 08-16 17:00:00 @ 37.91, 51: 08-16 17:00:00 - 08-16 17:30:00 @ 40.13, 52: 08-16 17:30:00 - 08-16 18:00:00 @ 42.36, 53: 08-16 18:00:00 - 08-16 18:30:00 @ 44.19, 54: 08-16 19:00:00 - 08-16 19:30:00 @ 33.04, 55: 08-16 19:30:00 - 08-16 20:00:00 @ 33.71, 56: 08-16 20:00:00 - 08-16 20:30:00 @ 33.83, 57: 08-16 20:30:00 - 08-16 21:00:00 @ 33.94, 58: 08-16 21:00:00 - 08-16 21:30:00 @ 33.73, 59: 08-16 21:30:00 - 08-16 22:00:00 @ 33.53, 60: 08-16 22:00:00 - 08-16 22:30:00 @ 32.36, 61: 08-16 22:30:00 - 08-16 23:00:00 @ 31.17, 62: 08-16 23:00:00 - 08-16 23:30:00 @ 29.37, 63: 08-16 23:30:00 - 08-17 00:00:00 @ 29.2, 64: 08-17 00:00:00 - 08-17 00:30:00 @ 28.83, 65: 08-17 00:30:00 - 08-17 01:00:00 @ 28.46, 66: 08-17 01:00:00 - 08-17 01:30:00 @ 27.73, 67: 08-17 01:30:00 - 08-17 02:00:00 @ 27.01, 68: 08-17 02:00:00 - 08-17 02:30:00 @ 26.76, 69: 08-17 02:30:00 - 08-17 03:00:00 @ 26.48, 70: 08-17 03:00:00 - 08-17 03:30:00 @ 26.39, 71: 08-17 03:30:00 - 08-17 04:00:00 @ 26.27, 72: 08-17 04:00:00 - 08-17 04:30:00 @ 26.33, 73: 08-17 04:30:00 - 08-17 05:00:00 @ 26.37, 74: 08-17 05:00:00 - 08-17 05:30:00 @ 26.23, 75: 08-17 05:30:00 - 08-17 06:00:00 @ 26.07, 76: 08-17 06:00:00 - 08-17 06:30:00 @ 25.99, 77: 08-17 06:30:00 - 08-17 07:00:00 @ 25.92, 78: 08-17 07:00:00 - 08-17 07:30:00 @ 25.64, 79: 08-17 07:30:00 - 08-17 08:00:00 @ 25.39, 80: 08-17 08:00:00 - 08-17 08:30:00 @ 24.84, 81: 08-17 08:30:00 - 08-17 09:00:00 @ 24.28, 82: 08-17 09:00:00 - 08-17 09:30:00 @ 24.26, 83: 08-17 09:30:00 - 08-17 10:00:00 @ 24.22, 84: 08-17 10:00:00 - 08-17 10:30:00 @ 24.8, 85: 08-17 10:30:00 - 08-17 11:00:00 @ 25.37, 86: 08-17 11:00:00 - 08-17 11:30:00 @ 24.71, 87: 08-17 11:30:00 - 08-17 12:00:00 @ 24.02, 88: 08-17 12:00:00 - 08-17 12:30:00 @ 23.79, 89: 08-17 12:30:00 - 08-17 13:00:00 @ 23.55, 90: 08-17 13:00:00 - 08-17 13:30:00 @ 23.14, 91: 08-17 13:30:00 - 08-17 14:00:00 @ 22.71, 92: 08-17 14:00:00 - 08-17 14:30:00 @ 22.01, 93: 08-17 14:30:00 - 08-17 15:00:00 @ 21.29, 94: 08-17 15:00:00 - 08-17 15:30:00 @ 22.01, 95: 08-17 15:30:00 - 08-17 16:00:00 @ 22.71]
2026-08-15 15:55:20.314494: Inverter 0: Type SK Sunsynk
2026-08-15 15:55:20.314568: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 15:55:20.314775: Reserve min: 7%, battery_min: 7%
2026-08-15 15:55:20.314858: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 15:55:20.315209: Inverter 0 SoC: 15.91kW 99%, current charge rate 5000W, current discharge rate 5250W, current battery power -4555W, current battery voltage 51.2V, grid power -5182W, load power 186W, PV Power 0W
2026-08-15 15:55:20.315438: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 15:55:20.315546: Inverter 0 scheduled charge enable is True
2026-08-15 15:55:20.315592: Inverter 0 charge windows currently [{'start': 630, 'end': 960, 'average': 0}, {'start': 2070, 'end': 2400, 'average': 0}, {'start': 3510, 'end': 3840, 'average': 0}]
2026-08-15 15:55:20.315687: Inverter 0 Charge settings: 08-15 10:30:00-08-15 16:00:00, limit 100.0%, power 5.0kW
2026-08-15 15:55:20.315791: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 15:55:20.315817: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 15:55:20.315847: Inverter 0 scheduled discharge enable is False
2026-08-15 15:55:20.315968: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 15:55:20.315998: Inverter 0 discharge windows currently []
2026-08-15 15:55:20.316017: Note: Inverter does not support discharge freeze - disabled
2026-08-15 15:55:20.316032: Note: Inverter does not support charge freeze - disabled
2026-08-15 15:55:20.316072: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 15:55:20.371089: Include original charge start 08-15 10:30:00, keeping this instead of new start 08-15 15:30:00
2026-08-15 15:55:20.371201: Inverter 0 Charge window will be: 2026-08-15 10:30:00+01:00 - 2026-08-15 16:00:00+01:00 - current SoC 99%, target 100%
2026-08-15 15:55:20.371316: Inverter 0 Target SoC 100%, (this inverter 100%), battery temperature 20°C, select charge rate 5000W (real 2450W), current charge rate 5000W
2026-08-15 15:55:20.371458: Adjust idle time, charge 10:30:00-16:00:00 discharge 00:00:00-00:00:00
2026-08-15 15:55:20.371618: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 15:55:20.371691: No export window planned
2026-08-15 15:55:20.371784: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 15:55:20.371814: Adjust idle time, charge 10:30:00-16:00:00 discharge 00:00:00-00:00:00
2026-08-15 15:55:20.371945: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 15:55:20.372047: Inverter 0 setting charging SoC to 100% as per target
2026-08-15 15:55:20.372077: Inverter 0 adjust target SoC for charge to 100% based on requested all inverter SoC 100%
2026-08-15 15:55:20.372123: Inverter 0 Current Target SoC is 100%, already at target
2026-08-15 15:55:20.372215: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:55:20.372253: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:55:20.372277: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:55:20.372297: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:55:20.372317: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:55:20.372336: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:55:20.372356: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:55:20.372389: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 15:55:20.372413: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 15:55:20.372433: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 15:55:20.372453: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 15:55:20.372474: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 15:55:20.372494: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 15:55:20.372513: Inverter 0 Skipped service charge_start_service domain charge service_name select.select_option as it was previously called.
2026-08-15 15:55:20.372561: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:55:20.372588: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:55:20.372609: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:55:20.372628: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:55:20.372668: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:55:20.372689: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:55:20.372708: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 15:55:20.372724: Inverter 0 count register writes 0
2026-08-15 15:55:20.395688: Total inverter register writes now 825
2026-08-15 15:55:20.428262: Info: Completed run status Charging
2026-08-15 15:55:20.436084: Info: record_status Charging target 99%-100.0%
2026-08-15 15:55:20.443480: Saved current settings to /config/predbat_config.json
2026-08-15 15:55:20.443881: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 15:55:20.511502: Creating predbat dashboard at /config/predbat_dashboard.yaml
2026-08-15 15:55:56.559815: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 15:55:56.560175: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 15:55:56.560229: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 15:55:56.560412: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 15:55:56.560462: Note: Inverter does not support discharge freeze - disabled
2026-08-15 15:55:56.560491: Note: Inverter does not support charge freeze - disabled
2026-08-15 15:55:56.560517: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 15:57:56.780909: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 15:57:56.781404: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 15:57:56.781495: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 15:57:56.781784: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 15:57:56.781839: Note: Inverter does not support discharge freeze - disabled
2026-08-15 15:57:56.781882: Note: Inverter does not support charge freeze - disabled
2026-08-15 15:57:56.781916: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 15:58:31.693030: TemperatureAPI: Using coordinates latitude 53.4, longitude -2.2
2026-08-15 15:58:31.845902: TemperatureAPI: Successfully fetched temperature data from Open-Meteo API
2026-08-15 15:59:57.013641: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 15:59:57.013909: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 15:59:57.013953: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 15:59:57.014092: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 15:59:57.014151: Note: Inverter does not support discharge freeze - disabled
2026-08-15 15:59:57.014174: Note: Inverter does not support charge freeze - disabled
2026-08-15 15:59:57.014192: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 16:00:00.091573: --------------- PredBat - update at 2026-08-15 16:00:00+01:00 with clock skew 0 minutes, minutes now 960
2026-08-15 16:00:00.092594: Saved current settings to /config/predbat_config.json
2026-08-15 16:00:00.092743: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 100.0 minutes
2026-08-15 16:00:00.092858: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.2, latest beta is v8.48.2
2026-08-15 16:00:00.093008: Autoupdate: There is an update pending v8.48.2 PV90 and second pass enabled by default, bug fixes - auto update is off
2026-08-15 16:00:00.119349: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 16:00:00.119580: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 16:00:00.119883: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 16:00:00.120768: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 16:00:00.121021: Predbat mode is set to Control charge & discharge
2026-08-15 16:00:00.367090: Found 21602 load_today datapoints going back 28 days
2026-08-15 16:00:00.367291: Using load_power data to fill gaps in load_today data
2026-08-15 16:00:01.280256: Processing 721 30-minute periods for power integration
2026-08-15 16:00:01.477812: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 16:00:01.477960: Car charging hold False, threshold 6.0kWh
2026-08-15 16:00:01.478011: Current data so far today: load 8.53kWh, import 26.9kWh, export 0.0kWh, PV 0kWh
2026-08-15 16:00:01.498413: Cars: SoC: [11.134]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 16:00:01.499135: Standing charge is set to 49.98p
2026-08-15 16:00:01.554650: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 16:00:01.554773: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 16:00:01.555053: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 320.0 minutes
2026-08-15 16:00:01.555573: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 320.0 minutes
2026-08-15 16:00:01.561524: Loaded 95 datapoints of futurerate analysis
2026-08-15 16:00:01.785628: Predicted future rates: ['08-15 00:00:00 => 28.69 / 20.01', '08-15 01:00:00 => 27.33 / 19.31', '08-15 02:00:00 => 26.31 / 18.8', '08-15 03:00:00 => 25.78 / 18.53', '08-15 04:00:00 => 25.59 / 18.43', '08-15 05:00:00 => 25.75 / 18.51', '08-15 06:00:00 => 25.34 / 18.3', '08-15 07:00:00 => 24.12 / 17.68', '08-15 08:00:00 => 22.82 / 17.01', '08-15 09:00:00 => 21.84 / 16.51', '08-15 10:00:00 => 20.22 / 15.68', '08-15 11:00:00 => 17.8 / 14.45', '08-15 12:00:00 => 16.16 / 13.61', '08-15 13:00:00 => 15.55 / 13.3', '08-15 14:00:00 => 15.14 / 13.09', '08-15 15:00:00 => 15.65 / 13.35', '08-15 16:00:00 => 32.68 / 16.13', '08-15 17:00:00 => 37.81 / 18.75', '08-15 18:00:00 => 42.15 / 20.96', '08-15 19:00:00 => 30.88 / 21.13', '08-15 20:00:00 => 31.43 / 21.41', '08-15 21:00:00 => 31.43 / 21.41', '08-15 22:00:00 => 30.37 / 20.87', '08-15 23:00:00 => 29.16 / 20.25', '08-16 00:00:00 => 28.62 / 19.97', '08-16 01:00:00 => 27.52 / 19.41', '08-16 02:00:00 => 26.55 / 18.92', '08-16 03:00:00 => 26.18 / 18.73', '08-16 04:00:00 => 26.12 / 18.7', '08-16 05:00:00 => 26.02 / 18.65', '08-16 06:00:00 => 25.78 / 18.53', '08-16 07:00:00 => 25.43 / 18.35', '08-16 08:00:00 => 24.63 / 17.94', '08-16 09:00:00 => 24.05 / 17.64', '08-16 10:00:00 => 24.59 / 17.92', '08-16 11:00:00 => 24.5 / 17.87', '08-16 12:00:00 => 23.58 / 17.4', '08-16 13:00:00 => 22.93 / 17.07', '08-16 14:00:00 => 21.8 / 16.49', '08-16 15:00:00 => 21.8 / 16.49']
2026-08-15 16:00:01.841793: Rate min forward looking: now 21.41p at end of forecast 21.41p
2026-08-15 16:00:01.842311: Import rates: min 21.41p, max 45.28p, average 28.29p
2026-08-15 16:00:01.892228: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 16:00:01.892595: Rate thresholds (for charge/export) are import 44.78p (0.0p), export -0.1p (0.0p)
2026-08-15 16:00:01.894114: High export rate found rates in range 99p to -99p
2026-08-15 16:00:02.011055: Low Import rate found rates in range 21.41p to 44.34p
2026-08-15 16:00:02.011309: Car 0 charging is not planned as it is not plugged in
2026-08-15 16:00:02.038558: Battery level now 15.91kWh, -1hr ago 12.13kWh, at midnight 1.66kWh, battery value change in the last hour 69.6p, change today 262.21p, rate_forward 18.39p
2026-08-15 16:00:02.039213: Last hour: net energy 4.8kWh, import 4.8kWh, export 0.0kWh, car 0kWh, load 0.24kWh, net cost 74.01p, import 74.01p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 16:00:02.158567: Today's energy total net 26.9kWh, import 26.9kWh, export 0.0kWh, cost 547.95p, import 497.97p, export 0.0p, carbon 0.0kg
2026-08-15 16:00:02.158743: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 16:00:02.274335: Using weighted-bucket historical load forecast over 14 days
2026-08-15 16:00:02.310116: Today's load divergence 91.82%, in-day adjustment 109.41%, damping 0.95x, yesterday 143.77% today 92.23% blend 33.33%
2026-08-15 16:00:02.310251: Today's predicted so far 9.76kWh with 0.0kWh car/iBoost excluded, 20.22kWh import ignored, and 9.76kWh forecast extra.
2026-08-15 16:00:02.310309: Today's actual load so far 8.6kWh with 0.0kWh car/iBoost excluded, and 20.22kWh import ignored.
2026-08-15 16:00:02.378329: Inverter 0: Type SK Sunsynk
2026-08-15 16:00:02.378452: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 16:00:02.378710: Reserve min: 7%, battery_min: 7%
2026-08-15 16:00:02.378858: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 16:00:02.379243: Inverter 0 SoC: 15.91kW 99%, current charge rate 5000W, current discharge rate 5250W, current battery power -3764W, current battery voltage 51.2V, grid power -4357W, load power 227W, PV Power 0W
2026-08-15 16:00:02.379422: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as True == True
2026-08-15 16:00:02.379512: Inverter 0 scheduled charge enable is True
2026-08-15 16:00:02.379560: Inverter 0 charge windows currently [{'start': 2070, 'end': 2400, 'average': 0}, {'start': 3510, 'end': 3840, 'average': 0}]
2026-08-15 16:00:02.379664: Inverter 0 Charge settings: 08-16 10:30:00-08-16 16:00:00, limit 100.0%, power 5.0kW
2026-08-15 16:00:02.379808: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 16:00:02.380786: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 16:00:02.381268: Inverter 0 scheduled discharge enable is False
2026-08-15 16:00:02.381443: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 16:00:02.381491: Inverter 0 discharge windows currently []
2026-08-15 16:00:02.381528: Note: Inverter does not support discharge freeze - disabled
2026-08-15 16:00:02.381556: Note: Inverter does not support charge freeze - disabled
2026-08-15 16:00:02.381587: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 16:00:02.458003: Dynamic load last period 0.30kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 16:00:02.458188: Plan was last updated on 2026-08-15 15:55:00+01:00 and is now 5.0 minutes old
2026-08-15 16:00:02.458254: Current charge window has expired, removing it
2026-08-15 16:00:02.458422: Best charge window [ 16-08 16:00:00 - 16-08 18:30:00 @ 42.39p 100%, 16-08 19:00:00 - 17-08 16:00:00 @ 22.34p 100% ]
2026-08-15 16:00:02.458462: Best export window [  ]
2026-08-15 16:00:02.459568: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 16:00:02.464640: Load divergence over 8.0 hours mean 506.09W, min 295.8W, max 1633.8W, std dev 304.69W, divergence 30.1%
2026-08-15 16:00:02.484427: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 16:00:02.484590: LoadML is_calculating False
2026-08-15 16:00:02.484691: Creating pool of 12 processes to match your CPU count
2026-08-15 16:00:02.616177: predict base end_record 08-16 16:05:00, final soc 15.95kWh, metric 1026.08p, metric_keep 0kWh, min_soc 2.81kWh @ 08-16 10:25:00, load 24.85kWh, PV 0.0kWh
2026-08-15 16:00:02.777524: Battery has 48.0 hours left - now at 15.91kWh
2026-08-15 16:00:02.824641: predict base10 end_record 08-16 16:05:00, final soc 15.95kWh, metric 1042.61p, metric_keep 0kWh, min_soc 2.19kWh @ 08-16 10:25:00, load 25.63kWh, PV 0.0kWh
2026-08-15 16:00:02.905594: predict best10 end_record 08-16 16:05:00, final soc 1.44kWh, metric 686.85p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 11:35:00, load 25.63kWh, PV 0.0kWh
2026-08-15 16:00:02.981945: predict best end_record 08-16 16:05:00, final soc 1.51kWh, metric 671.25p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 12:15:00, load 24.85kWh, PV 0.0kWh
2026-08-15 16:00:02.982031: Saving plan best values to HA entities
2026-08-15 16:00:03.157511: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 16:00:03.164519: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0.0
2026-08-15 16:00:03.172129: Best charging limit SoC's [16.0, 16.0]kWh, export []kWh gives import battery 0.46kWh, house 2.51kWh, export 0.0kWh, metric 671.25p, metric10 686.85p
2026-08-15 16:00:03.255815: Marginal costs baseline metric (no standing charge): 621.2616
2026-08-15 16:00:03.479023: Marginal energy costs matrix computed: min=23.66 max=33.58
2026-08-15 16:00:03.571980: Rate array import [{'start': 960, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1410, 'rate': 'expensive', 'range': '(29.8p - 32.9p)'}, {'start': 1410, 'end': 2400, 'rate': 'cheap', 'range': '(21.4p - 28.2p)'}, {'start': 2400, 'end': 2405, 'rate': 'expensive', 'range': '(36.8p)'}] export [{'start': 960, 'end': 2405, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 16:00:03.574682: - Your estimated bill for today is £5.48 and tomorrow is £9.33
2026-08-15 16:00:03.574774: - Import rates are expensive (33.1p) for the next 1 hour and then very expensive (38.5p - 43.8p) for the next 2 hours.
2026-08-15 16:00:03.574800: - The battery is currently at 99% and is in eco mode for the next 24 hours.
2026-08-15 16:00:03.574818: - For the next 48 hours there will be no solar generation.
2026-08-15 16:00:03.574836: - You will run out of battery in 20 hours.
2026-08-15 16:00:03.574862: - Your next charge slot will be in 24 hours where import rates will be expensive (36.8p).
2026-08-15 16:00:03.574988: 
2026-08-15 16:00:03.624525: Plan calculation took 1.17 seconds
2026-08-15 16:00:03.631628: No high rate period found
2026-08-15 16:00:03.689276: Import threshold used for optimisation was 15.87p
2026-08-15 16:00:03.753537: Low import rate windows [0: 08-15 16:00:00 - 08-15 16:30:00 @ 33.13, 1: 08-15 16:30:00 - 08-15 17:00:00 @ 33.13, 2: 08-15 17:00:00 - 08-15 17:30:00 @ 38.46, 3: 08-15 17:30:00 - 08-15 18:00:00 @ 40.44, 4: 08-15 18:00:00 - 08-15 18:30:00 @ 41.55, 5: 08-15 18:30:00 - 08-15 19:00:00 @ 43.82, 6: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 7: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 8: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 9: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 10: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 11: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 12: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 13: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 14: 08-15 23:00:00 - 08-15 23:30:00 @ 30.02, 15: 08-15 23:30:00 - 08-16 00:00:00 @ 27.8, 16: 08-16 00:00:00 - 08-16 00:30:00 @ 28.18, 17: 08-16 00:30:00 - 08-16 01:00:00 @ 27.38, 18: 08-16 01:00:00 - 08-16 01:30:00 @ 26.7, 19: 08-16 01:30:00 - 08-16 02:00:00 @ 26.31, 20: 08-16 02:00:00 - 08-16 02:30:00 @ 25.79, 21: 08-16 02:30:00 - 08-16 03:00:00 @ 25.86, 22: 08-16 03:00:00 - 08-16 03:30:00 @ 26.13, 23: 08-16 03:30:00 - 08-16 04:00:00 @ 25.86, 24: 08-16 04:00:00 - 08-16 04:30:00 @ 26.27, 25: 08-16 04:30:00 - 08-16 05:00:00 @ 26.14, 26: 08-16 05:00:00 - 08-16 05:30:00 @ 27.03, 27: 08-16 05:30:00 - 08-16 06:00:00 @ 26.28, 28: 08-16 06:00:00 - 08-16 06:30:00 @ 25.68, 29: 08-16 06:30:00 - 08-16 07:00:00 @ 26.1, 30: 08-16 07:00:00 - 08-16 07:30:00 @ 24.28, 31: 08-16 07:30:00 - 08-16 08:00:00 @ 24.94, 32: 08-16 08:00:00 - 08-16 08:30:00 @ 24.06, 33: 08-16 08:30:00 - 08-16 09:00:00 @ 24.39, 34: 08-16 09:00:00 - 08-16 09:30:00 @ 24.66, 35: 08-16 09:30:00 - 08-16 10:00:00 @ 24.06, 36: 08-16 10:00:00 - 08-16 10:30:00 @ 25.5, 37: 08-16 10:30:00 - 08-16 11:00:00 @ 24.94, 38: 08-16 11:00:00 - 08-16 11:30:00 @ 24.25, 39: 08-16 11:30:00 - 08-16 12:00:00 @ 23.49, 40: 08-16 12:00:00 - 08-16 12:30:00 @ 23.43, 41: 08-16 12:30:00 - 08-16 13:00:00 @ 22.33, 42: 08-16 13:00:00 - 08-16 13:30:00 @ 22.76, 43: 08-16 13:30:00 - 08-16 14:00:00 @ 22.3, 44: 08-16 14:00:00 - 08-16 14:30:00 @ 21.41, 45: 08-16 14:30:00 - 08-16 15:00:00 @ 21.65, 46: 08-16 15:00:00 - 08-16 15:30:00 @ 22.95, 47: 08-16 15:30:00 - 08-16 16:00:00 @ 22.83, 48: 08-16 16:00:00 - 08-16 16:30:00 @ 36.84, 49: 08-16 16:30:00 - 08-16 17:00:00 @ 37.54, 50: 08-16 17:00:00 - 08-16 17:30:00 @ 41.79, 51: 08-16 17:30:00 - 08-16 18:00:00 @ 43.7, 52: 08-16 18:00:00 - 08-16 18:30:00 @ 44.34, 53: 08-16 19:00:00 - 08-16 19:30:00 @ 34.79, 54: 08-16 19:30:00 - 08-16 20:00:00 @ 34.76, 55: 08-16 20:00:00 - 08-16 20:30:00 @ 35.62, 56: 08-16 20:30:00 - 08-16 21:00:00 @ 35.3, 57: 08-16 21:00:00 - 08-16 21:30:00 @ 35.89, 58: 08-16 21:30:00 - 08-16 22:00:00 @ 35.71, 59: 08-16 22:00:00 - 08-16 22:30:00 @ 33.75, 60: 08-16 22:30:00 - 08-16 23:00:00 @ 32.0, 61: 08-16 23:00:00 - 08-16 23:30:00 @ 30.02, 62: 08-16 23:30:00 - 08-17 00:00:00 @ 27.8, 63: 08-17 00:00:00 - 08-17 00:30:00 @ 28.18, 64: 08-17 00:30:00 - 08-17 01:00:00 @ 27.38, 65: 08-17 01:00:00 - 08-17 01:30:00 @ 26.7, 66: 08-17 01:30:00 - 08-17 02:00:00 @ 26.31, 67: 08-17 02:00:00 - 08-17 02:30:00 @ 25.79, 68: 08-17 02:30:00 - 08-17 03:00:00 @ 25.86, 69: 08-17 03:00:00 - 08-17 03:30:00 @ 26.13, 70: 08-17 03:30:00 - 08-17 04:00:00 @ 25.86, 71: 08-17 04:00:00 - 08-17 04:30:00 @ 26.27, 72: 08-17 04:30:00 - 08-17 05:00:00 @ 26.14, 73: 08-17 05:00:00 - 08-17 05:30:00 @ 27.03, 74: 08-17 05:30:00 - 08-17 06:00:00 @ 26.28, 75: 08-17 06:00:00 - 08-17 06:30:00 @ 25.68, 76: 08-17 06:30:00 - 08-17 07:00:00 @ 26.1, 77: 08-17 07:00:00 - 08-17 07:30:00 @ 24.28, 78: 08-17 07:30:00 - 08-17 08:00:00 @ 24.94, 79: 08-17 08:00:00 - 08-17 08:30:00 @ 24.06, 80: 08-17 08:30:00 - 08-17 09:00:00 @ 24.39, 81: 08-17 09:00:00 - 08-17 09:30:00 @ 24.66, 82: 08-17 09:30:00 - 08-17 10:00:00 @ 24.06, 83: 08-17 10:00:00 - 08-17 10:30:00 @ 25.5, 84: 08-17 10:30:00 - 08-17 11:00:00 @ 24.94, 85: 08-17 11:00:00 - 08-17 11:30:00 @ 24.25, 86: 08-17 11:30:00 - 08-17 12:00:00 @ 23.49, 87: 08-17 12:00:00 - 08-17 12:30:00 @ 23.43, 88: 08-17 12:30:00 - 08-17 13:00:00 @ 22.33, 89: 08-17 13:00:00 - 08-17 13:30:00 @ 22.76, 90: 08-17 13:30:00 - 08-17 14:00:00 @ 22.3, 91: 08-17 14:00:00 - 08-17 14:30:00 @ 21.41, 92: 08-17 14:30:00 - 08-17 15:00:00 @ 21.65, 93: 08-17 15:00:00 - 08-17 15:30:00 @ 22.95, 94: 08-17 15:30:00 - 08-17 16:00:00 @ 22.83]
2026-08-15 16:00:03.761925: Inverter 0 Disabled charge window while waiting for schedule (now 08-15 16:00:00 target set_window_minutes 30 charge start time 08-16 16:00:00)
2026-08-15 16:00:03.762144: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 16:00:03.762534: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 16:00:08.770295: Inverter 0 Wrote scheduled_charge_enable to False successfully and got off
2026-08-15 16:00:08.770435: Inverter 0 Turning off scheduled charge
2026-08-15 16:00:08.770650: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 16:00:08.770893: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 16:00:13.778801: Inverter 0 write_and_poll_value: Wrote 00:00:00 to charge_start_time, successfully now 00:00:00
2026-08-15 16:00:18.787222: Inverter 0 write_and_poll_value: Wrote 00:00:00 to charge_end_time, successfully now 00:00:00
2026-08-15 16:00:18.787374: Inverter 0 Updated start and end charge window to 00:00:00 - 00:00:00 (old 10:30:00 - 16:00:00)
2026-08-15 16:00:18.787425: No export window planned
2026-08-15 16:00:18.787625: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 16:00:18.787674: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 16:00:18.787888: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 16:00:18.788126: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 16:00:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 16:00:18.788204: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 16:00:18.788283: Inverter 0 Current charge limit is 100% and new target is 7%
2026-08-15 16:00:23.794691: Inverter 0 write_and_poll_value: Wrote 7 to charge_limit, successfully now 7.0
2026-08-15 16:00:23.794923: Inverter 0 Calling service charge_stop_service domain charge service_name select/select_option with data {'entity_id': 'select.sunsynk_prog1_charge', 'option': 'Allow Gen'}
2026-08-15 16:00:23.829572: Inverter 0 Calling service charge_stop_service domain charge service_name select/select_option with data {'entity_id': 'select.sunsynk_prog2_charge', 'option': 'Allow Gen'}
2026-08-15 16:00:23.933863: Inverter 0 Calling service charge_stop_service domain charge service_name select/select_option with data {'entity_id': 'select.sunsynk_prog3_charge', 'option': 'Allow Gen'}
2026-08-15 16:00:23.938080: Inverter 0 Calling service charge_stop_service domain charge service_name select/select_option with data {'entity_id': 'select.sunsynk_prog4_charge', 'option': 'Allow Gen'}
2026-08-15 16:00:23.984028: Inverter 0 Calling service charge_stop_service domain charge service_name select/select_option with data {'entity_id': 'select.sunsynk_prog5_charge', 'option': 'Allow Gen'}
2026-08-15 16:00:24.027461: Inverter 0 Calling service charge_stop_service domain charge service_name select/select_option with data {'entity_id': 'select.sunsynk_prog6_charge', 'option': 'Allow Gen'}
2026-08-15 16:00:24.072362: Inverter 0 Calling service charge_stop_service domain charge service_name select/select_option with data {'entity_id': 'select.sunsynk_load_limit', 'option': 'Zero Export'}
2026-08-15 16:00:24.114684: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 16:00:24.114778: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 16:00:24.114813: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 16:00:24.114839: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 16:00:24.114864: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 16:00:24.114889: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 16:00:24.114912: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 16:00:24.114939: Inverter 0 count register writes 1
2026-08-15 16:00:24.134845: Will not recompute the plan, it is 5.0 minutes old and max age is 10 minutes
2026-08-15 16:00:24.140790: Total inverter register writes now 826
2026-08-15 16:00:24.171988: Info: Completed run status Demand
2026-08-15 16:00:24.432046: Info: record_status Demand
2026-08-15 16:00:24.439332: Saved current settings to /config/predbat_config.json
2026-08-15 16:00:24.439684: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 16:00:56.542677: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 16:00:56.542900: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 16:00:56.542936: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 16:00:56.543077: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 16:00:56.543153: Note: Inverter does not support discharge freeze - disabled
2026-08-15 16:00:56.543173: Note: Inverter does not support charge freeze - disabled
2026-08-15 16:00:56.543188: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 16:02:02.780167: Info: HAHistory: Pruning history data started.
2026-08-15 16:02:02.783402: Info: HAHistory: Pruning history data completed.
2026-08-15 16:02:39.008333: ML Component: Fetching 28 days of load history from ['sensor.sunsynk_day_load_energy']
2026-08-15 16:02:40.103227: Processing 1297 30-minute periods for power integration
2026-08-15 16:02:40.210492: ML Component: Car charging hold False, car energy reported load False
2026-08-15 16:02:40.309236: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 16:02:40.408391: ML Temperature data points: 48001
2026-08-15 16:02:40.675293: ML Component: Fetched 7776 load data points, 27.0 days of history
2026-08-15 16:02:40.718579: ML Component: Data fetch completed, load data age 57.0 days, 16457 data points
2026-08-15 16:02:40.718714: ML Component: No training needed, model age is 1.88 hours
2026-08-15 16:02:40.718779: ML Component: Generating predictions load data age 57.0 days, 16457 data points
2026-08-15 16:02:40.861522: ML Predictor: Starting autoregressive prediction loop for 576 steps (48.0 hours), prev_energy value 0.0244 max_dow {0: 0.10148124996256083, 1: 0.10722812486607582, 2: 0.11988124983031304, 3: 0.11477812442630529, 4: 0.1668593753574416, 5: 0.09790277780294418, 6: 0.10850624993629754}
2026-08-15 16:02:42.881134: ML Component: Generated 576 predictions (total 34.23 kWh over 48h)
2026-08-15 16:02:42.931351: ML Component: Prediction cycle completed
2026-08-15 16:02:43.059185: ML Component: Saved 16457 steps (57 days) of history to /config/predbat_ml_history.npz
2026-08-15 16:02:56.887063: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 16:02:56.887518: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 16:02:56.887556: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 16:02:56.887710: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 16:02:56.887749: Note: Inverter does not support discharge freeze - disabled
2026-08-15 16:02:56.887770: Note: Inverter does not support charge freeze - disabled
2026-08-15 16:02:56.887788: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 16:04:57.108566: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 16:04:57.108986: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 16:04:57.109054: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 16:04:57.109365: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 16:04:57.109426: Note: Inverter does not support discharge freeze - disabled
2026-08-15 16:04:57.109467: Note: Inverter does not support charge freeze - disabled
2026-08-15 16:04:57.109502: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 16:05:00.199759: --------------- PredBat - update at 2026-08-15 16:05:00+01:00 with clock skew 0 minutes, minutes now 965
2026-08-15 16:05:00.200588: Saved current settings to /config/predbat_config.json
2026-08-15 16:05:00.200715: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 105.0 minutes
2026-08-15 16:05:00.200825: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.2, latest beta is v8.48.2
2026-08-15 16:05:00.200989: Autoupdate: There is an update pending v8.48.2 PV90 and second pass enabled by default, bug fixes - auto update is off
2026-08-15 16:05:00.222469: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 16:05:00.222606: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 16:05:00.222771: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 16:05:00.223302: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 16:05:00.223424: Predbat mode is set to Control charge & discharge
2026-08-15 16:05:00.421796: Found 21602 load_today datapoints going back 27 days
2026-08-15 16:05:00.421980: Using load_power data to fill gaps in load_today data
2026-08-15 16:05:01.299680: Processing 721 30-minute periods for power integration
2026-08-15 16:05:01.495133: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 16:05:01.495305: Car charging hold False, threshold 6.0kWh
2026-08-15 16:05:01.495379: Current data so far today: load 8.55kWh, import 26.9kWh, export 0.0kWh, PV 0kWh
2026-08-15 16:05:01.513585: Cars: SoC: [10.548]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 16:05:01.514461: Standing charge is set to 49.98p
2026-08-15 16:05:01.563703: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 16:05:01.563810: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 16:05:01.564051: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 325.0 minutes
2026-08-15 16:05:01.564452: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 325.0 minutes
2026-08-15 16:05:01.570153: Loaded 95 datapoints of futurerate analysis
2026-08-15 16:05:01.770431: Predicted future rates: ['08-15 00:00:00 => 28.69 / 20.01', '08-15 01:00:00 => 27.33 / 19.31', '08-15 02:00:00 => 26.31 / 18.8', '08-15 03:00:00 => 25.78 / 18.53', '08-15 04:00:00 => 25.59 / 18.43', '08-15 05:00:00 => 25.75 / 18.51', '08-15 06:00:00 => 25.34 / 18.3', '08-15 07:00:00 => 24.12 / 17.68', '08-15 08:00:00 => 22.82 / 17.01', '08-15 09:00:00 => 21.84 / 16.51', '08-15 10:00:00 => 20.22 / 15.68', '08-15 11:00:00 => 17.8 / 14.45', '08-15 12:00:00 => 16.16 / 13.61', '08-15 13:00:00 => 15.55 / 13.3', '08-15 14:00:00 => 15.14 / 13.09', '08-15 15:00:00 => 15.65 / 13.35', '08-15 16:00:00 => 32.68 / 16.13', '08-15 17:00:00 => 37.81 / 18.75', '08-15 18:00:00 => 42.15 / 20.96', '08-15 19:00:00 => 30.88 / 21.13', '08-15 20:00:00 => 31.43 / 21.41', '08-15 21:00:00 => 31.43 / 21.41', '08-15 22:00:00 => 30.37 / 20.87', '08-15 23:00:00 => 29.16 / 20.25', '08-16 00:00:00 => 28.62 / 19.97', '08-16 01:00:00 => 27.52 / 19.41', '08-16 02:00:00 => 26.55 / 18.92', '08-16 03:00:00 => 26.18 / 18.73', '08-16 04:00:00 => 26.12 / 18.7', '08-16 05:00:00 => 26.02 / 18.65', '08-16 06:00:00 => 25.78 / 18.53', '08-16 07:00:00 => 25.43 / 18.35', '08-16 08:00:00 => 24.63 / 17.94', '08-16 09:00:00 => 24.05 / 17.64', '08-16 10:00:00 => 24.59 / 17.92', '08-16 11:00:00 => 24.5 / 17.87', '08-16 12:00:00 => 23.58 / 17.4', '08-16 13:00:00 => 22.93 / 17.07', '08-16 14:00:00 => 21.8 / 16.49', '08-16 15:00:00 => 21.8 / 16.49']
2026-08-15 16:05:01.816053: Rate min forward looking: now 21.41p at end of forecast 21.41p
2026-08-15 16:05:01.816433: Import rates: min 21.41p, max 45.28p, average 28.3p
2026-08-15 16:05:01.860125: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 16:05:01.860291: Rate thresholds (for charge/export) are import 44.78p (0.0p), export -0.1p (0.0p)
2026-08-15 16:05:01.861685: High export rate found rates in range 99p to -99p
2026-08-15 16:05:01.961942: Low Import rate found rates in range 21.41p to 44.34p
2026-08-15 16:05:01.962084: Car 0 charging is not planned as it is not plugged in
2026-08-15 16:05:01.977247: Battery level now 15.91kWh, -1hr ago 12.46kWh, at midnight 1.66kWh, battery value change in the last hour 63.42p, change today 262.21p, rate_forward 18.39p
2026-08-15 16:05:01.977699: Last hour: net energy 4.4kWh, import 4.4kWh, export 0.0kWh, car 0kWh, load 0.25kWh, net cost 68.01p, import 68.01p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 16:05:02.041793: Today's energy total net 26.9kWh, import 26.9kWh, export 0.0kWh, cost 547.95p, import 497.97p, export 0.0p, carbon 0.0kg
2026-08-15 16:05:02.041940: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 16:05:02.132492: Using weighted-bucket historical load forecast over 14 days
2026-08-15 16:05:02.163101: Today's load divergence 91.8%, in-day adjustment 109.22%, damping 0.95x, yesterday 143.77% today 92.21% blend 32.99%
2026-08-15 16:05:02.163227: Today's predicted so far 9.86kWh with 0.0kWh car/iBoost excluded, 20.31kWh import ignored, and 9.86kWh forecast extra.
2026-08-15 16:05:02.163263: Today's actual load so far 8.7kWh with 0.0kWh car/iBoost excluded, and 20.31kWh import ignored.
2026-08-15 16:05:02.199134: Inverter 0: Type SK Sunsynk
2026-08-15 16:05:02.199252: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 16:05:02.199445: Reserve min: 7%, battery_min: 7%
2026-08-15 16:05:02.199522: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 16:05:02.199783: Inverter 0 SoC: 16.0kW 100%, current charge rate 5000W, current discharge rate 5250W, current battery power 234W, current battery voltage 51.2V, grid power -54W, load power 298W, PV Power 0W
2026-08-15 16:05:02.199940: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 16:05:02.200029: Inverter 0 scheduled charge enable is False
2026-08-15 16:05:02.200058: Inverter 0 charge windows currently []
2026-08-15 16:05:02.200084: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 16:05:02.200190: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 16:05:02.200244: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 16:05:02.200281: Inverter 0 scheduled discharge enable is False
2026-08-15 16:05:02.200412: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 16:05:02.200449: Inverter 0 discharge windows currently []
2026-08-15 16:05:02.200470: Note: Inverter does not support discharge freeze - disabled
2026-08-15 16:05:02.200493: Note: Inverter does not support charge freeze - disabled
2026-08-15 16:05:02.200510: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 16:05:02.274102: Dynamic load last period 0.30kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 16:05:02.274239: Plan was last updated on 2026-08-15 15:55:00+01:00 and is now 10.0 minutes old
2026-08-15 16:05:02.274401: Best charge window [ 16-08 16:00:00 - 16-08 18:30:00 @ 42.39p 100%, 16-08 19:00:00 - 17-08 16:00:00 @ 22.34p 100% ]
2026-08-15 16:05:02.274441: Best export window [  ]
2026-08-15 16:05:02.275351: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 16:05:02.278636: Load divergence over 8.0 hours mean 501.2W, min 294.0W, max 1810.2W, std dev 282.59W, divergence 28.19%
2026-08-15 16:05:02.297307: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 16:05:02.297762: LoadML is_calculating False
2026-08-15 16:05:02.297851: Creating pool of 12 processes to match your CPU count
2026-08-15 16:05:02.427824: predict base end_record 08-16 16:10:00, final soc 1.12kWh, metric 653.83p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 12:25:00, load 24.85kWh, PV 0.0kWh
2026-08-15 16:05:02.583879: Battery has 20.33 hours left - now at 16.0kWh
2026-08-15 16:05:02.627823: predict base10 end_record 08-16 16:10:00, final soc 1.12kWh, metric 671.98p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 11:45:00, load 25.63kWh, PV 0.0kWh
2026-08-15 16:05:02.707553: predict best10 end_record 08-16 16:10:00, final soc 1.77kWh, metric 697.57p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 11:45:00, load 25.63kWh, PV 0.0kWh
2026-08-15 16:05:02.790099: predict best end_record 08-16 16:10:00, final soc 1.9kWh, metric 684.53p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 12:25:00, load 24.85kWh, PV 0.0kWh
2026-08-15 16:05:02.790250: Saving plan best values to HA entities
2026-08-15 16:05:02.978100: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 16:05:02.983840: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 16:05:02.989517: Best charging limit SoC's [16.0, 16.0]kWh, export []kWh gives import battery 0.92kWh, house 2.36kWh, export 0.0kWh, metric 684.53p, metric10 697.57p
2026-08-15 16:05:03.066792: Marginal costs baseline metric (no standing charge): 634.5473
2026-08-15 16:05:03.336146: Marginal energy costs matrix computed: min=23.52 max=33.15
2026-08-15 16:05:03.418181: Rate array import [{'start': 965, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1410, 'rate': 'expensive', 'range': '(29.8p - 32.9p)'}, {'start': 1410, 'end': 2400, 'rate': 'cheap', 'range': '(21.4p - 28.2p)'}, {'start': 2400, 'end': 2410, 'rate': 'expensive', 'range': '(36.8p)'}] export [{'start': 965, 'end': 2410, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 16:05:03.419077: - Your estimated bill for today is £5.48 and tomorrow is £9.28
2026-08-15 16:05:03.419123: - Import rates are expensive (33.1p) for the next 55 minutes and then very expensive (38.5p - 43.8p) for the next 2 hours.
2026-08-15 16:05:03.419146: - The battery is currently at 100% and is in eco mode for the next 23 hours.
2026-08-15 16:05:03.419163: - For the next 48 hours there will be no solar generation.
2026-08-15 16:05:03.419181: - You will run out of battery in 20 hours.
2026-08-15 16:05:03.419197: - Your next charge slot will be in 23 hours where import rates will be expensive (36.8p).
2026-08-15 16:05:03.419229: 
2026-08-15 16:05:03.475075: Plan calculation took 1.20 seconds
2026-08-15 16:05:03.481815: No high rate period found
2026-08-15 16:05:03.534363: Import threshold used for optimisation was 15.87p
2026-08-15 16:05:03.585911: Low import rate windows [0: 08-15 16:00:00 - 08-15 16:30:00 @ 33.13, 1: 08-15 16:30:00 - 08-15 17:00:00 @ 33.13, 2: 08-15 17:00:00 - 08-15 17:30:00 @ 38.46, 3: 08-15 17:30:00 - 08-15 18:00:00 @ 40.44, 4: 08-15 18:00:00 - 08-15 18:30:00 @ 41.55, 5: 08-15 18:30:00 - 08-15 19:00:00 @ 43.82, 6: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 7: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 8: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 9: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 10: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 11: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 12: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 13: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 14: 08-15 23:00:00 - 08-15 23:30:00 @ 30.02, 15: 08-15 23:30:00 - 08-16 00:00:00 @ 27.8, 16: 08-16 00:00:00 - 08-16 00:30:00 @ 28.18, 17: 08-16 00:30:00 - 08-16 01:00:00 @ 27.38, 18: 08-16 01:00:00 - 08-16 01:30:00 @ 26.7, 19: 08-16 01:30:00 - 08-16 02:00:00 @ 26.31, 20: 08-16 02:00:00 - 08-16 02:30:00 @ 25.79, 21: 08-16 02:30:00 - 08-16 03:00:00 @ 25.86, 22: 08-16 03:00:00 - 08-16 03:30:00 @ 26.13, 23: 08-16 03:30:00 - 08-16 04:00:00 @ 25.86, 24: 08-16 04:00:00 - 08-16 04:30:00 @ 26.27, 25: 08-16 04:30:00 - 08-16 05:00:00 @ 26.14, 26: 08-16 05:00:00 - 08-16 05:30:00 @ 27.03, 27: 08-16 05:30:00 - 08-16 06:00:00 @ 26.28, 28: 08-16 06:00:00 - 08-16 06:30:00 @ 25.68, 29: 08-16 06:30:00 - 08-16 07:00:00 @ 26.1, 30: 08-16 07:00:00 - 08-16 07:30:00 @ 24.28, 31: 08-16 07:30:00 - 08-16 08:00:00 @ 24.94, 32: 08-16 08:00:00 - 08-16 08:30:00 @ 24.06, 33: 08-16 08:30:00 - 08-16 09:00:00 @ 24.39, 34: 08-16 09:00:00 - 08-16 09:30:00 @ 24.66, 35: 08-16 09:30:00 - 08-16 10:00:00 @ 24.06, 36: 08-16 10:00:00 - 08-16 10:30:00 @ 25.5, 37: 08-16 10:30:00 - 08-16 11:00:00 @ 24.94, 38: 08-16 11:00:00 - 08-16 11:30:00 @ 24.25, 39: 08-16 11:30:00 - 08-16 12:00:00 @ 23.49, 40: 08-16 12:00:00 - 08-16 12:30:00 @ 23.43, 41: 08-16 12:30:00 - 08-16 13:00:00 @ 22.33, 42: 08-16 13:00:00 - 08-16 13:30:00 @ 22.76, 43: 08-16 13:30:00 - 08-16 14:00:00 @ 22.3, 44: 08-16 14:00:00 - 08-16 14:30:00 @ 21.41, 45: 08-16 14:30:00 - 08-16 15:00:00 @ 21.65, 46: 08-16 15:00:00 - 08-16 15:30:00 @ 22.95, 47: 08-16 15:30:00 - 08-16 16:00:00 @ 22.83, 48: 08-16 16:00:00 - 08-16 16:30:00 @ 36.84, 49: 08-16 16:30:00 - 08-16 17:00:00 @ 37.54, 50: 08-16 17:00:00 - 08-16 17:30:00 @ 41.79, 51: 08-16 17:30:00 - 08-16 18:00:00 @ 43.7, 52: 08-16 18:00:00 - 08-16 18:30:00 @ 44.34, 53: 08-16 19:00:00 - 08-16 19:30:00 @ 34.79, 54: 08-16 19:30:00 - 08-16 20:00:00 @ 34.76, 55: 08-16 20:00:00 - 08-16 20:30:00 @ 35.62, 56: 08-16 20:30:00 - 08-16 21:00:00 @ 35.3, 57: 08-16 21:00:00 - 08-16 21:30:00 @ 35.89, 58: 08-16 21:30:00 - 08-16 22:00:00 @ 35.71, 59: 08-16 22:00:00 - 08-16 22:30:00 @ 33.75, 60: 08-16 22:30:00 - 08-16 23:00:00 @ 32.0, 61: 08-16 23:00:00 - 08-16 23:30:00 @ 30.02, 62: 08-16 23:30:00 - 08-17 00:00:00 @ 27.8, 63: 08-17 00:00:00 - 08-17 00:30:00 @ 28.18, 64: 08-17 00:30:00 - 08-17 01:00:00 @ 27.38, 65: 08-17 01:00:00 - 08-17 01:30:00 @ 26.7, 66: 08-17 01:30:00 - 08-17 02:00:00 @ 26.31, 67: 08-17 02:00:00 - 08-17 02:30:00 @ 25.79, 68: 08-17 02:30:00 - 08-17 03:00:00 @ 25.86, 69: 08-17 03:00:00 - 08-17 03:30:00 @ 26.13, 70: 08-17 03:30:00 - 08-17 04:00:00 @ 25.86, 71: 08-17 04:00:00 - 08-17 04:30:00 @ 26.27, 72: 08-17 04:30:00 - 08-17 05:00:00 @ 26.14, 73: 08-17 05:00:00 - 08-17 05:30:00 @ 27.03, 74: 08-17 05:30:00 - 08-17 06:00:00 @ 26.28, 75: 08-17 06:00:00 - 08-17 06:30:00 @ 25.68, 76: 08-17 06:30:00 - 08-17 07:00:00 @ 26.1, 77: 08-17 07:00:00 - 08-17 07:30:00 @ 24.28, 78: 08-17 07:30:00 - 08-17 08:00:00 @ 24.94, 79: 08-17 08:00:00 - 08-17 08:30:00 @ 24.06, 80: 08-17 08:30:00 - 08-17 09:00:00 @ 24.39, 81: 08-17 09:00:00 - 08-17 09:30:00 @ 24.66, 82: 08-17 09:30:00 - 08-17 10:00:00 @ 24.06, 83: 08-17 10:00:00 - 08-17 10:30:00 @ 25.5, 84: 08-17 10:30:00 - 08-17 11:00:00 @ 24.94, 85: 08-17 11:00:00 - 08-17 11:30:00 @ 24.25, 86: 08-17 11:30:00 - 08-17 12:00:00 @ 23.49, 87: 08-17 12:00:00 - 08-17 12:30:00 @ 23.43, 88: 08-17 12:30:00 - 08-17 13:00:00 @ 22.33, 89: 08-17 13:00:00 - 08-17 13:30:00 @ 22.76, 90: 08-17 13:30:00 - 08-17 14:00:00 @ 22.3, 91: 08-17 14:00:00 - 08-17 14:30:00 @ 21.41, 92: 08-17 14:30:00 - 08-17 15:00:00 @ 21.65, 93: 08-17 15:00:00 - 08-17 15:30:00 @ 22.95, 94: 08-17 15:30:00 - 08-17 16:00:00 @ 22.83, 95: 08-17 16:00:00 - 08-17 16:30:00 @ 36.84]
2026-08-15 16:05:03.594378: Inverter 0 Charge window will be: 2026-08-16 16:00:00+01:00 - 2026-08-16 18:30:00+01:00 - current SoC 100%, target 100%
2026-08-15 16:05:03.594528: Inverter 0 disabled charge window while waiting for schedule (now 08-15 16:05:00 target set_window_minutes 30 charge start time 08-16 16:00:00) original inverter start time 08-17 00:00:00
2026-08-15 16:05:03.594663: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 16:05:03.594926: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 16:05:03.595017: No export window planned
2026-08-15 16:05:03.595136: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 16:05:03.595173: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 16:05:03.595325: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 16:05:03.595510: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 16:05:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 16:05:03.595574: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 16:05:03.595639: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 16:05:03.595736: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 16:05:03.595779: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 16:05:03.595812: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 16:05:03.595890: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 16:05:03.595955: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 16:05:03.595993: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 16:05:03.596023: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 16:05:03.596101: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 16:05:03.596141: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 16:05:03.596168: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 16:05:03.596192: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 16:05:03.596237: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 16:05:03.596271: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 16:05:03.596296: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 16:05:03.596320: Inverter 0 count register writes 0
2026-08-15 16:05:03.615290: Will recompute the plan as it is now 10.0 minutes old and will exceed the max age of 10 minutes before the next run
2026-08-15 16:05:03.615461: Recompute is saving previous plan...
2026-08-15 16:05:03.618599: Best charge window [ 15-08 16:00:00 - 15-08 16:30:00 @ 33.13p 0%, 15-08 16:30:00 - 15-08 17:00:00 @ 33.13p 0%, 15-08 17:00:00 - 15-08 17:30:00 @ 38.46p 0%, 15-08 17:30:00 - 15-08 18:00:00 @ 40.44p 0%, 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 0%, 15-08 18:30:00 - 15-08 19:00:00 @ 43.82p 0%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 0%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 0%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 0%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 0%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 30.02p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 27.8p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.18p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.38p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 26.7p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.31p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.79p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 25.86p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.13p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 25.86p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.27p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.14p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 27.03p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.28p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.68p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 26.1p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 24.28p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 24.94p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.06p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.39p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.66p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.06p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 25.5p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 24.94p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 24.25p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 23.49p 0%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.43p 0%, 16-08 12:30:00 - 16-08 13:00:00 @ 22.33p 0%, 16-08 13:00:00 - 16-08 13:30:00 @ 22.76p 0%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 0%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 0%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.65p 0%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.95p 0%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.83p 0%, 16-08 16:00:00 - 16-08 16:30:00 @ 36.84p 0%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.54p 0%, 16-08 17:00:00 - 16-08 17:30:00 @ 41.79p 0%, 16-08 17:30:00 - 16-08 18:00:00 @ 43.7p 0%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.34p 0%, 16-08 19:00:00 - 16-08 19:30:00 @ 34.79p 0%, 16-08 19:30:00 - 16-08 20:00:00 @ 34.76p 0%, 16-08 20:00:00 - 16-08 20:30:00 @ 35.62p 0%, 16-08 20:30:00 - 16-08 21:00:00 @ 35.3p 0%, 16-08 21:00:00 - 16-08 21:30:00 @ 35.89p 0%, 16-08 21:30:00 - 16-08 22:00:00 @ 35.71p 0%, 16-08 22:00:00 - 16-08 22:30:00 @ 33.75p 0%, 16-08 22:30:00 - 16-08 23:00:00 @ 32.0p 0%, 16-08 23:00:00 - 16-08 23:30:00 @ 30.02p 0%, 16-08 23:30:00 - 17-08 00:00:00 @ 27.8p 0%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.18p 0%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.38p 0%, 17-08 01:00:00 - 17-08 01:30:00 @ 26.7p 0%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.31p 0%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.79p 0%, 17-08 02:30:00 - 17-08 03:00:00 @ 25.86p 0%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.13p 0%, 17-08 03:30:00 - 17-08 04:00:00 @ 25.86p 0%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.27p 0%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.14p 0%, 17-08 05:00:00 - 17-08 05:30:00 @ 27.03p 0%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.28p 0%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.68p 0%, 17-08 06:30:00 - 17-08 07:00:00 @ 26.1p 0%, 17-08 07:00:00 - 17-08 07:30:00 @ 24.28p 0%, 17-08 07:30:00 - 17-08 08:00:00 @ 24.94p 0%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.06p 0%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.39p 0%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.66p 0%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.06p 0%, 17-08 10:00:00 - 17-08 10:30:00 @ 25.5p 0%, 17-08 10:30:00 - 17-08 11:00:00 @ 24.94p 0%, 17-08 11:00:00 - 17-08 11:30:00 @ 24.25p 0%, 17-08 11:30:00 - 17-08 12:00:00 @ 23.49p 0%, 17-08 12:00:00 - 17-08 12:30:00 @ 23.43p 0%, 17-08 12:30:00 - 17-08 13:00:00 @ 22.33p 0%, 17-08 13:00:00 - 17-08 13:30:00 @ 22.76p 0%, 17-08 13:30:00 - 17-08 14:00:00 @ 22.3p 0%, 17-08 14:00:00 - 17-08 14:30:00 @ 21.41p 0%, 17-08 14:30:00 - 17-08 15:00:00 @ 21.65p 0%, 17-08 15:00:00 - 17-08 15:30:00 @ 22.95p 0%, 17-08 15:30:00 - 17-08 16:00:00 @ 22.83p 0%, 17-08 16:00:00 - 17-08 16:30:00 @ 36.84p 0% ]
2026-08-15 16:05:03.618686: Best export window [  ]
2026-08-15 16:05:03.619542: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 16:05:03.622691: Load divergence over 8.0 hours mean 501.2W, min 294.0W, max 1810.2W, std dev 282.59W, divergence 28.19%
2026-08-15 16:05:03.639642: Calculating data from yesterday for savings calculation
2026-08-15 16:05:03.652836: Yesterday basic charge window best: [{'start': 840, 'end': 870, 'average': 21.7}] charge limit best: [16.0] based on max charge slots 1
2026-08-15 16:05:03.700231: predict yesterday end_record 08-16 00:00:00, final soc 1.12kWh, metric 843.63p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 00:00:00, load 26.2kWh, PV 0.0kWh
2026-08-15 16:05:03.714547: predict yesterday10 end_record 08-16 00:00:00, final soc 1.12kWh, metric 847.91p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 00:00:00, load 26.2kWh, PV 0.0kWh
2026-08-15 16:05:03.733563: predict yesterday end_record 08-16 00:00:00, final soc 1.12kWh, metric 843.63p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 00:00:00, load 26.2kWh, PV 0.0kWh
2026-08-15 16:05:03.773355: Yesterday: Predbat disabled was £8.44 (adjusted £8.23) vs £7.38 (adjusted £7.05), saving £1.05 (adjusted £1.18) with import 26.54kWh, export 0.0kWh, battery_cycle 4.66kWh, start_soc 1.12kWh,  final_soc 1.12kWh and battery_value 20.6kWh
2026-08-15 16:05:03.855177: predict yesterday end_record 08-16 00:00:00, final soc 0.0kWh, metric 849.84p, metric_keep 0kWh, min_soc 0kWh @ 08-15 00:00:00, load 26.2kWh, PV 0.0kWh
2026-08-15 16:05:03.855367: Yesterday: No Battery/PV system cost predicted was £8.5 (adjusted £8.5) vs £7.38 (adjusted £7.05), saving £1.12 (adjusted £1.45) with import 26.2kWh, export 0kWh and battery_value 0.0kWh
2026-08-15 16:05:03.867546: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 16:05:03.867663: LoadML is_calculating False
2026-08-15 16:05:03.867738: Creating pool of 12 processes to match your CPU count
2026-08-15 16:05:03.969954: Calculate Best options: mode(Control charge & discharge), calculate_export_oncharge(False), calculate_export_on_pv(True), set_export_freeze_only(False), set_discharge_during_charge(True), combine_charge_slots(False), combine_export_slots(False), combine_rate_threshold(0.0), best_soc_min(0.0 kWh), best_soc_max(0.0 kWh), best_soc_keep(0.0 kWh), inverter_loss(4%), battery_loss(3%), battery_loss_discharge (3%), inverter_hybrid(True), metric_min_improvement(0.0p), metric_min_improvement_export(0.1p), metric_min_improvement_export_freeze(0.1p), metric_battery_cycle(0.0p/kWh), metric_battery_value_scaling(1.0 x) 
2026-08-15 16:05:03.972179: Optimise levels pass started at 2026-08-15 16:05:03
2026-08-15 16:05:03.972268: Optimise all windows, total charge 95 export 1
2026-08-15 16:05:04.970147: >> Region optimisation pass width 960 gives best_metric 979.44p, best_cost 994.33p, best_cycle 37.2kWh, best_import 19.78kWh
2026-08-15 16:05:05.344783: >> Region optimisation pass width 480 gives best_metric 979.44p, best_cost 994.33p, best_cycle 37.2kWh, best_import 19.78kWh
2026-08-15 16:05:05.919718: >> Region optimisation pass width 240 gives best_metric 979.44p, best_cost 994.33p, best_cycle 37.2kWh, best_import 19.78kWh
2026-08-15 16:05:07.104239: >> Region optimisation pass width 120 gives best_metric 979.44p, best_cost 994.33p, best_cycle 37.2kWh, best_import 19.78kWh
2026-08-15 16:05:07.104608: Calculated end_record as 08-17 12:30:00 based on best_price 22.76p, next_charge_start 08-16 12:30:00, max_windows 88
2026-08-15 16:05:07.104706: Optimise levels pass ended at 2026-08-15 16:05:07, duration 3.1 seconds tried 294 combinations
2026-08-15 16:05:07.104799: Set best_price_charge_level 24.4p, best_price_export_level 0p, best_price_charge 22.76p, best_cost_export 0p, best_metric 979.44p, best_keep 0kWh, best_cycle 37.2kWh, best_carbon 0kg, best_import 19.78kWh
2026-08-15 16:05:07.130431: Starting detailed optimisation end_record 08-17 12:30:00, best_price_charge 22.76p, best_price_export 0p. lowest_price_charge 21.41p with charge limits [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12.5, 12.5, 12.5, 12.5, 12.5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0]kWh and export limits []kWh
2026-08-15 16:05:13.397403: Tweak plan optimisation started metric 920.05p, cost 935.04p
2026-08-15 16:05:13.638176: Tweak optimisation finished metric 920.05p, cost 935.04p, metric_keep 0kWh, cycle 31.82kWh, carbon 0kg, import 17.01kWh, changed 8 window(s)
2026-08-15 16:05:13.659998: Swap charge optimisation started metric 920.05p, cost 935.04p, min_improvement_swap 0.1p
2026-08-15 16:05:21.429160: Swap charge optimisation finished metric 920.05p, cost 935.04p
2026-08-15 16:05:21.558841: Pruned 2 dead plan slot(s) in 13 trial(s), nominal metric 914.44p -> 914.43p, plan now metric 920.18p, cost 935.03p, cycle 31.82kWh, import 17.01kWh
2026-08-15 16:05:21.568568: Raw charge windows [ 15-08 16:00:00 - 15-08 16:30:00 @ 33.13p 0%, 15-08 16:30:00 - 15-08 17:00:00 @ 33.13p 0%, 15-08 17:00:00 - 15-08 17:30:00 @ 38.46p 0%, 15-08 17:30:00 - 15-08 18:00:00 @ 40.44p 0%, 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 0%, 15-08 18:30:00 - 15-08 19:00:00 @ 43.82p 0%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 0%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 0%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 0%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 0%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 30.02p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 27.8p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.18p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.38p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 26.7p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.31p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.79p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 25.86p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.13p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 25.86p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.27p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.14p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 27.03p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.28p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.68p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 26.1p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 24.28p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 24.94p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.06p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.39p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.66p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.06p 22%, 16-08 10:00:00 - 16-08 10:30:00 @ 25.5p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 24.94p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 24.25p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 23.49p 13%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.43p 13%, 16-08 12:30:00 - 16-08 13:00:00 @ 22.33p 22%, 16-08 13:00:00 - 16-08 13:30:00 @ 22.76p 22%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 100%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 78%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.65p 78%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.95p 66%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.83p 69%, 16-08 16:00:00 - 16-08 16:30:00 @ 36.84p 0%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.54p 0%, 16-08 17:00:00 - 16-08 17:30:00 @ 41.79p 0%, 16-08 17:30:00 - 16-08 18:00:00 @ 43.7p 0%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.34p 0%, 16-08 19:00:00 - 16-08 19:30:00 @ 34.79p 0%, 16-08 19:30:00 - 16-08 20:00:00 @ 34.76p 0%, 16-08 20:00:00 - 16-08 20:30:00 @ 35.62p 0%, 16-08 20:30:00 - 16-08 21:00:00 @ 35.3p 0%, 16-08 21:00:00 - 16-08 21:30:00 @ 35.89p 0%, 16-08 21:30:00 - 16-08 22:00:00 @ 35.71p 0%, 16-08 22:00:00 - 16-08 22:30:00 @ 33.75p 0%, 16-08 22:30:00 - 16-08 23:00:00 @ 32.0p 0%, 16-08 23:00:00 - 16-08 23:30:00 @ 30.02p 0%, 16-08 23:30:00 - 17-08 00:00:00 @ 27.8p 0%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.18p 0%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.38p 0%, 17-08 01:00:00 - 17-08 01:30:00 @ 26.7p 0%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.31p 0%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.79p 19%, 17-08 02:30:00 - 17-08 03:00:00 @ 25.86p 0%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.13p 0%, 17-08 03:30:00 - 17-08 04:00:00 @ 25.86p 0%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.27p 0%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.14p 0%, 17-08 05:00:00 - 17-08 05:30:00 @ 27.03p 0%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.28p 0%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.68p 0%, 17-08 06:30:00 - 17-08 07:00:00 @ 26.1p 0%, 17-08 07:00:00 - 17-08 07:30:00 @ 24.28p 0%, 17-08 07:30:00 - 17-08 08:00:00 @ 24.94p 0%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.06p 0%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.39p 0%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.66p 0%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.06p 0%, 17-08 10:00:00 - 17-08 10:30:00 @ 25.5p 0%, 17-08 10:30:00 - 17-08 11:00:00 @ 24.94p 0%, 17-08 11:00:00 - 17-08 11:30:00 @ 24.25p 0%, 17-08 11:30:00 - 17-08 12:00:00 @ 23.49p 0%, 17-08 12:00:00 - 17-08 12:30:00 @ 23.43p 0%, 17-08 12:30:00 - 17-08 13:00:00 @ 22.33p 100%, 17-08 13:00:00 - 17-08 13:30:00 @ 22.76p 100%, 17-08 13:30:00 - 17-08 14:00:00 @ 22.3p 100%, 17-08 14:00:00 - 17-08 14:30:00 @ 21.41p 100%, 17-08 14:30:00 - 17-08 15:00:00 @ 21.65p 100%, 17-08 15:00:00 - 17-08 15:30:00 @ 22.95p 100%, 17-08 15:30:00 - 17-08 16:00:00 @ 22.83p 100%, 17-08 16:00:00 - 17-08 16:30:00 @ 36.84p 100% ] reserve 1.12
2026-08-15 16:05:21.569151: Unclipped charge windows [ 16-08 09:30:00 - 16-08 10:00:00 @ 24.06p 22%, 16-08 11:30:00 - 16-08 12:30:00 @ 23.46p 13%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 22%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 100%, 16-08 14:00:00 - 16-08 15:00:00 @ 21.53p 78%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.95p 66%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.83p 69%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.79p 19%, 17-08 12:30:00 - 17-08 16:30:00 @ 29.72p 100% ] reserve 1.12
2026-08-15 16:05:21.569481: Unfiltered charge windows [ 16-08 09:30:00 - 16-08 10:00:00 @ 24.06p 22%, 16-08 11:30:00 - 16-08 12:30:00 @ 23.46p 13%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 22%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 100%, 16-08 14:00:00 - 16-08 15:00:00 @ 21.53p 100%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.95p 66%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.83p 69%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.79p 19%, 17-08 12:30:00 - 17-08 16:30:00 @ 29.72p 100% ] reserve 1.12
2026-08-15 16:05:21.569719: Filtered charge windows [ 16-08 09:30:00 - 16-08 10:00:00 @ 24.06p 22%, 16-08 11:30:00 - 16-08 12:30:00 @ 23.46p 13%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 22%, 16-08 13:30:00 - 16-08 15:00:00 @ 21.91p 100%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.95p 66%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.83p 69%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.79p 19%, 17-08 12:30:00 - 17-08 16:30:00 @ 29.72p 100% ] reserve 1.12
2026-08-15 16:05:21.599345: Previous plan best metric is 1338.88 (cost 1629.3) and new plan best metric is 920.05 (cost 935.04)
2026-08-15 16:05:21.599539: New plan metric is significantly better from previous plan, using new plan
2026-08-15 16:05:21.599572: Plan valid is now true after recompute was False
2026-08-15 16:05:21.622933: predict base end_record 08-17 12:30:00, final soc 1.12kWh, metric 1099.49p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 12:25:00, load 38.18kWh, PV 0.0kWh
2026-08-15 16:05:21.727709: Battery has 20.33 hours left - now at 16.0kWh
2026-08-15 16:05:21.762289: predict base10 end_record 08-17 12:30:00, final soc 1.12kWh, metric 1136.47p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 11:45:00, load 39.59kWh, PV 0.0kWh
2026-08-15 16:05:21.834861: predict best10 end_record 08-17 12:30:00, final soc 1.12kWh, metric 1073.31p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 05:15:00, load 39.59kWh, PV 0.0kWh
2026-08-15 16:05:21.912193: predict best end_record 08-17 12:30:00, final soc 1.12kWh, metric 1035.0p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 06:00:00, load 38.18kWh, PV 0.0kWh
2026-08-15 16:05:21.912300: Saving plan best values to HA entities
2026-08-15 16:05:22.070718: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 16:05:22.076417: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 16:05:22.081892: Best charging limit SoC's [3.5, 2.0, 3.5, 16.0, 10.5, 11.0, 3.0, 16.0]kWh, export []kWh gives import battery 13.18kWh, house 3.83kWh, export 0.0kWh, metric 1035.0p, metric10 1073.31p
2026-08-15 16:05:22.164685: Marginal costs baseline metric (no standing charge): 935.0314
2026-08-15 16:05:22.447683: Marginal energy costs matrix computed: min=26.18 max=34.12
2026-08-15 16:05:22.536107: Rate array import [{'start': 965, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1410, 'rate': 'expensive', 'range': '(29.8p - 32.9p)'}, {'start': 1410, 'end': 2400, 'rate': 'cheap', 'range': '(21.4p - 28.2p)'}, {'start': 2400, 'end': 2430, 'rate': 'expensive', 'range': '(36.8p)'}, {'start': 2430, 'end': 2580, 'rate': 'very expensive', 'range': '(37.5p - 45.3p)'}, {'start': 2580, 'end': 2850, 'rate': 'expensive', 'range': '(30.0p - 35.9p)'}, {'start': 2850, 'end': 3630, 'rate': 'cheap', 'range': '(23.4p - 28.2p)'}] export [{'start': 965, 'end': 3630, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 16:05:22.537023: - Your estimated bill for today is £5.48 and tomorrow is £3.34
2026-08-15 16:05:22.537087: - Import rates are expensive (33.1p) for the next 55 minutes and then very expensive (38.5p - 43.8p) for the next 2 hours.
2026-08-15 16:05:22.537129: - The battery is currently at 100% and is in eco mode for the next 17 hours.
2026-08-15 16:05:22.537165: - For the next 48 hours there will be no solar generation.
2026-08-15 16:05:22.537203: - You will run out of battery in 37 hours.
2026-08-15 16:05:22.537262: - Your next charge slot will be in 17 hours where import rates will be cheap (24.1p).
2026-08-15 16:05:22.537299: 
2026-08-15 16:05:22.603409: Plan calculation took 18.99 seconds
2026-08-15 16:05:22.603928: Inverter 0: Type SK Sunsynk
2026-08-15 16:05:22.603997: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 16:05:22.604374: Reserve min: 7%, battery_min: 7%
2026-08-15 16:05:22.604464: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 16:05:22.604750: Inverter 0 SoC: 16.0kW 100%, current charge rate 5000W, current discharge rate 5250W, current battery power 231W, current battery voltage 51.2V, grid power -55W, load power 298W, PV Power 0W
2026-08-15 16:05:22.605024: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 16:05:22.605129: Inverter 0 scheduled charge enable is False
2026-08-15 16:05:22.605158: Inverter 0 charge windows currently []
2026-08-15 16:05:22.605183: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 16:05:22.605294: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 16:05:22.605327: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 16:05:22.605358: Inverter 0 scheduled discharge enable is False
2026-08-15 16:05:22.605470: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 16:05:22.605502: Inverter 0 discharge windows currently []
2026-08-15 16:05:22.605520: Note: Inverter does not support discharge freeze - disabled
2026-08-15 16:05:22.605535: Note: Inverter does not support charge freeze - disabled
2026-08-15 16:05:22.605549: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 16:05:22.660579: Inverter 0 Charge window will be: 2026-08-16 09:30:00+01:00 - 2026-08-16 10:00:00+01:00 - current SoC 100%, target 22%
2026-08-15 16:05:22.660710: Inverter 0 disabled charge window while waiting for schedule (now 08-15 16:05:00 target set_window_minutes 30 charge start time 08-16 09:30:00) original inverter start time 08-17 00:00:00
2026-08-15 16:05:22.660770: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 16:05:22.660920: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 16:05:22.661022: No export window planned
2026-08-15 16:05:22.661119: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 16:05:22.661169: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 16:05:22.661303: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 16:05:22.661443: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 16:05:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 16:05:22.661487: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 16:05:22.661529: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 16:05:22.661601: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 16:05:22.661637: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 16:05:22.661661: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 16:05:22.661712: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 16:05:22.661733: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 16:05:22.661753: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 16:05:22.661781: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 16:05:22.661827: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 16:05:22.661850: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 16:05:22.661875: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 16:05:22.661899: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 16:05:22.661919: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 16:05:22.661937: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 16:05:22.661959: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 16:05:22.661983: Inverter 0 count register writes 0
2026-08-15 16:05:22.680384: Total inverter register writes now 826
2026-08-15 16:05:22.711423: Info: Completed run status Demand
2026-08-15 16:05:22.717470: Info: record_status Demand
2026-08-15 16:05:22.724471: Saved current settings to /config/predbat_config.json
2026-08-15 16:05:22.724779: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 16:05:56.829709: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 16:05:56.829952: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 16:05:56.830008: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 16:05:56.830172: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 16:05:56.830212: Note: Inverter does not support discharge freeze - disabled
2026-08-15 16:05:56.830248: Note: Inverter does not support charge freeze - disabled
2026-08-15 16:05:56.830272: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 16:07:57.053338: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 16:07:57.053582: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 16:07:57.053647: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 16:07:57.053788: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 16:07:57.053829: Note: Inverter does not support discharge freeze - disabled
2026-08-15 16:07:57.053850: Note: Inverter does not support charge freeze - disabled
2026-08-15 16:07:57.053889: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 16:09:57.287139: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 16:09:57.287525: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 16:09:57.287615: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 16:09:57.287759: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 16:09:57.287799: Note: Inverter does not support discharge freeze - disabled
2026-08-15 16:09:57.287825: Note: Inverter does not support charge freeze - disabled
2026-08-15 16:09:57.287843: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 16:10:00.368078: --------------- PredBat - update at 2026-08-15 16:10:00+01:00 with clock skew 0 minutes, minutes now 970
2026-08-15 16:10:00.368833: Saved current settings to /config/predbat_config.json
2026-08-15 16:10:00.369044: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 110.0 minutes
2026-08-15 16:10:00.369194: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.2, latest beta is v8.48.2
2026-08-15 16:10:00.369297: Autoupdate: There is an update pending v8.48.2 PV90 and second pass enabled by default, bug fixes - auto update is off
2026-08-15 16:10:00.389650: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 16:10:00.389811: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 16:10:00.390025: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 16:10:00.390710: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 16:10:00.390837: Predbat mode is set to Control charge & discharge
2026-08-15 16:10:00.592020: Found 21602 load_today datapoints going back 28 days
2026-08-15 16:10:00.592184: Using load_power data to fill gaps in load_today data
2026-08-15 16:10:01.524002: Processing 721 30-minute periods for power integration
2026-08-15 16:10:01.717524: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 16:10:01.717669: Car charging hold False, threshold 6.0kWh
2026-08-15 16:10:01.717715: Current data so far today: load 8.5kWh, import 27.5kWh, export 0.0kWh, PV 0kWh
2026-08-15 16:10:01.736524: Cars: SoC: [10.548]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 16:10:01.737067: Standing charge is set to 49.98p
2026-08-15 16:10:01.786583: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 16:10:01.786705: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 16:10:01.786975: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 330.0 minutes
2026-08-15 16:10:01.787466: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 330.0 minutes
2026-08-15 16:10:01.793606: Loaded 95 datapoints of futurerate analysis
2026-08-15 16:10:01.943141: Predicted future rates: ['08-15 00:00:00 => 28.69 / 20.01', '08-15 01:00:00 => 27.33 / 19.31', '08-15 02:00:00 => 26.31 / 18.8', '08-15 03:00:00 => 25.78 / 18.53', '08-15 04:00:00 => 25.59 / 18.43', '08-15 05:00:00 => 25.75 / 18.51', '08-15 06:00:00 => 25.34 / 18.3', '08-15 07:00:00 => 24.12 / 17.68', '08-15 08:00:00 => 22.82 / 17.01', '08-15 09:00:00 => 21.84 / 16.51', '08-15 10:00:00 => 20.22 / 15.68', '08-15 11:00:00 => 17.8 / 14.45', '08-15 12:00:00 => 16.16 / 13.61', '08-15 13:00:00 => 15.55 / 13.3', '08-15 14:00:00 => 15.14 / 13.09', '08-15 15:00:00 => 15.65 / 13.35', '08-15 16:00:00 => 32.68 / 16.13', '08-15 17:00:00 => 37.81 / 18.75', '08-15 18:00:00 => 42.15 / 20.96', '08-15 19:00:00 => 30.88 / 21.13', '08-15 20:00:00 => 31.43 / 21.41', '08-15 21:00:00 => 31.43 / 21.41', '08-15 22:00:00 => 30.37 / 20.87', '08-15 23:00:00 => 29.16 / 20.25', '08-16 00:00:00 => 28.62 / 19.97', '08-16 01:00:00 => 27.52 / 19.41', '08-16 02:00:00 => 26.55 / 18.92', '08-16 03:00:00 => 26.18 / 18.73', '08-16 04:00:00 => 26.12 / 18.7', '08-16 05:00:00 => 26.02 / 18.65', '08-16 06:00:00 => 25.78 / 18.53', '08-16 07:00:00 => 25.43 / 18.35', '08-16 08:00:00 => 24.63 / 17.94', '08-16 09:00:00 => 24.05 / 17.64', '08-16 10:00:00 => 24.59 / 17.92', '08-16 11:00:00 => 24.5 / 17.87', '08-16 12:00:00 => 23.58 / 17.4', '08-16 13:00:00 => 22.93 / 17.07', '08-16 14:00:00 => 21.8 / 16.49', '08-16 15:00:00 => 21.8 / 16.49']
2026-08-15 16:10:01.989544: Rate min forward looking: now 21.41p at end of forecast 21.41p
2026-08-15 16:10:01.989977: Import rates: min 21.41p, max 45.28p, average 28.3p
2026-08-15 16:10:02.033426: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 16:10:02.033583: Rate thresholds (for charge/export) are import 44.78p (0.0p), export -0.1p (0.0p)
2026-08-15 16:10:02.034990: High export rate found rates in range 99p to -99p
2026-08-15 16:10:02.138375: Low Import rate found rates in range 21.41p to 44.34p
2026-08-15 16:10:02.138523: Car 0 charging is not planned as it is not plugged in
2026-08-15 16:10:02.152364: Battery level now 16.0kWh, -1hr ago 12.46kWh, at midnight 1.66kWh, battery value change in the last hour 65.04p, change today 263.83p, rate_forward 18.39p
2026-08-15 16:10:02.152814: Last hour: net energy 4.55kWh, import 4.55kWh, export 0.0kWh, car 0kWh, load 0.18kWh, net cost 76.98p, import 76.98p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 16:10:02.207308: Today's energy total net 27.5kWh, import 27.5kWh, export 0.0kWh, cost 562.65p, import 512.67p, export 0.0p, carbon 0.0kg
2026-08-15 16:10:02.207459: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 16:10:02.297729: Using weighted-bucket historical load forecast over 14 days
2026-08-15 16:10:02.328637: Today's load divergence 91.17%, in-day adjustment 108.64%, damping 0.95x, yesterday 143.77% today 91.61% blend 32.64%
2026-08-15 16:10:02.328736: Today's predicted so far 9.85kWh with 0.0kWh car/iBoost excluded, 20.97kWh import ignored, and 9.85kWh forecast extra.
2026-08-15 16:10:02.328768: Today's actual load so far 8.61kWh with 0.0kWh car/iBoost excluded, and 20.97kWh import ignored.
2026-08-15 16:10:02.370215: Inverter 0: Type SK Sunsynk
2026-08-15 16:10:02.370373: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 16:10:02.370593: Reserve min: 7%, battery_min: 7%
2026-08-15 16:10:02.370670: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 16:10:02.370937: Inverter 0 SoC: 15.86kW 99%, current charge rate 5000W, current discharge rate 5250W, current battery power 229W, current battery voltage 51.2V, grid power -54W, load power 303W, PV Power 0W
2026-08-15 16:10:02.371091: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 16:10:02.371205: Inverter 0 scheduled charge enable is False
2026-08-15 16:10:02.371239: Inverter 0 charge windows currently []
2026-08-15 16:10:02.371279: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 16:10:02.371388: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 16:10:02.371424: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 16:10:02.371460: Inverter 0 scheduled discharge enable is False
2026-08-15 16:10:02.371577: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 16:10:02.371613: Inverter 0 discharge windows currently []
2026-08-15 16:10:02.371635: Note: Inverter does not support discharge freeze - disabled
2026-08-15 16:10:02.371654: Note: Inverter does not support charge freeze - disabled
2026-08-15 16:10:02.371680: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 16:10:02.435658: Dynamic load last period 0.00kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 16:10:02.435768: Plan was last updated on 2026-08-15 16:05:00+01:00 and is now 5.0 minutes old
2026-08-15 16:10:02.436089: Best charge window [ 16-08 09:30:00 - 16-08 10:00:00 @ 24.06p 22%, 16-08 11:30:00 - 16-08 12:30:00 @ 23.46p 13%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 22%, 16-08 13:30:00 - 16-08 15:00:00 @ 21.91p 100%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.95p 66%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.83p 69%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.79p 19%, 17-08 12:30:00 - 17-08 16:30:00 @ 29.72p 100% ]
2026-08-15 16:10:02.436132: Best export window [  ]
2026-08-15 16:10:02.436994: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 16:10:02.440153: Load divergence over 8.0 hours mean 522.91W, min 291.6W, max 1856.4W, std dev 319.02W, divergence 30.5%
2026-08-15 16:10:02.458664: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 16:10:02.458797: LoadML is_calculating False
2026-08-15 16:10:02.458860: Creating pool of 12 processes to match your CPU count
2026-08-15 16:10:02.592184: predict base end_record 08-17 12:35:00, final soc 1.12kWh, metric 1117.99p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 12:20:00, load 38.15kWh, PV 0.0kWh
2026-08-15 16:10:02.720636: Battery has 20.17 hours left - now at 15.86kWh
2026-08-15 16:10:02.764081: predict base10 end_record 08-17 12:35:00, final soc 1.12kWh, metric 1155.03p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 11:40:00, load 39.57kWh, PV 0.0kWh
2026-08-15 16:10:02.842871: predict best10 end_record 08-17 12:35:00, final soc 1.44kWh, metric 1099.95p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 05:15:00, load 39.57kWh, PV 0.0kWh
2026-08-15 16:10:02.922721: predict best end_record 08-17 12:35:00, final soc 1.51kWh, metric 1062.73p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 05:55:00, load 38.15kWh, PV 0.0kWh
2026-08-15 16:10:02.922847: Saving plan best values to HA entities
2026-08-15 16:10:03.109757: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 16:10:03.115255: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 16:10:03.121433: Best charging limit SoC's [3.5, 2.0, 3.5, 16.0, 10.5, 11.0, 3.0, 16.0]kWh, export []kWh gives import battery 13.74kWh, house 3.85kWh, export 0.0kWh, metric 1062.73p, metric10 1099.95p
2026-08-15 16:10:03.201579: Marginal costs baseline metric (no standing charge): 962.7627
2026-08-15 16:10:03.490631: Marginal energy costs matrix computed: min=26.23 max=33.77
2026-08-15 16:10:03.579826: Rate array import [{'start': 970, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1410, 'rate': 'expensive', 'range': '(29.8p - 32.9p)'}, {'start': 1410, 'end': 2400, 'rate': 'cheap', 'range': '(21.4p - 28.2p)'}, {'start': 2400, 'end': 2430, 'rate': 'expensive', 'range': '(36.8p)'}, {'start': 2430, 'end': 2580, 'rate': 'very expensive', 'range': '(37.5p - 45.3p)'}, {'start': 2580, 'end': 2850, 'rate': 'expensive', 'range': '(30.0p - 35.9p)'}, {'start': 2850, 'end': 3635, 'rate': 'cheap', 'range': '(22.3p - 28.2p)'}] export [{'start': 970, 'end': 3635, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 16:10:03.580695: - Your estimated bill for today is £5.63 and tomorrow is £3.35
2026-08-15 16:10:03.580743: - Import rates are expensive (33.1p) for the next 50 minutes and then very expensive (38.5p - 43.8p) for the next 2 hours.
2026-08-15 16:10:03.580766: - The battery is currently at 99% and is in eco mode for the next 17 hours.
2026-08-15 16:10:03.580784: - For the next 48 hours there will be no solar generation.
2026-08-15 16:10:03.580801: - You will run out of battery in 37 hours.
2026-08-15 16:10:03.580819: - Your next charge slot will be in 17 hours where import rates will be cheap (24.1p).
2026-08-15 16:10:03.580837: 
2026-08-15 16:10:03.652645: Plan calculation took 1.22 seconds
2026-08-15 16:10:03.656557: No high rate period found
2026-08-15 16:10:03.708517: Import threshold used for optimisation was 25.86p
2026-08-15 16:10:03.766759: Low import rate windows [0: 08-15 16:00:00 - 08-15 16:30:00 @ 33.13, 1: 08-15 16:30:00 - 08-15 17:00:00 @ 33.13, 2: 08-15 17:00:00 - 08-15 17:30:00 @ 38.46, 3: 08-15 17:30:00 - 08-15 18:00:00 @ 40.44, 4: 08-15 18:00:00 - 08-15 18:30:00 @ 41.55, 5: 08-15 18:30:00 - 08-15 19:00:00 @ 43.82, 6: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 7: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 8: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 9: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 10: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 11: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 12: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 13: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 14: 08-15 23:00:00 - 08-15 23:30:00 @ 30.02, 15: 08-15 23:30:00 - 08-16 00:00:00 @ 27.8, 16: 08-16 00:00:00 - 08-16 00:30:00 @ 28.18, 17: 08-16 00:30:00 - 08-16 01:00:00 @ 27.38, 18: 08-16 01:00:00 - 08-16 01:30:00 @ 26.7, 19: 08-16 01:30:00 - 08-16 02:00:00 @ 26.31, 20: 08-16 02:00:00 - 08-16 02:30:00 @ 25.79, 21: 08-16 02:30:00 - 08-16 03:00:00 @ 25.86, 22: 08-16 03:00:00 - 08-16 03:30:00 @ 26.13, 23: 08-16 03:30:00 - 08-16 04:00:00 @ 25.86, 24: 08-16 04:00:00 - 08-16 04:30:00 @ 26.27, 25: 08-16 04:30:00 - 08-16 05:00:00 @ 26.14, 26: 08-16 05:00:00 - 08-16 05:30:00 @ 27.03, 27: 08-16 05:30:00 - 08-16 06:00:00 @ 26.28, 28: 08-16 06:00:00 - 08-16 06:30:00 @ 25.68, 29: 08-16 06:30:00 - 08-16 07:00:00 @ 26.1, 30: 08-16 07:00:00 - 08-16 07:30:00 @ 24.28, 31: 08-16 07:30:00 - 08-16 08:00:00 @ 24.94, 32: 08-16 08:00:00 - 08-16 08:30:00 @ 24.06, 33: 08-16 08:30:00 - 08-16 09:00:00 @ 24.39, 34: 08-16 09:00:00 - 08-16 09:30:00 @ 24.66, 35: 08-16 09:30:00 - 08-16 10:00:00 @ 24.06, 36: 08-16 10:00:00 - 08-16 10:30:00 @ 25.5, 37: 08-16 10:30:00 - 08-16 11:00:00 @ 24.94, 38: 08-16 11:00:00 - 08-16 11:30:00 @ 24.25, 39: 08-16 11:30:00 - 08-16 12:00:00 @ 23.49, 40: 08-16 12:00:00 - 08-16 12:30:00 @ 23.43, 41: 08-16 12:30:00 - 08-16 13:00:00 @ 22.33, 42: 08-16 13:00:00 - 08-16 13:30:00 @ 22.76, 43: 08-16 13:30:00 - 08-16 14:00:00 @ 22.3, 44: 08-16 14:00:00 - 08-16 14:30:00 @ 21.41, 45: 08-16 14:30:00 - 08-16 15:00:00 @ 21.65, 46: 08-16 15:00:00 - 08-16 15:30:00 @ 22.95, 47: 08-16 15:30:00 - 08-16 16:00:00 @ 22.83, 48: 08-16 16:00:00 - 08-16 16:30:00 @ 36.84, 49: 08-16 16:30:00 - 08-16 17:00:00 @ 37.54, 50: 08-16 17:00:00 - 08-16 17:30:00 @ 41.79, 51: 08-16 17:30:00 - 08-16 18:00:00 @ 43.7, 52: 08-16 18:00:00 - 08-16 18:30:00 @ 44.34, 53: 08-16 19:00:00 - 08-16 19:30:00 @ 34.79, 54: 08-16 19:30:00 - 08-16 20:00:00 @ 34.76, 55: 08-16 20:00:00 - 08-16 20:30:00 @ 35.62, 56: 08-16 20:30:00 - 08-16 21:00:00 @ 35.3, 57: 08-16 21:00:00 - 08-16 21:30:00 @ 35.89, 58: 08-16 21:30:00 - 08-16 22:00:00 @ 35.71, 59: 08-16 22:00:00 - 08-16 22:30:00 @ 33.75, 60: 08-16 22:30:00 - 08-16 23:00:00 @ 32.0, 61: 08-16 23:00:00 - 08-16 23:30:00 @ 30.02, 62: 08-16 23:30:00 - 08-17 00:00:00 @ 27.8, 63: 08-17 00:00:00 - 08-17 00:30:00 @ 28.18, 64: 08-17 00:30:00 - 08-17 01:00:00 @ 27.38, 65: 08-17 01:00:00 - 08-17 01:30:00 @ 26.7, 66: 08-17 01:30:00 - 08-17 02:00:00 @ 26.31, 67: 08-17 02:00:00 - 08-17 02:30:00 @ 25.79, 68: 08-17 02:30:00 - 08-17 03:00:00 @ 25.86, 69: 08-17 03:00:00 - 08-17 03:30:00 @ 26.13, 70: 08-17 03:30:00 - 08-17 04:00:00 @ 25.86, 71: 08-17 04:00:00 - 08-17 04:30:00 @ 26.27, 72: 08-17 04:30:00 - 08-17 05:00:00 @ 26.14, 73: 08-17 05:00:00 - 08-17 05:30:00 @ 27.03, 74: 08-17 05:30:00 - 08-17 06:00:00 @ 26.28, 75: 08-17 06:00:00 - 08-17 06:30:00 @ 25.68, 76: 08-17 06:30:00 - 08-17 07:00:00 @ 26.1, 77: 08-17 07:00:00 - 08-17 07:30:00 @ 24.28, 78: 08-17 07:30:00 - 08-17 08:00:00 @ 24.94, 79: 08-17 08:00:00 - 08-17 08:30:00 @ 24.06, 80: 08-17 08:30:00 - 08-17 09:00:00 @ 24.39, 81: 08-17 09:00:00 - 08-17 09:30:00 @ 24.66, 82: 08-17 09:30:00 - 08-17 10:00:00 @ 24.06, 83: 08-17 10:00:00 - 08-17 10:30:00 @ 25.5, 84: 08-17 10:30:00 - 08-17 11:00:00 @ 24.94, 85: 08-17 11:00:00 - 08-17 11:30:00 @ 24.25, 86: 08-17 11:30:00 - 08-17 12:00:00 @ 23.49, 87: 08-17 12:00:00 - 08-17 12:30:00 @ 23.43, 88: 08-17 12:30:00 - 08-17 13:00:00 @ 22.33, 89: 08-17 13:00:00 - 08-17 13:30:00 @ 22.76, 90: 08-17 13:30:00 - 08-17 14:00:00 @ 22.3, 91: 08-17 14:00:00 - 08-17 14:30:00 @ 21.41, 92: 08-17 14:30:00 - 08-17 15:00:00 @ 21.65, 93: 08-17 15:00:00 - 08-17 15:30:00 @ 22.95, 94: 08-17 15:30:00 - 08-17 16:00:00 @ 22.83, 95: 08-17 16:00:00 - 08-17 16:30:00 @ 36.84]
2026-08-15 16:10:03.775613: Inverter 0 Charge window will be: 2026-08-16 09:30:00+01:00 - 2026-08-16 10:00:00+01:00 - current SoC 99%, target 22%
2026-08-15 16:10:03.775764: Inverter 0 disabled charge window while waiting for schedule (now 08-15 16:10:00 target set_window_minutes 30 charge start time 08-16 09:30:00) original inverter start time 08-17 00:00:00
2026-08-15 16:10:03.775927: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 16:10:03.776236: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 16:10:03.776378: No export window planned
2026-08-15 16:10:03.776566: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 16:10:03.776611: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 16:10:03.776800: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 16:10:03.777077: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 16:10:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 16:10:03.777151: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 16:10:03.777234: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 16:10:03.777394: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 16:10:03.777470: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 16:10:03.777540: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 16:10:03.777606: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 16:10:03.777672: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 16:10:03.777730: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 16:10:03.777793: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 16:10:03.777919: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 16:10:03.777995: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 16:10:03.778057: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 16:10:03.778111: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 16:10:03.778172: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 16:10:03.778234: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 16:10:03.778309: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 16:10:03.778361: Inverter 0 count register writes 0
2026-08-15 16:10:03.794580: Will not recompute the plan, it is 5.0 minutes old and max age is 10 minutes
2026-08-15 16:10:03.801343: Total inverter register writes now 826
2026-08-15 16:10:03.838723: Info: Completed run status Demand
2026-08-15 16:10:03.845644: Info: record_status Demand
2026-08-15 16:10:03.853438: Saved current settings to /config/predbat_config.json
2026-08-15 16:10:03.853775: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 16:10:41.964558: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 16:10:41.964799: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 16:10:41.964847: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 16:10:41.965090: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 16:10:41.965224: Note: Inverter does not support discharge freeze - disabled
2026-08-15 16:10:41.965261: Note: Inverter does not support charge freeze - disabled
2026-08-15 16:10:41.965368: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 16:10:43.567267: ML Component: Fetching 28 days of load history from ['sensor.sunsynk_day_load_energy']
2026-08-15 16:10:44.461553: Processing 1345 30-minute periods for power integration
2026-08-15 16:10:44.549057: ML Component: Car charging hold False, car energy reported load False
2026-08-15 16:10:44.630780: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 16:10:44.713290: ML Temperature data points: 49431
2026-08-15 16:10:44.932865: ML Component: Fetched 8064 load data points, 28.0 days of history
2026-08-15 16:10:44.967337: ML Component: Data fetch completed, load data age 57.0 days, 16459 data points
2026-08-15 16:10:44.967445: ML Component: Starting fine-tune training (2h interval), model age is 2.0497794716666666 hours
2026-08-15 16:10:44.967506: ML Component: Doing training...
2026-08-15 16:10:44.980991: ML Predictor: Curriculum training - capped to last 4 intermediate passes (starting at window=54.0 days)
2026-08-15 16:10:44.981149: ML Predictor: Curriculum training - 5 passes, window 54.0→57.0 days + final full pass (57.1 days)
2026-08-15 16:10:45.031952: ML Predictor: Curriculum pass 1/5: window=54.0 days (1296 hours of data)
2026-08-15 16:10:45.032073: ML Predictor: Starting initial training with 30 epochs
2026-08-15 16:10:45.535683: ML Predictor: Creating dataset with 1296 hours of training data, 48 hours validation
2026-08-15 16:10:49.492970: ML Predictor: Created 15264 training samples, 576 validation samples
2026-08-15 16:10:49.540539: ML Predictor: Normalization stats [fit] target(mean=0.0586 std=0.0470) load(mean=0.0587 std=0.0469) pv(mean=0.0000 std=0.0100) temp(mean=19.4996 std=4.4155) import_rate(mean=25.5254 std=2.4659) export_rate(mean=0.0000 std=1.0000) time(mean=-0.1882 std=0.5244)
2026-08-15 16:11:15.988535: ML Predictor: Epoch 1/30: lr=0.00100 huber_loss=0.0143 val_mae=0.0034 kWh val_bias=-0.0003 kWh (-0.6%) combined=0.0018 kWh ema_combined=0.0018 kWh
2026-08-15 16:11:48.260449: ML Predictor: Epoch 2/30: lr=0.00100 huber_loss=0.0127 val_mae=0.0040 kWh val_bias=-0.0002 kWh (-0.5%) combined=0.0029 kWh ema_combined=0.0021 kWh
2026-08-15 16:12:17.102694: ML Predictor: Epoch 3/30: lr=0.00099 huber_loss=0.0169 val_mae=0.0034 kWh val_bias=-0.0001 kWh (-0.2%) combined=0.0017 kWh ema_combined=0.0020 kWh
2026-08-15 16:12:45.571585: ML Predictor: Epoch 4/30: lr=0.00098 huber_loss=0.0136 val_mae=0.0030 kWh val_bias=+0.0002 kWh (+0.4%) combined=0.0016 kWh ema_combined=0.0019 kWh
2026-08-15 16:12:56.742323: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 16:12:56.742575: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 16:12:56.742612: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 16:12:56.742743: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 16:12:56.742785: Note: Inverter does not support discharge freeze - disabled
2026-08-15 16:12:56.742808: Note: Inverter does not support charge freeze - disabled
2026-08-15 16:12:56.742826: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 16:13:17.161081: ML Predictor: Epoch 5/30: lr=0.00096 huber_loss=0.0114 val_mae=0.0033 kWh val_bias=+0.0006 kWh (+1.2%) combined=0.0017 kWh ema_combined=0.0018 kWh
2026-08-15 16:13:47.019565: ML Predictor: Epoch 6/30: lr=0.00094 huber_loss=0.0136 val_mae=0.0032 kWh val_bias=-0.0006 kWh (-1.1%) combined=0.0022 kWh ema_combined=0.0019 kWh
2026-08-15 16:14:18.136334: ML Predictor: Epoch 7/30: lr=0.00091 huber_loss=0.0138 val_mae=0.0030 kWh val_bias=-0.0009 kWh (-1.8%) combined=0.0021 kWh ema_combined=0.0020 kWh
2026-08-15 16:14:49.141060: ML Predictor: Epoch 8/30: lr=0.00088 huber_loss=0.0112 val_mae=0.0029 kWh val_bias=-0.0004 kWh (-0.7%) combined=0.0016 kWh ema_combined=0.0019 kWh
2026-08-15 16:14:57.216328: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 16:14:57.216691: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 16:14:57.216763: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 16:14:57.217648: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 16:14:57.217736: Note: Inverter does not support discharge freeze - disabled
2026-08-15 16:14:57.217779: Note: Inverter does not support charge freeze - disabled
2026-08-15 16:14:57.217811: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 16:15:00.461525: --------------- PredBat - update at 2026-08-15 16:15:00+01:00 with clock skew 0 minutes, minutes now 975
2026-08-15 16:15:00.462833: Saved current settings to /config/predbat_config.json
2026-08-15 16:15:00.463170: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 115.0 minutes
2026-08-15 16:15:00.463408: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.2, latest beta is v8.48.2
2026-08-15 16:15:00.463657: Autoupdate: There is an update pending v8.48.2 PV90 and second pass enabled by default, bug fixes - auto update is off
2026-08-15 16:15:00.517072: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 16:15:00.517438: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 16:15:00.517771: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 16:15:00.518494: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 16:15:00.518771: Predbat mode is set to Control charge & discharge
2026-08-15 16:15:00.835971: Found 21602 load_today datapoints going back 28 days
2026-08-15 16:15:00.836155: Using load_power data to fill gaps in load_today data
2026-08-15 16:15:02.198646: Processing 721 30-minute periods for power integration
2026-08-15 16:15:02.384232: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 16:15:02.399836: Car charging hold False, threshold 6.0kWh
2026-08-15 16:15:02.400123: Current data so far today: load 8.5kWh, import 27.5kWh, export 0.0kWh, PV 0kWh
2026-08-15 16:15:02.459160: Cars: SoC: [10.548]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 16:15:02.460017: Standing charge is set to 49.98p
2026-08-15 16:15:02.641667: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 16:15:02.641916: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 16:15:02.642344: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 335.0 minutes
2026-08-15 16:15:02.643063: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 335.0 minutes
2026-08-15 16:15:02.651558: Loaded 95 datapoints of futurerate analysis
2026-08-15 16:15:02.895761: Predicted future rates: ['08-15 00:00:00 => 28.69 / 20.01', '08-15 01:00:00 => 27.33 / 19.31', '08-15 02:00:00 => 26.31 / 18.8', '08-15 03:00:00 => 25.78 / 18.53', '08-15 04:00:00 => 25.59 / 18.43', '08-15 05:00:00 => 25.75 / 18.51', '08-15 06:00:00 => 25.34 / 18.3', '08-15 07:00:00 => 24.12 / 17.68', '08-15 08:00:00 => 22.82 / 17.01', '08-15 09:00:00 => 21.84 / 16.51', '08-15 10:00:00 => 20.22 / 15.68', '08-15 11:00:00 => 17.8 / 14.45', '08-15 12:00:00 => 16.16 / 13.61', '08-15 13:00:00 => 15.55 / 13.3', '08-15 14:00:00 => 15.14 / 13.09', '08-15 15:00:00 => 15.65 / 13.35', '08-15 16:00:00 => 32.68 / 16.13', '08-15 17:00:00 => 37.81 / 18.75', '08-15 18:00:00 => 42.15 / 20.96', '08-15 19:00:00 => 30.88 / 21.13', '08-15 20:00:00 => 31.43 / 21.41', '08-15 21:00:00 => 31.43 / 21.41', '08-15 22:00:00 => 30.37 / 20.87', '08-15 23:00:00 => 29.16 / 20.25', '08-16 00:00:00 => 28.62 / 19.97', '08-16 01:00:00 => 27.52 / 19.41', '08-16 02:00:00 => 26.55 / 18.92', '08-16 03:00:00 => 26.18 / 18.73', '08-16 04:00:00 => 26.12 / 18.7', '08-16 05:00:00 => 26.02 / 18.65', '08-16 06:00:00 => 25.78 / 18.53', '08-16 07:00:00 => 25.43 / 18.35', '08-16 08:00:00 => 24.63 / 17.94', '08-16 09:00:00 => 24.05 / 17.64', '08-16 10:00:00 => 24.59 / 17.92', '08-16 11:00:00 => 24.5 / 17.87', '08-16 12:00:00 => 23.58 / 17.4', '08-16 13:00:00 => 22.93 / 17.07', '08-16 14:00:00 => 21.8 / 16.49', '08-16 15:00:00 => 21.8 / 16.49']
2026-08-15 16:15:02.982880: Rate min forward looking: now 21.41p at end of forecast 21.41p
2026-08-15 16:15:02.984352: Import rates: min 21.41p, max 45.28p, average 28.31p
2026-08-15 16:15:03.039819: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 16:15:03.039960: Rate thresholds (for charge/export) are import 44.78p (0.0p), export -0.1p (0.0p)
2026-08-15 16:15:03.041478: High export rate found rates in range 99p to -99p
2026-08-15 16:15:03.161360: Low Import rate found rates in range 21.41p to 44.34p
2026-08-15 16:15:03.162078: Car 0 charging is not planned as it is not plugged in
2026-08-15 16:15:03.182743: Battery level now 15.86kWh, -1hr ago 12.81kWh, at midnight 1.66kWh, battery value change in the last hour 56.06p, change today 261.18p, rate_forward 18.39p
2026-08-15 16:15:03.183125: Last hour: net energy 4.1kWh, import 4.1kWh, export 0.0kWh, car 0kWh, load 0.17kWh, net cost 70.23p, import 70.23p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 16:15:03.304521: Today's energy total net 27.5kWh, import 27.5kWh, export 0.0kWh, cost 562.65p, import 512.67p, export 0.0p, carbon 0.0kg
2026-08-15 16:15:03.318171: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 16:15:03.500006: Using weighted-bucket historical load forecast over 14 days
2026-08-15 16:15:03.539783: Today's load divergence 90.9%, in-day adjustment 108.28%, damping 0.95x, yesterday 143.77% today 91.36% blend 32.29%
2026-08-15 16:15:03.539925: Today's predicted so far 9.84kWh with 0.0kWh car/iBoost excluded, 20.94kWh import ignored, and 9.84kWh forecast extra.
2026-08-15 16:15:03.540025: Today's actual load so far 8.57kWh with 0.0kWh car/iBoost excluded, and 20.94kWh import ignored.
2026-08-15 16:15:03.608631: Inverter 0: Type SK Sunsynk
2026-08-15 16:15:03.608731: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 16:15:03.609069: Reserve min: 7%, battery_min: 7%
2026-08-15 16:15:03.609207: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 16:15:03.609623: Inverter 0 SoC: 15.84kW 99%, current charge rate 5000W, current discharge rate 5250W, current battery power 240W, current battery voltage 51.2V, grid power -56W, load power 314W, PV Power 0W
2026-08-15 16:15:03.609880: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 16:15:03.610054: Inverter 0 scheduled charge enable is False
2026-08-15 16:15:03.610129: Inverter 0 charge windows currently []
2026-08-15 16:15:03.610174: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 16:15:03.610425: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 16:15:03.610474: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 16:15:03.610594: Inverter 0 scheduled discharge enable is False
2026-08-15 16:15:03.610795: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 16:15:03.610873: Inverter 0 discharge windows currently []
2026-08-15 16:15:03.610914: Note: Inverter does not support discharge freeze - disabled
2026-08-15 16:15:03.611045: Note: Inverter does not support charge freeze - disabled
2026-08-15 16:15:03.611151: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 16:15:03.747458: Dynamic load last period 0.00kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 16:15:03.747617: Plan was last updated on 2026-08-15 16:05:00+01:00 and is now 10.0 minutes old
2026-08-15 16:15:03.748240: Best charge window [ 16-08 09:30:00 - 16-08 10:00:00 @ 24.06p 22%, 16-08 11:30:00 - 16-08 12:30:00 @ 23.46p 13%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 22%, 16-08 13:30:00 - 16-08 15:00:00 @ 21.91p 100%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.95p 66%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.83p 69%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.79p 19%, 17-08 12:30:00 - 17-08 16:30:00 @ 29.72p 100% ]
2026-08-15 16:15:03.748335: Best export window [  ]
2026-08-15 16:15:03.749791: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 16:15:03.755369: Load divergence over 8.0 hours mean 544.73W, min 290.4W, max 1981.2W, std dev 354.3W, divergence 32.52%
2026-08-15 16:15:03.805274: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 16:15:03.805451: LoadML is_calculating True
2026-08-15 16:15:03.805488: Not using thread pool as LoadML is calculating to avoid lockups
2026-08-15 16:15:03.858725: predict base end_record 08-17 12:40:00, final soc 1.12kWh, metric 1118.99p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 12:25:00, load 38.18kWh, PV 0.0kWh
2026-08-15 16:15:04.069151: Battery has 20.17 hours left - now at 15.84kWh
2026-08-15 16:15:04.159068: predict base10 end_record 08-17 12:40:00, final soc 1.12kWh, metric 1156.05p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 11:40:00, load 39.6kWh, PV 0.0kWh
2026-08-15 16:15:04.301168: predict best10 end_record 08-17 12:40:00, final soc 1.77kWh, metric 1108.56p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 05:15:00, load 39.6kWh, PV 0.0kWh
2026-08-15 16:15:04.561520: predict best end_record 08-17 12:40:00, final soc 1.9kWh, metric 1073.15p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 05:55:00, load 38.18kWh, PV 0.0kWh
2026-08-15 16:15:04.562375: Saving plan best values to HA entities
2026-08-15 16:15:04.859958: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0
2026-08-15 16:15:04.868688: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 16:15:04.877782: Best charging limit SoC's [3.5, 2.0, 3.5, 16.0, 10.5, 11.0, 3.0, 16.0]kWh, export []kWh gives import battery 14.21kWh, house 3.85kWh, export 0.0kWh, metric 1073.15p, metric10 1108.56p
2026-08-15 16:15:05.074741: Marginal costs baseline metric (no standing charge): 973.1794
2026-08-15 16:15:05.489674: Marginal energy costs matrix computed: min=26.2 max=33.33
2026-08-15 16:15:05.630477: Rate array import [{'start': 975, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1410, 'rate': 'expensive', 'range': '(29.8p - 32.9p)'}, {'start': 1410, 'end': 2400, 'rate': 'cheap', 'range': '(21.4p - 28.2p)'}, {'start': 2400, 'end': 2430, 'rate': 'expensive', 'range': '(36.8p)'}, {'start': 2430, 'end': 2580, 'rate': 'very expensive', 'range': '(37.5p - 45.3p)'}, {'start': 2580, 'end': 2850, 'rate': 'expensive', 'range': '(30.0p - 35.9p)'}, {'start': 2850, 'end': 3640, 'rate': 'cheap', 'range': '(22.3p - 28.2p)'}] export [{'start': 975, 'end': 3640, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 16:15:05.634653: - Your estimated bill for today is £5.63 and tomorrow is £3.35
2026-08-15 16:15:05.634861: - Import rates are expensive (33.1p) for the next 45 minutes and then very expensive (38.5p - 43.8p) for the next 2 hours.
2026-08-15 16:15:05.634912: - The battery is currently at 99% and is in eco mode for the next 17 hours.
2026-08-15 16:15:05.635009: - For the next 48 hours there will be no solar generation.
2026-08-15 16:15:05.635155: - You will run out of battery in 37 hours.
2026-08-15 16:15:05.635281: - Your next charge slot will be in 17 hours where import rates will be cheap (24.1p).
2026-08-15 16:15:05.635421: 
2026-08-15 16:15:05.741434: Plan calculation took 1.99 seconds
2026-08-15 16:15:05.762662: No high rate period found
2026-08-15 16:15:05.876570: Import threshold used for optimisation was 25.86p
2026-08-15 16:15:06.004127: Low import rate windows [0: 08-15 16:00:00 - 08-15 16:30:00 @ 33.13, 1: 08-15 16:30:00 - 08-15 17:00:00 @ 33.13, 2: 08-15 17:00:00 - 08-15 17:30:00 @ 38.46, 3: 08-15 17:30:00 - 08-15 18:00:00 @ 40.44, 4: 08-15 18:00:00 - 08-15 18:30:00 @ 41.55, 5: 08-15 18:30:00 - 08-15 19:00:00 @ 43.82, 6: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 7: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 8: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 9: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 10: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 11: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 12: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 13: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 14: 08-15 23:00:00 - 08-15 23:30:00 @ 30.02, 15: 08-15 23:30:00 - 08-16 00:00:00 @ 27.8, 16: 08-16 00:00:00 - 08-16 00:30:00 @ 28.18, 17: 08-16 00:30:00 - 08-16 01:00:00 @ 27.38, 18: 08-16 01:00:00 - 08-16 01:30:00 @ 26.7, 19: 08-16 01:30:00 - 08-16 02:00:00 @ 26.31, 20: 08-16 02:00:00 - 08-16 02:30:00 @ 25.79, 21: 08-16 02:30:00 - 08-16 03:00:00 @ 25.86, 22: 08-16 03:00:00 - 08-16 03:30:00 @ 26.13, 23: 08-16 03:30:00 - 08-16 04:00:00 @ 25.86, 24: 08-16 04:00:00 - 08-16 04:30:00 @ 26.27, 25: 08-16 04:30:00 - 08-16 05:00:00 @ 26.14, 26: 08-16 05:00:00 - 08-16 05:30:00 @ 27.03, 27: 08-16 05:30:00 - 08-16 06:00:00 @ 26.28, 28: 08-16 06:00:00 - 08-16 06:30:00 @ 25.68, 29: 08-16 06:30:00 - 08-16 07:00:00 @ 26.1, 30: 08-16 07:00:00 - 08-16 07:30:00 @ 24.28, 31: 08-16 07:30:00 - 08-16 08:00:00 @ 24.94, 32: 08-16 08:00:00 - 08-16 08:30:00 @ 24.06, 33: 08-16 08:30:00 - 08-16 09:00:00 @ 24.39, 34: 08-16 09:00:00 - 08-16 09:30:00 @ 24.66, 35: 08-16 09:30:00 - 08-16 10:00:00 @ 24.06, 36: 08-16 10:00:00 - 08-16 10:30:00 @ 25.5, 37: 08-16 10:30:00 - 08-16 11:00:00 @ 24.94, 38: 08-16 11:00:00 - 08-16 11:30:00 @ 24.25, 39: 08-16 11:30:00 - 08-16 12:00:00 @ 23.49, 40: 08-16 12:00:00 - 08-16 12:30:00 @ 23.43, 41: 08-16 12:30:00 - 08-16 13:00:00 @ 22.33, 42: 08-16 13:00:00 - 08-16 13:30:00 @ 22.76, 43: 08-16 13:30:00 - 08-16 14:00:00 @ 22.3, 44: 08-16 14:00:00 - 08-16 14:30:00 @ 21.41, 45: 08-16 14:30:00 - 08-16 15:00:00 @ 21.65, 46: 08-16 15:00:00 - 08-16 15:30:00 @ 22.95, 47: 08-16 15:30:00 - 08-16 16:00:00 @ 22.83, 48: 08-16 16:00:00 - 08-16 16:30:00 @ 36.84, 49: 08-16 16:30:00 - 08-16 17:00:00 @ 37.54, 50: 08-16 17:00:00 - 08-16 17:30:00 @ 41.79, 51: 08-16 17:30:00 - 08-16 18:00:00 @ 43.7, 52: 08-16 18:00:00 - 08-16 18:30:00 @ 44.34, 53: 08-16 19:00:00 - 08-16 19:30:00 @ 34.79, 54: 08-16 19:30:00 - 08-16 20:00:00 @ 34.76, 55: 08-16 20:00:00 - 08-16 20:30:00 @ 35.62, 56: 08-16 20:30:00 - 08-16 21:00:00 @ 35.3, 57: 08-16 21:00:00 - 08-16 21:30:00 @ 35.89, 58: 08-16 21:30:00 - 08-16 22:00:00 @ 35.71, 59: 08-16 22:00:00 - 08-16 22:30:00 @ 33.75, 60: 08-16 22:30:00 - 08-16 23:00:00 @ 32.0, 61: 08-16 23:00:00 - 08-16 23:30:00 @ 30.02, 62: 08-16 23:30:00 - 08-17 00:00:00 @ 27.8, 63: 08-17 00:00:00 - 08-17 00:30:00 @ 28.18, 64: 08-17 00:30:00 - 08-17 01:00:00 @ 27.38, 65: 08-17 01:00:00 - 08-17 01:30:00 @ 26.7, 66: 08-17 01:30:00 - 08-17 02:00:00 @ 26.31, 67: 08-17 02:00:00 - 08-17 02:30:00 @ 25.79, 68: 08-17 02:30:00 - 08-17 03:00:00 @ 25.86, 69: 08-17 03:00:00 - 08-17 03:30:00 @ 26.13, 70: 08-17 03:30:00 - 08-17 04:00:00 @ 25.86, 71: 08-17 04:00:00 - 08-17 04:30:00 @ 26.27, 72: 08-17 04:30:00 - 08-17 05:00:00 @ 26.14, 73: 08-17 05:00:00 - 08-17 05:30:00 @ 27.03, 74: 08-17 05:30:00 - 08-17 06:00:00 @ 26.28, 75: 08-17 06:00:00 - 08-17 06:30:00 @ 25.68, 76: 08-17 06:30:00 - 08-17 07:00:00 @ 26.1, 77: 08-17 07:00:00 - 08-17 07:30:00 @ 24.28, 78: 08-17 07:30:00 - 08-17 08:00:00 @ 24.94, 79: 08-17 08:00:00 - 08-17 08:30:00 @ 24.06, 80: 08-17 08:30:00 - 08-17 09:00:00 @ 24.39, 81: 08-17 09:00:00 - 08-17 09:30:00 @ 24.66, 82: 08-17 09:30:00 - 08-17 10:00:00 @ 24.06, 83: 08-17 10:00:00 - 08-17 10:30:00 @ 25.5, 84: 08-17 10:30:00 - 08-17 11:00:00 @ 24.94, 85: 08-17 11:00:00 - 08-17 11:30:00 @ 24.25, 86: 08-17 11:30:00 - 08-17 12:00:00 @ 23.49, 87: 08-17 12:00:00 - 08-17 12:30:00 @ 23.43, 88: 08-17 12:30:00 - 08-17 13:00:00 @ 22.33, 89: 08-17 13:00:00 - 08-17 13:30:00 @ 22.76, 90: 08-17 13:30:00 - 08-17 14:00:00 @ 22.3, 91: 08-17 14:00:00 - 08-17 14:30:00 @ 21.41, 92: 08-17 14:30:00 - 08-17 15:00:00 @ 21.65, 93: 08-17 15:00:00 - 08-17 15:30:00 @ 22.95, 94: 08-17 15:30:00 - 08-17 16:00:00 @ 22.83, 95: 08-17 16:00:00 - 08-17 16:30:00 @ 36.84]
2026-08-15 16:15:06.023242: Inverter 0 Charge window will be: 2026-08-16 09:30:00+01:00 - 2026-08-16 10:00:00+01:00 - current SoC 99%, target 22%
2026-08-15 16:15:06.023449: Inverter 0 disabled charge window while waiting for schedule (now 08-15 16:15:00 target set_window_minutes 30 charge start time 08-16 09:30:00) original inverter start time 08-17 00:00:00
2026-08-15 16:15:06.023528: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 16:15:06.023749: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 16:15:06.023837: No export window planned
2026-08-15 16:15:06.023955: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 16:15:06.024001: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 16:15:06.024260: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 16:15:06.027537: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 16:15:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 16:15:06.027641: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 16:15:06.027795: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 16:15:06.027975: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 16:15:06.028029: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 16:15:06.028134: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 16:15:06.028208: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 16:15:06.028252: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 16:15:06.028374: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 16:15:06.028420: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 16:15:06.028559: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 16:15:06.028605: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 16:15:06.028700: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 16:15:06.028837: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 16:15:06.028994: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 16:15:06.029124: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 16:15:06.029240: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 16:15:06.029368: Inverter 0 count register writes 0
2026-08-15 16:15:06.093985: Will recompute the plan as it is now 10.0 minutes old and will exceed the max age of 10 minutes before the next run
2026-08-15 16:15:06.094372: Recompute is saving previous plan...
2026-08-15 16:15:06.097631: Best charge window [ 15-08 16:00:00 - 15-08 16:30:00 @ 33.13p 0%, 15-08 16:30:00 - 15-08 17:00:00 @ 33.13p 0%, 15-08 17:00:00 - 15-08 17:30:00 @ 38.46p 0%, 15-08 17:30:00 - 15-08 18:00:00 @ 40.44p 0%, 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 0%, 15-08 18:30:00 - 15-08 19:00:00 @ 43.82p 0%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 0%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 0%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 0%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 0%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 30.02p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 27.8p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.18p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.38p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 26.7p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.31p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.79p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 25.86p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.13p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 25.86p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.27p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.14p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 27.03p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.28p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.68p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 26.1p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 24.28p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 24.94p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.06p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.39p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.66p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.06p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 25.5p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 24.94p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 24.25p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 23.49p 0%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.43p 0%, 16-08 12:30:00 - 16-08 13:00:00 @ 22.33p 0%, 16-08 13:00:00 - 16-08 13:30:00 @ 22.76p 0%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 0%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 0%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.65p 0%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.95p 0%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.83p 0%, 16-08 16:00:00 - 16-08 16:30:00 @ 36.84p 0%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.54p 0%, 16-08 17:00:00 - 16-08 17:30:00 @ 41.79p 0%, 16-08 17:30:00 - 16-08 18:00:00 @ 43.7p 0%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.34p 0%, 16-08 19:00:00 - 16-08 19:30:00 @ 34.79p 0%, 16-08 19:30:00 - 16-08 20:00:00 @ 34.76p 0%, 16-08 20:00:00 - 16-08 20:30:00 @ 35.62p 0%, 16-08 20:30:00 - 16-08 21:00:00 @ 35.3p 0%, 16-08 21:00:00 - 16-08 21:30:00 @ 35.89p 0%, 16-08 21:30:00 - 16-08 22:00:00 @ 35.71p 0%, 16-08 22:00:00 - 16-08 22:30:00 @ 33.75p 0%, 16-08 22:30:00 - 16-08 23:00:00 @ 32.0p 0%, 16-08 23:00:00 - 16-08 23:30:00 @ 30.02p 0%, 16-08 23:30:00 - 17-08 00:00:00 @ 27.8p 0%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.18p 0%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.38p 0%, 17-08 01:00:00 - 17-08 01:30:00 @ 26.7p 0%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.31p 0%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.79p 0%, 17-08 02:30:00 - 17-08 03:00:00 @ 25.86p 0%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.13p 0%, 17-08 03:30:00 - 17-08 04:00:00 @ 25.86p 0%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.27p 0%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.14p 0%, 17-08 05:00:00 - 17-08 05:30:00 @ 27.03p 0%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.28p 0%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.68p 0%, 17-08 06:30:00 - 17-08 07:00:00 @ 26.1p 0%, 17-08 07:00:00 - 17-08 07:30:00 @ 24.28p 0%, 17-08 07:30:00 - 17-08 08:00:00 @ 24.94p 0%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.06p 0%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.39p 0%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.66p 0%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.06p 0%, 17-08 10:00:00 - 17-08 10:30:00 @ 25.5p 0%, 17-08 10:30:00 - 17-08 11:00:00 @ 24.94p 0%, 17-08 11:00:00 - 17-08 11:30:00 @ 24.25p 0%, 17-08 11:30:00 - 17-08 12:00:00 @ 23.49p 0%, 17-08 12:00:00 - 17-08 12:30:00 @ 23.43p 0%, 17-08 12:30:00 - 17-08 13:00:00 @ 22.33p 0%, 17-08 13:00:00 - 17-08 13:30:00 @ 22.76p 0%, 17-08 13:30:00 - 17-08 14:00:00 @ 22.3p 0%, 17-08 14:00:00 - 17-08 14:30:00 @ 21.41p 0%, 17-08 14:30:00 - 17-08 15:00:00 @ 21.65p 0%, 17-08 15:00:00 - 17-08 15:30:00 @ 22.95p 0%, 17-08 15:30:00 - 17-08 16:00:00 @ 22.83p 0%, 17-08 16:00:00 - 17-08 16:30:00 @ 36.84p 0% ]
2026-08-15 16:15:06.097844: Best export window [  ]
2026-08-15 16:15:06.098825: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 16:15:06.102006: Load divergence over 8.0 hours mean 544.73W, min 290.4W, max 1981.2W, std dev 354.3W, divergence 32.52%
2026-08-15 16:15:06.119866: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 16:15:06.120111: LoadML is_calculating True
2026-08-15 16:15:06.120227: Not using thread pool as LoadML is calculating to avoid lockups
2026-08-15 16:15:06.131421: Calculate Best options: mode(Control charge & discharge), calculate_export_oncharge(False), calculate_export_on_pv(True), set_export_freeze_only(False), set_discharge_during_charge(True), combine_charge_slots(False), combine_export_slots(False), combine_rate_threshold(0.0), best_soc_min(0.0 kWh), best_soc_max(0.0 kWh), best_soc_keep(0.0 kWh), inverter_loss(4%), battery_loss(3%), battery_loss_discharge (3%), inverter_hybrid(True), metric_min_improvement(0.0p), metric_min_improvement_export(0.1p), metric_min_improvement_export_freeze(0.1p), metric_battery_cycle(0.0p/kWh), metric_battery_value_scaling(1.0 x) 
2026-08-15 16:15:06.150384: Optimise levels pass started at 2026-08-15 16:15:06
2026-08-15 16:15:06.150552: Optimise all windows, total charge 95 export 1
2026-08-15 16:15:11.206685: >> Region optimisation pass width 960 gives best_metric 998.27p, best_cost 1013.15p, best_cycle 37.04kWh, best_import 19.92kWh
2026-08-15 16:15:11.966503: >> Region optimisation pass width 480 gives best_metric 998.27p, best_cost 1013.15p, best_cycle 37.04kWh, best_import 19.92kWh
2026-08-15 16:15:13.002546: >> Region optimisation pass width 240 gives best_metric 998.27p, best_cost 1013.15p, best_cycle 37.04kWh, best_import 19.92kWh
2026-08-15 16:15:16.622535: >> Region optimisation pass width 120 gives best_metric 998.27p, best_cost 1013.15p, best_cycle 37.04kWh, best_import 19.92kWh
2026-08-15 16:15:16.623071: Calculated end_record as 08-17 12:30:00 based on best_price 22.76p, next_charge_start 08-16 12:30:00, max_windows 88
2026-08-15 16:15:16.623328: Optimise levels pass ended at 2026-08-15 16:15:16, duration 10.5 seconds tried 294 combinations
2026-08-15 16:15:16.623398: Set best_price_charge_level 24.4p, best_price_export_level 0p, best_price_charge 22.76p, best_cost_export 0p, best_metric 998.27p, best_keep 0kWh, best_cycle 37.04kWh, best_carbon 0kg, best_import 19.92kWh
2026-08-15 16:15:16.644803: Starting detailed optimisation end_record 08-17 12:30:00, best_price_charge 22.76p, best_price_export 0p. lowest_price_charge 21.41p with charge limits [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12.5, 12.5, 12.5, 12.5, 12.5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0]kWh and export limits []kWh
2026-08-15 16:15:41.463672: ML Predictor: Epoch 9/30: lr=0.00084 huber_loss=0.0103 val_mae=0.0028 kWh val_bias=-0.0001 kWh (-0.2%) combined=0.0017 kWh ema_combined=0.0018 kWh
2026-08-15 16:16:06.510684: Tweak plan optimisation started metric 936.36p, cost 951.36p
2026-08-15 16:16:08.061246: Tweak optimisation finished metric 936.36p, cost 951.36p, metric_keep 0kWh, cycle 31.81kWh, carbon 0kg, import 17.08kWh, changed 8 window(s)
2026-08-15 16:16:08.095353: Swap charge optimisation started metric 936.36p, cost 951.36p, min_improvement_swap 0.1p
2026-08-15 16:16:23.868134: Swap charge optimisation finished metric 936.36p, cost 951.36p
2026-08-15 16:16:24.028384: Pruned 2 dead plan slot(s) in 13 trial(s), nominal metric 930.76p -> 930.76p, plan now metric 936.49p, cost 951.36p, cycle 31.81kWh, import 17.08kWh
2026-08-15 16:16:24.040603: Raw charge windows [ 15-08 16:00:00 - 15-08 16:30:00 @ 33.13p 0%, 15-08 16:30:00 - 15-08 17:00:00 @ 33.13p 0%, 15-08 17:00:00 - 15-08 17:30:00 @ 38.46p 0%, 15-08 17:30:00 - 15-08 18:00:00 @ 40.44p 0%, 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 0%, 15-08 18:30:00 - 15-08 19:00:00 @ 43.82p 0%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 0%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 0%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 0%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 0%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 30.02p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 27.8p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.18p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.38p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 26.7p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.31p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.79p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 25.86p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.13p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 25.86p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.27p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.14p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 27.03p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.28p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.68p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 26.1p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 24.28p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 24.94p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.06p 25%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.39p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.66p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.06p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 25.5p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 24.94p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 24.25p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 23.49p 13%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.43p 13%, 16-08 12:30:00 - 16-08 13:00:00 @ 22.33p 22%, 16-08 13:00:00 - 16-08 13:30:00 @ 22.76p 22%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 100%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 78%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.65p 100%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.95p 66%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.83p 69%, 16-08 16:00:00 - 16-08 16:30:00 @ 36.84p 0%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.54p 0%, 16-08 17:00:00 - 16-08 17:30:00 @ 41.79p 0%, 16-08 17:30:00 - 16-08 18:00:00 @ 43.7p 0%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.34p 0%, 16-08 19:00:00 - 16-08 19:30:00 @ 34.79p 0%, 16-08 19:30:00 - 16-08 20:00:00 @ 34.76p 0%, 16-08 20:00:00 - 16-08 20:30:00 @ 35.62p 0%, 16-08 20:30:00 - 16-08 21:00:00 @ 35.3p 0%, 16-08 21:00:00 - 16-08 21:30:00 @ 35.89p 0%, 16-08 21:30:00 - 16-08 22:00:00 @ 35.71p 0%, 16-08 22:00:00 - 16-08 22:30:00 @ 33.75p 0%, 16-08 22:30:00 - 16-08 23:00:00 @ 32.0p 0%, 16-08 23:00:00 - 16-08 23:30:00 @ 30.02p 0%, 16-08 23:30:00 - 17-08 00:00:00 @ 27.8p 0%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.18p 0%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.38p 0%, 17-08 01:00:00 - 17-08 01:30:00 @ 26.7p 0%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.31p 0%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.79p 19%, 17-08 02:30:00 - 17-08 03:00:00 @ 25.86p 0%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.13p 0%, 17-08 03:30:00 - 17-08 04:00:00 @ 25.86p 0%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.27p 0%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.14p 0%, 17-08 05:00:00 - 17-08 05:30:00 @ 27.03p 0%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.28p 0%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.68p 0%, 17-08 06:30:00 - 17-08 07:00:00 @ 26.1p 0%, 17-08 07:00:00 - 17-08 07:30:00 @ 24.28p 0%, 17-08 07:30:00 - 17-08 08:00:00 @ 24.94p 0%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.06p 0%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.39p 0%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.66p 0%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.06p 0%, 17-08 10:00:00 - 17-08 10:30:00 @ 25.5p 0%, 17-08 10:30:00 - 17-08 11:00:00 @ 24.94p 0%, 17-08 11:00:00 - 17-08 11:30:00 @ 24.25p 0%, 17-08 11:30:00 - 17-08 12:00:00 @ 23.49p 0%, 17-08 12:00:00 - 17-08 12:30:00 @ 23.43p 0%, 17-08 12:30:00 - 17-08 13:00:00 @ 22.33p 100%, 17-08 13:00:00 - 17-08 13:30:00 @ 22.76p 100%, 17-08 13:30:00 - 17-08 14:00:00 @ 22.3p 100%, 17-08 14:00:00 - 17-08 14:30:00 @ 21.41p 100%, 17-08 14:30:00 - 17-08 15:00:00 @ 21.65p 100%, 17-08 15:00:00 - 17-08 15:30:00 @ 22.95p 100%, 17-08 15:30:00 - 17-08 16:00:00 @ 22.83p 100%, 17-08 16:00:00 - 17-08 16:30:00 @ 36.84p 100% ] reserve 1.12
2026-08-15 16:16:24.041967: Unclipped charge windows [ 16-08 08:00:00 - 16-08 08:30:00 @ 24.06p 25%, 16-08 11:30:00 - 16-08 12:30:00 @ 23.46p 13%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 22%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 100%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 78%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.65p 100%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.95p 66%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.83p 69%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.79p 19%, 17-08 12:30:00 - 17-08 16:30:00 @ 29.72p 100% ] reserve 1.12
2026-08-15 16:16:24.042633: Unfiltered charge windows [ 16-08 08:00:00 - 16-08 08:30:00 @ 24.06p 25%, 16-08 11:30:00 - 16-08 12:30:00 @ 23.46p 13%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 22%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 100%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 100%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.65p 100%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.95p 66%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.83p 69%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.79p 19%, 17-08 12:30:00 - 17-08 16:30:00 @ 29.72p 100% ] reserve 1.12
2026-08-15 16:16:24.043084: Filtered charge windows [ 16-08 08:00:00 - 16-08 08:30:00 @ 24.06p 25%, 16-08 11:30:00 - 16-08 12:30:00 @ 23.46p 13%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 22%, 16-08 13:30:00 - 16-08 15:00:00 @ 21.75p 100%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.95p 66%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.83p 69%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.79p 19%, 17-08 12:30:00 - 17-08 16:30:00 @ 29.72p 100% ] reserve 1.12
2026-08-15 16:16:24.090837: Previous plan best metric is 936.45 (cost 951.44) and new plan best metric is 936.36 (cost 951.36)
2026-08-15 16:16:24.104444: New plan is a cost-neutral improvement but less fragmented (5 vs 6 segments), using new plan
2026-08-15 16:16:24.104627: Plan valid is now true after recompute was False
2026-08-15 16:16:24.155384: predict base end_record 08-17 12:30:00, final soc 1.12kWh, metric 1115.85p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 12:25:00, load 38.04kWh, PV 0.0kWh
2026-08-15 16:16:24.450997: Battery has 20.17 hours left - now at 15.84kWh
2026-08-15 16:16:24.565886: predict base10 end_record 08-17 12:30:00, final soc 1.12kWh, metric 1152.75p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 11:40:00, load 39.45kWh, PV 0.0kWh
2026-08-15 16:16:24.715420: predict best10 end_record 08-17 12:30:00, final soc 1.12kWh, metric 1089.57p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 05:15:00, load 39.45kWh, PV 0.0kWh
2026-08-15 16:16:24.911633: predict best end_record 08-17 12:30:00, final soc 1.12kWh, metric 1051.32p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 05:55:00, load 38.04kWh, PV 0.0kWh
2026-08-15 16:16:24.911886: Saving plan best values to HA entities
2026-08-15 16:16:25.211670: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0
2026-08-15 16:16:25.221481: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 16:16:25.230358: Best charging limit SoC's [4.0, 2.0, 3.5, 16.0, 10.5, 11.0, 3.0, 16.0]kWh, export []kWh gives import battery 13.24kWh, house 3.85kWh, export 0.0kWh, metric 1051.32p, metric10 1089.57p
2026-08-15 16:16:25.356854: Marginal costs baseline metric (no standing charge): 951.3568
2026-08-15 16:16:25.810593: Marginal energy costs matrix computed: min=26.42 max=33.55
2026-08-15 16:16:25.926143: Rate array import [{'start': 975, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1410, 'rate': 'expensive', 'range': '(29.8p - 32.9p)'}, {'start': 1410, 'end': 2400, 'rate': 'cheap', 'range': '(21.4p - 28.2p)'}, {'start': 2400, 'end': 2430, 'rate': 'expensive', 'range': '(36.8p)'}, {'start': 2430, 'end': 2580, 'rate': 'very expensive', 'range': '(37.5p - 45.3p)'}, {'start': 2580, 'end': 2850, 'rate': 'expensive', 'range': '(30.0p - 35.9p)'}, {'start': 2850, 'end': 3630, 'rate': 'cheap', 'range': '(23.4p - 28.2p)'}] export [{'start': 975, 'end': 3630, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 16:16:25.927360: - Your estimated bill for today is £5.63 and tomorrow is £3.35
2026-08-15 16:16:25.928212: - Import rates are expensive (33.1p) for the next 45 minutes and then very expensive (38.5p - 43.8p) for the next 2 hours.
2026-08-15 16:16:25.928255: - The battery is currently at 99% and is in eco mode for the next 15 hours.
2026-08-15 16:16:25.928375: - For the next 48 hours there will be no solar generation.
2026-08-15 16:16:25.928417: - You will run out of battery in 37 hours.
2026-08-15 16:16:25.928474: - Your next charge slot will be in 15 hours where import rates will be cheap (24.1p).
2026-08-15 16:16:25.928540: 
2026-08-15 16:16:26.010134: Plan calculation took 79.92 seconds
2026-08-15 16:16:26.010464: Inverter 0: Type SK Sunsynk
2026-08-15 16:16:26.010525: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 16:16:26.010720: Reserve min: 7%, battery_min: 7%
2026-08-15 16:16:26.010828: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 16:16:26.011141: Inverter 0 SoC: 15.84kW 99%, current charge rate 5000W, current discharge rate 5250W, current battery power 325W, current battery voltage 51.2V, grid power -55W, load power 398W, PV Power 0W
2026-08-15 16:16:26.011330: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 16:16:26.011440: Inverter 0 scheduled charge enable is False
2026-08-15 16:16:26.011484: Inverter 0 charge windows currently []
2026-08-15 16:16:26.011512: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 16:16:26.011629: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 16:16:26.011666: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 16:16:26.011703: Inverter 0 scheduled discharge enable is False
2026-08-15 16:16:26.011856: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 16:16:26.011897: Inverter 0 discharge windows currently []
2026-08-15 16:16:26.011920: Note: Inverter does not support discharge freeze - disabled
2026-08-15 16:16:26.011940: Note: Inverter does not support charge freeze - disabled
2026-08-15 16:16:26.011958: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 16:16:26.146011: Inverter 0 Charge window will be: 2026-08-16 08:00:00+01:00 - 2026-08-16 08:30:00+01:00 - current SoC 99%, target 25%
2026-08-15 16:16:26.146191: Inverter 0 disabled charge window while waiting for schedule (now 08-15 16:15:00 target set_window_minutes 30 charge start time 08-16 08:00:00) original inverter start time 08-17 00:00:00
2026-08-15 16:16:26.146268: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 16:16:26.146514: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 16:16:26.146607: No export window planned
2026-08-15 16:16:26.146737: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 16:16:26.146782: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 16:16:26.154552: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 16:16:26.155051: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 16:15:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 16:16:26.155181: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 16:16:26.155336: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 16:16:26.155510: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 16:16:26.155613: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 16:16:26.155714: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 16:16:26.155771: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 16:16:26.155902: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 16:16:26.155997: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 16:16:26.156091: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 16:16:26.156253: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 16:16:26.156406: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 16:16:26.156506: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 16:16:26.156604: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 16:16:26.156694: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 16:16:26.159014: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 16:16:26.159153: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 16:16:26.159207: Inverter 0 count register writes 0
2026-08-15 16:16:26.222685: Total inverter register writes now 826
2026-08-15 16:16:26.278546: Info: Completed run status Demand
2026-08-15 16:16:26.288430: Info: record_status Demand
2026-08-15 16:16:26.299337: Saved current settings to /config/predbat_config.json
2026-08-15 16:16:26.299621: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 16:16:38.680906: ML Predictor: Epoch 10/30: lr=0.00080 huber_loss=0.0098 val_mae=0.0026 kWh val_bias=-0.0010 kWh (-1.8%) combined=0.0022 kWh ema_combined=0.0019 kWh
2026-08-15 16:16:57.460177: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 16:16:57.460983: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 16:16:57.461336: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 16:16:57.461925: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 16:16:57.462141: Note: Inverter does not support discharge freeze - disabled
2026-08-15 16:16:57.462798: Note: Inverter does not support charge freeze - disabled
2026-08-15 16:16:57.463000: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 16:17:09.012875: ML Predictor: Epoch 11/30: lr=0.00076 huber_loss=0.0094 val_mae=0.0024 kWh val_bias=-0.0000 kWh (-0.0%) combined=0.0015 kWh ema_combined=0.0018 kWh
2026-08-15 16:17:09.013931: ML Predictor: Early stopping at epoch 11
2026-08-15 16:17:09.015017: ML Predictor: Restored best weights from epoch with val_mae=0.0034 kWh val_bias=-0.0003 kWh (-0.6%)
2026-08-15 16:17:09.015294: ML Predictor: Training complete, final val_mae=0.0034 kWh val_bias=-0.0003 kWh (-0.6%)
2026-08-15 16:17:17.473830: ML Predictor: AR rollout over holdout: ar_mae=0.0045 kWh ar_bias=-0.0006 kWh (-1.1%) [drift vs teacher-forced: +0.0012 kWh]
2026-08-15 16:17:17.479216: ML Predictor: Curriculum pass 1/5 complete, val_mae=0.0034 kWh
2026-08-15 16:17:17.567281: ML Predictor: Curriculum pass 2/5: window=55.0 days (1320 hours of data)
2026-08-15 16:17:17.567424: ML Predictor: Starting fine-tune training with 30 epochs
2026-08-15 16:17:18.217893: ML Predictor: Creating dataset with 1320 hours of training data, 48 hours validation
2026-08-15 16:17:23.095480: ML Predictor: Created 15552 training samples, 576 validation samples
2026-08-15 16:17:23.143967: ML Predictor: Normalization stats [ema-update alpha=0.1] target(mean=0.0586 std=0.0469) load(mean=0.0587 std=0.0469) pv(mean=0.0000 std=0.0100) temp(mean=19.5091 std=4.4216) import_rate(mean=25.5284 std=2.4645) export_rate(mean=0.0000 std=1.0000) time(mean=-0.1883 std=0.5246)
2026-08-15 16:17:23.222697: ML Predictor: Applied EMA normalization update (alpha=0.1) to track feature drift
2026-08-15 16:17:23.237891: ML Predictor: Reset Adam optimiser state for fine-tuning
2026-08-15 16:17:23.292840: ML Predictor: Baseline (pre-finetune) val_mae=0.0047 kWh val_bias=-0.0016 kWh
2026-08-15 16:17:53.401921: ML Predictor: Epoch 1/30: lr=0.00100 huber_loss=0.0156 val_mae=0.0044 kWh val_bias=-0.0007 kWh (-1.0%) combined=0.0022 kWh ema_combined=0.0022 kWh
2026-08-15 16:18:25.372860: ML Predictor: Epoch 2/30: lr=0.00100 huber_loss=0.0148 val_mae=0.0041 kWh val_bias=-0.0010 kWh (-1.4%) combined=0.0021 kWh ema_combined=0.0022 kWh
2026-08-15 16:18:59.284666: ML Predictor: Epoch 3/30: lr=0.00099 huber_loss=0.0131 val_mae=0.0038 kWh val_bias=-0.0019 kWh (-2.7%) combined=0.0031 kWh ema_combined=0.0025 kWh
2026-08-15 16:19:11.776340: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 16:19:11.776658: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 16:19:11.776716: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 16:19:11.777080: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 16:19:11.777148: Note: Inverter does not support discharge freeze - disabled
2026-08-15 16:19:11.777243: Note: Inverter does not support charge freeze - disabled
2026-08-15 16:19:11.777360: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 16:19:30.696743: ML Predictor: Epoch 4/30: lr=0.00098 huber_loss=0.0125 val_mae=0.0038 kWh val_bias=+0.0006 kWh (+0.9%) combined=0.0026 kWh ema_combined=0.0025 kWh
2026-08-15 16:20:00.083903: --------------- PredBat - update at 2026-08-15 16:20:00+01:00 with clock skew 0 minutes, minutes now 980
2026-08-15 16:20:00.084980: Saved current settings to /config/predbat_config.json
2026-08-15 16:20:00.085184: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 120.0 minutes
2026-08-15 16:20:00.085371: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.2, latest beta is v8.48.2
2026-08-15 16:20:00.085497: Autoupdate: There is an update pending v8.48.2 PV90 and second pass enabled by default, bug fixes - auto update is off
2026-08-15 16:20:00.149632: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 16:20:00.149997: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 16:20:00.150220: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 16:20:00.150877: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 16:20:00.151030: Predbat mode is set to Control charge & discharge
2026-08-15 16:20:00.537248: Found 21602 load_today datapoints going back 28 days
2026-08-15 16:20:00.549479: Using load_power data to fill gaps in load_today data
2026-08-15 16:20:01.967254: Processing 721 30-minute periods for power integration
2026-08-15 16:20:02.289043: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 16:20:02.289205: Car charging hold False, threshold 6.0kWh
2026-08-15 16:20:02.289265: Current data so far today: load 8.62kWh, import 27.5kWh, export 0.0kWh, PV 0kWh
2026-08-15 16:20:02.351662: Cars: SoC: [10.548]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 16:20:02.352453: Standing charge is set to 49.98p
2026-08-15 16:20:02.419085: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 16:20:02.419193: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 16:20:02.419421: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 340.0 minutes
2026-08-15 16:20:02.419872: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 340.0 minutes
2026-08-15 16:20:02.426711: Loaded 95 datapoints of futurerate analysis
2026-08-15 16:20:02.645145: Predicted future rates: ['08-15 00:00:00 => 28.69 / 20.01', '08-15 01:00:00 => 27.33 / 19.31', '08-15 02:00:00 => 26.31 / 18.8', '08-15 03:00:00 => 25.78 / 18.53', '08-15 04:00:00 => 25.59 / 18.43', '08-15 05:00:00 => 25.75 / 18.51', '08-15 06:00:00 => 25.34 / 18.3', '08-15 07:00:00 => 24.12 / 17.68', '08-15 08:00:00 => 22.82 / 17.01', '08-15 09:00:00 => 21.84 / 16.51', '08-15 10:00:00 => 20.22 / 15.68', '08-15 11:00:00 => 17.8 / 14.45', '08-15 12:00:00 => 16.16 / 13.61', '08-15 13:00:00 => 15.55 / 13.3', '08-15 14:00:00 => 15.14 / 13.09', '08-15 15:00:00 => 15.65 / 13.35', '08-15 16:00:00 => 32.68 / 16.13', '08-15 17:00:00 => 37.81 / 18.75', '08-15 18:00:00 => 42.15 / 20.96', '08-15 19:00:00 => 30.88 / 21.13', '08-15 20:00:00 => 31.43 / 21.41', '08-15 21:00:00 => 31.43 / 21.41', '08-15 22:00:00 => 30.37 / 20.87', '08-15 23:00:00 => 29.16 / 20.25', '08-16 00:00:00 => 28.62 / 19.97', '08-16 01:00:00 => 27.52 / 19.41', '08-16 02:00:00 => 26.55 / 18.92', '08-16 03:00:00 => 26.18 / 18.73', '08-16 04:00:00 => 26.12 / 18.7', '08-16 05:00:00 => 26.02 / 18.65', '08-16 06:00:00 => 25.78 / 18.53', '08-16 07:00:00 => 25.43 / 18.35', '08-16 08:00:00 => 24.63 / 17.94', '08-16 09:00:00 => 24.05 / 17.64', '08-16 10:00:00 => 24.59 / 17.92', '08-16 11:00:00 => 24.5 / 17.87', '08-16 12:00:00 => 23.58 / 17.4', '08-16 13:00:00 => 22.93 / 17.07', '08-16 14:00:00 => 21.8 / 16.49', '08-16 15:00:00 => 21.8 / 16.49']
2026-08-15 16:20:02.698698: Rate min forward looking: now 21.41p at end of forecast 21.41p
2026-08-15 16:20:02.699058: Import rates: min 21.41p, max 45.28p, average 28.32p
2026-08-15 16:20:02.799323: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 16:20:02.813202: Rate thresholds (for charge/export) are import 44.78p (0.0p), export -0.1p (0.0p)
2026-08-15 16:20:02.815303: High export rate found rates in range 99p to -99p
2026-08-15 16:20:03.095223: Low Import rate found rates in range 21.41p to 44.34p
2026-08-15 16:20:03.096416: Car 0 charging is not planned as it is not plugged in
2026-08-15 16:20:03.114123: Battery level now 15.84kWh, -1hr ago 13.5kWh, at midnight 1.66kWh, battery value change in the last hour 43.11p, change today 260.89p, rate_forward 18.39p
2026-08-15 16:20:03.114759: Last hour: net energy 3.65kWh, import 3.65kWh, export 0.0kWh, car 0kWh, load 0.28kWh, net cost 63.47p, import 63.47p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 16:20:03.226879: Today's energy total net 27.5kWh, import 27.5kWh, export 0.0kWh, cost 562.65p, import 512.67p, export 0.0p, carbon 0.0kg
2026-08-15 16:20:03.227228: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 16:20:03.406764: Using weighted-bucket historical load forecast over 14 days
2026-08-15 16:20:03.496113: Today's load divergence 91.21%, in-day adjustment 108.3%, damping 0.95x, yesterday 143.77% today 91.65% blend 31.94%
2026-08-15 16:20:03.496570: Today's predicted so far 9.86kWh with 0.0kWh car/iBoost excluded, 20.88kWh import ignored, and 9.86kWh forecast extra.
2026-08-15 16:20:03.496723: Today's actual load so far 8.62kWh with 0.0kWh car/iBoost excluded, and 20.88kWh import ignored.
2026-08-15 16:20:03.580643: Inverter 0: Type SK Sunsynk
2026-08-15 16:20:03.580753: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 16:20:03.581071: Reserve min: 7%, battery_min: 7%
2026-08-15 16:20:03.581262: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 16:20:03.581663: Inverter 0 SoC: 15.84kW 99%, current charge rate 5000W, current discharge rate 5250W, current battery power 277W, current battery voltage 51.2V, grid power -53W, load power 348W, PV Power 0W
2026-08-15 16:20:03.581956: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 16:20:03.582113: Inverter 0 scheduled charge enable is False
2026-08-15 16:20:03.582167: Inverter 0 charge windows currently []
2026-08-15 16:20:03.582274: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 16:20:03.582506: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 16:20:03.582563: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 16:20:03.582654: Inverter 0 scheduled discharge enable is False
2026-08-15 16:20:03.582936: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 16:20:03.583003: Inverter 0 discharge windows currently []
2026-08-15 16:20:03.587860: Note: Inverter does not support discharge freeze - disabled
2026-08-15 16:20:03.587919: Note: Inverter does not support charge freeze - disabled
2026-08-15 16:20:03.587946: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 16:20:03.756853: Dynamic load last period 0.30kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 16:20:03.757062: Plan was last updated on 2026-08-15 16:15:00+01:00 and is now 5.0 minutes old
2026-08-15 16:20:03.757737: Best charge window [ 16-08 08:00:00 - 16-08 08:30:00 @ 24.06p 25%, 16-08 11:30:00 - 16-08 12:30:00 @ 23.46p 13%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 22%, 16-08 13:30:00 - 16-08 15:00:00 @ 21.75p 100%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.95p 66%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.83p 69%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.79p 19%, 17-08 12:30:00 - 17-08 16:30:00 @ 29.72p 100% ]
2026-08-15 16:20:03.757821: Best export window [  ]
2026-08-15 16:20:03.759236: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 16:20:03.764551: Load divergence over 8.0 hours mean 561.71W, min 292.8W, max 1903.2W, std dev 376.16W, divergence 33.48%
2026-08-15 16:20:03.835118: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 16:20:03.849061: LoadML is_calculating True
2026-08-15 16:20:03.849278: Not using thread pool as LoadML is calculating to avoid lockups
2026-08-15 16:20:03.953747: predict base end_record 08-17 12:35:00, final soc 1.12kWh, metric 1117.01p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 12:25:00, load 38.22kWh, PV 0.0kWh
2026-08-15 16:20:04.218083: Battery has 20.08 hours left - now at 15.84kWh
2026-08-15 16:20:04.322577: predict base10 end_record 08-17 12:35:00, final soc 1.12kWh, metric 1154.01p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 11:40:00, load 39.63kWh, PV 0.0kWh
2026-08-15 16:20:04.495661: ML Predictor: Epoch 5/30: lr=0.00096 huber_loss=0.0115 val_mae=0.0037 kWh val_bias=-0.0014 kWh (-1.9%) combined=0.0022 kWh ema_combined=0.0024 kWh
2026-08-15 16:20:04.509862: predict best10 end_record 08-17 12:35:00, final soc 1.44kWh, metric 1098.46p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 05:15:00, load 39.63kWh, PV 0.0kWh
2026-08-15 16:20:04.657573: predict best end_record 08-17 12:35:00, final soc 1.51kWh, metric 1061.76p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 05:55:00, load 38.22kWh, PV 0.0kWh
2026-08-15 16:20:04.657687: Saving plan best values to HA entities
2026-08-15 16:20:05.006790: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 16:20:05.022171: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 16:20:05.030330: Best charging limit SoC's [4.0, 2.0, 3.5, 16.0, 10.5, 11.0, 3.0, 16.0]kWh, export []kWh gives import battery 13.69kWh, house 3.87kWh, export 0.0kWh, metric 1061.76p, metric10 1098.46p
2026-08-15 16:20:05.204440: Marginal costs baseline metric (no standing charge): 961.7942
2026-08-15 16:20:05.695971: Marginal energy costs matrix computed: min=26.42 max=33.15
2026-08-15 16:20:05.831795: Rate array import [{'start': 980, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1410, 'rate': 'expensive', 'range': '(29.8p - 32.9p)'}, {'start': 1410, 'end': 2400, 'rate': 'cheap', 'range': '(21.4p - 28.2p)'}, {'start': 2400, 'end': 2430, 'rate': 'expensive', 'range': '(36.8p)'}, {'start': 2430, 'end': 2580, 'rate': 'very expensive', 'range': '(37.5p - 45.3p)'}, {'start': 2580, 'end': 2850, 'rate': 'expensive', 'range': '(30.0p - 35.9p)'}, {'start': 2850, 'end': 3635, 'rate': 'cheap', 'range': '(22.3p - 28.2p)'}] export [{'start': 980, 'end': 3635, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 16:20:05.833076: - Your estimated bill for today is £5.63 and tomorrow is £3.34
2026-08-15 16:20:05.833233: - Import rates are expensive (33.1p) for the next 40 minutes and then very expensive (38.5p - 43.8p) for the next 2 hours.
2026-08-15 16:20:05.833396: - The battery is currently at 99% and is in eco mode for the next 15 hours.
2026-08-15 16:20:05.833504: - For the next 48 hours there will be no solar generation.
2026-08-15 16:20:05.833547: - You will run out of battery in 37 hours.
2026-08-15 16:20:05.833609: - Your next charge slot will be in 15 hours where import rates will be cheap (24.1p).
2026-08-15 16:20:05.833650: 
2026-08-15 16:20:05.917880: Plan calculation took 2.16 seconds
2026-08-15 16:20:05.922961: No high rate period found
2026-08-15 16:20:06.080612: Import threshold used for optimisation was 25.86p
2026-08-15 16:20:06.207620: Low import rate windows [0: 08-15 16:00:00 - 08-15 16:30:00 @ 33.13, 1: 08-15 16:30:00 - 08-15 17:00:00 @ 33.13, 2: 08-15 17:00:00 - 08-15 17:30:00 @ 38.46, 3: 08-15 17:30:00 - 08-15 18:00:00 @ 40.44, 4: 08-15 18:00:00 - 08-15 18:30:00 @ 41.55, 5: 08-15 18:30:00 - 08-15 19:00:00 @ 43.82, 6: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 7: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 8: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 9: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 10: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 11: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 12: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 13: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 14: 08-15 23:00:00 - 08-15 23:30:00 @ 30.02, 15: 08-15 23:30:00 - 08-16 00:00:00 @ 27.8, 16: 08-16 00:00:00 - 08-16 00:30:00 @ 28.18, 17: 08-16 00:30:00 - 08-16 01:00:00 @ 27.38, 18: 08-16 01:00:00 - 08-16 01:30:00 @ 26.7, 19: 08-16 01:30:00 - 08-16 02:00:00 @ 26.31, 20: 08-16 02:00:00 - 08-16 02:30:00 @ 25.79, 21: 08-16 02:30:00 - 08-16 03:00:00 @ 25.86, 22: 08-16 03:00:00 - 08-16 03:30:00 @ 26.13, 23: 08-16 03:30:00 - 08-16 04:00:00 @ 25.86, 24: 08-16 04:00:00 - 08-16 04:30:00 @ 26.27, 25: 08-16 04:30:00 - 08-16 05:00:00 @ 26.14, 26: 08-16 05:00:00 - 08-16 05:30:00 @ 27.03, 27: 08-16 05:30:00 - 08-16 06:00:00 @ 26.28, 28: 08-16 06:00:00 - 08-16 06:30:00 @ 25.68, 29: 08-16 06:30:00 - 08-16 07:00:00 @ 26.1, 30: 08-16 07:00:00 - 08-16 07:30:00 @ 24.28, 31: 08-16 07:30:00 - 08-16 08:00:00 @ 24.94, 32: 08-16 08:00:00 - 08-16 08:30:00 @ 24.06, 33: 08-16 08:30:00 - 08-16 09:00:00 @ 24.39, 34: 08-16 09:00:00 - 08-16 09:30:00 @ 24.66, 35: 08-16 09:30:00 - 08-16 10:00:00 @ 24.06, 36: 08-16 10:00:00 - 08-16 10:30:00 @ 25.5, 37: 08-16 10:30:00 - 08-16 11:00:00 @ 24.94, 38: 08-16 11:00:00 - 08-16 11:30:00 @ 24.25, 39: 08-16 11:30:00 - 08-16 12:00:00 @ 23.49, 40: 08-16 12:00:00 - 08-16 12:30:00 @ 23.43, 41: 08-16 12:30:00 - 08-16 13:00:00 @ 22.33, 42: 08-16 13:00:00 - 08-16 13:30:00 @ 22.76, 43: 08-16 13:30:00 - 08-16 14:00:00 @ 22.3, 44: 08-16 14:00:00 - 08-16 14:30:00 @ 21.41, 45: 08-16 14:30:00 - 08-16 15:00:00 @ 21.65, 46: 08-16 15:00:00 - 08-16 15:30:00 @ 22.95, 47: 08-16 15:30:00 - 08-16 16:00:00 @ 22.83, 48: 08-16 16:00:00 - 08-16 16:30:00 @ 36.84, 49: 08-16 16:30:00 - 08-16 17:00:00 @ 37.54, 50: 08-16 17:00:00 - 08-16 17:30:00 @ 41.79, 51: 08-16 17:30:00 - 08-16 18:00:00 @ 43.7, 52: 08-16 18:00:00 - 08-16 18:30:00 @ 44.34, 53: 08-16 19:00:00 - 08-16 19:30:00 @ 34.79, 54: 08-16 19:30:00 - 08-16 20:00:00 @ 34.76, 55: 08-16 20:00:00 - 08-16 20:30:00 @ 35.62, 56: 08-16 20:30:00 - 08-16 21:00:00 @ 35.3, 57: 08-16 21:00:00 - 08-16 21:30:00 @ 35.89, 58: 08-16 21:30:00 - 08-16 22:00:00 @ 35.71, 59: 08-16 22:00:00 - 08-16 22:30:00 @ 33.75, 60: 08-16 22:30:00 - 08-16 23:00:00 @ 32.0, 61: 08-16 23:00:00 - 08-16 23:30:00 @ 30.02, 62: 08-16 23:30:00 - 08-17 00:00:00 @ 27.8, 63: 08-17 00:00:00 - 08-17 00:30:00 @ 28.18, 64: 08-17 00:30:00 - 08-17 01:00:00 @ 27.38, 65: 08-17 01:00:00 - 08-17 01:30:00 @ 26.7, 66: 08-17 01:30:00 - 08-17 02:00:00 @ 26.31, 67: 08-17 02:00:00 - 08-17 02:30:00 @ 25.79, 68: 08-17 02:30:00 - 08-17 03:00:00 @ 25.86, 69: 08-17 03:00:00 - 08-17 03:30:00 @ 26.13, 70: 08-17 03:30:00 - 08-17 04:00:00 @ 25.86, 71: 08-17 04:00:00 - 08-17 04:30:00 @ 26.27, 72: 08-17 04:30:00 - 08-17 05:00:00 @ 26.14, 73: 08-17 05:00:00 - 08-17 05:30:00 @ 27.03, 74: 08-17 05:30:00 - 08-17 06:00:00 @ 26.28, 75: 08-17 06:00:00 - 08-17 06:30:00 @ 25.68, 76: 08-17 06:30:00 - 08-17 07:00:00 @ 26.1, 77: 08-17 07:00:00 - 08-17 07:30:00 @ 24.28, 78: 08-17 07:30:00 - 08-17 08:00:00 @ 24.94, 79: 08-17 08:00:00 - 08-17 08:30:00 @ 24.06, 80: 08-17 08:30:00 - 08-17 09:00:00 @ 24.39, 81: 08-17 09:00:00 - 08-17 09:30:00 @ 24.66, 82: 08-17 09:30:00 - 08-17 10:00:00 @ 24.06, 83: 08-17 10:00:00 - 08-17 10:30:00 @ 25.5, 84: 08-17 10:30:00 - 08-17 11:00:00 @ 24.94, 85: 08-17 11:00:00 - 08-17 11:30:00 @ 24.25, 86: 08-17 11:30:00 - 08-17 12:00:00 @ 23.49, 87: 08-17 12:00:00 - 08-17 12:30:00 @ 23.43, 88: 08-17 12:30:00 - 08-17 13:00:00 @ 22.33, 89: 08-17 13:00:00 - 08-17 13:30:00 @ 22.76, 90: 08-17 13:30:00 - 08-17 14:00:00 @ 22.3, 91: 08-17 14:00:00 - 08-17 14:30:00 @ 21.41, 92: 08-17 14:30:00 - 08-17 15:00:00 @ 21.65, 93: 08-17 15:00:00 - 08-17 15:30:00 @ 22.95, 94: 08-17 15:30:00 - 08-17 16:00:00 @ 22.83, 95: 08-17 16:00:00 - 08-17 16:30:00 @ 36.84]
2026-08-15 16:20:06.229753: Inverter 0 Charge window will be: 2026-08-16 08:00:00+01:00 - 2026-08-16 08:30:00+01:00 - current SoC 99%, target 25%
2026-08-15 16:20:06.229993: Inverter 0 disabled charge window while waiting for schedule (now 08-15 16:20:00 target set_window_minutes 30 charge start time 08-16 08:00:00) original inverter start time 08-17 00:00:00
2026-08-15 16:20:06.230125: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 16:20:06.230493: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 16:20:06.230639: No export window planned
2026-08-15 16:20:06.230853: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 16:20:06.230928: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 16:20:06.231227: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 16:20:06.231508: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 16:20:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 16:20:06.231610: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 16:20:06.231718: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 16:20:06.231872: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 16:20:06.231969: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 16:20:06.232047: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 16:20:06.232117: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 16:20:06.232168: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 16:20:06.232235: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 16:20:06.232297: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 16:20:06.232478: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 16:20:06.232570: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 16:20:06.232635: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 16:20:06.232689: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 16:20:06.232743: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 16:20:06.232810: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 16:20:06.232888: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 16:20:06.233120: Inverter 0 count register writes 0
2026-08-15 16:20:06.278381: Will not recompute the plan, it is 5.0 minutes old and max age is 10 minutes
2026-08-15 16:20:06.286988: Total inverter register writes now 826
2026-08-15 16:20:06.343588: Info: Completed run status Demand
2026-08-15 16:20:06.364471: Info: record_status Demand
2026-08-15 16:20:06.375446: Saved current settings to /config/predbat_config.json
2026-08-15 16:20:06.375688: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 16:20:37.371307: ML Predictor: Epoch 6/30: lr=0.00094 huber_loss=0.0110 val_mae=0.0034 kWh val_bias=-0.0009 kWh (-1.3%) combined=0.0022 kWh ema_combined=0.0023 kWh
2026-08-15 16:20:41.548447: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 16:20:41.548684: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 16:20:41.548719: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 16:20:41.548855: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 16:20:41.548898: Note: Inverter does not support discharge freeze - disabled
2026-08-15 16:20:41.548921: Note: Inverter does not support charge freeze - disabled
2026-08-15 16:20:41.548941: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 16:21:07.716118: ML Predictor: Epoch 7/30: lr=0.00091 huber_loss=0.0111 val_mae=0.0036 kWh val_bias=-0.0013 kWh (-1.8%) combined=0.0022 kWh ema_combined=0.0023 kWh
2026-08-15 16:21:40.561897: ML Predictor: Epoch 8/30: lr=0.00088 huber_loss=0.0114 val_mae=0.0033 kWh val_bias=-0.0004 kWh (-0.6%) combined=0.0018 kWh ema_combined=0.0022 kWh
2026-08-15 16:22:13.617913: ML Predictor: Epoch 9/30: lr=0.00084 huber_loss=0.0099 val_mae=0.0034 kWh val_bias=-0.0002 kWh (-0.3%) combined=0.0019 kWh ema_combined=0.0021 kWh
2026-08-15 16:22:41.980652: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 16:22:41.980976: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 16:22:41.981034: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 16:22:41.981209: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 16:22:41.981257: Note: Inverter does not support discharge freeze - disabled
2026-08-15 16:22:41.981284: Note: Inverter does not support charge freeze - disabled
2026-08-15 16:22:41.981418: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 16:22:45.753421: ML Predictor: Epoch 10/30: lr=0.00080 huber_loss=0.0095 val_mae=0.0031 kWh val_bias=-0.0009 kWh (-1.3%) combined=0.0017 kWh ema_combined=0.0020 kWh
2026-08-15 16:23:15.733576: ML Predictor: Epoch 11/30: lr=0.00076 huber_loss=0.0093 val_mae=0.0032 kWh val_bias=+0.0008 kWh (+1.1%) combined=0.0023 kWh ema_combined=0.0021 kWh
2026-08-15 16:23:47.936431: ML Predictor: Epoch 12/30: lr=0.00072 huber_loss=0.0078 val_mae=0.0032 kWh val_bias=-0.0015 kWh (-2.1%) combined=0.0022 kWh ema_combined=0.0021 kWh
2026-08-15 16:24:18.135512: ML Predictor: Epoch 13/30: lr=0.00067 huber_loss=0.0088 val_mae=0.0030 kWh val_bias=+0.0002 kWh (+0.3%) combined=0.0015 kWh ema_combined=0.0019 kWh
2026-08-15 16:24:42.410192: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 16:24:42.410651: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 16:24:42.410801: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 16:24:42.411137: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 16:24:42.411295: Note: Inverter does not support discharge freeze - disabled
2026-08-15 16:24:42.411454: Note: Inverter does not support charge freeze - disabled
2026-08-15 16:24:42.411568: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 16:24:48.944281: ML Predictor: Epoch 14/30: lr=0.00062 huber_loss=0.0077 val_mae=0.0031 kWh val_bias=-0.0010 kWh (-1.4%) combined=0.0017 kWh ema_combined=0.0018 kWh
2026-08-15 16:25:00.650082: --------------- PredBat - update at 2026-08-15 16:25:00+01:00 with clock skew 0 minutes, minutes now 985
2026-08-15 16:25:00.651159: Saved current settings to /config/predbat_config.json
2026-08-15 16:25:01.209203: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.2, latest beta is v8.48.2
2026-08-15 16:25:01.209350: Autoupdate: There is an update pending v8.48.2 PV90 and second pass enabled by default, bug fixes - auto update is off
2026-08-15 16:25:01.258763: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 16:25:01.258947: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 16:25:01.259295: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 16:25:01.259979: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 16:25:01.260227: Predbat mode is set to Control charge & discharge
2026-08-15 16:25:01.635085: Found 21602 load_today datapoints going back 28 days
2026-08-15 16:25:01.635234: Using load_power data to fill gaps in load_today data
2026-08-15 16:25:02.917853: Processing 721 30-minute periods for power integration
2026-08-15 16:25:03.233839: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 16:25:03.234101: Car charging hold False, threshold 6.0kWh
2026-08-15 16:25:03.234163: Current data so far today: load 8.65kWh, import 27.5kWh, export 0.0kWh, PV 0kWh
2026-08-15 16:25:03.269887: Cars: SoC: [10.548]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 16:25:03.271131: Standing charge is set to 49.98p
2026-08-15 16:25:03.330882: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 16:25:03.331252: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 16:25:03.331537: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 345.0 minutes
2026-08-15 16:25:03.331941: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 345.0 minutes
2026-08-15 16:25:03.338380: Loaded 95 datapoints of futurerate analysis
2026-08-15 16:25:03.526918: Predicted future rates: ['08-15 00:00:00 => 28.69 / 20.01', '08-15 01:00:00 => 27.33 / 19.31', '08-15 02:00:00 => 26.31 / 18.8', '08-15 03:00:00 => 25.78 / 18.53', '08-15 04:00:00 => 25.59 / 18.43', '08-15 05:00:00 => 25.75 / 18.51', '08-15 06:00:00 => 25.34 / 18.3', '08-15 07:00:00 => 24.12 / 17.68', '08-15 08:00:00 => 22.82 / 17.01', '08-15 09:00:00 => 21.84 / 16.51', '08-15 10:00:00 => 20.22 / 15.68', '08-15 11:00:00 => 17.8 / 14.45', '08-15 12:00:00 => 16.16 / 13.61', '08-15 13:00:00 => 15.55 / 13.3', '08-15 14:00:00 => 15.14 / 13.09', '08-15 15:00:00 => 15.65 / 13.35', '08-15 16:00:00 => 32.68 / 16.13', '08-15 17:00:00 => 37.81 / 18.75', '08-15 18:00:00 => 42.15 / 20.96', '08-15 19:00:00 => 30.88 / 21.13', '08-15 20:00:00 => 31.43 / 21.41', '08-15 21:00:00 => 31.43 / 21.41', '08-15 22:00:00 => 30.37 / 20.87', '08-15 23:00:00 => 29.16 / 20.25', '08-16 00:00:00 => 28.62 / 19.97', '08-16 01:00:00 => 27.52 / 19.41', '08-16 02:00:00 => 26.55 / 18.92', '08-16 03:00:00 => 26.18 / 18.73', '08-16 04:00:00 => 26.12 / 18.7', '08-16 05:00:00 => 26.02 / 18.65', '08-16 06:00:00 => 25.78 / 18.53', '08-16 07:00:00 => 25.43 / 18.35', '08-16 08:00:00 => 24.63 / 17.94', '08-16 09:00:00 => 24.05 / 17.64', '08-16 10:00:00 => 24.59 / 17.92', '08-16 11:00:00 => 24.5 / 17.87', '08-16 12:00:00 => 23.58 / 17.4', '08-16 13:00:00 => 22.93 / 17.07', '08-16 14:00:00 => 21.8 / 16.49', '08-16 15:00:00 => 21.8 / 16.49']
2026-08-15 16:25:03.659110: Rate min forward looking: now 21.41p at end of forecast 21.41p
2026-08-15 16:25:03.659703: Import rates: min 21.41p, max 45.28p, average 28.32p
2026-08-15 16:25:03.808556: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 16:25:03.821129: Rate thresholds (for charge/export) are import 44.78p (0.0p), export -0.1p (0.0p)
2026-08-15 16:25:03.823425: High export rate found rates in range 99p to -99p
2026-08-15 16:25:03.957812: Low Import rate found rates in range 21.41p to 44.34p
2026-08-15 16:25:03.957950: Car 0 charging is not planned as it is not plugged in
2026-08-15 16:25:03.979512: Battery level now 15.84kWh, -1hr ago 13.86kWh, at midnight 1.66kWh, battery value change in the last hour 36.49p, change today 260.89p, rate_forward 18.39p
2026-08-15 16:25:03.980041: Last hour: net energy 3.2kWh, import 3.2kWh, export 0.0kWh, car 0kWh, load 0.28kWh, net cost 56.71p, import 56.71p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 16:25:04.099519: Today's energy total net 27.5kWh, import 27.5kWh, export 0.0kWh, cost 562.65p, import 512.67p, export 0.0p, carbon 0.0kg
2026-08-15 16:25:04.099798: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 16:25:04.250202: Using weighted-bucket historical load forecast over 14 days
2026-08-15 16:25:04.279813: Today's load divergence 90.95%, in-day adjustment 107.95%, damping 0.95x, yesterday 143.77% today 91.41% blend 31.6%
2026-08-15 16:25:04.280123: Today's predicted so far 9.88kWh with 0.0kWh car/iBoost excluded, 20.85kWh import ignored, and 9.88kWh forecast extra.
2026-08-15 16:25:04.280657: Today's actual load so far 8.61kWh with 0.0kWh car/iBoost excluded, and 20.85kWh import ignored.
2026-08-15 16:25:04.361628: Inverter 0: Type SK Sunsynk
2026-08-15 16:25:04.361745: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 16:25:04.362030: Reserve min: 7%, battery_min: 7%
2026-08-15 16:25:04.362219: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 16:25:04.362650: Inverter 0 SoC: 15.84kW 99%, current charge rate 5000W, current discharge rate 5250W, current battery power 283W, current battery voltage 51.2V, grid power -55W, load power 355W, PV Power 0W
2026-08-15 16:25:04.362906: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 16:25:04.363102: Inverter 0 scheduled charge enable is False
2026-08-15 16:25:04.363158: Inverter 0 charge windows currently []
2026-08-15 16:25:04.363288: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 16:25:04.363519: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 16:25:04.363575: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 16:25:04.363717: Inverter 0 scheduled discharge enable is False
2026-08-15 16:25:04.363956: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 16:25:04.364010: Inverter 0 discharge windows currently []
2026-08-15 16:25:04.364096: Note: Inverter does not support discharge freeze - disabled
2026-08-15 16:25:04.364175: Note: Inverter does not support charge freeze - disabled
2026-08-15 16:25:04.364271: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 16:25:04.581953: Dynamic load last period 0.30kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 16:25:04.582080: Plan was last updated on 2026-08-15 16:15:00+01:00 and is now 10.0 minutes old
2026-08-15 16:25:04.582467: Best charge window [ 16-08 08:00:00 - 16-08 08:30:00 @ 24.06p 25%, 16-08 11:30:00 - 16-08 12:30:00 @ 23.46p 13%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 22%, 16-08 13:30:00 - 16-08 15:00:00 @ 21.75p 100%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.95p 66%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.83p 69%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.79p 19%, 17-08 12:30:00 - 17-08 16:30:00 @ 29.72p 100% ]
2026-08-15 16:25:04.582514: Best export window [  ]
2026-08-15 16:25:04.583549: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 16:25:04.587364: Load divergence over 8.0 hours mean 580.99W, min 291.6W, max 1875.0W, std dev 407.06W, divergence 35.03%
2026-08-15 16:25:04.611898: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 16:25:04.612134: LoadML is_calculating True
2026-08-15 16:25:04.612241: Not using thread pool as LoadML is calculating to avoid lockups
2026-08-15 16:25:04.643090: predict base end_record 08-17 12:40:00, final soc 1.12kWh, metric 1117.45p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 12:30:00, load 38.26kWh, PV 0.0kWh
2026-08-15 16:25:04.869184: Battery has 20.08 hours left - now at 15.84kWh
2026-08-15 16:25:04.949473: predict base10 end_record 08-17 12:40:00, final soc 1.12kWh, metric 1154.37p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 11:45:00, load 39.67kWh, PV 0.0kWh
2026-08-15 16:25:05.125098: predict best10 end_record 08-17 12:40:00, final soc 1.77kWh, metric 1106.41p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 05:15:00, load 39.67kWh, PV 0.0kWh
2026-08-15 16:25:05.254665: predict best end_record 08-17 12:40:00, final soc 1.9kWh, metric 1071.46p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 05:55:00, load 38.26kWh, PV 0.0kWh
2026-08-15 16:25:05.254945: Saving plan best values to HA entities
2026-08-15 16:25:05.554982: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 16:25:05.561907: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0.0
2026-08-15 16:25:05.581080: Best charging limit SoC's [4.0, 2.0, 3.5, 16.0, 10.5, 11.0, 3.0, 16.0]kWh, export []kWh gives import battery 14.12kWh, house 3.87kWh, export 0.0kWh, metric 1071.46p, metric10 1106.41p
2026-08-15 16:25:05.695326: Marginal costs baseline metric (no standing charge): 971.4893
2026-08-15 16:25:06.274449: Marginal energy costs matrix computed: min=26.42 max=32.78
2026-08-15 16:25:06.434144: Rate array import [{'start': 985, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1410, 'rate': 'expensive', 'range': '(29.8p - 32.9p)'}, {'start': 1410, 'end': 2400, 'rate': 'cheap', 'range': '(21.4p - 28.2p)'}, {'start': 2400, 'end': 2430, 'rate': 'expensive', 'range': '(36.8p)'}, {'start': 2430, 'end': 2580, 'rate': 'very expensive', 'range': '(37.5p - 45.3p)'}, {'start': 2580, 'end': 2850, 'rate': 'expensive', 'range': '(30.0p - 35.9p)'}, {'start': 2850, 'end': 3640, 'rate': 'cheap', 'range': '(22.3p - 28.2p)'}] export [{'start': 985, 'end': 3640, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 16:25:06.435495: - Your estimated bill for today is £5.63 and tomorrow is £3.33
2026-08-15 16:25:06.435599: - Import rates are expensive (33.1p) for the next 35 minutes and then very expensive (38.5p - 43.8p) for the next 2 hours.
2026-08-15 16:25:06.435666: - The battery is currently at 99% and is in eco mode for the next 15 hours.
2026-08-15 16:25:06.435855: - For the next 48 hours there will be no solar generation.
2026-08-15 16:25:06.435915: - You will run out of battery in 37 hours.
2026-08-15 16:25:06.435959: - Your next charge slot will be in 15 hours where import rates will be cheap (24.1p).
2026-08-15 16:25:06.435999: 
2026-08-15 16:25:06.502328: Plan calculation took 1.92 seconds
2026-08-15 16:25:06.507466: No high rate period found
2026-08-15 16:25:06.634673: Import threshold used for optimisation was 25.86p
2026-08-15 16:25:06.762090: Low import rate windows [0: 08-15 16:00:00 - 08-15 16:30:00 @ 33.13, 1: 08-15 16:30:00 - 08-15 17:00:00 @ 33.13, 2: 08-15 17:00:00 - 08-15 17:30:00 @ 38.46, 3: 08-15 17:30:00 - 08-15 18:00:00 @ 40.44, 4: 08-15 18:00:00 - 08-15 18:30:00 @ 41.55, 5: 08-15 18:30:00 - 08-15 19:00:00 @ 43.82, 6: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 7: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 8: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 9: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 10: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 11: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 12: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 13: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 14: 08-15 23:00:00 - 08-15 23:30:00 @ 30.02, 15: 08-15 23:30:00 - 08-16 00:00:00 @ 27.8, 16: 08-16 00:00:00 - 08-16 00:30:00 @ 28.18, 17: 08-16 00:30:00 - 08-16 01:00:00 @ 27.38, 18: 08-16 01:00:00 - 08-16 01:30:00 @ 26.7, 19: 08-16 01:30:00 - 08-16 02:00:00 @ 26.31, 20: 08-16 02:00:00 - 08-16 02:30:00 @ 25.79, 21: 08-16 02:30:00 - 08-16 03:00:00 @ 25.86, 22: 08-16 03:00:00 - 08-16 03:30:00 @ 26.13, 23: 08-16 03:30:00 - 08-16 04:00:00 @ 25.86, 24: 08-16 04:00:00 - 08-16 04:30:00 @ 26.27, 25: 08-16 04:30:00 - 08-16 05:00:00 @ 26.14, 26: 08-16 05:00:00 - 08-16 05:30:00 @ 27.03, 27: 08-16 05:30:00 - 08-16 06:00:00 @ 26.28, 28: 08-16 06:00:00 - 08-16 06:30:00 @ 25.68, 29: 08-16 06:30:00 - 08-16 07:00:00 @ 26.1, 30: 08-16 07:00:00 - 08-16 07:30:00 @ 24.28, 31: 08-16 07:30:00 - 08-16 08:00:00 @ 24.94, 32: 08-16 08:00:00 - 08-16 08:30:00 @ 24.06, 33: 08-16 08:30:00 - 08-16 09:00:00 @ 24.39, 34: 08-16 09:00:00 - 08-16 09:30:00 @ 24.66, 35: 08-16 09:30:00 - 08-16 10:00:00 @ 24.06, 36: 08-16 10:00:00 - 08-16 10:30:00 @ 25.5, 37: 08-16 10:30:00 - 08-16 11:00:00 @ 24.94, 38: 08-16 11:00:00 - 08-16 11:30:00 @ 24.25, 39: 08-16 11:30:00 - 08-16 12:00:00 @ 23.49, 40: 08-16 12:00:00 - 08-16 12:30:00 @ 23.43, 41: 08-16 12:30:00 - 08-16 13:00:00 @ 22.33, 42: 08-16 13:00:00 - 08-16 13:30:00 @ 22.76, 43: 08-16 13:30:00 - 08-16 14:00:00 @ 22.3, 44: 08-16 14:00:00 - 08-16 14:30:00 @ 21.41, 45: 08-16 14:30:00 - 08-16 15:00:00 @ 21.65, 46: 08-16 15:00:00 - 08-16 15:30:00 @ 22.95, 47: 08-16 15:30:00 - 08-16 16:00:00 @ 22.83, 48: 08-16 16:00:00 - 08-16 16:30:00 @ 36.84, 49: 08-16 16:30:00 - 08-16 17:00:00 @ 37.54, 50: 08-16 17:00:00 - 08-16 17:30:00 @ 41.79, 51: 08-16 17:30:00 - 08-16 18:00:00 @ 43.7, 52: 08-16 18:00:00 - 08-16 18:30:00 @ 44.34, 53: 08-16 19:00:00 - 08-16 19:30:00 @ 34.79, 54: 08-16 19:30:00 - 08-16 20:00:00 @ 34.76, 55: 08-16 20:00:00 - 08-16 20:30:00 @ 35.62, 56: 08-16 20:30:00 - 08-16 21:00:00 @ 35.3, 57: 08-16 21:00:00 - 08-16 21:30:00 @ 35.89, 58: 08-16 21:30:00 - 08-16 22:00:00 @ 35.71, 59: 08-16 22:00:00 - 08-16 22:30:00 @ 33.75, 60: 08-16 22:30:00 - 08-16 23:00:00 @ 32.0, 61: 08-16 23:00:00 - 08-16 23:30:00 @ 30.02, 62: 08-16 23:30:00 - 08-17 00:00:00 @ 27.8, 63: 08-17 00:00:00 - 08-17 00:30:00 @ 28.18, 64: 08-17 00:30:00 - 08-17 01:00:00 @ 27.38, 65: 08-17 01:00:00 - 08-17 01:30:00 @ 26.7, 66: 08-17 01:30:00 - 08-17 02:00:00 @ 26.31, 67: 08-17 02:00:00 - 08-17 02:30:00 @ 25.79, 68: 08-17 02:30:00 - 08-17 03:00:00 @ 25.86, 69: 08-17 03:00:00 - 08-17 03:30:00 @ 26.13, 70: 08-17 03:30:00 - 08-17 04:00:00 @ 25.86, 71: 08-17 04:00:00 - 08-17 04:30:00 @ 26.27, 72: 08-17 04:30:00 - 08-17 05:00:00 @ 26.14, 73: 08-17 05:00:00 - 08-17 05:30:00 @ 27.03, 74: 08-17 05:30:00 - 08-17 06:00:00 @ 26.28, 75: 08-17 06:00:00 - 08-17 06:30:00 @ 25.68, 76: 08-17 06:30:00 - 08-17 07:00:00 @ 26.1, 77: 08-17 07:00:00 - 08-17 07:30:00 @ 24.28, 78: 08-17 07:30:00 - 08-17 08:00:00 @ 24.94, 79: 08-17 08:00:00 - 08-17 08:30:00 @ 24.06, 80: 08-17 08:30:00 - 08-17 09:00:00 @ 24.39, 81: 08-17 09:00:00 - 08-17 09:30:00 @ 24.66, 82: 08-17 09:30:00 - 08-17 10:00:00 @ 24.06, 83: 08-17 10:00:00 - 08-17 10:30:00 @ 25.5, 84: 08-17 10:30:00 - 08-17 11:00:00 @ 24.94, 85: 08-17 11:00:00 - 08-17 11:30:00 @ 24.25, 86: 08-17 11:30:00 - 08-17 12:00:00 @ 23.49, 87: 08-17 12:00:00 - 08-17 12:30:00 @ 23.43, 88: 08-17 12:30:00 - 08-17 13:00:00 @ 22.33, 89: 08-17 13:00:00 - 08-17 13:30:00 @ 22.76, 90: 08-17 13:30:00 - 08-17 14:00:00 @ 22.3, 91: 08-17 14:00:00 - 08-17 14:30:00 @ 21.41, 92: 08-17 14:30:00 - 08-17 15:00:00 @ 21.65, 93: 08-17 15:00:00 - 08-17 15:30:00 @ 22.95, 94: 08-17 15:30:00 - 08-17 16:00:00 @ 22.83, 95: 08-17 16:00:00 - 08-17 16:30:00 @ 36.84]
2026-08-15 16:25:06.774359: Inverter 0 Charge window will be: 2026-08-16 08:00:00+01:00 - 2026-08-16 08:30:00+01:00 - current SoC 99%, target 25%
2026-08-15 16:25:06.774543: Inverter 0 disabled charge window while waiting for schedule (now 08-15 16:25:00 target set_window_minutes 30 charge start time 08-16 08:00:00) original inverter start time 08-17 00:00:00
2026-08-15 16:25:06.774632: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 16:25:06.774880: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 16:25:06.774977: No export window planned
2026-08-15 16:25:06.775098: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 16:25:06.775142: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 16:25:06.775327: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 16:25:06.775513: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 16:25:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 16:25:06.775572: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 16:25:06.775634: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 16:25:06.775724: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 16:25:06.775772: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 16:25:06.775806: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 16:25:06.775846: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 16:25:06.775888: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 16:25:06.776013: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 16:25:06.776071: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 16:25:06.776213: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 16:25:06.778550: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 16:25:06.778649: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 16:25:06.778748: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 16:25:06.778801: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 16:25:06.778883: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 16:25:06.778932: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 16:25:06.779034: Inverter 0 count register writes 0
2026-08-15 16:25:06.822598: Will recompute the plan as it is now 10.0 minutes old and will exceed the max age of 10 minutes before the next run
2026-08-15 16:25:06.822852: Recompute is saving previous plan...
2026-08-15 16:25:06.833411: Best charge window [ 15-08 16:00:00 - 15-08 16:30:00 @ 33.13p 0%, 15-08 16:30:00 - 15-08 17:00:00 @ 33.13p 0%, 15-08 17:00:00 - 15-08 17:30:00 @ 38.46p 0%, 15-08 17:30:00 - 15-08 18:00:00 @ 40.44p 0%, 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 0%, 15-08 18:30:00 - 15-08 19:00:00 @ 43.82p 0%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 0%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 0%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 0%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 0%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 30.02p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 27.8p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.18p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.38p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 26.7p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.31p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.79p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 25.86p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.13p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 25.86p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.27p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.14p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 27.03p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.28p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.68p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 26.1p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 24.28p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 24.94p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.06p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.39p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.66p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.06p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 25.5p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 24.94p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 24.25p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 23.49p 0%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.43p 0%, 16-08 12:30:00 - 16-08 13:00:00 @ 22.33p 0%, 16-08 13:00:00 - 16-08 13:30:00 @ 22.76p 0%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 0%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 0%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.65p 0%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.95p 0%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.83p 0%, 16-08 16:00:00 - 16-08 16:30:00 @ 36.84p 0%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.54p 0%, 16-08 17:00:00 - 16-08 17:30:00 @ 41.79p 0%, 16-08 17:30:00 - 16-08 18:00:00 @ 43.7p 0%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.34p 0%, 16-08 19:00:00 - 16-08 19:30:00 @ 34.79p 0%, 16-08 19:30:00 - 16-08 20:00:00 @ 34.76p 0%, 16-08 20:00:00 - 16-08 20:30:00 @ 35.62p 0%, 16-08 20:30:00 - 16-08 21:00:00 @ 35.3p 0%, 16-08 21:00:00 - 16-08 21:30:00 @ 35.89p 0%, 16-08 21:30:00 - 16-08 22:00:00 @ 35.71p 0%, 16-08 22:00:00 - 16-08 22:30:00 @ 33.75p 0%, 16-08 22:30:00 - 16-08 23:00:00 @ 32.0p 0%, 16-08 23:00:00 - 16-08 23:30:00 @ 30.02p 0%, 16-08 23:30:00 - 17-08 00:00:00 @ 27.8p 0%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.18p 0%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.38p 0%, 17-08 01:00:00 - 17-08 01:30:00 @ 26.7p 0%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.31p 0%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.79p 0%, 17-08 02:30:00 - 17-08 03:00:00 @ 25.86p 0%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.13p 0%, 17-08 03:30:00 - 17-08 04:00:00 @ 25.86p 0%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.27p 0%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.14p 0%, 17-08 05:00:00 - 17-08 05:30:00 @ 27.03p 0%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.28p 0%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.68p 0%, 17-08 06:30:00 - 17-08 07:00:00 @ 26.1p 0%, 17-08 07:00:00 - 17-08 07:30:00 @ 24.28p 0%, 17-08 07:30:00 - 17-08 08:00:00 @ 24.94p 0%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.06p 0%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.39p 0%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.66p 0%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.06p 0%, 17-08 10:00:00 - 17-08 10:30:00 @ 25.5p 0%, 17-08 10:30:00 - 17-08 11:00:00 @ 24.94p 0%, 17-08 11:00:00 - 17-08 11:30:00 @ 24.25p 0%, 17-08 11:30:00 - 17-08 12:00:00 @ 23.49p 0%, 17-08 12:00:00 - 17-08 12:30:00 @ 23.43p 0%, 17-08 12:30:00 - 17-08 13:00:00 @ 22.33p 0%, 17-08 13:00:00 - 17-08 13:30:00 @ 22.76p 0%, 17-08 13:30:00 - 17-08 14:00:00 @ 22.3p 0%, 17-08 14:00:00 - 17-08 14:30:00 @ 21.41p 0%, 17-08 14:30:00 - 17-08 15:00:00 @ 21.65p 0%, 17-08 15:00:00 - 17-08 15:30:00 @ 22.95p 0%, 17-08 15:30:00 - 17-08 16:00:00 @ 22.83p 0%, 17-08 16:00:00 - 17-08 16:30:00 @ 36.84p 0% ]
2026-08-15 16:25:06.833572: Best export window [  ]
2026-08-15 16:25:06.834826: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 16:25:06.844360: Load divergence over 8.0 hours mean 580.99W, min 291.6W, max 1875.0W, std dev 407.06W, divergence 35.03%
2026-08-15 16:25:06.873397: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 16:25:06.873715: LoadML is_calculating True
2026-08-15 16:25:06.873861: Not using thread pool as LoadML is calculating to avoid lockups
2026-08-15 16:25:06.885944: Calculate Best options: mode(Control charge & discharge), calculate_export_oncharge(False), calculate_export_on_pv(True), set_export_freeze_only(False), set_discharge_during_charge(True), combine_charge_slots(False), combine_export_slots(False), combine_rate_threshold(0.0), best_soc_min(0.0 kWh), best_soc_max(0.0 kWh), best_soc_keep(0.0 kWh), inverter_loss(4%), battery_loss(3%), battery_loss_discharge (3%), inverter_hybrid(True), metric_min_improvement(0.0p), metric_min_improvement_export(0.1p), metric_min_improvement_export_freeze(0.1p), metric_battery_cycle(0.0p/kWh), metric_battery_value_scaling(1.0 x) 
2026-08-15 16:25:06.888216: Optimise levels pass started at 2026-08-15 16:25:06
2026-08-15 16:25:06.888314: Optimise all windows, total charge 95 export 1
2026-08-15 16:25:11.930779: >> Region optimisation pass width 960 gives best_metric 999.16p, best_cost 1014.04p, best_cycle 37.51kWh, best_import 19.95kWh
2026-08-15 16:25:12.840021: >> Region optimisation pass width 480 gives best_metric 999.16p, best_cost 1014.04p, best_cycle 37.51kWh, best_import 19.95kWh
2026-08-15 16:25:14.062435: >> Region optimisation pass width 240 gives best_metric 999.16p, best_cost 1014.04p, best_cycle 37.51kWh, best_import 19.95kWh
2026-08-15 16:25:17.644487: >> Region optimisation pass width 120 gives best_metric 999.16p, best_cost 1014.04p, best_cycle 37.51kWh, best_import 19.95kWh
2026-08-15 16:25:17.645122: Calculated end_record as 08-17 12:30:00 based on best_price 22.76p, next_charge_start 08-16 12:30:00, max_windows 88
2026-08-15 16:25:17.645204: Optimise levels pass ended at 2026-08-15 16:25:17, duration 10.8 seconds tried 294 combinations
2026-08-15 16:25:17.645287: Set best_price_charge_level 24.4p, best_price_export_level 0p, best_price_charge 22.76p, best_cost_export 0p, best_metric 999.16p, best_keep 0kWh, best_cycle 37.51kWh, best_carbon 0kg, best_import 19.95kWh
2026-08-15 16:25:17.667502: Starting detailed optimisation end_record 08-17 12:30:00, best_price_charge 22.76p, best_price_export 0p. lowest_price_charge 21.41p with charge limits [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12.75, 12.75, 12.75, 12.75, 12.75, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0]kWh and export limits []kWh
2026-08-15 16:25:42.225700: ML Predictor: Epoch 15/30: lr=0.00057 huber_loss=0.0079 val_mae=0.0037 kWh val_bias=-0.0022 kWh (-3.1%) combined=0.0027 kWh ema_combined=0.0021 kWh
2026-08-15 16:25:57.919921: Tweak plan optimisation started metric 936.07p, cost 950.96p
2026-08-15 16:25:59.220850: Tweak optimisation finished metric 936.07p, cost 950.96p, metric_keep 0kWh, cycle 31.93kWh, carbon 0kg, import 17.03kWh, changed 8 window(s)
2026-08-15 16:25:59.236383: Swap charge optimisation started metric 936.07p, cost 950.96p, min_improvement_swap 0.1p
2026-08-15 16:26:13.803898: Swap charge optimisation finished metric 936.07p, cost 950.96p
2026-08-15 16:26:13.982629: Pruned 1 dead plan slot(s) in 12 trial(s), nominal metric 930.36p -> 930.36p, plan now metric 936.09p, cost 950.96p, cycle 31.93kWh, import 17.03kWh
2026-08-15 16:26:13.996575: Raw charge windows [ 15-08 16:00:00 - 15-08 16:30:00 @ 33.13p 0%, 15-08 16:30:00 - 15-08 17:00:00 @ 33.13p 0%, 15-08 17:00:00 - 15-08 17:30:00 @ 38.46p 0%, 15-08 17:30:00 - 15-08 18:00:00 @ 40.44p 0%, 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 0%, 15-08 18:30:00 - 15-08 19:00:00 @ 43.82p 0%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 0%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 0%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 0%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 0%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 30.02p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 27.8p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.18p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.38p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 26.7p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.31p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.79p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 25.86p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.13p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 25.86p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.27p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.14p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 27.03p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.28p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.68p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 26.1p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 24.28p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 24.94p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.06p 25%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.39p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.66p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.06p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 25.5p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 24.94p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 24.25p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 23.49p 0%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.43p 9%, 16-08 12:30:00 - 16-08 13:00:00 @ 22.33p 22%, 16-08 13:00:00 - 16-08 13:30:00 @ 22.76p 22%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 100%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 80%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.65p 80%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.95p 66%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.83p 66%, 16-08 16:00:00 - 16-08 16:30:00 @ 36.84p 0%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.54p 0%, 16-08 17:00:00 - 16-08 17:30:00 @ 41.79p 0%, 16-08 17:30:00 - 16-08 18:00:00 @ 43.7p 0%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.34p 0%, 16-08 19:00:00 - 16-08 19:30:00 @ 34.79p 0%, 16-08 19:30:00 - 16-08 20:00:00 @ 34.76p 0%, 16-08 20:00:00 - 16-08 20:30:00 @ 35.62p 0%, 16-08 20:30:00 - 16-08 21:00:00 @ 35.3p 0%, 16-08 21:00:00 - 16-08 21:30:00 @ 35.89p 0%, 16-08 21:30:00 - 16-08 22:00:00 @ 35.71p 0%, 16-08 22:00:00 - 16-08 22:30:00 @ 33.75p 0%, 16-08 22:30:00 - 16-08 23:00:00 @ 32.0p 0%, 16-08 23:00:00 - 16-08 23:30:00 @ 30.02p 0%, 16-08 23:30:00 - 17-08 00:00:00 @ 27.8p 0%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.18p 0%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.38p 0%, 17-08 01:00:00 - 17-08 01:30:00 @ 26.7p 0%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.31p 0%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.79p 16%, 17-08 02:30:00 - 17-08 03:00:00 @ 25.86p 16%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.13p 0%, 17-08 03:30:00 - 17-08 04:00:00 @ 25.86p 0%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.27p 0%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.14p 0%, 17-08 05:00:00 - 17-08 05:30:00 @ 27.03p 0%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.28p 0%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.68p 0%, 17-08 06:30:00 - 17-08 07:00:00 @ 26.1p 0%, 17-08 07:00:00 - 17-08 07:30:00 @ 24.28p 0%, 17-08 07:30:00 - 17-08 08:00:00 @ 24.94p 0%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.06p 0%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.39p 0%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.66p 0%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.06p 0%, 17-08 10:00:00 - 17-08 10:30:00 @ 25.5p 0%, 17-08 10:30:00 - 17-08 11:00:00 @ 24.94p 0%, 17-08 11:00:00 - 17-08 11:30:00 @ 24.25p 0%, 17-08 11:30:00 - 17-08 12:00:00 @ 23.49p 0%, 17-08 12:00:00 - 17-08 12:30:00 @ 23.43p 0%, 17-08 12:30:00 - 17-08 13:00:00 @ 22.33p 100%, 17-08 13:00:00 - 17-08 13:30:00 @ 22.76p 100%, 17-08 13:30:00 - 17-08 14:00:00 @ 22.3p 100%, 17-08 14:00:00 - 17-08 14:30:00 @ 21.41p 100%, 17-08 14:30:00 - 17-08 15:00:00 @ 21.65p 100%, 17-08 15:00:00 - 17-08 15:30:00 @ 22.95p 100%, 17-08 15:30:00 - 17-08 16:00:00 @ 22.83p 100%, 17-08 16:00:00 - 17-08 16:30:00 @ 36.84p 100% ] reserve 1.12
2026-08-15 16:26:13.997461: Unclipped charge windows [ 16-08 08:00:00 - 16-08 08:30:00 @ 24.06p 25%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.43p 9%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 22%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 100%, 16-08 14:00:00 - 16-08 15:00:00 @ 21.53p 80%, 16-08 15:00:00 - 16-08 16:00:00 @ 22.89p 66%, 17-08 02:00:00 - 17-08 03:00:00 @ 25.82p 16%, 17-08 12:30:00 - 17-08 16:30:00 @ 29.72p 100% ] reserve 1.12
2026-08-15 16:26:13.997968: Unfiltered charge windows [ 16-08 08:00:00 - 16-08 08:30:00 @ 24.06p 25%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.43p 9%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 22%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 100%, 16-08 14:00:00 - 16-08 15:00:00 @ 21.53p 100%, 16-08 15:00:00 - 16-08 16:00:00 @ 22.89p 66%, 17-08 02:00:00 - 17-08 03:00:00 @ 25.82p 16%, 17-08 12:30:00 - 17-08 16:30:00 @ 29.72p 100% ] reserve 1.12
2026-08-15 16:26:13.998458: Filtered charge windows [ 16-08 08:00:00 - 16-08 08:30:00 @ 24.06p 25%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.43p 9%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 22%, 16-08 13:30:00 - 16-08 15:00:00 @ 21.91p 100%, 16-08 15:00:00 - 16-08 16:00:00 @ 22.89p 66%, 17-08 02:00:00 - 17-08 03:00:00 @ 25.82p 16%, 17-08 12:30:00 - 17-08 16:30:00 @ 29.72p 100% ] reserve 1.12
2026-08-15 16:26:14.038564: Previous plan best metric is 934.92 (cost 949.95) and new plan best metric is 936.07 (cost 950.96)
2026-08-15 16:26:14.038967: New plan metric is not significantly better (metric_min_improvement_plan 2.0) than previous plan, using previous plan
2026-08-15 16:26:14.039251: Plan valid is now true after recompute was False
2026-08-15 16:26:14.067779: predict base end_record 08-17 12:30:00, final soc 1.12kWh, metric 1114.51p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 12:30:00, load 38.13kWh, PV 0.0kWh
2026-08-15 16:26:14.337527: Battery has 20.08 hours left - now at 15.84kWh
2026-08-15 16:26:14.393531: predict base10 end_record 08-17 12:30:00, final soc 1.12kWh, metric 1151.28p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 11:45:00, load 39.53kWh, PV 0.0kWh
2026-08-15 16:26:14.495016: predict best10 end_record 08-17 12:30:00, final soc 1.12kWh, metric 1087.82p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 05:15:00, load 39.53kWh, PV 0.0kWh
2026-08-15 16:26:14.624084: predict best end_record 08-17 12:30:00, final soc 1.12kWh, metric 1049.9p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 05:55:00, load 38.13kWh, PV 0.0kWh
2026-08-15 16:26:14.627305: Saving plan best values to HA entities
2026-08-15 16:26:14.933764: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 16:26:14.939851: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0.0
2026-08-15 16:26:14.946808: Best charging limit SoC's [4.0, 2.0, 3.5, 16.0, 10.5, 11.0, 3.0, 16.0]kWh, export []kWh gives import battery 13.15kWh, house 3.87kWh, export 0.0kWh, metric 1049.9p, metric10 1087.82p
2026-08-15 16:26:15.134414: Marginal costs baseline metric (no standing charge): 949.9367
2026-08-15 16:26:15.616380: Marginal energy costs matrix computed: min=26.42 max=32.78
2026-08-15 16:26:15.808464: Rate array import [{'start': 985, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1410, 'rate': 'expensive', 'range': '(29.8p - 32.9p)'}, {'start': 1410, 'end': 2400, 'rate': 'cheap', 'range': '(21.4p - 28.2p)'}, {'start': 2400, 'end': 2430, 'rate': 'expensive', 'range': '(36.8p)'}, {'start': 2430, 'end': 2580, 'rate': 'very expensive', 'range': '(37.5p - 45.3p)'}, {'start': 2580, 'end': 2850, 'rate': 'expensive', 'range': '(30.0p - 35.9p)'}, {'start': 2850, 'end': 3630, 'rate': 'cheap', 'range': '(23.4p - 28.2p)'}] export [{'start': 985, 'end': 3630, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 16:26:15.809634: - Your estimated bill for today is £5.63 and tomorrow is £3.33
2026-08-15 16:26:15.809697: - Import rates are expensive (33.1p) for the next 35 minutes and then very expensive (38.5p - 43.8p) for the next 2 hours.
2026-08-15 16:26:15.809726: - The battery is currently at 99% and is in eco mode for the next 15 hours.
2026-08-15 16:26:15.809841: - For the next 48 hours there will be no solar generation.
2026-08-15 16:26:15.809887: - You will run out of battery in 37 hours.
2026-08-15 16:26:15.809958: - Your next charge slot will be in 15 hours where import rates will be cheap (24.1p).
2026-08-15 16:26:15.809998: 
2026-08-15 16:26:15.908315: Plan calculation took 69.09 seconds
2026-08-15 16:26:15.908914: Inverter 0: Type SK Sunsynk
2026-08-15 16:26:15.909016: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 16:26:15.909261: Reserve min: 7%, battery_min: 7%
2026-08-15 16:26:15.911427: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 16:26:15.911759: Inverter 0 SoC: 15.84kW 99%, current charge rate 5000W, current discharge rate 5250W, current battery power 308W, current battery voltage 51.2V, grid power -55W, load power 379W, PV Power 0W
2026-08-15 16:26:15.911944: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 16:26:15.912042: Inverter 0 scheduled charge enable is False
2026-08-15 16:26:15.912081: Inverter 0 charge windows currently []
2026-08-15 16:26:15.912108: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 16:26:15.912221: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 16:26:15.912259: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 16:26:15.912313: Inverter 0 scheduled discharge enable is False
2026-08-15 16:26:15.912511: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 16:26:15.912553: Inverter 0 discharge windows currently []
2026-08-15 16:26:15.912584: Note: Inverter does not support discharge freeze - disabled
2026-08-15 16:26:15.912609: Note: Inverter does not support charge freeze - disabled
2026-08-15 16:26:15.912634: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 16:26:16.029723: Inverter 0 Charge window will be: 2026-08-16 08:00:00+01:00 - 2026-08-16 08:30:00+01:00 - current SoC 99%, target 25%
2026-08-15 16:26:16.030054: Inverter 0 disabled charge window while waiting for schedule (now 08-15 16:25:00 target set_window_minutes 30 charge start time 08-16 08:00:00) original inverter start time 08-17 00:00:00
2026-08-15 16:26:16.030226: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 16:26:16.030578: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 16:26:16.030764: No export window planned
2026-08-15 16:26:16.030980: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 16:26:16.031110: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 16:26:16.031391: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 16:26:16.031693: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 16:25:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 16:26:16.031849: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 16:26:16.031997: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 16:26:16.032180: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 16:26:16.032337: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 16:26:16.032505: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 16:26:16.032669: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 16:26:16.032806: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 16:26:16.033069: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 16:26:16.033216: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 16:26:16.033401: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 16:26:16.033537: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 16:26:16.033695: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 16:26:16.033831: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 16:26:16.033955: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 16:26:16.034079: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 16:26:16.034203: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 16:26:16.034339: Inverter 0 count register writes 0
2026-08-15 16:26:16.073598: Total inverter register writes now 826
2026-08-15 16:26:16.171877: Info: Completed run status Demand
2026-08-15 16:26:16.201399: Info: record_status Demand
2026-08-15 16:26:16.217555: Saved current settings to /config/predbat_config.json
2026-08-15 16:26:16.217880: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 16:26:35.200071: ML Predictor: Epoch 16/30: lr=0.00053 huber_loss=0.0077 val_mae=0.0030 kWh val_bias=-0.0010 kWh (-1.4%) combined=0.0021 kWh ema_combined=0.0021 kWh
2026-08-15 16:26:57.430279: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 16:26:57.430587: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 16:26:57.430856: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 16:26:57.431164: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 16:26:57.431331: Note: Inverter does not support discharge freeze - disabled
2026-08-15 16:26:57.431461: Note: Inverter does not support charge freeze - disabled
2026-08-15 16:26:57.431578: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 16:27:05.331484: ML Predictor: Epoch 17/30: lr=0.00048 huber_loss=0.0063 val_mae=0.0026 kWh val_bias=+0.0004 kWh (+0.5%) combined=0.0019 kWh ema_combined=0.0020 kWh
2026-08-15 16:27:37.948873: ML Predictor: Epoch 18/30: lr=0.00043 huber_loss=0.0064 val_mae=0.0024 kWh val_bias=-0.0003 kWh (-0.4%) combined=0.0013 kWh ema_combined=0.0018 kWh
2026-08-15 16:28:10.647762: ML Predictor: Epoch 19/30: lr=0.00038 huber_loss=0.0067 val_mae=0.0024 kWh val_bias=-0.0006 kWh (-0.9%) combined=0.0015 kWh ema_combined=0.0017 kWh
2026-08-15 16:28:42.390162: ML Predictor: Epoch 20/30: lr=0.00034 huber_loss=0.0074 val_mae=0.0024 kWh val_bias=-0.0002 kWh (-0.2%) combined=0.0014 kWh ema_combined=0.0016 kWh
2026-08-15 16:29:11.995004: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 16:29:11.995451: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 16:29:11.995629: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 16:29:11.995952: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 16:29:11.996091: Note: Inverter does not support discharge freeze - disabled
2026-08-15 16:29:11.996249: Note: Inverter does not support charge freeze - disabled
2026-08-15 16:29:11.996383: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 16:29:14.208144: ML Predictor: Epoch 21/30: lr=0.00030 huber_loss=0.0059 val_mae=0.0024 kWh val_bias=-0.0007 kWh (-1.0%) combined=0.0015 kWh ema_combined=0.0016 kWh
2026-08-15 16:29:46.519534: ML Predictor: Epoch 22/30: lr=0.00026 huber_loss=0.0065 val_mae=0.0023 kWh val_bias=-0.0006 kWh (-0.8%) combined=0.0014 kWh ema_combined=0.0015 kWh
2026-08-15 16:30:00.281523: --------------- PredBat - update at 2026-08-15 16:30:00+01:00 with clock skew 0 minutes, minutes now 990
2026-08-15 16:30:00.282664: Saved current settings to /config/predbat_config.json
2026-08-15 16:30:00.282882: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 5.0 minutes
2026-08-15 16:30:00.283041: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.2, latest beta is v8.48.2
2026-08-15 16:30:00.283208: Autoupdate: There is an update pending v8.48.2 PV90 and second pass enabled by default, bug fixes - auto update is off
2026-08-15 16:30:00.316781: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 16:30:00.316927: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 16:30:00.317127: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 16:30:00.317656: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 16:30:00.317856: Predbat mode is set to Control charge & discharge
2026-08-15 16:30:00.709118: Found 21602 load_today datapoints going back 28 days
2026-08-15 16:30:00.709895: Using load_power data to fill gaps in load_today data
2026-08-15 16:30:02.253351: Processing 721 30-minute periods for power integration
2026-08-15 16:30:02.644608: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 16:30:02.645085: Car charging hold False, threshold 6.0kWh
2026-08-15 16:30:02.645142: Current data so far today: load 8.6kWh, import 27.5kWh, export 0.0kWh, PV 0kWh
2026-08-15 16:30:02.664900: Cars: SoC: [10.548]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 16:30:02.665428: Standing charge is set to 49.98p
2026-08-15 16:30:02.722751: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 16:30:02.722871: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 16:30:02.723071: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 350.0 minutes
2026-08-15 16:30:02.723535: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 350.0 minutes
2026-08-15 16:30:02.734933: Loaded 95 datapoints of futurerate analysis
2026-08-15 16:30:03.049734: Predicted future rates: ['08-15 00:00:00 => 28.69 / 20.01', '08-15 01:00:00 => 27.33 / 19.31', '08-15 02:00:00 => 26.31 / 18.8', '08-15 03:00:00 => 25.78 / 18.53', '08-15 04:00:00 => 25.59 / 18.43', '08-15 05:00:00 => 25.75 / 18.51', '08-15 06:00:00 => 25.34 / 18.3', '08-15 07:00:00 => 24.12 / 17.68', '08-15 08:00:00 => 22.82 / 17.01', '08-15 09:00:00 => 21.84 / 16.51', '08-15 10:00:00 => 20.22 / 15.68', '08-15 11:00:00 => 17.8 / 14.45', '08-15 12:00:00 => 16.16 / 13.61', '08-15 13:00:00 => 15.55 / 13.3', '08-15 14:00:00 => 15.14 / 13.09', '08-15 15:00:00 => 15.65 / 13.35', '08-15 16:00:00 => 32.68 / 16.13', '08-15 17:00:00 => 37.81 / 18.75', '08-15 18:00:00 => 42.15 / 20.96', '08-15 19:00:00 => 30.88 / 21.13', '08-15 20:00:00 => 31.43 / 21.41', '08-15 21:00:00 => 31.43 / 21.41', '08-15 22:00:00 => 30.37 / 20.87', '08-15 23:00:00 => 29.16 / 20.25', '08-16 00:00:00 => 28.62 / 19.97', '08-16 01:00:00 => 27.52 / 19.41', '08-16 02:00:00 => 26.55 / 18.92', '08-16 03:00:00 => 26.18 / 18.73', '08-16 04:00:00 => 26.12 / 18.7', '08-16 05:00:00 => 26.02 / 18.65', '08-16 06:00:00 => 25.78 / 18.53', '08-16 07:00:00 => 25.43 / 18.35', '08-16 08:00:00 => 24.63 / 17.94', '08-16 09:00:00 => 24.05 / 17.64', '08-16 10:00:00 => 24.59 / 17.92', '08-16 11:00:00 => 24.5 / 17.87', '08-16 12:00:00 => 23.58 / 17.4', '08-16 13:00:00 => 22.93 / 17.07', '08-16 14:00:00 => 21.8 / 16.49', '08-16 15:00:00 => 21.8 / 16.49']
2026-08-15 16:30:03.163608: Rate min forward looking: now 21.41p at end of forecast 21.41p
2026-08-15 16:30:03.164580: Import rates: min 21.41p, max 45.28p, average 28.33p
2026-08-15 16:30:03.223397: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 16:30:03.224132: Rate thresholds (for charge/export) are import 44.78p (0.0p), export -0.1p (0.0p)
2026-08-15 16:30:03.225554: High export rate found rates in range 99p to -99p
2026-08-15 16:30:03.349013: Low Import rate found rates in range 21.41p to 44.34p
2026-08-15 16:30:03.349172: Car 0 charging is not planned as it is not plugged in
2026-08-15 16:30:03.369905: Battery level now 15.84kWh, -1hr ago 13.86kWh, at midnight 1.66kWh, battery value change in the last hour 36.49p, change today 260.89p, rate_forward 18.39p
2026-08-15 16:30:03.370769: Last hour: net energy 2.8kWh, import 2.8kWh, export 0.0kWh, car 0kWh, load 0.22kWh, net cost 50.64p, import 50.64p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 16:30:03.461799: Today's energy total net 27.5kWh, import 27.5kWh, export 0.0kWh, cost 562.65p, import 512.67p, export 0.0p, carbon 0.0kg
2026-08-15 16:30:03.462090: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 16:30:03.625409: Using weighted-bucket historical load forecast over 14 days
2026-08-15 16:30:03.768327: Today's load divergence 90.8%, in-day adjustment 107.67%, damping 0.95x, yesterday 143.77% today 91.26% blend 31.25%
2026-08-15 16:30:03.776419: Today's predicted so far 9.97kWh with 0.0kWh car/iBoost excluded, 20.78kWh import ignored, and 9.97kWh forecast extra.
2026-08-15 16:30:03.776479: Today's actual load so far 8.69kWh with 0.0kWh car/iBoost excluded, and 20.78kWh import ignored.
2026-08-15 16:30:03.839435: Inverter 0: Type SK Sunsynk
2026-08-15 16:30:03.839533: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 16:30:03.839720: Reserve min: 7%, battery_min: 7%
2026-08-15 16:30:03.839791: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 16:30:03.840329: Inverter 0 SoC: 15.84kW 99%, current charge rate 5000W, current discharge rate 5250W, current battery power 292W, current battery voltage 51.2V, grid power -55W, load power 364W, PV Power 0W
2026-08-15 16:30:03.840509: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 16:30:03.840595: Inverter 0 scheduled charge enable is False
2026-08-15 16:30:03.840632: Inverter 0 charge windows currently []
2026-08-15 16:30:03.840659: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 16:30:03.840773: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 16:30:03.840809: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 16:30:03.840845: Inverter 0 scheduled discharge enable is False
2026-08-15 16:30:03.841006: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 16:30:03.841053: Inverter 0 discharge windows currently []
2026-08-15 16:30:03.841076: Note: Inverter does not support discharge freeze - disabled
2026-08-15 16:30:03.841102: Note: Inverter does not support charge freeze - disabled
2026-08-15 16:30:03.841120: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 16:30:04.018237: Dynamic load last period 0.00kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 16:30:04.018393: Plan was last updated on 2026-08-15 16:25:00+01:00 and is now 5.0 minutes old
2026-08-15 16:30:04.018892: Best charge window [ 16-08 08:00:00 - 16-08 08:30:00 @ 24.06p 25%, 16-08 11:30:00 - 16-08 12:30:00 @ 23.46p 13%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 22%, 16-08 13:30:00 - 16-08 15:00:00 @ 21.75p 100%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.95p 66%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.83p 69%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.79p 19%, 17-08 12:30:00 - 17-08 16:30:00 @ 29.72p 100% ]
2026-08-15 16:30:04.019069: Best export window [  ]
2026-08-15 16:30:04.020428: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 16:30:04.025387: Load divergence over 8.0 hours mean 588.74W, min 295.8W, max 1953.0W, std dev 416.29W, divergence 35.35%
2026-08-15 16:30:04.105022: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 16:30:04.105363: LoadML is_calculating True
2026-08-15 16:30:04.105520: Not using thread pool as LoadML is calculating to avoid lockups
2026-08-15 16:30:04.201142: predict base end_record 08-17 12:35:00, final soc 1.12kWh, metric 1113.9p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 12:35:00, load 38.05kWh, PV 0.0kWh
2026-08-15 16:30:04.467318: Battery has 20.08 hours left - now at 15.84kWh
2026-08-15 16:30:04.534370: predict base10 end_record 08-17 12:35:00, final soc 1.12kWh, metric 1150.58p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 11:50:00, load 39.45kWh, PV 0.0kWh
2026-08-15 16:30:04.688196: predict best10 end_record 08-17 12:35:00, final soc 1.44kWh, metric 1094.42p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 05:15:00, load 39.45kWh, PV 0.0kWh
2026-08-15 16:30:04.831816: predict best end_record 08-17 12:35:00, final soc 1.51kWh, metric 1058.38p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 05:55:00, load 38.05kWh, PV 0.0kWh
2026-08-15 16:30:04.832117: Saving plan best values to HA entities
2026-08-15 16:30:05.213232: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 16:30:05.221506: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 16:30:05.229617: Best charging limit SoC's [4.0, 2.0, 3.5, 16.0, 10.5, 11.0, 3.0, 16.0]kWh, export []kWh gives import battery 13.55kWh, house 3.86kWh, export 0.0kWh, metric 1058.38p, metric10 1094.42p
2026-08-15 16:30:05.353854: Marginal costs baseline metric (no standing charge): 958.4161
2026-08-15 16:30:05.735357: Marginal energy costs matrix computed: min=26.42 max=32.39
2026-08-15 16:30:05.912613: Rate array import [{'start': 990, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1410, 'rate': 'expensive', 'range': '(29.8p - 32.9p)'}, {'start': 1410, 'end': 2400, 'rate': 'cheap', 'range': '(21.4p - 28.2p)'}, {'start': 2400, 'end': 2430, 'rate': 'expensive', 'range': '(36.8p)'}, {'start': 2430, 'end': 2580, 'rate': 'very expensive', 'range': '(37.5p - 45.3p)'}, {'start': 2580, 'end': 2850, 'rate': 'expensive', 'range': '(30.0p - 35.9p)'}, {'start': 2850, 'end': 3635, 'rate': 'cheap', 'range': '(22.3p - 28.2p)'}] export [{'start': 990, 'end': 3635, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 16:30:05.913621: - Your estimated bill for today is £5.63 and tomorrow is £3.31
2026-08-15 16:30:05.913687: - Import rates are expensive (33.1p) for the next 30 minutes and then very expensive (38.5p - 43.8p) for the next 2 hours.
2026-08-15 16:30:05.913751: - The battery is currently at 99% and is in eco mode for the next 15 hours.
2026-08-15 16:30:05.913870: - For the next 48 hours there will be no solar generation.
2026-08-15 16:30:05.913909: - You will run out of battery in 37 hours.
2026-08-15 16:30:05.913961: - Your next charge slot will be in 15 hours where import rates will be cheap (24.1p).
2026-08-15 16:30:05.914061: 
2026-08-15 16:30:06.051189: Plan calculation took 2.03 seconds
2026-08-15 16:30:06.054669: No high rate period found
2026-08-15 16:30:06.183462: Import threshold used for optimisation was 25.86p
2026-08-15 16:30:06.332636: Low import rate windows [0: 08-15 16:30:00 - 08-15 17:00:00 @ 33.13, 1: 08-15 17:00:00 - 08-15 17:30:00 @ 38.46, 2: 08-15 17:30:00 - 08-15 18:00:00 @ 40.44, 3: 08-15 18:00:00 - 08-15 18:30:00 @ 41.55, 4: 08-15 18:30:00 - 08-15 19:00:00 @ 43.82, 5: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 6: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 7: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 8: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 9: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 10: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 11: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 12: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 13: 08-15 23:00:00 - 08-15 23:30:00 @ 30.02, 14: 08-15 23:30:00 - 08-16 00:00:00 @ 27.8, 15: 08-16 00:00:00 - 08-16 00:30:00 @ 28.18, 16: 08-16 00:30:00 - 08-16 01:00:00 @ 27.38, 17: 08-16 01:00:00 - 08-16 01:30:00 @ 26.7, 18: 08-16 01:30:00 - 08-16 02:00:00 @ 26.31, 19: 08-16 02:00:00 - 08-16 02:30:00 @ 25.79, 20: 08-16 02:30:00 - 08-16 03:00:00 @ 25.86, 21: 08-16 03:00:00 - 08-16 03:30:00 @ 26.13, 22: 08-16 03:30:00 - 08-16 04:00:00 @ 25.86, 23: 08-16 04:00:00 - 08-16 04:30:00 @ 26.27, 24: 08-16 04:30:00 - 08-16 05:00:00 @ 26.14, 25: 08-16 05:00:00 - 08-16 05:30:00 @ 27.03, 26: 08-16 05:30:00 - 08-16 06:00:00 @ 26.28, 27: 08-16 06:00:00 - 08-16 06:30:00 @ 25.68, 28: 08-16 06:30:00 - 08-16 07:00:00 @ 26.1, 29: 08-16 07:00:00 - 08-16 07:30:00 @ 24.28, 30: 08-16 07:30:00 - 08-16 08:00:00 @ 24.94, 31: 08-16 08:00:00 - 08-16 08:30:00 @ 24.06, 32: 08-16 08:30:00 - 08-16 09:00:00 @ 24.39, 33: 08-16 09:00:00 - 08-16 09:30:00 @ 24.66, 34: 08-16 09:30:00 - 08-16 10:00:00 @ 24.06, 35: 08-16 10:00:00 - 08-16 10:30:00 @ 25.5, 36: 08-16 10:30:00 - 08-16 11:00:00 @ 24.94, 37: 08-16 11:00:00 - 08-16 11:30:00 @ 24.25, 38: 08-16 11:30:00 - 08-16 12:00:00 @ 23.49, 39: 08-16 12:00:00 - 08-16 12:30:00 @ 23.43, 40: 08-16 12:30:00 - 08-16 13:00:00 @ 22.33, 41: 08-16 13:00:00 - 08-16 13:30:00 @ 22.76, 42: 08-16 13:30:00 - 08-16 14:00:00 @ 22.3, 43: 08-16 14:00:00 - 08-16 14:30:00 @ 21.41, 44: 08-16 14:30:00 - 08-16 15:00:00 @ 21.65, 45: 08-16 15:00:00 - 08-16 15:30:00 @ 22.95, 46: 08-16 15:30:00 - 08-16 16:00:00 @ 22.83, 47: 08-16 16:00:00 - 08-16 16:30:00 @ 36.84, 48: 08-16 16:30:00 - 08-16 17:00:00 @ 37.54, 49: 08-16 17:00:00 - 08-16 17:30:00 @ 41.79, 50: 08-16 17:30:00 - 08-16 18:00:00 @ 43.7, 51: 08-16 18:00:00 - 08-16 18:30:00 @ 44.34, 52: 08-16 19:00:00 - 08-16 19:30:00 @ 34.79, 53: 08-16 19:30:00 - 08-16 20:00:00 @ 34.76, 54: 08-16 20:00:00 - 08-16 20:30:00 @ 35.62, 55: 08-16 20:30:00 - 08-16 21:00:00 @ 35.3, 56: 08-16 21:00:00 - 08-16 21:30:00 @ 35.89, 57: 08-16 21:30:00 - 08-16 22:00:00 @ 35.71, 58: 08-16 22:00:00 - 08-16 22:30:00 @ 33.75, 59: 08-16 22:30:00 - 08-16 23:00:00 @ 32.0, 60: 08-16 23:00:00 - 08-16 23:30:00 @ 30.02, 61: 08-16 23:30:00 - 08-17 00:00:00 @ 27.8, 62: 08-17 00:00:00 - 08-17 00:30:00 @ 28.18, 63: 08-17 00:30:00 - 08-17 01:00:00 @ 27.38, 64: 08-17 01:00:00 - 08-17 01:30:00 @ 26.7, 65: 08-17 01:30:00 - 08-17 02:00:00 @ 26.31, 66: 08-17 02:00:00 - 08-17 02:30:00 @ 25.79, 67: 08-17 02:30:00 - 08-17 03:00:00 @ 25.86, 68: 08-17 03:00:00 - 08-17 03:30:00 @ 26.13, 69: 08-17 03:30:00 - 08-17 04:00:00 @ 25.86, 70: 08-17 04:00:00 - 08-17 04:30:00 @ 26.27, 71: 08-17 04:30:00 - 08-17 05:00:00 @ 26.14, 72: 08-17 05:00:00 - 08-17 05:30:00 @ 27.03, 73: 08-17 05:30:00 - 08-17 06:00:00 @ 26.28, 74: 08-17 06:00:00 - 08-17 06:30:00 @ 25.68, 75: 08-17 06:30:00 - 08-17 07:00:00 @ 26.1, 76: 08-17 07:00:00 - 08-17 07:30:00 @ 24.28, 77: 08-17 07:30:00 - 08-17 08:00:00 @ 24.94, 78: 08-17 08:00:00 - 08-17 08:30:00 @ 24.06, 79: 08-17 08:30:00 - 08-17 09:00:00 @ 24.39, 80: 08-17 09:00:00 - 08-17 09:30:00 @ 24.66, 81: 08-17 09:30:00 - 08-17 10:00:00 @ 24.06, 82: 08-17 10:00:00 - 08-17 10:30:00 @ 25.5, 83: 08-17 10:30:00 - 08-17 11:00:00 @ 24.94, 84: 08-17 11:00:00 - 08-17 11:30:00 @ 24.25, 85: 08-17 11:30:00 - 08-17 12:00:00 @ 23.49, 86: 08-17 12:00:00 - 08-17 12:30:00 @ 23.43, 87: 08-17 12:30:00 - 08-17 13:00:00 @ 22.33, 88: 08-17 13:00:00 - 08-17 13:30:00 @ 22.76, 89: 08-17 13:30:00 - 08-17 14:00:00 @ 22.3, 90: 08-17 14:00:00 - 08-17 14:30:00 @ 21.41, 91: 08-17 14:30:00 - 08-17 15:00:00 @ 21.65, 92: 08-17 15:00:00 - 08-17 15:30:00 @ 22.95, 93: 08-17 15:30:00 - 08-17 16:00:00 @ 22.83, 94: 08-17 16:00:00 - 08-17 16:30:00 @ 36.84]
2026-08-15 16:30:06.369969: Inverter 0 Charge window will be: 2026-08-16 08:00:00+01:00 - 2026-08-16 08:30:00+01:00 - current SoC 99%, target 25%
2026-08-15 16:30:06.370163: Inverter 0 disabled charge window while waiting for schedule (now 08-15 16:30:00 target set_window_minutes 30 charge start time 08-16 08:00:00) original inverter start time 08-17 00:00:00
2026-08-15 16:30:06.370411: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 16:30:06.370783: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 16:30:06.370986: No export window planned
2026-08-15 16:30:06.371241: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 16:30:06.371407: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 16:30:06.371723: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 16:30:06.372036: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 16:30:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 16:30:06.372201: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 16:30:06.372387: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 16:30:06.373091: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 16:30:06.375872: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 16:30:06.376071: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 16:30:06.376212: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 16:30:06.376370: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 16:30:06.376505: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 16:30:06.376648: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 16:30:06.376864: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 16:30:06.377060: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 16:30:06.377216: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 16:30:06.377382: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 16:30:06.377528: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 16:30:06.377671: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 16:30:06.377818: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 16:30:06.379890: Inverter 0 count register writes 0
2026-08-15 16:30:06.417581: Will not recompute the plan, it is 5.0 minutes old and max age is 10 minutes
2026-08-15 16:30:06.426074: Total inverter register writes now 826
2026-08-15 16:30:06.499795: Info: Completed run status Demand
2026-08-15 16:30:06.512929: Info: record_status Demand
2026-08-15 16:30:06.525078: Saved current settings to /config/predbat_config.json
2026-08-15 16:30:06.525458: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 16:30:27.523848: ML Predictor: Epoch 23/30: lr=0.00022 huber_loss=0.0060 val_mae=0.0023 kWh val_bias=-0.0007 kWh (-1.0%) combined=0.0015 kWh ema_combined=0.0015 kWh
2026-08-15 16:30:41.667443: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 16:30:41.667803: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 16:30:41.667866: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 16:30:41.668024: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 16:30:41.668067: Note: Inverter does not support discharge freeze - disabled
2026-08-15 16:30:41.668089: Note: Inverter does not support charge freeze - disabled
2026-08-15 16:30:41.668106: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 16:30:58.844033: ML Predictor: Epoch 24/30: lr=0.00019 huber_loss=0.0061 val_mae=0.0025 kWh val_bias=-0.0009 kWh (-1.3%) combined=0.0015 kWh ema_combined=0.0015 kWh
2026-08-15 16:31:29.760872: ML Predictor: Epoch 25/30: lr=0.00016 huber_loss=0.0057 val_mae=0.0025 kWh val_bias=-0.0007 kWh (-1.1%) combined=0.0013 kWh ema_combined=0.0014 kWh
2026-08-15 16:32:00.993644: ML Predictor: Epoch 26/30: lr=0.00014 huber_loss=0.0064 val_mae=0.0025 kWh val_bias=-0.0000 kWh (-0.0%) combined=0.0018 kWh ema_combined=0.0016 kWh
2026-08-15 16:32:31.271651: ML Predictor: Epoch 27/30: lr=0.00012 huber_loss=0.0058 val_mae=0.0021 kWh val_bias=-0.0005 kWh (-0.6%) combined=0.0011 kWh ema_combined=0.0014 kWh
2026-08-15 16:32:42.318677: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 16:32:42.318984: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 16:32:42.319036: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 16:32:42.327397: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 16:32:42.327560: Note: Inverter does not support discharge freeze - disabled
2026-08-15 16:32:42.327713: Note: Inverter does not support charge freeze - disabled
2026-08-15 16:32:42.327851: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 16:33:02.752331: ML Predictor: Epoch 28/30: lr=0.00011 huber_loss=0.0055 val_mae=0.0022 kWh val_bias=-0.0005 kWh (-0.7%) combined=0.0011 kWh ema_combined=0.0013 kWh
2026-08-15 16:33:32.759591: ML Predictor: Epoch 29/30: lr=0.00010 huber_loss=0.0053 val_mae=0.0021 kWh val_bias=-0.0002 kWh (-0.3%) combined=0.0013 kWh ema_combined=0.0013 kWh
2026-08-15 16:34:03.855456: ML Predictor: Epoch 30/30: lr=0.00010 huber_loss=0.0055 val_mae=0.0021 kWh val_bias=-0.0000 kWh (-0.0%) combined=0.0014 kWh ema_combined=0.0014 kWh
2026-08-15 16:34:03.861794: ML Predictor: Restored best weights from epoch with val_mae=0.0021 kWh val_bias=-0.0002 kWh (-0.3%)
2026-08-15 16:34:03.862543: ML Predictor: Training complete, final val_mae=0.0021 kWh val_bias=-0.0002 kWh (-0.3%)
2026-08-15 16:34:04.980130: ML Predictor: AR rollout over holdout: ar_mae=0.0023 kWh ar_bias=-0.0001 kWh (-0.2%) [drift vs teacher-forced: +0.0002 kWh]
2026-08-15 16:34:04.983803: ML Predictor: Curriculum pass 2/5 complete, val_mae=0.0021 kWh
2026-08-15 16:34:05.047483: ML Predictor: Curriculum pass 3/5: window=56.0 days (1344 hours of data)
2026-08-15 16:34:05.047733: ML Predictor: Starting fine-tune training with 30 epochs
2026-08-15 16:34:05.591621: ML Predictor: Creating dataset with 1344 hours of training data, 48 hours validation
2026-08-15 16:34:11.095707: ML Predictor: Created 15840 training samples, 576 validation samples
2026-08-15 16:34:11.149454: ML Predictor: Normalization stats [ema-update alpha=0.1] target(mean=0.0586 std=0.0469) load(mean=0.0588 std=0.0470) pv(mean=0.0000 std=0.0100) temp(mean=19.5305 std=4.4377) import_rate(mean=25.5337 std=2.4621) export_rate(mean=0.0000 std=1.0000) time(mean=-0.1887 std=0.5248)
2026-08-15 16:34:11.238057: ML Predictor: Applied EMA normalization update (alpha=0.1) to track feature drift
2026-08-15 16:34:11.256668: ML Predictor: Reset Adam optimiser state for fine-tuning
2026-08-15 16:34:11.304650: ML Predictor: Baseline (pre-finetune) val_mae=0.0052 kWh val_bias=-0.0010 kWh
2026-08-15 16:34:44.016321: ML Predictor: Epoch 1/30: lr=0.00100 huber_loss=0.0103 val_mae=0.0071 kWh val_bias=-0.0038 kWh (-4.2%) combined=0.0052 kWh ema_combined=0.0052 kWh
2026-08-15 16:34:57.129381: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 16:34:57.129705: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 16:34:57.129763: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 16:34:57.129962: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 16:34:57.130015: Note: Inverter does not support discharge freeze - disabled
2026-08-15 16:34:57.130044: Note: Inverter does not support charge freeze - disabled
2026-08-15 16:34:57.130075: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 16:35:00.304348: --------------- PredBat - update at 2026-08-15 16:35:00+01:00 with clock skew 0 minutes, minutes now 995
2026-08-15 16:35:00.305361: Saved current settings to /config/predbat_config.json
2026-08-15 16:35:00.305506: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 10.0 minutes
2026-08-15 16:35:00.306763: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.2, latest beta is v8.48.2
2026-08-15 16:35:00.306913: Autoupdate: There is an update pending v8.48.2 PV90 and second pass enabled by default, bug fixes - auto update is off
2026-08-15 16:35:00.352096: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 16:35:00.352258: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 16:35:00.352494: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 16:35:00.353158: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 16:35:00.353327: Predbat mode is set to Control charge & discharge
2026-08-15 16:35:00.718746: Found 21602 load_today datapoints going back 28 days
2026-08-15 16:35:00.718920: Using load_power data to fill gaps in load_today data
2026-08-15 16:35:02.048045: Processing 721 30-minute periods for power integration
2026-08-15 16:35:02.234607: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 16:35:02.234865: Car charging hold False, threshold 6.0kWh
2026-08-15 16:35:02.234937: Current data so far today: load 8.6kWh, import 27.5kWh, export 0.0kWh, PV 0kWh
2026-08-15 16:35:02.254583: Cars: SoC: [10.548]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 16:35:02.255301: Standing charge is set to 49.98p
2026-08-15 16:35:02.385760: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 16:35:02.386014: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 16:35:02.386339: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 355.0 minutes
2026-08-15 16:35:02.386982: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 355.0 minutes
2026-08-15 16:35:02.395536: Loaded 95 datapoints of futurerate analysis
2026-08-15 16:35:02.687527: Predicted future rates: ['08-15 00:00:00 => 28.69 / 20.01', '08-15 01:00:00 => 27.33 / 19.31', '08-15 02:00:00 => 26.31 / 18.8', '08-15 03:00:00 => 25.78 / 18.53', '08-15 04:00:00 => 25.59 / 18.43', '08-15 05:00:00 => 25.75 / 18.51', '08-15 06:00:00 => 25.34 / 18.3', '08-15 07:00:00 => 24.12 / 17.68', '08-15 08:00:00 => 22.82 / 17.01', '08-15 09:00:00 => 21.84 / 16.51', '08-15 10:00:00 => 20.22 / 15.68', '08-15 11:00:00 => 17.8 / 14.45', '08-15 12:00:00 => 16.16 / 13.61', '08-15 13:00:00 => 15.55 / 13.3', '08-15 14:00:00 => 15.14 / 13.09', '08-15 15:00:00 => 15.65 / 13.35', '08-15 16:00:00 => 32.68 / 16.13', '08-15 17:00:00 => 37.81 / 18.75', '08-15 18:00:00 => 42.15 / 20.96', '08-15 19:00:00 => 30.88 / 21.13', '08-15 20:00:00 => 31.43 / 21.41', '08-15 21:00:00 => 31.43 / 21.41', '08-15 22:00:00 => 30.37 / 20.87', '08-15 23:00:00 => 29.16 / 20.25', '08-16 00:00:00 => 28.62 / 19.97', '08-16 01:00:00 => 27.52 / 19.41', '08-16 02:00:00 => 26.55 / 18.92', '08-16 03:00:00 => 26.18 / 18.73', '08-16 04:00:00 => 26.12 / 18.7', '08-16 05:00:00 => 26.02 / 18.65', '08-16 06:00:00 => 25.78 / 18.53', '08-16 07:00:00 => 25.43 / 18.35', '08-16 08:00:00 => 24.63 / 17.94', '08-16 09:00:00 => 24.05 / 17.64', '08-16 10:00:00 => 24.59 / 17.92', '08-16 11:00:00 => 24.5 / 17.87', '08-16 12:00:00 => 23.58 / 17.4', '08-16 13:00:00 => 22.93 / 17.07', '08-16 14:00:00 => 21.8 / 16.49', '08-16 15:00:00 => 21.8 / 16.49']
2026-08-15 16:35:02.724536: Rate min forward looking: now 21.41p at end of forecast 21.41p
2026-08-15 16:35:02.725260: Import rates: min 21.41p, max 45.28p, average 28.34p
2026-08-15 16:35:02.835226: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 16:35:02.835396: Rate thresholds (for charge/export) are import 44.78p (0.0p), export -0.1p (0.0p)
2026-08-15 16:35:02.837406: High export rate found rates in range 99p to -99p
2026-08-15 16:35:03.015195: Low Import rate found rates in range 21.41p to 44.34p
2026-08-15 16:35:03.015384: Car 0 charging is not planned as it is not plugged in
2026-08-15 16:35:03.032089: Battery level now 15.84kWh, -1hr ago 14.54kWh, at midnight 1.66kWh, battery value change in the last hour 23.98p, change today 260.89p, rate_forward 18.39p
2026-08-15 16:35:03.032646: Last hour: net energy 2.4kWh, import 2.4kWh, export 0.0kWh, car 0kWh, load 0.2kWh, net cost 44.29p, import 44.29p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 16:35:03.148905: Today's energy total net 27.5kWh, import 27.5kWh, export 0.0kWh, cost 562.65p, import 512.67p, export 0.0p, carbon 0.0kg
2026-08-15 16:35:03.149147: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 16:35:03.394470: Using weighted-bucket historical load forecast over 14 days
2026-08-15 16:35:03.454313: Today's load divergence 90.88%, in-day adjustment 107.54%, damping 0.95x, yesterday 143.77% today 91.33% blend 30.9%
2026-08-15 16:35:03.454812: Today's predicted so far 10.05kWh with 0.0kWh car/iBoost excluded, 20.86kWh import ignored, and 10.05kWh forecast extra.
2026-08-15 16:35:03.454863: Today's actual load so far 8.77kWh with 0.0kWh car/iBoost excluded, and 20.86kWh import ignored.
2026-08-15 16:35:03.504474: Inverter 0: Type SK Sunsynk
2026-08-15 16:35:03.504574: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 16:35:03.504756: Reserve min: 7%, battery_min: 7%
2026-08-15 16:35:03.504916: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 16:35:03.505346: Inverter 0 SoC: 15.84kW 99%, current charge rate 5000W, current discharge rate 5250W, current battery power 268W, current battery voltage 51.2V, grid power -54W, load power 338W, PV Power 0W
2026-08-15 16:35:03.505582: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 16:35:03.505734: Inverter 0 scheduled charge enable is False
2026-08-15 16:35:03.505780: Inverter 0 charge windows currently []
2026-08-15 16:35:03.505877: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 16:35:03.506049: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 16:35:03.506098: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 16:35:03.506217: Inverter 0 scheduled discharge enable is False
2026-08-15 16:35:03.506496: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 16:35:03.506550: Inverter 0 discharge windows currently []
2026-08-15 16:35:03.506575: Note: Inverter does not support discharge freeze - disabled
2026-08-15 16:35:03.506636: Note: Inverter does not support charge freeze - disabled
2026-08-15 16:35:03.506701: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 16:35:03.578895: Dynamic load last period 0.00kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 16:35:03.579015: Plan was last updated on 2026-08-15 16:25:00+01:00 and is now 10.0 minutes old
2026-08-15 16:35:03.579473: Best charge window [ 16-08 08:00:00 - 16-08 08:30:00 @ 24.06p 25%, 16-08 11:30:00 - 16-08 12:30:00 @ 23.46p 13%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 22%, 16-08 13:30:00 - 16-08 15:00:00 @ 21.75p 100%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.95p 66%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.83p 69%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.79p 19%, 17-08 12:30:00 - 17-08 16:30:00 @ 29.72p 100% ]
2026-08-15 16:35:03.579550: Best export window [  ]
2026-08-15 16:35:03.580469: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 16:35:03.583615: Load divergence over 8.0 hours mean 594.93W, min 295.8W, max 2423.4W, std dev 443.36W, divergence 37.26%
2026-08-15 16:35:03.602001: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 16:35:03.602486: LoadML is_calculating True
2026-08-15 16:35:03.602611: Not using thread pool as LoadML is calculating to avoid lockups
2026-08-15 16:35:03.639957: predict base end_record 08-17 12:40:00, final soc 1.12kWh, metric 1113.54p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 12:40:00, load 38.05kWh, PV 0.0kWh
2026-08-15 16:35:03.819076: Battery has 20.08 hours left - now at 15.84kWh
2026-08-15 16:35:03.884345: predict base10 end_record 08-17 12:40:00, final soc 1.12kWh, metric 1150.11p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 11:55:00, load 39.45kWh, PV 0.0kWh
2026-08-15 16:35:04.052498: predict best10 end_record 08-17 12:40:00, final soc 1.77kWh, metric 1101.62p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 05:15:00, load 39.45kWh, PV 0.0kWh
2026-08-15 16:35:04.180037: predict best end_record 08-17 12:40:00, final soc 1.9kWh, metric 1067.41p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 06:00:00, load 38.05kWh, PV 0.0kWh
2026-08-15 16:35:04.180155: Saving plan best values to HA entities
2026-08-15 16:35:04.596925: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 16:35:04.606452: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0.0
2026-08-15 16:35:04.615384: Best charging limit SoC's [4.0, 2.0, 3.5, 16.0, 10.5, 11.0, 3.0, 16.0]kWh, export []kWh gives import battery 13.99kWh, house 3.83kWh, export 0.0kWh, metric 1067.41p, metric10 1101.62p
2026-08-15 16:35:04.772713: Marginal costs baseline metric (no standing charge): 967.4416
2026-08-15 16:35:05.221301: Marginal energy costs matrix computed: min=26.41 max=31.89
2026-08-15 16:35:05.352550: Rate array import [{'start': 995, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1410, 'rate': 'expensive', 'range': '(29.8p - 32.9p)'}, {'start': 1410, 'end': 2400, 'rate': 'cheap', 'range': '(21.4p - 28.2p)'}, {'start': 2400, 'end': 2430, 'rate': 'expensive', 'range': '(36.8p)'}, {'start': 2430, 'end': 2580, 'rate': 'very expensive', 'range': '(37.5p - 45.3p)'}, {'start': 2580, 'end': 2850, 'rate': 'expensive', 'range': '(30.0p - 35.9p)'}, {'start': 2850, 'end': 3640, 'rate': 'cheap', 'range': '(22.3p - 28.2p)'}] export [{'start': 995, 'end': 3640, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 16:35:05.353873: - Your estimated bill for today is £5.63 and tomorrow is £3.30
2026-08-15 16:35:05.369235: - Import rates are expensive (33.1p) for the next 25 minutes and then very expensive (38.5p - 43.8p) for the next 2 hours.
2026-08-15 16:35:05.369402: - The battery is currently at 99% and is in eco mode for the next 15 hours.
2026-08-15 16:35:05.369557: - For the next 48 hours there will be no solar generation.
2026-08-15 16:35:05.369672: - You will run out of battery in 37 hours.
2026-08-15 16:35:05.369816: - Your next charge slot will be in 15 hours where import rates will be cheap (24.1p).
2026-08-15 16:35:05.369926: 
2026-08-15 16:35:05.466881: Plan calculation took 1.89 seconds
2026-08-15 16:35:05.474810: No high rate period found
2026-08-15 16:35:05.605484: Import threshold used for optimisation was 25.86p
2026-08-15 16:35:05.695299: Low import rate windows [0: 08-15 16:30:00 - 08-15 17:00:00 @ 33.13, 1: 08-15 17:00:00 - 08-15 17:30:00 @ 38.46, 2: 08-15 17:30:00 - 08-15 18:00:00 @ 40.44, 3: 08-15 18:00:00 - 08-15 18:30:00 @ 41.55, 4: 08-15 18:30:00 - 08-15 19:00:00 @ 43.82, 5: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 6: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 7: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 8: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 9: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 10: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 11: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 12: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 13: 08-15 23:00:00 - 08-15 23:30:00 @ 30.02, 14: 08-15 23:30:00 - 08-16 00:00:00 @ 27.8, 15: 08-16 00:00:00 - 08-16 00:30:00 @ 28.18, 16: 08-16 00:30:00 - 08-16 01:00:00 @ 27.38, 17: 08-16 01:00:00 - 08-16 01:30:00 @ 26.7, 18: 08-16 01:30:00 - 08-16 02:00:00 @ 26.31, 19: 08-16 02:00:00 - 08-16 02:30:00 @ 25.79, 20: 08-16 02:30:00 - 08-16 03:00:00 @ 25.86, 21: 08-16 03:00:00 - 08-16 03:30:00 @ 26.13, 22: 08-16 03:30:00 - 08-16 04:00:00 @ 25.86, 23: 08-16 04:00:00 - 08-16 04:30:00 @ 26.27, 24: 08-16 04:30:00 - 08-16 05:00:00 @ 26.14, 25: 08-16 05:00:00 - 08-16 05:30:00 @ 27.03, 26: 08-16 05:30:00 - 08-16 06:00:00 @ 26.28, 27: 08-16 06:00:00 - 08-16 06:30:00 @ 25.68, 28: 08-16 06:30:00 - 08-16 07:00:00 @ 26.1, 29: 08-16 07:00:00 - 08-16 07:30:00 @ 24.28, 30: 08-16 07:30:00 - 08-16 08:00:00 @ 24.94, 31: 08-16 08:00:00 - 08-16 08:30:00 @ 24.06, 32: 08-16 08:30:00 - 08-16 09:00:00 @ 24.39, 33: 08-16 09:00:00 - 08-16 09:30:00 @ 24.66, 34: 08-16 09:30:00 - 08-16 10:00:00 @ 24.06, 35: 08-16 10:00:00 - 08-16 10:30:00 @ 25.5, 36: 08-16 10:30:00 - 08-16 11:00:00 @ 24.94, 37: 08-16 11:00:00 - 08-16 11:30:00 @ 24.25, 38: 08-16 11:30:00 - 08-16 12:00:00 @ 23.49, 39: 08-16 12:00:00 - 08-16 12:30:00 @ 23.43, 40: 08-16 12:30:00 - 08-16 13:00:00 @ 22.33, 41: 08-16 13:00:00 - 08-16 13:30:00 @ 22.76, 42: 08-16 13:30:00 - 08-16 14:00:00 @ 22.3, 43: 08-16 14:00:00 - 08-16 14:30:00 @ 21.41, 44: 08-16 14:30:00 - 08-16 15:00:00 @ 21.65, 45: 08-16 15:00:00 - 08-16 15:30:00 @ 22.95, 46: 08-16 15:30:00 - 08-16 16:00:00 @ 22.83, 47: 08-16 16:00:00 - 08-16 16:30:00 @ 36.84, 48: 08-16 16:30:00 - 08-16 17:00:00 @ 37.54, 49: 08-16 17:00:00 - 08-16 17:30:00 @ 41.79, 50: 08-16 17:30:00 - 08-16 18:00:00 @ 43.7, 51: 08-16 18:00:00 - 08-16 18:30:00 @ 44.34, 52: 08-16 19:00:00 - 08-16 19:30:00 @ 34.79, 53: 08-16 19:30:00 - 08-16 20:00:00 @ 34.76, 54: 08-16 20:00:00 - 08-16 20:30:00 @ 35.62, 55: 08-16 20:30:00 - 08-16 21:00:00 @ 35.3, 56: 08-16 21:00:00 - 08-16 21:30:00 @ 35.89, 57: 08-16 21:30:00 - 08-16 22:00:00 @ 35.71, 58: 08-16 22:00:00 - 08-16 22:30:00 @ 33.75, 59: 08-16 22:30:00 - 08-16 23:00:00 @ 32.0, 60: 08-16 23:00:00 - 08-16 23:30:00 @ 30.02, 61: 08-16 23:30:00 - 08-17 00:00:00 @ 27.8, 62: 08-17 00:00:00 - 08-17 00:30:00 @ 28.18, 63: 08-17 00:30:00 - 08-17 01:00:00 @ 27.38, 64: 08-17 01:00:00 - 08-17 01:30:00 @ 26.7, 65: 08-17 01:30:00 - 08-17 02:00:00 @ 26.31, 66: 08-17 02:00:00 - 08-17 02:30:00 @ 25.79, 67: 08-17 02:30:00 - 08-17 03:00:00 @ 25.86, 68: 08-17 03:00:00 - 08-17 03:30:00 @ 26.13, 69: 08-17 03:30:00 - 08-17 04:00:00 @ 25.86, 70: 08-17 04:00:00 - 08-17 04:30:00 @ 26.27, 71: 08-17 04:30:00 - 08-17 05:00:00 @ 26.14, 72: 08-17 05:00:00 - 08-17 05:30:00 @ 27.03, 73: 08-17 05:30:00 - 08-17 06:00:00 @ 26.28, 74: 08-17 06:00:00 - 08-17 06:30:00 @ 25.68, 75: 08-17 06:30:00 - 08-17 07:00:00 @ 26.1, 76: 08-17 07:00:00 - 08-17 07:30:00 @ 24.28, 77: 08-17 07:30:00 - 08-17 08:00:00 @ 24.94, 78: 08-17 08:00:00 - 08-17 08:30:00 @ 24.06, 79: 08-17 08:30:00 - 08-17 09:00:00 @ 24.39, 80: 08-17 09:00:00 - 08-17 09:30:00 @ 24.66, 81: 08-17 09:30:00 - 08-17 10:00:00 @ 24.06, 82: 08-17 10:00:00 - 08-17 10:30:00 @ 25.5, 83: 08-17 10:30:00 - 08-17 11:00:00 @ 24.94, 84: 08-17 11:00:00 - 08-17 11:30:00 @ 24.25, 85: 08-17 11:30:00 - 08-17 12:00:00 @ 23.49, 86: 08-17 12:00:00 - 08-17 12:30:00 @ 23.43, 87: 08-17 12:30:00 - 08-17 13:00:00 @ 22.33, 88: 08-17 13:00:00 - 08-17 13:30:00 @ 22.76, 89: 08-17 13:30:00 - 08-17 14:00:00 @ 22.3, 90: 08-17 14:00:00 - 08-17 14:30:00 @ 21.41, 91: 08-17 14:30:00 - 08-17 15:00:00 @ 21.65, 92: 08-17 15:00:00 - 08-17 15:30:00 @ 22.95, 93: 08-17 15:30:00 - 08-17 16:00:00 @ 22.83, 94: 08-17 16:00:00 - 08-17 16:30:00 @ 36.84, 95: 08-17 16:30:00 - 08-17 17:00:00 @ 37.54]
2026-08-15 16:35:05.745117: Inverter 0 Charge window will be: 2026-08-16 08:00:00+01:00 - 2026-08-16 08:30:00+01:00 - current SoC 99%, target 25%
2026-08-15 16:35:05.745463: Inverter 0 disabled charge window while waiting for schedule (now 08-15 16:35:00 target set_window_minutes 30 charge start time 08-16 08:00:00) original inverter start time 08-17 00:00:00
2026-08-15 16:35:05.745599: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 16:35:05.745898: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 16:35:05.746044: No export window planned
2026-08-15 16:35:05.746288: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 16:35:05.746355: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 16:35:05.746871: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 16:35:05.747125: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 16:35:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 16:35:05.747196: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 16:35:05.747363: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 16:35:05.747529: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 16:35:05.747592: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 16:35:05.747719: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 16:35:05.747774: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 16:35:05.747894: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 16:35:05.747976: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 16:35:05.748069: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 16:35:05.748203: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 16:35:05.748260: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 16:35:05.748402: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 16:35:05.748498: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 16:35:05.748551: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 16:35:05.748670: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 16:35:05.748750: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 16:35:05.748797: Inverter 0 count register writes 0
2026-08-15 16:35:05.794769: Will recompute the plan as it is now 10.0 minutes old and will exceed the max age of 10 minutes before the next run
2026-08-15 16:35:05.795027: Recompute is saving previous plan...
2026-08-15 16:35:05.799166: Best charge window [ 15-08 16:30:00 - 15-08 17:00:00 @ 33.13p 0%, 15-08 17:00:00 - 15-08 17:30:00 @ 38.46p 0%, 15-08 17:30:00 - 15-08 18:00:00 @ 40.44p 0%, 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 0%, 15-08 18:30:00 - 15-08 19:00:00 @ 43.82p 0%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 0%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 0%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 0%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 0%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 30.02p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 27.8p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.18p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.38p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 26.7p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.31p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.79p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 25.86p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.13p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 25.86p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.27p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.14p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 27.03p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.28p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.68p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 26.1p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 24.28p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 24.94p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.06p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.39p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.66p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.06p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 25.5p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 24.94p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 24.25p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 23.49p 0%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.43p 0%, 16-08 12:30:00 - 16-08 13:00:00 @ 22.33p 0%, 16-08 13:00:00 - 16-08 13:30:00 @ 22.76p 0%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 0%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 0%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.65p 0%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.95p 0%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.83p 0%, 16-08 16:00:00 - 16-08 16:30:00 @ 36.84p 0%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.54p 0%, 16-08 17:00:00 - 16-08 17:30:00 @ 41.79p 0%, 16-08 17:30:00 - 16-08 18:00:00 @ 43.7p 0%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.34p 0%, 16-08 19:00:00 - 16-08 19:30:00 @ 34.79p 0%, 16-08 19:30:00 - 16-08 20:00:00 @ 34.76p 0%, 16-08 20:00:00 - 16-08 20:30:00 @ 35.62p 0%, 16-08 20:30:00 - 16-08 21:00:00 @ 35.3p 0%, 16-08 21:00:00 - 16-08 21:30:00 @ 35.89p 0%, 16-08 21:30:00 - 16-08 22:00:00 @ 35.71p 0%, 16-08 22:00:00 - 16-08 22:30:00 @ 33.75p 0%, 16-08 22:30:00 - 16-08 23:00:00 @ 32.0p 0%, 16-08 23:00:00 - 16-08 23:30:00 @ 30.02p 0%, 16-08 23:30:00 - 17-08 00:00:00 @ 27.8p 0%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.18p 0%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.38p 0%, 17-08 01:00:00 - 17-08 01:30:00 @ 26.7p 0%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.31p 0%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.79p 0%, 17-08 02:30:00 - 17-08 03:00:00 @ 25.86p 0%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.13p 0%, 17-08 03:30:00 - 17-08 04:00:00 @ 25.86p 0%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.27p 0%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.14p 0%, 17-08 05:00:00 - 17-08 05:30:00 @ 27.03p 0%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.28p 0%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.68p 0%, 17-08 06:30:00 - 17-08 07:00:00 @ 26.1p 0%, 17-08 07:00:00 - 17-08 07:30:00 @ 24.28p 0%, 17-08 07:30:00 - 17-08 08:00:00 @ 24.94p 0%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.06p 0%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.39p 0%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.66p 0%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.06p 0%, 17-08 10:00:00 - 17-08 10:30:00 @ 25.5p 0%, 17-08 10:30:00 - 17-08 11:00:00 @ 24.94p 0%, 17-08 11:00:00 - 17-08 11:30:00 @ 24.25p 0%, 17-08 11:30:00 - 17-08 12:00:00 @ 23.49p 0%, 17-08 12:00:00 - 17-08 12:30:00 @ 23.43p 0%, 17-08 12:30:00 - 17-08 13:00:00 @ 22.33p 0%, 17-08 13:00:00 - 17-08 13:30:00 @ 22.76p 0%, 17-08 13:30:00 - 17-08 14:00:00 @ 22.3p 0%, 17-08 14:00:00 - 17-08 14:30:00 @ 21.41p 0%, 17-08 14:30:00 - 17-08 15:00:00 @ 21.65p 0%, 17-08 15:00:00 - 17-08 15:30:00 @ 22.95p 0%, 17-08 15:30:00 - 17-08 16:00:00 @ 22.83p 0%, 17-08 16:00:00 - 17-08 16:30:00 @ 36.84p 0%, 17-08 16:30:00 - 17-08 17:00:00 @ 37.54p 0% ]
2026-08-15 16:35:05.813080: Best export window [  ]
2026-08-15 16:35:05.814283: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 16:35:05.818327: Load divergence over 8.0 hours mean 594.93W, min 295.8W, max 2423.4W, std dev 443.36W, divergence 37.26%
2026-08-15 16:35:05.887343: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 16:35:05.887596: LoadML is_calculating True
2026-08-15 16:35:05.887644: Not using thread pool as LoadML is calculating to avoid lockups
2026-08-15 16:35:05.900325: Calculate Best options: mode(Control charge & discharge), calculate_export_oncharge(False), calculate_export_on_pv(True), set_export_freeze_only(False), set_discharge_during_charge(True), combine_charge_slots(False), combine_export_slots(False), combine_rate_threshold(0.0), best_soc_min(0.0 kWh), best_soc_max(0.0 kWh), best_soc_keep(0.0 kWh), inverter_loss(4%), battery_loss(3%), battery_loss_discharge (3%), inverter_hybrid(True), metric_min_improvement(0.0p), metric_min_improvement_export(0.1p), metric_min_improvement_export_freeze(0.1p), metric_battery_cycle(0.0p/kWh), metric_battery_value_scaling(1.0 x) 
2026-08-15 16:35:05.927343: Optimise levels pass started at 2026-08-15 16:35:05
2026-08-15 16:35:05.927864: Optimise all windows, total charge 95 export 1
2026-08-15 16:35:11.684319: >> Region optimisation pass width 960 gives best_metric 997.64p, best_cost 1012.5p, best_cycle 36.74kWh, best_import 19.81kWh
2026-08-15 16:35:12.439559: >> Region optimisation pass width 480 gives best_metric 997.64p, best_cost 1012.5p, best_cycle 36.74kWh, best_import 19.81kWh
2026-08-15 16:35:15.527687: >> Region optimisation pass width 240 gives best_metric 997.43p, best_cost 1012.25p, best_cycle 36.72kWh, best_import 19.8kWh
2026-08-15 16:35:22.699341: >> Region optimisation pass width 120 gives best_metric 997.37p, best_cost 1012.18p, best_cycle 36.87kWh, best_import 19.81kWh
2026-08-15 16:35:22.700128: Calculated end_record as 08-17 12:30:00 based on best_price 22.76p, next_charge_start 08-16 12:30:00, max_windows 87
2026-08-15 16:35:22.700196: Optimise levels pass ended at 2026-08-15 16:35:22, duration 16.8 seconds tried 343 combinations
2026-08-15 16:35:22.700287: Set best_price_charge_level 24.4p, best_price_export_level 0p, best_price_charge 22.76p, best_cost_export 0p, best_metric 997.37p, best_keep 0kWh, best_cycle 36.87kWh, best_carbon 0kg, best_import 19.81kWh
2026-08-15 16:35:22.717401: Starting detailed optimisation end_record 08-17 12:30:00, best_price_charge 22.76p, best_price_export 0p. lowest_price_charge 21.41p with charge limits [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3.25, 12.5, 12.5, 12.5, 16.0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0]kWh and export limits []kWh
2026-08-15 16:35:27.891753: ML Predictor: Epoch 2/30: lr=0.00100 huber_loss=0.0123 val_mae=0.0048 kWh val_bias=-0.0001 kWh (-0.1%) combined=0.0025 kWh ema_combined=0.0044 kWh
2026-08-15 16:36:04.352840: Tweak plan optimisation started metric 930.69p, cost 945.92p
2026-08-15 16:36:06.124169: Tweak optimisation finished metric 930.69p, cost 945.92p, metric_keep 0kWh, cycle 30.2kWh, carbon 0kg, import 16.75kWh, changed 8 window(s)
2026-08-15 16:36:06.155768: Swap charge optimisation started metric 930.69p, cost 945.92p, min_improvement_swap 0.1p
2026-08-15 16:36:23.561782: Swap charge optimisation finished metric 930.69p, cost 945.92p
2026-08-15 16:36:23.925080: Pruned 3 dead plan slot(s) in 15 trial(s), nominal metric 925.32p -> 925.32p, plan now metric 930.98p, cost 945.92p, cycle 30.2kWh, import 16.75kWh
2026-08-15 16:36:23.963255: Raw charge windows [ 15-08 16:30:00 - 15-08 17:00:00 @ 33.13p 0%, 15-08 17:00:00 - 15-08 17:30:00 @ 38.46p 0%, 15-08 17:30:00 - 15-08 18:00:00 @ 40.44p 0%, 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 0%, 15-08 18:30:00 - 15-08 19:00:00 @ 43.82p 0%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 0%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 0%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 0%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 0%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 30.02p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 27.8p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.18p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.38p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 26.7p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.31p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.79p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 25.86p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.13p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 25.86p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.27p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.14p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 27.03p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.28p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.68p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 26.1p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 24.28p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 24.94p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.06p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.39p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.66p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.06p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 25.5p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 24.94p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 24.25p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 23.49p 13%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.43p 13%, 16-08 12:30:00 - 16-08 13:00:00 @ 22.33p 20%, 16-08 13:00:00 - 16-08 13:30:00 @ 22.76p 19%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 100%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 78%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.65p 100%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.95p 63%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.83p 63%, 16-08 16:00:00 - 16-08 16:30:00 @ 36.84p 0%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.54p 0%, 16-08 17:00:00 - 16-08 17:30:00 @ 41.79p 0%, 16-08 17:30:00 - 16-08 18:00:00 @ 43.7p 0%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.34p 0%, 16-08 19:00:00 - 16-08 19:30:00 @ 34.79p 0%, 16-08 19:30:00 - 16-08 20:00:00 @ 34.76p 0%, 16-08 20:00:00 - 16-08 20:30:00 @ 35.62p 0%, 16-08 20:30:00 - 16-08 21:00:00 @ 35.3p 0%, 16-08 21:00:00 - 16-08 21:30:00 @ 35.89p 0%, 16-08 21:30:00 - 16-08 22:00:00 @ 35.71p 0%, 16-08 22:00:00 - 16-08 22:30:00 @ 33.75p 0%, 16-08 22:30:00 - 16-08 23:00:00 @ 32.0p 0%, 16-08 23:00:00 - 16-08 23:30:00 @ 30.02p 0%, 16-08 23:30:00 - 17-08 00:00:00 @ 27.8p 0%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.18p 0%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.38p 0%, 17-08 01:00:00 - 17-08 01:30:00 @ 26.7p 0%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.31p 0%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.79p 13%, 17-08 02:30:00 - 17-08 03:00:00 @ 25.86p 13%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.13p 13%, 17-08 03:30:00 - 17-08 04:00:00 @ 25.86p 0%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.27p 0%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.14p 0%, 17-08 05:00:00 - 17-08 05:30:00 @ 27.03p 0%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.28p 0%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.68p 0%, 17-08 06:30:00 - 17-08 07:00:00 @ 26.1p 0%, 17-08 07:00:00 - 17-08 07:30:00 @ 24.28p 0%, 17-08 07:30:00 - 17-08 08:00:00 @ 24.94p 0%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.06p 0%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.39p 0%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.66p 0%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.06p 0%, 17-08 10:00:00 - 17-08 10:30:00 @ 25.5p 0%, 17-08 10:30:00 - 17-08 11:00:00 @ 24.94p 0%, 17-08 11:00:00 - 17-08 11:30:00 @ 24.25p 0%, 17-08 11:30:00 - 17-08 12:00:00 @ 23.49p 0%, 17-08 12:00:00 - 17-08 12:30:00 @ 23.43p 0%, 17-08 12:30:00 - 17-08 13:00:00 @ 22.33p 100%, 17-08 13:00:00 - 17-08 13:30:00 @ 22.76p 100%, 17-08 13:30:00 - 17-08 14:00:00 @ 22.3p 100%, 17-08 14:00:00 - 17-08 14:30:00 @ 21.41p 100%, 17-08 14:30:00 - 17-08 15:00:00 @ 21.65p 100%, 17-08 15:00:00 - 17-08 15:30:00 @ 22.95p 100%, 17-08 15:30:00 - 17-08 16:00:00 @ 22.83p 100%, 17-08 16:00:00 - 17-08 16:30:00 @ 36.84p 100%, 17-08 16:30:00 - 17-08 17:00:00 @ 37.54p 100% ] reserve 1.12
2026-08-15 16:36:23.964195: Unclipped charge windows [ 16-08 11:30:00 - 16-08 12:30:00 @ 23.46p 13%, 16-08 12:30:00 - 16-08 13:00:00 @ 22.33p 20%, 16-08 13:00:00 - 16-08 13:30:00 @ 22.76p 19%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 100%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 78%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.65p 100%, 16-08 15:00:00 - 16-08 16:00:00 @ 22.89p 63%, 17-08 02:00:00 - 17-08 03:30:00 @ 25.98p 13%, 17-08 12:30:00 - 17-08 17:00:00 @ 33.63p 100% ] reserve 1.12
2026-08-15 16:36:23.964733: Unfiltered charge windows [ 16-08 11:30:00 - 16-08 12:30:00 @ 23.46p 13%, 16-08 12:30:00 - 16-08 13:00:00 @ 22.33p 20%, 16-08 13:00:00 - 16-08 13:30:00 @ 22.76p 19%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 100%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 100%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.65p 100%, 16-08 15:00:00 - 16-08 16:00:00 @ 22.89p 63%, 17-08 02:00:00 - 17-08 03:30:00 @ 25.98p 13%, 17-08 12:30:00 - 17-08 17:00:00 @ 33.63p 100% ] reserve 1.12
2026-08-15 16:36:23.965141: Filtered charge windows [ 16-08 11:30:00 - 16-08 12:30:00 @ 23.46p 13%, 16-08 12:30:00 - 16-08 13:00:00 @ 22.33p 20%, 16-08 13:00:00 - 16-08 13:30:00 @ 22.76p 19%, 16-08 13:30:00 - 16-08 15:00:00 @ 21.75p 100%, 16-08 15:00:00 - 16-08 16:00:00 @ 22.89p 63%, 17-08 02:00:00 - 17-08 03:30:00 @ 25.98p 13%, 17-08 12:30:00 - 17-08 17:00:00 @ 33.63p 100% ] reserve 1.12
2026-08-15 16:36:24.084354: Previous plan best metric is 930.86 (cost 945.95) and new plan best metric is 930.69 (cost 945.92)
2026-08-15 16:36:24.084630: New plan is a cost-neutral improvement but less fragmented (4 vs 5 segments), using new plan
2026-08-15 16:36:24.084679: Plan valid is now true after recompute was False
2026-08-15 16:36:24.158253: predict base end_record 08-17 12:30:00, final soc 1.12kWh, metric 1110.66p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 12:40:00, load 37.92kWh, PV 0.0kWh
2026-08-15 16:36:24.413970: Battery has 20.08 hours left - now at 15.84kWh
2026-08-15 16:36:24.509185: predict base10 end_record 08-17 12:30:00, final soc 1.12kWh, metric 1147.09p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 11:55:00, load 39.31kWh, PV 0.0kWh
2026-08-15 16:36:24.635629: predict best10 end_record 08-17 12:30:00, final soc 1.12kWh, metric 1083.61p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 04:55:00, load 39.31kWh, PV 0.0kWh
2026-08-15 16:36:24.772172: predict best end_record 08-17 12:30:00, final soc 1.12kWh, metric 1045.89p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 05:35:00, load 37.92kWh, PV 0.0kWh
2026-08-15 16:36:24.784828: Saving plan best values to HA entities
2026-08-15 16:36:25.197302: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 16:36:25.217444: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0.0
2026-08-15 16:36:25.225352: Best charging limit SoC's [2.0, 3.25, 3.0, 16.0, 10.0, 2.0, 16.0]kWh, export []kWh gives import battery 12.75kWh, house 4.0kWh, export 0.0kWh, metric 1045.89p, metric10 1083.61p
2026-08-15 16:36:25.350613: Marginal costs baseline metric (no standing charge): 945.9236
2026-08-15 16:36:25.855972: Marginal energy costs matrix computed: min=25.34 max=31.15
2026-08-15 16:36:26.122310: Rate array import [{'start': 995, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1410, 'rate': 'expensive', 'range': '(29.8p - 32.9p)'}, {'start': 1410, 'end': 2400, 'rate': 'cheap', 'range': '(21.4p - 28.2p)'}, {'start': 2400, 'end': 2430, 'rate': 'expensive', 'range': '(36.8p)'}, {'start': 2430, 'end': 2580, 'rate': 'very expensive', 'range': '(37.5p - 45.3p)'}, {'start': 2580, 'end': 2850, 'rate': 'expensive', 'range': '(30.0p - 35.9p)'}, {'start': 2850, 'end': 3630, 'rate': 'cheap', 'range': '(23.4p - 28.2p)'}] export [{'start': 995, 'end': 3630, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 16:36:26.127203: - Your estimated bill for today is £5.63 and tomorrow is £3.11
2026-08-15 16:36:26.127526: - Import rates are expensive (33.1p) for the next 25 minutes and then very expensive (38.5p - 43.8p) for the next 2 hours.
2026-08-15 16:36:26.127738: - The battery is currently at 99% and is in eco mode for the next 18 hours.
2026-08-15 16:36:26.127933: - For the next 48 hours there will be no solar generation.
2026-08-15 16:36:26.128105: - You will run out of battery in 37 hours.
2026-08-15 16:36:26.128284: - Your next charge slot will be in 18 hours where import rates will be cheap (23.5p).
2026-08-15 16:36:26.128459: 
2026-08-15 16:36:26.186662: Plan calculation took 80.39 seconds
2026-08-15 16:36:26.186950: Inverter 0: Type SK Sunsynk
2026-08-15 16:36:26.186994: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 16:36:26.187178: Reserve min: 7%, battery_min: 7%
2026-08-15 16:36:26.187251: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 16:36:26.187559: Inverter 0 SoC: 15.84kW 99%, current charge rate 5000W, current discharge rate 5250W, current battery power 312W, current battery voltage 51.2V, grid power -53W, load power 380W, PV Power 0W
2026-08-15 16:36:26.188295: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 16:36:26.188403: Inverter 0 scheduled charge enable is False
2026-08-15 16:36:26.188433: Inverter 0 charge windows currently []
2026-08-15 16:36:26.188464: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 16:36:26.188581: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 16:36:26.188616: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 16:36:26.188653: Inverter 0 scheduled discharge enable is False
2026-08-15 16:36:26.188781: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 16:36:26.188818: Inverter 0 discharge windows currently []
2026-08-15 16:36:26.188842: Note: Inverter does not support discharge freeze - disabled
2026-08-15 16:36:26.188860: Note: Inverter does not support charge freeze - disabled
2026-08-15 16:36:26.188877: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 16:36:26.320526: Inverter 0 Charge window will be: 2026-08-16 11:30:00+01:00 - 2026-08-16 16:00:00+01:00 - current SoC 99%, target 13%
2026-08-15 16:36:26.320696: Inverter 0 disabled charge window while waiting for schedule (now 08-15 16:35:00 target set_window_minutes 30 charge start time 08-16 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 16:36:26.320782: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 16:36:26.321099: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 16:36:26.321321: No export window planned
2026-08-15 16:36:26.321533: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 16:36:26.321588: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 16:36:26.321870: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 16:36:26.322111: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 16:35:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 16:36:26.322221: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 16:36:26.322349: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 16:36:26.322512: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 16:36:26.322573: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 16:36:26.322701: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 16:36:26.322809: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 16:36:26.322910: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 16:36:26.322991: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 16:36:26.323085: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 16:36:26.323218: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 16:36:26.323333: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 16:36:26.323422: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 16:36:26.323514: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 16:36:26.323598: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 16:36:26.323688: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 16:36:26.323770: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 16:36:26.323817: Inverter 0 count register writes 0
2026-08-15 16:36:26.402349: Total inverter register writes now 826
2026-08-15 16:36:26.517252: Info: Completed run status Demand
2026-08-15 16:36:26.538151: Info: record_status Demand
2026-08-15 16:36:26.550694: Saved current settings to /config/predbat_config.json
2026-08-15 16:36:26.551061: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 16:36:32.916576: ML Predictor: Epoch 3/30: lr=0.00099 huber_loss=0.0107 val_mae=0.0052 kWh val_bias=-0.0007 kWh (-0.8%) combined=0.0034 kWh ema_combined=0.0041 kWh
2026-08-15 16:36:56.684637: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 16:36:56.684889: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 16:36:56.684935: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 16:36:56.685111: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 16:36:56.685153: Note: Inverter does not support discharge freeze - disabled
2026-08-15 16:36:56.685175: Note: Inverter does not support charge freeze - disabled
2026-08-15 16:36:56.685193: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 16:37:06.827768: ML Predictor: Epoch 4/30: lr=0.00098 huber_loss=0.0120 val_mae=0.0052 kWh val_bias=+0.0005 kWh (+0.6%) combined=0.0027 kWh ema_combined=0.0037 kWh
2026-08-15 16:37:40.255471: ML Predictor: Epoch 5/30: lr=0.00096 huber_loss=0.0133 val_mae=0.0055 kWh val_bias=-0.0023 kWh (-2.6%) combined=0.0033 kWh ema_combined=0.0036 kWh
2026-08-15 16:38:09.620083: ML Predictor: Epoch 6/30: lr=0.00094 huber_loss=0.0124 val_mae=0.0053 kWh val_bias=-0.0018 kWh (-2.1%) combined=0.0035 kWh ema_combined=0.0036 kWh
2026-08-15 16:38:42.783305: ML Predictor: Epoch 7/30: lr=0.00091 huber_loss=0.0111 val_mae=0.0048 kWh val_bias=+0.0002 kWh (+0.2%) combined=0.0030 kWh ema_combined=0.0034 kWh
2026-08-15 16:38:57.392479: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 16:38:57.392775: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 16:38:57.392827: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 16:38:57.393075: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 16:38:57.393124: Note: Inverter does not support discharge freeze - disabled
2026-08-15 16:38:57.393152: Note: Inverter does not support charge freeze - disabled
2026-08-15 16:38:57.393179: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 16:39:15.968575: ML Predictor: Epoch 8/30: lr=0.00088 huber_loss=0.0103 val_mae=0.0041 kWh val_bias=-0.0001 kWh (-0.1%) combined=0.0021 kWh ema_combined=0.0030 kWh
2026-08-15 16:39:49.132405: ML Predictor: Epoch 9/30: lr=0.00084 huber_loss=0.0099 val_mae=0.0036 kWh val_bias=-0.0002 kWh (-0.2%) combined=0.0018 kWh ema_combined=0.0026 kWh
2026-08-15 16:40:00.803072: --------------- PredBat - update at 2026-08-15 16:40:00+01:00 with clock skew 0 minutes, minutes now 1000
2026-08-15 16:40:00.808318: Saved current settings to /config/predbat_config.json
2026-08-15 16:40:00.808486: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 15.0 minutes
2026-08-15 16:40:00.808572: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.2, latest beta is v8.48.2
2026-08-15 16:40:00.808707: Autoupdate: There is an update pending v8.48.2 PV90 and second pass enabled by default, bug fixes - auto update is off
2026-08-15 16:40:00.838900: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 16:40:00.839317: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 16:40:00.839719: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 16:40:00.840562: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 16:40:00.840881: Predbat mode is set to Control charge & discharge
2026-08-15 16:40:01.204253: Found 21602 load_today datapoints going back 28 days
2026-08-15 16:40:01.204599: Using load_power data to fill gaps in load_today data
2026-08-15 16:40:02.915404: Processing 721 30-minute periods for power integration
2026-08-15 16:40:03.099460: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 16:40:03.100382: Car charging hold False, threshold 6.0kWh
2026-08-15 16:40:03.100858: Current data so far today: load 8.73kWh, import 27.5kWh, export 0.0kWh, PV 0kWh
2026-08-15 16:40:03.122988: Cars: SoC: [10.548]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 16:40:03.123739: Standing charge is set to 49.98p
2026-08-15 16:40:03.209916: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 16:40:03.210048: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 16:40:03.210334: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 360.0 minutes
2026-08-15 16:40:03.210967: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 360.0 minutes
2026-08-15 16:40:03.219852: Loaded 95 datapoints of futurerate analysis
2026-08-15 16:40:03.422193: Predicted future rates: ['08-15 00:00:00 => 28.69 / 20.01', '08-15 01:00:00 => 27.33 / 19.31', '08-15 02:00:00 => 26.31 / 18.8', '08-15 03:00:00 => 25.78 / 18.53', '08-15 04:00:00 => 25.59 / 18.43', '08-15 05:00:00 => 25.75 / 18.51', '08-15 06:00:00 => 25.34 / 18.3', '08-15 07:00:00 => 24.12 / 17.68', '08-15 08:00:00 => 22.82 / 17.01', '08-15 09:00:00 => 21.84 / 16.51', '08-15 10:00:00 => 20.22 / 15.68', '08-15 11:00:00 => 17.8 / 14.45', '08-15 12:00:00 => 16.16 / 13.61', '08-15 13:00:00 => 15.55 / 13.3', '08-15 14:00:00 => 15.14 / 13.09', '08-15 15:00:00 => 15.65 / 13.35', '08-15 16:00:00 => 32.68 / 16.13', '08-15 17:00:00 => 37.81 / 18.75', '08-15 18:00:00 => 42.15 / 20.96', '08-15 19:00:00 => 30.88 / 21.13', '08-15 20:00:00 => 31.43 / 21.41', '08-15 21:00:00 => 31.43 / 21.41', '08-15 22:00:00 => 30.37 / 20.87', '08-15 23:00:00 => 29.16 / 20.25', '08-16 00:00:00 => 28.62 / 19.97', '08-16 01:00:00 => 27.52 / 19.41', '08-16 02:00:00 => 26.55 / 18.92', '08-16 03:00:00 => 26.18 / 18.73', '08-16 04:00:00 => 26.12 / 18.7', '08-16 05:00:00 => 26.02 / 18.65', '08-16 06:00:00 => 25.78 / 18.53', '08-16 07:00:00 => 25.43 / 18.35', '08-16 08:00:00 => 24.63 / 17.94', '08-16 09:00:00 => 24.05 / 17.64', '08-16 10:00:00 => 24.59 / 17.92', '08-16 11:00:00 => 24.5 / 17.87', '08-16 12:00:00 => 23.58 / 17.4', '08-16 13:00:00 => 22.93 / 17.07', '08-16 14:00:00 => 21.8 / 16.49', '08-16 15:00:00 => 21.8 / 16.49']
2026-08-15 16:40:03.490703: Rate min forward looking: now 21.41p at end of forecast 21.41p
2026-08-15 16:40:03.491310: Import rates: min 21.41p, max 45.28p, average 28.34p
2026-08-15 16:40:03.612514: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 16:40:03.612789: Rate thresholds (for charge/export) are import 44.78p (0.0p), export -0.1p (0.0p)
2026-08-15 16:40:03.614904: High export rate found rates in range 99p to -99p
2026-08-15 16:40:03.804192: Low Import rate found rates in range 21.41p to 44.34p
2026-08-15 16:40:03.804779: Car 0 charging is not planned as it is not plugged in
2026-08-15 16:40:03.827174: Battery level now 15.84kWh, -1hr ago 14.89kWh, at midnight 1.66kWh, battery value change in the last hour 17.51p, change today 260.89p, rate_forward 18.39p
2026-08-15 16:40:03.827731: Last hour: net energy 1.95kWh, import 1.95kWh, export 0.0kWh, car 0kWh, load 0.3kWh, net cost 37.15p, import 37.15p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 16:40:03.941835: Today's energy total net 27.5kWh, import 27.5kWh, export 0.0kWh, cost 562.65p, import 512.67p, export 0.0p, carbon 0.0kg
2026-08-15 16:40:03.942029: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 16:40:04.121433: Using weighted-bucket historical load forecast over 14 days
2026-08-15 16:40:04.159369: Today's load divergence 91.35%, in-day adjustment 107.67%, damping 0.95x, yesterday 143.77% today 91.78% blend 30.56%
2026-08-15 16:40:04.159594: Today's predicted so far 10.04kWh with 0.0kWh car/iBoost excluded, 20.92kWh import ignored, and 10.04kWh forecast extra.
2026-08-15 16:40:04.159723: Today's actual load so far 8.83kWh with 0.0kWh car/iBoost excluded, and 20.92kWh import ignored.
2026-08-15 16:40:04.232777: Inverter 0: Type SK Sunsynk
2026-08-15 16:40:04.232877: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 16:40:04.233110: Reserve min: 7%, battery_min: 7%
2026-08-15 16:40:04.233193: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 16:40:04.233507: Inverter 0 SoC: 15.73kW 98%, current charge rate 5000W, current discharge rate 5250W, current battery power 263W, current battery voltage 51.2V, grid power -55W, load power 332W, PV Power 0W
2026-08-15 16:40:04.233677: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 16:40:04.233770: Inverter 0 scheduled charge enable is False
2026-08-15 16:40:04.233808: Inverter 0 charge windows currently []
2026-08-15 16:40:04.233924: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 16:40:04.234110: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 16:40:04.234156: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 16:40:04.234315: Inverter 0 scheduled discharge enable is False
2026-08-15 16:40:04.234519: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 16:40:04.234565: Inverter 0 discharge windows currently []
2026-08-15 16:40:04.234657: Note: Inverter does not support discharge freeze - disabled
2026-08-15 16:40:04.234694: Note: Inverter does not support charge freeze - disabled
2026-08-15 16:40:04.234746: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 16:40:04.361127: Dynamic load last period 0.30kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 16:40:04.361376: Plan was last updated on 2026-08-15 16:35:00+01:00 and is now 5.0 minutes old
2026-08-15 16:40:04.361778: Best charge window [ 16-08 11:30:00 - 16-08 12:30:00 @ 23.46p 13%, 16-08 12:30:00 - 16-08 13:00:00 @ 22.33p 20%, 16-08 13:00:00 - 16-08 13:30:00 @ 22.76p 19%, 16-08 13:30:00 - 16-08 15:00:00 @ 21.75p 100%, 16-08 15:00:00 - 16-08 16:00:00 @ 22.89p 63%, 17-08 02:00:00 - 17-08 03:30:00 @ 25.98p 13%, 17-08 12:30:00 - 17-08 17:00:00 @ 33.63p 100% ]
2026-08-15 16:40:04.361828: Best export window [  ]
2026-08-15 16:40:04.362906: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 16:40:04.366939: Load divergence over 8.0 hours mean 602.49W, min 292.8W, max 2447.4W, std dev 430.78W, divergence 35.75%
2026-08-15 16:40:04.394873: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 16:40:04.395016: LoadML is_calculating True
2026-08-15 16:40:04.395043: Not using thread pool as LoadML is calculating to avoid lockups
2026-08-15 16:40:04.438577: predict base end_record 08-17 12:35:00, final soc 1.12kWh, metric 1114.44p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 12:30:00, load 38.11kWh, PV 0.0kWh
2026-08-15 16:40:04.756840: Battery has 19.83 hours left - now at 15.73kWh
2026-08-15 16:40:04.801959: predict base10 end_record 08-17 12:35:00, final soc 1.12kWh, metric 1151.11p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 11:50:00, load 39.51kWh, PV 0.0kWh
2026-08-15 16:40:04.995885: predict best10 end_record 08-17 12:35:00, final soc 1.44kWh, metric 1095.69p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 04:55:00, load 39.51kWh, PV 0.0kWh
2026-08-15 16:40:05.145502: predict best end_record 08-17 12:35:00, final soc 1.51kWh, metric 1059.21p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 05:35:00, load 38.11kWh, PV 0.0kWh
2026-08-15 16:40:05.145607: Saving plan best values to HA entities
2026-08-15 16:40:05.446372: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 16:40:05.457285: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0.0
2026-08-15 16:40:05.463884: Best charging limit SoC's [2.0, 3.25, 3.0, 16.0, 10.0, 2.0, 16.0]kWh, export []kWh gives import battery 13.32kWh, house 4.03kWh, export 0.0kWh, metric 1059.21p, metric10 1095.69p
2026-08-15 16:40:05.580210: Marginal costs baseline metric (no standing charge): 959.2419
2026-08-15 16:40:06.055719: Marginal energy costs matrix computed: min=25.35 max=30.9
2026-08-15 16:40:06.200496: Rate array import [{'start': 1000, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1410, 'rate': 'expensive', 'range': '(29.8p - 32.9p)'}, {'start': 1410, 'end': 2400, 'rate': 'cheap', 'range': '(21.4p - 28.2p)'}, {'start': 2400, 'end': 2430, 'rate': 'expensive', 'range': '(36.8p)'}, {'start': 2430, 'end': 2580, 'rate': 'very expensive', 'range': '(37.5p - 45.3p)'}, {'start': 2580, 'end': 2850, 'rate': 'expensive', 'range': '(30.0p - 35.9p)'}, {'start': 2850, 'end': 3635, 'rate': 'cheap', 'range': '(22.3p - 28.2p)'}] export [{'start': 1000, 'end': 3635, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 16:40:06.201771: - Your estimated bill for today is £5.63 and tomorrow is £3.13
2026-08-15 16:40:06.201906: - Import rates are expensive (33.1p) for the next 20 minutes and then very expensive (38.5p - 43.8p) for the next 2 hours.
2026-08-15 16:40:06.201953: - The battery is currently at 98% and is in eco mode for the next 18 hours.
2026-08-15 16:40:06.201979: - For the next 48 hours there will be no solar generation.
2026-08-15 16:40:06.202003: - You will run out of battery in 36 hours.
2026-08-15 16:40:06.202110: - Your next charge slot will be in 18 hours where import rates will be cheap (23.5p).
2026-08-15 16:40:06.202152: 
2026-08-15 16:40:06.268312: Plan calculation took 1.91 seconds
2026-08-15 16:40:06.301303: No high rate period found
2026-08-15 16:40:06.386907: Import threshold used for optimisation was 26.31p
2026-08-15 16:40:06.505438: Low import rate windows [0: 08-15 16:30:00 - 08-15 17:00:00 @ 33.13, 1: 08-15 17:00:00 - 08-15 17:30:00 @ 38.46, 2: 08-15 17:30:00 - 08-15 18:00:00 @ 40.44, 3: 08-15 18:00:00 - 08-15 18:30:00 @ 41.55, 4: 08-15 18:30:00 - 08-15 19:00:00 @ 43.82, 5: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 6: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 7: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 8: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 9: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 10: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 11: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 12: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 13: 08-15 23:00:00 - 08-15 23:30:00 @ 30.02, 14: 08-15 23:30:00 - 08-16 00:00:00 @ 27.8, 15: 08-16 00:00:00 - 08-16 00:30:00 @ 28.18, 16: 08-16 00:30:00 - 08-16 01:00:00 @ 27.38, 17: 08-16 01:00:00 - 08-16 01:30:00 @ 26.7, 18: 08-16 01:30:00 - 08-16 02:00:00 @ 26.31, 19: 08-16 02:00:00 - 08-16 02:30:00 @ 25.79, 20: 08-16 02:30:00 - 08-16 03:00:00 @ 25.86, 21: 08-16 03:00:00 - 08-16 03:30:00 @ 26.13, 22: 08-16 03:30:00 - 08-16 04:00:00 @ 25.86, 23: 08-16 04:00:00 - 08-16 04:30:00 @ 26.27, 24: 08-16 04:30:00 - 08-16 05:00:00 @ 26.14, 25: 08-16 05:00:00 - 08-16 05:30:00 @ 27.03, 26: 08-16 05:30:00 - 08-16 06:00:00 @ 26.28, 27: 08-16 06:00:00 - 08-16 06:30:00 @ 25.68, 28: 08-16 06:30:00 - 08-16 07:00:00 @ 26.1, 29: 08-16 07:00:00 - 08-16 07:30:00 @ 24.28, 30: 08-16 07:30:00 - 08-16 08:00:00 @ 24.94, 31: 08-16 08:00:00 - 08-16 08:30:00 @ 24.06, 32: 08-16 08:30:00 - 08-16 09:00:00 @ 24.39, 33: 08-16 09:00:00 - 08-16 09:30:00 @ 24.66, 34: 08-16 09:30:00 - 08-16 10:00:00 @ 24.06, 35: 08-16 10:00:00 - 08-16 10:30:00 @ 25.5, 36: 08-16 10:30:00 - 08-16 11:00:00 @ 24.94, 37: 08-16 11:00:00 - 08-16 11:30:00 @ 24.25, 38: 08-16 11:30:00 - 08-16 12:00:00 @ 23.49, 39: 08-16 12:00:00 - 08-16 12:30:00 @ 23.43, 40: 08-16 12:30:00 - 08-16 13:00:00 @ 22.33, 41: 08-16 13:00:00 - 08-16 13:30:00 @ 22.76, 42: 08-16 13:30:00 - 08-16 14:00:00 @ 22.3, 43: 08-16 14:00:00 - 08-16 14:30:00 @ 21.41, 44: 08-16 14:30:00 - 08-16 15:00:00 @ 21.65, 45: 08-16 15:00:00 - 08-16 15:30:00 @ 22.95, 46: 08-16 15:30:00 - 08-16 16:00:00 @ 22.83, 47: 08-16 16:00:00 - 08-16 16:30:00 @ 36.84, 48: 08-16 16:30:00 - 08-16 17:00:00 @ 37.54, 49: 08-16 17:00:00 - 08-16 17:30:00 @ 41.79, 50: 08-16 17:30:00 - 08-16 18:00:00 @ 43.7, 51: 08-16 18:00:00 - 08-16 18:30:00 @ 44.34, 52: 08-16 19:00:00 - 08-16 19:30:00 @ 34.79, 53: 08-16 19:30:00 - 08-16 20:00:00 @ 34.76, 54: 08-16 20:00:00 - 08-16 20:30:00 @ 35.62, 55: 08-16 20:30:00 - 08-16 21:00:00 @ 35.3, 56: 08-16 21:00:00 - 08-16 21:30:00 @ 35.89, 57: 08-16 21:30:00 - 08-16 22:00:00 @ 35.71, 58: 08-16 22:00:00 - 08-16 22:30:00 @ 33.75, 59: 08-16 22:30:00 - 08-16 23:00:00 @ 32.0, 60: 08-16 23:00:00 - 08-16 23:30:00 @ 30.02, 61: 08-16 23:30:00 - 08-17 00:00:00 @ 27.8, 62: 08-17 00:00:00 - 08-17 00:30:00 @ 28.18, 63: 08-17 00:30:00 - 08-17 01:00:00 @ 27.38, 64: 08-17 01:00:00 - 08-17 01:30:00 @ 26.7, 65: 08-17 01:30:00 - 08-17 02:00:00 @ 26.31, 66: 08-17 02:00:00 - 08-17 02:30:00 @ 25.79, 67: 08-17 02:30:00 - 08-17 03:00:00 @ 25.86, 68: 08-17 03:00:00 - 08-17 03:30:00 @ 26.13, 69: 08-17 03:30:00 - 08-17 04:00:00 @ 25.86, 70: 08-17 04:00:00 - 08-17 04:30:00 @ 26.27, 71: 08-17 04:30:00 - 08-17 05:00:00 @ 26.14, 72: 08-17 05:00:00 - 08-17 05:30:00 @ 27.03, 73: 08-17 05:30:00 - 08-17 06:00:00 @ 26.28, 74: 08-17 06:00:00 - 08-17 06:30:00 @ 25.68, 75: 08-17 06:30:00 - 08-17 07:00:00 @ 26.1, 76: 08-17 07:00:00 - 08-17 07:30:00 @ 24.28, 77: 08-17 07:30:00 - 08-17 08:00:00 @ 24.94, 78: 08-17 08:00:00 - 08-17 08:30:00 @ 24.06, 79: 08-17 08:30:00 - 08-17 09:00:00 @ 24.39, 80: 08-17 09:00:00 - 08-17 09:30:00 @ 24.66, 81: 08-17 09:30:00 - 08-17 10:00:00 @ 24.06, 82: 08-17 10:00:00 - 08-17 10:30:00 @ 25.5, 83: 08-17 10:30:00 - 08-17 11:00:00 @ 24.94, 84: 08-17 11:00:00 - 08-17 11:30:00 @ 24.25, 85: 08-17 11:30:00 - 08-17 12:00:00 @ 23.49, 86: 08-17 12:00:00 - 08-17 12:30:00 @ 23.43, 87: 08-17 12:30:00 - 08-17 13:00:00 @ 22.33, 88: 08-17 13:00:00 - 08-17 13:30:00 @ 22.76, 89: 08-17 13:30:00 - 08-17 14:00:00 @ 22.3, 90: 08-17 14:00:00 - 08-17 14:30:00 @ 21.41, 91: 08-17 14:30:00 - 08-17 15:00:00 @ 21.65, 92: 08-17 15:00:00 - 08-17 15:30:00 @ 22.95, 93: 08-17 15:30:00 - 08-17 16:00:00 @ 22.83, 94: 08-17 16:00:00 - 08-17 16:30:00 @ 36.84, 95: 08-17 16:30:00 - 08-17 17:00:00 @ 37.54]
2026-08-15 16:40:06.534650: Inverter 0 Charge window will be: 2026-08-16 11:30:00+01:00 - 2026-08-16 16:00:00+01:00 - current SoC 98%, target 13%
2026-08-15 16:40:06.535006: Inverter 0 disabled charge window while waiting for schedule (now 08-15 16:40:00 target set_window_minutes 30 charge start time 08-16 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 16:40:06.535158: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 16:40:06.535543: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 16:40:06.535777: No export window planned
2026-08-15 16:40:06.536060: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 16:40:06.536116: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 16:40:06.537128: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 16:40:06.548233: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 16:40:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 16:40:06.548382: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 16:40:06.548520: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 16:40:06.548752: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 16:40:06.548854: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 16:40:06.548993: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 16:40:06.549087: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 16:40:06.549182: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 16:40:06.549507: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 16:40:06.549660: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 16:40:06.549859: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 16:40:06.549954: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 16:40:06.550051: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 16:40:06.550148: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 16:40:06.550242: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 16:40:06.550416: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 16:40:06.550517: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 16:40:06.550608: Inverter 0 count register writes 0
2026-08-15 16:40:06.597541: Will not recompute the plan, it is 5.0 minutes old and max age is 10 minutes
2026-08-15 16:40:06.608798: Total inverter register writes now 826
2026-08-15 16:40:06.668238: Info: Completed run status Demand
2026-08-15 16:40:06.683081: Info: record_status Demand
2026-08-15 16:40:06.700651: Saved current settings to /config/predbat_config.json
2026-08-15 16:40:06.701072: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 16:40:24.396223: ML Predictor: Epoch 10/30: lr=0.00080 huber_loss=0.0094 val_mae=0.0036 kWh val_bias=-0.0003 kWh (-0.3%) combined=0.0020 kWh ema_combined=0.0024 kWh
2026-08-15 16:40:41.897839: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 16:40:41.898378: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 16:40:41.898547: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 16:40:41.898916: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 16:40:41.899223: Note: Inverter does not support discharge freeze - disabled
2026-08-15 16:40:41.899391: Note: Inverter does not support charge freeze - disabled
2026-08-15 16:40:41.899505: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 16:40:54.121663: ML Predictor: Epoch 11/30: lr=0.00076 huber_loss=0.0090 val_mae=0.0058 kWh val_bias=-0.0037 kWh (-4.2%) combined=0.0047 kWh ema_combined=0.0031 kWh
2026-08-15 16:41:24.943789: ML Predictor: Epoch 12/30: lr=0.00072 huber_loss=0.0084 val_mae=0.0044 kWh val_bias=-0.0015 kWh (-1.6%) combined=0.0024 kWh ema_combined=0.0029 kWh
2026-08-15 16:41:55.874970: ML Predictor: Epoch 13/30: lr=0.00067 huber_loss=0.0083 val_mae=0.0040 kWh val_bias=-0.0023 kWh (-2.6%) combined=0.0034 kWh ema_combined=0.0031 kWh
2026-08-15 16:42:26.728082: ML Predictor: Epoch 14/30: lr=0.00062 huber_loss=0.0080 val_mae=0.0033 kWh val_bias=+0.0008 kWh (+0.9%) combined=0.0025 kWh ema_combined=0.0029 kWh
2026-08-15 16:42:42.453204: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 16:42:42.453666: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 16:42:42.453727: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 16:42:42.453975: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 16:42:42.454134: Note: Inverter does not support discharge freeze - disabled
2026-08-15 16:42:42.454291: Note: Inverter does not support charge freeze - disabled
2026-08-15 16:42:42.454434: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 16:42:58.364638: ML Predictor: Epoch 15/30: lr=0.00057 huber_loss=0.0072 val_mae=0.0038 kWh val_bias=-0.0006 kWh (-0.7%) combined=0.0020 kWh ema_combined=0.0026 kWh
2026-08-15 16:43:29.816190: ML Predictor: Epoch 16/30: lr=0.00053 huber_loss=0.0071 val_mae=0.0038 kWh val_bias=+0.0010 kWh (+1.2%) combined=0.0026 kWh ema_combined=0.0026 kWh
2026-08-15 16:44:02.448585: ML Predictor: Epoch 17/30: lr=0.00048 huber_loss=0.0075 val_mae=0.0032 kWh val_bias=+0.0004 kWh (+0.5%) combined=0.0017 kWh ema_combined=0.0023 kWh
2026-08-15 16:44:33.432606: ML Predictor: Epoch 18/30: lr=0.00043 huber_loss=0.0070 val_mae=0.0032 kWh val_bias=-0.0011 kWh (-1.2%) combined=0.0019 kWh ema_combined=0.0022 kWh
2026-08-15 16:44:57.009074: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 16:44:57.009462: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 16:44:57.009572: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 16:44:57.009821: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 16:44:57.009890: Note: Inverter does not support discharge freeze - disabled
2026-08-15 16:44:57.009924: Note: Inverter does not support charge freeze - disabled
2026-08-15 16:44:57.010058: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 16:45:00.242725: --------------- PredBat - update at 2026-08-15 16:45:00+01:00 with clock skew 0 minutes, minutes now 1005
2026-08-15 16:45:00.243765: Saved current settings to /config/predbat_config.json
2026-08-15 16:45:00.243916: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 20.0 minutes
2026-08-15 16:45:00.244109: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.2, latest beta is v8.48.2
2026-08-15 16:45:00.244294: Autoupdate: There is an update pending v8.48.2 PV90 and second pass enabled by default, bug fixes - auto update is off
2026-08-15 16:45:00.276488: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 16:45:00.276736: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 16:45:00.276928: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 16:45:00.277487: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 16:45:00.277609: Predbat mode is set to Control charge & discharge
2026-08-15 16:45:00.621222: Found 21602 load_today datapoints going back 28 days
2026-08-15 16:45:00.621567: Using load_power data to fill gaps in load_today data
2026-08-15 16:45:02.088856: Processing 721 30-minute periods for power integration
2026-08-15 16:45:02.286603: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 16:45:02.286899: Car charging hold False, threshold 6.0kWh
2026-08-15 16:45:02.287084: Current data so far today: load 8.75kWh, import 27.5kWh, export 0.0kWh, PV 0kWh
2026-08-15 16:45:02.321028: Cars: SoC: [10.548]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 16:45:02.322511: Standing charge is set to 49.98p
2026-08-15 16:45:02.503852: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 16:45:02.504118: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 16:45:02.504460: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 365.0 minutes
2026-08-15 16:45:02.505029: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 365.0 minutes
2026-08-15 16:45:02.511341: Loaded 95 datapoints of futurerate analysis
2026-08-15 16:45:02.736016: Predicted future rates: ['08-15 00:00:00 => 28.69 / 20.01', '08-15 01:00:00 => 27.33 / 19.31', '08-15 02:00:00 => 26.31 / 18.8', '08-15 03:00:00 => 25.78 / 18.53', '08-15 04:00:00 => 25.59 / 18.43', '08-15 05:00:00 => 25.75 / 18.51', '08-15 06:00:00 => 25.34 / 18.3', '08-15 07:00:00 => 24.12 / 17.68', '08-15 08:00:00 => 22.82 / 17.01', '08-15 09:00:00 => 21.84 / 16.51', '08-15 10:00:00 => 20.22 / 15.68', '08-15 11:00:00 => 17.8 / 14.45', '08-15 12:00:00 => 16.16 / 13.61', '08-15 13:00:00 => 15.55 / 13.3', '08-15 14:00:00 => 15.14 / 13.09', '08-15 15:00:00 => 15.65 / 13.35', '08-15 16:00:00 => 32.68 / 16.13', '08-15 17:00:00 => 37.81 / 18.75', '08-15 18:00:00 => 42.15 / 20.96', '08-15 19:00:00 => 30.88 / 21.13', '08-15 20:00:00 => 31.43 / 21.41', '08-15 21:00:00 => 31.43 / 21.41', '08-15 22:00:00 => 30.37 / 20.87', '08-15 23:00:00 => 29.16 / 20.25', '08-16 00:00:00 => 28.62 / 19.97', '08-16 01:00:00 => 27.52 / 19.41', '08-16 02:00:00 => 26.55 / 18.92', '08-16 03:00:00 => 26.18 / 18.73', '08-16 04:00:00 => 26.12 / 18.7', '08-16 05:00:00 => 26.02 / 18.65', '08-16 06:00:00 => 25.78 / 18.53', '08-16 07:00:00 => 25.43 / 18.35', '08-16 08:00:00 => 24.63 / 17.94', '08-16 09:00:00 => 24.05 / 17.64', '08-16 10:00:00 => 24.59 / 17.92', '08-16 11:00:00 => 24.5 / 17.87', '08-16 12:00:00 => 23.58 / 17.4', '08-16 13:00:00 => 22.93 / 17.07', '08-16 14:00:00 => 21.8 / 16.49', '08-16 15:00:00 => 21.8 / 16.49']
2026-08-15 16:45:02.783132: Rate min forward looking: now 21.41p at end of forecast 21.41p
2026-08-15 16:45:02.783623: Import rates: min 21.41p, max 45.28p, average 28.35p
2026-08-15 16:45:02.846813: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 16:45:02.847086: Rate thresholds (for charge/export) are import 44.78p (0.0p), export -0.1p (0.0p)
2026-08-15 16:45:02.849081: High export rate found rates in range 99p to -99p
2026-08-15 16:45:02.988018: Low Import rate found rates in range 21.41p to 44.34p
2026-08-15 16:45:02.988176: Car 0 charging is not planned as it is not plugged in
2026-08-15 16:45:03.006876: Battery level now 15.73kWh, -1hr ago 14.89kWh, at midnight 1.66kWh, battery value change in the last hour 15.45p, change today 258.83p, rate_forward 18.39p
2026-08-15 16:45:03.007647: Last hour: net energy 1.5kWh, import 1.5kWh, export 0.0kWh, car 0kWh, load 0.3kWh, net cost 30.01p, import 30.01p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 16:45:03.099938: Today's energy total net 27.5kWh, import 27.5kWh, export 0.0kWh, cost 562.65p, import 512.67p, export 0.0p, carbon 0.0kg
2026-08-15 16:45:03.100316: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 16:45:03.275496: Using weighted-bucket historical load forecast over 14 days
2026-08-15 16:45:03.338884: Today's load divergence 91.19%, in-day adjustment 107.38%, damping 0.95x, yesterday 143.77% today 91.63% blend 30.21%
2026-08-15 16:45:03.357090: Today's predicted so far 10.04kWh with 0.0kWh car/iBoost excluded, 20.9kWh import ignored, and 10.04kWh forecast extra.
2026-08-15 16:45:03.357343: Today's actual load so far 8.8kWh with 0.0kWh car/iBoost excluded, and 20.9kWh import ignored.
2026-08-15 16:45:03.426648: Inverter 0: Type SK Sunsynk
2026-08-15 16:45:03.427039: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 16:45:03.427411: Reserve min: 7%, battery_min: 7%
2026-08-15 16:45:03.427625: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 16:45:03.428058: Inverter 0 SoC: 15.73kW 98%, current charge rate 5000W, current discharge rate 5250W, current battery power 262W, current battery voltage 51.2V, grid power -54W, load power 331W, PV Power 0W
2026-08-15 16:45:03.428406: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 16:45:03.428650: Inverter 0 scheduled charge enable is False
2026-08-15 16:45:03.428787: Inverter 0 charge windows currently []
2026-08-15 16:45:03.428933: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 16:45:03.430747: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 16:45:03.431209: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 16:45:03.431322: Inverter 0 scheduled discharge enable is False
2026-08-15 16:45:03.431672: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 16:45:03.432472: Inverter 0 discharge windows currently []
2026-08-15 16:45:03.432782: Note: Inverter does not support discharge freeze - disabled
2026-08-15 16:45:03.432936: Note: Inverter does not support charge freeze - disabled
2026-08-15 16:45:03.433107: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 16:45:03.554484: Dynamic load last period 0.30kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 16:45:03.554601: Plan was last updated on 2026-08-15 16:35:00+01:00 and is now 10.0 minutes old
2026-08-15 16:45:03.554906: Best charge window [ 16-08 11:30:00 - 16-08 12:30:00 @ 23.46p 13%, 16-08 12:30:00 - 16-08 13:00:00 @ 22.33p 20%, 16-08 13:00:00 - 16-08 13:30:00 @ 22.76p 19%, 16-08 13:30:00 - 16-08 15:00:00 @ 21.75p 100%, 16-08 15:00:00 - 16-08 16:00:00 @ 22.89p 63%, 17-08 02:00:00 - 17-08 03:30:00 @ 25.98p 13%, 17-08 12:30:00 - 17-08 17:00:00 @ 33.63p 100% ]
2026-08-15 16:45:03.554951: Best export window [  ]
2026-08-15 16:45:03.555819: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 16:45:03.559661: Load divergence over 8.0 hours mean 608.84W, min 291.6W, max 2127.6W, std dev 418.61W, divergence 34.38%
2026-08-15 16:45:03.604106: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 16:45:03.604345: LoadML is_calculating True
2026-08-15 16:45:03.604427: Not using thread pool as LoadML is calculating to avoid lockups
2026-08-15 16:45:03.653207: predict base end_record 08-17 12:40:00, final soc 1.12kWh, metric 1115.2p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 12:35:00, load 38.16kWh, PV 0.0kWh
2026-08-15 16:45:03.947040: Battery has 19.83 hours left - now at 15.73kWh
2026-08-15 16:45:03.999813: predict base10 end_record 08-17 12:40:00, final soc 1.12kWh, metric 1151.84p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 11:50:00, load 39.56kWh, PV 0.0kWh
2026-08-15 16:45:04.119669: predict best10 end_record 08-17 12:40:00, final soc 1.77kWh, metric 1103.93p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 04:55:00, load 39.56kWh, PV 0.0kWh
2026-08-15 16:45:04.288344: predict best end_record 08-17 12:40:00, final soc 1.9kWh, metric 1069.06p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 05:35:00, load 38.16kWh, PV 0.0kWh
2026-08-15 16:45:04.301042: Saving plan best values to HA entities
2026-08-15 16:45:04.634612: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 16:45:04.643828: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 16:45:04.661795: Best charging limit SoC's [2.0, 3.25, 3.0, 16.0, 10.0, 2.0, 16.0]kWh, export []kWh gives import battery 13.77kWh, house 4.02kWh, export 0.0kWh, metric 1069.06p, metric10 1103.93p
2026-08-15 16:45:04.852506: Marginal costs baseline metric (no standing charge): 969.0886
2026-08-15 16:45:05.141227: Marginal energy costs matrix computed: min=25.35 max=31.2
2026-08-15 16:45:05.248637: Rate array import [{'start': 1005, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1410, 'rate': 'expensive', 'range': '(29.8p - 32.9p)'}, {'start': 1410, 'end': 2400, 'rate': 'cheap', 'range': '(21.4p - 28.2p)'}, {'start': 2400, 'end': 2430, 'rate': 'expensive', 'range': '(36.8p)'}, {'start': 2430, 'end': 2580, 'rate': 'very expensive', 'range': '(37.5p - 45.3p)'}, {'start': 2580, 'end': 2850, 'rate': 'expensive', 'range': '(30.0p - 35.9p)'}, {'start': 2850, 'end': 3640, 'rate': 'cheap', 'range': '(22.3p - 28.2p)'}] export [{'start': 1005, 'end': 3640, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 16:45:05.249856: - Your estimated bill for today is £5.63 and tomorrow is £3.12
2026-08-15 16:45:05.250490: - Import rates are expensive (33.1p) for the next 15 minutes and then very expensive (38.5p - 43.8p) for the next 2 hours.
2026-08-15 16:45:05.250584: - The battery is currently at 98% and is in eco mode for the next 18 hours.
2026-08-15 16:45:05.250673: - For the next 48 hours there will be no solar generation.
2026-08-15 16:45:05.250717: - You will run out of battery in 36 hours.
2026-08-15 16:45:05.250743: - Your next charge slot will be in 18 hours where import rates will be cheap (23.5p).
2026-08-15 16:45:05.250808: 
2026-08-15 16:45:05.322767: Plan calculation took 1.77 seconds
2026-08-15 16:45:05.327185: No high rate period found
2026-08-15 16:45:05.445814: Import threshold used for optimisation was 26.31p
2026-08-15 16:45:05.519709: Low import rate windows [0: 08-15 16:30:00 - 08-15 17:00:00 @ 33.13, 1: 08-15 17:00:00 - 08-15 17:30:00 @ 38.46, 2: 08-15 17:30:00 - 08-15 18:00:00 @ 40.44, 3: 08-15 18:00:00 - 08-15 18:30:00 @ 41.55, 4: 08-15 18:30:00 - 08-15 19:00:00 @ 43.82, 5: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 6: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 7: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 8: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 9: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 10: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 11: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 12: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 13: 08-15 23:00:00 - 08-15 23:30:00 @ 30.02, 14: 08-15 23:30:00 - 08-16 00:00:00 @ 27.8, 15: 08-16 00:00:00 - 08-16 00:30:00 @ 28.18, 16: 08-16 00:30:00 - 08-16 01:00:00 @ 27.38, 17: 08-16 01:00:00 - 08-16 01:30:00 @ 26.7, 18: 08-16 01:30:00 - 08-16 02:00:00 @ 26.31, 19: 08-16 02:00:00 - 08-16 02:30:00 @ 25.79, 20: 08-16 02:30:00 - 08-16 03:00:00 @ 25.86, 21: 08-16 03:00:00 - 08-16 03:30:00 @ 26.13, 22: 08-16 03:30:00 - 08-16 04:00:00 @ 25.86, 23: 08-16 04:00:00 - 08-16 04:30:00 @ 26.27, 24: 08-16 04:30:00 - 08-16 05:00:00 @ 26.14, 25: 08-16 05:00:00 - 08-16 05:30:00 @ 27.03, 26: 08-16 05:30:00 - 08-16 06:00:00 @ 26.28, 27: 08-16 06:00:00 - 08-16 06:30:00 @ 25.68, 28: 08-16 06:30:00 - 08-16 07:00:00 @ 26.1, 29: 08-16 07:00:00 - 08-16 07:30:00 @ 24.28, 30: 08-16 07:30:00 - 08-16 08:00:00 @ 24.94, 31: 08-16 08:00:00 - 08-16 08:30:00 @ 24.06, 32: 08-16 08:30:00 - 08-16 09:00:00 @ 24.39, 33: 08-16 09:00:00 - 08-16 09:30:00 @ 24.66, 34: 08-16 09:30:00 - 08-16 10:00:00 @ 24.06, 35: 08-16 10:00:00 - 08-16 10:30:00 @ 25.5, 36: 08-16 10:30:00 - 08-16 11:00:00 @ 24.94, 37: 08-16 11:00:00 - 08-16 11:30:00 @ 24.25, 38: 08-16 11:30:00 - 08-16 12:00:00 @ 23.49, 39: 08-16 12:00:00 - 08-16 12:30:00 @ 23.43, 40: 08-16 12:30:00 - 08-16 13:00:00 @ 22.33, 41: 08-16 13:00:00 - 08-16 13:30:00 @ 22.76, 42: 08-16 13:30:00 - 08-16 14:00:00 @ 22.3, 43: 08-16 14:00:00 - 08-16 14:30:00 @ 21.41, 44: 08-16 14:30:00 - 08-16 15:00:00 @ 21.65, 45: 08-16 15:00:00 - 08-16 15:30:00 @ 22.95, 46: 08-16 15:30:00 - 08-16 16:00:00 @ 22.83, 47: 08-16 16:00:00 - 08-16 16:30:00 @ 36.84, 48: 08-16 16:30:00 - 08-16 17:00:00 @ 37.54, 49: 08-16 17:00:00 - 08-16 17:30:00 @ 41.79, 50: 08-16 17:30:00 - 08-16 18:00:00 @ 43.7, 51: 08-16 18:00:00 - 08-16 18:30:00 @ 44.34, 52: 08-16 19:00:00 - 08-16 19:30:00 @ 34.79, 53: 08-16 19:30:00 - 08-16 20:00:00 @ 34.76, 54: 08-16 20:00:00 - 08-16 20:30:00 @ 35.62, 55: 08-16 20:30:00 - 08-16 21:00:00 @ 35.3, 56: 08-16 21:00:00 - 08-16 21:30:00 @ 35.89, 57: 08-16 21:30:00 - 08-16 22:00:00 @ 35.71, 58: 08-16 22:00:00 - 08-16 22:30:00 @ 33.75, 59: 08-16 22:30:00 - 08-16 23:00:00 @ 32.0, 60: 08-16 23:00:00 - 08-16 23:30:00 @ 30.02, 61: 08-16 23:30:00 - 08-17 00:00:00 @ 27.8, 62: 08-17 00:00:00 - 08-17 00:30:00 @ 28.18, 63: 08-17 00:30:00 - 08-17 01:00:00 @ 27.38, 64: 08-17 01:00:00 - 08-17 01:30:00 @ 26.7, 65: 08-17 01:30:00 - 08-17 02:00:00 @ 26.31, 66: 08-17 02:00:00 - 08-17 02:30:00 @ 25.79, 67: 08-17 02:30:00 - 08-17 03:00:00 @ 25.86, 68: 08-17 03:00:00 - 08-17 03:30:00 @ 26.13, 69: 08-17 03:30:00 - 08-17 04:00:00 @ 25.86, 70: 08-17 04:00:00 - 08-17 04:30:00 @ 26.27, 71: 08-17 04:30:00 - 08-17 05:00:00 @ 26.14, 72: 08-17 05:00:00 - 08-17 05:30:00 @ 27.03, 73: 08-17 05:30:00 - 08-17 06:00:00 @ 26.28, 74: 08-17 06:00:00 - 08-17 06:30:00 @ 25.68, 75: 08-17 06:30:00 - 08-17 07:00:00 @ 26.1, 76: 08-17 07:00:00 - 08-17 07:30:00 @ 24.28, 77: 08-17 07:30:00 - 08-17 08:00:00 @ 24.94, 78: 08-17 08:00:00 - 08-17 08:30:00 @ 24.06, 79: 08-17 08:30:00 - 08-17 09:00:00 @ 24.39, 80: 08-17 09:00:00 - 08-17 09:30:00 @ 24.66, 81: 08-17 09:30:00 - 08-17 10:00:00 @ 24.06, 82: 08-17 10:00:00 - 08-17 10:30:00 @ 25.5, 83: 08-17 10:30:00 - 08-17 11:00:00 @ 24.94, 84: 08-17 11:00:00 - 08-17 11:30:00 @ 24.25, 85: 08-17 11:30:00 - 08-17 12:00:00 @ 23.49, 86: 08-17 12:00:00 - 08-17 12:30:00 @ 23.43, 87: 08-17 12:30:00 - 08-17 13:00:00 @ 22.33, 88: 08-17 13:00:00 - 08-17 13:30:00 @ 22.76, 89: 08-17 13:30:00 - 08-17 14:00:00 @ 22.3, 90: 08-17 14:00:00 - 08-17 14:30:00 @ 21.41, 91: 08-17 14:30:00 - 08-17 15:00:00 @ 21.65, 92: 08-17 15:00:00 - 08-17 15:30:00 @ 22.95, 93: 08-17 15:30:00 - 08-17 16:00:00 @ 22.83, 94: 08-17 16:00:00 - 08-17 16:30:00 @ 36.84, 95: 08-17 16:30:00 - 08-17 17:00:00 @ 37.54]
2026-08-15 16:45:05.534726: Inverter 0 Charge window will be: 2026-08-16 11:30:00+01:00 - 2026-08-16 16:00:00+01:00 - current SoC 98%, target 13%
2026-08-15 16:45:05.535055: Inverter 0 disabled charge window while waiting for schedule (now 08-15 16:45:00 target set_window_minutes 30 charge start time 08-16 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 16:45:05.535235: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 16:45:05.535695: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 16:45:05.535939: No export window planned
2026-08-15 16:45:05.536280: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 16:45:05.536468: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 16:45:05.536863: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 16:45:05.549011: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 16:45:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 16:45:05.561110: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 16:45:05.561465: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 16:45:05.561701: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 16:45:05.561859: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 16:45:05.562003: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 16:45:05.562142: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 16:45:05.562345: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 16:45:05.562546: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 16:45:05.562742: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 16:45:05.562990: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 16:45:05.563235: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 16:45:05.563487: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 16:45:05.563696: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 16:45:05.563894: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 16:45:05.564085: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 16:45:05.564320: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 16:45:05.564503: Inverter 0 count register writes 0
2026-08-15 16:45:05.595761: Will recompute the plan as it is now 10.0 minutes old and will exceed the max age of 10 minutes before the next run
2026-08-15 16:45:05.596009: Recompute is saving previous plan...
2026-08-15 16:45:05.599520: Best charge window [ 15-08 16:30:00 - 15-08 17:00:00 @ 33.13p 0%, 15-08 17:00:00 - 15-08 17:30:00 @ 38.46p 0%, 15-08 17:30:00 - 15-08 18:00:00 @ 40.44p 0%, 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 0%, 15-08 18:30:00 - 15-08 19:00:00 @ 43.82p 0%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 0%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 0%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 0%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 0%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 30.02p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 27.8p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.18p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.38p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 26.7p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.31p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.79p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 25.86p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.13p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 25.86p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.27p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.14p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 27.03p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.28p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.68p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 26.1p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 24.28p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 24.94p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.06p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.39p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.66p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.06p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 25.5p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 24.94p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 24.25p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 23.49p 0%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.43p 0%, 16-08 12:30:00 - 16-08 13:00:00 @ 22.33p 0%, 16-08 13:00:00 - 16-08 13:30:00 @ 22.76p 0%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 0%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 0%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.65p 0%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.95p 0%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.83p 0%, 16-08 16:00:00 - 16-08 16:30:00 @ 36.84p 0%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.54p 0%, 16-08 17:00:00 - 16-08 17:30:00 @ 41.79p 0%, 16-08 17:30:00 - 16-08 18:00:00 @ 43.7p 0%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.34p 0%, 16-08 19:00:00 - 16-08 19:30:00 @ 34.79p 0%, 16-08 19:30:00 - 16-08 20:00:00 @ 34.76p 0%, 16-08 20:00:00 - 16-08 20:30:00 @ 35.62p 0%, 16-08 20:30:00 - 16-08 21:00:00 @ 35.3p 0%, 16-08 21:00:00 - 16-08 21:30:00 @ 35.89p 0%, 16-08 21:30:00 - 16-08 22:00:00 @ 35.71p 0%, 16-08 22:00:00 - 16-08 22:30:00 @ 33.75p 0%, 16-08 22:30:00 - 16-08 23:00:00 @ 32.0p 0%, 16-08 23:00:00 - 16-08 23:30:00 @ 30.02p 0%, 16-08 23:30:00 - 17-08 00:00:00 @ 27.8p 0%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.18p 0%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.38p 0%, 17-08 01:00:00 - 17-08 01:30:00 @ 26.7p 0%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.31p 0%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.79p 0%, 17-08 02:30:00 - 17-08 03:00:00 @ 25.86p 0%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.13p 0%, 17-08 03:30:00 - 17-08 04:00:00 @ 25.86p 0%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.27p 0%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.14p 0%, 17-08 05:00:00 - 17-08 05:30:00 @ 27.03p 0%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.28p 0%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.68p 0%, 17-08 06:30:00 - 17-08 07:00:00 @ 26.1p 0%, 17-08 07:00:00 - 17-08 07:30:00 @ 24.28p 0%, 17-08 07:30:00 - 17-08 08:00:00 @ 24.94p 0%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.06p 0%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.39p 0%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.66p 0%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.06p 0%, 17-08 10:00:00 - 17-08 10:30:00 @ 25.5p 0%, 17-08 10:30:00 - 17-08 11:00:00 @ 24.94p 0%, 17-08 11:00:00 - 17-08 11:30:00 @ 24.25p 0%, 17-08 11:30:00 - 17-08 12:00:00 @ 23.49p 0%, 17-08 12:00:00 - 17-08 12:30:00 @ 23.43p 0%, 17-08 12:30:00 - 17-08 13:00:00 @ 22.33p 0%, 17-08 13:00:00 - 17-08 13:30:00 @ 22.76p 0%, 17-08 13:30:00 - 17-08 14:00:00 @ 22.3p 0%, 17-08 14:00:00 - 17-08 14:30:00 @ 21.41p 0%, 17-08 14:30:00 - 17-08 15:00:00 @ 21.65p 0%, 17-08 15:00:00 - 17-08 15:30:00 @ 22.95p 0%, 17-08 15:30:00 - 17-08 16:00:00 @ 22.83p 0%, 17-08 16:00:00 - 17-08 16:30:00 @ 36.84p 0%, 17-08 16:30:00 - 17-08 17:00:00 @ 37.54p 0% ]
2026-08-15 16:45:05.599694: Best export window [  ]
2026-08-15 16:45:05.600681: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 16:45:05.604201: Load divergence over 8.0 hours mean 608.84W, min 291.6W, max 2127.6W, std dev 418.61W, divergence 34.38%
2026-08-15 16:45:05.628469: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 16:45:05.628711: LoadML is_calculating True
2026-08-15 16:45:05.628828: Not using thread pool as LoadML is calculating to avoid lockups
2026-08-15 16:45:05.640316: Calculate Best options: mode(Control charge & discharge), calculate_export_oncharge(False), calculate_export_on_pv(True), set_export_freeze_only(False), set_discharge_during_charge(True), combine_charge_slots(False), combine_export_slots(False), combine_rate_threshold(0.0), best_soc_min(0.0 kWh), best_soc_max(0.0 kWh), best_soc_keep(0.0 kWh), inverter_loss(4%), battery_loss(3%), battery_loss_discharge (3%), inverter_hybrid(True), metric_min_improvement(0.0p), metric_min_improvement_export(0.1p), metric_min_improvement_export_freeze(0.1p), metric_battery_cycle(0.0p/kWh), metric_battery_value_scaling(1.0 x) 
2026-08-15 16:45:05.641747: Optimise levels pass started at 2026-08-15 16:45:05
2026-08-15 16:45:05.642503: Optimise all windows, total charge 95 export 1
2026-08-15 16:45:10.951475: >> Region optimisation pass width 960 gives best_metric 1001.92p, best_cost 1016.77p, best_cycle 36.72kWh, best_import 19.95kWh
2026-08-15 16:45:11.708813: ML Predictor: Epoch 19/30: lr=0.00038 huber_loss=0.0063 val_mae=0.0035 kWh val_bias=-0.0014 kWh (-1.6%) combined=0.0024 kWh ema_combined=0.0023 kWh
2026-08-15 16:45:11.873466: >> Region optimisation pass width 480 gives best_metric 1001.92p, best_cost 1016.77p, best_cycle 36.72kWh, best_import 19.95kWh
2026-08-15 16:45:15.094020: >> Region optimisation pass width 240 gives best_metric 1001.73p, best_cost 1016.55p, best_cycle 36.7kWh, best_import 19.95kWh
2026-08-15 16:45:21.109620: >> Region optimisation pass width 120 gives best_metric 1001.67p, best_cost 1016.48p, best_cycle 36.84kWh, best_import 19.96kWh
2026-08-15 16:45:21.110005: Calculated end_record as 08-17 12:30:00 based on best_price 22.76p, next_charge_start 08-16 12:30:00, max_windows 87
2026-08-15 16:45:21.110090: Optimise levels pass ended at 2026-08-15 16:45:21, duration 15.5 seconds tried 343 combinations
2026-08-15 16:45:21.110503: Set best_price_charge_level 24.4p, best_price_export_level 0p, best_price_charge 22.76p, best_cost_export 0p, best_metric 1001.67p, best_keep 0kWh, best_cycle 36.84kWh, best_carbon 0kg, best_import 19.96kWh
2026-08-15 16:45:21.134646: Starting detailed optimisation end_record 08-17 12:30:00, best_price_charge 22.76p, best_price_export 0p. lowest_price_charge 21.41p with charge limits [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3.25, 12.5, 12.5, 12.5, 16.0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0]kWh and export limits []kWh
2026-08-15 16:46:00.273176: Tweak plan optimisation started metric 932.45p, cost 947.69p
2026-08-15 16:46:01.975098: Tweak optimisation finished metric 932.45p, cost 947.69p, metric_keep 0kWh, cycle 30.04kWh, carbon 0kg, import 16.8kWh, changed 8 window(s)
2026-08-15 16:46:01.995769: Swap charge optimisation started metric 932.45p, cost 947.69p, min_improvement_swap 0.1p
2026-08-15 16:46:19.837610: Swap charge optimisation finished metric 932.45p, cost 947.69p
2026-08-15 16:46:20.171934: Pruned 5 dead plan slot(s) in 15 trial(s), nominal metric 927.09p -> 927.09p, plan now metric 932.56p, cost 947.69p, cycle 30.04kWh, import 16.8kWh
2026-08-15 16:46:20.186052: Raw charge windows [ 15-08 16:30:00 - 15-08 17:00:00 @ 33.13p 0%, 15-08 17:00:00 - 15-08 17:30:00 @ 38.46p 0%, 15-08 17:30:00 - 15-08 18:00:00 @ 40.44p 0%, 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 0%, 15-08 18:30:00 - 15-08 19:00:00 @ 43.82p 0%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 0%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 0%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 0%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 0%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 30.02p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 27.8p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.18p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.38p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 26.7p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.31p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.79p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 25.86p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.13p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 25.86p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.27p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.14p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 27.03p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.28p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.68p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 26.1p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 24.28p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 24.94p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.06p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.39p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.66p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.06p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 25.5p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 24.94p 16%, 16-08 11:00:00 - 16-08 11:30:00 @ 24.25p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 23.49p 13%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.43p 13%, 16-08 12:30:00 - 16-08 13:00:00 @ 22.33p 20%, 16-08 13:00:00 - 16-08 13:30:00 @ 22.76p 19%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 100%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 100%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.65p 100%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.95p 63%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.83p 63%, 16-08 16:00:00 - 16-08 16:30:00 @ 36.84p 0%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.54p 0%, 16-08 17:00:00 - 16-08 17:30:00 @ 41.79p 0%, 16-08 17:30:00 - 16-08 18:00:00 @ 43.7p 0%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.34p 0%, 16-08 19:00:00 - 16-08 19:30:00 @ 34.79p 0%, 16-08 19:30:00 - 16-08 20:00:00 @ 34.76p 0%, 16-08 20:00:00 - 16-08 20:30:00 @ 35.62p 0%, 16-08 20:30:00 - 16-08 21:00:00 @ 35.3p 0%, 16-08 21:00:00 - 16-08 21:30:00 @ 35.89p 0%, 16-08 21:30:00 - 16-08 22:00:00 @ 35.71p 0%, 16-08 22:00:00 - 16-08 22:30:00 @ 33.75p 0%, 16-08 22:30:00 - 16-08 23:00:00 @ 32.0p 0%, 16-08 23:00:00 - 16-08 23:30:00 @ 30.02p 0%, 16-08 23:30:00 - 17-08 00:00:00 @ 27.8p 0%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.18p 0%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.38p 0%, 17-08 01:00:00 - 17-08 01:30:00 @ 26.7p 0%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.31p 0%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.79p 0%, 17-08 02:30:00 - 17-08 03:00:00 @ 25.86p 0%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.13p 0%, 17-08 03:30:00 - 17-08 04:00:00 @ 25.86p 0%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.27p 0%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.14p 0%, 17-08 05:00:00 - 17-08 05:30:00 @ 27.03p 0%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.28p 0%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.68p 0%, 17-08 06:30:00 - 17-08 07:00:00 @ 26.1p 0%, 17-08 07:00:00 - 17-08 07:30:00 @ 24.28p 0%, 17-08 07:30:00 - 17-08 08:00:00 @ 24.94p 0%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.06p 0%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.39p 0%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.66p 0%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.06p 0%, 17-08 10:00:00 - 17-08 10:30:00 @ 25.5p 0%, 17-08 10:30:00 - 17-08 11:00:00 @ 24.94p 0%, 17-08 11:00:00 - 17-08 11:30:00 @ 24.25p 0%, 17-08 11:30:00 - 17-08 12:00:00 @ 23.49p 0%, 17-08 12:00:00 - 17-08 12:30:00 @ 23.43p 0%, 17-08 12:30:00 - 17-08 13:00:00 @ 22.33p 100%, 17-08 13:00:00 - 17-08 13:30:00 @ 22.76p 100%, 17-08 13:30:00 - 17-08 14:00:00 @ 22.3p 100%, 17-08 14:00:00 - 17-08 14:30:00 @ 21.41p 100%, 17-08 14:30:00 - 17-08 15:00:00 @ 21.65p 100%, 17-08 15:00:00 - 17-08 15:30:00 @ 22.95p 100%, 17-08 15:30:00 - 17-08 16:00:00 @ 22.83p 100%, 17-08 16:00:00 - 17-08 16:30:00 @ 36.84p 100%, 17-08 16:30:00 - 17-08 17:00:00 @ 37.54p 100% ] reserve 1.12
2026-08-15 16:46:20.186748: Unclipped charge windows [ 16-08 10:30:00 - 16-08 11:00:00 @ 24.94p 16%, 16-08 11:30:00 - 16-08 12:30:00 @ 23.46p 13%, 16-08 12:30:00 - 16-08 13:00:00 @ 22.33p 20%, 16-08 13:00:00 - 16-08 13:30:00 @ 22.76p 19%, 16-08 13:30:00 - 16-08 15:00:00 @ 21.75p 100%, 16-08 15:00:00 - 16-08 16:00:00 @ 22.89p 63%, 17-08 12:30:00 - 17-08 17:00:00 @ 33.63p 100% ] reserve 1.12
2026-08-15 16:46:20.187139: Unfiltered charge windows [ 16-08 10:30:00 - 16-08 11:00:00 @ 24.94p 16%, 16-08 11:30:00 - 16-08 12:30:00 @ 23.46p 13%, 16-08 12:30:00 - 16-08 13:00:00 @ 22.33p 20%, 16-08 13:00:00 - 16-08 13:30:00 @ 22.76p 19%, 16-08 13:30:00 - 16-08 15:00:00 @ 21.75p 100%, 16-08 15:00:00 - 16-08 16:00:00 @ 22.89p 63%, 17-08 12:30:00 - 17-08 17:00:00 @ 33.63p 100% ] reserve 1.12
2026-08-15 16:46:20.187618: Filtered charge windows [ 16-08 10:30:00 - 16-08 11:00:00 @ 24.94p 16%, 16-08 11:30:00 - 16-08 12:30:00 @ 23.46p 13%, 16-08 12:30:00 - 16-08 13:00:00 @ 22.33p 20%, 16-08 13:00:00 - 16-08 13:30:00 @ 22.76p 19%, 16-08 13:30:00 - 16-08 15:00:00 @ 21.75p 100%, 16-08 15:00:00 - 16-08 16:00:00 @ 22.89p 63%, 17-08 12:30:00 - 17-08 17:00:00 @ 33.63p 100% ] reserve 1.12
2026-08-15 16:46:20.227950: Previous plan best metric is 932.09 (cost 947.34) and new plan best metric is 932.45 (cost 947.69)
2026-08-15 16:46:20.228245: New plan metric is not significantly better (metric_min_improvement_plan 2.0) than previous plan, using previous plan
2026-08-15 16:46:20.228535: Plan valid is now true after recompute was False
2026-08-15 16:46:20.261504: predict base end_record 08-17 12:30:00, final soc 1.12kWh, metric 1112.06p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 12:35:00, load 38.02kWh, PV 0.0kWh
2026-08-15 16:46:20.455885: Battery has 19.83 hours left - now at 15.73kWh
2026-08-15 16:46:20.561755: predict base10 end_record 08-17 12:30:00, final soc 1.12kWh, metric 1148.54p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 11:50:00, load 39.42kWh, PV 0.0kWh
2026-08-15 16:46:20.720718: predict best10 end_record 08-17 12:30:00, final soc 1.12kWh, metric 1085.13p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 04:55:00, load 39.42kWh, PV 0.0kWh
2026-08-15 16:46:20.915585: predict best end_record 08-17 12:30:00, final soc 1.12kWh, metric 1047.3p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 05:35:00, load 38.02kWh, PV 0.0kWh
2026-08-15 16:46:20.915706: Saving plan best values to HA entities
2026-08-15 16:46:21.373575: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 16:46:21.384527: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 16:46:21.398728: Best charging limit SoC's [2.0, 3.25, 3.0, 16.0, 10.0, 2.0, 16.0]kWh, export []kWh gives import battery 12.79kWh, house 4.02kWh, export 0.0kWh, metric 1047.3p, metric10 1085.13p
2026-08-15 16:46:21.526817: Marginal costs baseline metric (no standing charge): 947.335
2026-08-15 16:46:21.883634: Marginal energy costs matrix computed: min=25.35 max=31.2
2026-08-15 16:46:22.033087: Rate array import [{'start': 1005, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1410, 'rate': 'expensive', 'range': '(29.8p - 32.9p)'}, {'start': 1410, 'end': 2400, 'rate': 'cheap', 'range': '(21.4p - 28.2p)'}, {'start': 2400, 'end': 2430, 'rate': 'expensive', 'range': '(36.8p)'}, {'start': 2430, 'end': 2580, 'rate': 'very expensive', 'range': '(37.5p - 45.3p)'}, {'start': 2580, 'end': 2850, 'rate': 'expensive', 'range': '(30.0p - 35.9p)'}, {'start': 2850, 'end': 3630, 'rate': 'cheap', 'range': '(23.4p - 28.2p)'}] export [{'start': 1005, 'end': 3630, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 16:46:22.046196: - Your estimated bill for today is £5.63 and tomorrow is £3.12
2026-08-15 16:46:22.046474: - Import rates are expensive (33.1p) for the next 15 minutes and then very expensive (38.5p - 43.8p) for the next 2 hours.
2026-08-15 16:46:22.046617: - The battery is currently at 98% and is in eco mode for the next 18 hours.
2026-08-15 16:46:22.046744: - For the next 48 hours there will be no solar generation.
2026-08-15 16:46:22.046865: - You will run out of battery in 36 hours.
2026-08-15 16:46:22.046985: - Your next charge slot will be in 18 hours where import rates will be cheap (23.5p).
2026-08-15 16:46:22.047106: 
2026-08-15 16:46:22.152681: Plan calculation took 76.56 seconds
2026-08-15 16:46:22.153170: Inverter 0: Type SK Sunsynk
2026-08-15 16:46:22.153347: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 16:46:22.153672: Reserve min: 7%, battery_min: 7%
2026-08-15 16:46:22.153868: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 16:46:22.154320: Inverter 0 SoC: 15.68kW 98%, current charge rate 5000W, current discharge rate 5250W, current battery power 303W, current battery voltage 51.2V, grid power -54W, load power 371W, PV Power 0W
2026-08-15 16:46:22.154630: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 16:46:22.154845: Inverter 0 scheduled charge enable is False
2026-08-15 16:46:22.154986: Inverter 0 charge windows currently []
2026-08-15 16:46:22.155123: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 16:46:22.155391: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 16:46:22.155540: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 16:46:22.155690: Inverter 0 scheduled discharge enable is False
2026-08-15 16:46:22.155971: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 16:46:22.156116: Inverter 0 discharge windows currently []
2026-08-15 16:46:22.156244: Note: Inverter does not support discharge freeze - disabled
2026-08-15 16:46:22.156391: Note: Inverter does not support charge freeze - disabled
2026-08-15 16:46:22.156513: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 16:46:22.277806: Inverter 0 Charge window will be: 2026-08-16 11:30:00+01:00 - 2026-08-16 16:00:00+01:00 - current SoC 98%, target 13%
2026-08-15 16:46:22.278101: Inverter 0 disabled charge window while waiting for schedule (now 08-15 16:45:00 target set_window_minutes 30 charge start time 08-16 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 16:46:22.278276: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 16:46:22.278561: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 16:46:22.278730: No export window planned
2026-08-15 16:46:22.279084: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 16:46:22.279203: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 16:46:22.279463: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 16:46:22.279727: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 16:45:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 16:46:22.279863: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 16:46:22.280004: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 16:46:22.280175: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 16:46:22.280320: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 16:46:22.280444: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 16:46:22.280562: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 16:46:22.280679: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 16:46:22.280794: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 16:46:22.280909: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 16:46:22.281104: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 16:46:22.281233: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 16:46:22.281372: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 16:46:22.281665: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 16:46:22.281797: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 16:46:22.281915: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 16:46:22.294942: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 16:46:22.295042: Inverter 0 count register writes 0
2026-08-15 16:46:22.386423: Total inverter register writes now 826
2026-08-15 16:46:22.446457: Info: Completed run status Demand
2026-08-15 16:46:22.454460: Info: record_status Demand
2026-08-15 16:46:22.472083: Saved current settings to /config/predbat_config.json
2026-08-15 16:46:22.472372: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 16:46:23.336162: ML Predictor: Epoch 20/30: lr=0.00034 huber_loss=0.0064 val_mae=0.0028 kWh val_bias=-0.0002 kWh (-0.3%) combined=0.0015 kWh ema_combined=0.0020 kWh
2026-08-15 16:46:56.631861: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 16:46:56.632437: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 16:46:56.632504: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 16:46:56.633140: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 16:46:56.633201: Note: Inverter does not support discharge freeze - disabled
2026-08-15 16:46:56.633536: Note: Inverter does not support charge freeze - disabled
2026-08-15 16:46:56.633719: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 16:46:57.192123: ML Predictor: Epoch 21/30: lr=0.00030 huber_loss=0.0061 val_mae=0.0030 kWh val_bias=-0.0009 kWh (-1.0%) combined=0.0021 kWh ema_combined=0.0021 kWh
2026-08-15 16:47:29.498071: ML Predictor: Epoch 22/30: lr=0.00026 huber_loss=0.0058 val_mae=0.0028 kWh val_bias=-0.0005 kWh (-0.5%) combined=0.0015 kWh ema_combined=0.0019 kWh
2026-08-15 16:48:03.503928: ML Predictor: Epoch 23/30: lr=0.00022 huber_loss=0.0055 val_mae=0.0027 kWh val_bias=-0.0003 kWh (-0.3%) combined=0.0015 kWh ema_combined=0.0018 kWh
2026-08-15 16:48:34.859997: ML Predictor: Epoch 24/30: lr=0.00019 huber_loss=0.0056 val_mae=0.0028 kWh val_bias=-0.0014 kWh (-1.6%) combined=0.0024 kWh ema_combined=0.0020 kWh
2026-08-15 16:48:57.053642: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 16:48:57.053927: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 16:48:57.054096: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 16:48:57.054389: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 16:48:57.054525: Note: Inverter does not support discharge freeze - disabled
2026-08-15 16:48:57.054632: Note: Inverter does not support charge freeze - disabled
2026-08-15 16:48:57.054723: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 16:49:05.830886: ML Predictor: Epoch 25/30: lr=0.00016 huber_loss=0.0053 val_mae=0.0027 kWh val_bias=-0.0010 kWh (-1.1%) combined=0.0018 kWh ema_combined=0.0019 kWh
2026-08-15 16:49:35.725736: ML Predictor: Epoch 26/30: lr=0.00014 huber_loss=0.0054 val_mae=0.0027 kWh val_bias=-0.0005 kWh (-0.5%) combined=0.0015 kWh ema_combined=0.0018 kWh
2026-08-15 16:50:00.362451: --------------- PredBat - update at 2026-08-15 16:50:00+01:00 with clock skew 0 minutes, minutes now 1010
2026-08-15 16:50:00.363838: Saved current settings to /config/predbat_config.json
2026-08-15 16:50:00.364205: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 25.0 minutes
2026-08-15 16:50:00.364428: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.2, latest beta is v8.48.2
2026-08-15 16:50:00.364617: Autoupdate: There is an update pending v8.48.2 PV90 and second pass enabled by default, bug fixes - auto update is off
2026-08-15 16:50:00.404097: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 16:50:00.404445: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 16:50:00.404789: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 16:50:00.405579: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 16:50:00.406302: Predbat mode is set to Control charge & discharge
2026-08-15 16:50:00.800736: Found 21602 load_today datapoints going back 28 days
2026-08-15 16:50:00.801240: Using load_power data to fill gaps in load_today data
2026-08-15 16:50:02.214633: Processing 721 30-minute periods for power integration
2026-08-15 16:50:02.447293: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 16:50:02.447638: Car charging hold False, threshold 6.0kWh
2026-08-15 16:50:02.447871: Current data so far today: load 8.7kWh, import 27.5kWh, export 0.0kWh, PV 0kWh
2026-08-15 16:50:02.478971: Cars: SoC: [10.548]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 16:50:02.479920: Standing charge is set to 49.98p
2026-08-15 16:50:02.631056: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 16:50:02.631176: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 16:50:02.631441: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 370.0 minutes
2026-08-15 16:50:02.639056: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 370.0 minutes
2026-08-15 16:50:02.645173: Loaded 95 datapoints of futurerate analysis
2026-08-15 16:50:02.987666: Predicted future rates: ['08-15 00:00:00 => 28.69 / 20.01', '08-15 01:00:00 => 27.33 / 19.31', '08-15 02:00:00 => 26.31 / 18.8', '08-15 03:00:00 => 25.78 / 18.53', '08-15 04:00:00 => 25.59 / 18.43', '08-15 05:00:00 => 25.75 / 18.51', '08-15 06:00:00 => 25.34 / 18.3', '08-15 07:00:00 => 24.12 / 17.68', '08-15 08:00:00 => 22.82 / 17.01', '08-15 09:00:00 => 21.84 / 16.51', '08-15 10:00:00 => 20.22 / 15.68', '08-15 11:00:00 => 17.8 / 14.45', '08-15 12:00:00 => 16.16 / 13.61', '08-15 13:00:00 => 15.55 / 13.3', '08-15 14:00:00 => 15.14 / 13.09', '08-15 15:00:00 => 15.65 / 13.35', '08-15 16:00:00 => 32.68 / 16.13', '08-15 17:00:00 => 37.81 / 18.75', '08-15 18:00:00 => 42.15 / 20.96', '08-15 19:00:00 => 30.88 / 21.13', '08-15 20:00:00 => 31.43 / 21.41', '08-15 21:00:00 => 31.43 / 21.41', '08-15 22:00:00 => 30.37 / 20.87', '08-15 23:00:00 => 29.16 / 20.25', '08-16 00:00:00 => 28.62 / 19.97', '08-16 01:00:00 => 27.52 / 19.41', '08-16 02:00:00 => 26.55 / 18.92', '08-16 03:00:00 => 26.18 / 18.73', '08-16 04:00:00 => 26.12 / 18.7', '08-16 05:00:00 => 26.02 / 18.65', '08-16 06:00:00 => 25.78 / 18.53', '08-16 07:00:00 => 25.43 / 18.35', '08-16 08:00:00 => 24.63 / 17.94', '08-16 09:00:00 => 24.05 / 17.64', '08-16 10:00:00 => 24.59 / 17.92', '08-16 11:00:00 => 24.5 / 17.87', '08-16 12:00:00 => 23.58 / 17.4', '08-16 13:00:00 => 22.93 / 17.07', '08-16 14:00:00 => 21.8 / 16.49', '08-16 15:00:00 => 21.8 / 16.49']
2026-08-15 16:50:03.055200: Rate min forward looking: now 21.41p at end of forecast 21.41p
2026-08-15 16:50:03.055654: Import rates: min 21.41p, max 45.28p, average 28.36p
2026-08-15 16:50:03.106991: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 16:50:03.107318: Rate thresholds (for charge/export) are import 44.78p (0.0p), export -0.1p (0.0p)
2026-08-15 16:50:03.108690: High export rate found rates in range 99p to -99p
2026-08-15 16:50:03.296103: Low Import rate found rates in range 21.41p to 44.34p
2026-08-15 16:50:03.309051: Car 0 charging is not planned as it is not plugged in
2026-08-15 16:50:03.333531: Battery level now 15.73kWh, -1hr ago 15.58kWh, at midnight 1.66kWh, battery value change in the last hour 2.8p, change today 258.83p, rate_forward 18.39p
2026-08-15 16:50:03.334029: Last hour: net energy 1.05kWh, import 1.05kWh, export 0.0kWh, car 0kWh, load 0.22kWh, net cost 22.87p, import 22.87p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 16:50:03.446111: Today's energy total net 27.5kWh, import 27.5kWh, export 0.0kWh, cost 562.65p, import 512.67p, export 0.0p, carbon 0.0kg
2026-08-15 16:50:03.446472: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 16:50:03.560113: Using weighted-bucket historical load forecast over 14 days
2026-08-15 16:50:03.598900: Today's load divergence 90.28%, in-day adjustment 106.59%, damping 0.95x, yesterday 143.77% today 90.77% blend 29.86%
2026-08-15 16:50:03.599025: Today's predicted so far 10.07kWh with 0.0kWh car/iBoost excluded, 20.88kWh import ignored, and 10.07kWh forecast extra.
2026-08-15 16:50:03.599066: Today's actual load so far 8.71kWh with 0.0kWh car/iBoost excluded, and 20.88kWh import ignored.
2026-08-15 16:50:03.659333: Inverter 0: Type SK Sunsynk
2026-08-15 16:50:03.659452: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 16:50:03.659796: Reserve min: 7%, battery_min: 7%
2026-08-15 16:50:03.659989: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 16:50:03.660540: Inverter 0 SoC: 15.68kW 98%, current charge rate 5000W, current discharge rate 5250W, current battery power 273W, current battery voltage 51.2V, grid power -54W, load power 340W, PV Power 0W
2026-08-15 16:50:03.660856: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 16:50:03.661077: Inverter 0 scheduled charge enable is False
2026-08-15 16:50:03.661142: Inverter 0 charge windows currently []
2026-08-15 16:50:03.661308: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 16:50:03.661540: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 16:50:03.661599: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 16:50:03.661755: Inverter 0 scheduled discharge enable is False
2026-08-15 16:50:03.662012: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 16:50:03.662073: Inverter 0 discharge windows currently []
2026-08-15 16:50:03.662174: Note: Inverter does not support discharge freeze - disabled
2026-08-15 16:50:03.662287: Note: Inverter does not support charge freeze - disabled
2026-08-15 16:50:03.662381: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 16:50:03.883380: Dynamic load last period 0.00kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 16:50:03.883535: Plan was last updated on 2026-08-15 16:45:00+01:00 and is now 5.0 minutes old
2026-08-15 16:50:03.884195: Best charge window [ 16-08 11:30:00 - 16-08 12:30:00 @ 23.46p 13%, 16-08 12:30:00 - 16-08 13:00:00 @ 22.33p 20%, 16-08 13:00:00 - 16-08 13:30:00 @ 22.76p 19%, 16-08 13:30:00 - 16-08 15:00:00 @ 21.75p 100%, 16-08 15:00:00 - 16-08 16:00:00 @ 22.89p 63%, 17-08 02:00:00 - 17-08 03:30:00 @ 25.98p 13%, 17-08 12:30:00 - 17-08 17:00:00 @ 33.63p 100% ]
2026-08-15 16:50:03.884353: Best export window [  ]
2026-08-15 16:50:03.885915: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 16:50:03.908718: Load divergence over 8.0 hours mean 610.38W, min 292.8W, max 1997.4W, std dev 404.93W, divergence 33.17%
2026-08-15 16:50:04.005029: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 16:50:04.005207: LoadML is_calculating True
2026-08-15 16:50:04.005368: Not using thread pool as LoadML is calculating to avoid lockups
2026-08-15 16:50:04.072384: predict base end_record 08-17 12:35:00, final soc 1.12kWh, metric 1113.01p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 12:40:00, load 37.97kWh, PV 0.0kWh
2026-08-15 16:50:04.276169: Battery has 19.83 hours left - now at 15.68kWh
2026-08-15 16:50:04.382142: predict base10 end_record 08-17 12:35:00, final soc 1.12kWh, metric 1149.5p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 11:55:00, load 39.36kWh, PV 0.0kWh
2026-08-15 16:50:04.556221: predict best10 end_record 08-17 12:35:00, final soc 1.44kWh, metric 1093.69p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 04:55:00, load 39.36kWh, PV 0.0kWh
2026-08-15 16:50:04.695712: predict best end_record 08-17 12:35:00, final soc 1.51kWh, metric 1057.41p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 05:35:00, load 37.97kWh, PV 0.0kWh
2026-08-15 16:50:04.695819: Saving plan best values to HA entities
2026-08-15 16:50:05.079400: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 16:50:05.089804: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 16:50:05.099654: Best charging limit SoC's [2.0, 3.25, 3.0, 16.0, 10.0, 2.0, 16.0]kWh, export []kWh gives import battery 13.23kWh, house 4.03kWh, export 0.0kWh, metric 1057.41p, metric10 1093.69p
2026-08-15 16:50:05.220410: Marginal costs baseline metric (no standing charge): 957.4385
2026-08-15 16:50:05.714560: Marginal energy costs matrix computed: min=25.34 max=31.48
2026-08-15 16:50:05.878983: Rate array import [{'start': 1010, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1410, 'rate': 'expensive', 'range': '(29.8p - 32.9p)'}, {'start': 1410, 'end': 2400, 'rate': 'cheap', 'range': '(21.4p - 28.2p)'}, {'start': 2400, 'end': 2430, 'rate': 'expensive', 'range': '(36.8p)'}, {'start': 2430, 'end': 2580, 'rate': 'very expensive', 'range': '(37.5p - 45.3p)'}, {'start': 2580, 'end': 2850, 'rate': 'expensive', 'range': '(30.0p - 35.9p)'}, {'start': 2850, 'end': 3635, 'rate': 'cheap', 'range': '(22.3p - 28.2p)'}] export [{'start': 1010, 'end': 3635, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 16:50:05.880243: - Your estimated bill for today is £5.63 and tomorrow is £3.11
2026-08-15 16:50:05.880618: - Import rates are expensive (33.1p) for the next 10 minutes and then very expensive (38.5p - 43.8p) for the next 2 hours.
2026-08-15 16:50:05.880686: - The battery is currently at 98% and is in eco mode for the next 18 hours.
2026-08-15 16:50:05.880828: - For the next 48 hours there will be no solar generation.
2026-08-15 16:50:05.880873: - You will run out of battery in 36 hours.
2026-08-15 16:50:05.880927: - Your next charge slot will be in 18 hours where import rates will be cheap (23.5p).
2026-08-15 16:50:05.881022: 
2026-08-15 16:50:05.975141: Plan calculation took 2.09 seconds
2026-08-15 16:50:05.978732: No high rate period found
2026-08-15 16:50:06.050194: Import threshold used for optimisation was 25.86p
2026-08-15 16:50:06.152344: Low import rate windows [0: 08-15 16:30:00 - 08-15 17:00:00 @ 33.13, 1: 08-15 17:00:00 - 08-15 17:30:00 @ 38.46, 2: 08-15 17:30:00 - 08-15 18:00:00 @ 40.44, 3: 08-15 18:00:00 - 08-15 18:30:00 @ 41.55, 4: 08-15 18:30:00 - 08-15 19:00:00 @ 43.82, 5: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 6: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 7: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 8: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 9: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 10: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 11: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 12: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 13: 08-15 23:00:00 - 08-15 23:30:00 @ 30.02, 14: 08-15 23:30:00 - 08-16 00:00:00 @ 27.8, 15: 08-16 00:00:00 - 08-16 00:30:00 @ 28.18, 16: 08-16 00:30:00 - 08-16 01:00:00 @ 27.38, 17: 08-16 01:00:00 - 08-16 01:30:00 @ 26.7, 18: 08-16 01:30:00 - 08-16 02:00:00 @ 26.31, 19: 08-16 02:00:00 - 08-16 02:30:00 @ 25.79, 20: 08-16 02:30:00 - 08-16 03:00:00 @ 25.86, 21: 08-16 03:00:00 - 08-16 03:30:00 @ 26.13, 22: 08-16 03:30:00 - 08-16 04:00:00 @ 25.86, 23: 08-16 04:00:00 - 08-16 04:30:00 @ 26.27, 24: 08-16 04:30:00 - 08-16 05:00:00 @ 26.14, 25: 08-16 05:00:00 - 08-16 05:30:00 @ 27.03, 26: 08-16 05:30:00 - 08-16 06:00:00 @ 26.28, 27: 08-16 06:00:00 - 08-16 06:30:00 @ 25.68, 28: 08-16 06:30:00 - 08-16 07:00:00 @ 26.1, 29: 08-16 07:00:00 - 08-16 07:30:00 @ 24.28, 30: 08-16 07:30:00 - 08-16 08:00:00 @ 24.94, 31: 08-16 08:00:00 - 08-16 08:30:00 @ 24.06, 32: 08-16 08:30:00 - 08-16 09:00:00 @ 24.39, 33: 08-16 09:00:00 - 08-16 09:30:00 @ 24.66, 34: 08-16 09:30:00 - 08-16 10:00:00 @ 24.06, 35: 08-16 10:00:00 - 08-16 10:30:00 @ 25.5, 36: 08-16 10:30:00 - 08-16 11:00:00 @ 24.94, 37: 08-16 11:00:00 - 08-16 11:30:00 @ 24.25, 38: 08-16 11:30:00 - 08-16 12:00:00 @ 23.49, 39: 08-16 12:00:00 - 08-16 12:30:00 @ 23.43, 40: 08-16 12:30:00 - 08-16 13:00:00 @ 22.33, 41: 08-16 13:00:00 - 08-16 13:30:00 @ 22.76, 42: 08-16 13:30:00 - 08-16 14:00:00 @ 22.3, 43: 08-16 14:00:00 - 08-16 14:30:00 @ 21.41, 44: 08-16 14:30:00 - 08-16 15:00:00 @ 21.65, 45: 08-16 15:00:00 - 08-16 15:30:00 @ 22.95, 46: 08-16 15:30:00 - 08-16 16:00:00 @ 22.83, 47: 08-16 16:00:00 - 08-16 16:30:00 @ 36.84, 48: 08-16 16:30:00 - 08-16 17:00:00 @ 37.54, 49: 08-16 17:00:00 - 08-16 17:30:00 @ 41.79, 50: 08-16 17:30:00 - 08-16 18:00:00 @ 43.7, 51: 08-16 18:00:00 - 08-16 18:30:00 @ 44.34, 52: 08-16 19:00:00 - 08-16 19:30:00 @ 34.79, 53: 08-16 19:30:00 - 08-16 20:00:00 @ 34.76, 54: 08-16 20:00:00 - 08-16 20:30:00 @ 35.62, 55: 08-16 20:30:00 - 08-16 21:00:00 @ 35.3, 56: 08-16 21:00:00 - 08-16 21:30:00 @ 35.89, 57: 08-16 21:30:00 - 08-16 22:00:00 @ 35.71, 58: 08-16 22:00:00 - 08-16 22:30:00 @ 33.75, 59: 08-16 22:30:00 - 08-16 23:00:00 @ 32.0, 60: 08-16 23:00:00 - 08-16 23:30:00 @ 30.02, 61: 08-16 23:30:00 - 08-17 00:00:00 @ 27.8, 62: 08-17 00:00:00 - 08-17 00:30:00 @ 28.18, 63: 08-17 00:30:00 - 08-17 01:00:00 @ 27.38, 64: 08-17 01:00:00 - 08-17 01:30:00 @ 26.7, 65: 08-17 01:30:00 - 08-17 02:00:00 @ 26.31, 66: 08-17 02:00:00 - 08-17 02:30:00 @ 25.79, 67: 08-17 02:30:00 - 08-17 03:00:00 @ 25.86, 68: 08-17 03:00:00 - 08-17 03:30:00 @ 26.13, 69: 08-17 03:30:00 - 08-17 04:00:00 @ 25.86, 70: 08-17 04:00:00 - 08-17 04:30:00 @ 26.27, 71: 08-17 04:30:00 - 08-17 05:00:00 @ 26.14, 72: 08-17 05:00:00 - 08-17 05:30:00 @ 27.03, 73: 08-17 05:30:00 - 08-17 06:00:00 @ 26.28, 74: 08-17 06:00:00 - 08-17 06:30:00 @ 25.68, 75: 08-17 06:30:00 - 08-17 07:00:00 @ 26.1, 76: 08-17 07:00:00 - 08-17 07:30:00 @ 24.28, 77: 08-17 07:30:00 - 08-17 08:00:00 @ 24.94, 78: 08-17 08:00:00 - 08-17 08:30:00 @ 24.06, 79: 08-17 08:30:00 - 08-17 09:00:00 @ 24.39, 80: 08-17 09:00:00 - 08-17 09:30:00 @ 24.66, 81: 08-17 09:30:00 - 08-17 10:00:00 @ 24.06, 82: 08-17 10:00:00 - 08-17 10:30:00 @ 25.5, 83: 08-17 10:30:00 - 08-17 11:00:00 @ 24.94, 84: 08-17 11:00:00 - 08-17 11:30:00 @ 24.25, 85: 08-17 11:30:00 - 08-17 12:00:00 @ 23.49, 86: 08-17 12:00:00 - 08-17 12:30:00 @ 23.43, 87: 08-17 12:30:00 - 08-17 13:00:00 @ 22.33, 88: 08-17 13:00:00 - 08-17 13:30:00 @ 22.76, 89: 08-17 13:30:00 - 08-17 14:00:00 @ 22.3, 90: 08-17 14:00:00 - 08-17 14:30:00 @ 21.41, 91: 08-17 14:30:00 - 08-17 15:00:00 @ 21.65, 92: 08-17 15:00:00 - 08-17 15:30:00 @ 22.95, 93: 08-17 15:30:00 - 08-17 16:00:00 @ 22.83, 94: 08-17 16:00:00 - 08-17 16:30:00 @ 36.84, 95: 08-17 16:30:00 - 08-17 17:00:00 @ 37.54]
2026-08-15 16:50:06.174976: Inverter 0 Charge window will be: 2026-08-16 11:30:00+01:00 - 2026-08-16 16:00:00+01:00 - current SoC 98%, target 13%
2026-08-15 16:50:06.175306: Inverter 0 disabled charge window while waiting for schedule (now 08-15 16:50:00 target set_window_minutes 30 charge start time 08-16 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 16:50:06.175492: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 16:50:06.175782: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 16:50:06.175947: No export window planned
2026-08-15 16:50:06.176150: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 16:50:06.176295: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 16:50:06.176548: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 16:50:06.176802: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 16:50:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 16:50:06.176938: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 16:50:06.177114: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 16:50:06.177315: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 16:50:06.177455: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 16:50:06.177574: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 16:50:06.177690: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 16:50:06.177837: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 16:50:06.177965: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 16:50:06.178110: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 16:50:06.178320: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 16:50:06.178470: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 16:50:06.178590: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 16:50:06.178704: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 16:50:06.178816: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 16:50:06.178931: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 16:50:06.179047: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 16:50:06.179155: Inverter 0 count register writes 0
2026-08-15 16:50:06.209483: Will not recompute the plan, it is 5.0 minutes old and max age is 10 minutes
2026-08-15 16:50:06.218016: Total inverter register writes now 826
2026-08-15 16:50:06.301325: Info: Completed run status Demand
2026-08-15 16:50:06.308754: Info: record_status Demand
2026-08-15 16:50:06.326931: Saved current settings to /config/predbat_config.json
2026-08-15 16:50:06.327217: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 16:50:09.946171: ML Predictor: Epoch 27/30: lr=0.00012 huber_loss=0.0058 val_mae=0.0027 kWh val_bias=-0.0008 kWh (-0.9%) combined=0.0017 kWh ema_combined=0.0018 kWh
2026-08-15 16:50:42.454997: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 16:50:42.455389: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 16:50:42.455442: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 16:50:42.455672: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 16:50:42.455790: Note: Inverter does not support discharge freeze - disabled
2026-08-15 16:50:42.455828: Note: Inverter does not support charge freeze - disabled
2026-08-15 16:50:42.455891: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 16:50:42.812597: ML Predictor: Epoch 28/30: lr=0.00011 huber_loss=0.0055 val_mae=0.0025 kWh val_bias=-0.0008 kWh (-0.9%) combined=0.0019 kWh ema_combined=0.0018 kWh
2026-08-15 16:51:13.504522: ML Predictor: Epoch 29/30: lr=0.00010 huber_loss=0.0056 val_mae=0.0024 kWh val_bias=-0.0006 kWh (-0.7%) combined=0.0015 kWh ema_combined=0.0017 kWh
2026-08-15 16:51:44.620066: ML Predictor: Epoch 30/30: lr=0.00010 huber_loss=0.0055 val_mae=0.0022 kWh val_bias=-0.0001 kWh (-0.1%) combined=0.0011 kWh ema_combined=0.0015 kWh
2026-08-15 16:51:44.626490: ML Predictor: Restored best weights from epoch with val_mae=0.0022 kWh val_bias=-0.0001 kWh (-0.1%)
2026-08-15 16:51:44.626832: ML Predictor: Training complete, final val_mae=0.0022 kWh val_bias=-0.0001 kWh (-0.1%)
2026-08-15 16:51:50.115547: ML Predictor: AR rollout over holdout: ar_mae=0.0023 kWh ar_bias=-0.0001 kWh (-0.1%) [drift vs teacher-forced: +0.0001 kWh]
2026-08-15 16:51:50.120219: ML Predictor: Curriculum pass 3/5 complete, val_mae=0.0022 kWh
2026-08-15 16:51:50.251688: ML Predictor: Curriculum pass 4/5: window=57.0 days (1368 hours of data)
2026-08-15 16:51:50.251820: ML Predictor: Starting fine-tune training with 30 epochs
2026-08-15 16:51:50.968565: ML Predictor: Creating dataset with 1368 hours of training data, 48 hours validation
2026-08-15 16:51:55.454989: ML Predictor: Created 16128 training samples, 576 validation samples
2026-08-15 16:51:55.508087: ML Predictor: Normalization stats [ema-update alpha=0.1] target(mean=0.0586 std=0.0469) load(mean=0.0589 std=0.0471) pv(mean=0.0000 std=0.0100) temp(mean=19.5523 std=4.4512) import_rate(mean=25.5437 std=2.4791) export_rate(mean=0.0000 std=1.0000) time(mean=-0.1895 std=0.5252)
2026-08-15 16:51:55.585212: ML Predictor: Applied EMA normalization update (alpha=0.1) to track feature drift
2026-08-15 16:51:55.600465: ML Predictor: Reset Adam optimiser state for fine-tuning
2026-08-15 16:51:55.663205: ML Predictor: Baseline (pre-finetune) val_mae=0.0074 kWh val_bias=-0.0001 kWh
2026-08-15 16:52:30.296539: ML Predictor: Epoch 1/30: lr=0.00100 huber_loss=0.0108 val_mae=0.0080 kWh val_bias=-0.0015 kWh (-1.8%) combined=0.0043 kWh ema_combined=0.0043 kWh
2026-08-15 16:52:56.815262: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 16:52:56.815649: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 16:52:56.815786: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 16:52:56.816040: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 16:52:56.816163: Note: Inverter does not support discharge freeze - disabled
2026-08-15 16:52:56.816284: Note: Inverter does not support charge freeze - disabled
2026-08-15 16:52:56.816394: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 16:53:02.152019: ML Predictor: Epoch 2/30: lr=0.00100 huber_loss=0.0119 val_mae=0.0067 kWh val_bias=+0.0002 kWh (+0.2%) combined=0.0034 kWh ema_combined=0.0040 kWh
2026-08-15 16:53:34.084101: ML Predictor: Epoch 3/30: lr=0.00099 huber_loss=0.0132 val_mae=0.0065 kWh val_bias=+0.0001 kWh (+0.1%) combined=0.0035 kWh ema_combined=0.0039 kWh
2026-08-15 16:54:05.563844: ML Predictor: Epoch 4/30: lr=0.00098 huber_loss=0.0115 val_mae=0.0072 kWh val_bias=+0.0026 kWh (+3.2%) combined=0.0062 kWh ema_combined=0.0046 kWh
2026-08-15 16:54:36.740009: ML Predictor: Epoch 5/30: lr=0.00096 huber_loss=0.0112 val_mae=0.0057 kWh val_bias=-0.0019 kWh (-2.4%) combined=0.0043 kWh ema_combined=0.0045 kWh
2026-08-15 16:54:57.339336: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 16:54:57.339597: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 16:54:57.339634: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 16:54:57.339768: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 16:54:57.339812: Note: Inverter does not support discharge freeze - disabled
2026-08-15 16:54:57.339834: Note: Inverter does not support charge freeze - disabled
2026-08-15 16:54:57.339851: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 16:55:00.517358: --------------- PredBat - update at 2026-08-15 16:55:00+01:00 with clock skew 0 minutes, minutes now 1015
2026-08-15 16:55:00.518319: Saved current settings to /config/predbat_config.json
2026-08-15 16:55:00.518471: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 30.0 minutes
2026-08-15 16:55:00.518714: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.2, latest beta is v8.48.2
2026-08-15 16:55:00.518878: Autoupdate: There is an update pending v8.48.2 PV90 and second pass enabled by default, bug fixes - auto update is off
2026-08-15 16:55:00.574632: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 16:55:00.574952: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 16:55:00.575304: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 16:55:00.576040: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 16:55:00.588776: Predbat mode is set to Control charge & discharge
2026-08-15 16:55:00.996391: Found 21602 load_today datapoints going back 28 days
2026-08-15 16:55:00.996574: Using load_power data to fill gaps in load_today data
2026-08-15 16:55:02.558318: Processing 721 30-minute periods for power integration
2026-08-15 16:55:02.770872: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 16:55:02.771053: Car charging hold False, threshold 6.0kWh
2026-08-15 16:55:02.771114: Current data so far today: load 8.7kWh, import 27.5kWh, export 0.0kWh, PV 0kWh
2026-08-15 16:55:02.790294: Cars: SoC: [10.548]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 16:55:02.791139: Standing charge is set to 49.98p
2026-08-15 16:55:03.045757: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 16:55:03.046227: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 16:55:03.046824: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 375.0 minutes
2026-08-15 16:55:03.047702: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 375.0 minutes
2026-08-15 16:55:03.063789: Loaded 95 datapoints of futurerate analysis
2026-08-15 16:55:03.263587: Predicted future rates: ['08-15 00:00:00 => 28.69 / 20.01', '08-15 01:00:00 => 27.33 / 19.31', '08-15 02:00:00 => 26.31 / 18.8', '08-15 03:00:00 => 25.78 / 18.53', '08-15 04:00:00 => 25.59 / 18.43', '08-15 05:00:00 => 25.75 / 18.51', '08-15 06:00:00 => 25.34 / 18.3', '08-15 07:00:00 => 24.12 / 17.68', '08-15 08:00:00 => 22.82 / 17.01', '08-15 09:00:00 => 21.84 / 16.51', '08-15 10:00:00 => 20.22 / 15.68', '08-15 11:00:00 => 17.8 / 14.45', '08-15 12:00:00 => 16.16 / 13.61', '08-15 13:00:00 => 15.55 / 13.3', '08-15 14:00:00 => 15.14 / 13.09', '08-15 15:00:00 => 15.65 / 13.35', '08-15 16:00:00 => 32.68 / 16.13', '08-15 17:00:00 => 37.81 / 18.75', '08-15 18:00:00 => 42.15 / 20.96', '08-15 19:00:00 => 30.88 / 21.13', '08-15 20:00:00 => 31.43 / 21.41', '08-15 21:00:00 => 31.43 / 21.41', '08-15 22:00:00 => 30.37 / 20.87', '08-15 23:00:00 => 29.16 / 20.25', '08-16 00:00:00 => 28.62 / 19.97', '08-16 01:00:00 => 27.52 / 19.41', '08-16 02:00:00 => 26.55 / 18.92', '08-16 03:00:00 => 26.18 / 18.73', '08-16 04:00:00 => 26.12 / 18.7', '08-16 05:00:00 => 26.02 / 18.65', '08-16 06:00:00 => 25.78 / 18.53', '08-16 07:00:00 => 25.43 / 18.35', '08-16 08:00:00 => 24.63 / 17.94', '08-16 09:00:00 => 24.05 / 17.64', '08-16 10:00:00 => 24.59 / 17.92', '08-16 11:00:00 => 24.5 / 17.87', '08-16 12:00:00 => 23.58 / 17.4', '08-16 13:00:00 => 22.93 / 17.07', '08-16 14:00:00 => 21.8 / 16.49', '08-16 15:00:00 => 21.8 / 16.49']
2026-08-15 16:55:03.337714: Rate min forward looking: now 21.41p at end of forecast 21.41p
2026-08-15 16:55:03.338052: Import rates: min 21.41p, max 45.28p, average 28.37p
2026-08-15 16:55:03.383338: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 16:55:03.383470: Rate thresholds (for charge/export) are import 44.78p (0.0p), export -0.1p (0.0p)
2026-08-15 16:55:03.384974: High export rate found rates in range 99p to -99p
2026-08-15 16:55:03.516305: Low Import rate found rates in range 21.41p to 44.34p
2026-08-15 16:55:03.516601: Car 0 charging is not planned as it is not plugged in
2026-08-15 16:55:03.534609: Battery level now 15.68kWh, -1hr ago 15.91kWh, at midnight 1.66kWh, battery value change in the last hour -4.27p, change today 257.94p, rate_forward 18.39p
2026-08-15 16:55:03.535335: Last hour: net energy 0.6kWh, import 0.6kWh, export 0.0kWh, car 0kWh, load 0.2kWh, net cost 15.73p, import 15.73p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 16:55:03.635615: Today's energy total net 27.5kWh, import 27.5kWh, export 0.0kWh, cost 562.65p, import 512.67p, export 0.0p, carbon 0.0kg
2026-08-15 16:55:03.636073: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 16:55:03.842895: Using weighted-bucket historical load forecast over 14 days
2026-08-15 16:55:03.873271: Today's load divergence 89.73%, in-day adjustment 106.04%, damping 0.95x, yesterday 143.77% today 90.24% blend 29.51%
2026-08-15 16:55:03.873465: Today's predicted so far 10.1kWh with 0.0kWh car/iBoost excluded, 20.85kWh import ignored, and 10.1kWh forecast extra.
2026-08-15 16:55:03.873511: Today's actual load so far 8.67kWh with 0.0kWh car/iBoost excluded, and 20.85kWh import ignored.
2026-08-15 16:55:03.917906: Inverter 0: Type SK Sunsynk
2026-08-15 16:55:03.917986: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 16:55:03.918142: Reserve min: 7%, battery_min: 7%
2026-08-15 16:55:03.918203: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 16:55:03.918434: Inverter 0 SoC: 15.68kW 98%, current charge rate 5000W, current discharge rate 5250W, current battery power 320W, current battery voltage 51.2V, grid power -54W, load power 386W, PV Power 0W
2026-08-15 16:55:03.918568: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 16:55:03.918646: Inverter 0 scheduled charge enable is False
2026-08-15 16:55:03.918677: Inverter 0 charge windows currently []
2026-08-15 16:55:03.918699: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 16:55:03.918787: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 16:55:03.918819: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 16:55:03.918848: Inverter 0 scheduled discharge enable is False
2026-08-15 16:55:03.918948: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 16:55:03.918981: Inverter 0 discharge windows currently []
2026-08-15 16:55:03.919000: Note: Inverter does not support discharge freeze - disabled
2026-08-15 16:55:03.919023: Note: Inverter does not support charge freeze - disabled
2026-08-15 16:55:03.919037: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 16:55:04.015732: Dynamic load last period 0.00kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 16:55:04.015893: Plan was last updated on 2026-08-15 16:45:00+01:00 and is now 10.0 minutes old
2026-08-15 16:55:04.025404: Best charge window [ 16-08 11:30:00 - 16-08 12:30:00 @ 23.46p 13%, 16-08 12:30:00 - 16-08 13:00:00 @ 22.33p 20%, 16-08 13:00:00 - 16-08 13:30:00 @ 22.76p 19%, 16-08 13:30:00 - 16-08 15:00:00 @ 21.75p 100%, 16-08 15:00:00 - 16-08 16:00:00 @ 22.89p 63%, 17-08 02:00:00 - 17-08 03:30:00 @ 25.98p 13%, 17-08 12:30:00 - 17-08 17:00:00 @ 33.63p 100% ]
2026-08-15 16:55:04.025498: Best export window [  ]
2026-08-15 16:55:04.026378: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 16:55:04.030787: Load divergence over 8.0 hours mean 612.1W, min 291.6W, max 1875.0W, std dev 406.22W, divergence 33.18%
2026-08-15 16:55:04.113105: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 16:55:04.113381: LoadML is_calculating True
2026-08-15 16:55:04.113533: Not using thread pool as LoadML is calculating to avoid lockups
2026-08-15 16:55:04.165232: predict base end_record 08-17 12:40:00, final soc 1.12kWh, metric 1112.93p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 12:45:00, load 37.96kWh, PV 0.0kWh
2026-08-15 16:55:04.398813: Battery has 19.83 hours left - now at 15.68kWh
2026-08-15 16:55:04.442446: predict base10 end_record 08-17 12:40:00, final soc 1.12kWh, metric 1149.22p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 12:00:00, load 39.35kWh, PV 0.0kWh
2026-08-15 16:55:04.603306: predict best10 end_record 08-17 12:40:00, final soc 1.77kWh, metric 1100.93p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 04:55:00, load 39.35kWh, PV 0.0kWh
2026-08-15 16:55:04.770646: predict best end_record 08-17 12:40:00, final soc 1.9kWh, metric 1066.62p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 05:35:00, load 37.96kWh, PV 0.0kWh
2026-08-15 16:55:04.770778: Saving plan best values to HA entities
2026-08-15 16:55:05.038933: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 16:55:05.048283: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0.0
2026-08-15 16:55:05.060467: Best charging limit SoC's [2.0, 3.25, 3.0, 16.0, 10.0, 2.0, 16.0]kWh, export []kWh gives import battery 13.63kWh, house 4.04kWh, export 0.0kWh, metric 1066.62p, metric10 1100.93p
2026-08-15 16:55:05.293429: Marginal costs baseline metric (no standing charge): 966.6547
2026-08-15 16:55:05.604178: Marginal energy costs matrix computed: min=25.28 max=31.74
2026-08-15 16:55:05.848253: Rate array import [{'start': 1015, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1410, 'rate': 'expensive', 'range': '(29.8p - 32.9p)'}, {'start': 1410, 'end': 2400, 'rate': 'cheap', 'range': '(21.4p - 28.2p)'}, {'start': 2400, 'end': 2430, 'rate': 'expensive', 'range': '(36.8p)'}, {'start': 2430, 'end': 2580, 'rate': 'very expensive', 'range': '(37.5p - 45.3p)'}, {'start': 2580, 'end': 2850, 'rate': 'expensive', 'range': '(30.0p - 35.9p)'}, {'start': 2850, 'end': 3640, 'rate': 'cheap', 'range': '(22.3p - 28.2p)'}] export [{'start': 1015, 'end': 3640, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 16:55:05.854029: - Your estimated bill for today is £5.63 and tomorrow is £3.09
2026-08-15 16:55:05.858910: - Import rates are expensive (33.1p) for the next 5 minutes and then very expensive (38.5p - 43.8p) for the next 2 hours.
2026-08-15 16:55:05.859009: - The battery is currently at 98% and is in eco mode for the next 18 hours.
2026-08-15 16:55:05.859035: - For the next 48 hours there will be no solar generation.
2026-08-15 16:55:05.859054: - You will run out of battery in 36 hours.
2026-08-15 16:55:05.859074: - Your next charge slot will be in 18 hours where import rates will be cheap (23.5p).
2026-08-15 16:55:05.859092: 
2026-08-15 16:55:05.968028: Plan calculation took 1.94 seconds
2026-08-15 16:55:05.973146: No high rate period found
2026-08-15 16:55:06.104371: Import threshold used for optimisation was 25.86p
2026-08-15 16:55:06.215612: Low import rate windows [0: 08-15 16:30:00 - 08-15 17:00:00 @ 33.13, 1: 08-15 17:00:00 - 08-15 17:30:00 @ 38.46, 2: 08-15 17:30:00 - 08-15 18:00:00 @ 40.44, 3: 08-15 18:00:00 - 08-15 18:30:00 @ 41.55, 4: 08-15 18:30:00 - 08-15 19:00:00 @ 43.82, 5: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 6: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 7: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 8: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 9: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 10: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 11: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 12: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 13: 08-15 23:00:00 - 08-15 23:30:00 @ 30.02, 14: 08-15 23:30:00 - 08-16 00:00:00 @ 27.8, 15: 08-16 00:00:00 - 08-16 00:30:00 @ 28.18, 16: 08-16 00:30:00 - 08-16 01:00:00 @ 27.38, 17: 08-16 01:00:00 - 08-16 01:30:00 @ 26.7, 18: 08-16 01:30:00 - 08-16 02:00:00 @ 26.31, 19: 08-16 02:00:00 - 08-16 02:30:00 @ 25.79, 20: 08-16 02:30:00 - 08-16 03:00:00 @ 25.86, 21: 08-16 03:00:00 - 08-16 03:30:00 @ 26.13, 22: 08-16 03:30:00 - 08-16 04:00:00 @ 25.86, 23: 08-16 04:00:00 - 08-16 04:30:00 @ 26.27, 24: 08-16 04:30:00 - 08-16 05:00:00 @ 26.14, 25: 08-16 05:00:00 - 08-16 05:30:00 @ 27.03, 26: 08-16 05:30:00 - 08-16 06:00:00 @ 26.28, 27: 08-16 06:00:00 - 08-16 06:30:00 @ 25.68, 28: 08-16 06:30:00 - 08-16 07:00:00 @ 26.1, 29: 08-16 07:00:00 - 08-16 07:30:00 @ 24.28, 30: 08-16 07:30:00 - 08-16 08:00:00 @ 24.94, 31: 08-16 08:00:00 - 08-16 08:30:00 @ 24.06, 32: 08-16 08:30:00 - 08-16 09:00:00 @ 24.39, 33: 08-16 09:00:00 - 08-16 09:30:00 @ 24.66, 34: 08-16 09:30:00 - 08-16 10:00:00 @ 24.06, 35: 08-16 10:00:00 - 08-16 10:30:00 @ 25.5, 36: 08-16 10:30:00 - 08-16 11:00:00 @ 24.94, 37: 08-16 11:00:00 - 08-16 11:30:00 @ 24.25, 38: 08-16 11:30:00 - 08-16 12:00:00 @ 23.49, 39: 08-16 12:00:00 - 08-16 12:30:00 @ 23.43, 40: 08-16 12:30:00 - 08-16 13:00:00 @ 22.33, 41: 08-16 13:00:00 - 08-16 13:30:00 @ 22.76, 42: 08-16 13:30:00 - 08-16 14:00:00 @ 22.3, 43: 08-16 14:00:00 - 08-16 14:30:00 @ 21.41, 44: 08-16 14:30:00 - 08-16 15:00:00 @ 21.65, 45: 08-16 15:00:00 - 08-16 15:30:00 @ 22.95, 46: 08-16 15:30:00 - 08-16 16:00:00 @ 22.83, 47: 08-16 16:00:00 - 08-16 16:30:00 @ 36.84, 48: 08-16 16:30:00 - 08-16 17:00:00 @ 37.54, 49: 08-16 17:00:00 - 08-16 17:30:00 @ 41.79, 50: 08-16 17:30:00 - 08-16 18:00:00 @ 43.7, 51: 08-16 18:00:00 - 08-16 18:30:00 @ 44.34, 52: 08-16 19:00:00 - 08-16 19:30:00 @ 34.79, 53: 08-16 19:30:00 - 08-16 20:00:00 @ 34.76, 54: 08-16 20:00:00 - 08-16 20:30:00 @ 35.62, 55: 08-16 20:30:00 - 08-16 21:00:00 @ 35.3, 56: 08-16 21:00:00 - 08-16 21:30:00 @ 35.89, 57: 08-16 21:30:00 - 08-16 22:00:00 @ 35.71, 58: 08-16 22:00:00 - 08-16 22:30:00 @ 33.75, 59: 08-16 22:30:00 - 08-16 23:00:00 @ 32.0, 60: 08-16 23:00:00 - 08-16 23:30:00 @ 30.02, 61: 08-16 23:30:00 - 08-17 00:00:00 @ 27.8, 62: 08-17 00:00:00 - 08-17 00:30:00 @ 28.18, 63: 08-17 00:30:00 - 08-17 01:00:00 @ 27.38, 64: 08-17 01:00:00 - 08-17 01:30:00 @ 26.7, 65: 08-17 01:30:00 - 08-17 02:00:00 @ 26.31, 66: 08-17 02:00:00 - 08-17 02:30:00 @ 25.79, 67: 08-17 02:30:00 - 08-17 03:00:00 @ 25.86, 68: 08-17 03:00:00 - 08-17 03:30:00 @ 26.13, 69: 08-17 03:30:00 - 08-17 04:00:00 @ 25.86, 70: 08-17 04:00:00 - 08-17 04:30:00 @ 26.27, 71: 08-17 04:30:00 - 08-17 05:00:00 @ 26.14, 72: 08-17 05:00:00 - 08-17 05:30:00 @ 27.03, 73: 08-17 05:30:00 - 08-17 06:00:00 @ 26.28, 74: 08-17 06:00:00 - 08-17 06:30:00 @ 25.68, 75: 08-17 06:30:00 - 08-17 07:00:00 @ 26.1, 76: 08-17 07:00:00 - 08-17 07:30:00 @ 24.28, 77: 08-17 07:30:00 - 08-17 08:00:00 @ 24.94, 78: 08-17 08:00:00 - 08-17 08:30:00 @ 24.06, 79: 08-17 08:30:00 - 08-17 09:00:00 @ 24.39, 80: 08-17 09:00:00 - 08-17 09:30:00 @ 24.66, 81: 08-17 09:30:00 - 08-17 10:00:00 @ 24.06, 82: 08-17 10:00:00 - 08-17 10:30:00 @ 25.5, 83: 08-17 10:30:00 - 08-17 11:00:00 @ 24.94, 84: 08-17 11:00:00 - 08-17 11:30:00 @ 24.25, 85: 08-17 11:30:00 - 08-17 12:00:00 @ 23.49, 86: 08-17 12:00:00 - 08-17 12:30:00 @ 23.43, 87: 08-17 12:30:00 - 08-17 13:00:00 @ 22.33, 88: 08-17 13:00:00 - 08-17 13:30:00 @ 22.76, 89: 08-17 13:30:00 - 08-17 14:00:00 @ 22.3, 90: 08-17 14:00:00 - 08-17 14:30:00 @ 21.41, 91: 08-17 14:30:00 - 08-17 15:00:00 @ 21.65, 92: 08-17 15:00:00 - 08-17 15:30:00 @ 22.95, 93: 08-17 15:30:00 - 08-17 16:00:00 @ 22.83, 94: 08-17 16:00:00 - 08-17 16:30:00 @ 36.84, 95: 08-17 16:30:00 - 08-17 17:00:00 @ 37.54]
2026-08-15 16:55:06.230453: Inverter 0 Charge window will be: 2026-08-16 11:30:00+01:00 - 2026-08-16 16:00:00+01:00 - current SoC 98%, target 13%
2026-08-15 16:55:06.230795: Inverter 0 disabled charge window while waiting for schedule (now 08-15 16:55:00 target set_window_minutes 30 charge start time 08-16 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 16:55:06.231000: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 16:55:06.231364: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 16:55:06.231572: No export window planned
2026-08-15 16:55:06.231831: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 16:55:06.231984: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 16:55:06.232314: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 16:55:06.232654: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 16:55:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 16:55:06.232828: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 16:55:06.233033: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 16:55:06.233275: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 16:55:06.233448: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 16:55:06.233608: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 16:55:06.233763: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 16:55:06.233920: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 16:55:06.234075: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 16:55:06.234229: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 16:55:06.234460: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 16:55:06.234623: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 16:55:06.234780: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 16:55:06.234936: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 16:55:06.235089: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 16:55:06.235257: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 16:55:06.235415: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 16:55:06.235557: Inverter 0 count register writes 0
2026-08-15 16:55:06.275834: Will recompute the plan as it is now 10.0 minutes old and will exceed the max age of 10 minutes before the next run
2026-08-15 16:55:06.276269: Recompute is saving previous plan...
2026-08-15 16:55:06.281767: Best charge window [ 15-08 16:30:00 - 15-08 17:00:00 @ 33.13p 0%, 15-08 17:00:00 - 15-08 17:30:00 @ 38.46p 0%, 15-08 17:30:00 - 15-08 18:00:00 @ 40.44p 0%, 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 0%, 15-08 18:30:00 - 15-08 19:00:00 @ 43.82p 0%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 0%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 0%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 0%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 0%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 30.02p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 27.8p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.18p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.38p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 26.7p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.31p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.79p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 25.86p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.13p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 25.86p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.27p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.14p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 27.03p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.28p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.68p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 26.1p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 24.28p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 24.94p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.06p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.39p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.66p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.06p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 25.5p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 24.94p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 24.25p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 23.49p 0%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.43p 0%, 16-08 12:30:00 - 16-08 13:00:00 @ 22.33p 0%, 16-08 13:00:00 - 16-08 13:30:00 @ 22.76p 0%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 0%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 0%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.65p 0%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.95p 0%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.83p 0%, 16-08 16:00:00 - 16-08 16:30:00 @ 36.84p 0%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.54p 0%, 16-08 17:00:00 - 16-08 17:30:00 @ 41.79p 0%, 16-08 17:30:00 - 16-08 18:00:00 @ 43.7p 0%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.34p 0%, 16-08 19:00:00 - 16-08 19:30:00 @ 34.79p 0%, 16-08 19:30:00 - 16-08 20:00:00 @ 34.76p 0%, 16-08 20:00:00 - 16-08 20:30:00 @ 35.62p 0%, 16-08 20:30:00 - 16-08 21:00:00 @ 35.3p 0%, 16-08 21:00:00 - 16-08 21:30:00 @ 35.89p 0%, 16-08 21:30:00 - 16-08 22:00:00 @ 35.71p 0%, 16-08 22:00:00 - 16-08 22:30:00 @ 33.75p 0%, 16-08 22:30:00 - 16-08 23:00:00 @ 32.0p 0%, 16-08 23:00:00 - 16-08 23:30:00 @ 30.02p 0%, 16-08 23:30:00 - 17-08 00:00:00 @ 27.8p 0%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.18p 0%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.38p 0%, 17-08 01:00:00 - 17-08 01:30:00 @ 26.7p 0%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.31p 0%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.79p 0%, 17-08 02:30:00 - 17-08 03:00:00 @ 25.86p 0%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.13p 0%, 17-08 03:30:00 - 17-08 04:00:00 @ 25.86p 0%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.27p 0%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.14p 0%, 17-08 05:00:00 - 17-08 05:30:00 @ 27.03p 0%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.28p 0%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.68p 0%, 17-08 06:30:00 - 17-08 07:00:00 @ 26.1p 0%, 17-08 07:00:00 - 17-08 07:30:00 @ 24.28p 0%, 17-08 07:30:00 - 17-08 08:00:00 @ 24.94p 0%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.06p 0%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.39p 0%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.66p 0%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.06p 0%, 17-08 10:00:00 - 17-08 10:30:00 @ 25.5p 0%, 17-08 10:30:00 - 17-08 11:00:00 @ 24.94p 0%, 17-08 11:00:00 - 17-08 11:30:00 @ 24.25p 0%, 17-08 11:30:00 - 17-08 12:00:00 @ 23.49p 0%, 17-08 12:00:00 - 17-08 12:30:00 @ 23.43p 0%, 17-08 12:30:00 - 17-08 13:00:00 @ 22.33p 0%, 17-08 13:00:00 - 17-08 13:30:00 @ 22.76p 0%, 17-08 13:30:00 - 17-08 14:00:00 @ 22.3p 0%, 17-08 14:00:00 - 17-08 14:30:00 @ 21.41p 0%, 17-08 14:30:00 - 17-08 15:00:00 @ 21.65p 0%, 17-08 15:00:00 - 17-08 15:30:00 @ 22.95p 0%, 17-08 15:30:00 - 17-08 16:00:00 @ 22.83p 0%, 17-08 16:00:00 - 17-08 16:30:00 @ 36.84p 0%, 17-08 16:30:00 - 17-08 17:00:00 @ 37.54p 0% ]
2026-08-15 16:55:06.282692: Best export window [  ]
2026-08-15 16:55:06.284131: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 16:55:06.288935: Load divergence over 8.0 hours mean 612.1W, min 291.6W, max 1875.0W, std dev 406.22W, divergence 33.18%
2026-08-15 16:55:06.328880: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 16:55:06.329216: LoadML is_calculating True
2026-08-15 16:55:06.329457: Not using thread pool as LoadML is calculating to avoid lockups
2026-08-15 16:55:06.362665: Calculate Best options: mode(Control charge & discharge), calculate_export_oncharge(False), calculate_export_on_pv(True), set_export_freeze_only(False), set_discharge_during_charge(True), combine_charge_slots(False), combine_export_slots(False), combine_rate_threshold(0.0), best_soc_min(0.0 kWh), best_soc_max(0.0 kWh), best_soc_keep(0.0 kWh), inverter_loss(4%), battery_loss(3%), battery_loss_discharge (3%), inverter_hybrid(True), metric_min_improvement(0.0p), metric_min_improvement_export(0.1p), metric_min_improvement_export_freeze(0.1p), metric_battery_cycle(0.0p/kWh), metric_battery_value_scaling(1.0 x) 
2026-08-15 16:55:06.378415: Optimise levels pass started at 2026-08-15 16:55:06
2026-08-15 16:55:06.378647: Optimise all windows, total charge 95 export 1
2026-08-15 16:55:12.144876: >> Region optimisation pass width 960 gives best_metric 1002.79p, best_cost 1017.62p, best_cycle 36.93kWh, best_import 19.95kWh
2026-08-15 16:55:13.139405: >> Region optimisation pass width 480 gives best_metric 1002.79p, best_cost 1017.62p, best_cycle 36.93kWh, best_import 19.95kWh
2026-08-15 16:55:16.187872: >> Region optimisation pass width 240 gives best_metric 1002.47p, best_cost 1017.25p, best_cycle 36.56kWh, best_import 19.92kWh
2026-08-15 16:55:20.247341: >> Region optimisation pass width 120 gives best_metric 1002.47p, best_cost 1017.25p, best_cycle 36.56kWh, best_import 19.92kWh
2026-08-15 16:55:20.248665: Calculated end_record as 08-17 12:30:00 based on best_price 22.76p, next_charge_start 08-16 12:30:00, max_windows 87
2026-08-15 16:55:20.248764: Optimise levels pass ended at 2026-08-15 16:55:20, duration 13.9 seconds tried 324 combinations
2026-08-15 16:55:20.248921: Set best_price_charge_level 24.4p, best_price_export_level 0p, best_price_charge 22.76p, best_cost_export 0p, best_metric 1002.47p, best_keep 0kWh, best_cycle 36.56kWh, best_carbon 0kg, best_import 19.92kWh
2026-08-15 16:55:20.284382: Starting detailed optimisation end_record 08-17 12:30:00, best_price_charge 22.76p, best_price_export 0p. lowest_price_charge 21.41p with charge limits [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3.25, 12.75, 12.75, 12.75, 12.75, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0]kWh and export limits []kWh
2026-08-15 16:55:23.838417: ML Predictor: Epoch 6/30: lr=0.00094 huber_loss=0.0110 val_mae=0.0057 kWh val_bias=-0.0007 kWh (-0.8%) combined=0.0032 kWh ema_combined=0.0041 kWh
2026-08-15 16:55:59.543998: Tweak plan optimisation started metric 930.2p, cost 945.5p
2026-08-15 16:56:01.080373: Tweak optimisation finished metric 930.2p, cost 945.5p, metric_keep 0kWh, cycle 30.09kWh, carbon 0kg, import 16.71kWh, changed 8 window(s)
2026-08-15 16:56:01.102329: Swap charge optimisation started metric 930.2p, cost 945.5p, min_improvement_swap 0.1p
2026-08-15 16:56:17.124525: Swap charge optimisation finished metric 930.2p, cost 945.5p
2026-08-15 16:56:17.307254: Pruned 4 dead plan slot(s) in 13 trial(s), nominal metric 924.9p -> 924.9p, plan now metric 930.39p, cost 945.5p, cycle 30.09kWh, import 16.71kWh
2026-08-15 16:56:17.322470: Raw charge windows [ 15-08 16:30:00 - 15-08 17:00:00 @ 33.13p 0%, 15-08 17:00:00 - 15-08 17:30:00 @ 38.46p 0%, 15-08 17:30:00 - 15-08 18:00:00 @ 40.44p 0%, 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 0%, 15-08 18:30:00 - 15-08 19:00:00 @ 43.82p 0%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 0%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 0%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 0%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 0%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 30.02p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 27.8p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.18p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.38p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 26.7p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.31p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.79p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 25.86p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.13p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 25.86p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.27p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.14p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 27.03p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.28p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.68p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 26.1p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 24.28p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 24.94p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.06p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.39p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.66p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.06p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 25.5p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 24.94p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 24.25p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 23.49p 13%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.43p 13%, 16-08 12:30:00 - 16-08 13:00:00 @ 22.33p 20%, 16-08 13:00:00 - 16-08 13:30:00 @ 22.76p 19%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 100%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 80%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.65p 100%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.95p 63%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.83p 63%, 16-08 16:00:00 - 16-08 16:30:00 @ 36.84p 0%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.54p 0%, 16-08 17:00:00 - 16-08 17:30:00 @ 41.79p 0%, 16-08 17:30:00 - 16-08 18:00:00 @ 43.7p 0%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.34p 0%, 16-08 19:00:00 - 16-08 19:30:00 @ 34.79p 0%, 16-08 19:30:00 - 16-08 20:00:00 @ 34.76p 0%, 16-08 20:00:00 - 16-08 20:30:00 @ 35.62p 0%, 16-08 20:30:00 - 16-08 21:00:00 @ 35.3p 0%, 16-08 21:00:00 - 16-08 21:30:00 @ 35.89p 0%, 16-08 21:30:00 - 16-08 22:00:00 @ 35.71p 0%, 16-08 22:00:00 - 16-08 22:30:00 @ 33.75p 0%, 16-08 22:30:00 - 16-08 23:00:00 @ 32.0p 0%, 16-08 23:00:00 - 16-08 23:30:00 @ 30.02p 0%, 16-08 23:30:00 - 17-08 00:00:00 @ 27.8p 0%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.18p 0%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.38p 0%, 17-08 01:00:00 - 17-08 01:30:00 @ 26.7p 0%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.31p 0%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.79p 0%, 17-08 02:30:00 - 17-08 03:00:00 @ 25.86p 0%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.13p 0%, 17-08 03:30:00 - 17-08 04:00:00 @ 25.86p 0%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.27p 0%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.14p 0%, 17-08 05:00:00 - 17-08 05:30:00 @ 27.03p 0%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.28p 0%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.68p 0%, 17-08 06:30:00 - 17-08 07:00:00 @ 26.1p 0%, 17-08 07:00:00 - 17-08 07:30:00 @ 24.28p 0%, 17-08 07:30:00 - 17-08 08:00:00 @ 24.94p 0%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.06p 0%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.39p 0%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.66p 0%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.06p 0%, 17-08 10:00:00 - 17-08 10:30:00 @ 25.5p 0%, 17-08 10:30:00 - 17-08 11:00:00 @ 24.94p 0%, 17-08 11:00:00 - 17-08 11:30:00 @ 24.25p 0%, 17-08 11:30:00 - 17-08 12:00:00 @ 23.49p 0%, 17-08 12:00:00 - 17-08 12:30:00 @ 23.43p 0%, 17-08 12:30:00 - 17-08 13:00:00 @ 22.33p 100%, 17-08 13:00:00 - 17-08 13:30:00 @ 22.76p 100%, 17-08 13:30:00 - 17-08 14:00:00 @ 22.3p 100%, 17-08 14:00:00 - 17-08 14:30:00 @ 21.41p 100%, 17-08 14:30:00 - 17-08 15:00:00 @ 21.65p 100%, 17-08 15:00:00 - 17-08 15:30:00 @ 22.95p 100%, 17-08 15:30:00 - 17-08 16:00:00 @ 22.83p 100%, 17-08 16:00:00 - 17-08 16:30:00 @ 36.84p 100%, 17-08 16:30:00 - 17-08 17:00:00 @ 37.54p 100% ] reserve 1.12
2026-08-15 16:56:17.324910: Unclipped charge windows [ 16-08 11:30:00 - 16-08 12:30:00 @ 23.46p 13%, 16-08 12:30:00 - 16-08 13:00:00 @ 22.33p 20%, 16-08 13:00:00 - 16-08 13:30:00 @ 22.76p 19%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 100%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 80%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.65p 100%, 16-08 15:00:00 - 16-08 16:00:00 @ 22.89p 63%, 17-08 12:30:00 - 17-08 17:00:00 @ 33.63p 100% ] reserve 1.12
2026-08-15 16:56:17.325623: Unfiltered charge windows [ 16-08 11:30:00 - 16-08 12:30:00 @ 23.46p 13%, 16-08 12:30:00 - 16-08 13:00:00 @ 22.33p 20%, 16-08 13:00:00 - 16-08 13:30:00 @ 22.76p 19%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 100%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 100%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.65p 100%, 16-08 15:00:00 - 16-08 16:00:00 @ 22.89p 63%, 17-08 12:30:00 - 17-08 17:00:00 @ 33.63p 100% ] reserve 1.12
2026-08-15 16:56:17.326020: Filtered charge windows [ 16-08 11:30:00 - 16-08 12:30:00 @ 23.46p 13%, 16-08 12:30:00 - 16-08 13:00:00 @ 22.33p 20%, 16-08 13:00:00 - 16-08 13:30:00 @ 22.76p 19%, 16-08 13:30:00 - 16-08 15:00:00 @ 21.75p 100%, 16-08 15:00:00 - 16-08 16:00:00 @ 22.89p 63%, 17-08 12:30:00 - 17-08 17:00:00 @ 33.63p 100% ] reserve 1.12
2026-08-15 16:56:17.386104: Previous plan best metric is 929.83 (cost 945.1) and new plan best metric is 930.2 (cost 945.5)
2026-08-15 16:56:17.386589: New plan metric is not significantly better (metric_min_improvement_plan 2.0) than previous plan, using previous plan
2026-08-15 16:56:17.386920: Plan valid is now true after recompute was False
2026-08-15 16:56:17.427445: predict base end_record 08-17 12:30:00, final soc 1.12kWh, metric 1109.99p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 12:45:00, load 37.83kWh, PV 0.0kWh
2026-08-15 16:56:17.673231: Battery has 19.83 hours left - now at 15.68kWh
2026-08-15 16:56:17.807222: predict base10 end_record 08-17 12:30:00, final soc 1.12kWh, metric 1146.13p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 12:00:00, load 39.22kWh, PV 0.0kWh
2026-08-15 16:56:17.985324: predict best10 end_record 08-17 12:30:00, final soc 1.12kWh, metric 1082.34p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 04:55:00, load 39.22kWh, PV 0.0kWh
2026-08-15 16:56:18.144184: predict best end_record 08-17 12:30:00, final soc 1.12kWh, metric 1045.07p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 05:35:00, load 37.83kWh, PV 0.0kWh
2026-08-15 16:56:18.144317: Saving plan best values to HA entities
2026-08-15 16:56:18.729771: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 16:56:18.751414: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0.0
2026-08-15 16:56:18.757847: Best charging limit SoC's [2.0, 3.25, 3.0, 16.0, 10.0, 2.0, 16.0]kWh, export []kWh gives import battery 12.67kWh, house 4.04kWh, export 0.0kWh, metric 1045.07p, metric10 1082.34p
2026-08-15 16:56:18.861222: Marginal costs baseline metric (no standing charge): 945.1021
2026-08-15 16:56:19.407770: Marginal energy costs matrix computed: min=25.28 max=31.74
2026-08-15 16:56:19.594000: Rate array import [{'start': 1015, 'end': 1020, 'rate': 'expensive', 'range': '(33.1p)'}, {'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1410, 'rate': 'expensive', 'range': '(29.8p - 32.9p)'}, {'start': 1410, 'end': 2400, 'rate': 'cheap', 'range': '(21.4p - 28.2p)'}, {'start': 2400, 'end': 2430, 'rate': 'expensive', 'range': '(36.8p)'}, {'start': 2430, 'end': 2580, 'rate': 'very expensive', 'range': '(37.5p - 45.3p)'}, {'start': 2580, 'end': 2850, 'rate': 'expensive', 'range': '(30.0p - 35.9p)'}, {'start': 2850, 'end': 3630, 'rate': 'cheap', 'range': '(23.4p - 28.2p)'}] export [{'start': 1015, 'end': 3630, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 16:56:19.595223: - Your estimated bill for today is £5.63 and tomorrow is £3.09
2026-08-15 16:56:19.595285: - Import rates are expensive (33.1p) for the next 5 minutes and then very expensive (38.5p - 43.8p) for the next 2 hours.
2026-08-15 16:56:19.595342: - The battery is currently at 98% and is in eco mode for the next 18 hours.
2026-08-15 16:56:19.595364: - For the next 48 hours there will be no solar generation.
2026-08-15 16:56:19.595379: - You will run out of battery in 36 hours.
2026-08-15 16:56:19.595490: - Your next charge slot will be in 18 hours where import rates will be cheap (23.5p).
2026-08-15 16:56:19.595523: 
2026-08-15 16:56:19.688754: Plan calculation took 73.41 seconds
2026-08-15 16:56:19.692835: Inverter 0: Type SK Sunsynk
2026-08-15 16:56:19.693030: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 16:56:19.693460: Reserve min: 7%, battery_min: 7%
2026-08-15 16:56:19.693661: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 16:56:19.694101: Inverter 0 SoC: 15.68kW 98%, current charge rate 5000W, current discharge rate 5250W, current battery power 297W, current battery voltage 51.2V, grid power -54W, load power 365W, PV Power 0W
2026-08-15 16:56:19.694415: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 16:56:19.694662: Inverter 0 scheduled charge enable is False
2026-08-15 16:56:19.694774: Inverter 0 charge windows currently []
2026-08-15 16:56:19.694903: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 16:56:19.695152: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 16:56:19.695291: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 16:56:19.695440: Inverter 0 scheduled discharge enable is False
2026-08-15 16:56:19.695752: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 16:56:19.695866: Inverter 0 discharge windows currently []
2026-08-15 16:56:19.695998: Note: Inverter does not support discharge freeze - disabled
2026-08-15 16:56:19.696118: Note: Inverter does not support charge freeze - disabled
2026-08-15 16:56:19.696239: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 16:56:19.833501: Inverter 0 Charge window will be: 2026-08-16 11:30:00+01:00 - 2026-08-16 16:00:00+01:00 - current SoC 98%, target 13%
2026-08-15 16:56:19.833848: Inverter 0 disabled charge window while waiting for schedule (now 08-15 16:55:00 target set_window_minutes 30 charge start time 08-16 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 16:56:19.834032: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 16:56:19.834676: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 16:56:19.834875: No export window planned
2026-08-15 16:56:19.835133: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 16:56:19.835243: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 16:56:19.835562: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 16:56:19.835847: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 16:55:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 16:56:19.836029: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 16:56:19.836167: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 16:56:19.836425: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 16:56:19.836547: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 16:56:19.836702: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 16:56:19.836843: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 16:56:19.837061: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 16:56:19.837183: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 16:56:19.837352: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 16:56:19.837571: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 16:56:19.837709: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 16:56:19.837871: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 16:56:19.838026: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 16:56:19.838163: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 16:56:19.838354: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 16:56:19.838466: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 16:56:19.838606: Inverter 0 count register writes 0
2026-08-15 16:56:19.884568: Total inverter register writes now 826
2026-08-15 16:56:19.964107: Info: Completed run status Demand
2026-08-15 16:56:19.980211: Info: record_status Demand
2026-08-15 16:56:19.996485: Saved current settings to /config/predbat_config.json
2026-08-15 16:56:19.996761: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 16:56:27.900106: ML Predictor: Epoch 7/30: lr=0.00091 huber_loss=0.0093 val_mae=0.0055 kWh val_bias=+0.0007 kWh (+0.9%) combined=0.0038 kWh ema_combined=0.0040 kWh
2026-08-15 16:56:57.189753: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 16:56:57.190334: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 16:56:57.190501: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 16:56:57.190879: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 16:56:57.191051: Note: Inverter does not support discharge freeze - disabled
2026-08-15 16:56:57.191203: Note: Inverter does not support charge freeze - disabled
2026-08-15 16:56:57.191367: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 16:57:01.740622: ML Predictor: Epoch 8/30: lr=0.00088 huber_loss=0.0108 val_mae=0.0062 kWh val_bias=-0.0018 kWh (-2.2%) combined=0.0042 kWh ema_combined=0.0041 kWh
2026-08-15 16:57:35.582177: ML Predictor: Epoch 9/30: lr=0.00084 huber_loss=0.0122 val_mae=0.0052 kWh val_bias=+0.0001 kWh (+0.2%) combined=0.0031 kWh ema_combined=0.0038 kWh
2026-08-15 16:58:07.008483: ML Predictor: Epoch 10/30: lr=0.00080 huber_loss=0.0096 val_mae=0.0059 kWh val_bias=-0.0016 kWh (-1.9%) combined=0.0033 kWh ema_combined=0.0036 kWh
2026-08-15 16:58:36.681300: TemperatureAPI: Using coordinates latitude 53.4, longitude -2.2
2026-08-15 16:58:36.862307: TemperatureAPI: Successfully fetched temperature data from Open-Meteo API
2026-08-15 16:58:40.783893: ML Predictor: Epoch 11/30: lr=0.00076 huber_loss=0.0086 val_mae=0.0051 kWh val_bias=-0.0017 kWh (-2.1%) combined=0.0032 kWh ema_combined=0.0035 kWh
2026-08-15 16:59:11.707510: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 16:59:11.707839: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 16:59:11.707904: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 16:59:11.708106: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 16:59:11.708163: Note: Inverter does not support discharge freeze - disabled
2026-08-15 16:59:11.708199: Note: Inverter does not support charge freeze - disabled
2026-08-15 16:59:11.708233: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 16:59:14.183381: ML Predictor: Epoch 12/30: lr=0.00072 huber_loss=0.0082 val_mae=0.0041 kWh val_bias=+0.0003 kWh (+0.3%) combined=0.0025 kWh ema_combined=0.0032 kWh
2026-08-15 16:59:47.859695: ML Predictor: Epoch 13/30: lr=0.00067 huber_loss=0.0079 val_mae=0.0044 kWh val_bias=-0.0012 kWh (-1.5%) combined=0.0027 kWh ema_combined=0.0030 kWh
2026-08-15 17:00:00.108175: --------------- PredBat - update at 2026-08-15 17:00:00+01:00 with clock skew 0 minutes, minutes now 1020
2026-08-15 17:00:00.109449: Saved current settings to /config/predbat_config.json
2026-08-15 17:00:00.109786: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 35.0 minutes
2026-08-15 17:00:00.109999: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.2, latest beta is v8.48.2
2026-08-15 17:00:00.110207: Autoupdate: There is an update pending v8.48.2 PV90 and second pass enabled by default, bug fixes - auto update is off
2026-08-15 17:00:00.144102: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 17:00:00.144475: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 17:00:00.144830: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 17:00:00.145600: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 17:00:00.145913: Predbat mode is set to Control charge & discharge
2026-08-15 17:00:00.530145: Found 21602 load_today datapoints going back 28 days
2026-08-15 17:00:00.530337: Using load_power data to fill gaps in load_today data
2026-08-15 17:00:02.169919: Processing 721 30-minute periods for power integration
2026-08-15 17:00:02.545202: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 17:00:02.545586: Car charging hold False, threshold 6.0kWh
2026-08-15 17:00:02.545755: Current data so far today: load 8.83kWh, import 27.5kWh, export 0.0kWh, PV 0kWh
2026-08-15 17:00:02.570439: Cars: SoC: [10.548]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 17:00:02.571242: Standing charge is set to 49.98p
2026-08-15 17:00:02.738875: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 17:00:02.739228: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 17:00:02.740264: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 380.0 minutes
2026-08-15 17:00:02.741235: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 380.0 minutes
2026-08-15 17:00:02.754660: Loaded 95 datapoints of futurerate analysis
2026-08-15 17:00:03.232143: Predicted future rates: ['08-15 00:00:00 => 28.69 / 20.01', '08-15 01:00:00 => 27.33 / 19.31', '08-15 02:00:00 => 26.31 / 18.8', '08-15 03:00:00 => 25.78 / 18.53', '08-15 04:00:00 => 25.59 / 18.43', '08-15 05:00:00 => 25.75 / 18.51', '08-15 06:00:00 => 25.34 / 18.3', '08-15 07:00:00 => 24.12 / 17.68', '08-15 08:00:00 => 22.82 / 17.01', '08-15 09:00:00 => 21.84 / 16.51', '08-15 10:00:00 => 20.22 / 15.68', '08-15 11:00:00 => 17.8 / 14.45', '08-15 12:00:00 => 16.16 / 13.61', '08-15 13:00:00 => 15.55 / 13.3', '08-15 14:00:00 => 15.14 / 13.09', '08-15 15:00:00 => 15.65 / 13.35', '08-15 16:00:00 => 32.68 / 16.13', '08-15 17:00:00 => 37.81 / 18.75', '08-15 18:00:00 => 42.15 / 20.96', '08-15 19:00:00 => 30.88 / 21.13', '08-15 20:00:00 => 31.43 / 21.41', '08-15 21:00:00 => 31.43 / 21.41', '08-15 22:00:00 => 30.37 / 20.87', '08-15 23:00:00 => 29.16 / 20.25', '08-16 00:00:00 => 28.62 / 19.97', '08-16 01:00:00 => 27.52 / 19.41', '08-16 02:00:00 => 26.55 / 18.92', '08-16 03:00:00 => 26.18 / 18.73', '08-16 04:00:00 => 26.12 / 18.7', '08-16 05:00:00 => 26.02 / 18.65', '08-16 06:00:00 => 25.78 / 18.53', '08-16 07:00:00 => 25.43 / 18.35', '08-16 08:00:00 => 24.63 / 17.94', '08-16 09:00:00 => 24.05 / 17.64', '08-16 10:00:00 => 24.59 / 17.92', '08-16 11:00:00 => 24.5 / 17.87', '08-16 12:00:00 => 23.58 / 17.4', '08-16 13:00:00 => 22.93 / 17.07', '08-16 14:00:00 => 21.8 / 16.49', '08-16 15:00:00 => 21.8 / 16.49', '08-16 16:00:00 => 36.93 / 18.3']
2026-08-15 17:00:03.289214: Rate min forward looking: now 21.41p at end of forecast 21.41p
2026-08-15 17:00:03.289824: Import rates: min 21.41p, max 45.28p, average 28.38p
2026-08-15 17:00:03.334481: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 17:00:03.334769: Rate thresholds (for charge/export) are import 44.78p (0.0p), export -0.1p (0.0p)
2026-08-15 17:00:03.336582: High export rate found rates in range 99p to -99p
2026-08-15 17:00:03.523956: Low Import rate found rates in range 21.41p to 44.34p
2026-08-15 17:00:03.537075: Car 0 charging is not planned as it is not plugged in
2026-08-15 17:00:03.575653: Battery level now 15.68kWh, -1hr ago 15.91kWh, at midnight 1.66kWh, battery value change in the last hour -4.27p, change today 257.94p, rate_forward 18.39p
2026-08-15 17:00:03.576189: Last hour: net energy 0.3kWh, import 0.3kWh, export 0.0kWh, car 0kWh, load 0.3kWh, net cost 9.94p, import 9.94p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 17:00:03.695228: Today's energy total net 27.5kWh, import 27.5kWh, export 0.0kWh, cost 562.65p, import 512.67p, export 0.0p, carbon 0.0kg
2026-08-15 17:00:03.695550: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 17:00:03.874427: Using weighted-bucket historical load forecast over 14 days
2026-08-15 17:00:03.918705: Today's load divergence 90.63%, in-day adjustment 106.46%, damping 0.95x, yesterday 143.77% today 91.1% blend 29.17%
2026-08-15 17:00:03.922192: Today's predicted so far 10.21kWh with 0.0kWh car/iBoost excluded, 20.77kWh import ignored, and 10.21kWh forecast extra.
2026-08-15 17:00:03.922396: Today's actual load so far 8.91kWh with 0.0kWh car/iBoost excluded, and 20.77kWh import ignored.
2026-08-15 17:00:04.017545: Inverter 0: Type SK Sunsynk
2026-08-15 17:00:04.017856: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 17:00:04.018315: Reserve min: 7%, battery_min: 7%
2026-08-15 17:00:04.018592: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 17:00:04.019195: Inverter 0 SoC: 15.68kW 98%, current charge rate 5000W, current discharge rate 5250W, current battery power 260W, current battery voltage 51.2V, grid power -55W, load power 328W, PV Power 0W
2026-08-15 17:00:04.019610: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 17:00:04.019883: Inverter 0 scheduled charge enable is False
2026-08-15 17:00:04.020062: Inverter 0 charge windows currently []
2026-08-15 17:00:04.020237: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 17:00:04.020595: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 17:00:04.020779: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 17:00:04.021002: Inverter 0 scheduled discharge enable is False
2026-08-15 17:00:04.021380: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 17:00:04.021585: Inverter 0 discharge windows currently []
2026-08-15 17:00:04.021744: Note: Inverter does not support discharge freeze - disabled
2026-08-15 17:00:04.021908: Note: Inverter does not support charge freeze - disabled
2026-08-15 17:00:04.022071: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 17:00:04.212734: Dynamic load last period 0.30kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 17:00:04.213061: Plan was last updated on 2026-08-15 16:55:00+01:00 and is now 5.0 minutes old
2026-08-15 17:00:04.213698: Best charge window [ 16-08 11:30:00 - 16-08 12:30:00 @ 23.46p 13%, 16-08 12:30:00 - 16-08 13:00:00 @ 22.33p 20%, 16-08 13:00:00 - 16-08 13:30:00 @ 22.76p 19%, 16-08 13:30:00 - 16-08 15:00:00 @ 21.75p 100%, 16-08 15:00:00 - 16-08 16:00:00 @ 22.89p 63%, 17-08 02:00:00 - 17-08 03:30:00 @ 25.98p 13%, 17-08 12:30:00 - 17-08 17:00:00 @ 33.63p 100% ]
2026-08-15 17:00:04.213855: Best export window [  ]
2026-08-15 17:00:04.215255: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 17:00:04.220043: Load divergence over 8.0 hours mean 612.06W, min 295.8W, max 1953.0W, std dev 413.87W, divergence 33.81%
2026-08-15 17:00:04.297069: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 17:00:04.297362: LoadML is_calculating True
2026-08-15 17:00:04.297564: Not using thread pool as LoadML is calculating to avoid lockups
2026-08-15 17:00:04.348731: predict base end_record 08-17 12:35:00, final soc 1.12kWh, metric 1109.84p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 12:45:00, load 37.95kWh, PV 0.0kWh
2026-08-15 17:00:04.553153: Battery has 19.75 hours left - now at 15.68kWh
2026-08-15 17:00:04.612014: predict base10 end_record 08-17 12:35:00, final soc 1.12kWh, metric 1145.95p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 12:00:00, load 39.33kWh, PV 0.0kWh
2026-08-15 17:00:04.746872: predict best10 end_record 08-17 12:35:00, final soc 1.44kWh, metric 1089.58p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 04:55:00, load 39.33kWh, PV 0.0kWh
2026-08-15 17:00:04.957411: predict best end_record 08-17 12:35:00, final soc 1.51kWh, metric 1053.94p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 05:35:00, load 37.95kWh, PV 0.0kWh
2026-08-15 17:00:04.957689: Saving plan best values to HA entities
2026-08-15 17:00:05.254687: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 17:00:05.271741: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0.0
2026-08-15 17:00:05.289735: Best charging limit SoC's [2.0, 3.25, 3.0, 16.0, 10.0, 2.0, 16.0]kWh, export []kWh gives import battery 13.08kWh, house 4.03kWh, export 0.0kWh, metric 1053.94p, metric10 1089.58p
2026-08-15 17:00:05.478841: Marginal costs baseline metric (no standing charge): 953.9782
2026-08-15 17:00:05.905191: Marginal energy costs matrix computed: min=25.29 max=32.02
2026-08-15 17:00:06.110982: Rate array import [{'start': 1020, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1410, 'rate': 'expensive', 'range': '(29.8p - 32.9p)'}, {'start': 1410, 'end': 2400, 'rate': 'cheap', 'range': '(21.4p - 28.2p)'}, {'start': 2400, 'end': 2430, 'rate': 'expensive', 'range': '(36.8p)'}, {'start': 2430, 'end': 2580, 'rate': 'very expensive', 'range': '(37.5p - 45.3p)'}, {'start': 2580, 'end': 2850, 'rate': 'expensive', 'range': '(30.0p - 35.9p)'}, {'start': 2850, 'end': 3635, 'rate': 'cheap', 'range': '(22.3p - 28.2p)'}] export [{'start': 1020, 'end': 3635, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 17:00:06.116932: - Your estimated bill for today is £5.63 and tomorrow is £3.08
2026-08-15 17:00:06.117179: - Import rates are very expensive (38.5p - 43.8p) for the next 2 hours and then expensive (29.8p - 32.9p) for the next 4 and a half hours.
2026-08-15 17:00:06.117273: - The battery is currently at 98% and is in eco mode for the next 18 hours.
2026-08-15 17:00:06.117349: - For the next 48 hours there will be no solar generation.
2026-08-15 17:00:06.117422: - You will run out of battery in 36 hours.
2026-08-15 17:00:06.117518: - Your next charge slot will be in 18 hours where import rates will be cheap (23.5p).
2026-08-15 17:00:06.117596: 
2026-08-15 17:00:06.264206: Plan calculation took 2.05 seconds
2026-08-15 17:00:06.270234: No high rate period found
2026-08-15 17:00:06.402238: Import threshold used for optimisation was 25.86p
2026-08-15 17:00:06.534696: Low import rate windows [0: 08-15 17:00:00 - 08-15 17:30:00 @ 38.46, 1: 08-15 17:30:00 - 08-15 18:00:00 @ 40.44, 2: 08-15 18:00:00 - 08-15 18:30:00 @ 41.55, 3: 08-15 18:30:00 - 08-15 19:00:00 @ 43.82, 4: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 5: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 6: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 7: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 8: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 9: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 10: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 11: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 12: 08-15 23:00:00 - 08-15 23:30:00 @ 30.02, 13: 08-15 23:30:00 - 08-16 00:00:00 @ 27.8, 14: 08-16 00:00:00 - 08-16 00:30:00 @ 28.18, 15: 08-16 00:30:00 - 08-16 01:00:00 @ 27.38, 16: 08-16 01:00:00 - 08-16 01:30:00 @ 26.7, 17: 08-16 01:30:00 - 08-16 02:00:00 @ 26.31, 18: 08-16 02:00:00 - 08-16 02:30:00 @ 25.79, 19: 08-16 02:30:00 - 08-16 03:00:00 @ 25.86, 20: 08-16 03:00:00 - 08-16 03:30:00 @ 26.13, 21: 08-16 03:30:00 - 08-16 04:00:00 @ 25.86, 22: 08-16 04:00:00 - 08-16 04:30:00 @ 26.27, 23: 08-16 04:30:00 - 08-16 05:00:00 @ 26.14, 24: 08-16 05:00:00 - 08-16 05:30:00 @ 27.03, 25: 08-16 05:30:00 - 08-16 06:00:00 @ 26.28, 26: 08-16 06:00:00 - 08-16 06:30:00 @ 25.68, 27: 08-16 06:30:00 - 08-16 07:00:00 @ 26.1, 28: 08-16 07:00:00 - 08-16 07:30:00 @ 24.28, 29: 08-16 07:30:00 - 08-16 08:00:00 @ 24.94, 30: 08-16 08:00:00 - 08-16 08:30:00 @ 24.06, 31: 08-16 08:30:00 - 08-16 09:00:00 @ 24.39, 32: 08-16 09:00:00 - 08-16 09:30:00 @ 24.66, 33: 08-16 09:30:00 - 08-16 10:00:00 @ 24.06, 34: 08-16 10:00:00 - 08-16 10:30:00 @ 25.5, 35: 08-16 10:30:00 - 08-16 11:00:00 @ 24.94, 36: 08-16 11:00:00 - 08-16 11:30:00 @ 24.25, 37: 08-16 11:30:00 - 08-16 12:00:00 @ 23.49, 38: 08-16 12:00:00 - 08-16 12:30:00 @ 23.43, 39: 08-16 12:30:00 - 08-16 13:00:00 @ 22.33, 40: 08-16 13:00:00 - 08-16 13:30:00 @ 22.76, 41: 08-16 13:30:00 - 08-16 14:00:00 @ 22.3, 42: 08-16 14:00:00 - 08-16 14:30:00 @ 21.41, 43: 08-16 14:30:00 - 08-16 15:00:00 @ 21.65, 44: 08-16 15:00:00 - 08-16 15:30:00 @ 22.95, 45: 08-16 15:30:00 - 08-16 16:00:00 @ 22.83, 46: 08-16 16:00:00 - 08-16 16:30:00 @ 36.84, 47: 08-16 16:30:00 - 08-16 17:00:00 @ 37.54, 48: 08-16 17:00:00 - 08-16 17:30:00 @ 41.79, 49: 08-16 17:30:00 - 08-16 18:00:00 @ 43.7, 50: 08-16 18:00:00 - 08-16 18:30:00 @ 44.34, 51: 08-16 19:00:00 - 08-16 19:30:00 @ 34.79, 52: 08-16 19:30:00 - 08-16 20:00:00 @ 34.76, 53: 08-16 20:00:00 - 08-16 20:30:00 @ 35.62, 54: 08-16 20:30:00 - 08-16 21:00:00 @ 35.3, 55: 08-16 21:00:00 - 08-16 21:30:00 @ 35.89, 56: 08-16 21:30:00 - 08-16 22:00:00 @ 35.71, 57: 08-16 22:00:00 - 08-16 22:30:00 @ 33.75, 58: 08-16 22:30:00 - 08-16 23:00:00 @ 32.0, 59: 08-16 23:00:00 - 08-16 23:30:00 @ 30.02, 60: 08-16 23:30:00 - 08-17 00:00:00 @ 27.8, 61: 08-17 00:00:00 - 08-17 00:30:00 @ 28.18, 62: 08-17 00:30:00 - 08-17 01:00:00 @ 27.38, 63: 08-17 01:00:00 - 08-17 01:30:00 @ 26.7, 64: 08-17 01:30:00 - 08-17 02:00:00 @ 26.31, 65: 08-17 02:00:00 - 08-17 02:30:00 @ 25.79, 66: 08-17 02:30:00 - 08-17 03:00:00 @ 25.86, 67: 08-17 03:00:00 - 08-17 03:30:00 @ 26.13, 68: 08-17 03:30:00 - 08-17 04:00:00 @ 25.86, 69: 08-17 04:00:00 - 08-17 04:30:00 @ 26.27, 70: 08-17 04:30:00 - 08-17 05:00:00 @ 26.14, 71: 08-17 05:00:00 - 08-17 05:30:00 @ 27.03, 72: 08-17 05:30:00 - 08-17 06:00:00 @ 26.28, 73: 08-17 06:00:00 - 08-17 06:30:00 @ 25.68, 74: 08-17 06:30:00 - 08-17 07:00:00 @ 26.1, 75: 08-17 07:00:00 - 08-17 07:30:00 @ 24.28, 76: 08-17 07:30:00 - 08-17 08:00:00 @ 24.94, 77: 08-17 08:00:00 - 08-17 08:30:00 @ 24.06, 78: 08-17 08:30:00 - 08-17 09:00:00 @ 24.39, 79: 08-17 09:00:00 - 08-17 09:30:00 @ 24.66, 80: 08-17 09:30:00 - 08-17 10:00:00 @ 24.06, 81: 08-17 10:00:00 - 08-17 10:30:00 @ 25.5, 82: 08-17 10:30:00 - 08-17 11:00:00 @ 24.94, 83: 08-17 11:00:00 - 08-17 11:30:00 @ 24.25, 84: 08-17 11:30:00 - 08-17 12:00:00 @ 23.49, 85: 08-17 12:00:00 - 08-17 12:30:00 @ 23.43, 86: 08-17 12:30:00 - 08-17 13:00:00 @ 22.33, 87: 08-17 13:00:00 - 08-17 13:30:00 @ 22.76, 88: 08-17 13:30:00 - 08-17 14:00:00 @ 22.3, 89: 08-17 14:00:00 - 08-17 14:30:00 @ 21.41, 90: 08-17 14:30:00 - 08-17 15:00:00 @ 21.65, 91: 08-17 15:00:00 - 08-17 15:30:00 @ 22.95, 92: 08-17 15:30:00 - 08-17 16:00:00 @ 22.83, 93: 08-17 16:00:00 - 08-17 16:30:00 @ 36.84, 94: 08-17 16:30:00 - 08-17 17:00:00 @ 37.54]
2026-08-15 17:00:06.555787: Inverter 0 Charge window will be: 2026-08-16 11:30:00+01:00 - 2026-08-16 16:00:00+01:00 - current SoC 98%, target 13%
2026-08-15 17:00:06.556098: Inverter 0 disabled charge window while waiting for schedule (now 08-15 17:00:00 target set_window_minutes 30 charge start time 08-16 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 17:00:06.561415: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 17:00:06.561930: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 17:00:06.562133: No export window planned
2026-08-15 17:00:06.562379: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 17:00:06.562540: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 17:00:06.562843: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 17:00:06.563142: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 17:00:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 17:00:06.563300: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 17:00:06.563481: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 17:00:06.563697: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 17:00:06.563846: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 17:00:06.563987: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 17:00:06.564122: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 17:00:06.564263: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 17:00:06.564400: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 17:00:06.564558: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 17:00:06.564750: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 17:00:06.564895: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 17:00:06.565080: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 17:00:06.565226: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 17:00:06.565402: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 17:00:06.565571: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 17:00:06.565713: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 17:00:06.565839: Inverter 0 count register writes 0
2026-08-15 17:00:06.592120: Will not recompute the plan, it is 5.0 minutes old and max age is 10 minutes
2026-08-15 17:00:06.607886: Total inverter register writes now 826
2026-08-15 17:00:06.700554: Info: Completed run status Demand
2026-08-15 17:00:06.717501: Info: record_status Demand
2026-08-15 17:00:06.732343: Saved current settings to /config/predbat_config.json
2026-08-15 17:00:06.732680: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 17:00:31.550994: ML Predictor: Epoch 14/30: lr=0.00062 huber_loss=0.0085 val_mae=0.0041 kWh val_bias=+0.0005 kWh (+0.6%) combined=0.0031 kWh ema_combined=0.0031 kWh
2026-08-15 17:00:41.914455: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 17:00:41.914740: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 17:00:41.914788: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 17:00:41.914929: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 17:00:41.914969: Note: Inverter does not support discharge freeze - disabled
2026-08-15 17:00:41.914993: Note: Inverter does not support charge freeze - disabled
2026-08-15 17:00:41.915013: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 17:01:09.120390: ML Predictor: Epoch 15/30: lr=0.00057 huber_loss=0.0073 val_mae=0.0040 kWh val_bias=+0.0001 kWh (+0.1%) combined=0.0027 kWh ema_combined=0.0029 kWh
2026-08-15 17:01:43.189561: ML Predictor: Epoch 16/30: lr=0.00053 huber_loss=0.0074 val_mae=0.0039 kWh val_bias=-0.0013 kWh (-1.7%) combined=0.0029 kWh ema_combined=0.0029 kWh
2026-08-15 17:02:20.416751: Info: HAHistory: Pruning history data started.
2026-08-15 17:02:20.420320: Info: HAHistory: Pruning history data completed.
2026-08-15 17:02:20.819588: ML Predictor: Epoch 17/30: lr=0.00048 huber_loss=0.0073 val_mae=0.0040 kWh val_bias=-0.0007 kWh (-0.9%) combined=0.0021 kWh ema_combined=0.0027 kWh
2026-08-15 17:02:42.485572: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 17:02:42.485827: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 17:02:42.485872: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 17:02:42.486013: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 17:02:42.486055: Note: Inverter does not support discharge freeze - disabled
2026-08-15 17:02:42.486076: Note: Inverter does not support charge freeze - disabled
2026-08-15 17:02:42.486094: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 17:03:00.596252: ML Predictor: Epoch 18/30: lr=0.00043 huber_loss=0.0071 val_mae=0.0035 kWh val_bias=-0.0012 kWh (-1.4%) combined=0.0024 kWh ema_combined=0.0026 kWh
2026-08-15 17:03:34.743652: ML Predictor: Epoch 19/30: lr=0.00038 huber_loss=0.0071 val_mae=0.0044 kWh val_bias=-0.0017 kWh (-2.2%) combined=0.0032 kWh ema_combined=0.0028 kWh
2026-08-15 17:04:17.583448: ML Predictor: Epoch 20/30: lr=0.00034 huber_loss=0.0068 val_mae=0.0036 kWh val_bias=-0.0007 kWh (-0.9%) combined=0.0023 kWh ema_combined=0.0026 kWh
2026-08-15 17:04:49.444328: ML Predictor: Epoch 21/30: lr=0.00030 huber_loss=0.0064 val_mae=0.0034 kWh val_bias=-0.0014 kWh (-1.8%) combined=0.0029 kWh ema_combined=0.0027 kWh
2026-08-15 17:04:57.057394: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 17:04:57.057711: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 17:04:57.057766: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 17:04:57.058313: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 17:04:57.058384: Note: Inverter does not support discharge freeze - disabled
2026-08-15 17:04:57.058414: Note: Inverter does not support charge freeze - disabled
2026-08-15 17:04:57.058517: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 17:05:00.289364: --------------- PredBat - update at 2026-08-15 17:05:00+01:00 with clock skew 0 minutes, minutes now 1025
2026-08-15 17:05:00.295791: Saved current settings to /config/predbat_config.json
2026-08-15 17:05:00.296018: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 40.0 minutes
2026-08-15 17:05:00.304246: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.2, latest beta is v8.48.2
2026-08-15 17:05:00.304515: Autoupdate: There is an update pending v8.48.2 PV90 and second pass enabled by default, bug fixes - auto update is off
2026-08-15 17:05:00.337909: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 17:05:00.338066: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 17:05:00.338252: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 17:05:00.345617: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 17:05:00.345799: Predbat mode is set to Control charge & discharge
2026-08-15 17:05:00.703820: Found 21602 load_today datapoints going back 27 days
2026-08-15 17:05:00.704135: Using load_power data to fill gaps in load_today data
2026-08-15 17:05:02.029475: Processing 721 30-minute periods for power integration
2026-08-15 17:05:02.489133: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 17:05:02.489285: Car charging hold False, threshold 6.0kWh
2026-08-15 17:05:02.489332: Current data so far today: load 8.85kWh, import 27.5kWh, export 0.0kWh, PV 0kWh
2026-08-15 17:05:02.529203: Cars: SoC: [10.548]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 17:05:02.529679: Standing charge is set to 49.98p
2026-08-15 17:05:02.641543: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 17:05:02.641720: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 17:05:02.641978: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 385.0 minutes
2026-08-15 17:05:02.642508: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 385.0 minutes
2026-08-15 17:05:02.649086: Loaded 95 datapoints of futurerate analysis
2026-08-15 17:05:03.086804: Predicted future rates: ['08-15 00:00:00 => 28.69 / 20.01', '08-15 01:00:00 => 27.33 / 19.31', '08-15 02:00:00 => 26.31 / 18.8', '08-15 03:00:00 => 25.78 / 18.53', '08-15 04:00:00 => 25.59 / 18.43', '08-15 05:00:00 => 25.75 / 18.51', '08-15 06:00:00 => 25.34 / 18.3', '08-15 07:00:00 => 24.12 / 17.68', '08-15 08:00:00 => 22.82 / 17.01', '08-15 09:00:00 => 21.84 / 16.51', '08-15 10:00:00 => 20.22 / 15.68', '08-15 11:00:00 => 17.8 / 14.45', '08-15 12:00:00 => 16.16 / 13.61', '08-15 13:00:00 => 15.55 / 13.3', '08-15 14:00:00 => 15.14 / 13.09', '08-15 15:00:00 => 15.65 / 13.35', '08-15 16:00:00 => 32.68 / 16.13', '08-15 17:00:00 => 37.81 / 18.75', '08-15 18:00:00 => 42.15 / 20.96', '08-15 19:00:00 => 30.88 / 21.13', '08-15 20:00:00 => 31.43 / 21.41', '08-15 21:00:00 => 31.43 / 21.41', '08-15 22:00:00 => 30.37 / 20.87', '08-15 23:00:00 => 29.16 / 20.25', '08-16 00:00:00 => 28.62 / 19.97', '08-16 01:00:00 => 27.52 / 19.41', '08-16 02:00:00 => 26.55 / 18.92', '08-16 03:00:00 => 26.18 / 18.73', '08-16 04:00:00 => 26.12 / 18.7', '08-16 05:00:00 => 26.02 / 18.65', '08-16 06:00:00 => 25.78 / 18.53', '08-16 07:00:00 => 25.43 / 18.35', '08-16 08:00:00 => 24.63 / 17.94', '08-16 09:00:00 => 24.05 / 17.64', '08-16 10:00:00 => 24.59 / 17.92', '08-16 11:00:00 => 24.5 / 17.87', '08-16 12:00:00 => 23.58 / 17.4', '08-16 13:00:00 => 22.93 / 17.07', '08-16 14:00:00 => 21.8 / 16.49', '08-16 15:00:00 => 21.8 / 16.49', '08-16 16:00:00 => 36.93 / 18.3']
2026-08-15 17:05:03.139013: Rate min forward looking: now 21.41p at end of forecast 21.41p
2026-08-15 17:05:03.139366: Import rates: min 21.41p, max 45.28p, average 28.38p
2026-08-15 17:05:03.193606: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 17:05:03.193765: Rate thresholds (for charge/export) are import 44.78p (0.0p), export -0.1p (0.0p)
2026-08-15 17:05:03.195508: High export rate found rates in range 99p to -99p
2026-08-15 17:05:03.362828: Low Import rate found rates in range 21.41p to 44.34p
2026-08-15 17:05:03.365672: Car 0 charging is not planned as it is not plugged in
2026-08-15 17:05:03.410155: Battery level now 15.68kWh, -1hr ago 16.0kWh, at midnight 1.66kWh, battery value change in the last hour -5.89p, change today 257.94p, rate_forward 18.39p
2026-08-15 17:05:03.417605: Last hour: net energy 0.0kWh, import 0.0kWh, export 0.0kWh, car 0kWh, load 0.3kWh, net cost 0.0p, import 0.0p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 17:05:03.537921: Today's energy total net 27.5kWh, import 27.5kWh, export 0.0kWh, cost 562.65p, import 512.67p, export 0.0p, carbon 0.0kg
2026-08-15 17:05:03.538326: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 17:05:03.841238: Using weighted-bucket historical load forecast over 14 days
2026-08-15 17:05:03.901420: Today's load divergence 90.73%, in-day adjustment 106.35%, damping 0.95x, yesterday 143.77% today 91.2% blend 28.82%
2026-08-15 17:05:03.901542: Today's predicted so far 10.3kWh with 0.0kWh car/iBoost excluded, 20.86kWh import ignored, and 10.3kWh forecast extra.
2026-08-15 17:05:03.901577: Today's actual load so far 9.01kWh with 0.0kWh car/iBoost excluded, and 20.86kWh import ignored.
2026-08-15 17:05:03.966068: Inverter 0: Type SK Sunsynk
2026-08-15 17:05:03.966208: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 17:05:03.966534: Reserve min: 7%, battery_min: 7%
2026-08-15 17:05:03.966688: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 17:05:03.967172: Inverter 0 SoC: 15.68kW 98%, current charge rate 5000W, current discharge rate 5250W, current battery power 314W, current battery voltage 51.2V, grid power -54W, load power 380W, PV Power 0W
2026-08-15 17:05:03.967445: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 17:05:03.967595: Inverter 0 scheduled charge enable is False
2026-08-15 17:05:03.967682: Inverter 0 charge windows currently []
2026-08-15 17:05:03.967742: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 17:05:03.967957: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 17:05:03.968031: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 17:05:03.968100: Inverter 0 scheduled discharge enable is False
2026-08-15 17:05:03.968352: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 17:05:03.968420: Inverter 0 discharge windows currently []
2026-08-15 17:05:03.968465: Note: Inverter does not support discharge freeze - disabled
2026-08-15 17:05:03.968513: Note: Inverter does not support charge freeze - disabled
2026-08-15 17:05:03.968549: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 17:05:04.093305: Dynamic load last period 0.30kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 17:05:04.093424: Plan was last updated on 2026-08-15 16:55:00+01:00 and is now 10.0 minutes old
2026-08-15 17:05:04.093753: Best charge window [ 16-08 11:30:00 - 16-08 12:30:00 @ 23.46p 13%, 16-08 12:30:00 - 16-08 13:00:00 @ 22.33p 20%, 16-08 13:00:00 - 16-08 13:30:00 @ 22.76p 19%, 16-08 13:30:00 - 16-08 15:00:00 @ 21.75p 100%, 16-08 15:00:00 - 16-08 16:00:00 @ 22.89p 63%, 17-08 02:00:00 - 17-08 03:30:00 @ 25.98p 13%, 17-08 12:30:00 - 17-08 17:00:00 @ 33.63p 100% ]
2026-08-15 17:05:04.093825: Best export window [  ]
2026-08-15 17:05:04.094667: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 17:05:04.097855: Load divergence over 8.0 hours mean 612.26W, min 295.8W, max 2423.4W, std dev 441.16W, divergence 36.03%
2026-08-15 17:05:04.117458: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 17:05:04.117733: LoadML is_calculating True
2026-08-15 17:05:04.117780: Not using thread pool as LoadML is calculating to avoid lockups
2026-08-15 17:05:04.198011: predict base end_record 08-17 12:40:00, final soc 1.12kWh, metric 1109.22p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 12:50:00, load 37.96kWh, PV 0.0kWh
2026-08-15 17:05:04.417091: Battery has 19.75 hours left - now at 15.68kWh
2026-08-15 17:05:04.518895: predict base10 end_record 08-17 12:40:00, final soc 1.12kWh, metric 1145.2p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 12:05:00, load 39.34kWh, PV 0.0kWh
2026-08-15 17:05:04.759036: predict best10 end_record 08-17 12:40:00, final soc 1.77kWh, metric 1096.47p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 04:55:00, load 39.34kWh, PV 0.0kWh
2026-08-15 17:05:04.927668: predict best end_record 08-17 12:40:00, final soc 1.9kWh, metric 1062.83p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 05:35:00, load 37.96kWh, PV 0.0kWh
2026-08-15 17:05:04.927780: Saving plan best values to HA entities
2026-08-15 17:05:05.398267: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 17:05:05.406219: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0.0
2026-08-15 17:05:05.413578: Best charging limit SoC's [2.0, 3.25, 3.0, 16.0, 10.0, 2.0, 16.0]kWh, export []kWh gives import battery 13.52kWh, house 4.0kWh, export 0.0kWh, metric 1062.83p, metric10 1096.47p
2026-08-15 17:05:05.567389: Marginal costs baseline metric (no standing charge): 962.8592
2026-08-15 17:05:05.972083: Marginal energy costs matrix computed: min=25.24 max=32.11
2026-08-15 17:05:06.081264: Rate array import [{'start': 1025, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1410, 'rate': 'expensive', 'range': '(29.8p - 32.9p)'}, {'start': 1410, 'end': 2400, 'rate': 'cheap', 'range': '(21.4p - 28.2p)'}, {'start': 2400, 'end': 2430, 'rate': 'expensive', 'range': '(36.8p)'}, {'start': 2430, 'end': 2580, 'rate': 'very expensive', 'range': '(37.5p - 45.3p)'}, {'start': 2580, 'end': 2850, 'rate': 'expensive', 'range': '(30.0p - 35.9p)'}, {'start': 2850, 'end': 3640, 'rate': 'cheap', 'range': '(22.3p - 28.2p)'}] export [{'start': 1025, 'end': 3640, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 17:05:06.082217: - Your estimated bill for today is £5.63 and tomorrow is £3.07
2026-08-15 17:05:06.082402: - Import rates are very expensive (38.5p - 43.8p) for the next 1  hours and then expensive (29.8p - 32.9p) for the next 4 and a half hours.
2026-08-15 17:05:06.082535: - The battery is currently at 98% and is in eco mode for the next 18 hours.
2026-08-15 17:05:06.082696: - For the next 48 hours there will be no solar generation.
2026-08-15 17:05:06.082859: - You will run out of battery in 36 hours.
2026-08-15 17:05:06.083075: - Your next charge slot will be in 18 hours where import rates will be cheap (23.5p).
2026-08-15 17:05:06.083193: 
2026-08-15 17:05:06.138941: Plan calculation took 2.05 seconds
2026-08-15 17:05:06.142713: No high rate period found
2026-08-15 17:05:06.212941: Import threshold used for optimisation was 25.86p
2026-08-15 17:05:06.302483: Low import rate windows [0: 08-15 17:00:00 - 08-15 17:30:00 @ 38.46, 1: 08-15 17:30:00 - 08-15 18:00:00 @ 40.44, 2: 08-15 18:00:00 - 08-15 18:30:00 @ 41.55, 3: 08-15 18:30:00 - 08-15 19:00:00 @ 43.82, 4: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 5: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 6: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 7: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 8: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 9: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 10: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 11: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 12: 08-15 23:00:00 - 08-15 23:30:00 @ 30.02, 13: 08-15 23:30:00 - 08-16 00:00:00 @ 27.8, 14: 08-16 00:00:00 - 08-16 00:30:00 @ 28.18, 15: 08-16 00:30:00 - 08-16 01:00:00 @ 27.38, 16: 08-16 01:00:00 - 08-16 01:30:00 @ 26.7, 17: 08-16 01:30:00 - 08-16 02:00:00 @ 26.31, 18: 08-16 02:00:00 - 08-16 02:30:00 @ 25.79, 19: 08-16 02:30:00 - 08-16 03:00:00 @ 25.86, 20: 08-16 03:00:00 - 08-16 03:30:00 @ 26.13, 21: 08-16 03:30:00 - 08-16 04:00:00 @ 25.86, 22: 08-16 04:00:00 - 08-16 04:30:00 @ 26.27, 23: 08-16 04:30:00 - 08-16 05:00:00 @ 26.14, 24: 08-16 05:00:00 - 08-16 05:30:00 @ 27.03, 25: 08-16 05:30:00 - 08-16 06:00:00 @ 26.28, 26: 08-16 06:00:00 - 08-16 06:30:00 @ 25.68, 27: 08-16 06:30:00 - 08-16 07:00:00 @ 26.1, 28: 08-16 07:00:00 - 08-16 07:30:00 @ 24.28, 29: 08-16 07:30:00 - 08-16 08:00:00 @ 24.94, 30: 08-16 08:00:00 - 08-16 08:30:00 @ 24.06, 31: 08-16 08:30:00 - 08-16 09:00:00 @ 24.39, 32: 08-16 09:00:00 - 08-16 09:30:00 @ 24.66, 33: 08-16 09:30:00 - 08-16 10:00:00 @ 24.06, 34: 08-16 10:00:00 - 08-16 10:30:00 @ 25.5, 35: 08-16 10:30:00 - 08-16 11:00:00 @ 24.94, 36: 08-16 11:00:00 - 08-16 11:30:00 @ 24.25, 37: 08-16 11:30:00 - 08-16 12:00:00 @ 23.49, 38: 08-16 12:00:00 - 08-16 12:30:00 @ 23.43, 39: 08-16 12:30:00 - 08-16 13:00:00 @ 22.33, 40: 08-16 13:00:00 - 08-16 13:30:00 @ 22.76, 41: 08-16 13:30:00 - 08-16 14:00:00 @ 22.3, 42: 08-16 14:00:00 - 08-16 14:30:00 @ 21.41, 43: 08-16 14:30:00 - 08-16 15:00:00 @ 21.65, 44: 08-16 15:00:00 - 08-16 15:30:00 @ 22.95, 45: 08-16 15:30:00 - 08-16 16:00:00 @ 22.83, 46: 08-16 16:00:00 - 08-16 16:30:00 @ 36.84, 47: 08-16 16:30:00 - 08-16 17:00:00 @ 37.54, 48: 08-16 17:00:00 - 08-16 17:30:00 @ 41.79, 49: 08-16 17:30:00 - 08-16 18:00:00 @ 43.7, 50: 08-16 18:00:00 - 08-16 18:30:00 @ 44.34, 51: 08-16 19:00:00 - 08-16 19:30:00 @ 34.79, 52: 08-16 19:30:00 - 08-16 20:00:00 @ 34.76, 53: 08-16 20:00:00 - 08-16 20:30:00 @ 35.62, 54: 08-16 20:30:00 - 08-16 21:00:00 @ 35.3, 55: 08-16 21:00:00 - 08-16 21:30:00 @ 35.89, 56: 08-16 21:30:00 - 08-16 22:00:00 @ 35.71, 57: 08-16 22:00:00 - 08-16 22:30:00 @ 33.75, 58: 08-16 22:30:00 - 08-16 23:00:00 @ 32.0, 59: 08-16 23:00:00 - 08-16 23:30:00 @ 30.02, 60: 08-16 23:30:00 - 08-17 00:00:00 @ 27.8, 61: 08-17 00:00:00 - 08-17 00:30:00 @ 28.18, 62: 08-17 00:30:00 - 08-17 01:00:00 @ 27.38, 63: 08-17 01:00:00 - 08-17 01:30:00 @ 26.7, 64: 08-17 01:30:00 - 08-17 02:00:00 @ 26.31, 65: 08-17 02:00:00 - 08-17 02:30:00 @ 25.79, 66: 08-17 02:30:00 - 08-17 03:00:00 @ 25.86, 67: 08-17 03:00:00 - 08-17 03:30:00 @ 26.13, 68: 08-17 03:30:00 - 08-17 04:00:00 @ 25.86, 69: 08-17 04:00:00 - 08-17 04:30:00 @ 26.27, 70: 08-17 04:30:00 - 08-17 05:00:00 @ 26.14, 71: 08-17 05:00:00 - 08-17 05:30:00 @ 27.03, 72: 08-17 05:30:00 - 08-17 06:00:00 @ 26.28, 73: 08-17 06:00:00 - 08-17 06:30:00 @ 25.68, 74: 08-17 06:30:00 - 08-17 07:00:00 @ 26.1, 75: 08-17 07:00:00 - 08-17 07:30:00 @ 24.28, 76: 08-17 07:30:00 - 08-17 08:00:00 @ 24.94, 77: 08-17 08:00:00 - 08-17 08:30:00 @ 24.06, 78: 08-17 08:30:00 - 08-17 09:00:00 @ 24.39, 79: 08-17 09:00:00 - 08-17 09:30:00 @ 24.66, 80: 08-17 09:30:00 - 08-17 10:00:00 @ 24.06, 81: 08-17 10:00:00 - 08-17 10:30:00 @ 25.5, 82: 08-17 10:30:00 - 08-17 11:00:00 @ 24.94, 83: 08-17 11:00:00 - 08-17 11:30:00 @ 24.25, 84: 08-17 11:30:00 - 08-17 12:00:00 @ 23.49, 85: 08-17 12:00:00 - 08-17 12:30:00 @ 23.43, 86: 08-17 12:30:00 - 08-17 13:00:00 @ 22.33, 87: 08-17 13:00:00 - 08-17 13:30:00 @ 22.76, 88: 08-17 13:30:00 - 08-17 14:00:00 @ 22.3, 89: 08-17 14:00:00 - 08-17 14:30:00 @ 21.41, 90: 08-17 14:30:00 - 08-17 15:00:00 @ 21.65, 91: 08-17 15:00:00 - 08-17 15:30:00 @ 22.95, 92: 08-17 15:30:00 - 08-17 16:00:00 @ 22.83, 93: 08-17 16:00:00 - 08-17 16:30:00 @ 36.84, 94: 08-17 16:30:00 - 08-17 17:00:00 @ 37.54, 95: 08-17 17:00:00 - 08-17 17:30:00 @ 41.79]
2026-08-15 17:05:06.316773: Inverter 0 Charge window will be: 2026-08-16 11:30:00+01:00 - 2026-08-16 16:00:00+01:00 - current SoC 98%, target 13%
2026-08-15 17:05:06.317113: Inverter 0 disabled charge window while waiting for schedule (now 08-15 17:05:00 target set_window_minutes 30 charge start time 08-16 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 17:05:06.317340: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 17:05:06.317699: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 17:05:06.317978: No export window planned
2026-08-15 17:05:06.318288: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 17:05:06.318408: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 17:05:06.318775: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 17:05:06.319101: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 17:05:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 17:05:06.319291: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 17:05:06.319482: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 17:05:06.319722: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 17:05:06.319897: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 17:05:06.320052: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 17:05:06.320218: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 17:05:06.320372: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 17:05:06.320523: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 17:05:06.320698: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 17:05:06.320913: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 17:05:06.321112: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 17:05:06.321269: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 17:05:06.321422: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 17:05:06.321574: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 17:05:06.321752: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 17:05:06.321856: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 17:05:06.322008: Inverter 0 count register writes 0
2026-08-15 17:05:06.363241: Will recompute the plan as it is now 10.0 minutes old and will exceed the max age of 10 minutes before the next run
2026-08-15 17:05:06.364374: Recompute is saving previous plan...
2026-08-15 17:05:06.367797: Best charge window [ 15-08 17:00:00 - 15-08 17:30:00 @ 38.46p 0%, 15-08 17:30:00 - 15-08 18:00:00 @ 40.44p 0%, 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 0%, 15-08 18:30:00 - 15-08 19:00:00 @ 43.82p 0%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 0%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 0%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 0%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 0%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 30.02p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 27.8p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.18p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.38p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 26.7p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.31p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.79p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 25.86p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.13p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 25.86p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.27p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.14p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 27.03p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.28p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.68p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 26.1p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 24.28p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 24.94p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.06p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.39p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.66p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.06p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 25.5p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 24.94p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 24.25p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 23.49p 0%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.43p 0%, 16-08 12:30:00 - 16-08 13:00:00 @ 22.33p 0%, 16-08 13:00:00 - 16-08 13:30:00 @ 22.76p 0%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 0%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 0%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.65p 0%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.95p 0%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.83p 0%, 16-08 16:00:00 - 16-08 16:30:00 @ 36.84p 0%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.54p 0%, 16-08 17:00:00 - 16-08 17:30:00 @ 41.79p 0%, 16-08 17:30:00 - 16-08 18:00:00 @ 43.7p 0%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.34p 0%, 16-08 19:00:00 - 16-08 19:30:00 @ 34.79p 0%, 16-08 19:30:00 - 16-08 20:00:00 @ 34.76p 0%, 16-08 20:00:00 - 16-08 20:30:00 @ 35.62p 0%, 16-08 20:30:00 - 16-08 21:00:00 @ 35.3p 0%, 16-08 21:00:00 - 16-08 21:30:00 @ 35.89p 0%, 16-08 21:30:00 - 16-08 22:00:00 @ 35.71p 0%, 16-08 22:00:00 - 16-08 22:30:00 @ 33.75p 0%, 16-08 22:30:00 - 16-08 23:00:00 @ 32.0p 0%, 16-08 23:00:00 - 16-08 23:30:00 @ 30.02p 0%, 16-08 23:30:00 - 17-08 00:00:00 @ 27.8p 0%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.18p 0%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.38p 0%, 17-08 01:00:00 - 17-08 01:30:00 @ 26.7p 0%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.31p 0%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.79p 0%, 17-08 02:30:00 - 17-08 03:00:00 @ 25.86p 0%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.13p 0%, 17-08 03:30:00 - 17-08 04:00:00 @ 25.86p 0%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.27p 0%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.14p 0%, 17-08 05:00:00 - 17-08 05:30:00 @ 27.03p 0%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.28p 0%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.68p 0%, 17-08 06:30:00 - 17-08 07:00:00 @ 26.1p 0%, 17-08 07:00:00 - 17-08 07:30:00 @ 24.28p 0%, 17-08 07:30:00 - 17-08 08:00:00 @ 24.94p 0%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.06p 0%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.39p 0%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.66p 0%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.06p 0%, 17-08 10:00:00 - 17-08 10:30:00 @ 25.5p 0%, 17-08 10:30:00 - 17-08 11:00:00 @ 24.94p 0%, 17-08 11:00:00 - 17-08 11:30:00 @ 24.25p 0%, 17-08 11:30:00 - 17-08 12:00:00 @ 23.49p 0%, 17-08 12:00:00 - 17-08 12:30:00 @ 23.43p 0%, 17-08 12:30:00 - 17-08 13:00:00 @ 22.33p 0%, 17-08 13:00:00 - 17-08 13:30:00 @ 22.76p 0%, 17-08 13:30:00 - 17-08 14:00:00 @ 22.3p 0%, 17-08 14:00:00 - 17-08 14:30:00 @ 21.41p 0%, 17-08 14:30:00 - 17-08 15:00:00 @ 21.65p 0%, 17-08 15:00:00 - 17-08 15:30:00 @ 22.95p 0%, 17-08 15:30:00 - 17-08 16:00:00 @ 22.83p 0%, 17-08 16:00:00 - 17-08 16:30:00 @ 36.84p 0%, 17-08 16:30:00 - 17-08 17:00:00 @ 37.54p 0%, 17-08 17:00:00 - 17-08 17:30:00 @ 41.79p 0% ]
2026-08-15 17:05:06.368049: Best export window [  ]
2026-08-15 17:05:06.369059: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 17:05:06.372330: Load divergence over 8.0 hours mean 612.26W, min 295.8W, max 2423.4W, std dev 441.16W, divergence 36.03%
2026-08-15 17:05:06.389501: Calculating data from yesterday for savings calculation
2026-08-15 17:05:06.433985: Yesterday basic charge window best: [{'start': 840, 'end': 870, 'average': 21.7}] charge limit best: [16.0] based on max charge slots 1
2026-08-15 17:05:06.510958: predict yesterday end_record 08-16 00:00:00, final soc 1.12kWh, metric 843.63p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 00:00:00, load 26.2kWh, PV 0.0kWh
2026-08-15 17:05:06.526015: predict yesterday10 end_record 08-16 00:00:00, final soc 1.12kWh, metric 847.91p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 00:00:00, load 26.2kWh, PV 0.0kWh
2026-08-15 17:05:06.546887: predict yesterday end_record 08-16 00:00:00, final soc 1.12kWh, metric 843.63p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 00:00:00, load 26.2kWh, PV 0.0kWh
2026-08-15 17:05:06.585677: Yesterday: Predbat disabled was £8.44 (adjusted £8.23) vs £7.38 (adjusted £7.05), saving £1.05 (adjusted £1.18) with import 26.54kWh, export 0.0kWh, battery_cycle 4.66kWh, start_soc 1.12kWh,  final_soc 1.12kWh and battery_value 20.6kWh
2026-08-15 17:05:06.734756: predict yesterday end_record 08-16 00:00:00, final soc 0.0kWh, metric 849.84p, metric_keep 0kWh, min_soc 0kWh @ 08-15 00:00:00, load 26.2kWh, PV 0.0kWh
2026-08-15 17:05:06.734950: Yesterday: No Battery/PV system cost predicted was £8.5 (adjusted £8.5) vs £7.38 (adjusted £7.05), saving £1.12 (adjusted £1.45) with import 26.2kWh, export 0kWh and battery_value 0.0kWh
2026-08-15 17:05:06.747928: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 17:05:06.748064: LoadML is_calculating True
2026-08-15 17:05:06.748097: Not using thread pool as LoadML is calculating to avoid lockups
2026-08-15 17:05:06.771700: Calculate Best options: mode(Control charge & discharge), calculate_export_oncharge(False), calculate_export_on_pv(True), set_export_freeze_only(False), set_discharge_during_charge(True), combine_charge_slots(False), combine_export_slots(False), combine_rate_threshold(0.0), best_soc_min(0.0 kWh), best_soc_max(0.0 kWh), best_soc_keep(0.0 kWh), inverter_loss(4%), battery_loss(3%), battery_loss_discharge (3%), inverter_hybrid(True), metric_min_improvement(0.0p), metric_min_improvement_export(0.1p), metric_min_improvement_export_freeze(0.1p), metric_battery_cycle(0.0p/kWh), metric_battery_value_scaling(1.0 x) 
2026-08-15 17:05:06.782004: Optimise levels pass started at 2026-08-15 17:05:06
2026-08-15 17:05:06.782099: Optimise all windows, total charge 95 export 1
2026-08-15 17:05:14.483620: >> Region optimisation pass width 960 gives best_metric 998.67p, best_cost 1015.07p, best_cycle 39.35kWh, best_import 20.15kWh
2026-08-15 17:05:15.415155: >> Region optimisation pass width 480 gives best_metric 998.67p, best_cost 1015.07p, best_cycle 39.35kWh, best_import 20.15kWh
2026-08-15 17:05:16.622376: >> Region optimisation pass width 240 gives best_metric 998.67p, best_cost 1015.07p, best_cycle 39.35kWh, best_import 20.15kWh
2026-08-15 17:05:19.905299: >> Region optimisation pass width 120 gives best_metric 998.67p, best_cost 1015.07p, best_cycle 39.35kWh, best_import 20.15kWh
2026-08-15 17:05:19.905738: Calculated end_record as 08-17 12:30:00 based on best_price 22.76p, next_charge_start 08-16 12:30:00, max_windows 86
2026-08-15 17:05:19.905822: Optimise levels pass ended at 2026-08-15 17:05:19, duration 13.1 seconds tried 314 combinations
2026-08-15 17:05:19.905887: Set best_price_charge_level 24.4p, best_price_export_level 0p, best_price_charge 22.76p, best_cost_export 0p, best_metric 998.67p, best_keep 0kWh, best_cycle 39.35kWh, best_carbon 0kg, best_import 20.15kWh
2026-08-15 17:05:19.978340: Starting detailed optimisation end_record 08-17 12:30:00, best_price_charge 22.76p, best_price_export 0p. lowest_price_charge 21.41p with charge limits [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12.5, 12.5, 12.5, 12.5, 12.5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0]kWh and export limits []kWh
2026-08-15 17:05:51.373330: ML Predictor: Epoch 22/30: lr=0.00026 huber_loss=0.0063 val_mae=0.0034 kWh val_bias=-0.0008 kWh (-1.0%) combined=0.0021 kWh ema_combined=0.0025 kWh
2026-08-15 17:06:00.095069: Tweak plan optimisation started metric 925.05p, cost 940.29p
2026-08-15 17:06:01.744584: Tweak optimisation finished metric 925.05p, cost 940.29p, metric_keep 0kWh, cycle 32.56kWh, carbon 0kg, import 16.73kWh, changed 8 window(s)
2026-08-15 17:06:01.779375: Swap charge optimisation started metric 925.05p, cost 940.29p, min_improvement_swap 0.1p
2026-08-15 17:06:17.072442: Swap charge optimisation finished metric 925.05p, cost 940.29p
2026-08-15 17:06:17.244860: Pruned 3 dead plan slot(s) in 13 trial(s), nominal metric 919.69p -> 919.69p, plan now metric 925.29p, cost 940.29p, cycle 32.56kWh, import 16.73kWh
2026-08-15 17:06:17.255399: Raw charge windows [ 15-08 17:00:00 - 15-08 17:30:00 @ 38.46p 0%, 15-08 17:30:00 - 15-08 18:00:00 @ 40.44p 0%, 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 0%, 15-08 18:30:00 - 15-08 19:00:00 @ 43.82p 0%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 0%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 0%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 0%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 0%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 30.02p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 27.8p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.18p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.38p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 26.7p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.31p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.79p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 25.86p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.13p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 25.86p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.27p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.14p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 27.03p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.28p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.68p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 26.1p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 24.28p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 24.94p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.06p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.39p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.66p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.06p 25%, 16-08 10:00:00 - 16-08 10:30:00 @ 25.5p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 24.94p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 24.25p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 23.49p 16%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.43p 16%, 16-08 12:30:00 - 16-08 13:00:00 @ 22.33p 31%, 16-08 13:00:00 - 16-08 13:30:00 @ 22.76p 31%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 100%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 78%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.65p 78%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.95p 75%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.83p 75%, 16-08 16:00:00 - 16-08 16:30:00 @ 36.84p 0%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.54p 0%, 16-08 17:00:00 - 16-08 17:30:00 @ 41.79p 0%, 16-08 17:30:00 - 16-08 18:00:00 @ 43.7p 0%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.34p 0%, 16-08 19:00:00 - 16-08 19:30:00 @ 34.79p 0%, 16-08 19:30:00 - 16-08 20:00:00 @ 34.76p 0%, 16-08 20:00:00 - 16-08 20:30:00 @ 35.62p 0%, 16-08 20:30:00 - 16-08 21:00:00 @ 35.3p 0%, 16-08 21:00:00 - 16-08 21:30:00 @ 35.89p 0%, 16-08 21:30:00 - 16-08 22:00:00 @ 35.71p 0%, 16-08 22:00:00 - 16-08 22:30:00 @ 33.75p 0%, 16-08 22:30:00 - 16-08 23:00:00 @ 32.0p 0%, 16-08 23:00:00 - 16-08 23:30:00 @ 30.02p 0%, 16-08 23:30:00 - 17-08 00:00:00 @ 27.8p 0%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.18p 0%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.38p 0%, 17-08 01:00:00 - 17-08 01:30:00 @ 26.7p 0%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.31p 0%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.79p 0%, 17-08 02:30:00 - 17-08 03:00:00 @ 25.86p 0%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.13p 0%, 17-08 03:30:00 - 17-08 04:00:00 @ 25.86p 0%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.27p 0%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.14p 0%, 17-08 05:00:00 - 17-08 05:30:00 @ 27.03p 0%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.28p 0%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.68p 0%, 17-08 06:30:00 - 17-08 07:00:00 @ 26.1p 0%, 17-08 07:00:00 - 17-08 07:30:00 @ 24.28p 0%, 17-08 07:30:00 - 17-08 08:00:00 @ 24.94p 0%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.06p 0%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.39p 0%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.66p 0%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.06p 0%, 17-08 10:00:00 - 17-08 10:30:00 @ 25.5p 0%, 17-08 10:30:00 - 17-08 11:00:00 @ 24.94p 0%, 17-08 11:00:00 - 17-08 11:30:00 @ 24.25p 0%, 17-08 11:30:00 - 17-08 12:00:00 @ 23.49p 0%, 17-08 12:00:00 - 17-08 12:30:00 @ 23.43p 0%, 17-08 12:30:00 - 17-08 13:00:00 @ 22.33p 100%, 17-08 13:00:00 - 17-08 13:30:00 @ 22.76p 100%, 17-08 13:30:00 - 17-08 14:00:00 @ 22.3p 100%, 17-08 14:00:00 - 17-08 14:30:00 @ 21.41p 100%, 17-08 14:30:00 - 17-08 15:00:00 @ 21.65p 100%, 17-08 15:00:00 - 17-08 15:30:00 @ 22.95p 100%, 17-08 15:30:00 - 17-08 16:00:00 @ 22.83p 100%, 17-08 16:00:00 - 17-08 16:30:00 @ 36.84p 100%, 17-08 16:30:00 - 17-08 17:00:00 @ 37.54p 100%, 17-08 17:00:00 - 17-08 17:30:00 @ 41.79p 100% ] reserve 1.12
2026-08-15 17:06:17.256003: Unclipped charge windows [ 16-08 09:30:00 - 16-08 10:00:00 @ 24.06p 25%, 16-08 11:30:00 - 16-08 12:30:00 @ 23.46p 16%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 31%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 100%, 16-08 14:00:00 - 16-08 15:00:00 @ 21.53p 78%, 16-08 15:00:00 - 16-08 16:00:00 @ 22.89p 75%, 17-08 12:30:00 - 17-08 17:30:00 @ 37.71p 100% ] reserve 1.12
2026-08-15 17:06:17.256382: Unfiltered charge windows [ 16-08 09:30:00 - 16-08 10:00:00 @ 24.06p 25%, 16-08 11:30:00 - 16-08 12:30:00 @ 23.46p 16%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 31%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 100%, 16-08 14:00:00 - 16-08 15:00:00 @ 21.53p 100%, 16-08 15:00:00 - 16-08 16:00:00 @ 22.89p 75%, 17-08 12:30:00 - 17-08 17:30:00 @ 37.71p 100% ] reserve 1.12
2026-08-15 17:06:17.256683: Filtered charge windows [ 16-08 09:30:00 - 16-08 10:00:00 @ 24.06p 25%, 16-08 11:30:00 - 16-08 12:30:00 @ 23.46p 16%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 31%, 16-08 13:30:00 - 16-08 15:00:00 @ 21.91p 100%, 16-08 15:00:00 - 16-08 16:00:00 @ 22.89p 75%, 17-08 12:30:00 - 17-08 17:30:00 @ 37.71p 100% ] reserve 1.12
2026-08-15 17:06:17.357722: Previous plan best metric is 926.06 (cost 941.36) and new plan best metric is 925.05 (cost 940.29)
2026-08-15 17:06:17.369693: New plan metric is not significantly better (metric_min_improvement_plan 2.0) than previous plan, using previous plan
2026-08-15 17:06:17.369927: Plan valid is now true after recompute was False
2026-08-15 17:06:17.410837: predict base end_record 08-17 12:30:00, final soc 1.12kWh, metric 1106.34p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 12:50:00, load 37.83kWh, PV 0.0kWh
2026-08-15 17:06:17.674300: Battery has 19.75 hours left - now at 15.68kWh
2026-08-15 17:06:17.737893: predict base10 end_record 08-17 12:30:00, final soc 1.12kWh, metric 1142.18p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 12:05:00, load 39.21kWh, PV 0.0kWh
2026-08-15 17:06:17.848488: predict best10 end_record 08-17 12:30:00, final soc 1.12kWh, metric 1077.94p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 04:55:00, load 39.21kWh, PV 0.0kWh
2026-08-15 17:06:17.951857: predict best end_record 08-17 12:30:00, final soc 1.12kWh, metric 1041.33p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 05:35:00, load 37.83kWh, PV 0.0kWh
2026-08-15 17:06:17.952127: Saving plan best values to HA entities
2026-08-15 17:06:18.245344: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 17:06:18.265109: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0.0
2026-08-15 17:06:18.274578: Best charging limit SoC's [2.0, 3.25, 3.0, 16.0, 10.0, 2.0, 16.0]kWh, export []kWh gives import battery 12.55kWh, house 4.0kWh, export 0.0kWh, metric 1041.33p, metric10 1077.94p
2026-08-15 17:06:18.411902: Marginal costs baseline metric (no standing charge): 941.3647
2026-08-15 17:06:18.895823: Marginal energy costs matrix computed: min=25.24 max=32.11
2026-08-15 17:06:19.002914: Rate array import [{'start': 1025, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1410, 'rate': 'expensive', 'range': '(29.8p - 32.9p)'}, {'start': 1410, 'end': 2400, 'rate': 'cheap', 'range': '(21.4p - 28.2p)'}, {'start': 2400, 'end': 2430, 'rate': 'expensive', 'range': '(36.8p)'}, {'start': 2430, 'end': 2580, 'rate': 'very expensive', 'range': '(37.5p - 45.3p)'}, {'start': 2580, 'end': 2850, 'rate': 'expensive', 'range': '(30.0p - 35.9p)'}, {'start': 2850, 'end': 3630, 'rate': 'cheap', 'range': '(23.4p - 28.2p)'}] export [{'start': 1025, 'end': 3630, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 17:06:19.003803: - Your estimated bill for today is £5.63 and tomorrow is £3.07
2026-08-15 17:06:19.003857: - Import rates are very expensive (38.5p - 43.8p) for the next 1  hours and then expensive (29.8p - 32.9p) for the next 4 and a half hours.
2026-08-15 17:06:19.003880: - The battery is currently at 98% and is in eco mode for the next 18 hours.
2026-08-15 17:06:19.003898: - For the next 48 hours there will be no solar generation.
2026-08-15 17:06:19.003995: - You will run out of battery in 36 hours.
2026-08-15 17:06:19.004032: - Your next charge slot will be in 18 hours where import rates will be cheap (23.5p).
2026-08-15 17:06:19.004052: 
2026-08-15 17:06:19.063462: Plan calculation took 72.70 seconds
2026-08-15 17:06:19.063926: Inverter 0: Type SK Sunsynk
2026-08-15 17:06:19.064083: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 17:06:19.064391: Reserve min: 7%, battery_min: 7%
2026-08-15 17:06:19.064582: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 17:06:19.065050: Inverter 0 SoC: 15.68kW 98%, current charge rate 5000W, current discharge rate 5250W, current battery power 313W, current battery voltage 51.2V, grid power -55W, load power 381W, PV Power 0W
2026-08-15 17:06:19.065362: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 17:06:19.065555: Inverter 0 scheduled charge enable is False
2026-08-15 17:06:19.065712: Inverter 0 charge windows currently []
2026-08-15 17:06:19.065831: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 17:06:19.066078: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 17:06:19.066197: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 17:06:19.066340: Inverter 0 scheduled discharge enable is False
2026-08-15 17:06:19.066700: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 17:06:19.066853: Inverter 0 discharge windows currently []
2026-08-15 17:06:19.066957: Note: Inverter does not support discharge freeze - disabled
2026-08-15 17:06:19.067072: Note: Inverter does not support charge freeze - disabled
2026-08-15 17:06:19.067168: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 17:06:19.200482: Inverter 0 Charge window will be: 2026-08-16 11:30:00+01:00 - 2026-08-16 16:00:00+01:00 - current SoC 98%, target 13%
2026-08-15 17:06:19.200679: Inverter 0 disabled charge window while waiting for schedule (now 08-15 17:05:00 target set_window_minutes 30 charge start time 08-16 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 17:06:19.200785: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 17:06:19.203039: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 17:06:19.204213: No export window planned
2026-08-15 17:06:19.204457: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 17:06:19.204522: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 17:06:19.204808: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 17:06:19.205086: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 17:05:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 17:06:19.205169: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 17:06:19.205252: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 17:06:19.205383: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 17:06:19.205463: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 17:06:19.205514: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 17:06:19.205579: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 17:06:19.205632: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 17:06:19.205721: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 17:06:19.205778: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 17:06:19.205899: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 17:06:19.205968: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 17:06:19.206034: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 17:06:19.206085: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 17:06:19.206144: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 17:06:19.206192: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 17:06:19.225010: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 17:06:19.225126: Inverter 0 count register writes 0
2026-08-15 17:06:19.276695: Total inverter register writes now 826
2026-08-15 17:06:19.366096: Info: Completed run status Demand
2026-08-15 17:06:19.375382: Info: record_status Demand
2026-08-15 17:06:19.385394: Saved current settings to /config/predbat_config.json
2026-08-15 17:06:19.386289: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 17:06:40.388255: ML Predictor: Epoch 23/30: lr=0.00022 huber_loss=0.0060 val_mae=0.0031 kWh val_bias=-0.0008 kWh (-0.9%) combined=0.0023 kWh ema_combined=0.0025 kWh
2026-08-15 17:06:56.588964: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 17:06:56.589246: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 17:06:56.589431: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 17:06:56.589702: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 17:06:56.589774: Note: Inverter does not support discharge freeze - disabled
2026-08-15 17:06:56.589897: Note: Inverter does not support charge freeze - disabled
2026-08-15 17:06:56.590113: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 17:07:12.457438: ML Predictor: Epoch 24/30: lr=0.00019 huber_loss=0.0056 val_mae=0.0032 kWh val_bias=-0.0010 kWh (-1.2%) combined=0.0023 kWh ema_combined=0.0024 kWh
2026-08-15 17:07:47.998652: ML Predictor: Epoch 25/30: lr=0.00016 huber_loss=0.0056 val_mae=0.0031 kWh val_bias=-0.0008 kWh (-1.0%) combined=0.0020 kWh ema_combined=0.0023 kWh
2026-08-15 17:08:20.781475: ML Predictor: Epoch 26/30: lr=0.00014 huber_loss=0.0060 val_mae=0.0028 kWh val_bias=-0.0001 kWh (-0.2%) combined=0.0015 kWh ema_combined=0.0021 kWh
2026-08-15 17:08:52.320057: ML Predictor: Epoch 27/30: lr=0.00012 huber_loss=0.0057 val_mae=0.0031 kWh val_bias=-0.0013 kWh (-1.7%) combined=0.0026 kWh ema_combined=0.0022 kWh
2026-08-15 17:08:57.088343: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 17:08:57.088627: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 17:08:57.088681: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 17:08:57.088867: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 17:08:57.088918: Note: Inverter does not support discharge freeze - disabled
2026-08-15 17:08:57.088978: Note: Inverter does not support charge freeze - disabled
2026-08-15 17:08:57.089119: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 17:09:24.299860: ML Predictor: Epoch 28/30: lr=0.00011 huber_loss=0.0056 val_mae=0.0027 kWh val_bias=-0.0004 kWh (-0.5%) combined=0.0016 kWh ema_combined=0.0020 kWh
2026-08-15 17:09:56.386452: ML Predictor: Epoch 29/30: lr=0.00010 huber_loss=0.0052 val_mae=0.0029 kWh val_bias=-0.0009 kWh (-1.1%) combined=0.0019 kWh ema_combined=0.0020 kWh
2026-08-15 17:10:00.513958: --------------- PredBat - update at 2026-08-15 17:10:00+01:00 with clock skew 0 minutes, minutes now 1030
2026-08-15 17:10:00.514976: Saved current settings to /config/predbat_config.json
2026-08-15 17:10:00.515121: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 45.0 minutes
2026-08-15 17:10:00.515369: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.2, latest beta is v8.48.2
2026-08-15 17:10:00.515495: Autoupdate: There is an update pending v8.48.2 PV90 and second pass enabled by default, bug fixes - auto update is off
2026-08-15 17:10:00.572989: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 17:10:00.573164: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 17:10:00.573514: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 17:10:00.574430: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 17:10:00.574686: Predbat mode is set to Control charge & discharge
2026-08-15 17:10:01.057029: Found 21602 load_today datapoints going back 28 days
2026-08-15 17:10:01.057245: Using load_power data to fill gaps in load_today data
2026-08-15 17:10:02.329679: Processing 721 30-minute periods for power integration
2026-08-15 17:10:02.616641: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 17:10:02.616825: Car charging hold False, threshold 6.0kWh
2026-08-15 17:10:02.616891: Current data so far today: load 8.8kWh, import 27.5kWh, export 0.0kWh, PV 0kWh
2026-08-15 17:10:02.688682: Cars: SoC: [10.548]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 17:10:02.689496: Standing charge is set to 49.98p
2026-08-15 17:10:02.804971: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 17:10:02.805117: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 17:10:02.805392: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 390.0 minutes
2026-08-15 17:10:02.806339: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 390.0 minutes
2026-08-15 17:10:02.813329: Loaded 95 datapoints of futurerate analysis
2026-08-15 17:10:03.045120: Predicted future rates: ['08-15 00:00:00 => 28.69 / 20.01', '08-15 01:00:00 => 27.33 / 19.31', '08-15 02:00:00 => 26.31 / 18.8', '08-15 03:00:00 => 25.78 / 18.53', '08-15 04:00:00 => 25.59 / 18.43', '08-15 05:00:00 => 25.75 / 18.51', '08-15 06:00:00 => 25.34 / 18.3', '08-15 07:00:00 => 24.12 / 17.68', '08-15 08:00:00 => 22.82 / 17.01', '08-15 09:00:00 => 21.84 / 16.51', '08-15 10:00:00 => 20.22 / 15.68', '08-15 11:00:00 => 17.8 / 14.45', '08-15 12:00:00 => 16.16 / 13.61', '08-15 13:00:00 => 15.55 / 13.3', '08-15 14:00:00 => 15.14 / 13.09', '08-15 15:00:00 => 15.65 / 13.35', '08-15 16:00:00 => 32.68 / 16.13', '08-15 17:00:00 => 37.81 / 18.75', '08-15 18:00:00 => 42.15 / 20.96', '08-15 19:00:00 => 30.88 / 21.13', '08-15 20:00:00 => 31.43 / 21.41', '08-15 21:00:00 => 31.43 / 21.41', '08-15 22:00:00 => 30.37 / 20.87', '08-15 23:00:00 => 29.16 / 20.25', '08-16 00:00:00 => 28.62 / 19.97', '08-16 01:00:00 => 27.52 / 19.41', '08-16 02:00:00 => 26.55 / 18.92', '08-16 03:00:00 => 26.18 / 18.73', '08-16 04:00:00 => 26.12 / 18.7', '08-16 05:00:00 => 26.02 / 18.65', '08-16 06:00:00 => 25.78 / 18.53', '08-16 07:00:00 => 25.43 / 18.35', '08-16 08:00:00 => 24.63 / 17.94', '08-16 09:00:00 => 24.05 / 17.64', '08-16 10:00:00 => 24.59 / 17.92', '08-16 11:00:00 => 24.5 / 17.87', '08-16 12:00:00 => 23.58 / 17.4', '08-16 13:00:00 => 22.93 / 17.07', '08-16 14:00:00 => 21.8 / 16.49', '08-16 15:00:00 => 21.8 / 16.49', '08-16 16:00:00 => 36.93 / 18.3']
2026-08-15 17:10:03.095343: Rate min forward looking: now 21.41p at end of forecast 21.41p
2026-08-15 17:10:03.095820: Import rates: min 21.41p, max 45.28p, average 28.39p
2026-08-15 17:10:03.165514: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 17:10:03.165833: Rate thresholds (for charge/export) are import 44.78p (0.0p), export -0.1p (0.0p)
2026-08-15 17:10:03.167961: High export rate found rates in range 99p to -99p
2026-08-15 17:10:03.439494: Low Import rate found rates in range 21.41p to 44.34p
2026-08-15 17:10:03.439807: Car 0 charging is not planned as it is not plugged in
2026-08-15 17:10:03.472492: Battery level now 15.68kWh, -1hr ago 15.86kWh, at midnight 1.66kWh, battery value change in the last hour -3.24p, change today 257.94p, rate_forward 18.39p
2026-08-15 17:10:03.473251: Last hour: net energy 0.0kWh, import 0.0kWh, export 0.0kWh, car 0kWh, load 0.22kWh, net cost 0.0p, import 0.0p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 17:10:03.573648: Today's energy total net 27.5kWh, import 27.5kWh, export 0.0kWh, cost 562.65p, import 512.67p, export 0.0p, carbon 0.0kg
2026-08-15 17:10:03.573845: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 17:10:03.780327: Using weighted-bucket historical load forecast over 14 days
2026-08-15 17:10:03.873114: Today's load divergence 89.99%, in-day adjustment 105.66%, damping 0.95x, yesterday 143.77% today 90.49% blend 28.47%
2026-08-15 17:10:03.873397: Today's predicted so far 10.3kWh with 0.0kWh car/iBoost excluded, 20.92kWh import ignored, and 10.3kWh forecast extra.
2026-08-15 17:10:03.873550: Today's actual load so far 8.92kWh with 0.0kWh car/iBoost excluded, and 20.92kWh import ignored.
2026-08-15 17:10:03.975169: Inverter 0: Type SK Sunsynk
2026-08-15 17:10:03.975465: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 17:10:03.975828: Reserve min: 7%, battery_min: 7%
2026-08-15 17:10:03.976031: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 17:10:03.976488: Inverter 0 SoC: 15.68kW 98%, current charge rate 5000W, current discharge rate 5250W, current battery power 258W, current battery voltage 51.2V, grid power -54W, load power 324W, PV Power 0W
2026-08-15 17:10:03.976808: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 17:10:03.981457: Inverter 0 scheduled charge enable is False
2026-08-15 17:10:03.981617: Inverter 0 charge windows currently []
2026-08-15 17:10:03.981789: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 17:10:03.982089: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 17:10:03.982237: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 17:10:03.982393: Inverter 0 scheduled discharge enable is False
2026-08-15 17:10:03.982689: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 17:10:03.982855: Inverter 0 discharge windows currently []
2026-08-15 17:10:03.982985: Note: Inverter does not support discharge freeze - disabled
2026-08-15 17:10:03.983109: Note: Inverter does not support charge freeze - disabled
2026-08-15 17:10:03.983217: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 17:10:04.078488: Dynamic load last period 0.00kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 17:10:04.078631: Plan was last updated on 2026-08-15 17:05:00+01:00 and is now 5.0 minutes old
2026-08-15 17:10:04.079048: Best charge window [ 16-08 11:30:00 - 16-08 12:30:00 @ 23.46p 13%, 16-08 12:30:00 - 16-08 13:00:00 @ 22.33p 20%, 16-08 13:00:00 - 16-08 13:30:00 @ 22.76p 19%, 16-08 13:30:00 - 16-08 15:00:00 @ 21.75p 100%, 16-08 15:00:00 - 16-08 16:00:00 @ 22.89p 63%, 17-08 02:00:00 - 17-08 03:30:00 @ 25.98p 13%, 17-08 12:30:00 - 17-08 17:00:00 @ 33.63p 100% ]
2026-08-15 17:10:04.079108: Best export window [  ]
2026-08-15 17:10:04.080424: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 17:10:04.085528: Load divergence over 8.0 hours mean 618.23W, min 292.8W, max 2447.4W, std dev 427.56W, divergence 34.58%
2026-08-15 17:10:04.122953: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 17:10:04.123243: LoadML is_calculating True
2026-08-15 17:10:04.123348: Not using thread pool as LoadML is calculating to avoid lockups
2026-08-15 17:10:04.180642: predict base end_record 08-17 12:35:00, final soc 1.12kWh, metric 1106.65p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 12:55:00, load 37.79kWh, PV 0.0kWh
2026-08-15 17:10:04.473187: Battery has 19.75 hours left - now at 15.68kWh
2026-08-15 17:10:04.545052: predict base10 end_record 08-17 12:35:00, final soc 1.12kWh, metric 1142.49p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 12:10:00, load 39.17kWh, PV 0.0kWh
2026-08-15 17:10:04.720908: predict best10 end_record 08-17 12:35:00, final soc 1.44kWh, metric 1085.73p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 04:55:00, load 39.17kWh, PV 0.0kWh
2026-08-15 17:10:04.927330: predict best end_record 08-17 12:35:00, final soc 1.51kWh, metric 1050.87p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 05:35:00, load 37.79kWh, PV 0.0kWh
2026-08-15 17:10:04.927918: Saving plan best values to HA entities
2026-08-15 17:10:05.331621: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 17:10:05.341678: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0.0
2026-08-15 17:10:05.353200: Best charging limit SoC's [2.0, 3.25, 3.0, 16.0, 10.0, 2.0, 16.0]kWh, export []kWh gives import battery 12.96kWh, house 4.03kWh, export 0.0kWh, metric 1050.87p, metric10 1085.73p
2026-08-15 17:10:05.474557: Marginal costs baseline metric (no standing charge): 950.8993
2026-08-15 17:10:05.926921: Marginal energy costs matrix computed: min=25.18 max=32.21
2026-08-15 17:10:06.154849: Rate array import [{'start': 1030, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1410, 'rate': 'expensive', 'range': '(29.8p - 32.9p)'}, {'start': 1410, 'end': 2400, 'rate': 'cheap', 'range': '(21.4p - 28.2p)'}, {'start': 2400, 'end': 2430, 'rate': 'expensive', 'range': '(36.8p)'}, {'start': 2430, 'end': 2580, 'rate': 'very expensive', 'range': '(37.5p - 45.3p)'}, {'start': 2580, 'end': 2850, 'rate': 'expensive', 'range': '(30.0p - 35.9p)'}, {'start': 2850, 'end': 3635, 'rate': 'cheap', 'range': '(22.3p - 28.2p)'}] export [{'start': 1030, 'end': 3635, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 17:10:06.156192: - Your estimated bill for today is £5.63 and tomorrow is £3.05
2026-08-15 17:10:06.156361: - Import rates are very expensive (38.5p - 43.8p) for the next 1 and three quarters hours and then expensive (29.8p - 32.9p) for the next 4 and a half hours.
2026-08-15 17:10:06.156500: - The battery is currently at 98% and is in eco mode for the next 18 hours.
2026-08-15 17:10:06.156626: - For the next 48 hours there will be no solar generation.
2026-08-15 17:10:06.156766: - You will run out of battery in 36 hours.
2026-08-15 17:10:06.156894: - Your next charge slot will be in 18 hours where import rates will be cheap (23.5p).
2026-08-15 17:10:06.157057: 
2026-08-15 17:10:06.220277: Plan calculation took 2.14 seconds
2026-08-15 17:10:06.224545: No high rate period found
2026-08-15 17:10:06.298641: Import threshold used for optimisation was 24.39p
2026-08-15 17:10:06.367068: Low import rate windows [0: 08-15 17:00:00 - 08-15 17:30:00 @ 38.46, 1: 08-15 17:30:00 - 08-15 18:00:00 @ 40.44, 2: 08-15 18:00:00 - 08-15 18:30:00 @ 41.55, 3: 08-15 18:30:00 - 08-15 19:00:00 @ 43.82, 4: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 5: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 6: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 7: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 8: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 9: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 10: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 11: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 12: 08-15 23:00:00 - 08-15 23:30:00 @ 30.02, 13: 08-15 23:30:00 - 08-16 00:00:00 @ 27.8, 14: 08-16 00:00:00 - 08-16 00:30:00 @ 28.18, 15: 08-16 00:30:00 - 08-16 01:00:00 @ 27.38, 16: 08-16 01:00:00 - 08-16 01:30:00 @ 26.7, 17: 08-16 01:30:00 - 08-16 02:00:00 @ 26.31, 18: 08-16 02:00:00 - 08-16 02:30:00 @ 25.79, 19: 08-16 02:30:00 - 08-16 03:00:00 @ 25.86, 20: 08-16 03:00:00 - 08-16 03:30:00 @ 26.13, 21: 08-16 03:30:00 - 08-16 04:00:00 @ 25.86, 22: 08-16 04:00:00 - 08-16 04:30:00 @ 26.27, 23: 08-16 04:30:00 - 08-16 05:00:00 @ 26.14, 24: 08-16 05:00:00 - 08-16 05:30:00 @ 27.03, 25: 08-16 05:30:00 - 08-16 06:00:00 @ 26.28, 26: 08-16 06:00:00 - 08-16 06:30:00 @ 25.68, 27: 08-16 06:30:00 - 08-16 07:00:00 @ 26.1, 28: 08-16 07:00:00 - 08-16 07:30:00 @ 24.28, 29: 08-16 07:30:00 - 08-16 08:00:00 @ 24.94, 30: 08-16 08:00:00 - 08-16 08:30:00 @ 24.06, 31: 08-16 08:30:00 - 08-16 09:00:00 @ 24.39, 32: 08-16 09:00:00 - 08-16 09:30:00 @ 24.66, 33: 08-16 09:30:00 - 08-16 10:00:00 @ 24.06, 34: 08-16 10:00:00 - 08-16 10:30:00 @ 25.5, 35: 08-16 10:30:00 - 08-16 11:00:00 @ 24.94, 36: 08-16 11:00:00 - 08-16 11:30:00 @ 24.25, 37: 08-16 11:30:00 - 08-16 12:00:00 @ 23.49, 38: 08-16 12:00:00 - 08-16 12:30:00 @ 23.43, 39: 08-16 12:30:00 - 08-16 13:00:00 @ 22.33, 40: 08-16 13:00:00 - 08-16 13:30:00 @ 22.76, 41: 08-16 13:30:00 - 08-16 14:00:00 @ 22.3, 42: 08-16 14:00:00 - 08-16 14:30:00 @ 21.41, 43: 08-16 14:30:00 - 08-16 15:00:00 @ 21.65, 44: 08-16 15:00:00 - 08-16 15:30:00 @ 22.95, 45: 08-16 15:30:00 - 08-16 16:00:00 @ 22.83, 46: 08-16 16:00:00 - 08-16 16:30:00 @ 36.84, 47: 08-16 16:30:00 - 08-16 17:00:00 @ 37.54, 48: 08-16 17:00:00 - 08-16 17:30:00 @ 41.79, 49: 08-16 17:30:00 - 08-16 18:00:00 @ 43.7, 50: 08-16 18:00:00 - 08-16 18:30:00 @ 44.34, 51: 08-16 19:00:00 - 08-16 19:30:00 @ 34.79, 52: 08-16 19:30:00 - 08-16 20:00:00 @ 34.76, 53: 08-16 20:00:00 - 08-16 20:30:00 @ 35.62, 54: 08-16 20:30:00 - 08-16 21:00:00 @ 35.3, 55: 08-16 21:00:00 - 08-16 21:30:00 @ 35.89, 56: 08-16 21:30:00 - 08-16 22:00:00 @ 35.71, 57: 08-16 22:00:00 - 08-16 22:30:00 @ 33.75, 58: 08-16 22:30:00 - 08-16 23:00:00 @ 32.0, 59: 08-16 23:00:00 - 08-16 23:30:00 @ 30.02, 60: 08-16 23:30:00 - 08-17 00:00:00 @ 27.8, 61: 08-17 00:00:00 - 08-17 00:30:00 @ 28.18, 62: 08-17 00:30:00 - 08-17 01:00:00 @ 27.38, 63: 08-17 01:00:00 - 08-17 01:30:00 @ 26.7, 64: 08-17 01:30:00 - 08-17 02:00:00 @ 26.31, 65: 08-17 02:00:00 - 08-17 02:30:00 @ 25.79, 66: 08-17 02:30:00 - 08-17 03:00:00 @ 25.86, 67: 08-17 03:00:00 - 08-17 03:30:00 @ 26.13, 68: 08-17 03:30:00 - 08-17 04:00:00 @ 25.86, 69: 08-17 04:00:00 - 08-17 04:30:00 @ 26.27, 70: 08-17 04:30:00 - 08-17 05:00:00 @ 26.14, 71: 08-17 05:00:00 - 08-17 05:30:00 @ 27.03, 72: 08-17 05:30:00 - 08-17 06:00:00 @ 26.28, 73: 08-17 06:00:00 - 08-17 06:30:00 @ 25.68, 74: 08-17 06:30:00 - 08-17 07:00:00 @ 26.1, 75: 08-17 07:00:00 - 08-17 07:30:00 @ 24.28, 76: 08-17 07:30:00 - 08-17 08:00:00 @ 24.94, 77: 08-17 08:00:00 - 08-17 08:30:00 @ 24.06, 78: 08-17 08:30:00 - 08-17 09:00:00 @ 24.39, 79: 08-17 09:00:00 - 08-17 09:30:00 @ 24.66, 80: 08-17 09:30:00 - 08-17 10:00:00 @ 24.06, 81: 08-17 10:00:00 - 08-17 10:30:00 @ 25.5, 82: 08-17 10:30:00 - 08-17 11:00:00 @ 24.94, 83: 08-17 11:00:00 - 08-17 11:30:00 @ 24.25, 84: 08-17 11:30:00 - 08-17 12:00:00 @ 23.49, 85: 08-17 12:00:00 - 08-17 12:30:00 @ 23.43, 86: 08-17 12:30:00 - 08-17 13:00:00 @ 22.33, 87: 08-17 13:00:00 - 08-17 13:30:00 @ 22.76, 88: 08-17 13:30:00 - 08-17 14:00:00 @ 22.3, 89: 08-17 14:00:00 - 08-17 14:30:00 @ 21.41, 90: 08-17 14:30:00 - 08-17 15:00:00 @ 21.65, 91: 08-17 15:00:00 - 08-17 15:30:00 @ 22.95, 92: 08-17 15:30:00 - 08-17 16:00:00 @ 22.83, 93: 08-17 16:00:00 - 08-17 16:30:00 @ 36.84, 94: 08-17 16:30:00 - 08-17 17:00:00 @ 37.54, 95: 08-17 17:00:00 - 08-17 17:30:00 @ 41.79]
2026-08-15 17:10:06.377398: Inverter 0 Charge window will be: 2026-08-16 11:30:00+01:00 - 2026-08-16 16:00:00+01:00 - current SoC 98%, target 13%
2026-08-15 17:10:06.377687: Inverter 0 disabled charge window while waiting for schedule (now 08-15 17:10:00 target set_window_minutes 30 charge start time 08-16 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 17:10:06.377872: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 17:10:06.378155: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 17:10:06.378313: No export window planned
2026-08-15 17:10:06.378514: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 17:10:06.378631: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 17:10:06.378888: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 17:10:06.379134: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 17:10:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 17:10:06.379269: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 17:10:06.379407: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 17:10:06.379579: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 17:10:06.379705: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 17:10:06.379842: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 17:10:06.379986: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 17:10:06.380104: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 17:10:06.380220: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 17:10:06.380334: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 17:10:06.380488: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 17:10:06.380615: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 17:10:06.380745: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 17:10:06.380868: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 17:10:06.381047: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 17:10:06.381174: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 17:10:06.381291: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 17:10:06.381398: Inverter 0 count register writes 0
2026-08-15 17:10:06.419512: Will not recompute the plan, it is 5.0 minutes old and max age is 10 minutes
2026-08-15 17:10:06.430028: Total inverter register writes now 826
2026-08-15 17:10:06.538869: Info: Completed run status Demand
2026-08-15 17:10:06.577672: Info: record_status Demand
2026-08-15 17:10:06.601035: Saved current settings to /config/predbat_config.json
2026-08-15 17:10:06.601492: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 17:10:31.791285: ML Predictor: Epoch 30/30: lr=0.00010 huber_loss=0.0052 val_mae=0.0029 kWh val_bias=-0.0005 kWh (-0.6%) combined=0.0017 kWh ema_combined=0.0019 kWh
2026-08-15 17:10:31.797390: ML Predictor: Restored best weights from epoch with val_mae=0.0029 kWh val_bias=-0.0005 kWh (-0.6%)
2026-08-15 17:10:31.798146: ML Predictor: Training complete, final val_mae=0.0029 kWh val_bias=-0.0005 kWh (-0.6%)
2026-08-15 17:10:36.146343: ML Predictor: AR rollout over holdout: ar_mae=0.0030 kWh ar_bias=-0.0005 kWh (-0.6%) [drift vs teacher-forced: +0.0001 kWh]
2026-08-15 17:10:36.150546: ML Predictor: Curriculum pass 4/5 complete, val_mae=0.0029 kWh
2026-08-15 17:10:36.151458: ML Predictor: Curriculum final pass 5/5: full dataset (57.1 days)
2026-08-15 17:10:36.151588: ML Predictor: Starting fine-tune training with 30 epochs
2026-08-15 17:10:36.729442: ML Predictor: Creating dataset with 1371 hours of training data, 48 hours validation
2026-08-15 17:10:41.836000: ML Predictor: Created 16170 training samples, 576 validation samples
2026-08-15 17:10:41.892651: ML Predictor: Normalization stats [ema-update alpha=0.1] target(mean=0.0586 std=0.0469) load(mean=0.0590 std=0.0472) pv(mean=0.0000 std=0.0100) temp(mean=19.5716 std=4.4630) import_rate(mean=25.5534 std=2.4986) export_rate(mean=0.0000 std=1.0000) time(mean=-0.1904 std=0.5255)
2026-08-15 17:10:41.953802: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 17:10:41.954110: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 17:10:41.954153: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 17:10:41.954311: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 17:10:41.954376: Note: Inverter does not support discharge freeze - disabled
2026-08-15 17:10:41.954419: Note: Inverter does not support charge freeze - disabled
2026-08-15 17:10:41.954460: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 17:10:41.975680: ML Predictor: Applied EMA normalization update (alpha=0.1) to track feature drift
2026-08-15 17:10:41.991141: ML Predictor: Reset Adam optimiser state for fine-tuning
2026-08-15 17:10:42.118892: ML Predictor: Baseline (pre-finetune) val_mae=0.0038 kWh val_bias=+0.0005 kWh
2026-08-15 17:11:14.240859: ML Predictor: Epoch 1/30: lr=0.00100 huber_loss=0.0089 val_mae=0.0047 kWh val_bias=-0.0011 kWh (-1.4%) combined=0.0024 kWh ema_combined=0.0024 kWh
2026-08-15 17:11:47.563450: ML Predictor: Epoch 2/30: lr=0.00100 huber_loss=0.0096 val_mae=0.0055 kWh val_bias=-0.0007 kWh (-1.0%) combined=0.0036 kWh ema_combined=0.0027 kWh
2026-08-15 17:12:20.824376: ML Predictor: Epoch 3/30: lr=0.00099 huber_loss=0.0125 val_mae=0.0057 kWh val_bias=-0.0023 kWh (-3.0%) combined=0.0049 kWh ema_combined=0.0034 kWh
2026-08-15 17:12:42.381431: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 17:12:42.381678: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 17:12:42.381723: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 17:12:42.381879: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 17:12:42.381922: Note: Inverter does not support discharge freeze - disabled
2026-08-15 17:12:42.381945: Note: Inverter does not support charge freeze - disabled
2026-08-15 17:12:42.381963: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 17:12:51.776419: ML Predictor: Epoch 4/30: lr=0.00098 huber_loss=0.0118 val_mae=0.0056 kWh val_bias=+0.0020 kWh (+2.6%) combined=0.0040 kWh ema_combined=0.0036 kWh
2026-08-15 17:13:25.180902: ML Predictor: Epoch 5/30: lr=0.00096 huber_loss=0.0144 val_mae=0.0050 kWh val_bias=-0.0003 kWh (-0.4%) combined=0.0025 kWh ema_combined=0.0033 kWh
2026-08-15 17:13:57.495431: ML Predictor: Epoch 6/30: lr=0.00094 huber_loss=0.0102 val_mae=0.0048 kWh val_bias=-0.0013 kWh (-1.8%) combined=0.0031 kWh ema_combined=0.0032 kWh
2026-08-15 17:14:28.067156: ML Predictor: Epoch 7/30: lr=0.00091 huber_loss=0.0101 val_mae=0.0052 kWh val_bias=-0.0022 kWh (-2.9%) combined=0.0043 kWh ema_combined=0.0036 kWh
2026-08-15 17:14:56.963116: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 17:14:56.963592: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 17:14:56.963658: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 17:14:56.963928: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 17:14:56.964064: Note: Inverter does not support discharge freeze - disabled
2026-08-15 17:14:56.964113: Note: Inverter does not support charge freeze - disabled
2026-08-15 17:14:56.964179: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 17:15:00.163791: --------------- PredBat - update at 2026-08-15 17:15:00+01:00 with clock skew 0 minutes, minutes now 1035
2026-08-15 17:15:00.164537: Saved current settings to /config/predbat_config.json
2026-08-15 17:15:00.164674: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 50.0 minutes
2026-08-15 17:15:00.164877: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.2, latest beta is v8.48.2
2026-08-15 17:15:00.164982: Autoupdate: There is an update pending v8.48.2 PV90 and second pass enabled by default, bug fixes - auto update is off
2026-08-15 17:15:00.209504: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 17:15:00.209692: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 17:15:00.210002: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 17:15:00.211081: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 17:15:00.211277: Predbat mode is set to Control charge & discharge
2026-08-15 17:15:00.541700: Found 21602 load_today datapoints going back 28 days
2026-08-15 17:15:00.542010: Using load_power data to fill gaps in load_today data
2026-08-15 17:15:01.889980: Processing 721 30-minute periods for power integration
2026-08-15 17:15:02.155844: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 17:15:02.155992: Car charging hold False, threshold 6.0kWh
2026-08-15 17:15:02.156039: Current data so far today: load 8.8kWh, import 27.5kWh, export 0.0kWh, PV 0kWh
2026-08-15 17:15:02.190096: Cars: SoC: [10.548]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 17:15:02.190690: Standing charge is set to 49.98p
2026-08-15 17:15:02.358484: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 17:15:02.358723: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 17:15:02.359226: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 395.0 minutes
2026-08-15 17:15:02.360035: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 395.0 minutes
2026-08-15 17:15:02.377236: Loaded 95 datapoints of futurerate analysis
2026-08-15 17:15:02.588620: Predicted future rates: ['08-15 00:00:00 => 28.69 / 20.01', '08-15 01:00:00 => 27.33 / 19.31', '08-15 02:00:00 => 26.31 / 18.8', '08-15 03:00:00 => 25.78 / 18.53', '08-15 04:00:00 => 25.59 / 18.43', '08-15 05:00:00 => 25.75 / 18.51', '08-15 06:00:00 => 25.34 / 18.3', '08-15 07:00:00 => 24.12 / 17.68', '08-15 08:00:00 => 22.82 / 17.01', '08-15 09:00:00 => 21.84 / 16.51', '08-15 10:00:00 => 20.22 / 15.68', '08-15 11:00:00 => 17.8 / 14.45', '08-15 12:00:00 => 16.16 / 13.61', '08-15 13:00:00 => 15.55 / 13.3', '08-15 14:00:00 => 15.14 / 13.09', '08-15 15:00:00 => 15.65 / 13.35', '08-15 16:00:00 => 32.68 / 16.13', '08-15 17:00:00 => 37.81 / 18.75', '08-15 18:00:00 => 42.15 / 20.96', '08-15 19:00:00 => 30.88 / 21.13', '08-15 20:00:00 => 31.43 / 21.41', '08-15 21:00:00 => 31.43 / 21.41', '08-15 22:00:00 => 30.37 / 20.87', '08-15 23:00:00 => 29.16 / 20.25', '08-16 00:00:00 => 28.62 / 19.97', '08-16 01:00:00 => 27.52 / 19.41', '08-16 02:00:00 => 26.55 / 18.92', '08-16 03:00:00 => 26.18 / 18.73', '08-16 04:00:00 => 26.12 / 18.7', '08-16 05:00:00 => 26.02 / 18.65', '08-16 06:00:00 => 25.78 / 18.53', '08-16 07:00:00 => 25.43 / 18.35', '08-16 08:00:00 => 24.63 / 17.94', '08-16 09:00:00 => 24.05 / 17.64', '08-16 10:00:00 => 24.59 / 17.92', '08-16 11:00:00 => 24.5 / 17.87', '08-16 12:00:00 => 23.58 / 17.4', '08-16 13:00:00 => 22.93 / 17.07', '08-16 14:00:00 => 21.8 / 16.49', '08-16 15:00:00 => 21.8 / 16.49', '08-16 16:00:00 => 36.93 / 18.3']
2026-08-15 17:15:02.636650: Rate min forward looking: now 21.41p at end of forecast 21.41p
2026-08-15 17:15:02.637651: Import rates: min 21.41p, max 45.28p, average 28.39p
2026-08-15 17:15:02.684433: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 17:15:02.684576: Rate thresholds (for charge/export) are import 44.78p (0.0p), export -0.1p (0.0p)
2026-08-15 17:15:02.686731: High export rate found rates in range 99p to -99p
2026-08-15 17:15:02.790435: Low Import rate found rates in range 21.41p to 44.34p
2026-08-15 17:15:02.790724: Car 0 charging is not planned as it is not plugged in
2026-08-15 17:15:02.806679: Battery level now 15.68kWh, -1hr ago 15.84kWh, at midnight 1.66kWh, battery value change in the last hour -2.94p, change today 257.94p, rate_forward 18.39p
2026-08-15 17:15:02.807267: Last hour: net energy 0.0kWh, import 0.0kWh, export 0.0kWh, car 0kWh, load 0.2kWh, net cost 0.0p, import 0.0p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 17:15:02.937174: Today's energy total net 27.5kWh, import 27.5kWh, export 0.0kWh, cost 562.65p, import 512.67p, export 0.0p, carbon 0.0kg
2026-08-15 17:15:02.937494: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 17:15:03.126954: Using weighted-bucket historical load forecast over 14 days
2026-08-15 17:15:03.167274: Today's load divergence 89.58%, in-day adjustment 105.19%, damping 0.95x, yesterday 143.77% today 90.1% blend 28.12%
2026-08-15 17:15:03.167628: Today's predicted so far 10.31kWh with 0.0kWh car/iBoost excluded, 20.9kWh import ignored, and 10.31kWh forecast extra.
2026-08-15 17:15:03.167689: Today's actual load so far 8.87kWh with 0.0kWh car/iBoost excluded, and 20.9kWh import ignored.
2026-08-15 17:15:03.241460: Inverter 0: Type SK Sunsynk
2026-08-15 17:15:03.241578: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 17:15:03.241867: Reserve min: 7%, battery_min: 7%
2026-08-15 17:15:03.241986: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 17:15:03.242384: Inverter 0 SoC: 15.58kW 97%, current charge rate 5000W, current discharge rate 5250W, current battery power 291W, current battery voltage 51.2V, grid power -53W, load power 356W, PV Power 0W
2026-08-15 17:15:03.242613: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 17:15:03.242738: Inverter 0 scheduled charge enable is False
2026-08-15 17:15:03.242785: Inverter 0 charge windows currently []
2026-08-15 17:15:03.242845: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 17:15:03.242997: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 17:15:03.243045: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 17:15:03.243090: Inverter 0 scheduled discharge enable is False
2026-08-15 17:15:03.243255: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 17:15:03.243302: Inverter 0 discharge windows currently []
2026-08-15 17:15:03.243332: Note: Inverter does not support discharge freeze - disabled
2026-08-15 17:15:03.243367: Note: Inverter does not support charge freeze - disabled
2026-08-15 17:15:03.243391: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 17:15:03.476205: Dynamic load last period 0.00kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 17:15:03.476331: Plan was last updated on 2026-08-15 17:05:00+01:00 and is now 10.0 minutes old
2026-08-15 17:15:03.476692: Best charge window [ 16-08 11:30:00 - 16-08 12:30:00 @ 23.46p 13%, 16-08 12:30:00 - 16-08 13:00:00 @ 22.33p 20%, 16-08 13:00:00 - 16-08 13:30:00 @ 22.76p 19%, 16-08 13:30:00 - 16-08 15:00:00 @ 21.75p 100%, 16-08 15:00:00 - 16-08 16:00:00 @ 22.89p 63%, 17-08 02:00:00 - 17-08 03:30:00 @ 25.98p 13%, 17-08 12:30:00 - 17-08 17:00:00 @ 33.63p 100% ]
2026-08-15 17:15:03.476745: Best export window [  ]
2026-08-15 17:15:03.477647: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 17:15:03.481183: Load divergence over 8.0 hours mean 624.59W, min 291.6W, max 2127.6W, std dev 413.27W, divergence 33.08%
2026-08-15 17:15:03.520658: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 17:15:03.520858: LoadML is_calculating True
2026-08-15 17:15:03.521839: Not using thread pool as LoadML is calculating to avoid lockups
2026-08-15 17:15:03.631229: predict base end_record 08-17 12:40:00, final soc 1.12kWh, metric 1109.01p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 12:55:00, load 37.8kWh, PV 0.0kWh
2026-08-15 17:15:03.848640: Battery has 19.67 hours left - now at 15.58kWh
2026-08-15 17:15:03.952080: predict base10 end_record 08-17 12:40:00, final soc 1.12kWh, metric 1144.88p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 12:10:00, load 39.18kWh, PV 0.0kWh
2026-08-15 17:15:04.075177: predict best10 end_record 08-17 12:40:00, final soc 1.77kWh, metric 1095.9p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 04:55:00, load 39.18kWh, PV 0.0kWh
2026-08-15 17:15:04.263693: predict best end_record 08-17 12:40:00, final soc 1.9kWh, metric 1062.38p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 05:35:00, load 37.8kWh, PV 0.0kWh
2026-08-15 17:15:04.293044: Saving plan best values to HA entities
2026-08-15 17:15:04.635131: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 17:15:04.651416: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0.0
2026-08-15 17:15:04.675993: Best charging limit SoC's [2.0, 3.25, 3.0, 16.0, 10.0, 2.0, 16.0]kWh, export []kWh gives import battery 13.48kWh, house 4.02kWh, export 0.0kWh, metric 1062.38p, metric10 1095.9p
2026-08-15 17:15:04.838413: Marginal costs baseline metric (no standing charge): 962.4101
2026-08-15 17:15:05.252721: Marginal energy costs matrix computed: min=25.22 max=32.38
2026-08-15 17:15:05.489694: Rate array import [{'start': 1035, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1410, 'rate': 'expensive', 'range': '(29.8p - 32.9p)'}, {'start': 1410, 'end': 2400, 'rate': 'cheap', 'range': '(21.4p - 28.2p)'}, {'start': 2400, 'end': 2430, 'rate': 'expensive', 'range': '(36.8p)'}, {'start': 2430, 'end': 2580, 'rate': 'very expensive', 'range': '(37.5p - 45.3p)'}, {'start': 2580, 'end': 2850, 'rate': 'expensive', 'range': '(30.0p - 35.9p)'}, {'start': 2850, 'end': 3640, 'rate': 'cheap', 'range': '(22.3p - 28.2p)'}] export [{'start': 1035, 'end': 3640, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 17:15:05.491180: - Your estimated bill for today is £5.63 and tomorrow is £3.05
2026-08-15 17:15:05.491396: - Import rates are very expensive (38.5p - 43.8p) for the next 1 and three quarters hours and then expensive (29.8p - 32.9p) for the next 4 and a half hours.
2026-08-15 17:15:05.491596: - The battery is currently at 97% and is in eco mode for the next 18 hours.
2026-08-15 17:15:05.491750: - For the next 48 hours there will be no solar generation.
2026-08-15 17:15:05.491927: - You will run out of battery in 36 hours.
2026-08-15 17:15:05.492082: - Your next charge slot will be in 18 hours where import rates will be cheap (23.5p).
2026-08-15 17:15:05.492234: 
2026-08-15 17:15:05.559421: Plan calculation took 2.08 seconds
2026-08-15 17:15:05.563039: No high rate period found
2026-08-15 17:15:05.628414: Import threshold used for optimisation was 24.39p
2026-08-15 17:15:05.765024: Low import rate windows [0: 08-15 17:00:00 - 08-15 17:30:00 @ 38.46, 1: 08-15 17:30:00 - 08-15 18:00:00 @ 40.44, 2: 08-15 18:00:00 - 08-15 18:30:00 @ 41.55, 3: 08-15 18:30:00 - 08-15 19:00:00 @ 43.82, 4: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 5: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 6: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 7: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 8: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 9: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 10: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 11: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 12: 08-15 23:00:00 - 08-15 23:30:00 @ 30.02, 13: 08-15 23:30:00 - 08-16 00:00:00 @ 27.8, 14: 08-16 00:00:00 - 08-16 00:30:00 @ 28.18, 15: 08-16 00:30:00 - 08-16 01:00:00 @ 27.38, 16: 08-16 01:00:00 - 08-16 01:30:00 @ 26.7, 17: 08-16 01:30:00 - 08-16 02:00:00 @ 26.31, 18: 08-16 02:00:00 - 08-16 02:30:00 @ 25.79, 19: 08-16 02:30:00 - 08-16 03:00:00 @ 25.86, 20: 08-16 03:00:00 - 08-16 03:30:00 @ 26.13, 21: 08-16 03:30:00 - 08-16 04:00:00 @ 25.86, 22: 08-16 04:00:00 - 08-16 04:30:00 @ 26.27, 23: 08-16 04:30:00 - 08-16 05:00:00 @ 26.14, 24: 08-16 05:00:00 - 08-16 05:30:00 @ 27.03, 25: 08-16 05:30:00 - 08-16 06:00:00 @ 26.28, 26: 08-16 06:00:00 - 08-16 06:30:00 @ 25.68, 27: 08-16 06:30:00 - 08-16 07:00:00 @ 26.1, 28: 08-16 07:00:00 - 08-16 07:30:00 @ 24.28, 29: 08-16 07:30:00 - 08-16 08:00:00 @ 24.94, 30: 08-16 08:00:00 - 08-16 08:30:00 @ 24.06, 31: 08-16 08:30:00 - 08-16 09:00:00 @ 24.39, 32: 08-16 09:00:00 - 08-16 09:30:00 @ 24.66, 33: 08-16 09:30:00 - 08-16 10:00:00 @ 24.06, 34: 08-16 10:00:00 - 08-16 10:30:00 @ 25.5, 35: 08-16 10:30:00 - 08-16 11:00:00 @ 24.94, 36: 08-16 11:00:00 - 08-16 11:30:00 @ 24.25, 37: 08-16 11:30:00 - 08-16 12:00:00 @ 23.49, 38: 08-16 12:00:00 - 08-16 12:30:00 @ 23.43, 39: 08-16 12:30:00 - 08-16 13:00:00 @ 22.33, 40: 08-16 13:00:00 - 08-16 13:30:00 @ 22.76, 41: 08-16 13:30:00 - 08-16 14:00:00 @ 22.3, 42: 08-16 14:00:00 - 08-16 14:30:00 @ 21.41, 43: 08-16 14:30:00 - 08-16 15:00:00 @ 21.65, 44: 08-16 15:00:00 - 08-16 15:30:00 @ 22.95, 45: 08-16 15:30:00 - 08-16 16:00:00 @ 22.83, 46: 08-16 16:00:00 - 08-16 16:30:00 @ 36.84, 47: 08-16 16:30:00 - 08-16 17:00:00 @ 37.54, 48: 08-16 17:00:00 - 08-16 17:30:00 @ 41.79, 49: 08-16 17:30:00 - 08-16 18:00:00 @ 43.7, 50: 08-16 18:00:00 - 08-16 18:30:00 @ 44.34, 51: 08-16 19:00:00 - 08-16 19:30:00 @ 34.79, 52: 08-16 19:30:00 - 08-16 20:00:00 @ 34.76, 53: 08-16 20:00:00 - 08-16 20:30:00 @ 35.62, 54: 08-16 20:30:00 - 08-16 21:00:00 @ 35.3, 55: 08-16 21:00:00 - 08-16 21:30:00 @ 35.89, 56: 08-16 21:30:00 - 08-16 22:00:00 @ 35.71, 57: 08-16 22:00:00 - 08-16 22:30:00 @ 33.75, 58: 08-16 22:30:00 - 08-16 23:00:00 @ 32.0, 59: 08-16 23:00:00 - 08-16 23:30:00 @ 30.02, 60: 08-16 23:30:00 - 08-17 00:00:00 @ 27.8, 61: 08-17 00:00:00 - 08-17 00:30:00 @ 28.18, 62: 08-17 00:30:00 - 08-17 01:00:00 @ 27.38, 63: 08-17 01:00:00 - 08-17 01:30:00 @ 26.7, 64: 08-17 01:30:00 - 08-17 02:00:00 @ 26.31, 65: 08-17 02:00:00 - 08-17 02:30:00 @ 25.79, 66: 08-17 02:30:00 - 08-17 03:00:00 @ 25.86, 67: 08-17 03:00:00 - 08-17 03:30:00 @ 26.13, 68: 08-17 03:30:00 - 08-17 04:00:00 @ 25.86, 69: 08-17 04:00:00 - 08-17 04:30:00 @ 26.27, 70: 08-17 04:30:00 - 08-17 05:00:00 @ 26.14, 71: 08-17 05:00:00 - 08-17 05:30:00 @ 27.03, 72: 08-17 05:30:00 - 08-17 06:00:00 @ 26.28, 73: 08-17 06:00:00 - 08-17 06:30:00 @ 25.68, 74: 08-17 06:30:00 - 08-17 07:00:00 @ 26.1, 75: 08-17 07:00:00 - 08-17 07:30:00 @ 24.28, 76: 08-17 07:30:00 - 08-17 08:00:00 @ 24.94, 77: 08-17 08:00:00 - 08-17 08:30:00 @ 24.06, 78: 08-17 08:30:00 - 08-17 09:00:00 @ 24.39, 79: 08-17 09:00:00 - 08-17 09:30:00 @ 24.66, 80: 08-17 09:30:00 - 08-17 10:00:00 @ 24.06, 81: 08-17 10:00:00 - 08-17 10:30:00 @ 25.5, 82: 08-17 10:30:00 - 08-17 11:00:00 @ 24.94, 83: 08-17 11:00:00 - 08-17 11:30:00 @ 24.25, 84: 08-17 11:30:00 - 08-17 12:00:00 @ 23.49, 85: 08-17 12:00:00 - 08-17 12:30:00 @ 23.43, 86: 08-17 12:30:00 - 08-17 13:00:00 @ 22.33, 87: 08-17 13:00:00 - 08-17 13:30:00 @ 22.76, 88: 08-17 13:30:00 - 08-17 14:00:00 @ 22.3, 89: 08-17 14:00:00 - 08-17 14:30:00 @ 21.41, 90: 08-17 14:30:00 - 08-17 15:00:00 @ 21.65, 91: 08-17 15:00:00 - 08-17 15:30:00 @ 22.95, 92: 08-17 15:30:00 - 08-17 16:00:00 @ 22.83, 93: 08-17 16:00:00 - 08-17 16:30:00 @ 36.84, 94: 08-17 16:30:00 - 08-17 17:00:00 @ 37.54, 95: 08-17 17:00:00 - 08-17 17:30:00 @ 41.79]
2026-08-15 17:15:05.789524: Inverter 0 Charge window will be: 2026-08-16 11:30:00+01:00 - 2026-08-16 16:00:00+01:00 - current SoC 97%, target 13%
2026-08-15 17:15:05.789735: Inverter 0 disabled charge window while waiting for schedule (now 08-15 17:15:00 target set_window_minutes 30 charge start time 08-16 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 17:15:05.789860: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 17:15:05.790120: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 17:15:05.790248: No export window planned
2026-08-15 17:15:05.790394: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 17:15:05.790443: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 17:15:05.790642: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 17:15:05.790862: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 17:15:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 17:15:05.790931: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 17:15:05.791011: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 17:15:05.791129: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 17:15:05.791185: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 17:15:05.791236: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 17:15:05.791290: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 17:15:05.791334: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 17:15:05.791383: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 17:15:05.791432: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 17:15:05.791530: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 17:15:05.791584: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 17:15:05.791635: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 17:15:05.791677: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 17:15:05.791725: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 17:15:05.791767: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 17:15:05.791835: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 17:15:05.791874: Inverter 0 count register writes 0
2026-08-15 17:15:05.823602: Will recompute the plan as it is now 10.0 minutes old and will exceed the max age of 10 minutes before the next run
2026-08-15 17:15:05.823868: Recompute is saving previous plan...
2026-08-15 17:15:05.828498: Best charge window [ 15-08 17:00:00 - 15-08 17:30:00 @ 38.46p 0%, 15-08 17:30:00 - 15-08 18:00:00 @ 40.44p 0%, 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 0%, 15-08 18:30:00 - 15-08 19:00:00 @ 43.82p 0%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 0%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 0%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 0%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 0%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 30.02p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 27.8p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.18p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.38p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 26.7p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.31p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.79p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 25.86p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.13p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 25.86p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.27p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.14p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 27.03p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.28p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.68p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 26.1p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 24.28p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 24.94p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.06p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.39p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.66p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.06p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 25.5p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 24.94p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 24.25p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 23.49p 0%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.43p 0%, 16-08 12:30:00 - 16-08 13:00:00 @ 22.33p 0%, 16-08 13:00:00 - 16-08 13:30:00 @ 22.76p 0%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 0%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 0%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.65p 0%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.95p 0%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.83p 0%, 16-08 16:00:00 - 16-08 16:30:00 @ 36.84p 0%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.54p 0%, 16-08 17:00:00 - 16-08 17:30:00 @ 41.79p 0%, 16-08 17:30:00 - 16-08 18:00:00 @ 43.7p 0%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.34p 0%, 16-08 19:00:00 - 16-08 19:30:00 @ 34.79p 0%, 16-08 19:30:00 - 16-08 20:00:00 @ 34.76p 0%, 16-08 20:00:00 - 16-08 20:30:00 @ 35.62p 0%, 16-08 20:30:00 - 16-08 21:00:00 @ 35.3p 0%, 16-08 21:00:00 - 16-08 21:30:00 @ 35.89p 0%, 16-08 21:30:00 - 16-08 22:00:00 @ 35.71p 0%, 16-08 22:00:00 - 16-08 22:30:00 @ 33.75p 0%, 16-08 22:30:00 - 16-08 23:00:00 @ 32.0p 0%, 16-08 23:00:00 - 16-08 23:30:00 @ 30.02p 0%, 16-08 23:30:00 - 17-08 00:00:00 @ 27.8p 0%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.18p 0%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.38p 0%, 17-08 01:00:00 - 17-08 01:30:00 @ 26.7p 0%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.31p 0%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.79p 0%, 17-08 02:30:00 - 17-08 03:00:00 @ 25.86p 0%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.13p 0%, 17-08 03:30:00 - 17-08 04:00:00 @ 25.86p 0%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.27p 0%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.14p 0%, 17-08 05:00:00 - 17-08 05:30:00 @ 27.03p 0%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.28p 0%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.68p 0%, 17-08 06:30:00 - 17-08 07:00:00 @ 26.1p 0%, 17-08 07:00:00 - 17-08 07:30:00 @ 24.28p 0%, 17-08 07:30:00 - 17-08 08:00:00 @ 24.94p 0%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.06p 0%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.39p 0%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.66p 0%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.06p 0%, 17-08 10:00:00 - 17-08 10:30:00 @ 25.5p 0%, 17-08 10:30:00 - 17-08 11:00:00 @ 24.94p 0%, 17-08 11:00:00 - 17-08 11:30:00 @ 24.25p 0%, 17-08 11:30:00 - 17-08 12:00:00 @ 23.49p 0%, 17-08 12:00:00 - 17-08 12:30:00 @ 23.43p 0%, 17-08 12:30:00 - 17-08 13:00:00 @ 22.33p 0%, 17-08 13:00:00 - 17-08 13:30:00 @ 22.76p 0%, 17-08 13:30:00 - 17-08 14:00:00 @ 22.3p 0%, 17-08 14:00:00 - 17-08 14:30:00 @ 21.41p 0%, 17-08 14:30:00 - 17-08 15:00:00 @ 21.65p 0%, 17-08 15:00:00 - 17-08 15:30:00 @ 22.95p 0%, 17-08 15:30:00 - 17-08 16:00:00 @ 22.83p 0%, 17-08 16:00:00 - 17-08 16:30:00 @ 36.84p 0%, 17-08 16:30:00 - 17-08 17:00:00 @ 37.54p 0%, 17-08 17:00:00 - 17-08 17:30:00 @ 41.79p 0% ]
2026-08-15 17:15:05.828607: Best export window [  ]
2026-08-15 17:15:05.829969: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 17:15:05.837060: Load divergence over 8.0 hours mean 624.59W, min 291.6W, max 2127.6W, std dev 413.27W, divergence 33.08%
2026-08-15 17:15:05.862588: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 17:15:05.863071: LoadML is_calculating True
2026-08-15 17:15:05.863127: Not using thread pool as LoadML is calculating to avoid lockups
2026-08-15 17:15:05.872192: Calculate Best options: mode(Control charge & discharge), calculate_export_oncharge(False), calculate_export_on_pv(True), set_export_freeze_only(False), set_discharge_during_charge(True), combine_charge_slots(False), combine_export_slots(False), combine_rate_threshold(0.0), best_soc_min(0.0 kWh), best_soc_max(0.0 kWh), best_soc_keep(0.0 kWh), inverter_loss(4%), battery_loss(3%), battery_loss_discharge (3%), inverter_hybrid(True), metric_min_improvement(0.0p), metric_min_improvement_export(0.1p), metric_min_improvement_export_freeze(0.1p), metric_battery_cycle(0.0p/kWh), metric_battery_value_scaling(1.0 x) 
2026-08-15 17:15:05.874377: Optimise levels pass started at 2026-08-15 17:15:05
2026-08-15 17:15:05.874512: Optimise all windows, total charge 95 export 1
2026-08-15 17:15:08.572117: ML Predictor: Epoch 8/30: lr=0.00088 huber_loss=0.0093 val_mae=0.0043 kWh val_bias=-0.0016 kWh (-2.1%) combined=0.0034 kWh ema_combined=0.0035 kWh
2026-08-15 17:15:12.975283: >> Region optimisation pass width 960 gives best_metric 1000.2p, best_cost 1014.83p, best_cycle 39.24kWh, best_import 20.14kWh
2026-08-15 17:15:13.915130: >> Region optimisation pass width 480 gives best_metric 1000.2p, best_cost 1014.83p, best_cycle 39.24kWh, best_import 20.14kWh
2026-08-15 17:15:15.441301: >> Region optimisation pass width 240 gives best_metric 1000.2p, best_cost 1014.83p, best_cycle 39.24kWh, best_import 20.14kWh
2026-08-15 17:15:18.324854: >> Region optimisation pass width 120 gives best_metric 1000.2p, best_cost 1014.83p, best_cycle 39.24kWh, best_import 20.14kWh
2026-08-15 17:15:18.325123: Calculated end_record as 08-17 12:30:00 based on best_price 22.76p, next_charge_start 08-16 12:30:00, max_windows 86
2026-08-15 17:15:18.325184: Optimise levels pass ended at 2026-08-15 17:15:18, duration 12.5 seconds tried 314 combinations
2026-08-15 17:15:18.325220: Set best_price_charge_level 24.4p, best_price_export_level 0p, best_price_charge 22.76p, best_cost_export 0p, best_metric 1000.2p, best_keep 0kWh, best_cycle 39.24kWh, best_carbon 0kg, best_import 20.14kWh
2026-08-15 17:15:18.341183: Starting detailed optimisation end_record 08-17 12:30:00, best_price_charge 22.76p, best_price_export 0p. lowest_price_charge 21.41p with charge limits [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12.5, 12.5, 12.5, 12.5, 12.5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0]kWh and export limits []kWh
2026-08-15 17:16:01.238219: Tweak plan optimisation started metric 924.47p, cost 939.78p
2026-08-15 17:16:03.026643: Tweak optimisation finished metric 924.47p, cost 939.78p, metric_keep 0kWh, cycle 32.62kWh, carbon 0kg, import 16.72kWh, changed 8 window(s)
2026-08-15 17:16:03.055857: Swap charge optimisation started metric 924.47p, cost 939.78p, min_improvement_swap 0.1p
2026-08-15 17:16:21.251234: Swap charge optimisation finished metric 924.47p, cost 939.78p
2026-08-15 17:16:21.555142: Pruned 5 dead plan slot(s) in 15 trial(s), nominal metric 919.18p -> 919.18p, plan now metric 924.71p, cost 939.78p, cycle 32.62kWh, import 16.72kWh
2026-08-15 17:16:21.583513: Raw charge windows [ 15-08 17:00:00 - 15-08 17:30:00 @ 38.46p 0%, 15-08 17:30:00 - 15-08 18:00:00 @ 40.44p 0%, 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 0%, 15-08 18:30:00 - 15-08 19:00:00 @ 43.82p 0%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 0%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 0%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 0%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 0%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 30.02p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 27.8p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.18p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.38p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 26.7p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.31p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.79p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 25.86p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.13p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 25.86p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.27p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.14p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 27.03p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.28p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.68p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 26.1p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 24.28p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 24.94p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.06p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.39p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.66p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.06p 25%, 16-08 10:00:00 - 16-08 10:30:00 @ 25.5p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 24.94p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 24.25p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 23.49p 16%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.43p 16%, 16-08 12:30:00 - 16-08 13:00:00 @ 22.33p 31%, 16-08 13:00:00 - 16-08 13:30:00 @ 22.76p 31%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 100%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 78%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.65p 78%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.95p 75%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.83p 75%, 16-08 16:00:00 - 16-08 16:30:00 @ 36.84p 0%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.54p 0%, 16-08 17:00:00 - 16-08 17:30:00 @ 41.79p 0%, 16-08 17:30:00 - 16-08 18:00:00 @ 43.7p 0%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.34p 0%, 16-08 19:00:00 - 16-08 19:30:00 @ 34.79p 0%, 16-08 19:30:00 - 16-08 20:00:00 @ 34.76p 0%, 16-08 20:00:00 - 16-08 20:30:00 @ 35.62p 0%, 16-08 20:30:00 - 16-08 21:00:00 @ 35.3p 0%, 16-08 21:00:00 - 16-08 21:30:00 @ 35.89p 0%, 16-08 21:30:00 - 16-08 22:00:00 @ 35.71p 0%, 16-08 22:00:00 - 16-08 22:30:00 @ 33.75p 0%, 16-08 22:30:00 - 16-08 23:00:00 @ 32.0p 0%, 16-08 23:00:00 - 16-08 23:30:00 @ 30.02p 0%, 16-08 23:30:00 - 17-08 00:00:00 @ 27.8p 0%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.18p 0%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.38p 0%, 17-08 01:00:00 - 17-08 01:30:00 @ 26.7p 0%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.31p 0%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.79p 0%, 17-08 02:30:00 - 17-08 03:00:00 @ 25.86p 0%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.13p 0%, 17-08 03:30:00 - 17-08 04:00:00 @ 25.86p 0%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.27p 0%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.14p 0%, 17-08 05:00:00 - 17-08 05:30:00 @ 27.03p 0%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.28p 0%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.68p 0%, 17-08 06:30:00 - 17-08 07:00:00 @ 26.1p 0%, 17-08 07:00:00 - 17-08 07:30:00 @ 24.28p 0%, 17-08 07:30:00 - 17-08 08:00:00 @ 24.94p 0%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.06p 0%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.39p 0%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.66p 0%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.06p 0%, 17-08 10:00:00 - 17-08 10:30:00 @ 25.5p 0%, 17-08 10:30:00 - 17-08 11:00:00 @ 24.94p 0%, 17-08 11:00:00 - 17-08 11:30:00 @ 24.25p 0%, 17-08 11:30:00 - 17-08 12:00:00 @ 23.49p 0%, 17-08 12:00:00 - 17-08 12:30:00 @ 23.43p 0%, 17-08 12:30:00 - 17-08 13:00:00 @ 22.33p 100%, 17-08 13:00:00 - 17-08 13:30:00 @ 22.76p 100%, 17-08 13:30:00 - 17-08 14:00:00 @ 22.3p 100%, 17-08 14:00:00 - 17-08 14:30:00 @ 21.41p 100%, 17-08 14:30:00 - 17-08 15:00:00 @ 21.65p 100%, 17-08 15:00:00 - 17-08 15:30:00 @ 22.95p 100%, 17-08 15:30:00 - 17-08 16:00:00 @ 22.83p 100%, 17-08 16:00:00 - 17-08 16:30:00 @ 36.84p 100%, 17-08 16:30:00 - 17-08 17:00:00 @ 37.54p 100%, 17-08 17:00:00 - 17-08 17:30:00 @ 41.79p 100% ] reserve 1.12
2026-08-15 17:16:21.584406: Unclipped charge windows [ 16-08 09:30:00 - 16-08 10:00:00 @ 24.06p 25%, 16-08 11:30:00 - 16-08 12:30:00 @ 23.46p 16%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 31%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 100%, 16-08 14:00:00 - 16-08 15:00:00 @ 21.53p 78%, 16-08 15:00:00 - 16-08 16:00:00 @ 22.89p 75%, 17-08 12:30:00 - 17-08 17:30:00 @ 37.71p 100% ] reserve 1.12
2026-08-15 17:16:21.597342: Unfiltered charge windows [ 16-08 09:30:00 - 16-08 10:00:00 @ 24.06p 25%, 16-08 11:30:00 - 16-08 12:30:00 @ 23.46p 16%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 31%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 100%, 16-08 14:00:00 - 16-08 15:00:00 @ 21.53p 100%, 16-08 15:00:00 - 16-08 16:00:00 @ 22.89p 75%, 17-08 12:30:00 - 17-08 17:30:00 @ 37.71p 100% ] reserve 1.12
2026-08-15 17:16:21.597889: Filtered charge windows [ 16-08 09:30:00 - 16-08 10:00:00 @ 24.06p 25%, 16-08 11:30:00 - 16-08 12:30:00 @ 23.46p 16%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 31%, 16-08 13:30:00 - 16-08 15:00:00 @ 21.91p 100%, 16-08 15:00:00 - 16-08 16:00:00 @ 22.89p 75%, 17-08 12:30:00 - 17-08 17:30:00 @ 37.71p 100% ] reserve 1.12
2026-08-15 17:16:21.670932: Previous plan best metric is 925.34 (cost 940.66) and new plan best metric is 924.47 (cost 939.78)
2026-08-15 17:16:21.681958: New plan metric is not significantly better (metric_min_improvement_plan 2.0) than previous plan, using previous plan
2026-08-15 17:16:21.682462: Plan valid is now true after recompute was False
2026-08-15 17:16:21.736395: predict base end_record 08-17 12:30:00, final soc 1.12kWh, metric 1105.86p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 12:55:00, load 37.66kWh, PV 0.0kWh
2026-08-15 17:16:21.887900: Battery has 19.67 hours left - now at 15.58kWh
2026-08-15 17:16:21.939125: predict base10 end_record 08-17 12:30:00, final soc 1.12kWh, metric 1141.58p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 12:10:00, load 39.04kWh, PV 0.0kWh
2026-08-15 17:16:22.066567: predict best10 end_record 08-17 12:30:00, final soc 1.12kWh, metric 1077.09p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 04:55:00, load 39.04kWh, PV 0.0kWh
2026-08-15 17:16:22.226486: predict best end_record 08-17 12:30:00, final soc 1.12kWh, metric 1040.62p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 05:35:00, load 37.66kWh, PV 0.0kWh
2026-08-15 17:16:22.227128: Saving plan best values to HA entities
2026-08-15 17:16:22.538974: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 17:16:22.547242: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0.0
2026-08-15 17:16:22.555538: Best charging limit SoC's [2.0, 3.25, 3.0, 16.0, 10.0, 2.0, 16.0]kWh, export []kWh gives import battery 12.5kWh, house 4.02kWh, export 0.0kWh, metric 1040.62p, metric10 1077.09p
2026-08-15 17:16:22.741882: Marginal costs baseline metric (no standing charge): 940.6565
2026-08-15 17:16:23.226994: ML Predictor: Epoch 9/30: lr=0.00084 huber_loss=0.0093 val_mae=0.0051 kWh val_bias=-0.0014 kWh (-1.9%) combined=0.0033 kWh ema_combined=0.0034 kWh
2026-08-15 17:16:23.269482: Marginal energy costs matrix computed: min=25.22 max=32.38
2026-08-15 17:16:23.474091: Rate array import [{'start': 1035, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1410, 'rate': 'expensive', 'range': '(29.8p - 32.9p)'}, {'start': 1410, 'end': 2400, 'rate': 'cheap', 'range': '(21.4p - 28.2p)'}, {'start': 2400, 'end': 2430, 'rate': 'expensive', 'range': '(36.8p)'}, {'start': 2430, 'end': 2580, 'rate': 'very expensive', 'range': '(37.5p - 45.3p)'}, {'start': 2580, 'end': 2850, 'rate': 'expensive', 'range': '(30.0p - 35.9p)'}, {'start': 2850, 'end': 3630, 'rate': 'cheap', 'range': '(23.4p - 28.2p)'}] export [{'start': 1035, 'end': 3630, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 17:16:23.483191: - Your estimated bill for today is £5.63 and tomorrow is £3.05
2026-08-15 17:16:23.483292: - Import rates are very expensive (38.5p - 43.8p) for the next 1 and three quarters hours and then expensive (29.8p - 32.9p) for the next 4 and a half hours.
2026-08-15 17:16:23.483326: - The battery is currently at 97% and is in eco mode for the next 18 hours.
2026-08-15 17:16:23.483416: - For the next 48 hours there will be no solar generation.
2026-08-15 17:16:23.483544: - You will run out of battery in 36 hours.
2026-08-15 17:16:23.483587: - Your next charge slot will be in 18 hours where import rates will be cheap (23.5p).
2026-08-15 17:16:23.483677: 
2026-08-15 17:16:23.604757: Plan calculation took 77.78 seconds
2026-08-15 17:16:23.605154: Inverter 0: Type SK Sunsynk
2026-08-15 17:16:23.605218: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 17:16:23.605455: Reserve min: 7%, battery_min: 7%
2026-08-15 17:16:23.605557: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 17:16:23.605932: Inverter 0 SoC: 15.52kW 97%, current charge rate 5000W, current discharge rate 5250W, current battery power 286W, current battery voltage 51.2V, grid power -52W, load power 351W, PV Power 0W
2026-08-15 17:16:23.606155: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 17:16:23.606280: Inverter 0 scheduled charge enable is False
2026-08-15 17:16:23.606334: Inverter 0 charge windows currently []
2026-08-15 17:16:23.606376: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 17:16:23.606633: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 17:16:23.606692: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 17:16:23.606852: Inverter 0 scheduled discharge enable is False
2026-08-15 17:16:23.607114: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 17:16:23.607172: Inverter 0 discharge windows currently []
2026-08-15 17:16:23.613795: Note: Inverter does not support discharge freeze - disabled
2026-08-15 17:16:23.613901: Note: Inverter does not support charge freeze - disabled
2026-08-15 17:16:23.613976: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 17:16:23.699481: Inverter 0 Charge window will be: 2026-08-16 11:30:00+01:00 - 2026-08-16 16:00:00+01:00 - current SoC 97%, target 13%
2026-08-15 17:16:23.699739: Inverter 0 disabled charge window while waiting for schedule (now 08-15 17:15:00 target set_window_minutes 30 charge start time 08-16 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 17:16:23.699891: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 17:16:23.700250: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 17:16:23.700409: No export window planned
2026-08-15 17:16:23.700599: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 17:16:23.700653: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 17:16:23.701028: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 17:16:23.701289: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 17:15:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 17:16:23.701357: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 17:16:23.701487: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 17:16:23.701601: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 17:16:23.701653: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 17:16:23.701696: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 17:16:23.701735: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 17:16:23.701774: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 17:16:23.701812: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 17:16:23.701867: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 17:16:23.701969: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 17:16:23.702018: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 17:16:23.702060: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 17:16:23.702097: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 17:16:23.702139: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 17:16:23.702176: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 17:16:23.702214: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 17:16:23.702247: Inverter 0 count register writes 0
2026-08-15 17:16:23.735893: Total inverter register writes now 826
2026-08-15 17:16:23.788679: Info: Completed run status Demand
2026-08-15 17:16:23.798934: Info: record_status Demand
2026-08-15 17:16:23.811488: Saved current settings to /config/predbat_config.json
2026-08-15 17:16:23.811732: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 17:16:55.112392: ML Predictor: Epoch 10/30: lr=0.00080 huber_loss=0.0101 val_mae=0.0038 kWh val_bias=+0.0006 kWh (+0.7%) combined=0.0027 kWh ema_combined=0.0032 kWh
2026-08-15 17:16:56.984239: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 17:16:56.984539: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 17:16:56.984657: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 17:16:56.984895: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 17:16:56.984965: Note: Inverter does not support discharge freeze - disabled
2026-08-15 17:16:56.985043: Note: Inverter does not support charge freeze - disabled
2026-08-15 17:16:56.985108: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 17:17:26.947759: ML Predictor: Epoch 11/30: lr=0.00076 huber_loss=0.0083 val_mae=0.0034 kWh val_bias=+0.0005 kWh (+0.6%) combined=0.0023 kWh ema_combined=0.0030 kWh
2026-08-15 17:17:26.948032: ML Predictor: Early stopping at epoch 11
2026-08-15 17:17:26.948771: ML Predictor: Restored best weights from epoch with val_mae=0.0047 kWh val_bias=-0.0011 kWh (-1.4%)
2026-08-15 17:17:26.949053: ML Predictor: Training complete, final val_mae=0.0047 kWh val_bias=-0.0011 kWh (-1.4%)
2026-08-15 17:17:35.274176: ML Predictor: AR rollout over holdout: ar_mae=0.0050 kWh ar_bias=-0.0013 kWh (-1.7%) [drift vs teacher-forced: +0.0003 kWh]
2026-08-15 17:17:35.283139: ML Predictor: Curriculum training complete, final val_mae=0.0047 kWh
2026-08-15 17:17:35.293939: ML Component: Training successful, val_mae=0.0047 kWh
2026-08-15 17:17:35.452899: ML Predictor: Model saved to /config/predbat_ml_model.npz
2026-08-15 17:17:35.458380: ML Component: Generating predictions load data age 57.0 days, 16459 data points
2026-08-15 17:17:35.607683: ML Predictor: Starting autoregressive prediction loop for 576 steps (48.0 hours), prev_energy value 0.0171 max_dow {0: 0.10014999996256083, 1: 0.10541562554407864, 2: 0.11911562483031304, 3: 0.12494687463529408, 4: 0.17094062535744162, 5: 0.09450833335849973, 6: 0.10970937514957041}
2026-08-15 17:17:44.935194: ML Component: Generated 576 predictions (total 27.27 kWh over 48h)
2026-08-15 17:17:44.976906: ML Component: Prediction cycle completed
2026-08-15 17:17:45.096076: ML Component: Saved 16459 steps (57 days) of history to /config/predbat_ml_history.npz
2026-08-15 17:18:57.352574: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 17:18:57.352870: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 17:18:57.352908: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 17:18:57.353126: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 17:18:57.353175: Note: Inverter does not support discharge freeze - disabled
2026-08-15 17:18:57.353197: Note: Inverter does not support charge freeze - disabled
2026-08-15 17:18:57.353214: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 17:20:00.514833: --------------- PredBat - update at 2026-08-15 17:20:00+01:00 with clock skew 0 minutes, minutes now 1040
2026-08-15 17:20:00.515587: Saved current settings to /config/predbat_config.json
2026-08-15 17:20:00.515697: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 55.0 minutes
2026-08-15 17:20:00.515766: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.2, latest beta is v8.48.2
2026-08-15 17:20:00.515886: Autoupdate: There is an update pending v8.48.2 PV90 and second pass enabled by default, bug fixes - auto update is off
2026-08-15 17:20:00.536487: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 17:20:00.536628: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 17:20:00.536788: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 17:20:00.537321: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 17:20:00.537449: Predbat mode is set to Control charge & discharge
2026-08-15 17:20:00.736612: Found 21602 load_today datapoints going back 28 days
2026-08-15 17:20:00.736784: Using load_power data to fill gaps in load_today data
2026-08-15 17:20:01.528691: Processing 721 30-minute periods for power integration
2026-08-15 17:20:01.724028: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 17:20:01.724171: Car charging hold False, threshold 6.0kWh
2026-08-15 17:20:01.724219: Current data so far today: load 8.93kWh, import 27.6kWh, export 0.0kWh, PV 0kWh
2026-08-15 17:20:01.742886: Cars: SoC: [10.548]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 17:20:01.743337: Standing charge is set to 49.98p
2026-08-15 17:20:01.794460: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 17:20:01.794594: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 17:20:01.794880: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 400.0 minutes
2026-08-15 17:20:01.795421: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 400.0 minutes
2026-08-15 17:20:01.802380: Loaded 95 datapoints of futurerate analysis
2026-08-15 17:20:01.956927: Predicted future rates: ['08-15 00:00:00 => 28.69 / 20.01', '08-15 01:00:00 => 27.33 / 19.31', '08-15 02:00:00 => 26.31 / 18.8', '08-15 03:00:00 => 25.78 / 18.53', '08-15 04:00:00 => 25.59 / 18.43', '08-15 05:00:00 => 25.75 / 18.51', '08-15 06:00:00 => 25.34 / 18.3', '08-15 07:00:00 => 24.12 / 17.68', '08-15 08:00:00 => 22.82 / 17.01', '08-15 09:00:00 => 21.84 / 16.51', '08-15 10:00:00 => 20.22 / 15.68', '08-15 11:00:00 => 17.8 / 14.45', '08-15 12:00:00 => 16.16 / 13.61', '08-15 13:00:00 => 15.55 / 13.3', '08-15 14:00:00 => 15.14 / 13.09', '08-15 15:00:00 => 15.65 / 13.35', '08-15 16:00:00 => 32.68 / 16.13', '08-15 17:00:00 => 37.81 / 18.75', '08-15 18:00:00 => 42.15 / 20.96', '08-15 19:00:00 => 30.88 / 21.13', '08-15 20:00:00 => 31.43 / 21.41', '08-15 21:00:00 => 31.43 / 21.41', '08-15 22:00:00 => 30.37 / 20.87', '08-15 23:00:00 => 29.16 / 20.25', '08-16 00:00:00 => 28.62 / 19.97', '08-16 01:00:00 => 27.52 / 19.41', '08-16 02:00:00 => 26.55 / 18.92', '08-16 03:00:00 => 26.18 / 18.73', '08-16 04:00:00 => 26.12 / 18.7', '08-16 05:00:00 => 26.02 / 18.65', '08-16 06:00:00 => 25.78 / 18.53', '08-16 07:00:00 => 25.43 / 18.35', '08-16 08:00:00 => 24.63 / 17.94', '08-16 09:00:00 => 24.05 / 17.64', '08-16 10:00:00 => 24.59 / 17.92', '08-16 11:00:00 => 24.5 / 17.87', '08-16 12:00:00 => 23.58 / 17.4', '08-16 13:00:00 => 22.93 / 17.07', '08-16 14:00:00 => 21.8 / 16.49', '08-16 15:00:00 => 21.8 / 16.49', '08-16 16:00:00 => 36.93 / 18.3']
2026-08-15 17:20:02.002964: Rate min forward looking: now 21.41p at end of forecast 21.41p
2026-08-15 17:20:02.003588: Import rates: min 21.41p, max 45.28p, average 28.4p
2026-08-15 17:20:02.046217: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 17:20:02.046343: Rate thresholds (for charge/export) are import 44.78p (0.0p), export -0.1p (0.0p)
2026-08-15 17:20:02.047625: High export rate found rates in range 99p to -99p
2026-08-15 17:20:02.148038: Low Import rate found rates in range 21.41p to 44.34p
2026-08-15 17:20:02.148760: Car 0 charging is not planned as it is not plugged in
2026-08-15 17:20:02.161693: Battery level now 15.58kWh, -1hr ago 15.84kWh, at midnight 1.66kWh, battery value change in the last hour -4.71p, change today 256.18p, rate_forward 18.39p
2026-08-15 17:20:02.162089: Last hour: net energy 0.08kWh, import 0.08kWh, export 0.0kWh, car 0kWh, load 0.3kWh, net cost 2.73p, import 2.73p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 17:20:02.224392: Today's energy total net 27.6kWh, import 27.6kWh, export 0.0kWh, cost 566.08p, import 516.09p, export 0.0p, carbon 0.0kg
2026-08-15 17:20:02.224547: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 17:20:02.319796: Using weighted-bucket historical load forecast over 14 days
2026-08-15 17:20:02.354382: Today's load divergence 89.88%, in-day adjustment 105.22%, damping 0.95x, yesterday 143.77% today 90.39% blend 27.78%
2026-08-15 17:20:02.354494: Today's predicted so far 10.33kWh with 0.0kWh car/iBoost excluded, 20.88kWh import ignored, and 10.33kWh forecast extra.
2026-08-15 17:20:02.354527: Today's actual load so far 8.93kWh with 0.0kWh car/iBoost excluded, and 20.88kWh import ignored.
2026-08-15 17:20:02.395378: Inverter 0: Type SK Sunsynk
2026-08-15 17:20:02.395469: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 17:20:02.395651: Reserve min: 7%, battery_min: 7%
2026-08-15 17:20:02.395723: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 17:20:02.396109: Inverter 0 SoC: 15.52kW 97%, current charge rate 5000W, current discharge rate 5250W, current battery power 233W, current battery voltage 51.2V, grid power -56W, load power 304W, PV Power 0W
2026-08-15 17:20:02.396292: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 17:20:02.396382: Inverter 0 scheduled charge enable is False
2026-08-15 17:20:02.396412: Inverter 0 charge windows currently []
2026-08-15 17:20:02.396438: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 17:20:02.396544: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 17:20:02.396581: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 17:20:02.396665: Inverter 0 scheduled discharge enable is False
2026-08-15 17:20:02.396815: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 17:20:02.396871: Inverter 0 discharge windows currently []
2026-08-15 17:20:02.396898: Note: Inverter does not support discharge freeze - disabled
2026-08-15 17:20:02.396923: Note: Inverter does not support charge freeze - disabled
2026-08-15 17:20:02.396940: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 17:20:02.464142: Dynamic load last period 0.30kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 17:20:02.464261: Plan was last updated on 2026-08-15 17:15:00+01:00 and is now 5.0 minutes old
2026-08-15 17:20:02.464571: Best charge window [ 16-08 11:30:00 - 16-08 12:30:00 @ 23.46p 13%, 16-08 12:30:00 - 16-08 13:00:00 @ 22.33p 20%, 16-08 13:00:00 - 16-08 13:30:00 @ 22.76p 19%, 16-08 13:30:00 - 16-08 15:00:00 @ 21.75p 100%, 16-08 15:00:00 - 16-08 16:00:00 @ 22.89p 63%, 17-08 02:00:00 - 17-08 03:30:00 @ 25.98p 13%, 17-08 12:30:00 - 17-08 17:00:00 @ 33.63p 100% ]
2026-08-15 17:20:02.464615: Best export window [  ]
2026-08-15 17:20:02.465405: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 17:20:02.468549: Load divergence over 8.0 hours mean 626.09W, min 292.8W, max 1997.4W, std dev 399.37W, divergence 31.89%
2026-08-15 17:20:02.490051: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 17:20:02.490184: LoadML is_calculating False
2026-08-15 17:20:02.490270: Creating pool of 12 processes to match your CPU count
2026-08-15 17:20:02.626662: predict base end_record 08-17 12:35:00, final soc 1.12kWh, metric 1111.6p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 12:55:00, load 37.83kWh, PV 0.0kWh
2026-08-15 17:20:02.761608: Battery has 19.58 hours left - now at 15.52kWh
2026-08-15 17:20:02.805139: predict base10 end_record 08-17 12:35:00, final soc 1.12kWh, metric 1147.4p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 12:10:00, load 39.2kWh, PV 0.0kWh
2026-08-15 17:20:02.886091: predict best10 end_record 08-17 12:35:00, final soc 1.44kWh, metric 1090.74p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 04:55:00, load 39.2kWh, PV 0.0kWh
2026-08-15 17:20:02.967595: predict best end_record 08-17 12:35:00, final soc 1.51kWh, metric 1055.71p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 05:35:00, load 37.83kWh, PV 0.0kWh
2026-08-15 17:20:02.967726: Saving plan best values to HA entities
2026-08-15 17:20:03.125953: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 17:20:03.130761: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0.0
2026-08-15 17:20:03.135345: Best charging limit SoC's [2.0, 3.25, 3.0, 16.0, 10.0, 2.0, 16.0]kWh, export []kWh gives import battery 13.01kWh, house 4.03kWh, export 0.0kWh, metric 1055.71p, metric10 1090.74p
2026-08-15 17:20:03.217145: Marginal costs baseline metric (no standing charge): 955.7407
2026-08-15 17:20:03.477583: Marginal energy costs matrix computed: min=25.23 max=32.54
2026-08-15 17:20:03.562234: Rate array import [{'start': 1040, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1410, 'rate': 'expensive', 'range': '(29.8p - 32.9p)'}, {'start': 1410, 'end': 2400, 'rate': 'cheap', 'range': '(21.4p - 28.2p)'}, {'start': 2400, 'end': 2430, 'rate': 'expensive', 'range': '(36.8p)'}, {'start': 2430, 'end': 2580, 'rate': 'very expensive', 'range': '(37.5p - 45.3p)'}, {'start': 2580, 'end': 2850, 'rate': 'expensive', 'range': '(30.0p - 35.9p)'}, {'start': 2850, 'end': 3635, 'rate': 'cheap', 'range': '(22.3p - 28.2p)'}] export [{'start': 1040, 'end': 3635, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 17:20:03.563051: - Your estimated bill for today is £5.66 and tomorrow is £3.06
2026-08-15 17:20:03.563117: - Import rates are very expensive (38.5p - 43.8p) for the next 1 and three quarters hours and then expensive (29.8p - 32.9p) for the next 4 and a half hours.
2026-08-15 17:20:03.563146: - The battery is currently at 97% and is in eco mode for the next 18 hours.
2026-08-15 17:20:03.563191: - For the next 48 hours there will be no solar generation.
2026-08-15 17:20:03.563212: - You will run out of battery in 36 hours.
2026-08-15 17:20:03.563227: - Your next charge slot will be in 18 hours where import rates will be cheap (23.5p).
2026-08-15 17:20:03.563247: 
2026-08-15 17:20:03.624882: Plan calculation took 1.16 seconds
2026-08-15 17:20:03.628873: No high rate period found
2026-08-15 17:20:03.676866: Import threshold used for optimisation was 25.86p
2026-08-15 17:20:03.732333: Low import rate windows [0: 08-15 17:00:00 - 08-15 17:30:00 @ 38.46, 1: 08-15 17:30:00 - 08-15 18:00:00 @ 40.44, 2: 08-15 18:00:00 - 08-15 18:30:00 @ 41.55, 3: 08-15 18:30:00 - 08-15 19:00:00 @ 43.82, 4: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 5: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 6: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 7: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 8: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 9: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 10: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 11: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 12: 08-15 23:00:00 - 08-15 23:30:00 @ 30.02, 13: 08-15 23:30:00 - 08-16 00:00:00 @ 27.8, 14: 08-16 00:00:00 - 08-16 00:30:00 @ 28.18, 15: 08-16 00:30:00 - 08-16 01:00:00 @ 27.38, 16: 08-16 01:00:00 - 08-16 01:30:00 @ 26.7, 17: 08-16 01:30:00 - 08-16 02:00:00 @ 26.31, 18: 08-16 02:00:00 - 08-16 02:30:00 @ 25.79, 19: 08-16 02:30:00 - 08-16 03:00:00 @ 25.86, 20: 08-16 03:00:00 - 08-16 03:30:00 @ 26.13, 21: 08-16 03:30:00 - 08-16 04:00:00 @ 25.86, 22: 08-16 04:00:00 - 08-16 04:30:00 @ 26.27, 23: 08-16 04:30:00 - 08-16 05:00:00 @ 26.14, 24: 08-16 05:00:00 - 08-16 05:30:00 @ 27.03, 25: 08-16 05:30:00 - 08-16 06:00:00 @ 26.28, 26: 08-16 06:00:00 - 08-16 06:30:00 @ 25.68, 27: 08-16 06:30:00 - 08-16 07:00:00 @ 26.1, 28: 08-16 07:00:00 - 08-16 07:30:00 @ 24.28, 29: 08-16 07:30:00 - 08-16 08:00:00 @ 24.94, 30: 08-16 08:00:00 - 08-16 08:30:00 @ 24.06, 31: 08-16 08:30:00 - 08-16 09:00:00 @ 24.39, 32: 08-16 09:00:00 - 08-16 09:30:00 @ 24.66, 33: 08-16 09:30:00 - 08-16 10:00:00 @ 24.06, 34: 08-16 10:00:00 - 08-16 10:30:00 @ 25.5, 35: 08-16 10:30:00 - 08-16 11:00:00 @ 24.94, 36: 08-16 11:00:00 - 08-16 11:30:00 @ 24.25, 37: 08-16 11:30:00 - 08-16 12:00:00 @ 23.49, 38: 08-16 12:00:00 - 08-16 12:30:00 @ 23.43, 39: 08-16 12:30:00 - 08-16 13:00:00 @ 22.33, 40: 08-16 13:00:00 - 08-16 13:30:00 @ 22.76, 41: 08-16 13:30:00 - 08-16 14:00:00 @ 22.3, 42: 08-16 14:00:00 - 08-16 14:30:00 @ 21.41, 43: 08-16 14:30:00 - 08-16 15:00:00 @ 21.65, 44: 08-16 15:00:00 - 08-16 15:30:00 @ 22.95, 45: 08-16 15:30:00 - 08-16 16:00:00 @ 22.83, 46: 08-16 16:00:00 - 08-16 16:30:00 @ 36.84, 47: 08-16 16:30:00 - 08-16 17:00:00 @ 37.54, 48: 08-16 17:00:00 - 08-16 17:30:00 @ 41.79, 49: 08-16 17:30:00 - 08-16 18:00:00 @ 43.7, 50: 08-16 18:00:00 - 08-16 18:30:00 @ 44.34, 51: 08-16 19:00:00 - 08-16 19:30:00 @ 34.79, 52: 08-16 19:30:00 - 08-16 20:00:00 @ 34.76, 53: 08-16 20:00:00 - 08-16 20:30:00 @ 35.62, 54: 08-16 20:30:00 - 08-16 21:00:00 @ 35.3, 55: 08-16 21:00:00 - 08-16 21:30:00 @ 35.89, 56: 08-16 21:30:00 - 08-16 22:00:00 @ 35.71, 57: 08-16 22:00:00 - 08-16 22:30:00 @ 33.75, 58: 08-16 22:30:00 - 08-16 23:00:00 @ 32.0, 59: 08-16 23:00:00 - 08-16 23:30:00 @ 30.02, 60: 08-16 23:30:00 - 08-17 00:00:00 @ 27.8, 61: 08-17 00:00:00 - 08-17 00:30:00 @ 28.18, 62: 08-17 00:30:00 - 08-17 01:00:00 @ 27.38, 63: 08-17 01:00:00 - 08-17 01:30:00 @ 26.7, 64: 08-17 01:30:00 - 08-17 02:00:00 @ 26.31, 65: 08-17 02:00:00 - 08-17 02:30:00 @ 25.79, 66: 08-17 02:30:00 - 08-17 03:00:00 @ 25.86, 67: 08-17 03:00:00 - 08-17 03:30:00 @ 26.13, 68: 08-17 03:30:00 - 08-17 04:00:00 @ 25.86, 69: 08-17 04:00:00 - 08-17 04:30:00 @ 26.27, 70: 08-17 04:30:00 - 08-17 05:00:00 @ 26.14, 71: 08-17 05:00:00 - 08-17 05:30:00 @ 27.03, 72: 08-17 05:30:00 - 08-17 06:00:00 @ 26.28, 73: 08-17 06:00:00 - 08-17 06:30:00 @ 25.68, 74: 08-17 06:30:00 - 08-17 07:00:00 @ 26.1, 75: 08-17 07:00:00 - 08-17 07:30:00 @ 24.28, 76: 08-17 07:30:00 - 08-17 08:00:00 @ 24.94, 77: 08-17 08:00:00 - 08-17 08:30:00 @ 24.06, 78: 08-17 08:30:00 - 08-17 09:00:00 @ 24.39, 79: 08-17 09:00:00 - 08-17 09:30:00 @ 24.66, 80: 08-17 09:30:00 - 08-17 10:00:00 @ 24.06, 81: 08-17 10:00:00 - 08-17 10:30:00 @ 25.5, 82: 08-17 10:30:00 - 08-17 11:00:00 @ 24.94, 83: 08-17 11:00:00 - 08-17 11:30:00 @ 24.25, 84: 08-17 11:30:00 - 08-17 12:00:00 @ 23.49, 85: 08-17 12:00:00 - 08-17 12:30:00 @ 23.43, 86: 08-17 12:30:00 - 08-17 13:00:00 @ 22.33, 87: 08-17 13:00:00 - 08-17 13:30:00 @ 22.76, 88: 08-17 13:30:00 - 08-17 14:00:00 @ 22.3, 89: 08-17 14:00:00 - 08-17 14:30:00 @ 21.41, 90: 08-17 14:30:00 - 08-17 15:00:00 @ 21.65, 91: 08-17 15:00:00 - 08-17 15:30:00 @ 22.95, 92: 08-17 15:30:00 - 08-17 16:00:00 @ 22.83, 93: 08-17 16:00:00 - 08-17 16:30:00 @ 36.84, 94: 08-17 16:30:00 - 08-17 17:00:00 @ 37.54, 95: 08-17 17:00:00 - 08-17 17:30:00 @ 41.79]
2026-08-15 17:20:03.739577: Inverter 0 Charge window will be: 2026-08-16 11:30:00+01:00 - 2026-08-16 16:00:00+01:00 - current SoC 97%, target 13%
2026-08-15 17:20:03.739721: Inverter 0 disabled charge window while waiting for schedule (now 08-15 17:20:00 target set_window_minutes 30 charge start time 08-16 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 17:20:03.739836: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 17:20:03.740119: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 17:20:03.740222: No export window planned
2026-08-15 17:20:03.740338: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 17:20:03.740374: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 17:20:03.740504: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 17:20:03.740684: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 17:20:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 17:20:03.740746: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 17:20:03.740811: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 17:20:03.741037: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 17:20:03.741148: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 17:20:03.741182: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 17:20:03.741215: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 17:20:03.741240: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 17:20:03.741269: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 17:20:03.741294: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 17:20:03.741362: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 17:20:03.741391: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 17:20:03.741424: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 17:20:03.741449: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 17:20:03.741479: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 17:20:03.741530: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 17:20:03.741558: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 17:20:03.741578: Inverter 0 count register writes 0
2026-08-15 17:20:03.762305: Will not recompute the plan, it is 5.0 minutes old and max age is 10 minutes
2026-08-15 17:20:03.768282: Total inverter register writes now 826
2026-08-15 17:20:03.804555: Info: Completed run status Demand
2026-08-15 17:20:03.810802: Info: record_status Demand
2026-08-15 17:20:03.818486: Saved current settings to /config/predbat_config.json
2026-08-15 17:20:03.818820: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 17:20:41.925223: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 17:20:41.925466: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 17:20:41.925515: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 17:20:41.925654: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 17:20:41.925698: Note: Inverter does not support discharge freeze - disabled
2026-08-15 17:20:41.925720: Note: Inverter does not support charge freeze - disabled
2026-08-15 17:20:41.925738: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 17:22:42.159463: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 17:22:42.159701: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 17:22:42.159748: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 17:22:42.159941: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 17:22:42.160009: Note: Inverter does not support discharge freeze - disabled
2026-08-15 17:22:42.160027: Note: Inverter does not support charge freeze - disabled
2026-08-15 17:22:42.160042: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 17:24:42.385970: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 17:24:42.386212: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 17:24:42.386256: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 17:24:42.386389: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 17:24:42.386426: Note: Inverter does not support discharge freeze - disabled
2026-08-15 17:24:42.386448: Note: Inverter does not support charge freeze - disabled
2026-08-15 17:24:42.386465: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 17:25:00.495680: --------------- PredBat - update at 2026-08-15 17:25:00+01:00 with clock skew 0 minutes, minutes now 1045
2026-08-15 17:25:00.496514: Saved current settings to /config/predbat_config.json
2026-08-15 17:25:00.496710: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 60.0 minutes
2026-08-15 17:25:00.496857: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.2, latest beta is v8.48.2
2026-08-15 17:25:00.497040: Autoupdate: There is an update pending v8.48.2 PV90 and second pass enabled by default, bug fixes - auto update is off
2026-08-15 17:25:00.516021: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 17:25:00.516158: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 17:25:00.516382: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 17:25:00.517018: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 17:25:00.517210: Predbat mode is set to Control charge & discharge
2026-08-15 17:25:00.708003: Found 21602 load_today datapoints going back 28 days
2026-08-15 17:25:00.708155: Using load_power data to fill gaps in load_today data
2026-08-15 17:25:01.530640: Processing 721 30-minute periods for power integration
2026-08-15 17:25:01.684423: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 17:25:01.684564: Car charging hold False, threshold 6.0kWh
2026-08-15 17:25:01.684622: Current data so far today: load 8.95kWh, import 27.6kWh, export 0.0kWh, PV 0kWh
2026-08-15 17:25:01.698872: Cars: SoC: [10.548]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 17:25:01.699410: Standing charge is set to 49.98p
2026-08-15 17:25:01.760773: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 17:25:01.760886: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 17:25:01.761143: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 405.0 minutes
2026-08-15 17:25:01.761529: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 405.0 minutes
2026-08-15 17:25:01.767383: Loaded 95 datapoints of futurerate analysis
2026-08-15 17:25:01.918768: Predicted future rates: ['08-15 00:00:00 => 28.69 / 20.01', '08-15 01:00:00 => 27.33 / 19.31', '08-15 02:00:00 => 26.31 / 18.8', '08-15 03:00:00 => 25.78 / 18.53', '08-15 04:00:00 => 25.59 / 18.43', '08-15 05:00:00 => 25.75 / 18.51', '08-15 06:00:00 => 25.34 / 18.3', '08-15 07:00:00 => 24.12 / 17.68', '08-15 08:00:00 => 22.82 / 17.01', '08-15 09:00:00 => 21.84 / 16.51', '08-15 10:00:00 => 20.22 / 15.68', '08-15 11:00:00 => 17.8 / 14.45', '08-15 12:00:00 => 16.16 / 13.61', '08-15 13:00:00 => 15.55 / 13.3', '08-15 14:00:00 => 15.14 / 13.09', '08-15 15:00:00 => 15.65 / 13.35', '08-15 16:00:00 => 32.68 / 16.13', '08-15 17:00:00 => 37.81 / 18.75', '08-15 18:00:00 => 42.15 / 20.96', '08-15 19:00:00 => 30.88 / 21.13', '08-15 20:00:00 => 31.43 / 21.41', '08-15 21:00:00 => 31.43 / 21.41', '08-15 22:00:00 => 30.37 / 20.87', '08-15 23:00:00 => 29.16 / 20.25', '08-16 00:00:00 => 28.62 / 19.97', '08-16 01:00:00 => 27.52 / 19.41', '08-16 02:00:00 => 26.55 / 18.92', '08-16 03:00:00 => 26.18 / 18.73', '08-16 04:00:00 => 26.12 / 18.7', '08-16 05:00:00 => 26.02 / 18.65', '08-16 06:00:00 => 25.78 / 18.53', '08-16 07:00:00 => 25.43 / 18.35', '08-16 08:00:00 => 24.63 / 17.94', '08-16 09:00:00 => 24.05 / 17.64', '08-16 10:00:00 => 24.59 / 17.92', '08-16 11:00:00 => 24.5 / 17.87', '08-16 12:00:00 => 23.58 / 17.4', '08-16 13:00:00 => 22.93 / 17.07', '08-16 14:00:00 => 21.8 / 16.49', '08-16 15:00:00 => 21.8 / 16.49', '08-16 16:00:00 => 36.93 / 18.3']
2026-08-15 17:25:01.966182: Rate min forward looking: now 21.41p at end of forecast 21.41p
2026-08-15 17:25:01.966647: Import rates: min 21.41p, max 45.28p, average 28.4p
2026-08-15 17:25:02.008021: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 17:25:02.008161: Rate thresholds (for charge/export) are import 44.78p (0.0p), export -0.1p (0.0p)
2026-08-15 17:25:02.009515: High export rate found rates in range 99p to -99p
2026-08-15 17:25:02.095290: Low Import rate found rates in range 21.41p to 44.34p
2026-08-15 17:25:02.095432: Car 0 charging is not planned as it is not plugged in
2026-08-15 17:25:02.106652: Battery level now 15.52kWh, -1hr ago 15.84kWh, at midnight 1.66kWh, battery value change in the last hour -5.89p, change today 255.0p, rate_forward 18.39p
2026-08-15 17:25:02.107088: Last hour: net energy 0.07kWh, import 0.07kWh, export 0.0kWh, car 0kWh, load 0.3kWh, net cost 2.49p, import 2.49p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 17:25:02.167131: Today's energy total net 27.6kWh, import 27.6kWh, export 0.0kWh, cost 566.08p, import 516.09p, export 0.0p, carbon 0.0kg
2026-08-15 17:25:02.167285: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 17:25:02.257790: Using weighted-bucket historical load forecast over 14 days
2026-08-15 17:25:02.287622: Today's load divergence 89.51%, in-day adjustment 104.78%, damping 0.95x, yesterday 143.77% today 90.04% blend 27.43%
2026-08-15 17:25:02.287718: Today's predicted so far 10.36kWh with 0.0kWh car/iBoost excluded, 20.85kWh import ignored, and 10.36kWh forecast extra.
2026-08-15 17:25:02.287751: Today's actual load so far 8.91kWh with 0.0kWh car/iBoost excluded, and 20.85kWh import ignored.
2026-08-15 17:25:02.320732: Inverter 0: Type SK Sunsynk
2026-08-15 17:25:02.320822: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 17:25:02.321094: Reserve min: 7%, battery_min: 7%
2026-08-15 17:25:02.321188: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 17:25:02.321468: Inverter 0 SoC: 15.52kW 97%, current charge rate 5000W, current discharge rate 5250W, current battery power 278W, current battery voltage 51.2V, grid power -55W, load power 345W, PV Power 0W
2026-08-15 17:25:02.321622: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 17:25:02.321703: Inverter 0 scheduled charge enable is False
2026-08-15 17:25:02.321731: Inverter 0 charge windows currently []
2026-08-15 17:25:02.321756: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 17:25:02.321855: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 17:25:02.321911: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 17:25:02.321951: Inverter 0 scheduled discharge enable is False
2026-08-15 17:25:02.322079: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 17:25:02.322117: Inverter 0 discharge windows currently []
2026-08-15 17:25:02.322140: Note: Inverter does not support discharge freeze - disabled
2026-08-15 17:25:02.322158: Note: Inverter does not support charge freeze - disabled
2026-08-15 17:25:02.322174: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 17:25:02.382678: Dynamic load last period 0.30kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 17:25:02.382805: Plan was last updated on 2026-08-15 17:15:00+01:00 and is now 10.0 minutes old
2026-08-15 17:25:02.383315: Best charge window [ 16-08 11:30:00 - 16-08 12:30:00 @ 23.46p 13%, 16-08 12:30:00 - 16-08 13:00:00 @ 22.33p 20%, 16-08 13:00:00 - 16-08 13:30:00 @ 22.76p 19%, 16-08 13:30:00 - 16-08 15:00:00 @ 21.75p 100%, 16-08 15:00:00 - 16-08 16:00:00 @ 22.89p 63%, 17-08 02:00:00 - 17-08 03:30:00 @ 25.98p 13%, 17-08 12:30:00 - 17-08 17:00:00 @ 33.63p 100% ]
2026-08-15 17:25:02.383380: Best export window [  ]
2026-08-15 17:25:02.384194: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 17:25:02.387275: Load divergence over 8.0 hours mean 627.61W, min 291.6W, max 1875.0W, std dev 400.66W, divergence 31.92%
2026-08-15 17:25:02.405346: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 17:25:02.405456: LoadML is_calculating False
2026-08-15 17:25:02.405538: Creating pool of 12 processes to match your CPU count
2026-08-15 17:25:02.526013: predict base end_record 08-17 12:40:00, final soc 1.12kWh, metric 1111.82p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 12:55:00, load 37.86kWh, PV 0.0kWh
2026-08-15 17:25:02.653804: Battery has 19.5 hours left - now at 15.52kWh
2026-08-15 17:25:02.693781: predict base10 end_record 08-17 12:40:00, final soc 1.12kWh, metric 1147.45p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 12:15:00, load 39.23kWh, PV 0.0kWh
2026-08-15 17:25:02.778983: predict best10 end_record 08-17 12:40:00, final soc 1.77kWh, metric 1098.35p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 04:55:00, load 39.23kWh, PV 0.0kWh
2026-08-15 17:25:02.848481: predict best end_record 08-17 12:40:00, final soc 1.9kWh, metric 1065.23p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 05:35:00, load 37.86kWh, PV 0.0kWh
2026-08-15 17:25:02.848574: Saving plan best values to HA entities
2026-08-15 17:25:03.016601: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 17:25:03.022378: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 17:25:03.028123: Best charging limit SoC's [2.0, 3.25, 3.0, 16.0, 10.0, 2.0, 16.0]kWh, export []kWh gives import battery 13.43kWh, house 4.04kWh, export 0.0kWh, metric 1065.23p, metric10 1098.35p
2026-08-15 17:25:03.105884: Marginal costs baseline metric (no standing charge): 965.2615
2026-08-15 17:25:03.384623: Marginal energy costs matrix computed: min=25.18 max=32.66
2026-08-15 17:25:03.472659: Rate array import [{'start': 1045, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1410, 'rate': 'expensive', 'range': '(29.8p - 32.9p)'}, {'start': 1410, 'end': 2400, 'rate': 'cheap', 'range': '(21.4p - 28.2p)'}, {'start': 2400, 'end': 2430, 'rate': 'expensive', 'range': '(36.8p)'}, {'start': 2430, 'end': 2580, 'rate': 'very expensive', 'range': '(37.5p - 45.3p)'}, {'start': 2580, 'end': 2850, 'rate': 'expensive', 'range': '(30.0p - 35.9p)'}, {'start': 2850, 'end': 3640, 'rate': 'cheap', 'range': '(22.3p - 28.2p)'}] export [{'start': 1045, 'end': 3640, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 17:25:03.473498: - Your estimated bill for today is £5.66 and tomorrow is £3.04
2026-08-15 17:25:03.473548: - Import rates are very expensive (38.5p - 43.8p) for the next 1 and a half hours and then expensive (29.8p - 32.9p) for the next 4 and a half hours.
2026-08-15 17:25:03.473571: - The battery is currently at 97% and is in eco mode for the next 18 hours.
2026-08-15 17:25:03.473589: - For the next 48 hours there will be no solar generation.
2026-08-15 17:25:03.473606: - You will run out of battery in 36 hours.
2026-08-15 17:25:03.473623: - Your next charge slot will be in 18 hours where import rates will be cheap (23.5p).
2026-08-15 17:25:03.473640: 
2026-08-15 17:25:03.543476: Plan calculation took 1.16 seconds
2026-08-15 17:25:03.547312: No high rate period found
2026-08-15 17:25:03.600482: Import threshold used for optimisation was 25.86p
2026-08-15 17:25:03.655774: Low import rate windows [0: 08-15 17:00:00 - 08-15 17:30:00 @ 38.46, 1: 08-15 17:30:00 - 08-15 18:00:00 @ 40.44, 2: 08-15 18:00:00 - 08-15 18:30:00 @ 41.55, 3: 08-15 18:30:00 - 08-15 19:00:00 @ 43.82, 4: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 5: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 6: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 7: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 8: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 9: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 10: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 11: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 12: 08-15 23:00:00 - 08-15 23:30:00 @ 30.02, 13: 08-15 23:30:00 - 08-16 00:00:00 @ 27.8, 14: 08-16 00:00:00 - 08-16 00:30:00 @ 28.18, 15: 08-16 00:30:00 - 08-16 01:00:00 @ 27.38, 16: 08-16 01:00:00 - 08-16 01:30:00 @ 26.7, 17: 08-16 01:30:00 - 08-16 02:00:00 @ 26.31, 18: 08-16 02:00:00 - 08-16 02:30:00 @ 25.79, 19: 08-16 02:30:00 - 08-16 03:00:00 @ 25.86, 20: 08-16 03:00:00 - 08-16 03:30:00 @ 26.13, 21: 08-16 03:30:00 - 08-16 04:00:00 @ 25.86, 22: 08-16 04:00:00 - 08-16 04:30:00 @ 26.27, 23: 08-16 04:30:00 - 08-16 05:00:00 @ 26.14, 24: 08-16 05:00:00 - 08-16 05:30:00 @ 27.03, 25: 08-16 05:30:00 - 08-16 06:00:00 @ 26.28, 26: 08-16 06:00:00 - 08-16 06:30:00 @ 25.68, 27: 08-16 06:30:00 - 08-16 07:00:00 @ 26.1, 28: 08-16 07:00:00 - 08-16 07:30:00 @ 24.28, 29: 08-16 07:30:00 - 08-16 08:00:00 @ 24.94, 30: 08-16 08:00:00 - 08-16 08:30:00 @ 24.06, 31: 08-16 08:30:00 - 08-16 09:00:00 @ 24.39, 32: 08-16 09:00:00 - 08-16 09:30:00 @ 24.66, 33: 08-16 09:30:00 - 08-16 10:00:00 @ 24.06, 34: 08-16 10:00:00 - 08-16 10:30:00 @ 25.5, 35: 08-16 10:30:00 - 08-16 11:00:00 @ 24.94, 36: 08-16 11:00:00 - 08-16 11:30:00 @ 24.25, 37: 08-16 11:30:00 - 08-16 12:00:00 @ 23.49, 38: 08-16 12:00:00 - 08-16 12:30:00 @ 23.43, 39: 08-16 12:30:00 - 08-16 13:00:00 @ 22.33, 40: 08-16 13:00:00 - 08-16 13:30:00 @ 22.76, 41: 08-16 13:30:00 - 08-16 14:00:00 @ 22.3, 42: 08-16 14:00:00 - 08-16 14:30:00 @ 21.41, 43: 08-16 14:30:00 - 08-16 15:00:00 @ 21.65, 44: 08-16 15:00:00 - 08-16 15:30:00 @ 22.95, 45: 08-16 15:30:00 - 08-16 16:00:00 @ 22.83, 46: 08-16 16:00:00 - 08-16 16:30:00 @ 36.84, 47: 08-16 16:30:00 - 08-16 17:00:00 @ 37.54, 48: 08-16 17:00:00 - 08-16 17:30:00 @ 41.79, 49: 08-16 17:30:00 - 08-16 18:00:00 @ 43.7, 50: 08-16 18:00:00 - 08-16 18:30:00 @ 44.34, 51: 08-16 19:00:00 - 08-16 19:30:00 @ 34.79, 52: 08-16 19:30:00 - 08-16 20:00:00 @ 34.76, 53: 08-16 20:00:00 - 08-16 20:30:00 @ 35.62, 54: 08-16 20:30:00 - 08-16 21:00:00 @ 35.3, 55: 08-16 21:00:00 - 08-16 21:30:00 @ 35.89, 56: 08-16 21:30:00 - 08-16 22:00:00 @ 35.71, 57: 08-16 22:00:00 - 08-16 22:30:00 @ 33.75, 58: 08-16 22:30:00 - 08-16 23:00:00 @ 32.0, 59: 08-16 23:00:00 - 08-16 23:30:00 @ 30.02, 60: 08-16 23:30:00 - 08-17 00:00:00 @ 27.8, 61: 08-17 00:00:00 - 08-17 00:30:00 @ 28.18, 62: 08-17 00:30:00 - 08-17 01:00:00 @ 27.38, 63: 08-17 01:00:00 - 08-17 01:30:00 @ 26.7, 64: 08-17 01:30:00 - 08-17 02:00:00 @ 26.31, 65: 08-17 02:00:00 - 08-17 02:30:00 @ 25.79, 66: 08-17 02:30:00 - 08-17 03:00:00 @ 25.86, 67: 08-17 03:00:00 - 08-17 03:30:00 @ 26.13, 68: 08-17 03:30:00 - 08-17 04:00:00 @ 25.86, 69: 08-17 04:00:00 - 08-17 04:30:00 @ 26.27, 70: 08-17 04:30:00 - 08-17 05:00:00 @ 26.14, 71: 08-17 05:00:00 - 08-17 05:30:00 @ 27.03, 72: 08-17 05:30:00 - 08-17 06:00:00 @ 26.28, 73: 08-17 06:00:00 - 08-17 06:30:00 @ 25.68, 74: 08-17 06:30:00 - 08-17 07:00:00 @ 26.1, 75: 08-17 07:00:00 - 08-17 07:30:00 @ 24.28, 76: 08-17 07:30:00 - 08-17 08:00:00 @ 24.94, 77: 08-17 08:00:00 - 08-17 08:30:00 @ 24.06, 78: 08-17 08:30:00 - 08-17 09:00:00 @ 24.39, 79: 08-17 09:00:00 - 08-17 09:30:00 @ 24.66, 80: 08-17 09:30:00 - 08-17 10:00:00 @ 24.06, 81: 08-17 10:00:00 - 08-17 10:30:00 @ 25.5, 82: 08-17 10:30:00 - 08-17 11:00:00 @ 24.94, 83: 08-17 11:00:00 - 08-17 11:30:00 @ 24.25, 84: 08-17 11:30:00 - 08-17 12:00:00 @ 23.49, 85: 08-17 12:00:00 - 08-17 12:30:00 @ 23.43, 86: 08-17 12:30:00 - 08-17 13:00:00 @ 22.33, 87: 08-17 13:00:00 - 08-17 13:30:00 @ 22.76, 88: 08-17 13:30:00 - 08-17 14:00:00 @ 22.3, 89: 08-17 14:00:00 - 08-17 14:30:00 @ 21.41, 90: 08-17 14:30:00 - 08-17 15:00:00 @ 21.65, 91: 08-17 15:00:00 - 08-17 15:30:00 @ 22.95, 92: 08-17 15:30:00 - 08-17 16:00:00 @ 22.83, 93: 08-17 16:00:00 - 08-17 16:30:00 @ 36.84, 94: 08-17 16:30:00 - 08-17 17:00:00 @ 37.54, 95: 08-17 17:00:00 - 08-17 17:30:00 @ 41.79]
2026-08-15 17:25:03.662708: Inverter 0 Charge window will be: 2026-08-16 11:30:00+01:00 - 2026-08-16 16:00:00+01:00 - current SoC 97%, target 13%
2026-08-15 17:25:03.662867: Inverter 0 disabled charge window while waiting for schedule (now 08-15 17:25:00 target set_window_minutes 30 charge start time 08-16 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 17:25:03.663043: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 17:25:03.663389: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 17:25:03.663518: No export window planned
2026-08-15 17:25:03.663697: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 17:25:03.663787: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 17:25:03.664025: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 17:25:03.664272: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 17:25:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 17:25:03.664349: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 17:25:03.664440: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 17:25:03.664578: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 17:25:03.664653: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 17:25:03.664718: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 17:25:03.664752: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 17:25:03.664794: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 17:25:03.664839: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 17:25:03.664868: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 17:25:03.665013: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 17:25:03.665088: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 17:25:03.665132: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 17:25:03.665183: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 17:25:03.665217: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 17:25:03.665267: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 17:25:03.665315: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 17:25:03.665342: Inverter 0 count register writes 0
2026-08-15 17:25:03.682144: Will recompute the plan as it is now 10.0 minutes old and will exceed the max age of 10 minutes before the next run
2026-08-15 17:25:03.682418: Recompute is saving previous plan...
2026-08-15 17:25:03.685686: Best charge window [ 15-08 17:00:00 - 15-08 17:30:00 @ 38.46p 0%, 15-08 17:30:00 - 15-08 18:00:00 @ 40.44p 0%, 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 0%, 15-08 18:30:00 - 15-08 19:00:00 @ 43.82p 0%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 0%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 0%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 0%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 0%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 30.02p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 27.8p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.18p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.38p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 26.7p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.31p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.79p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 25.86p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.13p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 25.86p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.27p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.14p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 27.03p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.28p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.68p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 26.1p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 24.28p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 24.94p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.06p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.39p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.66p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.06p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 25.5p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 24.94p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 24.25p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 23.49p 0%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.43p 0%, 16-08 12:30:00 - 16-08 13:00:00 @ 22.33p 0%, 16-08 13:00:00 - 16-08 13:30:00 @ 22.76p 0%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 0%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 0%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.65p 0%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.95p 0%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.83p 0%, 16-08 16:00:00 - 16-08 16:30:00 @ 36.84p 0%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.54p 0%, 16-08 17:00:00 - 16-08 17:30:00 @ 41.79p 0%, 16-08 17:30:00 - 16-08 18:00:00 @ 43.7p 0%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.34p 0%, 16-08 19:00:00 - 16-08 19:30:00 @ 34.79p 0%, 16-08 19:30:00 - 16-08 20:00:00 @ 34.76p 0%, 16-08 20:00:00 - 16-08 20:30:00 @ 35.62p 0%, 16-08 20:30:00 - 16-08 21:00:00 @ 35.3p 0%, 16-08 21:00:00 - 16-08 21:30:00 @ 35.89p 0%, 16-08 21:30:00 - 16-08 22:00:00 @ 35.71p 0%, 16-08 22:00:00 - 16-08 22:30:00 @ 33.75p 0%, 16-08 22:30:00 - 16-08 23:00:00 @ 32.0p 0%, 16-08 23:00:00 - 16-08 23:30:00 @ 30.02p 0%, 16-08 23:30:00 - 17-08 00:00:00 @ 27.8p 0%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.18p 0%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.38p 0%, 17-08 01:00:00 - 17-08 01:30:00 @ 26.7p 0%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.31p 0%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.79p 0%, 17-08 02:30:00 - 17-08 03:00:00 @ 25.86p 0%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.13p 0%, 17-08 03:30:00 - 17-08 04:00:00 @ 25.86p 0%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.27p 0%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.14p 0%, 17-08 05:00:00 - 17-08 05:30:00 @ 27.03p 0%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.28p 0%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.68p 0%, 17-08 06:30:00 - 17-08 07:00:00 @ 26.1p 0%, 17-08 07:00:00 - 17-08 07:30:00 @ 24.28p 0%, 17-08 07:30:00 - 17-08 08:00:00 @ 24.94p 0%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.06p 0%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.39p 0%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.66p 0%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.06p 0%, 17-08 10:00:00 - 17-08 10:30:00 @ 25.5p 0%, 17-08 10:30:00 - 17-08 11:00:00 @ 24.94p 0%, 17-08 11:00:00 - 17-08 11:30:00 @ 24.25p 0%, 17-08 11:30:00 - 17-08 12:00:00 @ 23.49p 0%, 17-08 12:00:00 - 17-08 12:30:00 @ 23.43p 0%, 17-08 12:30:00 - 17-08 13:00:00 @ 22.33p 0%, 17-08 13:00:00 - 17-08 13:30:00 @ 22.76p 0%, 17-08 13:30:00 - 17-08 14:00:00 @ 22.3p 0%, 17-08 14:00:00 - 17-08 14:30:00 @ 21.41p 0%, 17-08 14:30:00 - 17-08 15:00:00 @ 21.65p 0%, 17-08 15:00:00 - 17-08 15:30:00 @ 22.95p 0%, 17-08 15:30:00 - 17-08 16:00:00 @ 22.83p 0%, 17-08 16:00:00 - 17-08 16:30:00 @ 36.84p 0%, 17-08 16:30:00 - 17-08 17:00:00 @ 37.54p 0%, 17-08 17:00:00 - 17-08 17:30:00 @ 41.79p 0% ]
2026-08-15 17:25:03.685773: Best export window [  ]
2026-08-15 17:25:03.686653: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 17:25:03.689839: Load divergence over 8.0 hours mean 627.61W, min 291.6W, max 1875.0W, std dev 400.66W, divergence 31.92%
2026-08-15 17:25:03.707459: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 17:25:03.707609: LoadML is_calculating False
2026-08-15 17:25:03.707713: Creating pool of 12 processes to match your CPU count
2026-08-15 17:25:03.798879: Calculate Best options: mode(Control charge & discharge), calculate_export_oncharge(False), calculate_export_on_pv(True), set_export_freeze_only(False), set_discharge_during_charge(True), combine_charge_slots(False), combine_export_slots(False), combine_rate_threshold(0.0), best_soc_min(0.0 kWh), best_soc_max(0.0 kWh), best_soc_keep(0.0 kWh), inverter_loss(4%), battery_loss(3%), battery_loss_discharge (3%), inverter_hybrid(True), metric_min_improvement(0.0p), metric_min_improvement_export(0.1p), metric_min_improvement_export_freeze(0.1p), metric_battery_cycle(0.0p/kWh), metric_battery_value_scaling(1.0 x) 
2026-08-15 17:25:03.801010: Optimise levels pass started at 2026-08-15 17:25:03
2026-08-15 17:25:03.801093: Optimise all windows, total charge 95 export 1
2026-08-15 17:25:04.910522: >> Region optimisation pass width 960 gives best_metric 1005.36p, best_cost 1022.89p, best_cycle 39.97kWh, best_import 20.39kWh
2026-08-15 17:25:05.263737: >> Region optimisation pass width 480 gives best_metric 1005.36p, best_cost 1022.89p, best_cycle 39.97kWh, best_import 20.39kWh
2026-08-15 17:25:05.816729: >> Region optimisation pass width 240 gives best_metric 1005.36p, best_cost 1022.89p, best_cycle 39.97kWh, best_import 20.39kWh
2026-08-15 17:25:06.947190: >> Region optimisation pass width 120 gives best_metric 1005.36p, best_cost 1022.89p, best_cycle 39.97kWh, best_import 20.39kWh
2026-08-15 17:25:06.947561: Calculated end_record as 08-17 12:30:00 based on best_price 22.76p, next_charge_start 08-16 12:30:00, max_windows 86
2026-08-15 17:25:06.947647: Optimise levels pass ended at 2026-08-15 17:25:06, duration 3.1 seconds tried 314 combinations
2026-08-15 17:25:06.947742: Set best_price_charge_level 24.4p, best_price_export_level 0p, best_price_charge 22.76p, best_cost_export 0p, best_metric 1005.36p, best_keep 0kWh, best_cycle 39.97kWh, best_carbon 0kg, best_import 20.39kWh
2026-08-15 17:25:06.969840: Starting detailed optimisation end_record 08-17 12:30:00, best_price_charge 22.76p, best_price_export 0p. lowest_price_charge 21.41p with charge limits [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12.75, 12.75, 12.75, 12.75, 12.75, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0]kWh and export limits []kWh
2026-08-15 17:25:13.001381: Tweak plan optimisation started metric 927.3p, cost 942.61p
2026-08-15 17:25:13.285814: Tweak optimisation finished metric 927.3p, cost 942.61p, metric_keep 0kWh, cycle 32.44kWh, carbon 0kg, import 16.69kWh, changed 8 window(s)
2026-08-15 17:25:13.302790: Swap charge optimisation started metric 927.3p, cost 942.61p, min_improvement_swap 0.1p
2026-08-15 17:25:21.587108: Swap charge optimisation finished metric 927.3p, cost 942.61p
2026-08-15 17:25:21.728560: Pruned 2 dead plan slot(s) in 12 trial(s), nominal metric 922.0p -> 922.0p, plan now metric 927.5p, cost 942.61p, cycle 32.44kWh, import 16.69kWh
2026-08-15 17:25:21.740720: Raw charge windows [ 15-08 17:00:00 - 15-08 17:30:00 @ 38.46p 0%, 15-08 17:30:00 - 15-08 18:00:00 @ 40.44p 0%, 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 0%, 15-08 18:30:00 - 15-08 19:00:00 @ 43.82p 0%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 0%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 0%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 0%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 0%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 30.02p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 27.8p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.18p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.38p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 26.7p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.31p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.79p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 25.86p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.13p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 25.86p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.27p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.14p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 27.03p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.28p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.68p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 26.1p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 24.28p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 24.94p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.06p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.39p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.66p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.06p 25%, 16-08 10:00:00 - 16-08 10:30:00 @ 25.5p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 24.94p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 24.25p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 23.49p 16%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.43p 16%, 16-08 12:30:00 - 16-08 13:00:00 @ 22.33p 31%, 16-08 13:00:00 - 16-08 13:30:00 @ 22.76p 31%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 80%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 80%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.65p 80%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.95p 75%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.83p 75%, 16-08 16:00:00 - 16-08 16:30:00 @ 36.84p 0%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.54p 0%, 16-08 17:00:00 - 16-08 17:30:00 @ 41.79p 0%, 16-08 17:30:00 - 16-08 18:00:00 @ 43.7p 0%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.34p 0%, 16-08 19:00:00 - 16-08 19:30:00 @ 34.79p 0%, 16-08 19:30:00 - 16-08 20:00:00 @ 34.76p 0%, 16-08 20:00:00 - 16-08 20:30:00 @ 35.62p 0%, 16-08 20:30:00 - 16-08 21:00:00 @ 35.3p 0%, 16-08 21:00:00 - 16-08 21:30:00 @ 35.89p 0%, 16-08 21:30:00 - 16-08 22:00:00 @ 35.71p 0%, 16-08 22:00:00 - 16-08 22:30:00 @ 33.75p 0%, 16-08 22:30:00 - 16-08 23:00:00 @ 32.0p 0%, 16-08 23:00:00 - 16-08 23:30:00 @ 30.02p 0%, 16-08 23:30:00 - 17-08 00:00:00 @ 27.8p 0%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.18p 0%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.38p 0%, 17-08 01:00:00 - 17-08 01:30:00 @ 26.7p 0%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.31p 0%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.79p 0%, 17-08 02:30:00 - 17-08 03:00:00 @ 25.86p 0%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.13p 0%, 17-08 03:30:00 - 17-08 04:00:00 @ 25.86p 0%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.27p 0%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.14p 0%, 17-08 05:00:00 - 17-08 05:30:00 @ 27.03p 0%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.28p 0%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.68p 0%, 17-08 06:30:00 - 17-08 07:00:00 @ 26.1p 0%, 17-08 07:00:00 - 17-08 07:30:00 @ 24.28p 0%, 17-08 07:30:00 - 17-08 08:00:00 @ 24.94p 0%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.06p 0%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.39p 0%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.66p 0%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.06p 0%, 17-08 10:00:00 - 17-08 10:30:00 @ 25.5p 0%, 17-08 10:30:00 - 17-08 11:00:00 @ 24.94p 0%, 17-08 11:00:00 - 17-08 11:30:00 @ 24.25p 0%, 17-08 11:30:00 - 17-08 12:00:00 @ 23.49p 0%, 17-08 12:00:00 - 17-08 12:30:00 @ 23.43p 0%, 17-08 12:30:00 - 17-08 13:00:00 @ 22.33p 100%, 17-08 13:00:00 - 17-08 13:30:00 @ 22.76p 100%, 17-08 13:30:00 - 17-08 14:00:00 @ 22.3p 100%, 17-08 14:00:00 - 17-08 14:30:00 @ 21.41p 100%, 17-08 14:30:00 - 17-08 15:00:00 @ 21.65p 100%, 17-08 15:00:00 - 17-08 15:30:00 @ 22.95p 100%, 17-08 15:30:00 - 17-08 16:00:00 @ 22.83p 100%, 17-08 16:00:00 - 17-08 16:30:00 @ 36.84p 100%, 17-08 16:30:00 - 17-08 17:00:00 @ 37.54p 100%, 17-08 17:00:00 - 17-08 17:30:00 @ 41.79p 100% ] reserve 1.12
2026-08-15 17:25:21.741339: Unclipped charge windows [ 16-08 09:30:00 - 16-08 10:00:00 @ 24.06p 25%, 16-08 11:30:00 - 16-08 12:30:00 @ 23.46p 16%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 31%, 16-08 13:30:00 - 16-08 15:00:00 @ 21.75p 80%, 16-08 15:00:00 - 16-08 16:00:00 @ 22.89p 75%, 17-08 12:30:00 - 17-08 17:30:00 @ 37.71p 100% ] reserve 1.12
2026-08-15 17:25:21.741678: Unfiltered charge windows [ 16-08 09:30:00 - 16-08 10:00:00 @ 24.06p 25%, 16-08 11:30:00 - 16-08 12:30:00 @ 23.46p 16%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 31%, 16-08 13:30:00 - 16-08 15:00:00 @ 21.75p 100%, 16-08 15:00:00 - 16-08 16:00:00 @ 22.89p 75%, 17-08 12:30:00 - 17-08 17:30:00 @ 37.71p 100% ] reserve 1.12
2026-08-15 17:25:21.741950: Filtered charge windows [ 16-08 09:30:00 - 16-08 10:00:00 @ 24.06p 25%, 16-08 11:30:00 - 16-08 12:30:00 @ 23.46p 16%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 31%, 16-08 13:30:00 - 16-08 15:00:00 @ 21.75p 100%, 16-08 15:00:00 - 16-08 16:00:00 @ 22.89p 75%, 17-08 12:30:00 - 17-08 17:30:00 @ 37.71p 100% ] reserve 1.12
2026-08-15 17:25:21.780348: Previous plan best metric is 928.35 (cost 943.71) and new plan best metric is 927.3 (cost 942.61)
2026-08-15 17:25:21.780630: New plan metric is not significantly better (metric_min_improvement_plan 2.0) than previous plan, using previous plan
2026-08-15 17:25:21.780828: Plan valid is now true after recompute was False
2026-08-15 17:25:21.809532: predict base end_record 08-17 12:30:00, final soc 1.12kWh, metric 1108.88p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 12:55:00, load 37.73kWh, PV 0.0kWh
2026-08-15 17:25:21.923694: Battery has 19.5 hours left - now at 15.52kWh
2026-08-15 17:25:21.965870: predict base10 end_record 08-17 12:30:00, final soc 1.12kWh, metric 1144.36p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 12:15:00, load 39.09kWh, PV 0.0kWh
2026-08-15 17:25:22.040133: predict best10 end_record 08-17 12:30:00, final soc 1.12kWh, metric 1079.76p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 04:55:00, load 39.09kWh, PV 0.0kWh
2026-08-15 17:25:22.121408: predict best end_record 08-17 12:30:00, final soc 1.12kWh, metric 1043.68p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 05:35:00, load 37.73kWh, PV 0.0kWh
2026-08-15 17:25:22.121498: Saving plan best values to HA entities
2026-08-15 17:25:22.268092: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 17:25:22.273145: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 17:25:22.278450: Best charging limit SoC's [2.0, 3.25, 3.0, 16.0, 10.0, 2.0, 16.0]kWh, export []kWh gives import battery 12.46kWh, house 4.04kWh, export 0.0kWh, metric 1043.68p, metric10 1079.76p
2026-08-15 17:25:22.351160: Marginal costs baseline metric (no standing charge): 943.709
2026-08-15 17:25:22.571529: Marginal energy costs matrix computed: min=25.18 max=32.66
2026-08-15 17:25:22.638775: Rate array import [{'start': 1045, 'end': 1140, 'rate': 'very expensive', 'range': '(38.5p - 43.8p)'}, {'start': 1140, 'end': 1410, 'rate': 'expensive', 'range': '(29.8p - 32.9p)'}, {'start': 1410, 'end': 2400, 'rate': 'cheap', 'range': '(21.4p - 28.2p)'}, {'start': 2400, 'end': 2430, 'rate': 'expensive', 'range': '(36.8p)'}, {'start': 2430, 'end': 2580, 'rate': 'very expensive', 'range': '(37.5p - 45.3p)'}, {'start': 2580, 'end': 2850, 'rate': 'expensive', 'range': '(30.0p - 35.9p)'}, {'start': 2850, 'end': 3630, 'rate': 'cheap', 'range': '(23.4p - 28.2p)'}] export [{'start': 1045, 'end': 3630, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 17:25:22.639503: - Your estimated bill for today is £5.66 and tomorrow is £3.04
2026-08-15 17:25:22.639551: - Import rates are very expensive (38.5p - 43.8p) for the next 1 and a half hours and then expensive (29.8p - 32.9p) for the next 4 and a half hours.
2026-08-15 17:25:22.639571: - The battery is currently at 97% and is in eco mode for the next 18 hours.
2026-08-15 17:25:22.639587: - For the next 48 hours there will be no solar generation.
2026-08-15 17:25:22.639601: - You will run out of battery in 36 hours.
2026-08-15 17:25:22.639618: - Your next charge slot will be in 18 hours where import rates will be cheap (23.5p).
2026-08-15 17:25:22.639633: 
2026-08-15 17:25:22.702203: Plan calculation took 19.02 seconds
2026-08-15 17:25:22.702614: Inverter 0: Type SK Sunsynk
2026-08-15 17:25:22.702685: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 17:25:22.702949: Reserve min: 7%, battery_min: 7%
2026-08-15 17:25:22.703034: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 17:25:22.703395: Inverter 0 SoC: 15.52kW 97%, current charge rate 5000W, current discharge rate 5250W, current battery power 278W, current battery voltage 51.2V, grid power -55W, load power 345W, PV Power 0W
2026-08-15 17:25:22.703715: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 17:25:22.703834: Inverter 0 scheduled charge enable is False
2026-08-15 17:25:22.703875: Inverter 0 charge windows currently []
2026-08-15 17:25:22.703926: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 17:25:22.704052: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 17:25:22.704089: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 17:25:22.704125: Inverter 0 scheduled discharge enable is False
2026-08-15 17:25:22.704253: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 17:25:22.704290: Inverter 0 discharge windows currently []
2026-08-15 17:25:22.704313: Note: Inverter does not support discharge freeze - disabled
2026-08-15 17:25:22.704336: Note: Inverter does not support charge freeze - disabled
2026-08-15 17:25:22.704353: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 17:25:22.757516: Inverter 0 Charge window will be: 2026-08-16 11:30:00+01:00 - 2026-08-16 16:00:00+01:00 - current SoC 97%, target 13%
2026-08-15 17:25:22.757683: Inverter 0 disabled charge window while waiting for schedule (now 08-15 17:25:00 target set_window_minutes 30 charge start time 08-16 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 17:25:22.757759: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 17:25:22.758014: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 17:25:22.758102: No export window planned
2026-08-15 17:25:22.758242: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 17:25:22.758279: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 17:25:22.758425: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 17:25:22.758597: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 17:25:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 17:25:22.758647: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 17:25:22.758722: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 17:25:22.758837: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 17:25:22.758880: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 17:25:22.758953: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 17:25:22.759008: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 17:25:22.759083: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 17:25:22.759133: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 17:25:22.759172: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 17:25:22.759257: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 17:25:22.759324: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 17:25:22.759356: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 17:25:22.759396: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 17:25:22.759467: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 17:25:22.759510: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 17:25:22.759556: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 17:25:22.759595: Inverter 0 count register writes 0
2026-08-15 17:25:22.781490: Total inverter register writes now 826
2026-08-15 17:25:22.812745: Info: Completed run status Demand
2026-08-15 17:25:22.819499: Info: record_status Demand
2026-08-15 17:25:22.825889: Saved current settings to /config/predbat_config.json
2026-08-15 17:25:22.826197: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 17:25:56.924521: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 17:25:56.924763: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 17:25:56.924814: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 17:25:56.925075: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 17:25:56.925120: Note: Inverter does not support discharge freeze - disabled
2026-08-15 17:25:56.925141: Note: Inverter does not support charge freeze - disabled
2026-08-15 17:25:56.925159: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 17:27:57.147055: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 17:27:57.147385: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 17:27:57.147456: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 17:27:57.147624: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 17:27:57.147656: Note: Inverter does not support discharge freeze - disabled
2026-08-15 17:27:57.147682: Note: Inverter does not support charge freeze - disabled
2026-08-15 17:27:57.147700: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 17:29:57.366090: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 17:29:57.366406: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 17:29:57.366494: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 17:29:57.366773: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 17:29:57.367640: Note: Inverter does not support discharge freeze - disabled
2026-08-15 17:29:57.367688: Note: Inverter does not support charge freeze - disabled
2026-08-15 17:29:57.367710: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 17:30:00.449246: --------------- PredBat - update at 2026-08-15 17:30:00+01:00 with clock skew 0 minutes, minutes now 1050
2026-08-15 17:30:00.450124: Saved current settings to /config/predbat_config.json
2026-08-15 17:30:00.450293: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 65.0 minutes
2026-08-15 17:30:00.450417: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.2, latest beta is v8.48.2
2026-08-15 17:30:00.450552: Autoupdate: There is an update pending v8.48.2 PV90 and second pass enabled by default, bug fixes - auto update is off
2026-08-15 17:30:00.473790: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 17:30:00.473914: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 17:30:00.474145: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 17:30:00.475033: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 17:30:00.475207: Predbat mode is set to Control charge & discharge
2026-08-15 17:30:00.677635: Found 21602 load_today datapoints going back 28 days
2026-08-15 17:30:00.677792: Using load_power data to fill gaps in load_today data
2026-08-15 17:30:01.619347: Processing 721 30-minute periods for power integration
2026-08-15 17:30:01.811069: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 17:30:01.811206: Car charging hold False, threshold 6.0kWh
2026-08-15 17:30:01.811254: Current data so far today: load 9.05kWh, import 27.6kWh, export 0.0kWh, PV 0kWh
2026-08-15 17:30:01.833279: Cars: SoC: [10.548]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 17:30:01.833809: Standing charge is set to 49.98p
2026-08-15 17:30:01.892710: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 17:30:01.892818: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 17:30:01.893102: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 410.0 minutes
2026-08-15 17:30:01.893507: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 410.0 minutes
2026-08-15 17:30:01.899437: Loaded 95 datapoints of futurerate analysis
2026-08-15 17:30:02.056745: Predicted future rates: ['08-15 00:00:00 => 28.69 / 20.01', '08-15 01:00:00 => 27.33 / 19.31', '08-15 02:00:00 => 26.31 / 18.8', '08-15 03:00:00 => 25.78 / 18.53', '08-15 04:00:00 => 25.59 / 18.43', '08-15 05:00:00 => 25.75 / 18.51', '08-15 06:00:00 => 25.34 / 18.3', '08-15 07:00:00 => 24.12 / 17.68', '08-15 08:00:00 => 22.82 / 17.01', '08-15 09:00:00 => 21.84 / 16.51', '08-15 10:00:00 => 20.22 / 15.68', '08-15 11:00:00 => 17.8 / 14.45', '08-15 12:00:00 => 16.16 / 13.61', '08-15 13:00:00 => 15.55 / 13.3', '08-15 14:00:00 => 15.14 / 13.09', '08-15 15:00:00 => 15.65 / 13.35', '08-15 16:00:00 => 32.68 / 16.13', '08-15 17:00:00 => 37.81 / 18.75', '08-15 18:00:00 => 42.15 / 20.96', '08-15 19:00:00 => 30.88 / 21.13', '08-15 20:00:00 => 31.43 / 21.41', '08-15 21:00:00 => 31.43 / 21.41', '08-15 22:00:00 => 30.37 / 20.87', '08-15 23:00:00 => 29.16 / 20.25', '08-16 00:00:00 => 28.62 / 19.97', '08-16 01:00:00 => 27.52 / 19.41', '08-16 02:00:00 => 26.55 / 18.92', '08-16 03:00:00 => 26.18 / 18.73', '08-16 04:00:00 => 26.12 / 18.7', '08-16 05:00:00 => 26.02 / 18.65', '08-16 06:00:00 => 25.78 / 18.53', '08-16 07:00:00 => 25.43 / 18.35', '08-16 08:00:00 => 24.63 / 17.94', '08-16 09:00:00 => 24.05 / 17.64', '08-16 10:00:00 => 24.59 / 17.92', '08-16 11:00:00 => 24.5 / 17.87', '08-16 12:00:00 => 23.58 / 17.4', '08-16 13:00:00 => 22.93 / 17.07', '08-16 14:00:00 => 21.8 / 16.49', '08-16 15:00:00 => 21.8 / 16.49', '08-16 16:00:00 => 36.93 / 18.3']
2026-08-15 17:30:02.102267: Rate min forward looking: now 21.41p at end of forecast 21.41p
2026-08-15 17:30:02.102726: Import rates: min 21.41p, max 45.28p, average 28.41p
2026-08-15 17:30:02.146307: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 17:30:02.147657: Rate thresholds (for charge/export) are import 44.78p (0.0p), export -0.1p (0.0p)
2026-08-15 17:30:02.149097: High export rate found rates in range 99p to -99p
2026-08-15 17:30:02.252220: Low Import rate found rates in range 21.41p to 44.34p
2026-08-15 17:30:02.252362: Car 0 charging is not planned as it is not plugged in
2026-08-15 17:30:02.265356: Battery level now 15.52kWh, -1hr ago 15.84kWh, at midnight 1.66kWh, battery value change in the last hour -5.89p, change today 255.0p, rate_forward 18.39p
2026-08-15 17:30:02.265753: Last hour: net energy 0.06kWh, import 0.06kWh, export 0.0kWh, car 0kWh, load 0.38kWh, net cost 2.25p, import 2.25p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 17:30:02.330177: Today's energy total net 27.6kWh, import 27.6kWh, export 0.0kWh, cost 566.08p, import 516.09p, export 0.0p, carbon 0.0kg
2026-08-15 17:30:02.330332: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 17:30:02.430450: Using weighted-bucket historical load forecast over 14 days
2026-08-15 17:30:02.461147: Today's load divergence 90.34%, in-day adjustment 105.16%, damping 0.95x, yesterday 143.77% today 90.83% blend 27.08%
2026-08-15 17:30:02.461248: Today's predicted so far 10.47kWh with 0.0kWh car/iBoost excluded, 20.77kWh import ignored, and 10.47kWh forecast extra.
2026-08-15 17:30:02.461280: Today's actual load so far 9.12kWh with 0.0kWh car/iBoost excluded, and 20.77kWh import ignored.
2026-08-15 17:30:02.497980: Inverter 0: Type SK Sunsynk
2026-08-15 17:30:02.498070: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 17:30:02.498249: Reserve min: 7%, battery_min: 7%
2026-08-15 17:30:02.498318: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 17:30:02.498571: Inverter 0 SoC: 15.52kW 97%, current charge rate 5000W, current discharge rate 5250W, current battery power 224W, current battery voltage 51.2V, grid power -55W, load power 289W, PV Power 0W
2026-08-15 17:30:02.498728: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 17:30:02.498816: Inverter 0 scheduled charge enable is False
2026-08-15 17:30:02.498850: Inverter 0 charge windows currently []
2026-08-15 17:30:02.498876: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 17:30:02.499023: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 17:30:02.499061: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 17:30:02.499097: Inverter 0 scheduled discharge enable is False
2026-08-15 17:30:02.499222: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 17:30:02.499259: Inverter 0 discharge windows currently []
2026-08-15 17:30:02.499281: Note: Inverter does not support discharge freeze - disabled
2026-08-15 17:30:02.499301: Note: Inverter does not support charge freeze - disabled
2026-08-15 17:30:02.499324: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 17:30:02.566790: Dynamic load last period 0.60kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 17:30:02.566979: Plan was last updated on 2026-08-15 17:25:00+01:00 and is now 5.0 minutes old
2026-08-15 17:30:02.567323: Best charge window [ 16-08 11:30:00 - 16-08 12:30:00 @ 23.46p 13%, 16-08 12:30:00 - 16-08 13:00:00 @ 22.33p 20%, 16-08 13:00:00 - 16-08 13:30:00 @ 22.76p 19%, 16-08 13:30:00 - 16-08 15:00:00 @ 21.75p 100%, 16-08 15:00:00 - 16-08 16:00:00 @ 22.89p 63%, 17-08 02:00:00 - 17-08 03:30:00 @ 25.98p 13%, 17-08 12:30:00 - 17-08 17:00:00 @ 33.63p 100% ]
2026-08-15 17:30:02.567369: Best export window [  ]
2026-08-15 17:30:02.568219: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 17:30:02.571490: Load divergence over 8.0 hours mean 628.97W, min 295.8W, max 1953.0W, std dev 407.35W, divergence 32.38%
2026-08-15 17:30:02.589910: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 17:30:02.590073: LoadML is_calculating False
2026-08-15 17:30:02.590145: Creating pool of 12 processes to match your CPU count
2026-08-15 17:30:02.725272: predict base end_record 08-17 12:35:00, final soc 1.12kWh, metric 1108.87p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 13:00:00, load 37.83kWh, PV 0.0kWh
2026-08-15 17:30:02.863844: Battery has 19.5 hours left - now at 15.52kWh
2026-08-15 17:30:02.914288: predict base10 end_record 08-17 12:35:00, final soc 1.12kWh, metric 1144.39p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 12:20:00, load 39.2kWh, PV 0.0kWh
2026-08-15 17:30:03.000821: predict best10 end_record 08-17 12:35:00, final soc 1.44kWh, metric 1087.26p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 04:55:00, load 39.2kWh, PV 0.0kWh
2026-08-15 17:30:03.094119: predict best end_record 08-17 12:35:00, final soc 1.51kWh, metric 1052.92p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 05:35:00, load 37.83kWh, PV 0.0kWh
2026-08-15 17:30:03.094236: Saving plan best values to HA entities
2026-08-15 17:30:03.287416: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 17:30:03.295725: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 17:30:03.304084: Best charging limit SoC's [2.0, 3.25, 3.0, 16.0, 10.0, 2.0, 16.0]kWh, export []kWh gives import battery 12.9kWh, house 4.03kWh, export 0.0kWh, metric 1052.92p, metric10 1087.26p
2026-08-15 17:30:03.401109: Marginal costs baseline metric (no standing charge): 952.956
2026-08-15 17:30:03.695914: Marginal energy costs matrix computed: min=25.13 max=32.8
2026-08-15 17:30:03.794319: Rate array import [{'start': 1050, 'end': 1140, 'rate': 'very expensive', 'range': '(40.4p - 43.8p)'}, {'start': 1140, 'end': 1410, 'rate': 'expensive', 'range': '(29.8p - 32.9p)'}, {'start': 1410, 'end': 2400, 'rate': 'cheap', 'range': '(21.4p - 28.2p)'}, {'start': 2400, 'end': 2430, 'rate': 'expensive', 'range': '(36.8p)'}, {'start': 2430, 'end': 2580, 'rate': 'very expensive', 'range': '(37.5p - 45.3p)'}, {'start': 2580, 'end': 2850, 'rate': 'expensive', 'range': '(30.0p - 35.9p)'}, {'start': 2850, 'end': 3635, 'rate': 'cheap', 'range': '(22.3p - 28.2p)'}] export [{'start': 1050, 'end': 3635, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 17:30:03.795242: - Your estimated bill for today is £5.66 and tomorrow is £3.03
2026-08-15 17:30:03.795299: - Import rates are very expensive (40.4p - 43.8p) for the next 1 and a half hours and then expensive (29.8p - 32.9p) for the next 4 and a half hours.
2026-08-15 17:30:03.795324: - The battery is currently at 97% and is in eco mode for the next 18 hours.
2026-08-15 17:30:03.795353: - For the next 48 hours there will be no solar generation.
2026-08-15 17:30:03.795396: - You will run out of battery in 36 hours.
2026-08-15 17:30:03.795432: - Your next charge slot will be in 18 hours where import rates will be cheap (23.5p).
2026-08-15 17:30:03.795468: 
2026-08-15 17:30:03.867088: Plan calculation took 1.30 seconds
2026-08-15 17:30:03.871004: No high rate period found
2026-08-15 17:30:03.930883: Import threshold used for optimisation was 24.94p
2026-08-15 17:30:03.991573: Low import rate windows [0: 08-15 17:30:00 - 08-15 18:00:00 @ 40.44, 1: 08-15 18:00:00 - 08-15 18:30:00 @ 41.55, 2: 08-15 18:30:00 - 08-15 19:00:00 @ 43.82, 3: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 4: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 5: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 6: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 7: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 8: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 9: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 10: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 11: 08-15 23:00:00 - 08-15 23:30:00 @ 30.02, 12: 08-15 23:30:00 - 08-16 00:00:00 @ 27.8, 13: 08-16 00:00:00 - 08-16 00:30:00 @ 28.18, 14: 08-16 00:30:00 - 08-16 01:00:00 @ 27.38, 15: 08-16 01:00:00 - 08-16 01:30:00 @ 26.7, 16: 08-16 01:30:00 - 08-16 02:00:00 @ 26.31, 17: 08-16 02:00:00 - 08-16 02:30:00 @ 25.79, 18: 08-16 02:30:00 - 08-16 03:00:00 @ 25.86, 19: 08-16 03:00:00 - 08-16 03:30:00 @ 26.13, 20: 08-16 03:30:00 - 08-16 04:00:00 @ 25.86, 21: 08-16 04:00:00 - 08-16 04:30:00 @ 26.27, 22: 08-16 04:30:00 - 08-16 05:00:00 @ 26.14, 23: 08-16 05:00:00 - 08-16 05:30:00 @ 27.03, 24: 08-16 05:30:00 - 08-16 06:00:00 @ 26.28, 25: 08-16 06:00:00 - 08-16 06:30:00 @ 25.68, 26: 08-16 06:30:00 - 08-16 07:00:00 @ 26.1, 27: 08-16 07:00:00 - 08-16 07:30:00 @ 24.28, 28: 08-16 07:30:00 - 08-16 08:00:00 @ 24.94, 29: 08-16 08:00:00 - 08-16 08:30:00 @ 24.06, 30: 08-16 08:30:00 - 08-16 09:00:00 @ 24.39, 31: 08-16 09:00:00 - 08-16 09:30:00 @ 24.66, 32: 08-16 09:30:00 - 08-16 10:00:00 @ 24.06, 33: 08-16 10:00:00 - 08-16 10:30:00 @ 25.5, 34: 08-16 10:30:00 - 08-16 11:00:00 @ 24.94, 35: 08-16 11:00:00 - 08-16 11:30:00 @ 24.25, 36: 08-16 11:30:00 - 08-16 12:00:00 @ 23.49, 37: 08-16 12:00:00 - 08-16 12:30:00 @ 23.43, 38: 08-16 12:30:00 - 08-16 13:00:00 @ 22.33, 39: 08-16 13:00:00 - 08-16 13:30:00 @ 22.76, 40: 08-16 13:30:00 - 08-16 14:00:00 @ 22.3, 41: 08-16 14:00:00 - 08-16 14:30:00 @ 21.41, 42: 08-16 14:30:00 - 08-16 15:00:00 @ 21.65, 43: 08-16 15:00:00 - 08-16 15:30:00 @ 22.95, 44: 08-16 15:30:00 - 08-16 16:00:00 @ 22.83, 45: 08-16 16:00:00 - 08-16 16:30:00 @ 36.84, 46: 08-16 16:30:00 - 08-16 17:00:00 @ 37.54, 47: 08-16 17:00:00 - 08-16 17:30:00 @ 41.79, 48: 08-16 17:30:00 - 08-16 18:00:00 @ 43.7, 49: 08-16 18:00:00 - 08-16 18:30:00 @ 44.34, 50: 08-16 19:00:00 - 08-16 19:30:00 @ 34.79, 51: 08-16 19:30:00 - 08-16 20:00:00 @ 34.76, 52: 08-16 20:00:00 - 08-16 20:30:00 @ 35.62, 53: 08-16 20:30:00 - 08-16 21:00:00 @ 35.3, 54: 08-16 21:00:00 - 08-16 21:30:00 @ 35.89, 55: 08-16 21:30:00 - 08-16 22:00:00 @ 35.71, 56: 08-16 22:00:00 - 08-16 22:30:00 @ 33.75, 57: 08-16 22:30:00 - 08-16 23:00:00 @ 32.0, 58: 08-16 23:00:00 - 08-16 23:30:00 @ 30.02, 59: 08-16 23:30:00 - 08-17 00:00:00 @ 27.8, 60: 08-17 00:00:00 - 08-17 00:30:00 @ 28.18, 61: 08-17 00:30:00 - 08-17 01:00:00 @ 27.38, 62: 08-17 01:00:00 - 08-17 01:30:00 @ 26.7, 63: 08-17 01:30:00 - 08-17 02:00:00 @ 26.31, 64: 08-17 02:00:00 - 08-17 02:30:00 @ 25.79, 65: 08-17 02:30:00 - 08-17 03:00:00 @ 25.86, 66: 08-17 03:00:00 - 08-17 03:30:00 @ 26.13, 67: 08-17 03:30:00 - 08-17 04:00:00 @ 25.86, 68: 08-17 04:00:00 - 08-17 04:30:00 @ 26.27, 69: 08-17 04:30:00 - 08-17 05:00:00 @ 26.14, 70: 08-17 05:00:00 - 08-17 05:30:00 @ 27.03, 71: 08-17 05:30:00 - 08-17 06:00:00 @ 26.28, 72: 08-17 06:00:00 - 08-17 06:30:00 @ 25.68, 73: 08-17 06:30:00 - 08-17 07:00:00 @ 26.1, 74: 08-17 07:00:00 - 08-17 07:30:00 @ 24.28, 75: 08-17 07:30:00 - 08-17 08:00:00 @ 24.94, 76: 08-17 08:00:00 - 08-17 08:30:00 @ 24.06, 77: 08-17 08:30:00 - 08-17 09:00:00 @ 24.39, 78: 08-17 09:00:00 - 08-17 09:30:00 @ 24.66, 79: 08-17 09:30:00 - 08-17 10:00:00 @ 24.06, 80: 08-17 10:00:00 - 08-17 10:30:00 @ 25.5, 81: 08-17 10:30:00 - 08-17 11:00:00 @ 24.94, 82: 08-17 11:00:00 - 08-17 11:30:00 @ 24.25, 83: 08-17 11:30:00 - 08-17 12:00:00 @ 23.49, 84: 08-17 12:00:00 - 08-17 12:30:00 @ 23.43, 85: 08-17 12:30:00 - 08-17 13:00:00 @ 22.33, 86: 08-17 13:00:00 - 08-17 13:30:00 @ 22.76, 87: 08-17 13:30:00 - 08-17 14:00:00 @ 22.3, 88: 08-17 14:00:00 - 08-17 14:30:00 @ 21.41, 89: 08-17 14:30:00 - 08-17 15:00:00 @ 21.65, 90: 08-17 15:00:00 - 08-17 15:30:00 @ 22.95, 91: 08-17 15:30:00 - 08-17 16:00:00 @ 22.83, 92: 08-17 16:00:00 - 08-17 16:30:00 @ 36.84, 93: 08-17 16:30:00 - 08-17 17:00:00 @ 37.54, 94: 08-17 17:00:00 - 08-17 17:30:00 @ 41.79]
2026-08-15 17:30:03.999950: Inverter 0 Charge window will be: 2026-08-16 11:30:00+01:00 - 2026-08-16 16:00:00+01:00 - current SoC 97%, target 13%
2026-08-15 17:30:04.000102: Inverter 0 disabled charge window while waiting for schedule (now 08-15 17:30:00 target set_window_minutes 30 charge start time 08-16 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 17:30:04.000216: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 17:30:04.000481: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 17:30:04.000583: No export window planned
2026-08-15 17:30:04.000702: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 17:30:04.000758: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 17:30:04.000894: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 17:30:04.001130: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 17:30:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 17:30:04.001200: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 17:30:04.001264: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 17:30:04.001389: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 17:30:04.001429: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 17:30:04.001458: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 17:30:04.001483: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 17:30:04.001513: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 17:30:04.001548: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 17:30:04.001587: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 17:30:04.001655: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 17:30:04.001688: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 17:30:04.001713: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 17:30:04.001736: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 17:30:04.001761: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 17:30:04.001785: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 17:30:04.001809: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 17:30:04.001848: Inverter 0 count register writes 0
2026-08-15 17:30:04.019177: Will not recompute the plan, it is 5.0 minutes old and max age is 10 minutes
2026-08-15 17:30:04.025224: Total inverter register writes now 826
2026-08-15 17:30:04.060039: Info: Completed run status Demand
2026-08-15 17:30:04.066535: Info: record_status Demand
2026-08-15 17:30:04.074318: Saved current settings to /config/predbat_config.json
2026-08-15 17:30:04.074631: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 17:30:42.194527: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 17:30:42.194774: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 17:30:42.194833: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 17:30:42.195011: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 17:30:42.195052: Note: Inverter does not support discharge freeze - disabled
2026-08-15 17:30:42.195071: Note: Inverter does not support charge freeze - disabled
2026-08-15 17:30:42.195086: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 17:32:42.426122: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 17:32:42.426396: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 17:32:42.426432: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 17:32:42.426587: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 17:32:42.426627: Note: Inverter does not support discharge freeze - disabled
2026-08-15 17:32:42.426649: Note: Inverter does not support charge freeze - disabled
2026-08-15 17:32:42.426667: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 17:34:56.661177: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 17:34:56.661490: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 17:34:56.661569: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 17:34:56.661799: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 17:34:56.661874: Note: Inverter does not support discharge freeze - disabled
2026-08-15 17:34:56.661904: Note: Inverter does not support charge freeze - disabled
2026-08-15 17:34:56.661947: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 17:35:00.739562: --------------- PredBat - update at 2026-08-15 17:35:00+01:00 with clock skew 0 minutes, minutes now 1055
2026-08-15 17:35:00.740340: Saved current settings to /config/predbat_config.json
2026-08-15 17:35:00.740526: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 70.0 minutes
2026-08-15 17:35:00.740636: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.2, latest beta is v8.48.2
2026-08-15 17:35:00.740791: Autoupdate: There is an update pending v8.48.2 PV90 and second pass enabled by default, bug fixes - auto update is off
2026-08-15 17:35:00.758487: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 17:35:00.758624: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 17:35:00.758813: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 17:35:00.759357: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 17:35:00.759483: Predbat mode is set to Control charge & discharge
2026-08-15 17:35:00.922231: Found 21602 load_today datapoints going back 28 days
2026-08-15 17:35:00.922364: Using load_power data to fill gaps in load_today data
2026-08-15 17:35:01.688103: Processing 721 30-minute periods for power integration
2026-08-15 17:35:01.842277: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 17:35:01.842407: Car charging hold False, threshold 6.0kWh
2026-08-15 17:35:01.842448: Current data so far today: load 9.1kWh, import 27.6kWh, export 0.0kWh, PV 0kWh
2026-08-15 17:35:01.856662: Cars: SoC: [10.548]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 17:35:01.857426: Standing charge is set to 49.98p
2026-08-15 17:35:01.906996: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 17:35:01.907094: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 17:35:01.907326: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 415.0 minutes
2026-08-15 17:35:01.907767: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 415.0 minutes
2026-08-15 17:35:01.912498: Loaded 95 datapoints of futurerate analysis
2026-08-15 17:35:02.039823: Predicted future rates: ['08-15 00:00:00 => 28.69 / 20.01', '08-15 01:00:00 => 27.33 / 19.31', '08-15 02:00:00 => 26.31 / 18.8', '08-15 03:00:00 => 25.78 / 18.53', '08-15 04:00:00 => 25.59 / 18.43', '08-15 05:00:00 => 25.75 / 18.51', '08-15 06:00:00 => 25.34 / 18.3', '08-15 07:00:00 => 24.12 / 17.68', '08-15 08:00:00 => 22.82 / 17.01', '08-15 09:00:00 => 21.84 / 16.51', '08-15 10:00:00 => 20.22 / 15.68', '08-15 11:00:00 => 17.8 / 14.45', '08-15 12:00:00 => 16.16 / 13.61', '08-15 13:00:00 => 15.55 / 13.3', '08-15 14:00:00 => 15.14 / 13.09', '08-15 15:00:00 => 15.65 / 13.35', '08-15 16:00:00 => 32.68 / 16.13', '08-15 17:00:00 => 37.81 / 18.75', '08-15 18:00:00 => 42.15 / 20.96', '08-15 19:00:00 => 30.88 / 21.13', '08-15 20:00:00 => 31.43 / 21.41', '08-15 21:00:00 => 31.43 / 21.41', '08-15 22:00:00 => 30.37 / 20.87', '08-15 23:00:00 => 29.16 / 20.25', '08-16 00:00:00 => 28.62 / 19.97', '08-16 01:00:00 => 27.52 / 19.41', '08-16 02:00:00 => 26.55 / 18.92', '08-16 03:00:00 => 26.18 / 18.73', '08-16 04:00:00 => 26.12 / 18.7', '08-16 05:00:00 => 26.02 / 18.65', '08-16 06:00:00 => 25.78 / 18.53', '08-16 07:00:00 => 25.43 / 18.35', '08-16 08:00:00 => 24.63 / 17.94', '08-16 09:00:00 => 24.05 / 17.64', '08-16 10:00:00 => 24.59 / 17.92', '08-16 11:00:00 => 24.5 / 17.87', '08-16 12:00:00 => 23.58 / 17.4', '08-16 13:00:00 => 22.93 / 17.07', '08-16 14:00:00 => 21.8 / 16.49', '08-16 15:00:00 => 21.8 / 16.49', '08-16 16:00:00 => 36.93 / 18.3']
2026-08-15 17:35:02.084031: Rate min forward looking: now 21.41p at end of forecast 21.41p
2026-08-15 17:35:02.084526: Import rates: min 21.41p, max 45.28p, average 28.42p
2026-08-15 17:35:02.128857: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 17:35:02.129025: Rate thresholds (for charge/export) are import 44.78p (0.0p), export -0.1p (0.0p)
2026-08-15 17:35:02.130308: High export rate found rates in range 99p to -99p
2026-08-15 17:35:02.234142: Low Import rate found rates in range 21.41p to 44.34p
2026-08-15 17:35:02.234294: Car 0 charging is not planned as it is not plugged in
2026-08-15 17:35:02.246775: Battery level now 15.52kWh, -1hr ago 15.84kWh, at midnight 1.66kWh, battery value change in the last hour -5.89p, change today 255.0p, rate_forward 18.39p
2026-08-15 17:35:02.247160: Last hour: net energy 0.06kWh, import 0.06kWh, export 0.0kWh, car 0kWh, load 0.4kWh, net cost 2.01p, import 2.01p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 17:35:02.300163: Today's energy total net 27.6kWh, import 27.6kWh, export 0.0kWh, cost 566.08p, import 516.09p, export 0.0p, carbon 0.0kg
2026-08-15 17:35:02.300296: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 17:35:02.375535: Using weighted-bucket historical load forecast over 14 days
2026-08-15 17:35:02.400346: Today's load divergence 90.61%, in-day adjustment 105.17%, damping 0.95x, yesterday 143.77% today 91.08% blend 26.74%
2026-08-15 17:35:02.400418: Today's predicted so far 10.55kWh with 0.0kWh car/iBoost excluded, 20.86kWh import ignored, and 10.55kWh forecast extra.
2026-08-15 17:35:02.400444: Today's actual load so far 9.24kWh with 0.0kWh car/iBoost excluded, and 20.86kWh import ignored.
2026-08-15 17:35:02.428225: Inverter 0: Type SK Sunsynk
2026-08-15 17:35:02.428304: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 17:35:02.428464: Reserve min: 7%, battery_min: 7%
2026-08-15 17:35:02.428529: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 17:35:02.428781: Inverter 0 SoC: 15.52kW 97%, current charge rate 5000W, current discharge rate 5250W, current battery power 289W, current battery voltage 51.2V, grid power -56W, load power 354W, PV Power 0W
2026-08-15 17:35:02.428935: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 17:35:02.429041: Inverter 0 scheduled charge enable is False
2026-08-15 17:35:02.429073: Inverter 0 charge windows currently []
2026-08-15 17:35:02.429096: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 17:35:02.429182: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 17:35:02.429213: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 17:35:02.429243: Inverter 0 scheduled discharge enable is False
2026-08-15 17:35:02.429346: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 17:35:02.429376: Inverter 0 discharge windows currently []
2026-08-15 17:35:02.429394: Note: Inverter does not support discharge freeze - disabled
2026-08-15 17:35:02.429409: Note: Inverter does not support charge freeze - disabled
2026-08-15 17:35:02.429423: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 17:35:02.477990: Dynamic load last period 0.60kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 17:35:02.478085: Plan was last updated on 2026-08-15 17:25:00+01:00 and is now 10.0 minutes old
2026-08-15 17:35:02.478373: Best charge window [ 16-08 11:30:00 - 16-08 12:30:00 @ 23.46p 13%, 16-08 12:30:00 - 16-08 13:00:00 @ 22.33p 20%, 16-08 13:00:00 - 16-08 13:30:00 @ 22.76p 19%, 16-08 13:30:00 - 16-08 15:00:00 @ 21.75p 100%, 16-08 15:00:00 - 16-08 16:00:00 @ 22.89p 63%, 17-08 02:00:00 - 17-08 03:30:00 @ 25.98p 13%, 17-08 12:30:00 - 17-08 17:00:00 @ 33.63p 100% ]
2026-08-15 17:35:02.478432: Best export window [  ]
2026-08-15 17:35:02.479109: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 17:35:02.481617: Load divergence over 8.0 hours mean 629.06W, min 295.8W, max 2423.4W, std dev 437.07W, divergence 34.74%
2026-08-15 17:35:02.496469: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 17:35:02.496549: LoadML is_calculating False
2026-08-15 17:35:02.496616: Creating pool of 12 processes to match your CPU count
2026-08-15 17:35:02.618876: predict base end_record 08-17 12:40:00, final soc 1.12kWh, metric 1108.42p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 13:05:00, load 37.87kWh, PV 0.0kWh
2026-08-15 17:35:02.741002: Battery has 19.5 hours left - now at 15.52kWh
2026-08-15 17:35:02.779221: predict base10 end_record 08-17 12:40:00, final soc 1.12kWh, metric 1143.86p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 12:20:00, load 39.24kWh, PV 0.0kWh
2026-08-15 17:35:02.851324: predict best10 end_record 08-17 12:40:00, final soc 1.77kWh, metric 1094.48p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 04:55:00, load 39.24kWh, PV 0.0kWh
2026-08-15 17:35:02.946635: predict best end_record 08-17 12:40:00, final soc 1.9kWh, metric 1061.82p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 05:35:00, load 37.87kWh, PV 0.0kWh
2026-08-15 17:35:02.946751: Saving plan best values to HA entities
2026-08-15 17:35:03.103091: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 17:35:03.108748: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0.0
2026-08-15 17:35:03.114436: Best charging limit SoC's [2.0, 3.25, 3.0, 16.0, 10.0, 2.0, 16.0]kWh, export []kWh gives import battery 13.33kWh, house 4.0kWh, export 0.0kWh, metric 1061.82p, metric10 1094.48p
2026-08-15 17:35:03.182276: Marginal costs baseline metric (no standing charge): 961.8493
2026-08-15 17:35:03.404841: Marginal energy costs matrix computed: min=25.13 max=33.01
2026-08-15 17:35:03.489940: Rate array import [{'start': 1055, 'end': 1140, 'rate': 'very expensive', 'range': '(40.4p - 43.8p)'}, {'start': 1140, 'end': 1410, 'rate': 'expensive', 'range': '(29.8p - 32.9p)'}, {'start': 1410, 'end': 2400, 'rate': 'cheap', 'range': '(21.4p - 28.2p)'}, {'start': 2400, 'end': 2430, 'rate': 'expensive', 'range': '(36.8p)'}, {'start': 2430, 'end': 2580, 'rate': 'very expensive', 'range': '(37.5p - 45.3p)'}, {'start': 2580, 'end': 2850, 'rate': 'expensive', 'range': '(30.0p - 35.9p)'}, {'start': 2850, 'end': 3640, 'rate': 'cheap', 'range': '(22.3p - 28.2p)'}] export [{'start': 1055, 'end': 3640, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 17:35:03.490617: - Your estimated bill for today is £5.66 and tomorrow is £3.02
2026-08-15 17:35:03.490654: - Import rates are very expensive (40.4p - 43.8p) for the next 1 and a half hours and then expensive (29.8p - 32.9p) for the next 4 and a half hours.
2026-08-15 17:35:03.490686: - The battery is currently at 97% and is in eco mode for the next 17 hours.
2026-08-15 17:35:03.490704: - For the next 48 hours there will be no solar generation.
2026-08-15 17:35:03.490718: - You will run out of battery in 36 hours.
2026-08-15 17:35:03.490731: - Your next charge slot will be in 17 hours where import rates will be cheap (23.5p).
2026-08-15 17:35:03.490745: 
2026-08-15 17:35:03.561409: Plan calculation took 1.08 seconds
2026-08-15 17:35:03.564386: No high rate period found
2026-08-15 17:35:03.610967: Import threshold used for optimisation was 24.94p
2026-08-15 17:35:03.656917: Low import rate windows [0: 08-15 17:30:00 - 08-15 18:00:00 @ 40.44, 1: 08-15 18:00:00 - 08-15 18:30:00 @ 41.55, 2: 08-15 18:30:00 - 08-15 19:00:00 @ 43.82, 3: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 4: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 5: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 6: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 7: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 8: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 9: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 10: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 11: 08-15 23:00:00 - 08-15 23:30:00 @ 30.02, 12: 08-15 23:30:00 - 08-16 00:00:00 @ 27.8, 13: 08-16 00:00:00 - 08-16 00:30:00 @ 28.18, 14: 08-16 00:30:00 - 08-16 01:00:00 @ 27.38, 15: 08-16 01:00:00 - 08-16 01:30:00 @ 26.7, 16: 08-16 01:30:00 - 08-16 02:00:00 @ 26.31, 17: 08-16 02:00:00 - 08-16 02:30:00 @ 25.79, 18: 08-16 02:30:00 - 08-16 03:00:00 @ 25.86, 19: 08-16 03:00:00 - 08-16 03:30:00 @ 26.13, 20: 08-16 03:30:00 - 08-16 04:00:00 @ 25.86, 21: 08-16 04:00:00 - 08-16 04:30:00 @ 26.27, 22: 08-16 04:30:00 - 08-16 05:00:00 @ 26.14, 23: 08-16 05:00:00 - 08-16 05:30:00 @ 27.03, 24: 08-16 05:30:00 - 08-16 06:00:00 @ 26.28, 25: 08-16 06:00:00 - 08-16 06:30:00 @ 25.68, 26: 08-16 06:30:00 - 08-16 07:00:00 @ 26.1, 27: 08-16 07:00:00 - 08-16 07:30:00 @ 24.28, 28: 08-16 07:30:00 - 08-16 08:00:00 @ 24.94, 29: 08-16 08:00:00 - 08-16 08:30:00 @ 24.06, 30: 08-16 08:30:00 - 08-16 09:00:00 @ 24.39, 31: 08-16 09:00:00 - 08-16 09:30:00 @ 24.66, 32: 08-16 09:30:00 - 08-16 10:00:00 @ 24.06, 33: 08-16 10:00:00 - 08-16 10:30:00 @ 25.5, 34: 08-16 10:30:00 - 08-16 11:00:00 @ 24.94, 35: 08-16 11:00:00 - 08-16 11:30:00 @ 24.25, 36: 08-16 11:30:00 - 08-16 12:00:00 @ 23.49, 37: 08-16 12:00:00 - 08-16 12:30:00 @ 23.43, 38: 08-16 12:30:00 - 08-16 13:00:00 @ 22.33, 39: 08-16 13:00:00 - 08-16 13:30:00 @ 22.76, 40: 08-16 13:30:00 - 08-16 14:00:00 @ 22.3, 41: 08-16 14:00:00 - 08-16 14:30:00 @ 21.41, 42: 08-16 14:30:00 - 08-16 15:00:00 @ 21.65, 43: 08-16 15:00:00 - 08-16 15:30:00 @ 22.95, 44: 08-16 15:30:00 - 08-16 16:00:00 @ 22.83, 45: 08-16 16:00:00 - 08-16 16:30:00 @ 36.84, 46: 08-16 16:30:00 - 08-16 17:00:00 @ 37.54, 47: 08-16 17:00:00 - 08-16 17:30:00 @ 41.79, 48: 08-16 17:30:00 - 08-16 18:00:00 @ 43.7, 49: 08-16 18:00:00 - 08-16 18:30:00 @ 44.34, 50: 08-16 19:00:00 - 08-16 19:30:00 @ 34.79, 51: 08-16 19:30:00 - 08-16 20:00:00 @ 34.76, 52: 08-16 20:00:00 - 08-16 20:30:00 @ 35.62, 53: 08-16 20:30:00 - 08-16 21:00:00 @ 35.3, 54: 08-16 21:00:00 - 08-16 21:30:00 @ 35.89, 55: 08-16 21:30:00 - 08-16 22:00:00 @ 35.71, 56: 08-16 22:00:00 - 08-16 22:30:00 @ 33.75, 57: 08-16 22:30:00 - 08-16 23:00:00 @ 32.0, 58: 08-16 23:00:00 - 08-16 23:30:00 @ 30.02, 59: 08-16 23:30:00 - 08-17 00:00:00 @ 27.8, 60: 08-17 00:00:00 - 08-17 00:30:00 @ 28.18, 61: 08-17 00:30:00 - 08-17 01:00:00 @ 27.38, 62: 08-17 01:00:00 - 08-17 01:30:00 @ 26.7, 63: 08-17 01:30:00 - 08-17 02:00:00 @ 26.31, 64: 08-17 02:00:00 - 08-17 02:30:00 @ 25.79, 65: 08-17 02:30:00 - 08-17 03:00:00 @ 25.86, 66: 08-17 03:00:00 - 08-17 03:30:00 @ 26.13, 67: 08-17 03:30:00 - 08-17 04:00:00 @ 25.86, 68: 08-17 04:00:00 - 08-17 04:30:00 @ 26.27, 69: 08-17 04:30:00 - 08-17 05:00:00 @ 26.14, 70: 08-17 05:00:00 - 08-17 05:30:00 @ 27.03, 71: 08-17 05:30:00 - 08-17 06:00:00 @ 26.28, 72: 08-17 06:00:00 - 08-17 06:30:00 @ 25.68, 73: 08-17 06:30:00 - 08-17 07:00:00 @ 26.1, 74: 08-17 07:00:00 - 08-17 07:30:00 @ 24.28, 75: 08-17 07:30:00 - 08-17 08:00:00 @ 24.94, 76: 08-17 08:00:00 - 08-17 08:30:00 @ 24.06, 77: 08-17 08:30:00 - 08-17 09:00:00 @ 24.39, 78: 08-17 09:00:00 - 08-17 09:30:00 @ 24.66, 79: 08-17 09:30:00 - 08-17 10:00:00 @ 24.06, 80: 08-17 10:00:00 - 08-17 10:30:00 @ 25.5, 81: 08-17 10:30:00 - 08-17 11:00:00 @ 24.94, 82: 08-17 11:00:00 - 08-17 11:30:00 @ 24.25, 83: 08-17 11:30:00 - 08-17 12:00:00 @ 23.49, 84: 08-17 12:00:00 - 08-17 12:30:00 @ 23.43, 85: 08-17 12:30:00 - 08-17 13:00:00 @ 22.33, 86: 08-17 13:00:00 - 08-17 13:30:00 @ 22.76, 87: 08-17 13:30:00 - 08-17 14:00:00 @ 22.3, 88: 08-17 14:00:00 - 08-17 14:30:00 @ 21.41, 89: 08-17 14:30:00 - 08-17 15:00:00 @ 21.65, 90: 08-17 15:00:00 - 08-17 15:30:00 @ 22.95, 91: 08-17 15:30:00 - 08-17 16:00:00 @ 22.83, 92: 08-17 16:00:00 - 08-17 16:30:00 @ 36.84, 93: 08-17 16:30:00 - 08-17 17:00:00 @ 37.54, 94: 08-17 17:00:00 - 08-17 17:30:00 @ 41.79, 95: 08-17 17:30:00 - 08-17 18:00:00 @ 43.7]
2026-08-15 17:35:03.664237: Inverter 0 Charge window will be: 2026-08-16 11:30:00+01:00 - 2026-08-16 16:00:00+01:00 - current SoC 97%, target 13%
2026-08-15 17:35:03.664367: Inverter 0 disabled charge window while waiting for schedule (now 08-15 17:35:00 target set_window_minutes 30 charge start time 08-16 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 17:35:03.664466: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 17:35:03.664735: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 17:35:03.664821: No export window planned
2026-08-15 17:35:03.664918: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 17:35:03.664984: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 17:35:03.665108: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 17:35:03.665285: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 17:35:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 17:35:03.665337: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 17:35:03.665395: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 17:35:03.665481: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 17:35:03.665517: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 17:35:03.665540: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 17:35:03.665565: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 17:35:03.665585: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 17:35:03.665607: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 17:35:03.665635: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 17:35:03.665700: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 17:35:03.665753: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 17:35:03.665777: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 17:35:03.665796: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 17:35:03.665815: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 17:35:03.665833: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 17:35:03.665853: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 17:35:03.665876: Inverter 0 count register writes 0
2026-08-15 17:35:03.680476: Will recompute the plan as it is now 10.0 minutes old and will exceed the max age of 10 minutes before the next run
2026-08-15 17:35:03.680646: Recompute is saving previous plan...
2026-08-15 17:35:03.683205: Best charge window [ 15-08 17:30:00 - 15-08 18:00:00 @ 40.44p 0%, 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 0%, 15-08 18:30:00 - 15-08 19:00:00 @ 43.82p 0%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 0%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 0%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 0%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 0%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 30.02p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 27.8p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.18p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.38p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 26.7p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.31p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.79p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 25.86p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.13p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 25.86p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.27p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.14p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 27.03p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.28p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.68p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 26.1p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 24.28p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 24.94p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.06p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.39p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.66p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.06p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 25.5p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 24.94p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 24.25p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 23.49p 0%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.43p 0%, 16-08 12:30:00 - 16-08 13:00:00 @ 22.33p 0%, 16-08 13:00:00 - 16-08 13:30:00 @ 22.76p 0%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 0%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 0%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.65p 0%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.95p 0%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.83p 0%, 16-08 16:00:00 - 16-08 16:30:00 @ 36.84p 0%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.54p 0%, 16-08 17:00:00 - 16-08 17:30:00 @ 41.79p 0%, 16-08 17:30:00 - 16-08 18:00:00 @ 43.7p 0%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.34p 0%, 16-08 19:00:00 - 16-08 19:30:00 @ 34.79p 0%, 16-08 19:30:00 - 16-08 20:00:00 @ 34.76p 0%, 16-08 20:00:00 - 16-08 20:30:00 @ 35.62p 0%, 16-08 20:30:00 - 16-08 21:00:00 @ 35.3p 0%, 16-08 21:00:00 - 16-08 21:30:00 @ 35.89p 0%, 16-08 21:30:00 - 16-08 22:00:00 @ 35.71p 0%, 16-08 22:00:00 - 16-08 22:30:00 @ 33.75p 0%, 16-08 22:30:00 - 16-08 23:00:00 @ 32.0p 0%, 16-08 23:00:00 - 16-08 23:30:00 @ 30.02p 0%, 16-08 23:30:00 - 17-08 00:00:00 @ 27.8p 0%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.18p 0%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.38p 0%, 17-08 01:00:00 - 17-08 01:30:00 @ 26.7p 0%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.31p 0%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.79p 0%, 17-08 02:30:00 - 17-08 03:00:00 @ 25.86p 0%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.13p 0%, 17-08 03:30:00 - 17-08 04:00:00 @ 25.86p 0%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.27p 0%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.14p 0%, 17-08 05:00:00 - 17-08 05:30:00 @ 27.03p 0%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.28p 0%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.68p 0%, 17-08 06:30:00 - 17-08 07:00:00 @ 26.1p 0%, 17-08 07:00:00 - 17-08 07:30:00 @ 24.28p 0%, 17-08 07:30:00 - 17-08 08:00:00 @ 24.94p 0%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.06p 0%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.39p 0%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.66p 0%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.06p 0%, 17-08 10:00:00 - 17-08 10:30:00 @ 25.5p 0%, 17-08 10:30:00 - 17-08 11:00:00 @ 24.94p 0%, 17-08 11:00:00 - 17-08 11:30:00 @ 24.25p 0%, 17-08 11:30:00 - 17-08 12:00:00 @ 23.49p 0%, 17-08 12:00:00 - 17-08 12:30:00 @ 23.43p 0%, 17-08 12:30:00 - 17-08 13:00:00 @ 22.33p 0%, 17-08 13:00:00 - 17-08 13:30:00 @ 22.76p 0%, 17-08 13:30:00 - 17-08 14:00:00 @ 22.3p 0%, 17-08 14:00:00 - 17-08 14:30:00 @ 21.41p 0%, 17-08 14:30:00 - 17-08 15:00:00 @ 21.65p 0%, 17-08 15:00:00 - 17-08 15:30:00 @ 22.95p 0%, 17-08 15:30:00 - 17-08 16:00:00 @ 22.83p 0%, 17-08 16:00:00 - 17-08 16:30:00 @ 36.84p 0%, 17-08 16:30:00 - 17-08 17:00:00 @ 37.54p 0%, 17-08 17:00:00 - 17-08 17:30:00 @ 41.79p 0%, 17-08 17:30:00 - 17-08 18:00:00 @ 43.7p 0% ]
2026-08-15 17:35:03.683273: Best export window [  ]
2026-08-15 17:35:03.683933: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 17:35:03.686411: Load divergence over 8.0 hours mean 629.06W, min 295.8W, max 2423.4W, std dev 437.07W, divergence 34.74%
2026-08-15 17:35:03.700444: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 17:35:03.700558: LoadML is_calculating False
2026-08-15 17:35:03.700619: Creating pool of 12 processes to match your CPU count
2026-08-15 17:35:03.781279: Calculate Best options: mode(Control charge & discharge), calculate_export_oncharge(False), calculate_export_on_pv(True), set_export_freeze_only(False), set_discharge_during_charge(True), combine_charge_slots(False), combine_export_slots(False), combine_rate_threshold(0.0), best_soc_min(0.0 kWh), best_soc_max(0.0 kWh), best_soc_keep(0.0 kWh), inverter_loss(4%), battery_loss(3%), battery_loss_discharge (3%), inverter_hybrid(True), metric_min_improvement(0.0p), metric_min_improvement_export(0.1p), metric_min_improvement_export_freeze(0.1p), metric_battery_cycle(0.0p/kWh), metric_battery_value_scaling(1.0 x) 
2026-08-15 17:35:03.782787: Optimise levels pass started at 2026-08-15 17:35:03
2026-08-15 17:35:03.782836: Optimise all windows, total charge 95 export 1
2026-08-15 17:35:04.819498: >> Region optimisation pass width 960 gives best_metric 1003.94p, best_cost 1019.55p, best_cycle 39.33kWh, best_import 20.21kWh
2026-08-15 17:35:05.167569: >> Region optimisation pass width 480 gives best_metric 1003.94p, best_cost 1019.55p, best_cycle 39.33kWh, best_import 20.21kWh
2026-08-15 17:35:05.683612: >> Region optimisation pass width 240 gives best_metric 1003.94p, best_cost 1019.55p, best_cycle 39.33kWh, best_import 20.21kWh
2026-08-15 17:35:06.809642: >> Region optimisation pass width 120 gives best_metric 1003.94p, best_cost 1019.55p, best_cycle 39.33kWh, best_import 20.21kWh
2026-08-15 17:35:06.809999: Calculated end_record as 08-17 12:30:00 based on best_price 22.76p, next_charge_start 08-16 12:30:00, max_windows 85
2026-08-15 17:35:06.810062: Optimise levels pass ended at 2026-08-15 17:35:06, duration 3.0 seconds tried 310 combinations
2026-08-15 17:35:06.810115: Set best_price_charge_level 24.4p, best_price_export_level 0p, best_price_charge 22.76p, best_cost_export 0p, best_metric 1003.94p, best_keep 0kWh, best_cycle 39.33kWh, best_carbon 0kg, best_import 20.21kWh
2026-08-15 17:35:06.828087: Starting detailed optimisation end_record 08-17 12:30:00, best_price_charge 22.76p, best_price_export 0p. lowest_price_charge 21.41p with charge limits [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12.5, 12.5, 12.5, 12.5, 12.5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0]kWh and export limits []kWh
2026-08-15 17:35:12.848719: Tweak plan optimisation started metric 923.9p, cost 939.25p
2026-08-15 17:35:13.098599: Tweak optimisation finished metric 923.9p, cost 939.25p, metric_keep 0kWh, cycle 32.44kWh, carbon 0kg, import 16.55kWh, changed 8 window(s)
2026-08-15 17:35:13.116339: Swap charge optimisation started metric 923.9p, cost 939.25p, min_improvement_swap 0.1p
2026-08-15 17:35:21.052306: Swap charge optimisation finished metric 923.9p, cost 939.25p
2026-08-15 17:35:21.190530: Pruned 1 dead plan slot(s) in 11 trial(s), nominal metric 918.65p -> 918.65p, plan now metric 923.96p, cost 939.25p, cycle 32.44kWh, import 16.55kWh
2026-08-15 17:35:21.205824: Raw charge windows [ 15-08 17:30:00 - 15-08 18:00:00 @ 40.44p 0%, 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 0%, 15-08 18:30:00 - 15-08 19:00:00 @ 43.82p 0%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 0%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 0%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 0%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 0%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 30.02p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 27.8p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.18p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.38p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 26.7p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.31p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.79p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 25.86p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.13p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 25.86p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.27p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.14p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 27.03p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.28p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.68p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 26.1p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 24.28p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 24.94p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.06p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.39p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.66p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.06p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 25.5p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 24.94p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 24.25p 16%, 16-08 11:30:00 - 16-08 12:00:00 @ 23.49p 16%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.43p 16%, 16-08 12:30:00 - 16-08 13:00:00 @ 22.33p 31%, 16-08 13:00:00 - 16-08 13:30:00 @ 22.76p 31%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 100%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 78%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.65p 78%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.95p 75%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.83p 75%, 16-08 16:00:00 - 16-08 16:30:00 @ 36.84p 0%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.54p 0%, 16-08 17:00:00 - 16-08 17:30:00 @ 41.79p 0%, 16-08 17:30:00 - 16-08 18:00:00 @ 43.7p 0%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.34p 0%, 16-08 19:00:00 - 16-08 19:30:00 @ 34.79p 0%, 16-08 19:30:00 - 16-08 20:00:00 @ 34.76p 0%, 16-08 20:00:00 - 16-08 20:30:00 @ 35.62p 0%, 16-08 20:30:00 - 16-08 21:00:00 @ 35.3p 0%, 16-08 21:00:00 - 16-08 21:30:00 @ 35.89p 0%, 16-08 21:30:00 - 16-08 22:00:00 @ 35.71p 0%, 16-08 22:00:00 - 16-08 22:30:00 @ 33.75p 0%, 16-08 22:30:00 - 16-08 23:00:00 @ 32.0p 0%, 16-08 23:00:00 - 16-08 23:30:00 @ 30.02p 0%, 16-08 23:30:00 - 17-08 00:00:00 @ 27.8p 0%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.18p 0%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.38p 0%, 17-08 01:00:00 - 17-08 01:30:00 @ 26.7p 0%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.31p 0%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.79p 0%, 17-08 02:30:00 - 17-08 03:00:00 @ 25.86p 0%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.13p 0%, 17-08 03:30:00 - 17-08 04:00:00 @ 25.86p 0%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.27p 0%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.14p 0%, 17-08 05:00:00 - 17-08 05:30:00 @ 27.03p 0%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.28p 0%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.68p 0%, 17-08 06:30:00 - 17-08 07:00:00 @ 26.1p 0%, 17-08 07:00:00 - 17-08 07:30:00 @ 24.28p 0%, 17-08 07:30:00 - 17-08 08:00:00 @ 24.94p 0%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.06p 0%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.39p 0%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.66p 0%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.06p 0%, 17-08 10:00:00 - 17-08 10:30:00 @ 25.5p 0%, 17-08 10:30:00 - 17-08 11:00:00 @ 24.94p 0%, 17-08 11:00:00 - 17-08 11:30:00 @ 24.25p 0%, 17-08 11:30:00 - 17-08 12:00:00 @ 23.49p 0%, 17-08 12:00:00 - 17-08 12:30:00 @ 23.43p 0%, 17-08 12:30:00 - 17-08 13:00:00 @ 22.33p 100%, 17-08 13:00:00 - 17-08 13:30:00 @ 22.76p 100%, 17-08 13:30:00 - 17-08 14:00:00 @ 22.3p 100%, 17-08 14:00:00 - 17-08 14:30:00 @ 21.41p 100%, 17-08 14:30:00 - 17-08 15:00:00 @ 21.65p 100%, 17-08 15:00:00 - 17-08 15:30:00 @ 22.95p 100%, 17-08 15:30:00 - 17-08 16:00:00 @ 22.83p 100%, 17-08 16:00:00 - 17-08 16:30:00 @ 36.84p 100%, 17-08 16:30:00 - 17-08 17:00:00 @ 37.54p 100%, 17-08 17:00:00 - 17-08 17:30:00 @ 41.79p 100%, 17-08 17:30:00 - 17-08 18:00:00 @ 43.7p 100% ] reserve 1.12
2026-08-15 17:35:21.206603: Unclipped charge windows [ 16-08 11:00:00 - 16-08 12:30:00 @ 23.65p 16%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 31%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 100%, 16-08 14:00:00 - 16-08 15:00:00 @ 21.53p 78%, 16-08 15:00:00 - 16-08 16:00:00 @ 22.89p 75%, 17-08 12:30:00 - 17-08 18:00:00 @ 40.7p 100% ] reserve 1.12
2026-08-15 17:35:21.207002: Unfiltered charge windows [ 16-08 11:00:00 - 16-08 12:30:00 @ 23.65p 16%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 31%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 100%, 16-08 14:00:00 - 16-08 15:00:00 @ 21.53p 100%, 16-08 15:00:00 - 16-08 16:00:00 @ 22.89p 75%, 17-08 12:30:00 - 17-08 18:00:00 @ 40.7p 100% ] reserve 1.12
2026-08-15 17:35:21.207273: Filtered charge windows [ 16-08 11:00:00 - 16-08 12:30:00 @ 23.65p 16%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 31%, 16-08 13:30:00 - 16-08 15:00:00 @ 21.91p 100%, 16-08 15:00:00 - 16-08 16:00:00 @ 22.89p 75%, 17-08 12:30:00 - 17-08 18:00:00 @ 40.7p 100% ] reserve 1.12
2026-08-15 17:35:21.246564: Previous plan best metric is 924.99 (cost 940.35) and new plan best metric is 923.9 (cost 939.25)
2026-08-15 17:35:21.246802: New plan is a cost-neutral improvement but less fragmented (3 vs 4 segments), using new plan
2026-08-15 17:35:21.246832: Plan valid is now true after recompute was False
2026-08-15 17:35:21.269521: predict base end_record 08-17 12:30:00, final soc 1.12kWh, metric 1105.54p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 13:05:00, load 37.74kWh, PV 0.0kWh
2026-08-15 17:35:21.380640: Battery has 19.5 hours left - now at 15.52kWh
2026-08-15 17:35:21.420817: predict base10 end_record 08-17 12:30:00, final soc 1.12kWh, metric 1140.83p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 12:20:00, load 39.1kWh, PV 0.0kWh
2026-08-15 17:35:21.494595: predict best10 end_record 08-17 12:30:00, final soc 1.12kWh, metric 1074.63p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 06:10:00, load 39.1kWh, PV 0.0kWh
2026-08-15 17:35:21.572473: predict best end_record 08-17 12:30:00, final soc 1.12kWh, metric 1039.21p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 07:10:00, load 37.74kWh, PV 0.0kWh
2026-08-15 17:35:21.572557: Saving plan best values to HA entities
2026-08-15 17:35:21.718960: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 17:35:21.744370: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0.0
2026-08-15 17:35:21.749872: Best charging limit SoC's [2.5, 5.0, 16.0, 12.0, 16.0]kWh, export []kWh gives import battery 13.27kWh, house 3.28kWh, export 0.0kWh, metric 1039.21p, metric10 1074.63p
2026-08-15 17:35:21.820313: Marginal costs baseline metric (no standing charge): 939.2481
2026-08-15 17:35:22.046009: Marginal energy costs matrix computed: min=25.82 max=33.36
2026-08-15 17:35:22.130700: Rate array import [{'start': 1055, 'end': 1140, 'rate': 'very expensive', 'range': '(40.4p - 43.8p)'}, {'start': 1140, 'end': 1410, 'rate': 'expensive', 'range': '(29.8p - 32.9p)'}, {'start': 1410, 'end': 2400, 'rate': 'cheap', 'range': '(21.4p - 28.2p)'}, {'start': 2400, 'end': 2430, 'rate': 'expensive', 'range': '(36.8p)'}, {'start': 2430, 'end': 2580, 'rate': 'very expensive', 'range': '(37.5p - 45.3p)'}, {'start': 2580, 'end': 2850, 'rate': 'expensive', 'range': '(30.0p - 35.9p)'}, {'start': 2850, 'end': 3630, 'rate': 'cheap', 'range': '(23.4p - 28.2p)'}] export [{'start': 1055, 'end': 3630, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 17:35:22.131365: - Your estimated bill for today is £5.66 and tomorrow is £3.44
2026-08-15 17:35:22.131412: - Import rates are very expensive (40.4p - 43.8p) for the next 1 and a half hours and then expensive (29.8p - 32.9p) for the next 4 and a half hours.
2026-08-15 17:35:22.131431: - The battery is currently at 97% and is in eco mode for the next 17 hours.
2026-08-15 17:35:22.131451: - For the next 48 hours there will be no solar generation.
2026-08-15 17:35:22.131488: - You will run out of battery in 37 hours.
2026-08-15 17:35:22.131519: - Your next charge slot will be in 17 hours where import rates will be cheap (24.3p).
2026-08-15 17:35:22.131554: 
2026-08-15 17:35:22.191226: Plan calculation took 18.51 seconds
2026-08-15 17:35:22.191812: Inverter 0: Type SK Sunsynk
2026-08-15 17:35:22.191866: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 17:35:22.192097: Reserve min: 7%, battery_min: 7%
2026-08-15 17:35:22.192180: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 17:35:22.192565: Inverter 0 SoC: 15.52kW 97%, current charge rate 5000W, current discharge rate 5250W, current battery power 271W, current battery voltage 51.2V, grid power -54W, load power 337W, PV Power 0W
2026-08-15 17:35:22.192831: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 17:35:22.192996: Inverter 0 scheduled charge enable is False
2026-08-15 17:35:22.193066: Inverter 0 charge windows currently []
2026-08-15 17:35:22.193100: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 17:35:22.193230: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 17:35:22.193268: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 17:35:22.193307: Inverter 0 scheduled discharge enable is False
2026-08-15 17:35:22.193487: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 17:35:22.193541: Inverter 0 discharge windows currently []
2026-08-15 17:35:22.193565: Note: Inverter does not support discharge freeze - disabled
2026-08-15 17:35:22.193584: Note: Inverter does not support charge freeze - disabled
2026-08-15 17:35:22.193601: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 17:35:22.255031: Inverter 0 Charge window will be: 2026-08-16 11:00:00+01:00 - 2026-08-16 16:00:00+01:00 - current SoC 97%, target 16%
2026-08-15 17:35:22.255169: Inverter 0 disabled charge window while waiting for schedule (now 08-15 17:35:00 target set_window_minutes 30 charge start time 08-16 11:00:00) original inverter start time 08-17 00:00:00
2026-08-15 17:35:22.255232: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 17:35:22.255395: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 17:35:22.255468: No export window planned
2026-08-15 17:35:22.255584: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 17:35:22.255615: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 17:35:22.255749: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 17:35:22.255894: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 17:35:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 17:35:22.255933: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 17:35:22.255976: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 17:35:22.256053: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 17:35:22.256084: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 17:35:22.256107: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 17:35:22.256128: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 17:35:22.256149: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 17:35:22.256172: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 17:35:22.256194: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 17:35:22.256245: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 17:35:22.256274: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 17:35:22.256294: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 17:35:22.256318: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 17:35:22.256339: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 17:35:22.256358: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 17:35:22.256377: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 17:35:22.256394: Inverter 0 count register writes 0
2026-08-15 17:35:22.276083: Total inverter register writes now 826
2026-08-15 17:35:22.315448: Info: Completed run status Demand
2026-08-15 17:35:22.321536: Info: record_status Demand
2026-08-15 17:35:22.328565: Saved current settings to /config/predbat_config.json
2026-08-15 17:35:22.329167: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 17:35:57.436495: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 17:35:57.436833: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 17:35:57.436885: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 17:35:57.437093: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 17:35:57.437164: Note: Inverter does not support discharge freeze - disabled
2026-08-15 17:35:57.437191: Note: Inverter does not support charge freeze - disabled
2026-08-15 17:35:57.437235: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 17:38:11.690960: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 17:38:11.691212: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 17:38:11.691277: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 17:38:11.691440: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 17:38:11.691479: Note: Inverter does not support discharge freeze - disabled
2026-08-15 17:38:11.691501: Note: Inverter does not support charge freeze - disabled
2026-08-15 17:38:11.691518: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 17:39:46.340724: ML Component: Fetching 28 days of load history from ['sensor.sunsynk_day_load_energy']
2026-08-15 17:39:47.435488: Processing 1345 30-minute periods for power integration
2026-08-15 17:39:47.545026: ML Component: Car charging hold False, car energy reported load False
2026-08-15 17:39:47.646986: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 17:39:47.749174: ML Temperature data points: 49346
2026-08-15 17:39:48.027389: ML Component: Fetched 8064 load data points, 28.0 days of history
2026-08-15 17:39:48.072628: ML Component: Data fetch completed, load data age 57.0 days, 16476 data points
2026-08-15 17:39:48.072769: ML Component: No training needed, model age is 0.29 hours
2026-08-15 17:39:48.072833: ML Component: Generating predictions load data age 57.0 days, 16476 data points
2026-08-15 17:39:48.212201: ML Predictor: Starting autoregressive prediction loop for 576 steps (48.0 hours), prev_energy value 0.0424 max_dow {0: 0.09899687486626207, 1: 0.10616562486607581, 2: 0.12051249983031302, 3: 0.1227374996352941, 4: 0.1701437503574416, 5: 0.0974166672406925, 6: 0.11264999961592256}
2026-08-15 17:39:51.852208: ML Component: Generated 576 predictions (total 27.30 kWh over 48h)
2026-08-15 17:39:51.896785: ML Component: Prediction cycle completed
2026-08-15 17:39:52.008281: ML Component: Saved 16476 steps (57 days) of history to /config/predbat_ml_history.npz
2026-08-15 17:40:00.923340: --------------- PredBat - update at 2026-08-15 17:40:00+01:00 with clock skew 0 minutes, minutes now 1060
2026-08-15 17:40:00.924294: Saved current settings to /config/predbat_config.json
2026-08-15 17:40:00.924458: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 75.0 minutes
2026-08-15 17:40:00.924581: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.2, latest beta is v8.48.2
2026-08-15 17:40:00.924702: Autoupdate: There is an update pending v8.48.2 PV90 and second pass enabled by default, bug fixes - auto update is off
2026-08-15 17:40:00.945611: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 17:40:00.945738: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 17:40:00.945905: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 17:40:00.946410: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 17:40:00.946632: Predbat mode is set to Control charge & discharge
2026-08-15 17:40:01.160934: Found 21602 load_today datapoints going back 28 days
2026-08-15 17:40:01.161119: Using load_power data to fill gaps in load_today data
2026-08-15 17:40:02.135530: Processing 721 30-minute periods for power integration
2026-08-15 17:40:02.319452: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 17:40:02.319607: Car charging hold False, threshold 6.0kWh
2026-08-15 17:40:02.319651: Current data so far today: load 9.0kWh, import 27.6kWh, export 0.0kWh, PV 0kWh
2026-08-15 17:40:02.335271: Cars: SoC: [10.548]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 17:40:02.335763: Standing charge is set to 49.98p
2026-08-15 17:40:02.387411: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 17:40:02.387562: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 17:40:02.387825: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 420.0 minutes
2026-08-15 17:40:02.388442: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 420.0 minutes
2026-08-15 17:40:02.397386: Loaded 95 datapoints of futurerate analysis
2026-08-15 17:40:02.536538: Predicted future rates: ['08-15 00:00:00 => 28.69 / 20.01', '08-15 01:00:00 => 27.33 / 19.31', '08-15 02:00:00 => 26.31 / 18.8', '08-15 03:00:00 => 25.78 / 18.53', '08-15 04:00:00 => 25.59 / 18.43', '08-15 05:00:00 => 25.75 / 18.51', '08-15 06:00:00 => 25.34 / 18.3', '08-15 07:00:00 => 24.12 / 17.68', '08-15 08:00:00 => 22.82 / 17.01', '08-15 09:00:00 => 21.84 / 16.51', '08-15 10:00:00 => 20.22 / 15.68', '08-15 11:00:00 => 17.8 / 14.45', '08-15 12:00:00 => 16.16 / 13.61', '08-15 13:00:00 => 15.55 / 13.3', '08-15 14:00:00 => 15.14 / 13.09', '08-15 15:00:00 => 15.65 / 13.35', '08-15 16:00:00 => 32.68 / 16.13', '08-15 17:00:00 => 37.81 / 18.75', '08-15 18:00:00 => 42.15 / 20.96', '08-15 19:00:00 => 30.88 / 21.13', '08-15 20:00:00 => 31.43 / 21.41', '08-15 21:00:00 => 31.43 / 21.41', '08-15 22:00:00 => 30.37 / 20.87', '08-15 23:00:00 => 29.16 / 20.25', '08-16 00:00:00 => 28.62 / 19.97', '08-16 01:00:00 => 27.52 / 19.41', '08-16 02:00:00 => 26.55 / 18.92', '08-16 03:00:00 => 26.18 / 18.73', '08-16 04:00:00 => 26.12 / 18.7', '08-16 05:00:00 => 26.02 / 18.65', '08-16 06:00:00 => 25.78 / 18.53', '08-16 07:00:00 => 25.43 / 18.35', '08-16 08:00:00 => 24.63 / 17.94', '08-16 09:00:00 => 24.05 / 17.64', '08-16 10:00:00 => 24.59 / 17.92', '08-16 11:00:00 => 24.5 / 17.87', '08-16 12:00:00 => 23.58 / 17.4', '08-16 13:00:00 => 22.93 / 17.07', '08-16 14:00:00 => 21.8 / 16.49', '08-16 15:00:00 => 21.8 / 16.49', '08-16 16:00:00 => 36.93 / 18.3']
2026-08-15 17:40:02.578846: Rate min forward looking: now 21.41p at end of forecast 21.41p
2026-08-15 17:40:02.579263: Import rates: min 21.41p, max 45.28p, average 28.42p
2026-08-15 17:40:02.617670: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 17:40:02.617791: Rate thresholds (for charge/export) are import 44.78p (0.0p), export -0.1p (0.0p)
2026-08-15 17:40:02.619043: High export rate found rates in range 99p to -99p
2026-08-15 17:40:02.701433: Low Import rate found rates in range 21.41p to 44.34p
2026-08-15 17:40:02.701568: Car 0 charging is not planned as it is not plugged in
2026-08-15 17:40:02.712909: Battery level now 15.52kWh, -1hr ago 15.73kWh, at midnight 1.66kWh, battery value change in the last hour -3.83p, change today 255.0p, rate_forward 18.39p
2026-08-15 17:40:02.713243: Last hour: net energy 0.05kWh, import 0.05kWh, export 0.0kWh, car 0kWh, load 0.28kWh, net cost 1.78p, import 1.78p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 17:40:02.770757: Today's energy total net 27.6kWh, import 27.6kWh, export 0.0kWh, cost 566.08p, import 516.09p, export 0.0p, carbon 0.0kg
2026-08-15 17:40:02.770915: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 17:40:02.848210: Using weighted-bucket historical load forecast over 14 days
2026-08-15 17:40:02.873399: Today's load divergence 89.48%, in-day adjustment 104.19%, damping 0.95x, yesterday 143.77% today 90.01% blend 26.39%
2026-08-15 17:40:02.873791: Today's predicted so far 10.56kWh with 0.0kWh car/iBoost excluded, 20.92kWh import ignored, and 10.56kWh forecast extra.
2026-08-15 17:40:02.873833: Today's actual load so far 9.11kWh with 0.0kWh car/iBoost excluded, and 20.92kWh import ignored.
2026-08-15 17:40:02.911744: Inverter 0: Type SK Sunsynk
2026-08-15 17:40:02.911828: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 17:40:02.911984: Reserve min: 7%, battery_min: 7%
2026-08-15 17:40:02.912044: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 17:40:02.912268: Inverter 0 SoC: 15.52kW 97%, current charge rate 5000W, current discharge rate 5250W, current battery power 230W, current battery voltage 51.2V, grid power -55W, load power 299W, PV Power 0W
2026-08-15 17:40:02.912397: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 17:40:02.912475: Inverter 0 scheduled charge enable is False
2026-08-15 17:40:02.912503: Inverter 0 charge windows currently []
2026-08-15 17:40:02.912537: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 17:40:02.912631: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 17:40:02.912660: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 17:40:02.912691: Inverter 0 scheduled discharge enable is False
2026-08-15 17:40:02.912800: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 17:40:02.912839: Inverter 0 discharge windows currently []
2026-08-15 17:40:02.912874: Note: Inverter does not support discharge freeze - disabled
2026-08-15 17:40:02.912903: Note: Inverter does not support charge freeze - disabled
2026-08-15 17:40:02.912930: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 17:40:02.973458: Dynamic load last period 0.00kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 17:40:02.973588: Plan was last updated on 2026-08-15 17:35:00+01:00 and is now 5.0 minutes old
2026-08-15 17:40:02.973860: Best charge window [ 16-08 11:00:00 - 16-08 12:30:00 @ 23.65p 16%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 31%, 16-08 13:30:00 - 16-08 15:00:00 @ 21.91p 100%, 16-08 15:00:00 - 16-08 16:00:00 @ 22.89p 75%, 17-08 12:30:00 - 17-08 18:00:00 @ 40.7p 100% ]
2026-08-15 17:40:02.973904: Best export window [  ]
2026-08-15 17:40:02.974769: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 17:40:02.977941: Load divergence over 8.0 hours mean 641.71W, min 309.0W, max 2447.4W, std dev 427.61W, divergence 33.32%
2026-08-15 17:40:02.995492: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 17:40:02.995615: LoadML is_calculating False
2026-08-15 17:40:02.995694: Creating pool of 12 processes to match your CPU count
2026-08-15 17:40:03.103008: predict base end_record 08-17 12:35:00, final soc 1.12kWh, metric 1105.43p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 13:10:00, load 37.63kWh, PV 0.0kWh
2026-08-15 17:40:03.222738: Battery has 19.5 hours left - now at 15.52kWh
2026-08-15 17:40:03.267451: predict base10 end_record 08-17 12:35:00, final soc 1.12kWh, metric 1140.73p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 12:30:00, load 39.0kWh, PV 0.0kWh
2026-08-15 17:40:03.349909: predict best10 end_record 08-17 12:35:00, final soc 1.44kWh, metric 1081.92p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 06:10:00, load 39.0kWh, PV 0.0kWh
2026-08-15 17:40:03.432203: predict best end_record 08-17 12:35:00, final soc 1.51kWh, metric 1048.19p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 07:10:00, load 37.63kWh, PV 0.0kWh
2026-08-15 17:40:03.432294: Saving plan best values to HA entities
2026-08-15 17:40:03.629677: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 17:40:03.635383: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0.0
2026-08-15 17:40:03.641646: Best charging limit SoC's [2.5, 5.0, 16.0, 12.0, 16.0]kWh, export []kWh gives import battery 13.66kWh, house 3.29kWh, export 0.0kWh, metric 1048.19p, metric10 1081.92p
2026-08-15 17:40:03.720425: Marginal costs baseline metric (no standing charge): 948.2281
2026-08-15 17:40:03.996364: Marginal energy costs matrix computed: min=25.78 max=33.49
2026-08-15 17:40:04.081733: Rate array import [{'start': 1060, 'end': 1140, 'rate': 'very expensive', 'range': '(40.4p - 43.8p)'}, {'start': 1140, 'end': 1410, 'rate': 'expensive', 'range': '(29.8p - 32.9p)'}, {'start': 1410, 'end': 2400, 'rate': 'cheap', 'range': '(21.4p - 28.2p)'}, {'start': 2400, 'end': 2430, 'rate': 'expensive', 'range': '(36.8p)'}, {'start': 2430, 'end': 2580, 'rate': 'very expensive', 'range': '(37.5p - 45.3p)'}, {'start': 2580, 'end': 2850, 'rate': 'expensive', 'range': '(30.0p - 35.9p)'}, {'start': 2850, 'end': 3635, 'rate': 'cheap', 'range': '(22.3p - 28.2p)'}] export [{'start': 1060, 'end': 3635, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 17:40:04.082414: - Your estimated bill for today is £5.66 and tomorrow is £3.41
2026-08-15 17:40:04.082451: - Import rates are very expensive (40.4p - 43.8p) for the next 1 and a quarter hours and then expensive (29.8p - 32.9p) for the next 4 and a half hours.
2026-08-15 17:40:04.082470: - The battery is currently at 97% and is in eco mode for the next 17 hours.
2026-08-15 17:40:04.082484: - For the next 48 hours there will be no solar generation.
2026-08-15 17:40:04.082498: - You will run out of battery in 37 hours.
2026-08-15 17:40:04.082512: - Your next charge slot will be in 17 hours where import rates will be cheap (24.3p).
2026-08-15 17:40:04.082542: 
2026-08-15 17:40:04.147983: Plan calculation took 1.17 seconds
2026-08-15 17:40:04.152342: No high rate period found
2026-08-15 17:40:04.208331: Import threshold used for optimisation was 24.25p
2026-08-15 17:40:04.262753: Low import rate windows [0: 08-15 17:30:00 - 08-15 18:00:00 @ 40.44, 1: 08-15 18:00:00 - 08-15 18:30:00 @ 41.55, 2: 08-15 18:30:00 - 08-15 19:00:00 @ 43.82, 3: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 4: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 5: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 6: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 7: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 8: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 9: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 10: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 11: 08-15 23:00:00 - 08-15 23:30:00 @ 30.02, 12: 08-15 23:30:00 - 08-16 00:00:00 @ 27.8, 13: 08-16 00:00:00 - 08-16 00:30:00 @ 28.18, 14: 08-16 00:30:00 - 08-16 01:00:00 @ 27.38, 15: 08-16 01:00:00 - 08-16 01:30:00 @ 26.7, 16: 08-16 01:30:00 - 08-16 02:00:00 @ 26.31, 17: 08-16 02:00:00 - 08-16 02:30:00 @ 25.79, 18: 08-16 02:30:00 - 08-16 03:00:00 @ 25.86, 19: 08-16 03:00:00 - 08-16 03:30:00 @ 26.13, 20: 08-16 03:30:00 - 08-16 04:00:00 @ 25.86, 21: 08-16 04:00:00 - 08-16 04:30:00 @ 26.27, 22: 08-16 04:30:00 - 08-16 05:00:00 @ 26.14, 23: 08-16 05:00:00 - 08-16 05:30:00 @ 27.03, 24: 08-16 05:30:00 - 08-16 06:00:00 @ 26.28, 25: 08-16 06:00:00 - 08-16 06:30:00 @ 25.68, 26: 08-16 06:30:00 - 08-16 07:00:00 @ 26.1, 27: 08-16 07:00:00 - 08-16 07:30:00 @ 24.28, 28: 08-16 07:30:00 - 08-16 08:00:00 @ 24.94, 29: 08-16 08:00:00 - 08-16 08:30:00 @ 24.06, 30: 08-16 08:30:00 - 08-16 09:00:00 @ 24.39, 31: 08-16 09:00:00 - 08-16 09:30:00 @ 24.66, 32: 08-16 09:30:00 - 08-16 10:00:00 @ 24.06, 33: 08-16 10:00:00 - 08-16 10:30:00 @ 25.5, 34: 08-16 10:30:00 - 08-16 11:00:00 @ 24.94, 35: 08-16 11:00:00 - 08-16 11:30:00 @ 24.25, 36: 08-16 11:30:00 - 08-16 12:00:00 @ 23.49, 37: 08-16 12:00:00 - 08-16 12:30:00 @ 23.43, 38: 08-16 12:30:00 - 08-16 13:00:00 @ 22.33, 39: 08-16 13:00:00 - 08-16 13:30:00 @ 22.76, 40: 08-16 13:30:00 - 08-16 14:00:00 @ 22.3, 41: 08-16 14:00:00 - 08-16 14:30:00 @ 21.41, 42: 08-16 14:30:00 - 08-16 15:00:00 @ 21.65, 43: 08-16 15:00:00 - 08-16 15:30:00 @ 22.95, 44: 08-16 15:30:00 - 08-16 16:00:00 @ 22.83, 45: 08-16 16:00:00 - 08-16 16:30:00 @ 36.84, 46: 08-16 16:30:00 - 08-16 17:00:00 @ 37.54, 47: 08-16 17:00:00 - 08-16 17:30:00 @ 41.79, 48: 08-16 17:30:00 - 08-16 18:00:00 @ 43.7, 49: 08-16 18:00:00 - 08-16 18:30:00 @ 44.34, 50: 08-16 19:00:00 - 08-16 19:30:00 @ 34.79, 51: 08-16 19:30:00 - 08-16 20:00:00 @ 34.76, 52: 08-16 20:00:00 - 08-16 20:30:00 @ 35.62, 53: 08-16 20:30:00 - 08-16 21:00:00 @ 35.3, 54: 08-16 21:00:00 - 08-16 21:30:00 @ 35.89, 55: 08-16 21:30:00 - 08-16 22:00:00 @ 35.71, 56: 08-16 22:00:00 - 08-16 22:30:00 @ 33.75, 57: 08-16 22:30:00 - 08-16 23:00:00 @ 32.0, 58: 08-16 23:00:00 - 08-16 23:30:00 @ 30.02, 59: 08-16 23:30:00 - 08-17 00:00:00 @ 27.8, 60: 08-17 00:00:00 - 08-17 00:30:00 @ 28.18, 61: 08-17 00:30:00 - 08-17 01:00:00 @ 27.38, 62: 08-17 01:00:00 - 08-17 01:30:00 @ 26.7, 63: 08-17 01:30:00 - 08-17 02:00:00 @ 26.31, 64: 08-17 02:00:00 - 08-17 02:30:00 @ 25.79, 65: 08-17 02:30:00 - 08-17 03:00:00 @ 25.86, 66: 08-17 03:00:00 - 08-17 03:30:00 @ 26.13, 67: 08-17 03:30:00 - 08-17 04:00:00 @ 25.86, 68: 08-17 04:00:00 - 08-17 04:30:00 @ 26.27, 69: 08-17 04:30:00 - 08-17 05:00:00 @ 26.14, 70: 08-17 05:00:00 - 08-17 05:30:00 @ 27.03, 71: 08-17 05:30:00 - 08-17 06:00:00 @ 26.28, 72: 08-17 06:00:00 - 08-17 06:30:00 @ 25.68, 73: 08-17 06:30:00 - 08-17 07:00:00 @ 26.1, 74: 08-17 07:00:00 - 08-17 07:30:00 @ 24.28, 75: 08-17 07:30:00 - 08-17 08:00:00 @ 24.94, 76: 08-17 08:00:00 - 08-17 08:30:00 @ 24.06, 77: 08-17 08:30:00 - 08-17 09:00:00 @ 24.39, 78: 08-17 09:00:00 - 08-17 09:30:00 @ 24.66, 79: 08-17 09:30:00 - 08-17 10:00:00 @ 24.06, 80: 08-17 10:00:00 - 08-17 10:30:00 @ 25.5, 81: 08-17 10:30:00 - 08-17 11:00:00 @ 24.94, 82: 08-17 11:00:00 - 08-17 11:30:00 @ 24.25, 83: 08-17 11:30:00 - 08-17 12:00:00 @ 23.49, 84: 08-17 12:00:00 - 08-17 12:30:00 @ 23.43, 85: 08-17 12:30:00 - 08-17 13:00:00 @ 22.33, 86: 08-17 13:00:00 - 08-17 13:30:00 @ 22.76, 87: 08-17 13:30:00 - 08-17 14:00:00 @ 22.3, 88: 08-17 14:00:00 - 08-17 14:30:00 @ 21.41, 89: 08-17 14:30:00 - 08-17 15:00:00 @ 21.65, 90: 08-17 15:00:00 - 08-17 15:30:00 @ 22.95, 91: 08-17 15:30:00 - 08-17 16:00:00 @ 22.83, 92: 08-17 16:00:00 - 08-17 16:30:00 @ 36.84, 93: 08-17 16:30:00 - 08-17 17:00:00 @ 37.54, 94: 08-17 17:00:00 - 08-17 17:30:00 @ 41.79, 95: 08-17 17:30:00 - 08-17 18:00:00 @ 43.7]
2026-08-15 17:40:04.271130: Inverter 0 Charge window will be: 2026-08-16 11:00:00+01:00 - 2026-08-16 16:00:00+01:00 - current SoC 97%, target 16%
2026-08-15 17:40:04.271279: Inverter 0 disabled charge window while waiting for schedule (now 08-15 17:40:00 target set_window_minutes 30 charge start time 08-16 11:00:00) original inverter start time 08-17 00:00:00
2026-08-15 17:40:04.271397: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 17:40:04.271696: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 17:40:04.271800: No export window planned
2026-08-15 17:40:04.271927: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 17:40:04.271965: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 17:40:04.272103: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 17:40:04.272289: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 17:40:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 17:40:04.272360: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 17:40:04.272428: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 17:40:04.272543: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 17:40:04.272585: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 17:40:04.272618: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 17:40:04.272645: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 17:40:04.272697: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 17:40:04.272732: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 17:40:04.272758: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 17:40:04.272819: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 17:40:04.272851: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 17:40:04.272884: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 17:40:04.272909: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 17:40:04.272933: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 17:40:04.272984: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 17:40:04.273014: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 17:40:04.273041: Inverter 0 count register writes 0
2026-08-15 17:40:04.294496: Will not recompute the plan, it is 5.0 minutes old and max age is 10 minutes
2026-08-15 17:40:04.300151: Total inverter register writes now 826
2026-08-15 17:40:04.343463: Info: Completed run status Demand
2026-08-15 17:40:04.349727: Info: record_status Demand
2026-08-15 17:40:04.356780: Saved current settings to /config/predbat_config.json
2026-08-15 17:40:04.357175: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 17:40:42.466414: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 17:40:42.466678: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 17:40:42.466720: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 17:40:42.466899: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 17:40:42.466942: Note: Inverter does not support discharge freeze - disabled
2026-08-15 17:40:42.466965: Note: Inverter does not support charge freeze - disabled
2026-08-15 17:40:42.466982: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 17:42:56.705383: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 17:42:56.705638: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 17:42:56.705681: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 17:42:56.705888: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 17:42:56.705939: Note: Inverter does not support discharge freeze - disabled
2026-08-15 17:42:56.705960: Note: Inverter does not support charge freeze - disabled
2026-08-15 17:42:56.705979: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 17:44:56.921651: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 17:44:56.921889: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 17:44:56.921932: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 17:44:56.922070: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 17:44:56.922108: Note: Inverter does not support discharge freeze - disabled
2026-08-15 17:44:56.922129: Note: Inverter does not support charge freeze - disabled
2026-08-15 17:44:56.922169: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 17:45:00.010502: --------------- PredBat - update at 2026-08-15 17:45:00+01:00 with clock skew 0 minutes, minutes now 1065
2026-08-15 17:45:00.011596: Saved current settings to /config/predbat_config.json
2026-08-15 17:45:00.011823: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 80.0 minutes
2026-08-15 17:45:00.011953: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.2, latest beta is v8.48.2
2026-08-15 17:45:00.012110: Autoupdate: There is an update pending v8.48.2 PV90 and second pass enabled by default, bug fixes - auto update is off
2026-08-15 17:45:00.040892: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 17:45:00.041059: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 17:45:00.041237: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 17:45:00.041783: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 17:45:00.041903: Predbat mode is set to Control charge & discharge
2026-08-15 17:45:00.206042: Found 21602 load_today datapoints going back 28 days
2026-08-15 17:45:00.206178: Using load_power data to fill gaps in load_today data
2026-08-15 17:45:00.914012: Processing 721 30-minute periods for power integration
2026-08-15 17:45:01.074036: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 17:45:01.074166: Car charging hold False, threshold 6.0kWh
2026-08-15 17:45:01.074211: Current data so far today: load 9.0kWh, import 27.6kWh, export 0.0kWh, PV 0kWh
2026-08-15 17:45:01.091476: Cars: SoC: [10.548]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 17:45:01.092384: Standing charge is set to 49.98p
2026-08-15 17:45:01.141097: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 17:45:01.141203: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 17:45:01.141402: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 425.0 minutes
2026-08-15 17:45:01.141837: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 425.0 minutes
2026-08-15 17:45:01.148148: Loaded 95 datapoints of futurerate analysis
2026-08-15 17:45:01.306520: Predicted future rates: ['08-15 00:00:00 => 28.69 / 20.01', '08-15 01:00:00 => 27.33 / 19.31', '08-15 02:00:00 => 26.31 / 18.8', '08-15 03:00:00 => 25.78 / 18.53', '08-15 04:00:00 => 25.59 / 18.43', '08-15 05:00:00 => 25.75 / 18.51', '08-15 06:00:00 => 25.34 / 18.3', '08-15 07:00:00 => 24.12 / 17.68', '08-15 08:00:00 => 22.82 / 17.01', '08-15 09:00:00 => 21.84 / 16.51', '08-15 10:00:00 => 20.22 / 15.68', '08-15 11:00:00 => 17.8 / 14.45', '08-15 12:00:00 => 16.16 / 13.61', '08-15 13:00:00 => 15.55 / 13.3', '08-15 14:00:00 => 15.14 / 13.09', '08-15 15:00:00 => 15.65 / 13.35', '08-15 16:00:00 => 32.68 / 16.13', '08-15 17:00:00 => 37.81 / 18.75', '08-15 18:00:00 => 42.15 / 20.96', '08-15 19:00:00 => 30.88 / 21.13', '08-15 20:00:00 => 31.43 / 21.41', '08-15 21:00:00 => 31.43 / 21.41', '08-15 22:00:00 => 30.37 / 20.87', '08-15 23:00:00 => 29.16 / 20.25', '08-16 00:00:00 => 28.62 / 19.97', '08-16 01:00:00 => 27.52 / 19.41', '08-16 02:00:00 => 26.55 / 18.92', '08-16 03:00:00 => 26.18 / 18.73', '08-16 04:00:00 => 26.12 / 18.7', '08-16 05:00:00 => 26.02 / 18.65', '08-16 06:00:00 => 25.78 / 18.53', '08-16 07:00:00 => 25.43 / 18.35', '08-16 08:00:00 => 24.63 / 17.94', '08-16 09:00:00 => 24.05 / 17.64', '08-16 10:00:00 => 24.59 / 17.92', '08-16 11:00:00 => 24.5 / 17.87', '08-16 12:00:00 => 23.58 / 17.4', '08-16 13:00:00 => 22.93 / 17.07', '08-16 14:00:00 => 21.8 / 16.49', '08-16 15:00:00 => 21.8 / 16.49', '08-16 16:00:00 => 36.93 / 18.3']
2026-08-15 17:45:01.355598: Rate min forward looking: now 21.41p at end of forecast 21.41p
2026-08-15 17:45:01.356030: Import rates: min 21.41p, max 45.28p, average 28.43p
2026-08-15 17:45:01.399268: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 17:45:01.399375: Rate thresholds (for charge/export) are import 44.78p (0.0p), export -0.1p (0.0p)
2026-08-15 17:45:01.400679: High export rate found rates in range 99p to -99p
2026-08-15 17:45:01.505142: Low Import rate found rates in range 21.41p to 44.34p
2026-08-15 17:45:01.505275: Car 0 charging is not planned as it is not plugged in
2026-08-15 17:45:01.518410: Battery level now 15.52kWh, -1hr ago 15.73kWh, at midnight 1.66kWh, battery value change in the last hour -3.83p, change today 255.0p, rate_forward 18.39p
2026-08-15 17:45:01.518797: Last hour: net energy 0.04kWh, import 0.04kWh, export 0.0kWh, car 0kWh, load 0.25kWh, net cost 1.54p, import 1.54p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 17:45:01.580841: Today's energy total net 27.6kWh, import 27.6kWh, export 0.0kWh, cost 566.08p, import 516.09p, export 0.0p, carbon 0.0kg
2026-08-15 17:45:01.581012: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 17:45:01.672508: Using weighted-bucket historical load forecast over 14 days
2026-08-15 17:45:01.703147: Today's load divergence 88.99%, in-day adjustment 103.66%, damping 0.95x, yesterday 143.77% today 89.54% blend 26.04%
2026-08-15 17:45:01.703254: Today's predicted so far 10.57kWh with 0.0kWh car/iBoost excluded, 20.9kWh import ignored, and 10.57kWh forecast extra.
2026-08-15 17:45:01.703287: Today's actual load so far 9.06kWh with 0.0kWh car/iBoost excluded, and 20.9kWh import ignored.
2026-08-15 17:45:01.737557: Inverter 0: Type SK Sunsynk
2026-08-15 17:45:01.737653: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 17:45:01.737841: Reserve min: 7%, battery_min: 7%
2026-08-15 17:45:01.737920: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 17:45:01.738263: Inverter 0 SoC: 15.52kW 97%, current charge rate 5000W, current discharge rate 5250W, current battery power 309W, current battery voltage 51.2V, grid power -55W, load power 375W, PV Power 0W
2026-08-15 17:45:01.738449: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 17:45:01.738542: Inverter 0 scheduled charge enable is False
2026-08-15 17:45:01.738570: Inverter 0 charge windows currently []
2026-08-15 17:45:01.738595: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 17:45:01.738698: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 17:45:01.738733: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 17:45:01.738769: Inverter 0 scheduled discharge enable is False
2026-08-15 17:45:01.738896: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 17:45:01.738933: Inverter 0 discharge windows currently []
2026-08-15 17:45:01.738956: Note: Inverter does not support discharge freeze - disabled
2026-08-15 17:45:01.738974: Note: Inverter does not support charge freeze - disabled
2026-08-15 17:45:01.738991: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 17:45:01.802580: Dynamic load last period 0.00kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 17:45:01.802744: Plan was last updated on 2026-08-15 17:35:00+01:00 and is now 10.0 minutes old
2026-08-15 17:45:01.803021: Best charge window [ 16-08 11:00:00 - 16-08 12:30:00 @ 23.65p 16%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 31%, 16-08 13:30:00 - 16-08 15:00:00 @ 21.91p 100%, 16-08 15:00:00 - 16-08 16:00:00 @ 22.89p 75%, 17-08 12:30:00 - 17-08 18:00:00 @ 40.7p 100% ]
2026-08-15 17:45:01.803068: Best export window [  ]
2026-08-15 17:45:01.803912: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 17:45:01.807073: Load divergence over 8.0 hours mean 655.82W, min 318.6W, max 2127.6W, std dev 416.78W, divergence 31.78%
2026-08-15 17:45:01.825549: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 17:45:01.825653: LoadML is_calculating False
2026-08-15 17:45:01.825720: Creating pool of 12 processes to match your CPU count
2026-08-15 17:45:01.945870: predict base end_record 08-17 12:40:00, final soc 1.12kWh, metric 1105.56p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 13:15:00, load 37.64kWh, PV 0.0kWh
2026-08-15 17:45:02.070675: Battery has 19.5 hours left - now at 15.52kWh
2026-08-15 17:45:02.118155: predict base10 end_record 08-17 12:40:00, final soc 1.12kWh, metric 1140.9p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 12:35:00, load 39.0kWh, PV 0.0kWh
2026-08-15 17:45:02.187394: predict best10 end_record 08-17 12:40:00, final soc 1.77kWh, metric 1089.49p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 06:05:00, load 39.0kWh, PV 0.0kWh
2026-08-15 17:45:02.255893: predict best end_record 08-17 12:40:00, final soc 1.9kWh, metric 1057.57p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 07:10:00, load 37.64kWh, PV 0.0kWh
2026-08-15 17:45:02.255984: Saving plan best values to HA entities
2026-08-15 17:45:02.416268: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 17:45:02.421021: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 17:45:02.427036: Best charging limit SoC's [2.5, 5.0, 16.0, 12.0, 16.0]kWh, export []kWh gives import battery 14.09kWh, house 3.3kWh, export 0.0kWh, metric 1057.57p, metric10 1089.49p
2026-08-15 17:45:02.496100: Marginal costs baseline metric (no standing charge): 957.6082
2026-08-15 17:45:02.726800: Marginal energy costs matrix computed: min=25.41 max=33.59
2026-08-15 17:45:02.801411: Rate array import [{'start': 1065, 'end': 1140, 'rate': 'very expensive', 'range': '(40.4p - 43.8p)'}, {'start': 1140, 'end': 1410, 'rate': 'expensive', 'range': '(29.8p - 32.9p)'}, {'start': 1410, 'end': 2400, 'rate': 'cheap', 'range': '(21.4p - 28.2p)'}, {'start': 2400, 'end': 2430, 'rate': 'expensive', 'range': '(36.8p)'}, {'start': 2430, 'end': 2580, 'rate': 'very expensive', 'range': '(37.5p - 45.3p)'}, {'start': 2580, 'end': 2850, 'rate': 'expensive', 'range': '(30.0p - 35.9p)'}, {'start': 2850, 'end': 3640, 'rate': 'cheap', 'range': '(22.3p - 28.2p)'}] export [{'start': 1065, 'end': 3640, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 17:45:02.802123: - Your estimated bill for today is £5.66 and tomorrow is £3.40
2026-08-15 17:45:02.802165: - Import rates are very expensive (40.4p - 43.8p) for the next 1 and a quarter hours and then expensive (29.8p - 32.9p) for the next 4 and a half hours.
2026-08-15 17:45:02.802185: - The battery is currently at 97% and is in eco mode for the next 17 hours.
2026-08-15 17:45:02.802199: - For the next 48 hours there will be no solar generation.
2026-08-15 17:45:02.802214: - You will run out of battery in 37 hours.
2026-08-15 17:45:02.802228: - Your next charge slot will be in 17 hours where import rates will be cheap (24.3p).
2026-08-15 17:45:02.802242: 
2026-08-15 17:45:02.868671: Plan calculation took 1.07 seconds
2026-08-15 17:45:02.871873: No high rate period found
2026-08-15 17:45:02.917683: Import threshold used for optimisation was 24.25p
2026-08-15 17:45:02.967470: Low import rate windows [0: 08-15 17:30:00 - 08-15 18:00:00 @ 40.44, 1: 08-15 18:00:00 - 08-15 18:30:00 @ 41.55, 2: 08-15 18:30:00 - 08-15 19:00:00 @ 43.82, 3: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 4: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 5: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 6: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 7: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 8: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 9: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 10: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 11: 08-15 23:00:00 - 08-15 23:30:00 @ 30.02, 12: 08-15 23:30:00 - 08-16 00:00:00 @ 27.8, 13: 08-16 00:00:00 - 08-16 00:30:00 @ 28.18, 14: 08-16 00:30:00 - 08-16 01:00:00 @ 27.38, 15: 08-16 01:00:00 - 08-16 01:30:00 @ 26.7, 16: 08-16 01:30:00 - 08-16 02:00:00 @ 26.31, 17: 08-16 02:00:00 - 08-16 02:30:00 @ 25.79, 18: 08-16 02:30:00 - 08-16 03:00:00 @ 25.86, 19: 08-16 03:00:00 - 08-16 03:30:00 @ 26.13, 20: 08-16 03:30:00 - 08-16 04:00:00 @ 25.86, 21: 08-16 04:00:00 - 08-16 04:30:00 @ 26.27, 22: 08-16 04:30:00 - 08-16 05:00:00 @ 26.14, 23: 08-16 05:00:00 - 08-16 05:30:00 @ 27.03, 24: 08-16 05:30:00 - 08-16 06:00:00 @ 26.28, 25: 08-16 06:00:00 - 08-16 06:30:00 @ 25.68, 26: 08-16 06:30:00 - 08-16 07:00:00 @ 26.1, 27: 08-16 07:00:00 - 08-16 07:30:00 @ 24.28, 28: 08-16 07:30:00 - 08-16 08:00:00 @ 24.94, 29: 08-16 08:00:00 - 08-16 08:30:00 @ 24.06, 30: 08-16 08:30:00 - 08-16 09:00:00 @ 24.39, 31: 08-16 09:00:00 - 08-16 09:30:00 @ 24.66, 32: 08-16 09:30:00 - 08-16 10:00:00 @ 24.06, 33: 08-16 10:00:00 - 08-16 10:30:00 @ 25.5, 34: 08-16 10:30:00 - 08-16 11:00:00 @ 24.94, 35: 08-16 11:00:00 - 08-16 11:30:00 @ 24.25, 36: 08-16 11:30:00 - 08-16 12:00:00 @ 23.49, 37: 08-16 12:00:00 - 08-16 12:30:00 @ 23.43, 38: 08-16 12:30:00 - 08-16 13:00:00 @ 22.33, 39: 08-16 13:00:00 - 08-16 13:30:00 @ 22.76, 40: 08-16 13:30:00 - 08-16 14:00:00 @ 22.3, 41: 08-16 14:00:00 - 08-16 14:30:00 @ 21.41, 42: 08-16 14:30:00 - 08-16 15:00:00 @ 21.65, 43: 08-16 15:00:00 - 08-16 15:30:00 @ 22.95, 44: 08-16 15:30:00 - 08-16 16:00:00 @ 22.83, 45: 08-16 16:00:00 - 08-16 16:30:00 @ 36.84, 46: 08-16 16:30:00 - 08-16 17:00:00 @ 37.54, 47: 08-16 17:00:00 - 08-16 17:30:00 @ 41.79, 48: 08-16 17:30:00 - 08-16 18:00:00 @ 43.7, 49: 08-16 18:00:00 - 08-16 18:30:00 @ 44.34, 50: 08-16 19:00:00 - 08-16 19:30:00 @ 34.79, 51: 08-16 19:30:00 - 08-16 20:00:00 @ 34.76, 52: 08-16 20:00:00 - 08-16 20:30:00 @ 35.62, 53: 08-16 20:30:00 - 08-16 21:00:00 @ 35.3, 54: 08-16 21:00:00 - 08-16 21:30:00 @ 35.89, 55: 08-16 21:30:00 - 08-16 22:00:00 @ 35.71, 56: 08-16 22:00:00 - 08-16 22:30:00 @ 33.75, 57: 08-16 22:30:00 - 08-16 23:00:00 @ 32.0, 58: 08-16 23:00:00 - 08-16 23:30:00 @ 30.02, 59: 08-16 23:30:00 - 08-17 00:00:00 @ 27.8, 60: 08-17 00:00:00 - 08-17 00:30:00 @ 28.18, 61: 08-17 00:30:00 - 08-17 01:00:00 @ 27.38, 62: 08-17 01:00:00 - 08-17 01:30:00 @ 26.7, 63: 08-17 01:30:00 - 08-17 02:00:00 @ 26.31, 64: 08-17 02:00:00 - 08-17 02:30:00 @ 25.79, 65: 08-17 02:30:00 - 08-17 03:00:00 @ 25.86, 66: 08-17 03:00:00 - 08-17 03:30:00 @ 26.13, 67: 08-17 03:30:00 - 08-17 04:00:00 @ 25.86, 68: 08-17 04:00:00 - 08-17 04:30:00 @ 26.27, 69: 08-17 04:30:00 - 08-17 05:00:00 @ 26.14, 70: 08-17 05:00:00 - 08-17 05:30:00 @ 27.03, 71: 08-17 05:30:00 - 08-17 06:00:00 @ 26.28, 72: 08-17 06:00:00 - 08-17 06:30:00 @ 25.68, 73: 08-17 06:30:00 - 08-17 07:00:00 @ 26.1, 74: 08-17 07:00:00 - 08-17 07:30:00 @ 24.28, 75: 08-17 07:30:00 - 08-17 08:00:00 @ 24.94, 76: 08-17 08:00:00 - 08-17 08:30:00 @ 24.06, 77: 08-17 08:30:00 - 08-17 09:00:00 @ 24.39, 78: 08-17 09:00:00 - 08-17 09:30:00 @ 24.66, 79: 08-17 09:30:00 - 08-17 10:00:00 @ 24.06, 80: 08-17 10:00:00 - 08-17 10:30:00 @ 25.5, 81: 08-17 10:30:00 - 08-17 11:00:00 @ 24.94, 82: 08-17 11:00:00 - 08-17 11:30:00 @ 24.25, 83: 08-17 11:30:00 - 08-17 12:00:00 @ 23.49, 84: 08-17 12:00:00 - 08-17 12:30:00 @ 23.43, 85: 08-17 12:30:00 - 08-17 13:00:00 @ 22.33, 86: 08-17 13:00:00 - 08-17 13:30:00 @ 22.76, 87: 08-17 13:30:00 - 08-17 14:00:00 @ 22.3, 88: 08-17 14:00:00 - 08-17 14:30:00 @ 21.41, 89: 08-17 14:30:00 - 08-17 15:00:00 @ 21.65, 90: 08-17 15:00:00 - 08-17 15:30:00 @ 22.95, 91: 08-17 15:30:00 - 08-17 16:00:00 @ 22.83, 92: 08-17 16:00:00 - 08-17 16:30:00 @ 36.84, 93: 08-17 16:30:00 - 08-17 17:00:00 @ 37.54, 94: 08-17 17:00:00 - 08-17 17:30:00 @ 41.79, 95: 08-17 17:30:00 - 08-17 18:00:00 @ 43.7]
2026-08-15 17:45:02.975777: Inverter 0 Charge window will be: 2026-08-16 11:00:00+01:00 - 2026-08-16 16:00:00+01:00 - current SoC 97%, target 16%
2026-08-15 17:45:02.975966: Inverter 0 disabled charge window while waiting for schedule (now 08-15 17:45:00 target set_window_minutes 30 charge start time 08-16 11:00:00) original inverter start time 08-17 00:00:00
2026-08-15 17:45:02.976133: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 17:45:02.976485: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 17:45:02.976616: No export window planned
2026-08-15 17:45:02.976792: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 17:45:02.976856: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 17:45:02.977127: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 17:45:02.977388: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 17:45:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 17:45:02.977499: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 17:45:02.977621: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 17:45:02.977811: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 17:45:02.977887: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 17:45:02.977944: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 17:45:02.977999: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 17:45:02.978038: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 17:45:02.978067: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 17:45:02.978120: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 17:45:02.978272: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 17:45:02.978327: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 17:45:02.978388: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 17:45:02.978467: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 17:45:02.978524: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 17:45:02.978583: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 17:45:02.978642: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 17:45:02.978690: Inverter 0 count register writes 0
2026-08-15 17:45:02.996666: Will recompute the plan as it is now 10.0 minutes old and will exceed the max age of 10 minutes before the next run
2026-08-15 17:45:02.996868: Recompute is saving previous plan...
2026-08-15 17:45:02.999467: Best charge window [ 15-08 17:30:00 - 15-08 18:00:00 @ 40.44p 0%, 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 0%, 15-08 18:30:00 - 15-08 19:00:00 @ 43.82p 0%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 0%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 0%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 0%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 0%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 30.02p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 27.8p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.18p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.38p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 26.7p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.31p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.79p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 25.86p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.13p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 25.86p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.27p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.14p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 27.03p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.28p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.68p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 26.1p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 24.28p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 24.94p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.06p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.39p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.66p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.06p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 25.5p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 24.94p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 24.25p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 23.49p 0%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.43p 0%, 16-08 12:30:00 - 16-08 13:00:00 @ 22.33p 0%, 16-08 13:00:00 - 16-08 13:30:00 @ 22.76p 0%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 0%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 0%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.65p 0%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.95p 0%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.83p 0%, 16-08 16:00:00 - 16-08 16:30:00 @ 36.84p 0%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.54p 0%, 16-08 17:00:00 - 16-08 17:30:00 @ 41.79p 0%, 16-08 17:30:00 - 16-08 18:00:00 @ 43.7p 0%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.34p 0%, 16-08 19:00:00 - 16-08 19:30:00 @ 34.79p 0%, 16-08 19:30:00 - 16-08 20:00:00 @ 34.76p 0%, 16-08 20:00:00 - 16-08 20:30:00 @ 35.62p 0%, 16-08 20:30:00 - 16-08 21:00:00 @ 35.3p 0%, 16-08 21:00:00 - 16-08 21:30:00 @ 35.89p 0%, 16-08 21:30:00 - 16-08 22:00:00 @ 35.71p 0%, 16-08 22:00:00 - 16-08 22:30:00 @ 33.75p 0%, 16-08 22:30:00 - 16-08 23:00:00 @ 32.0p 0%, 16-08 23:00:00 - 16-08 23:30:00 @ 30.02p 0%, 16-08 23:30:00 - 17-08 00:00:00 @ 27.8p 0%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.18p 0%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.38p 0%, 17-08 01:00:00 - 17-08 01:30:00 @ 26.7p 0%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.31p 0%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.79p 0%, 17-08 02:30:00 - 17-08 03:00:00 @ 25.86p 0%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.13p 0%, 17-08 03:30:00 - 17-08 04:00:00 @ 25.86p 0%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.27p 0%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.14p 0%, 17-08 05:00:00 - 17-08 05:30:00 @ 27.03p 0%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.28p 0%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.68p 0%, 17-08 06:30:00 - 17-08 07:00:00 @ 26.1p 0%, 17-08 07:00:00 - 17-08 07:30:00 @ 24.28p 0%, 17-08 07:30:00 - 17-08 08:00:00 @ 24.94p 0%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.06p 0%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.39p 0%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.66p 0%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.06p 0%, 17-08 10:00:00 - 17-08 10:30:00 @ 25.5p 0%, 17-08 10:30:00 - 17-08 11:00:00 @ 24.94p 0%, 17-08 11:00:00 - 17-08 11:30:00 @ 24.25p 0%, 17-08 11:30:00 - 17-08 12:00:00 @ 23.49p 0%, 17-08 12:00:00 - 17-08 12:30:00 @ 23.43p 0%, 17-08 12:30:00 - 17-08 13:00:00 @ 22.33p 0%, 17-08 13:00:00 - 17-08 13:30:00 @ 22.76p 0%, 17-08 13:30:00 - 17-08 14:00:00 @ 22.3p 0%, 17-08 14:00:00 - 17-08 14:30:00 @ 21.41p 0%, 17-08 14:30:00 - 17-08 15:00:00 @ 21.65p 0%, 17-08 15:00:00 - 17-08 15:30:00 @ 22.95p 0%, 17-08 15:30:00 - 17-08 16:00:00 @ 22.83p 0%, 17-08 16:00:00 - 17-08 16:30:00 @ 36.84p 0%, 17-08 16:30:00 - 17-08 17:00:00 @ 37.54p 0%, 17-08 17:00:00 - 17-08 17:30:00 @ 41.79p 0%, 17-08 17:30:00 - 17-08 18:00:00 @ 43.7p 0% ]
2026-08-15 17:45:02.999533: Best export window [  ]
2026-08-15 17:45:03.000216: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 17:45:03.002753: Load divergence over 8.0 hours mean 655.82W, min 318.6W, max 2127.6W, std dev 416.78W, divergence 31.78%
2026-08-15 17:45:03.018514: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 17:45:03.018624: LoadML is_calculating False
2026-08-15 17:45:03.018689: Creating pool of 12 processes to match your CPU count
2026-08-15 17:45:03.102502: Calculate Best options: mode(Control charge & discharge), calculate_export_oncharge(False), calculate_export_on_pv(True), set_export_freeze_only(False), set_discharge_during_charge(True), combine_charge_slots(False), combine_export_slots(False), combine_rate_threshold(0.0), best_soc_min(0.0 kWh), best_soc_max(0.0 kWh), best_soc_keep(0.0 kWh), inverter_loss(4%), battery_loss(3%), battery_loss_discharge (3%), inverter_hybrid(True), metric_min_improvement(0.0p), metric_min_improvement_export(0.1p), metric_min_improvement_export_freeze(0.1p), metric_battery_cycle(0.0p/kWh), metric_battery_value_scaling(1.0 x) 
2026-08-15 17:45:03.104072: Optimise levels pass started at 2026-08-15 17:45:03
2026-08-15 17:45:03.104129: Optimise all windows, total charge 95 export 1
2026-08-15 17:45:04.131213: >> Region optimisation pass width 960 gives best_metric 1003.58p, best_cost 1021.89p, best_cycle 39.33kWh, best_import 20.32kWh
2026-08-15 17:45:04.462849: >> Region optimisation pass width 480 gives best_metric 1003.58p, best_cost 1021.89p, best_cycle 39.33kWh, best_import 20.32kWh
2026-08-15 17:45:04.927004: >> Region optimisation pass width 240 gives best_metric 1003.58p, best_cost 1021.89p, best_cycle 39.33kWh, best_import 20.32kWh
2026-08-15 17:45:05.978677: >> Region optimisation pass width 120 gives best_metric 1003.58p, best_cost 1021.89p, best_cycle 39.33kWh, best_import 20.32kWh
2026-08-15 17:45:05.978939: Calculated end_record as 08-17 12:30:00 based on best_price 22.76p, next_charge_start 08-16 12:30:00, max_windows 85
2026-08-15 17:45:05.979002: Optimise levels pass ended at 2026-08-15 17:45:05, duration 2.9 seconds tried 310 combinations
2026-08-15 17:45:05.979059: Set best_price_charge_level 24.4p, best_price_export_level 0p, best_price_charge 22.76p, best_cost_export 0p, best_metric 1003.58p, best_keep 0kWh, best_cycle 39.33kWh, best_carbon 0kg, best_import 20.32kWh
2026-08-15 17:45:05.995535: Starting detailed optimisation end_record 08-17 12:30:00, best_price_charge 22.76p, best_price_export 0p. lowest_price_charge 21.41p with charge limits [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12.5, 12.5, 12.5, 12.5, 12.5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0]kWh and export limits []kWh
2026-08-15 17:45:12.271478: Tweak plan optimisation started metric 919.86p, cost 935.16p
2026-08-15 17:45:12.513855: Tweak optimisation finished metric 919.86p, cost 935.16p, metric_keep 0kWh, cycle 31.53kWh, carbon 0kg, import 16.34kWh, changed 8 window(s)
2026-08-15 17:45:12.533261: Swap charge optimisation started metric 919.86p, cost 935.16p, min_improvement_swap 0.1p
2026-08-15 17:45:20.431351: Swap charge optimisation finished metric 919.86p, cost 935.16p
2026-08-15 17:45:20.562545: Pruned 3 dead plan slot(s) in 14 trial(s), nominal metric 914.56p -> 914.56p, plan now metric 919.99p, cost 935.16p, cycle 31.53kWh, import 16.34kWh
2026-08-15 17:45:20.572914: Raw charge windows [ 15-08 17:30:00 - 15-08 18:00:00 @ 40.44p 0%, 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 0%, 15-08 18:30:00 - 15-08 19:00:00 @ 43.82p 0%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 0%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 0%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 0%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 0%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 30.02p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 27.8p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.18p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.38p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 26.7p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.31p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.79p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 25.86p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.13p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 25.86p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.27p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.14p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 27.03p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.28p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.68p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 26.1p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 24.28p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 24.94p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.06p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.39p 28%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.66p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.06p 28%, 16-08 10:00:00 - 16-08 10:30:00 @ 25.5p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 24.94p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 24.25p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 23.49p 19%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.43p 19%, 16-08 12:30:00 - 16-08 13:00:00 @ 22.33p 31%, 16-08 13:00:00 - 16-08 13:30:00 @ 22.76p 31%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 100%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 78%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.65p 78%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.95p 75%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.83p 75%, 16-08 16:00:00 - 16-08 16:30:00 @ 36.84p 0%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.54p 0%, 16-08 17:00:00 - 16-08 17:30:00 @ 41.79p 0%, 16-08 17:30:00 - 16-08 18:00:00 @ 43.7p 0%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.34p 0%, 16-08 19:00:00 - 16-08 19:30:00 @ 34.79p 0%, 16-08 19:30:00 - 16-08 20:00:00 @ 34.76p 0%, 16-08 20:00:00 - 16-08 20:30:00 @ 35.62p 0%, 16-08 20:30:00 - 16-08 21:00:00 @ 35.3p 0%, 16-08 21:00:00 - 16-08 21:30:00 @ 35.89p 0%, 16-08 21:30:00 - 16-08 22:00:00 @ 35.71p 0%, 16-08 22:00:00 - 16-08 22:30:00 @ 33.75p 0%, 16-08 22:30:00 - 16-08 23:00:00 @ 32.0p 0%, 16-08 23:00:00 - 16-08 23:30:00 @ 30.02p 0%, 16-08 23:30:00 - 17-08 00:00:00 @ 27.8p 0%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.18p 0%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.38p 0%, 17-08 01:00:00 - 17-08 01:30:00 @ 26.7p 0%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.31p 0%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.79p 0%, 17-08 02:30:00 - 17-08 03:00:00 @ 25.86p 0%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.13p 0%, 17-08 03:30:00 - 17-08 04:00:00 @ 25.86p 0%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.27p 0%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.14p 0%, 17-08 05:00:00 - 17-08 05:30:00 @ 27.03p 0%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.28p 0%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.68p 0%, 17-08 06:30:00 - 17-08 07:00:00 @ 26.1p 0%, 17-08 07:00:00 - 17-08 07:30:00 @ 24.28p 0%, 17-08 07:30:00 - 17-08 08:00:00 @ 24.94p 0%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.06p 0%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.39p 0%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.66p 0%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.06p 0%, 17-08 10:00:00 - 17-08 10:30:00 @ 25.5p 0%, 17-08 10:30:00 - 17-08 11:00:00 @ 24.94p 0%, 17-08 11:00:00 - 17-08 11:30:00 @ 24.25p 0%, 17-08 11:30:00 - 17-08 12:00:00 @ 23.49p 0%, 17-08 12:00:00 - 17-08 12:30:00 @ 23.43p 0%, 17-08 12:30:00 - 17-08 13:00:00 @ 22.33p 100%, 17-08 13:00:00 - 17-08 13:30:00 @ 22.76p 100%, 17-08 13:30:00 - 17-08 14:00:00 @ 22.3p 100%, 17-08 14:00:00 - 17-08 14:30:00 @ 21.41p 100%, 17-08 14:30:00 - 17-08 15:00:00 @ 21.65p 100%, 17-08 15:00:00 - 17-08 15:30:00 @ 22.95p 100%, 17-08 15:30:00 - 17-08 16:00:00 @ 22.83p 100%, 17-08 16:00:00 - 17-08 16:30:00 @ 36.84p 100%, 17-08 16:30:00 - 17-08 17:00:00 @ 37.54p 100%, 17-08 17:00:00 - 17-08 17:30:00 @ 41.79p 100%, 17-08 17:30:00 - 17-08 18:00:00 @ 43.7p 100% ] reserve 1.12
2026-08-15 17:45:20.573510: Unclipped charge windows [ 16-08 08:30:00 - 16-08 09:00:00 @ 24.39p 28%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.06p 28%, 16-08 11:30:00 - 16-08 12:30:00 @ 23.46p 19%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 31%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 100%, 16-08 14:00:00 - 16-08 15:00:00 @ 21.53p 78%, 16-08 15:00:00 - 16-08 16:00:00 @ 22.89p 75%, 17-08 12:30:00 - 17-08 18:00:00 @ 40.7p 100% ] reserve 1.12
2026-08-15 17:45:20.573819: Unfiltered charge windows [ 16-08 08:30:00 - 16-08 09:00:00 @ 24.39p 28%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.06p 28%, 16-08 11:30:00 - 16-08 12:30:00 @ 23.46p 19%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 31%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 100%, 16-08 14:00:00 - 16-08 15:00:00 @ 21.53p 100%, 16-08 15:00:00 - 16-08 16:00:00 @ 22.89p 75%, 17-08 12:30:00 - 17-08 18:00:00 @ 40.7p 100% ] reserve 1.12
2026-08-15 17:45:20.574040: Filtered charge windows [ 16-08 08:30:00 - 16-08 09:00:00 @ 24.39p 28%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.06p 28%, 16-08 11:30:00 - 16-08 12:30:00 @ 23.46p 19%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 31%, 16-08 13:30:00 - 16-08 15:00:00 @ 21.91p 100%, 16-08 15:00:00 - 16-08 16:00:00 @ 22.89p 75%, 17-08 12:30:00 - 17-08 18:00:00 @ 40.7p 100% ] reserve 1.12
2026-08-15 17:45:20.605043: Previous plan best metric is 920.48 (cost 935.85) and new plan best metric is 919.86 (cost 935.16)
2026-08-15 17:45:20.605240: New plan metric is not significantly better (metric_min_improvement_plan 2.0) than previous plan, using previous plan
2026-08-15 17:45:20.605457: Plan valid is now true after recompute was False
2026-08-15 17:45:20.629731: predict base end_record 08-17 12:30:00, final soc 1.12kWh, metric 1102.42p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 13:15:00, load 37.5kWh, PV 0.0kWh
2026-08-15 17:45:20.742109: Battery has 19.5 hours left - now at 15.52kWh
2026-08-15 17:45:20.782242: predict base10 end_record 08-17 12:30:00, final soc 1.12kWh, metric 1137.61p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 12:35:00, load 38.86kWh, PV 0.0kWh
2026-08-15 17:45:20.846428: predict best10 end_record 08-17 12:30:00, final soc 1.12kWh, metric 1070.69p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 06:05:00, load 38.86kWh, PV 0.0kWh
2026-08-15 17:45:20.921923: predict best end_record 08-17 12:30:00, final soc 1.12kWh, metric 1035.82p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 07:10:00, load 37.5kWh, PV 0.0kWh
2026-08-15 17:45:20.922016: Saving plan best values to HA entities
2026-08-15 17:45:21.066773: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 17:45:21.072327: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 17:45:21.077340: Best charging limit SoC's [2.5, 5.0, 16.0, 12.0, 16.0]kWh, export []kWh gives import battery 13.11kWh, house 3.3kWh, export 0.0kWh, metric 1035.82p, metric10 1070.69p
2026-08-15 17:45:21.151289: Marginal costs baseline metric (no standing charge): 935.8546
2026-08-15 17:45:21.374532: Marginal energy costs matrix computed: min=25.41 max=33.59
2026-08-15 17:45:21.440259: Rate array import [{'start': 1065, 'end': 1140, 'rate': 'very expensive', 'range': '(40.4p - 43.8p)'}, {'start': 1140, 'end': 1410, 'rate': 'expensive', 'range': '(29.8p - 32.9p)'}, {'start': 1410, 'end': 2400, 'rate': 'cheap', 'range': '(21.4p - 28.2p)'}, {'start': 2400, 'end': 2430, 'rate': 'expensive', 'range': '(36.8p)'}, {'start': 2430, 'end': 2580, 'rate': 'very expensive', 'range': '(37.5p - 45.3p)'}, {'start': 2580, 'end': 2850, 'rate': 'expensive', 'range': '(30.0p - 35.9p)'}, {'start': 2850, 'end': 3630, 'rate': 'cheap', 'range': '(23.4p - 28.2p)'}] export [{'start': 1065, 'end': 3630, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 17:45:21.440899: - Your estimated bill for today is £5.66 and tomorrow is £3.40
2026-08-15 17:45:21.440940: - Import rates are very expensive (40.4p - 43.8p) for the next 1 and a quarter hours and then expensive (29.8p - 32.9p) for the next 4 and a half hours.
2026-08-15 17:45:21.440991: - The battery is currently at 97% and is in eco mode for the next 17 hours.
2026-08-15 17:45:21.441007: - For the next 48 hours there will be no solar generation.
2026-08-15 17:45:21.441021: - You will run out of battery in 37 hours.
2026-08-15 17:45:21.441035: - Your next charge slot will be in 17 hours where import rates will be cheap (24.3p).
2026-08-15 17:45:21.441048: 
2026-08-15 17:45:21.496640: Plan calculation took 18.50 seconds
2026-08-15 17:45:21.496993: Inverter 0: Type SK Sunsynk
2026-08-15 17:45:21.497042: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 17:45:21.497238: Reserve min: 7%, battery_min: 7%
2026-08-15 17:45:21.497307: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 17:45:21.497610: Inverter 0 SoC: 15.38kW 96%, current charge rate 5000W, current discharge rate 5250W, current battery power 302W, current battery voltage 51.2V, grid power -56W, load power 372W, PV Power 0W
2026-08-15 17:45:21.497817: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 17:45:21.497913: Inverter 0 scheduled charge enable is False
2026-08-15 17:45:21.497947: Inverter 0 charge windows currently []
2026-08-15 17:45:21.497973: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 17:45:21.498065: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 17:45:21.498094: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 17:45:21.498124: Inverter 0 scheduled discharge enable is False
2026-08-15 17:45:21.498235: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 17:45:21.498266: Inverter 0 discharge windows currently []
2026-08-15 17:45:21.498285: Note: Inverter does not support discharge freeze - disabled
2026-08-15 17:45:21.498302: Note: Inverter does not support charge freeze - disabled
2026-08-15 17:45:21.498319: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 17:45:21.550552: Inverter 0 Charge window will be: 2026-08-16 11:00:00+01:00 - 2026-08-16 16:00:00+01:00 - current SoC 96%, target 16%
2026-08-15 17:45:21.550681: Inverter 0 disabled charge window while waiting for schedule (now 08-15 17:45:00 target set_window_minutes 30 charge start time 08-16 11:00:00) original inverter start time 08-17 00:00:00
2026-08-15 17:45:21.550741: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 17:45:21.550919: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 17:45:21.550989: No export window planned
2026-08-15 17:45:21.551086: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 17:45:21.551116: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 17:45:21.551225: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 17:45:21.551361: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 17:45:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 17:45:21.551431: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 17:45:21.551478: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 17:45:21.551557: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 17:45:21.551590: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 17:45:21.551634: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 17:45:21.551656: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 17:45:21.551677: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 17:45:21.551697: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 17:45:21.551716: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 17:45:21.551763: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 17:45:21.551791: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 17:45:21.551812: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 17:45:21.551835: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 17:45:21.551855: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 17:45:21.551878: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 17:45:21.551928: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 17:45:21.551972: Inverter 0 count register writes 0
2026-08-15 17:45:21.569990: Total inverter register writes now 826
2026-08-15 17:45:21.598254: Info: Completed run status Demand
2026-08-15 17:45:21.603559: Info: record_status Demand
2026-08-15 17:45:21.609283: Saved current settings to /config/predbat_config.json
2026-08-15 17:45:21.609599: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 17:45:56.710857: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 17:45:56.711167: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 17:45:56.711237: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 17:45:56.711513: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 17:45:56.711563: Note: Inverter does not support discharge freeze - disabled
2026-08-15 17:45:56.711586: Note: Inverter does not support charge freeze - disabled
2026-08-15 17:45:56.711625: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 17:47:56.928275: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 17:47:56.928576: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 17:47:56.928656: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 17:47:56.929130: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 17:47:56.929201: Note: Inverter does not support discharge freeze - disabled
2026-08-15 17:47:56.929223: Note: Inverter does not support charge freeze - disabled
2026-08-15 17:47:56.929241: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 17:49:57.147232: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 17:49:57.147595: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 17:49:57.147669: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 17:49:57.147932: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 17:49:57.148001: Note: Inverter does not support discharge freeze - disabled
2026-08-15 17:49:57.148025: Note: Inverter does not support charge freeze - disabled
2026-08-15 17:49:57.148048: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 17:50:00.224602: --------------- PredBat - update at 2026-08-15 17:50:00+01:00 with clock skew 0 minutes, minutes now 1070
2026-08-15 17:50:00.225415: Saved current settings to /config/predbat_config.json
2026-08-15 17:50:00.225556: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 85.0 minutes
2026-08-15 17:50:00.225670: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.2, latest beta is v8.48.2
2026-08-15 17:50:00.225759: Autoupdate: There is an update pending v8.48.2 PV90 and second pass enabled by default, bug fixes - auto update is off
2026-08-15 17:50:00.244732: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 17:50:00.244980: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 17:50:00.245293: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 17:50:00.246191: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 17:50:00.246418: Predbat mode is set to Control charge & discharge
2026-08-15 17:50:00.446835: Found 21602 load_today datapoints going back 28 days
2026-08-15 17:50:00.447253: Using load_power data to fill gaps in load_today data
2026-08-15 17:50:01.235790: Processing 721 30-minute periods for power integration
2026-08-15 17:50:01.415292: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 17:50:01.415429: Car charging hold False, threshold 6.0kWh
2026-08-15 17:50:01.415475: Current data so far today: load 9.12kWh, import 27.6kWh, export 0.0kWh, PV 0kWh
2026-08-15 17:50:01.432879: Cars: SoC: [10.548]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 17:50:01.433418: Standing charge is set to 49.98p
2026-08-15 17:50:01.484691: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 17:50:01.484797: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 17:50:01.485036: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 430.0 minutes
2026-08-15 17:50:01.485443: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 430.0 minutes
2026-08-15 17:50:01.491145: Loaded 95 datapoints of futurerate analysis
2026-08-15 17:50:01.640069: Predicted future rates: ['08-15 00:00:00 => 28.69 / 20.01', '08-15 01:00:00 => 27.33 / 19.31', '08-15 02:00:00 => 26.31 / 18.8', '08-15 03:00:00 => 25.78 / 18.53', '08-15 04:00:00 => 25.59 / 18.43', '08-15 05:00:00 => 25.75 / 18.51', '08-15 06:00:00 => 25.34 / 18.3', '08-15 07:00:00 => 24.12 / 17.68', '08-15 08:00:00 => 22.82 / 17.01', '08-15 09:00:00 => 21.84 / 16.51', '08-15 10:00:00 => 20.22 / 15.68', '08-15 11:00:00 => 17.8 / 14.45', '08-15 12:00:00 => 16.16 / 13.61', '08-15 13:00:00 => 15.55 / 13.3', '08-15 14:00:00 => 15.14 / 13.09', '08-15 15:00:00 => 15.65 / 13.35', '08-15 16:00:00 => 32.68 / 16.13', '08-15 17:00:00 => 37.81 / 18.75', '08-15 18:00:00 => 42.15 / 20.96', '08-15 19:00:00 => 30.88 / 21.13', '08-15 20:00:00 => 31.43 / 21.41', '08-15 21:00:00 => 31.43 / 21.41', '08-15 22:00:00 => 30.37 / 20.87', '08-15 23:00:00 => 29.16 / 20.25', '08-16 00:00:00 => 28.62 / 19.97', '08-16 01:00:00 => 27.52 / 19.41', '08-16 02:00:00 => 26.55 / 18.92', '08-16 03:00:00 => 26.18 / 18.73', '08-16 04:00:00 => 26.12 / 18.7', '08-16 05:00:00 => 26.02 / 18.65', '08-16 06:00:00 => 25.78 / 18.53', '08-16 07:00:00 => 25.43 / 18.35', '08-16 08:00:00 => 24.63 / 17.94', '08-16 09:00:00 => 24.05 / 17.64', '08-16 10:00:00 => 24.59 / 17.92', '08-16 11:00:00 => 24.5 / 17.87', '08-16 12:00:00 => 23.58 / 17.4', '08-16 13:00:00 => 22.93 / 17.07', '08-16 14:00:00 => 21.8 / 16.49', '08-16 15:00:00 => 21.8 / 16.49', '08-16 16:00:00 => 36.93 / 18.3']
2026-08-15 17:50:01.678767: Rate min forward looking: now 21.41p at end of forecast 21.41p
2026-08-15 17:50:01.679172: Import rates: min 21.41p, max 45.28p, average 28.43p
2026-08-15 17:50:01.714799: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 17:50:01.714925: Rate thresholds (for charge/export) are import 44.78p (0.0p), export -0.1p (0.0p)
2026-08-15 17:50:01.716287: High export rate found rates in range 99p to -99p
2026-08-15 17:50:01.825857: Low Import rate found rates in range 21.41p to 44.34p
2026-08-15 17:50:01.826003: Car 0 charging is not planned as it is not plugged in
2026-08-15 17:50:01.838930: Battery level now 15.52kWh, -1hr ago 15.68kWh, at midnight 1.66kWh, battery value change in the last hour -2.94p, change today 255.0p, rate_forward 18.39p
2026-08-15 17:50:01.839312: Last hour: net energy 0.04kWh, import 0.04kWh, export 0.0kWh, car 0kWh, load 0.35kWh, net cost 1.31p, import 1.31p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 17:50:01.902079: Today's energy total net 27.6kWh, import 27.6kWh, export 0.0kWh, cost 566.08p, import 516.09p, export 0.0p, carbon 0.0kg
2026-08-15 17:50:01.902236: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 17:50:01.993936: Using weighted-bucket historical load forecast over 14 days
2026-08-15 17:50:02.026013: Today's load divergence 89.29%, in-day adjustment 103.69%, damping 0.95x, yesterday 143.77% today 89.83% blend 25.69%
2026-08-15 17:50:02.026114: Today's predicted so far 10.6kWh with 0.0kWh car/iBoost excluded, 20.88kWh import ignored, and 10.6kWh forecast extra.
2026-08-15 17:50:02.026146: Today's actual load so far 9.13kWh with 0.0kWh car/iBoost excluded, and 20.88kWh import ignored.
2026-08-15 17:50:02.058884: Inverter 0: Type SK Sunsynk
2026-08-15 17:50:02.058971: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 17:50:02.059151: Reserve min: 7%, battery_min: 7%
2026-08-15 17:50:02.059219: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 17:50:02.059493: Inverter 0 SoC: 15.38kW 96%, current charge rate 5000W, current discharge rate 5250W, current battery power 254W, current battery voltage 51.2V, grid power -54W, load power 320W, PV Power 0W
2026-08-15 17:50:02.059647: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 17:50:02.059737: Inverter 0 scheduled charge enable is False
2026-08-15 17:50:02.059771: Inverter 0 charge windows currently []
2026-08-15 17:50:02.059798: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 17:50:02.059899: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 17:50:02.059927: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 17:50:02.059960: Inverter 0 scheduled discharge enable is False
2026-08-15 17:50:02.060081: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 17:50:02.060118: Inverter 0 discharge windows currently []
2026-08-15 17:50:02.060140: Note: Inverter does not support discharge freeze - disabled
2026-08-15 17:50:02.060179: Note: Inverter does not support charge freeze - disabled
2026-08-15 17:50:02.060198: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 17:50:02.117220: Dynamic load last period 0.30kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 17:50:02.117313: Plan was last updated on 2026-08-15 17:45:00+01:00 and is now 5.0 minutes old
2026-08-15 17:50:02.117545: Best charge window [ 16-08 11:00:00 - 16-08 12:30:00 @ 23.65p 16%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 31%, 16-08 13:30:00 - 16-08 15:00:00 @ 21.91p 100%, 16-08 15:00:00 - 16-08 16:00:00 @ 22.89p 75%, 17-08 12:30:00 - 17-08 18:00:00 @ 40.7p 100% ]
2026-08-15 17:50:02.117584: Best export window [  ]
2026-08-15 17:50:02.118184: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 17:50:02.121987: Load divergence over 8.0 hours mean 660.66W, min 322.2W, max 1997.4W, std dev 405.41W, divergence 30.68%
2026-08-15 17:50:02.141552: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 17:50:02.141696: LoadML is_calculating False
2026-08-15 17:50:02.141787: Creating pool of 12 processes to match your CPU count
2026-08-15 17:50:02.256214: predict base end_record 08-17 12:35:00, final soc 1.12kWh, metric 1106.35p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 13:10:00, load 37.66kWh, PV 0.0kWh
2026-08-15 17:50:02.381083: Battery has 19.33 hours left - now at 15.38kWh
2026-08-15 17:50:02.427240: predict base10 end_record 08-17 12:35:00, final soc 1.12kWh, metric 1141.57p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 12:25:00, load 39.02kWh, PV 0.0kWh
2026-08-15 17:50:02.499860: predict best10 end_record 08-17 12:35:00, final soc 1.44kWh, metric 1082.73p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 06:05:00, load 39.02kWh, PV 0.0kWh
2026-08-15 17:50:02.583185: predict best end_record 08-17 12:35:00, final soc 1.51kWh, metric 1049.07p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 07:10:00, load 37.66kWh, PV 0.0kWh
2026-08-15 17:50:02.583270: Saving plan best values to HA entities
2026-08-15 17:50:02.749301: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 17:50:02.754900: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0.0
2026-08-15 17:50:02.761074: Best charging limit SoC's [2.5, 5.0, 16.0, 12.0, 16.0]kWh, export []kWh gives import battery 13.68kWh, house 3.31kWh, export 0.0kWh, metric 1049.07p, metric10 1082.73p
2026-08-15 17:50:02.833703: Marginal costs baseline metric (no standing charge): 949.0998
2026-08-15 17:50:03.052200: Marginal energy costs matrix computed: min=25.78 max=33.77
2026-08-15 17:50:03.127854: Rate array import [{'start': 1070, 'end': 1140, 'rate': 'very expensive', 'range': '(40.4p - 43.8p)'}, {'start': 1140, 'end': 1410, 'rate': 'expensive', 'range': '(29.8p - 32.9p)'}, {'start': 1410, 'end': 2400, 'rate': 'cheap', 'range': '(21.4p - 28.2p)'}, {'start': 2400, 'end': 2430, 'rate': 'expensive', 'range': '(36.8p)'}, {'start': 2430, 'end': 2580, 'rate': 'very expensive', 'range': '(37.5p - 45.3p)'}, {'start': 2580, 'end': 2850, 'rate': 'expensive', 'range': '(30.0p - 35.9p)'}, {'start': 2850, 'end': 3635, 'rate': 'cheap', 'range': '(22.3p - 28.2p)'}] export [{'start': 1070, 'end': 3635, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 17:50:03.128539: - Your estimated bill for today is £5.66 and tomorrow is £3.42
2026-08-15 17:50:03.128578: - Import rates are very expensive (40.4p - 43.8p) for the next 1 and a quarter hours and then expensive (29.8p - 32.9p) for the next 4 and a half hours.
2026-08-15 17:50:03.128598: - The battery is currently at 96% and is in eco mode for the next 17 hours.
2026-08-15 17:50:03.128613: - For the next 48 hours there will be no solar generation.
2026-08-15 17:50:03.128626: - You will run out of battery in 37 hours.
2026-08-15 17:50:03.128662: - Your next charge slot will be in 17 hours where import rates will be cheap (24.3p).
2026-08-15 17:50:03.128679: 
2026-08-15 17:50:03.190850: Plan calculation took 1.07 seconds
2026-08-15 17:50:03.193929: No high rate period found
2026-08-15 17:50:03.239935: Import threshold used for optimisation was 25.86p
2026-08-15 17:50:03.289170: Low import rate windows [0: 08-15 17:30:00 - 08-15 18:00:00 @ 40.44, 1: 08-15 18:00:00 - 08-15 18:30:00 @ 41.55, 2: 08-15 18:30:00 - 08-15 19:00:00 @ 43.82, 3: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 4: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 5: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 6: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 7: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 8: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 9: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 10: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 11: 08-15 23:00:00 - 08-15 23:30:00 @ 30.02, 12: 08-15 23:30:00 - 08-16 00:00:00 @ 27.8, 13: 08-16 00:00:00 - 08-16 00:30:00 @ 28.18, 14: 08-16 00:30:00 - 08-16 01:00:00 @ 27.38, 15: 08-16 01:00:00 - 08-16 01:30:00 @ 26.7, 16: 08-16 01:30:00 - 08-16 02:00:00 @ 26.31, 17: 08-16 02:00:00 - 08-16 02:30:00 @ 25.79, 18: 08-16 02:30:00 - 08-16 03:00:00 @ 25.86, 19: 08-16 03:00:00 - 08-16 03:30:00 @ 26.13, 20: 08-16 03:30:00 - 08-16 04:00:00 @ 25.86, 21: 08-16 04:00:00 - 08-16 04:30:00 @ 26.27, 22: 08-16 04:30:00 - 08-16 05:00:00 @ 26.14, 23: 08-16 05:00:00 - 08-16 05:30:00 @ 27.03, 24: 08-16 05:30:00 - 08-16 06:00:00 @ 26.28, 25: 08-16 06:00:00 - 08-16 06:30:00 @ 25.68, 26: 08-16 06:30:00 - 08-16 07:00:00 @ 26.1, 27: 08-16 07:00:00 - 08-16 07:30:00 @ 24.28, 28: 08-16 07:30:00 - 08-16 08:00:00 @ 24.94, 29: 08-16 08:00:00 - 08-16 08:30:00 @ 24.06, 30: 08-16 08:30:00 - 08-16 09:00:00 @ 24.39, 31: 08-16 09:00:00 - 08-16 09:30:00 @ 24.66, 32: 08-16 09:30:00 - 08-16 10:00:00 @ 24.06, 33: 08-16 10:00:00 - 08-16 10:30:00 @ 25.5, 34: 08-16 10:30:00 - 08-16 11:00:00 @ 24.94, 35: 08-16 11:00:00 - 08-16 11:30:00 @ 24.25, 36: 08-16 11:30:00 - 08-16 12:00:00 @ 23.49, 37: 08-16 12:00:00 - 08-16 12:30:00 @ 23.43, 38: 08-16 12:30:00 - 08-16 13:00:00 @ 22.33, 39: 08-16 13:00:00 - 08-16 13:30:00 @ 22.76, 40: 08-16 13:30:00 - 08-16 14:00:00 @ 22.3, 41: 08-16 14:00:00 - 08-16 14:30:00 @ 21.41, 42: 08-16 14:30:00 - 08-16 15:00:00 @ 21.65, 43: 08-16 15:00:00 - 08-16 15:30:00 @ 22.95, 44: 08-16 15:30:00 - 08-16 16:00:00 @ 22.83, 45: 08-16 16:00:00 - 08-16 16:30:00 @ 36.84, 46: 08-16 16:30:00 - 08-16 17:00:00 @ 37.54, 47: 08-16 17:00:00 - 08-16 17:30:00 @ 41.79, 48: 08-16 17:30:00 - 08-16 18:00:00 @ 43.7, 49: 08-16 18:00:00 - 08-16 18:30:00 @ 44.34, 50: 08-16 19:00:00 - 08-16 19:30:00 @ 34.79, 51: 08-16 19:30:00 - 08-16 20:00:00 @ 34.76, 52: 08-16 20:00:00 - 08-16 20:30:00 @ 35.62, 53: 08-16 20:30:00 - 08-16 21:00:00 @ 35.3, 54: 08-16 21:00:00 - 08-16 21:30:00 @ 35.89, 55: 08-16 21:30:00 - 08-16 22:00:00 @ 35.71, 56: 08-16 22:00:00 - 08-16 22:30:00 @ 33.75, 57: 08-16 22:30:00 - 08-16 23:00:00 @ 32.0, 58: 08-16 23:00:00 - 08-16 23:30:00 @ 30.02, 59: 08-16 23:30:00 - 08-17 00:00:00 @ 27.8, 60: 08-17 00:00:00 - 08-17 00:30:00 @ 28.18, 61: 08-17 00:30:00 - 08-17 01:00:00 @ 27.38, 62: 08-17 01:00:00 - 08-17 01:30:00 @ 26.7, 63: 08-17 01:30:00 - 08-17 02:00:00 @ 26.31, 64: 08-17 02:00:00 - 08-17 02:30:00 @ 25.79, 65: 08-17 02:30:00 - 08-17 03:00:00 @ 25.86, 66: 08-17 03:00:00 - 08-17 03:30:00 @ 26.13, 67: 08-17 03:30:00 - 08-17 04:00:00 @ 25.86, 68: 08-17 04:00:00 - 08-17 04:30:00 @ 26.27, 69: 08-17 04:30:00 - 08-17 05:00:00 @ 26.14, 70: 08-17 05:00:00 - 08-17 05:30:00 @ 27.03, 71: 08-17 05:30:00 - 08-17 06:00:00 @ 26.28, 72: 08-17 06:00:00 - 08-17 06:30:00 @ 25.68, 73: 08-17 06:30:00 - 08-17 07:00:00 @ 26.1, 74: 08-17 07:00:00 - 08-17 07:30:00 @ 24.28, 75: 08-17 07:30:00 - 08-17 08:00:00 @ 24.94, 76: 08-17 08:00:00 - 08-17 08:30:00 @ 24.06, 77: 08-17 08:30:00 - 08-17 09:00:00 @ 24.39, 78: 08-17 09:00:00 - 08-17 09:30:00 @ 24.66, 79: 08-17 09:30:00 - 08-17 10:00:00 @ 24.06, 80: 08-17 10:00:00 - 08-17 10:30:00 @ 25.5, 81: 08-17 10:30:00 - 08-17 11:00:00 @ 24.94, 82: 08-17 11:00:00 - 08-17 11:30:00 @ 24.25, 83: 08-17 11:30:00 - 08-17 12:00:00 @ 23.49, 84: 08-17 12:00:00 - 08-17 12:30:00 @ 23.43, 85: 08-17 12:30:00 - 08-17 13:00:00 @ 22.33, 86: 08-17 13:00:00 - 08-17 13:30:00 @ 22.76, 87: 08-17 13:30:00 - 08-17 14:00:00 @ 22.3, 88: 08-17 14:00:00 - 08-17 14:30:00 @ 21.41, 89: 08-17 14:30:00 - 08-17 15:00:00 @ 21.65, 90: 08-17 15:00:00 - 08-17 15:30:00 @ 22.95, 91: 08-17 15:30:00 - 08-17 16:00:00 @ 22.83, 92: 08-17 16:00:00 - 08-17 16:30:00 @ 36.84, 93: 08-17 16:30:00 - 08-17 17:00:00 @ 37.54, 94: 08-17 17:00:00 - 08-17 17:30:00 @ 41.79, 95: 08-17 17:30:00 - 08-17 18:00:00 @ 43.7]
2026-08-15 17:50:03.297035: Inverter 0 Charge window will be: 2026-08-16 11:00:00+01:00 - 2026-08-16 16:00:00+01:00 - current SoC 96%, target 16%
2026-08-15 17:50:03.297176: Inverter 0 disabled charge window while waiting for schedule (now 08-15 17:50:00 target set_window_minutes 30 charge start time 08-16 11:00:00) original inverter start time 08-17 00:00:00
2026-08-15 17:50:03.297291: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 17:50:03.297576: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 17:50:03.297677: No export window planned
2026-08-15 17:50:03.297799: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 17:50:03.297835: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 17:50:03.297972: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 17:50:03.298156: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 17:50:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 17:50:03.298230: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 17:50:03.298302: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 17:50:03.298415: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 17:50:03.298463: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 17:50:03.298492: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 17:50:03.298523: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 17:50:03.298549: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 17:50:03.298579: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 17:50:03.298605: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 17:50:03.298674: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 17:50:03.298707: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 17:50:03.298732: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 17:50:03.298763: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 17:50:03.298787: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 17:50:03.298816: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 17:50:03.298840: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 17:50:03.298867: Inverter 0 count register writes 0
2026-08-15 17:50:03.315608: Will not recompute the plan, it is 5.0 minutes old and max age is 10 minutes
2026-08-15 17:50:03.321600: Total inverter register writes now 826
2026-08-15 17:50:03.354372: Info: Completed run status Demand
2026-08-15 17:50:03.359801: Info: record_status Demand
2026-08-15 17:50:03.366222: Saved current settings to /config/predbat_config.json
2026-08-15 17:50:03.366560: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 17:50:42.474604: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 17:50:42.474961: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 17:50:42.475070: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 17:50:42.475296: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 17:50:42.475375: Note: Inverter does not support discharge freeze - disabled
2026-08-15 17:50:42.475424: Note: Inverter does not support charge freeze - disabled
2026-08-15 17:50:42.475481: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 17:52:56.714283: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 17:52:56.714587: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 17:52:56.714637: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 17:52:56.714778: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 17:52:56.714817: Note: Inverter does not support discharge freeze - disabled
2026-08-15 17:52:56.714839: Note: Inverter does not support charge freeze - disabled
2026-08-15 17:52:56.714857: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 17:54:56.935188: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 17:54:56.935454: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 17:54:56.935521: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 17:54:56.935695: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 17:54:56.935734: Note: Inverter does not support discharge freeze - disabled
2026-08-15 17:54:56.935770: Note: Inverter does not support charge freeze - disabled
2026-08-15 17:54:56.935787: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 17:55:00.014489: --------------- PredBat - update at 2026-08-15 17:55:00+01:00 with clock skew 0 minutes, minutes now 1075
2026-08-15 17:55:00.015234: Saved current settings to /config/predbat_config.json
2026-08-15 17:55:00.015379: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 90.0 minutes
2026-08-15 17:55:00.015458: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.2, latest beta is v8.48.2
2026-08-15 17:55:00.015543: Autoupdate: There is an update pending v8.48.2 PV90 and second pass enabled by default, bug fixes - auto update is off
2026-08-15 17:55:00.038656: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 17:55:00.038792: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 17:55:00.039024: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 17:55:00.039704: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 17:55:00.039836: Predbat mode is set to Control charge & discharge
2026-08-15 17:55:00.217484: Found 21602 load_today datapoints going back 28 days
2026-08-15 17:55:00.217631: Using load_power data to fill gaps in load_today data
2026-08-15 17:55:00.907522: Processing 721 30-minute periods for power integration
2026-08-15 17:55:01.083261: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 17:55:01.083405: Car charging hold False, threshold 6.0kWh
2026-08-15 17:55:01.083448: Current data so far today: load 9.15kWh, import 27.6kWh, export 0.0kWh, PV 0kWh
2026-08-15 17:55:01.097916: Cars: SoC: [10.548]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 17:55:01.098383: Standing charge is set to 49.98p
2026-08-15 17:55:01.144345: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 17:55:01.144495: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 17:55:01.144730: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 435.0 minutes
2026-08-15 17:55:01.145250: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 435.0 minutes
2026-08-15 17:55:01.151156: Loaded 95 datapoints of futurerate analysis
2026-08-15 17:55:01.276400: Predicted future rates: ['08-15 00:00:00 => 28.69 / 20.01', '08-15 01:00:00 => 27.33 / 19.31', '08-15 02:00:00 => 26.31 / 18.8', '08-15 03:00:00 => 25.78 / 18.53', '08-15 04:00:00 => 25.59 / 18.43', '08-15 05:00:00 => 25.75 / 18.51', '08-15 06:00:00 => 25.34 / 18.3', '08-15 07:00:00 => 24.12 / 17.68', '08-15 08:00:00 => 22.82 / 17.01', '08-15 09:00:00 => 21.84 / 16.51', '08-15 10:00:00 => 20.22 / 15.68', '08-15 11:00:00 => 17.8 / 14.45', '08-15 12:00:00 => 16.16 / 13.61', '08-15 13:00:00 => 15.55 / 13.3', '08-15 14:00:00 => 15.14 / 13.09', '08-15 15:00:00 => 15.65 / 13.35', '08-15 16:00:00 => 32.68 / 16.13', '08-15 17:00:00 => 37.81 / 18.75', '08-15 18:00:00 => 42.15 / 20.96', '08-15 19:00:00 => 30.88 / 21.13', '08-15 20:00:00 => 31.43 / 21.41', '08-15 21:00:00 => 31.43 / 21.41', '08-15 22:00:00 => 30.37 / 20.87', '08-15 23:00:00 => 29.16 / 20.25', '08-16 00:00:00 => 28.62 / 19.97', '08-16 01:00:00 => 27.52 / 19.41', '08-16 02:00:00 => 26.55 / 18.92', '08-16 03:00:00 => 26.18 / 18.73', '08-16 04:00:00 => 26.12 / 18.7', '08-16 05:00:00 => 26.02 / 18.65', '08-16 06:00:00 => 25.78 / 18.53', '08-16 07:00:00 => 25.43 / 18.35', '08-16 08:00:00 => 24.63 / 17.94', '08-16 09:00:00 => 24.05 / 17.64', '08-16 10:00:00 => 24.59 / 17.92', '08-16 11:00:00 => 24.5 / 17.87', '08-16 12:00:00 => 23.58 / 17.4', '08-16 13:00:00 => 22.93 / 17.07', '08-16 14:00:00 => 21.8 / 16.49', '08-16 15:00:00 => 21.8 / 16.49', '08-16 16:00:00 => 36.93 / 18.3']
2026-08-15 17:55:01.313066: Rate min forward looking: now 21.41p at end of forecast 21.41p
2026-08-15 17:55:01.313462: Import rates: min 21.41p, max 45.28p, average 28.44p
2026-08-15 17:55:01.348241: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 17:55:01.348365: Rate thresholds (for charge/export) are import 44.78p (0.0p), export -0.1p (0.0p)
2026-08-15 17:55:01.349506: High export rate found rates in range 99p to -99p
2026-08-15 17:55:01.451281: Low Import rate found rates in range 21.41p to 44.34p
2026-08-15 17:55:01.451428: Car 0 charging is not planned as it is not plugged in
2026-08-15 17:55:01.463565: Battery level now 15.38kWh, -1hr ago 15.68kWh, at midnight 1.66kWh, battery value change in the last hour -5.59p, change today 252.35p, rate_forward 18.39p
2026-08-15 17:55:01.463934: Last hour: net energy 0.03kWh, import 0.03kWh, export 0.0kWh, car 0kWh, load 0.35kWh, net cost 1.07p, import 1.07p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 17:55:01.520877: Today's energy total net 27.6kWh, import 27.6kWh, export 0.0kWh, cost 566.08p, import 516.09p, export 0.0p, carbon 0.0kg
2026-08-15 17:55:01.521065: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 17:55:01.603169: Using weighted-bucket historical load forecast over 14 days
2026-08-15 17:55:01.627927: Today's load divergence 88.9%, in-day adjustment 103.22%, damping 0.95x, yesterday 143.77% today 89.46% blend 25.35%
2026-08-15 17:55:01.628001: Today's predicted so far 10.63kWh with 0.0kWh car/iBoost excluded, 20.85kWh import ignored, and 10.63kWh forecast extra.
2026-08-15 17:55:01.628037: Today's actual load so far 9.11kWh with 0.0kWh car/iBoost excluded, and 20.85kWh import ignored.
2026-08-15 17:55:01.659396: Inverter 0: Type SK Sunsynk
2026-08-15 17:55:01.659489: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 17:55:01.659679: Reserve min: 7%, battery_min: 7%
2026-08-15 17:55:01.659758: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 17:55:01.660026: Inverter 0 SoC: 15.36kW 96%, current charge rate 5000W, current discharge rate 5250W, current battery power 312W, current battery voltage 51.2V, grid power -54W, load power 379W, PV Power 0W
2026-08-15 17:55:01.660180: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 17:55:01.660267: Inverter 0 scheduled charge enable is False
2026-08-15 17:55:01.660310: Inverter 0 charge windows currently []
2026-08-15 17:55:01.660337: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 17:55:01.660445: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 17:55:01.660481: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 17:55:01.660516: Inverter 0 scheduled discharge enable is False
2026-08-15 17:55:01.660655: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 17:55:01.660695: Inverter 0 discharge windows currently []
2026-08-15 17:55:01.660717: Note: Inverter does not support discharge freeze - disabled
2026-08-15 17:55:01.660737: Note: Inverter does not support charge freeze - disabled
2026-08-15 17:55:01.660755: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 17:55:01.714309: Dynamic load last period 0.30kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 17:55:01.714403: Plan was last updated on 2026-08-15 17:45:00+01:00 and is now 10.0 minutes old
2026-08-15 17:55:01.714684: Best charge window [ 16-08 11:00:00 - 16-08 12:30:00 @ 23.65p 16%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 31%, 16-08 13:30:00 - 16-08 15:00:00 @ 21.91p 100%, 16-08 15:00:00 - 16-08 16:00:00 @ 22.89p 75%, 17-08 12:30:00 - 17-08 18:00:00 @ 40.7p 100% ]
2026-08-15 17:55:01.714729: Best export window [  ]
2026-08-15 17:55:01.715395: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 17:55:01.718019: Load divergence over 8.0 hours mean 665.32W, min 313.8W, max 1875.0W, std dev 409.52W, divergence 30.78%
2026-08-15 17:55:01.733265: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 17:55:01.733374: LoadML is_calculating False
2026-08-15 17:55:01.733462: Creating pool of 12 processes to match your CPU count
2026-08-15 17:55:01.850435: predict base end_record 08-17 12:40:00, final soc 1.12kWh, metric 1106.7p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 13:15:00, load 37.68kWh, PV 0.0kWh
2026-08-15 17:55:01.982932: Battery has 19.33 hours left - now at 15.36kWh
2026-08-15 17:55:02.027624: predict base10 end_record 08-17 12:40:00, final soc 1.12kWh, metric 1141.83p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 12:30:00, load 39.04kWh, PV 0.0kWh
2026-08-15 17:55:02.103552: predict best10 end_record 08-17 12:40:00, final soc 1.77kWh, metric 1090.57p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 06:10:00, load 39.04kWh, PV 0.0kWh
2026-08-15 17:55:02.183497: predict best end_record 08-17 12:40:00, final soc 1.9kWh, metric 1058.8p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 07:10:00, load 37.68kWh, PV 0.0kWh
2026-08-15 17:55:02.183591: Saving plan best values to HA entities
2026-08-15 17:55:02.351687: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 17:55:02.357975: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0.0
2026-08-15 17:55:02.364529: Best charging limit SoC's [2.5, 5.0, 16.0, 12.0, 16.0]kWh, export []kWh gives import battery 14.12kWh, house 3.32kWh, export 0.0kWh, metric 1058.8p, metric10 1090.57p
2026-08-15 17:55:02.445897: Marginal costs baseline metric (no standing charge): 958.8339
2026-08-15 17:55:02.727152: Marginal energy costs matrix computed: min=25.52 max=33.87
2026-08-15 17:55:02.819202: Rate array import [{'start': 1075, 'end': 1140, 'rate': 'very expensive', 'range': '(40.4p - 43.8p)'}, {'start': 1140, 'end': 1410, 'rate': 'expensive', 'range': '(29.8p - 32.9p)'}, {'start': 1410, 'end': 2400, 'rate': 'cheap', 'range': '(21.4p - 28.2p)'}, {'start': 2400, 'end': 2430, 'rate': 'expensive', 'range': '(36.8p)'}, {'start': 2430, 'end': 2580, 'rate': 'very expensive', 'range': '(37.5p - 45.3p)'}, {'start': 2580, 'end': 2850, 'rate': 'expensive', 'range': '(30.0p - 35.9p)'}, {'start': 2850, 'end': 3640, 'rate': 'cheap', 'range': '(22.3p - 28.2p)'}] export [{'start': 1075, 'end': 3640, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 17:55:02.820003: - Your estimated bill for today is £5.66 and tomorrow is £3.41
2026-08-15 17:55:02.820051: - Import rates are very expensive (40.4p - 43.8p) for the next 1 hour and then expensive (29.8p - 32.9p) for the next 4 and a half hours.
2026-08-15 17:55:02.820073: - The battery is currently at 96% and is in eco mode for the next 17 hours.
2026-08-15 17:55:02.820092: - For the next 48 hours there will be no solar generation.
2026-08-15 17:55:02.820109: - You will run out of battery in 37 hours.
2026-08-15 17:55:02.820128: - Your next charge slot will be in 17 hours where import rates will be cheap (24.3p).
2026-08-15 17:55:02.820145: 
2026-08-15 17:55:02.889201: Plan calculation took 1.17 seconds
2026-08-15 17:55:02.892851: No high rate period found
2026-08-15 17:55:02.945596: Import threshold used for optimisation was 25.86p
2026-08-15 17:55:03.026235: Low import rate windows [0: 08-15 17:30:00 - 08-15 18:00:00 @ 40.44, 1: 08-15 18:00:00 - 08-15 18:30:00 @ 41.55, 2: 08-15 18:30:00 - 08-15 19:00:00 @ 43.82, 3: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 4: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 5: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 6: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 7: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 8: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 9: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 10: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 11: 08-15 23:00:00 - 08-15 23:30:00 @ 30.02, 12: 08-15 23:30:00 - 08-16 00:00:00 @ 27.8, 13: 08-16 00:00:00 - 08-16 00:30:00 @ 28.18, 14: 08-16 00:30:00 - 08-16 01:00:00 @ 27.38, 15: 08-16 01:00:00 - 08-16 01:30:00 @ 26.7, 16: 08-16 01:30:00 - 08-16 02:00:00 @ 26.31, 17: 08-16 02:00:00 - 08-16 02:30:00 @ 25.79, 18: 08-16 02:30:00 - 08-16 03:00:00 @ 25.86, 19: 08-16 03:00:00 - 08-16 03:30:00 @ 26.13, 20: 08-16 03:30:00 - 08-16 04:00:00 @ 25.86, 21: 08-16 04:00:00 - 08-16 04:30:00 @ 26.27, 22: 08-16 04:30:00 - 08-16 05:00:00 @ 26.14, 23: 08-16 05:00:00 - 08-16 05:30:00 @ 27.03, 24: 08-16 05:30:00 - 08-16 06:00:00 @ 26.28, 25: 08-16 06:00:00 - 08-16 06:30:00 @ 25.68, 26: 08-16 06:30:00 - 08-16 07:00:00 @ 26.1, 27: 08-16 07:00:00 - 08-16 07:30:00 @ 24.28, 28: 08-16 07:30:00 - 08-16 08:00:00 @ 24.94, 29: 08-16 08:00:00 - 08-16 08:30:00 @ 24.06, 30: 08-16 08:30:00 - 08-16 09:00:00 @ 24.39, 31: 08-16 09:00:00 - 08-16 09:30:00 @ 24.66, 32: 08-16 09:30:00 - 08-16 10:00:00 @ 24.06, 33: 08-16 10:00:00 - 08-16 10:30:00 @ 25.5, 34: 08-16 10:30:00 - 08-16 11:00:00 @ 24.94, 35: 08-16 11:00:00 - 08-16 11:30:00 @ 24.25, 36: 08-16 11:30:00 - 08-16 12:00:00 @ 23.49, 37: 08-16 12:00:00 - 08-16 12:30:00 @ 23.43, 38: 08-16 12:30:00 - 08-16 13:00:00 @ 22.33, 39: 08-16 13:00:00 - 08-16 13:30:00 @ 22.76, 40: 08-16 13:30:00 - 08-16 14:00:00 @ 22.3, 41: 08-16 14:00:00 - 08-16 14:30:00 @ 21.41, 42: 08-16 14:30:00 - 08-16 15:00:00 @ 21.65, 43: 08-16 15:00:00 - 08-16 15:30:00 @ 22.95, 44: 08-16 15:30:00 - 08-16 16:00:00 @ 22.83, 45: 08-16 16:00:00 - 08-16 16:30:00 @ 36.84, 46: 08-16 16:30:00 - 08-16 17:00:00 @ 37.54, 47: 08-16 17:00:00 - 08-16 17:30:00 @ 41.79, 48: 08-16 17:30:00 - 08-16 18:00:00 @ 43.7, 49: 08-16 18:00:00 - 08-16 18:30:00 @ 44.34, 50: 08-16 19:00:00 - 08-16 19:30:00 @ 34.79, 51: 08-16 19:30:00 - 08-16 20:00:00 @ 34.76, 52: 08-16 20:00:00 - 08-16 20:30:00 @ 35.62, 53: 08-16 20:30:00 - 08-16 21:00:00 @ 35.3, 54: 08-16 21:00:00 - 08-16 21:30:00 @ 35.89, 55: 08-16 21:30:00 - 08-16 22:00:00 @ 35.71, 56: 08-16 22:00:00 - 08-16 22:30:00 @ 33.75, 57: 08-16 22:30:00 - 08-16 23:00:00 @ 32.0, 58: 08-16 23:00:00 - 08-16 23:30:00 @ 30.02, 59: 08-16 23:30:00 - 08-17 00:00:00 @ 27.8, 60: 08-17 00:00:00 - 08-17 00:30:00 @ 28.18, 61: 08-17 00:30:00 - 08-17 01:00:00 @ 27.38, 62: 08-17 01:00:00 - 08-17 01:30:00 @ 26.7, 63: 08-17 01:30:00 - 08-17 02:00:00 @ 26.31, 64: 08-17 02:00:00 - 08-17 02:30:00 @ 25.79, 65: 08-17 02:30:00 - 08-17 03:00:00 @ 25.86, 66: 08-17 03:00:00 - 08-17 03:30:00 @ 26.13, 67: 08-17 03:30:00 - 08-17 04:00:00 @ 25.86, 68: 08-17 04:00:00 - 08-17 04:30:00 @ 26.27, 69: 08-17 04:30:00 - 08-17 05:00:00 @ 26.14, 70: 08-17 05:00:00 - 08-17 05:30:00 @ 27.03, 71: 08-17 05:30:00 - 08-17 06:00:00 @ 26.28, 72: 08-17 06:00:00 - 08-17 06:30:00 @ 25.68, 73: 08-17 06:30:00 - 08-17 07:00:00 @ 26.1, 74: 08-17 07:00:00 - 08-17 07:30:00 @ 24.28, 75: 08-17 07:30:00 - 08-17 08:00:00 @ 24.94, 76: 08-17 08:00:00 - 08-17 08:30:00 @ 24.06, 77: 08-17 08:30:00 - 08-17 09:00:00 @ 24.39, 78: 08-17 09:00:00 - 08-17 09:30:00 @ 24.66, 79: 08-17 09:30:00 - 08-17 10:00:00 @ 24.06, 80: 08-17 10:00:00 - 08-17 10:30:00 @ 25.5, 81: 08-17 10:30:00 - 08-17 11:00:00 @ 24.94, 82: 08-17 11:00:00 - 08-17 11:30:00 @ 24.25, 83: 08-17 11:30:00 - 08-17 12:00:00 @ 23.49, 84: 08-17 12:00:00 - 08-17 12:30:00 @ 23.43, 85: 08-17 12:30:00 - 08-17 13:00:00 @ 22.33, 86: 08-17 13:00:00 - 08-17 13:30:00 @ 22.76, 87: 08-17 13:30:00 - 08-17 14:00:00 @ 22.3, 88: 08-17 14:00:00 - 08-17 14:30:00 @ 21.41, 89: 08-17 14:30:00 - 08-17 15:00:00 @ 21.65, 90: 08-17 15:00:00 - 08-17 15:30:00 @ 22.95, 91: 08-17 15:30:00 - 08-17 16:00:00 @ 22.83, 92: 08-17 16:00:00 - 08-17 16:30:00 @ 36.84, 93: 08-17 16:30:00 - 08-17 17:00:00 @ 37.54, 94: 08-17 17:00:00 - 08-17 17:30:00 @ 41.79, 95: 08-17 17:30:00 - 08-17 18:00:00 @ 43.7]
2026-08-15 17:55:03.034486: Inverter 0 Charge window will be: 2026-08-16 11:00:00+01:00 - 2026-08-16 16:00:00+01:00 - current SoC 96%, target 16%
2026-08-15 17:55:03.034632: Inverter 0 disabled charge window while waiting for schedule (now 08-15 17:55:00 target set_window_minutes 30 charge start time 08-16 11:00:00) original inverter start time 08-17 00:00:00
2026-08-15 17:55:03.034761: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 17:55:03.035026: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 17:55:03.035148: No export window planned
2026-08-15 17:55:03.035379: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 17:55:03.035439: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 17:55:03.035674: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 17:55:03.035935: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 17:55:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 17:55:03.036028: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 17:55:03.036137: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 17:55:03.036348: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 17:55:03.036428: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 17:55:03.036488: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 17:55:03.036551: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 17:55:03.036604: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 17:55:03.036657: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 17:55:03.036695: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 17:55:03.036806: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 17:55:03.036852: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 17:55:03.036889: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 17:55:03.036940: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 17:55:03.037048: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 17:55:03.037112: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 17:55:03.037169: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 17:55:03.037220: Inverter 0 count register writes 0
2026-08-15 17:55:03.054252: Will recompute the plan as it is now 10.0 minutes old and will exceed the max age of 10 minutes before the next run
2026-08-15 17:55:03.054464: Recompute is saving previous plan...
2026-08-15 17:55:03.057631: Best charge window [ 15-08 17:30:00 - 15-08 18:00:00 @ 40.44p 0%, 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 0%, 15-08 18:30:00 - 15-08 19:00:00 @ 43.82p 0%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 0%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 0%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 0%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 0%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 30.02p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 27.8p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.18p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.38p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 26.7p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.31p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.79p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 25.86p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.13p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 25.86p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.27p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.14p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 27.03p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.28p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.68p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 26.1p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 24.28p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 24.94p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.06p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.39p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.66p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.06p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 25.5p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 24.94p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 24.25p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 23.49p 0%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.43p 0%, 16-08 12:30:00 - 16-08 13:00:00 @ 22.33p 0%, 16-08 13:00:00 - 16-08 13:30:00 @ 22.76p 0%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 0%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 0%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.65p 0%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.95p 0%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.83p 0%, 16-08 16:00:00 - 16-08 16:30:00 @ 36.84p 0%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.54p 0%, 16-08 17:00:00 - 16-08 17:30:00 @ 41.79p 0%, 16-08 17:30:00 - 16-08 18:00:00 @ 43.7p 0%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.34p 0%, 16-08 19:00:00 - 16-08 19:30:00 @ 34.79p 0%, 16-08 19:30:00 - 16-08 20:00:00 @ 34.76p 0%, 16-08 20:00:00 - 16-08 20:30:00 @ 35.62p 0%, 16-08 20:30:00 - 16-08 21:00:00 @ 35.3p 0%, 16-08 21:00:00 - 16-08 21:30:00 @ 35.89p 0%, 16-08 21:30:00 - 16-08 22:00:00 @ 35.71p 0%, 16-08 22:00:00 - 16-08 22:30:00 @ 33.75p 0%, 16-08 22:30:00 - 16-08 23:00:00 @ 32.0p 0%, 16-08 23:00:00 - 16-08 23:30:00 @ 30.02p 0%, 16-08 23:30:00 - 17-08 00:00:00 @ 27.8p 0%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.18p 0%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.38p 0%, 17-08 01:00:00 - 17-08 01:30:00 @ 26.7p 0%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.31p 0%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.79p 0%, 17-08 02:30:00 - 17-08 03:00:00 @ 25.86p 0%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.13p 0%, 17-08 03:30:00 - 17-08 04:00:00 @ 25.86p 0%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.27p 0%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.14p 0%, 17-08 05:00:00 - 17-08 05:30:00 @ 27.03p 0%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.28p 0%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.68p 0%, 17-08 06:30:00 - 17-08 07:00:00 @ 26.1p 0%, 17-08 07:00:00 - 17-08 07:30:00 @ 24.28p 0%, 17-08 07:30:00 - 17-08 08:00:00 @ 24.94p 0%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.06p 0%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.39p 0%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.66p 0%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.06p 0%, 17-08 10:00:00 - 17-08 10:30:00 @ 25.5p 0%, 17-08 10:30:00 - 17-08 11:00:00 @ 24.94p 0%, 17-08 11:00:00 - 17-08 11:30:00 @ 24.25p 0%, 17-08 11:30:00 - 17-08 12:00:00 @ 23.49p 0%, 17-08 12:00:00 - 17-08 12:30:00 @ 23.43p 0%, 17-08 12:30:00 - 17-08 13:00:00 @ 22.33p 0%, 17-08 13:00:00 - 17-08 13:30:00 @ 22.76p 0%, 17-08 13:30:00 - 17-08 14:00:00 @ 22.3p 0%, 17-08 14:00:00 - 17-08 14:30:00 @ 21.41p 0%, 17-08 14:30:00 - 17-08 15:00:00 @ 21.65p 0%, 17-08 15:00:00 - 17-08 15:30:00 @ 22.95p 0%, 17-08 15:30:00 - 17-08 16:00:00 @ 22.83p 0%, 17-08 16:00:00 - 17-08 16:30:00 @ 36.84p 0%, 17-08 16:30:00 - 17-08 17:00:00 @ 37.54p 0%, 17-08 17:00:00 - 17-08 17:30:00 @ 41.79p 0%, 17-08 17:30:00 - 17-08 18:00:00 @ 43.7p 0% ]
2026-08-15 17:55:03.057712: Best export window [  ]
2026-08-15 17:55:03.058524: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 17:55:03.061784: Load divergence over 8.0 hours mean 665.32W, min 313.8W, max 1875.0W, std dev 409.52W, divergence 30.78%
2026-08-15 17:55:03.079594: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 17:55:03.079709: LoadML is_calculating False
2026-08-15 17:55:03.079775: Creating pool of 12 processes to match your CPU count
2026-08-15 17:55:03.169278: Calculate Best options: mode(Control charge & discharge), calculate_export_oncharge(False), calculate_export_on_pv(True), set_export_freeze_only(False), set_discharge_during_charge(True), combine_charge_slots(False), combine_export_slots(False), combine_rate_threshold(0.0), best_soc_min(0.0 kWh), best_soc_max(0.0 kWh), best_soc_keep(0.0 kWh), inverter_loss(4%), battery_loss(3%), battery_loss_discharge (3%), inverter_hybrid(True), metric_min_improvement(0.0p), metric_min_improvement_export(0.1p), metric_min_improvement_export_freeze(0.1p), metric_battery_cycle(0.0p/kWh), metric_battery_value_scaling(1.0 x) 
2026-08-15 17:55:03.171489: Optimise levels pass started at 2026-08-15 17:55:03
2026-08-15 17:55:03.171572: Optimise all windows, total charge 95 export 1
2026-08-15 17:55:04.268015: >> Region optimisation pass width 960 gives best_metric 1007.09p, best_cost 1022.9p, best_cycle 39.88kWh, best_import 20.39kWh
2026-08-15 17:55:04.650125: >> Region optimisation pass width 480 gives best_metric 1007.09p, best_cost 1022.9p, best_cycle 39.88kWh, best_import 20.39kWh
2026-08-15 17:55:05.185852: >> Region optimisation pass width 240 gives best_metric 1007.09p, best_cost 1022.9p, best_cycle 39.88kWh, best_import 20.39kWh
2026-08-15 17:55:06.349955: >> Region optimisation pass width 120 gives best_metric 1007.09p, best_cost 1022.9p, best_cycle 39.88kWh, best_import 20.39kWh
2026-08-15 17:55:06.350311: Calculated end_record as 08-17 12:30:00 based on best_price 22.76p, next_charge_start 08-16 12:30:00, max_windows 85
2026-08-15 17:55:06.350415: Optimise levels pass ended at 2026-08-15 17:55:06, duration 3.2 seconds tried 310 combinations
2026-08-15 17:55:06.350536: Set best_price_charge_level 24.4p, best_price_export_level 0p, best_price_charge 22.76p, best_cost_export 0p, best_metric 1007.09p, best_keep 0kWh, best_cycle 39.88kWh, best_carbon 0kg, best_import 20.39kWh
2026-08-15 17:55:06.366717: Starting detailed optimisation end_record 08-17 12:30:00, best_price_charge 22.76p, best_price_export 0p. lowest_price_charge 21.41p with charge limits [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12.75, 12.75, 12.75, 12.75, 12.75, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0]kWh and export limits []kWh
2026-08-15 17:55:12.378663: Tweak plan optimisation started metric 921.47p, cost 936.85p
2026-08-15 17:55:12.650065: Tweak optimisation finished metric 921.47p, cost 936.85p, metric_keep 0kWh, cycle 31.88kWh, carbon 0kg, import 16.43kWh, changed 8 window(s)
2026-08-15 17:55:12.669910: Swap charge optimisation started metric 921.47p, cost 936.85p, min_improvement_swap 0.1p
2026-08-15 17:55:20.920471: Swap charge optimisation finished metric 921.47p, cost 936.85p
2026-08-15 17:55:21.058809: Pruned 2 dead plan slot(s) in 12 trial(s), nominal metric 916.25p -> 916.25p, plan now metric 921.64p, cost 936.85p, cycle 31.88kWh, import 16.43kWh
2026-08-15 17:55:21.068374: Raw charge windows [ 15-08 17:30:00 - 15-08 18:00:00 @ 40.44p 0%, 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 0%, 15-08 18:30:00 - 15-08 19:00:00 @ 43.82p 0%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 0%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 0%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 0%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 0%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 30.02p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 27.8p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.18p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.38p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 26.7p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.31p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.79p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 25.86p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.13p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 25.86p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.27p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.14p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 27.03p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.28p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.68p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 26.1p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 24.28p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 24.94p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.06p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.39p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.66p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.06p 25%, 16-08 10:00:00 - 16-08 10:30:00 @ 25.5p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 24.94p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 24.25p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 23.49p 19%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.43p 19%, 16-08 12:30:00 - 16-08 13:00:00 @ 22.33p 31%, 16-08 13:00:00 - 16-08 13:30:00 @ 22.76p 31%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 100%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 80%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.65p 80%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.95p 75%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.83p 75%, 16-08 16:00:00 - 16-08 16:30:00 @ 36.84p 0%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.54p 0%, 16-08 17:00:00 - 16-08 17:30:00 @ 41.79p 0%, 16-08 17:30:00 - 16-08 18:00:00 @ 43.7p 0%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.34p 0%, 16-08 19:00:00 - 16-08 19:30:00 @ 34.79p 0%, 16-08 19:30:00 - 16-08 20:00:00 @ 34.76p 0%, 16-08 20:00:00 - 16-08 20:30:00 @ 35.62p 0%, 16-08 20:30:00 - 16-08 21:00:00 @ 35.3p 0%, 16-08 21:00:00 - 16-08 21:30:00 @ 35.89p 0%, 16-08 21:30:00 - 16-08 22:00:00 @ 35.71p 0%, 16-08 22:00:00 - 16-08 22:30:00 @ 33.75p 0%, 16-08 22:30:00 - 16-08 23:00:00 @ 32.0p 0%, 16-08 23:00:00 - 16-08 23:30:00 @ 30.02p 0%, 16-08 23:30:00 - 17-08 00:00:00 @ 27.8p 0%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.18p 0%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.38p 0%, 17-08 01:00:00 - 17-08 01:30:00 @ 26.7p 0%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.31p 0%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.79p 0%, 17-08 02:30:00 - 17-08 03:00:00 @ 25.86p 0%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.13p 0%, 17-08 03:30:00 - 17-08 04:00:00 @ 25.86p 0%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.27p 0%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.14p 0%, 17-08 05:00:00 - 17-08 05:30:00 @ 27.03p 0%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.28p 0%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.68p 0%, 17-08 06:30:00 - 17-08 07:00:00 @ 26.1p 0%, 17-08 07:00:00 - 17-08 07:30:00 @ 24.28p 0%, 17-08 07:30:00 - 17-08 08:00:00 @ 24.94p 0%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.06p 0%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.39p 0%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.66p 0%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.06p 0%, 17-08 10:00:00 - 17-08 10:30:00 @ 25.5p 0%, 17-08 10:30:00 - 17-08 11:00:00 @ 24.94p 0%, 17-08 11:00:00 - 17-08 11:30:00 @ 24.25p 0%, 17-08 11:30:00 - 17-08 12:00:00 @ 23.49p 0%, 17-08 12:00:00 - 17-08 12:30:00 @ 23.43p 0%, 17-08 12:30:00 - 17-08 13:00:00 @ 22.33p 100%, 17-08 13:00:00 - 17-08 13:30:00 @ 22.76p 100%, 17-08 13:30:00 - 17-08 14:00:00 @ 22.3p 100%, 17-08 14:00:00 - 17-08 14:30:00 @ 21.41p 100%, 17-08 14:30:00 - 17-08 15:00:00 @ 21.65p 100%, 17-08 15:00:00 - 17-08 15:30:00 @ 22.95p 100%, 17-08 15:30:00 - 17-08 16:00:00 @ 22.83p 100%, 17-08 16:00:00 - 17-08 16:30:00 @ 36.84p 100%, 17-08 16:30:00 - 17-08 17:00:00 @ 37.54p 100%, 17-08 17:00:00 - 17-08 17:30:00 @ 41.79p 100%, 17-08 17:30:00 - 17-08 18:00:00 @ 43.7p 100% ] reserve 1.12
2026-08-15 17:55:21.068881: Unclipped charge windows [ 16-08 09:30:00 - 16-08 10:00:00 @ 24.06p 25%, 16-08 11:30:00 - 16-08 12:30:00 @ 23.46p 19%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 31%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 100%, 16-08 14:00:00 - 16-08 15:00:00 @ 21.53p 80%, 16-08 15:00:00 - 16-08 16:00:00 @ 22.89p 75%, 17-08 12:30:00 - 17-08 18:00:00 @ 40.7p 100% ] reserve 1.12
2026-08-15 17:55:21.069238: Unfiltered charge windows [ 16-08 09:30:00 - 16-08 10:00:00 @ 24.06p 25%, 16-08 11:30:00 - 16-08 12:30:00 @ 23.46p 19%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 31%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 100%, 16-08 14:00:00 - 16-08 15:00:00 @ 21.53p 100%, 16-08 15:00:00 - 16-08 16:00:00 @ 22.89p 75%, 17-08 12:30:00 - 17-08 18:00:00 @ 40.7p 100% ] reserve 1.12
2026-08-15 17:55:21.069471: Filtered charge windows [ 16-08 09:30:00 - 16-08 10:00:00 @ 24.06p 25%, 16-08 11:30:00 - 16-08 12:30:00 @ 23.46p 19%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 31%, 16-08 13:30:00 - 16-08 15:00:00 @ 21.91p 100%, 16-08 15:00:00 - 16-08 16:00:00 @ 22.89p 75%, 17-08 12:30:00 - 17-08 18:00:00 @ 40.7p 100% ] reserve 1.12
2026-08-15 17:55:21.104624: Previous plan best metric is 921.87 (cost 937.28) and new plan best metric is 921.47 (cost 936.85)
2026-08-15 17:55:21.104908: New plan metric is not significantly better (metric_min_improvement_plan 2.0) than previous plan, using previous plan
2026-08-15 17:55:21.105188: Plan valid is now true after recompute was False
2026-08-15 17:55:21.137665: predict base end_record 08-17 12:30:00, final soc 1.12kWh, metric 1103.76p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 13:15:00, load 37.55kWh, PV 0.0kWh
2026-08-15 17:55:21.250422: Battery has 19.33 hours left - now at 15.36kWh
2026-08-15 17:55:21.290590: predict base10 end_record 08-17 12:30:00, final soc 1.12kWh, metric 1138.75p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 12:30:00, load 38.9kWh, PV 0.0kWh
2026-08-15 17:55:21.357348: predict best10 end_record 08-17 12:30:00, final soc 1.12kWh, metric 1071.98p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 06:10:00, load 38.9kWh, PV 0.0kWh
2026-08-15 17:55:21.432560: predict best end_record 08-17 12:30:00, final soc 1.12kWh, metric 1037.25p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 07:10:00, load 37.55kWh, PV 0.0kWh
2026-08-15 17:55:21.432656: Saving plan best values to HA entities
2026-08-15 17:55:21.597903: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 17:55:21.602814: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0.0
2026-08-15 17:55:21.607540: Best charging limit SoC's [2.5, 5.0, 16.0, 12.0, 16.0]kWh, export []kWh gives import battery 13.15kWh, house 3.32kWh, export 0.0kWh, metric 1037.25p, metric10 1071.98p
2026-08-15 17:55:21.680697: Marginal costs baseline metric (no standing charge): 937.2813
2026-08-15 17:55:21.982418: Marginal energy costs matrix computed: min=25.52 max=33.87
2026-08-15 17:55:22.068389: Rate array import [{'start': 1075, 'end': 1140, 'rate': 'very expensive', 'range': '(40.4p - 43.8p)'}, {'start': 1140, 'end': 1410, 'rate': 'expensive', 'range': '(29.8p - 32.9p)'}, {'start': 1410, 'end': 2400, 'rate': 'cheap', 'range': '(21.4p - 28.2p)'}, {'start': 2400, 'end': 2430, 'rate': 'expensive', 'range': '(36.8p)'}, {'start': 2430, 'end': 2580, 'rate': 'very expensive', 'range': '(37.5p - 45.3p)'}, {'start': 2580, 'end': 2850, 'rate': 'expensive', 'range': '(30.0p - 35.9p)'}, {'start': 2850, 'end': 3630, 'rate': 'cheap', 'range': '(23.4p - 28.2p)'}] export [{'start': 1075, 'end': 3630, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 17:55:22.069277: - Your estimated bill for today is £5.66 and tomorrow is £3.41
2026-08-15 17:55:22.069355: - Import rates are very expensive (40.4p - 43.8p) for the next 1 hour and then expensive (29.8p - 32.9p) for the next 4 and a half hours.
2026-08-15 17:55:22.069390: - The battery is currently at 96% and is in eco mode for the next 17 hours.
2026-08-15 17:55:22.069425: - For the next 48 hours there will be no solar generation.
2026-08-15 17:55:22.069459: - You will run out of battery in 37 hours.
2026-08-15 17:55:22.069478: - Your next charge slot will be in 17 hours where import rates will be cheap (24.3p).
2026-08-15 17:55:22.069504: 
2026-08-15 17:55:22.140591: Plan calculation took 19.09 seconds
2026-08-15 17:55:22.141021: Inverter 0: Type SK Sunsynk
2026-08-15 17:55:22.141076: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 17:55:22.141415: Reserve min: 7%, battery_min: 7%
2026-08-15 17:55:22.141544: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 17:55:22.141956: Inverter 0 SoC: 15.36kW 96%, current charge rate 5000W, current discharge rate 5250W, current battery power 265W, current battery voltage 51.2V, grid power -54W, load power 329W, PV Power 0W
2026-08-15 17:55:22.142217: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 17:55:22.142347: Inverter 0 scheduled charge enable is False
2026-08-15 17:55:22.142392: Inverter 0 charge windows currently []
2026-08-15 17:55:22.142423: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 17:55:22.142564: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 17:55:22.142602: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 17:55:22.142638: Inverter 0 scheduled discharge enable is False
2026-08-15 17:55:22.142808: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 17:55:22.142851: Inverter 0 discharge windows currently []
2026-08-15 17:55:22.142874: Note: Inverter does not support discharge freeze - disabled
2026-08-15 17:55:22.142896: Note: Inverter does not support charge freeze - disabled
2026-08-15 17:55:22.142913: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 17:55:22.205529: Inverter 0 Charge window will be: 2026-08-16 11:00:00+01:00 - 2026-08-16 16:00:00+01:00 - current SoC 96%, target 16%
2026-08-15 17:55:22.205680: Inverter 0 disabled charge window while waiting for schedule (now 08-15 17:55:00 target set_window_minutes 30 charge start time 08-16 11:00:00) original inverter start time 08-17 00:00:00
2026-08-15 17:55:22.205752: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 17:55:22.205963: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 17:55:22.206069: No export window planned
2026-08-15 17:55:22.206193: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 17:55:22.206230: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 17:55:22.206395: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 17:55:22.206568: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 17:55:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 17:55:22.206623: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 17:55:22.206689: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 17:55:22.206777: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 17:55:22.206822: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 17:55:22.206850: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 17:55:22.206875: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 17:55:22.206910: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 17:55:22.206935: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 17:55:22.206964: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 17:55:22.207057: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 17:55:22.207100: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 17:55:22.207128: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 17:55:22.207158: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 17:55:22.207183: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 17:55:22.207206: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 17:55:22.207230: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 17:55:22.207278: Inverter 0 count register writes 0
2026-08-15 17:55:22.234539: Total inverter register writes now 826
2026-08-15 17:55:22.270540: Info: Completed run status Demand
2026-08-15 17:55:22.276779: Info: record_status Demand
2026-08-15 17:55:22.283782: Saved current settings to /config/predbat_config.json
2026-08-15 17:55:22.284081: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 17:55:57.396850: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 17:55:57.397171: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 17:55:57.397232: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 17:55:57.397448: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 17:55:57.397493: Note: Inverter does not support discharge freeze - disabled
2026-08-15 17:55:57.397527: Note: Inverter does not support charge freeze - disabled
2026-08-15 17:55:57.397558: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 17:58:11.634831: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 17:58:11.635036: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 17:58:11.635066: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 17:58:11.635199: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 17:58:11.635306: Note: Inverter does not support discharge freeze - disabled
2026-08-15 17:58:11.635326: Note: Inverter does not support charge freeze - disabled
2026-08-15 17:58:11.635341: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 17:58:41.533389: TemperatureAPI: Using coordinates latitude 53.4, longitude -2.2
2026-08-15 17:58:41.689004: TemperatureAPI: Successfully fetched temperature data from Open-Meteo API
2026-08-15 18:00:00.861206: --------------- PredBat - update at 2026-08-15 18:00:00+01:00 with clock skew 0 minutes, minutes now 1080
2026-08-15 18:00:00.862161: Saved current settings to /config/predbat_config.json
2026-08-15 18:00:00.862350: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 95.0 minutes
2026-08-15 18:00:00.862455: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.2, latest beta is v8.48.2
2026-08-15 18:00:00.862601: Autoupdate: There is an update pending v8.48.2 PV90 and second pass enabled by default, bug fixes - auto update is off
2026-08-15 18:00:00.893241: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 18:00:00.893473: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 18:00:00.893654: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 18:00:00.894182: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 18:00:00.894323: Predbat mode is set to Control charge & discharge
2026-08-15 18:00:01.187264: Found 21602 load_today datapoints going back 28 days
2026-08-15 18:00:01.187437: Using load_power data to fill gaps in load_today data
2026-08-15 18:00:02.123869: Processing 721 30-minute periods for power integration
2026-08-15 18:00:02.333416: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 18:00:02.333582: Car charging hold False, threshold 6.0kWh
2026-08-15 18:00:02.333659: Current data so far today: load 9.1kWh, import 27.6kWh, export 0.0kWh, PV 0kWh
2026-08-15 18:00:02.352555: Cars: SoC: [10.548]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 18:00:02.353241: Standing charge is set to 49.98p
2026-08-15 18:00:02.407884: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 18:00:02.407989: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 18:00:02.408195: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 440.0 minutes
2026-08-15 18:00:02.408630: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 440.0 minutes
2026-08-15 18:00:02.414847: Loaded 95 datapoints of futurerate analysis
2026-08-15 18:00:02.594400: Predicted future rates: ['08-15 00:00:00 => 28.69 / 20.01', '08-15 01:00:00 => 27.33 / 19.31', '08-15 02:00:00 => 26.31 / 18.8', '08-15 03:00:00 => 25.78 / 18.53', '08-15 04:00:00 => 25.59 / 18.43', '08-15 05:00:00 => 25.75 / 18.51', '08-15 06:00:00 => 25.34 / 18.3', '08-15 07:00:00 => 24.12 / 17.68', '08-15 08:00:00 => 22.82 / 17.01', '08-15 09:00:00 => 21.84 / 16.51', '08-15 10:00:00 => 20.22 / 15.68', '08-15 11:00:00 => 17.8 / 14.45', '08-15 12:00:00 => 16.16 / 13.61', '08-15 13:00:00 => 15.55 / 13.3', '08-15 14:00:00 => 15.14 / 13.09', '08-15 15:00:00 => 15.65 / 13.35', '08-15 16:00:00 => 32.68 / 16.13', '08-15 17:00:00 => 37.81 / 18.75', '08-15 18:00:00 => 42.15 / 20.96', '08-15 19:00:00 => 30.88 / 21.13', '08-15 20:00:00 => 31.43 / 21.41', '08-15 21:00:00 => 31.43 / 21.41', '08-15 22:00:00 => 30.37 / 20.87', '08-15 23:00:00 => 29.16 / 20.25', '08-16 00:00:00 => 28.62 / 19.97', '08-16 01:00:00 => 27.52 / 19.41', '08-16 02:00:00 => 26.55 / 18.92', '08-16 03:00:00 => 26.18 / 18.73', '08-16 04:00:00 => 26.12 / 18.7', '08-16 05:00:00 => 26.02 / 18.65', '08-16 06:00:00 => 25.78 / 18.53', '08-16 07:00:00 => 25.43 / 18.35', '08-16 08:00:00 => 24.63 / 17.94', '08-16 09:00:00 => 24.05 / 17.64', '08-16 10:00:00 => 24.59 / 17.92', '08-16 11:00:00 => 24.5 / 17.87', '08-16 12:00:00 => 23.58 / 17.4', '08-16 13:00:00 => 22.93 / 17.07', '08-16 14:00:00 => 21.8 / 16.49', '08-16 15:00:00 => 21.8 / 16.49', '08-16 16:00:00 => 36.93 / 18.3', '08-16 17:00:00 => 39.92 / 19.83']
2026-08-15 18:00:02.642626: Rate min forward looking: now 21.41p at end of forecast 21.41p
2026-08-15 18:00:02.643079: Import rates: min 21.41p, max 45.28p, average 28.44p
2026-08-15 18:00:02.689198: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 18:00:02.689351: Rate thresholds (for charge/export) are import 44.78p (0.0p), export -0.1p (0.0p)
2026-08-15 18:00:02.690678: High export rate found rates in range 99p to -99p
2026-08-15 18:00:02.798096: Low Import rate found rates in range 21.41p to 44.34p
2026-08-15 18:00:02.798287: Car 0 charging is not planned as it is not plugged in
2026-08-15 18:00:02.812021: Battery level now 15.36kWh, -1hr ago 15.68kWh, at midnight 1.66kWh, battery value change in the last hour -5.89p, change today 252.06p, rate_forward 18.39p
2026-08-15 18:00:02.812482: Last hour: net energy 0.02kWh, import 0.02kWh, export 0.0kWh, car 0kWh, load 0.28kWh, net cost 0.83p, import 0.83p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 18:00:02.896997: Today's energy total net 27.6kWh, import 27.6kWh, export 0.0kWh, cost 566.08p, import 516.09p, export 0.0p, carbon 0.0kg
2026-08-15 18:00:02.897196: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 18:00:03.005651: Using weighted-bucket historical load forecast over 14 days
2026-08-15 18:00:03.054606: Today's load divergence 88.64%, in-day adjustment 102.85%, damping 0.95x, yesterday 143.77% today 89.21% blend 25.0%
2026-08-15 18:00:03.054714: Today's predicted so far 10.74kWh with 0.0kWh car/iBoost excluded, 20.77kWh import ignored, and 10.74kWh forecast extra.
2026-08-15 18:00:03.054769: Today's actual load so far 9.19kWh with 0.0kWh car/iBoost excluded, and 20.77kWh import ignored.
2026-08-15 18:00:03.100572: Inverter 0: Type SK Sunsynk
2026-08-15 18:00:03.100662: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 18:00:03.100843: Reserve min: 7%, battery_min: 7%
2026-08-15 18:00:03.100913: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 18:00:03.101243: Inverter 0 SoC: 15.36kW 96%, current charge rate 5000W, current discharge rate 5250W, current battery power 268W, current battery voltage 51.2V, grid power -54W, load power 332W, PV Power 0W
2026-08-15 18:00:03.101439: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 18:00:03.101529: Inverter 0 scheduled charge enable is False
2026-08-15 18:00:03.101558: Inverter 0 charge windows currently []
2026-08-15 18:00:03.101583: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 18:00:03.101696: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 18:00:03.101732: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 18:00:03.101767: Inverter 0 scheduled discharge enable is False
2026-08-15 18:00:03.101934: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 18:00:03.101980: Inverter 0 discharge windows currently []
2026-08-15 18:00:03.102003: Note: Inverter does not support discharge freeze - disabled
2026-08-15 18:00:03.102026: Note: Inverter does not support charge freeze - disabled
2026-08-15 18:00:03.102072: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 18:00:03.191295: Dynamic load last period 0.00kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 18:00:03.191456: Plan was last updated on 2026-08-15 17:55:00+01:00 and is now 5.0 minutes old
2026-08-15 18:00:03.192093: Best charge window [ 16-08 11:00:00 - 16-08 12:30:00 @ 23.65p 16%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 31%, 16-08 13:30:00 - 16-08 15:00:00 @ 21.91p 100%, 16-08 15:00:00 - 16-08 16:00:00 @ 22.89p 75%, 17-08 12:30:00 - 17-08 18:00:00 @ 40.7p 100% ]
2026-08-15 18:00:03.192319: Best export window [  ]
2026-08-15 18:00:03.193906: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 18:00:03.199808: Load divergence over 8.0 hours mean 666.85W, min 304.2W, max 1953.0W, std dev 416.71W, divergence 31.24%
2026-08-15 18:00:03.231872: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 18:00:03.232054: LoadML is_calculating False
2026-08-15 18:00:03.232332: Creating pool of 12 processes to match your CPU count
2026-08-15 18:00:03.387459: predict base end_record 08-17 12:35:00, final soc 1.12kWh, metric 1102.89p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 13:20:00, load 37.46kWh, PV 0.0kWh
2026-08-15 18:00:03.545144: Battery has 19.33 hours left - now at 15.36kWh
2026-08-15 18:00:03.602965: predict base10 end_record 08-17 12:35:00, final soc 1.12kWh, metric 1137.91p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 12:35:00, load 38.81kWh, PV 0.0kWh
2026-08-15 18:00:03.699223: predict best10 end_record 08-17 12:35:00, final soc 1.44kWh, metric 1078.58p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 06:10:00, load 38.81kWh, PV 0.0kWh
2026-08-15 18:00:03.793154: predict best end_record 08-17 12:35:00, final soc 1.51kWh, metric 1045.57p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 07:10:00, load 37.46kWh, PV 0.0kWh
2026-08-15 18:00:03.793272: Saving plan best values to HA entities
2026-08-15 18:00:03.975451: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 18:00:03.982125: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 18:00:03.989143: Best charging limit SoC's [2.5, 5.0, 16.0, 12.0, 16.0]kWh, export []kWh gives import battery 13.54kWh, house 3.31kWh, export 0.0kWh, metric 1045.57p, metric10 1078.58p
2026-08-15 18:00:04.099233: Marginal costs baseline metric (no standing charge): 945.6028
2026-08-15 18:00:04.436216: Marginal energy costs matrix computed: min=25.11 max=33.97
2026-08-15 18:00:04.526867: Rate array import [{'start': 1080, 'end': 1140, 'rate': 'very expensive', 'range': '(41.5p - 43.8p)'}, {'start': 1140, 'end': 1410, 'rate': 'expensive', 'range': '(29.8p - 32.9p)'}, {'start': 1410, 'end': 2400, 'rate': 'cheap', 'range': '(21.4p - 28.2p)'}, {'start': 2400, 'end': 2430, 'rate': 'expensive', 'range': '(36.8p)'}, {'start': 2430, 'end': 2580, 'rate': 'very expensive', 'range': '(37.5p - 45.3p)'}, {'start': 2580, 'end': 2850, 'rate': 'expensive', 'range': '(30.0p - 35.9p)'}, {'start': 2850, 'end': 3635, 'rate': 'cheap', 'range': '(22.3p - 28.2p)'}] export [{'start': 1080, 'end': 3635, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 18:00:04.527697: - Your estimated bill for today is £5.66 and tomorrow is £3.38
2026-08-15 18:00:04.527745: - Import rates are very expensive (41.5p - 43.8p) for the next 1 hour and then expensive (29.8p - 32.9p) for the next 4 and a half hours.
2026-08-15 18:00:04.527768: - The battery is currently at 96% and is in eco mode for the next 17 hours.
2026-08-15 18:00:04.527786: - For the next 48 hours there will be no solar generation.
2026-08-15 18:00:04.527804: - You will run out of battery in 37 hours.
2026-08-15 18:00:04.527821: - Your next charge slot will be in 17 hours where import rates will be cheap (24.3p).
2026-08-15 18:00:04.527843: 
2026-08-15 18:00:04.600853: Plan calculation took 1.41 seconds
2026-08-15 18:00:04.605549: No high rate period found
2026-08-15 18:00:04.667956: Import threshold used for optimisation was 24.28p
2026-08-15 18:00:04.745997: Low import rate windows [0: 08-15 18:00:00 - 08-15 18:30:00 @ 41.55, 1: 08-15 18:30:00 - 08-15 19:00:00 @ 43.82, 2: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 3: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 4: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 5: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 6: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 7: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 8: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 9: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 10: 08-15 23:00:00 - 08-15 23:30:00 @ 30.02, 11: 08-15 23:30:00 - 08-16 00:00:00 @ 27.8, 12: 08-16 00:00:00 - 08-16 00:30:00 @ 28.18, 13: 08-16 00:30:00 - 08-16 01:00:00 @ 27.38, 14: 08-16 01:00:00 - 08-16 01:30:00 @ 26.7, 15: 08-16 01:30:00 - 08-16 02:00:00 @ 26.31, 16: 08-16 02:00:00 - 08-16 02:30:00 @ 25.79, 17: 08-16 02:30:00 - 08-16 03:00:00 @ 25.86, 18: 08-16 03:00:00 - 08-16 03:30:00 @ 26.13, 19: 08-16 03:30:00 - 08-16 04:00:00 @ 25.86, 20: 08-16 04:00:00 - 08-16 04:30:00 @ 26.27, 21: 08-16 04:30:00 - 08-16 05:00:00 @ 26.14, 22: 08-16 05:00:00 - 08-16 05:30:00 @ 27.03, 23: 08-16 05:30:00 - 08-16 06:00:00 @ 26.28, 24: 08-16 06:00:00 - 08-16 06:30:00 @ 25.68, 25: 08-16 06:30:00 - 08-16 07:00:00 @ 26.1, 26: 08-16 07:00:00 - 08-16 07:30:00 @ 24.28, 27: 08-16 07:30:00 - 08-16 08:00:00 @ 24.94, 28: 08-16 08:00:00 - 08-16 08:30:00 @ 24.06, 29: 08-16 08:30:00 - 08-16 09:00:00 @ 24.39, 30: 08-16 09:00:00 - 08-16 09:30:00 @ 24.66, 31: 08-16 09:30:00 - 08-16 10:00:00 @ 24.06, 32: 08-16 10:00:00 - 08-16 10:30:00 @ 25.5, 33: 08-16 10:30:00 - 08-16 11:00:00 @ 24.94, 34: 08-16 11:00:00 - 08-16 11:30:00 @ 24.25, 35: 08-16 11:30:00 - 08-16 12:00:00 @ 23.49, 36: 08-16 12:00:00 - 08-16 12:30:00 @ 23.43, 37: 08-16 12:30:00 - 08-16 13:00:00 @ 22.33, 38: 08-16 13:00:00 - 08-16 13:30:00 @ 22.76, 39: 08-16 13:30:00 - 08-16 14:00:00 @ 22.3, 40: 08-16 14:00:00 - 08-16 14:30:00 @ 21.41, 41: 08-16 14:30:00 - 08-16 15:00:00 @ 21.65, 42: 08-16 15:00:00 - 08-16 15:30:00 @ 22.95, 43: 08-16 15:30:00 - 08-16 16:00:00 @ 22.83, 44: 08-16 16:00:00 - 08-16 16:30:00 @ 36.84, 45: 08-16 16:30:00 - 08-16 17:00:00 @ 37.54, 46: 08-16 17:00:00 - 08-16 17:30:00 @ 41.79, 47: 08-16 17:30:00 - 08-16 18:00:00 @ 43.7, 48: 08-16 18:00:00 - 08-16 18:30:00 @ 44.34, 49: 08-16 19:00:00 - 08-16 19:30:00 @ 34.79, 50: 08-16 19:30:00 - 08-16 20:00:00 @ 34.76, 51: 08-16 20:00:00 - 08-16 20:30:00 @ 35.62, 52: 08-16 20:30:00 - 08-16 21:00:00 @ 35.3, 53: 08-16 21:00:00 - 08-16 21:30:00 @ 35.89, 54: 08-16 21:30:00 - 08-16 22:00:00 @ 35.71, 55: 08-16 22:00:00 - 08-16 22:30:00 @ 33.75, 56: 08-16 22:30:00 - 08-16 23:00:00 @ 32.0, 57: 08-16 23:00:00 - 08-16 23:30:00 @ 30.02, 58: 08-16 23:30:00 - 08-17 00:00:00 @ 27.8, 59: 08-17 00:00:00 - 08-17 00:30:00 @ 28.18, 60: 08-17 00:30:00 - 08-17 01:00:00 @ 27.38, 61: 08-17 01:00:00 - 08-17 01:30:00 @ 26.7, 62: 08-17 01:30:00 - 08-17 02:00:00 @ 26.31, 63: 08-17 02:00:00 - 08-17 02:30:00 @ 25.79, 64: 08-17 02:30:00 - 08-17 03:00:00 @ 25.86, 65: 08-17 03:00:00 - 08-17 03:30:00 @ 26.13, 66: 08-17 03:30:00 - 08-17 04:00:00 @ 25.86, 67: 08-17 04:00:00 - 08-17 04:30:00 @ 26.27, 68: 08-17 04:30:00 - 08-17 05:00:00 @ 26.14, 69: 08-17 05:00:00 - 08-17 05:30:00 @ 27.03, 70: 08-17 05:30:00 - 08-17 06:00:00 @ 26.28, 71: 08-17 06:00:00 - 08-17 06:30:00 @ 25.68, 72: 08-17 06:30:00 - 08-17 07:00:00 @ 26.1, 73: 08-17 07:00:00 - 08-17 07:30:00 @ 24.28, 74: 08-17 07:30:00 - 08-17 08:00:00 @ 24.94, 75: 08-17 08:00:00 - 08-17 08:30:00 @ 24.06, 76: 08-17 08:30:00 - 08-17 09:00:00 @ 24.39, 77: 08-17 09:00:00 - 08-17 09:30:00 @ 24.66, 78: 08-17 09:30:00 - 08-17 10:00:00 @ 24.06, 79: 08-17 10:00:00 - 08-17 10:30:00 @ 25.5, 80: 08-17 10:30:00 - 08-17 11:00:00 @ 24.94, 81: 08-17 11:00:00 - 08-17 11:30:00 @ 24.25, 82: 08-17 11:30:00 - 08-17 12:00:00 @ 23.49, 83: 08-17 12:00:00 - 08-17 12:30:00 @ 23.43, 84: 08-17 12:30:00 - 08-17 13:00:00 @ 22.33, 85: 08-17 13:00:00 - 08-17 13:30:00 @ 22.76, 86: 08-17 13:30:00 - 08-17 14:00:00 @ 22.3, 87: 08-17 14:00:00 - 08-17 14:30:00 @ 21.41, 88: 08-17 14:30:00 - 08-17 15:00:00 @ 21.65, 89: 08-17 15:00:00 - 08-17 15:30:00 @ 22.95, 90: 08-17 15:30:00 - 08-17 16:00:00 @ 22.83, 91: 08-17 16:00:00 - 08-17 16:30:00 @ 36.84, 92: 08-17 16:30:00 - 08-17 17:00:00 @ 37.54, 93: 08-17 17:00:00 - 08-17 17:30:00 @ 41.79, 94: 08-17 17:30:00 - 08-17 18:00:00 @ 43.7]
2026-08-15 18:00:04.759700: Inverter 0 Charge window will be: 2026-08-16 11:00:00+01:00 - 2026-08-16 16:00:00+01:00 - current SoC 96%, target 16%
2026-08-15 18:00:04.759979: Inverter 0 disabled charge window while waiting for schedule (now 08-15 18:00:00 target set_window_minutes 30 charge start time 08-16 11:00:00) original inverter start time 08-17 00:00:00
2026-08-15 18:00:04.760175: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 18:00:04.760660: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 18:00:04.761117: No export window planned
2026-08-15 18:00:04.761392: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 18:00:04.761470: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 18:00:04.761782: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 18:00:04.762123: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 18:00:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 18:00:04.762240: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 18:00:04.762382: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 18:00:04.762579: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 18:00:04.762676: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 18:00:04.762737: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 18:00:04.762788: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 18:00:04.762873: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 18:00:04.762946: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 18:00:04.763009: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 18:00:04.763152: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 18:00:04.763239: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 18:00:04.763325: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 18:00:04.763398: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 18:00:04.763457: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 18:00:04.763512: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 18:00:04.763559: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 18:00:04.763597: Inverter 0 count register writes 0
2026-08-15 18:00:04.790053: Will not recompute the plan, it is 5.0 minutes old and max age is 10 minutes
2026-08-15 18:00:04.798086: Total inverter register writes now 826
2026-08-15 18:00:04.848912: Info: Completed run status Demand
2026-08-15 18:00:04.856355: Info: record_status Demand
2026-08-15 18:00:04.866865: Saved current settings to /config/predbat_config.json
2026-08-15 18:00:04.867184: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 18:00:41.999166: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 18:00:41.999432: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 18:00:41.999473: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 18:00:41.999648: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 18:00:41.999692: Note: Inverter does not support discharge freeze - disabled
2026-08-15 18:00:41.999714: Note: Inverter does not support charge freeze - disabled
2026-08-15 18:00:41.999732: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 18:02:35.061776: Info: HAHistory: Pruning history data started.
2026-08-15 18:02:35.065274: Info: HAHistory: Pruning history data completed.
2026-08-15 18:02:42.224013: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 18:02:42.224266: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 18:02:42.224304: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 18:02:42.224477: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 18:02:42.224516: Note: Inverter does not support discharge freeze - disabled
2026-08-15 18:02:42.224561: Note: Inverter does not support charge freeze - disabled
2026-08-15 18:02:42.224579: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 18:04:42.447177: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 18:04:42.447469: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 18:04:42.447532: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 18:04:42.447704: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 18:04:42.447743: Note: Inverter does not support discharge freeze - disabled
2026-08-15 18:04:42.447776: Note: Inverter does not support charge freeze - disabled
2026-08-15 18:04:42.447799: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 18:05:00.543537: --------------- PredBat - update at 2026-08-15 18:05:00+01:00 with clock skew 0 minutes, minutes now 1085
2026-08-15 18:05:00.544365: Saved current settings to /config/predbat_config.json
2026-08-15 18:05:00.544533: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 100.0 minutes
2026-08-15 18:05:00.544703: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.2, latest beta is v8.48.2
2026-08-15 18:05:00.544814: Autoupdate: There is an update pending v8.48.2 PV90 and second pass enabled by default, bug fixes - auto update is off
2026-08-15 18:05:00.581034: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 18:05:00.581175: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 18:05:00.581363: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 18:05:00.581901: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 18:05:00.582020: Predbat mode is set to Control charge & discharge
2026-08-15 18:05:00.867353: Found 21602 load_today datapoints going back 27 days
2026-08-15 18:05:00.867568: Using load_power data to fill gaps in load_today data
2026-08-15 18:05:01.766892: Processing 721 30-minute periods for power integration
2026-08-15 18:05:01.973569: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 18:05:01.973719: Car charging hold False, threshold 6.0kWh
2026-08-15 18:05:01.973768: Current data so far today: load 9.1kWh, import 27.6kWh, export 0.0kWh, PV 0kWh
2026-08-15 18:05:01.992761: Cars: SoC: [10.548]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 18:05:01.993333: Standing charge is set to 49.98p
2026-08-15 18:05:02.061847: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 18:05:02.061959: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 18:05:02.062158: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 445.0 minutes
2026-08-15 18:05:02.062565: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 445.0 minutes
2026-08-15 18:05:02.068497: Loaded 95 datapoints of futurerate analysis
2026-08-15 18:05:02.223643: Predicted future rates: ['08-15 00:00:00 => 28.69 / 20.01', '08-15 01:00:00 => 27.33 / 19.31', '08-15 02:00:00 => 26.31 / 18.8', '08-15 03:00:00 => 25.78 / 18.53', '08-15 04:00:00 => 25.59 / 18.43', '08-15 05:00:00 => 25.75 / 18.51', '08-15 06:00:00 => 25.34 / 18.3', '08-15 07:00:00 => 24.12 / 17.68', '08-15 08:00:00 => 22.82 / 17.01', '08-15 09:00:00 => 21.84 / 16.51', '08-15 10:00:00 => 20.22 / 15.68', '08-15 11:00:00 => 17.8 / 14.45', '08-15 12:00:00 => 16.16 / 13.61', '08-15 13:00:00 => 15.55 / 13.3', '08-15 14:00:00 => 15.14 / 13.09', '08-15 15:00:00 => 15.65 / 13.35', '08-15 16:00:00 => 32.68 / 16.13', '08-15 17:00:00 => 37.81 / 18.75', '08-15 18:00:00 => 42.15 / 20.96', '08-15 19:00:00 => 30.88 / 21.13', '08-15 20:00:00 => 31.43 / 21.41', '08-15 21:00:00 => 31.43 / 21.41', '08-15 22:00:00 => 30.37 / 20.87', '08-15 23:00:00 => 29.16 / 20.25', '08-16 00:00:00 => 28.62 / 19.97', '08-16 01:00:00 => 27.52 / 19.41', '08-16 02:00:00 => 26.55 / 18.92', '08-16 03:00:00 => 26.18 / 18.73', '08-16 04:00:00 => 26.12 / 18.7', '08-16 05:00:00 => 26.02 / 18.65', '08-16 06:00:00 => 25.78 / 18.53', '08-16 07:00:00 => 25.43 / 18.35', '08-16 08:00:00 => 24.63 / 17.94', '08-16 09:00:00 => 24.05 / 17.64', '08-16 10:00:00 => 24.59 / 17.92', '08-16 11:00:00 => 24.5 / 17.87', '08-16 12:00:00 => 23.58 / 17.4', '08-16 13:00:00 => 22.93 / 17.07', '08-16 14:00:00 => 21.8 / 16.49', '08-16 15:00:00 => 21.8 / 16.49', '08-16 16:00:00 => 36.93 / 18.3', '08-16 17:00:00 => 39.92 / 19.83']
2026-08-15 18:05:02.260779: Rate min forward looking: now 21.41p at end of forecast 21.41p
2026-08-15 18:05:02.261121: Import rates: min 21.41p, max 45.28p, average 28.45p
2026-08-15 18:05:02.296284: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 18:05:02.296398: Rate thresholds (for charge/export) are import 44.78p (0.0p), export -0.1p (0.0p)
2026-08-15 18:05:02.297614: High export rate found rates in range 99p to -99p
2026-08-15 18:05:02.379329: Low Import rate found rates in range 21.41p to 44.34p
2026-08-15 18:05:02.379447: Car 0 charging is not planned as it is not plugged in
2026-08-15 18:05:02.394436: Battery level now 15.36kWh, -1hr ago 15.68kWh, at midnight 1.66kWh, battery value change in the last hour -5.89p, change today 252.06p, rate_forward 18.39p
2026-08-15 18:05:02.395061: Last hour: net energy 0.01kWh, import 0.01kWh, export 0.0kWh, car 0kWh, load 0.25kWh, net cost 0.55p, import 0.55p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 18:05:02.477272: Today's energy total net 27.6kWh, import 27.6kWh, export 0.0kWh, cost 566.08p, import 516.09p, export 0.0p, carbon 0.0kg
2026-08-15 18:05:02.477487: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 18:05:02.584041: Using weighted-bucket historical load forecast over 14 days
2026-08-15 18:05:02.616054: Today's load divergence 88.63%, in-day adjustment 102.65%, damping 0.95x, yesterday 143.77% today 89.2% blend 24.65%
2026-08-15 18:05:02.616154: Today's predicted so far 10.83kWh with 0.0kWh car/iBoost excluded, 20.86kWh import ignored, and 10.83kWh forecast extra.
2026-08-15 18:05:02.616189: Today's actual load so far 9.27kWh with 0.0kWh car/iBoost excluded, and 20.86kWh import ignored.
2026-08-15 18:05:02.656736: Inverter 0: Type SK Sunsynk
2026-08-15 18:05:02.656832: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 18:05:02.657077: Reserve min: 7%, battery_min: 7%
2026-08-15 18:05:02.657169: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 18:05:02.657479: Inverter 0 SoC: 15.36kW 96%, current charge rate 5000W, current discharge rate 5250W, current battery power 315W, current battery voltage 51.2V, grid power -54W, load power 375W, PV Power 0W
2026-08-15 18:05:02.657644: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 18:05:02.657729: Inverter 0 scheduled charge enable is False
2026-08-15 18:05:02.657765: Inverter 0 charge windows currently []
2026-08-15 18:05:02.657792: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 18:05:02.657902: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 18:05:02.657941: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 18:05:02.658001: Inverter 0 scheduled discharge enable is False
2026-08-15 18:05:02.658205: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 18:05:02.658252: Inverter 0 discharge windows currently []
2026-08-15 18:05:02.658298: Note: Inverter does not support discharge freeze - disabled
2026-08-15 18:05:02.658339: Note: Inverter does not support charge freeze - disabled
2026-08-15 18:05:02.658358: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 18:05:02.752112: Dynamic load last period 0.00kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 18:05:02.752232: Plan was last updated on 2026-08-15 17:55:00+01:00 and is now 10.0 minutes old
2026-08-15 18:05:02.752507: Best charge window [ 16-08 11:00:00 - 16-08 12:30:00 @ 23.65p 16%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 31%, 16-08 13:30:00 - 16-08 15:00:00 @ 21.91p 100%, 16-08 15:00:00 - 16-08 16:00:00 @ 22.89p 75%, 17-08 12:30:00 - 17-08 18:00:00 @ 40.7p 100% ]
2026-08-15 18:05:02.752554: Best export window [  ]
2026-08-15 18:05:02.753393: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 18:05:02.756851: Load divergence over 8.0 hours mean 668.22W, min 334.8W, max 2423.4W, std dev 452.94W, divergence 33.89%
2026-08-15 18:05:02.775728: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 18:05:02.775850: LoadML is_calculating False
2026-08-15 18:05:02.775914: Creating pool of 12 processes to match your CPU count
2026-08-15 18:05:02.893333: predict base end_record 08-17 12:40:00, final soc 1.12kWh, metric 1102.31p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 13:25:00, load 37.45kWh, PV 0.0kWh
2026-08-15 18:05:03.025688: Battery has 19.33 hours left - now at 15.36kWh
2026-08-15 18:05:03.077630: predict base10 end_record 08-17 12:40:00, final soc 1.12kWh, metric 1137.32p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 12:40:00, load 38.8kWh, PV 0.0kWh
2026-08-15 18:05:03.160940: predict best10 end_record 08-17 12:40:00, final soc 1.77kWh, metric 1085.87p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 06:10:00, load 38.8kWh, PV 0.0kWh
2026-08-15 18:05:03.241273: predict best end_record 08-17 12:40:00, final soc 1.9kWh, metric 1054.33p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 07:10:00, load 37.45kWh, PV 0.0kWh
2026-08-15 18:05:03.241370: Saving plan best values to HA entities
2026-08-15 18:05:03.427517: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 18:05:03.433069: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0.0
2026-08-15 18:05:03.438557: Best charging limit SoC's [2.5, 5.0, 16.0, 12.0, 16.0]kWh, export []kWh gives import battery 13.96kWh, house 3.28kWh, export 0.0kWh, metric 1054.33p, metric10 1085.87p
2026-08-15 18:05:03.525748: Marginal costs baseline metric (no standing charge): 954.3645
2026-08-15 18:05:03.870781: Marginal energy costs matrix computed: min=25.0 max=33.63
2026-08-15 18:05:03.969739: Rate array import [{'start': 1085, 'end': 1140, 'rate': 'very expensive', 'range': '(41.5p - 43.8p)'}, {'start': 1140, 'end': 1410, 'rate': 'expensive', 'range': '(29.8p - 32.9p)'}, {'start': 1410, 'end': 2400, 'rate': 'cheap', 'range': '(21.4p - 28.2p)'}, {'start': 2400, 'end': 2430, 'rate': 'expensive', 'range': '(36.8p)'}, {'start': 2430, 'end': 2580, 'rate': 'very expensive', 'range': '(37.5p - 45.3p)'}, {'start': 2580, 'end': 2850, 'rate': 'expensive', 'range': '(30.0p - 35.9p)'}, {'start': 2850, 'end': 3640, 'rate': 'cheap', 'range': '(22.3p - 28.2p)'}] export [{'start': 1085, 'end': 3640, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 18:05:03.970581: - Your estimated bill for today is £5.66 and tomorrow is £3.37
2026-08-15 18:05:03.970628: - Import rates are very expensive (41.5p - 43.8p) for the next 55 minutes and then expensive (29.8p - 32.9p) for the next 4 and a half hours.
2026-08-15 18:05:03.970652: - The battery is currently at 96% and is in eco mode for the next 16 hours.
2026-08-15 18:05:03.970670: - For the next 48 hours there will be no solar generation.
2026-08-15 18:05:03.970708: - You will run out of battery in 37 hours.
2026-08-15 18:05:03.970732: - Your next charge slot will be in 16 hours where import rates will be cheap (24.3p).
2026-08-15 18:05:03.970750: 
2026-08-15 18:05:04.048236: Plan calculation took 1.30 seconds
2026-08-15 18:05:04.055248: No high rate period found
2026-08-15 18:05:04.129355: Import threshold used for optimisation was 24.28p
2026-08-15 18:05:04.182382: Low import rate windows [0: 08-15 18:00:00 - 08-15 18:30:00 @ 41.55, 1: 08-15 18:30:00 - 08-15 19:00:00 @ 43.82, 2: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 3: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 4: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 5: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 6: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 7: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 8: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 9: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 10: 08-15 23:00:00 - 08-15 23:30:00 @ 30.02, 11: 08-15 23:30:00 - 08-16 00:00:00 @ 27.8, 12: 08-16 00:00:00 - 08-16 00:30:00 @ 28.18, 13: 08-16 00:30:00 - 08-16 01:00:00 @ 27.38, 14: 08-16 01:00:00 - 08-16 01:30:00 @ 26.7, 15: 08-16 01:30:00 - 08-16 02:00:00 @ 26.31, 16: 08-16 02:00:00 - 08-16 02:30:00 @ 25.79, 17: 08-16 02:30:00 - 08-16 03:00:00 @ 25.86, 18: 08-16 03:00:00 - 08-16 03:30:00 @ 26.13, 19: 08-16 03:30:00 - 08-16 04:00:00 @ 25.86, 20: 08-16 04:00:00 - 08-16 04:30:00 @ 26.27, 21: 08-16 04:30:00 - 08-16 05:00:00 @ 26.14, 22: 08-16 05:00:00 - 08-16 05:30:00 @ 27.03, 23: 08-16 05:30:00 - 08-16 06:00:00 @ 26.28, 24: 08-16 06:00:00 - 08-16 06:30:00 @ 25.68, 25: 08-16 06:30:00 - 08-16 07:00:00 @ 26.1, 26: 08-16 07:00:00 - 08-16 07:30:00 @ 24.28, 27: 08-16 07:30:00 - 08-16 08:00:00 @ 24.94, 28: 08-16 08:00:00 - 08-16 08:30:00 @ 24.06, 29: 08-16 08:30:00 - 08-16 09:00:00 @ 24.39, 30: 08-16 09:00:00 - 08-16 09:30:00 @ 24.66, 31: 08-16 09:30:00 - 08-16 10:00:00 @ 24.06, 32: 08-16 10:00:00 - 08-16 10:30:00 @ 25.5, 33: 08-16 10:30:00 - 08-16 11:00:00 @ 24.94, 34: 08-16 11:00:00 - 08-16 11:30:00 @ 24.25, 35: 08-16 11:30:00 - 08-16 12:00:00 @ 23.49, 36: 08-16 12:00:00 - 08-16 12:30:00 @ 23.43, 37: 08-16 12:30:00 - 08-16 13:00:00 @ 22.33, 38: 08-16 13:00:00 - 08-16 13:30:00 @ 22.76, 39: 08-16 13:30:00 - 08-16 14:00:00 @ 22.3, 40: 08-16 14:00:00 - 08-16 14:30:00 @ 21.41, 41: 08-16 14:30:00 - 08-16 15:00:00 @ 21.65, 42: 08-16 15:00:00 - 08-16 15:30:00 @ 22.95, 43: 08-16 15:30:00 - 08-16 16:00:00 @ 22.83, 44: 08-16 16:00:00 - 08-16 16:30:00 @ 36.84, 45: 08-16 16:30:00 - 08-16 17:00:00 @ 37.54, 46: 08-16 17:00:00 - 08-16 17:30:00 @ 41.79, 47: 08-16 17:30:00 - 08-16 18:00:00 @ 43.7, 48: 08-16 18:00:00 - 08-16 18:30:00 @ 44.34, 49: 08-16 19:00:00 - 08-16 19:30:00 @ 34.79, 50: 08-16 19:30:00 - 08-16 20:00:00 @ 34.76, 51: 08-16 20:00:00 - 08-16 20:30:00 @ 35.62, 52: 08-16 20:30:00 - 08-16 21:00:00 @ 35.3, 53: 08-16 21:00:00 - 08-16 21:30:00 @ 35.89, 54: 08-16 21:30:00 - 08-16 22:00:00 @ 35.71, 55: 08-16 22:00:00 - 08-16 22:30:00 @ 33.75, 56: 08-16 22:30:00 - 08-16 23:00:00 @ 32.0, 57: 08-16 23:00:00 - 08-16 23:30:00 @ 30.02, 58: 08-16 23:30:00 - 08-17 00:00:00 @ 27.8, 59: 08-17 00:00:00 - 08-17 00:30:00 @ 28.18, 60: 08-17 00:30:00 - 08-17 01:00:00 @ 27.38, 61: 08-17 01:00:00 - 08-17 01:30:00 @ 26.7, 62: 08-17 01:30:00 - 08-17 02:00:00 @ 26.31, 63: 08-17 02:00:00 - 08-17 02:30:00 @ 25.79, 64: 08-17 02:30:00 - 08-17 03:00:00 @ 25.86, 65: 08-17 03:00:00 - 08-17 03:30:00 @ 26.13, 66: 08-17 03:30:00 - 08-17 04:00:00 @ 25.86, 67: 08-17 04:00:00 - 08-17 04:30:00 @ 26.27, 68: 08-17 04:30:00 - 08-17 05:00:00 @ 26.14, 69: 08-17 05:00:00 - 08-17 05:30:00 @ 27.03, 70: 08-17 05:30:00 - 08-17 06:00:00 @ 26.28, 71: 08-17 06:00:00 - 08-17 06:30:00 @ 25.68, 72: 08-17 06:30:00 - 08-17 07:00:00 @ 26.1, 73: 08-17 07:00:00 - 08-17 07:30:00 @ 24.28, 74: 08-17 07:30:00 - 08-17 08:00:00 @ 24.94, 75: 08-17 08:00:00 - 08-17 08:30:00 @ 24.06, 76: 08-17 08:30:00 - 08-17 09:00:00 @ 24.39, 77: 08-17 09:00:00 - 08-17 09:30:00 @ 24.66, 78: 08-17 09:30:00 - 08-17 10:00:00 @ 24.06, 79: 08-17 10:00:00 - 08-17 10:30:00 @ 25.5, 80: 08-17 10:30:00 - 08-17 11:00:00 @ 24.94, 81: 08-17 11:00:00 - 08-17 11:30:00 @ 24.25, 82: 08-17 11:30:00 - 08-17 12:00:00 @ 23.49, 83: 08-17 12:00:00 - 08-17 12:30:00 @ 23.43, 84: 08-17 12:30:00 - 08-17 13:00:00 @ 22.33, 85: 08-17 13:00:00 - 08-17 13:30:00 @ 22.76, 86: 08-17 13:30:00 - 08-17 14:00:00 @ 22.3, 87: 08-17 14:00:00 - 08-17 14:30:00 @ 21.41, 88: 08-17 14:30:00 - 08-17 15:00:00 @ 21.65, 89: 08-17 15:00:00 - 08-17 15:30:00 @ 22.95, 90: 08-17 15:30:00 - 08-17 16:00:00 @ 22.83, 91: 08-17 16:00:00 - 08-17 16:30:00 @ 36.84, 92: 08-17 16:30:00 - 08-17 17:00:00 @ 37.54, 93: 08-17 17:00:00 - 08-17 17:30:00 @ 41.79, 94: 08-17 17:30:00 - 08-17 18:00:00 @ 43.7, 95: 08-17 18:00:00 - 08-17 18:30:00 @ 44.34]
2026-08-15 18:05:04.189515: Inverter 0 Charge window will be: 2026-08-16 11:00:00+01:00 - 2026-08-16 16:00:00+01:00 - current SoC 96%, target 16%
2026-08-15 18:05:04.189658: Inverter 0 disabled charge window while waiting for schedule (now 08-15 18:05:00 target set_window_minutes 30 charge start time 08-16 11:00:00) original inverter start time 08-17 00:00:00
2026-08-15 18:05:04.189774: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 18:05:04.190055: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 18:05:04.190180: No export window planned
2026-08-15 18:05:04.190329: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 18:05:04.190371: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 18:05:04.190513: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 18:05:04.190702: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 18:05:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 18:05:04.190765: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 18:05:04.190832: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 18:05:04.190933: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 18:05:04.190975: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 18:05:04.191005: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 18:05:04.191040: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 18:05:04.191065: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 18:05:04.191089: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 18:05:04.191114: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 18:05:04.191174: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 18:05:04.191203: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 18:05:04.191228: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 18:05:04.191275: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 18:05:04.191315: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 18:05:04.191349: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 18:05:04.191374: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 18:05:04.191395: Inverter 0 count register writes 0
2026-08-15 18:05:04.207051: Will recompute the plan as it is now 10.0 minutes old and will exceed the max age of 10 minutes before the next run
2026-08-15 18:05:04.207197: Recompute is saving previous plan...
2026-08-15 18:05:04.209816: Best charge window [ 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 0%, 15-08 18:30:00 - 15-08 19:00:00 @ 43.82p 0%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 0%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 0%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 0%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 0%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 30.02p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 27.8p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.18p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.38p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 26.7p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.31p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.79p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 25.86p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.13p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 25.86p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.27p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.14p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 27.03p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.28p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.68p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 26.1p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 24.28p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 24.94p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.06p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.39p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.66p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.06p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 25.5p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 24.94p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 24.25p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 23.49p 0%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.43p 0%, 16-08 12:30:00 - 16-08 13:00:00 @ 22.33p 0%, 16-08 13:00:00 - 16-08 13:30:00 @ 22.76p 0%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 0%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 0%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.65p 0%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.95p 0%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.83p 0%, 16-08 16:00:00 - 16-08 16:30:00 @ 36.84p 0%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.54p 0%, 16-08 17:00:00 - 16-08 17:30:00 @ 41.79p 0%, 16-08 17:30:00 - 16-08 18:00:00 @ 43.7p 0%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.34p 0%, 16-08 19:00:00 - 16-08 19:30:00 @ 34.79p 0%, 16-08 19:30:00 - 16-08 20:00:00 @ 34.76p 0%, 16-08 20:00:00 - 16-08 20:30:00 @ 35.62p 0%, 16-08 20:30:00 - 16-08 21:00:00 @ 35.3p 0%, 16-08 21:00:00 - 16-08 21:30:00 @ 35.89p 0%, 16-08 21:30:00 - 16-08 22:00:00 @ 35.71p 0%, 16-08 22:00:00 - 16-08 22:30:00 @ 33.75p 0%, 16-08 22:30:00 - 16-08 23:00:00 @ 32.0p 0%, 16-08 23:00:00 - 16-08 23:30:00 @ 30.02p 0%, 16-08 23:30:00 - 17-08 00:00:00 @ 27.8p 0%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.18p 0%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.38p 0%, 17-08 01:00:00 - 17-08 01:30:00 @ 26.7p 0%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.31p 0%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.79p 0%, 17-08 02:30:00 - 17-08 03:00:00 @ 25.86p 0%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.13p 0%, 17-08 03:30:00 - 17-08 04:00:00 @ 25.86p 0%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.27p 0%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.14p 0%, 17-08 05:00:00 - 17-08 05:30:00 @ 27.03p 0%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.28p 0%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.68p 0%, 17-08 06:30:00 - 17-08 07:00:00 @ 26.1p 0%, 17-08 07:00:00 - 17-08 07:30:00 @ 24.28p 0%, 17-08 07:30:00 - 17-08 08:00:00 @ 24.94p 0%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.06p 0%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.39p 0%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.66p 0%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.06p 0%, 17-08 10:00:00 - 17-08 10:30:00 @ 25.5p 0%, 17-08 10:30:00 - 17-08 11:00:00 @ 24.94p 0%, 17-08 11:00:00 - 17-08 11:30:00 @ 24.25p 0%, 17-08 11:30:00 - 17-08 12:00:00 @ 23.49p 0%, 17-08 12:00:00 - 17-08 12:30:00 @ 23.43p 0%, 17-08 12:30:00 - 17-08 13:00:00 @ 22.33p 0%, 17-08 13:00:00 - 17-08 13:30:00 @ 22.76p 0%, 17-08 13:30:00 - 17-08 14:00:00 @ 22.3p 0%, 17-08 14:00:00 - 17-08 14:30:00 @ 21.41p 0%, 17-08 14:30:00 - 17-08 15:00:00 @ 21.65p 0%, 17-08 15:00:00 - 17-08 15:30:00 @ 22.95p 0%, 17-08 15:30:00 - 17-08 16:00:00 @ 22.83p 0%, 17-08 16:00:00 - 17-08 16:30:00 @ 36.84p 0%, 17-08 16:30:00 - 17-08 17:00:00 @ 37.54p 0%, 17-08 17:00:00 - 17-08 17:30:00 @ 41.79p 0%, 17-08 17:30:00 - 17-08 18:00:00 @ 43.7p 0%, 17-08 18:00:00 - 17-08 18:30:00 @ 44.34p 0% ]
2026-08-15 18:05:04.209889: Best export window [  ]
2026-08-15 18:05:04.210544: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 18:05:04.213090: Load divergence over 8.0 hours mean 668.22W, min 334.8W, max 2423.4W, std dev 452.94W, divergence 33.89%
2026-08-15 18:05:04.226682: Calculating data from yesterday for savings calculation
2026-08-15 18:05:04.237347: Yesterday basic charge window best: [{'start': 840, 'end': 870, 'average': 21.7}] charge limit best: [16.0] based on max charge slots 1
2026-08-15 18:05:04.274992: predict yesterday end_record 08-16 00:00:00, final soc 1.12kWh, metric 843.63p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 00:00:00, load 26.2kWh, PV 0.0kWh
2026-08-15 18:05:04.286182: predict yesterday10 end_record 08-16 00:00:00, final soc 1.12kWh, metric 847.91p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 00:00:00, load 26.2kWh, PV 0.0kWh
2026-08-15 18:05:04.302270: predict yesterday end_record 08-16 00:00:00, final soc 1.12kWh, metric 843.63p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 00:00:00, load 26.2kWh, PV 0.0kWh
2026-08-15 18:05:04.336029: Yesterday: Predbat disabled was £8.44 (adjusted £8.23) vs £7.38 (adjusted £7.05), saving £1.05 (adjusted £1.18) with import 26.54kWh, export 0.0kWh, battery_cycle 4.66kWh, start_soc 1.12kWh,  final_soc 1.12kWh and battery_value 20.6kWh
2026-08-15 18:05:04.410447: predict yesterday end_record 08-16 00:00:00, final soc 0.0kWh, metric 849.84p, metric_keep 0kWh, min_soc 0kWh @ 08-15 00:00:00, load 26.2kWh, PV 0.0kWh
2026-08-15 18:05:04.410567: Yesterday: No Battery/PV system cost predicted was £8.5 (adjusted £8.5) vs £7.38 (adjusted £7.05), saving £1.12 (adjusted £1.45) with import 26.2kWh, export 0kWh and battery_value 0.0kWh
2026-08-15 18:05:04.420091: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 18:05:04.420188: LoadML is_calculating False
2026-08-15 18:05:04.420252: Creating pool of 12 processes to match your CPU count
2026-08-15 18:05:04.505391: Calculate Best options: mode(Control charge & discharge), calculate_export_oncharge(False), calculate_export_on_pv(True), set_export_freeze_only(False), set_discharge_during_charge(True), combine_charge_slots(False), combine_export_slots(False), combine_rate_threshold(0.0), best_soc_min(0.0 kWh), best_soc_max(0.0 kWh), best_soc_keep(0.0 kWh), inverter_loss(4%), battery_loss(3%), battery_loss_discharge (3%), inverter_hybrid(True), metric_min_improvement(0.0p), metric_min_improvement_export(0.1p), metric_min_improvement_export_freeze(0.1p), metric_battery_cycle(0.0p/kWh), metric_battery_value_scaling(1.0 x) 
2026-08-15 18:05:04.507119: Optimise levels pass started at 2026-08-15 18:05:04
2026-08-15 18:05:04.507173: Optimise all windows, total charge 95 export 1
2026-08-15 18:05:05.627133: >> Region optimisation pass width 960 gives best_metric 1005.39p, best_cost 1019.21p, best_cycle 36.7kWh, best_import 20.0kWh
2026-08-15 18:05:06.046304: >> Region optimisation pass width 480 gives best_metric 1005.39p, best_cost 1019.21p, best_cycle 36.7kWh, best_import 20.0kWh
2026-08-15 18:05:07.122381: >> Region optimisation pass width 240 gives best_metric 1005.39p, best_cost 1019.21p, best_cycle 36.7kWh, best_import 20.0kWh
2026-08-15 18:05:09.639276: >> Region optimisation pass width 120 gives best_metric 1005.39p, best_cost 1019.21p, best_cycle 36.7kWh, best_import 20.0kWh
2026-08-15 18:05:09.639638: Calculated end_record as 08-17 12:30:00 based on best_price 22.33p, next_charge_start 08-16 12:30:00, max_windows 84
2026-08-15 18:05:09.639723: Optimise levels pass ended at 2026-08-15 18:05:09, duration 5.1 seconds tried 310 combinations
2026-08-15 18:05:09.639791: Set best_price_charge_level 24.0p, best_price_export_level 0p, best_price_charge 22.33p, best_cost_export 0p, best_metric 1005.39p, best_keep 0kWh, best_cycle 36.7kWh, best_carbon 0kg, best_import 20.0kWh
2026-08-15 18:05:09.660892: Starting detailed optimisation end_record 08-17 12:30:00, best_price_charge 22.33p, best_price_export 0p. lowest_price_charge 21.41p with charge limits [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 0, 16.0, 16.0, 16.0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0]kWh and export limits []kWh
2026-08-15 18:05:16.314809: Tweak plan optimisation started metric 916.97p, cost 932.16p
2026-08-15 18:05:16.542978: Tweak optimisation finished metric 916.97p, cost 932.16p, metric_keep 0kWh, cycle 31.46kWh, carbon 0kg, import 16.22kWh, changed 8 window(s)
2026-08-15 18:05:16.561221: Swap charge optimisation started metric 916.97p, cost 932.16p, min_improvement_swap 0.1p
2026-08-15 18:05:23.236042: Swap charge optimisation finished metric 916.97p, cost 932.16p
2026-08-15 18:05:23.340555: Pruned 1 dead plan slot(s) in 11 trial(s), nominal metric 911.56p -> 911.56p, plan now metric 916.97p, cost 932.16p, cycle 31.46kWh, import 16.22kWh
2026-08-15 18:05:23.350515: Raw charge windows [ 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 0%, 15-08 18:30:00 - 15-08 19:00:00 @ 43.82p 0%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 0%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 0%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 0%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 0%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 30.02p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 27.8p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.18p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.38p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 26.7p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.31p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.79p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 25.86p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.13p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 25.86p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.27p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.14p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 27.03p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.28p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.68p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 26.1p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 24.28p 34%, 16-08 07:30:00 - 16-08 08:00:00 @ 24.94p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.06p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.39p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.66p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.06p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 25.5p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 24.94p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 24.25p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 23.49p 19%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.43p 19%, 16-08 12:30:00 - 16-08 13:00:00 @ 22.33p 31%, 16-08 13:00:00 - 16-08 13:30:00 @ 22.76p 31%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 47%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 100%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.65p 100%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.95p 75%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.83p 75%, 16-08 16:00:00 - 16-08 16:30:00 @ 36.84p 0%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.54p 0%, 16-08 17:00:00 - 16-08 17:30:00 @ 41.79p 0%, 16-08 17:30:00 - 16-08 18:00:00 @ 43.7p 0%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.34p 0%, 16-08 19:00:00 - 16-08 19:30:00 @ 34.79p 0%, 16-08 19:30:00 - 16-08 20:00:00 @ 34.76p 0%, 16-08 20:00:00 - 16-08 20:30:00 @ 35.62p 0%, 16-08 20:30:00 - 16-08 21:00:00 @ 35.3p 0%, 16-08 21:00:00 - 16-08 21:30:00 @ 35.89p 0%, 16-08 21:30:00 - 16-08 22:00:00 @ 35.71p 0%, 16-08 22:00:00 - 16-08 22:30:00 @ 33.75p 0%, 16-08 22:30:00 - 16-08 23:00:00 @ 32.0p 0%, 16-08 23:00:00 - 16-08 23:30:00 @ 30.02p 0%, 16-08 23:30:00 - 17-08 00:00:00 @ 27.8p 0%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.18p 0%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.38p 0%, 17-08 01:00:00 - 17-08 01:30:00 @ 26.7p 0%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.31p 0%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.79p 0%, 17-08 02:30:00 - 17-08 03:00:00 @ 25.86p 0%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.13p 0%, 17-08 03:30:00 - 17-08 04:00:00 @ 25.86p 0%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.27p 0%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.14p 0%, 17-08 05:00:00 - 17-08 05:30:00 @ 27.03p 0%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.28p 0%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.68p 0%, 17-08 06:30:00 - 17-08 07:00:00 @ 26.1p 0%, 17-08 07:00:00 - 17-08 07:30:00 @ 24.28p 0%, 17-08 07:30:00 - 17-08 08:00:00 @ 24.94p 0%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.06p 0%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.39p 0%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.66p 0%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.06p 0%, 17-08 10:00:00 - 17-08 10:30:00 @ 25.5p 0%, 17-08 10:30:00 - 17-08 11:00:00 @ 24.94p 0%, 17-08 11:00:00 - 17-08 11:30:00 @ 24.25p 0%, 17-08 11:30:00 - 17-08 12:00:00 @ 23.49p 0%, 17-08 12:00:00 - 17-08 12:30:00 @ 23.43p 0%, 17-08 12:30:00 - 17-08 13:00:00 @ 22.33p 100%, 17-08 13:00:00 - 17-08 13:30:00 @ 22.76p 100%, 17-08 13:30:00 - 17-08 14:00:00 @ 22.3p 100%, 17-08 14:00:00 - 17-08 14:30:00 @ 21.41p 100%, 17-08 14:30:00 - 17-08 15:00:00 @ 21.65p 100%, 17-08 15:00:00 - 17-08 15:30:00 @ 22.95p 100%, 17-08 15:30:00 - 17-08 16:00:00 @ 22.83p 100%, 17-08 16:00:00 - 17-08 16:30:00 @ 36.84p 100%, 17-08 16:30:00 - 17-08 17:00:00 @ 37.54p 100%, 17-08 17:00:00 - 17-08 17:30:00 @ 41.79p 100%, 17-08 17:30:00 - 17-08 18:00:00 @ 43.7p 100%, 17-08 18:00:00 - 17-08 18:30:00 @ 44.34p 100% ] reserve 1.12
2026-08-15 18:05:23.350987: Unclipped charge windows [ 16-08 07:00:00 - 16-08 07:30:00 @ 24.28p 34%, 16-08 11:30:00 - 16-08 12:30:00 @ 23.46p 19%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 31%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 47%, 16-08 14:00:00 - 16-08 15:00:00 @ 21.53p 100%, 16-08 15:00:00 - 16-08 16:00:00 @ 22.89p 75%, 17-08 12:30:00 - 17-08 18:30:00 @ 42.52p 100% ] reserve 1.12
2026-08-15 18:05:23.351245: Unfiltered charge windows [ 16-08 07:00:00 - 16-08 07:30:00 @ 24.28p 34%, 16-08 11:30:00 - 16-08 12:30:00 @ 23.46p 19%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 31%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 47%, 16-08 14:00:00 - 16-08 15:00:00 @ 21.53p 100%, 16-08 15:00:00 - 16-08 16:00:00 @ 22.89p 75%, 17-08 12:30:00 - 17-08 18:30:00 @ 42.52p 100% ] reserve 1.12
2026-08-15 18:05:23.351472: Filtered charge windows [ 16-08 07:00:00 - 16-08 07:30:00 @ 24.28p 34%, 16-08 11:30:00 - 16-08 12:30:00 @ 23.46p 19%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 31%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 47%, 16-08 14:00:00 - 16-08 15:00:00 @ 21.53p 100%, 16-08 15:00:00 - 16-08 16:00:00 @ 22.89p 75%, 17-08 12:30:00 - 17-08 18:30:00 @ 42.52p 100% ] reserve 1.12
2026-08-15 18:05:23.382376: Previous plan best metric is 917.43 (cost 932.87) and new plan best metric is 916.97 (cost 932.16)
2026-08-15 18:05:23.382614: New plan metric is not significantly better (metric_min_improvement_plan 2.0) than previous plan, using previous plan
2026-08-15 18:05:23.382790: Plan valid is now true after recompute was False
2026-08-15 18:05:23.405806: predict base end_record 08-17 12:30:00, final soc 1.12kWh, metric 1099.43p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 13:25:00, load 37.32kWh, PV 0.0kWh
2026-08-15 18:05:23.505131: Battery has 19.33 hours left - now at 15.36kWh
2026-08-15 18:05:23.542047: predict base10 end_record 08-17 12:30:00, final soc 1.12kWh, metric 1134.3p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 12:40:00, load 38.67kWh, PV 0.0kWh
2026-08-15 18:05:23.604963: predict best10 end_record 08-17 12:30:00, final soc 1.12kWh, metric 1067.34p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 06:10:00, load 38.67kWh, PV 0.0kWh
2026-08-15 18:05:23.686863: predict best end_record 08-17 12:30:00, final soc 1.12kWh, metric 1032.84p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 07:10:00, load 37.32kWh, PV 0.0kWh
2026-08-15 18:05:23.686960: Saving plan best values to HA entities
2026-08-15 18:05:23.849216: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 18:05:23.853960: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0.0
2026-08-15 18:05:23.858526: Best charging limit SoC's [2.5, 5.0, 16.0, 12.0, 16.0]kWh, export []kWh gives import battery 13.0kWh, house 3.28kWh, export 0.0kWh, metric 1032.84p, metric10 1067.34p
2026-08-15 18:05:23.928467: Marginal costs baseline metric (no standing charge): 932.87
2026-08-15 18:05:24.149661: Marginal energy costs matrix computed: min=25.0 max=33.63
2026-08-15 18:05:24.222179: Rate array import [{'start': 1085, 'end': 1140, 'rate': 'very expensive', 'range': '(41.5p - 43.8p)'}, {'start': 1140, 'end': 1410, 'rate': 'expensive', 'range': '(29.8p - 32.9p)'}, {'start': 1410, 'end': 2400, 'rate': 'cheap', 'range': '(21.4p - 28.2p)'}, {'start': 2400, 'end': 2430, 'rate': 'expensive', 'range': '(36.8p)'}, {'start': 2430, 'end': 2580, 'rate': 'very expensive', 'range': '(37.5p - 45.3p)'}, {'start': 2580, 'end': 2850, 'rate': 'expensive', 'range': '(30.0p - 35.9p)'}, {'start': 2850, 'end': 3630, 'rate': 'cheap', 'range': '(23.4p - 28.2p)'}] export [{'start': 1085, 'end': 3630, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 18:05:24.222989: - Your estimated bill for today is £5.66 and tomorrow is £3.37
2026-08-15 18:05:24.223052: - Import rates are very expensive (41.5p - 43.8p) for the next 55 minutes and then expensive (29.8p - 32.9p) for the next 4 and a half hours.
2026-08-15 18:05:24.223073: - The battery is currently at 96% and is in eco mode for the next 16 hours.
2026-08-15 18:05:24.223088: - For the next 48 hours there will be no solar generation.
2026-08-15 18:05:24.223102: - You will run out of battery in 37 hours.
2026-08-15 18:05:24.223116: - Your next charge slot will be in 16 hours where import rates will be cheap (24.3p).
2026-08-15 18:05:24.223134: 
2026-08-15 18:05:24.291876: Plan calculation took 20.08 seconds
2026-08-15 18:05:24.292304: Inverter 0: Type SK Sunsynk
2026-08-15 18:05:24.292355: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 18:05:24.292589: Reserve min: 7%, battery_min: 7%
2026-08-15 18:05:24.292667: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 18:05:24.293055: Inverter 0 SoC: 15.36kW 96%, current charge rate 5000W, current discharge rate 5250W, current battery power 272W, current battery voltage 51.2V, grid power -54W, load power 334W, PV Power 0W
2026-08-15 18:05:24.293330: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 18:05:24.293442: Inverter 0 scheduled charge enable is False
2026-08-15 18:05:24.293476: Inverter 0 charge windows currently []
2026-08-15 18:05:24.293505: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 18:05:24.293618: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 18:05:24.293655: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 18:05:24.293690: Inverter 0 scheduled discharge enable is False
2026-08-15 18:05:24.293833: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 18:05:24.293873: Inverter 0 discharge windows currently []
2026-08-15 18:05:24.293895: Note: Inverter does not support discharge freeze - disabled
2026-08-15 18:05:24.293914: Note: Inverter does not support charge freeze - disabled
2026-08-15 18:05:24.293936: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 18:05:24.346111: Inverter 0 Charge window will be: 2026-08-16 11:00:00+01:00 - 2026-08-16 16:00:00+01:00 - current SoC 96%, target 16%
2026-08-15 18:05:24.346243: Inverter 0 disabled charge window while waiting for schedule (now 08-15 18:05:00 target set_window_minutes 30 charge start time 08-16 11:00:00) original inverter start time 08-17 00:00:00
2026-08-15 18:05:24.346328: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 18:05:24.346490: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 18:05:24.346558: No export window planned
2026-08-15 18:05:24.346649: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 18:05:24.346680: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 18:05:24.346787: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 18:05:24.346925: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 18:05:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 18:05:24.346969: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 18:05:24.347016: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 18:05:24.347096: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 18:05:24.347133: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 18:05:24.347157: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 18:05:24.347178: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 18:05:24.347198: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 18:05:24.347218: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 18:05:24.347248: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 18:05:24.347311: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 18:05:24.347341: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 18:05:24.347361: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 18:05:24.347380: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 18:05:24.347399: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 18:05:24.347424: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 18:05:24.347444: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 18:05:24.347461: Inverter 0 count register writes 0
2026-08-15 18:05:24.365998: Total inverter register writes now 826
2026-08-15 18:05:24.397409: Info: Completed run status Demand
2026-08-15 18:05:24.404625: Info: record_status Demand
2026-08-15 18:05:24.411882: Saved current settings to /config/predbat_config.json
2026-08-15 18:05:24.412215: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 18:05:56.517798: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 18:05:56.517994: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 18:05:56.518067: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 18:05:56.518239: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 18:05:56.518281: Note: Inverter does not support discharge freeze - disabled
2026-08-15 18:05:56.518311: Note: Inverter does not support charge freeze - disabled
2026-08-15 18:05:56.518327: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 18:07:56.728154: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 18:07:56.728413: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 18:07:56.728450: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 18:07:56.728605: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 18:07:56.728645: Note: Inverter does not support discharge freeze - disabled
2026-08-15 18:07:56.728666: Note: Inverter does not support charge freeze - disabled
2026-08-15 18:07:56.728684: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 18:09:53.636449: ML Component: Fetching 28 days of load history from ['sensor.sunsynk_day_load_energy']
2026-08-15 18:09:54.500001: Processing 1297 30-minute periods for power integration
2026-08-15 18:09:54.581622: ML Component: Car charging hold False, car energy reported load False
2026-08-15 18:09:54.659569: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 18:09:54.739598: ML Temperature data points: 47876
2026-08-15 18:09:54.953009: ML Component: Fetched 7776 load data points, 27.0 days of history
2026-08-15 18:09:54.988938: ML Component: Data fetch completed, load data age 57.0 days, 16482 data points
2026-08-15 18:09:54.989082: ML Component: No training needed, model age is 0.79 hours
2026-08-15 18:09:54.989135: ML Component: Generating predictions load data age 57.0 days, 16482 data points
2026-08-15 18:09:55.100462: ML Predictor: Starting autoregressive prediction loop for 576 steps (48.0 hours), prev_energy value 0.0267 max_dow {0: 0.09899687486626207, 1: 0.10616562486607581, 2: 0.12051249983031302, 3: 0.1227374996352941, 4: 0.1701437503574416, 5: 0.0974166672406925, 6: 0.11264999961592256}
2026-08-15 18:09:56.975982: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 18:09:56.976400: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 18:09:56.976550: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 18:09:56.976800: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 18:09:56.976923: Note: Inverter does not support discharge freeze - disabled
2026-08-15 18:09:56.977059: Note: Inverter does not support charge freeze - disabled
2026-08-15 18:09:56.977157: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 18:10:00.113652: --------------- PredBat - update at 2026-08-15 18:10:00+01:00 with clock skew 0 minutes, minutes now 1090
2026-08-15 18:10:00.114752: Saved current settings to /config/predbat_config.json
2026-08-15 18:10:00.115097: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 105.0 minutes
2026-08-15 18:10:00.115329: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.2, latest beta is v8.48.2
2026-08-15 18:10:00.115486: Autoupdate: There is an update pending v8.48.2 PV90 and second pass enabled by default, bug fixes - auto update is off
2026-08-15 18:10:00.143022: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 18:10:00.143182: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 18:10:00.143513: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 18:10:00.144184: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 18:10:00.144412: Predbat mode is set to Control charge & discharge
2026-08-15 18:10:00.585128: Found 21602 load_today datapoints going back 27 days
2026-08-15 18:10:00.601064: Using load_power data to fill gaps in load_today data
2026-08-15 18:10:02.309237: Processing 721 30-minute periods for power integration
2026-08-15 18:10:02.768470: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 18:10:02.781026: Car charging hold False, threshold 6.0kWh
2026-08-15 18:10:02.781108: Current data so far today: load 9.23kWh, import 27.6kWh, export 0.0kWh, PV 0kWh
2026-08-15 18:10:02.822426: Cars: SoC: [12.892000000000001]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 18:10:02.822952: Standing charge is set to 49.98p
2026-08-15 18:10:02.974015: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 18:10:02.974233: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 18:10:02.974579: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 450.0 minutes
2026-08-15 18:10:02.975156: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 450.0 minutes
2026-08-15 18:10:02.981558: Loaded 95 datapoints of futurerate analysis
2026-08-15 18:10:03.323378: Predicted future rates: ['08-15 00:00:00 => 28.69 / 20.01', '08-15 01:00:00 => 27.33 / 19.31', '08-15 02:00:00 => 26.31 / 18.8', '08-15 03:00:00 => 25.78 / 18.53', '08-15 04:00:00 => 25.59 / 18.43', '08-15 05:00:00 => 25.75 / 18.51', '08-15 06:00:00 => 25.34 / 18.3', '08-15 07:00:00 => 24.12 / 17.68', '08-15 08:00:00 => 22.82 / 17.01', '08-15 09:00:00 => 21.84 / 16.51', '08-15 10:00:00 => 20.22 / 15.68', '08-15 11:00:00 => 17.8 / 14.45', '08-15 12:00:00 => 16.16 / 13.61', '08-15 13:00:00 => 15.55 / 13.3', '08-15 14:00:00 => 15.14 / 13.09', '08-15 15:00:00 => 15.65 / 13.35', '08-15 16:00:00 => 32.68 / 16.13', '08-15 17:00:00 => 37.81 / 18.75', '08-15 18:00:00 => 42.15 / 20.96', '08-15 19:00:00 => 30.88 / 21.13', '08-15 20:00:00 => 31.43 / 21.41', '08-15 21:00:00 => 31.43 / 21.41', '08-15 22:00:00 => 30.37 / 20.87', '08-15 23:00:00 => 29.16 / 20.25', '08-16 00:00:00 => 28.62 / 19.97', '08-16 01:00:00 => 27.52 / 19.41', '08-16 02:00:00 => 26.55 / 18.92', '08-16 03:00:00 => 26.18 / 18.73', '08-16 04:00:00 => 26.12 / 18.7', '08-16 05:00:00 => 26.02 / 18.65', '08-16 06:00:00 => 25.78 / 18.53', '08-16 07:00:00 => 25.43 / 18.35', '08-16 08:00:00 => 24.63 / 17.94', '08-16 09:00:00 => 24.05 / 17.64', '08-16 10:00:00 => 24.59 / 17.92', '08-16 11:00:00 => 24.5 / 17.87', '08-16 12:00:00 => 23.58 / 17.4', '08-16 13:00:00 => 22.93 / 17.07', '08-16 14:00:00 => 21.8 / 16.49', '08-16 15:00:00 => 21.8 / 16.49', '08-16 16:00:00 => 36.93 / 18.3', '08-16 17:00:00 => 39.92 / 19.83']
2026-08-15 18:10:03.403390: Rate min forward looking: now 21.41p at end of forecast 21.41p
2026-08-15 18:10:03.403956: Import rates: min 21.41p, max 45.28p, average 28.45p
2026-08-15 18:10:03.507610: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 18:10:03.507787: Rate thresholds (for charge/export) are import 44.78p (0.0p), export -0.1p (0.0p)
2026-08-15 18:10:03.526343: High export rate found rates in range 99p to -99p
2026-08-15 18:10:03.838722: Low Import rate found rates in range 21.41p to 44.34p
2026-08-15 18:10:03.843405: Car 0 charging is not planned as it is not plugged in
2026-08-15 18:10:03.867454: Battery level now 15.36kWh, -1hr ago 15.68kWh, at midnight 1.66kWh, battery value change in the last hour -5.89p, change today 252.06p, rate_forward 18.39p
2026-08-15 18:10:03.868082: Last hour: net energy 0.01kWh, import 0.01kWh, export 0.0kWh, car 0kWh, load 0.35kWh, net cost 0.27p, import 0.27p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 18:10:04.054054: Today's energy total net 27.6kWh, import 27.6kWh, export 0.0kWh, cost 566.08p, import 516.09p, export 0.0p, carbon 0.0kg
2026-08-15 18:10:04.054240: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 18:10:04.269155: Using weighted-bucket historical load forecast over 14 days
2026-08-15 18:10:04.327729: Today's load divergence 89.0%, in-day adjustment 102.73%, damping 0.95x, yesterday 143.77% today 89.55% blend 24.31%
2026-08-15 18:10:04.327956: Today's predicted so far 10.84kWh with 0.0kWh car/iBoost excluded, 20.92kWh import ignored, and 10.84kWh forecast extra.
2026-08-15 18:10:04.328104: Today's actual load so far 9.33kWh with 0.0kWh car/iBoost excluded, and 20.92kWh import ignored.
2026-08-15 18:10:04.416892: Inverter 0: Type SK Sunsynk
2026-08-15 18:10:04.417013: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 18:10:04.417209: Reserve min: 7%, battery_min: 7%
2026-08-15 18:10:04.417418: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 18:10:04.417755: Inverter 0 SoC: 15.36kW 96%, current charge rate 5000W, current discharge rate 5250W, current battery power 274W, current battery voltage 51.2V, grid power -55W, load power 337W, PV Power 0W
2026-08-15 18:10:04.418603: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 18:10:04.418705: Inverter 0 scheduled charge enable is False
2026-08-15 18:10:04.418744: Inverter 0 charge windows currently []
2026-08-15 18:10:04.418863: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 18:10:04.419047: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 18:10:04.419094: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 18:10:04.419204: Inverter 0 scheduled discharge enable is False
2026-08-15 18:10:04.419401: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 18:10:04.419463: Inverter 0 discharge windows currently []
2026-08-15 18:10:04.419567: Note: Inverter does not support discharge freeze - disabled
2026-08-15 18:10:04.419604: Note: Inverter does not support charge freeze - disabled
2026-08-15 18:10:04.419660: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 18:10:04.524243: Dynamic load last period 0.30kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 18:10:04.524362: Plan was last updated on 2026-08-15 18:05:00+01:00 and is now 5.0 minutes old
2026-08-15 18:10:04.524627: Best charge window [ 16-08 11:00:00 - 16-08 12:30:00 @ 23.65p 16%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 31%, 16-08 13:30:00 - 16-08 15:00:00 @ 21.91p 100%, 16-08 15:00:00 - 16-08 16:00:00 @ 22.89p 75%, 17-08 12:30:00 - 17-08 18:00:00 @ 40.7p 100% ]
2026-08-15 18:10:04.524712: Best export window [  ]
2026-08-15 18:10:04.525531: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 18:10:04.528656: Load divergence over 8.0 hours mean 670.44W, min 333.0W, max 2447.4W, std dev 433.85W, divergence 32.36%
2026-08-15 18:10:04.547215: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 18:10:04.548049: LoadML is_calculating True
2026-08-15 18:10:04.548231: Not using thread pool as LoadML is calculating to avoid lockups
2026-08-15 18:10:04.586177: predict base end_record 08-17 12:35:00, final soc 1.12kWh, metric 1100.37p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 13:30:00, load 37.49kWh, PV 0.0kWh
2026-08-15 18:10:04.742595: Battery has 19.33 hours left - now at 15.36kWh
2026-08-15 18:10:04.805014: predict base10 end_record 08-17 12:35:00, final soc 1.12kWh, metric 1135.36p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 12:45:00, load 38.83kWh, PV 0.0kWh
2026-08-15 18:10:04.918234: predict best10 end_record 08-17 12:35:00, final soc 1.44kWh, metric 1075.9p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 06:10:00, load 38.83kWh, PV 0.0kWh
2026-08-15 18:10:04.974680: ML Component: Generated 576 predictions (total 27.42 kWh over 48h)
2026-08-15 18:10:05.041483: ML Component: Prediction cycle completed
2026-08-15 18:10:05.103579: predict best end_record 08-17 12:35:00, final soc 1.51kWh, metric 1043.09p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 07:10:00, load 37.49kWh, PV 0.0kWh
2026-08-15 18:10:05.103687: Saving plan best values to HA entities
2026-08-15 18:10:05.181843: ML Component: Saved 16482 steps (57 days) of history to /config/predbat_ml_history.npz
2026-08-15 18:10:05.299175: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 18:10:05.304703: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0.0
2026-08-15 18:10:05.310525: Best charging limit SoC's [2.5, 5.0, 16.0, 12.0, 16.0]kWh, export []kWh gives import battery 13.45kWh, house 3.29kWh, export 0.0kWh, metric 1043.09p, metric10 1075.9p
2026-08-15 18:10:05.385608: Marginal costs baseline metric (no standing charge): 943.1211
2026-08-15 18:10:05.652605: Marginal energy costs matrix computed: min=24.69 max=33.23
2026-08-15 18:10:05.726281: Rate array import [{'start': 1090, 'end': 1140, 'rate': 'very expensive', 'range': '(41.5p - 43.8p)'}, {'start': 1140, 'end': 1410, 'rate': 'expensive', 'range': '(29.8p - 32.9p)'}, {'start': 1410, 'end': 2400, 'rate': 'cheap', 'range': '(21.4p - 28.2p)'}, {'start': 2400, 'end': 2430, 'rate': 'expensive', 'range': '(36.8p)'}, {'start': 2430, 'end': 2580, 'rate': 'very expensive', 'range': '(37.5p - 45.3p)'}, {'start': 2580, 'end': 2850, 'rate': 'expensive', 'range': '(30.0p - 35.9p)'}, {'start': 2850, 'end': 3635, 'rate': 'cheap', 'range': '(22.3p - 28.2p)'}] export [{'start': 1090, 'end': 3635, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 18:10:05.726880: - Your estimated bill for today is £5.66 and tomorrow is £3.36
2026-08-15 18:10:05.726915: - Import rates are very expensive (41.5p - 43.8p) for the next 50 minutes and then expensive (29.8p - 32.9p) for the next 4 and a half hours.
2026-08-15 18:10:05.726934: - The battery is currently at 96% and is in eco mode for the next 16 hours.
2026-08-15 18:10:05.726949: - For the next 48 hours there will be no solar generation.
2026-08-15 18:10:05.726962: - You will run out of battery in 37 hours.
2026-08-15 18:10:05.726976: - Your next charge slot will be in 16 hours where import rates will be cheap (24.3p).
2026-08-15 18:10:05.726991: 
2026-08-15 18:10:05.768806: Plan calculation took 1.24 seconds
2026-08-15 18:10:05.772325: No high rate period found
2026-08-15 18:10:05.817155: Import threshold used for optimisation was 24.94p
2026-08-15 18:10:05.866660: Low import rate windows [0: 08-15 18:00:00 - 08-15 18:30:00 @ 41.55, 1: 08-15 18:30:00 - 08-15 19:00:00 @ 43.82, 2: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 3: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 4: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 5: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 6: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 7: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 8: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 9: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 10: 08-15 23:00:00 - 08-15 23:30:00 @ 30.02, 11: 08-15 23:30:00 - 08-16 00:00:00 @ 27.8, 12: 08-16 00:00:00 - 08-16 00:30:00 @ 28.18, 13: 08-16 00:30:00 - 08-16 01:00:00 @ 27.38, 14: 08-16 01:00:00 - 08-16 01:30:00 @ 26.7, 15: 08-16 01:30:00 - 08-16 02:00:00 @ 26.31, 16: 08-16 02:00:00 - 08-16 02:30:00 @ 25.79, 17: 08-16 02:30:00 - 08-16 03:00:00 @ 25.86, 18: 08-16 03:00:00 - 08-16 03:30:00 @ 26.13, 19: 08-16 03:30:00 - 08-16 04:00:00 @ 25.86, 20: 08-16 04:00:00 - 08-16 04:30:00 @ 26.27, 21: 08-16 04:30:00 - 08-16 05:00:00 @ 26.14, 22: 08-16 05:00:00 - 08-16 05:30:00 @ 27.03, 23: 08-16 05:30:00 - 08-16 06:00:00 @ 26.28, 24: 08-16 06:00:00 - 08-16 06:30:00 @ 25.68, 25: 08-16 06:30:00 - 08-16 07:00:00 @ 26.1, 26: 08-16 07:00:00 - 08-16 07:30:00 @ 24.28, 27: 08-16 07:30:00 - 08-16 08:00:00 @ 24.94, 28: 08-16 08:00:00 - 08-16 08:30:00 @ 24.06, 29: 08-16 08:30:00 - 08-16 09:00:00 @ 24.39, 30: 08-16 09:00:00 - 08-16 09:30:00 @ 24.66, 31: 08-16 09:30:00 - 08-16 10:00:00 @ 24.06, 32: 08-16 10:00:00 - 08-16 10:30:00 @ 25.5, 33: 08-16 10:30:00 - 08-16 11:00:00 @ 24.94, 34: 08-16 11:00:00 - 08-16 11:30:00 @ 24.25, 35: 08-16 11:30:00 - 08-16 12:00:00 @ 23.49, 36: 08-16 12:00:00 - 08-16 12:30:00 @ 23.43, 37: 08-16 12:30:00 - 08-16 13:00:00 @ 22.33, 38: 08-16 13:00:00 - 08-16 13:30:00 @ 22.76, 39: 08-16 13:30:00 - 08-16 14:00:00 @ 22.3, 40: 08-16 14:00:00 - 08-16 14:30:00 @ 21.41, 41: 08-16 14:30:00 - 08-16 15:00:00 @ 21.65, 42: 08-16 15:00:00 - 08-16 15:30:00 @ 22.95, 43: 08-16 15:30:00 - 08-16 16:00:00 @ 22.83, 44: 08-16 16:00:00 - 08-16 16:30:00 @ 36.84, 45: 08-16 16:30:00 - 08-16 17:00:00 @ 37.54, 46: 08-16 17:00:00 - 08-16 17:30:00 @ 41.79, 47: 08-16 17:30:00 - 08-16 18:00:00 @ 43.7, 48: 08-16 18:00:00 - 08-16 18:30:00 @ 44.34, 49: 08-16 19:00:00 - 08-16 19:30:00 @ 34.79, 50: 08-16 19:30:00 - 08-16 20:00:00 @ 34.76, 51: 08-16 20:00:00 - 08-16 20:30:00 @ 35.62, 52: 08-16 20:30:00 - 08-16 21:00:00 @ 35.3, 53: 08-16 21:00:00 - 08-16 21:30:00 @ 35.89, 54: 08-16 21:30:00 - 08-16 22:00:00 @ 35.71, 55: 08-16 22:00:00 - 08-16 22:30:00 @ 33.75, 56: 08-16 22:30:00 - 08-16 23:00:00 @ 32.0, 57: 08-16 23:00:00 - 08-16 23:30:00 @ 30.02, 58: 08-16 23:30:00 - 08-17 00:00:00 @ 27.8, 59: 08-17 00:00:00 - 08-17 00:30:00 @ 28.18, 60: 08-17 00:30:00 - 08-17 01:00:00 @ 27.38, 61: 08-17 01:00:00 - 08-17 01:30:00 @ 26.7, 62: 08-17 01:30:00 - 08-17 02:00:00 @ 26.31, 63: 08-17 02:00:00 - 08-17 02:30:00 @ 25.79, 64: 08-17 02:30:00 - 08-17 03:00:00 @ 25.86, 65: 08-17 03:00:00 - 08-17 03:30:00 @ 26.13, 66: 08-17 03:30:00 - 08-17 04:00:00 @ 25.86, 67: 08-17 04:00:00 - 08-17 04:30:00 @ 26.27, 68: 08-17 04:30:00 - 08-17 05:00:00 @ 26.14, 69: 08-17 05:00:00 - 08-17 05:30:00 @ 27.03, 70: 08-17 05:30:00 - 08-17 06:00:00 @ 26.28, 71: 08-17 06:00:00 - 08-17 06:30:00 @ 25.68, 72: 08-17 06:30:00 - 08-17 07:00:00 @ 26.1, 73: 08-17 07:00:00 - 08-17 07:30:00 @ 24.28, 74: 08-17 07:30:00 - 08-17 08:00:00 @ 24.94, 75: 08-17 08:00:00 - 08-17 08:30:00 @ 24.06, 76: 08-17 08:30:00 - 08-17 09:00:00 @ 24.39, 77: 08-17 09:00:00 - 08-17 09:30:00 @ 24.66, 78: 08-17 09:30:00 - 08-17 10:00:00 @ 24.06, 79: 08-17 10:00:00 - 08-17 10:30:00 @ 25.5, 80: 08-17 10:30:00 - 08-17 11:00:00 @ 24.94, 81: 08-17 11:00:00 - 08-17 11:30:00 @ 24.25, 82: 08-17 11:30:00 - 08-17 12:00:00 @ 23.49, 83: 08-17 12:00:00 - 08-17 12:30:00 @ 23.43, 84: 08-17 12:30:00 - 08-17 13:00:00 @ 22.33, 85: 08-17 13:00:00 - 08-17 13:30:00 @ 22.76, 86: 08-17 13:30:00 - 08-17 14:00:00 @ 22.3, 87: 08-17 14:00:00 - 08-17 14:30:00 @ 21.41, 88: 08-17 14:30:00 - 08-17 15:00:00 @ 21.65, 89: 08-17 15:00:00 - 08-17 15:30:00 @ 22.95, 90: 08-17 15:30:00 - 08-17 16:00:00 @ 22.83, 91: 08-17 16:00:00 - 08-17 16:30:00 @ 36.84, 92: 08-17 16:30:00 - 08-17 17:00:00 @ 37.54, 93: 08-17 17:00:00 - 08-17 17:30:00 @ 41.79, 94: 08-17 17:30:00 - 08-17 18:00:00 @ 43.7, 95: 08-17 18:00:00 - 08-17 18:30:00 @ 44.34]
2026-08-15 18:10:05.874628: Inverter 0 Charge window will be: 2026-08-16 11:00:00+01:00 - 2026-08-16 16:00:00+01:00 - current SoC 96%, target 16%
2026-08-15 18:10:05.874749: Inverter 0 disabled charge window while waiting for schedule (now 08-15 18:10:00 target set_window_minutes 30 charge start time 08-16 11:00:00) original inverter start time 08-17 00:00:00
2026-08-15 18:10:05.874807: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 18:10:05.874974: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 18:10:05.875036: No export window planned
2026-08-15 18:10:05.875119: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 18:10:05.875146: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 18:10:05.875251: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 18:10:05.875371: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 18:10:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 18:10:05.875407: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 18:10:05.875474: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 18:10:05.875566: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 18:10:05.875600: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 18:10:05.875622: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 18:10:05.875648: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 18:10:05.875669: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 18:10:05.875688: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 18:10:05.875707: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 18:10:05.875752: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 18:10:05.875784: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 18:10:05.875805: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 18:10:05.875828: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 18:10:05.875852: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 18:10:05.875874: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 18:10:05.875894: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 18:10:05.875910: Inverter 0 count register writes 0
2026-08-15 18:10:05.889592: Will not recompute the plan, it is 5.0 minutes old and max age is 10 minutes
2026-08-15 18:10:05.895008: Total inverter register writes now 826
2026-08-15 18:10:05.926791: Info: Completed run status Demand
2026-08-15 18:10:05.932614: Info: record_status Demand
2026-08-15 18:10:05.938571: Saved current settings to /config/predbat_config.json
2026-08-15 18:10:05.938727: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 18:10:42.031874: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 18:10:42.032112: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 18:10:42.032155: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 18:10:42.032310: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 18:10:42.032350: Note: Inverter does not support discharge freeze - disabled
2026-08-15 18:10:42.032372: Note: Inverter does not support charge freeze - disabled
2026-08-15 18:10:42.032412: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 18:12:42.249400: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 18:12:42.249689: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 18:12:42.249726: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 18:12:42.249954: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 18:12:42.250011: Note: Inverter does not support discharge freeze - disabled
2026-08-15 18:12:42.250033: Note: Inverter does not support charge freeze - disabled
2026-08-15 18:12:42.250052: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 18:14:42.470184: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 18:14:42.470443: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 18:14:42.470479: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 18:14:42.470708: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 18:14:42.470746: Note: Inverter does not support discharge freeze - disabled
2026-08-15 18:14:42.470766: Note: Inverter does not support charge freeze - disabled
2026-08-15 18:14:42.470784: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 18:15:00.574445: --------------- PredBat - update at 2026-08-15 18:15:00+01:00 with clock skew 0 minutes, minutes now 1095
2026-08-15 18:15:00.575112: Saved current settings to /config/predbat_config.json
2026-08-15 18:15:00.575208: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 110.0 minutes
2026-08-15 18:15:00.575260: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.2, latest beta is v8.48.2
2026-08-15 18:15:00.575310: Autoupdate: There is an update pending v8.48.2 PV90 and second pass enabled by default, bug fixes - auto update is off
2026-08-15 18:15:00.596922: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 18:15:00.597094: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 18:15:00.597257: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 18:15:00.597769: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 18:15:00.597885: Predbat mode is set to Control charge & discharge
2026-08-15 18:15:00.806759: Found 21602 load_today datapoints going back 27 days
2026-08-15 18:15:00.806896: Using load_power data to fill gaps in load_today data
2026-08-15 18:15:01.736921: Processing 721 30-minute periods for power integration
2026-08-15 18:15:01.965023: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 18:15:01.965181: Car charging hold False, threshold 6.0kWh
2026-08-15 18:15:01.965245: Current data so far today: load 9.25kWh, import 27.6kWh, export 0.0kWh, PV 0kWh
2026-08-15 18:15:01.985765: Cars: SoC: [10.548]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 18:15:01.986205: Standing charge is set to 49.98p
2026-08-15 18:15:02.039045: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 18:15:02.039148: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 18:15:02.039363: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 455.0 minutes
2026-08-15 18:15:02.039767: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 455.0 minutes
2026-08-15 18:15:02.045661: Loaded 95 datapoints of futurerate analysis
2026-08-15 18:15:02.201410: Predicted future rates: ['08-15 00:00:00 => 28.69 / 20.01', '08-15 01:00:00 => 27.33 / 19.31', '08-15 02:00:00 => 26.31 / 18.8', '08-15 03:00:00 => 25.78 / 18.53', '08-15 04:00:00 => 25.59 / 18.43', '08-15 05:00:00 => 25.75 / 18.51', '08-15 06:00:00 => 25.34 / 18.3', '08-15 07:00:00 => 24.12 / 17.68', '08-15 08:00:00 => 22.82 / 17.01', '08-15 09:00:00 => 21.84 / 16.51', '08-15 10:00:00 => 20.22 / 15.68', '08-15 11:00:00 => 17.8 / 14.45', '08-15 12:00:00 => 16.16 / 13.61', '08-15 13:00:00 => 15.55 / 13.3', '08-15 14:00:00 => 15.14 / 13.09', '08-15 15:00:00 => 15.65 / 13.35', '08-15 16:00:00 => 32.68 / 16.13', '08-15 17:00:00 => 37.81 / 18.75', '08-15 18:00:00 => 42.15 / 20.96', '08-15 19:00:00 => 30.88 / 21.13', '08-15 20:00:00 => 31.43 / 21.41', '08-15 21:00:00 => 31.43 / 21.41', '08-15 22:00:00 => 30.37 / 20.87', '08-15 23:00:00 => 29.16 / 20.25', '08-16 00:00:00 => 28.62 / 19.97', '08-16 01:00:00 => 27.52 / 19.41', '08-16 02:00:00 => 26.55 / 18.92', '08-16 03:00:00 => 26.18 / 18.73', '08-16 04:00:00 => 26.12 / 18.7', '08-16 05:00:00 => 26.02 / 18.65', '08-16 06:00:00 => 25.78 / 18.53', '08-16 07:00:00 => 25.43 / 18.35', '08-16 08:00:00 => 24.63 / 17.94', '08-16 09:00:00 => 24.05 / 17.64', '08-16 10:00:00 => 24.59 / 17.92', '08-16 11:00:00 => 24.5 / 17.87', '08-16 12:00:00 => 23.58 / 17.4', '08-16 13:00:00 => 22.93 / 17.07', '08-16 14:00:00 => 21.8 / 16.49', '08-16 15:00:00 => 21.8 / 16.49', '08-16 16:00:00 => 36.93 / 18.3', '08-16 17:00:00 => 39.92 / 19.83']
2026-08-15 18:15:02.254404: Rate min forward looking: now 21.41p at end of forecast 21.41p
2026-08-15 18:15:02.254760: Import rates: min 21.41p, max 45.28p, average 28.46p
2026-08-15 18:15:02.303413: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 18:15:02.303549: Rate thresholds (for charge/export) are import 44.78p (0.0p), export -0.1p (0.0p)
2026-08-15 18:15:02.304831: High export rate found rates in range 99p to -99p
2026-08-15 18:15:02.401399: Low Import rate found rates in range 21.41p to 44.34p
2026-08-15 18:15:02.401864: Car 0 charging is not planned as it is not plugged in
2026-08-15 18:15:02.414010: Battery level now 15.36kWh, -1hr ago 15.58kWh, at midnight 1.66kWh, battery value change in the last hour -4.12p, change today 252.06p, rate_forward 18.39p
2026-08-15 18:15:02.414388: Last hour: net energy 0.0kWh, import 0.0kWh, export 0.0kWh, car 0kWh, load 0.35kWh, net cost 0.0p, import 0.0p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 18:15:02.480850: Today's energy total net 27.6kWh, import 27.6kWh, export 0.0kWh, cost 566.08p, import 516.09p, export 0.0p, carbon 0.0kg
2026-08-15 18:15:02.481074: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 18:15:02.584907: Using weighted-bucket historical load forecast over 14 days
2026-08-15 18:15:02.619771: Today's load divergence 88.6%, in-day adjustment 102.25%, damping 0.95x, yesterday 143.77% today 89.17% blend 23.96%
2026-08-15 18:15:02.619883: Today's predicted so far 10.86kWh with 0.0kWh car/iBoost excluded, 20.9kWh import ignored, and 10.86kWh forecast extra.
2026-08-15 18:15:02.619936: Today's actual load so far 9.3kWh with 0.0kWh car/iBoost excluded, and 20.9kWh import ignored.
2026-08-15 18:15:02.651749: Inverter 0: Type SK Sunsynk
2026-08-15 18:15:02.651846: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 18:15:02.652113: Reserve min: 7%, battery_min: 7%
2026-08-15 18:15:02.652230: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 18:15:02.652614: Inverter 0 SoC: 15.24kW 95%, current charge rate 5000W, current discharge rate 5250W, current battery power 256W, current battery voltage 51.2V, grid power -54W, load power 322W, PV Power 0W
2026-08-15 18:15:02.652823: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 18:15:02.652944: Inverter 0 scheduled charge enable is False
2026-08-15 18:15:02.653026: Inverter 0 charge windows currently []
2026-08-15 18:15:02.653065: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 18:15:02.653252: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 18:15:02.653295: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 18:15:02.653345: Inverter 0 scheduled discharge enable is False
2026-08-15 18:15:02.653560: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 18:15:02.653612: Inverter 0 discharge windows currently []
2026-08-15 18:15:02.653652: Note: Inverter does not support discharge freeze - disabled
2026-08-15 18:15:02.653695: Note: Inverter does not support charge freeze - disabled
2026-08-15 18:15:02.653727: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 18:15:02.733323: Dynamic load last period 0.30kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 18:15:02.733433: Plan was last updated on 2026-08-15 18:05:00+01:00 and is now 10.0 minutes old
2026-08-15 18:15:02.733711: Best charge window [ 16-08 11:00:00 - 16-08 12:30:00 @ 23.65p 16%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 31%, 16-08 13:30:00 - 16-08 15:00:00 @ 21.91p 100%, 16-08 15:00:00 - 16-08 16:00:00 @ 22.89p 75%, 17-08 12:30:00 - 17-08 18:00:00 @ 40.7p 100% ]
2026-08-15 18:15:02.733760: Best export window [  ]
2026-08-15 18:15:02.734595: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 18:15:02.738030: Load divergence over 8.0 hours mean 675.89W, min 327.0W, max 2127.6W, std dev 419.08W, divergence 31.0%
2026-08-15 18:15:02.760240: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 18:15:02.760368: LoadML is_calculating False
2026-08-15 18:15:02.760460: Creating pool of 12 processes to match your CPU count
2026-08-15 18:15:02.899562: predict base end_record 08-17 12:40:00, final soc 1.12kWh, metric 1102.86p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 13:25:00, load 37.51kWh, PV 0.0kWh
2026-08-15 18:15:03.040201: Battery has 19.17 hours left - now at 15.24kWh
2026-08-15 18:15:03.077591: predict base10 end_record 08-17 12:40:00, final soc 1.12kWh, metric 1137.85p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 12:40:00, load 38.86kWh, PV 0.0kWh
2026-08-15 18:15:03.156706: predict best10 end_record 08-17 12:40:00, final soc 1.77kWh, metric 1086.18p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 06:05:00, load 38.86kWh, PV 0.0kWh
2026-08-15 18:15:03.228078: predict best end_record 08-17 12:40:00, final soc 1.9kWh, metric 1054.76p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 07:10:00, load 37.51kWh, PV 0.0kWh
2026-08-15 18:15:03.228160: Saving plan best values to HA entities
2026-08-15 18:15:03.403247: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 18:15:03.408553: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0.0
2026-08-15 18:15:03.413980: Best charging limit SoC's [2.5, 5.0, 16.0, 12.0, 16.0]kWh, export []kWh gives import battery 13.96kWh, house 3.3kWh, export 0.0kWh, metric 1054.76p, metric10 1086.18p
2026-08-15 18:15:03.499821: Marginal costs baseline metric (no standing charge): 954.7887
2026-08-15 18:15:03.752301: Marginal energy costs matrix computed: min=24.92 max=32.84
2026-08-15 18:15:03.833207: Rate array import [{'start': 1095, 'end': 1140, 'rate': 'very expensive', 'range': '(41.5p - 43.8p)'}, {'start': 1140, 'end': 1410, 'rate': 'expensive', 'range': '(29.8p - 32.9p)'}, {'start': 1410, 'end': 2400, 'rate': 'cheap', 'range': '(21.4p - 28.2p)'}, {'start': 2400, 'end': 2430, 'rate': 'expensive', 'range': '(36.8p)'}, {'start': 2430, 'end': 2580, 'rate': 'very expensive', 'range': '(37.5p - 45.3p)'}, {'start': 2580, 'end': 2850, 'rate': 'expensive', 'range': '(30.0p - 35.9p)'}, {'start': 2850, 'end': 3640, 'rate': 'cheap', 'range': '(22.3p - 28.2p)'}] export [{'start': 1095, 'end': 3640, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 18:15:03.833975: - Your estimated bill for today is £5.66 and tomorrow is £3.37
2026-08-15 18:15:03.834028: - Import rates are very expensive (41.5p - 43.8p) for the next 45 minutes and then expensive (29.8p - 32.9p) for the next 4 and a half hours.
2026-08-15 18:15:03.834065: - The battery is currently at 95% and is in eco mode for the next 16 hours.
2026-08-15 18:15:03.834093: - For the next 48 hours there will be no solar generation.
2026-08-15 18:15:03.834119: - You will run out of battery in 36 hours.
2026-08-15 18:15:03.834147: - Your next charge slot will be in 16 hours where import rates will be cheap (24.3p).
2026-08-15 18:15:03.834174: 
2026-08-15 18:15:03.902869: Plan calculation took 1.17 seconds
2026-08-15 18:15:03.906928: No high rate period found
2026-08-15 18:15:03.958352: Import threshold used for optimisation was 24.94p
2026-08-15 18:15:04.016142: Low import rate windows [0: 08-15 18:00:00 - 08-15 18:30:00 @ 41.55, 1: 08-15 18:30:00 - 08-15 19:00:00 @ 43.82, 2: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 3: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 4: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 5: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 6: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 7: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 8: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 9: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 10: 08-15 23:00:00 - 08-15 23:30:00 @ 30.02, 11: 08-15 23:30:00 - 08-16 00:00:00 @ 27.8, 12: 08-16 00:00:00 - 08-16 00:30:00 @ 28.18, 13: 08-16 00:30:00 - 08-16 01:00:00 @ 27.38, 14: 08-16 01:00:00 - 08-16 01:30:00 @ 26.7, 15: 08-16 01:30:00 - 08-16 02:00:00 @ 26.31, 16: 08-16 02:00:00 - 08-16 02:30:00 @ 25.79, 17: 08-16 02:30:00 - 08-16 03:00:00 @ 25.86, 18: 08-16 03:00:00 - 08-16 03:30:00 @ 26.13, 19: 08-16 03:30:00 - 08-16 04:00:00 @ 25.86, 20: 08-16 04:00:00 - 08-16 04:30:00 @ 26.27, 21: 08-16 04:30:00 - 08-16 05:00:00 @ 26.14, 22: 08-16 05:00:00 - 08-16 05:30:00 @ 27.03, 23: 08-16 05:30:00 - 08-16 06:00:00 @ 26.28, 24: 08-16 06:00:00 - 08-16 06:30:00 @ 25.68, 25: 08-16 06:30:00 - 08-16 07:00:00 @ 26.1, 26: 08-16 07:00:00 - 08-16 07:30:00 @ 24.28, 27: 08-16 07:30:00 - 08-16 08:00:00 @ 24.94, 28: 08-16 08:00:00 - 08-16 08:30:00 @ 24.06, 29: 08-16 08:30:00 - 08-16 09:00:00 @ 24.39, 30: 08-16 09:00:00 - 08-16 09:30:00 @ 24.66, 31: 08-16 09:30:00 - 08-16 10:00:00 @ 24.06, 32: 08-16 10:00:00 - 08-16 10:30:00 @ 25.5, 33: 08-16 10:30:00 - 08-16 11:00:00 @ 24.94, 34: 08-16 11:00:00 - 08-16 11:30:00 @ 24.25, 35: 08-16 11:30:00 - 08-16 12:00:00 @ 23.49, 36: 08-16 12:00:00 - 08-16 12:30:00 @ 23.43, 37: 08-16 12:30:00 - 08-16 13:00:00 @ 22.33, 38: 08-16 13:00:00 - 08-16 13:30:00 @ 22.76, 39: 08-16 13:30:00 - 08-16 14:00:00 @ 22.3, 40: 08-16 14:00:00 - 08-16 14:30:00 @ 21.41, 41: 08-16 14:30:00 - 08-16 15:00:00 @ 21.65, 42: 08-16 15:00:00 - 08-16 15:30:00 @ 22.95, 43: 08-16 15:30:00 - 08-16 16:00:00 @ 22.83, 44: 08-16 16:00:00 - 08-16 16:30:00 @ 36.84, 45: 08-16 16:30:00 - 08-16 17:00:00 @ 37.54, 46: 08-16 17:00:00 - 08-16 17:30:00 @ 41.79, 47: 08-16 17:30:00 - 08-16 18:00:00 @ 43.7, 48: 08-16 18:00:00 - 08-16 18:30:00 @ 44.34, 49: 08-16 19:00:00 - 08-16 19:30:00 @ 34.79, 50: 08-16 19:30:00 - 08-16 20:00:00 @ 34.76, 51: 08-16 20:00:00 - 08-16 20:30:00 @ 35.62, 52: 08-16 20:30:00 - 08-16 21:00:00 @ 35.3, 53: 08-16 21:00:00 - 08-16 21:30:00 @ 35.89, 54: 08-16 21:30:00 - 08-16 22:00:00 @ 35.71, 55: 08-16 22:00:00 - 08-16 22:30:00 @ 33.75, 56: 08-16 22:30:00 - 08-16 23:00:00 @ 32.0, 57: 08-16 23:00:00 - 08-16 23:30:00 @ 30.02, 58: 08-16 23:30:00 - 08-17 00:00:00 @ 27.8, 59: 08-17 00:00:00 - 08-17 00:30:00 @ 28.18, 60: 08-17 00:30:00 - 08-17 01:00:00 @ 27.38, 61: 08-17 01:00:00 - 08-17 01:30:00 @ 26.7, 62: 08-17 01:30:00 - 08-17 02:00:00 @ 26.31, 63: 08-17 02:00:00 - 08-17 02:30:00 @ 25.79, 64: 08-17 02:30:00 - 08-17 03:00:00 @ 25.86, 65: 08-17 03:00:00 - 08-17 03:30:00 @ 26.13, 66: 08-17 03:30:00 - 08-17 04:00:00 @ 25.86, 67: 08-17 04:00:00 - 08-17 04:30:00 @ 26.27, 68: 08-17 04:30:00 - 08-17 05:00:00 @ 26.14, 69: 08-17 05:00:00 - 08-17 05:30:00 @ 27.03, 70: 08-17 05:30:00 - 08-17 06:00:00 @ 26.28, 71: 08-17 06:00:00 - 08-17 06:30:00 @ 25.68, 72: 08-17 06:30:00 - 08-17 07:00:00 @ 26.1, 73: 08-17 07:00:00 - 08-17 07:30:00 @ 24.28, 74: 08-17 07:30:00 - 08-17 08:00:00 @ 24.94, 75: 08-17 08:00:00 - 08-17 08:30:00 @ 24.06, 76: 08-17 08:30:00 - 08-17 09:00:00 @ 24.39, 77: 08-17 09:00:00 - 08-17 09:30:00 @ 24.66, 78: 08-17 09:30:00 - 08-17 10:00:00 @ 24.06, 79: 08-17 10:00:00 - 08-17 10:30:00 @ 25.5, 80: 08-17 10:30:00 - 08-17 11:00:00 @ 24.94, 81: 08-17 11:00:00 - 08-17 11:30:00 @ 24.25, 82: 08-17 11:30:00 - 08-17 12:00:00 @ 23.49, 83: 08-17 12:00:00 - 08-17 12:30:00 @ 23.43, 84: 08-17 12:30:00 - 08-17 13:00:00 @ 22.33, 85: 08-17 13:00:00 - 08-17 13:30:00 @ 22.76, 86: 08-17 13:30:00 - 08-17 14:00:00 @ 22.3, 87: 08-17 14:00:00 - 08-17 14:30:00 @ 21.41, 88: 08-17 14:30:00 - 08-17 15:00:00 @ 21.65, 89: 08-17 15:00:00 - 08-17 15:30:00 @ 22.95, 90: 08-17 15:30:00 - 08-17 16:00:00 @ 22.83, 91: 08-17 16:00:00 - 08-17 16:30:00 @ 36.84, 92: 08-17 16:30:00 - 08-17 17:00:00 @ 37.54, 93: 08-17 17:00:00 - 08-17 17:30:00 @ 41.79, 94: 08-17 17:30:00 - 08-17 18:00:00 @ 43.7, 95: 08-17 18:00:00 - 08-17 18:30:00 @ 44.34]
2026-08-15 18:15:04.025652: Inverter 0 Charge window will be: 2026-08-16 11:00:00+01:00 - 2026-08-16 16:00:00+01:00 - current SoC 95%, target 16%
2026-08-15 18:15:04.025861: Inverter 0 disabled charge window while waiting for schedule (now 08-15 18:15:00 target set_window_minutes 30 charge start time 08-16 11:00:00) original inverter start time 08-17 00:00:00
2026-08-15 18:15:04.026025: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 18:15:04.026362: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 18:15:04.026502: No export window planned
2026-08-15 18:15:04.026716: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 18:15:04.026771: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 18:15:04.026976: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 18:15:04.027246: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 18:15:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 18:15:04.027349: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 18:15:04.027472: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 18:15:04.027658: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 18:15:04.027733: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 18:15:04.027790: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 18:15:04.027855: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 18:15:04.027937: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 18:15:04.027993: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 18:15:04.028033: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 18:15:04.028182: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 18:15:04.028232: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 18:15:04.028276: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 18:15:04.028328: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 18:15:04.028389: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 18:15:04.028452: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 18:15:04.028513: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 18:15:04.028580: Inverter 0 count register writes 0
2026-08-15 18:15:04.044843: Will recompute the plan as it is now 10.0 minutes old and will exceed the max age of 10 minutes before the next run
2026-08-15 18:15:04.045103: Recompute is saving previous plan...
2026-08-15 18:15:04.048446: Best charge window [ 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 0%, 15-08 18:30:00 - 15-08 19:00:00 @ 43.82p 0%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 0%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 0%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 0%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 0%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 30.02p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 27.8p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.18p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.38p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 26.7p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.31p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.79p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 25.86p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.13p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 25.86p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.27p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.14p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 27.03p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.28p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.68p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 26.1p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 24.28p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 24.94p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.06p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.39p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.66p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.06p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 25.5p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 24.94p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 24.25p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 23.49p 0%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.43p 0%, 16-08 12:30:00 - 16-08 13:00:00 @ 22.33p 0%, 16-08 13:00:00 - 16-08 13:30:00 @ 22.76p 0%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 0%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 0%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.65p 0%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.95p 0%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.83p 0%, 16-08 16:00:00 - 16-08 16:30:00 @ 36.84p 0%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.54p 0%, 16-08 17:00:00 - 16-08 17:30:00 @ 41.79p 0%, 16-08 17:30:00 - 16-08 18:00:00 @ 43.7p 0%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.34p 0%, 16-08 19:00:00 - 16-08 19:30:00 @ 34.79p 0%, 16-08 19:30:00 - 16-08 20:00:00 @ 34.76p 0%, 16-08 20:00:00 - 16-08 20:30:00 @ 35.62p 0%, 16-08 20:30:00 - 16-08 21:00:00 @ 35.3p 0%, 16-08 21:00:00 - 16-08 21:30:00 @ 35.89p 0%, 16-08 21:30:00 - 16-08 22:00:00 @ 35.71p 0%, 16-08 22:00:00 - 16-08 22:30:00 @ 33.75p 0%, 16-08 22:30:00 - 16-08 23:00:00 @ 32.0p 0%, 16-08 23:00:00 - 16-08 23:30:00 @ 30.02p 0%, 16-08 23:30:00 - 17-08 00:00:00 @ 27.8p 0%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.18p 0%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.38p 0%, 17-08 01:00:00 - 17-08 01:30:00 @ 26.7p 0%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.31p 0%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.79p 0%, 17-08 02:30:00 - 17-08 03:00:00 @ 25.86p 0%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.13p 0%, 17-08 03:30:00 - 17-08 04:00:00 @ 25.86p 0%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.27p 0%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.14p 0%, 17-08 05:00:00 - 17-08 05:30:00 @ 27.03p 0%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.28p 0%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.68p 0%, 17-08 06:30:00 - 17-08 07:00:00 @ 26.1p 0%, 17-08 07:00:00 - 17-08 07:30:00 @ 24.28p 0%, 17-08 07:30:00 - 17-08 08:00:00 @ 24.94p 0%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.06p 0%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.39p 0%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.66p 0%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.06p 0%, 17-08 10:00:00 - 17-08 10:30:00 @ 25.5p 0%, 17-08 10:30:00 - 17-08 11:00:00 @ 24.94p 0%, 17-08 11:00:00 - 17-08 11:30:00 @ 24.25p 0%, 17-08 11:30:00 - 17-08 12:00:00 @ 23.49p 0%, 17-08 12:00:00 - 17-08 12:30:00 @ 23.43p 0%, 17-08 12:30:00 - 17-08 13:00:00 @ 22.33p 0%, 17-08 13:00:00 - 17-08 13:30:00 @ 22.76p 0%, 17-08 13:30:00 - 17-08 14:00:00 @ 22.3p 0%, 17-08 14:00:00 - 17-08 14:30:00 @ 21.41p 0%, 17-08 14:30:00 - 17-08 15:00:00 @ 21.65p 0%, 17-08 15:00:00 - 17-08 15:30:00 @ 22.95p 0%, 17-08 15:30:00 - 17-08 16:00:00 @ 22.83p 0%, 17-08 16:00:00 - 17-08 16:30:00 @ 36.84p 0%, 17-08 16:30:00 - 17-08 17:00:00 @ 37.54p 0%, 17-08 17:00:00 - 17-08 17:30:00 @ 41.79p 0%, 17-08 17:30:00 - 17-08 18:00:00 @ 43.7p 0%, 17-08 18:00:00 - 17-08 18:30:00 @ 44.34p 0% ]
2026-08-15 18:15:04.048550: Best export window [  ]
2026-08-15 18:15:04.049432: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 18:15:04.052544: Load divergence over 8.0 hours mean 675.89W, min 327.0W, max 2127.6W, std dev 419.08W, divergence 31.0%
2026-08-15 18:15:04.070236: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 18:15:04.070369: LoadML is_calculating False
2026-08-15 18:15:04.070465: Creating pool of 12 processes to match your CPU count
2026-08-15 18:15:04.160482: Calculate Best options: mode(Control charge & discharge), calculate_export_oncharge(False), calculate_export_on_pv(True), set_export_freeze_only(False), set_discharge_during_charge(True), combine_charge_slots(False), combine_export_slots(False), combine_rate_threshold(0.0), best_soc_min(0.0 kWh), best_soc_max(0.0 kWh), best_soc_keep(0.0 kWh), inverter_loss(4%), battery_loss(3%), battery_loss_discharge (3%), inverter_hybrid(True), metric_min_improvement(0.0p), metric_min_improvement_export(0.1p), metric_min_improvement_export_freeze(0.1p), metric_battery_cycle(0.0p/kWh), metric_battery_value_scaling(1.0 x) 
2026-08-15 18:15:04.162587: Optimise levels pass started at 2026-08-15 18:15:04
2026-08-15 18:15:04.162653: Optimise all windows, total charge 95 export 1
2026-08-15 18:15:05.237887: >> Region optimisation pass width 960 gives best_metric 1008.57p, best_cost 1023.61p, best_cycle 39.33kWh, best_import 20.4kWh
2026-08-15 18:15:05.617698: >> Region optimisation pass width 480 gives best_metric 1008.57p, best_cost 1023.61p, best_cycle 39.33kWh, best_import 20.4kWh
2026-08-15 18:15:06.126260: >> Region optimisation pass width 240 gives best_metric 1008.57p, best_cost 1023.61p, best_cycle 39.33kWh, best_import 20.4kWh
2026-08-15 18:15:07.229864: >> Region optimisation pass width 120 gives best_metric 1008.57p, best_cost 1023.61p, best_cycle 39.33kWh, best_import 20.4kWh
2026-08-15 18:15:07.230150: Calculated end_record as 08-17 12:30:00 based on best_price 22.76p, next_charge_start 08-16 12:30:00, max_windows 84
2026-08-15 18:15:07.230213: Optimise levels pass ended at 2026-08-15 18:15:07, duration 3.1 seconds tried 316 combinations
2026-08-15 18:15:07.230290: Set best_price_charge_level 24.4p, best_price_export_level 0p, best_price_charge 22.76p, best_cost_export 0p, best_metric 1008.57p, best_keep 0kWh, best_cycle 39.33kWh, best_carbon 0kg, best_import 20.4kWh
2026-08-15 18:15:07.251292: Starting detailed optimisation end_record 08-17 12:30:00, best_price_charge 22.76p, best_price_export 0p. lowest_price_charge 21.41p with charge limits [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12.5, 12.5, 12.5, 12.5, 12.5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0]kWh and export limits []kWh
2026-08-15 18:15:13.622777: Tweak plan optimisation started metric 916.8p, cost 932.11p
2026-08-15 18:15:13.864807: Tweak optimisation finished metric 916.8p, cost 932.11p, metric_keep 0kWh, cycle 31.16kWh, carbon 0kg, import 16.21kWh, changed 8 window(s)
2026-08-15 18:15:13.881991: Swap charge optimisation started metric 916.8p, cost 932.11p, min_improvement_swap 0.1p
2026-08-15 18:15:21.946451: Swap charge optimisation finished metric 916.8p, cost 932.11p
2026-08-15 18:15:22.067457: Pruned 3 dead plan slot(s) in 13 trial(s), nominal metric 911.51p -> 911.51p, plan now metric 916.93p, cost 932.11p, cycle 31.16kWh, import 16.21kWh
2026-08-15 18:15:22.077261: Raw charge windows [ 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 0%, 15-08 18:30:00 - 15-08 19:00:00 @ 43.82p 0%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 0%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 0%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 0%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 0%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 30.02p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 27.8p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.18p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.38p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 26.7p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.31p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.79p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 25.86p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.13p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 25.86p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.27p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.14p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 27.03p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.28p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.68p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 26.1p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 24.28p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 24.94p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.06p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.39p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.66p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.06p 28%, 16-08 10:00:00 - 16-08 10:30:00 @ 25.5p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 24.94p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 24.25p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 23.49p 19%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.43p 19%, 16-08 12:30:00 - 16-08 13:00:00 @ 22.33p 31%, 16-08 13:00:00 - 16-08 13:30:00 @ 22.76p 31%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 100%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 78%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.65p 78%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.95p 75%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.83p 75%, 16-08 16:00:00 - 16-08 16:30:00 @ 36.84p 0%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.54p 0%, 16-08 17:00:00 - 16-08 17:30:00 @ 41.79p 0%, 16-08 17:30:00 - 16-08 18:00:00 @ 43.7p 0%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.34p 0%, 16-08 19:00:00 - 16-08 19:30:00 @ 34.79p 0%, 16-08 19:30:00 - 16-08 20:00:00 @ 34.76p 0%, 16-08 20:00:00 - 16-08 20:30:00 @ 35.62p 0%, 16-08 20:30:00 - 16-08 21:00:00 @ 35.3p 0%, 16-08 21:00:00 - 16-08 21:30:00 @ 35.89p 0%, 16-08 21:30:00 - 16-08 22:00:00 @ 35.71p 0%, 16-08 22:00:00 - 16-08 22:30:00 @ 33.75p 0%, 16-08 22:30:00 - 16-08 23:00:00 @ 32.0p 0%, 16-08 23:00:00 - 16-08 23:30:00 @ 30.02p 0%, 16-08 23:30:00 - 17-08 00:00:00 @ 27.8p 0%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.18p 0%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.38p 0%, 17-08 01:00:00 - 17-08 01:30:00 @ 26.7p 0%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.31p 0%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.79p 0%, 17-08 02:30:00 - 17-08 03:00:00 @ 25.86p 0%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.13p 0%, 17-08 03:30:00 - 17-08 04:00:00 @ 25.86p 0%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.27p 0%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.14p 0%, 17-08 05:00:00 - 17-08 05:30:00 @ 27.03p 0%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.28p 0%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.68p 0%, 17-08 06:30:00 - 17-08 07:00:00 @ 26.1p 0%, 17-08 07:00:00 - 17-08 07:30:00 @ 24.28p 0%, 17-08 07:30:00 - 17-08 08:00:00 @ 24.94p 0%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.06p 0%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.39p 0%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.66p 0%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.06p 0%, 17-08 10:00:00 - 17-08 10:30:00 @ 25.5p 0%, 17-08 10:30:00 - 17-08 11:00:00 @ 24.94p 0%, 17-08 11:00:00 - 17-08 11:30:00 @ 24.25p 0%, 17-08 11:30:00 - 17-08 12:00:00 @ 23.49p 0%, 17-08 12:00:00 - 17-08 12:30:00 @ 23.43p 0%, 17-08 12:30:00 - 17-08 13:00:00 @ 22.33p 100%, 17-08 13:00:00 - 17-08 13:30:00 @ 22.76p 100%, 17-08 13:30:00 - 17-08 14:00:00 @ 22.3p 100%, 17-08 14:00:00 - 17-08 14:30:00 @ 21.41p 100%, 17-08 14:30:00 - 17-08 15:00:00 @ 21.65p 100%, 17-08 15:00:00 - 17-08 15:30:00 @ 22.95p 100%, 17-08 15:30:00 - 17-08 16:00:00 @ 22.83p 100%, 17-08 16:00:00 - 17-08 16:30:00 @ 36.84p 100%, 17-08 16:30:00 - 17-08 17:00:00 @ 37.54p 100%, 17-08 17:00:00 - 17-08 17:30:00 @ 41.79p 100%, 17-08 17:30:00 - 17-08 18:00:00 @ 43.7p 100%, 17-08 18:00:00 - 17-08 18:30:00 @ 44.34p 100% ] reserve 1.12
2026-08-15 18:15:22.077824: Unclipped charge windows [ 16-08 09:30:00 - 16-08 10:00:00 @ 24.06p 28%, 16-08 11:30:00 - 16-08 12:30:00 @ 23.46p 19%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 31%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 100%, 16-08 14:00:00 - 16-08 15:00:00 @ 21.53p 78%, 16-08 15:00:00 - 16-08 16:00:00 @ 22.89p 75%, 17-08 12:30:00 - 17-08 18:30:00 @ 42.52p 100% ] reserve 1.12
2026-08-15 18:15:22.078095: Unfiltered charge windows [ 16-08 09:30:00 - 16-08 10:00:00 @ 24.06p 28%, 16-08 11:30:00 - 16-08 12:30:00 @ 23.46p 19%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 31%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 100%, 16-08 14:00:00 - 16-08 15:00:00 @ 21.53p 100%, 16-08 15:00:00 - 16-08 16:00:00 @ 22.89p 75%, 17-08 12:30:00 - 17-08 18:30:00 @ 42.52p 100% ] reserve 1.12
2026-08-15 18:15:22.078322: Filtered charge windows [ 16-08 09:30:00 - 16-08 10:00:00 @ 24.06p 28%, 16-08 11:30:00 - 16-08 12:30:00 @ 23.46p 19%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 31%, 16-08 13:30:00 - 16-08 15:00:00 @ 21.91p 100%, 16-08 15:00:00 - 16-08 16:00:00 @ 22.89p 75%, 17-08 12:30:00 - 17-08 18:30:00 @ 42.52p 100% ] reserve 1.12
2026-08-15 18:15:22.108892: Previous plan best metric is 917.6 (cost 933.04) and new plan best metric is 916.8 (cost 932.11)
2026-08-15 18:15:22.109098: New plan metric is not significantly better (metric_min_improvement_plan 2.0) than previous plan, using previous plan
2026-08-15 18:15:22.109302: Plan valid is now true after recompute was False
2026-08-15 18:15:22.133314: predict base end_record 08-17 12:30:00, final soc 1.12kWh, metric 1099.72p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 13:25:00, load 37.37kWh, PV 0.0kWh
2026-08-15 18:15:22.236726: Battery has 19.17 hours left - now at 15.24kWh
2026-08-15 18:15:22.280503: predict base10 end_record 08-17 12:30:00, final soc 1.12kWh, metric 1134.55p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 12:40:00, load 38.71kWh, PV 0.0kWh
2026-08-15 18:15:22.350707: predict best10 end_record 08-17 12:30:00, final soc 1.12kWh, metric 1067.37p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 06:05:00, load 38.71kWh, PV 0.0kWh
2026-08-15 18:15:22.429150: predict best end_record 08-17 12:30:00, final soc 1.12kWh, metric 1033.0p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 07:10:00, load 37.37kWh, PV 0.0kWh
2026-08-15 18:15:22.429237: Saving plan best values to HA entities
2026-08-15 18:15:22.571312: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 18:15:22.577548: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0.0
2026-08-15 18:15:22.583356: Best charging limit SoC's [2.5, 5.0, 16.0, 12.0, 16.0]kWh, export []kWh gives import battery 12.99kWh, house 3.3kWh, export 0.0kWh, metric 1033.0p, metric10 1067.37p
2026-08-15 18:15:22.661223: Marginal costs baseline metric (no standing charge): 933.0351
2026-08-15 18:15:22.889949: Marginal energy costs matrix computed: min=24.92 max=32.84
2026-08-15 18:15:22.969796: Rate array import [{'start': 1095, 'end': 1140, 'rate': 'very expensive', 'range': '(41.5p - 43.8p)'}, {'start': 1140, 'end': 1410, 'rate': 'expensive', 'range': '(29.8p - 32.9p)'}, {'start': 1410, 'end': 2400, 'rate': 'cheap', 'range': '(21.4p - 28.2p)'}, {'start': 2400, 'end': 2430, 'rate': 'expensive', 'range': '(36.8p)'}, {'start': 2430, 'end': 2580, 'rate': 'very expensive', 'range': '(37.5p - 45.3p)'}, {'start': 2580, 'end': 2850, 'rate': 'expensive', 'range': '(30.0p - 35.9p)'}, {'start': 2850, 'end': 3630, 'rate': 'cheap', 'range': '(23.4p - 28.2p)'}] export [{'start': 1095, 'end': 3630, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 18:15:22.970561: - Your estimated bill for today is £5.66 and tomorrow is £3.37
2026-08-15 18:15:22.970610: - Import rates are very expensive (41.5p - 43.8p) for the next 45 minutes and then expensive (29.8p - 32.9p) for the next 4 and a half hours.
2026-08-15 18:15:22.970634: - The battery is currently at 95% and is in eco mode for the next 16 hours.
2026-08-15 18:15:22.970652: - For the next 48 hours there will be no solar generation.
2026-08-15 18:15:22.970669: - You will run out of battery in 36 hours.
2026-08-15 18:15:22.970686: - Your next charge slot will be in 16 hours where import rates will be cheap (24.3p).
2026-08-15 18:15:22.970703: 
2026-08-15 18:15:23.039411: Plan calculation took 18.99 seconds
2026-08-15 18:15:23.039795: Inverter 0: Type SK Sunsynk
2026-08-15 18:15:23.039843: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 18:15:23.040063: Reserve min: 7%, battery_min: 7%
2026-08-15 18:15:23.040145: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 18:15:23.040479: Inverter 0 SoC: 15.24kW 95%, current charge rate 5000W, current discharge rate 5250W, current battery power 256W, current battery voltage 51.2V, grid power -54W, load power 322W, PV Power 0W
2026-08-15 18:15:23.040729: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 18:15:23.040842: Inverter 0 scheduled charge enable is False
2026-08-15 18:15:23.040882: Inverter 0 charge windows currently []
2026-08-15 18:15:23.040913: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 18:15:23.041112: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 18:15:23.041182: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 18:15:23.041259: Inverter 0 scheduled discharge enable is False
2026-08-15 18:15:23.041466: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 18:15:23.041510: Inverter 0 discharge windows currently []
2026-08-15 18:15:23.041555: Note: Inverter does not support discharge freeze - disabled
2026-08-15 18:15:23.041577: Note: Inverter does not support charge freeze - disabled
2026-08-15 18:15:23.041605: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 18:15:23.108107: Inverter 0 Charge window will be: 2026-08-16 11:00:00+01:00 - 2026-08-16 16:00:00+01:00 - current SoC 95%, target 16%
2026-08-15 18:15:23.108257: Inverter 0 disabled charge window while waiting for schedule (now 08-15 18:15:00 target set_window_minutes 30 charge start time 08-16 11:00:00) original inverter start time 08-17 00:00:00
2026-08-15 18:15:23.108349: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 18:15:23.108558: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 18:15:23.108642: No export window planned
2026-08-15 18:15:23.108750: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 18:15:23.108789: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 18:15:23.108924: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 18:15:23.109124: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 18:15:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 18:15:23.109183: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 18:15:23.109234: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 18:15:23.109329: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 18:15:23.109366: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 18:15:23.109393: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 18:15:23.109421: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 18:15:23.109446: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 18:15:23.109471: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 18:15:23.109496: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 18:15:23.109576: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 18:15:23.109616: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 18:15:23.109642: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 18:15:23.109665: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 18:15:23.109697: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 18:15:23.109721: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 18:15:23.109744: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 18:15:23.109764: Inverter 0 count register writes 0
2026-08-15 18:15:23.132623: Total inverter register writes now 826
2026-08-15 18:15:23.171648: Info: Completed run status Demand
2026-08-15 18:15:23.178277: Info: record_status Demand
2026-08-15 18:15:23.185383: Saved current settings to /config/predbat_config.json
2026-08-15 18:15:23.185740: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 18:15:57.296304: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 18:15:57.296557: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 18:15:57.296608: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 18:15:57.296743: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 18:15:57.296777: Note: Inverter does not support discharge freeze - disabled
2026-08-15 18:15:57.296813: Note: Inverter does not support charge freeze - disabled
2026-08-15 18:15:57.296829: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 18:18:11.538097: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 18:18:11.538344: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 18:18:11.538387: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 18:18:11.538546: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 18:18:11.538601: Note: Inverter does not support discharge freeze - disabled
2026-08-15 18:18:11.538624: Note: Inverter does not support charge freeze - disabled
2026-08-15 18:18:11.538642: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 18:20:00.753915: --------------- PredBat - update at 2026-08-15 18:20:00+01:00 with clock skew 0 minutes, minutes now 1100
2026-08-15 18:20:00.754770: Saved current settings to /config/predbat_config.json
2026-08-15 18:20:00.754964: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 115.0 minutes
2026-08-15 18:20:00.755103: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.2, latest beta is v8.48.2
2026-08-15 18:20:00.755213: Autoupdate: There is an update pending v8.48.2 PV90 and second pass enabled by default, bug fixes - auto update is off
2026-08-15 18:20:00.773013: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 18:20:00.773123: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 18:20:00.773265: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 18:20:00.773749: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 18:20:00.773850: Predbat mode is set to Control charge & discharge
2026-08-15 18:20:00.960763: Found 21602 load_today datapoints going back 28 days
2026-08-15 18:20:00.960911: Using load_power data to fill gaps in load_today data
2026-08-15 18:20:01.821130: Processing 721 30-minute periods for power integration
2026-08-15 18:20:02.005651: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 18:20:02.005786: Car charging hold False, threshold 6.0kWh
2026-08-15 18:20:02.005831: Current data so far today: load 9.2kWh, import 27.6kWh, export 0.0kWh, PV 0kWh
2026-08-15 18:20:02.023323: Cars: SoC: [10.548]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 18:20:02.023833: Standing charge is set to 49.98p
2026-08-15 18:20:02.079661: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 18:20:02.079793: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 18:20:02.080015: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 460.0 minutes
2026-08-15 18:20:02.080410: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 460.0 minutes
2026-08-15 18:20:02.086594: Loaded 95 datapoints of futurerate analysis
2026-08-15 18:20:02.243642: Predicted future rates: ['08-15 00:00:00 => 28.69 / 20.01', '08-15 01:00:00 => 27.33 / 19.31', '08-15 02:00:00 => 26.31 / 18.8', '08-15 03:00:00 => 25.78 / 18.53', '08-15 04:00:00 => 25.59 / 18.43', '08-15 05:00:00 => 25.75 / 18.51', '08-15 06:00:00 => 25.34 / 18.3', '08-15 07:00:00 => 24.12 / 17.68', '08-15 08:00:00 => 22.82 / 17.01', '08-15 09:00:00 => 21.84 / 16.51', '08-15 10:00:00 => 20.22 / 15.68', '08-15 11:00:00 => 17.8 / 14.45', '08-15 12:00:00 => 16.16 / 13.61', '08-15 13:00:00 => 15.55 / 13.3', '08-15 14:00:00 => 15.14 / 13.09', '08-15 15:00:00 => 15.65 / 13.35', '08-15 16:00:00 => 32.68 / 16.13', '08-15 17:00:00 => 37.81 / 18.75', '08-15 18:00:00 => 42.15 / 20.96', '08-15 19:00:00 => 30.88 / 21.13', '08-15 20:00:00 => 31.43 / 21.41', '08-15 21:00:00 => 31.43 / 21.41', '08-15 22:00:00 => 30.37 / 20.87', '08-15 23:00:00 => 29.16 / 20.25', '08-16 00:00:00 => 28.62 / 19.97', '08-16 01:00:00 => 27.52 / 19.41', '08-16 02:00:00 => 26.55 / 18.92', '08-16 03:00:00 => 26.18 / 18.73', '08-16 04:00:00 => 26.12 / 18.7', '08-16 05:00:00 => 26.02 / 18.65', '08-16 06:00:00 => 25.78 / 18.53', '08-16 07:00:00 => 25.43 / 18.35', '08-16 08:00:00 => 24.63 / 17.94', '08-16 09:00:00 => 24.05 / 17.64', '08-16 10:00:00 => 24.59 / 17.92', '08-16 11:00:00 => 24.5 / 17.87', '08-16 12:00:00 => 23.58 / 17.4', '08-16 13:00:00 => 22.93 / 17.07', '08-16 14:00:00 => 21.8 / 16.49', '08-16 15:00:00 => 21.8 / 16.49', '08-16 16:00:00 => 36.93 / 18.3', '08-16 17:00:00 => 39.92 / 19.83']
2026-08-15 18:20:02.289879: Rate min forward looking: now 21.41p at end of forecast 21.41p
2026-08-15 18:20:02.290359: Import rates: min 21.41p, max 45.28p, average 28.46p
2026-08-15 18:20:02.333462: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 18:20:02.333600: Rate thresholds (for charge/export) are import 44.78p (0.0p), export -0.1p (0.0p)
2026-08-15 18:20:02.334926: High export rate found rates in range 99p to -99p
2026-08-15 18:20:02.442299: Low Import rate found rates in range 21.41p to 44.34p
2026-08-15 18:20:02.442456: Car 0 charging is not planned as it is not plugged in
2026-08-15 18:20:02.456300: Battery level now 15.24kWh, -1hr ago 15.52kWh, at midnight 1.66kWh, battery value change in the last hour -5.15p, change today 249.85p, rate_forward 18.39p
2026-08-15 18:20:02.456759: Last hour: net energy 0.0kWh, import 0.0kWh, export 0.0kWh, car 0kWh, load 0.25kWh, net cost 0.0p, import 0.0p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 18:20:02.515521: Today's energy total net 27.6kWh, import 27.6kWh, export 0.0kWh, cost 566.08p, import 516.09p, export 0.0p, carbon 0.0kg
2026-08-15 18:20:02.515697: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 18:20:02.608141: Using weighted-bucket historical load forecast over 14 days
2026-08-15 18:20:02.640154: Today's load divergence 87.53%, in-day adjustment 101.28%, damping 0.95x, yesterday 143.77% today 88.15% blend 23.61%
2026-08-15 18:20:02.640249: Today's predicted so far 10.91kWh with 0.0kWh car/iBoost excluded, 20.88kWh import ignored, and 10.91kWh forecast extra.
2026-08-15 18:20:02.640281: Today's actual load so far 9.22kWh with 0.0kWh car/iBoost excluded, and 20.88kWh import ignored.
2026-08-15 18:20:02.673303: Inverter 0: Type SK Sunsynk
2026-08-15 18:20:02.673388: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 18:20:02.673568: Reserve min: 7%, battery_min: 7%
2026-08-15 18:20:02.673665: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 18:20:02.673929: Inverter 0 SoC: 15.2kW 95%, current charge rate 5000W, current discharge rate 5250W, current battery power 302W, current battery voltage 51.2V, grid power -54W, load power 366W, PV Power 0W
2026-08-15 18:20:02.674085: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 18:20:02.674171: Inverter 0 scheduled charge enable is False
2026-08-15 18:20:02.674199: Inverter 0 charge windows currently []
2026-08-15 18:20:02.674254: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 18:20:02.674363: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 18:20:02.674399: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 18:20:02.674433: Inverter 0 scheduled discharge enable is False
2026-08-15 18:20:02.674565: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 18:20:02.674624: Inverter 0 discharge windows currently []
2026-08-15 18:20:02.674648: Note: Inverter does not support discharge freeze - disabled
2026-08-15 18:20:02.674671: Note: Inverter does not support charge freeze - disabled
2026-08-15 18:20:02.674689: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 18:20:02.736986: Dynamic load last period 0.00kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 18:20:02.737113: Plan was last updated on 2026-08-15 18:15:00+01:00 and is now 5.0 minutes old
2026-08-15 18:20:02.737408: Best charge window [ 16-08 11:00:00 - 16-08 12:30:00 @ 23.65p 16%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 31%, 16-08 13:30:00 - 16-08 15:00:00 @ 21.91p 100%, 16-08 15:00:00 - 16-08 16:00:00 @ 22.89p 75%, 17-08 12:30:00 - 17-08 18:00:00 @ 40.7p 100% ]
2026-08-15 18:20:02.737467: Best export window [  ]
2026-08-15 18:20:02.738444: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 18:20:02.741761: Load divergence over 8.0 hours mean 688.78W, min 323.4W, max 1997.4W, std dev 412.73W, divergence 29.96%
2026-08-15 18:20:02.759855: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 18:20:02.759973: LoadML is_calculating False
2026-08-15 18:20:02.760037: Creating pool of 12 processes to match your CPU count
2026-08-15 18:20:02.877552: predict base end_record 08-17 12:35:00, final soc 1.12kWh, metric 1100.15p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 13:30:00, load 37.3kWh, PV 0.0kWh
2026-08-15 18:20:03.002356: Battery has 19.17 hours left - now at 15.2kWh
2026-08-15 18:20:03.052260: predict base10 end_record 08-17 12:35:00, final soc 1.12kWh, metric 1134.98p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 12:45:00, load 38.64kWh, PV 0.0kWh
2026-08-15 18:20:03.151783: predict best10 end_record 08-17 12:35:00, final soc 1.44kWh, metric 1075.43p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 06:05:00, load 38.64kWh, PV 0.0kWh
2026-08-15 18:20:03.233328: predict best end_record 08-17 12:35:00, final soc 1.51kWh, metric 1042.69p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 07:10:00, load 37.3kWh, PV 0.0kWh
2026-08-15 18:20:03.233427: Saving plan best values to HA entities
2026-08-15 18:20:03.391568: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 18:20:03.398866: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 18:20:03.404315: Best charging limit SoC's [2.5, 5.0, 16.0, 12.0, 16.0]kWh, export []kWh gives import battery 13.41kWh, house 3.31kWh, export 0.0kWh, metric 1042.69p, metric10 1075.43p
2026-08-15 18:20:03.481373: Marginal costs baseline metric (no standing charge): 942.7262
2026-08-15 18:20:03.758804: Marginal energy costs matrix computed: min=24.6 max=32.44
2026-08-15 18:20:03.845183: Rate array import [{'start': 1100, 'end': 1140, 'rate': 'very expensive', 'range': '(41.5p - 43.8p)'}, {'start': 1140, 'end': 1410, 'rate': 'expensive', 'range': '(29.8p - 32.9p)'}, {'start': 1410, 'end': 2400, 'rate': 'cheap', 'range': '(21.4p - 28.2p)'}, {'start': 2400, 'end': 2430, 'rate': 'expensive', 'range': '(36.8p)'}, {'start': 2430, 'end': 2580, 'rate': 'very expensive', 'range': '(37.5p - 45.3p)'}, {'start': 2580, 'end': 2850, 'rate': 'expensive', 'range': '(30.0p - 35.9p)'}, {'start': 2850, 'end': 3635, 'rate': 'cheap', 'range': '(22.3p - 28.2p)'}] export [{'start': 1100, 'end': 3635, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 18:20:03.846029: - Your estimated bill for today is £5.66 and tomorrow is £3.35
2026-08-15 18:20:03.846077: - Import rates are very expensive (41.5p - 43.8p) for the next 40 minutes and then expensive (29.8p - 32.9p) for the next 4 and a half hours.
2026-08-15 18:20:03.846101: - The battery is currently at 95% and is in eco mode for the next 16 hours.
2026-08-15 18:20:03.846120: - For the next 48 hours there will be no solar generation.
2026-08-15 18:20:03.846137: - You will run out of battery in 36 hours.
2026-08-15 18:20:03.846158: - Your next charge slot will be in 16 hours where import rates will be cheap (24.3p).
2026-08-15 18:20:03.846175: 
2026-08-15 18:20:03.913674: Plan calculation took 1.18 seconds
2026-08-15 18:20:03.917473: No high rate period found
2026-08-15 18:20:03.967840: Import threshold used for optimisation was 25.86p
2026-08-15 18:20:04.023230: Low import rate windows [0: 08-15 18:00:00 - 08-15 18:30:00 @ 41.55, 1: 08-15 18:30:00 - 08-15 19:00:00 @ 43.82, 2: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 3: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 4: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 5: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 6: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 7: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 8: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 9: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 10: 08-15 23:00:00 - 08-15 23:30:00 @ 30.02, 11: 08-15 23:30:00 - 08-16 00:00:00 @ 27.8, 12: 08-16 00:00:00 - 08-16 00:30:00 @ 28.18, 13: 08-16 00:30:00 - 08-16 01:00:00 @ 27.38, 14: 08-16 01:00:00 - 08-16 01:30:00 @ 26.7, 15: 08-16 01:30:00 - 08-16 02:00:00 @ 26.31, 16: 08-16 02:00:00 - 08-16 02:30:00 @ 25.79, 17: 08-16 02:30:00 - 08-16 03:00:00 @ 25.86, 18: 08-16 03:00:00 - 08-16 03:30:00 @ 26.13, 19: 08-16 03:30:00 - 08-16 04:00:00 @ 25.86, 20: 08-16 04:00:00 - 08-16 04:30:00 @ 26.27, 21: 08-16 04:30:00 - 08-16 05:00:00 @ 26.14, 22: 08-16 05:00:00 - 08-16 05:30:00 @ 27.03, 23: 08-16 05:30:00 - 08-16 06:00:00 @ 26.28, 24: 08-16 06:00:00 - 08-16 06:30:00 @ 25.68, 25: 08-16 06:30:00 - 08-16 07:00:00 @ 26.1, 26: 08-16 07:00:00 - 08-16 07:30:00 @ 24.28, 27: 08-16 07:30:00 - 08-16 08:00:00 @ 24.94, 28: 08-16 08:00:00 - 08-16 08:30:00 @ 24.06, 29: 08-16 08:30:00 - 08-16 09:00:00 @ 24.39, 30: 08-16 09:00:00 - 08-16 09:30:00 @ 24.66, 31: 08-16 09:30:00 - 08-16 10:00:00 @ 24.06, 32: 08-16 10:00:00 - 08-16 10:30:00 @ 25.5, 33: 08-16 10:30:00 - 08-16 11:00:00 @ 24.94, 34: 08-16 11:00:00 - 08-16 11:30:00 @ 24.25, 35: 08-16 11:30:00 - 08-16 12:00:00 @ 23.49, 36: 08-16 12:00:00 - 08-16 12:30:00 @ 23.43, 37: 08-16 12:30:00 - 08-16 13:00:00 @ 22.33, 38: 08-16 13:00:00 - 08-16 13:30:00 @ 22.76, 39: 08-16 13:30:00 - 08-16 14:00:00 @ 22.3, 40: 08-16 14:00:00 - 08-16 14:30:00 @ 21.41, 41: 08-16 14:30:00 - 08-16 15:00:00 @ 21.65, 42: 08-16 15:00:00 - 08-16 15:30:00 @ 22.95, 43: 08-16 15:30:00 - 08-16 16:00:00 @ 22.83, 44: 08-16 16:00:00 - 08-16 16:30:00 @ 36.84, 45: 08-16 16:30:00 - 08-16 17:00:00 @ 37.54, 46: 08-16 17:00:00 - 08-16 17:30:00 @ 41.79, 47: 08-16 17:30:00 - 08-16 18:00:00 @ 43.7, 48: 08-16 18:00:00 - 08-16 18:30:00 @ 44.34, 49: 08-16 19:00:00 - 08-16 19:30:00 @ 34.79, 50: 08-16 19:30:00 - 08-16 20:00:00 @ 34.76, 51: 08-16 20:00:00 - 08-16 20:30:00 @ 35.62, 52: 08-16 20:30:00 - 08-16 21:00:00 @ 35.3, 53: 08-16 21:00:00 - 08-16 21:30:00 @ 35.89, 54: 08-16 21:30:00 - 08-16 22:00:00 @ 35.71, 55: 08-16 22:00:00 - 08-16 22:30:00 @ 33.75, 56: 08-16 22:30:00 - 08-16 23:00:00 @ 32.0, 57: 08-16 23:00:00 - 08-16 23:30:00 @ 30.02, 58: 08-16 23:30:00 - 08-17 00:00:00 @ 27.8, 59: 08-17 00:00:00 - 08-17 00:30:00 @ 28.18, 60: 08-17 00:30:00 - 08-17 01:00:00 @ 27.38, 61: 08-17 01:00:00 - 08-17 01:30:00 @ 26.7, 62: 08-17 01:30:00 - 08-17 02:00:00 @ 26.31, 63: 08-17 02:00:00 - 08-17 02:30:00 @ 25.79, 64: 08-17 02:30:00 - 08-17 03:00:00 @ 25.86, 65: 08-17 03:00:00 - 08-17 03:30:00 @ 26.13, 66: 08-17 03:30:00 - 08-17 04:00:00 @ 25.86, 67: 08-17 04:00:00 - 08-17 04:30:00 @ 26.27, 68: 08-17 04:30:00 - 08-17 05:00:00 @ 26.14, 69: 08-17 05:00:00 - 08-17 05:30:00 @ 27.03, 70: 08-17 05:30:00 - 08-17 06:00:00 @ 26.28, 71: 08-17 06:00:00 - 08-17 06:30:00 @ 25.68, 72: 08-17 06:30:00 - 08-17 07:00:00 @ 26.1, 73: 08-17 07:00:00 - 08-17 07:30:00 @ 24.28, 74: 08-17 07:30:00 - 08-17 08:00:00 @ 24.94, 75: 08-17 08:00:00 - 08-17 08:30:00 @ 24.06, 76: 08-17 08:30:00 - 08-17 09:00:00 @ 24.39, 77: 08-17 09:00:00 - 08-17 09:30:00 @ 24.66, 78: 08-17 09:30:00 - 08-17 10:00:00 @ 24.06, 79: 08-17 10:00:00 - 08-17 10:30:00 @ 25.5, 80: 08-17 10:30:00 - 08-17 11:00:00 @ 24.94, 81: 08-17 11:00:00 - 08-17 11:30:00 @ 24.25, 82: 08-17 11:30:00 - 08-17 12:00:00 @ 23.49, 83: 08-17 12:00:00 - 08-17 12:30:00 @ 23.43, 84: 08-17 12:30:00 - 08-17 13:00:00 @ 22.33, 85: 08-17 13:00:00 - 08-17 13:30:00 @ 22.76, 86: 08-17 13:30:00 - 08-17 14:00:00 @ 22.3, 87: 08-17 14:00:00 - 08-17 14:30:00 @ 21.41, 88: 08-17 14:30:00 - 08-17 15:00:00 @ 21.65, 89: 08-17 15:00:00 - 08-17 15:30:00 @ 22.95, 90: 08-17 15:30:00 - 08-17 16:00:00 @ 22.83, 91: 08-17 16:00:00 - 08-17 16:30:00 @ 36.84, 92: 08-17 16:30:00 - 08-17 17:00:00 @ 37.54, 93: 08-17 17:00:00 - 08-17 17:30:00 @ 41.79, 94: 08-17 17:30:00 - 08-17 18:00:00 @ 43.7, 95: 08-17 18:00:00 - 08-17 18:30:00 @ 44.34]
2026-08-15 18:20:04.031648: Inverter 0 Charge window will be: 2026-08-16 11:00:00+01:00 - 2026-08-16 16:00:00+01:00 - current SoC 95%, target 16%
2026-08-15 18:20:04.031855: Inverter 0 disabled charge window while waiting for schedule (now 08-15 18:20:00 target set_window_minutes 30 charge start time 08-16 11:00:00) original inverter start time 08-17 00:00:00
2026-08-15 18:20:04.031990: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 18:20:04.032301: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 18:20:04.032397: No export window planned
2026-08-15 18:20:04.032517: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 18:20:04.032593: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 18:20:04.032774: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 18:20:04.033108: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 18:20:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 18:20:04.033185: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 18:20:04.033258: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 18:20:04.033361: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 18:20:04.033405: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 18:20:04.033433: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 18:20:04.033459: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 18:20:04.033483: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 18:20:04.033511: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 18:20:04.033536: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 18:20:04.033628: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 18:20:04.033671: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 18:20:04.033698: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 18:20:04.033725: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 18:20:04.033772: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 18:20:04.033797: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 18:20:04.033822: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 18:20:04.033842: Inverter 0 count register writes 0
2026-08-15 18:20:04.050441: Will not recompute the plan, it is 5.0 minutes old and max age is 10 minutes
2026-08-15 18:20:04.056058: Total inverter register writes now 826
2026-08-15 18:20:04.091650: Info: Completed run status Demand
2026-08-15 18:20:04.098133: Info: record_status Demand
2026-08-15 18:20:04.107017: Saved current settings to /config/predbat_config.json
2026-08-15 18:20:04.107390: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 18:20:42.219553: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 18:20:42.220501: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 18:20:42.220568: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 18:20:42.220757: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 18:20:42.220802: Note: Inverter does not support discharge freeze - disabled
2026-08-15 18:20:42.220824: Note: Inverter does not support charge freeze - disabled
2026-08-15 18:20:42.220844: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 18:22:42.435682: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 18:22:42.435917: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 18:22:42.435959: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 18:22:42.436089: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 18:22:42.436157: Note: Inverter does not support discharge freeze - disabled
2026-08-15 18:22:42.436178: Note: Inverter does not support charge freeze - disabled
2026-08-15 18:22:42.436196: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 18:24:56.683252: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 18:24:56.683458: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 18:24:56.683492: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 18:24:56.683661: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 18:24:56.683730: Note: Inverter does not support discharge freeze - disabled
2026-08-15 18:24:56.683747: Note: Inverter does not support charge freeze - disabled
2026-08-15 18:24:56.683763: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 18:25:00.765616: --------------- PredBat - update at 2026-08-15 18:25:00+01:00 with clock skew 0 minutes, minutes now 1105
2026-08-15 18:25:00.766370: Saved current settings to /config/predbat_config.json
2026-08-15 18:25:01.014300: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.2, latest beta is v8.48.2
2026-08-15 18:25:01.014416: Autoupdate: There is an update pending v8.48.2 PV90 and second pass enabled by default, bug fixes - auto update is off
2026-08-15 18:25:01.033391: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 18:25:01.033525: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 18:25:01.033710: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 18:25:01.034250: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 18:25:01.034371: Predbat mode is set to Control charge & discharge
2026-08-15 18:25:01.234182: Found 21602 load_today datapoints going back 28 days
2026-08-15 18:25:01.234355: Using load_power data to fill gaps in load_today data
2026-08-15 18:25:02.130035: Processing 721 30-minute periods for power integration
2026-08-15 18:25:02.318318: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 18:25:02.318458: Car charging hold False, threshold 6.0kWh
2026-08-15 18:25:02.318504: Current data so far today: load 9.2kWh, import 27.6kWh, export 0.0kWh, PV 0kWh
2026-08-15 18:25:02.335853: Cars: SoC: [10.548]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 18:25:02.336357: Standing charge is set to 49.98p
2026-08-15 18:25:02.382554: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 18:25:02.382693: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 18:25:02.382895: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 465.0 minutes
2026-08-15 18:25:02.383308: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 465.0 minutes
2026-08-15 18:25:02.389545: Loaded 95 datapoints of futurerate analysis
2026-08-15 18:25:02.550744: Predicted future rates: ['08-15 00:00:00 => 28.69 / 20.01', '08-15 01:00:00 => 27.33 / 19.31', '08-15 02:00:00 => 26.31 / 18.8', '08-15 03:00:00 => 25.78 / 18.53', '08-15 04:00:00 => 25.59 / 18.43', '08-15 05:00:00 => 25.75 / 18.51', '08-15 06:00:00 => 25.34 / 18.3', '08-15 07:00:00 => 24.12 / 17.68', '08-15 08:00:00 => 22.82 / 17.01', '08-15 09:00:00 => 21.84 / 16.51', '08-15 10:00:00 => 20.22 / 15.68', '08-15 11:00:00 => 17.8 / 14.45', '08-15 12:00:00 => 16.16 / 13.61', '08-15 13:00:00 => 15.55 / 13.3', '08-15 14:00:00 => 15.14 / 13.09', '08-15 15:00:00 => 15.65 / 13.35', '08-15 16:00:00 => 32.68 / 16.13', '08-15 17:00:00 => 37.81 / 18.75', '08-15 18:00:00 => 42.15 / 20.96', '08-15 19:00:00 => 30.88 / 21.13', '08-15 20:00:00 => 31.43 / 21.41', '08-15 21:00:00 => 31.43 / 21.41', '08-15 22:00:00 => 30.37 / 20.87', '08-15 23:00:00 => 29.16 / 20.25', '08-16 00:00:00 => 28.62 / 19.97', '08-16 01:00:00 => 27.52 / 19.41', '08-16 02:00:00 => 26.55 / 18.92', '08-16 03:00:00 => 26.18 / 18.73', '08-16 04:00:00 => 26.12 / 18.7', '08-16 05:00:00 => 26.02 / 18.65', '08-16 06:00:00 => 25.78 / 18.53', '08-16 07:00:00 => 25.43 / 18.35', '08-16 08:00:00 => 24.63 / 17.94', '08-16 09:00:00 => 24.05 / 17.64', '08-16 10:00:00 => 24.59 / 17.92', '08-16 11:00:00 => 24.5 / 17.87', '08-16 12:00:00 => 23.58 / 17.4', '08-16 13:00:00 => 22.93 / 17.07', '08-16 14:00:00 => 21.8 / 16.49', '08-16 15:00:00 => 21.8 / 16.49', '08-16 16:00:00 => 36.93 / 18.3', '08-16 17:00:00 => 39.92 / 19.83']
2026-08-15 18:25:02.596427: Rate min forward looking: now 21.41p at end of forecast 21.41p
2026-08-15 18:25:02.596973: Import rates: min 21.41p, max 45.28p, average 28.47p
2026-08-15 18:25:02.640626: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 18:25:02.640758: Rate thresholds (for charge/export) are import 44.78p (0.0p), export -0.1p (0.0p)
2026-08-15 18:25:02.642237: High export rate found rates in range 99p to -99p
2026-08-15 18:25:02.747182: Low Import rate found rates in range 21.41p to 44.34p
2026-08-15 18:25:02.747298: Car 0 charging is not planned as it is not plugged in
2026-08-15 18:25:02.760375: Battery level now 15.2kWh, -1hr ago 15.52kWh, at midnight 1.66kWh, battery value change in the last hour -5.89p, change today 249.12p, rate_forward 18.39p
2026-08-15 18:25:02.760795: Last hour: net energy 0.0kWh, import 0.0kWh, export 0.0kWh, car 0kWh, load 0.2kWh, net cost 0.0p, import 0.0p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 18:25:02.818548: Today's energy total net 27.6kWh, import 27.6kWh, export 0.0kWh, cost 566.08p, import 516.09p, export 0.0p, carbon 0.0kg
2026-08-15 18:25:02.818721: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 18:25:02.910635: Using weighted-bucket historical load forecast over 14 days
2026-08-15 18:25:02.942728: Today's load divergence 86.9%, in-day adjustment 100.63%, damping 0.95x, yesterday 143.77% today 87.55% blend 23.26%
2026-08-15 18:25:02.942829: Today's predicted so far 10.94kWh with 0.0kWh car/iBoost excluded, 20.85kWh import ignored, and 10.94kWh forecast extra.
2026-08-15 18:25:02.942861: Today's actual load so far 9.17kWh with 0.0kWh car/iBoost excluded, and 20.85kWh import ignored.
2026-08-15 18:25:02.976488: Inverter 0: Type SK Sunsynk
2026-08-15 18:25:02.976579: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 18:25:02.976782: Reserve min: 7%, battery_min: 7%
2026-08-15 18:25:02.976862: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 18:25:02.977179: Inverter 0 SoC: 15.2kW 95%, current charge rate 5000W, current discharge rate 5250W, current battery power 252W, current battery voltage 51.2V, grid power -55W, load power 314W, PV Power 0W
2026-08-15 18:25:02.977343: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 18:25:02.977429: Inverter 0 scheduled charge enable is False
2026-08-15 18:25:02.977464: Inverter 0 charge windows currently []
2026-08-15 18:25:02.977490: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 18:25:02.977615: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 18:25:02.977653: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 18:25:02.977688: Inverter 0 scheduled discharge enable is False
2026-08-15 18:25:02.977818: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 18:25:02.977854: Inverter 0 discharge windows currently []
2026-08-15 18:25:02.977876: Note: Inverter does not support discharge freeze - disabled
2026-08-15 18:25:02.977899: Note: Inverter does not support charge freeze - disabled
2026-08-15 18:25:02.977920: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 18:25:03.040159: Dynamic load last period 0.00kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 18:25:03.040266: Plan was last updated on 2026-08-15 18:15:00+01:00 and is now 10.0 minutes old
2026-08-15 18:25:03.040508: Best charge window [ 16-08 11:00:00 - 16-08 12:30:00 @ 23.65p 16%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 31%, 16-08 13:30:00 - 16-08 15:00:00 @ 21.91p 100%, 16-08 15:00:00 - 16-08 16:00:00 @ 22.89p 75%, 17-08 12:30:00 - 17-08 18:00:00 @ 40.7p 100% ]
2026-08-15 18:25:03.040577: Best export window [  ]
2026-08-15 18:25:03.041392: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 18:25:03.044541: Load divergence over 8.0 hours mean 698.58W, min 314.4W, max 1875.0W, std dev 418.48W, divergence 29.95%
2026-08-15 18:25:03.062500: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 18:25:03.062788: LoadML is_calculating False
2026-08-15 18:25:03.063253: Creating pool of 12 processes to match your CPU count
2026-08-15 18:25:03.186108: predict base end_record 08-17 12:40:00, final soc 1.12kWh, metric 1099.97p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 13:35:00, load 37.29kWh, PV 0.0kWh
2026-08-15 18:25:03.313212: Battery has 19.17 hours left - now at 15.2kWh
2026-08-15 18:25:03.356258: predict base10 end_record 08-17 12:40:00, final soc 1.12kWh, metric 1134.7p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 12:50:00, load 38.62kWh, PV 0.0kWh
2026-08-15 18:25:03.441762: predict best10 end_record 08-17 12:40:00, final soc 1.77kWh, metric 1082.8p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 06:10:00, load 38.62kWh, PV 0.0kWh
2026-08-15 18:25:03.525067: predict best end_record 08-17 12:40:00, final soc 1.9kWh, metric 1051.73p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 07:10:00, load 37.29kWh, PV 0.0kWh
2026-08-15 18:25:03.525165: Saving plan best values to HA entities
2026-08-15 18:25:03.701484: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 18:25:03.707062: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 18:25:03.712386: Best charging limit SoC's [2.5, 5.0, 16.0, 12.0, 16.0]kWh, export []kWh gives import battery 13.81kWh, house 3.32kWh, export 0.0kWh, metric 1051.73p, metric10 1082.8p
2026-08-15 18:25:03.790316: Marginal costs baseline metric (no standing charge): 951.7607
2026-08-15 18:25:04.072844: Marginal energy costs matrix computed: min=24.33 max=32.07
2026-08-15 18:25:04.162440: Rate array import [{'start': 1105, 'end': 1140, 'rate': 'very expensive', 'range': '(41.5p - 43.8p)'}, {'start': 1140, 'end': 1410, 'rate': 'expensive', 'range': '(29.8p - 32.9p)'}, {'start': 1410, 'end': 2400, 'rate': 'cheap', 'range': '(21.4p - 28.2p)'}, {'start': 2400, 'end': 2430, 'rate': 'expensive', 'range': '(36.8p)'}, {'start': 2430, 'end': 2580, 'rate': 'very expensive', 'range': '(37.5p - 45.3p)'}, {'start': 2580, 'end': 2850, 'rate': 'expensive', 'range': '(30.0p - 35.9p)'}, {'start': 2850, 'end': 3640, 'rate': 'cheap', 'range': '(22.3p - 28.2p)'}] export [{'start': 1105, 'end': 3640, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 18:25:04.163242: - Your estimated bill for today is £5.66 and tomorrow is £3.34
2026-08-15 18:25:04.163289: - Import rates are very expensive (41.5p - 43.8p) for the next 35 minutes and then expensive (29.8p - 32.9p) for the next 4 and a half hours.
2026-08-15 18:25:04.163312: - The battery is currently at 95% and is in eco mode for the next 16 hours.
2026-08-15 18:25:04.163330: - For the next 48 hours there will be no solar generation.
2026-08-15 18:25:04.163348: - You will run out of battery in 36 hours.
2026-08-15 18:25:04.163365: - Your next charge slot will be in 16 hours where import rates will be cheap (24.3p).
2026-08-15 18:25:04.163382: 
2026-08-15 18:25:04.241388: Plan calculation took 1.20 seconds
2026-08-15 18:25:04.245299: No high rate period found
2026-08-15 18:25:04.297583: Import threshold used for optimisation was 25.86p
2026-08-15 18:25:04.356184: Low import rate windows [0: 08-15 18:00:00 - 08-15 18:30:00 @ 41.55, 1: 08-15 18:30:00 - 08-15 19:00:00 @ 43.82, 2: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 3: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 4: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 5: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 6: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 7: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 8: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 9: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 10: 08-15 23:00:00 - 08-15 23:30:00 @ 30.02, 11: 08-15 23:30:00 - 08-16 00:00:00 @ 27.8, 12: 08-16 00:00:00 - 08-16 00:30:00 @ 28.18, 13: 08-16 00:30:00 - 08-16 01:00:00 @ 27.38, 14: 08-16 01:00:00 - 08-16 01:30:00 @ 26.7, 15: 08-16 01:30:00 - 08-16 02:00:00 @ 26.31, 16: 08-16 02:00:00 - 08-16 02:30:00 @ 25.79, 17: 08-16 02:30:00 - 08-16 03:00:00 @ 25.86, 18: 08-16 03:00:00 - 08-16 03:30:00 @ 26.13, 19: 08-16 03:30:00 - 08-16 04:00:00 @ 25.86, 20: 08-16 04:00:00 - 08-16 04:30:00 @ 26.27, 21: 08-16 04:30:00 - 08-16 05:00:00 @ 26.14, 22: 08-16 05:00:00 - 08-16 05:30:00 @ 27.03, 23: 08-16 05:30:00 - 08-16 06:00:00 @ 26.28, 24: 08-16 06:00:00 - 08-16 06:30:00 @ 25.68, 25: 08-16 06:30:00 - 08-16 07:00:00 @ 26.1, 26: 08-16 07:00:00 - 08-16 07:30:00 @ 24.28, 27: 08-16 07:30:00 - 08-16 08:00:00 @ 24.94, 28: 08-16 08:00:00 - 08-16 08:30:00 @ 24.06, 29: 08-16 08:30:00 - 08-16 09:00:00 @ 24.39, 30: 08-16 09:00:00 - 08-16 09:30:00 @ 24.66, 31: 08-16 09:30:00 - 08-16 10:00:00 @ 24.06, 32: 08-16 10:00:00 - 08-16 10:30:00 @ 25.5, 33: 08-16 10:30:00 - 08-16 11:00:00 @ 24.94, 34: 08-16 11:00:00 - 08-16 11:30:00 @ 24.25, 35: 08-16 11:30:00 - 08-16 12:00:00 @ 23.49, 36: 08-16 12:00:00 - 08-16 12:30:00 @ 23.43, 37: 08-16 12:30:00 - 08-16 13:00:00 @ 22.33, 38: 08-16 13:00:00 - 08-16 13:30:00 @ 22.76, 39: 08-16 13:30:00 - 08-16 14:00:00 @ 22.3, 40: 08-16 14:00:00 - 08-16 14:30:00 @ 21.41, 41: 08-16 14:30:00 - 08-16 15:00:00 @ 21.65, 42: 08-16 15:00:00 - 08-16 15:30:00 @ 22.95, 43: 08-16 15:30:00 - 08-16 16:00:00 @ 22.83, 44: 08-16 16:00:00 - 08-16 16:30:00 @ 36.84, 45: 08-16 16:30:00 - 08-16 17:00:00 @ 37.54, 46: 08-16 17:00:00 - 08-16 17:30:00 @ 41.79, 47: 08-16 17:30:00 - 08-16 18:00:00 @ 43.7, 48: 08-16 18:00:00 - 08-16 18:30:00 @ 44.34, 49: 08-16 19:00:00 - 08-16 19:30:00 @ 34.79, 50: 08-16 19:30:00 - 08-16 20:00:00 @ 34.76, 51: 08-16 20:00:00 - 08-16 20:30:00 @ 35.62, 52: 08-16 20:30:00 - 08-16 21:00:00 @ 35.3, 53: 08-16 21:00:00 - 08-16 21:30:00 @ 35.89, 54: 08-16 21:30:00 - 08-16 22:00:00 @ 35.71, 55: 08-16 22:00:00 - 08-16 22:30:00 @ 33.75, 56: 08-16 22:30:00 - 08-16 23:00:00 @ 32.0, 57: 08-16 23:00:00 - 08-16 23:30:00 @ 30.02, 58: 08-16 23:30:00 - 08-17 00:00:00 @ 27.8, 59: 08-17 00:00:00 - 08-17 00:30:00 @ 28.18, 60: 08-17 00:30:00 - 08-17 01:00:00 @ 27.38, 61: 08-17 01:00:00 - 08-17 01:30:00 @ 26.7, 62: 08-17 01:30:00 - 08-17 02:00:00 @ 26.31, 63: 08-17 02:00:00 - 08-17 02:30:00 @ 25.79, 64: 08-17 02:30:00 - 08-17 03:00:00 @ 25.86, 65: 08-17 03:00:00 - 08-17 03:30:00 @ 26.13, 66: 08-17 03:30:00 - 08-17 04:00:00 @ 25.86, 67: 08-17 04:00:00 - 08-17 04:30:00 @ 26.27, 68: 08-17 04:30:00 - 08-17 05:00:00 @ 26.14, 69: 08-17 05:00:00 - 08-17 05:30:00 @ 27.03, 70: 08-17 05:30:00 - 08-17 06:00:00 @ 26.28, 71: 08-17 06:00:00 - 08-17 06:30:00 @ 25.68, 72: 08-17 06:30:00 - 08-17 07:00:00 @ 26.1, 73: 08-17 07:00:00 - 08-17 07:30:00 @ 24.28, 74: 08-17 07:30:00 - 08-17 08:00:00 @ 24.94, 75: 08-17 08:00:00 - 08-17 08:30:00 @ 24.06, 76: 08-17 08:30:00 - 08-17 09:00:00 @ 24.39, 77: 08-17 09:00:00 - 08-17 09:30:00 @ 24.66, 78: 08-17 09:30:00 - 08-17 10:00:00 @ 24.06, 79: 08-17 10:00:00 - 08-17 10:30:00 @ 25.5, 80: 08-17 10:30:00 - 08-17 11:00:00 @ 24.94, 81: 08-17 11:00:00 - 08-17 11:30:00 @ 24.25, 82: 08-17 11:30:00 - 08-17 12:00:00 @ 23.49, 83: 08-17 12:00:00 - 08-17 12:30:00 @ 23.43, 84: 08-17 12:30:00 - 08-17 13:00:00 @ 22.33, 85: 08-17 13:00:00 - 08-17 13:30:00 @ 22.76, 86: 08-17 13:30:00 - 08-17 14:00:00 @ 22.3, 87: 08-17 14:00:00 - 08-17 14:30:00 @ 21.41, 88: 08-17 14:30:00 - 08-17 15:00:00 @ 21.65, 89: 08-17 15:00:00 - 08-17 15:30:00 @ 22.95, 90: 08-17 15:30:00 - 08-17 16:00:00 @ 22.83, 91: 08-17 16:00:00 - 08-17 16:30:00 @ 36.84, 92: 08-17 16:30:00 - 08-17 17:00:00 @ 37.54, 93: 08-17 17:00:00 - 08-17 17:30:00 @ 41.79, 94: 08-17 17:30:00 - 08-17 18:00:00 @ 43.7, 95: 08-17 18:00:00 - 08-17 18:30:00 @ 44.34]
2026-08-15 18:25:04.364401: Inverter 0 Charge window will be: 2026-08-16 11:00:00+01:00 - 2026-08-16 16:00:00+01:00 - current SoC 95%, target 16%
2026-08-15 18:25:04.364568: Inverter 0 disabled charge window while waiting for schedule (now 08-15 18:25:00 target set_window_minutes 30 charge start time 08-16 11:00:00) original inverter start time 08-17 00:00:00
2026-08-15 18:25:04.364713: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 18:25:04.365029: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 18:25:04.365143: No export window planned
2026-08-15 18:25:04.365271: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 18:25:04.365323: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 18:25:04.365502: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 18:25:04.365709: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 18:25:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 18:25:04.365773: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 18:25:04.365861: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 18:25:04.365958: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 18:25:04.366002: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 18:25:04.366030: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 18:25:04.366056: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 18:25:04.366085: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 18:25:04.366115: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 18:25:04.366140: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 18:25:04.366210: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 18:25:04.366240: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 18:25:04.366264: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 18:25:04.366294: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 18:25:04.366319: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 18:25:04.366343: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 18:25:04.366371: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 18:25:04.366391: Inverter 0 count register writes 0
2026-08-15 18:25:04.383640: Will recompute the plan as it is now 10.0 minutes old and will exceed the max age of 10 minutes before the next run
2026-08-15 18:25:04.383825: Recompute is saving previous plan...
2026-08-15 18:25:04.387011: Best charge window [ 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 0%, 15-08 18:30:00 - 15-08 19:00:00 @ 43.82p 0%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 0%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 0%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 0%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 0%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 30.02p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 27.8p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.18p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.38p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 26.7p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.31p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.79p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 25.86p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.13p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 25.86p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.27p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.14p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 27.03p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.28p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.68p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 26.1p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 24.28p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 24.94p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.06p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.39p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.66p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.06p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 25.5p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 24.94p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 24.25p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 23.49p 0%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.43p 0%, 16-08 12:30:00 - 16-08 13:00:00 @ 22.33p 0%, 16-08 13:00:00 - 16-08 13:30:00 @ 22.76p 0%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 0%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 0%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.65p 0%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.95p 0%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.83p 0%, 16-08 16:00:00 - 16-08 16:30:00 @ 36.84p 0%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.54p 0%, 16-08 17:00:00 - 16-08 17:30:00 @ 41.79p 0%, 16-08 17:30:00 - 16-08 18:00:00 @ 43.7p 0%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.34p 0%, 16-08 19:00:00 - 16-08 19:30:00 @ 34.79p 0%, 16-08 19:30:00 - 16-08 20:00:00 @ 34.76p 0%, 16-08 20:00:00 - 16-08 20:30:00 @ 35.62p 0%, 16-08 20:30:00 - 16-08 21:00:00 @ 35.3p 0%, 16-08 21:00:00 - 16-08 21:30:00 @ 35.89p 0%, 16-08 21:30:00 - 16-08 22:00:00 @ 35.71p 0%, 16-08 22:00:00 - 16-08 22:30:00 @ 33.75p 0%, 16-08 22:30:00 - 16-08 23:00:00 @ 32.0p 0%, 16-08 23:00:00 - 16-08 23:30:00 @ 30.02p 0%, 16-08 23:30:00 - 17-08 00:00:00 @ 27.8p 0%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.18p 0%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.38p 0%, 17-08 01:00:00 - 17-08 01:30:00 @ 26.7p 0%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.31p 0%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.79p 0%, 17-08 02:30:00 - 17-08 03:00:00 @ 25.86p 0%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.13p 0%, 17-08 03:30:00 - 17-08 04:00:00 @ 25.86p 0%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.27p 0%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.14p 0%, 17-08 05:00:00 - 17-08 05:30:00 @ 27.03p 0%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.28p 0%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.68p 0%, 17-08 06:30:00 - 17-08 07:00:00 @ 26.1p 0%, 17-08 07:00:00 - 17-08 07:30:00 @ 24.28p 0%, 17-08 07:30:00 - 17-08 08:00:00 @ 24.94p 0%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.06p 0%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.39p 0%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.66p 0%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.06p 0%, 17-08 10:00:00 - 17-08 10:30:00 @ 25.5p 0%, 17-08 10:30:00 - 17-08 11:00:00 @ 24.94p 0%, 17-08 11:00:00 - 17-08 11:30:00 @ 24.25p 0%, 17-08 11:30:00 - 17-08 12:00:00 @ 23.49p 0%, 17-08 12:00:00 - 17-08 12:30:00 @ 23.43p 0%, 17-08 12:30:00 - 17-08 13:00:00 @ 22.33p 0%, 17-08 13:00:00 - 17-08 13:30:00 @ 22.76p 0%, 17-08 13:30:00 - 17-08 14:00:00 @ 22.3p 0%, 17-08 14:00:00 - 17-08 14:30:00 @ 21.41p 0%, 17-08 14:30:00 - 17-08 15:00:00 @ 21.65p 0%, 17-08 15:00:00 - 17-08 15:30:00 @ 22.95p 0%, 17-08 15:30:00 - 17-08 16:00:00 @ 22.83p 0%, 17-08 16:00:00 - 17-08 16:30:00 @ 36.84p 0%, 17-08 16:30:00 - 17-08 17:00:00 @ 37.54p 0%, 17-08 17:00:00 - 17-08 17:30:00 @ 41.79p 0%, 17-08 17:30:00 - 17-08 18:00:00 @ 43.7p 0%, 17-08 18:00:00 - 17-08 18:30:00 @ 44.34p 0% ]
2026-08-15 18:25:04.387117: Best export window [  ]
2026-08-15 18:25:04.387962: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 18:25:04.391105: Load divergence over 8.0 hours mean 698.58W, min 314.4W, max 1875.0W, std dev 418.48W, divergence 29.95%
2026-08-15 18:25:04.408377: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 18:25:04.408493: LoadML is_calculating False
2026-08-15 18:25:04.408592: Creating pool of 12 processes to match your CPU count
2026-08-15 18:25:04.499125: Calculate Best options: mode(Control charge & discharge), calculate_export_oncharge(False), calculate_export_on_pv(True), set_export_freeze_only(False), set_discharge_during_charge(True), combine_charge_slots(False), combine_export_slots(False), combine_rate_threshold(0.0), best_soc_min(0.0 kWh), best_soc_max(0.0 kWh), best_soc_keep(0.0 kWh), inverter_loss(4%), battery_loss(3%), battery_loss_discharge (3%), inverter_hybrid(True), metric_min_improvement(0.0p), metric_min_improvement_export(0.1p), metric_min_improvement_export_freeze(0.1p), metric_battery_cycle(0.0p/kWh), metric_battery_value_scaling(1.0 x) 
2026-08-15 18:25:04.501159: Optimise levels pass started at 2026-08-15 18:25:04
2026-08-15 18:25:04.501229: Optimise all windows, total charge 95 export 1
2026-08-15 18:25:05.496131: >> Region optimisation pass width 960 gives best_metric 1009.32p, best_cost 1022.59p, best_cycle 36.95kWh, best_import 20.14kWh
2026-08-15 18:25:05.823505: >> Region optimisation pass width 480 gives best_metric 1009.32p, best_cost 1022.59p, best_cycle 36.95kWh, best_import 20.14kWh
2026-08-15 18:25:06.291558: >> Region optimisation pass width 240 gives best_metric 1009.32p, best_cost 1022.59p, best_cycle 36.95kWh, best_import 20.14kWh
2026-08-15 18:25:07.484729: >> Region optimisation pass width 120 gives best_metric 1009.32p, best_cost 1022.59p, best_cycle 36.95kWh, best_import 20.14kWh
2026-08-15 18:25:07.485221: Calculated end_record as 08-17 12:30:00 based on best_price 22.33p, next_charge_start 08-16 12:30:00, max_windows 84
2026-08-15 18:25:07.485304: Optimise levels pass ended at 2026-08-15 18:25:07, duration 3.0 seconds tried 306 combinations
2026-08-15 18:25:07.485374: Set best_price_charge_level 24.0p, best_price_export_level 0p, best_price_charge 22.33p, best_cost_export 0p, best_metric 1009.32p, best_keep 0kWh, best_cycle 36.95kWh, best_carbon 0kg, best_import 20.14kWh
2026-08-15 18:25:07.502379: Starting detailed optimisation end_record 08-17 12:30:00, best_price_charge 22.33p, best_price_export 0p. lowest_price_charge 21.41p with charge limits [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 0, 16.0, 16.0, 16.0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0]kWh and export limits []kWh
2026-08-15 18:25:13.115869: Tweak plan optimisation started metric 914.71p, cost 930.21p
2026-08-15 18:25:13.366942: Tweak optimisation finished metric 914.71p, cost 930.21p, metric_keep 0kWh, cycle 32.17kWh, carbon 0kg, import 16.16kWh, changed 8 window(s)
2026-08-15 18:25:13.388319: Swap charge optimisation started metric 914.71p, cost 930.21p, min_improvement_swap 0.1p
2026-08-15 18:25:19.762499: Swap charge optimisation finished metric 914.71p, cost 930.21p
2026-08-15 18:25:19.870356: Pruned 1 dead plan slot(s) in 10 trial(s), nominal metric 909.61p -> 909.61p, plan now metric 914.76p, cost 930.21p, cycle 32.17kWh, import 16.16kWh
2026-08-15 18:25:19.879922: Raw charge windows [ 15-08 18:00:00 - 15-08 18:30:00 @ 41.55p 0%, 15-08 18:30:00 - 15-08 19:00:00 @ 43.82p 0%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 0%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 0%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 0%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 0%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 30.02p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 27.8p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.18p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.38p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 26.7p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.31p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.79p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 25.86p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.13p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 25.86p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.27p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.14p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 27.03p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.28p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.68p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 26.1p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 24.28p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 24.94p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.06p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.39p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.66p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.06p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 25.5p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 24.94p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 24.25p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 23.49p 16%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.43p 16%, 16-08 12:30:00 - 16-08 13:00:00 @ 22.33p 31%, 16-08 13:00:00 - 16-08 13:30:00 @ 22.76p 31%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 100%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 100%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.65p 100%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.95p 75%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.83p 75%, 16-08 16:00:00 - 16-08 16:30:00 @ 36.84p 0%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.54p 0%, 16-08 17:00:00 - 16-08 17:30:00 @ 41.79p 0%, 16-08 17:30:00 - 16-08 18:00:00 @ 43.7p 0%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.34p 0%, 16-08 19:00:00 - 16-08 19:30:00 @ 34.79p 0%, 16-08 19:30:00 - 16-08 20:00:00 @ 34.76p 0%, 16-08 20:00:00 - 16-08 20:30:00 @ 35.62p 0%, 16-08 20:30:00 - 16-08 21:00:00 @ 35.3p 0%, 16-08 21:00:00 - 16-08 21:30:00 @ 35.89p 0%, 16-08 21:30:00 - 16-08 22:00:00 @ 35.71p 0%, 16-08 22:00:00 - 16-08 22:30:00 @ 33.75p 0%, 16-08 22:30:00 - 16-08 23:00:00 @ 32.0p 0%, 16-08 23:00:00 - 16-08 23:30:00 @ 30.02p 0%, 16-08 23:30:00 - 17-08 00:00:00 @ 27.8p 0%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.18p 0%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.38p 0%, 17-08 01:00:00 - 17-08 01:30:00 @ 26.7p 0%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.31p 0%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.79p 0%, 17-08 02:30:00 - 17-08 03:00:00 @ 25.86p 0%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.13p 0%, 17-08 03:30:00 - 17-08 04:00:00 @ 25.86p 0%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.27p 0%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.14p 0%, 17-08 05:00:00 - 17-08 05:30:00 @ 27.03p 0%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.28p 0%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.68p 0%, 17-08 06:30:00 - 17-08 07:00:00 @ 26.1p 0%, 17-08 07:00:00 - 17-08 07:30:00 @ 24.28p 0%, 17-08 07:30:00 - 17-08 08:00:00 @ 24.94p 0%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.06p 0%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.39p 0%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.66p 0%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.06p 0%, 17-08 10:00:00 - 17-08 10:30:00 @ 25.5p 0%, 17-08 10:30:00 - 17-08 11:00:00 @ 24.94p 0%, 17-08 11:00:00 - 17-08 11:30:00 @ 24.25p 0%, 17-08 11:30:00 - 17-08 12:00:00 @ 23.49p 0%, 17-08 12:00:00 - 17-08 12:30:00 @ 23.43p 0%, 17-08 12:30:00 - 17-08 13:00:00 @ 22.33p 100%, 17-08 13:00:00 - 17-08 13:30:00 @ 22.76p 100%, 17-08 13:30:00 - 17-08 14:00:00 @ 22.3p 100%, 17-08 14:00:00 - 17-08 14:30:00 @ 21.41p 100%, 17-08 14:30:00 - 17-08 15:00:00 @ 21.65p 100%, 17-08 15:00:00 - 17-08 15:30:00 @ 22.95p 100%, 17-08 15:30:00 - 17-08 16:00:00 @ 22.83p 100%, 17-08 16:00:00 - 17-08 16:30:00 @ 36.84p 100%, 17-08 16:30:00 - 17-08 17:00:00 @ 37.54p 100%, 17-08 17:00:00 - 17-08 17:30:00 @ 41.79p 100%, 17-08 17:30:00 - 17-08 18:00:00 @ 43.7p 100%, 17-08 18:00:00 - 17-08 18:30:00 @ 44.34p 100% ] reserve 1.12
2026-08-15 18:25:19.880371: Unclipped charge windows [ 16-08 11:30:00 - 16-08 12:30:00 @ 23.46p 16%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 31%, 16-08 13:30:00 - 16-08 15:00:00 @ 21.75p 100%, 16-08 15:00:00 - 16-08 16:00:00 @ 22.89p 75%, 17-08 12:30:00 - 17-08 18:30:00 @ 42.52p 100% ] reserve 1.12
2026-08-15 18:25:19.880583: Unfiltered charge windows [ 16-08 11:30:00 - 16-08 12:30:00 @ 23.46p 16%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 31%, 16-08 13:30:00 - 16-08 15:00:00 @ 21.75p 100%, 16-08 15:00:00 - 16-08 16:00:00 @ 22.89p 75%, 17-08 12:30:00 - 17-08 18:30:00 @ 42.52p 100% ] reserve 1.12
2026-08-15 18:25:19.880805: Filtered charge windows [ 16-08 11:30:00 - 16-08 12:30:00 @ 23.46p 16%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 31%, 16-08 13:30:00 - 16-08 15:00:00 @ 21.75p 100%, 16-08 15:00:00 - 16-08 16:00:00 @ 22.89p 75%, 17-08 12:30:00 - 17-08 18:30:00 @ 42.52p 100% ] reserve 1.12
2026-08-15 18:25:19.911029: Previous plan best metric is 914.71 (cost 930.21) and new plan best metric is 914.71 (cost 930.21)
2026-08-15 18:25:19.911201: New plan metric is not significantly better (metric_min_improvement_plan 2.0) than previous plan, using previous plan
2026-08-15 18:25:19.911350: Plan valid is now true after recompute was False
2026-08-15 18:25:19.934609: predict base end_record 08-17 12:30:00, final soc 1.12kWh, metric 1097.03p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 13:35:00, load 37.16kWh, PV 0.0kWh
2026-08-15 18:25:20.039643: Battery has 19.17 hours left - now at 15.2kWh
2026-08-15 18:25:20.079588: predict base10 end_record 08-17 12:30:00, final soc 1.12kWh, metric 1131.62p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 12:50:00, load 38.49kWh, PV 0.0kWh
2026-08-15 18:25:20.159556: predict best10 end_record 08-17 12:30:00, final soc 1.12kWh, metric 1064.2p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 06:10:00, load 38.49kWh, PV 0.0kWh
2026-08-15 18:25:20.234760: predict best end_record 08-17 12:30:00, final soc 1.12kWh, metric 1030.17p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 07:10:00, load 37.16kWh, PV 0.0kWh
2026-08-15 18:25:20.234856: Saving plan best values to HA entities
2026-08-15 18:25:20.390551: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 18:25:20.396522: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 18:25:20.401837: Best charging limit SoC's [2.5, 5.0, 16.0, 12.0, 16.0]kWh, export []kWh gives import battery 12.85kWh, house 3.32kWh, export 0.0kWh, metric 1030.17p, metric10 1064.2p
2026-08-15 18:25:20.472274: Marginal costs baseline metric (no standing charge): 930.2082
2026-08-15 18:25:20.694370: Marginal energy costs matrix computed: min=24.33 max=32.07
2026-08-15 18:25:20.763359: Rate array import [{'start': 1105, 'end': 1140, 'rate': 'very expensive', 'range': '(41.5p - 43.8p)'}, {'start': 1140, 'end': 1410, 'rate': 'expensive', 'range': '(29.8p - 32.9p)'}, {'start': 1410, 'end': 2400, 'rate': 'cheap', 'range': '(21.4p - 28.2p)'}, {'start': 2400, 'end': 2430, 'rate': 'expensive', 'range': '(36.8p)'}, {'start': 2430, 'end': 2580, 'rate': 'very expensive', 'range': '(37.5p - 45.3p)'}, {'start': 2580, 'end': 2850, 'rate': 'expensive', 'range': '(30.0p - 35.9p)'}, {'start': 2850, 'end': 3630, 'rate': 'cheap', 'range': '(23.4p - 28.2p)'}] export [{'start': 1105, 'end': 3630, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 18:25:20.764195: - Your estimated bill for today is £5.66 and tomorrow is £3.34
2026-08-15 18:25:20.764259: - Import rates are very expensive (41.5p - 43.8p) for the next 35 minutes and then expensive (29.8p - 32.9p) for the next 4 and a half hours.
2026-08-15 18:25:20.764285: - The battery is currently at 95% and is in eco mode for the next 16 hours.
2026-08-15 18:25:20.764304: - For the next 48 hours there will be no solar generation.
2026-08-15 18:25:20.764322: - You will run out of battery in 36 hours.
2026-08-15 18:25:20.764339: - Your next charge slot will be in 16 hours where import rates will be cheap (24.3p).
2026-08-15 18:25:20.764356: 
2026-08-15 18:25:20.830686: Plan calculation took 16.45 seconds
2026-08-15 18:25:20.831053: Inverter 0: Type SK Sunsynk
2026-08-15 18:25:20.831100: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 18:25:20.831317: Reserve min: 7%, battery_min: 7%
2026-08-15 18:25:20.831393: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 18:25:20.831745: Inverter 0 SoC: 15.2kW 95%, current charge rate 5000W, current discharge rate 5250W, current battery power 252W, current battery voltage 51.2V, grid power -55W, load power 314W, PV Power 0W
2026-08-15 18:25:20.831979: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 18:25:20.832112: Inverter 0 scheduled charge enable is False
2026-08-15 18:25:20.832153: Inverter 0 charge windows currently []
2026-08-15 18:25:20.832189: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 18:25:20.832308: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 18:25:20.832343: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 18:25:20.832378: Inverter 0 scheduled discharge enable is False
2026-08-15 18:25:20.832510: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 18:25:20.832547: Inverter 0 discharge windows currently []
2026-08-15 18:25:20.832570: Note: Inverter does not support discharge freeze - disabled
2026-08-15 18:25:20.832593: Note: Inverter does not support charge freeze - disabled
2026-08-15 18:25:20.832627: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 18:25:20.882448: Inverter 0 Charge window will be: 2026-08-16 11:00:00+01:00 - 2026-08-16 16:00:00+01:00 - current SoC 95%, target 16%
2026-08-15 18:25:20.882627: Inverter 0 disabled charge window while waiting for schedule (now 08-15 18:25:00 target set_window_minutes 30 charge start time 08-16 11:00:00) original inverter start time 08-17 00:00:00
2026-08-15 18:25:20.882725: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 18:25:20.882992: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 18:25:20.883091: No export window planned
2026-08-15 18:25:20.883277: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 18:25:20.883322: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 18:25:20.883480: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 18:25:20.883699: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 18:25:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 18:25:20.883764: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 18:25:20.883842: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 18:25:20.883965: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 18:25:20.884036: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 18:25:20.884075: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 18:25:20.884101: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 18:25:20.884148: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 18:25:20.884169: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 18:25:20.884188: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 18:25:20.884245: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 18:25:20.884276: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 18:25:20.884297: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 18:25:20.884317: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 18:25:20.884339: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 18:25:20.884383: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 18:25:20.884405: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 18:25:20.884425: Inverter 0 count register writes 0
2026-08-15 18:25:20.904271: Total inverter register writes now 826
2026-08-15 18:25:20.935891: Info: Completed run status Demand
2026-08-15 18:25:20.942205: Info: record_status Demand
2026-08-15 18:25:20.948527: Saved current settings to /config/predbat_config.json
2026-08-15 18:25:20.948800: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 18:25:57.052433: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 18:25:57.052736: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 18:25:57.052787: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 18:25:57.052941: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 18:25:57.053012: Note: Inverter does not support discharge freeze - disabled
2026-08-15 18:25:57.053034: Note: Inverter does not support charge freeze - disabled
2026-08-15 18:25:57.053053: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 18:27:57.282855: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 18:27:57.283092: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 18:27:57.283134: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 18:27:57.283327: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 18:27:57.283366: Note: Inverter does not support discharge freeze - disabled
2026-08-15 18:27:57.283387: Note: Inverter does not support charge freeze - disabled
2026-08-15 18:27:57.283405: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 18:30:00.501604: --------------- PredBat - update at 2026-08-15 18:30:00+01:00 with clock skew 0 minutes, minutes now 1110
2026-08-15 18:30:00.502320: Saved current settings to /config/predbat_config.json
2026-08-15 18:30:00.502439: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 5.0 minutes
2026-08-15 18:30:00.502514: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.2, latest beta is v8.48.2
2026-08-15 18:30:00.502689: Autoupdate: There is an update pending v8.48.2 PV90 and second pass enabled by default, bug fixes - auto update is off
2026-08-15 18:30:00.528242: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 18:30:00.528419: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 18:30:00.528711: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 18:30:00.529576: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 18:30:00.529792: Predbat mode is set to Control charge & discharge
2026-08-15 18:30:00.763789: Found 21602 load_today datapoints going back 28 days
2026-08-15 18:30:00.763939: Using load_power data to fill gaps in load_today data
2026-08-15 18:30:01.656898: Processing 721 30-minute periods for power integration
2026-08-15 18:30:01.857339: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 18:30:01.857489: Car charging hold False, threshold 6.0kWh
2026-08-15 18:30:01.857562: Current data so far today: load 9.33kWh, import 27.6kWh, export 0.0kWh, PV 0kWh
2026-08-15 18:30:01.878153: Cars: SoC: [10.548]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 18:30:01.879360: Standing charge is set to 49.98p
2026-08-15 18:30:01.941105: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 18:30:01.941214: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 18:30:01.941417: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 470.0 minutes
2026-08-15 18:30:01.941944: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 470.0 minutes
2026-08-15 18:30:01.947859: Loaded 95 datapoints of futurerate analysis
2026-08-15 18:30:02.106662: Predicted future rates: ['08-15 00:00:00 => 28.69 / 20.01', '08-15 01:00:00 => 27.33 / 19.31', '08-15 02:00:00 => 26.31 / 18.8', '08-15 03:00:00 => 25.78 / 18.53', '08-15 04:00:00 => 25.59 / 18.43', '08-15 05:00:00 => 25.75 / 18.51', '08-15 06:00:00 => 25.34 / 18.3', '08-15 07:00:00 => 24.12 / 17.68', '08-15 08:00:00 => 22.82 / 17.01', '08-15 09:00:00 => 21.84 / 16.51', '08-15 10:00:00 => 20.22 / 15.68', '08-15 11:00:00 => 17.8 / 14.45', '08-15 12:00:00 => 16.16 / 13.61', '08-15 13:00:00 => 15.55 / 13.3', '08-15 14:00:00 => 15.14 / 13.09', '08-15 15:00:00 => 15.65 / 13.35', '08-15 16:00:00 => 32.68 / 16.13', '08-15 17:00:00 => 37.81 / 18.75', '08-15 18:00:00 => 42.15 / 20.96', '08-15 19:00:00 => 30.88 / 21.13', '08-15 20:00:00 => 31.43 / 21.41', '08-15 21:00:00 => 31.43 / 21.41', '08-15 22:00:00 => 30.37 / 20.87', '08-15 23:00:00 => 29.16 / 20.25', '08-16 00:00:00 => 28.62 / 19.97', '08-16 01:00:00 => 27.52 / 19.41', '08-16 02:00:00 => 26.55 / 18.92', '08-16 03:00:00 => 26.18 / 18.73', '08-16 04:00:00 => 26.12 / 18.7', '08-16 05:00:00 => 26.02 / 18.65', '08-16 06:00:00 => 25.78 / 18.53', '08-16 07:00:00 => 25.43 / 18.35', '08-16 08:00:00 => 24.63 / 17.94', '08-16 09:00:00 => 24.05 / 17.64', '08-16 10:00:00 => 24.59 / 17.92', '08-16 11:00:00 => 24.5 / 17.87', '08-16 12:00:00 => 23.58 / 17.4', '08-16 13:00:00 => 22.93 / 17.07', '08-16 14:00:00 => 21.8 / 16.49', '08-16 15:00:00 => 21.8 / 16.49', '08-16 16:00:00 => 36.93 / 18.3', '08-16 17:00:00 => 39.92 / 19.83']
2026-08-15 18:30:02.157323: Rate min forward looking: now 21.41p at end of forecast 21.41p
2026-08-15 18:30:02.157746: Import rates: min 21.41p, max 45.28p, average 28.47p
2026-08-15 18:30:02.194243: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 18:30:02.194643: Rate thresholds (for charge/export) are import 44.78p (0.0p), export -0.1p (0.0p)
2026-08-15 18:30:02.195751: High export rate found rates in range 99p to -99p
2026-08-15 18:30:02.297551: Low Import rate found rates in range 21.41p to 44.34p
2026-08-15 18:30:02.297714: Car 0 charging is not planned as it is not plugged in
2026-08-15 18:30:02.312813: Battery level now 15.2kWh, -1hr ago 15.52kWh, at midnight 1.66kWh, battery value change in the last hour -5.89p, change today 249.12p, rate_forward 18.39p
2026-08-15 18:30:02.313287: Last hour: net energy 0.0kWh, import 0.0kWh, export 0.0kWh, car 0kWh, load 0.3kWh, net cost 0.0p, import 0.0p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 18:30:02.380753: Today's energy total net 27.6kWh, import 27.6kWh, export 0.0kWh, cost 566.08p, import 516.09p, export 0.0p, carbon 0.0kg
2026-08-15 18:30:02.380906: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 18:30:02.477703: Using weighted-bucket historical load forecast over 14 days
2026-08-15 18:30:02.509512: Today's load divergence 87.79%, in-day adjustment 101.09%, damping 0.95x, yesterday 143.77% today 88.4% blend 22.92%
2026-08-15 18:30:02.509661: Today's predicted so far 11.06kWh with 0.0kWh car/iBoost excluded, 20.77kWh import ignored, and 11.06kWh forecast extra.
2026-08-15 18:30:02.509727: Today's actual load so far 9.41kWh with 0.0kWh car/iBoost excluded, and 20.77kWh import ignored.
2026-08-15 18:30:02.546604: Inverter 0: Type SK Sunsynk
2026-08-15 18:30:02.546706: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 18:30:02.546883: Reserve min: 7%, battery_min: 7%
2026-08-15 18:30:02.546953: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 18:30:02.547208: Inverter 0 SoC: 15.2kW 95%, current charge rate 5000W, current discharge rate 5250W, current battery power 258W, current battery voltage 51.2V, grid power -56W, load power 321W, PV Power 0W
2026-08-15 18:30:02.547360: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 18:30:02.547449: Inverter 0 scheduled charge enable is False
2026-08-15 18:30:02.547487: Inverter 0 charge windows currently []
2026-08-15 18:30:02.547513: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 18:30:02.547630: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 18:30:02.547669: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 18:30:02.547705: Inverter 0 scheduled discharge enable is False
2026-08-15 18:30:02.547829: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 18:30:02.547866: Inverter 0 discharge windows currently []
2026-08-15 18:30:02.547888: Note: Inverter does not support discharge freeze - disabled
2026-08-15 18:30:02.547907: Note: Inverter does not support charge freeze - disabled
2026-08-15 18:30:02.547924: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 18:30:02.612487: Dynamic load last period 0.30kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 18:30:02.612597: Plan was last updated on 2026-08-15 18:25:00+01:00 and is now 5.0 minutes old
2026-08-15 18:30:02.612858: Best charge window [ 16-08 11:00:00 - 16-08 12:30:00 @ 23.65p 16%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 31%, 16-08 13:30:00 - 16-08 15:00:00 @ 21.91p 100%, 16-08 15:00:00 - 16-08 16:00:00 @ 22.89p 75%, 17-08 12:30:00 - 17-08 18:00:00 @ 40.7p 100% ]
2026-08-15 18:30:02.612903: Best export window [  ]
2026-08-15 18:30:02.613743: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 18:30:02.617128: Load divergence over 8.0 hours mean 707.54W, min 362.4W, max 1953.0W, std dev 428.09W, divergence 30.25%
2026-08-15 18:30:02.637576: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 18:30:02.637756: LoadML is_calculating False
2026-08-15 18:30:02.637855: Creating pool of 12 processes to match your CPU count
2026-08-15 18:30:02.765964: predict base end_record 08-17 12:35:00, final soc 1.12kWh, metric 1096.81p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 13:40:00, load 37.27kWh, PV 0.0kWh
2026-08-15 18:30:02.902109: Battery has 19.17 hours left - now at 15.2kWh
2026-08-15 18:30:02.948536: predict base10 end_record 08-17 12:35:00, final soc 1.12kWh, metric 1131.43p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 12:55:00, load 38.6kWh, PV 0.0kWh
2026-08-15 18:30:03.039226: predict best10 end_record 08-17 12:35:00, final soc 1.44kWh, metric 1071.6p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 06:10:00, load 38.6kWh, PV 0.0kWh
2026-08-15 18:30:03.129706: predict best end_record 08-17 12:35:00, final soc 1.51kWh, metric 1039.16p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 07:10:00, load 37.27kWh, PV 0.0kWh
2026-08-15 18:30:03.129793: Saving plan best values to HA entities
2026-08-15 18:30:03.335274: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 18:30:03.341994: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 18:30:03.348791: Best charging limit SoC's [2.5, 5.0, 16.0, 12.0, 16.0]kWh, export []kWh gives import battery 13.27kWh, house 3.31kWh, export 0.0kWh, metric 1039.16p, metric10 1071.6p
2026-08-15 18:30:03.428401: Marginal costs baseline metric (no standing charge): 939.1965
2026-08-15 18:30:03.698145: Marginal energy costs matrix computed: min=24.11 max=31.7
2026-08-15 18:30:03.798597: Rate array import [{'start': 1110, 'end': 1140, 'rate': 'very expensive', 'range': '(43.8p)'}, {'start': 1140, 'end': 1410, 'rate': 'expensive', 'range': '(29.8p - 32.9p)'}, {'start': 1410, 'end': 2400, 'rate': 'cheap', 'range': '(21.4p - 28.2p)'}, {'start': 2400, 'end': 2430, 'rate': 'expensive', 'range': '(36.8p)'}, {'start': 2430, 'end': 2580, 'rate': 'very expensive', 'range': '(37.5p - 45.3p)'}, {'start': 2580, 'end': 2850, 'rate': 'expensive', 'range': '(30.0p - 35.9p)'}, {'start': 2850, 'end': 3635, 'rate': 'cheap', 'range': '(22.3p - 28.2p)'}] export [{'start': 1110, 'end': 3635, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 18:30:03.799826: - Your estimated bill for today is £5.66 and tomorrow is £3.32
2026-08-15 18:30:03.799883: - Import rates are very expensive (43.8p) for the next 30 minutes and then expensive (29.8p - 32.9p) for the next 4 and a half hours.
2026-08-15 18:30:03.799907: - The battery is currently at 95% and is in eco mode for the next 16 hours.
2026-08-15 18:30:03.799924: - For the next 48 hours there will be no solar generation.
2026-08-15 18:30:03.799942: - You will run out of battery in 36 hours.
2026-08-15 18:30:03.799963: - Your next charge slot will be in 16 hours where import rates will be cheap (24.3p).
2026-08-15 18:30:03.799981: 
2026-08-15 18:30:03.881436: Plan calculation took 1.27 seconds
2026-08-15 18:30:03.885149: No high rate period found
2026-08-15 18:30:03.940053: Import threshold used for optimisation was 24.06p
2026-08-15 18:30:03.997209: Low import rate windows [0: 08-15 18:30:00 - 08-15 19:00:00 @ 43.82, 1: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 2: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 3: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 4: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 5: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 6: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 7: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 8: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 9: 08-15 23:00:00 - 08-15 23:30:00 @ 30.02, 10: 08-15 23:30:00 - 08-16 00:00:00 @ 27.8, 11: 08-16 00:00:00 - 08-16 00:30:00 @ 28.18, 12: 08-16 00:30:00 - 08-16 01:00:00 @ 27.38, 13: 08-16 01:00:00 - 08-16 01:30:00 @ 26.7, 14: 08-16 01:30:00 - 08-16 02:00:00 @ 26.31, 15: 08-16 02:00:00 - 08-16 02:30:00 @ 25.79, 16: 08-16 02:30:00 - 08-16 03:00:00 @ 25.86, 17: 08-16 03:00:00 - 08-16 03:30:00 @ 26.13, 18: 08-16 03:30:00 - 08-16 04:00:00 @ 25.86, 19: 08-16 04:00:00 - 08-16 04:30:00 @ 26.27, 20: 08-16 04:30:00 - 08-16 05:00:00 @ 26.14, 21: 08-16 05:00:00 - 08-16 05:30:00 @ 27.03, 22: 08-16 05:30:00 - 08-16 06:00:00 @ 26.28, 23: 08-16 06:00:00 - 08-16 06:30:00 @ 25.68, 24: 08-16 06:30:00 - 08-16 07:00:00 @ 26.1, 25: 08-16 07:00:00 - 08-16 07:30:00 @ 24.28, 26: 08-16 07:30:00 - 08-16 08:00:00 @ 24.94, 27: 08-16 08:00:00 - 08-16 08:30:00 @ 24.06, 28: 08-16 08:30:00 - 08-16 09:00:00 @ 24.39, 29: 08-16 09:00:00 - 08-16 09:30:00 @ 24.66, 30: 08-16 09:30:00 - 08-16 10:00:00 @ 24.06, 31: 08-16 10:00:00 - 08-16 10:30:00 @ 25.5, 32: 08-16 10:30:00 - 08-16 11:00:00 @ 24.94, 33: 08-16 11:00:00 - 08-16 11:30:00 @ 24.25, 34: 08-16 11:30:00 - 08-16 12:00:00 @ 23.49, 35: 08-16 12:00:00 - 08-16 12:30:00 @ 23.43, 36: 08-16 12:30:00 - 08-16 13:00:00 @ 22.33, 37: 08-16 13:00:00 - 08-16 13:30:00 @ 22.76, 38: 08-16 13:30:00 - 08-16 14:00:00 @ 22.3, 39: 08-16 14:00:00 - 08-16 14:30:00 @ 21.41, 40: 08-16 14:30:00 - 08-16 15:00:00 @ 21.65, 41: 08-16 15:00:00 - 08-16 15:30:00 @ 22.95, 42: 08-16 15:30:00 - 08-16 16:00:00 @ 22.83, 43: 08-16 16:00:00 - 08-16 16:30:00 @ 36.84, 44: 08-16 16:30:00 - 08-16 17:00:00 @ 37.54, 45: 08-16 17:00:00 - 08-16 17:30:00 @ 41.79, 46: 08-16 17:30:00 - 08-16 18:00:00 @ 43.7, 47: 08-16 18:00:00 - 08-16 18:30:00 @ 44.34, 48: 08-16 19:00:00 - 08-16 19:30:00 @ 34.79, 49: 08-16 19:30:00 - 08-16 20:00:00 @ 34.76, 50: 08-16 20:00:00 - 08-16 20:30:00 @ 35.62, 51: 08-16 20:30:00 - 08-16 21:00:00 @ 35.3, 52: 08-16 21:00:00 - 08-16 21:30:00 @ 35.89, 53: 08-16 21:30:00 - 08-16 22:00:00 @ 35.71, 54: 08-16 22:00:00 - 08-16 22:30:00 @ 33.75, 55: 08-16 22:30:00 - 08-16 23:00:00 @ 32.0, 56: 08-16 23:00:00 - 08-16 23:30:00 @ 30.02, 57: 08-16 23:30:00 - 08-17 00:00:00 @ 27.8, 58: 08-17 00:00:00 - 08-17 00:30:00 @ 28.18, 59: 08-17 00:30:00 - 08-17 01:00:00 @ 27.38, 60: 08-17 01:00:00 - 08-17 01:30:00 @ 26.7, 61: 08-17 01:30:00 - 08-17 02:00:00 @ 26.31, 62: 08-17 02:00:00 - 08-17 02:30:00 @ 25.79, 63: 08-17 02:30:00 - 08-17 03:00:00 @ 25.86, 64: 08-17 03:00:00 - 08-17 03:30:00 @ 26.13, 65: 08-17 03:30:00 - 08-17 04:00:00 @ 25.86, 66: 08-17 04:00:00 - 08-17 04:30:00 @ 26.27, 67: 08-17 04:30:00 - 08-17 05:00:00 @ 26.14, 68: 08-17 05:00:00 - 08-17 05:30:00 @ 27.03, 69: 08-17 05:30:00 - 08-17 06:00:00 @ 26.28, 70: 08-17 06:00:00 - 08-17 06:30:00 @ 25.68, 71: 08-17 06:30:00 - 08-17 07:00:00 @ 26.1, 72: 08-17 07:00:00 - 08-17 07:30:00 @ 24.28, 73: 08-17 07:30:00 - 08-17 08:00:00 @ 24.94, 74: 08-17 08:00:00 - 08-17 08:30:00 @ 24.06, 75: 08-17 08:30:00 - 08-17 09:00:00 @ 24.39, 76: 08-17 09:00:00 - 08-17 09:30:00 @ 24.66, 77: 08-17 09:30:00 - 08-17 10:00:00 @ 24.06, 78: 08-17 10:00:00 - 08-17 10:30:00 @ 25.5, 79: 08-17 10:30:00 - 08-17 11:00:00 @ 24.94, 80: 08-17 11:00:00 - 08-17 11:30:00 @ 24.25, 81: 08-17 11:30:00 - 08-17 12:00:00 @ 23.49, 82: 08-17 12:00:00 - 08-17 12:30:00 @ 23.43, 83: 08-17 12:30:00 - 08-17 13:00:00 @ 22.33, 84: 08-17 13:00:00 - 08-17 13:30:00 @ 22.76, 85: 08-17 13:30:00 - 08-17 14:00:00 @ 22.3, 86: 08-17 14:00:00 - 08-17 14:30:00 @ 21.41, 87: 08-17 14:30:00 - 08-17 15:00:00 @ 21.65, 88: 08-17 15:00:00 - 08-17 15:30:00 @ 22.95, 89: 08-17 15:30:00 - 08-17 16:00:00 @ 22.83, 90: 08-17 16:00:00 - 08-17 16:30:00 @ 36.84, 91: 08-17 16:30:00 - 08-17 17:00:00 @ 37.54, 92: 08-17 17:00:00 - 08-17 17:30:00 @ 41.79, 93: 08-17 17:30:00 - 08-17 18:00:00 @ 43.7, 94: 08-17 18:00:00 - 08-17 18:30:00 @ 44.34]
2026-08-15 18:30:04.004935: Inverter 0 Charge window will be: 2026-08-16 11:00:00+01:00 - 2026-08-16 16:00:00+01:00 - current SoC 95%, target 16%
2026-08-15 18:30:04.005155: Inverter 0 disabled charge window while waiting for schedule (now 08-15 18:30:00 target set_window_minutes 30 charge start time 08-16 11:00:00) original inverter start time 08-17 00:00:00
2026-08-15 18:30:04.005288: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 18:30:04.005562: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 18:30:04.005669: No export window planned
2026-08-15 18:30:04.005786: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 18:30:04.005815: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 18:30:04.005946: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 18:30:04.006124: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 18:30:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 18:30:04.006186: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 18:30:04.006256: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 18:30:04.006358: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 18:30:04.006399: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 18:30:04.006429: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 18:30:04.006482: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 18:30:04.006510: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 18:30:04.006534: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 18:30:04.006567: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 18:30:04.006646: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 18:30:04.006685: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 18:30:04.006712: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 18:30:04.006736: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 18:30:04.006759: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 18:30:04.006783: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 18:30:04.006813: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 18:30:04.006833: Inverter 0 count register writes 0
2026-08-15 18:30:04.026321: Will not recompute the plan, it is 5.0 minutes old and max age is 10 minutes
2026-08-15 18:30:04.034197: Total inverter register writes now 826
2026-08-15 18:30:04.071584: Info: Completed run status Demand
2026-08-15 18:30:04.079440: Info: record_status Demand
2026-08-15 18:30:04.088546: Saved current settings to /config/predbat_config.json
2026-08-15 18:30:04.088989: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 18:30:42.214184: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 18:30:42.214532: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 18:30:42.214638: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 18:30:42.214906: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 18:30:42.214973: Note: Inverter does not support discharge freeze - disabled
2026-08-15 18:30:42.215016: Note: Inverter does not support charge freeze - disabled
2026-08-15 18:30:42.215051: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 18:32:42.436691: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 18:32:42.437030: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 18:32:42.437082: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 18:32:42.437286: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 18:32:42.437333: Note: Inverter does not support discharge freeze - disabled
2026-08-15 18:32:42.437366: Note: Inverter does not support charge freeze - disabled
2026-08-15 18:32:42.437408: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 18:34:56.668565: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 18:34:56.668848: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 18:34:56.668889: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 18:34:56.669203: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 18:34:56.669260: Note: Inverter does not support discharge freeze - disabled
2026-08-15 18:34:56.669305: Note: Inverter does not support charge freeze - disabled
2026-08-15 18:34:56.669324: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 18:35:00.757244: --------------- PredBat - update at 2026-08-15 18:35:00+01:00 with clock skew 0 minutes, minutes now 1115
2026-08-15 18:35:00.758027: Saved current settings to /config/predbat_config.json
2026-08-15 18:35:00.758161: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 10.0 minutes
2026-08-15 18:35:00.758232: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.2, latest beta is v8.48.2
2026-08-15 18:35:00.758369: Autoupdate: There is an update pending v8.48.2 PV90 and second pass enabled by default, bug fixes - auto update is off
2026-08-15 18:35:00.781929: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 18:35:00.782064: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 18:35:00.782229: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 18:35:00.782795: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 18:35:00.782917: Predbat mode is set to Control charge & discharge
2026-08-15 18:35:00.973444: Found 21602 load_today datapoints going back 28 days
2026-08-15 18:35:00.973714: Using load_power data to fill gaps in load_today data
2026-08-15 18:35:01.676266: Processing 721 30-minute periods for power integration
2026-08-15 18:35:01.830764: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 18:35:01.830892: Car charging hold False, threshold 6.0kWh
2026-08-15 18:35:01.830930: Current data so far today: load 9.35kWh, import 27.6kWh, export 0.0kWh, PV 0kWh
2026-08-15 18:35:01.845019: Cars: SoC: [10.548]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 18:35:01.845402: Standing charge is set to 49.98p
2026-08-15 18:35:01.888412: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 18:35:01.888517: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 18:35:01.888764: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 475.0 minutes
2026-08-15 18:35:01.889207: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 475.0 minutes
2026-08-15 18:35:01.895323: Loaded 95 datapoints of futurerate analysis
2026-08-15 18:35:02.022687: Predicted future rates: ['08-15 00:00:00 => 28.69 / 20.01', '08-15 01:00:00 => 27.33 / 19.31', '08-15 02:00:00 => 26.31 / 18.8', '08-15 03:00:00 => 25.78 / 18.53', '08-15 04:00:00 => 25.59 / 18.43', '08-15 05:00:00 => 25.75 / 18.51', '08-15 06:00:00 => 25.34 / 18.3', '08-15 07:00:00 => 24.12 / 17.68', '08-15 08:00:00 => 22.82 / 17.01', '08-15 09:00:00 => 21.84 / 16.51', '08-15 10:00:00 => 20.22 / 15.68', '08-15 11:00:00 => 17.8 / 14.45', '08-15 12:00:00 => 16.16 / 13.61', '08-15 13:00:00 => 15.55 / 13.3', '08-15 14:00:00 => 15.14 / 13.09', '08-15 15:00:00 => 15.65 / 13.35', '08-15 16:00:00 => 32.68 / 16.13', '08-15 17:00:00 => 37.81 / 18.75', '08-15 18:00:00 => 42.15 / 20.96', '08-15 19:00:00 => 30.88 / 21.13', '08-15 20:00:00 => 31.43 / 21.41', '08-15 21:00:00 => 31.43 / 21.41', '08-15 22:00:00 => 30.37 / 20.87', '08-15 23:00:00 => 29.16 / 20.25', '08-16 00:00:00 => 28.62 / 19.97', '08-16 01:00:00 => 27.52 / 19.41', '08-16 02:00:00 => 26.55 / 18.92', '08-16 03:00:00 => 26.18 / 18.73', '08-16 04:00:00 => 26.12 / 18.7', '08-16 05:00:00 => 26.02 / 18.65', '08-16 06:00:00 => 25.78 / 18.53', '08-16 07:00:00 => 25.43 / 18.35', '08-16 08:00:00 => 24.63 / 17.94', '08-16 09:00:00 => 24.05 / 17.64', '08-16 10:00:00 => 24.59 / 17.92', '08-16 11:00:00 => 24.5 / 17.87', '08-16 12:00:00 => 23.58 / 17.4', '08-16 13:00:00 => 22.93 / 17.07', '08-16 14:00:00 => 21.8 / 16.49', '08-16 15:00:00 => 21.8 / 16.49', '08-16 16:00:00 => 36.93 / 18.3', '08-16 17:00:00 => 39.92 / 19.83']
2026-08-15 18:35:02.060023: Rate min forward looking: now 21.41p at end of forecast 21.41p
2026-08-15 18:35:02.060422: Import rates: min 21.41p, max 45.28p, average 28.48p
2026-08-15 18:35:02.095263: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 18:35:02.095367: Rate thresholds (for charge/export) are import 44.78p (0.0p), export -0.1p (0.0p)
2026-08-15 18:35:02.096421: High export rate found rates in range 99p to -99p
2026-08-15 18:35:02.179392: Low Import rate found rates in range 21.41p to 44.34p
2026-08-15 18:35:02.179526: Car 0 charging is not planned as it is not plugged in
2026-08-15 18:35:02.192316: Battery level now 15.2kWh, -1hr ago 15.52kWh, at midnight 1.66kWh, battery value change in the last hour -5.89p, change today 249.12p, rate_forward 18.39p
2026-08-15 18:35:02.192640: Last hour: net energy 0.0kWh, import 0.0kWh, export 0.0kWh, car 0kWh, load 0.3kWh, net cost 0.0p, import 0.0p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 18:35:02.249905: Today's energy total net 27.6kWh, import 27.6kWh, export 0.0kWh, cost 566.08p, import 516.09p, export 0.0p, carbon 0.0kg
2026-08-15 18:35:02.250043: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 18:35:02.325794: Using weighted-bucket historical load forecast over 14 days
2026-08-15 18:35:02.351298: Today's load divergence 87.64%, in-day adjustment 100.79%, damping 0.95x, yesterday 143.77% today 88.26% blend 22.57%
2026-08-15 18:35:02.351650: Today's predicted so far 11.18kWh with 0.0kWh car/iBoost excluded, 20.86kWh import ignored, and 11.18kWh forecast extra.
2026-08-15 18:35:02.351692: Today's actual load so far 9.51kWh with 0.0kWh car/iBoost excluded, and 20.86kWh import ignored.
2026-08-15 18:35:02.382419: Inverter 0: Type SK Sunsynk
2026-08-15 18:35:02.382511: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 18:35:02.382753: Reserve min: 7%, battery_min: 7%
2026-08-15 18:35:02.382852: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 18:35:02.383168: Inverter 0 SoC: 15.2kW 95%, current charge rate 5000W, current discharge rate 5250W, current battery power 286W, current battery voltage 51.2V, grid power -53W, load power 348W, PV Power 0W
2026-08-15 18:35:02.383357: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 18:35:02.383468: Inverter 0 scheduled charge enable is False
2026-08-15 18:35:02.383537: Inverter 0 charge windows currently []
2026-08-15 18:35:02.383569: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 18:35:02.383749: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 18:35:02.383792: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 18:35:02.383839: Inverter 0 scheduled discharge enable is False
2026-08-15 18:35:02.384014: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 18:35:02.384055: Inverter 0 discharge windows currently []
2026-08-15 18:35:02.384080: Note: Inverter does not support discharge freeze - disabled
2026-08-15 18:35:02.384122: Note: Inverter does not support charge freeze - disabled
2026-08-15 18:35:02.384189: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 18:35:02.447077: Dynamic load last period 0.30kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 18:35:02.447188: Plan was last updated on 2026-08-15 18:25:00+01:00 and is now 10.0 minutes old
2026-08-15 18:35:02.447441: Best charge window [ 16-08 11:00:00 - 16-08 12:30:00 @ 23.65p 16%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 31%, 16-08 13:30:00 - 16-08 15:00:00 @ 21.91p 100%, 16-08 15:00:00 - 16-08 16:00:00 @ 22.89p 75%, 17-08 12:30:00 - 17-08 18:00:00 @ 40.7p 100% ]
2026-08-15 18:35:02.447484: Best export window [  ]
2026-08-15 18:35:02.448375: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 18:35:02.451544: Load divergence over 8.0 hours mean 714.27W, min 348.6W, max 2423.4W, std dev 463.13W, divergence 32.42%
2026-08-15 18:35:02.469860: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 18:35:02.469998: LoadML is_calculating False
2026-08-15 18:35:02.470063: Creating pool of 12 processes to match your CPU count
2026-08-15 18:35:02.575924: predict base end_record 08-17 12:40:00, final soc 1.12kWh, metric 1095.43p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 13:50:00, load 37.25kWh, PV 0.0kWh
2026-08-15 18:35:02.702309: Battery has 19.25 hours left - now at 15.2kWh
2026-08-15 18:35:02.744315: predict base10 end_record 08-17 12:40:00, final soc 1.12kWh, metric 1129.93p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 13:00:00, load 38.57kWh, PV 0.0kWh
2026-08-15 18:35:02.829259: predict best10 end_record 08-17 12:40:00, final soc 1.77kWh, metric 1077.87p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 06:10:00, load 38.57kWh, PV 0.0kWh
2026-08-15 18:35:02.915837: predict best end_record 08-17 12:40:00, final soc 1.9kWh, metric 1047.19p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 07:10:00, load 37.25kWh, PV 0.0kWh
2026-08-15 18:35:02.915934: Saving plan best values to HA entities
2026-08-15 18:35:03.093774: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 18:35:03.099490: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 18:35:03.105078: Best charging limit SoC's [2.5, 5.0, 16.0, 12.0, 16.0]kWh, export []kWh gives import battery 13.66kWh, house 3.28kWh, export 0.0kWh, metric 1047.19p, metric10 1077.87p
2026-08-15 18:35:03.185322: Marginal costs baseline metric (no standing charge): 947.2185
2026-08-15 18:35:03.465182: Marginal energy costs matrix computed: min=23.88 max=31.19
2026-08-15 18:35:03.547494: Rate array import [{'start': 1115, 'end': 1140, 'rate': 'very expensive', 'range': '(43.8p)'}, {'start': 1140, 'end': 1410, 'rate': 'expensive', 'range': '(29.8p - 32.9p)'}, {'start': 1410, 'end': 2400, 'rate': 'cheap', 'range': '(21.4p - 28.2p)'}, {'start': 2400, 'end': 2430, 'rate': 'expensive', 'range': '(36.8p)'}, {'start': 2430, 'end': 2580, 'rate': 'very expensive', 'range': '(37.5p - 45.3p)'}, {'start': 2580, 'end': 2850, 'rate': 'expensive', 'range': '(30.0p - 35.9p)'}, {'start': 2850, 'end': 3640, 'rate': 'cheap', 'range': '(22.3p - 28.2p)'}] export [{'start': 1115, 'end': 3640, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 18:35:03.548347: - Your estimated bill for today is £5.66 and tomorrow is £3.30
2026-08-15 18:35:03.548392: - Import rates are very expensive (43.8p) for the next 25 minutes and then expensive (29.8p - 32.9p) for the next 4 and a half hours.
2026-08-15 18:35:03.548416: - The battery is currently at 95% and is in eco mode for the next 16 hours.
2026-08-15 18:35:03.548435: - For the next 48 hours there will be no solar generation.
2026-08-15 18:35:03.548452: - You will run out of battery in 36 hours.
2026-08-15 18:35:03.548469: - Your next charge slot will be in 16 hours where import rates will be cheap (24.3p).
2026-08-15 18:35:03.548507: 
2026-08-15 18:35:03.620178: Plan calculation took 1.17 seconds
2026-08-15 18:35:03.625197: No high rate period found
2026-08-15 18:35:03.678173: Import threshold used for optimisation was 24.06p
2026-08-15 18:35:03.734418: Low import rate windows [0: 08-15 18:30:00 - 08-15 19:00:00 @ 43.82, 1: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 2: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 3: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 4: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 5: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 6: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 7: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 8: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 9: 08-15 23:00:00 - 08-15 23:30:00 @ 30.02, 10: 08-15 23:30:00 - 08-16 00:00:00 @ 27.8, 11: 08-16 00:00:00 - 08-16 00:30:00 @ 28.18, 12: 08-16 00:30:00 - 08-16 01:00:00 @ 27.38, 13: 08-16 01:00:00 - 08-16 01:30:00 @ 26.7, 14: 08-16 01:30:00 - 08-16 02:00:00 @ 26.31, 15: 08-16 02:00:00 - 08-16 02:30:00 @ 25.79, 16: 08-16 02:30:00 - 08-16 03:00:00 @ 25.86, 17: 08-16 03:00:00 - 08-16 03:30:00 @ 26.13, 18: 08-16 03:30:00 - 08-16 04:00:00 @ 25.86, 19: 08-16 04:00:00 - 08-16 04:30:00 @ 26.27, 20: 08-16 04:30:00 - 08-16 05:00:00 @ 26.14, 21: 08-16 05:00:00 - 08-16 05:30:00 @ 27.03, 22: 08-16 05:30:00 - 08-16 06:00:00 @ 26.28, 23: 08-16 06:00:00 - 08-16 06:30:00 @ 25.68, 24: 08-16 06:30:00 - 08-16 07:00:00 @ 26.1, 25: 08-16 07:00:00 - 08-16 07:30:00 @ 24.28, 26: 08-16 07:30:00 - 08-16 08:00:00 @ 24.94, 27: 08-16 08:00:00 - 08-16 08:30:00 @ 24.06, 28: 08-16 08:30:00 - 08-16 09:00:00 @ 24.39, 29: 08-16 09:00:00 - 08-16 09:30:00 @ 24.66, 30: 08-16 09:30:00 - 08-16 10:00:00 @ 24.06, 31: 08-16 10:00:00 - 08-16 10:30:00 @ 25.5, 32: 08-16 10:30:00 - 08-16 11:00:00 @ 24.94, 33: 08-16 11:00:00 - 08-16 11:30:00 @ 24.25, 34: 08-16 11:30:00 - 08-16 12:00:00 @ 23.49, 35: 08-16 12:00:00 - 08-16 12:30:00 @ 23.43, 36: 08-16 12:30:00 - 08-16 13:00:00 @ 22.33, 37: 08-16 13:00:00 - 08-16 13:30:00 @ 22.76, 38: 08-16 13:30:00 - 08-16 14:00:00 @ 22.3, 39: 08-16 14:00:00 - 08-16 14:30:00 @ 21.41, 40: 08-16 14:30:00 - 08-16 15:00:00 @ 21.65, 41: 08-16 15:00:00 - 08-16 15:30:00 @ 22.95, 42: 08-16 15:30:00 - 08-16 16:00:00 @ 22.83, 43: 08-16 16:00:00 - 08-16 16:30:00 @ 36.84, 44: 08-16 16:30:00 - 08-16 17:00:00 @ 37.54, 45: 08-16 17:00:00 - 08-16 17:30:00 @ 41.79, 46: 08-16 17:30:00 - 08-16 18:00:00 @ 43.7, 47: 08-16 18:00:00 - 08-16 18:30:00 @ 44.34, 48: 08-16 19:00:00 - 08-16 19:30:00 @ 34.79, 49: 08-16 19:30:00 - 08-16 20:00:00 @ 34.76, 50: 08-16 20:00:00 - 08-16 20:30:00 @ 35.62, 51: 08-16 20:30:00 - 08-16 21:00:00 @ 35.3, 52: 08-16 21:00:00 - 08-16 21:30:00 @ 35.89, 53: 08-16 21:30:00 - 08-16 22:00:00 @ 35.71, 54: 08-16 22:00:00 - 08-16 22:30:00 @ 33.75, 55: 08-16 22:30:00 - 08-16 23:00:00 @ 32.0, 56: 08-16 23:00:00 - 08-16 23:30:00 @ 30.02, 57: 08-16 23:30:00 - 08-17 00:00:00 @ 27.8, 58: 08-17 00:00:00 - 08-17 00:30:00 @ 28.18, 59: 08-17 00:30:00 - 08-17 01:00:00 @ 27.38, 60: 08-17 01:00:00 - 08-17 01:30:00 @ 26.7, 61: 08-17 01:30:00 - 08-17 02:00:00 @ 26.31, 62: 08-17 02:00:00 - 08-17 02:30:00 @ 25.79, 63: 08-17 02:30:00 - 08-17 03:00:00 @ 25.86, 64: 08-17 03:00:00 - 08-17 03:30:00 @ 26.13, 65: 08-17 03:30:00 - 08-17 04:00:00 @ 25.86, 66: 08-17 04:00:00 - 08-17 04:30:00 @ 26.27, 67: 08-17 04:30:00 - 08-17 05:00:00 @ 26.14, 68: 08-17 05:00:00 - 08-17 05:30:00 @ 27.03, 69: 08-17 05:30:00 - 08-17 06:00:00 @ 26.28, 70: 08-17 06:00:00 - 08-17 06:30:00 @ 25.68, 71: 08-17 06:30:00 - 08-17 07:00:00 @ 26.1, 72: 08-17 07:00:00 - 08-17 07:30:00 @ 24.28, 73: 08-17 07:30:00 - 08-17 08:00:00 @ 24.94, 74: 08-17 08:00:00 - 08-17 08:30:00 @ 24.06, 75: 08-17 08:30:00 - 08-17 09:00:00 @ 24.39, 76: 08-17 09:00:00 - 08-17 09:30:00 @ 24.66, 77: 08-17 09:30:00 - 08-17 10:00:00 @ 24.06, 78: 08-17 10:00:00 - 08-17 10:30:00 @ 25.5, 79: 08-17 10:30:00 - 08-17 11:00:00 @ 24.94, 80: 08-17 11:00:00 - 08-17 11:30:00 @ 24.25, 81: 08-17 11:30:00 - 08-17 12:00:00 @ 23.49, 82: 08-17 12:00:00 - 08-17 12:30:00 @ 23.43, 83: 08-17 12:30:00 - 08-17 13:00:00 @ 22.33, 84: 08-17 13:00:00 - 08-17 13:30:00 @ 22.76, 85: 08-17 13:30:00 - 08-17 14:00:00 @ 22.3, 86: 08-17 14:00:00 - 08-17 14:30:00 @ 21.41, 87: 08-17 14:30:00 - 08-17 15:00:00 @ 21.65, 88: 08-17 15:00:00 - 08-17 15:30:00 @ 22.95, 89: 08-17 15:30:00 - 08-17 16:00:00 @ 22.83, 90: 08-17 16:00:00 - 08-17 16:30:00 @ 36.84, 91: 08-17 16:30:00 - 08-17 17:00:00 @ 37.54, 92: 08-17 17:00:00 - 08-17 17:30:00 @ 41.79, 93: 08-17 17:30:00 - 08-17 18:00:00 @ 43.7, 94: 08-17 18:00:00 - 08-17 18:30:00 @ 44.34]
2026-08-15 18:35:03.742585: Inverter 0 Charge window will be: 2026-08-16 11:00:00+01:00 - 2026-08-16 16:00:00+01:00 - current SoC 95%, target 16%
2026-08-15 18:35:03.742749: Inverter 0 disabled charge window while waiting for schedule (now 08-15 18:35:00 target set_window_minutes 30 charge start time 08-16 11:00:00) original inverter start time 08-17 00:00:00
2026-08-15 18:35:03.742874: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 18:35:03.743132: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 18:35:03.743224: No export window planned
2026-08-15 18:35:03.743346: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 18:35:03.743382: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 18:35:03.743518: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 18:35:03.743715: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 18:35:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 18:35:03.743779: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 18:35:03.743845: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 18:35:03.743941: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 18:35:03.743986: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 18:35:03.744014: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 18:35:03.744039: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 18:35:03.744063: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 18:35:03.744092: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 18:35:03.744118: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 18:35:03.744183: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 18:35:03.744218: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 18:35:03.744243: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 18:35:03.744268: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 18:35:03.744292: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 18:35:03.744324: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 18:35:03.744350: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 18:35:03.744371: Inverter 0 count register writes 0
2026-08-15 18:35:03.761208: Will recompute the plan as it is now 10.0 minutes old and will exceed the max age of 10 minutes before the next run
2026-08-15 18:35:03.761396: Recompute is saving previous plan...
2026-08-15 18:35:03.764478: Best charge window [ 15-08 18:30:00 - 15-08 19:00:00 @ 43.82p 0%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 0%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 0%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 0%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 0%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 30.02p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 27.8p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.18p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.38p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 26.7p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.31p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.79p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 25.86p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.13p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 25.86p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.27p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.14p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 27.03p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.28p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.68p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 26.1p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 24.28p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 24.94p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.06p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.39p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.66p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.06p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 25.5p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 24.94p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 24.25p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 23.49p 0%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.43p 0%, 16-08 12:30:00 - 16-08 13:00:00 @ 22.33p 0%, 16-08 13:00:00 - 16-08 13:30:00 @ 22.76p 0%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 0%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 0%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.65p 0%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.95p 0%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.83p 0%, 16-08 16:00:00 - 16-08 16:30:00 @ 36.84p 0%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.54p 0%, 16-08 17:00:00 - 16-08 17:30:00 @ 41.79p 0%, 16-08 17:30:00 - 16-08 18:00:00 @ 43.7p 0%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.34p 0%, 16-08 19:00:00 - 16-08 19:30:00 @ 34.79p 0%, 16-08 19:30:00 - 16-08 20:00:00 @ 34.76p 0%, 16-08 20:00:00 - 16-08 20:30:00 @ 35.62p 0%, 16-08 20:30:00 - 16-08 21:00:00 @ 35.3p 0%, 16-08 21:00:00 - 16-08 21:30:00 @ 35.89p 0%, 16-08 21:30:00 - 16-08 22:00:00 @ 35.71p 0%, 16-08 22:00:00 - 16-08 22:30:00 @ 33.75p 0%, 16-08 22:30:00 - 16-08 23:00:00 @ 32.0p 0%, 16-08 23:00:00 - 16-08 23:30:00 @ 30.02p 0%, 16-08 23:30:00 - 17-08 00:00:00 @ 27.8p 0%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.18p 0%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.38p 0%, 17-08 01:00:00 - 17-08 01:30:00 @ 26.7p 0%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.31p 0%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.79p 0%, 17-08 02:30:00 - 17-08 03:00:00 @ 25.86p 0%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.13p 0%, 17-08 03:30:00 - 17-08 04:00:00 @ 25.86p 0%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.27p 0%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.14p 0%, 17-08 05:00:00 - 17-08 05:30:00 @ 27.03p 0%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.28p 0%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.68p 0%, 17-08 06:30:00 - 17-08 07:00:00 @ 26.1p 0%, 17-08 07:00:00 - 17-08 07:30:00 @ 24.28p 0%, 17-08 07:30:00 - 17-08 08:00:00 @ 24.94p 0%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.06p 0%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.39p 0%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.66p 0%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.06p 0%, 17-08 10:00:00 - 17-08 10:30:00 @ 25.5p 0%, 17-08 10:30:00 - 17-08 11:00:00 @ 24.94p 0%, 17-08 11:00:00 - 17-08 11:30:00 @ 24.25p 0%, 17-08 11:30:00 - 17-08 12:00:00 @ 23.49p 0%, 17-08 12:00:00 - 17-08 12:30:00 @ 23.43p 0%, 17-08 12:30:00 - 17-08 13:00:00 @ 22.33p 0%, 17-08 13:00:00 - 17-08 13:30:00 @ 22.76p 0%, 17-08 13:30:00 - 17-08 14:00:00 @ 22.3p 0%, 17-08 14:00:00 - 17-08 14:30:00 @ 21.41p 0%, 17-08 14:30:00 - 17-08 15:00:00 @ 21.65p 0%, 17-08 15:00:00 - 17-08 15:30:00 @ 22.95p 0%, 17-08 15:30:00 - 17-08 16:00:00 @ 22.83p 0%, 17-08 16:00:00 - 17-08 16:30:00 @ 36.84p 0%, 17-08 16:30:00 - 17-08 17:00:00 @ 37.54p 0%, 17-08 17:00:00 - 17-08 17:30:00 @ 41.79p 0%, 17-08 17:30:00 - 17-08 18:00:00 @ 43.7p 0%, 17-08 18:00:00 - 17-08 18:30:00 @ 44.34p 0% ]
2026-08-15 18:35:03.764549: Best export window [  ]
2026-08-15 18:35:03.765373: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 18:35:03.768448: Load divergence over 8.0 hours mean 714.27W, min 348.6W, max 2423.4W, std dev 463.13W, divergence 32.42%
2026-08-15 18:35:03.786494: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 18:35:03.786644: LoadML is_calculating False
2026-08-15 18:35:03.786716: Creating pool of 12 processes to match your CPU count
2026-08-15 18:35:03.875523: Calculate Best options: mode(Control charge & discharge), calculate_export_oncharge(False), calculate_export_on_pv(True), set_export_freeze_only(False), set_discharge_during_charge(True), combine_charge_slots(False), combine_export_slots(False), combine_rate_threshold(0.0), best_soc_min(0.0 kWh), best_soc_max(0.0 kWh), best_soc_keep(0.0 kWh), inverter_loss(4%), battery_loss(3%), battery_loss_discharge (3%), inverter_hybrid(True), metric_min_improvement(0.0p), metric_min_improvement_export(0.1p), metric_min_improvement_export_freeze(0.1p), metric_battery_cycle(0.0p/kWh), metric_battery_value_scaling(1.0 x) 
2026-08-15 18:35:03.877510: Optimise levels pass started at 2026-08-15 18:35:03
2026-08-15 18:35:03.877579: Optimise all windows, total charge 95 export 1
2026-08-15 18:35:04.946765: >> Region optimisation pass width 960 gives best_metric 1010.68p, best_cost 1023.97p, best_cycle 36.95kWh, best_import 20.09kWh
2026-08-15 18:35:05.337331: >> Region optimisation pass width 480 gives best_metric 1010.68p, best_cost 1023.97p, best_cycle 36.95kWh, best_import 20.09kWh
2026-08-15 18:35:05.842466: >> Region optimisation pass width 240 gives best_metric 1010.68p, best_cost 1023.97p, best_cycle 36.95kWh, best_import 20.09kWh
2026-08-15 18:35:06.950201: >> Region optimisation pass width 120 gives best_metric 1010.68p, best_cost 1023.97p, best_cycle 36.95kWh, best_import 20.09kWh
2026-08-15 18:35:06.950541: Calculated end_record as 08-17 12:30:00 based on best_price 22.33p, next_charge_start 08-16 12:30:00, max_windows 83
2026-08-15 18:35:06.950606: Optimise levels pass ended at 2026-08-15 18:35:06, duration 3.1 seconds tried 300 combinations
2026-08-15 18:35:06.950689: Set best_price_charge_level 24.0p, best_price_export_level 0p, best_price_charge 22.33p, best_cost_export 0p, best_metric 1010.68p, best_keep 0kWh, best_cycle 36.95kWh, best_carbon 0kg, best_import 20.09kWh
2026-08-15 18:35:06.972823: Starting detailed optimisation end_record 08-17 12:30:00, best_price_charge 22.33p, best_price_export 0p. lowest_price_charge 21.41p with charge limits [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 0, 16.0, 16.0, 16.0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0]kWh and export limits []kWh
2026-08-15 18:35:12.684156: Tweak plan optimisation started metric 909.22p, cost 924.72p
2026-08-15 18:35:12.946714: Tweak optimisation finished metric 909.22p, cost 924.72p, metric_keep 0kWh, cycle 31.25kWh, carbon 0kg, import 15.91kWh, changed 8 window(s)
2026-08-15 18:35:12.969276: Swap charge optimisation started metric 909.22p, cost 924.72p, min_improvement_swap 0.1p
2026-08-15 18:35:20.113404: Swap charge optimisation finished metric 909.22p, cost 924.72p
2026-08-15 18:35:20.217450: Pruned 2 dead plan slot(s) in 11 trial(s), nominal metric 904.12p -> 904.12p, plan now metric 909.34p, cost 924.72p, cycle 31.25kWh, import 15.91kWh
2026-08-15 18:35:20.227146: Raw charge windows [ 15-08 18:30:00 - 15-08 19:00:00 @ 43.82p 0%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 0%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 0%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 0%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 0%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 30.02p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 27.8p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.18p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.38p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 26.7p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.31p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.79p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 25.86p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.13p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 25.86p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.27p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.14p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 27.03p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.28p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.68p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 26.1p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 24.28p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 24.94p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.06p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.39p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.66p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.06p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 25.5p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 24.94p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 24.25p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 23.49p 19%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.43p 19%, 16-08 12:30:00 - 16-08 13:00:00 @ 22.33p 31%, 16-08 13:00:00 - 16-08 13:30:00 @ 22.76p 31%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 100%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 100%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.65p 100%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.95p 75%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.83p 75%, 16-08 16:00:00 - 16-08 16:30:00 @ 36.84p 0%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.54p 0%, 16-08 17:00:00 - 16-08 17:30:00 @ 41.79p 0%, 16-08 17:30:00 - 16-08 18:00:00 @ 43.7p 0%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.34p 0%, 16-08 19:00:00 - 16-08 19:30:00 @ 34.79p 0%, 16-08 19:30:00 - 16-08 20:00:00 @ 34.76p 0%, 16-08 20:00:00 - 16-08 20:30:00 @ 35.62p 0%, 16-08 20:30:00 - 16-08 21:00:00 @ 35.3p 0%, 16-08 21:00:00 - 16-08 21:30:00 @ 35.89p 0%, 16-08 21:30:00 - 16-08 22:00:00 @ 35.71p 0%, 16-08 22:00:00 - 16-08 22:30:00 @ 33.75p 0%, 16-08 22:30:00 - 16-08 23:00:00 @ 32.0p 0%, 16-08 23:00:00 - 16-08 23:30:00 @ 30.02p 0%, 16-08 23:30:00 - 17-08 00:00:00 @ 27.8p 0%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.18p 0%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.38p 0%, 17-08 01:00:00 - 17-08 01:30:00 @ 26.7p 0%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.31p 0%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.79p 0%, 17-08 02:30:00 - 17-08 03:00:00 @ 25.86p 0%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.13p 0%, 17-08 03:30:00 - 17-08 04:00:00 @ 25.86p 0%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.27p 0%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.14p 0%, 17-08 05:00:00 - 17-08 05:30:00 @ 27.03p 0%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.28p 0%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.68p 0%, 17-08 06:30:00 - 17-08 07:00:00 @ 26.1p 0%, 17-08 07:00:00 - 17-08 07:30:00 @ 24.28p 0%, 17-08 07:30:00 - 17-08 08:00:00 @ 24.94p 0%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.06p 0%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.39p 0%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.66p 0%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.06p 0%, 17-08 10:00:00 - 17-08 10:30:00 @ 25.5p 0%, 17-08 10:30:00 - 17-08 11:00:00 @ 24.94p 0%, 17-08 11:00:00 - 17-08 11:30:00 @ 24.25p 0%, 17-08 11:30:00 - 17-08 12:00:00 @ 23.49p 0%, 17-08 12:00:00 - 17-08 12:30:00 @ 23.43p 0%, 17-08 12:30:00 - 17-08 13:00:00 @ 22.33p 100%, 17-08 13:00:00 - 17-08 13:30:00 @ 22.76p 100%, 17-08 13:30:00 - 17-08 14:00:00 @ 22.3p 100%, 17-08 14:00:00 - 17-08 14:30:00 @ 21.41p 100%, 17-08 14:30:00 - 17-08 15:00:00 @ 21.65p 100%, 17-08 15:00:00 - 17-08 15:30:00 @ 22.95p 100%, 17-08 15:30:00 - 17-08 16:00:00 @ 22.83p 100%, 17-08 16:00:00 - 17-08 16:30:00 @ 36.84p 100%, 17-08 16:30:00 - 17-08 17:00:00 @ 37.54p 100%, 17-08 17:00:00 - 17-08 17:30:00 @ 41.79p 100%, 17-08 17:30:00 - 17-08 18:00:00 @ 43.7p 100%, 17-08 18:00:00 - 17-08 18:30:00 @ 44.34p 100% ] reserve 1.12
2026-08-15 18:35:20.227692: Unclipped charge windows [ 16-08 11:30:00 - 16-08 12:30:00 @ 23.46p 19%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 31%, 16-08 13:30:00 - 16-08 15:00:00 @ 21.75p 100%, 16-08 15:00:00 - 16-08 16:00:00 @ 22.89p 75%, 17-08 12:30:00 - 17-08 18:30:00 @ 42.52p 100% ] reserve 1.12
2026-08-15 18:35:20.228022: Unfiltered charge windows [ 16-08 11:30:00 - 16-08 12:30:00 @ 23.46p 19%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 31%, 16-08 13:30:00 - 16-08 15:00:00 @ 21.75p 100%, 16-08 15:00:00 - 16-08 16:00:00 @ 22.89p 75%, 17-08 12:30:00 - 17-08 18:30:00 @ 42.52p 100% ] reserve 1.12
2026-08-15 18:35:20.228260: Filtered charge windows [ 16-08 11:30:00 - 16-08 12:30:00 @ 23.46p 19%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 31%, 16-08 13:30:00 - 16-08 15:00:00 @ 21.75p 100%, 16-08 15:00:00 - 16-08 16:00:00 @ 22.89p 75%, 17-08 12:30:00 - 17-08 18:30:00 @ 42.52p 100% ] reserve 1.12
2026-08-15 18:35:20.259419: Previous plan best metric is 910.17 (cost 925.72) and new plan best metric is 909.22 (cost 924.72)
2026-08-15 18:35:20.259705: New plan metric is not significantly better (metric_min_improvement_plan 2.0) than previous plan, using previous plan
2026-08-15 18:35:20.259934: Plan valid is now true after recompute was False
2026-08-15 18:35:20.282928: predict base end_record 08-17 12:30:00, final soc 1.12kWh, metric 1092.54p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 13:50:00, load 37.12kWh, PV 0.0kWh
2026-08-15 18:35:20.382161: Battery has 19.25 hours left - now at 15.2kWh
2026-08-15 18:35:20.419782: predict base10 end_record 08-17 12:30:00, final soc 1.12kWh, metric 1126.91p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 13:00:00, load 38.44kWh, PV 0.0kWh
2026-08-15 18:35:20.502704: predict best10 end_record 08-17 12:30:00, final soc 1.12kWh, metric 1059.34p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 06:10:00, load 38.44kWh, PV 0.0kWh
2026-08-15 18:35:20.572210: predict best end_record 08-17 12:30:00, final soc 1.12kWh, metric 1025.69p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 07:10:00, load 37.12kWh, PV 0.0kWh
2026-08-15 18:35:20.572296: Saving plan best values to HA entities
2026-08-15 18:35:20.722941: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 18:35:20.727713: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 18:35:20.732505: Best charging limit SoC's [2.5, 5.0, 16.0, 12.0, 16.0]kWh, export []kWh gives import battery 12.7kWh, house 3.28kWh, export 0.0kWh, metric 1025.69p, metric10 1059.34p
2026-08-15 18:35:20.800893: Marginal costs baseline metric (no standing charge): 925.724
2026-08-15 18:35:21.018205: Marginal energy costs matrix computed: min=23.88 max=31.19
2026-08-15 18:35:21.095825: Rate array import [{'start': 1115, 'end': 1140, 'rate': 'very expensive', 'range': '(43.8p)'}, {'start': 1140, 'end': 1410, 'rate': 'expensive', 'range': '(29.8p - 32.9p)'}, {'start': 1410, 'end': 2400, 'rate': 'cheap', 'range': '(21.4p - 28.2p)'}, {'start': 2400, 'end': 2430, 'rate': 'expensive', 'range': '(36.8p)'}, {'start': 2430, 'end': 2580, 'rate': 'very expensive', 'range': '(37.5p - 45.3p)'}, {'start': 2580, 'end': 2850, 'rate': 'expensive', 'range': '(30.0p - 35.9p)'}, {'start': 2850, 'end': 3630, 'rate': 'cheap', 'range': '(23.4p - 28.2p)'}] export [{'start': 1115, 'end': 3630, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 18:35:21.096457: - Your estimated bill for today is £5.66 and tomorrow is £3.30
2026-08-15 18:35:21.096502: - Import rates are very expensive (43.8p) for the next 25 minutes and then expensive (29.8p - 32.9p) for the next 4 and a half hours.
2026-08-15 18:35:21.096521: - The battery is currently at 95% and is in eco mode for the next 16 hours.
2026-08-15 18:35:21.096535: - For the next 48 hours there will be no solar generation.
2026-08-15 18:35:21.096568: - You will run out of battery in 36 hours.
2026-08-15 18:35:21.096584: - Your next charge slot will be in 16 hours where import rates will be cheap (24.3p).
2026-08-15 18:35:21.096601: 
2026-08-15 18:35:21.162815: Plan calculation took 17.40 seconds
2026-08-15 18:35:21.163132: Inverter 0: Type SK Sunsynk
2026-08-15 18:35:21.163170: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 18:35:21.163359: Reserve min: 7%, battery_min: 7%
2026-08-15 18:35:21.163425: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 18:35:21.163710: Inverter 0 SoC: 15.2kW 95%, current charge rate 5000W, current discharge rate 5250W, current battery power 248W, current battery voltage 51.2V, grid power -55W, load power 312W, PV Power 0W
2026-08-15 18:35:21.163935: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 18:35:21.164056: Inverter 0 scheduled charge enable is False
2026-08-15 18:35:21.164102: Inverter 0 charge windows currently []
2026-08-15 18:35:21.164150: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 18:35:21.164275: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 18:35:21.164313: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 18:35:21.164353: Inverter 0 scheduled discharge enable is False
2026-08-15 18:35:21.164512: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 18:35:21.164549: Inverter 0 discharge windows currently []
2026-08-15 18:35:21.164574: Note: Inverter does not support discharge freeze - disabled
2026-08-15 18:35:21.164610: Note: Inverter does not support charge freeze - disabled
2026-08-15 18:35:21.164645: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 18:35:21.216196: Inverter 0 Charge window will be: 2026-08-16 11:00:00+01:00 - 2026-08-16 16:00:00+01:00 - current SoC 95%, target 16%
2026-08-15 18:35:21.216329: Inverter 0 disabled charge window while waiting for schedule (now 08-15 18:35:00 target set_window_minutes 30 charge start time 08-16 11:00:00) original inverter start time 08-17 00:00:00
2026-08-15 18:35:21.216421: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 18:35:21.216686: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 18:35:21.216770: No export window planned
2026-08-15 18:35:21.216912: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 18:35:21.216984: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 18:35:21.217162: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 18:35:21.217354: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 18:35:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 18:35:21.217415: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 18:35:21.217491: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 18:35:21.217599: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 18:35:21.217678: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 18:35:21.217730: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 18:35:21.217758: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 18:35:21.217799: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 18:35:21.217861: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 18:35:21.217899: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 18:35:21.217996: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 18:35:21.218033: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 18:35:21.218069: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 18:35:21.218113: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 18:35:21.218146: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 18:35:21.218179: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 18:35:21.218217: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 18:35:21.218244: Inverter 0 count register writes 0
2026-08-15 18:35:21.237271: Total inverter register writes now 826
2026-08-15 18:35:21.266855: Info: Completed run status Demand
2026-08-15 18:35:21.275941: Info: record_status Demand
2026-08-15 18:35:21.282584: Saved current settings to /config/predbat_config.json
2026-08-15 18:35:21.282856: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 18:35:57.390207: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 18:35:57.390451: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 18:35:57.390501: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 18:35:57.390684: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 18:35:57.390729: Note: Inverter does not support discharge freeze - disabled
2026-08-15 18:35:57.390752: Note: Inverter does not support charge freeze - disabled
2026-08-15 18:35:57.390770: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 18:38:11.637554: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 18:38:11.637859: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 18:38:11.637912: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 18:38:11.638101: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 18:38:11.638159: Note: Inverter does not support discharge freeze - disabled
2026-08-15 18:38:11.638194: Note: Inverter does not support charge freeze - disabled
2026-08-15 18:38:11.638224: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 18:40:00.849415: --------------- PredBat - update at 2026-08-15 18:40:00+01:00 with clock skew 0 minutes, minutes now 1120
2026-08-15 18:40:00.850227: Saved current settings to /config/predbat_config.json
2026-08-15 18:40:00.850372: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 15.0 minutes
2026-08-15 18:40:00.850458: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.2, latest beta is v8.48.2
2026-08-15 18:40:00.850625: Autoupdate: There is an update pending v8.48.2 PV90 and second pass enabled by default, bug fixes - auto update is off
2026-08-15 18:40:00.869812: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 18:40:00.869957: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 18:40:00.870125: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 18:40:00.870654: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 18:40:00.870777: Predbat mode is set to Control charge & discharge
2026-08-15 18:40:01.040097: Found 21602 load_today datapoints going back 28 days
2026-08-15 18:40:01.040235: Using load_power data to fill gaps in load_today data
2026-08-15 18:40:01.752960: Processing 721 30-minute periods for power integration
2026-08-15 18:40:01.902440: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 18:40:01.902571: Car charging hold False, threshold 6.0kWh
2026-08-15 18:40:01.902617: Current data so far today: load 9.45kWh, import 27.6kWh, export 0.0kWh, PV 0kWh
2026-08-15 18:40:01.916482: Cars: SoC: [10.548]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 18:40:01.916893: Standing charge is set to 49.98p
2026-08-15 18:40:01.957326: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 18:40:01.957437: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 18:40:01.957679: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 480.0 minutes
2026-08-15 18:40:01.958155: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 480.0 minutes
2026-08-15 18:40:01.964518: Loaded 95 datapoints of futurerate analysis
2026-08-15 18:40:02.098187: Predicted future rates: ['08-15 00:00:00 => 28.69 / 20.01', '08-15 01:00:00 => 27.33 / 19.31', '08-15 02:00:00 => 26.31 / 18.8', '08-15 03:00:00 => 25.78 / 18.53', '08-15 04:00:00 => 25.59 / 18.43', '08-15 05:00:00 => 25.75 / 18.51', '08-15 06:00:00 => 25.34 / 18.3', '08-15 07:00:00 => 24.12 / 17.68', '08-15 08:00:00 => 22.82 / 17.01', '08-15 09:00:00 => 21.84 / 16.51', '08-15 10:00:00 => 20.22 / 15.68', '08-15 11:00:00 => 17.8 / 14.45', '08-15 12:00:00 => 16.16 / 13.61', '08-15 13:00:00 => 15.55 / 13.3', '08-15 14:00:00 => 15.14 / 13.09', '08-15 15:00:00 => 15.65 / 13.35', '08-15 16:00:00 => 32.68 / 16.13', '08-15 17:00:00 => 37.81 / 18.75', '08-15 18:00:00 => 42.15 / 20.96', '08-15 19:00:00 => 30.88 / 21.13', '08-15 20:00:00 => 31.43 / 21.41', '08-15 21:00:00 => 31.43 / 21.41', '08-15 22:00:00 => 30.37 / 20.87', '08-15 23:00:00 => 29.16 / 20.25', '08-16 00:00:00 => 28.62 / 19.97', '08-16 01:00:00 => 27.52 / 19.41', '08-16 02:00:00 => 26.55 / 18.92', '08-16 03:00:00 => 26.18 / 18.73', '08-16 04:00:00 => 26.12 / 18.7', '08-16 05:00:00 => 26.02 / 18.65', '08-16 06:00:00 => 25.78 / 18.53', '08-16 07:00:00 => 25.43 / 18.35', '08-16 08:00:00 => 24.63 / 17.94', '08-16 09:00:00 => 24.05 / 17.64', '08-16 10:00:00 => 24.59 / 17.92', '08-16 11:00:00 => 24.5 / 17.87', '08-16 12:00:00 => 23.58 / 17.4', '08-16 13:00:00 => 22.93 / 17.07', '08-16 14:00:00 => 21.8 / 16.49', '08-16 15:00:00 => 21.8 / 16.49', '08-16 16:00:00 => 36.93 / 18.3', '08-16 17:00:00 => 39.92 / 19.83']
2026-08-15 18:40:02.135998: Rate min forward looking: now 21.41p at end of forecast 21.41p
2026-08-15 18:40:02.136469: Import rates: min 21.41p, max 45.28p, average 28.48p
2026-08-15 18:40:02.172006: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 18:40:02.172131: Rate thresholds (for charge/export) are import 44.78p (0.0p), export -0.1p (0.0p)
2026-08-15 18:40:02.173315: High export rate found rates in range 99p to -99p
2026-08-15 18:40:02.261250: Low Import rate found rates in range 21.41p to 44.34p
2026-08-15 18:40:02.261379: Car 0 charging is not planned as it is not plugged in
2026-08-15 18:40:02.273986: Battery level now 15.2kWh, -1hr ago 15.52kWh, at midnight 1.66kWh, battery value change in the last hour -5.89p, change today 249.12p, rate_forward 18.39p
2026-08-15 18:40:02.274306: Last hour: net energy 0.0kWh, import 0.0kWh, export 0.0kWh, car 0kWh, load 0.38kWh, net cost 0.0p, import 0.0p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 18:40:02.330438: Today's energy total net 27.6kWh, import 27.6kWh, export 0.0kWh, cost 566.08p, import 516.09p, export 0.0p, carbon 0.0kg
2026-08-15 18:40:02.330639: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 18:40:02.425456: Using weighted-bucket historical load forecast over 14 days
2026-08-15 18:40:02.457878: Today's load divergence 87.79%, in-day adjustment 100.71%, damping 0.95x, yesterday 143.77% today 88.4% blend 22.22%
2026-08-15 18:40:02.457970: Today's predicted so far 11.2kWh with 0.0kWh car/iBoost excluded, 20.92kWh import ignored, and 11.2kWh forecast extra.
2026-08-15 18:40:02.457996: Today's actual load so far 9.55kWh with 0.0kWh car/iBoost excluded, and 20.92kWh import ignored.
2026-08-15 18:40:02.489973: Inverter 0: Type SK Sunsynk
2026-08-15 18:40:02.490059: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 18:40:02.490236: Reserve min: 7%, battery_min: 7%
2026-08-15 18:40:02.490309: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 18:40:02.490573: Inverter 0 SoC: 15.2kW 95%, current charge rate 5000W, current discharge rate 5250W, current battery power 259W, current battery voltage 51.2V, grid power -55W, load power 322W, PV Power 0W
2026-08-15 18:40:02.490729: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 18:40:02.490817: Inverter 0 scheduled charge enable is False
2026-08-15 18:40:02.490845: Inverter 0 charge windows currently []
2026-08-15 18:40:02.490870: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 18:40:02.490976: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 18:40:02.491011: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 18:40:02.491045: Inverter 0 scheduled discharge enable is False
2026-08-15 18:40:02.491171: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 18:40:02.491201: Inverter 0 discharge windows currently []
2026-08-15 18:40:02.491223: Note: Inverter does not support discharge freeze - disabled
2026-08-15 18:40:02.491241: Note: Inverter does not support charge freeze - disabled
2026-08-15 18:40:02.491258: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 18:40:02.554462: Dynamic load last period 0.60kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 18:40:02.554588: Plan was last updated on 2026-08-15 18:35:00+01:00 and is now 5.0 minutes old
2026-08-15 18:40:02.554830: Best charge window [ 16-08 11:00:00 - 16-08 12:30:00 @ 23.65p 16%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 31%, 16-08 13:30:00 - 16-08 15:00:00 @ 21.91p 100%, 16-08 15:00:00 - 16-08 16:00:00 @ 22.89p 75%, 17-08 12:30:00 - 17-08 18:00:00 @ 40.7p 100% ]
2026-08-15 18:40:02.554872: Best export window [  ]
2026-08-15 18:40:02.555721: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 18:40:02.558852: Load divergence over 8.0 hours mean 724.36W, min 356.4W, max 2447.4W, std dev 448.14W, divergence 30.93%
2026-08-15 18:40:02.577080: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 18:40:02.577220: LoadML is_calculating False
2026-08-15 18:40:02.577282: Creating pool of 12 processes to match your CPU count
2026-08-15 18:40:02.685023: predict base end_record 08-17 12:35:00, final soc 1.12kWh, metric 1093.18p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 14:00:00, load 37.24kWh, PV 0.0kWh
2026-08-15 18:40:02.800092: Battery has 19.33 hours left - now at 15.2kWh
2026-08-15 18:40:02.839752: predict base10 end_record 08-17 12:35:00, final soc 1.12kWh, metric 1127.6p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 13:05:00, load 38.56kWh, PV 0.0kWh
2026-08-15 18:40:02.909855: predict best10 end_record 08-17 12:35:00, final soc 1.44kWh, metric 1067.77p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 06:10:00, load 38.56kWh, PV 0.0kWh
2026-08-15 18:40:02.979603: predict best end_record 08-17 12:35:00, final soc 1.51kWh, metric 1035.35p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 07:10:00, load 37.24kWh, PV 0.0kWh
2026-08-15 18:40:02.979684: Saving plan best values to HA entities
2026-08-15 18:40:03.134007: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 18:40:03.139223: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 18:40:03.144643: Best charging limit SoC's [2.5, 5.0, 16.0, 12.0, 16.0]kWh, export []kWh gives import battery 13.12kWh, house 3.29kWh, export 0.0kWh, metric 1035.35p, metric10 1067.77p
2026-08-15 18:40:03.214766: Marginal costs baseline metric (no standing charge): 935.3853
2026-08-15 18:40:03.436448: Marginal energy costs matrix computed: min=23.89 max=30.74
2026-08-15 18:40:03.517423: Rate array import [{'start': 1120, 'end': 1140, 'rate': 'very expensive', 'range': '(43.8p)'}, {'start': 1140, 'end': 1410, 'rate': 'expensive', 'range': '(29.8p - 32.9p)'}, {'start': 1410, 'end': 2400, 'rate': 'cheap', 'range': '(21.4p - 28.2p)'}, {'start': 2400, 'end': 2430, 'rate': 'expensive', 'range': '(36.8p)'}, {'start': 2430, 'end': 2580, 'rate': 'very expensive', 'range': '(37.5p - 45.3p)'}, {'start': 2580, 'end': 2850, 'rate': 'expensive', 'range': '(30.0p - 35.9p)'}, {'start': 2850, 'end': 3635, 'rate': 'cheap', 'range': '(22.3p - 28.2p)'}] export [{'start': 1120, 'end': 3635, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 18:40:03.518074: - Your estimated bill for today is £5.66 and tomorrow is £3.29
2026-08-15 18:40:03.518113: - Import rates are very expensive (43.8p) for the next 20 minutes and then expensive (29.8p - 32.9p) for the next 4 and a half hours.
2026-08-15 18:40:03.518132: - The battery is currently at 95% and is in eco mode for the next 16 hours.
2026-08-15 18:40:03.518147: - For the next 48 hours there will be no solar generation.
2026-08-15 18:40:03.518161: - You will run out of battery in 36 hours.
2026-08-15 18:40:03.518178: - Your next charge slot will be in 16 hours where import rates will be cheap (24.3p).
2026-08-15 18:40:03.518192: 
2026-08-15 18:40:03.583280: Plan calculation took 1.03 seconds
2026-08-15 18:40:03.586359: No high rate period found
2026-08-15 18:40:03.632840: Import threshold used for optimisation was 24.66p
2026-08-15 18:40:03.682356: Low import rate windows [0: 08-15 18:30:00 - 08-15 19:00:00 @ 43.82, 1: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 2: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 3: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 4: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 5: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 6: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 7: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 8: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 9: 08-15 23:00:00 - 08-15 23:30:00 @ 30.02, 10: 08-15 23:30:00 - 08-16 00:00:00 @ 27.8, 11: 08-16 00:00:00 - 08-16 00:30:00 @ 28.18, 12: 08-16 00:30:00 - 08-16 01:00:00 @ 27.38, 13: 08-16 01:00:00 - 08-16 01:30:00 @ 26.7, 14: 08-16 01:30:00 - 08-16 02:00:00 @ 26.31, 15: 08-16 02:00:00 - 08-16 02:30:00 @ 25.79, 16: 08-16 02:30:00 - 08-16 03:00:00 @ 25.86, 17: 08-16 03:00:00 - 08-16 03:30:00 @ 26.13, 18: 08-16 03:30:00 - 08-16 04:00:00 @ 25.86, 19: 08-16 04:00:00 - 08-16 04:30:00 @ 26.27, 20: 08-16 04:30:00 - 08-16 05:00:00 @ 26.14, 21: 08-16 05:00:00 - 08-16 05:30:00 @ 27.03, 22: 08-16 05:30:00 - 08-16 06:00:00 @ 26.28, 23: 08-16 06:00:00 - 08-16 06:30:00 @ 25.68, 24: 08-16 06:30:00 - 08-16 07:00:00 @ 26.1, 25: 08-16 07:00:00 - 08-16 07:30:00 @ 24.28, 26: 08-16 07:30:00 - 08-16 08:00:00 @ 24.94, 27: 08-16 08:00:00 - 08-16 08:30:00 @ 24.06, 28: 08-16 08:30:00 - 08-16 09:00:00 @ 24.39, 29: 08-16 09:00:00 - 08-16 09:30:00 @ 24.66, 30: 08-16 09:30:00 - 08-16 10:00:00 @ 24.06, 31: 08-16 10:00:00 - 08-16 10:30:00 @ 25.5, 32: 08-16 10:30:00 - 08-16 11:00:00 @ 24.94, 33: 08-16 11:00:00 - 08-16 11:30:00 @ 24.25, 34: 08-16 11:30:00 - 08-16 12:00:00 @ 23.49, 35: 08-16 12:00:00 - 08-16 12:30:00 @ 23.43, 36: 08-16 12:30:00 - 08-16 13:00:00 @ 22.33, 37: 08-16 13:00:00 - 08-16 13:30:00 @ 22.76, 38: 08-16 13:30:00 - 08-16 14:00:00 @ 22.3, 39: 08-16 14:00:00 - 08-16 14:30:00 @ 21.41, 40: 08-16 14:30:00 - 08-16 15:00:00 @ 21.65, 41: 08-16 15:00:00 - 08-16 15:30:00 @ 22.95, 42: 08-16 15:30:00 - 08-16 16:00:00 @ 22.83, 43: 08-16 16:00:00 - 08-16 16:30:00 @ 36.84, 44: 08-16 16:30:00 - 08-16 17:00:00 @ 37.54, 45: 08-16 17:00:00 - 08-16 17:30:00 @ 41.79, 46: 08-16 17:30:00 - 08-16 18:00:00 @ 43.7, 47: 08-16 18:00:00 - 08-16 18:30:00 @ 44.34, 48: 08-16 19:00:00 - 08-16 19:30:00 @ 34.79, 49: 08-16 19:30:00 - 08-16 20:00:00 @ 34.76, 50: 08-16 20:00:00 - 08-16 20:30:00 @ 35.62, 51: 08-16 20:30:00 - 08-16 21:00:00 @ 35.3, 52: 08-16 21:00:00 - 08-16 21:30:00 @ 35.89, 53: 08-16 21:30:00 - 08-16 22:00:00 @ 35.71, 54: 08-16 22:00:00 - 08-16 22:30:00 @ 33.75, 55: 08-16 22:30:00 - 08-16 23:00:00 @ 32.0, 56: 08-16 23:00:00 - 08-16 23:30:00 @ 30.02, 57: 08-16 23:30:00 - 08-17 00:00:00 @ 27.8, 58: 08-17 00:00:00 - 08-17 00:30:00 @ 28.18, 59: 08-17 00:30:00 - 08-17 01:00:00 @ 27.38, 60: 08-17 01:00:00 - 08-17 01:30:00 @ 26.7, 61: 08-17 01:30:00 - 08-17 02:00:00 @ 26.31, 62: 08-17 02:00:00 - 08-17 02:30:00 @ 25.79, 63: 08-17 02:30:00 - 08-17 03:00:00 @ 25.86, 64: 08-17 03:00:00 - 08-17 03:30:00 @ 26.13, 65: 08-17 03:30:00 - 08-17 04:00:00 @ 25.86, 66: 08-17 04:00:00 - 08-17 04:30:00 @ 26.27, 67: 08-17 04:30:00 - 08-17 05:00:00 @ 26.14, 68: 08-17 05:00:00 - 08-17 05:30:00 @ 27.03, 69: 08-17 05:30:00 - 08-17 06:00:00 @ 26.28, 70: 08-17 06:00:00 - 08-17 06:30:00 @ 25.68, 71: 08-17 06:30:00 - 08-17 07:00:00 @ 26.1, 72: 08-17 07:00:00 - 08-17 07:30:00 @ 24.28, 73: 08-17 07:30:00 - 08-17 08:00:00 @ 24.94, 74: 08-17 08:00:00 - 08-17 08:30:00 @ 24.06, 75: 08-17 08:30:00 - 08-17 09:00:00 @ 24.39, 76: 08-17 09:00:00 - 08-17 09:30:00 @ 24.66, 77: 08-17 09:30:00 - 08-17 10:00:00 @ 24.06, 78: 08-17 10:00:00 - 08-17 10:30:00 @ 25.5, 79: 08-17 10:30:00 - 08-17 11:00:00 @ 24.94, 80: 08-17 11:00:00 - 08-17 11:30:00 @ 24.25, 81: 08-17 11:30:00 - 08-17 12:00:00 @ 23.49, 82: 08-17 12:00:00 - 08-17 12:30:00 @ 23.43, 83: 08-17 12:30:00 - 08-17 13:00:00 @ 22.33, 84: 08-17 13:00:00 - 08-17 13:30:00 @ 22.76, 85: 08-17 13:30:00 - 08-17 14:00:00 @ 22.3, 86: 08-17 14:00:00 - 08-17 14:30:00 @ 21.41, 87: 08-17 14:30:00 - 08-17 15:00:00 @ 21.65, 88: 08-17 15:00:00 - 08-17 15:30:00 @ 22.95, 89: 08-17 15:30:00 - 08-17 16:00:00 @ 22.83, 90: 08-17 16:00:00 - 08-17 16:30:00 @ 36.84, 91: 08-17 16:30:00 - 08-17 17:00:00 @ 37.54, 92: 08-17 17:00:00 - 08-17 17:30:00 @ 41.79, 93: 08-17 17:30:00 - 08-17 18:00:00 @ 43.7, 94: 08-17 18:00:00 - 08-17 18:30:00 @ 44.34]
2026-08-15 18:40:03.689170: Inverter 0 Charge window will be: 2026-08-16 11:00:00+01:00 - 2026-08-16 16:00:00+01:00 - current SoC 95%, target 16%
2026-08-15 18:40:03.689289: Inverter 0 disabled charge window while waiting for schedule (now 08-15 18:40:00 target set_window_minutes 30 charge start time 08-16 11:00:00) original inverter start time 08-17 00:00:00
2026-08-15 18:40:03.689389: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 18:40:03.689636: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 18:40:03.689718: No export window planned
2026-08-15 18:40:03.689833: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 18:40:03.689865: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 18:40:03.689975: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 18:40:03.690124: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 18:40:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 18:40:03.690176: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 18:40:03.690236: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 18:40:03.690324: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 18:40:03.690355: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 18:40:03.690387: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 18:40:03.690409: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 18:40:03.690434: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 18:40:03.690454: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 18:40:03.690475: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 18:40:03.690528: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 18:40:03.690575: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 18:40:03.690597: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 18:40:03.690617: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 18:40:03.690650: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 18:40:03.690671: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 18:40:03.690691: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 18:40:03.690707: Inverter 0 count register writes 0
2026-08-15 18:40:03.704748: Will not recompute the plan, it is 5.0 minutes old and max age is 10 minutes
2026-08-15 18:40:03.710013: Total inverter register writes now 826
2026-08-15 18:40:03.741534: Info: Completed run status Demand
2026-08-15 18:40:03.747976: Info: record_status Demand
2026-08-15 18:40:03.754916: Saved current settings to /config/predbat_config.json
2026-08-15 18:40:03.755273: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 18:40:06.892167: ML Component: Fetching 28 days of load history from ['sensor.sunsynk_day_load_energy']
2026-08-15 18:40:07.862726: Processing 1345 30-minute periods for power integration
2026-08-15 18:40:07.968665: ML Component: Car charging hold False, car energy reported load False
2026-08-15 18:40:08.072019: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 18:40:08.183438: ML Temperature data points: 49281
2026-08-15 18:40:08.498000: ML Component: Fetched 8064 load data points, 28.0 days of history
2026-08-15 18:40:08.543651: ML Component: Data fetch completed, load data age 57.0 days, 16489 data points
2026-08-15 18:40:08.543798: ML Component: No training needed, model age is 1.37 hours
2026-08-15 18:40:08.543901: ML Component: Generating predictions load data age 57.0 days, 16489 data points
2026-08-15 18:40:08.718793: ML Predictor: Starting autoregressive prediction loop for 576 steps (48.0 hours), prev_energy value 0.0356 max_dow {0: 0.10014999996256083, 1: 0.10541562554407864, 2: 0.11911562483031304, 3: 0.12494687463529408, 4: 0.17094062535744162, 5: 0.09450833335849973, 6: 0.10970937514957041}
2026-08-15 18:40:16.619449: ML Component: Generated 576 predictions (total 27.40 kWh over 48h)
2026-08-15 18:40:16.657693: ML Component: Prediction cycle completed
2026-08-15 18:40:16.757546: ML Component: Saved 16489 steps (57 days) of history to /config/predbat_ml_history.npz
2026-08-15 18:40:41.898315: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 18:40:41.898577: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 18:40:41.898627: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 18:40:41.898851: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 18:40:41.898903: Note: Inverter does not support discharge freeze - disabled
2026-08-15 18:40:41.898927: Note: Inverter does not support charge freeze - disabled
2026-08-15 18:40:41.898945: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 18:42:42.124559: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 18:42:42.124802: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 18:42:42.124845: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 18:42:42.125047: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 18:42:42.125119: Note: Inverter does not support discharge freeze - disabled
2026-08-15 18:42:42.125146: Note: Inverter does not support charge freeze - disabled
2026-08-15 18:42:42.125173: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 18:44:42.348821: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 18:44:42.349116: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 18:44:42.349156: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 18:44:42.349325: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 18:44:42.349376: Note: Inverter does not support discharge freeze - disabled
2026-08-15 18:44:42.349412: Note: Inverter does not support charge freeze - disabled
2026-08-15 18:44:42.349432: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 18:45:00.450039: --------------- PredBat - update at 2026-08-15 18:45:00+01:00 with clock skew 0 minutes, minutes now 1125
2026-08-15 18:45:00.450767: Saved current settings to /config/predbat_config.json
2026-08-15 18:45:00.450880: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 20.0 minutes
2026-08-15 18:45:00.450943: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.2, latest beta is v8.48.2
2026-08-15 18:45:00.451021: Autoupdate: There is an update pending v8.48.2 PV90 and second pass enabled by default, bug fixes - auto update is off
2026-08-15 18:45:00.473468: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 18:45:00.473600: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 18:45:00.473764: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 18:45:00.474261: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 18:45:00.474424: Predbat mode is set to Control charge & discharge
2026-08-15 18:45:00.665596: Found 21602 load_today datapoints going back 28 days
2026-08-15 18:45:00.665745: Using load_power data to fill gaps in load_today data
2026-08-15 18:45:01.551164: Processing 721 30-minute periods for power integration
2026-08-15 18:45:01.775651: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 18:45:01.775788: Car charging hold False, threshold 6.0kWh
2026-08-15 18:45:01.775867: Current data so far today: load 9.5kWh, import 27.6kWh, export 0.0kWh, PV 0kWh
2026-08-15 18:45:01.796891: Cars: SoC: [10.548]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 18:45:01.797412: Standing charge is set to 49.98p
2026-08-15 18:45:01.846589: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 18:45:01.846731: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 18:45:01.847052: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 485.0 minutes
2026-08-15 18:45:01.847728: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 485.0 minutes
2026-08-15 18:45:01.855037: Loaded 95 datapoints of futurerate analysis
2026-08-15 18:45:02.014049: Predicted future rates: ['08-15 00:00:00 => 28.69 / 20.01', '08-15 01:00:00 => 27.33 / 19.31', '08-15 02:00:00 => 26.31 / 18.8', '08-15 03:00:00 => 25.78 / 18.53', '08-15 04:00:00 => 25.59 / 18.43', '08-15 05:00:00 => 25.75 / 18.51', '08-15 06:00:00 => 25.34 / 18.3', '08-15 07:00:00 => 24.12 / 17.68', '08-15 08:00:00 => 22.82 / 17.01', '08-15 09:00:00 => 21.84 / 16.51', '08-15 10:00:00 => 20.22 / 15.68', '08-15 11:00:00 => 17.8 / 14.45', '08-15 12:00:00 => 16.16 / 13.61', '08-15 13:00:00 => 15.55 / 13.3', '08-15 14:00:00 => 15.14 / 13.09', '08-15 15:00:00 => 15.65 / 13.35', '08-15 16:00:00 => 32.68 / 16.13', '08-15 17:00:00 => 37.81 / 18.75', '08-15 18:00:00 => 42.15 / 20.96', '08-15 19:00:00 => 30.88 / 21.13', '08-15 20:00:00 => 31.43 / 21.41', '08-15 21:00:00 => 31.43 / 21.41', '08-15 22:00:00 => 30.37 / 20.87', '08-15 23:00:00 => 29.16 / 20.25', '08-16 00:00:00 => 28.62 / 19.97', '08-16 01:00:00 => 27.52 / 19.41', '08-16 02:00:00 => 26.55 / 18.92', '08-16 03:00:00 => 26.18 / 18.73', '08-16 04:00:00 => 26.12 / 18.7', '08-16 05:00:00 => 26.02 / 18.65', '08-16 06:00:00 => 25.78 / 18.53', '08-16 07:00:00 => 25.43 / 18.35', '08-16 08:00:00 => 24.63 / 17.94', '08-16 09:00:00 => 24.05 / 17.64', '08-16 10:00:00 => 24.59 / 17.92', '08-16 11:00:00 => 24.5 / 17.87', '08-16 12:00:00 => 23.58 / 17.4', '08-16 13:00:00 => 22.93 / 17.07', '08-16 14:00:00 => 21.8 / 16.49', '08-16 15:00:00 => 21.8 / 16.49', '08-16 16:00:00 => 36.93 / 18.3', '08-16 17:00:00 => 39.92 / 19.83']
2026-08-15 18:45:02.063603: Rate min forward looking: now 21.41p at end of forecast 21.41p
2026-08-15 18:45:02.063937: Import rates: min 21.41p, max 45.28p, average 28.48p
2026-08-15 18:45:02.107659: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 18:45:02.107790: Rate thresholds (for charge/export) are import 44.78p (0.0p), export -0.1p (0.0p)
2026-08-15 18:45:02.109120: High export rate found rates in range 99p to -99p
2026-08-15 18:45:02.219209: Low Import rate found rates in range 21.41p to 44.34p
2026-08-15 18:45:02.219353: Car 0 charging is not planned as it is not plugged in
2026-08-15 18:45:02.232039: Battery level now 15.2kWh, -1hr ago 15.52kWh, at midnight 1.66kWh, battery value change in the last hour -5.89p, change today 249.12p, rate_forward 18.39p
2026-08-15 18:45:02.232431: Last hour: net energy 0.0kWh, import 0.0kWh, export 0.0kWh, car 0kWh, load 0.4kWh, net cost 0.0p, import 0.0p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 18:45:02.332013: Today's energy total net 27.6kWh, import 27.6kWh, export 0.0kWh, cost 566.08p, import 516.09p, export 0.0p, carbon 0.0kg
2026-08-15 18:45:02.332175: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 18:45:02.439850: Using weighted-bucket historical load forecast over 14 days
2026-08-15 18:45:02.472065: Today's load divergence 87.65%, in-day adjustment 100.41%, damping 0.95x, yesterday 143.77% today 88.27% blend 21.88%
2026-08-15 18:45:02.472166: Today's predicted so far 11.21kWh with 0.0kWh car/iBoost excluded, 20.9kWh import ignored, and 11.21kWh forecast extra.
2026-08-15 18:45:02.472199: Today's actual load so far 9.54kWh with 0.0kWh car/iBoost excluded, and 20.9kWh import ignored.
2026-08-15 18:45:02.512555: Inverter 0: Type SK Sunsynk
2026-08-15 18:45:02.512646: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 18:45:02.512831: Reserve min: 7%, battery_min: 7%
2026-08-15 18:45:02.512911: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 18:45:02.513226: Inverter 0 SoC: 15.2kW 95%, current charge rate 5000W, current discharge rate 5250W, current battery power 256W, current battery voltage 51.2V, grid power -55W, load power 320W, PV Power 0W
2026-08-15 18:45:02.513408: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 18:45:02.513502: Inverter 0 scheduled charge enable is False
2026-08-15 18:45:02.513542: Inverter 0 charge windows currently []
2026-08-15 18:45:02.513569: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 18:45:02.513679: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 18:45:02.513715: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 18:45:02.513751: Inverter 0 scheduled discharge enable is False
2026-08-15 18:45:02.513874: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 18:45:02.513913: Inverter 0 discharge windows currently []
2026-08-15 18:45:02.513935: Note: Inverter does not support discharge freeze - disabled
2026-08-15 18:45:02.513954: Note: Inverter does not support charge freeze - disabled
2026-08-15 18:45:02.513972: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 18:45:02.582461: Dynamic load last period 0.60kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 18:45:02.582596: Plan was last updated on 2026-08-15 18:35:00+01:00 and is now 10.0 minutes old
2026-08-15 18:45:02.582851: Best charge window [ 16-08 11:00:00 - 16-08 12:30:00 @ 23.65p 16%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 31%, 16-08 13:30:00 - 16-08 15:00:00 @ 21.91p 100%, 16-08 15:00:00 - 16-08 16:00:00 @ 22.89p 75%, 17-08 12:30:00 - 17-08 18:00:00 @ 40.7p 100% ]
2026-08-15 18:45:02.582896: Best export window [  ]
2026-08-15 18:45:02.584056: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 18:45:02.588068: Load divergence over 8.0 hours mean 735.87W, min 328.2W, max 2127.6W, std dev 439.54W, divergence 29.87%
2026-08-15 18:45:02.610281: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 18:45:02.610760: LoadML is_calculating False
2026-08-15 18:45:02.610892: Creating pool of 12 processes to match your CPU count
2026-08-15 18:45:02.751346: predict base end_record 08-17 12:40:00, final soc 1.12kWh, metric 1093.64p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 14:05:00, load 37.31kWh, PV 0.0kWh
2026-08-15 18:45:02.915753: Battery has 19.33 hours left - now at 15.2kWh
2026-08-15 18:45:02.962621: predict base10 end_record 08-17 12:40:00, final soc 1.12kWh, metric 1127.98p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 13:10:00, load 38.63kWh, PV 0.0kWh
2026-08-15 18:45:03.061096: predict best10 end_record 08-17 12:40:00, final soc 1.77kWh, metric 1075.63p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 06:05:00, load 38.63kWh, PV 0.0kWh
2026-08-15 18:45:03.161526: predict best end_record 08-17 12:40:00, final soc 1.9kWh, metric 1044.98p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 07:10:00, load 37.31kWh, PV 0.0kWh
2026-08-15 18:45:03.161618: Saving plan best values to HA entities
2026-08-15 18:45:03.354949: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 18:45:03.360398: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 18:45:03.366012: Best charging limit SoC's [2.5, 5.0, 16.0, 12.0, 16.0]kWh, export []kWh gives import battery 13.55kWh, house 3.3kWh, export 0.0kWh, metric 1044.98p, metric10 1075.63p
2026-08-15 18:45:03.447836: Marginal costs baseline metric (no standing charge): 945.0176
2026-08-15 18:45:03.729542: Marginal energy costs matrix computed: min=23.79 max=30.28
2026-08-15 18:45:03.816077: Rate array import [{'start': 1125, 'end': 1140, 'rate': 'very expensive', 'range': '(43.8p)'}, {'start': 1140, 'end': 1410, 'rate': 'expensive', 'range': '(29.8p - 32.9p)'}, {'start': 1410, 'end': 2400, 'rate': 'cheap', 'range': '(21.4p - 28.2p)'}, {'start': 2400, 'end': 2430, 'rate': 'expensive', 'range': '(36.8p)'}, {'start': 2430, 'end': 2580, 'rate': 'very expensive', 'range': '(37.5p - 45.3p)'}, {'start': 2580, 'end': 2850, 'rate': 'expensive', 'range': '(30.0p - 35.9p)'}, {'start': 2850, 'end': 3640, 'rate': 'cheap', 'range': '(22.3p - 28.2p)'}] export [{'start': 1125, 'end': 3640, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 18:45:03.816752: - Your estimated bill for today is £5.66 and tomorrow is £3.27
2026-08-15 18:45:03.816798: - Import rates are very expensive (43.8p) for the next 15 minutes and then expensive (29.8p - 32.9p) for the next 4 and a half hours.
2026-08-15 18:45:03.816817: - The battery is currently at 95% and is in eco mode for the next 16 hours.
2026-08-15 18:45:03.816833: - For the next 48 hours there will be no solar generation.
2026-08-15 18:45:03.816846: - You will run out of battery in 36 hours.
2026-08-15 18:45:03.816864: - Your next charge slot will be in 16 hours where import rates will be cheap (24.3p).
2026-08-15 18:45:03.816878: 
2026-08-15 18:45:03.889625: Plan calculation took 1.31 seconds
2026-08-15 18:45:03.894427: No high rate period found
2026-08-15 18:45:03.948533: Import threshold used for optimisation was 24.66p
2026-08-15 18:45:04.014466: Low import rate windows [0: 08-15 18:30:00 - 08-15 19:00:00 @ 43.82, 1: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 2: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 3: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 4: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 5: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 6: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 7: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 8: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 9: 08-15 23:00:00 - 08-15 23:30:00 @ 30.02, 10: 08-15 23:30:00 - 08-16 00:00:00 @ 27.8, 11: 08-16 00:00:00 - 08-16 00:30:00 @ 28.18, 12: 08-16 00:30:00 - 08-16 01:00:00 @ 27.38, 13: 08-16 01:00:00 - 08-16 01:30:00 @ 26.7, 14: 08-16 01:30:00 - 08-16 02:00:00 @ 26.31, 15: 08-16 02:00:00 - 08-16 02:30:00 @ 25.79, 16: 08-16 02:30:00 - 08-16 03:00:00 @ 25.86, 17: 08-16 03:00:00 - 08-16 03:30:00 @ 26.13, 18: 08-16 03:30:00 - 08-16 04:00:00 @ 25.86, 19: 08-16 04:00:00 - 08-16 04:30:00 @ 26.27, 20: 08-16 04:30:00 - 08-16 05:00:00 @ 26.14, 21: 08-16 05:00:00 - 08-16 05:30:00 @ 27.03, 22: 08-16 05:30:00 - 08-16 06:00:00 @ 26.28, 23: 08-16 06:00:00 - 08-16 06:30:00 @ 25.68, 24: 08-16 06:30:00 - 08-16 07:00:00 @ 26.1, 25: 08-16 07:00:00 - 08-16 07:30:00 @ 24.28, 26: 08-16 07:30:00 - 08-16 08:00:00 @ 24.94, 27: 08-16 08:00:00 - 08-16 08:30:00 @ 24.06, 28: 08-16 08:30:00 - 08-16 09:00:00 @ 24.39, 29: 08-16 09:00:00 - 08-16 09:30:00 @ 24.66, 30: 08-16 09:30:00 - 08-16 10:00:00 @ 24.06, 31: 08-16 10:00:00 - 08-16 10:30:00 @ 25.5, 32: 08-16 10:30:00 - 08-16 11:00:00 @ 24.94, 33: 08-16 11:00:00 - 08-16 11:30:00 @ 24.25, 34: 08-16 11:30:00 - 08-16 12:00:00 @ 23.49, 35: 08-16 12:00:00 - 08-16 12:30:00 @ 23.43, 36: 08-16 12:30:00 - 08-16 13:00:00 @ 22.33, 37: 08-16 13:00:00 - 08-16 13:30:00 @ 22.76, 38: 08-16 13:30:00 - 08-16 14:00:00 @ 22.3, 39: 08-16 14:00:00 - 08-16 14:30:00 @ 21.41, 40: 08-16 14:30:00 - 08-16 15:00:00 @ 21.65, 41: 08-16 15:00:00 - 08-16 15:30:00 @ 22.95, 42: 08-16 15:30:00 - 08-16 16:00:00 @ 22.83, 43: 08-16 16:00:00 - 08-16 16:30:00 @ 36.84, 44: 08-16 16:30:00 - 08-16 17:00:00 @ 37.54, 45: 08-16 17:00:00 - 08-16 17:30:00 @ 41.79, 46: 08-16 17:30:00 - 08-16 18:00:00 @ 43.7, 47: 08-16 18:00:00 - 08-16 18:30:00 @ 44.34, 48: 08-16 19:00:00 - 08-16 19:30:00 @ 34.79, 49: 08-16 19:30:00 - 08-16 20:00:00 @ 34.76, 50: 08-16 20:00:00 - 08-16 20:30:00 @ 35.62, 51: 08-16 20:30:00 - 08-16 21:00:00 @ 35.3, 52: 08-16 21:00:00 - 08-16 21:30:00 @ 35.89, 53: 08-16 21:30:00 - 08-16 22:00:00 @ 35.71, 54: 08-16 22:00:00 - 08-16 22:30:00 @ 33.75, 55: 08-16 22:30:00 - 08-16 23:00:00 @ 32.0, 56: 08-16 23:00:00 - 08-16 23:30:00 @ 30.02, 57: 08-16 23:30:00 - 08-17 00:00:00 @ 27.8, 58: 08-17 00:00:00 - 08-17 00:30:00 @ 28.18, 59: 08-17 00:30:00 - 08-17 01:00:00 @ 27.38, 60: 08-17 01:00:00 - 08-17 01:30:00 @ 26.7, 61: 08-17 01:30:00 - 08-17 02:00:00 @ 26.31, 62: 08-17 02:00:00 - 08-17 02:30:00 @ 25.79, 63: 08-17 02:30:00 - 08-17 03:00:00 @ 25.86, 64: 08-17 03:00:00 - 08-17 03:30:00 @ 26.13, 65: 08-17 03:30:00 - 08-17 04:00:00 @ 25.86, 66: 08-17 04:00:00 - 08-17 04:30:00 @ 26.27, 67: 08-17 04:30:00 - 08-17 05:00:00 @ 26.14, 68: 08-17 05:00:00 - 08-17 05:30:00 @ 27.03, 69: 08-17 05:30:00 - 08-17 06:00:00 @ 26.28, 70: 08-17 06:00:00 - 08-17 06:30:00 @ 25.68, 71: 08-17 06:30:00 - 08-17 07:00:00 @ 26.1, 72: 08-17 07:00:00 - 08-17 07:30:00 @ 24.28, 73: 08-17 07:30:00 - 08-17 08:00:00 @ 24.94, 74: 08-17 08:00:00 - 08-17 08:30:00 @ 24.06, 75: 08-17 08:30:00 - 08-17 09:00:00 @ 24.39, 76: 08-17 09:00:00 - 08-17 09:30:00 @ 24.66, 77: 08-17 09:30:00 - 08-17 10:00:00 @ 24.06, 78: 08-17 10:00:00 - 08-17 10:30:00 @ 25.5, 79: 08-17 10:30:00 - 08-17 11:00:00 @ 24.94, 80: 08-17 11:00:00 - 08-17 11:30:00 @ 24.25, 81: 08-17 11:30:00 - 08-17 12:00:00 @ 23.49, 82: 08-17 12:00:00 - 08-17 12:30:00 @ 23.43, 83: 08-17 12:30:00 - 08-17 13:00:00 @ 22.33, 84: 08-17 13:00:00 - 08-17 13:30:00 @ 22.76, 85: 08-17 13:30:00 - 08-17 14:00:00 @ 22.3, 86: 08-17 14:00:00 - 08-17 14:30:00 @ 21.41, 87: 08-17 14:30:00 - 08-17 15:00:00 @ 21.65, 88: 08-17 15:00:00 - 08-17 15:30:00 @ 22.95, 89: 08-17 15:30:00 - 08-17 16:00:00 @ 22.83, 90: 08-17 16:00:00 - 08-17 16:30:00 @ 36.84, 91: 08-17 16:30:00 - 08-17 17:00:00 @ 37.54, 92: 08-17 17:00:00 - 08-17 17:30:00 @ 41.79, 93: 08-17 17:30:00 - 08-17 18:00:00 @ 43.7, 94: 08-17 18:00:00 - 08-17 18:30:00 @ 44.34]
2026-08-15 18:45:04.023557: Inverter 0 Charge window will be: 2026-08-16 11:00:00+01:00 - 2026-08-16 16:00:00+01:00 - current SoC 95%, target 16%
2026-08-15 18:45:04.023712: Inverter 0 disabled charge window while waiting for schedule (now 08-15 18:45:00 target set_window_minutes 30 charge start time 08-16 11:00:00) original inverter start time 08-17 00:00:00
2026-08-15 18:45:04.023859: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 18:45:04.024166: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 18:45:04.024274: No export window planned
2026-08-15 18:45:04.024455: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 18:45:04.024501: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 18:45:04.024680: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 18:45:04.024899: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 18:45:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 18:45:04.025056: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 18:45:04.025178: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 18:45:04.025327: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 18:45:04.025381: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 18:45:04.025466: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 18:45:04.025520: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 18:45:04.025584: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 18:45:04.025641: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 18:45:04.025706: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 18:45:04.025831: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 18:45:04.025912: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 18:45:04.025988: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 18:45:04.026046: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 18:45:04.026093: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 18:45:04.026133: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 18:45:04.026183: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 18:45:04.026217: Inverter 0 count register writes 0
2026-08-15 18:45:04.046871: Will recompute the plan as it is now 10.0 minutes old and will exceed the max age of 10 minutes before the next run
2026-08-15 18:45:04.047080: Recompute is saving previous plan...
2026-08-15 18:45:04.050274: Best charge window [ 15-08 18:30:00 - 15-08 19:00:00 @ 43.82p 0%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 0%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 0%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 0%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 0%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 30.02p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 27.8p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.18p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.38p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 26.7p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.31p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.79p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 25.86p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.13p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 25.86p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.27p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.14p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 27.03p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.28p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.68p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 26.1p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 24.28p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 24.94p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.06p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.39p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.66p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.06p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 25.5p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 24.94p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 24.25p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 23.49p 0%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.43p 0%, 16-08 12:30:00 - 16-08 13:00:00 @ 22.33p 0%, 16-08 13:00:00 - 16-08 13:30:00 @ 22.76p 0%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 0%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 0%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.65p 0%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.95p 0%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.83p 0%, 16-08 16:00:00 - 16-08 16:30:00 @ 36.84p 0%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.54p 0%, 16-08 17:00:00 - 16-08 17:30:00 @ 41.79p 0%, 16-08 17:30:00 - 16-08 18:00:00 @ 43.7p 0%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.34p 0%, 16-08 19:00:00 - 16-08 19:30:00 @ 34.79p 0%, 16-08 19:30:00 - 16-08 20:00:00 @ 34.76p 0%, 16-08 20:00:00 - 16-08 20:30:00 @ 35.62p 0%, 16-08 20:30:00 - 16-08 21:00:00 @ 35.3p 0%, 16-08 21:00:00 - 16-08 21:30:00 @ 35.89p 0%, 16-08 21:30:00 - 16-08 22:00:00 @ 35.71p 0%, 16-08 22:00:00 - 16-08 22:30:00 @ 33.75p 0%, 16-08 22:30:00 - 16-08 23:00:00 @ 32.0p 0%, 16-08 23:00:00 - 16-08 23:30:00 @ 30.02p 0%, 16-08 23:30:00 - 17-08 00:00:00 @ 27.8p 0%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.18p 0%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.38p 0%, 17-08 01:00:00 - 17-08 01:30:00 @ 26.7p 0%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.31p 0%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.79p 0%, 17-08 02:30:00 - 17-08 03:00:00 @ 25.86p 0%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.13p 0%, 17-08 03:30:00 - 17-08 04:00:00 @ 25.86p 0%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.27p 0%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.14p 0%, 17-08 05:00:00 - 17-08 05:30:00 @ 27.03p 0%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.28p 0%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.68p 0%, 17-08 06:30:00 - 17-08 07:00:00 @ 26.1p 0%, 17-08 07:00:00 - 17-08 07:30:00 @ 24.28p 0%, 17-08 07:30:00 - 17-08 08:00:00 @ 24.94p 0%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.06p 0%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.39p 0%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.66p 0%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.06p 0%, 17-08 10:00:00 - 17-08 10:30:00 @ 25.5p 0%, 17-08 10:30:00 - 17-08 11:00:00 @ 24.94p 0%, 17-08 11:00:00 - 17-08 11:30:00 @ 24.25p 0%, 17-08 11:30:00 - 17-08 12:00:00 @ 23.49p 0%, 17-08 12:00:00 - 17-08 12:30:00 @ 23.43p 0%, 17-08 12:30:00 - 17-08 13:00:00 @ 22.33p 0%, 17-08 13:00:00 - 17-08 13:30:00 @ 22.76p 0%, 17-08 13:30:00 - 17-08 14:00:00 @ 22.3p 0%, 17-08 14:00:00 - 17-08 14:30:00 @ 21.41p 0%, 17-08 14:30:00 - 17-08 15:00:00 @ 21.65p 0%, 17-08 15:00:00 - 17-08 15:30:00 @ 22.95p 0%, 17-08 15:30:00 - 17-08 16:00:00 @ 22.83p 0%, 17-08 16:00:00 - 17-08 16:30:00 @ 36.84p 0%, 17-08 16:30:00 - 17-08 17:00:00 @ 37.54p 0%, 17-08 17:00:00 - 17-08 17:30:00 @ 41.79p 0%, 17-08 17:30:00 - 17-08 18:00:00 @ 43.7p 0%, 17-08 18:00:00 - 17-08 18:30:00 @ 44.34p 0% ]
2026-08-15 18:45:04.050358: Best export window [  ]
2026-08-15 18:45:04.051298: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 18:45:04.054690: Load divergence over 8.0 hours mean 735.87W, min 328.2W, max 2127.6W, std dev 439.54W, divergence 29.87%
2026-08-15 18:45:04.074644: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 18:45:04.074782: LoadML is_calculating False
2026-08-15 18:45:04.074852: Creating pool of 12 processes to match your CPU count
2026-08-15 18:45:04.175542: Calculate Best options: mode(Control charge & discharge), calculate_export_oncharge(False), calculate_export_on_pv(True), set_export_freeze_only(False), set_discharge_during_charge(True), combine_charge_slots(False), combine_export_slots(False), combine_rate_threshold(0.0), best_soc_min(0.0 kWh), best_soc_max(0.0 kWh), best_soc_keep(0.0 kWh), inverter_loss(4%), battery_loss(3%), battery_loss_discharge (3%), inverter_hybrid(True), metric_min_improvement(0.0p), metric_min_improvement_export(0.1p), metric_min_improvement_export_freeze(0.1p), metric_battery_cycle(0.0p/kWh), metric_battery_value_scaling(1.0 x) 
2026-08-15 18:45:04.177898: Optimise levels pass started at 2026-08-15 18:45:04
2026-08-15 18:45:04.179530: Optimise all windows, total charge 95 export 1
2026-08-15 18:45:05.429801: >> Region optimisation pass width 960 gives best_metric 1013.11p, best_cost 1026.4p, best_cycle 36.95kWh, best_import 20.12kWh
2026-08-15 18:45:05.822058: >> Region optimisation pass width 480 gives best_metric 1013.11p, best_cost 1026.4p, best_cycle 36.95kWh, best_import 20.12kWh
2026-08-15 18:45:06.816450: >> Region optimisation pass width 240 gives best_metric 1012.03p, best_cost 1025.2p, best_cycle 37.29kWh, best_import 20.14kWh
2026-08-15 18:45:08.120830: >> Region optimisation pass width 120 gives best_metric 1012.03p, best_cost 1025.2p, best_cycle 37.29kWh, best_import 20.14kWh
2026-08-15 18:45:08.121278: Calculated end_record as 08-17 12:30:00 based on best_price 22.95p, next_charge_start 08-16 12:30:00, max_windows 83
2026-08-15 18:45:08.121449: Optimise levels pass ended at 2026-08-15 18:45:08, duration 3.9 seconds tried 342 combinations
2026-08-15 18:45:08.121788: Set best_price_charge_level 24.6p, best_price_export_level 0p, best_price_charge 22.95p, best_cost_export 0p, best_metric 1012.03p, best_keep 0kWh, best_cycle 37.29kWh, best_carbon 0kg, best_import 20.14kWh
2026-08-15 18:45:08.140829: Starting detailed optimisation end_record 08-17 12:30:00, best_price_charge 22.95p, best_price_export 0p. lowest_price_charge 21.41p with charge limits [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 0, 16.0, 16.0, 16.0, 11.5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0]kWh and export limits []kWh
2026-08-15 18:45:14.554451: Tweak plan optimisation started metric 905.83p, cost 921.35p
2026-08-15 18:45:14.801859: Tweak optimisation finished metric 905.83p, cost 921.35p, metric_keep 0kWh, cycle 29.18kWh, carbon 0kg, import 15.66kWh, changed 8 window(s)
2026-08-15 18:45:14.817501: Swap charge optimisation started metric 905.83p, cost 921.35p, min_improvement_swap 0.1p
2026-08-15 18:45:22.940390: Swap charge optimisation finished metric 905.83p, cost 921.35p
2026-08-15 18:45:23.066060: Pruned 3 dead plan slot(s) in 14 trial(s), nominal metric 900.75p -> 900.76p, plan now metric 905.91p, cost 921.36p, cycle 29.18kWh, import 15.66kWh
2026-08-15 18:45:23.075682: Raw charge windows [ 15-08 18:30:00 - 15-08 19:00:00 @ 43.82p 0%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 0%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 0%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 0%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 0%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 30.02p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 27.8p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.18p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.38p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 26.7p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.31p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.79p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 25.86p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.13p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 25.86p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.27p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.14p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 27.03p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.28p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.68p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 26.1p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 24.28p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 24.94p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.06p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.39p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.66p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.06p 28%, 16-08 10:00:00 - 16-08 10:30:00 @ 25.5p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 24.94p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 24.25p 22%, 16-08 11:30:00 - 16-08 12:00:00 @ 23.49p 22%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.43p 22%, 16-08 12:30:00 - 16-08 13:00:00 @ 22.33p 28%, 16-08 13:00:00 - 16-08 13:30:00 @ 22.76p 28%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 100%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 100%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.65p 100%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.95p 72%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.83p 72%, 16-08 16:00:00 - 16-08 16:30:00 @ 36.84p 0%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.54p 0%, 16-08 17:00:00 - 16-08 17:30:00 @ 41.79p 0%, 16-08 17:30:00 - 16-08 18:00:00 @ 43.7p 0%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.34p 0%, 16-08 19:00:00 - 16-08 19:30:00 @ 34.79p 0%, 16-08 19:30:00 - 16-08 20:00:00 @ 34.76p 0%, 16-08 20:00:00 - 16-08 20:30:00 @ 35.62p 0%, 16-08 20:30:00 - 16-08 21:00:00 @ 35.3p 0%, 16-08 21:00:00 - 16-08 21:30:00 @ 35.89p 0%, 16-08 21:30:00 - 16-08 22:00:00 @ 35.71p 0%, 16-08 22:00:00 - 16-08 22:30:00 @ 33.75p 0%, 16-08 22:30:00 - 16-08 23:00:00 @ 32.0p 0%, 16-08 23:00:00 - 16-08 23:30:00 @ 30.02p 0%, 16-08 23:30:00 - 17-08 00:00:00 @ 27.8p 0%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.18p 0%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.38p 0%, 17-08 01:00:00 - 17-08 01:30:00 @ 26.7p 0%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.31p 0%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.79p 0%, 17-08 02:30:00 - 17-08 03:00:00 @ 25.86p 0%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.13p 0%, 17-08 03:30:00 - 17-08 04:00:00 @ 25.86p 0%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.27p 0%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.14p 0%, 17-08 05:00:00 - 17-08 05:30:00 @ 27.03p 0%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.28p 0%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.68p 0%, 17-08 06:30:00 - 17-08 07:00:00 @ 26.1p 0%, 17-08 07:00:00 - 17-08 07:30:00 @ 24.28p 0%, 17-08 07:30:00 - 17-08 08:00:00 @ 24.94p 0%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.06p 0%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.39p 0%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.66p 0%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.06p 0%, 17-08 10:00:00 - 17-08 10:30:00 @ 25.5p 0%, 17-08 10:30:00 - 17-08 11:00:00 @ 24.94p 0%, 17-08 11:00:00 - 17-08 11:30:00 @ 24.25p 0%, 17-08 11:30:00 - 17-08 12:00:00 @ 23.49p 0%, 17-08 12:00:00 - 17-08 12:30:00 @ 23.43p 0%, 17-08 12:30:00 - 17-08 13:00:00 @ 22.33p 100%, 17-08 13:00:00 - 17-08 13:30:00 @ 22.76p 100%, 17-08 13:30:00 - 17-08 14:00:00 @ 22.3p 100%, 17-08 14:00:00 - 17-08 14:30:00 @ 21.41p 100%, 17-08 14:30:00 - 17-08 15:00:00 @ 21.65p 100%, 17-08 15:00:00 - 17-08 15:30:00 @ 22.95p 100%, 17-08 15:30:00 - 17-08 16:00:00 @ 22.83p 100%, 17-08 16:00:00 - 17-08 16:30:00 @ 36.84p 100%, 17-08 16:30:00 - 17-08 17:00:00 @ 37.54p 100%, 17-08 17:00:00 - 17-08 17:30:00 @ 41.79p 100%, 17-08 17:30:00 - 17-08 18:00:00 @ 43.7p 100%, 17-08 18:00:00 - 17-08 18:30:00 @ 44.34p 100% ] reserve 1.12
2026-08-15 18:45:23.076159: Unclipped charge windows [ 16-08 09:30:00 - 16-08 10:00:00 @ 24.06p 28%, 16-08 11:00:00 - 16-08 12:30:00 @ 23.65p 22%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 28%, 16-08 13:30:00 - 16-08 15:00:00 @ 21.75p 100%, 16-08 15:00:00 - 16-08 16:00:00 @ 22.89p 72%, 17-08 12:30:00 - 17-08 18:30:00 @ 42.52p 100% ] reserve 1.12
2026-08-15 18:45:23.076418: Unfiltered charge windows [ 16-08 09:30:00 - 16-08 10:00:00 @ 24.06p 28%, 16-08 11:00:00 - 16-08 12:30:00 @ 23.65p 22%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 28%, 16-08 13:30:00 - 16-08 15:00:00 @ 21.75p 100%, 16-08 15:00:00 - 16-08 16:00:00 @ 22.89p 72%, 17-08 12:30:00 - 17-08 18:30:00 @ 42.52p 100% ] reserve 1.12
2026-08-15 18:45:23.076629: Filtered charge windows [ 16-08 09:30:00 - 16-08 10:00:00 @ 24.06p 28%, 16-08 11:00:00 - 16-08 12:30:00 @ 23.65p 22%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 28%, 16-08 13:30:00 - 16-08 15:00:00 @ 21.75p 100%, 16-08 15:00:00 - 16-08 16:00:00 @ 22.89p 72%, 17-08 12:30:00 - 17-08 18:30:00 @ 42.52p 100% ] reserve 1.12
2026-08-15 18:45:23.106835: Previous plan best metric is 907.7 (cost 923.26) and new plan best metric is 905.83 (cost 921.35)
2026-08-15 18:45:23.107009: New plan metric is not significantly better (metric_min_improvement_plan 2.0) than previous plan, using previous plan
2026-08-15 18:45:23.107178: Plan valid is now true after recompute was False
2026-08-15 18:45:23.130312: predict base end_record 08-17 12:30:00, final soc 1.12kWh, metric 1090.5p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 14:05:00, load 37.17kWh, PV 0.0kWh
2026-08-15 18:45:23.238776: Battery has 19.33 hours left - now at 15.2kWh
2026-08-15 18:45:23.276568: predict base10 end_record 08-17 12:30:00, final soc 1.12kWh, metric 1124.68p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 13:10:00, load 38.48kWh, PV 0.0kWh
2026-08-15 18:45:23.351670: predict best10 end_record 08-17 12:30:00, final soc 1.12kWh, metric 1056.83p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 06:05:00, load 38.48kWh, PV 0.0kWh
2026-08-15 18:45:23.430672: predict best end_record 08-17 12:30:00, final soc 1.12kWh, metric 1023.23p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 07:10:00, load 37.17kWh, PV 0.0kWh
2026-08-15 18:45:23.430763: Saving plan best values to HA entities
2026-08-15 18:45:23.580689: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 18:45:23.586271: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 18:45:23.592217: Best charging limit SoC's [2.5, 5.0, 16.0, 12.0, 16.0]kWh, export []kWh gives import battery 12.57kWh, house 3.3kWh, export 0.0kWh, metric 1023.23p, metric10 1056.83p
2026-08-15 18:45:23.669911: Marginal costs baseline metric (no standing charge): 923.264
2026-08-15 18:45:23.947179: Marginal energy costs matrix computed: min=23.79 max=30.28
2026-08-15 18:45:24.024133: Rate array import [{'start': 1125, 'end': 1140, 'rate': 'very expensive', 'range': '(43.8p)'}, {'start': 1140, 'end': 1410, 'rate': 'expensive', 'range': '(29.8p - 32.9p)'}, {'start': 1410, 'end': 2400, 'rate': 'cheap', 'range': '(21.4p - 28.2p)'}, {'start': 2400, 'end': 2430, 'rate': 'expensive', 'range': '(36.8p)'}, {'start': 2430, 'end': 2580, 'rate': 'very expensive', 'range': '(37.5p - 45.3p)'}, {'start': 2580, 'end': 2850, 'rate': 'expensive', 'range': '(30.0p - 35.9p)'}, {'start': 2850, 'end': 3630, 'rate': 'cheap', 'range': '(23.4p - 28.2p)'}] export [{'start': 1125, 'end': 3630, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 18:45:24.024885: - Your estimated bill for today is £5.66 and tomorrow is £3.27
2026-08-15 18:45:24.024932: - Import rates are very expensive (43.8p) for the next 15 minutes and then expensive (29.8p - 32.9p) for the next 4 and a half hours.
2026-08-15 18:45:24.024990: - The battery is currently at 95% and is in eco mode for the next 16 hours.
2026-08-15 18:45:24.025013: - For the next 48 hours there will be no solar generation.
2026-08-15 18:45:24.025031: - You will run out of battery in 36 hours.
2026-08-15 18:45:24.025048: - Your next charge slot will be in 16 hours where import rates will be cheap (24.3p).
2026-08-15 18:45:24.025067: 
2026-08-15 18:45:24.100501: Plan calculation took 20.05 seconds
2026-08-15 18:45:24.100859: Inverter 0: Type SK Sunsynk
2026-08-15 18:45:24.100905: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 18:45:24.101196: Reserve min: 7%, battery_min: 7%
2026-08-15 18:45:24.101289: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 18:45:24.101635: Inverter 0 SoC: 15.13kW 95%, current charge rate 5000W, current discharge rate 5250W, current battery power 236W, current battery voltage 51.2V, grid power -54W, load power 300W, PV Power 0W
2026-08-15 18:45:24.101868: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 18:45:24.101979: Inverter 0 scheduled charge enable is False
2026-08-15 18:45:24.102019: Inverter 0 charge windows currently []
2026-08-15 18:45:24.102054: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 18:45:24.102265: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 18:45:24.102320: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 18:45:24.102400: Inverter 0 scheduled discharge enable is False
2026-08-15 18:45:24.102606: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 18:45:24.102652: Inverter 0 discharge windows currently []
2026-08-15 18:45:24.102676: Note: Inverter does not support discharge freeze - disabled
2026-08-15 18:45:24.102695: Note: Inverter does not support charge freeze - disabled
2026-08-15 18:45:24.102722: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 18:45:24.159639: Inverter 0 Charge window will be: 2026-08-16 11:00:00+01:00 - 2026-08-16 16:00:00+01:00 - current SoC 95%, target 16%
2026-08-15 18:45:24.159786: Inverter 0 disabled charge window while waiting for schedule (now 08-15 18:45:00 target set_window_minutes 30 charge start time 08-16 11:00:00) original inverter start time 08-17 00:00:00
2026-08-15 18:45:24.159866: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 18:45:24.160042: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 18:45:24.160125: No export window planned
2026-08-15 18:45:24.160232: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 18:45:24.160269: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 18:45:24.160420: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 18:45:24.160585: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 18:45:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 18:45:24.160638: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 18:45:24.160706: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 18:45:24.160796: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 18:45:24.160841: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 18:45:24.160875: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 18:45:24.160904: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 18:45:24.160928: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 18:45:24.160979: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 18:45:24.161011: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 18:45:24.161099: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 18:45:24.161135: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 18:45:24.161161: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 18:45:24.161186: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 18:45:24.161210: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 18:45:24.161233: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 18:45:24.161257: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 18:45:24.161303: Inverter 0 count register writes 0
2026-08-15 18:45:24.185790: Total inverter register writes now 826
2026-08-15 18:45:24.219639: Info: Completed run status Demand
2026-08-15 18:45:24.226289: Info: record_status Demand
2026-08-15 18:45:24.233717: Saved current settings to /config/predbat_config.json
2026-08-15 18:45:24.234099: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 18:45:57.335275: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 18:45:57.335532: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 18:45:57.335569: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 18:45:57.335723: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 18:45:57.335763: Note: Inverter does not support discharge freeze - disabled
2026-08-15 18:45:57.335785: Note: Inverter does not support charge freeze - disabled
2026-08-15 18:45:57.335803: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 18:48:11.585007: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 18:48:11.585250: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 18:48:11.585293: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 18:48:11.585498: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 18:48:11.585540: Note: Inverter does not support discharge freeze - disabled
2026-08-15 18:48:11.585561: Note: Inverter does not support charge freeze - disabled
2026-08-15 18:48:11.585579: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 18:50:00.790275: --------------- PredBat - update at 2026-08-15 18:50:00+01:00 with clock skew 0 minutes, minutes now 1130
2026-08-15 18:50:00.791300: Saved current settings to /config/predbat_config.json
2026-08-15 18:50:00.791476: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 25.0 minutes
2026-08-15 18:50:00.791650: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.2, latest beta is v8.48.2
2026-08-15 18:50:00.791817: Autoupdate: There is an update pending v8.48.2 PV90 and second pass enabled by default, bug fixes - auto update is off
2026-08-15 18:50:00.812867: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 18:50:00.813073: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 18:50:00.813263: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 18:50:00.814034: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 18:50:00.814327: Predbat mode is set to Control charge & discharge
2026-08-15 18:50:01.010110: Found 21602 load_today datapoints going back 28 days
2026-08-15 18:50:01.010264: Using load_power data to fill gaps in load_today data
2026-08-15 18:50:01.911056: Processing 721 30-minute periods for power integration
2026-08-15 18:50:02.107640: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 18:50:02.107780: Car charging hold False, threshold 6.0kWh
2026-08-15 18:50:02.107827: Current data so far today: load 9.4kWh, import 27.6kWh, export 0.0kWh, PV 0kWh
2026-08-15 18:50:02.127029: Cars: SoC: [10.548]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 18:50:02.127656: Standing charge is set to 49.98p
2026-08-15 18:50:02.175207: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 18:50:02.175326: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 18:50:02.175678: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 490.0 minutes
2026-08-15 18:50:02.176065: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 490.0 minutes
2026-08-15 18:50:02.182609: Loaded 95 datapoints of futurerate analysis
2026-08-15 18:50:02.340454: Predicted future rates: ['08-15 00:00:00 => 28.69 / 20.01', '08-15 01:00:00 => 27.33 / 19.31', '08-15 02:00:00 => 26.31 / 18.8', '08-15 03:00:00 => 25.78 / 18.53', '08-15 04:00:00 => 25.59 / 18.43', '08-15 05:00:00 => 25.75 / 18.51', '08-15 06:00:00 => 25.34 / 18.3', '08-15 07:00:00 => 24.12 / 17.68', '08-15 08:00:00 => 22.82 / 17.01', '08-15 09:00:00 => 21.84 / 16.51', '08-15 10:00:00 => 20.22 / 15.68', '08-15 11:00:00 => 17.8 / 14.45', '08-15 12:00:00 => 16.16 / 13.61', '08-15 13:00:00 => 15.55 / 13.3', '08-15 14:00:00 => 15.14 / 13.09', '08-15 15:00:00 => 15.65 / 13.35', '08-15 16:00:00 => 32.68 / 16.13', '08-15 17:00:00 => 37.81 / 18.75', '08-15 18:00:00 => 42.15 / 20.96', '08-15 19:00:00 => 30.88 / 21.13', '08-15 20:00:00 => 31.43 / 21.41', '08-15 21:00:00 => 31.43 / 21.41', '08-15 22:00:00 => 30.37 / 20.87', '08-15 23:00:00 => 29.16 / 20.25', '08-16 00:00:00 => 28.62 / 19.97', '08-16 01:00:00 => 27.52 / 19.41', '08-16 02:00:00 => 26.55 / 18.92', '08-16 03:00:00 => 26.18 / 18.73', '08-16 04:00:00 => 26.12 / 18.7', '08-16 05:00:00 => 26.02 / 18.65', '08-16 06:00:00 => 25.78 / 18.53', '08-16 07:00:00 => 25.43 / 18.35', '08-16 08:00:00 => 24.63 / 17.94', '08-16 09:00:00 => 24.05 / 17.64', '08-16 10:00:00 => 24.59 / 17.92', '08-16 11:00:00 => 24.5 / 17.87', '08-16 12:00:00 => 23.58 / 17.4', '08-16 13:00:00 => 22.93 / 17.07', '08-16 14:00:00 => 21.8 / 16.49', '08-16 15:00:00 => 21.8 / 16.49', '08-16 16:00:00 => 36.93 / 18.3', '08-16 17:00:00 => 39.92 / 19.83']
2026-08-15 18:50:02.390842: Rate min forward looking: now 21.41p at end of forecast 21.41p
2026-08-15 18:50:02.391301: Import rates: min 21.41p, max 45.28p, average 28.48p
2026-08-15 18:50:02.436141: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 18:50:02.436278: Rate thresholds (for charge/export) are import 44.78p (0.0p), export -0.1p (0.0p)
2026-08-15 18:50:02.438431: High export rate found rates in range 99p to -99p
2026-08-15 18:50:02.532543: Low Import rate found rates in range 21.41p to 44.34p
2026-08-15 18:50:02.532696: Car 0 charging is not planned as it is not plugged in
2026-08-15 18:50:02.546116: Battery level now 15.2kWh, -1hr ago 15.38kWh, at midnight 1.66kWh, battery value change in the last hour -3.24p, change today 249.12p, rate_forward 18.39p
2026-08-15 18:50:02.546598: Last hour: net energy 0.0kWh, import 0.0kWh, export 0.0kWh, car 0kWh, load 0.28kWh, net cost 0.0p, import 0.0p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 18:50:02.610145: Today's energy total net 27.6kWh, import 27.6kWh, export 0.0kWh, cost 566.08p, import 516.09p, export 0.0p, carbon 0.0kg
2026-08-15 18:50:02.610386: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 18:50:02.686732: Using weighted-bucket historical load forecast over 14 days
2026-08-15 18:50:02.711781: Today's load divergence 86.26%, in-day adjustment 99.18%, damping 0.95x, yesterday 143.77% today 86.94% blend 21.53%
2026-08-15 18:50:02.712111: Today's predicted so far 11.25kWh with 0.0kWh car/iBoost excluded, 20.88kWh import ignored, and 11.25kWh forecast extra.
2026-08-15 18:50:02.712173: Today's actual load so far 9.41kWh with 0.0kWh car/iBoost excluded, and 20.88kWh import ignored.
2026-08-15 18:50:02.746655: Inverter 0: Type SK Sunsynk
2026-08-15 18:50:02.746953: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 18:50:02.747204: Reserve min: 7%, battery_min: 7%
2026-08-15 18:50:02.747335: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 18:50:02.747758: Inverter 0 SoC: 15.04kW 94%, current charge rate 5000W, current discharge rate 5250W, current battery power 267W, current battery voltage 51.2V, grid power -54W, load power 330W, PV Power 0W
2026-08-15 18:50:02.748150: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 18:50:02.748324: Inverter 0 scheduled charge enable is False
2026-08-15 18:50:02.748374: Inverter 0 charge windows currently []
2026-08-15 18:50:02.748403: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 18:50:02.748536: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 18:50:02.748595: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 18:50:02.748664: Inverter 0 scheduled discharge enable is False
2026-08-15 18:50:02.748819: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 18:50:02.748881: Inverter 0 discharge windows currently []
2026-08-15 18:50:02.748931: Note: Inverter does not support discharge freeze - disabled
2026-08-15 18:50:02.749017: Note: Inverter does not support charge freeze - disabled
2026-08-15 18:50:02.749069: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 18:50:02.814683: Dynamic load last period 0.00kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 18:50:02.814789: Plan was last updated on 2026-08-15 18:45:00+01:00 and is now 5.0 minutes old
2026-08-15 18:50:02.815039: Best charge window [ 16-08 11:00:00 - 16-08 12:30:00 @ 23.65p 16%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 31%, 16-08 13:30:00 - 16-08 15:00:00 @ 21.91p 100%, 16-08 15:00:00 - 16-08 16:00:00 @ 22.89p 75%, 17-08 12:30:00 - 17-08 18:00:00 @ 40.7p 100% ]
2026-08-15 18:50:02.815081: Best export window [  ]
2026-08-15 18:50:02.815929: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 18:50:02.819038: Load divergence over 8.0 hours mean 743.53W, min 323.4W, max 1997.4W, std dev 427.31W, divergence 28.74%
2026-08-15 18:50:02.838195: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 18:50:02.838343: LoadML is_calculating False
2026-08-15 18:50:02.838428: Creating pool of 12 processes to match your CPU count
2026-08-15 18:50:02.964018: predict base end_record 08-17 12:35:00, final soc 1.12kWh, metric 1093.41p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 14:00:00, load 37.05kWh, PV 0.0kWh
2026-08-15 18:50:03.106199: Battery has 19.17 hours left - now at 15.04kWh
2026-08-15 18:50:03.152202: predict base10 end_record 08-17 12:35:00, final soc 1.12kWh, metric 1127.68p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 13:10:00, load 38.36kWh, PV 0.0kWh
2026-08-15 18:50:03.230671: predict best10 end_record 08-17 12:35:00, final soc 1.44kWh, metric 1067.72p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 06:05:00, load 38.36kWh, PV 0.0kWh
2026-08-15 18:50:03.313341: predict best end_record 08-17 12:35:00, final soc 1.51kWh, metric 1035.65p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 07:10:00, load 37.05kWh, PV 0.0kWh
2026-08-15 18:50:03.313440: Saving plan best values to HA entities
2026-08-15 18:50:03.492094: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 18:50:03.497839: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 18:50:03.503481: Best charging limit SoC's [2.5, 5.0, 16.0, 12.0, 16.0]kWh, export []kWh gives import battery 13.11kWh, house 3.31kWh, export 0.0kWh, metric 1035.65p, metric10 1067.72p
2026-08-15 18:50:03.589910: Marginal costs baseline metric (no standing charge): 935.6863
2026-08-15 18:50:03.879368: Marginal energy costs matrix computed: min=23.68 max=29.83
2026-08-15 18:50:03.965162: Rate array import [{'start': 1130, 'end': 1140, 'rate': 'very expensive', 'range': '(43.8p)'}, {'start': 1140, 'end': 1410, 'rate': 'expensive', 'range': '(29.8p - 32.9p)'}, {'start': 1410, 'end': 2400, 'rate': 'cheap', 'range': '(21.4p - 28.2p)'}, {'start': 2400, 'end': 2430, 'rate': 'expensive', 'range': '(36.8p)'}, {'start': 2430, 'end': 2580, 'rate': 'very expensive', 'range': '(37.5p - 45.3p)'}, {'start': 2580, 'end': 2850, 'rate': 'expensive', 'range': '(30.0p - 35.9p)'}, {'start': 2850, 'end': 3635, 'rate': 'cheap', 'range': '(22.3p - 28.2p)'}] export [{'start': 1130, 'end': 3635, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 18:50:03.965980: - Your estimated bill for today is £5.66 and tomorrow is £3.28
2026-08-15 18:50:03.966033: - Import rates are very expensive (43.8p) for the next 10 minutes and then expensive (29.8p - 32.9p) for the next 4 and a half hours.
2026-08-15 18:50:03.966058: - The battery is currently at 94% and is in eco mode for the next 16 hours.
2026-08-15 18:50:03.966076: - For the next 48 hours there will be no solar generation.
2026-08-15 18:50:03.966094: - You will run out of battery in 36 hours.
2026-08-15 18:50:03.966111: - Your next charge slot will be in 16 hours where import rates will be cheap (24.3p).
2026-08-15 18:50:03.966128: 
2026-08-15 18:50:04.038589: Plan calculation took 1.22 seconds
2026-08-15 18:50:04.042443: No high rate period found
2026-08-15 18:50:04.093390: Import threshold used for optimisation was 25.86p
2026-08-15 18:50:04.146711: Low import rate windows [0: 08-15 18:30:00 - 08-15 19:00:00 @ 43.82, 1: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 2: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 3: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 4: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 5: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 6: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 7: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 8: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 9: 08-15 23:00:00 - 08-15 23:30:00 @ 30.02, 10: 08-15 23:30:00 - 08-16 00:00:00 @ 27.8, 11: 08-16 00:00:00 - 08-16 00:30:00 @ 28.18, 12: 08-16 00:30:00 - 08-16 01:00:00 @ 27.38, 13: 08-16 01:00:00 - 08-16 01:30:00 @ 26.7, 14: 08-16 01:30:00 - 08-16 02:00:00 @ 26.31, 15: 08-16 02:00:00 - 08-16 02:30:00 @ 25.79, 16: 08-16 02:30:00 - 08-16 03:00:00 @ 25.86, 17: 08-16 03:00:00 - 08-16 03:30:00 @ 26.13, 18: 08-16 03:30:00 - 08-16 04:00:00 @ 25.86, 19: 08-16 04:00:00 - 08-16 04:30:00 @ 26.27, 20: 08-16 04:30:00 - 08-16 05:00:00 @ 26.14, 21: 08-16 05:00:00 - 08-16 05:30:00 @ 27.03, 22: 08-16 05:30:00 - 08-16 06:00:00 @ 26.28, 23: 08-16 06:00:00 - 08-16 06:30:00 @ 25.68, 24: 08-16 06:30:00 - 08-16 07:00:00 @ 26.1, 25: 08-16 07:00:00 - 08-16 07:30:00 @ 24.28, 26: 08-16 07:30:00 - 08-16 08:00:00 @ 24.94, 27: 08-16 08:00:00 - 08-16 08:30:00 @ 24.06, 28: 08-16 08:30:00 - 08-16 09:00:00 @ 24.39, 29: 08-16 09:00:00 - 08-16 09:30:00 @ 24.66, 30: 08-16 09:30:00 - 08-16 10:00:00 @ 24.06, 31: 08-16 10:00:00 - 08-16 10:30:00 @ 25.5, 32: 08-16 10:30:00 - 08-16 11:00:00 @ 24.94, 33: 08-16 11:00:00 - 08-16 11:30:00 @ 24.25, 34: 08-16 11:30:00 - 08-16 12:00:00 @ 23.49, 35: 08-16 12:00:00 - 08-16 12:30:00 @ 23.43, 36: 08-16 12:30:00 - 08-16 13:00:00 @ 22.33, 37: 08-16 13:00:00 - 08-16 13:30:00 @ 22.76, 38: 08-16 13:30:00 - 08-16 14:00:00 @ 22.3, 39: 08-16 14:00:00 - 08-16 14:30:00 @ 21.41, 40: 08-16 14:30:00 - 08-16 15:00:00 @ 21.65, 41: 08-16 15:00:00 - 08-16 15:30:00 @ 22.95, 42: 08-16 15:30:00 - 08-16 16:00:00 @ 22.83, 43: 08-16 16:00:00 - 08-16 16:30:00 @ 36.84, 44: 08-16 16:30:00 - 08-16 17:00:00 @ 37.54, 45: 08-16 17:00:00 - 08-16 17:30:00 @ 41.79, 46: 08-16 17:30:00 - 08-16 18:00:00 @ 43.7, 47: 08-16 18:00:00 - 08-16 18:30:00 @ 44.34, 48: 08-16 19:00:00 - 08-16 19:30:00 @ 34.79, 49: 08-16 19:30:00 - 08-16 20:00:00 @ 34.76, 50: 08-16 20:00:00 - 08-16 20:30:00 @ 35.62, 51: 08-16 20:30:00 - 08-16 21:00:00 @ 35.3, 52: 08-16 21:00:00 - 08-16 21:30:00 @ 35.89, 53: 08-16 21:30:00 - 08-16 22:00:00 @ 35.71, 54: 08-16 22:00:00 - 08-16 22:30:00 @ 33.75, 55: 08-16 22:30:00 - 08-16 23:00:00 @ 32.0, 56: 08-16 23:00:00 - 08-16 23:30:00 @ 30.02, 57: 08-16 23:30:00 - 08-17 00:00:00 @ 27.8, 58: 08-17 00:00:00 - 08-17 00:30:00 @ 28.18, 59: 08-17 00:30:00 - 08-17 01:00:00 @ 27.38, 60: 08-17 01:00:00 - 08-17 01:30:00 @ 26.7, 61: 08-17 01:30:00 - 08-17 02:00:00 @ 26.31, 62: 08-17 02:00:00 - 08-17 02:30:00 @ 25.79, 63: 08-17 02:30:00 - 08-17 03:00:00 @ 25.86, 64: 08-17 03:00:00 - 08-17 03:30:00 @ 26.13, 65: 08-17 03:30:00 - 08-17 04:00:00 @ 25.86, 66: 08-17 04:00:00 - 08-17 04:30:00 @ 26.27, 67: 08-17 04:30:00 - 08-17 05:00:00 @ 26.14, 68: 08-17 05:00:00 - 08-17 05:30:00 @ 27.03, 69: 08-17 05:30:00 - 08-17 06:00:00 @ 26.28, 70: 08-17 06:00:00 - 08-17 06:30:00 @ 25.68, 71: 08-17 06:30:00 - 08-17 07:00:00 @ 26.1, 72: 08-17 07:00:00 - 08-17 07:30:00 @ 24.28, 73: 08-17 07:30:00 - 08-17 08:00:00 @ 24.94, 74: 08-17 08:00:00 - 08-17 08:30:00 @ 24.06, 75: 08-17 08:30:00 - 08-17 09:00:00 @ 24.39, 76: 08-17 09:00:00 - 08-17 09:30:00 @ 24.66, 77: 08-17 09:30:00 - 08-17 10:00:00 @ 24.06, 78: 08-17 10:00:00 - 08-17 10:30:00 @ 25.5, 79: 08-17 10:30:00 - 08-17 11:00:00 @ 24.94, 80: 08-17 11:00:00 - 08-17 11:30:00 @ 24.25, 81: 08-17 11:30:00 - 08-17 12:00:00 @ 23.49, 82: 08-17 12:00:00 - 08-17 12:30:00 @ 23.43, 83: 08-17 12:30:00 - 08-17 13:00:00 @ 22.33, 84: 08-17 13:00:00 - 08-17 13:30:00 @ 22.76, 85: 08-17 13:30:00 - 08-17 14:00:00 @ 22.3, 86: 08-17 14:00:00 - 08-17 14:30:00 @ 21.41, 87: 08-17 14:30:00 - 08-17 15:00:00 @ 21.65, 88: 08-17 15:00:00 - 08-17 15:30:00 @ 22.95, 89: 08-17 15:30:00 - 08-17 16:00:00 @ 22.83, 90: 08-17 16:00:00 - 08-17 16:30:00 @ 36.84, 91: 08-17 16:30:00 - 08-17 17:00:00 @ 37.54, 92: 08-17 17:00:00 - 08-17 17:30:00 @ 41.79, 93: 08-17 17:30:00 - 08-17 18:00:00 @ 43.7, 94: 08-17 18:00:00 - 08-17 18:30:00 @ 44.34]
2026-08-15 18:50:04.155142: Inverter 0 Charge window will be: 2026-08-16 11:00:00+01:00 - 2026-08-16 16:00:00+01:00 - current SoC 94%, target 16%
2026-08-15 18:50:04.155282: Inverter 0 disabled charge window while waiting for schedule (now 08-15 18:50:00 target set_window_minutes 30 charge start time 08-16 11:00:00) original inverter start time 08-17 00:00:00
2026-08-15 18:50:04.155414: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 18:50:04.155675: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 18:50:04.155765: No export window planned
2026-08-15 18:50:04.155875: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 18:50:04.155910: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 18:50:04.156042: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 18:50:04.156214: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 18:50:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 18:50:04.156277: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 18:50:04.156364: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 18:50:04.156461: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 18:50:04.156506: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 18:50:04.156534: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 18:50:04.156560: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 18:50:04.156585: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 18:50:04.156637: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 18:50:04.156665: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 18:50:04.156734: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 18:50:04.156764: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 18:50:04.156789: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 18:50:04.156815: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 18:50:04.156838: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 18:50:04.156862: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 18:50:04.156887: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 18:50:04.156908: Inverter 0 count register writes 0
2026-08-15 18:50:04.174380: Will not recompute the plan, it is 5.0 minutes old and max age is 10 minutes
2026-08-15 18:50:04.180197: Total inverter register writes now 826
2026-08-15 18:50:04.214028: Info: Completed run status Demand
2026-08-15 18:50:04.221202: Info: record_status Demand
2026-08-15 18:50:04.228843: Saved current settings to /config/predbat_config.json
2026-08-15 18:50:04.229307: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 18:50:42.336449: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 18:50:42.336691: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 18:50:42.336750: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 18:50:42.336934: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 18:50:42.337008: Note: Inverter does not support discharge freeze - disabled
2026-08-15 18:50:42.337038: Note: Inverter does not support charge freeze - disabled
2026-08-15 18:50:42.337071: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 18:52:56.582443: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 18:52:56.582735: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 18:52:56.582783: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 18:52:56.583082: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 18:52:56.583139: Note: Inverter does not support discharge freeze - disabled
2026-08-15 18:52:56.583162: Note: Inverter does not support charge freeze - disabled
2026-08-15 18:52:56.583180: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 18:54:56.805097: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 18:54:56.805352: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 18:54:56.805390: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 18:54:56.805518: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 18:54:56.805559: Note: Inverter does not support discharge freeze - disabled
2026-08-15 18:54:56.805580: Note: Inverter does not support charge freeze - disabled
2026-08-15 18:54:56.805598: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 18:55:00.891669: --------------- PredBat - update at 2026-08-15 18:55:00+01:00 with clock skew 0 minutes, minutes now 1135
2026-08-15 18:55:00.892431: Saved current settings to /config/predbat_config.json
2026-08-15 18:55:00.892549: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 30.0 minutes
2026-08-15 18:55:00.892615: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.2, latest beta is v8.48.2
2026-08-15 18:55:00.892750: Autoupdate: There is an update pending v8.48.2 PV90 and second pass enabled by default, bug fixes - auto update is off
2026-08-15 18:55:00.913018: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 18:55:00.913208: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 18:55:00.913479: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 18:55:00.914214: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 18:55:00.914405: Predbat mode is set to Control charge & discharge
2026-08-15 18:55:01.106471: Found 21602 load_today datapoints going back 28 days
2026-08-15 18:55:01.106628: Using load_power data to fill gaps in load_today data
2026-08-15 18:55:01.909004: Processing 721 30-minute periods for power integration
2026-08-15 18:55:02.071315: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 18:55:02.071462: Car charging hold False, threshold 6.0kWh
2026-08-15 18:55:02.071522: Current data so far today: load 9.4kWh, import 27.6kWh, export 0.0kWh, PV 0kWh
2026-08-15 18:55:02.090234: Cars: SoC: [10.548]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 18:55:02.090757: Standing charge is set to 49.98p
2026-08-15 18:55:02.137823: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 18:55:02.137930: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 18:55:02.138126: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 495.0 minutes
2026-08-15 18:55:02.138572: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 495.0 minutes
2026-08-15 18:55:02.144519: Loaded 95 datapoints of futurerate analysis
2026-08-15 18:55:02.274676: Predicted future rates: ['08-15 00:00:00 => 28.69 / 20.01', '08-15 01:00:00 => 27.33 / 19.31', '08-15 02:00:00 => 26.31 / 18.8', '08-15 03:00:00 => 25.78 / 18.53', '08-15 04:00:00 => 25.59 / 18.43', '08-15 05:00:00 => 25.75 / 18.51', '08-15 06:00:00 => 25.34 / 18.3', '08-15 07:00:00 => 24.12 / 17.68', '08-15 08:00:00 => 22.82 / 17.01', '08-15 09:00:00 => 21.84 / 16.51', '08-15 10:00:00 => 20.22 / 15.68', '08-15 11:00:00 => 17.8 / 14.45', '08-15 12:00:00 => 16.16 / 13.61', '08-15 13:00:00 => 15.55 / 13.3', '08-15 14:00:00 => 15.14 / 13.09', '08-15 15:00:00 => 15.65 / 13.35', '08-15 16:00:00 => 32.68 / 16.13', '08-15 17:00:00 => 37.81 / 18.75', '08-15 18:00:00 => 42.15 / 20.96', '08-15 19:00:00 => 30.88 / 21.13', '08-15 20:00:00 => 31.43 / 21.41', '08-15 21:00:00 => 31.43 / 21.41', '08-15 22:00:00 => 30.37 / 20.87', '08-15 23:00:00 => 29.16 / 20.25', '08-16 00:00:00 => 28.62 / 19.97', '08-16 01:00:00 => 27.52 / 19.41', '08-16 02:00:00 => 26.55 / 18.92', '08-16 03:00:00 => 26.18 / 18.73', '08-16 04:00:00 => 26.12 / 18.7', '08-16 05:00:00 => 26.02 / 18.65', '08-16 06:00:00 => 25.78 / 18.53', '08-16 07:00:00 => 25.43 / 18.35', '08-16 08:00:00 => 24.63 / 17.94', '08-16 09:00:00 => 24.05 / 17.64', '08-16 10:00:00 => 24.59 / 17.92', '08-16 11:00:00 => 24.5 / 17.87', '08-16 12:00:00 => 23.58 / 17.4', '08-16 13:00:00 => 22.93 / 17.07', '08-16 14:00:00 => 21.8 / 16.49', '08-16 15:00:00 => 21.8 / 16.49', '08-16 16:00:00 => 36.93 / 18.3', '08-16 17:00:00 => 39.92 / 19.83']
2026-08-15 18:55:02.315196: Rate min forward looking: now 21.41p at end of forecast 21.41p
2026-08-15 18:55:02.315675: Import rates: min 21.41p, max 45.28p, average 28.49p
2026-08-15 18:55:02.350018: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 18:55:02.350122: Rate thresholds (for charge/export) are import 44.78p (0.0p), export -0.1p (0.0p)
2026-08-15 18:55:02.351213: High export rate found rates in range 99p to -99p
2026-08-15 18:55:02.434313: Low Import rate found rates in range 21.41p to 44.34p
2026-08-15 18:55:02.434450: Car 0 charging is not planned as it is not plugged in
2026-08-15 18:55:02.446509: Battery level now 15.04kWh, -1hr ago 15.36kWh, at midnight 1.66kWh, battery value change in the last hour -5.89p, change today 246.17p, rate_forward 18.39p
2026-08-15 18:55:02.446874: Last hour: net energy 0.0kWh, import 0.0kWh, export 0.0kWh, car 0kWh, load 0.25kWh, net cost 0.0p, import 0.0p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 18:55:02.503095: Today's energy total net 27.6kWh, import 27.6kWh, export 0.0kWh, cost 566.08p, import 516.09p, export 0.0p, carbon 0.0kg
2026-08-15 18:55:02.503331: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 18:55:02.580714: Using weighted-bucket historical load forecast over 14 days
2026-08-15 18:55:02.605295: Today's load divergence 85.62%, in-day adjustment 98.5%, damping 0.95x, yesterday 143.77% today 86.34% blend 21.18%
2026-08-15 18:55:02.605643: Today's predicted so far 11.28kWh with 0.0kWh car/iBoost excluded, 20.85kWh import ignored, and 11.28kWh forecast extra.
2026-08-15 18:55:02.605725: Today's actual load so far 9.37kWh with 0.0kWh car/iBoost excluded, and 20.85kWh import ignored.
2026-08-15 18:55:02.640121: Inverter 0: Type SK Sunsynk
2026-08-15 18:55:02.640214: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 18:55:02.640477: Reserve min: 7%, battery_min: 7%
2026-08-15 18:55:02.640556: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 18:55:02.640778: Inverter 0 SoC: 15.04kW 94%, current charge rate 5000W, current discharge rate 5250W, current battery power 252W, current battery voltage 51.2V, grid power -55W, load power 316W, PV Power 0W
2026-08-15 18:55:02.640909: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 18:55:02.641015: Inverter 0 scheduled charge enable is False
2026-08-15 18:55:02.641044: Inverter 0 charge windows currently []
2026-08-15 18:55:02.641066: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 18:55:02.641160: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 18:55:02.641191: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 18:55:02.641234: Inverter 0 scheduled discharge enable is False
2026-08-15 18:55:02.641345: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 18:55:02.641376: Inverter 0 discharge windows currently []
2026-08-15 18:55:02.641394: Note: Inverter does not support discharge freeze - disabled
2026-08-15 18:55:02.641409: Note: Inverter does not support charge freeze - disabled
2026-08-15 18:55:02.641423: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 18:55:02.693971: Dynamic load last period 0.00kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 18:55:02.694081: Plan was last updated on 2026-08-15 18:45:00+01:00 and is now 10.0 minutes old
2026-08-15 18:55:02.694326: Best charge window [ 16-08 11:00:00 - 16-08 12:30:00 @ 23.65p 16%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 31%, 16-08 13:30:00 - 16-08 15:00:00 @ 21.91p 100%, 16-08 15:00:00 - 16-08 16:00:00 @ 22.89p 75%, 17-08 12:30:00 - 17-08 18:00:00 @ 40.7p 100% ]
2026-08-15 18:55:02.694364: Best export window [  ]
2026-08-15 18:55:02.695025: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 18:55:02.697615: Load divergence over 8.0 hours mean 748.73W, min 314.4W, max 1875.0W, std dev 428.5W, divergence 28.61%
2026-08-15 18:55:02.712654: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 18:55:02.712768: LoadML is_calculating False
2026-08-15 18:55:02.712821: Creating pool of 12 processes to match your CPU count
2026-08-15 18:55:02.819623: predict base end_record 08-17 12:40:00, final soc 1.12kWh, metric 1093.44p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 14:10:00, load 37.04kWh, PV 0.0kWh
2026-08-15 18:55:02.936772: Battery has 19.25 hours left - now at 15.04kWh
2026-08-15 18:55:02.974111: predict base10 end_record 08-17 12:40:00, final soc 1.12kWh, metric 1127.52p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 13:15:00, load 38.36kWh, PV 0.0kWh
2026-08-15 18:55:03.056991: predict best10 end_record 08-17 12:40:00, final soc 1.77kWh, metric 1075.07p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 06:10:00, load 38.36kWh, PV 0.0kWh
2026-08-15 18:55:03.137544: predict best end_record 08-17 12:40:00, final soc 1.9kWh, metric 1044.84p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 07:10:00, load 37.04kWh, PV 0.0kWh
2026-08-15 18:55:03.137640: Saving plan best values to HA entities
2026-08-15 18:55:03.302483: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 18:55:03.308312: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0.0
2026-08-15 18:55:03.313780: Best charging limit SoC's [2.5, 5.0, 16.0, 12.0, 16.0]kWh, export []kWh gives import battery 13.52kWh, house 3.32kWh, export 0.0kWh, metric 1044.84p, metric10 1075.07p
2026-08-15 18:55:03.408401: Marginal costs baseline metric (no standing charge): 944.8689
2026-08-15 18:55:03.689826: Marginal energy costs matrix computed: min=23.65 max=29.39
2026-08-15 18:55:03.772119: Rate array import [{'start': 1135, 'end': 1140, 'rate': 'very expensive', 'range': '(43.8p)'}, {'start': 1140, 'end': 1410, 'rate': 'expensive', 'range': '(29.8p - 32.9p)'}, {'start': 1410, 'end': 2400, 'rate': 'cheap', 'range': '(21.4p - 28.2p)'}, {'start': 2400, 'end': 2430, 'rate': 'expensive', 'range': '(36.8p)'}, {'start': 2430, 'end': 2580, 'rate': 'very expensive', 'range': '(37.5p - 45.3p)'}, {'start': 2580, 'end': 2850, 'rate': 'expensive', 'range': '(30.0p - 35.9p)'}, {'start': 2850, 'end': 3640, 'rate': 'cheap', 'range': '(22.3p - 28.2p)'}] export [{'start': 1135, 'end': 3640, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 18:55:03.772889: - Your estimated bill for today is £5.66 and tomorrow is £3.27
2026-08-15 18:55:03.772935: - Import rates are very expensive (43.8p) for the next 5 minutes and then expensive (29.8p - 32.9p) for the next 4 and a half hours.
2026-08-15 18:55:03.772993: - The battery is currently at 94% and is in eco mode for the next 16 hours.
2026-08-15 18:55:03.773013: - For the next 48 hours there will be no solar generation.
2026-08-15 18:55:03.773035: - You will run out of battery in 36 hours.
2026-08-15 18:55:03.773053: - Your next charge slot will be in 16 hours where import rates will be cheap (24.3p).
2026-08-15 18:55:03.773070: 
2026-08-15 18:55:03.849186: Plan calculation took 1.16 seconds
2026-08-15 18:55:03.853118: No high rate period found
2026-08-15 18:55:03.901726: Import threshold used for optimisation was 25.86p
2026-08-15 18:55:03.953826: Low import rate windows [0: 08-15 18:30:00 - 08-15 19:00:00 @ 43.82, 1: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 2: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 3: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 4: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 5: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 6: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 7: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 8: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 9: 08-15 23:00:00 - 08-15 23:30:00 @ 30.02, 10: 08-15 23:30:00 - 08-16 00:00:00 @ 27.8, 11: 08-16 00:00:00 - 08-16 00:30:00 @ 28.18, 12: 08-16 00:30:00 - 08-16 01:00:00 @ 27.38, 13: 08-16 01:00:00 - 08-16 01:30:00 @ 26.7, 14: 08-16 01:30:00 - 08-16 02:00:00 @ 26.31, 15: 08-16 02:00:00 - 08-16 02:30:00 @ 25.79, 16: 08-16 02:30:00 - 08-16 03:00:00 @ 25.86, 17: 08-16 03:00:00 - 08-16 03:30:00 @ 26.13, 18: 08-16 03:30:00 - 08-16 04:00:00 @ 25.86, 19: 08-16 04:00:00 - 08-16 04:30:00 @ 26.27, 20: 08-16 04:30:00 - 08-16 05:00:00 @ 26.14, 21: 08-16 05:00:00 - 08-16 05:30:00 @ 27.03, 22: 08-16 05:30:00 - 08-16 06:00:00 @ 26.28, 23: 08-16 06:00:00 - 08-16 06:30:00 @ 25.68, 24: 08-16 06:30:00 - 08-16 07:00:00 @ 26.1, 25: 08-16 07:00:00 - 08-16 07:30:00 @ 24.28, 26: 08-16 07:30:00 - 08-16 08:00:00 @ 24.94, 27: 08-16 08:00:00 - 08-16 08:30:00 @ 24.06, 28: 08-16 08:30:00 - 08-16 09:00:00 @ 24.39, 29: 08-16 09:00:00 - 08-16 09:30:00 @ 24.66, 30: 08-16 09:30:00 - 08-16 10:00:00 @ 24.06, 31: 08-16 10:00:00 - 08-16 10:30:00 @ 25.5, 32: 08-16 10:30:00 - 08-16 11:00:00 @ 24.94, 33: 08-16 11:00:00 - 08-16 11:30:00 @ 24.25, 34: 08-16 11:30:00 - 08-16 12:00:00 @ 23.49, 35: 08-16 12:00:00 - 08-16 12:30:00 @ 23.43, 36: 08-16 12:30:00 - 08-16 13:00:00 @ 22.33, 37: 08-16 13:00:00 - 08-16 13:30:00 @ 22.76, 38: 08-16 13:30:00 - 08-16 14:00:00 @ 22.3, 39: 08-16 14:00:00 - 08-16 14:30:00 @ 21.41, 40: 08-16 14:30:00 - 08-16 15:00:00 @ 21.65, 41: 08-16 15:00:00 - 08-16 15:30:00 @ 22.95, 42: 08-16 15:30:00 - 08-16 16:00:00 @ 22.83, 43: 08-16 16:00:00 - 08-16 16:30:00 @ 36.84, 44: 08-16 16:30:00 - 08-16 17:00:00 @ 37.54, 45: 08-16 17:00:00 - 08-16 17:30:00 @ 41.79, 46: 08-16 17:30:00 - 08-16 18:00:00 @ 43.7, 47: 08-16 18:00:00 - 08-16 18:30:00 @ 44.34, 48: 08-16 19:00:00 - 08-16 19:30:00 @ 34.79, 49: 08-16 19:30:00 - 08-16 20:00:00 @ 34.76, 50: 08-16 20:00:00 - 08-16 20:30:00 @ 35.62, 51: 08-16 20:30:00 - 08-16 21:00:00 @ 35.3, 52: 08-16 21:00:00 - 08-16 21:30:00 @ 35.89, 53: 08-16 21:30:00 - 08-16 22:00:00 @ 35.71, 54: 08-16 22:00:00 - 08-16 22:30:00 @ 33.75, 55: 08-16 22:30:00 - 08-16 23:00:00 @ 32.0, 56: 08-16 23:00:00 - 08-16 23:30:00 @ 30.02, 57: 08-16 23:30:00 - 08-17 00:00:00 @ 27.8, 58: 08-17 00:00:00 - 08-17 00:30:00 @ 28.18, 59: 08-17 00:30:00 - 08-17 01:00:00 @ 27.38, 60: 08-17 01:00:00 - 08-17 01:30:00 @ 26.7, 61: 08-17 01:30:00 - 08-17 02:00:00 @ 26.31, 62: 08-17 02:00:00 - 08-17 02:30:00 @ 25.79, 63: 08-17 02:30:00 - 08-17 03:00:00 @ 25.86, 64: 08-17 03:00:00 - 08-17 03:30:00 @ 26.13, 65: 08-17 03:30:00 - 08-17 04:00:00 @ 25.86, 66: 08-17 04:00:00 - 08-17 04:30:00 @ 26.27, 67: 08-17 04:30:00 - 08-17 05:00:00 @ 26.14, 68: 08-17 05:00:00 - 08-17 05:30:00 @ 27.03, 69: 08-17 05:30:00 - 08-17 06:00:00 @ 26.28, 70: 08-17 06:00:00 - 08-17 06:30:00 @ 25.68, 71: 08-17 06:30:00 - 08-17 07:00:00 @ 26.1, 72: 08-17 07:00:00 - 08-17 07:30:00 @ 24.28, 73: 08-17 07:30:00 - 08-17 08:00:00 @ 24.94, 74: 08-17 08:00:00 - 08-17 08:30:00 @ 24.06, 75: 08-17 08:30:00 - 08-17 09:00:00 @ 24.39, 76: 08-17 09:00:00 - 08-17 09:30:00 @ 24.66, 77: 08-17 09:30:00 - 08-17 10:00:00 @ 24.06, 78: 08-17 10:00:00 - 08-17 10:30:00 @ 25.5, 79: 08-17 10:30:00 - 08-17 11:00:00 @ 24.94, 80: 08-17 11:00:00 - 08-17 11:30:00 @ 24.25, 81: 08-17 11:30:00 - 08-17 12:00:00 @ 23.49, 82: 08-17 12:00:00 - 08-17 12:30:00 @ 23.43, 83: 08-17 12:30:00 - 08-17 13:00:00 @ 22.33, 84: 08-17 13:00:00 - 08-17 13:30:00 @ 22.76, 85: 08-17 13:30:00 - 08-17 14:00:00 @ 22.3, 86: 08-17 14:00:00 - 08-17 14:30:00 @ 21.41, 87: 08-17 14:30:00 - 08-17 15:00:00 @ 21.65, 88: 08-17 15:00:00 - 08-17 15:30:00 @ 22.95, 89: 08-17 15:30:00 - 08-17 16:00:00 @ 22.83, 90: 08-17 16:00:00 - 08-17 16:30:00 @ 36.84, 91: 08-17 16:30:00 - 08-17 17:00:00 @ 37.54, 92: 08-17 17:00:00 - 08-17 17:30:00 @ 41.79, 93: 08-17 17:30:00 - 08-17 18:00:00 @ 43.7, 94: 08-17 18:00:00 - 08-17 18:30:00 @ 44.34]
2026-08-15 18:55:03.962046: Inverter 0 Charge window will be: 2026-08-16 11:00:00+01:00 - 2026-08-16 16:00:00+01:00 - current SoC 94%, target 16%
2026-08-15 18:55:03.962189: Inverter 0 disabled charge window while waiting for schedule (now 08-15 18:55:00 target set_window_minutes 30 charge start time 08-16 11:00:00) original inverter start time 08-17 00:00:00
2026-08-15 18:55:03.962375: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 18:55:03.962749: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 18:55:03.962859: No export window planned
2026-08-15 18:55:03.963046: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 18:55:03.963091: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 18:55:03.963303: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 18:55:03.963537: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 18:55:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 18:55:03.963613: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 18:55:03.963719: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 18:55:03.963870: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 18:55:03.963924: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 18:55:03.963984: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 18:55:03.964040: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 18:55:03.964101: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 18:55:03.964154: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 18:55:03.964214: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 18:55:03.964362: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 18:55:03.964410: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 18:55:03.964452: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 18:55:03.964505: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 18:55:03.964564: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 18:55:03.964620: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 18:55:03.964680: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 18:55:03.964724: Inverter 0 count register writes 0
2026-08-15 18:55:03.981920: Will recompute the plan as it is now 10.0 minutes old and will exceed the max age of 10 minutes before the next run
2026-08-15 18:55:03.982136: Recompute is saving previous plan...
2026-08-15 18:55:03.985348: Best charge window [ 15-08 18:30:00 - 15-08 19:00:00 @ 43.82p 0%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 0%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 0%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 0%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 0%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 30.02p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 27.8p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.18p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.38p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 26.7p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.31p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.79p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 25.86p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.13p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 25.86p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.27p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.14p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 27.03p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.28p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.68p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 26.1p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 24.28p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 24.94p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.06p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.39p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.66p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.06p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 25.5p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 24.94p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 24.25p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 23.49p 0%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.43p 0%, 16-08 12:30:00 - 16-08 13:00:00 @ 22.33p 0%, 16-08 13:00:00 - 16-08 13:30:00 @ 22.76p 0%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 0%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 0%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.65p 0%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.95p 0%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.83p 0%, 16-08 16:00:00 - 16-08 16:30:00 @ 36.84p 0%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.54p 0%, 16-08 17:00:00 - 16-08 17:30:00 @ 41.79p 0%, 16-08 17:30:00 - 16-08 18:00:00 @ 43.7p 0%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.34p 0%, 16-08 19:00:00 - 16-08 19:30:00 @ 34.79p 0%, 16-08 19:30:00 - 16-08 20:00:00 @ 34.76p 0%, 16-08 20:00:00 - 16-08 20:30:00 @ 35.62p 0%, 16-08 20:30:00 - 16-08 21:00:00 @ 35.3p 0%, 16-08 21:00:00 - 16-08 21:30:00 @ 35.89p 0%, 16-08 21:30:00 - 16-08 22:00:00 @ 35.71p 0%, 16-08 22:00:00 - 16-08 22:30:00 @ 33.75p 0%, 16-08 22:30:00 - 16-08 23:00:00 @ 32.0p 0%, 16-08 23:00:00 - 16-08 23:30:00 @ 30.02p 0%, 16-08 23:30:00 - 17-08 00:00:00 @ 27.8p 0%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.18p 0%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.38p 0%, 17-08 01:00:00 - 17-08 01:30:00 @ 26.7p 0%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.31p 0%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.79p 0%, 17-08 02:30:00 - 17-08 03:00:00 @ 25.86p 0%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.13p 0%, 17-08 03:30:00 - 17-08 04:00:00 @ 25.86p 0%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.27p 0%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.14p 0%, 17-08 05:00:00 - 17-08 05:30:00 @ 27.03p 0%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.28p 0%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.68p 0%, 17-08 06:30:00 - 17-08 07:00:00 @ 26.1p 0%, 17-08 07:00:00 - 17-08 07:30:00 @ 24.28p 0%, 17-08 07:30:00 - 17-08 08:00:00 @ 24.94p 0%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.06p 0%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.39p 0%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.66p 0%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.06p 0%, 17-08 10:00:00 - 17-08 10:30:00 @ 25.5p 0%, 17-08 10:30:00 - 17-08 11:00:00 @ 24.94p 0%, 17-08 11:00:00 - 17-08 11:30:00 @ 24.25p 0%, 17-08 11:30:00 - 17-08 12:00:00 @ 23.49p 0%, 17-08 12:00:00 - 17-08 12:30:00 @ 23.43p 0%, 17-08 12:30:00 - 17-08 13:00:00 @ 22.33p 0%, 17-08 13:00:00 - 17-08 13:30:00 @ 22.76p 0%, 17-08 13:30:00 - 17-08 14:00:00 @ 22.3p 0%, 17-08 14:00:00 - 17-08 14:30:00 @ 21.41p 0%, 17-08 14:30:00 - 17-08 15:00:00 @ 21.65p 0%, 17-08 15:00:00 - 17-08 15:30:00 @ 22.95p 0%, 17-08 15:30:00 - 17-08 16:00:00 @ 22.83p 0%, 17-08 16:00:00 - 17-08 16:30:00 @ 36.84p 0%, 17-08 16:30:00 - 17-08 17:00:00 @ 37.54p 0%, 17-08 17:00:00 - 17-08 17:30:00 @ 41.79p 0%, 17-08 17:30:00 - 17-08 18:00:00 @ 43.7p 0%, 17-08 18:00:00 - 17-08 18:30:00 @ 44.34p 0% ]
2026-08-15 18:55:03.985451: Best export window [  ]
2026-08-15 18:55:03.986332: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 18:55:03.989782: Load divergence over 8.0 hours mean 748.73W, min 314.4W, max 1875.0W, std dev 428.5W, divergence 28.61%
2026-08-15 18:55:04.007526: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 18:55:04.007643: LoadML is_calculating False
2026-08-15 18:55:04.007710: Creating pool of 12 processes to match your CPU count
2026-08-15 18:55:04.104270: Calculate Best options: mode(Control charge & discharge), calculate_export_oncharge(False), calculate_export_on_pv(True), set_export_freeze_only(False), set_discharge_during_charge(True), combine_charge_slots(False), combine_export_slots(False), combine_rate_threshold(0.0), best_soc_min(0.0 kWh), best_soc_max(0.0 kWh), best_soc_keep(0.0 kWh), inverter_loss(4%), battery_loss(3%), battery_loss_discharge (3%), inverter_hybrid(True), metric_min_improvement(0.0p), metric_min_improvement_export(0.1p), metric_min_improvement_export_freeze(0.1p), metric_battery_cycle(0.0p/kWh), metric_battery_value_scaling(1.0 x) 
2026-08-15 18:55:04.106022: Optimise levels pass started at 2026-08-15 18:55:04
2026-08-15 18:55:04.106093: Optimise all windows, total charge 95 export 1
2026-08-15 18:55:05.350290: >> Region optimisation pass width 960 gives best_metric 1012.6p, best_cost 1025.86p, best_cycle 36.84kWh, best_import 20.2kWh
2026-08-15 18:55:05.922696: >> Region optimisation pass width 480 gives best_metric 1017.91p, best_cost 1031.44p, best_cycle 38.78kWh, best_import 20.34kWh
2026-08-15 18:55:06.581373: >> Region optimisation pass width 240 gives best_metric 1017.91p, best_cost 1031.44p, best_cycle 38.78kWh, best_import 20.34kWh
2026-08-15 18:55:08.242881: >> Region optimisation pass width 120 gives best_metric 1012.57p, best_cost 1028.77p, best_cycle 39.42kWh, best_import 20.53kWh
2026-08-15 18:55:08.243252: Calculated end_record as 08-17 12:30:00 based on best_price 22.33p, next_charge_start 08-16 12:30:00, max_windows 83
2026-08-15 18:55:08.243321: Optimise levels pass ended at 2026-08-15 18:55:08, duration 4.1 seconds tried 365 combinations
2026-08-15 18:55:08.243394: Set best_price_charge_level 24.0p, best_price_export_level 0p, best_price_charge 22.33p, best_cost_export 0p, best_metric 1012.57p, best_keep 0kWh, best_cycle 39.42kWh, best_carbon 0kg, best_import 20.53kWh
2026-08-15 18:55:08.260515: Starting detailed optimisation end_record 08-17 12:30:00, best_price_charge 22.33p, best_price_export 0p. lowest_price_charge 21.41p with charge limits [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 0, 16.0, 16.0, 16.0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0]kWh and export limits []kWh
2026-08-15 18:55:14.826431: Tweak plan optimisation started metric 906.2p, cost 921.55p
2026-08-15 18:55:15.099945: Tweak optimisation finished metric 906.2p, cost 921.55p, metric_keep 0kWh, cycle 30.17kWh, carbon 0kg, import 15.74kWh, changed 8 window(s)
2026-08-15 18:55:15.120903: Swap charge optimisation started metric 906.2p, cost 921.55p, min_improvement_swap 0.1p
2026-08-15 18:55:22.516756: Swap charge optimisation finished metric 906.2p, cost 921.55p
2026-08-15 18:55:22.628676: Raw charge windows [ 15-08 18:30:00 - 15-08 19:00:00 @ 43.82p 0%, 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 0%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 0%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 0%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 0%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 30.02p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 27.8p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.18p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.38p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 26.7p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.31p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.79p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 25.86p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.13p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 25.86p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.27p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.14p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 27.03p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.28p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.68p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 26.1p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 24.28p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 24.94p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.06p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.39p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.66p 31%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.06p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 25.5p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 24.94p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 24.25p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 23.49p 22%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.43p 22%, 16-08 12:30:00 - 16-08 13:00:00 @ 22.33p 31%, 16-08 13:00:00 - 16-08 13:30:00 @ 22.76p 31%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 100%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 100%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.65p 100%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.95p 75%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.83p 75%, 16-08 16:00:00 - 16-08 16:30:00 @ 36.84p 0%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.54p 0%, 16-08 17:00:00 - 16-08 17:30:00 @ 41.79p 0%, 16-08 17:30:00 - 16-08 18:00:00 @ 43.7p 0%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.34p 0%, 16-08 19:00:00 - 16-08 19:30:00 @ 34.79p 0%, 16-08 19:30:00 - 16-08 20:00:00 @ 34.76p 0%, 16-08 20:00:00 - 16-08 20:30:00 @ 35.62p 0%, 16-08 20:30:00 - 16-08 21:00:00 @ 35.3p 0%, 16-08 21:00:00 - 16-08 21:30:00 @ 35.89p 0%, 16-08 21:30:00 - 16-08 22:00:00 @ 35.71p 0%, 16-08 22:00:00 - 16-08 22:30:00 @ 33.75p 0%, 16-08 22:30:00 - 16-08 23:00:00 @ 32.0p 0%, 16-08 23:00:00 - 16-08 23:30:00 @ 30.02p 0%, 16-08 23:30:00 - 17-08 00:00:00 @ 27.8p 0%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.18p 0%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.38p 0%, 17-08 01:00:00 - 17-08 01:30:00 @ 26.7p 0%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.31p 0%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.79p 0%, 17-08 02:30:00 - 17-08 03:00:00 @ 25.86p 0%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.13p 0%, 17-08 03:30:00 - 17-08 04:00:00 @ 25.86p 0%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.27p 0%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.14p 0%, 17-08 05:00:00 - 17-08 05:30:00 @ 27.03p 0%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.28p 0%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.68p 0%, 17-08 06:30:00 - 17-08 07:00:00 @ 26.1p 0%, 17-08 07:00:00 - 17-08 07:30:00 @ 24.28p 0%, 17-08 07:30:00 - 17-08 08:00:00 @ 24.94p 0%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.06p 0%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.39p 0%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.66p 0%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.06p 0%, 17-08 10:00:00 - 17-08 10:30:00 @ 25.5p 0%, 17-08 10:30:00 - 17-08 11:00:00 @ 24.94p 0%, 17-08 11:00:00 - 17-08 11:30:00 @ 24.25p 0%, 17-08 11:30:00 - 17-08 12:00:00 @ 23.49p 0%, 17-08 12:00:00 - 17-08 12:30:00 @ 23.43p 0%, 17-08 12:30:00 - 17-08 13:00:00 @ 22.33p 100%, 17-08 13:00:00 - 17-08 13:30:00 @ 22.76p 100%, 17-08 13:30:00 - 17-08 14:00:00 @ 22.3p 100%, 17-08 14:00:00 - 17-08 14:30:00 @ 21.41p 100%, 17-08 14:30:00 - 17-08 15:00:00 @ 21.65p 100%, 17-08 15:00:00 - 17-08 15:30:00 @ 22.95p 100%, 17-08 15:30:00 - 17-08 16:00:00 @ 22.83p 100%, 17-08 16:00:00 - 17-08 16:30:00 @ 36.84p 100%, 17-08 16:30:00 - 17-08 17:00:00 @ 37.54p 100%, 17-08 17:00:00 - 17-08 17:30:00 @ 41.79p 100%, 17-08 17:30:00 - 17-08 18:00:00 @ 43.7p 100%, 17-08 18:00:00 - 17-08 18:30:00 @ 44.34p 100% ] reserve 1.12
2026-08-15 18:55:22.629527: Unclipped charge windows [ 16-08 09:00:00 - 16-08 09:30:00 @ 24.66p 31%, 16-08 11:30:00 - 16-08 12:30:00 @ 23.46p 22%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 31%, 16-08 13:30:00 - 16-08 15:00:00 @ 21.75p 100%, 16-08 15:00:00 - 16-08 16:00:00 @ 22.89p 75%, 17-08 12:30:00 - 17-08 18:30:00 @ 42.52p 100% ] reserve 1.12
2026-08-15 18:55:22.629868: Unfiltered charge windows [ 16-08 09:00:00 - 16-08 09:30:00 @ 24.66p 31%, 16-08 11:30:00 - 16-08 12:30:00 @ 23.46p 22%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 31%, 16-08 13:30:00 - 16-08 15:00:00 @ 21.75p 100%, 16-08 15:00:00 - 16-08 16:00:00 @ 22.89p 75%, 17-08 12:30:00 - 17-08 18:30:00 @ 42.52p 100% ] reserve 1.12
2026-08-15 18:55:22.630140: Filtered charge windows [ 16-08 09:00:00 - 16-08 09:30:00 @ 24.66p 31%, 16-08 11:30:00 - 16-08 12:30:00 @ 23.46p 22%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 31%, 16-08 13:30:00 - 16-08 15:00:00 @ 21.75p 100%, 16-08 15:00:00 - 16-08 16:00:00 @ 22.89p 75%, 17-08 12:30:00 - 17-08 18:30:00 @ 42.52p 100% ] reserve 1.12
2026-08-15 18:55:22.671719: Previous plan best metric is 907.69 (cost 923.32) and new plan best metric is 906.2 (cost 921.55)
2026-08-15 18:55:22.671971: New plan metric is not significantly better (metric_min_improvement_plan 2.0) than previous plan, using previous plan
2026-08-15 18:55:22.672162: Plan valid is now true after recompute was False
2026-08-15 18:55:22.700330: predict base end_record 08-17 12:30:00, final soc 1.12kWh, metric 1090.5p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 14:10:00, load 36.91kWh, PV 0.0kWh
2026-08-15 18:55:22.809720: Battery has 19.25 hours left - now at 15.04kWh
2026-08-15 18:55:22.853432: predict base10 end_record 08-17 12:30:00, final soc 1.12kWh, metric 1124.43p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 13:15:00, load 38.22kWh, PV 0.0kWh
2026-08-15 18:55:22.928671: predict best10 end_record 08-17 12:30:00, final soc 1.12kWh, metric 1056.47p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 06:10:00, load 38.22kWh, PV 0.0kWh
2026-08-15 18:55:23.008248: predict best end_record 08-17 12:30:00, final soc 1.12kWh, metric 1023.28p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 07:10:00, load 36.91kWh, PV 0.0kWh
2026-08-15 18:55:23.008595: Saving plan best values to HA entities
2026-08-15 18:55:23.158118: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 18:55:23.163614: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0.0
2026-08-15 18:55:23.169195: Best charging limit SoC's [2.5, 5.0, 16.0, 12.0, 16.0]kWh, export []kWh gives import battery 12.55kWh, house 3.32kWh, export 0.0kWh, metric 1023.28p, metric10 1056.47p
2026-08-15 18:55:23.247373: Marginal costs baseline metric (no standing charge): 923.3163
2026-08-15 18:55:23.530597: Marginal energy costs matrix computed: min=23.65 max=29.39
2026-08-15 18:55:23.606841: Rate array import [{'start': 1135, 'end': 1140, 'rate': 'very expensive', 'range': '(43.8p)'}, {'start': 1140, 'end': 1410, 'rate': 'expensive', 'range': '(29.8p - 32.9p)'}, {'start': 1410, 'end': 2400, 'rate': 'cheap', 'range': '(21.4p - 28.2p)'}, {'start': 2400, 'end': 2430, 'rate': 'expensive', 'range': '(36.8p)'}, {'start': 2430, 'end': 2580, 'rate': 'very expensive', 'range': '(37.5p - 45.3p)'}, {'start': 2580, 'end': 2850, 'rate': 'expensive', 'range': '(30.0p - 35.9p)'}, {'start': 2850, 'end': 3630, 'rate': 'cheap', 'range': '(23.4p - 28.2p)'}] export [{'start': 1135, 'end': 3630, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 18:55:23.607656: - Your estimated bill for today is £5.66 and tomorrow is £3.27
2026-08-15 18:55:23.607703: - Import rates are very expensive (43.8p) for the next 5 minutes and then expensive (29.8p - 32.9p) for the next 4 and a half hours.
2026-08-15 18:55:23.607726: - The battery is currently at 94% and is in eco mode for the next 16 hours.
2026-08-15 18:55:23.607744: - For the next 48 hours there will be no solar generation.
2026-08-15 18:55:23.607761: - You will run out of battery in 36 hours.
2026-08-15 18:55:23.607778: - Your next charge slot will be in 16 hours where import rates will be cheap (24.3p).
2026-08-15 18:55:23.607820: 
2026-08-15 18:55:23.681440: Plan calculation took 19.70 seconds
2026-08-15 18:55:23.681847: Inverter 0: Type SK Sunsynk
2026-08-15 18:55:23.681904: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 18:55:23.682167: Reserve min: 7%, battery_min: 7%
2026-08-15 18:55:23.682267: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 18:55:23.682656: Inverter 0 SoC: 15.04kW 94%, current charge rate 5000W, current discharge rate 5250W, current battery power 231W, current battery voltage 51.2V, grid power -55W, load power 292W, PV Power 0W
2026-08-15 18:55:23.682920: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 18:55:23.683053: Inverter 0 scheduled charge enable is False
2026-08-15 18:55:23.683109: Inverter 0 charge windows currently []
2026-08-15 18:55:23.683168: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 18:55:23.683351: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 18:55:23.683396: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 18:55:23.683444: Inverter 0 scheduled discharge enable is False
2026-08-15 18:55:23.683620: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 18:55:23.683664: Inverter 0 discharge windows currently []
2026-08-15 18:55:23.683689: Note: Inverter does not support discharge freeze - disabled
2026-08-15 18:55:23.683731: Note: Inverter does not support charge freeze - disabled
2026-08-15 18:55:23.683776: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 18:55:23.745688: Inverter 0 Charge window will be: 2026-08-16 11:00:00+01:00 - 2026-08-16 16:00:00+01:00 - current SoC 94%, target 16%
2026-08-15 18:55:23.745883: Inverter 0 disabled charge window while waiting for schedule (now 08-15 18:55:00 target set_window_minutes 30 charge start time 08-16 11:00:00) original inverter start time 08-17 00:00:00
2026-08-15 18:55:23.745955: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 18:55:23.746134: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 18:55:23.746230: No export window planned
2026-08-15 18:55:23.746344: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 18:55:23.746381: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 18:55:23.746519: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 18:55:23.746684: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 18:55:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 18:55:23.746758: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 18:55:23.746809: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 18:55:23.746903: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 18:55:23.746947: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 18:55:23.746976: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 18:55:23.747000: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 18:55:23.747031: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 18:55:23.747056: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 18:55:23.747101: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 18:55:23.747167: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 18:55:23.747202: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 18:55:23.747245: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 18:55:23.747273: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 18:55:23.747297: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 18:55:23.747332: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 18:55:23.747357: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 18:55:23.747378: Inverter 0 count register writes 0
2026-08-15 18:55:23.768589: Total inverter register writes now 826
2026-08-15 18:55:23.801781: Info: Completed run status Demand
2026-08-15 18:55:23.808029: Info: record_status Demand
2026-08-15 18:55:23.814961: Saved current settings to /config/predbat_config.json
2026-08-15 18:55:23.815287: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 18:55:56.923494: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 18:55:56.923735: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 18:55:56.923780: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 18:55:56.923930: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 18:55:56.923969: Note: Inverter does not support discharge freeze - disabled
2026-08-15 18:55:56.923991: Note: Inverter does not support charge freeze - disabled
2026-08-15 18:55:56.924009: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 18:57:57.155624: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 18:57:57.155862: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 18:57:57.155923: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 18:57:57.156108: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 18:57:57.156178: Note: Inverter does not support discharge freeze - disabled
2026-08-15 18:57:57.156242: Note: Inverter does not support charge freeze - disabled
2026-08-15 18:57:57.156264: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 18:58:45.640970: TemperatureAPI: Using coordinates latitude 53.4, longitude -2.2
2026-08-15 18:58:45.813798: TemperatureAPI: Successfully fetched temperature data from Open-Meteo API
2026-08-15 18:59:57.380703: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 18:59:57.380995: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 18:59:57.381042: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 18:59:57.381244: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 18:59:57.381288: Note: Inverter does not support discharge freeze - disabled
2026-08-15 18:59:57.381309: Note: Inverter does not support charge freeze - disabled
2026-08-15 18:59:57.381327: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 19:00:00.455693: --------------- PredBat - update at 2026-08-15 19:00:00+01:00 with clock skew 0 minutes, minutes now 1140
2026-08-15 19:00:00.456893: Saved current settings to /config/predbat_config.json
2026-08-15 19:00:00.457107: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 35.0 minutes
2026-08-15 19:00:00.457225: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.2, latest beta is v8.48.2
2026-08-15 19:00:00.457400: Autoupdate: There is an update pending v8.48.2 PV90 and second pass enabled by default, bug fixes - auto update is off
2026-08-15 19:00:00.480346: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 19:00:00.480508: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 19:00:00.480762: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 19:00:00.481603: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 19:00:00.481792: Predbat mode is set to Control charge & discharge
2026-08-15 19:00:00.709407: Found 21602 load_today datapoints going back 28 days
2026-08-15 19:00:00.709568: Using load_power data to fill gaps in load_today data
2026-08-15 19:00:01.717829: Processing 721 30-minute periods for power integration
2026-08-15 19:00:01.908369: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 19:00:01.908500: Car charging hold False, threshold 6.0kWh
2026-08-15 19:00:01.908548: Current data so far today: load 9.53kWh, import 27.6kWh, export 0.0kWh, PV 0kWh
2026-08-15 19:00:01.926102: Cars: SoC: [9.962]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 19:00:01.926574: Standing charge is set to 49.98p
2026-08-15 19:00:01.973127: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 19:00:01.973280: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 19:00:01.973569: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 500.0 minutes
2026-08-15 19:00:01.974256: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 500.0 minutes
2026-08-15 19:00:01.980855: Loaded 95 datapoints of futurerate analysis
2026-08-15 19:00:02.154541: Predicted future rates: ['08-15 00:00:00 => 28.69 / 20.01', '08-15 01:00:00 => 27.33 / 19.31', '08-15 02:00:00 => 26.31 / 18.8', '08-15 03:00:00 => 25.78 / 18.53', '08-15 04:00:00 => 25.59 / 18.43', '08-15 05:00:00 => 25.75 / 18.51', '08-15 06:00:00 => 25.34 / 18.3', '08-15 07:00:00 => 24.12 / 17.68', '08-15 08:00:00 => 22.82 / 17.01', '08-15 09:00:00 => 21.84 / 16.51', '08-15 10:00:00 => 20.22 / 15.68', '08-15 11:00:00 => 17.8 / 14.45', '08-15 12:00:00 => 16.16 / 13.61', '08-15 13:00:00 => 15.55 / 13.3', '08-15 14:00:00 => 15.14 / 13.09', '08-15 15:00:00 => 15.65 / 13.35', '08-15 16:00:00 => 32.68 / 16.13', '08-15 17:00:00 => 37.81 / 18.75', '08-15 18:00:00 => 42.15 / 20.96', '08-15 19:00:00 => 30.88 / 21.13', '08-15 20:00:00 => 31.43 / 21.41', '08-15 21:00:00 => 31.43 / 21.41', '08-15 22:00:00 => 30.37 / 20.87', '08-15 23:00:00 => 29.16 / 20.25', '08-16 00:00:00 => 28.62 / 19.97', '08-16 01:00:00 => 27.52 / 19.41', '08-16 02:00:00 => 26.55 / 18.92', '08-16 03:00:00 => 26.18 / 18.73', '08-16 04:00:00 => 26.12 / 18.7', '08-16 05:00:00 => 26.02 / 18.65', '08-16 06:00:00 => 25.78 / 18.53', '08-16 07:00:00 => 25.43 / 18.35', '08-16 08:00:00 => 24.63 / 17.94', '08-16 09:00:00 => 24.05 / 17.64', '08-16 10:00:00 => 24.59 / 17.92', '08-16 11:00:00 => 24.5 / 17.87', '08-16 12:00:00 => 23.58 / 17.4', '08-16 13:00:00 => 22.93 / 17.07', '08-16 14:00:00 => 21.8 / 16.49', '08-16 15:00:00 => 21.8 / 16.49', '08-16 16:00:00 => 36.93 / 18.3', '08-16 17:00:00 => 39.92 / 19.83', '08-16 18:00:00 => 43.98 / 21.9']
2026-08-15 19:00:02.201848: Rate min forward looking: now 21.41p at end of forecast 21.41p
2026-08-15 19:00:02.202297: Import rates: min 21.41p, max 45.28p, average 28.49p
2026-08-15 19:00:02.248630: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 19:00:02.248775: Rate thresholds (for charge/export) are import 44.78p (0.0p), export -0.1p (0.0p)
2026-08-15 19:00:02.250106: High export rate found rates in range 99p to -99p
2026-08-15 19:00:02.358655: Low Import rate found rates in range 21.41p to 44.34p
2026-08-15 19:00:02.358798: Car 0 charging is not planned as it is not plugged in
2026-08-15 19:00:02.371755: Battery level now 15.04kWh, -1hr ago 15.36kWh, at midnight 1.66kWh, battery value change in the last hour -5.89p, change today 246.17p, rate_forward 18.39p
2026-08-15 19:00:02.372116: Last hour: net energy 0.0kWh, import 0.0kWh, export 0.0kWh, car 0kWh, load 0.35kWh, net cost 0.0p, import 0.0p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 19:00:02.439735: Today's energy total net 27.6kWh, import 27.6kWh, export 0.0kWh, cost 566.08p, import 516.09p, export 0.0p, carbon 0.0kg
2026-08-15 19:00:02.439893: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 19:00:02.540918: Using weighted-bucket historical load forecast over 14 days
2026-08-15 19:00:02.574498: Today's load divergence 86.67%, in-day adjustment 99.09%, damping 0.95x, yesterday 143.77% today 87.33% blend 20.83%
2026-08-15 19:00:02.574599: Today's predicted so far 11.39kWh with 0.0kWh car/iBoost excluded, 20.77kWh import ignored, and 11.39kWh forecast extra.
2026-08-15 19:00:02.574635: Today's actual load so far 9.6kWh with 0.0kWh car/iBoost excluded, and 20.77kWh import ignored.
2026-08-15 19:00:02.611555: Inverter 0: Type SK Sunsynk
2026-08-15 19:00:02.611657: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 19:00:02.611888: Reserve min: 7%, battery_min: 7%
2026-08-15 19:00:02.611967: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 19:00:02.612239: Inverter 0 SoC: 15.04kW 94%, current charge rate 5000W, current discharge rate 5250W, current battery power 266W, current battery voltage 51.2V, grid power -54W, load power 330W, PV Power 0W
2026-08-15 19:00:02.612432: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 19:00:02.612531: Inverter 0 scheduled charge enable is False
2026-08-15 19:00:02.612560: Inverter 0 charge windows currently []
2026-08-15 19:00:02.612588: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 19:00:02.612698: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 19:00:02.612733: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 19:00:02.612768: Inverter 0 scheduled discharge enable is False
2026-08-15 19:00:02.612886: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 19:00:02.612922: Inverter 0 discharge windows currently []
2026-08-15 19:00:02.612969: Note: Inverter does not support discharge freeze - disabled
2026-08-15 19:00:02.613003: Note: Inverter does not support charge freeze - disabled
2026-08-15 19:00:02.613021: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 19:00:02.698499: Dynamic load last period 0.30kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 19:00:02.698616: Plan was last updated on 2026-08-15 18:55:00+01:00 and is now 5.0 minutes old
2026-08-15 19:00:02.699004: Best charge window [ 16-08 11:00:00 - 16-08 12:30:00 @ 23.65p 16%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 31%, 16-08 13:30:00 - 16-08 15:00:00 @ 21.91p 100%, 16-08 15:00:00 - 16-08 16:00:00 @ 22.89p 75%, 17-08 12:30:00 - 17-08 18:00:00 @ 40.7p 100% ]
2026-08-15 19:00:02.699058: Best export window [  ]
2026-08-15 19:00:02.699883: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 19:00:02.704582: Load divergence over 8.0 hours mean 755.68W, min 362.4W, max 1953.0W, std dev 434.78W, divergence 28.77%
2026-08-15 19:00:02.732083: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 19:00:02.732230: LoadML is_calculating False
2026-08-15 19:00:02.732300: Creating pool of 12 processes to match your CPU count
2026-08-15 19:00:02.886913: predict base end_record 08-17 12:35:00, final soc 1.12kWh, metric 1090.76p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 14:15:00, load 37.04kWh, PV 0.0kWh
2026-08-15 19:00:03.010143: Battery has 19.25 hours left - now at 15.04kWh
2026-08-15 19:00:03.055482: predict base10 end_record 08-17 12:35:00, final soc 1.12kWh, metric 1124.68p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 13:15:00, load 38.35kWh, PV 0.0kWh
2026-08-15 19:00:03.137091: predict best10 end_record 08-17 12:35:00, final soc 1.44kWh, metric 1064.52p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 06:10:00, load 38.35kWh, PV 0.0kWh
2026-08-15 19:00:03.217207: predict best end_record 08-17 12:35:00, final soc 1.51kWh, metric 1032.58p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 07:10:00, load 37.04kWh, PV 0.0kWh
2026-08-15 19:00:03.217304: Saving plan best values to HA entities
2026-08-15 19:00:03.403614: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 19:00:03.409558: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 19:00:03.415385: Best charging limit SoC's [2.5, 5.0, 16.0, 12.0, 16.0]kWh, export []kWh gives import battery 12.98kWh, house 3.31kWh, export 0.0kWh, metric 1032.58p, metric10 1064.52p
2026-08-15 19:00:03.504025: Marginal costs baseline metric (no standing charge): 932.6168
2026-08-15 19:00:03.763020: Marginal energy costs matrix computed: min=23.75 max=28.99
2026-08-15 19:00:03.851200: Rate array import [{'start': 1140, 'end': 1410, 'rate': 'expensive', 'range': '(29.8p - 32.9p)'}, {'start': 1410, 'end': 2400, 'rate': 'cheap', 'range': '(21.4p - 28.2p)'}, {'start': 2400, 'end': 2430, 'rate': 'expensive', 'range': '(36.8p)'}, {'start': 2430, 'end': 2580, 'rate': 'very expensive', 'range': '(37.5p - 45.3p)'}, {'start': 2580, 'end': 2850, 'rate': 'expensive', 'range': '(30.0p - 35.9p)'}, {'start': 2850, 'end': 3635, 'rate': 'cheap', 'range': '(22.3p - 28.2p)'}] export [{'start': 1140, 'end': 3635, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 19:00:03.852027: - Your estimated bill for today is £5.66 and tomorrow is £3.25
2026-08-15 19:00:03.852079: - Import rates are expensive (29.8p - 32.9p) for the next 4 and a half hours and then cheap (21.4p - 28.2p) for the next 16 hours.
2026-08-15 19:00:03.852102: - The battery is currently at 94% and is in eco mode for the next 16 hours.
2026-08-15 19:00:03.852121: - For the next 48 hours there will be no solar generation.
2026-08-15 19:00:03.852148: - You will run out of battery in 36 hours.
2026-08-15 19:00:03.852203: - Your next charge slot will be in 16 hours where import rates will be cheap (24.3p).
2026-08-15 19:00:03.852239: 
2026-08-15 19:00:03.929716: Plan calculation took 1.23 seconds
2026-08-15 19:00:03.937042: No high rate period found
2026-08-15 19:00:03.989459: Import threshold used for optimisation was 24.66p
2026-08-15 19:00:04.043425: Low import rate windows [0: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 1: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 2: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 3: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 4: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 5: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 6: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 7: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 8: 08-15 23:00:00 - 08-15 23:30:00 @ 30.02, 9: 08-15 23:30:00 - 08-16 00:00:00 @ 27.8, 10: 08-16 00:00:00 - 08-16 00:30:00 @ 28.18, 11: 08-16 00:30:00 - 08-16 01:00:00 @ 27.38, 12: 08-16 01:00:00 - 08-16 01:30:00 @ 26.7, 13: 08-16 01:30:00 - 08-16 02:00:00 @ 26.31, 14: 08-16 02:00:00 - 08-16 02:30:00 @ 25.79, 15: 08-16 02:30:00 - 08-16 03:00:00 @ 25.86, 16: 08-16 03:00:00 - 08-16 03:30:00 @ 26.13, 17: 08-16 03:30:00 - 08-16 04:00:00 @ 25.86, 18: 08-16 04:00:00 - 08-16 04:30:00 @ 26.27, 19: 08-16 04:30:00 - 08-16 05:00:00 @ 26.14, 20: 08-16 05:00:00 - 08-16 05:30:00 @ 27.03, 21: 08-16 05:30:00 - 08-16 06:00:00 @ 26.28, 22: 08-16 06:00:00 - 08-16 06:30:00 @ 25.68, 23: 08-16 06:30:00 - 08-16 07:00:00 @ 26.1, 24: 08-16 07:00:00 - 08-16 07:30:00 @ 24.28, 25: 08-16 07:30:00 - 08-16 08:00:00 @ 24.94, 26: 08-16 08:00:00 - 08-16 08:30:00 @ 24.06, 27: 08-16 08:30:00 - 08-16 09:00:00 @ 24.39, 28: 08-16 09:00:00 - 08-16 09:30:00 @ 24.66, 29: 08-16 09:30:00 - 08-16 10:00:00 @ 24.06, 30: 08-16 10:00:00 - 08-16 10:30:00 @ 25.5, 31: 08-16 10:30:00 - 08-16 11:00:00 @ 24.94, 32: 08-16 11:00:00 - 08-16 11:30:00 @ 24.25, 33: 08-16 11:30:00 - 08-16 12:00:00 @ 23.49, 34: 08-16 12:00:00 - 08-16 12:30:00 @ 23.43, 35: 08-16 12:30:00 - 08-16 13:00:00 @ 22.33, 36: 08-16 13:00:00 - 08-16 13:30:00 @ 22.76, 37: 08-16 13:30:00 - 08-16 14:00:00 @ 22.3, 38: 08-16 14:00:00 - 08-16 14:30:00 @ 21.41, 39: 08-16 14:30:00 - 08-16 15:00:00 @ 21.65, 40: 08-16 15:00:00 - 08-16 15:30:00 @ 22.95, 41: 08-16 15:30:00 - 08-16 16:00:00 @ 22.83, 42: 08-16 16:00:00 - 08-16 16:30:00 @ 36.84, 43: 08-16 16:30:00 - 08-16 17:00:00 @ 37.54, 44: 08-16 17:00:00 - 08-16 17:30:00 @ 41.79, 45: 08-16 17:30:00 - 08-16 18:00:00 @ 43.7, 46: 08-16 18:00:00 - 08-16 18:30:00 @ 44.34, 47: 08-16 19:00:00 - 08-16 19:30:00 @ 34.79, 48: 08-16 19:30:00 - 08-16 20:00:00 @ 34.76, 49: 08-16 20:00:00 - 08-16 20:30:00 @ 35.62, 50: 08-16 20:30:00 - 08-16 21:00:00 @ 35.3, 51: 08-16 21:00:00 - 08-16 21:30:00 @ 35.89, 52: 08-16 21:30:00 - 08-16 22:00:00 @ 35.71, 53: 08-16 22:00:00 - 08-16 22:30:00 @ 33.75, 54: 08-16 22:30:00 - 08-16 23:00:00 @ 32.0, 55: 08-16 23:00:00 - 08-16 23:30:00 @ 30.02, 56: 08-16 23:30:00 - 08-17 00:00:00 @ 27.8, 57: 08-17 00:00:00 - 08-17 00:30:00 @ 28.18, 58: 08-17 00:30:00 - 08-17 01:00:00 @ 27.38, 59: 08-17 01:00:00 - 08-17 01:30:00 @ 26.7, 60: 08-17 01:30:00 - 08-17 02:00:00 @ 26.31, 61: 08-17 02:00:00 - 08-17 02:30:00 @ 25.79, 62: 08-17 02:30:00 - 08-17 03:00:00 @ 25.86, 63: 08-17 03:00:00 - 08-17 03:30:00 @ 26.13, 64: 08-17 03:30:00 - 08-17 04:00:00 @ 25.86, 65: 08-17 04:00:00 - 08-17 04:30:00 @ 26.27, 66: 08-17 04:30:00 - 08-17 05:00:00 @ 26.14, 67: 08-17 05:00:00 - 08-17 05:30:00 @ 27.03, 68: 08-17 05:30:00 - 08-17 06:00:00 @ 26.28, 69: 08-17 06:00:00 - 08-17 06:30:00 @ 25.68, 70: 08-17 06:30:00 - 08-17 07:00:00 @ 26.1, 71: 08-17 07:00:00 - 08-17 07:30:00 @ 24.28, 72: 08-17 07:30:00 - 08-17 08:00:00 @ 24.94, 73: 08-17 08:00:00 - 08-17 08:30:00 @ 24.06, 74: 08-17 08:30:00 - 08-17 09:00:00 @ 24.39, 75: 08-17 09:00:00 - 08-17 09:30:00 @ 24.66, 76: 08-17 09:30:00 - 08-17 10:00:00 @ 24.06, 77: 08-17 10:00:00 - 08-17 10:30:00 @ 25.5, 78: 08-17 10:30:00 - 08-17 11:00:00 @ 24.94, 79: 08-17 11:00:00 - 08-17 11:30:00 @ 24.25, 80: 08-17 11:30:00 - 08-17 12:00:00 @ 23.49, 81: 08-17 12:00:00 - 08-17 12:30:00 @ 23.43, 82: 08-17 12:30:00 - 08-17 13:00:00 @ 22.33, 83: 08-17 13:00:00 - 08-17 13:30:00 @ 22.76, 84: 08-17 13:30:00 - 08-17 14:00:00 @ 22.3, 85: 08-17 14:00:00 - 08-17 14:30:00 @ 21.41, 86: 08-17 14:30:00 - 08-17 15:00:00 @ 21.65, 87: 08-17 15:00:00 - 08-17 15:30:00 @ 22.95, 88: 08-17 15:30:00 - 08-17 16:00:00 @ 22.83, 89: 08-17 16:00:00 - 08-17 16:30:00 @ 36.84, 90: 08-17 16:30:00 - 08-17 17:00:00 @ 37.54, 91: 08-17 17:00:00 - 08-17 17:30:00 @ 41.79, 92: 08-17 17:30:00 - 08-17 18:00:00 @ 43.7, 93: 08-17 18:00:00 - 08-17 18:30:00 @ 44.34]
2026-08-15 19:00:04.051760: Inverter 0 Charge window will be: 2026-08-16 11:00:00+01:00 - 2026-08-16 16:00:00+01:00 - current SoC 94%, target 16%
2026-08-15 19:00:04.051909: Inverter 0 disabled charge window while waiting for schedule (now 08-15 19:00:00 target set_window_minutes 30 charge start time 08-16 11:00:00) original inverter start time 08-17 00:00:00
2026-08-15 19:00:04.052026: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 19:00:04.052304: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 19:00:04.052403: No export window planned
2026-08-15 19:00:04.052518: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 19:00:04.052547: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 19:00:04.052683: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 19:00:04.052862: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 19:00:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 19:00:04.052924: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 19:00:04.053032: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 19:00:04.053191: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 19:00:04.053252: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 19:00:04.053296: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 19:00:04.053348: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 19:00:04.053390: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 19:00:04.053440: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 19:00:04.053494: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 19:00:04.053605: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 19:00:04.053673: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 19:00:04.053725: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 19:00:04.053770: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 19:00:04.053823: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 19:00:04.053880: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 19:00:04.053916: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 19:00:04.053956: Inverter 0 count register writes 0
2026-08-15 19:00:04.074145: Will not recompute the plan, it is 5.0 minutes old and max age is 10 minutes
2026-08-15 19:00:04.080206: Total inverter register writes now 826
2026-08-15 19:00:04.118435: Info: Completed run status Demand
2026-08-15 19:00:04.124190: Info: record_status Demand
2026-08-15 19:00:04.131062: Saved current settings to /config/predbat_config.json
2026-08-15 19:00:04.131427: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 19:00:42.250532: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 19:00:42.250782: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 19:00:42.250842: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 19:00:42.251027: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 19:00:42.251066: Note: Inverter does not support discharge freeze - disabled
2026-08-15 19:00:42.251120: Note: Inverter does not support charge freeze - disabled
2026-08-15 19:00:42.251138: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 19:02:42.466721: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 19:02:42.466995: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 19:02:42.467051: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 19:02:42.467232: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 19:02:42.467290: Note: Inverter does not support discharge freeze - disabled
2026-08-15 19:02:42.467333: Note: Inverter does not support charge freeze - disabled
2026-08-15 19:02:42.467350: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 19:02:46.852900: Info: HAHistory: Pruning history data started.
2026-08-15 19:02:46.856644: Info: HAHistory: Pruning history data completed.
2026-08-15 19:04:56.717515: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 19:04:56.717839: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 19:04:56.717907: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 19:04:56.718105: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 19:04:56.718174: Note: Inverter does not support discharge freeze - disabled
2026-08-15 19:04:56.718200: Note: Inverter does not support charge freeze - disabled
2026-08-15 19:04:56.718219: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 19:05:00.808159: --------------- PredBat - update at 2026-08-15 19:05:00+01:00 with clock skew 0 minutes, minutes now 1145
2026-08-15 19:05:00.809344: Saved current settings to /config/predbat_config.json
2026-08-15 19:05:00.809532: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 40.0 minutes
2026-08-15 19:05:00.809747: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.2, latest beta is v8.48.2
2026-08-15 19:05:00.809874: Autoupdate: There is an update pending v8.48.2 PV90 and second pass enabled by default, bug fixes - auto update is off
2026-08-15 19:05:00.832510: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 19:05:00.832704: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 19:05:00.832998: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 19:05:00.834044: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 19:05:00.834259: Predbat mode is set to Control charge & discharge
2026-08-15 19:05:01.059691: Found 21602 load_today datapoints going back 27 days
2026-08-15 19:05:01.059871: Using load_power data to fill gaps in load_today data
2026-08-15 19:05:01.904567: Processing 721 30-minute periods for power integration
2026-08-15 19:05:02.106950: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 19:05:02.107103: Car charging hold False, threshold 6.0kWh
2026-08-15 19:05:02.107181: Current data so far today: load 9.55kWh, import 27.6kWh, export 0.0kWh, PV 0kWh
2026-08-15 19:05:02.125741: Cars: SoC: [9.962]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 19:05:02.126368: Standing charge is set to 49.98p
2026-08-15 19:05:02.166955: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 19:05:02.167059: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 19:05:02.167307: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 505.0 minutes
2026-08-15 19:05:02.167720: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 505.0 minutes
2026-08-15 19:05:02.173791: Loaded 95 datapoints of futurerate analysis
2026-08-15 19:05:02.331083: Predicted future rates: ['08-15 00:00:00 => 28.69 / 20.01', '08-15 01:00:00 => 27.33 / 19.31', '08-15 02:00:00 => 26.31 / 18.8', '08-15 03:00:00 => 25.78 / 18.53', '08-15 04:00:00 => 25.59 / 18.43', '08-15 05:00:00 => 25.75 / 18.51', '08-15 06:00:00 => 25.34 / 18.3', '08-15 07:00:00 => 24.12 / 17.68', '08-15 08:00:00 => 22.82 / 17.01', '08-15 09:00:00 => 21.84 / 16.51', '08-15 10:00:00 => 20.22 / 15.68', '08-15 11:00:00 => 17.8 / 14.45', '08-15 12:00:00 => 16.16 / 13.61', '08-15 13:00:00 => 15.55 / 13.3', '08-15 14:00:00 => 15.14 / 13.09', '08-15 15:00:00 => 15.65 / 13.35', '08-15 16:00:00 => 32.68 / 16.13', '08-15 17:00:00 => 37.81 / 18.75', '08-15 18:00:00 => 42.15 / 20.96', '08-15 19:00:00 => 30.88 / 21.13', '08-15 20:00:00 => 31.43 / 21.41', '08-15 21:00:00 => 31.43 / 21.41', '08-15 22:00:00 => 30.37 / 20.87', '08-15 23:00:00 => 29.16 / 20.25', '08-16 00:00:00 => 28.62 / 19.97', '08-16 01:00:00 => 27.52 / 19.41', '08-16 02:00:00 => 26.55 / 18.92', '08-16 03:00:00 => 26.18 / 18.73', '08-16 04:00:00 => 26.12 / 18.7', '08-16 05:00:00 => 26.02 / 18.65', '08-16 06:00:00 => 25.78 / 18.53', '08-16 07:00:00 => 25.43 / 18.35', '08-16 08:00:00 => 24.63 / 17.94', '08-16 09:00:00 => 24.05 / 17.64', '08-16 10:00:00 => 24.59 / 17.92', '08-16 11:00:00 => 24.5 / 17.87', '08-16 12:00:00 => 23.58 / 17.4', '08-16 13:00:00 => 22.93 / 17.07', '08-16 14:00:00 => 21.8 / 16.49', '08-16 15:00:00 => 21.8 / 16.49', '08-16 16:00:00 => 36.93 / 18.3', '08-16 17:00:00 => 39.92 / 19.83', '08-16 18:00:00 => 43.98 / 21.9']
2026-08-15 19:05:02.379265: Rate min forward looking: now 21.41p at end of forecast 21.41p
2026-08-15 19:05:02.379837: Import rates: min 21.41p, max 45.28p, average 28.49p
2026-08-15 19:05:02.428930: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 19:05:02.429096: Rate thresholds (for charge/export) are import 44.78p (0.0p), export -0.1p (0.0p)
2026-08-15 19:05:02.430415: High export rate found rates in range 99p to -99p
2026-08-15 19:05:02.533735: Low Import rate found rates in range 21.41p to 44.34p
2026-08-15 19:05:02.533878: Car 0 charging is not planned as it is not plugged in
2026-08-15 19:05:02.549265: Battery level now 15.04kWh, -1hr ago 15.36kWh, at midnight 1.66kWh, battery value change in the last hour -5.89p, change today 246.17p, rate_forward 18.39p
2026-08-15 19:05:02.549645: Last hour: net energy 0.0kWh, import 0.0kWh, export 0.0kWh, car 0kWh, load 0.35kWh, net cost 0.0p, import 0.0p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 19:05:02.611191: Today's energy total net 27.6kWh, import 27.6kWh, export 0.0kWh, cost 566.08p, import 516.09p, export 0.0p, carbon 0.0kg
2026-08-15 19:05:02.611350: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 19:05:02.703633: Using weighted-bucket historical load forecast over 14 days
2026-08-15 19:05:02.735162: Today's load divergence 86.83%, in-day adjustment 99.02%, damping 0.95x, yesterday 143.77% today 87.49% blend 20.49%
2026-08-15 19:05:02.735278: Today's predicted so far 11.48kWh with 0.0kWh car/iBoost excluded, 20.86kWh import ignored, and 11.48kWh forecast extra.
2026-08-15 19:05:02.735336: Today's actual load so far 9.71kWh with 0.0kWh car/iBoost excluded, and 20.86kWh import ignored.
2026-08-15 19:05:02.770653: Inverter 0: Type SK Sunsynk
2026-08-15 19:05:02.770755: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 19:05:02.770987: Reserve min: 7%, battery_min: 7%
2026-08-15 19:05:02.771079: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 19:05:02.771439: Inverter 0 SoC: 15.04kW 94%, current charge rate 5000W, current discharge rate 5250W, current battery power 236W, current battery voltage 51.2V, grid power -54W, load power 297W, PV Power 0W
2026-08-15 19:05:02.771614: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 19:05:02.771710: Inverter 0 scheduled charge enable is False
2026-08-15 19:05:02.771746: Inverter 0 charge windows currently []
2026-08-15 19:05:02.771773: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 19:05:02.771900: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 19:05:02.771964: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 19:05:02.772000: Inverter 0 scheduled discharge enable is False
2026-08-15 19:05:02.772125: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 19:05:02.772173: Inverter 0 discharge windows currently []
2026-08-15 19:05:02.772195: Note: Inverter does not support discharge freeze - disabled
2026-08-15 19:05:02.772217: Note: Inverter does not support charge freeze - disabled
2026-08-15 19:05:02.772235: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 19:05:02.833882: Dynamic load last period 0.30kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 19:05:02.833978: Plan was last updated on 2026-08-15 18:55:00+01:00 and is now 10.0 minutes old
2026-08-15 19:05:02.834219: Best charge window [ 16-08 11:00:00 - 16-08 12:30:00 @ 23.65p 16%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 31%, 16-08 13:30:00 - 16-08 15:00:00 @ 21.91p 100%, 16-08 15:00:00 - 16-08 16:00:00 @ 22.89p 75%, 17-08 12:30:00 - 17-08 18:00:00 @ 40.7p 100% ]
2026-08-15 19:05:02.834259: Best export window [  ]
2026-08-15 19:05:02.834846: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 19:05:02.837357: Load divergence over 8.0 hours mean 763.39W, min 348.6W, max 2423.4W, std dev 469.31W, divergence 30.74%
2026-08-15 19:05:02.852794: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 19:05:02.852910: LoadML is_calculating False
2026-08-15 19:05:02.852996: Creating pool of 12 processes to match your CPU count
2026-08-15 19:05:02.972491: predict base end_record 08-17 12:40:00, final soc 1.12kWh, metric 1090.43p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 14:20:00, load 37.07kWh, PV 0.0kWh
2026-08-15 19:05:03.108882: Battery has 19.25 hours left - now at 15.04kWh
2026-08-15 19:05:03.154858: predict base10 end_record 08-17 12:40:00, final soc 1.12kWh, metric 1124.24p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 13:20:00, load 38.37kWh, PV 0.0kWh
2026-08-15 19:05:03.229366: predict best10 end_record 08-17 12:40:00, final soc 1.77kWh, metric 1072.11p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 06:10:00, load 38.37kWh, PV 0.0kWh
2026-08-15 19:05:03.311781: predict best end_record 08-17 12:40:00, final soc 1.9kWh, metric 1041.71p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 07:10:00, load 37.07kWh, PV 0.0kWh
2026-08-15 19:05:03.311896: Saving plan best values to HA entities
2026-08-15 19:05:03.487747: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 19:05:03.493746: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0.0
2026-08-15 19:05:03.499792: Best charging limit SoC's [2.5, 5.0, 16.0, 12.0, 16.0]kWh, export []kWh gives import battery 13.43kWh, house 3.28kWh, export 0.0kWh, metric 1041.71p, metric10 1072.11p
2026-08-15 19:05:03.585954: Marginal costs baseline metric (no standing charge): 941.7477
2026-08-15 19:05:03.871353: Marginal energy costs matrix computed: min=23.7 max=28.97
2026-08-15 19:05:03.962901: Rate array import [{'start': 1145, 'end': 1410, 'rate': 'expensive', 'range': '(29.8p - 32.9p)'}, {'start': 1410, 'end': 2400, 'rate': 'cheap', 'range': '(21.4p - 28.2p)'}, {'start': 2400, 'end': 2430, 'rate': 'expensive', 'range': '(36.8p)'}, {'start': 2430, 'end': 2580, 'rate': 'very expensive', 'range': '(37.5p - 45.3p)'}, {'start': 2580, 'end': 2850, 'rate': 'expensive', 'range': '(30.0p - 35.9p)'}, {'start': 2850, 'end': 3640, 'rate': 'cheap', 'range': '(22.3p - 28.2p)'}] export [{'start': 1145, 'end': 3640, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 19:05:03.963763: - Your estimated bill for today is £5.66 and tomorrow is £3.25
2026-08-15 19:05:03.963823: - Import rates are expensive (29.8p - 32.9p) for the next 4 and a half hours and then cheap (21.4p - 28.2p) for the next 16 hours.
2026-08-15 19:05:03.963847: - The battery is currently at 94% and is in eco mode for the next 15 hours.
2026-08-15 19:05:03.963865: - For the next 48 hours there will be no solar generation.
2026-08-15 19:05:03.963883: - You will run out of battery in 36 hours.
2026-08-15 19:05:03.963900: - Your next charge slot will be in 15 hours where import rates will be cheap (24.3p).
2026-08-15 19:05:03.963917: 
2026-08-15 19:05:04.038947: Plan calculation took 1.20 seconds
2026-08-15 19:05:04.042873: No high rate period found
2026-08-15 19:05:04.100767: Import threshold used for optimisation was 24.66p
2026-08-15 19:05:04.176740: Low import rate windows [0: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 1: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 2: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 3: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 4: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 5: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 6: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 7: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 8: 08-15 23:00:00 - 08-15 23:30:00 @ 30.02, 9: 08-15 23:30:00 - 08-16 00:00:00 @ 27.8, 10: 08-16 00:00:00 - 08-16 00:30:00 @ 28.18, 11: 08-16 00:30:00 - 08-16 01:00:00 @ 27.38, 12: 08-16 01:00:00 - 08-16 01:30:00 @ 26.7, 13: 08-16 01:30:00 - 08-16 02:00:00 @ 26.31, 14: 08-16 02:00:00 - 08-16 02:30:00 @ 25.79, 15: 08-16 02:30:00 - 08-16 03:00:00 @ 25.86, 16: 08-16 03:00:00 - 08-16 03:30:00 @ 26.13, 17: 08-16 03:30:00 - 08-16 04:00:00 @ 25.86, 18: 08-16 04:00:00 - 08-16 04:30:00 @ 26.27, 19: 08-16 04:30:00 - 08-16 05:00:00 @ 26.14, 20: 08-16 05:00:00 - 08-16 05:30:00 @ 27.03, 21: 08-16 05:30:00 - 08-16 06:00:00 @ 26.28, 22: 08-16 06:00:00 - 08-16 06:30:00 @ 25.68, 23: 08-16 06:30:00 - 08-16 07:00:00 @ 26.1, 24: 08-16 07:00:00 - 08-16 07:30:00 @ 24.28, 25: 08-16 07:30:00 - 08-16 08:00:00 @ 24.94, 26: 08-16 08:00:00 - 08-16 08:30:00 @ 24.06, 27: 08-16 08:30:00 - 08-16 09:00:00 @ 24.39, 28: 08-16 09:00:00 - 08-16 09:30:00 @ 24.66, 29: 08-16 09:30:00 - 08-16 10:00:00 @ 24.06, 30: 08-16 10:00:00 - 08-16 10:30:00 @ 25.5, 31: 08-16 10:30:00 - 08-16 11:00:00 @ 24.94, 32: 08-16 11:00:00 - 08-16 11:30:00 @ 24.25, 33: 08-16 11:30:00 - 08-16 12:00:00 @ 23.49, 34: 08-16 12:00:00 - 08-16 12:30:00 @ 23.43, 35: 08-16 12:30:00 - 08-16 13:00:00 @ 22.33, 36: 08-16 13:00:00 - 08-16 13:30:00 @ 22.76, 37: 08-16 13:30:00 - 08-16 14:00:00 @ 22.3, 38: 08-16 14:00:00 - 08-16 14:30:00 @ 21.41, 39: 08-16 14:30:00 - 08-16 15:00:00 @ 21.65, 40: 08-16 15:00:00 - 08-16 15:30:00 @ 22.95, 41: 08-16 15:30:00 - 08-16 16:00:00 @ 22.83, 42: 08-16 16:00:00 - 08-16 16:30:00 @ 36.84, 43: 08-16 16:30:00 - 08-16 17:00:00 @ 37.54, 44: 08-16 17:00:00 - 08-16 17:30:00 @ 41.79, 45: 08-16 17:30:00 - 08-16 18:00:00 @ 43.7, 46: 08-16 18:00:00 - 08-16 18:30:00 @ 44.34, 47: 08-16 19:00:00 - 08-16 19:30:00 @ 34.79, 48: 08-16 19:30:00 - 08-16 20:00:00 @ 34.76, 49: 08-16 20:00:00 - 08-16 20:30:00 @ 35.62, 50: 08-16 20:30:00 - 08-16 21:00:00 @ 35.3, 51: 08-16 21:00:00 - 08-16 21:30:00 @ 35.89, 52: 08-16 21:30:00 - 08-16 22:00:00 @ 35.71, 53: 08-16 22:00:00 - 08-16 22:30:00 @ 33.75, 54: 08-16 22:30:00 - 08-16 23:00:00 @ 32.0, 55: 08-16 23:00:00 - 08-16 23:30:00 @ 30.02, 56: 08-16 23:30:00 - 08-17 00:00:00 @ 27.8, 57: 08-17 00:00:00 - 08-17 00:30:00 @ 28.18, 58: 08-17 00:30:00 - 08-17 01:00:00 @ 27.38, 59: 08-17 01:00:00 - 08-17 01:30:00 @ 26.7, 60: 08-17 01:30:00 - 08-17 02:00:00 @ 26.31, 61: 08-17 02:00:00 - 08-17 02:30:00 @ 25.79, 62: 08-17 02:30:00 - 08-17 03:00:00 @ 25.86, 63: 08-17 03:00:00 - 08-17 03:30:00 @ 26.13, 64: 08-17 03:30:00 - 08-17 04:00:00 @ 25.86, 65: 08-17 04:00:00 - 08-17 04:30:00 @ 26.27, 66: 08-17 04:30:00 - 08-17 05:00:00 @ 26.14, 67: 08-17 05:00:00 - 08-17 05:30:00 @ 27.03, 68: 08-17 05:30:00 - 08-17 06:00:00 @ 26.28, 69: 08-17 06:00:00 - 08-17 06:30:00 @ 25.68, 70: 08-17 06:30:00 - 08-17 07:00:00 @ 26.1, 71: 08-17 07:00:00 - 08-17 07:30:00 @ 24.28, 72: 08-17 07:30:00 - 08-17 08:00:00 @ 24.94, 73: 08-17 08:00:00 - 08-17 08:30:00 @ 24.06, 74: 08-17 08:30:00 - 08-17 09:00:00 @ 24.39, 75: 08-17 09:00:00 - 08-17 09:30:00 @ 24.66, 76: 08-17 09:30:00 - 08-17 10:00:00 @ 24.06, 77: 08-17 10:00:00 - 08-17 10:30:00 @ 25.5, 78: 08-17 10:30:00 - 08-17 11:00:00 @ 24.94, 79: 08-17 11:00:00 - 08-17 11:30:00 @ 24.25, 80: 08-17 11:30:00 - 08-17 12:00:00 @ 23.49, 81: 08-17 12:00:00 - 08-17 12:30:00 @ 23.43, 82: 08-17 12:30:00 - 08-17 13:00:00 @ 22.33, 83: 08-17 13:00:00 - 08-17 13:30:00 @ 22.76, 84: 08-17 13:30:00 - 08-17 14:00:00 @ 22.3, 85: 08-17 14:00:00 - 08-17 14:30:00 @ 21.41, 86: 08-17 14:30:00 - 08-17 15:00:00 @ 21.65, 87: 08-17 15:00:00 - 08-17 15:30:00 @ 22.95, 88: 08-17 15:30:00 - 08-17 16:00:00 @ 22.83, 89: 08-17 16:00:00 - 08-17 16:30:00 @ 36.84, 90: 08-17 16:30:00 - 08-17 17:00:00 @ 37.54, 91: 08-17 17:00:00 - 08-17 17:30:00 @ 41.79, 92: 08-17 17:30:00 - 08-17 18:00:00 @ 43.7, 93: 08-17 18:00:00 - 08-17 18:30:00 @ 44.34, 94: 08-17 19:00:00 - 08-17 19:30:00 @ 34.79]
2026-08-15 19:05:04.185082: Inverter 0 Charge window will be: 2026-08-16 11:00:00+01:00 - 2026-08-16 16:00:00+01:00 - current SoC 94%, target 16%
2026-08-15 19:05:04.185242: Inverter 0 disabled charge window while waiting for schedule (now 08-15 19:05:00 target set_window_minutes 30 charge start time 08-16 11:00:00) original inverter start time 08-17 00:00:00
2026-08-15 19:05:04.185374: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 19:05:04.185658: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 19:05:04.185775: No export window planned
2026-08-15 19:05:04.185910: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 19:05:04.185947: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 19:05:04.186086: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 19:05:04.186296: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 19:05:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 19:05:04.186370: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 19:05:04.186447: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 19:05:04.186586: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 19:05:04.186634: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 19:05:04.186662: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 19:05:04.186688: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 19:05:04.186739: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 19:05:04.186765: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 19:05:04.186791: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 19:05:04.186864: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 19:05:04.186900: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 19:05:04.186925: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 19:05:04.186956: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 19:05:04.186981: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 19:05:04.187005: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 19:05:04.187036: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 19:05:04.187057: Inverter 0 count register writes 0
2026-08-15 19:05:04.204579: Will recompute the plan as it is now 10.0 minutes old and will exceed the max age of 10 minutes before the next run
2026-08-15 19:05:04.204762: Recompute is saving previous plan...
2026-08-15 19:05:04.207906: Best charge window [ 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 0%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 0%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 0%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 0%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 30.02p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 27.8p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.18p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.38p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 26.7p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.31p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.79p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 25.86p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.13p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 25.86p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.27p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.14p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 27.03p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.28p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.68p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 26.1p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 24.28p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 24.94p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.06p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.39p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.66p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.06p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 25.5p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 24.94p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 24.25p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 23.49p 0%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.43p 0%, 16-08 12:30:00 - 16-08 13:00:00 @ 22.33p 0%, 16-08 13:00:00 - 16-08 13:30:00 @ 22.76p 0%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 0%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 0%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.65p 0%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.95p 0%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.83p 0%, 16-08 16:00:00 - 16-08 16:30:00 @ 36.84p 0%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.54p 0%, 16-08 17:00:00 - 16-08 17:30:00 @ 41.79p 0%, 16-08 17:30:00 - 16-08 18:00:00 @ 43.7p 0%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.34p 0%, 16-08 19:00:00 - 16-08 19:30:00 @ 34.79p 0%, 16-08 19:30:00 - 16-08 20:00:00 @ 34.76p 0%, 16-08 20:00:00 - 16-08 20:30:00 @ 35.62p 0%, 16-08 20:30:00 - 16-08 21:00:00 @ 35.3p 0%, 16-08 21:00:00 - 16-08 21:30:00 @ 35.89p 0%, 16-08 21:30:00 - 16-08 22:00:00 @ 35.71p 0%, 16-08 22:00:00 - 16-08 22:30:00 @ 33.75p 0%, 16-08 22:30:00 - 16-08 23:00:00 @ 32.0p 0%, 16-08 23:00:00 - 16-08 23:30:00 @ 30.02p 0%, 16-08 23:30:00 - 17-08 00:00:00 @ 27.8p 0%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.18p 0%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.38p 0%, 17-08 01:00:00 - 17-08 01:30:00 @ 26.7p 0%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.31p 0%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.79p 0%, 17-08 02:30:00 - 17-08 03:00:00 @ 25.86p 0%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.13p 0%, 17-08 03:30:00 - 17-08 04:00:00 @ 25.86p 0%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.27p 0%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.14p 0%, 17-08 05:00:00 - 17-08 05:30:00 @ 27.03p 0%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.28p 0%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.68p 0%, 17-08 06:30:00 - 17-08 07:00:00 @ 26.1p 0%, 17-08 07:00:00 - 17-08 07:30:00 @ 24.28p 0%, 17-08 07:30:00 - 17-08 08:00:00 @ 24.94p 0%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.06p 0%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.39p 0%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.66p 0%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.06p 0%, 17-08 10:00:00 - 17-08 10:30:00 @ 25.5p 0%, 17-08 10:30:00 - 17-08 11:00:00 @ 24.94p 0%, 17-08 11:00:00 - 17-08 11:30:00 @ 24.25p 0%, 17-08 11:30:00 - 17-08 12:00:00 @ 23.49p 0%, 17-08 12:00:00 - 17-08 12:30:00 @ 23.43p 0%, 17-08 12:30:00 - 17-08 13:00:00 @ 22.33p 0%, 17-08 13:00:00 - 17-08 13:30:00 @ 22.76p 0%, 17-08 13:30:00 - 17-08 14:00:00 @ 22.3p 0%, 17-08 14:00:00 - 17-08 14:30:00 @ 21.41p 0%, 17-08 14:30:00 - 17-08 15:00:00 @ 21.65p 0%, 17-08 15:00:00 - 17-08 15:30:00 @ 22.95p 0%, 17-08 15:30:00 - 17-08 16:00:00 @ 22.83p 0%, 17-08 16:00:00 - 17-08 16:30:00 @ 36.84p 0%, 17-08 16:30:00 - 17-08 17:00:00 @ 37.54p 0%, 17-08 17:00:00 - 17-08 17:30:00 @ 41.79p 0%, 17-08 17:30:00 - 17-08 18:00:00 @ 43.7p 0%, 17-08 18:00:00 - 17-08 18:30:00 @ 44.34p 0%, 17-08 19:00:00 - 17-08 19:30:00 @ 34.79p 0% ]
2026-08-15 19:05:04.207995: Best export window [  ]
2026-08-15 19:05:04.208851: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 19:05:04.212144: Load divergence over 8.0 hours mean 763.39W, min 348.6W, max 2423.4W, std dev 469.31W, divergence 30.74%
2026-08-15 19:05:04.229430: Calculating data from yesterday for savings calculation
2026-08-15 19:05:04.242365: Yesterday basic charge window best: [{'start': 840, 'end': 870, 'average': 21.7}] charge limit best: [16.0] based on max charge slots 1
2026-08-15 19:05:04.292045: predict yesterday end_record 08-16 00:00:00, final soc 1.12kWh, metric 843.63p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 00:00:00, load 26.2kWh, PV 0.0kWh
2026-08-15 19:05:04.306554: predict yesterday10 end_record 08-16 00:00:00, final soc 1.12kWh, metric 847.91p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 00:00:00, load 26.2kWh, PV 0.0kWh
2026-08-15 19:05:04.326232: predict yesterday end_record 08-16 00:00:00, final soc 1.12kWh, metric 843.63p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 00:00:00, load 26.2kWh, PV 0.0kWh
2026-08-15 19:05:04.368277: Yesterday: Predbat disabled was £8.44 (adjusted £8.23) vs £7.38 (adjusted £7.05), saving £1.05 (adjusted £1.18) with import 26.54kWh, export 0.0kWh, battery_cycle 4.66kWh, start_soc 1.12kWh,  final_soc 1.12kWh and battery_value 20.6kWh
2026-08-15 19:05:04.453800: predict yesterday end_record 08-16 00:00:00, final soc 0.0kWh, metric 849.84p, metric_keep 0kWh, min_soc 0kWh @ 08-15 00:00:00, load 26.2kWh, PV 0.0kWh
2026-08-15 19:05:04.453955: Yesterday: No Battery/PV system cost predicted was £8.5 (adjusted £8.5) vs £7.38 (adjusted £7.05), saving £1.12 (adjusted £1.45) with import 26.2kWh, export 0kWh and battery_value 0.0kWh
2026-08-15 19:05:04.465180: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 19:05:04.465325: LoadML is_calculating False
2026-08-15 19:05:04.465402: Creating pool of 12 processes to match your CPU count
2026-08-15 19:05:04.586633: Calculate Best options: mode(Control charge & discharge), calculate_export_oncharge(False), calculate_export_on_pv(True), set_export_freeze_only(False), set_discharge_during_charge(True), combine_charge_slots(False), combine_export_slots(False), combine_rate_threshold(0.0), best_soc_min(0.0 kWh), best_soc_max(0.0 kWh), best_soc_keep(0.0 kWh), inverter_loss(4%), battery_loss(3%), battery_loss_discharge (3%), inverter_hybrid(True), metric_min_improvement(0.0p), metric_min_improvement_export(0.1p), metric_min_improvement_export_freeze(0.1p), metric_battery_cycle(0.0p/kWh), metric_battery_value_scaling(1.0 x) 
2026-08-15 19:05:04.589660: Optimise levels pass started at 2026-08-15 19:05:04
2026-08-15 19:05:04.589736: Optimise all windows, total charge 94 export 1
2026-08-15 19:05:05.826356: >> Region optimisation pass width 960 gives best_metric 1006.44p, best_cost 1022.51p, best_cycle 37.32kWh, best_import 20.29kWh
2026-08-15 19:05:06.258806: >> Region optimisation pass width 480 gives best_metric 1006.44p, best_cost 1022.51p, best_cycle 37.32kWh, best_import 20.29kWh
2026-08-15 19:05:06.778247: >> Region optimisation pass width 240 gives best_metric 1006.44p, best_cost 1022.51p, best_cycle 37.32kWh, best_import 20.29kWh
2026-08-15 19:05:07.995598: >> Region optimisation pass width 120 gives best_metric 1006.44p, best_cost 1022.51p, best_cycle 37.32kWh, best_import 20.29kWh
2026-08-15 19:05:07.995975: Calculated end_record as 08-17 12:30:00 based on best_price 22.33p, next_charge_start 08-16 12:30:00, max_windows 82
2026-08-15 19:05:07.996050: Optimise levels pass ended at 2026-08-15 19:05:07, duration 3.4 seconds tried 302 combinations
2026-08-15 19:05:07.996112: Set best_price_charge_level 24.0p, best_price_export_level 0p, best_price_charge 22.33p, best_cost_export 0p, best_metric 1006.44p, best_keep 0kWh, best_cycle 37.32kWh, best_carbon 0kg, best_import 20.29kWh
2026-08-15 19:05:08.017112: Starting detailed optimisation end_record 08-17 12:30:00, best_price_charge 22.33p, best_price_export 0p. lowest_price_charge 21.41p with charge limits [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 0, 16.0, 16.0, 16.0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0]kWh and export limits []kWh
2026-08-15 19:05:13.676056: Tweak plan optimisation started metric 903.18p, cost 918.55p
2026-08-15 19:05:14.021684: Tweak optimisation finished metric 903.18p, cost 918.55p, metric_keep 0kWh, cycle 30.4kWh, carbon 0kg, import 15.63kWh, changed 8 window(s)
2026-08-15 19:05:14.043300: Swap charge optimisation started metric 903.18p, cost 918.55p, min_improvement_swap 0.1p
2026-08-15 19:05:20.022741: Swap charge optimisation finished metric 903.18p, cost 918.55p
2026-08-15 19:05:20.134525: Raw charge windows [ 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 0%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 0%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 0%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 0%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 30.02p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 27.8p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.18p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.38p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 26.7p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.31p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.79p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 25.86p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.13p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 25.86p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.27p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.14p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 27.03p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.28p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.68p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 26.1p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 24.28p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 24.94p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.06p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.39p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.66p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.06p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 25.5p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 24.94p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 24.25p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 23.49p 22%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.43p 22%, 16-08 12:30:00 - 16-08 13:00:00 @ 22.33p 31%, 16-08 13:00:00 - 16-08 13:30:00 @ 22.76p 31%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 100%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 100%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.65p 100%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.95p 75%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.83p 75%, 16-08 16:00:00 - 16-08 16:30:00 @ 36.84p 0%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.54p 0%, 16-08 17:00:00 - 16-08 17:30:00 @ 41.79p 0%, 16-08 17:30:00 - 16-08 18:00:00 @ 43.7p 0%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.34p 0%, 16-08 19:00:00 - 16-08 19:30:00 @ 34.79p 0%, 16-08 19:30:00 - 16-08 20:00:00 @ 34.76p 0%, 16-08 20:00:00 - 16-08 20:30:00 @ 35.62p 0%, 16-08 20:30:00 - 16-08 21:00:00 @ 35.3p 0%, 16-08 21:00:00 - 16-08 21:30:00 @ 35.89p 0%, 16-08 21:30:00 - 16-08 22:00:00 @ 35.71p 0%, 16-08 22:00:00 - 16-08 22:30:00 @ 33.75p 0%, 16-08 22:30:00 - 16-08 23:00:00 @ 32.0p 0%, 16-08 23:00:00 - 16-08 23:30:00 @ 30.02p 0%, 16-08 23:30:00 - 17-08 00:00:00 @ 27.8p 0%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.18p 0%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.38p 0%, 17-08 01:00:00 - 17-08 01:30:00 @ 26.7p 0%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.31p 0%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.79p 0%, 17-08 02:30:00 - 17-08 03:00:00 @ 25.86p 0%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.13p 0%, 17-08 03:30:00 - 17-08 04:00:00 @ 25.86p 0%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.27p 0%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.14p 0%, 17-08 05:00:00 - 17-08 05:30:00 @ 27.03p 0%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.28p 0%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.68p 0%, 17-08 06:30:00 - 17-08 07:00:00 @ 26.1p 0%, 17-08 07:00:00 - 17-08 07:30:00 @ 24.28p 0%, 17-08 07:30:00 - 17-08 08:00:00 @ 24.94p 0%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.06p 0%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.39p 0%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.66p 0%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.06p 0%, 17-08 10:00:00 - 17-08 10:30:00 @ 25.5p 0%, 17-08 10:30:00 - 17-08 11:00:00 @ 24.94p 0%, 17-08 11:00:00 - 17-08 11:30:00 @ 24.25p 0%, 17-08 11:30:00 - 17-08 12:00:00 @ 23.49p 0%, 17-08 12:00:00 - 17-08 12:30:00 @ 23.43p 0%, 17-08 12:30:00 - 17-08 13:00:00 @ 22.33p 100%, 17-08 13:00:00 - 17-08 13:30:00 @ 22.76p 100%, 17-08 13:30:00 - 17-08 14:00:00 @ 22.3p 100%, 17-08 14:00:00 - 17-08 14:30:00 @ 21.41p 100%, 17-08 14:30:00 - 17-08 15:00:00 @ 21.65p 100%, 17-08 15:00:00 - 17-08 15:30:00 @ 22.95p 100%, 17-08 15:30:00 - 17-08 16:00:00 @ 22.83p 100%, 17-08 16:00:00 - 17-08 16:30:00 @ 36.84p 100%, 17-08 16:30:00 - 17-08 17:00:00 @ 37.54p 100%, 17-08 17:00:00 - 17-08 17:30:00 @ 41.79p 100%, 17-08 17:30:00 - 17-08 18:00:00 @ 43.7p 100%, 17-08 18:00:00 - 17-08 18:30:00 @ 44.34p 100%, 17-08 19:00:00 - 17-08 19:30:00 @ 34.79p 100% ] reserve 1.12
2026-08-15 19:05:20.135432: Unclipped charge windows [ 16-08 11:30:00 - 16-08 12:30:00 @ 23.46p 22%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 31%, 16-08 13:30:00 - 16-08 15:00:00 @ 21.75p 100%, 16-08 15:00:00 - 16-08 16:00:00 @ 22.89p 75%, 17-08 12:30:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 17-08 19:30:00 @ 34.79p 100% ] reserve 1.12
2026-08-15 19:05:20.135725: Unfiltered charge windows [ 16-08 11:30:00 - 16-08 12:30:00 @ 23.46p 22%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 31%, 16-08 13:30:00 - 16-08 15:00:00 @ 21.75p 100%, 16-08 15:00:00 - 16-08 16:00:00 @ 22.89p 75%, 17-08 12:30:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 17-08 19:30:00 @ 34.79p 100% ] reserve 1.12
2026-08-15 19:05:20.136243: Filtered charge windows [ 16-08 11:30:00 - 16-08 12:30:00 @ 23.46p 22%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 31%, 16-08 13:30:00 - 16-08 15:00:00 @ 21.75p 100%, 16-08 15:00:00 - 16-08 16:00:00 @ 22.89p 75%, 17-08 12:30:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 17-08 19:30:00 @ 34.79p 100% ] reserve 1.12
2026-08-15 19:05:20.176615: Previous plan best metric is 904.66 (cost 920.25) and new plan best metric is 903.18 (cost 918.55)
2026-08-15 19:05:20.176877: New plan metric is not significantly better (metric_min_improvement_plan 2.0) than previous plan, using previous plan
2026-08-15 19:05:20.177105: Plan valid is now true after recompute was False
2026-08-15 19:05:20.205312: predict base end_record 08-17 12:30:00, final soc 1.12kWh, metric 1087.54p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 14:20:00, load 36.94kWh, PV 0.0kWh
2026-08-15 19:05:20.329929: Battery has 19.25 hours left - now at 15.04kWh
2026-08-15 19:05:20.368158: predict base10 end_record 08-17 12:30:00, final soc 1.12kWh, metric 1121.22p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 13:20:00, load 38.24kWh, PV 0.0kWh
2026-08-15 19:05:20.434512: predict best10 end_record 08-17 12:30:00, final soc 1.12kWh, metric 1053.58p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 06:10:00, load 38.24kWh, PV 0.0kWh
2026-08-15 19:05:20.512654: predict best end_record 08-17 12:30:00, final soc 1.12kWh, metric 1020.22p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 07:10:00, load 36.94kWh, PV 0.0kWh
2026-08-15 19:05:20.512747: Saving plan best values to HA entities
2026-08-15 19:05:20.714813: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 19:05:20.721917: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0.0
2026-08-15 19:05:20.728872: Best charging limit SoC's [2.5, 5.0, 16.0, 12.0, 16.0]kWh, export []kWh gives import battery 12.46kWh, house 3.28kWh, export 0.0kWh, metric 1020.22p, metric10 1053.58p
2026-08-15 19:05:20.823082: Marginal costs baseline metric (no standing charge): 920.2532
2026-08-15 19:05:21.125212: Marginal energy costs matrix computed: min=23.7 max=28.97
2026-08-15 19:05:21.227605: Rate array import [{'start': 1145, 'end': 1410, 'rate': 'expensive', 'range': '(29.8p - 32.9p)'}, {'start': 1410, 'end': 2400, 'rate': 'cheap', 'range': '(21.4p - 28.2p)'}, {'start': 2400, 'end': 2430, 'rate': 'expensive', 'range': '(36.8p)'}, {'start': 2430, 'end': 2580, 'rate': 'very expensive', 'range': '(37.5p - 45.3p)'}, {'start': 2580, 'end': 2850, 'rate': 'expensive', 'range': '(30.0p - 35.9p)'}, {'start': 2850, 'end': 3630, 'rate': 'cheap', 'range': '(23.4p - 28.2p)'}] export [{'start': 1145, 'end': 3630, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 19:05:21.228524: - Your estimated bill for today is £5.66 and tomorrow is £3.25
2026-08-15 19:05:21.228596: - Import rates are expensive (29.8p - 32.9p) for the next 4 and a half hours and then cheap (21.4p - 28.2p) for the next 16 hours.
2026-08-15 19:05:21.228620: - The battery is currently at 94% and is in eco mode for the next 15 hours.
2026-08-15 19:05:21.228636: - For the next 48 hours there will be no solar generation.
2026-08-15 19:05:21.228650: - You will run out of battery in 36 hours.
2026-08-15 19:05:21.228663: - Your next charge slot will be in 15 hours where import rates will be cheap (24.3p).
2026-08-15 19:05:21.228677: 
2026-08-15 19:05:21.528592: Plan calculation took 17.32 seconds
2026-08-15 19:05:21.528919: Inverter 0: Type SK Sunsynk
2026-08-15 19:05:21.529007: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 19:05:21.529263: Reserve min: 7%, battery_min: 7%
2026-08-15 19:05:21.529338: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 19:05:21.529658: Inverter 0 SoC: 15.04kW 94%, current charge rate 5000W, current discharge rate 5250W, current battery power 236W, current battery voltage 51.2V, grid power -54W, load power 297W, PV Power 0W
2026-08-15 19:05:21.529891: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 19:05:21.530007: Inverter 0 scheduled charge enable is False
2026-08-15 19:05:21.530037: Inverter 0 charge windows currently []
2026-08-15 19:05:21.530062: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 19:05:21.530180: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 19:05:21.530214: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 19:05:21.530246: Inverter 0 scheduled discharge enable is False
2026-08-15 19:05:21.530390: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 19:05:21.530428: Inverter 0 discharge windows currently []
2026-08-15 19:05:21.530448: Note: Inverter does not support discharge freeze - disabled
2026-08-15 19:05:21.530464: Note: Inverter does not support charge freeze - disabled
2026-08-15 19:05:21.530478: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 19:05:21.584763: Inverter 0 Charge window will be: 2026-08-16 11:00:00+01:00 - 2026-08-16 16:00:00+01:00 - current SoC 94%, target 16%
2026-08-15 19:05:21.584899: Inverter 0 disabled charge window while waiting for schedule (now 08-15 19:05:00 target set_window_minutes 30 charge start time 08-16 11:00:00) original inverter start time 08-17 00:00:00
2026-08-15 19:05:21.584983: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 19:05:21.585197: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 19:05:21.585300: No export window planned
2026-08-15 19:05:21.585439: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 19:05:21.585500: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 19:05:21.585622: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 19:05:21.585865: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 19:05:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 19:05:21.585921: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 19:05:21.585977: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 19:05:21.586063: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 19:05:21.586114: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 19:05:21.586158: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 19:05:21.586182: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 19:05:21.586203: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 19:05:21.586230: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 19:05:21.586252: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 19:05:21.586305: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 19:05:21.586334: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 19:05:21.586355: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 19:05:21.586374: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 19:05:21.586415: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 19:05:21.586438: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 19:05:21.586459: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 19:05:21.586476: Inverter 0 count register writes 0
2026-08-15 19:05:21.608441: Total inverter register writes now 826
2026-08-15 19:05:21.641654: Info: Completed run status Demand
2026-08-15 19:05:21.650052: Info: record_status Demand
2026-08-15 19:05:21.655991: Saved current settings to /config/predbat_config.json
2026-08-15 19:05:21.656297: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 19:05:56.771616: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 19:05:56.771865: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 19:05:56.771902: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 19:05:56.772104: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 19:05:56.772177: Note: Inverter does not support discharge freeze - disabled
2026-08-15 19:05:56.772201: Note: Inverter does not support charge freeze - disabled
2026-08-15 19:05:56.772219: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 19:07:57.007448: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 19:07:57.007837: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 19:07:57.007885: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 19:07:57.008093: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 19:07:57.008160: Note: Inverter does not support discharge freeze - disabled
2026-08-15 19:07:57.008184: Note: Inverter does not support charge freeze - disabled
2026-08-15 19:07:57.008202: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 19:09:57.228521: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 19:09:57.228877: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 19:09:57.228930: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 19:09:57.229296: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 19:09:57.229352: Note: Inverter does not support discharge freeze - disabled
2026-08-15 19:09:57.229374: Note: Inverter does not support charge freeze - disabled
2026-08-15 19:09:57.229392: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 19:10:00.317493: --------------- PredBat - update at 2026-08-15 19:10:00+01:00 with clock skew 0 minutes, minutes now 1150
2026-08-15 19:10:00.318554: Saved current settings to /config/predbat_config.json
2026-08-15 19:10:00.318738: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 45.0 minutes
2026-08-15 19:10:00.318853: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.2, latest beta is v8.48.2
2026-08-15 19:10:00.319015: Autoupdate: There is an update pending v8.48.2 PV90 and second pass enabled by default, bug fixes - auto update is off
2026-08-15 19:10:00.338756: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 19:10:00.338894: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 19:10:00.339139: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 19:10:00.339849: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 19:10:00.340064: Predbat mode is set to Control charge & discharge
2026-08-15 19:10:00.549329: Found 21602 load_today datapoints going back 28 days
2026-08-15 19:10:00.549500: Using load_power data to fill gaps in load_today data
2026-08-15 19:10:01.337474: Processing 721 30-minute periods for power integration
2026-08-15 19:10:01.525428: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 19:10:01.525575: Car charging hold False, threshold 6.0kWh
2026-08-15 19:10:01.525623: Current data so far today: load 9.5kWh, import 27.7kWh, export 0.0kWh, PV 0kWh
2026-08-15 19:10:01.543029: Cars: SoC: [9.962]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 19:10:01.543889: Standing charge is set to 49.98p
2026-08-15 19:10:01.591926: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 19:10:01.592030: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 19:10:01.592325: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 510.0 minutes
2026-08-15 19:10:01.592749: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 510.0 minutes
2026-08-15 19:10:01.598992: Loaded 95 datapoints of futurerate analysis
2026-08-15 19:10:01.748403: Predicted future rates: ['08-15 00:00:00 => 28.69 / 20.01', '08-15 01:00:00 => 27.33 / 19.31', '08-15 02:00:00 => 26.31 / 18.8', '08-15 03:00:00 => 25.78 / 18.53', '08-15 04:00:00 => 25.59 / 18.43', '08-15 05:00:00 => 25.75 / 18.51', '08-15 06:00:00 => 25.34 / 18.3', '08-15 07:00:00 => 24.12 / 17.68', '08-15 08:00:00 => 22.82 / 17.01', '08-15 09:00:00 => 21.84 / 16.51', '08-15 10:00:00 => 20.22 / 15.68', '08-15 11:00:00 => 17.8 / 14.45', '08-15 12:00:00 => 16.16 / 13.61', '08-15 13:00:00 => 15.55 / 13.3', '08-15 14:00:00 => 15.14 / 13.09', '08-15 15:00:00 => 15.65 / 13.35', '08-15 16:00:00 => 32.68 / 16.13', '08-15 17:00:00 => 37.81 / 18.75', '08-15 18:00:00 => 42.15 / 20.96', '08-15 19:00:00 => 30.88 / 21.13', '08-15 20:00:00 => 31.43 / 21.41', '08-15 21:00:00 => 31.43 / 21.41', '08-15 22:00:00 => 30.37 / 20.87', '08-15 23:00:00 => 29.16 / 20.25', '08-16 00:00:00 => 28.62 / 19.97', '08-16 01:00:00 => 27.52 / 19.41', '08-16 02:00:00 => 26.55 / 18.92', '08-16 03:00:00 => 26.18 / 18.73', '08-16 04:00:00 => 26.12 / 18.7', '08-16 05:00:00 => 26.02 / 18.65', '08-16 06:00:00 => 25.78 / 18.53', '08-16 07:00:00 => 25.43 / 18.35', '08-16 08:00:00 => 24.63 / 17.94', '08-16 09:00:00 => 24.05 / 17.64', '08-16 10:00:00 => 24.59 / 17.92', '08-16 11:00:00 => 24.5 / 17.87', '08-16 12:00:00 => 23.58 / 17.4', '08-16 13:00:00 => 22.93 / 17.07', '08-16 14:00:00 => 21.8 / 16.49', '08-16 15:00:00 => 21.8 / 16.49', '08-16 16:00:00 => 36.93 / 18.3', '08-16 17:00:00 => 39.92 / 19.83', '08-16 18:00:00 => 43.98 / 21.9']
2026-08-15 19:10:01.788727: Rate min forward looking: now 21.41p at end of forecast 21.41p
2026-08-15 19:10:01.789200: Import rates: min 21.41p, max 45.28p, average 28.5p
2026-08-15 19:10:01.824227: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 19:10:01.824344: Rate thresholds (for charge/export) are import 44.78p (0.0p), export -0.1p (0.0p)
2026-08-15 19:10:01.825499: High export rate found rates in range 99p to -99p
2026-08-15 19:10:01.924568: Low Import rate found rates in range 21.41p to 44.34p
2026-08-15 19:10:01.924717: Car 0 charging is not planned as it is not plugged in
2026-08-15 19:10:01.943304: Battery level now 15.04kWh, -1hr ago 15.36kWh, at midnight 1.66kWh, battery value change in the last hour -5.89p, change today 246.17p, rate_forward 18.39p
2026-08-15 19:10:01.944002: Last hour: net energy 0.05kWh, import 0.05kWh, export 0.0kWh, car 0kWh, load 0.28kWh, net cost 2.09p, import 2.09p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 19:10:02.027064: Today's energy total net 27.7kWh, import 27.7kWh, export 0.0kWh, cost 570.18p, import 520.2p, export 0.0p, carbon 0.0kg
2026-08-15 19:10:02.027251: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 19:10:02.123968: Using weighted-bucket historical load forecast over 14 days
2026-08-15 19:10:02.156137: Today's load divergence 86.01%, in-day adjustment 98.2%, damping 0.95x, yesterday 143.77% today 86.71% blend 20.14%
2026-08-15 19:10:02.156243: Today's predicted so far 11.48kWh with 0.0kWh car/iBoost excluded, 20.92kWh import ignored, and 11.48kWh forecast extra.
2026-08-15 19:10:02.156275: Today's actual load so far 9.62kWh with 0.0kWh car/iBoost excluded, and 20.92kWh import ignored.
2026-08-15 19:10:02.196304: Inverter 0: Type SK Sunsynk
2026-08-15 19:10:02.196404: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 19:10:02.196604: Reserve min: 7%, battery_min: 7%
2026-08-15 19:10:02.196675: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 19:10:02.196944: Inverter 0 SoC: 15.04kW 94%, current charge rate 5000W, current discharge rate 5250W, current battery power 279W, current battery voltage 51.2V, grid power -54W, load power 341W, PV Power 0W
2026-08-15 19:10:02.197175: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 19:10:02.197271: Inverter 0 scheduled charge enable is False
2026-08-15 19:10:02.197306: Inverter 0 charge windows currently []
2026-08-15 19:10:02.197333: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 19:10:02.197442: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 19:10:02.197477: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 19:10:02.197512: Inverter 0 scheduled discharge enable is False
2026-08-15 19:10:02.197636: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 19:10:02.197672: Inverter 0 discharge windows currently []
2026-08-15 19:10:02.197694: Note: Inverter does not support discharge freeze - disabled
2026-08-15 19:10:02.197716: Note: Inverter does not support charge freeze - disabled
2026-08-15 19:10:02.197733: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 19:10:02.268455: Dynamic load last period 0.00kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 19:10:02.268570: Plan was last updated on 2026-08-15 19:05:00+01:00 and is now 5.0 minutes old
2026-08-15 19:10:02.268817: Best charge window [ 16-08 11:00:00 - 16-08 12:30:00 @ 23.65p 16%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 31%, 16-08 13:30:00 - 16-08 15:00:00 @ 21.91p 100%, 16-08 15:00:00 - 16-08 16:00:00 @ 22.89p 75%, 17-08 12:30:00 - 17-08 18:00:00 @ 40.7p 100% ]
2026-08-15 19:10:02.268860: Best export window [  ]
2026-08-15 19:10:02.269714: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 19:10:02.272998: Load divergence over 8.0 hours mean 772.55W, min 356.4W, max 2447.4W, std dev 450.62W, divergence 29.16%
2026-08-15 19:10:02.291925: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 19:10:02.292114: LoadML is_calculating False
2026-08-15 19:10:02.292253: Creating pool of 12 processes to match your CPU count
2026-08-15 19:10:02.420488: predict base end_record 08-17 12:35:00, final soc 1.12kWh, metric 1092.13p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 14:25:00, load 36.9kWh, PV 0.0kWh
2026-08-15 19:10:02.541119: Battery has 19.25 hours left - now at 15.04kWh
2026-08-15 19:10:02.589887: predict base10 end_record 08-17 12:35:00, final soc 1.12kWh, metric 1125.83p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 13:25:00, load 38.21kWh, PV 0.0kWh
2026-08-15 19:10:02.672878: predict best10 end_record 08-17 12:35:00, final soc 1.44kWh, metric 1065.63p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 06:10:00, load 38.21kWh, PV 0.0kWh
2026-08-15 19:10:02.748871: predict best end_record 08-17 12:35:00, final soc 1.51kWh, metric 1033.87p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 07:10:00, load 36.9kWh, PV 0.0kWh
2026-08-15 19:10:02.748983: Saving plan best values to HA entities
2026-08-15 19:10:02.910384: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 19:10:02.916144: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0.0
2026-08-15 19:10:02.921452: Best charging limit SoC's [2.5, 5.0, 16.0, 12.0, 16.0]kWh, export []kWh gives import battery 12.88kWh, house 3.29kWh, export 0.0kWh, metric 1033.87p, metric10 1065.63p
2026-08-15 19:10:02.990987: Marginal costs baseline metric (no standing charge): 933.9017
2026-08-15 19:10:03.235824: Marginal energy costs matrix computed: min=23.71 max=28.95
2026-08-15 19:10:03.312995: Rate array import [{'start': 1150, 'end': 1410, 'rate': 'expensive', 'range': '(29.8p - 32.9p)'}, {'start': 1410, 'end': 2400, 'rate': 'cheap', 'range': '(21.4p - 28.2p)'}, {'start': 2400, 'end': 2430, 'rate': 'expensive', 'range': '(36.8p)'}, {'start': 2430, 'end': 2580, 'rate': 'very expensive', 'range': '(37.5p - 45.3p)'}, {'start': 2580, 'end': 2850, 'rate': 'expensive', 'range': '(30.0p - 35.9p)'}, {'start': 2850, 'end': 3635, 'rate': 'cheap', 'range': '(22.3p - 28.2p)'}] export [{'start': 1150, 'end': 3635, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 19:10:03.313675: - Your estimated bill for today is £5.70 and tomorrow is £3.23
2026-08-15 19:10:03.313715: - Import rates are expensive (29.8p - 32.9p) for the next 4 and a quarter hours and then cheap (21.4p - 28.2p) for the next 16 hours.
2026-08-15 19:10:03.313734: - The battery is currently at 94% and is in eco mode for the next 15 hours.
2026-08-15 19:10:03.313748: - For the next 48 hours there will be no solar generation.
2026-08-15 19:10:03.313763: - You will run out of battery in 36 hours.
2026-08-15 19:10:03.313778: - Your next charge slot will be in 15 hours where import rates will be cheap (24.3p).
2026-08-15 19:10:03.313796: 
2026-08-15 19:10:03.374898: Plan calculation took 1.11 seconds
2026-08-15 19:10:03.377931: No high rate period found
2026-08-15 19:10:03.427677: Import threshold used for optimisation was 23.49p
2026-08-15 19:10:03.476613: Low import rate windows [0: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 1: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 2: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 3: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 4: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 5: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 6: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 7: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 8: 08-15 23:00:00 - 08-15 23:30:00 @ 30.02, 9: 08-15 23:30:00 - 08-16 00:00:00 @ 27.8, 10: 08-16 00:00:00 - 08-16 00:30:00 @ 28.18, 11: 08-16 00:30:00 - 08-16 01:00:00 @ 27.38, 12: 08-16 01:00:00 - 08-16 01:30:00 @ 26.7, 13: 08-16 01:30:00 - 08-16 02:00:00 @ 26.31, 14: 08-16 02:00:00 - 08-16 02:30:00 @ 25.79, 15: 08-16 02:30:00 - 08-16 03:00:00 @ 25.86, 16: 08-16 03:00:00 - 08-16 03:30:00 @ 26.13, 17: 08-16 03:30:00 - 08-16 04:00:00 @ 25.86, 18: 08-16 04:00:00 - 08-16 04:30:00 @ 26.27, 19: 08-16 04:30:00 - 08-16 05:00:00 @ 26.14, 20: 08-16 05:00:00 - 08-16 05:30:00 @ 27.03, 21: 08-16 05:30:00 - 08-16 06:00:00 @ 26.28, 22: 08-16 06:00:00 - 08-16 06:30:00 @ 25.68, 23: 08-16 06:30:00 - 08-16 07:00:00 @ 26.1, 24: 08-16 07:00:00 - 08-16 07:30:00 @ 24.28, 25: 08-16 07:30:00 - 08-16 08:00:00 @ 24.94, 26: 08-16 08:00:00 - 08-16 08:30:00 @ 24.06, 27: 08-16 08:30:00 - 08-16 09:00:00 @ 24.39, 28: 08-16 09:00:00 - 08-16 09:30:00 @ 24.66, 29: 08-16 09:30:00 - 08-16 10:00:00 @ 24.06, 30: 08-16 10:00:00 - 08-16 10:30:00 @ 25.5, 31: 08-16 10:30:00 - 08-16 11:00:00 @ 24.94, 32: 08-16 11:00:00 - 08-16 11:30:00 @ 24.25, 33: 08-16 11:30:00 - 08-16 12:00:00 @ 23.49, 34: 08-16 12:00:00 - 08-16 12:30:00 @ 23.43, 35: 08-16 12:30:00 - 08-16 13:00:00 @ 22.33, 36: 08-16 13:00:00 - 08-16 13:30:00 @ 22.76, 37: 08-16 13:30:00 - 08-16 14:00:00 @ 22.3, 38: 08-16 14:00:00 - 08-16 14:30:00 @ 21.41, 39: 08-16 14:30:00 - 08-16 15:00:00 @ 21.65, 40: 08-16 15:00:00 - 08-16 15:30:00 @ 22.95, 41: 08-16 15:30:00 - 08-16 16:00:00 @ 22.83, 42: 08-16 16:00:00 - 08-16 16:30:00 @ 36.84, 43: 08-16 16:30:00 - 08-16 17:00:00 @ 37.54, 44: 08-16 17:00:00 - 08-16 17:30:00 @ 41.79, 45: 08-16 17:30:00 - 08-16 18:00:00 @ 43.7, 46: 08-16 18:00:00 - 08-16 18:30:00 @ 44.34, 47: 08-16 19:00:00 - 08-16 19:30:00 @ 34.79, 48: 08-16 19:30:00 - 08-16 20:00:00 @ 34.76, 49: 08-16 20:00:00 - 08-16 20:30:00 @ 35.62, 50: 08-16 20:30:00 - 08-16 21:00:00 @ 35.3, 51: 08-16 21:00:00 - 08-16 21:30:00 @ 35.89, 52: 08-16 21:30:00 - 08-16 22:00:00 @ 35.71, 53: 08-16 22:00:00 - 08-16 22:30:00 @ 33.75, 54: 08-16 22:30:00 - 08-16 23:00:00 @ 32.0, 55: 08-16 23:00:00 - 08-16 23:30:00 @ 30.02, 56: 08-16 23:30:00 - 08-17 00:00:00 @ 27.8, 57: 08-17 00:00:00 - 08-17 00:30:00 @ 28.18, 58: 08-17 00:30:00 - 08-17 01:00:00 @ 27.38, 59: 08-17 01:00:00 - 08-17 01:30:00 @ 26.7, 60: 08-17 01:30:00 - 08-17 02:00:00 @ 26.31, 61: 08-17 02:00:00 - 08-17 02:30:00 @ 25.79, 62: 08-17 02:30:00 - 08-17 03:00:00 @ 25.86, 63: 08-17 03:00:00 - 08-17 03:30:00 @ 26.13, 64: 08-17 03:30:00 - 08-17 04:00:00 @ 25.86, 65: 08-17 04:00:00 - 08-17 04:30:00 @ 26.27, 66: 08-17 04:30:00 - 08-17 05:00:00 @ 26.14, 67: 08-17 05:00:00 - 08-17 05:30:00 @ 27.03, 68: 08-17 05:30:00 - 08-17 06:00:00 @ 26.28, 69: 08-17 06:00:00 - 08-17 06:30:00 @ 25.68, 70: 08-17 06:30:00 - 08-17 07:00:00 @ 26.1, 71: 08-17 07:00:00 - 08-17 07:30:00 @ 24.28, 72: 08-17 07:30:00 - 08-17 08:00:00 @ 24.94, 73: 08-17 08:00:00 - 08-17 08:30:00 @ 24.06, 74: 08-17 08:30:00 - 08-17 09:00:00 @ 24.39, 75: 08-17 09:00:00 - 08-17 09:30:00 @ 24.66, 76: 08-17 09:30:00 - 08-17 10:00:00 @ 24.06, 77: 08-17 10:00:00 - 08-17 10:30:00 @ 25.5, 78: 08-17 10:30:00 - 08-17 11:00:00 @ 24.94, 79: 08-17 11:00:00 - 08-17 11:30:00 @ 24.25, 80: 08-17 11:30:00 - 08-17 12:00:00 @ 23.49, 81: 08-17 12:00:00 - 08-17 12:30:00 @ 23.43, 82: 08-17 12:30:00 - 08-17 13:00:00 @ 22.33, 83: 08-17 13:00:00 - 08-17 13:30:00 @ 22.76, 84: 08-17 13:30:00 - 08-17 14:00:00 @ 22.3, 85: 08-17 14:00:00 - 08-17 14:30:00 @ 21.41, 86: 08-17 14:30:00 - 08-17 15:00:00 @ 21.65, 87: 08-17 15:00:00 - 08-17 15:30:00 @ 22.95, 88: 08-17 15:30:00 - 08-17 16:00:00 @ 22.83, 89: 08-17 16:00:00 - 08-17 16:30:00 @ 36.84, 90: 08-17 16:30:00 - 08-17 17:00:00 @ 37.54, 91: 08-17 17:00:00 - 08-17 17:30:00 @ 41.79, 92: 08-17 17:30:00 - 08-17 18:00:00 @ 43.7, 93: 08-17 18:00:00 - 08-17 18:30:00 @ 44.34, 94: 08-17 19:00:00 - 08-17 19:30:00 @ 34.79]
2026-08-15 19:10:03.484353: Inverter 0 Charge window will be: 2026-08-16 11:00:00+01:00 - 2026-08-16 16:00:00+01:00 - current SoC 94%, target 16%
2026-08-15 19:10:03.484475: Inverter 0 disabled charge window while waiting for schedule (now 08-15 19:10:00 target set_window_minutes 30 charge start time 08-16 11:00:00) original inverter start time 08-17 00:00:00
2026-08-15 19:10:03.484588: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 19:10:03.484813: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 19:10:03.484899: No export window planned
2026-08-15 19:10:03.485031: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 19:10:03.485091: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 19:10:03.485240: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 19:10:03.485401: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 19:10:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 19:10:03.485456: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 19:10:03.485508: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 19:10:03.485598: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 19:10:03.485634: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 19:10:03.485656: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 19:10:03.485678: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 19:10:03.485699: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 19:10:03.485723: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 19:10:03.485744: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 19:10:03.485793: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 19:10:03.485823: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 19:10:03.485844: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 19:10:03.485864: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 19:10:03.485888: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 19:10:03.485907: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 19:10:03.485926: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 19:10:03.485948: Inverter 0 count register writes 0
2026-08-15 19:10:03.502614: Will not recompute the plan, it is 5.0 minutes old and max age is 10 minutes
2026-08-15 19:10:03.507441: Total inverter register writes now 826
2026-08-15 19:10:03.536866: Info: Completed run status Demand
2026-08-15 19:10:03.543141: Info: record_status Demand
2026-08-15 19:10:03.550399: Saved current settings to /config/predbat_config.json
2026-08-15 19:10:03.550750: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 19:10:18.441314: ML Component: Fetching 28 days of load history from ['sensor.sunsynk_day_load_energy']
2026-08-15 19:10:19.314952: Processing 1345 30-minute periods for power integration
2026-08-15 19:10:19.400151: ML Component: Car charging hold False, car energy reported load False
2026-08-15 19:10:19.481724: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 19:10:19.563518: ML Temperature data points: 49251
2026-08-15 19:10:19.786791: ML Component: Fetched 8064 load data points, 28.0 days of history
2026-08-15 19:10:19.820764: ML Component: Data fetch completed, load data age 57.0 days, 16495 data points
2026-08-15 19:10:19.820877: ML Component: No training needed, model age is 1.87 hours
2026-08-15 19:10:19.820935: ML Component: Generating predictions load data age 57.0 days, 16495 data points
2026-08-15 19:10:19.931503: ML Predictor: Starting autoregressive prediction loop for 576 steps (48.0 hours), prev_energy value 0.0118 max_dow {0: 0.10014999996256083, 1: 0.10541562554407864, 2: 0.11911562483031304, 3: 0.12494687463529408, 4: 0.17094062535744162, 5: 0.09450833335849973, 6: 0.10970937514957041}
2026-08-15 19:10:26.611361: ML Component: Generated 576 predictions (total 27.37 kWh over 48h)
2026-08-15 19:10:26.650477: ML Component: Prediction cycle completed
2026-08-15 19:10:26.771785: ML Component: Saved 16495 steps (57 days) of history to /config/predbat_ml_history.npz
2026-08-15 19:10:41.679618: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 19:10:41.679889: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 19:10:41.679930: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 19:10:41.680065: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 19:10:41.680136: Note: Inverter does not support discharge freeze - disabled
2026-08-15 19:10:41.680372: Note: Inverter does not support charge freeze - disabled
2026-08-15 19:10:41.680408: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 19:12:41.910069: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 19:12:41.910326: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 19:12:41.910361: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 19:12:41.910491: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 19:12:41.910531: Note: Inverter does not support discharge freeze - disabled
2026-08-15 19:12:41.910553: Note: Inverter does not support charge freeze - disabled
2026-08-15 19:12:41.910571: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 19:14:42.134155: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 19:14:42.134409: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 19:14:42.134445: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 19:14:42.134574: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 19:14:42.134605: Note: Inverter does not support discharge freeze - disabled
2026-08-15 19:14:42.134625: Note: Inverter does not support charge freeze - disabled
2026-08-15 19:14:42.134642: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 19:15:00.232494: --------------- PredBat - update at 2026-08-15 19:15:00+01:00 with clock skew 0 minutes, minutes now 1155
2026-08-15 19:15:00.233357: Saved current settings to /config/predbat_config.json
2026-08-15 19:15:00.233479: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 50.0 minutes
2026-08-15 19:15:00.233575: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.2, latest beta is v8.48.2
2026-08-15 19:15:00.233682: Autoupdate: There is an update pending v8.48.2 PV90 and second pass enabled by default, bug fixes - auto update is off
2026-08-15 19:15:00.254205: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 19:15:00.254339: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 19:15:00.254518: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 19:15:00.255123: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 19:15:00.255248: Predbat mode is set to Control charge & discharge
2026-08-15 19:15:00.454616: Found 21602 load_today datapoints going back 28 days
2026-08-15 19:15:00.454785: Using load_power data to fill gaps in load_today data
2026-08-15 19:15:01.252133: Processing 721 30-minute periods for power integration
2026-08-15 19:15:01.410109: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 19:15:01.410252: Car charging hold False, threshold 6.0kWh
2026-08-15 19:15:01.410298: Current data so far today: load 9.5kWh, import 27.7kWh, export 0.0kWh, PV 0kWh
2026-08-15 19:15:01.427305: Cars: SoC: [9.962]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 19:15:01.427734: Standing charge is set to 49.98p
2026-08-15 19:15:01.469866: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 19:15:01.469965: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 19:15:01.470191: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 515.0 minutes
2026-08-15 19:15:01.470573: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 515.0 minutes
2026-08-15 19:15:01.476271: Loaded 95 datapoints of futurerate analysis
2026-08-15 19:15:01.630830: Predicted future rates: ['08-15 00:00:00 => 28.69 / 20.01', '08-15 01:00:00 => 27.33 / 19.31', '08-15 02:00:00 => 26.31 / 18.8', '08-15 03:00:00 => 25.78 / 18.53', '08-15 04:00:00 => 25.59 / 18.43', '08-15 05:00:00 => 25.75 / 18.51', '08-15 06:00:00 => 25.34 / 18.3', '08-15 07:00:00 => 24.12 / 17.68', '08-15 08:00:00 => 22.82 / 17.01', '08-15 09:00:00 => 21.84 / 16.51', '08-15 10:00:00 => 20.22 / 15.68', '08-15 11:00:00 => 17.8 / 14.45', '08-15 12:00:00 => 16.16 / 13.61', '08-15 13:00:00 => 15.55 / 13.3', '08-15 14:00:00 => 15.14 / 13.09', '08-15 15:00:00 => 15.65 / 13.35', '08-15 16:00:00 => 32.68 / 16.13', '08-15 17:00:00 => 37.81 / 18.75', '08-15 18:00:00 => 42.15 / 20.96', '08-15 19:00:00 => 30.88 / 21.13', '08-15 20:00:00 => 31.43 / 21.41', '08-15 21:00:00 => 31.43 / 21.41', '08-15 22:00:00 => 30.37 / 20.87', '08-15 23:00:00 => 29.16 / 20.25', '08-16 00:00:00 => 28.62 / 19.97', '08-16 01:00:00 => 27.52 / 19.41', '08-16 02:00:00 => 26.55 / 18.92', '08-16 03:00:00 => 26.18 / 18.73', '08-16 04:00:00 => 26.12 / 18.7', '08-16 05:00:00 => 26.02 / 18.65', '08-16 06:00:00 => 25.78 / 18.53', '08-16 07:00:00 => 25.43 / 18.35', '08-16 08:00:00 => 24.63 / 17.94', '08-16 09:00:00 => 24.05 / 17.64', '08-16 10:00:00 => 24.59 / 17.92', '08-16 11:00:00 => 24.5 / 17.87', '08-16 12:00:00 => 23.58 / 17.4', '08-16 13:00:00 => 22.93 / 17.07', '08-16 14:00:00 => 21.8 / 16.49', '08-16 15:00:00 => 21.8 / 16.49', '08-16 16:00:00 => 36.93 / 18.3', '08-16 17:00:00 => 39.92 / 19.83', '08-16 18:00:00 => 43.98 / 21.9']
2026-08-15 19:15:01.675905: Rate min forward looking: now 21.41p at end of forecast 21.41p
2026-08-15 19:15:01.676511: Import rates: min 21.41p, max 45.28p, average 28.5p
2026-08-15 19:15:01.720242: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 19:15:01.720371: Rate thresholds (for charge/export) are import 44.78p (0.0p), export -0.1p (0.0p)
2026-08-15 19:15:01.721731: High export rate found rates in range 99p to -99p
2026-08-15 19:15:01.825878: Low Import rate found rates in range 21.41p to 44.34p
2026-08-15 19:15:01.826025: Car 0 charging is not planned as it is not plugged in
2026-08-15 19:15:01.838885: Battery level now 15.04kWh, -1hr ago 15.24kWh, at midnight 1.66kWh, battery value change in the last hour -3.68p, change today 246.17p, rate_forward 18.39p
2026-08-15 19:15:01.839278: Last hour: net energy 0.05kWh, import 0.05kWh, export 0.0kWh, car 0kWh, load 0.25kWh, net cost 1.9p, import 1.9p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 19:15:01.896886: Today's energy total net 27.7kWh, import 27.7kWh, export 0.0kWh, cost 570.18p, import 520.2p, export 0.0p, carbon 0.0kg
2026-08-15 19:15:01.897107: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 19:15:01.976356: Using weighted-bucket historical load forecast over 14 days
2026-08-15 19:15:02.001387: Today's load divergence 85.6%, in-day adjustment 97.69%, damping 0.95x, yesterday 143.77% today 86.32% blend 19.79%
2026-08-15 19:15:02.001471: Today's predicted so far 11.48kWh with 0.0kWh car/iBoost excluded, 20.9kWh import ignored, and 11.48kWh forecast extra.
2026-08-15 19:15:02.001498: Today's actual load so far 9.57kWh with 0.0kWh car/iBoost excluded, and 20.9kWh import ignored.
2026-08-15 19:15:02.033394: Inverter 0: Type SK Sunsynk
2026-08-15 19:15:02.033492: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 19:15:02.033680: Reserve min: 7%, battery_min: 7%
2026-08-15 19:15:02.033754: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 19:15:02.034026: Inverter 0 SoC: 15.04kW 94%, current charge rate 5000W, current discharge rate 5250W, current battery power 267W, current battery voltage 51.2V, grid power -54W, load power 330W, PV Power 0W
2026-08-15 19:15:02.034199: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 19:15:02.034314: Inverter 0 scheduled charge enable is False
2026-08-15 19:15:02.034344: Inverter 0 charge windows currently []
2026-08-15 19:15:02.034370: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 19:15:02.034480: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 19:15:02.034515: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 19:15:02.034550: Inverter 0 scheduled discharge enable is False
2026-08-15 19:15:02.034676: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 19:15:02.034713: Inverter 0 discharge windows currently []
2026-08-15 19:15:02.034736: Note: Inverter does not support discharge freeze - disabled
2026-08-15 19:15:02.034756: Note: Inverter does not support charge freeze - disabled
2026-08-15 19:15:02.034773: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 19:15:02.095223: Dynamic load last period 0.00kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 19:15:02.095334: Plan was last updated on 2026-08-15 19:05:00+01:00 and is now 10.0 minutes old
2026-08-15 19:15:02.095589: Best charge window [ 16-08 11:00:00 - 16-08 12:30:00 @ 23.65p 16%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 31%, 16-08 13:30:00 - 16-08 15:00:00 @ 21.91p 100%, 16-08 15:00:00 - 16-08 16:00:00 @ 22.89p 75%, 17-08 12:30:00 - 17-08 18:00:00 @ 40.7p 100% ]
2026-08-15 19:15:02.095632: Best export window [  ]
2026-08-15 19:15:02.096472: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 19:15:02.099560: Load divergence over 8.0 hours mean 784.27W, min 334.2W, max 2127.6W, std dev 437.85W, divergence 27.91%
2026-08-15 19:15:02.117809: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 19:15:02.117916: LoadML is_calculating False
2026-08-15 19:15:02.117973: Creating pool of 12 processes to match your CPU count
2026-08-15 19:15:02.246167: predict base end_record 08-17 12:40:00, final soc 1.12kWh, metric 1092.72p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 14:30:00, load 36.92kWh, PV 0.0kWh
2026-08-15 19:15:02.396661: Battery has 19.25 hours left - now at 15.04kWh
2026-08-15 19:15:02.441431: predict base10 end_record 08-17 12:40:00, final soc 1.12kWh, metric 1126.37p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 13:30:00, load 38.23kWh, PV 0.0kWh
2026-08-15 19:15:02.523511: predict best10 end_record 08-17 12:40:00, final soc 1.77kWh, metric 1073.93p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 06:05:00, load 38.23kWh, PV 0.0kWh
2026-08-15 19:15:02.607890: predict best end_record 08-17 12:40:00, final soc 1.9kWh, metric 1043.62p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 07:10:00, load 36.92kWh, PV 0.0kWh
2026-08-15 19:15:02.607984: Saving plan best values to HA entities
2026-08-15 19:15:02.808701: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 19:15:02.814485: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0.0
2026-08-15 19:15:02.820354: Best charging limit SoC's [2.5, 5.0, 16.0, 12.0, 16.0]kWh, export []kWh gives import battery 13.31kWh, house 3.3kWh, export 0.0kWh, metric 1043.62p, metric10 1073.93p
2026-08-15 19:15:02.914374: Marginal costs baseline metric (no standing charge): 943.6572
2026-08-15 19:15:03.191540: Marginal energy costs matrix computed: min=23.54 max=28.91
2026-08-15 19:15:03.279059: Rate array import [{'start': 1155, 'end': 1410, 'rate': 'expensive', 'range': '(29.8p - 32.9p)'}, {'start': 1410, 'end': 2400, 'rate': 'cheap', 'range': '(21.4p - 28.2p)'}, {'start': 2400, 'end': 2430, 'rate': 'expensive', 'range': '(36.8p)'}, {'start': 2430, 'end': 2580, 'rate': 'very expensive', 'range': '(37.5p - 45.3p)'}, {'start': 2580, 'end': 2850, 'rate': 'expensive', 'range': '(30.0p - 35.9p)'}, {'start': 2850, 'end': 3640, 'rate': 'cheap', 'range': '(22.3p - 28.2p)'}] export [{'start': 1155, 'end': 3640, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 19:15:03.279946: - Your estimated bill for today is £5.70 and tomorrow is £3.22
2026-08-15 19:15:03.279999: - Import rates are expensive (29.8p - 32.9p) for the next 4 and a quarter hours and then cheap (21.4p - 28.2p) for the next 16 hours.
2026-08-15 19:15:03.280023: - The battery is currently at 94% and is in eco mode for the next 15 hours.
2026-08-15 19:15:03.280060: - For the next 48 hours there will be no solar generation.
2026-08-15 19:15:03.280200: - You will run out of battery in 35 hours.
2026-08-15 19:15:03.280257: - Your next charge slot will be in 15 hours where import rates will be cheap (24.3p).
2026-08-15 19:15:03.280291: 
2026-08-15 19:15:03.357447: Plan calculation took 1.26 seconds
2026-08-15 19:15:03.361469: No high rate period found
2026-08-15 19:15:03.417055: Import threshold used for optimisation was 23.49p
2026-08-15 19:15:03.477340: Low import rate windows [0: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 1: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 2: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 3: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 4: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 5: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 6: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 7: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 8: 08-15 23:00:00 - 08-15 23:30:00 @ 30.02, 9: 08-15 23:30:00 - 08-16 00:00:00 @ 27.8, 10: 08-16 00:00:00 - 08-16 00:30:00 @ 28.18, 11: 08-16 00:30:00 - 08-16 01:00:00 @ 27.38, 12: 08-16 01:00:00 - 08-16 01:30:00 @ 26.7, 13: 08-16 01:30:00 - 08-16 02:00:00 @ 26.31, 14: 08-16 02:00:00 - 08-16 02:30:00 @ 25.79, 15: 08-16 02:30:00 - 08-16 03:00:00 @ 25.86, 16: 08-16 03:00:00 - 08-16 03:30:00 @ 26.13, 17: 08-16 03:30:00 - 08-16 04:00:00 @ 25.86, 18: 08-16 04:00:00 - 08-16 04:30:00 @ 26.27, 19: 08-16 04:30:00 - 08-16 05:00:00 @ 26.14, 20: 08-16 05:00:00 - 08-16 05:30:00 @ 27.03, 21: 08-16 05:30:00 - 08-16 06:00:00 @ 26.28, 22: 08-16 06:00:00 - 08-16 06:30:00 @ 25.68, 23: 08-16 06:30:00 - 08-16 07:00:00 @ 26.1, 24: 08-16 07:00:00 - 08-16 07:30:00 @ 24.28, 25: 08-16 07:30:00 - 08-16 08:00:00 @ 24.94, 26: 08-16 08:00:00 - 08-16 08:30:00 @ 24.06, 27: 08-16 08:30:00 - 08-16 09:00:00 @ 24.39, 28: 08-16 09:00:00 - 08-16 09:30:00 @ 24.66, 29: 08-16 09:30:00 - 08-16 10:00:00 @ 24.06, 30: 08-16 10:00:00 - 08-16 10:30:00 @ 25.5, 31: 08-16 10:30:00 - 08-16 11:00:00 @ 24.94, 32: 08-16 11:00:00 - 08-16 11:30:00 @ 24.25, 33: 08-16 11:30:00 - 08-16 12:00:00 @ 23.49, 34: 08-16 12:00:00 - 08-16 12:30:00 @ 23.43, 35: 08-16 12:30:00 - 08-16 13:00:00 @ 22.33, 36: 08-16 13:00:00 - 08-16 13:30:00 @ 22.76, 37: 08-16 13:30:00 - 08-16 14:00:00 @ 22.3, 38: 08-16 14:00:00 - 08-16 14:30:00 @ 21.41, 39: 08-16 14:30:00 - 08-16 15:00:00 @ 21.65, 40: 08-16 15:00:00 - 08-16 15:30:00 @ 22.95, 41: 08-16 15:30:00 - 08-16 16:00:00 @ 22.83, 42: 08-16 16:00:00 - 08-16 16:30:00 @ 36.84, 43: 08-16 16:30:00 - 08-16 17:00:00 @ 37.54, 44: 08-16 17:00:00 - 08-16 17:30:00 @ 41.79, 45: 08-16 17:30:00 - 08-16 18:00:00 @ 43.7, 46: 08-16 18:00:00 - 08-16 18:30:00 @ 44.34, 47: 08-16 19:00:00 - 08-16 19:30:00 @ 34.79, 48: 08-16 19:30:00 - 08-16 20:00:00 @ 34.76, 49: 08-16 20:00:00 - 08-16 20:30:00 @ 35.62, 50: 08-16 20:30:00 - 08-16 21:00:00 @ 35.3, 51: 08-16 21:00:00 - 08-16 21:30:00 @ 35.89, 52: 08-16 21:30:00 - 08-16 22:00:00 @ 35.71, 53: 08-16 22:00:00 - 08-16 22:30:00 @ 33.75, 54: 08-16 22:30:00 - 08-16 23:00:00 @ 32.0, 55: 08-16 23:00:00 - 08-16 23:30:00 @ 30.02, 56: 08-16 23:30:00 - 08-17 00:00:00 @ 27.8, 57: 08-17 00:00:00 - 08-17 00:30:00 @ 28.18, 58: 08-17 00:30:00 - 08-17 01:00:00 @ 27.38, 59: 08-17 01:00:00 - 08-17 01:30:00 @ 26.7, 60: 08-17 01:30:00 - 08-17 02:00:00 @ 26.31, 61: 08-17 02:00:00 - 08-17 02:30:00 @ 25.79, 62: 08-17 02:30:00 - 08-17 03:00:00 @ 25.86, 63: 08-17 03:00:00 - 08-17 03:30:00 @ 26.13, 64: 08-17 03:30:00 - 08-17 04:00:00 @ 25.86, 65: 08-17 04:00:00 - 08-17 04:30:00 @ 26.27, 66: 08-17 04:30:00 - 08-17 05:00:00 @ 26.14, 67: 08-17 05:00:00 - 08-17 05:30:00 @ 27.03, 68: 08-17 05:30:00 - 08-17 06:00:00 @ 26.28, 69: 08-17 06:00:00 - 08-17 06:30:00 @ 25.68, 70: 08-17 06:30:00 - 08-17 07:00:00 @ 26.1, 71: 08-17 07:00:00 - 08-17 07:30:00 @ 24.28, 72: 08-17 07:30:00 - 08-17 08:00:00 @ 24.94, 73: 08-17 08:00:00 - 08-17 08:30:00 @ 24.06, 74: 08-17 08:30:00 - 08-17 09:00:00 @ 24.39, 75: 08-17 09:00:00 - 08-17 09:30:00 @ 24.66, 76: 08-17 09:30:00 - 08-17 10:00:00 @ 24.06, 77: 08-17 10:00:00 - 08-17 10:30:00 @ 25.5, 78: 08-17 10:30:00 - 08-17 11:00:00 @ 24.94, 79: 08-17 11:00:00 - 08-17 11:30:00 @ 24.25, 80: 08-17 11:30:00 - 08-17 12:00:00 @ 23.49, 81: 08-17 12:00:00 - 08-17 12:30:00 @ 23.43, 82: 08-17 12:30:00 - 08-17 13:00:00 @ 22.33, 83: 08-17 13:00:00 - 08-17 13:30:00 @ 22.76, 84: 08-17 13:30:00 - 08-17 14:00:00 @ 22.3, 85: 08-17 14:00:00 - 08-17 14:30:00 @ 21.41, 86: 08-17 14:30:00 - 08-17 15:00:00 @ 21.65, 87: 08-17 15:00:00 - 08-17 15:30:00 @ 22.95, 88: 08-17 15:30:00 - 08-17 16:00:00 @ 22.83, 89: 08-17 16:00:00 - 08-17 16:30:00 @ 36.84, 90: 08-17 16:30:00 - 08-17 17:00:00 @ 37.54, 91: 08-17 17:00:00 - 08-17 17:30:00 @ 41.79, 92: 08-17 17:30:00 - 08-17 18:00:00 @ 43.7, 93: 08-17 18:00:00 - 08-17 18:30:00 @ 44.34, 94: 08-17 19:00:00 - 08-17 19:30:00 @ 34.79]
2026-08-15 19:15:03.484276: Inverter 0 Charge window will be: 2026-08-16 11:00:00+01:00 - 2026-08-16 16:00:00+01:00 - current SoC 94%, target 16%
2026-08-15 19:15:03.484411: Inverter 0 disabled charge window while waiting for schedule (now 08-15 19:15:00 target set_window_minutes 30 charge start time 08-16 11:00:00) original inverter start time 08-17 00:00:00
2026-08-15 19:15:03.484539: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 19:15:03.484853: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 19:15:03.484981: No export window planned
2026-08-15 19:15:03.485150: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 19:15:03.485190: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 19:15:03.485330: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 19:15:03.485511: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 19:15:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 19:15:03.485575: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 19:15:03.485640: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 19:15:03.485779: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 19:15:03.485823: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 19:15:03.485852: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 19:15:03.485877: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 19:15:03.485904: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 19:15:03.485929: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 19:15:03.485958: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 19:15:03.486021: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 19:15:03.486057: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 19:15:03.486100: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 19:15:03.486126: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 19:15:03.486149: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 19:15:03.486179: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 19:15:03.486204: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 19:15:03.486225: Inverter 0 count register writes 0
2026-08-15 19:15:03.504020: Will recompute the plan as it is now 10.0 minutes old and will exceed the max age of 10 minutes before the next run
2026-08-15 19:15:03.504291: Recompute is saving previous plan...
2026-08-15 19:15:03.507546: Best charge window [ 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 0%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 0%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 0%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 0%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 30.02p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 27.8p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.18p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.38p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 26.7p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.31p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.79p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 25.86p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.13p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 25.86p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.27p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.14p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 27.03p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.28p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.68p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 26.1p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 24.28p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 24.94p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.06p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.39p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.66p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.06p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 25.5p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 24.94p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 24.25p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 23.49p 0%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.43p 0%, 16-08 12:30:00 - 16-08 13:00:00 @ 22.33p 0%, 16-08 13:00:00 - 16-08 13:30:00 @ 22.76p 0%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 0%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 0%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.65p 0%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.95p 0%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.83p 0%, 16-08 16:00:00 - 16-08 16:30:00 @ 36.84p 0%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.54p 0%, 16-08 17:00:00 - 16-08 17:30:00 @ 41.79p 0%, 16-08 17:30:00 - 16-08 18:00:00 @ 43.7p 0%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.34p 0%, 16-08 19:00:00 - 16-08 19:30:00 @ 34.79p 0%, 16-08 19:30:00 - 16-08 20:00:00 @ 34.76p 0%, 16-08 20:00:00 - 16-08 20:30:00 @ 35.62p 0%, 16-08 20:30:00 - 16-08 21:00:00 @ 35.3p 0%, 16-08 21:00:00 - 16-08 21:30:00 @ 35.89p 0%, 16-08 21:30:00 - 16-08 22:00:00 @ 35.71p 0%, 16-08 22:00:00 - 16-08 22:30:00 @ 33.75p 0%, 16-08 22:30:00 - 16-08 23:00:00 @ 32.0p 0%, 16-08 23:00:00 - 16-08 23:30:00 @ 30.02p 0%, 16-08 23:30:00 - 17-08 00:00:00 @ 27.8p 0%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.18p 0%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.38p 0%, 17-08 01:00:00 - 17-08 01:30:00 @ 26.7p 0%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.31p 0%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.79p 0%, 17-08 02:30:00 - 17-08 03:00:00 @ 25.86p 0%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.13p 0%, 17-08 03:30:00 - 17-08 04:00:00 @ 25.86p 0%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.27p 0%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.14p 0%, 17-08 05:00:00 - 17-08 05:30:00 @ 27.03p 0%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.28p 0%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.68p 0%, 17-08 06:30:00 - 17-08 07:00:00 @ 26.1p 0%, 17-08 07:00:00 - 17-08 07:30:00 @ 24.28p 0%, 17-08 07:30:00 - 17-08 08:00:00 @ 24.94p 0%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.06p 0%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.39p 0%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.66p 0%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.06p 0%, 17-08 10:00:00 - 17-08 10:30:00 @ 25.5p 0%, 17-08 10:30:00 - 17-08 11:00:00 @ 24.94p 0%, 17-08 11:00:00 - 17-08 11:30:00 @ 24.25p 0%, 17-08 11:30:00 - 17-08 12:00:00 @ 23.49p 0%, 17-08 12:00:00 - 17-08 12:30:00 @ 23.43p 0%, 17-08 12:30:00 - 17-08 13:00:00 @ 22.33p 0%, 17-08 13:00:00 - 17-08 13:30:00 @ 22.76p 0%, 17-08 13:30:00 - 17-08 14:00:00 @ 22.3p 0%, 17-08 14:00:00 - 17-08 14:30:00 @ 21.41p 0%, 17-08 14:30:00 - 17-08 15:00:00 @ 21.65p 0%, 17-08 15:00:00 - 17-08 15:30:00 @ 22.95p 0%, 17-08 15:30:00 - 17-08 16:00:00 @ 22.83p 0%, 17-08 16:00:00 - 17-08 16:30:00 @ 36.84p 0%, 17-08 16:30:00 - 17-08 17:00:00 @ 37.54p 0%, 17-08 17:00:00 - 17-08 17:30:00 @ 41.79p 0%, 17-08 17:30:00 - 17-08 18:00:00 @ 43.7p 0%, 17-08 18:00:00 - 17-08 18:30:00 @ 44.34p 0%, 17-08 19:00:00 - 17-08 19:30:00 @ 34.79p 0% ]
2026-08-15 19:15:03.507630: Best export window [  ]
2026-08-15 19:15:03.508526: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 19:15:03.512007: Load divergence over 8.0 hours mean 784.27W, min 334.2W, max 2127.6W, std dev 437.85W, divergence 27.91%
2026-08-15 19:15:03.530285: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 19:15:03.530412: LoadML is_calculating False
2026-08-15 19:15:03.530489: Creating pool of 12 processes to match your CPU count
2026-08-15 19:15:03.621875: Calculate Best options: mode(Control charge & discharge), calculate_export_oncharge(False), calculate_export_on_pv(True), set_export_freeze_only(False), set_discharge_during_charge(True), combine_charge_slots(False), combine_export_slots(False), combine_rate_threshold(0.0), best_soc_min(0.0 kWh), best_soc_max(0.0 kWh), best_soc_keep(0.0 kWh), inverter_loss(4%), battery_loss(3%), battery_loss_discharge (3%), inverter_hybrid(True), metric_min_improvement(0.0p), metric_min_improvement_export(0.1p), metric_min_improvement_export_freeze(0.1p), metric_battery_cycle(0.0p/kWh), metric_battery_value_scaling(1.0 x) 
2026-08-15 19:15:03.624144: Optimise levels pass started at 2026-08-15 19:15:03
2026-08-15 19:15:03.624268: Optimise all windows, total charge 94 export 1
2026-08-15 19:15:04.789359: >> Region optimisation pass width 960 gives best_metric 1009.78p, best_cost 1024.3p, best_cycle 37.4kWh, best_import 20.21kWh
2026-08-15 19:15:05.165881: >> Region optimisation pass width 480 gives best_metric 1009.78p, best_cost 1024.3p, best_cycle 37.4kWh, best_import 20.21kWh
2026-08-15 19:15:05.601171: >> Region optimisation pass width 240 gives best_metric 1009.78p, best_cost 1024.3p, best_cycle 37.4kWh, best_import 20.21kWh
2026-08-15 19:15:06.671332: >> Region optimisation pass width 120 gives best_metric 1009.78p, best_cost 1024.3p, best_cycle 37.4kWh, best_import 20.21kWh
2026-08-15 19:15:06.671595: Calculated end_record as 08-17 12:30:00 based on best_price 22.33p, next_charge_start 08-16 12:30:00, max_windows 82
2026-08-15 19:15:06.671676: Optimise levels pass ended at 2026-08-15 19:15:06, duration 3.0 seconds tried 302 combinations
2026-08-15 19:15:06.671736: Set best_price_charge_level 24.0p, best_price_export_level 0p, best_price_charge 22.33p, best_cost_export 0p, best_metric 1009.78p, best_keep 0kWh, best_cycle 37.4kWh, best_carbon 0kg, best_import 20.21kWh
2026-08-15 19:15:06.691794: Starting detailed optimisation end_record 08-17 12:30:00, best_price_charge 22.33p, best_price_export 0p. lowest_price_charge 21.41p with charge limits [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 0, 16.0, 16.0, 16.0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0]kWh and export limits []kWh
2026-08-15 19:15:12.307427: Tweak plan optimisation started metric 904.51p, cost 919.93p
2026-08-15 19:15:12.592769: Tweak optimisation finished metric 904.51p, cost 919.93p, metric_keep 0kWh, cycle 30.14kWh, carbon 0kg, import 15.51kWh, changed 8 window(s)
2026-08-15 19:15:12.614895: Swap charge optimisation started metric 904.51p, cost 919.93p, min_improvement_swap 0.1p
2026-08-15 19:15:20.661200: Swap charge optimisation finished metric 904.51p, cost 919.93p
2026-08-15 19:15:20.787553: Pruned 2 dead plan slot(s) in 11 trial(s), nominal metric 899.33p -> 899.33p, plan now metric 904.52p, cost 919.93p, cycle 30.14kWh, import 15.51kWh
2026-08-15 19:15:20.799328: Raw charge windows [ 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 0%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 0%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 0%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 0%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 30.02p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 27.8p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.18p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.38p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 26.7p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.31p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.79p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 25.86p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.13p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 25.86p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.27p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.14p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 27.03p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.28p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.68p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 26.1p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 24.28p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 24.94p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.06p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.39p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.66p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.06p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 25.5p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 24.94p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 24.25p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 23.49p 22%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.43p 22%, 16-08 12:30:00 - 16-08 13:00:00 @ 22.33p 31%, 16-08 13:00:00 - 16-08 13:30:00 @ 22.76p 31%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 100%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 100%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.65p 100%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.95p 75%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.83p 75%, 16-08 16:00:00 - 16-08 16:30:00 @ 36.84p 0%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.54p 0%, 16-08 17:00:00 - 16-08 17:30:00 @ 41.79p 0%, 16-08 17:30:00 - 16-08 18:00:00 @ 43.7p 0%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.34p 0%, 16-08 19:00:00 - 16-08 19:30:00 @ 34.79p 0%, 16-08 19:30:00 - 16-08 20:00:00 @ 34.76p 0%, 16-08 20:00:00 - 16-08 20:30:00 @ 35.62p 0%, 16-08 20:30:00 - 16-08 21:00:00 @ 35.3p 0%, 16-08 21:00:00 - 16-08 21:30:00 @ 35.89p 0%, 16-08 21:30:00 - 16-08 22:00:00 @ 35.71p 0%, 16-08 22:00:00 - 16-08 22:30:00 @ 33.75p 0%, 16-08 22:30:00 - 16-08 23:00:00 @ 32.0p 0%, 16-08 23:00:00 - 16-08 23:30:00 @ 30.02p 0%, 16-08 23:30:00 - 17-08 00:00:00 @ 27.8p 0%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.18p 0%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.38p 0%, 17-08 01:00:00 - 17-08 01:30:00 @ 26.7p 0%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.31p 0%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.79p 0%, 17-08 02:30:00 - 17-08 03:00:00 @ 25.86p 0%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.13p 0%, 17-08 03:30:00 - 17-08 04:00:00 @ 25.86p 0%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.27p 0%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.14p 0%, 17-08 05:00:00 - 17-08 05:30:00 @ 27.03p 0%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.28p 0%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.68p 0%, 17-08 06:30:00 - 17-08 07:00:00 @ 26.1p 0%, 17-08 07:00:00 - 17-08 07:30:00 @ 24.28p 0%, 17-08 07:30:00 - 17-08 08:00:00 @ 24.94p 0%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.06p 0%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.39p 0%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.66p 0%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.06p 0%, 17-08 10:00:00 - 17-08 10:30:00 @ 25.5p 0%, 17-08 10:30:00 - 17-08 11:00:00 @ 24.94p 0%, 17-08 11:00:00 - 17-08 11:30:00 @ 24.25p 0%, 17-08 11:30:00 - 17-08 12:00:00 @ 23.49p 0%, 17-08 12:00:00 - 17-08 12:30:00 @ 23.43p 0%, 17-08 12:30:00 - 17-08 13:00:00 @ 22.33p 100%, 17-08 13:00:00 - 17-08 13:30:00 @ 22.76p 100%, 17-08 13:30:00 - 17-08 14:00:00 @ 22.3p 100%, 17-08 14:00:00 - 17-08 14:30:00 @ 21.41p 100%, 17-08 14:30:00 - 17-08 15:00:00 @ 21.65p 100%, 17-08 15:00:00 - 17-08 15:30:00 @ 22.95p 100%, 17-08 15:30:00 - 17-08 16:00:00 @ 22.83p 100%, 17-08 16:00:00 - 17-08 16:30:00 @ 36.84p 100%, 17-08 16:30:00 - 17-08 17:00:00 @ 37.54p 100%, 17-08 17:00:00 - 17-08 17:30:00 @ 41.79p 100%, 17-08 17:30:00 - 17-08 18:00:00 @ 43.7p 100%, 17-08 18:00:00 - 17-08 18:30:00 @ 44.34p 100%, 17-08 19:00:00 - 17-08 19:30:00 @ 34.79p 100% ] reserve 1.12
2026-08-15 19:15:20.799916: Unclipped charge windows [ 16-08 11:30:00 - 16-08 12:30:00 @ 23.46p 22%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 31%, 16-08 13:30:00 - 16-08 15:00:00 @ 21.75p 100%, 16-08 15:00:00 - 16-08 16:00:00 @ 22.89p 75%, 17-08 12:30:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 17-08 19:30:00 @ 34.79p 100% ] reserve 1.12
2026-08-15 19:15:20.800253: Unfiltered charge windows [ 16-08 11:30:00 - 16-08 12:30:00 @ 23.46p 22%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 31%, 16-08 13:30:00 - 16-08 15:00:00 @ 21.75p 100%, 16-08 15:00:00 - 16-08 16:00:00 @ 22.89p 75%, 17-08 12:30:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 17-08 19:30:00 @ 34.79p 100% ] reserve 1.12
2026-08-15 19:15:20.800517: Filtered charge windows [ 16-08 11:30:00 - 16-08 12:30:00 @ 23.46p 22%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 31%, 16-08 13:30:00 - 16-08 15:00:00 @ 21.75p 100%, 16-08 15:00:00 - 16-08 16:00:00 @ 22.89p 75%, 17-08 12:30:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 17-08 19:30:00 @ 34.79p 100% ] reserve 1.12
2026-08-15 19:15:20.837361: Previous plan best metric is 906.29 (cost 921.9) and new plan best metric is 904.51 (cost 919.93)
2026-08-15 19:15:20.837546: New plan metric is not significantly better (metric_min_improvement_plan 2.0) than previous plan, using previous plan
2026-08-15 19:15:20.837772: Plan valid is now true after recompute was False
2026-08-15 19:15:20.867044: predict base end_record 08-17 12:30:00, final soc 1.12kWh, metric 1089.58p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 14:30:00, load 36.78kWh, PV 0.0kWh
2026-08-15 19:15:20.977944: Battery has 19.25 hours left - now at 15.04kWh
2026-08-15 19:15:21.024273: predict base10 end_record 08-17 12:30:00, final soc 1.12kWh, metric 1123.08p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 13:30:00, load 38.08kWh, PV 0.0kWh
2026-08-15 19:15:21.102366: predict best10 end_record 08-17 12:30:00, final soc 1.12kWh, metric 1055.12p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 06:05:00, load 38.08kWh, PV 0.0kWh
2026-08-15 19:15:21.188674: predict best end_record 08-17 12:30:00, final soc 1.12kWh, metric 1021.87p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 07:10:00, load 36.78kWh, PV 0.0kWh
2026-08-15 19:15:21.188775: Saving plan best values to HA entities
2026-08-15 19:15:21.361309: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 19:15:21.366714: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0.0
2026-08-15 19:15:21.371994: Best charging limit SoC's [2.5, 5.0, 16.0, 12.0, 16.0]kWh, export []kWh gives import battery 12.34kWh, house 3.3kWh, export 0.0kWh, metric 1021.87p, metric10 1055.12p
2026-08-15 19:15:21.449672: Marginal costs baseline metric (no standing charge): 921.9036
2026-08-15 19:15:21.724594: Marginal energy costs matrix computed: min=23.54 max=28.91
2026-08-15 19:15:21.800897: Rate array import [{'start': 1155, 'end': 1410, 'rate': 'expensive', 'range': '(29.8p - 32.9p)'}, {'start': 1410, 'end': 2400, 'rate': 'cheap', 'range': '(21.4p - 28.2p)'}, {'start': 2400, 'end': 2430, 'rate': 'expensive', 'range': '(36.8p)'}, {'start': 2430, 'end': 2580, 'rate': 'very expensive', 'range': '(37.5p - 45.3p)'}, {'start': 2580, 'end': 2850, 'rate': 'expensive', 'range': '(30.0p - 35.9p)'}, {'start': 2850, 'end': 3630, 'rate': 'cheap', 'range': '(23.4p - 28.2p)'}] export [{'start': 1155, 'end': 3630, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 19:15:21.801750: - Your estimated bill for today is £5.70 and tomorrow is £3.22
2026-08-15 19:15:21.801801: - Import rates are expensive (29.8p - 32.9p) for the next 4 and a quarter hours and then cheap (21.4p - 28.2p) for the next 16 hours.
2026-08-15 19:15:21.801824: - The battery is currently at 94% and is in eco mode for the next 15 hours.
2026-08-15 19:15:21.801842: - For the next 48 hours there will be no solar generation.
2026-08-15 19:15:21.801864: - You will run out of battery in 35 hours.
2026-08-15 19:15:21.801881: - Your next charge slot will be in 15 hours where import rates will be cheap (24.3p).
2026-08-15 19:15:21.801903: 
2026-08-15 19:15:21.873658: Plan calculation took 18.37 seconds
2026-08-15 19:15:21.874076: Inverter 0: Type SK Sunsynk
2026-08-15 19:15:21.874125: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 19:15:21.874374: Reserve min: 7%, battery_min: 7%
2026-08-15 19:15:21.874457: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 19:15:21.874849: Inverter 0 SoC: 15.04kW 94%, current charge rate 5000W, current discharge rate 5250W, current battery power 252W, current battery voltage 51.2V, grid power -54W, load power 316W, PV Power 0W
2026-08-15 19:15:21.875126: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 19:15:21.875238: Inverter 0 scheduled charge enable is False
2026-08-15 19:15:21.875280: Inverter 0 charge windows currently []
2026-08-15 19:15:21.875310: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 19:15:21.875419: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 19:15:21.875455: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 19:15:21.875490: Inverter 0 scheduled discharge enable is False
2026-08-15 19:15:21.875648: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 19:15:21.875687: Inverter 0 discharge windows currently []
2026-08-15 19:15:21.875710: Note: Inverter does not support discharge freeze - disabled
2026-08-15 19:15:21.875732: Note: Inverter does not support charge freeze - disabled
2026-08-15 19:15:21.875750: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 19:15:21.938561: Inverter 0 Charge window will be: 2026-08-16 11:00:00+01:00 - 2026-08-16 16:00:00+01:00 - current SoC 94%, target 16%
2026-08-15 19:15:21.938712: Inverter 0 disabled charge window while waiting for schedule (now 08-15 19:15:00 target set_window_minutes 30 charge start time 08-16 11:00:00) original inverter start time 08-17 00:00:00
2026-08-15 19:15:21.938783: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 19:15:21.938968: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 19:15:21.939050: No export window planned
2026-08-15 19:15:21.939177: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 19:15:21.939214: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 19:15:21.939350: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 19:15:21.939511: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 19:15:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 19:15:21.939564: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 19:15:21.939621: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 19:15:21.939706: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 19:15:21.939747: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 19:15:21.939774: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 19:15:21.939798: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 19:15:21.939823: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 19:15:21.939851: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 19:15:21.939876: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 19:15:21.939936: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 19:15:21.939964: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 19:15:21.939989: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 19:15:21.940012: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 19:15:21.940036: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 19:15:21.940059: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 19:15:21.940110: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 19:15:21.940132: Inverter 0 count register writes 0
2026-08-15 19:15:21.962602: Total inverter register writes now 826
2026-08-15 19:15:21.999054: Info: Completed run status Demand
2026-08-15 19:15:22.005505: Info: record_status Demand
2026-08-15 19:15:22.012543: Saved current settings to /config/predbat_config.json
2026-08-15 19:15:22.012838: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 19:15:57.128246: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 19:15:57.128496: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 19:15:57.128541: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 19:15:57.128685: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 19:15:57.128725: Note: Inverter does not support discharge freeze - disabled
2026-08-15 19:15:57.128746: Note: Inverter does not support charge freeze - disabled
2026-08-15 19:15:57.128765: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 19:17:57.360711: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 19:17:57.361045: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 19:17:57.361125: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 19:17:57.361332: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 19:17:57.361379: Note: Inverter does not support discharge freeze - disabled
2026-08-15 19:17:57.361405: Note: Inverter does not support charge freeze - disabled
2026-08-15 19:17:57.361447: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 19:20:00.596737: --------------- PredBat - update at 2026-08-15 19:20:00+01:00 with clock skew 0 minutes, minutes now 1160
2026-08-15 19:20:00.597911: Saved current settings to /config/predbat_config.json
2026-08-15 19:20:00.598060: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 55.0 minutes
2026-08-15 19:20:00.598127: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.2, latest beta is v8.48.2
2026-08-15 19:20:00.598193: Autoupdate: There is an update pending v8.48.2 PV90 and second pass enabled by default, bug fixes - auto update is off
2026-08-15 19:20:00.620210: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 19:20:00.620329: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 19:20:00.620470: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 19:20:00.620911: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 19:20:00.621060: Predbat mode is set to Control charge & discharge
2026-08-15 19:20:00.801361: Found 21602 load_today datapoints going back 28 days
2026-08-15 19:20:00.801510: Using load_power data to fill gaps in load_today data
2026-08-15 19:20:01.514123: Processing 721 30-minute periods for power integration
2026-08-15 19:20:01.667167: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 19:20:01.667293: Car charging hold False, threshold 6.0kWh
2026-08-15 19:20:01.667333: Current data so far today: load 9.62kWh, import 27.7kWh, export 0.0kWh, PV 0kWh
2026-08-15 19:20:01.681804: Cars: SoC: [9.962]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 19:20:01.682258: Standing charge is set to 49.98p
2026-08-15 19:20:01.721892: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 19:20:01.721990: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 19:20:01.722237: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 520.0 minutes
2026-08-15 19:20:01.722594: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 520.0 minutes
2026-08-15 19:20:01.727465: Loaded 95 datapoints of futurerate analysis
2026-08-15 19:20:01.852235: Predicted future rates: ['08-15 00:00:00 => 28.69 / 20.01', '08-15 01:00:00 => 27.33 / 19.31', '08-15 02:00:00 => 26.31 / 18.8', '08-15 03:00:00 => 25.78 / 18.53', '08-15 04:00:00 => 25.59 / 18.43', '08-15 05:00:00 => 25.75 / 18.51', '08-15 06:00:00 => 25.34 / 18.3', '08-15 07:00:00 => 24.12 / 17.68', '08-15 08:00:00 => 22.82 / 17.01', '08-15 09:00:00 => 21.84 / 16.51', '08-15 10:00:00 => 20.22 / 15.68', '08-15 11:00:00 => 17.8 / 14.45', '08-15 12:00:00 => 16.16 / 13.61', '08-15 13:00:00 => 15.55 / 13.3', '08-15 14:00:00 => 15.14 / 13.09', '08-15 15:00:00 => 15.65 / 13.35', '08-15 16:00:00 => 32.68 / 16.13', '08-15 17:00:00 => 37.81 / 18.75', '08-15 18:00:00 => 42.15 / 20.96', '08-15 19:00:00 => 30.88 / 21.13', '08-15 20:00:00 => 31.43 / 21.41', '08-15 21:00:00 => 31.43 / 21.41', '08-15 22:00:00 => 30.37 / 20.87', '08-15 23:00:00 => 29.16 / 20.25', '08-16 00:00:00 => 28.62 / 19.97', '08-16 01:00:00 => 27.52 / 19.41', '08-16 02:00:00 => 26.55 / 18.92', '08-16 03:00:00 => 26.18 / 18.73', '08-16 04:00:00 => 26.12 / 18.7', '08-16 05:00:00 => 26.02 / 18.65', '08-16 06:00:00 => 25.78 / 18.53', '08-16 07:00:00 => 25.43 / 18.35', '08-16 08:00:00 => 24.63 / 17.94', '08-16 09:00:00 => 24.05 / 17.64', '08-16 10:00:00 => 24.59 / 17.92', '08-16 11:00:00 => 24.5 / 17.87', '08-16 12:00:00 => 23.58 / 17.4', '08-16 13:00:00 => 22.93 / 17.07', '08-16 14:00:00 => 21.8 / 16.49', '08-16 15:00:00 => 21.8 / 16.49', '08-16 16:00:00 => 36.93 / 18.3', '08-16 17:00:00 => 39.92 / 19.83', '08-16 18:00:00 => 43.98 / 21.9']
2026-08-15 19:20:01.890232: Rate min forward looking: now 21.41p at end of forecast 21.41p
2026-08-15 19:20:01.890658: Import rates: min 21.41p, max 45.28p, average 28.5p
2026-08-15 19:20:01.925717: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 19:20:01.925841: Rate thresholds (for charge/export) are import 44.78p (0.0p), export -0.1p (0.0p)
2026-08-15 19:20:01.927009: High export rate found rates in range 99p to -99p
2026-08-15 19:20:02.008789: Low Import rate found rates in range 21.41p to 44.34p
2026-08-15 19:20:02.008899: Car 0 charging is not planned as it is not plugged in
2026-08-15 19:20:02.022830: Battery level now 15.04kWh, -1hr ago 15.2kWh, at midnight 1.66kWh, battery value change in the last hour -2.94p, change today 246.17p, rate_forward 18.39p
2026-08-15 19:20:02.023219: Last hour: net energy 0.04kWh, import 0.04kWh, export 0.0kWh, car 0kWh, load 0.35kWh, net cost 1.71p, import 1.71p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 19:20:02.082513: Today's energy total net 27.7kWh, import 27.7kWh, export 0.0kWh, cost 570.18p, import 520.2p, export 0.0p, carbon 0.0kg
2026-08-15 19:20:02.082649: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 19:20:02.158596: Using weighted-bucket historical load forecast over 14 days
2026-08-15 19:20:02.185700: Today's load divergence 85.86%, in-day adjustment 97.69%, damping 0.95x, yesterday 143.77% today 86.56% blend 19.44%
2026-08-15 19:20:02.185789: Today's predicted so far 11.51kWh with 0.0kWh car/iBoost excluded, 20.88kWh import ignored, and 11.51kWh forecast extra.
2026-08-15 19:20:02.185815: Today's actual load so far 9.63kWh with 0.0kWh car/iBoost excluded, and 20.88kWh import ignored.
2026-08-15 19:20:02.217473: Inverter 0: Type SK Sunsynk
2026-08-15 19:20:02.217567: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 19:20:02.217804: Reserve min: 7%, battery_min: 7%
2026-08-15 19:20:02.217901: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 19:20:02.218294: Inverter 0 SoC: 15.04kW 94%, current charge rate 5000W, current discharge rate 5250W, current battery power 297W, current battery voltage 51.2V, grid power -54W, load power 360W, PV Power 0W
2026-08-15 19:20:02.218501: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 19:20:02.218630: Inverter 0 scheduled charge enable is False
2026-08-15 19:20:02.218676: Inverter 0 charge windows currently []
2026-08-15 19:20:02.218729: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 19:20:02.218884: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 19:20:02.218928: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 19:20:02.218983: Inverter 0 scheduled discharge enable is False
2026-08-15 19:20:02.219177: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 19:20:02.219223: Inverter 0 discharge windows currently []
2026-08-15 19:20:02.219255: Note: Inverter does not support discharge freeze - disabled
2026-08-15 19:20:02.219292: Note: Inverter does not support charge freeze - disabled
2026-08-15 19:20:02.219312: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 19:20:02.278684: Dynamic load last period 0.30kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 19:20:02.278783: Plan was last updated on 2026-08-15 19:15:00+01:00 and is now 5.0 minutes old
2026-08-15 19:20:02.279002: Best charge window [ 16-08 11:00:00 - 16-08 12:30:00 @ 23.65p 16%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 31%, 16-08 13:30:00 - 16-08 15:00:00 @ 21.91p 100%, 16-08 15:00:00 - 16-08 16:00:00 @ 22.89p 75%, 17-08 12:30:00 - 17-08 18:00:00 @ 40.7p 100% ]
2026-08-15 19:20:02.279052: Best export window [  ]
2026-08-15 19:20:02.279697: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 19:20:02.282189: Load divergence over 8.0 hours mean 788.02W, min 334.2W, max 1997.4W, std dev 423.31W, divergence 26.86%
2026-08-15 19:20:02.297115: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 19:20:02.297404: LoadML is_calculating False
2026-08-15 19:20:02.297476: Creating pool of 12 processes to match your CPU count
2026-08-15 19:20:02.410462: predict base end_record 08-17 12:35:00, final soc 1.12kWh, metric 1090.43p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 14:35:00, load 36.94kWh, PV 0.0kWh
2026-08-15 19:20:02.545004: Battery has 19.25 hours left - now at 15.04kWh
2026-08-15 19:20:02.587772: predict base10 end_record 08-17 12:35:00, final soc 1.12kWh, metric 1123.95p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 13:35:00, load 38.24kWh, PV 0.0kWh
2026-08-15 19:20:02.669486: predict best10 end_record 08-17 12:35:00, final soc 1.44kWh, metric 1063.53p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 06:05:00, load 38.24kWh, PV 0.0kWh
2026-08-15 19:20:02.769662: predict best end_record 08-17 12:35:00, final soc 1.51kWh, metric 1032.01p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 07:10:00, load 36.94kWh, PV 0.0kWh
2026-08-15 19:20:02.769753: Saving plan best values to HA entities
2026-08-15 19:20:02.931360: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 19:20:02.936973: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 19:20:02.941902: Best charging limit SoC's [2.5, 5.0, 16.0, 12.0, 16.0]kWh, export []kWh gives import battery 12.78kWh, house 3.31kWh, export 0.0kWh, metric 1032.01p, metric10 1063.53p
2026-08-15 19:20:03.051686: Marginal costs baseline metric (no standing charge): 932.0431
2026-08-15 19:20:03.287982: Marginal energy costs matrix computed: min=23.47 max=28.87
2026-08-15 19:20:03.366073: Rate array import [{'start': 1160, 'end': 1410, 'rate': 'expensive', 'range': '(29.8p - 32.9p)'}, {'start': 1410, 'end': 2400, 'rate': 'cheap', 'range': '(21.4p - 28.2p)'}, {'start': 2400, 'end': 2430, 'rate': 'expensive', 'range': '(36.8p)'}, {'start': 2430, 'end': 2580, 'rate': 'very expensive', 'range': '(37.5p - 45.3p)'}, {'start': 2580, 'end': 2850, 'rate': 'expensive', 'range': '(30.0p - 35.9p)'}, {'start': 2850, 'end': 3635, 'rate': 'cheap', 'range': '(22.3p - 28.2p)'}] export [{'start': 1160, 'end': 3635, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 19:20:03.366732: - Your estimated bill for today is £5.70 and tomorrow is £3.21
2026-08-15 19:20:03.366773: - Import rates are expensive (29.8p - 32.9p) for the next 4 and a quarter hours and then cheap (21.4p - 28.2p) for the next 16 hours.
2026-08-15 19:20:03.366792: - The battery is currently at 94% and is in eco mode for the next 15 hours.
2026-08-15 19:20:03.366807: - For the next 48 hours there will be no solar generation.
2026-08-15 19:20:03.366821: - You will run out of battery in 35 hours.
2026-08-15 19:20:03.366835: - Your next charge slot will be in 15 hours where import rates will be cheap (24.3p).
2026-08-15 19:20:03.366849: 
2026-08-15 19:20:03.433944: Plan calculation took 1.16 seconds
2026-08-15 19:20:03.437903: No high rate period found
2026-08-15 19:20:03.490742: Import threshold used for optimisation was 25.86p
2026-08-15 19:20:03.554533: Low import rate windows [0: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 1: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 2: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 3: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 4: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 5: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 6: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 7: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 8: 08-15 23:00:00 - 08-15 23:30:00 @ 30.02, 9: 08-15 23:30:00 - 08-16 00:00:00 @ 27.8, 10: 08-16 00:00:00 - 08-16 00:30:00 @ 28.18, 11: 08-16 00:30:00 - 08-16 01:00:00 @ 27.38, 12: 08-16 01:00:00 - 08-16 01:30:00 @ 26.7, 13: 08-16 01:30:00 - 08-16 02:00:00 @ 26.31, 14: 08-16 02:00:00 - 08-16 02:30:00 @ 25.79, 15: 08-16 02:30:00 - 08-16 03:00:00 @ 25.86, 16: 08-16 03:00:00 - 08-16 03:30:00 @ 26.13, 17: 08-16 03:30:00 - 08-16 04:00:00 @ 25.86, 18: 08-16 04:00:00 - 08-16 04:30:00 @ 26.27, 19: 08-16 04:30:00 - 08-16 05:00:00 @ 26.14, 20: 08-16 05:00:00 - 08-16 05:30:00 @ 27.03, 21: 08-16 05:30:00 - 08-16 06:00:00 @ 26.28, 22: 08-16 06:00:00 - 08-16 06:30:00 @ 25.68, 23: 08-16 06:30:00 - 08-16 07:00:00 @ 26.1, 24: 08-16 07:00:00 - 08-16 07:30:00 @ 24.28, 25: 08-16 07:30:00 - 08-16 08:00:00 @ 24.94, 26: 08-16 08:00:00 - 08-16 08:30:00 @ 24.06, 27: 08-16 08:30:00 - 08-16 09:00:00 @ 24.39, 28: 08-16 09:00:00 - 08-16 09:30:00 @ 24.66, 29: 08-16 09:30:00 - 08-16 10:00:00 @ 24.06, 30: 08-16 10:00:00 - 08-16 10:30:00 @ 25.5, 31: 08-16 10:30:00 - 08-16 11:00:00 @ 24.94, 32: 08-16 11:00:00 - 08-16 11:30:00 @ 24.25, 33: 08-16 11:30:00 - 08-16 12:00:00 @ 23.49, 34: 08-16 12:00:00 - 08-16 12:30:00 @ 23.43, 35: 08-16 12:30:00 - 08-16 13:00:00 @ 22.33, 36: 08-16 13:00:00 - 08-16 13:30:00 @ 22.76, 37: 08-16 13:30:00 - 08-16 14:00:00 @ 22.3, 38: 08-16 14:00:00 - 08-16 14:30:00 @ 21.41, 39: 08-16 14:30:00 - 08-16 15:00:00 @ 21.65, 40: 08-16 15:00:00 - 08-16 15:30:00 @ 22.95, 41: 08-16 15:30:00 - 08-16 16:00:00 @ 22.83, 42: 08-16 16:00:00 - 08-16 16:30:00 @ 36.84, 43: 08-16 16:30:00 - 08-16 17:00:00 @ 37.54, 44: 08-16 17:00:00 - 08-16 17:30:00 @ 41.79, 45: 08-16 17:30:00 - 08-16 18:00:00 @ 43.7, 46: 08-16 18:00:00 - 08-16 18:30:00 @ 44.34, 47: 08-16 19:00:00 - 08-16 19:30:00 @ 34.79, 48: 08-16 19:30:00 - 08-16 20:00:00 @ 34.76, 49: 08-16 20:00:00 - 08-16 20:30:00 @ 35.62, 50: 08-16 20:30:00 - 08-16 21:00:00 @ 35.3, 51: 08-16 21:00:00 - 08-16 21:30:00 @ 35.89, 52: 08-16 21:30:00 - 08-16 22:00:00 @ 35.71, 53: 08-16 22:00:00 - 08-16 22:30:00 @ 33.75, 54: 08-16 22:30:00 - 08-16 23:00:00 @ 32.0, 55: 08-16 23:00:00 - 08-16 23:30:00 @ 30.02, 56: 08-16 23:30:00 - 08-17 00:00:00 @ 27.8, 57: 08-17 00:00:00 - 08-17 00:30:00 @ 28.18, 58: 08-17 00:30:00 - 08-17 01:00:00 @ 27.38, 59: 08-17 01:00:00 - 08-17 01:30:00 @ 26.7, 60: 08-17 01:30:00 - 08-17 02:00:00 @ 26.31, 61: 08-17 02:00:00 - 08-17 02:30:00 @ 25.79, 62: 08-17 02:30:00 - 08-17 03:00:00 @ 25.86, 63: 08-17 03:00:00 - 08-17 03:30:00 @ 26.13, 64: 08-17 03:30:00 - 08-17 04:00:00 @ 25.86, 65: 08-17 04:00:00 - 08-17 04:30:00 @ 26.27, 66: 08-17 04:30:00 - 08-17 05:00:00 @ 26.14, 67: 08-17 05:00:00 - 08-17 05:30:00 @ 27.03, 68: 08-17 05:30:00 - 08-17 06:00:00 @ 26.28, 69: 08-17 06:00:00 - 08-17 06:30:00 @ 25.68, 70: 08-17 06:30:00 - 08-17 07:00:00 @ 26.1, 71: 08-17 07:00:00 - 08-17 07:30:00 @ 24.28, 72: 08-17 07:30:00 - 08-17 08:00:00 @ 24.94, 73: 08-17 08:00:00 - 08-17 08:30:00 @ 24.06, 74: 08-17 08:30:00 - 08-17 09:00:00 @ 24.39, 75: 08-17 09:00:00 - 08-17 09:30:00 @ 24.66, 76: 08-17 09:30:00 - 08-17 10:00:00 @ 24.06, 77: 08-17 10:00:00 - 08-17 10:30:00 @ 25.5, 78: 08-17 10:30:00 - 08-17 11:00:00 @ 24.94, 79: 08-17 11:00:00 - 08-17 11:30:00 @ 24.25, 80: 08-17 11:30:00 - 08-17 12:00:00 @ 23.49, 81: 08-17 12:00:00 - 08-17 12:30:00 @ 23.43, 82: 08-17 12:30:00 - 08-17 13:00:00 @ 22.33, 83: 08-17 13:00:00 - 08-17 13:30:00 @ 22.76, 84: 08-17 13:30:00 - 08-17 14:00:00 @ 22.3, 85: 08-17 14:00:00 - 08-17 14:30:00 @ 21.41, 86: 08-17 14:30:00 - 08-17 15:00:00 @ 21.65, 87: 08-17 15:00:00 - 08-17 15:30:00 @ 22.95, 88: 08-17 15:30:00 - 08-17 16:00:00 @ 22.83, 89: 08-17 16:00:00 - 08-17 16:30:00 @ 36.84, 90: 08-17 16:30:00 - 08-17 17:00:00 @ 37.54, 91: 08-17 17:00:00 - 08-17 17:30:00 @ 41.79, 92: 08-17 17:30:00 - 08-17 18:00:00 @ 43.7, 93: 08-17 18:00:00 - 08-17 18:30:00 @ 44.34, 94: 08-17 19:00:00 - 08-17 19:30:00 @ 34.79]
2026-08-15 19:20:03.563590: Inverter 0 Charge window will be: 2026-08-16 11:00:00+01:00 - 2026-08-16 16:00:00+01:00 - current SoC 94%, target 16%
2026-08-15 19:20:03.563722: Inverter 0 disabled charge window while waiting for schedule (now 08-15 19:20:00 target set_window_minutes 30 charge start time 08-16 11:00:00) original inverter start time 08-17 00:00:00
2026-08-15 19:20:03.563857: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 19:20:03.564146: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 19:20:03.564260: No export window planned
2026-08-15 19:20:03.564408: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 19:20:03.564445: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 19:20:03.564593: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 19:20:03.564782: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 19:20:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 19:20:03.564845: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 19:20:03.564941: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 19:20:03.565125: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 19:20:03.565169: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 19:20:03.565208: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 19:20:03.565252: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 19:20:03.565300: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 19:20:03.565347: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 19:20:03.565389: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 19:20:03.565507: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 19:20:03.565550: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 19:20:03.565584: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 19:20:03.565623: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 19:20:03.565669: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 19:20:03.565705: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 19:20:03.565742: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 19:20:03.565778: Inverter 0 count register writes 0
2026-08-15 19:20:03.582326: Will not recompute the plan, it is 5.0 minutes old and max age is 10 minutes
2026-08-15 19:20:03.587749: Total inverter register writes now 826
2026-08-15 19:20:03.640826: Info: Completed run status Demand
2026-08-15 19:20:03.647710: Info: record_status Demand
2026-08-15 19:20:03.655205: Saved current settings to /config/predbat_config.json
2026-08-15 19:20:03.655569: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 19:20:27.412821: ML Component: Fetching 28 days of load history from ['sensor.sunsynk_day_load_energy']
2026-08-15 19:20:28.291326: Processing 1345 30-minute periods for power integration
2026-08-15 19:20:28.376143: ML Component: Car charging hold False, car energy reported load False
2026-08-15 19:20:28.457331: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 19:20:28.542623: ML Temperature data points: 49241
2026-08-15 19:20:28.768992: ML Component: Fetched 8064 load data points, 28.0 days of history
2026-08-15 19:20:28.803660: ML Component: Data fetch completed, load data age 57.0 days, 16497 data points
2026-08-15 19:20:28.803771: ML Component: Starting fine-tune training (2h interval), model age is 2.0401961427777775 hours
2026-08-15 19:20:28.803793: ML Component: Doing training...
2026-08-15 19:20:28.817061: ML Predictor: Curriculum training - capped to last 4 intermediate passes (starting at window=54.0 days)
2026-08-15 19:20:28.817158: ML Predictor: Curriculum training - 5 passes, window 54.0→57.0 days + final full pass (57.3 days)
2026-08-15 19:20:28.867847: ML Predictor: Curriculum pass 1/5: window=54.0 days (1296 hours of data)
2026-08-15 19:20:28.867960: ML Predictor: Starting initial training with 30 epochs
2026-08-15 19:20:29.361893: ML Predictor: Creating dataset with 1296 hours of training data, 48 hours validation
2026-08-15 19:20:33.762320: ML Predictor: Created 15264 training samples, 576 validation samples
2026-08-15 19:20:33.819697: ML Predictor: Normalization stats [fit] target(mean=0.0586 std=0.0469) load(mean=0.0587 std=0.0468) pv(mean=0.0000 std=0.0100) temp(mean=19.4996 std=4.4155) import_rate(mean=25.5254 std=2.4659) export_rate(mean=0.0000 std=1.0000) time(mean=-0.1882 std=0.5244)
2026-08-15 19:20:42.075371: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 19:20:42.075622: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 19:20:42.075672: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 19:20:42.075817: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 19:20:42.075860: Note: Inverter does not support discharge freeze - disabled
2026-08-15 19:20:42.075884: Note: Inverter does not support charge freeze - disabled
2026-08-15 19:20:42.075987: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 19:21:01.448179: ML Predictor: Epoch 1/30: lr=0.00100 huber_loss=0.0159 val_mae=0.0041 kWh val_bias=-0.0011 kWh (-2.0%) combined=0.0023 kWh ema_combined=0.0023 kWh
2026-08-15 19:21:31.608215: ML Predictor: Epoch 2/30: lr=0.00100 huber_loss=0.0196 val_mae=0.0048 kWh val_bias=+0.0026 kWh (+4.9%) combined=0.0046 kWh ema_combined=0.0030 kWh
2026-08-15 19:22:03.755261: ML Predictor: Epoch 3/30: lr=0.00099 huber_loss=0.0151 val_mae=0.0034 kWh val_bias=-0.0012 kWh (-2.3%) combined=0.0027 kWh ema_combined=0.0029 kWh
2026-08-15 19:22:35.388656: ML Predictor: Epoch 4/30: lr=0.00098 huber_loss=0.0157 val_mae=0.0036 kWh val_bias=+0.0006 kWh (+1.1%) combined=0.0029 kWh ema_combined=0.0029 kWh
2026-08-15 19:22:42.461461: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 19:22:42.461737: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 19:22:42.461775: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 19:22:42.461918: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 19:22:42.462088: Note: Inverter does not support discharge freeze - disabled
2026-08-15 19:22:42.462207: Note: Inverter does not support charge freeze - disabled
2026-08-15 19:22:42.462315: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 19:23:07.266828: ML Predictor: Epoch 5/30: lr=0.00096 huber_loss=0.0135 val_mae=0.0033 kWh val_bias=+0.0009 kWh (+1.8%) combined=0.0025 kWh ema_combined=0.0028 kWh
2026-08-15 19:23:39.532156: ML Predictor: Epoch 6/30: lr=0.00094 huber_loss=0.0147 val_mae=0.0034 kWh val_bias=+0.0004 kWh (+0.8%) combined=0.0025 kWh ema_combined=0.0027 kWh
2026-08-15 19:24:09.556052: ML Predictor: Epoch 7/30: lr=0.00091 huber_loss=0.0138 val_mae=0.0032 kWh val_bias=-0.0016 kWh (-3.1%) combined=0.0030 kWh ema_combined=0.0028 kWh
2026-08-15 19:24:40.224274: ML Predictor: Epoch 8/30: lr=0.00088 huber_loss=0.0116 val_mae=0.0030 kWh val_bias=-0.0014 kWh (-2.6%) combined=0.0027 kWh ema_combined=0.0028 kWh
2026-08-15 19:24:57.013307: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 19:24:57.013961: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 19:24:57.014052: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 19:24:57.014262: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 19:24:57.014357: Note: Inverter does not support discharge freeze - disabled
2026-08-15 19:24:57.014390: Note: Inverter does not support charge freeze - disabled
2026-08-15 19:24:57.014411: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 19:25:00.159887: --------------- PredBat - update at 2026-08-15 19:25:00+01:00 with clock skew 0 minutes, minutes now 1165
2026-08-15 19:25:00.161472: Saved current settings to /config/predbat_config.json
2026-08-15 19:25:00.161876: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 60.0 minutes
2026-08-15 19:25:00.162209: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.2, latest beta is v8.48.2
2026-08-15 19:25:00.162455: Autoupdate: There is an update pending v8.48.2 PV90 and second pass enabled by default, bug fixes - auto update is off
2026-08-15 19:25:00.192045: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 19:25:00.192484: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 19:25:00.192886: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 19:25:00.193870: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 19:25:00.194230: Predbat mode is set to Control charge & discharge
2026-08-15 19:25:00.604317: Found 21602 load_today datapoints going back 28 days
2026-08-15 19:25:00.604505: Using load_power data to fill gaps in load_today data
2026-08-15 19:25:01.766654: Processing 721 30-minute periods for power integration
2026-08-15 19:25:02.170729: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 19:25:02.171176: Car charging hold False, threshold 6.0kWh
2026-08-15 19:25:02.171248: Current data so far today: load 9.65kWh, import 27.7kWh, export 0.0kWh, PV 0kWh
2026-08-15 19:25:02.190891: Cars: SoC: [9.962]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 19:25:02.191519: Standing charge is set to 49.98p
2026-08-15 19:25:02.249976: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 19:25:02.250143: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 19:25:02.250423: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 525.0 minutes
2026-08-15 19:25:02.251043: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 525.0 minutes
2026-08-15 19:25:02.261411: Loaded 95 datapoints of futurerate analysis
2026-08-15 19:25:02.672467: Predicted future rates: ['08-15 00:00:00 => 28.69 / 20.01', '08-15 01:00:00 => 27.33 / 19.31', '08-15 02:00:00 => 26.31 / 18.8', '08-15 03:00:00 => 25.78 / 18.53', '08-15 04:00:00 => 25.59 / 18.43', '08-15 05:00:00 => 25.75 / 18.51', '08-15 06:00:00 => 25.34 / 18.3', '08-15 07:00:00 => 24.12 / 17.68', '08-15 08:00:00 => 22.82 / 17.01', '08-15 09:00:00 => 21.84 / 16.51', '08-15 10:00:00 => 20.22 / 15.68', '08-15 11:00:00 => 17.8 / 14.45', '08-15 12:00:00 => 16.16 / 13.61', '08-15 13:00:00 => 15.55 / 13.3', '08-15 14:00:00 => 15.14 / 13.09', '08-15 15:00:00 => 15.65 / 13.35', '08-15 16:00:00 => 32.68 / 16.13', '08-15 17:00:00 => 37.81 / 18.75', '08-15 18:00:00 => 42.15 / 20.96', '08-15 19:00:00 => 30.88 / 21.13', '08-15 20:00:00 => 31.43 / 21.41', '08-15 21:00:00 => 31.43 / 21.41', '08-15 22:00:00 => 30.37 / 20.87', '08-15 23:00:00 => 29.16 / 20.25', '08-16 00:00:00 => 28.62 / 19.97', '08-16 01:00:00 => 27.52 / 19.41', '08-16 02:00:00 => 26.55 / 18.92', '08-16 03:00:00 => 26.18 / 18.73', '08-16 04:00:00 => 26.12 / 18.7', '08-16 05:00:00 => 26.02 / 18.65', '08-16 06:00:00 => 25.78 / 18.53', '08-16 07:00:00 => 25.43 / 18.35', '08-16 08:00:00 => 24.63 / 17.94', '08-16 09:00:00 => 24.05 / 17.64', '08-16 10:00:00 => 24.59 / 17.92', '08-16 11:00:00 => 24.5 / 17.87', '08-16 12:00:00 => 23.58 / 17.4', '08-16 13:00:00 => 22.93 / 17.07', '08-16 14:00:00 => 21.8 / 16.49', '08-16 15:00:00 => 21.8 / 16.49', '08-16 16:00:00 => 36.93 / 18.3', '08-16 17:00:00 => 39.92 / 19.83', '08-16 18:00:00 => 43.98 / 21.9']
2026-08-15 19:25:02.735514: Rate min forward looking: now 21.41p at end of forecast 21.41p
2026-08-15 19:25:02.736847: Import rates: min 21.41p, max 45.28p, average 28.51p
2026-08-15 19:25:02.792897: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 19:25:02.793690: Rate thresholds (for charge/export) are import 44.78p (0.0p), export -0.1p (0.0p)
2026-08-15 19:25:02.795135: High export rate found rates in range 99p to -99p
2026-08-15 19:25:02.931447: Low Import rate found rates in range 21.41p to 44.34p
2026-08-15 19:25:02.931620: Car 0 charging is not planned as it is not plugged in
2026-08-15 19:25:02.947175: Battery level now 15.04kWh, -1hr ago 15.2kWh, at midnight 1.66kWh, battery value change in the last hour -2.94p, change today 246.17p, rate_forward 18.39p
2026-08-15 19:25:02.947793: Last hour: net energy 0.04kWh, import 0.04kWh, export 0.0kWh, car 0kWh, load 0.35kWh, net cost 1.52p, import 1.52p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 19:25:03.031832: Today's energy total net 27.7kWh, import 27.7kWh, export 0.0kWh, cost 570.18p, import 520.2p, export 0.0p, carbon 0.0kg
2026-08-15 19:25:03.032046: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 19:25:03.220826: Using weighted-bucket historical load forecast over 14 days
2026-08-15 19:25:03.278968: Today's load divergence 85.42%, in-day adjustment 97.15%, damping 0.95x, yesterday 143.77% today 86.15% blend 19.1%
2026-08-15 19:25:03.279135: Today's predicted so far 11.54kWh with 0.0kWh car/iBoost excluded, 20.85kWh import ignored, and 11.54kWh forecast extra.
2026-08-15 19:25:03.279381: Today's actual load so far 9.61kWh with 0.0kWh car/iBoost excluded, and 20.85kWh import ignored.
2026-08-15 19:25:03.346969: Inverter 0: Type SK Sunsynk
2026-08-15 19:25:03.347194: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 19:25:03.347502: Reserve min: 7%, battery_min: 7%
2026-08-15 19:25:03.347675: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 19:25:03.348091: Inverter 0 SoC: 14.94kW 93%, current charge rate 5000W, current discharge rate 5250W, current battery power 263W, current battery voltage 51.2V, grid power -55W, load power 327W, PV Power 0W
2026-08-15 19:25:03.348321: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 19:25:03.348467: Inverter 0 scheduled charge enable is False
2026-08-15 19:25:03.348598: Inverter 0 charge windows currently []
2026-08-15 19:25:03.348715: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 19:25:03.348936: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 19:25:03.349103: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 19:25:03.349235: Inverter 0 scheduled discharge enable is False
2026-08-15 19:25:03.349483: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 19:25:03.349604: Inverter 0 discharge windows currently []
2026-08-15 19:25:03.349708: Note: Inverter does not support discharge freeze - disabled
2026-08-15 19:25:03.349798: Note: Inverter does not support charge freeze - disabled
2026-08-15 19:25:03.349884: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 19:25:03.510982: Dynamic load last period 0.30kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 19:25:03.511140: Plan was last updated on 2026-08-15 19:15:00+01:00 and is now 10.0 minutes old
2026-08-15 19:25:03.511466: Best charge window [ 16-08 11:00:00 - 16-08 12:30:00 @ 23.65p 16%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 31%, 16-08 13:30:00 - 16-08 15:00:00 @ 21.91p 100%, 16-08 15:00:00 - 16-08 16:00:00 @ 22.89p 75%, 17-08 12:30:00 - 17-08 18:00:00 @ 40.7p 100% ]
2026-08-15 19:25:03.511515: Best export window [  ]
2026-08-15 19:25:03.512807: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 19:25:03.521928: Load divergence over 8.0 hours mean 796.53W, min 336.6W, max 1875.0W, std dev 428.64W, divergence 26.91%
2026-08-15 19:25:03.565154: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 19:25:03.565306: LoadML is_calculating True
2026-08-15 19:25:03.565339: Not using thread pool as LoadML is calculating to avoid lockups
2026-08-15 19:25:03.642740: predict base end_record 08-17 12:40:00, final soc 1.12kWh, metric 1092.65p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 14:30:00, load 36.97kWh, PV 0.0kWh
2026-08-15 19:25:03.924903: Battery has 19.08 hours left - now at 14.94kWh
2026-08-15 19:25:03.976230: predict base10 end_record 08-17 12:40:00, final soc 1.12kWh, metric 1126.1p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 13:30:00, load 38.27kWh, PV 0.0kWh
2026-08-15 19:25:04.123253: predict best10 end_record 08-17 12:40:00, final soc 1.77kWh, metric 1073.55p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 06:10:00, load 38.27kWh, PV 0.0kWh
2026-08-15 19:25:04.328626: predict best end_record 08-17 12:40:00, final soc 1.9kWh, metric 1043.51p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 07:10:00, load 36.97kWh, PV 0.0kWh
2026-08-15 19:25:04.331974: Saving plan best values to HA entities
2026-08-15 19:25:04.643965: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 19:25:04.651197: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 19:25:04.659058: Best charging limit SoC's [2.5, 5.0, 16.0, 12.0, 16.0]kWh, export []kWh gives import battery 13.29kWh, house 3.32kWh, export 0.0kWh, metric 1043.51p, metric10 1073.55p
2026-08-15 19:25:04.781747: Marginal costs baseline metric (no standing charge): 943.546
2026-08-15 19:25:05.134956: Marginal energy costs matrix computed: min=23.54 max=28.86
2026-08-15 19:25:05.347889: Rate array import [{'start': 1165, 'end': 1410, 'rate': 'expensive', 'range': '(29.8p - 32.9p)'}, {'start': 1410, 'end': 2400, 'rate': 'cheap', 'range': '(21.4p - 28.2p)'}, {'start': 2400, 'end': 2430, 'rate': 'expensive', 'range': '(36.8p)'}, {'start': 2430, 'end': 2580, 'rate': 'very expensive', 'range': '(37.5p - 45.3p)'}, {'start': 2580, 'end': 2850, 'rate': 'expensive', 'range': '(30.0p - 35.9p)'}, {'start': 2850, 'end': 3640, 'rate': 'cheap', 'range': '(22.3p - 28.2p)'}] export [{'start': 1165, 'end': 3640, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 19:25:05.354386: - Your estimated bill for today is £5.70 and tomorrow is £3.21
2026-08-15 19:25:05.354698: - Import rates are expensive (29.8p - 32.9p) for the next 4 hours and then cheap (21.4p - 28.2p) for the next 16 hours.
2026-08-15 19:25:05.354934: - The battery is currently at 93% and is in eco mode for the next 15 hours.
2026-08-15 19:25:05.355278: - For the next 48 hours there will be no solar generation.
2026-08-15 19:25:05.355495: - You will run out of battery in 35 hours.
2026-08-15 19:25:05.355713: - Your next charge slot will be in 15 hours where import rates will be cheap (24.3p).
2026-08-15 19:25:05.355930: 
2026-08-15 19:25:05.468663: Plan calculation took 1.96 seconds
2026-08-15 19:25:05.475215: No high rate period found
2026-08-15 19:25:05.548910: Import threshold used for optimisation was 25.86p
2026-08-15 19:25:05.660638: Low import rate windows [0: 08-15 19:00:00 - 08-15 19:30:00 @ 32.58, 1: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 2: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 3: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 4: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 5: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 6: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 7: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 8: 08-15 23:00:00 - 08-15 23:30:00 @ 30.02, 9: 08-15 23:30:00 - 08-16 00:00:00 @ 27.8, 10: 08-16 00:00:00 - 08-16 00:30:00 @ 28.18, 11: 08-16 00:30:00 - 08-16 01:00:00 @ 27.38, 12: 08-16 01:00:00 - 08-16 01:30:00 @ 26.7, 13: 08-16 01:30:00 - 08-16 02:00:00 @ 26.31, 14: 08-16 02:00:00 - 08-16 02:30:00 @ 25.79, 15: 08-16 02:30:00 - 08-16 03:00:00 @ 25.86, 16: 08-16 03:00:00 - 08-16 03:30:00 @ 26.13, 17: 08-16 03:30:00 - 08-16 04:00:00 @ 25.86, 18: 08-16 04:00:00 - 08-16 04:30:00 @ 26.27, 19: 08-16 04:30:00 - 08-16 05:00:00 @ 26.14, 20: 08-16 05:00:00 - 08-16 05:30:00 @ 27.03, 21: 08-16 05:30:00 - 08-16 06:00:00 @ 26.28, 22: 08-16 06:00:00 - 08-16 06:30:00 @ 25.68, 23: 08-16 06:30:00 - 08-16 07:00:00 @ 26.1, 24: 08-16 07:00:00 - 08-16 07:30:00 @ 24.28, 25: 08-16 07:30:00 - 08-16 08:00:00 @ 24.94, 26: 08-16 08:00:00 - 08-16 08:30:00 @ 24.06, 27: 08-16 08:30:00 - 08-16 09:00:00 @ 24.39, 28: 08-16 09:00:00 - 08-16 09:30:00 @ 24.66, 29: 08-16 09:30:00 - 08-16 10:00:00 @ 24.06, 30: 08-16 10:00:00 - 08-16 10:30:00 @ 25.5, 31: 08-16 10:30:00 - 08-16 11:00:00 @ 24.94, 32: 08-16 11:00:00 - 08-16 11:30:00 @ 24.25, 33: 08-16 11:30:00 - 08-16 12:00:00 @ 23.49, 34: 08-16 12:00:00 - 08-16 12:30:00 @ 23.43, 35: 08-16 12:30:00 - 08-16 13:00:00 @ 22.33, 36: 08-16 13:00:00 - 08-16 13:30:00 @ 22.76, 37: 08-16 13:30:00 - 08-16 14:00:00 @ 22.3, 38: 08-16 14:00:00 - 08-16 14:30:00 @ 21.41, 39: 08-16 14:30:00 - 08-16 15:00:00 @ 21.65, 40: 08-16 15:00:00 - 08-16 15:30:00 @ 22.95, 41: 08-16 15:30:00 - 08-16 16:00:00 @ 22.83, 42: 08-16 16:00:00 - 08-16 16:30:00 @ 36.84, 43: 08-16 16:30:00 - 08-16 17:00:00 @ 37.54, 44: 08-16 17:00:00 - 08-16 17:30:00 @ 41.79, 45: 08-16 17:30:00 - 08-16 18:00:00 @ 43.7, 46: 08-16 18:00:00 - 08-16 18:30:00 @ 44.34, 47: 08-16 19:00:00 - 08-16 19:30:00 @ 34.79, 48: 08-16 19:30:00 - 08-16 20:00:00 @ 34.76, 49: 08-16 20:00:00 - 08-16 20:30:00 @ 35.62, 50: 08-16 20:30:00 - 08-16 21:00:00 @ 35.3, 51: 08-16 21:00:00 - 08-16 21:30:00 @ 35.89, 52: 08-16 21:30:00 - 08-16 22:00:00 @ 35.71, 53: 08-16 22:00:00 - 08-16 22:30:00 @ 33.75, 54: 08-16 22:30:00 - 08-16 23:00:00 @ 32.0, 55: 08-16 23:00:00 - 08-16 23:30:00 @ 30.02, 56: 08-16 23:30:00 - 08-17 00:00:00 @ 27.8, 57: 08-17 00:00:00 - 08-17 00:30:00 @ 28.18, 58: 08-17 00:30:00 - 08-17 01:00:00 @ 27.38, 59: 08-17 01:00:00 - 08-17 01:30:00 @ 26.7, 60: 08-17 01:30:00 - 08-17 02:00:00 @ 26.31, 61: 08-17 02:00:00 - 08-17 02:30:00 @ 25.79, 62: 08-17 02:30:00 - 08-17 03:00:00 @ 25.86, 63: 08-17 03:00:00 - 08-17 03:30:00 @ 26.13, 64: 08-17 03:30:00 - 08-17 04:00:00 @ 25.86, 65: 08-17 04:00:00 - 08-17 04:30:00 @ 26.27, 66: 08-17 04:30:00 - 08-17 05:00:00 @ 26.14, 67: 08-17 05:00:00 - 08-17 05:30:00 @ 27.03, 68: 08-17 05:30:00 - 08-17 06:00:00 @ 26.28, 69: 08-17 06:00:00 - 08-17 06:30:00 @ 25.68, 70: 08-17 06:30:00 - 08-17 07:00:00 @ 26.1, 71: 08-17 07:00:00 - 08-17 07:30:00 @ 24.28, 72: 08-17 07:30:00 - 08-17 08:00:00 @ 24.94, 73: 08-17 08:00:00 - 08-17 08:30:00 @ 24.06, 74: 08-17 08:30:00 - 08-17 09:00:00 @ 24.39, 75: 08-17 09:00:00 - 08-17 09:30:00 @ 24.66, 76: 08-17 09:30:00 - 08-17 10:00:00 @ 24.06, 77: 08-17 10:00:00 - 08-17 10:30:00 @ 25.5, 78: 08-17 10:30:00 - 08-17 11:00:00 @ 24.94, 79: 08-17 11:00:00 - 08-17 11:30:00 @ 24.25, 80: 08-17 11:30:00 - 08-17 12:00:00 @ 23.49, 81: 08-17 12:00:00 - 08-17 12:30:00 @ 23.43, 82: 08-17 12:30:00 - 08-17 13:00:00 @ 22.33, 83: 08-17 13:00:00 - 08-17 13:30:00 @ 22.76, 84: 08-17 13:30:00 - 08-17 14:00:00 @ 22.3, 85: 08-17 14:00:00 - 08-17 14:30:00 @ 21.41, 86: 08-17 14:30:00 - 08-17 15:00:00 @ 21.65, 87: 08-17 15:00:00 - 08-17 15:30:00 @ 22.95, 88: 08-17 15:30:00 - 08-17 16:00:00 @ 22.83, 89: 08-17 16:00:00 - 08-17 16:30:00 @ 36.84, 90: 08-17 16:30:00 - 08-17 17:00:00 @ 37.54, 91: 08-17 17:00:00 - 08-17 17:30:00 @ 41.79, 92: 08-17 17:30:00 - 08-17 18:00:00 @ 43.7, 93: 08-17 18:00:00 - 08-17 18:30:00 @ 44.34, 94: 08-17 19:00:00 - 08-17 19:30:00 @ 34.79]
2026-08-15 19:25:05.673079: Inverter 0 Charge window will be: 2026-08-16 11:00:00+01:00 - 2026-08-16 16:00:00+01:00 - current SoC 93%, target 16%
2026-08-15 19:25:05.673210: Inverter 0 disabled charge window while waiting for schedule (now 08-15 19:25:00 target set_window_minutes 30 charge start time 08-16 11:00:00) original inverter start time 08-17 00:00:00
2026-08-15 19:25:05.673411: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 19:25:05.673667: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 19:25:05.673844: No export window planned
2026-08-15 19:25:05.674052: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 19:25:05.674173: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 19:25:05.674429: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 19:25:05.674627: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 19:25:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 19:25:05.674745: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 19:25:05.674840: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 19:25:05.674965: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 19:25:05.675088: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 19:25:05.675141: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 19:25:05.675202: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 19:25:05.675309: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 19:25:05.675412: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 19:25:05.675521: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 19:25:05.675658: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 19:25:05.675770: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 19:25:05.675870: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 19:25:05.675976: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 19:25:05.676091: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 19:25:05.676191: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 19:25:05.676290: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 19:25:05.676392: Inverter 0 count register writes 0
2026-08-15 19:25:05.705665: Will recompute the plan as it is now 10.0 minutes old and will exceed the max age of 10 minutes before the next run
2026-08-15 19:25:05.705934: Recompute is saving previous plan...
2026-08-15 19:25:05.708548: Best charge window [ 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 0%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 0%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 0%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 0%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 30.02p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 27.8p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.18p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.38p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 26.7p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.31p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.79p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 25.86p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.13p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 25.86p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.27p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.14p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 27.03p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.28p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.68p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 26.1p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 24.28p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 24.94p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.06p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.39p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.66p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.06p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 25.5p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 24.94p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 24.25p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 23.49p 0%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.43p 0%, 16-08 12:30:00 - 16-08 13:00:00 @ 22.33p 0%, 16-08 13:00:00 - 16-08 13:30:00 @ 22.76p 0%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 0%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 0%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.65p 0%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.95p 0%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.83p 0%, 16-08 16:00:00 - 16-08 16:30:00 @ 36.84p 0%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.54p 0%, 16-08 17:00:00 - 16-08 17:30:00 @ 41.79p 0%, 16-08 17:30:00 - 16-08 18:00:00 @ 43.7p 0%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.34p 0%, 16-08 19:00:00 - 16-08 19:30:00 @ 34.79p 0%, 16-08 19:30:00 - 16-08 20:00:00 @ 34.76p 0%, 16-08 20:00:00 - 16-08 20:30:00 @ 35.62p 0%, 16-08 20:30:00 - 16-08 21:00:00 @ 35.3p 0%, 16-08 21:00:00 - 16-08 21:30:00 @ 35.89p 0%, 16-08 21:30:00 - 16-08 22:00:00 @ 35.71p 0%, 16-08 22:00:00 - 16-08 22:30:00 @ 33.75p 0%, 16-08 22:30:00 - 16-08 23:00:00 @ 32.0p 0%, 16-08 23:00:00 - 16-08 23:30:00 @ 30.02p 0%, 16-08 23:30:00 - 17-08 00:00:00 @ 27.8p 0%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.18p 0%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.38p 0%, 17-08 01:00:00 - 17-08 01:30:00 @ 26.7p 0%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.31p 0%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.79p 0%, 17-08 02:30:00 - 17-08 03:00:00 @ 25.86p 0%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.13p 0%, 17-08 03:30:00 - 17-08 04:00:00 @ 25.86p 0%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.27p 0%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.14p 0%, 17-08 05:00:00 - 17-08 05:30:00 @ 27.03p 0%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.28p 0%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.68p 0%, 17-08 06:30:00 - 17-08 07:00:00 @ 26.1p 0%, 17-08 07:00:00 - 17-08 07:30:00 @ 24.28p 0%, 17-08 07:30:00 - 17-08 08:00:00 @ 24.94p 0%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.06p 0%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.39p 0%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.66p 0%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.06p 0%, 17-08 10:00:00 - 17-08 10:30:00 @ 25.5p 0%, 17-08 10:30:00 - 17-08 11:00:00 @ 24.94p 0%, 17-08 11:00:00 - 17-08 11:30:00 @ 24.25p 0%, 17-08 11:30:00 - 17-08 12:00:00 @ 23.49p 0%, 17-08 12:00:00 - 17-08 12:30:00 @ 23.43p 0%, 17-08 12:30:00 - 17-08 13:00:00 @ 22.33p 0%, 17-08 13:00:00 - 17-08 13:30:00 @ 22.76p 0%, 17-08 13:30:00 - 17-08 14:00:00 @ 22.3p 0%, 17-08 14:00:00 - 17-08 14:30:00 @ 21.41p 0%, 17-08 14:30:00 - 17-08 15:00:00 @ 21.65p 0%, 17-08 15:00:00 - 17-08 15:30:00 @ 22.95p 0%, 17-08 15:30:00 - 17-08 16:00:00 @ 22.83p 0%, 17-08 16:00:00 - 17-08 16:30:00 @ 36.84p 0%, 17-08 16:30:00 - 17-08 17:00:00 @ 37.54p 0%, 17-08 17:00:00 - 17-08 17:30:00 @ 41.79p 0%, 17-08 17:30:00 - 17-08 18:00:00 @ 43.7p 0%, 17-08 18:00:00 - 17-08 18:30:00 @ 44.34p 0%, 17-08 19:00:00 - 17-08 19:30:00 @ 34.79p 0% ]
2026-08-15 19:25:05.708710: Best export window [  ]
2026-08-15 19:25:05.709459: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 19:25:05.711984: Load divergence over 8.0 hours mean 796.53W, min 336.6W, max 1875.0W, std dev 428.64W, divergence 26.91%
2026-08-15 19:25:05.739064: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 19:25:05.744130: LoadML is_calculating True
2026-08-15 19:25:05.744204: Not using thread pool as LoadML is calculating to avoid lockups
2026-08-15 19:25:05.751308: Calculate Best options: mode(Control charge & discharge), calculate_export_oncharge(False), calculate_export_on_pv(True), set_export_freeze_only(False), set_discharge_during_charge(True), combine_charge_slots(False), combine_export_slots(False), combine_rate_threshold(0.0), best_soc_min(0.0 kWh), best_soc_max(0.0 kWh), best_soc_keep(0.0 kWh), inverter_loss(4%), battery_loss(3%), battery_loss_discharge (3%), inverter_hybrid(True), metric_min_improvement(0.0p), metric_min_improvement_export(0.1p), metric_min_improvement_export_freeze(0.1p), metric_battery_cycle(0.0p/kWh), metric_battery_value_scaling(1.0 x) 
2026-08-15 19:25:05.766019: Optimise levels pass started at 2026-08-15 19:25:05
2026-08-15 19:25:05.766095: Optimise all windows, total charge 94 export 1
2026-08-15 19:25:12.918862: >> Region optimisation pass width 960 gives best_metric 1012.6p, best_cost 1029.7p, best_cycle 37.68kWh, best_import 20.45kWh
2026-08-15 19:25:14.152227: >> Region optimisation pass width 480 gives best_metric 1012.6p, best_cost 1029.7p, best_cycle 37.68kWh, best_import 20.45kWh
2026-08-15 19:25:15.076779: >> Region optimisation pass width 240 gives best_metric 1012.6p, best_cost 1029.7p, best_cycle 37.68kWh, best_import 20.45kWh
2026-08-15 19:25:18.690475: >> Region optimisation pass width 120 gives best_metric 1012.6p, best_cost 1029.7p, best_cycle 37.68kWh, best_import 20.45kWh
2026-08-15 19:25:18.691085: Calculated end_record as 08-17 12:30:00 based on best_price 22.33p, next_charge_start 08-16 12:30:00, max_windows 82
2026-08-15 19:25:18.691252: Optimise levels pass ended at 2026-08-15 19:25:18, duration 12.9 seconds tried 302 combinations
2026-08-15 19:25:18.691403: Set best_price_charge_level 24.0p, best_price_export_level 0p, best_price_charge 22.33p, best_cost_export 0p, best_metric 1012.6p, best_keep 0kWh, best_cycle 37.68kWh, best_carbon 0kg, best_import 20.45kWh
2026-08-15 19:25:18.721811: Starting detailed optimisation end_record 08-17 12:30:00, best_price_charge 22.33p, best_price_export 0p. lowest_price_charge 21.41p with charge limits [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 0, 16.0, 16.0, 16.0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0]kWh and export limits []kWh
2026-08-15 19:25:28.658643: ML Predictor: Epoch 9/30: lr=0.00084 huber_loss=0.0105 val_mae=0.0029 kWh val_bias=-0.0004 kWh (-0.7%) combined=0.0017 kWh ema_combined=0.0025 kWh
2026-08-15 19:25:54.111200: Tweak plan optimisation started metric 905.34p, cost 921.01p
2026-08-15 19:25:55.834931: Tweak optimisation finished metric 905.34p, cost 921.01p, metric_keep 0kWh, cycle 30.96kWh, carbon 0kg, import 15.57kWh, changed 8 window(s)
2026-08-15 19:25:55.861731: Swap charge optimisation started metric 905.34p, cost 921.01p, min_improvement_swap 0.1p
2026-08-15 19:26:09.176721: Swap charge optimisation finished metric 905.34p, cost 921.01p
2026-08-15 19:26:09.300053: Pruned 1 dead plan slot(s) in 10 trial(s), nominal metric 900.41p -> 900.41p, plan now metric 905.35p, cost 921.01p, cycle 30.96kWh, import 15.57kWh
2026-08-15 19:26:09.314333: Raw charge windows [ 15-08 19:00:00 - 15-08 19:30:00 @ 32.58p 0%, 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 0%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 0%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 0%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 30.02p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 27.8p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.18p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.38p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 26.7p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.31p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.79p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 25.86p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.13p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 25.86p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.27p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.14p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 27.03p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.28p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.68p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 26.1p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 24.28p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 24.94p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.06p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.39p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.66p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.06p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 25.5p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 24.94p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 24.25p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 23.49p 19%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.43p 19%, 16-08 12:30:00 - 16-08 13:00:00 @ 22.33p 31%, 16-08 13:00:00 - 16-08 13:30:00 @ 22.76p 31%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 100%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 100%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.65p 100%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.95p 75%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.83p 75%, 16-08 16:00:00 - 16-08 16:30:00 @ 36.84p 0%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.54p 0%, 16-08 17:00:00 - 16-08 17:30:00 @ 41.79p 0%, 16-08 17:30:00 - 16-08 18:00:00 @ 43.7p 0%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.34p 0%, 16-08 19:00:00 - 16-08 19:30:00 @ 34.79p 0%, 16-08 19:30:00 - 16-08 20:00:00 @ 34.76p 0%, 16-08 20:00:00 - 16-08 20:30:00 @ 35.62p 0%, 16-08 20:30:00 - 16-08 21:00:00 @ 35.3p 0%, 16-08 21:00:00 - 16-08 21:30:00 @ 35.89p 0%, 16-08 21:30:00 - 16-08 22:00:00 @ 35.71p 0%, 16-08 22:00:00 - 16-08 22:30:00 @ 33.75p 0%, 16-08 22:30:00 - 16-08 23:00:00 @ 32.0p 0%, 16-08 23:00:00 - 16-08 23:30:00 @ 30.02p 0%, 16-08 23:30:00 - 17-08 00:00:00 @ 27.8p 0%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.18p 0%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.38p 0%, 17-08 01:00:00 - 17-08 01:30:00 @ 26.7p 0%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.31p 0%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.79p 0%, 17-08 02:30:00 - 17-08 03:00:00 @ 25.86p 0%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.13p 0%, 17-08 03:30:00 - 17-08 04:00:00 @ 25.86p 0%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.27p 0%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.14p 0%, 17-08 05:00:00 - 17-08 05:30:00 @ 27.03p 0%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.28p 0%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.68p 0%, 17-08 06:30:00 - 17-08 07:00:00 @ 26.1p 0%, 17-08 07:00:00 - 17-08 07:30:00 @ 24.28p 0%, 17-08 07:30:00 - 17-08 08:00:00 @ 24.94p 0%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.06p 0%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.39p 0%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.66p 0%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.06p 0%, 17-08 10:00:00 - 17-08 10:30:00 @ 25.5p 0%, 17-08 10:30:00 - 17-08 11:00:00 @ 24.94p 0%, 17-08 11:00:00 - 17-08 11:30:00 @ 24.25p 0%, 17-08 11:30:00 - 17-08 12:00:00 @ 23.49p 0%, 17-08 12:00:00 - 17-08 12:30:00 @ 23.43p 0%, 17-08 12:30:00 - 17-08 13:00:00 @ 22.33p 100%, 17-08 13:00:00 - 17-08 13:30:00 @ 22.76p 100%, 17-08 13:30:00 - 17-08 14:00:00 @ 22.3p 100%, 17-08 14:00:00 - 17-08 14:30:00 @ 21.41p 100%, 17-08 14:30:00 - 17-08 15:00:00 @ 21.65p 100%, 17-08 15:00:00 - 17-08 15:30:00 @ 22.95p 100%, 17-08 15:30:00 - 17-08 16:00:00 @ 22.83p 100%, 17-08 16:00:00 - 17-08 16:30:00 @ 36.84p 100%, 17-08 16:30:00 - 17-08 17:00:00 @ 37.54p 100%, 17-08 17:00:00 - 17-08 17:30:00 @ 41.79p 100%, 17-08 17:30:00 - 17-08 18:00:00 @ 43.7p 100%, 17-08 18:00:00 - 17-08 18:30:00 @ 44.34p 100%, 17-08 19:00:00 - 17-08 19:30:00 @ 34.79p 100% ] reserve 1.12
2026-08-15 19:26:09.315079: Unclipped charge windows [ 16-08 11:30:00 - 16-08 12:30:00 @ 23.46p 19%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 31%, 16-08 13:30:00 - 16-08 15:00:00 @ 21.75p 100%, 16-08 15:00:00 - 16-08 16:00:00 @ 22.89p 75%, 17-08 12:30:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 17-08 19:30:00 @ 34.79p 100% ] reserve 1.12
2026-08-15 19:26:09.316552: Unfiltered charge windows [ 16-08 11:30:00 - 16-08 12:30:00 @ 23.46p 19%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 31%, 16-08 13:30:00 - 16-08 15:00:00 @ 21.75p 100%, 16-08 15:00:00 - 16-08 16:00:00 @ 22.89p 75%, 17-08 12:30:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 17-08 19:30:00 @ 34.79p 100% ] reserve 1.12
2026-08-15 19:26:09.317119: Filtered charge windows [ 16-08 11:30:00 - 16-08 12:30:00 @ 23.46p 19%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 31%, 16-08 13:30:00 - 16-08 15:00:00 @ 21.75p 100%, 16-08 15:00:00 - 16-08 16:00:00 @ 22.89p 75%, 17-08 12:30:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 17-08 19:30:00 @ 34.79p 100% ] reserve 1.12
2026-08-15 19:26:09.375019: Previous plan best metric is 906.34 (cost 921.99) and new plan best metric is 905.34 (cost 921.01)
2026-08-15 19:26:09.375371: New plan metric is not significantly better (metric_min_improvement_plan 2.0) than previous plan, using previous plan
2026-08-15 19:26:09.375534: Plan valid is now true after recompute was False
2026-08-15 19:26:09.415794: predict base end_record 08-17 12:30:00, final soc 1.12kWh, metric 1089.71p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 14:30:00, load 36.84kWh, PV 0.0kWh
2026-08-15 19:26:09.635840: Battery has 19.08 hours left - now at 14.94kWh
2026-08-15 19:26:09.702386: predict base10 end_record 08-17 12:30:00, final soc 1.12kWh, metric 1123.02p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 13:30:00, load 38.13kWh, PV 0.0kWh
2026-08-15 19:26:09.918368: predict best10 end_record 08-17 12:30:00, final soc 1.12kWh, metric 1054.95p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 06:10:00, load 38.13kWh, PV 0.0kWh
2026-08-15 19:26:10.071290: predict best end_record 08-17 12:30:00, final soc 1.12kWh, metric 1021.96p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 07:10:00, load 36.84kWh, PV 0.0kWh
2026-08-15 19:26:10.071515: Saving plan best values to HA entities
2026-08-15 19:26:10.367325: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 19:26:10.377962: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 19:26:10.404161: Best charging limit SoC's [2.5, 5.0, 16.0, 12.0, 16.0]kWh, export []kWh gives import battery 12.32kWh, house 3.32kWh, export 0.0kWh, metric 1021.96p, metric10 1054.95p
2026-08-15 19:26:10.555068: Marginal costs baseline metric (no standing charge): 921.9935
2026-08-15 19:26:11.072510: Marginal energy costs matrix computed: min=23.54 max=28.86
2026-08-15 19:26:11.250152: Rate array import [{'start': 1165, 'end': 1410, 'rate': 'expensive', 'range': '(29.8p - 32.9p)'}, {'start': 1410, 'end': 2400, 'rate': 'cheap', 'range': '(21.4p - 28.2p)'}, {'start': 2400, 'end': 2430, 'rate': 'expensive', 'range': '(36.8p)'}, {'start': 2430, 'end': 2580, 'rate': 'very expensive', 'range': '(37.5p - 45.3p)'}, {'start': 2580, 'end': 2850, 'rate': 'expensive', 'range': '(30.0p - 35.9p)'}, {'start': 2850, 'end': 3630, 'rate': 'cheap', 'range': '(23.4p - 28.2p)'}] export [{'start': 1165, 'end': 3630, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 19:26:11.251196: - Your estimated bill for today is £5.70 and tomorrow is £3.21
2026-08-15 19:26:11.251260: - Import rates are expensive (29.8p - 32.9p) for the next 4 hours and then cheap (21.4p - 28.2p) for the next 16 hours.
2026-08-15 19:26:11.251284: - The battery is currently at 93% and is in eco mode for the next 15 hours.
2026-08-15 19:26:11.251303: - For the next 48 hours there will be no solar generation.
2026-08-15 19:26:11.261429: - You will run out of battery in 35 hours.
2026-08-15 19:26:11.261556: - Your next charge slot will be in 15 hours where import rates will be cheap (24.3p).
2026-08-15 19:26:11.261589: 
2026-08-15 19:26:11.390797: Plan calculation took 65.68 seconds
2026-08-15 19:26:11.391799: Inverter 0: Type SK Sunsynk
2026-08-15 19:26:11.391893: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 19:26:11.392201: Reserve min: 7%, battery_min: 7%
2026-08-15 19:26:11.393404: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 19:26:11.393938: Inverter 0 SoC: 14.88kW 93%, current charge rate 5000W, current discharge rate 5250W, current battery power 263W, current battery voltage 51.2V, grid power -54W, load power 327W, PV Power 0W
2026-08-15 19:26:11.394177: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 19:26:11.394348: Inverter 0 scheduled charge enable is False
2026-08-15 19:26:11.394427: Inverter 0 charge windows currently []
2026-08-15 19:26:11.394492: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 19:26:11.394672: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 19:26:11.394716: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 19:26:11.394776: Inverter 0 scheduled discharge enable is False
2026-08-15 19:26:11.394936: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 19:26:11.394994: Inverter 0 discharge windows currently []
2026-08-15 19:26:11.395048: Note: Inverter does not support discharge freeze - disabled
2026-08-15 19:26:11.395080: Note: Inverter does not support charge freeze - disabled
2026-08-15 19:26:11.395099: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 19:26:11.533455: Inverter 0 Charge window will be: 2026-08-16 11:00:00+01:00 - 2026-08-16 16:00:00+01:00 - current SoC 93%, target 16%
2026-08-15 19:26:11.533883: Inverter 0 disabled charge window while waiting for schedule (now 08-15 19:25:00 target set_window_minutes 30 charge start time 08-16 11:00:00) original inverter start time 08-17 00:00:00
2026-08-15 19:26:11.534118: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 19:26:11.534464: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 19:26:11.534603: No export window planned
2026-08-15 19:26:11.534851: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 19:26:11.534901: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 19:26:11.535161: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 19:26:11.535423: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 19:25:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 19:26:11.535518: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 19:26:11.535641: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 19:26:11.535842: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 19:26:11.535928: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 19:26:11.536045: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 19:26:11.536142: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 19:26:11.536228: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 19:26:11.536275: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 19:26:11.536381: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 19:26:11.536511: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 19:26:11.536589: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 19:26:11.536637: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 19:26:11.536715: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 19:26:11.536797: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 19:26:11.536876: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 19:26:11.537097: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 19:26:11.537160: Inverter 0 count register writes 0
2026-08-15 19:26:11.607719: Total inverter register writes now 826
2026-08-15 19:26:11.691221: Info: Completed run status Demand
2026-08-15 19:26:11.700169: Info: record_status Demand
2026-08-15 19:26:11.735464: Saved current settings to /config/predbat_config.json
2026-08-15 19:26:11.735908: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 19:26:24.075584: ML Predictor: Epoch 10/30: lr=0.00080 huber_loss=0.0087 val_mae=0.0026 kWh val_bias=-0.0004 kWh (-0.9%) combined=0.0016 kWh ema_combined=0.0022 kWh
2026-08-15 19:26:41.886416: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 19:26:41.886843: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 19:26:41.886909: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 19:26:41.887105: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 19:26:41.887158: Note: Inverter does not support discharge freeze - disabled
2026-08-15 19:26:41.887186: Note: Inverter does not support charge freeze - disabled
2026-08-15 19:26:41.887211: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 19:26:55.989308: ML Predictor: Epoch 11/30: lr=0.00076 huber_loss=0.0077 val_mae=0.0025 kWh val_bias=-0.0011 kWh (-2.0%) combined=0.0019 kWh ema_combined=0.0021 kWh
2026-08-15 19:27:30.974178: ML Predictor: Epoch 12/30: lr=0.00072 huber_loss=0.0080 val_mae=0.0026 kWh val_bias=+0.0003 kWh (+0.6%) combined=0.0015 kWh ema_combined=0.0019 kWh
2026-08-15 19:28:03.679847: ML Predictor: Epoch 13/30: lr=0.00067 huber_loss=0.0076 val_mae=0.0023 kWh val_bias=-0.0000 kWh (-0.0%) combined=0.0013 kWh ema_combined=0.0017 kWh
2026-08-15 19:28:35.908837: ML Predictor: Epoch 14/30: lr=0.00062 huber_loss=0.0079 val_mae=0.0022 kWh val_bias=-0.0003 kWh (-0.5%) combined=0.0012 kWh ema_combined=0.0016 kWh
2026-08-15 19:28:56.545729: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 19:28:56.546363: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 19:28:56.546431: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 19:28:56.546825: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 19:28:56.546924: Note: Inverter does not support discharge freeze - disabled
2026-08-15 19:28:56.547041: Note: Inverter does not support charge freeze - disabled
2026-08-15 19:28:56.547119: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 19:29:07.844311: ML Predictor: Epoch 15/30: lr=0.00057 huber_loss=0.0080 val_mae=0.0023 kWh val_bias=-0.0007 kWh (-1.4%) combined=0.0016 kWh ema_combined=0.0016 kWh
2026-08-15 19:29:39.407878: ML Predictor: Epoch 16/30: lr=0.00053 huber_loss=0.0069 val_mae=0.0022 kWh val_bias=+0.0005 kWh (+0.9%) combined=0.0013 kWh ema_combined=0.0015 kWh
2026-08-15 19:30:00.012490: --------------- PredBat - update at 2026-08-15 19:30:00+01:00 with clock skew 0 minutes, minutes now 1170
2026-08-15 19:30:00.015817: Saved current settings to /config/predbat_config.json
2026-08-15 19:30:00.016612: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 65.0 minutes
2026-08-15 19:30:00.016868: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.2, latest beta is v8.48.2
2026-08-15 19:30:00.031216: Autoupdate: There is an update pending v8.48.2 PV90 and second pass enabled by default, bug fixes - auto update is off
2026-08-15 19:30:00.115446: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 19:30:00.115590: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 19:30:00.115779: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 19:30:00.116349: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 19:30:00.116593: Predbat mode is set to Control charge & discharge
2026-08-15 19:30:00.642842: Found 21602 load_today datapoints going back 28 days
2026-08-15 19:30:00.649072: Using load_power data to fill gaps in load_today data
2026-08-15 19:30:01.855370: Processing 721 30-minute periods for power integration
2026-08-15 19:30:02.206569: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 19:30:02.206889: Car charging hold False, threshold 6.0kWh
2026-08-15 19:30:02.206978: Current data so far today: load 9.6kWh, import 27.7kWh, export 0.0kWh, PV 0kWh
2026-08-15 19:30:02.266180: Cars: SoC: [9.962]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 19:30:02.273128: Standing charge is set to 49.98p
2026-08-15 19:30:02.449883: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 19:30:02.450199: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 19:30:02.450574: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 530.0 minutes
2026-08-15 19:30:02.451286: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 530.0 minutes
2026-08-15 19:30:02.459575: Loaded 95 datapoints of futurerate analysis
2026-08-15 19:30:02.923437: Predicted future rates: ['08-15 00:00:00 => 28.69 / 20.01', '08-15 01:00:00 => 27.33 / 19.31', '08-15 02:00:00 => 26.31 / 18.8', '08-15 03:00:00 => 25.78 / 18.53', '08-15 04:00:00 => 25.59 / 18.43', '08-15 05:00:00 => 25.75 / 18.51', '08-15 06:00:00 => 25.34 / 18.3', '08-15 07:00:00 => 24.12 / 17.68', '08-15 08:00:00 => 22.82 / 17.01', '08-15 09:00:00 => 21.84 / 16.51', '08-15 10:00:00 => 20.22 / 15.68', '08-15 11:00:00 => 17.8 / 14.45', '08-15 12:00:00 => 16.16 / 13.61', '08-15 13:00:00 => 15.55 / 13.3', '08-15 14:00:00 => 15.14 / 13.09', '08-15 15:00:00 => 15.65 / 13.35', '08-15 16:00:00 => 32.68 / 16.13', '08-15 17:00:00 => 37.81 / 18.75', '08-15 18:00:00 => 42.15 / 20.96', '08-15 19:00:00 => 30.88 / 21.13', '08-15 20:00:00 => 31.43 / 21.41', '08-15 21:00:00 => 31.43 / 21.41', '08-15 22:00:00 => 30.37 / 20.87', '08-15 23:00:00 => 29.16 / 20.25', '08-16 00:00:00 => 28.62 / 19.97', '08-16 01:00:00 => 27.52 / 19.41', '08-16 02:00:00 => 26.55 / 18.92', '08-16 03:00:00 => 26.18 / 18.73', '08-16 04:00:00 => 26.12 / 18.7', '08-16 05:00:00 => 26.02 / 18.65', '08-16 06:00:00 => 25.78 / 18.53', '08-16 07:00:00 => 25.43 / 18.35', '08-16 08:00:00 => 24.63 / 17.94', '08-16 09:00:00 => 24.05 / 17.64', '08-16 10:00:00 => 24.59 / 17.92', '08-16 11:00:00 => 24.5 / 17.87', '08-16 12:00:00 => 23.58 / 17.4', '08-16 13:00:00 => 22.93 / 17.07', '08-16 14:00:00 => 21.8 / 16.49', '08-16 15:00:00 => 21.8 / 16.49', '08-16 16:00:00 => 36.93 / 18.3', '08-16 17:00:00 => 39.92 / 19.83', '08-16 18:00:00 => 43.98 / 21.9']
2026-08-15 19:30:02.983806: Rate min forward looking: now 21.41p at end of forecast 21.41p
2026-08-15 19:30:02.984418: Import rates: min 21.41p, max 45.28p, average 28.51p
2026-08-15 19:30:03.033222: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 19:30:03.033602: Rate thresholds (for charge/export) are import 44.78p (0.0p), export -0.1p (0.0p)
2026-08-15 19:30:03.036650: High export rate found rates in range 99p to -99p
2026-08-15 19:30:03.306866: Low Import rate found rates in range 21.41p to 44.34p
2026-08-15 19:30:03.307184: Car 0 charging is not planned as it is not plugged in
2026-08-15 19:30:03.349958: Battery level now 14.94kWh, -1hr ago 15.2kWh, at midnight 1.66kWh, battery value change in the last hour -4.86p, change today 244.26p, rate_forward 18.39p
2026-08-15 19:30:03.350582: Last hour: net energy 0.03kWh, import 0.03kWh, export 0.0kWh, car 0kWh, load 0.25kWh, net cost 1.33p, import 1.33p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 19:30:03.504761: Today's energy total net 27.7kWh, import 27.7kWh, export 0.0kWh, cost 570.18p, import 520.2p, export 0.0p, carbon 0.0kg
2026-08-15 19:30:03.505138: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 19:30:03.724620: Using weighted-bucket historical load forecast over 14 days
2026-08-15 19:30:03.761804: Today's load divergence 85.01%, in-day adjustment 96.64%, damping 0.95x, yesterday 143.77% today 85.76% blend 18.75%
2026-08-15 19:30:03.762609: Today's predicted so far 11.67kWh with 0.0kWh car/iBoost excluded, 20.77kWh import ignored, and 11.67kWh forecast extra.
2026-08-15 19:30:03.762693: Today's actual load so far 9.69kWh with 0.0kWh car/iBoost excluded, and 20.77kWh import ignored.
2026-08-15 19:30:03.846883: Inverter 0: Type SK Sunsynk
2026-08-15 19:30:03.846998: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 19:30:03.847191: Reserve min: 7%, battery_min: 7%
2026-08-15 19:30:03.847265: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 19:30:03.847538: Inverter 0 SoC: 14.88kW 93%, current charge rate 5000W, current discharge rate 5250W, current battery power 314W, current battery voltage 51.2V, grid power -55W, load power 374W, PV Power 0W
2026-08-15 19:30:03.847706: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 19:30:03.847799: Inverter 0 scheduled charge enable is False
2026-08-15 19:30:03.847836: Inverter 0 charge windows currently []
2026-08-15 19:30:03.847863: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 19:30:03.848060: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 19:30:03.848111: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 19:30:03.848150: Inverter 0 scheduled discharge enable is False
2026-08-15 19:30:03.848280: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 19:30:03.848320: Inverter 0 discharge windows currently []
2026-08-15 19:30:03.848343: Note: Inverter does not support discharge freeze - disabled
2026-08-15 19:30:03.848362: Note: Inverter does not support charge freeze - disabled
2026-08-15 19:30:03.848379: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 19:30:04.020150: Dynamic load last period 0.00kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 19:30:04.020273: Plan was last updated on 2026-08-15 19:25:00+01:00 and is now 5.0 minutes old
2026-08-15 19:30:04.020529: Best charge window [ 16-08 11:00:00 - 16-08 12:30:00 @ 23.65p 16%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 31%, 16-08 13:30:00 - 16-08 15:00:00 @ 21.91p 100%, 16-08 15:00:00 - 16-08 16:00:00 @ 22.89p 75%, 17-08 12:30:00 - 17-08 18:00:00 @ 40.7p 100% ]
2026-08-15 19:30:04.020575: Best export window [  ]
2026-08-15 19:30:04.021470: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 19:30:04.024836: Load divergence over 8.0 hours mean 798.2W, min 369.0W, max 1953.0W, std dev 441.11W, divergence 27.63%
2026-08-15 19:30:04.058653: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 19:30:04.058812: LoadML is_calculating True
2026-08-15 19:30:04.058843: Not using thread pool as LoadML is calculating to avoid lockups
2026-08-15 19:30:04.160309: predict base end_record 08-17 12:35:00, final soc 1.12kWh, metric 1089.94p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 14:35:00, load 36.74kWh, PV 0.0kWh
2026-08-15 19:30:04.378301: Battery has 19.08 hours left - now at 14.88kWh
2026-08-15 19:30:04.494074: predict base10 end_record 08-17 12:35:00, final soc 1.12kWh, metric 1123.22p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 13:35:00, load 38.03kWh, PV 0.0kWh
2026-08-15 19:30:04.627570: predict best10 end_record 08-17 12:35:00, final soc 1.44kWh, metric 1062.87p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 06:10:00, load 38.03kWh, PV 0.0kWh
2026-08-15 19:30:04.843915: predict best end_record 08-17 12:35:00, final soc 1.51kWh, metric 1031.41p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 07:10:00, load 36.74kWh, PV 0.0kWh
2026-08-15 19:30:04.844052: Saving plan best values to HA entities
2026-08-15 19:30:05.276247: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 19:30:05.296279: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0.0
2026-08-15 19:30:05.306687: Best charging limit SoC's [2.5, 5.0, 16.0, 12.0, 16.0]kWh, export []kWh gives import battery 12.76kWh, house 3.31kWh, export 0.0kWh, metric 1031.41p, metric10 1062.87p
2026-08-15 19:30:05.472763: Marginal costs baseline metric (no standing charge): 931.4399
2026-08-15 19:30:06.085011: Marginal energy costs matrix computed: min=23.5 max=28.81
2026-08-15 19:30:06.217008: Rate array import [{'start': 1170, 'end': 1410, 'rate': 'expensive', 'range': '(29.8p - 32.9p)'}, {'start': 1410, 'end': 2400, 'rate': 'cheap', 'range': '(21.4p - 28.2p)'}, {'start': 2400, 'end': 2430, 'rate': 'expensive', 'range': '(36.8p)'}, {'start': 2430, 'end': 2580, 'rate': 'very expensive', 'range': '(37.5p - 45.3p)'}, {'start': 2580, 'end': 2850, 'rate': 'expensive', 'range': '(30.0p - 35.9p)'}, {'start': 2850, 'end': 3635, 'rate': 'cheap', 'range': '(22.3p - 28.2p)'}] export [{'start': 1170, 'end': 3635, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 19:30:06.217789: - Your estimated bill for today is £5.70 and tomorrow is £3.20
2026-08-15 19:30:06.217841: - Import rates are expensive (29.8p - 32.9p) for the next 4 hours and then cheap (21.4p - 28.2p) for the next 16 hours.
2026-08-15 19:30:06.217864: - The battery is currently at 93% and is in eco mode for the next 15 hours.
2026-08-15 19:30:06.217883: - For the next 48 hours there will be no solar generation.
2026-08-15 19:30:06.217900: - You will run out of battery in 35 hours.
2026-08-15 19:30:06.217917: - Your next charge slot will be in 15 hours where import rates will be cheap (24.3p).
2026-08-15 19:30:06.218014: 
2026-08-15 19:30:06.276014: Plan calculation took 2.26 seconds
2026-08-15 19:30:06.279690: No high rate period found
2026-08-15 19:30:06.426039: Import threshold used for optimisation was 24.25p
2026-08-15 19:30:06.579437: Low import rate windows [0: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 1: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 2: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 3: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 4: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 5: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 6: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 7: 08-15 23:00:00 - 08-15 23:30:00 @ 30.02, 8: 08-15 23:30:00 - 08-16 00:00:00 @ 27.8, 9: 08-16 00:00:00 - 08-16 00:30:00 @ 28.18, 10: 08-16 00:30:00 - 08-16 01:00:00 @ 27.38, 11: 08-16 01:00:00 - 08-16 01:30:00 @ 26.7, 12: 08-16 01:30:00 - 08-16 02:00:00 @ 26.31, 13: 08-16 02:00:00 - 08-16 02:30:00 @ 25.79, 14: 08-16 02:30:00 - 08-16 03:00:00 @ 25.86, 15: 08-16 03:00:00 - 08-16 03:30:00 @ 26.13, 16: 08-16 03:30:00 - 08-16 04:00:00 @ 25.86, 17: 08-16 04:00:00 - 08-16 04:30:00 @ 26.27, 18: 08-16 04:30:00 - 08-16 05:00:00 @ 26.14, 19: 08-16 05:00:00 - 08-16 05:30:00 @ 27.03, 20: 08-16 05:30:00 - 08-16 06:00:00 @ 26.28, 21: 08-16 06:00:00 - 08-16 06:30:00 @ 25.68, 22: 08-16 06:30:00 - 08-16 07:00:00 @ 26.1, 23: 08-16 07:00:00 - 08-16 07:30:00 @ 24.28, 24: 08-16 07:30:00 - 08-16 08:00:00 @ 24.94, 25: 08-16 08:00:00 - 08-16 08:30:00 @ 24.06, 26: 08-16 08:30:00 - 08-16 09:00:00 @ 24.39, 27: 08-16 09:00:00 - 08-16 09:30:00 @ 24.66, 28: 08-16 09:30:00 - 08-16 10:00:00 @ 24.06, 29: 08-16 10:00:00 - 08-16 10:30:00 @ 25.5, 30: 08-16 10:30:00 - 08-16 11:00:00 @ 24.94, 31: 08-16 11:00:00 - 08-16 11:30:00 @ 24.25, 32: 08-16 11:30:00 - 08-16 12:00:00 @ 23.49, 33: 08-16 12:00:00 - 08-16 12:30:00 @ 23.43, 34: 08-16 12:30:00 - 08-16 13:00:00 @ 22.33, 35: 08-16 13:00:00 - 08-16 13:30:00 @ 22.76, 36: 08-16 13:30:00 - 08-16 14:00:00 @ 22.3, 37: 08-16 14:00:00 - 08-16 14:30:00 @ 21.41, 38: 08-16 14:30:00 - 08-16 15:00:00 @ 21.65, 39: 08-16 15:00:00 - 08-16 15:30:00 @ 22.95, 40: 08-16 15:30:00 - 08-16 16:00:00 @ 22.83, 41: 08-16 16:00:00 - 08-16 16:30:00 @ 36.84, 42: 08-16 16:30:00 - 08-16 17:00:00 @ 37.54, 43: 08-16 17:00:00 - 08-16 17:30:00 @ 41.79, 44: 08-16 17:30:00 - 08-16 18:00:00 @ 43.7, 45: 08-16 18:00:00 - 08-16 18:30:00 @ 44.34, 46: 08-16 19:00:00 - 08-16 19:30:00 @ 34.79, 47: 08-16 19:30:00 - 08-16 20:00:00 @ 34.76, 48: 08-16 20:00:00 - 08-16 20:30:00 @ 35.62, 49: 08-16 20:30:00 - 08-16 21:00:00 @ 35.3, 50: 08-16 21:00:00 - 08-16 21:30:00 @ 35.89, 51: 08-16 21:30:00 - 08-16 22:00:00 @ 35.71, 52: 08-16 22:00:00 - 08-16 22:30:00 @ 33.75, 53: 08-16 22:30:00 - 08-16 23:00:00 @ 32.0, 54: 08-16 23:00:00 - 08-16 23:30:00 @ 30.02, 55: 08-16 23:30:00 - 08-17 00:00:00 @ 27.8, 56: 08-17 00:00:00 - 08-17 00:30:00 @ 28.18, 57: 08-17 00:30:00 - 08-17 01:00:00 @ 27.38, 58: 08-17 01:00:00 - 08-17 01:30:00 @ 26.7, 59: 08-17 01:30:00 - 08-17 02:00:00 @ 26.31, 60: 08-17 02:00:00 - 08-17 02:30:00 @ 25.79, 61: 08-17 02:30:00 - 08-17 03:00:00 @ 25.86, 62: 08-17 03:00:00 - 08-17 03:30:00 @ 26.13, 63: 08-17 03:30:00 - 08-17 04:00:00 @ 25.86, 64: 08-17 04:00:00 - 08-17 04:30:00 @ 26.27, 65: 08-17 04:30:00 - 08-17 05:00:00 @ 26.14, 66: 08-17 05:00:00 - 08-17 05:30:00 @ 27.03, 67: 08-17 05:30:00 - 08-17 06:00:00 @ 26.28, 68: 08-17 06:00:00 - 08-17 06:30:00 @ 25.68, 69: 08-17 06:30:00 - 08-17 07:00:00 @ 26.1, 70: 08-17 07:00:00 - 08-17 07:30:00 @ 24.28, 71: 08-17 07:30:00 - 08-17 08:00:00 @ 24.94, 72: 08-17 08:00:00 - 08-17 08:30:00 @ 24.06, 73: 08-17 08:30:00 - 08-17 09:00:00 @ 24.39, 74: 08-17 09:00:00 - 08-17 09:30:00 @ 24.66, 75: 08-17 09:30:00 - 08-17 10:00:00 @ 24.06, 76: 08-17 10:00:00 - 08-17 10:30:00 @ 25.5, 77: 08-17 10:30:00 - 08-17 11:00:00 @ 24.94, 78: 08-17 11:00:00 - 08-17 11:30:00 @ 24.25, 79: 08-17 11:30:00 - 08-17 12:00:00 @ 23.49, 80: 08-17 12:00:00 - 08-17 12:30:00 @ 23.43, 81: 08-17 12:30:00 - 08-17 13:00:00 @ 22.33, 82: 08-17 13:00:00 - 08-17 13:30:00 @ 22.76, 83: 08-17 13:30:00 - 08-17 14:00:00 @ 22.3, 84: 08-17 14:00:00 - 08-17 14:30:00 @ 21.41, 85: 08-17 14:30:00 - 08-17 15:00:00 @ 21.65, 86: 08-17 15:00:00 - 08-17 15:30:00 @ 22.95, 87: 08-17 15:30:00 - 08-17 16:00:00 @ 22.83, 88: 08-17 16:00:00 - 08-17 16:30:00 @ 36.84, 89: 08-17 16:30:00 - 08-17 17:00:00 @ 37.54, 90: 08-17 17:00:00 - 08-17 17:30:00 @ 41.79, 91: 08-17 17:30:00 - 08-17 18:00:00 @ 43.7, 92: 08-17 18:00:00 - 08-17 18:30:00 @ 44.34, 93: 08-17 19:00:00 - 08-17 19:30:00 @ 34.79]
2026-08-15 19:30:06.609084: Inverter 0 Charge window will be: 2026-08-16 11:00:00+01:00 - 2026-08-16 16:00:00+01:00 - current SoC 93%, target 16%
2026-08-15 19:30:06.609421: Inverter 0 disabled charge window while waiting for schedule (now 08-15 19:30:00 target set_window_minutes 30 charge start time 08-16 11:00:00) original inverter start time 08-17 00:00:00
2026-08-15 19:30:06.609597: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 19:30:06.609928: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 19:30:06.610111: No export window planned
2026-08-15 19:30:06.610329: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 19:30:06.610410: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 19:30:06.610707: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 19:30:06.610974: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 19:30:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 19:30:06.611108: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 19:30:06.611244: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 19:30:06.611415: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 19:30:06.611477: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 19:30:06.611617: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 19:30:06.611690: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 19:30:06.611863: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 19:30:06.612013: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 19:30:06.612152: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 19:30:06.612365: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 19:30:06.612509: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 19:30:06.612650: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 19:30:06.612841: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 19:30:06.613044: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 19:30:06.613203: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 19:30:06.613357: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 19:30:06.613496: Inverter 0 count register writes 0
2026-08-15 19:30:06.677281: Will not recompute the plan, it is 5.0 minutes old and max age is 10 minutes
2026-08-15 19:30:06.698171: Total inverter register writes now 826
2026-08-15 19:30:06.784872: Info: Completed run status Demand
2026-08-15 19:30:06.795212: Info: record_status Demand
2026-08-15 19:30:06.805580: Saved current settings to /config/predbat_config.json
2026-08-15 19:30:06.805931: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 19:30:18.127745: ML Predictor: Epoch 17/30: lr=0.00048 huber_loss=0.0072 val_mae=0.0022 kWh val_bias=-0.0000 kWh (-0.0%) combined=0.0011 kWh ema_combined=0.0014 kWh
2026-08-15 19:30:42.009975: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 19:30:42.010438: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 19:30:42.010497: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 19:30:42.010748: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 19:30:42.010805: Note: Inverter does not support discharge freeze - disabled
2026-08-15 19:30:42.010889: Note: Inverter does not support charge freeze - disabled
2026-08-15 19:30:42.010928: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 19:30:52.912462: ML Predictor: Epoch 18/30: lr=0.00043 huber_loss=0.0062 val_mae=0.0024 kWh val_bias=-0.0013 kWh (-2.4%) combined=0.0022 kWh ema_combined=0.0016 kWh
2026-08-15 19:31:26.159441: ML Predictor: Epoch 19/30: lr=0.00038 huber_loss=0.0064 val_mae=0.0021 kWh val_bias=-0.0001 kWh (-0.3%) combined=0.0011 kWh ema_combined=0.0015 kWh
2026-08-15 19:31:58.583011: ML Predictor: Epoch 20/30: lr=0.00034 huber_loss=0.0060 val_mae=0.0020 kWh val_bias=-0.0005 kWh (-1.0%) combined=0.0014 kWh ema_combined=0.0014 kWh
2026-08-15 19:32:29.680072: ML Predictor: Epoch 21/30: lr=0.00030 huber_loss=0.0060 val_mae=0.0020 kWh val_bias=-0.0004 kWh (-0.8%) combined=0.0013 kWh ema_combined=0.0014 kWh
2026-08-15 19:32:56.634382: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 19:32:56.634898: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 19:32:56.635145: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 19:32:56.635531: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 19:32:56.635739: Note: Inverter does not support discharge freeze - disabled
2026-08-15 19:32:56.635856: Note: Inverter does not support charge freeze - disabled
2026-08-15 19:32:56.636038: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 19:33:01.835318: ML Predictor: Epoch 22/30: lr=0.00026 huber_loss=0.0059 val_mae=0.0019 kWh val_bias=+0.0000 kWh (+0.0%) combined=0.0010 kWh ema_combined=0.0013 kWh
2026-08-15 19:33:34.227193: ML Predictor: Epoch 23/30: lr=0.00022 huber_loss=0.0059 val_mae=0.0019 kWh val_bias=+0.0002 kWh (+0.4%) combined=0.0012 kWh ema_combined=0.0013 kWh
2026-08-15 19:34:05.452344: ML Predictor: Epoch 24/30: lr=0.00019 huber_loss=0.0058 val_mae=0.0018 kWh val_bias=+0.0001 kWh (+0.2%) combined=0.0011 kWh ema_combined=0.0012 kWh
2026-08-15 19:34:37.710795: ML Predictor: Epoch 25/30: lr=0.00016 huber_loss=0.0054 val_mae=0.0018 kWh val_bias=-0.0000 kWh (-0.1%) combined=0.0009 kWh ema_combined=0.0011 kWh
2026-08-15 19:34:57.145551: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 19:34:57.145803: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 19:34:57.145850: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 19:34:57.146007: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 19:34:57.146051: Note: Inverter does not support discharge freeze - disabled
2026-08-15 19:34:57.146073: Note: Inverter does not support charge freeze - disabled
2026-08-15 19:34:57.146092: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 19:35:00.358760: --------------- PredBat - update at 2026-08-15 19:35:00+01:00 with clock skew 0 minutes, minutes now 1175
2026-08-15 19:35:00.359894: Saved current settings to /config/predbat_config.json
2026-08-15 19:35:00.360121: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 70.0 minutes
2026-08-15 19:35:00.363083: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.2, latest beta is v8.48.2
2026-08-15 19:35:00.363237: Autoupdate: There is an update pending v8.48.2 PV90 and second pass enabled by default, bug fixes - auto update is off
2026-08-15 19:35:00.409352: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 19:35:00.409499: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 19:35:00.409677: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 19:35:00.410274: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 19:35:00.410428: Predbat mode is set to Control charge & discharge
2026-08-15 19:35:00.885016: Found 21602 load_today datapoints going back 28 days
2026-08-15 19:35:00.885312: Using load_power data to fill gaps in load_today data
2026-08-15 19:35:02.218749: Processing 721 30-minute periods for power integration
2026-08-15 19:35:02.472648: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 19:35:02.472902: Car charging hold False, threshold 6.0kWh
2026-08-15 19:35:02.473009: Current data so far today: load 9.6kWh, import 27.7kWh, export 0.0kWh, PV 0kWh
2026-08-15 19:35:02.491067: Cars: SoC: [9.962]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 19:35:02.491598: Standing charge is set to 49.98p
2026-08-15 19:35:02.624648: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 19:35:02.624764: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 19:35:02.625082: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 535.0 minutes
2026-08-15 19:35:02.625583: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 535.0 minutes
2026-08-15 19:35:02.631699: Loaded 95 datapoints of futurerate analysis
2026-08-15 19:35:02.828181: Predicted future rates: ['08-15 00:00:00 => 28.69 / 20.01', '08-15 01:00:00 => 27.33 / 19.31', '08-15 02:00:00 => 26.31 / 18.8', '08-15 03:00:00 => 25.78 / 18.53', '08-15 04:00:00 => 25.59 / 18.43', '08-15 05:00:00 => 25.75 / 18.51', '08-15 06:00:00 => 25.34 / 18.3', '08-15 07:00:00 => 24.12 / 17.68', '08-15 08:00:00 => 22.82 / 17.01', '08-15 09:00:00 => 21.84 / 16.51', '08-15 10:00:00 => 20.22 / 15.68', '08-15 11:00:00 => 17.8 / 14.45', '08-15 12:00:00 => 16.16 / 13.61', '08-15 13:00:00 => 15.55 / 13.3', '08-15 14:00:00 => 15.14 / 13.09', '08-15 15:00:00 => 15.65 / 13.35', '08-15 16:00:00 => 32.68 / 16.13', '08-15 17:00:00 => 37.81 / 18.75', '08-15 18:00:00 => 42.15 / 20.96', '08-15 19:00:00 => 30.88 / 21.13', '08-15 20:00:00 => 31.43 / 21.41', '08-15 21:00:00 => 31.43 / 21.41', '08-15 22:00:00 => 30.37 / 20.87', '08-15 23:00:00 => 29.16 / 20.25', '08-16 00:00:00 => 28.62 / 19.97', '08-16 01:00:00 => 27.52 / 19.41', '08-16 02:00:00 => 26.55 / 18.92', '08-16 03:00:00 => 26.18 / 18.73', '08-16 04:00:00 => 26.12 / 18.7', '08-16 05:00:00 => 26.02 / 18.65', '08-16 06:00:00 => 25.78 / 18.53', '08-16 07:00:00 => 25.43 / 18.35', '08-16 08:00:00 => 24.63 / 17.94', '08-16 09:00:00 => 24.05 / 17.64', '08-16 10:00:00 => 24.59 / 17.92', '08-16 11:00:00 => 24.5 / 17.87', '08-16 12:00:00 => 23.58 / 17.4', '08-16 13:00:00 => 22.93 / 17.07', '08-16 14:00:00 => 21.8 / 16.49', '08-16 15:00:00 => 21.8 / 16.49', '08-16 16:00:00 => 36.93 / 18.3', '08-16 17:00:00 => 39.92 / 19.83', '08-16 18:00:00 => 43.98 / 21.9']
2026-08-15 19:35:02.879145: Rate min forward looking: now 21.41p at end of forecast 21.41p
2026-08-15 19:35:02.879980: Import rates: min 21.41p, max 45.28p, average 28.51p
2026-08-15 19:35:02.925263: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 19:35:02.925524: Rate thresholds (for charge/export) are import 44.78p (0.0p), export -0.1p (0.0p)
2026-08-15 19:35:02.927880: High export rate found rates in range 99p to -99p
2026-08-15 19:35:03.121830: Low Import rate found rates in range 21.41p to 44.34p
2026-08-15 19:35:03.122011: Car 0 charging is not planned as it is not plugged in
2026-08-15 19:35:03.156090: Battery level now 14.88kWh, -1hr ago 15.2kWh, at midnight 1.66kWh, battery value change in the last hour -5.89p, change today 243.23p, rate_forward 18.39p
2026-08-15 19:35:03.156646: Last hour: net energy 0.03kWh, import 0.03kWh, export 0.0kWh, car 0kWh, load 0.2kWh, net cost 1.13p, import 1.13p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 19:35:03.323134: Today's energy total net 27.7kWh, import 27.7kWh, export 0.0kWh, cost 570.18p, import 520.2p, export 0.0p, carbon 0.0kg
2026-08-15 19:35:03.323335: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 19:35:03.431172: Using weighted-bucket historical load forecast over 14 days
2026-08-15 19:35:03.467924: Today's load divergence 84.75%, in-day adjustment 96.23%, damping 0.95x, yesterday 143.77% today 85.51% blend 18.4%
2026-08-15 19:35:03.468274: Today's predicted so far 11.78kWh with 0.0kWh car/iBoost excluded, 20.86kWh import ignored, and 11.78kWh forecast extra.
2026-08-15 19:35:03.468358: Today's actual load so far 9.77kWh with 0.0kWh car/iBoost excluded, and 20.86kWh import ignored.
2026-08-15 19:35:03.515186: Inverter 0: Type SK Sunsynk
2026-08-15 19:35:03.515283: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 19:35:03.515469: Reserve min: 7%, battery_min: 7%
2026-08-15 19:35:03.515541: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 19:35:03.515808: Inverter 0 SoC: 14.88kW 93%, current charge rate 5000W, current discharge rate 5250W, current battery power 280W, current battery voltage 51.2V, grid power -53W, load power 340W, PV Power 0W
2026-08-15 19:35:03.515974: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 19:35:03.516067: Inverter 0 scheduled charge enable is False
2026-08-15 19:35:03.516104: Inverter 0 charge windows currently []
2026-08-15 19:35:03.516131: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 19:35:03.516242: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 19:35:03.516277: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 19:35:03.516312: Inverter 0 scheduled discharge enable is False
2026-08-15 19:35:03.516445: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 19:35:03.516482: Inverter 0 discharge windows currently []
2026-08-15 19:35:03.516504: Note: Inverter does not support discharge freeze - disabled
2026-08-15 19:35:03.516528: Note: Inverter does not support charge freeze - disabled
2026-08-15 19:35:03.516546: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 19:35:03.626887: Dynamic load last period 0.00kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 19:35:03.627033: Plan was last updated on 2026-08-15 19:25:00+01:00 and is now 10.0 minutes old
2026-08-15 19:35:03.627285: Best charge window [ 16-08 11:00:00 - 16-08 12:30:00 @ 23.65p 16%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 31%, 16-08 13:30:00 - 16-08 15:00:00 @ 21.91p 100%, 16-08 15:00:00 - 16-08 16:00:00 @ 22.89p 75%, 17-08 12:30:00 - 17-08 18:00:00 @ 40.7p 100% ]
2026-08-15 19:35:03.627333: Best export window [  ]
2026-08-15 19:35:03.628086: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 19:35:03.631413: Load divergence over 8.0 hours mean 797.61W, min 348.6W, max 2423.4W, std dev 475.05W, divergence 29.78%
2026-08-15 19:35:03.660237: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 19:35:03.660359: LoadML is_calculating True
2026-08-15 19:35:03.660387: Not using thread pool as LoadML is calculating to avoid lockups
2026-08-15 19:35:03.713912: predict base end_record 08-17 12:40:00, final soc 1.12kWh, metric 1088.86p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 14:45:00, load 36.7kWh, PV 0.0kWh
2026-08-15 19:35:04.016260: Battery has 19.17 hours left - now at 14.88kWh
2026-08-15 19:35:04.072413: predict base10 end_record 08-17 12:40:00, final soc 1.12kWh, metric 1122.0p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 13:45:00, load 37.99kWh, PV 0.0kWh
2026-08-15 19:35:04.259384: predict best10 end_record 08-17 12:40:00, final soc 1.77kWh, metric 1069.54p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 06:10:00, load 37.99kWh, PV 0.0kWh
2026-08-15 19:35:04.369401: predict best end_record 08-17 12:40:00, final soc 1.9kWh, metric 1039.5p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 07:10:00, load 36.7kWh, PV 0.0kWh
2026-08-15 19:35:04.394831: Saving plan best values to HA entities
2026-08-15 19:35:04.747843: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 19:35:04.756544: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0.0
2026-08-15 19:35:04.764822: Best charging limit SoC's [2.5, 5.0, 16.0, 12.0, 16.0]kWh, export []kWh gives import battery 13.15kWh, house 3.28kWh, export 0.0kWh, metric 1039.5p, metric10 1069.54p
2026-08-15 19:35:04.951594: Marginal costs baseline metric (no standing charge): 939.5295
2026-08-15 19:35:05.694749: Marginal energy costs matrix computed: min=23.61 max=28.76
2026-08-15 19:35:05.960641: Rate array import [{'start': 1175, 'end': 1410, 'rate': 'expensive', 'range': '(29.8p - 32.9p)'}, {'start': 1410, 'end': 2400, 'rate': 'cheap', 'range': '(21.4p - 28.2p)'}, {'start': 2400, 'end': 2430, 'rate': 'expensive', 'range': '(36.8p)'}, {'start': 2430, 'end': 2580, 'rate': 'very expensive', 'range': '(37.5p - 45.3p)'}, {'start': 2580, 'end': 2850, 'rate': 'expensive', 'range': '(30.0p - 35.9p)'}, {'start': 2850, 'end': 3640, 'rate': 'cheap', 'range': '(22.3p - 28.2p)'}] export [{'start': 1175, 'end': 3640, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 19:35:05.962043: - Your estimated bill for today is £5.70 and tomorrow is £3.18
2026-08-15 19:35:05.975010: - Import rates are expensive (29.8p - 32.9p) for the next 3  hours and then cheap (21.4p - 28.2p) for the next 16 hours.
2026-08-15 19:35:05.975109: - The battery is currently at 93% and is in eco mode for the next 15 hours.
2026-08-15 19:35:05.975141: - For the next 48 hours there will be no solar generation.
2026-08-15 19:35:05.975173: - You will run out of battery in 35 hours.
2026-08-15 19:35:05.975203: - Your next charge slot will be in 15 hours where import rates will be cheap (24.3p).
2026-08-15 19:35:05.975241: 
2026-08-15 19:35:06.098763: Plan calculation took 2.47 seconds
2026-08-15 19:35:06.104713: No high rate period found
2026-08-15 19:35:06.189123: Import threshold used for optimisation was 24.25p
2026-08-15 19:35:06.287669: Low import rate windows [0: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 1: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 2: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 3: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 4: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 5: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 6: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 7: 08-15 23:00:00 - 08-15 23:30:00 @ 30.02, 8: 08-15 23:30:00 - 08-16 00:00:00 @ 27.8, 9: 08-16 00:00:00 - 08-16 00:30:00 @ 28.18, 10: 08-16 00:30:00 - 08-16 01:00:00 @ 27.38, 11: 08-16 01:00:00 - 08-16 01:30:00 @ 26.7, 12: 08-16 01:30:00 - 08-16 02:00:00 @ 26.31, 13: 08-16 02:00:00 - 08-16 02:30:00 @ 25.79, 14: 08-16 02:30:00 - 08-16 03:00:00 @ 25.86, 15: 08-16 03:00:00 - 08-16 03:30:00 @ 26.13, 16: 08-16 03:30:00 - 08-16 04:00:00 @ 25.86, 17: 08-16 04:00:00 - 08-16 04:30:00 @ 26.27, 18: 08-16 04:30:00 - 08-16 05:00:00 @ 26.14, 19: 08-16 05:00:00 - 08-16 05:30:00 @ 27.03, 20: 08-16 05:30:00 - 08-16 06:00:00 @ 26.28, 21: 08-16 06:00:00 - 08-16 06:30:00 @ 25.68, 22: 08-16 06:30:00 - 08-16 07:00:00 @ 26.1, 23: 08-16 07:00:00 - 08-16 07:30:00 @ 24.28, 24: 08-16 07:30:00 - 08-16 08:00:00 @ 24.94, 25: 08-16 08:00:00 - 08-16 08:30:00 @ 24.06, 26: 08-16 08:30:00 - 08-16 09:00:00 @ 24.39, 27: 08-16 09:00:00 - 08-16 09:30:00 @ 24.66, 28: 08-16 09:30:00 - 08-16 10:00:00 @ 24.06, 29: 08-16 10:00:00 - 08-16 10:30:00 @ 25.5, 30: 08-16 10:30:00 - 08-16 11:00:00 @ 24.94, 31: 08-16 11:00:00 - 08-16 11:30:00 @ 24.25, 32: 08-16 11:30:00 - 08-16 12:00:00 @ 23.49, 33: 08-16 12:00:00 - 08-16 12:30:00 @ 23.43, 34: 08-16 12:30:00 - 08-16 13:00:00 @ 22.33, 35: 08-16 13:00:00 - 08-16 13:30:00 @ 22.76, 36: 08-16 13:30:00 - 08-16 14:00:00 @ 22.3, 37: 08-16 14:00:00 - 08-16 14:30:00 @ 21.41, 38: 08-16 14:30:00 - 08-16 15:00:00 @ 21.65, 39: 08-16 15:00:00 - 08-16 15:30:00 @ 22.95, 40: 08-16 15:30:00 - 08-16 16:00:00 @ 22.83, 41: 08-16 16:00:00 - 08-16 16:30:00 @ 36.84, 42: 08-16 16:30:00 - 08-16 17:00:00 @ 37.54, 43: 08-16 17:00:00 - 08-16 17:30:00 @ 41.79, 44: 08-16 17:30:00 - 08-16 18:00:00 @ 43.7, 45: 08-16 18:00:00 - 08-16 18:30:00 @ 44.34, 46: 08-16 19:00:00 - 08-16 19:30:00 @ 34.79, 47: 08-16 19:30:00 - 08-16 20:00:00 @ 34.76, 48: 08-16 20:00:00 - 08-16 20:30:00 @ 35.62, 49: 08-16 20:30:00 - 08-16 21:00:00 @ 35.3, 50: 08-16 21:00:00 - 08-16 21:30:00 @ 35.89, 51: 08-16 21:30:00 - 08-16 22:00:00 @ 35.71, 52: 08-16 22:00:00 - 08-16 22:30:00 @ 33.75, 53: 08-16 22:30:00 - 08-16 23:00:00 @ 32.0, 54: 08-16 23:00:00 - 08-16 23:30:00 @ 30.02, 55: 08-16 23:30:00 - 08-17 00:00:00 @ 27.8, 56: 08-17 00:00:00 - 08-17 00:30:00 @ 28.18, 57: 08-17 00:30:00 - 08-17 01:00:00 @ 27.38, 58: 08-17 01:00:00 - 08-17 01:30:00 @ 26.7, 59: 08-17 01:30:00 - 08-17 02:00:00 @ 26.31, 60: 08-17 02:00:00 - 08-17 02:30:00 @ 25.79, 61: 08-17 02:30:00 - 08-17 03:00:00 @ 25.86, 62: 08-17 03:00:00 - 08-17 03:30:00 @ 26.13, 63: 08-17 03:30:00 - 08-17 04:00:00 @ 25.86, 64: 08-17 04:00:00 - 08-17 04:30:00 @ 26.27, 65: 08-17 04:30:00 - 08-17 05:00:00 @ 26.14, 66: 08-17 05:00:00 - 08-17 05:30:00 @ 27.03, 67: 08-17 05:30:00 - 08-17 06:00:00 @ 26.28, 68: 08-17 06:00:00 - 08-17 06:30:00 @ 25.68, 69: 08-17 06:30:00 - 08-17 07:00:00 @ 26.1, 70: 08-17 07:00:00 - 08-17 07:30:00 @ 24.28, 71: 08-17 07:30:00 - 08-17 08:00:00 @ 24.94, 72: 08-17 08:00:00 - 08-17 08:30:00 @ 24.06, 73: 08-17 08:30:00 - 08-17 09:00:00 @ 24.39, 74: 08-17 09:00:00 - 08-17 09:30:00 @ 24.66, 75: 08-17 09:30:00 - 08-17 10:00:00 @ 24.06, 76: 08-17 10:00:00 - 08-17 10:30:00 @ 25.5, 77: 08-17 10:30:00 - 08-17 11:00:00 @ 24.94, 78: 08-17 11:00:00 - 08-17 11:30:00 @ 24.25, 79: 08-17 11:30:00 - 08-17 12:00:00 @ 23.49, 80: 08-17 12:00:00 - 08-17 12:30:00 @ 23.43, 81: 08-17 12:30:00 - 08-17 13:00:00 @ 22.33, 82: 08-17 13:00:00 - 08-17 13:30:00 @ 22.76, 83: 08-17 13:30:00 - 08-17 14:00:00 @ 22.3, 84: 08-17 14:00:00 - 08-17 14:30:00 @ 21.41, 85: 08-17 14:30:00 - 08-17 15:00:00 @ 21.65, 86: 08-17 15:00:00 - 08-17 15:30:00 @ 22.95, 87: 08-17 15:30:00 - 08-17 16:00:00 @ 22.83, 88: 08-17 16:00:00 - 08-17 16:30:00 @ 36.84, 89: 08-17 16:30:00 - 08-17 17:00:00 @ 37.54, 90: 08-17 17:00:00 - 08-17 17:30:00 @ 41.79, 91: 08-17 17:30:00 - 08-17 18:00:00 @ 43.7, 92: 08-17 18:00:00 - 08-17 18:30:00 @ 44.34, 93: 08-17 19:00:00 - 08-17 19:30:00 @ 34.79, 94: 08-17 19:30:00 - 08-17 20:00:00 @ 34.76]
2026-08-15 19:35:06.303630: Inverter 0 Charge window will be: 2026-08-16 11:00:00+01:00 - 2026-08-16 16:00:00+01:00 - current SoC 93%, target 16%
2026-08-15 19:35:06.303834: Inverter 0 disabled charge window while waiting for schedule (now 08-15 19:35:00 target set_window_minutes 30 charge start time 08-16 11:00:00) original inverter start time 08-17 00:00:00
2026-08-15 19:35:06.303936: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 19:35:06.304200: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 19:35:06.304306: No export window planned
2026-08-15 19:35:06.304442: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 19:35:06.304488: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 19:35:06.304664: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 19:35:06.304859: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 19:35:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 19:35:06.304990: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 19:35:06.305061: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 19:35:06.305166: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 19:35:06.305218: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 19:35:06.305255: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 19:35:06.305290: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 19:35:06.305325: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 19:35:06.305358: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 19:35:06.305392: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 19:35:06.305603: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 19:35:06.305666: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 19:35:06.305799: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 19:35:06.305856: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 19:35:06.305993: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 19:35:06.306053: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 19:35:06.306173: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 19:35:06.306223: Inverter 0 count register writes 0
2026-08-15 19:35:06.358417: Will recompute the plan as it is now 10.0 minutes old and will exceed the max age of 10 minutes before the next run
2026-08-15 19:35:06.358692: Recompute is saving previous plan...
2026-08-15 19:35:06.363367: Best charge window [ 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 0%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 0%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 0%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 30.02p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 27.8p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.18p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.38p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 26.7p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.31p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.79p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 25.86p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.13p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 25.86p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.27p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.14p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 27.03p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.28p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.68p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 26.1p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 24.28p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 24.94p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.06p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.39p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.66p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.06p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 25.5p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 24.94p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 24.25p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 23.49p 0%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.43p 0%, 16-08 12:30:00 - 16-08 13:00:00 @ 22.33p 0%, 16-08 13:00:00 - 16-08 13:30:00 @ 22.76p 0%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 0%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 0%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.65p 0%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.95p 0%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.83p 0%, 16-08 16:00:00 - 16-08 16:30:00 @ 36.84p 0%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.54p 0%, 16-08 17:00:00 - 16-08 17:30:00 @ 41.79p 0%, 16-08 17:30:00 - 16-08 18:00:00 @ 43.7p 0%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.34p 0%, 16-08 19:00:00 - 16-08 19:30:00 @ 34.79p 0%, 16-08 19:30:00 - 16-08 20:00:00 @ 34.76p 0%, 16-08 20:00:00 - 16-08 20:30:00 @ 35.62p 0%, 16-08 20:30:00 - 16-08 21:00:00 @ 35.3p 0%, 16-08 21:00:00 - 16-08 21:30:00 @ 35.89p 0%, 16-08 21:30:00 - 16-08 22:00:00 @ 35.71p 0%, 16-08 22:00:00 - 16-08 22:30:00 @ 33.75p 0%, 16-08 22:30:00 - 16-08 23:00:00 @ 32.0p 0%, 16-08 23:00:00 - 16-08 23:30:00 @ 30.02p 0%, 16-08 23:30:00 - 17-08 00:00:00 @ 27.8p 0%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.18p 0%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.38p 0%, 17-08 01:00:00 - 17-08 01:30:00 @ 26.7p 0%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.31p 0%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.79p 0%, 17-08 02:30:00 - 17-08 03:00:00 @ 25.86p 0%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.13p 0%, 17-08 03:30:00 - 17-08 04:00:00 @ 25.86p 0%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.27p 0%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.14p 0%, 17-08 05:00:00 - 17-08 05:30:00 @ 27.03p 0%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.28p 0%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.68p 0%, 17-08 06:30:00 - 17-08 07:00:00 @ 26.1p 0%, 17-08 07:00:00 - 17-08 07:30:00 @ 24.28p 0%, 17-08 07:30:00 - 17-08 08:00:00 @ 24.94p 0%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.06p 0%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.39p 0%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.66p 0%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.06p 0%, 17-08 10:00:00 - 17-08 10:30:00 @ 25.5p 0%, 17-08 10:30:00 - 17-08 11:00:00 @ 24.94p 0%, 17-08 11:00:00 - 17-08 11:30:00 @ 24.25p 0%, 17-08 11:30:00 - 17-08 12:00:00 @ 23.49p 0%, 17-08 12:00:00 - 17-08 12:30:00 @ 23.43p 0%, 17-08 12:30:00 - 17-08 13:00:00 @ 22.33p 0%, 17-08 13:00:00 - 17-08 13:30:00 @ 22.76p 0%, 17-08 13:30:00 - 17-08 14:00:00 @ 22.3p 0%, 17-08 14:00:00 - 17-08 14:30:00 @ 21.41p 0%, 17-08 14:30:00 - 17-08 15:00:00 @ 21.65p 0%, 17-08 15:00:00 - 17-08 15:30:00 @ 22.95p 0%, 17-08 15:30:00 - 17-08 16:00:00 @ 22.83p 0%, 17-08 16:00:00 - 17-08 16:30:00 @ 36.84p 0%, 17-08 16:30:00 - 17-08 17:00:00 @ 37.54p 0%, 17-08 17:00:00 - 17-08 17:30:00 @ 41.79p 0%, 17-08 17:30:00 - 17-08 18:00:00 @ 43.7p 0%, 17-08 18:00:00 - 17-08 18:30:00 @ 44.34p 0%, 17-08 19:00:00 - 17-08 19:30:00 @ 34.79p 0%, 17-08 19:30:00 - 17-08 20:00:00 @ 34.76p 0% ]
2026-08-15 19:35:06.363479: Best export window [  ]
2026-08-15 19:35:06.364803: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 19:35:06.393180: Load divergence over 8.0 hours mean 797.61W, min 348.6W, max 2423.4W, std dev 475.05W, divergence 29.78%
2026-08-15 19:35:06.432059: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 19:35:06.432212: LoadML is_calculating True
2026-08-15 19:35:06.432249: Not using thread pool as LoadML is calculating to avoid lockups
2026-08-15 19:35:06.463058: Calculate Best options: mode(Control charge & discharge), calculate_export_oncharge(False), calculate_export_on_pv(True), set_export_freeze_only(False), set_discharge_during_charge(True), combine_charge_slots(False), combine_export_slots(False), combine_rate_threshold(0.0), best_soc_min(0.0 kWh), best_soc_max(0.0 kWh), best_soc_keep(0.0 kWh), inverter_loss(4%), battery_loss(3%), battery_loss_discharge (3%), inverter_hybrid(True), metric_min_improvement(0.0p), metric_min_improvement_export(0.1p), metric_min_improvement_export_freeze(0.1p), metric_battery_cycle(0.0p/kWh), metric_battery_value_scaling(1.0 x) 
2026-08-15 19:35:06.474656: Optimise levels pass started at 2026-08-15 19:35:06
2026-08-15 19:35:06.474759: Optimise all windows, total charge 94 export 1
2026-08-15 19:35:11.550415: >> Region optimisation pass width 960 gives best_metric 1018.98p, best_cost 1066.71p, best_cycle 39.59kWh, best_import 22.2kWh
2026-08-15 19:35:12.594023: >> Region optimisation pass width 480 gives best_metric 1018.98p, best_cost 1066.71p, best_cycle 39.59kWh, best_import 22.2kWh
2026-08-15 19:35:13.799839: >> Region optimisation pass width 240 gives best_metric 1018.98p, best_cost 1066.71p, best_cycle 39.59kWh, best_import 22.2kWh
2026-08-15 19:35:17.641098: >> Region optimisation pass width 120 gives best_metric 1018.98p, best_cost 1066.71p, best_cycle 39.59kWh, best_import 22.2kWh
2026-08-15 19:35:17.641458: Calculated end_record as 08-17 12:30:00 based on best_price 22.33p, next_charge_start 08-16 12:30:00, max_windows 81
2026-08-15 19:35:17.641524: Optimise levels pass ended at 2026-08-15 19:35:17, duration 11.2 seconds tried 307 combinations
2026-08-15 19:35:17.641571: Set best_price_charge_level 24.0p, best_price_export_level 0p, best_price_charge 22.33p, best_cost_export 0p, best_metric 1018.98p, best_keep 0kWh, best_cycle 39.59kWh, best_carbon 0kg, best_import 22.2kWh
2026-08-15 19:35:17.666404: Starting detailed optimisation end_record 08-17 12:30:00, best_price_charge 22.33p, best_price_export 0p. lowest_price_charge 21.41p with charge limits [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 0, 16.0, 16.0, 16.0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0]kWh and export limits []kWh
2026-08-15 19:35:24.107708: ML Predictor: Epoch 26/30: lr=0.00014 huber_loss=0.0052 val_mae=0.0018 kWh val_bias=-0.0000 kWh (-0.1%) combined=0.0009 kWh ema_combined=0.0011 kWh
2026-08-15 19:35:52.450373: Tweak plan optimisation started metric 901.49p, cost 917.03p
2026-08-15 19:35:54.390385: Tweak optimisation finished metric 901.49p, cost 917.03p, metric_keep 0kWh, cycle 30.74kWh, carbon 0kg, import 15.4kWh, changed 8 window(s)
2026-08-15 19:35:54.420233: Swap charge optimisation started metric 901.49p, cost 917.03p, min_improvement_swap 0.1p
2026-08-15 19:36:08.386871: Swap charge optimisation finished metric 901.49p, cost 917.03p
2026-08-15 19:36:08.510849: Pruned 1 dead plan slot(s) in 9 trial(s), nominal metric 896.43p -> 896.43p, plan now metric 901.5p, cost 917.03p, cycle 30.74kWh, import 15.4kWh
2026-08-15 19:36:08.523972: Raw charge windows [ 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 0%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 0%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 0%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 30.02p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 27.8p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.18p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.38p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 26.7p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.31p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.79p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 25.86p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.13p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 25.86p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.27p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.14p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 27.03p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.28p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.68p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 26.1p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 24.28p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 24.94p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.06p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.39p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.66p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.06p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 25.5p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 24.94p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 24.25p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 23.49p 22%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.43p 0%, 16-08 12:30:00 - 16-08 13:00:00 @ 22.33p 31%, 16-08 13:00:00 - 16-08 13:30:00 @ 22.76p 31%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 100%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 100%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.65p 100%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.95p 75%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.83p 75%, 16-08 16:00:00 - 16-08 16:30:00 @ 36.84p 0%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.54p 0%, 16-08 17:00:00 - 16-08 17:30:00 @ 41.79p 0%, 16-08 17:30:00 - 16-08 18:00:00 @ 43.7p 0%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.34p 0%, 16-08 19:00:00 - 16-08 19:30:00 @ 34.79p 0%, 16-08 19:30:00 - 16-08 20:00:00 @ 34.76p 0%, 16-08 20:00:00 - 16-08 20:30:00 @ 35.62p 0%, 16-08 20:30:00 - 16-08 21:00:00 @ 35.3p 0%, 16-08 21:00:00 - 16-08 21:30:00 @ 35.89p 0%, 16-08 21:30:00 - 16-08 22:00:00 @ 35.71p 0%, 16-08 22:00:00 - 16-08 22:30:00 @ 33.75p 0%, 16-08 22:30:00 - 16-08 23:00:00 @ 32.0p 0%, 16-08 23:00:00 - 16-08 23:30:00 @ 30.02p 0%, 16-08 23:30:00 - 17-08 00:00:00 @ 27.8p 0%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.18p 0%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.38p 0%, 17-08 01:00:00 - 17-08 01:30:00 @ 26.7p 0%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.31p 0%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.79p 0%, 17-08 02:30:00 - 17-08 03:00:00 @ 25.86p 0%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.13p 0%, 17-08 03:30:00 - 17-08 04:00:00 @ 25.86p 0%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.27p 0%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.14p 0%, 17-08 05:00:00 - 17-08 05:30:00 @ 27.03p 0%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.28p 0%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.68p 0%, 17-08 06:30:00 - 17-08 07:00:00 @ 26.1p 0%, 17-08 07:00:00 - 17-08 07:30:00 @ 24.28p 0%, 17-08 07:30:00 - 17-08 08:00:00 @ 24.94p 0%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.06p 0%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.39p 0%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.66p 0%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.06p 0%, 17-08 10:00:00 - 17-08 10:30:00 @ 25.5p 0%, 17-08 10:30:00 - 17-08 11:00:00 @ 24.94p 0%, 17-08 11:00:00 - 17-08 11:30:00 @ 24.25p 0%, 17-08 11:30:00 - 17-08 12:00:00 @ 23.49p 0%, 17-08 12:00:00 - 17-08 12:30:00 @ 23.43p 0%, 17-08 12:30:00 - 17-08 13:00:00 @ 22.33p 100%, 17-08 13:00:00 - 17-08 13:30:00 @ 22.76p 100%, 17-08 13:30:00 - 17-08 14:00:00 @ 22.3p 100%, 17-08 14:00:00 - 17-08 14:30:00 @ 21.41p 100%, 17-08 14:30:00 - 17-08 15:00:00 @ 21.65p 100%, 17-08 15:00:00 - 17-08 15:30:00 @ 22.95p 100%, 17-08 15:30:00 - 17-08 16:00:00 @ 22.83p 100%, 17-08 16:00:00 - 17-08 16:30:00 @ 36.84p 100%, 17-08 16:30:00 - 17-08 17:00:00 @ 37.54p 100%, 17-08 17:00:00 - 17-08 17:30:00 @ 41.79p 100%, 17-08 17:30:00 - 17-08 18:00:00 @ 43.7p 100%, 17-08 18:00:00 - 17-08 18:30:00 @ 44.34p 100%, 17-08 19:00:00 - 17-08 19:30:00 @ 34.79p 100%, 17-08 19:30:00 - 17-08 20:00:00 @ 34.76p 100% ] reserve 1.12
2026-08-15 19:36:08.524623: Unclipped charge windows [ 16-08 11:30:00 - 16-08 12:00:00 @ 23.49p 22%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 31%, 16-08 13:30:00 - 16-08 15:00:00 @ 21.75p 100%, 16-08 15:00:00 - 16-08 16:00:00 @ 22.89p 75%, 17-08 12:30:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 17-08 20:00:00 @ 34.77p 100% ] reserve 1.12
2026-08-15 19:36:08.525091: Unfiltered charge windows [ 16-08 11:30:00 - 16-08 12:00:00 @ 23.49p 22%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 31%, 16-08 13:30:00 - 16-08 15:00:00 @ 21.75p 100%, 16-08 15:00:00 - 16-08 16:00:00 @ 22.89p 75%, 17-08 12:30:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 17-08 20:00:00 @ 34.77p 100% ] reserve 1.12
2026-08-15 19:36:08.525413: Filtered charge windows [ 16-08 11:30:00 - 16-08 12:00:00 @ 23.49p 22%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 31%, 16-08 13:30:00 - 16-08 15:00:00 @ 21.75p 100%, 16-08 15:00:00 - 16-08 16:00:00 @ 22.89p 75%, 17-08 12:30:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 17-08 20:00:00 @ 34.77p 100% ] reserve 1.12
2026-08-15 19:36:08.565729: Previous plan best metric is 902.39 (cost 918.03) and new plan best metric is 901.49 (cost 917.03)
2026-08-15 19:36:08.566140: New plan metric is not significantly better (metric_min_improvement_plan 2.0) than previous plan, using previous plan
2026-08-15 19:36:08.566422: Plan valid is now true after recompute was False
2026-08-15 19:36:08.595038: predict base end_record 08-17 12:30:00, final soc 1.12kWh, metric 1085.97p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 14:45:00, load 36.57kWh, PV 0.0kWh
2026-08-15 19:36:08.881214: Battery has 19.17 hours left - now at 14.88kWh
2026-08-15 19:36:08.929565: predict base10 end_record 08-17 12:30:00, final soc 1.12kWh, metric 1118.98p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 13:45:00, load 37.86kWh, PV 0.0kWh
2026-08-15 19:36:09.110123: predict best10 end_record 08-17 12:30:00, final soc 1.12kWh, metric 1051.01p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 06:10:00, load 37.86kWh, PV 0.0kWh
2026-08-15 19:36:09.330559: predict best end_record 08-17 12:30:00, final soc 1.12kWh, metric 1018.0p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 07:10:00, load 36.57kWh, PV 0.0kWh
2026-08-15 19:36:09.330703: Saving plan best values to HA entities
2026-08-15 19:36:09.603949: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 19:36:09.612867: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0.0
2026-08-15 19:36:09.621566: Best charging limit SoC's [2.5, 5.0, 16.0, 12.0, 16.0]kWh, export []kWh gives import battery 12.19kWh, house 3.28kWh, export 0.0kWh, metric 1018.0p, metric10 1051.01p
2026-08-15 19:36:09.829753: Marginal costs baseline metric (no standing charge): 918.035
2026-08-15 19:36:10.153666: Marginal energy costs matrix computed: min=23.61 max=28.76
2026-08-15 19:36:10.323133: Rate array import [{'start': 1175, 'end': 1410, 'rate': 'expensive', 'range': '(29.8p - 32.9p)'}, {'start': 1410, 'end': 2400, 'rate': 'cheap', 'range': '(21.4p - 28.2p)'}, {'start': 2400, 'end': 2430, 'rate': 'expensive', 'range': '(36.8p)'}, {'start': 2430, 'end': 2580, 'rate': 'very expensive', 'range': '(37.5p - 45.3p)'}, {'start': 2580, 'end': 2850, 'rate': 'expensive', 'range': '(30.0p - 35.9p)'}, {'start': 2850, 'end': 3630, 'rate': 'cheap', 'range': '(23.4p - 28.2p)'}] export [{'start': 1175, 'end': 3630, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 19:36:10.323740: - Your estimated bill for today is £5.70 and tomorrow is £3.18
2026-08-15 19:36:10.333552: - Import rates are expensive (29.8p - 32.9p) for the next 3  hours and then cheap (21.4p - 28.2p) for the next 16 hours.
2026-08-15 19:36:10.333769: - The battery is currently at 93% and is in eco mode for the next 15 hours.
2026-08-15 19:36:10.345052: - For the next 48 hours there will be no solar generation.
2026-08-15 19:36:10.345268: - You will run out of battery in 35 hours.
2026-08-15 19:36:10.345362: - Your next charge slot will be in 15 hours where import rates will be cheap (24.3p).
2026-08-15 19:36:10.345439: 
2026-08-15 19:36:10.453616: Plan calculation took 64.09 seconds
2026-08-15 19:36:10.453861: Inverter 0: Type SK Sunsynk
2026-08-15 19:36:10.453898: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 19:36:10.454063: Reserve min: 7%, battery_min: 7%
2026-08-15 19:36:10.454124: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 19:36:10.454345: Inverter 0 SoC: 14.88kW 93%, current charge rate 5000W, current discharge rate 5250W, current battery power 273W, current battery voltage 51.2V, grid power -54W, load power 336W, PV Power 0W
2026-08-15 19:36:10.454498: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 19:36:10.454580: Inverter 0 scheduled charge enable is False
2026-08-15 19:36:10.454611: Inverter 0 charge windows currently []
2026-08-15 19:36:10.455265: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 19:36:10.455476: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 19:36:10.455591: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 19:36:10.455704: Inverter 0 scheduled discharge enable is False
2026-08-15 19:36:10.455913: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 19:36:10.456040: Inverter 0 discharge windows currently []
2026-08-15 19:36:10.456137: Note: Inverter does not support discharge freeze - disabled
2026-08-15 19:36:10.458975: Note: Inverter does not support charge freeze - disabled
2026-08-15 19:36:10.459123: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 19:36:10.575728: Inverter 0 Charge window will be: 2026-08-16 11:00:00+01:00 - 2026-08-16 16:00:00+01:00 - current SoC 93%, target 16%
2026-08-15 19:36:10.576162: Inverter 0 disabled charge window while waiting for schedule (now 08-15 19:35:00 target set_window_minutes 30 charge start time 08-16 11:00:00) original inverter start time 08-17 00:00:00
2026-08-15 19:36:10.576412: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 19:36:10.576843: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 19:36:10.577129: No export window planned
2026-08-15 19:36:10.577419: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 19:36:10.577563: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 19:36:10.577911: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 19:36:10.578248: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 19:35:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 19:36:10.578402: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 19:36:10.578624: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 19:36:10.578850: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 19:36:10.579058: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 19:36:10.579201: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 19:36:10.579360: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 19:36:10.579518: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 19:36:10.579674: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 19:36:10.579830: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 19:36:10.580084: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 19:36:10.580228: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 19:36:10.580385: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 19:36:10.580543: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 19:36:10.580699: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 19:36:10.580854: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 19:36:10.581077: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 19:36:10.581237: Inverter 0 count register writes 0
2026-08-15 19:36:10.614608: Total inverter register writes now 826
2026-08-15 19:36:10.675377: Info: Completed run status Demand
2026-08-15 19:36:10.696303: Info: record_status Demand
2026-08-15 19:36:10.718931: Saved current settings to /config/predbat_config.json
2026-08-15 19:36:10.719385: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 19:36:21.467418: ML Predictor: Epoch 27/30: lr=0.00012 huber_loss=0.0056 val_mae=0.0018 kWh val_bias=-0.0001 kWh (-0.3%) combined=0.0010 kWh ema_combined=0.0010 kWh
2026-08-15 19:36:41.976921: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 19:36:41.977471: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 19:36:41.977636: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 19:36:41.977945: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 19:36:41.978128: Note: Inverter does not support discharge freeze - disabled
2026-08-15 19:36:41.978260: Note: Inverter does not support charge freeze - disabled
2026-08-15 19:36:41.978385: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 19:36:53.411503: ML Predictor: Epoch 28/30: lr=0.00011 huber_loss=0.0049 val_mae=0.0017 kWh val_bias=-0.0004 kWh (-0.7%) combined=0.0012 kWh ema_combined=0.0011 kWh
2026-08-15 19:37:27.674281: ML Predictor: Epoch 29/30: lr=0.00010 huber_loss=0.0052 val_mae=0.0017 kWh val_bias=-0.0003 kWh (-0.6%) combined=0.0011 kWh ema_combined=0.0011 kWh
2026-08-15 19:37:59.987686: ML Predictor: Epoch 30/30: lr=0.00010 huber_loss=0.0055 val_mae=0.0017 kWh val_bias=+0.0000 kWh (+0.0%) combined=0.0009 kWh ema_combined=0.0010 kWh
2026-08-15 19:37:59.994733: ML Predictor: Restored best weights from epoch with val_mae=0.0017 kWh val_bias=+0.0000 kWh (+0.0%)
2026-08-15 19:37:59.995056: ML Predictor: Training complete, final val_mae=0.0017 kWh val_bias=+0.0000 kWh (+0.0%)
2026-08-15 19:38:01.904278: ML Predictor: AR rollout over holdout: ar_mae=0.0019 kWh ar_bias=+0.0001 kWh (+0.1%) [drift vs teacher-forced: +0.0002 kWh]
2026-08-15 19:38:01.944655: ML Predictor: Curriculum pass 1/5 complete, val_mae=0.0017 kWh
2026-08-15 19:38:02.068326: ML Predictor: Curriculum pass 2/5: window=55.0 days (1320 hours of data)
2026-08-15 19:38:02.068454: ML Predictor: Starting fine-tune training with 30 epochs
2026-08-15 19:38:02.724026: ML Predictor: Creating dataset with 1320 hours of training data, 48 hours validation
2026-08-15 19:38:07.131807: ML Predictor: Created 15552 training samples, 576 validation samples
2026-08-15 19:38:07.182760: ML Predictor: Normalization stats [ema-update alpha=0.1] target(mean=0.0586 std=0.0467) load(mean=0.0587 std=0.0467) pv(mean=0.0000 std=0.0100) temp(mean=19.5091 std=4.4216) import_rate(mean=25.5284 std=2.4645) export_rate(mean=0.0000 std=1.0000) time(mean=-0.1883 std=0.5246)
2026-08-15 19:38:07.261507: ML Predictor: Applied EMA normalization update (alpha=0.1) to track feature drift
2026-08-15 19:38:07.275491: ML Predictor: Reset Adam optimiser state for fine-tuning
2026-08-15 19:38:07.328145: ML Predictor: Baseline (pre-finetune) val_mae=0.0042 kWh val_bias=-0.0010 kWh
2026-08-15 19:38:38.875588: ML Predictor: Epoch 1/30: lr=0.00100 huber_loss=0.0096 val_mae=0.0048 kWh val_bias=-0.0026 kWh (-3.7%) combined=0.0036 kWh ema_combined=0.0036 kWh
2026-08-15 19:38:42.193266: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 19:38:42.193510: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 19:38:42.193553: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 19:38:42.193690: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 19:38:42.193727: Note: Inverter does not support discharge freeze - disabled
2026-08-15 19:38:42.193852: Note: Inverter does not support charge freeze - disabled
2026-08-15 19:38:42.193891: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 19:39:11.036808: ML Predictor: Epoch 2/30: lr=0.00100 huber_loss=0.0102 val_mae=0.0037 kWh val_bias=-0.0008 kWh (-1.1%) combined=0.0021 kWh ema_combined=0.0031 kWh
2026-08-15 19:39:41.560033: ML Predictor: Epoch 3/30: lr=0.00099 huber_loss=0.0120 val_mae=0.0041 kWh val_bias=-0.0010 kWh (-1.4%) combined=0.0021 kWh ema_combined=0.0028 kWh
2026-08-15 19:40:00.541268: --------------- PredBat - update at 2026-08-15 19:40:00+01:00 with clock skew 0 minutes, minutes now 1180
2026-08-15 19:40:00.543154: Saved current settings to /config/predbat_config.json
2026-08-15 19:40:00.543506: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 75.0 minutes
2026-08-15 19:40:00.543648: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.2, latest beta is v8.48.2
2026-08-15 19:40:00.543826: Autoupdate: There is an update pending v8.48.2 PV90 and second pass enabled by default, bug fixes - auto update is off
2026-08-15 19:40:00.586426: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 19:40:00.586783: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 19:40:00.587197: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 19:40:00.588090: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 19:40:00.589125: Predbat mode is set to Control charge & discharge
2026-08-15 19:40:00.999657: Found 21602 load_today datapoints going back 28 days
2026-08-15 19:40:01.000073: Using load_power data to fill gaps in load_today data
2026-08-15 19:40:02.567743: Processing 721 30-minute periods for power integration
2026-08-15 19:40:02.852977: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 19:40:02.869090: Car charging hold False, threshold 6.0kWh
2026-08-15 19:40:02.869395: Current data so far today: load 9.73kWh, import 27.7kWh, export 0.0kWh, PV 0kWh
2026-08-15 19:40:02.914297: Cars: SoC: [9.962]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 19:40:02.930188: Standing charge is set to 49.98p
2026-08-15 19:40:03.048883: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 19:40:03.049069: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 19:40:03.049505: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 540.0 minutes
2026-08-15 19:40:03.050785: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 540.0 minutes
2026-08-15 19:40:03.058022: Loaded 95 datapoints of futurerate analysis
2026-08-15 19:40:03.300117: Predicted future rates: ['08-15 00:00:00 => 28.69 / 20.01', '08-15 01:00:00 => 27.33 / 19.31', '08-15 02:00:00 => 26.31 / 18.8', '08-15 03:00:00 => 25.78 / 18.53', '08-15 04:00:00 => 25.59 / 18.43', '08-15 05:00:00 => 25.75 / 18.51', '08-15 06:00:00 => 25.34 / 18.3', '08-15 07:00:00 => 24.12 / 17.68', '08-15 08:00:00 => 22.82 / 17.01', '08-15 09:00:00 => 21.84 / 16.51', '08-15 10:00:00 => 20.22 / 15.68', '08-15 11:00:00 => 17.8 / 14.45', '08-15 12:00:00 => 16.16 / 13.61', '08-15 13:00:00 => 15.55 / 13.3', '08-15 14:00:00 => 15.14 / 13.09', '08-15 15:00:00 => 15.65 / 13.35', '08-15 16:00:00 => 32.68 / 16.13', '08-15 17:00:00 => 37.81 / 18.75', '08-15 18:00:00 => 42.15 / 20.96', '08-15 19:00:00 => 30.88 / 21.13', '08-15 20:00:00 => 31.43 / 21.41', '08-15 21:00:00 => 31.43 / 21.41', '08-15 22:00:00 => 30.37 / 20.87', '08-15 23:00:00 => 29.16 / 20.25', '08-16 00:00:00 => 28.62 / 19.97', '08-16 01:00:00 => 27.52 / 19.41', '08-16 02:00:00 => 26.55 / 18.92', '08-16 03:00:00 => 26.18 / 18.73', '08-16 04:00:00 => 26.12 / 18.7', '08-16 05:00:00 => 26.02 / 18.65', '08-16 06:00:00 => 25.78 / 18.53', '08-16 07:00:00 => 25.43 / 18.35', '08-16 08:00:00 => 24.63 / 17.94', '08-16 09:00:00 => 24.05 / 17.64', '08-16 10:00:00 => 24.59 / 17.92', '08-16 11:00:00 => 24.5 / 17.87', '08-16 12:00:00 => 23.58 / 17.4', '08-16 13:00:00 => 22.93 / 17.07', '08-16 14:00:00 => 21.8 / 16.49', '08-16 15:00:00 => 21.8 / 16.49', '08-16 16:00:00 => 36.93 / 18.3', '08-16 17:00:00 => 39.92 / 19.83', '08-16 18:00:00 => 43.98 / 21.9']
2026-08-15 19:40:03.402386: Rate min forward looking: now 21.41p at end of forecast 21.41p
2026-08-15 19:40:03.403014: Import rates: min 21.41p, max 45.28p, average 28.52p
2026-08-15 19:40:03.468446: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 19:40:03.481338: Rate thresholds (for charge/export) are import 44.78p (0.0p), export -0.1p (0.0p)
2026-08-15 19:40:03.483010: High export rate found rates in range 99p to -99p
2026-08-15 19:40:03.598834: Low Import rate found rates in range 21.41p to 44.34p
2026-08-15 19:40:03.599134: Car 0 charging is not planned as it is not plugged in
2026-08-15 19:40:03.620563: Battery level now 14.88kWh, -1hr ago 15.2kWh, at midnight 1.66kWh, battery value change in the last hour -5.89p, change today 243.23p, rate_forward 18.39p
2026-08-15 19:40:03.621170: Last hour: net energy 0.02kWh, import 0.02kWh, export 0.0kWh, car 0kWh, load 0.3kWh, net cost 0.94p, import 0.94p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 19:40:03.728542: Today's energy total net 27.7kWh, import 27.7kWh, export 0.0kWh, cost 570.18p, import 520.2p, export 0.0p, carbon 0.0kg
2026-08-15 19:40:03.728796: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 19:40:03.912791: Using weighted-bucket historical load forecast over 14 days
2026-08-15 19:40:04.006580: Today's load divergence 85.17%, in-day adjustment 96.35%, damping 0.95x, yesterday 143.77% today 85.91% blend 18.06%
2026-08-15 19:40:04.021101: Today's predicted so far 11.79kWh with 0.0kWh car/iBoost excluded, 20.92kWh import ignored, and 11.79kWh forecast extra.
2026-08-15 19:40:04.021314: Today's actual load so far 9.83kWh with 0.0kWh car/iBoost excluded, and 20.92kWh import ignored.
2026-08-15 19:40:04.101121: Inverter 0: Type SK Sunsynk
2026-08-15 19:40:04.101294: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 19:40:04.101491: Reserve min: 7%, battery_min: 7%
2026-08-15 19:40:04.101563: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 19:40:04.101829: Inverter 0 SoC: 14.88kW 93%, current charge rate 5000W, current discharge rate 5250W, current battery power 309W, current battery voltage 51.2V, grid power -54W, load power 373W, PV Power 0W
2026-08-15 19:40:04.102017: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 19:40:04.102137: Inverter 0 scheduled charge enable is False
2026-08-15 19:40:04.102172: Inverter 0 charge windows currently []
2026-08-15 19:40:04.102199: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 19:40:04.102314: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 19:40:04.102351: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 19:40:04.102667: Inverter 0 scheduled discharge enable is False
2026-08-15 19:40:04.102845: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 19:40:04.102884: Inverter 0 discharge windows currently []
2026-08-15 19:40:04.102906: Note: Inverter does not support discharge freeze - disabled
2026-08-15 19:40:04.102925: Note: Inverter does not support charge freeze - disabled
2026-08-15 19:40:04.102961: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 19:40:04.190692: Dynamic load last period 0.30kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 19:40:04.190814: Plan was last updated on 2026-08-15 19:35:00+01:00 and is now 5.0 minutes old
2026-08-15 19:40:04.191085: Best charge window [ 16-08 11:00:00 - 16-08 12:30:00 @ 23.65p 16%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 31%, 16-08 13:30:00 - 16-08 15:00:00 @ 21.91p 100%, 16-08 15:00:00 - 16-08 16:00:00 @ 22.89p 75%, 17-08 12:30:00 - 17-08 18:00:00 @ 40.7p 100% ]
2026-08-15 19:40:04.191135: Best export window [  ]
2026-08-15 19:40:04.191983: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 19:40:04.195187: Load divergence over 8.0 hours mean 801.78W, min 356.4W, max 2447.4W, std dev 454.34W, divergence 28.33%
2026-08-15 19:40:04.217201: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 19:40:04.217336: LoadML is_calculating True
2026-08-15 19:40:04.217364: Not using thread pool as LoadML is calculating to avoid lockups
2026-08-15 19:40:04.253074: predict base end_record 08-17 12:35:00, final soc 1.12kWh, metric 1087.03p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 14:50:00, load 36.74kWh, PV 0.0kWh
2026-08-15 19:40:04.500690: Battery has 19.17 hours left - now at 14.88kWh
2026-08-15 19:40:04.552913: predict base10 end_record 08-17 12:35:00, final soc 1.12kWh, metric 1120.14p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 13:45:00, load 38.03kWh, PV 0.0kWh
2026-08-15 19:40:04.755124: predict best10 end_record 08-17 12:35:00, final soc 1.44kWh, metric 1059.67p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 06:10:00, load 38.03kWh, PV 0.0kWh
2026-08-15 19:40:04.929651: predict best end_record 08-17 12:35:00, final soc 1.51kWh, metric 1028.13p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 07:10:00, load 36.74kWh, PV 0.0kWh
2026-08-15 19:40:04.930067: Saving plan best values to HA entities
2026-08-15 19:40:05.277486: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 19:40:05.286504: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0.0
2026-08-15 19:40:05.295457: Best charging limit SoC's [2.5, 5.0, 16.0, 12.0, 16.0]kWh, export []kWh gives import battery 12.63kWh, house 3.29kWh, export 0.0kWh, metric 1028.13p, metric10 1059.67p
2026-08-15 19:40:05.478677: Marginal costs baseline metric (no standing charge): 928.1592
2026-08-15 19:40:06.033247: Marginal energy costs matrix computed: min=23.84 max=28.74
2026-08-15 19:40:06.191905: Rate array import [{'start': 1180, 'end': 1410, 'rate': 'expensive', 'range': '(29.8p - 32.9p)'}, {'start': 1410, 'end': 2400, 'rate': 'cheap', 'range': '(21.4p - 28.2p)'}, {'start': 2400, 'end': 2430, 'rate': 'expensive', 'range': '(36.8p)'}, {'start': 2430, 'end': 2580, 'rate': 'very expensive', 'range': '(37.5p - 45.3p)'}, {'start': 2580, 'end': 2850, 'rate': 'expensive', 'range': '(30.0p - 35.9p)'}, {'start': 2850, 'end': 3635, 'rate': 'cheap', 'range': '(22.3p - 28.2p)'}] export [{'start': 1180, 'end': 3635, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 19:40:06.193093: - Your estimated bill for today is £5.70 and tomorrow is £3.17
2026-08-15 19:40:06.193243: - Import rates are expensive (29.8p - 32.9p) for the next 3 and three quarters hours and then cheap (21.4p - 28.2p) for the next 16 hours.
2026-08-15 19:40:06.193315: - The battery is currently at 93% and is in eco mode for the next 15 hours.
2026-08-15 19:40:06.193389: - For the next 48 hours there will be no solar generation.
2026-08-15 19:40:06.193430: - You will run out of battery in 35 hours.
2026-08-15 19:40:06.193493: - Your next charge slot will be in 15 hours where import rates will be cheap (24.3p).
2026-08-15 19:40:06.193530: 
2026-08-15 19:40:06.270917: Plan calculation took 2.08 seconds
2026-08-15 19:40:06.275235: No high rate period found
2026-08-15 19:40:06.430359: Import threshold used for optimisation was 24.94p
2026-08-15 19:40:06.572421: Low import rate windows [0: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 1: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 2: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 3: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 4: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 5: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 6: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 7: 08-15 23:00:00 - 08-15 23:30:00 @ 30.02, 8: 08-15 23:30:00 - 08-16 00:00:00 @ 27.8, 9: 08-16 00:00:00 - 08-16 00:30:00 @ 28.18, 10: 08-16 00:30:00 - 08-16 01:00:00 @ 27.38, 11: 08-16 01:00:00 - 08-16 01:30:00 @ 26.7, 12: 08-16 01:30:00 - 08-16 02:00:00 @ 26.31, 13: 08-16 02:00:00 - 08-16 02:30:00 @ 25.79, 14: 08-16 02:30:00 - 08-16 03:00:00 @ 25.86, 15: 08-16 03:00:00 - 08-16 03:30:00 @ 26.13, 16: 08-16 03:30:00 - 08-16 04:00:00 @ 25.86, 17: 08-16 04:00:00 - 08-16 04:30:00 @ 26.27, 18: 08-16 04:30:00 - 08-16 05:00:00 @ 26.14, 19: 08-16 05:00:00 - 08-16 05:30:00 @ 27.03, 20: 08-16 05:30:00 - 08-16 06:00:00 @ 26.28, 21: 08-16 06:00:00 - 08-16 06:30:00 @ 25.68, 22: 08-16 06:30:00 - 08-16 07:00:00 @ 26.1, 23: 08-16 07:00:00 - 08-16 07:30:00 @ 24.28, 24: 08-16 07:30:00 - 08-16 08:00:00 @ 24.94, 25: 08-16 08:00:00 - 08-16 08:30:00 @ 24.06, 26: 08-16 08:30:00 - 08-16 09:00:00 @ 24.39, 27: 08-16 09:00:00 - 08-16 09:30:00 @ 24.66, 28: 08-16 09:30:00 - 08-16 10:00:00 @ 24.06, 29: 08-16 10:00:00 - 08-16 10:30:00 @ 25.5, 30: 08-16 10:30:00 - 08-16 11:00:00 @ 24.94, 31: 08-16 11:00:00 - 08-16 11:30:00 @ 24.25, 32: 08-16 11:30:00 - 08-16 12:00:00 @ 23.49, 33: 08-16 12:00:00 - 08-16 12:30:00 @ 23.43, 34: 08-16 12:30:00 - 08-16 13:00:00 @ 22.33, 35: 08-16 13:00:00 - 08-16 13:30:00 @ 22.76, 36: 08-16 13:30:00 - 08-16 14:00:00 @ 22.3, 37: 08-16 14:00:00 - 08-16 14:30:00 @ 21.41, 38: 08-16 14:30:00 - 08-16 15:00:00 @ 21.65, 39: 08-16 15:00:00 - 08-16 15:30:00 @ 22.95, 40: 08-16 15:30:00 - 08-16 16:00:00 @ 22.83, 41: 08-16 16:00:00 - 08-16 16:30:00 @ 36.84, 42: 08-16 16:30:00 - 08-16 17:00:00 @ 37.54, 43: 08-16 17:00:00 - 08-16 17:30:00 @ 41.79, 44: 08-16 17:30:00 - 08-16 18:00:00 @ 43.7, 45: 08-16 18:00:00 - 08-16 18:30:00 @ 44.34, 46: 08-16 19:00:00 - 08-16 19:30:00 @ 34.79, 47: 08-16 19:30:00 - 08-16 20:00:00 @ 34.76, 48: 08-16 20:00:00 - 08-16 20:30:00 @ 35.62, 49: 08-16 20:30:00 - 08-16 21:00:00 @ 35.3, 50: 08-16 21:00:00 - 08-16 21:30:00 @ 35.89, 51: 08-16 21:30:00 - 08-16 22:00:00 @ 35.71, 52: 08-16 22:00:00 - 08-16 22:30:00 @ 33.75, 53: 08-16 22:30:00 - 08-16 23:00:00 @ 32.0, 54: 08-16 23:00:00 - 08-16 23:30:00 @ 30.02, 55: 08-16 23:30:00 - 08-17 00:00:00 @ 27.8, 56: 08-17 00:00:00 - 08-17 00:30:00 @ 28.18, 57: 08-17 00:30:00 - 08-17 01:00:00 @ 27.38, 58: 08-17 01:00:00 - 08-17 01:30:00 @ 26.7, 59: 08-17 01:30:00 - 08-17 02:00:00 @ 26.31, 60: 08-17 02:00:00 - 08-17 02:30:00 @ 25.79, 61: 08-17 02:30:00 - 08-17 03:00:00 @ 25.86, 62: 08-17 03:00:00 - 08-17 03:30:00 @ 26.13, 63: 08-17 03:30:00 - 08-17 04:00:00 @ 25.86, 64: 08-17 04:00:00 - 08-17 04:30:00 @ 26.27, 65: 08-17 04:30:00 - 08-17 05:00:00 @ 26.14, 66: 08-17 05:00:00 - 08-17 05:30:00 @ 27.03, 67: 08-17 05:30:00 - 08-17 06:00:00 @ 26.28, 68: 08-17 06:00:00 - 08-17 06:30:00 @ 25.68, 69: 08-17 06:30:00 - 08-17 07:00:00 @ 26.1, 70: 08-17 07:00:00 - 08-17 07:30:00 @ 24.28, 71: 08-17 07:30:00 - 08-17 08:00:00 @ 24.94, 72: 08-17 08:00:00 - 08-17 08:30:00 @ 24.06, 73: 08-17 08:30:00 - 08-17 09:00:00 @ 24.39, 74: 08-17 09:00:00 - 08-17 09:30:00 @ 24.66, 75: 08-17 09:30:00 - 08-17 10:00:00 @ 24.06, 76: 08-17 10:00:00 - 08-17 10:30:00 @ 25.5, 77: 08-17 10:30:00 - 08-17 11:00:00 @ 24.94, 78: 08-17 11:00:00 - 08-17 11:30:00 @ 24.25, 79: 08-17 11:30:00 - 08-17 12:00:00 @ 23.49, 80: 08-17 12:00:00 - 08-17 12:30:00 @ 23.43, 81: 08-17 12:30:00 - 08-17 13:00:00 @ 22.33, 82: 08-17 13:00:00 - 08-17 13:30:00 @ 22.76, 83: 08-17 13:30:00 - 08-17 14:00:00 @ 22.3, 84: 08-17 14:00:00 - 08-17 14:30:00 @ 21.41, 85: 08-17 14:30:00 - 08-17 15:00:00 @ 21.65, 86: 08-17 15:00:00 - 08-17 15:30:00 @ 22.95, 87: 08-17 15:30:00 - 08-17 16:00:00 @ 22.83, 88: 08-17 16:00:00 - 08-17 16:30:00 @ 36.84, 89: 08-17 16:30:00 - 08-17 17:00:00 @ 37.54, 90: 08-17 17:00:00 - 08-17 17:30:00 @ 41.79, 91: 08-17 17:30:00 - 08-17 18:00:00 @ 43.7, 92: 08-17 18:00:00 - 08-17 18:30:00 @ 44.34, 93: 08-17 19:00:00 - 08-17 19:30:00 @ 34.79, 94: 08-17 19:30:00 - 08-17 20:00:00 @ 34.76]
2026-08-15 19:40:06.585311: Inverter 0 Charge window will be: 2026-08-16 11:00:00+01:00 - 2026-08-16 16:00:00+01:00 - current SoC 93%, target 16%
2026-08-15 19:40:06.585533: Inverter 0 disabled charge window while waiting for schedule (now 08-15 19:40:00 target set_window_minutes 30 charge start time 08-16 11:00:00) original inverter start time 08-17 00:00:00
2026-08-15 19:40:06.585644: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 19:40:06.585990: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 19:40:06.586117: No export window planned
2026-08-15 19:40:06.586317: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 19:40:06.586381: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 19:40:06.586705: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 19:40:06.586978: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 19:40:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 19:40:06.587497: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 19:40:06.587643: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 19:40:06.588169: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 19:40:06.588842: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 19:40:06.589036: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 19:40:06.589097: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 19:40:06.589205: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 19:40:06.589267: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 19:40:06.589490: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 19:40:06.589622: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 19:40:06.589686: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 19:40:06.589724: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 19:40:06.589766: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 19:40:06.589801: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 19:40:06.589839: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 19:40:06.589979: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 19:40:06.590021: Inverter 0 count register writes 0
2026-08-15 19:40:06.638485: Will not recompute the plan, it is 5.0 minutes old and max age is 10 minutes
2026-08-15 19:40:06.646858: Total inverter register writes now 826
2026-08-15 19:40:06.791765: Info: Completed run status Demand
2026-08-15 19:40:06.802657: Info: record_status Demand
2026-08-15 19:40:06.811352: Saved current settings to /config/predbat_config.json
2026-08-15 19:40:06.811546: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 19:40:17.095772: ML Predictor: Epoch 4/30: lr=0.00098 huber_loss=0.0099 val_mae=0.0037 kWh val_bias=+0.0006 kWh (+0.9%) combined=0.0024 kWh ema_combined=0.0027 kWh
2026-08-15 19:40:42.061526: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 19:40:42.062023: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 19:40:42.062088: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 19:40:42.062416: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 19:40:42.062780: Note: Inverter does not support discharge freeze - disabled
2026-08-15 19:40:42.062830: Note: Inverter does not support charge freeze - disabled
2026-08-15 19:40:42.062909: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 19:40:48.082119: ML Predictor: Epoch 5/30: lr=0.00096 huber_loss=0.0119 val_mae=0.0036 kWh val_bias=+0.0011 kWh (+1.5%) combined=0.0026 kWh ema_combined=0.0027 kWh
2026-08-15 19:41:19.864171: ML Predictor: Epoch 6/30: lr=0.00094 huber_loss=0.0117 val_mae=0.0044 kWh val_bias=+0.0010 kWh (+1.5%) combined=0.0033 kWh ema_combined=0.0028 kWh
2026-08-15 19:41:48.893542: ML Predictor: Epoch 7/30: lr=0.00091 huber_loss=0.0113 val_mae=0.0035 kWh val_bias=-0.0012 kWh (-1.7%) combined=0.0026 kWh ema_combined=0.0028 kWh
2026-08-15 19:42:22.944451: ML Predictor: Epoch 8/30: lr=0.00088 huber_loss=0.0116 val_mae=0.0039 kWh val_bias=-0.0008 kWh (-1.1%) combined=0.0021 kWh ema_combined=0.0026 kWh
2026-08-15 19:42:54.367330: ML Predictor: Epoch 9/30: lr=0.00084 huber_loss=0.0094 val_mae=0.0042 kWh val_bias=-0.0022 kWh (-3.1%) combined=0.0027 kWh ema_combined=0.0026 kWh
2026-08-15 19:42:56.656886: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 19:42:56.657628: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 19:42:56.657917: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 19:42:56.658487: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 19:42:56.658886: Note: Inverter does not support discharge freeze - disabled
2026-08-15 19:42:56.659141: Note: Inverter does not support charge freeze - disabled
2026-08-15 19:42:56.659319: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 19:43:24.623575: ML Predictor: Epoch 10/30: lr=0.00080 huber_loss=0.0089 val_mae=0.0030 kWh val_bias=-0.0003 kWh (-0.4%) combined=0.0016 kWh ema_combined=0.0023 kWh
2026-08-15 19:43:55.228446: ML Predictor: Epoch 11/30: lr=0.00076 huber_loss=0.0081 val_mae=0.0030 kWh val_bias=-0.0009 kWh (-1.3%) combined=0.0019 kWh ema_combined=0.0022 kWh
2026-08-15 19:44:27.959734: ML Predictor: Epoch 12/30: lr=0.00072 huber_loss=0.0076 val_mae=0.0032 kWh val_bias=-0.0006 kWh (-0.8%) combined=0.0018 kWh ema_combined=0.0021 kWh
2026-08-15 19:44:57.218465: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 19:44:57.218755: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 19:44:57.218803: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 19:44:57.219016: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 19:44:57.219090: Note: Inverter does not support discharge freeze - disabled
2026-08-15 19:44:57.219119: Note: Inverter does not support charge freeze - disabled
2026-08-15 19:44:57.219143: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 19:45:00.540572: ML Predictor: Epoch 13/30: lr=0.00067 huber_loss=0.0083 val_mae=0.0028 kWh val_bias=-0.0005 kWh (-0.7%) combined=0.0016 kWh ema_combined=0.0019 kWh
2026-08-15 19:45:00.575847: --------------- PredBat - update at 2026-08-15 19:45:00+01:00 with clock skew 0 minutes, minutes now 1185
2026-08-15 19:45:00.577971: Saved current settings to /config/predbat_config.json
2026-08-15 19:45:00.578191: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 80.0 minutes
2026-08-15 19:45:00.578381: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.2, latest beta is v8.48.2
2026-08-15 19:45:00.578532: Autoupdate: There is an update pending v8.48.2 PV90 and second pass enabled by default, bug fixes - auto update is off
2026-08-15 19:45:00.626947: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 19:45:00.637162: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 19:45:00.637663: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 19:45:00.638848: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 19:45:00.639137: Predbat mode is set to Control charge & discharge
2026-08-15 19:45:00.945784: Found 21602 load_today datapoints going back 28 days
2026-08-15 19:45:00.957360: Using load_power data to fill gaps in load_today data
2026-08-15 19:45:02.358226: Processing 721 30-minute periods for power integration
2026-08-15 19:45:02.690365: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 19:45:02.690526: Car charging hold False, threshold 6.0kWh
2026-08-15 19:45:02.690583: Current data so far today: load 9.75kWh, import 27.7kWh, export 0.0kWh, PV 0kWh
2026-08-15 19:45:02.708149: Cars: SoC: [9.962]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 19:45:02.708880: Standing charge is set to 49.98p
2026-08-15 19:45:02.762954: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 19:45:02.763143: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 19:45:02.763357: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 545.0 minutes
2026-08-15 19:45:02.763844: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 545.0 minutes
2026-08-15 19:45:02.772144: Loaded 95 datapoints of futurerate analysis
2026-08-15 19:45:03.147124: Predicted future rates: ['08-15 00:00:00 => 28.69 / 20.01', '08-15 01:00:00 => 27.33 / 19.31', '08-15 02:00:00 => 26.31 / 18.8', '08-15 03:00:00 => 25.78 / 18.53', '08-15 04:00:00 => 25.59 / 18.43', '08-15 05:00:00 => 25.75 / 18.51', '08-15 06:00:00 => 25.34 / 18.3', '08-15 07:00:00 => 24.12 / 17.68', '08-15 08:00:00 => 22.82 / 17.01', '08-15 09:00:00 => 21.84 / 16.51', '08-15 10:00:00 => 20.22 / 15.68', '08-15 11:00:00 => 17.8 / 14.45', '08-15 12:00:00 => 16.16 / 13.61', '08-15 13:00:00 => 15.55 / 13.3', '08-15 14:00:00 => 15.14 / 13.09', '08-15 15:00:00 => 15.65 / 13.35', '08-15 16:00:00 => 32.68 / 16.13', '08-15 17:00:00 => 37.81 / 18.75', '08-15 18:00:00 => 42.15 / 20.96', '08-15 19:00:00 => 30.88 / 21.13', '08-15 20:00:00 => 31.43 / 21.41', '08-15 21:00:00 => 31.43 / 21.41', '08-15 22:00:00 => 30.37 / 20.87', '08-15 23:00:00 => 29.16 / 20.25', '08-16 00:00:00 => 28.62 / 19.97', '08-16 01:00:00 => 27.52 / 19.41', '08-16 02:00:00 => 26.55 / 18.92', '08-16 03:00:00 => 26.18 / 18.73', '08-16 04:00:00 => 26.12 / 18.7', '08-16 05:00:00 => 26.02 / 18.65', '08-16 06:00:00 => 25.78 / 18.53', '08-16 07:00:00 => 25.43 / 18.35', '08-16 08:00:00 => 24.63 / 17.94', '08-16 09:00:00 => 24.05 / 17.64', '08-16 10:00:00 => 24.59 / 17.92', '08-16 11:00:00 => 24.5 / 17.87', '08-16 12:00:00 => 23.58 / 17.4', '08-16 13:00:00 => 22.93 / 17.07', '08-16 14:00:00 => 21.8 / 16.49', '08-16 15:00:00 => 21.8 / 16.49', '08-16 16:00:00 => 36.93 / 18.3', '08-16 17:00:00 => 39.92 / 19.83', '08-16 18:00:00 => 43.98 / 21.9']
2026-08-15 19:45:03.252830: Rate min forward looking: now 21.41p at end of forecast 21.41p
2026-08-15 19:45:03.253833: Import rates: min 21.41p, max 45.28p, average 28.52p
2026-08-15 19:45:03.297375: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 19:45:03.297733: Rate thresholds (for charge/export) are import 44.78p (0.0p), export -0.1p (0.0p)
2026-08-15 19:45:03.298958: High export rate found rates in range 99p to -99p
2026-08-15 19:45:03.403383: Low Import rate found rates in range 21.41p to 44.34p
2026-08-15 19:45:03.403620: Car 0 charging is not planned as it is not plugged in
2026-08-15 19:45:03.420168: Battery level now 14.88kWh, -1hr ago 15.2kWh, at midnight 1.66kWh, battery value change in the last hour -5.89p, change today 243.23p, rate_forward 18.39p
2026-08-15 19:45:03.420682: Last hour: net energy 0.02kWh, import 0.02kWh, export 0.0kWh, car 0kWh, load 0.3kWh, net cost 0.74p, import 0.74p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 19:45:03.520307: Today's energy total net 27.7kWh, import 27.7kWh, export 0.0kWh, cost 570.18p, import 520.2p, export 0.0p, carbon 0.0kg
2026-08-15 19:45:03.520508: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 19:45:03.688852: Using weighted-bucket historical load forecast over 14 days
2026-08-15 19:45:03.772333: Today's load divergence 84.85%, in-day adjustment 95.91%, damping 0.95x, yesterday 143.77% today 85.61% blend 17.71%
2026-08-15 19:45:03.772454: Today's predicted so far 11.8kWh with 0.0kWh car/iBoost excluded, 20.9kWh import ignored, and 11.8kWh forecast extra.
2026-08-15 19:45:03.772489: Today's actual load so far 9.8kWh with 0.0kWh car/iBoost excluded, and 20.9kWh import ignored.
2026-08-15 19:45:03.839812: Inverter 0: Type SK Sunsynk
2026-08-15 19:45:03.840235: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 19:45:03.840506: Reserve min: 7%, battery_min: 7%
2026-08-15 19:45:03.840609: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 19:45:03.840899: Inverter 0 SoC: 14.88kW 93%, current charge rate 5000W, current discharge rate 5250W, current battery power 268W, current battery voltage 51.2V, grid power -54W, load power 330W, PV Power 0W
2026-08-15 19:45:03.841125: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 19:45:03.841258: Inverter 0 scheduled charge enable is False
2026-08-15 19:45:03.841314: Inverter 0 charge windows currently []
2026-08-15 19:45:03.841440: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 19:45:03.841582: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 19:45:03.841697: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 19:45:03.841755: Inverter 0 scheduled discharge enable is False
2026-08-15 19:45:03.841945: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 19:45:03.842119: Inverter 0 discharge windows currently []
2026-08-15 19:45:03.842172: Note: Inverter does not support discharge freeze - disabled
2026-08-15 19:45:03.842203: Note: Inverter does not support charge freeze - disabled
2026-08-15 19:45:03.842231: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 19:45:03.940780: Dynamic load last period 0.30kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 19:45:03.940938: Plan was last updated on 2026-08-15 19:35:00+01:00 and is now 10.0 minutes old
2026-08-15 19:45:03.941313: Best charge window [ 16-08 11:00:00 - 16-08 12:30:00 @ 23.65p 16%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 31%, 16-08 13:30:00 - 16-08 15:00:00 @ 21.91p 100%, 16-08 15:00:00 - 16-08 16:00:00 @ 22.89p 75%, 17-08 12:30:00 - 17-08 18:00:00 @ 40.7p 100% ]
2026-08-15 19:45:03.941365: Best export window [  ]
2026-08-15 19:45:03.942644: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 19:45:03.947540: Load divergence over 8.0 hours mean 803.12W, min 334.2W, max 2127.6W, std dev 441.77W, divergence 27.5%
2026-08-15 19:45:03.978206: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 19:45:03.978480: LoadML is_calculating True
2026-08-15 19:45:03.978607: Not using thread pool as LoadML is calculating to avoid lockups
2026-08-15 19:45:04.058068: predict base end_record 08-17 12:40:00, final soc 1.12kWh, metric 1087.45p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 14:55:00, load 36.78kWh, PV 0.0kWh
2026-08-15 19:45:04.346416: Battery has 19.17 hours left - now at 14.88kWh
2026-08-15 19:45:04.411794: predict base10 end_record 08-17 12:40:00, final soc 1.12kWh, metric 1120.54p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 13:50:00, load 38.07kWh, PV 0.0kWh
2026-08-15 19:45:04.539015: predict best10 end_record 08-17 12:40:00, final soc 1.77kWh, metric 1067.74p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 06:05:00, load 38.07kWh, PV 0.0kWh
2026-08-15 19:45:04.679409: predict best end_record 08-17 12:40:00, final soc 1.9kWh, metric 1037.53p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 07:10:00, load 36.78kWh, PV 0.0kWh
2026-08-15 19:45:04.679712: Saving plan best values to HA entities
2026-08-15 19:45:05.054006: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 19:45:05.071387: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0.0
2026-08-15 19:45:05.078732: Best charging limit SoC's [2.5, 5.0, 16.0, 12.0, 16.0]kWh, export []kWh gives import battery 13.05kWh, house 3.3kWh, export 0.0kWh, metric 1037.53p, metric10 1067.74p
2026-08-15 19:45:05.285226: Marginal costs baseline metric (no standing charge): 937.5643
2026-08-15 19:45:05.764719: Marginal energy costs matrix computed: min=23.84 max=28.72
2026-08-15 19:45:05.936964: Rate array import [{'start': 1185, 'end': 1410, 'rate': 'expensive', 'range': '(29.8p - 32.9p)'}, {'start': 1410, 'end': 2400, 'rate': 'cheap', 'range': '(21.4p - 28.2p)'}, {'start': 2400, 'end': 2430, 'rate': 'expensive', 'range': '(36.8p)'}, {'start': 2430, 'end': 2580, 'rate': 'very expensive', 'range': '(37.5p - 45.3p)'}, {'start': 2580, 'end': 2850, 'rate': 'expensive', 'range': '(30.0p - 35.9p)'}, {'start': 2850, 'end': 3640, 'rate': 'cheap', 'range': '(22.3p - 28.2p)'}] export [{'start': 1185, 'end': 3640, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 19:45:05.937846: - Your estimated bill for today is £5.70 and tomorrow is £3.16
2026-08-15 19:45:05.938010: - Import rates are expensive (29.8p - 32.9p) for the next 3 and three quarters hours and then cheap (21.4p - 28.2p) for the next 16 hours.
2026-08-15 19:45:05.938056: - The battery is currently at 93% and is in eco mode for the next 15 hours.
2026-08-15 19:45:05.938120: - For the next 48 hours there will be no solar generation.
2026-08-15 19:45:05.938181: - You will run out of battery in 35 hours.
2026-08-15 19:45:05.938256: - Your next charge slot will be in 15 hours where import rates will be cheap (24.3p).
2026-08-15 19:45:05.938292: 
2026-08-15 19:45:06.006612: Plan calculation took 2.07 seconds
2026-08-15 19:45:06.018552: No high rate period found
2026-08-15 19:45:06.152843: Import threshold used for optimisation was 24.94p
2026-08-15 19:45:06.228913: Low import rate windows [0: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 1: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 2: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 3: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 4: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 5: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 6: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 7: 08-15 23:00:00 - 08-15 23:30:00 @ 30.02, 8: 08-15 23:30:00 - 08-16 00:00:00 @ 27.8, 9: 08-16 00:00:00 - 08-16 00:30:00 @ 28.18, 10: 08-16 00:30:00 - 08-16 01:00:00 @ 27.38, 11: 08-16 01:00:00 - 08-16 01:30:00 @ 26.7, 12: 08-16 01:30:00 - 08-16 02:00:00 @ 26.31, 13: 08-16 02:00:00 - 08-16 02:30:00 @ 25.79, 14: 08-16 02:30:00 - 08-16 03:00:00 @ 25.86, 15: 08-16 03:00:00 - 08-16 03:30:00 @ 26.13, 16: 08-16 03:30:00 - 08-16 04:00:00 @ 25.86, 17: 08-16 04:00:00 - 08-16 04:30:00 @ 26.27, 18: 08-16 04:30:00 - 08-16 05:00:00 @ 26.14, 19: 08-16 05:00:00 - 08-16 05:30:00 @ 27.03, 20: 08-16 05:30:00 - 08-16 06:00:00 @ 26.28, 21: 08-16 06:00:00 - 08-16 06:30:00 @ 25.68, 22: 08-16 06:30:00 - 08-16 07:00:00 @ 26.1, 23: 08-16 07:00:00 - 08-16 07:30:00 @ 24.28, 24: 08-16 07:30:00 - 08-16 08:00:00 @ 24.94, 25: 08-16 08:00:00 - 08-16 08:30:00 @ 24.06, 26: 08-16 08:30:00 - 08-16 09:00:00 @ 24.39, 27: 08-16 09:00:00 - 08-16 09:30:00 @ 24.66, 28: 08-16 09:30:00 - 08-16 10:00:00 @ 24.06, 29: 08-16 10:00:00 - 08-16 10:30:00 @ 25.5, 30: 08-16 10:30:00 - 08-16 11:00:00 @ 24.94, 31: 08-16 11:00:00 - 08-16 11:30:00 @ 24.25, 32: 08-16 11:30:00 - 08-16 12:00:00 @ 23.49, 33: 08-16 12:00:00 - 08-16 12:30:00 @ 23.43, 34: 08-16 12:30:00 - 08-16 13:00:00 @ 22.33, 35: 08-16 13:00:00 - 08-16 13:30:00 @ 22.76, 36: 08-16 13:30:00 - 08-16 14:00:00 @ 22.3, 37: 08-16 14:00:00 - 08-16 14:30:00 @ 21.41, 38: 08-16 14:30:00 - 08-16 15:00:00 @ 21.65, 39: 08-16 15:00:00 - 08-16 15:30:00 @ 22.95, 40: 08-16 15:30:00 - 08-16 16:00:00 @ 22.83, 41: 08-16 16:00:00 - 08-16 16:30:00 @ 36.84, 42: 08-16 16:30:00 - 08-16 17:00:00 @ 37.54, 43: 08-16 17:00:00 - 08-16 17:30:00 @ 41.79, 44: 08-16 17:30:00 - 08-16 18:00:00 @ 43.7, 45: 08-16 18:00:00 - 08-16 18:30:00 @ 44.34, 46: 08-16 19:00:00 - 08-16 19:30:00 @ 34.79, 47: 08-16 19:30:00 - 08-16 20:00:00 @ 34.76, 48: 08-16 20:00:00 - 08-16 20:30:00 @ 35.62, 49: 08-16 20:30:00 - 08-16 21:00:00 @ 35.3, 50: 08-16 21:00:00 - 08-16 21:30:00 @ 35.89, 51: 08-16 21:30:00 - 08-16 22:00:00 @ 35.71, 52: 08-16 22:00:00 - 08-16 22:30:00 @ 33.75, 53: 08-16 22:30:00 - 08-16 23:00:00 @ 32.0, 54: 08-16 23:00:00 - 08-16 23:30:00 @ 30.02, 55: 08-16 23:30:00 - 08-17 00:00:00 @ 27.8, 56: 08-17 00:00:00 - 08-17 00:30:00 @ 28.18, 57: 08-17 00:30:00 - 08-17 01:00:00 @ 27.38, 58: 08-17 01:00:00 - 08-17 01:30:00 @ 26.7, 59: 08-17 01:30:00 - 08-17 02:00:00 @ 26.31, 60: 08-17 02:00:00 - 08-17 02:30:00 @ 25.79, 61: 08-17 02:30:00 - 08-17 03:00:00 @ 25.86, 62: 08-17 03:00:00 - 08-17 03:30:00 @ 26.13, 63: 08-17 03:30:00 - 08-17 04:00:00 @ 25.86, 64: 08-17 04:00:00 - 08-17 04:30:00 @ 26.27, 65: 08-17 04:30:00 - 08-17 05:00:00 @ 26.14, 66: 08-17 05:00:00 - 08-17 05:30:00 @ 27.03, 67: 08-17 05:30:00 - 08-17 06:00:00 @ 26.28, 68: 08-17 06:00:00 - 08-17 06:30:00 @ 25.68, 69: 08-17 06:30:00 - 08-17 07:00:00 @ 26.1, 70: 08-17 07:00:00 - 08-17 07:30:00 @ 24.28, 71: 08-17 07:30:00 - 08-17 08:00:00 @ 24.94, 72: 08-17 08:00:00 - 08-17 08:30:00 @ 24.06, 73: 08-17 08:30:00 - 08-17 09:00:00 @ 24.39, 74: 08-17 09:00:00 - 08-17 09:30:00 @ 24.66, 75: 08-17 09:30:00 - 08-17 10:00:00 @ 24.06, 76: 08-17 10:00:00 - 08-17 10:30:00 @ 25.5, 77: 08-17 10:30:00 - 08-17 11:00:00 @ 24.94, 78: 08-17 11:00:00 - 08-17 11:30:00 @ 24.25, 79: 08-17 11:30:00 - 08-17 12:00:00 @ 23.49, 80: 08-17 12:00:00 - 08-17 12:30:00 @ 23.43, 81: 08-17 12:30:00 - 08-17 13:00:00 @ 22.33, 82: 08-17 13:00:00 - 08-17 13:30:00 @ 22.76, 83: 08-17 13:30:00 - 08-17 14:00:00 @ 22.3, 84: 08-17 14:00:00 - 08-17 14:30:00 @ 21.41, 85: 08-17 14:30:00 - 08-17 15:00:00 @ 21.65, 86: 08-17 15:00:00 - 08-17 15:30:00 @ 22.95, 87: 08-17 15:30:00 - 08-17 16:00:00 @ 22.83, 88: 08-17 16:00:00 - 08-17 16:30:00 @ 36.84, 89: 08-17 16:30:00 - 08-17 17:00:00 @ 37.54, 90: 08-17 17:00:00 - 08-17 17:30:00 @ 41.79, 91: 08-17 17:30:00 - 08-17 18:00:00 @ 43.7, 92: 08-17 18:00:00 - 08-17 18:30:00 @ 44.34, 93: 08-17 19:00:00 - 08-17 19:30:00 @ 34.79, 94: 08-17 19:30:00 - 08-17 20:00:00 @ 34.76]
2026-08-15 19:45:06.240403: Inverter 0 Charge window will be: 2026-08-16 11:00:00+01:00 - 2026-08-16 16:00:00+01:00 - current SoC 93%, target 16%
2026-08-15 19:45:06.240586: Inverter 0 disabled charge window while waiting for schedule (now 08-15 19:45:00 target set_window_minutes 30 charge start time 08-16 11:00:00) original inverter start time 08-17 00:00:00
2026-08-15 19:45:06.240667: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 19:45:06.240931: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 19:45:06.241099: No export window planned
2026-08-15 19:45:06.241258: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 19:45:06.241326: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 19:45:06.241669: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 19:45:06.241970: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 19:45:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 19:45:06.242085: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 19:45:06.242207: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 19:45:06.242364: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 19:45:06.242423: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 19:45:06.242569: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 19:45:06.242631: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 19:45:06.242668: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 19:45:06.242712: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 19:45:06.242746: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 19:45:06.242881: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 19:45:06.242953: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 19:45:06.243083: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 19:45:06.243188: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 19:45:06.243242: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 19:45:06.243375: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 19:45:06.243500: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 19:45:06.243548: Inverter 0 count register writes 0
2026-08-15 19:45:06.283483: Will recompute the plan as it is now 10.0 minutes old and will exceed the max age of 10 minutes before the next run
2026-08-15 19:45:06.283971: Recompute is saving previous plan...
2026-08-15 19:45:06.289815: Best charge window [ 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 0%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 0%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 0%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 30.02p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 27.8p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.18p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.38p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 26.7p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.31p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.79p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 25.86p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.13p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 25.86p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.27p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.14p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 27.03p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.28p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.68p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 26.1p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 24.28p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 24.94p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.06p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.39p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.66p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.06p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 25.5p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 24.94p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 24.25p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 23.49p 0%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.43p 0%, 16-08 12:30:00 - 16-08 13:00:00 @ 22.33p 0%, 16-08 13:00:00 - 16-08 13:30:00 @ 22.76p 0%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 0%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 0%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.65p 0%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.95p 0%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.83p 0%, 16-08 16:00:00 - 16-08 16:30:00 @ 36.84p 0%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.54p 0%, 16-08 17:00:00 - 16-08 17:30:00 @ 41.79p 0%, 16-08 17:30:00 - 16-08 18:00:00 @ 43.7p 0%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.34p 0%, 16-08 19:00:00 - 16-08 19:30:00 @ 34.79p 0%, 16-08 19:30:00 - 16-08 20:00:00 @ 34.76p 0%, 16-08 20:00:00 - 16-08 20:30:00 @ 35.62p 0%, 16-08 20:30:00 - 16-08 21:00:00 @ 35.3p 0%, 16-08 21:00:00 - 16-08 21:30:00 @ 35.89p 0%, 16-08 21:30:00 - 16-08 22:00:00 @ 35.71p 0%, 16-08 22:00:00 - 16-08 22:30:00 @ 33.75p 0%, 16-08 22:30:00 - 16-08 23:00:00 @ 32.0p 0%, 16-08 23:00:00 - 16-08 23:30:00 @ 30.02p 0%, 16-08 23:30:00 - 17-08 00:00:00 @ 27.8p 0%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.18p 0%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.38p 0%, 17-08 01:00:00 - 17-08 01:30:00 @ 26.7p 0%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.31p 0%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.79p 0%, 17-08 02:30:00 - 17-08 03:00:00 @ 25.86p 0%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.13p 0%, 17-08 03:30:00 - 17-08 04:00:00 @ 25.86p 0%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.27p 0%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.14p 0%, 17-08 05:00:00 - 17-08 05:30:00 @ 27.03p 0%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.28p 0%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.68p 0%, 17-08 06:30:00 - 17-08 07:00:00 @ 26.1p 0%, 17-08 07:00:00 - 17-08 07:30:00 @ 24.28p 0%, 17-08 07:30:00 - 17-08 08:00:00 @ 24.94p 0%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.06p 0%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.39p 0%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.66p 0%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.06p 0%, 17-08 10:00:00 - 17-08 10:30:00 @ 25.5p 0%, 17-08 10:30:00 - 17-08 11:00:00 @ 24.94p 0%, 17-08 11:00:00 - 17-08 11:30:00 @ 24.25p 0%, 17-08 11:30:00 - 17-08 12:00:00 @ 23.49p 0%, 17-08 12:00:00 - 17-08 12:30:00 @ 23.43p 0%, 17-08 12:30:00 - 17-08 13:00:00 @ 22.33p 0%, 17-08 13:00:00 - 17-08 13:30:00 @ 22.76p 0%, 17-08 13:30:00 - 17-08 14:00:00 @ 22.3p 0%, 17-08 14:00:00 - 17-08 14:30:00 @ 21.41p 0%, 17-08 14:30:00 - 17-08 15:00:00 @ 21.65p 0%, 17-08 15:00:00 - 17-08 15:30:00 @ 22.95p 0%, 17-08 15:30:00 - 17-08 16:00:00 @ 22.83p 0%, 17-08 16:00:00 - 17-08 16:30:00 @ 36.84p 0%, 17-08 16:30:00 - 17-08 17:00:00 @ 37.54p 0%, 17-08 17:00:00 - 17-08 17:30:00 @ 41.79p 0%, 17-08 17:30:00 - 17-08 18:00:00 @ 43.7p 0%, 17-08 18:00:00 - 17-08 18:30:00 @ 44.34p 0%, 17-08 19:00:00 - 17-08 19:30:00 @ 34.79p 0%, 17-08 19:30:00 - 17-08 20:00:00 @ 34.76p 0% ]
2026-08-15 19:45:06.289958: Best export window [  ]
2026-08-15 19:45:06.291470: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 19:45:06.296395: Load divergence over 8.0 hours mean 803.12W, min 334.2W, max 2127.6W, std dev 441.77W, divergence 27.5%
2026-08-15 19:45:06.330123: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 19:45:06.330456: LoadML is_calculating True
2026-08-15 19:45:06.330609: Not using thread pool as LoadML is calculating to avoid lockups
2026-08-15 19:45:06.349664: Calculate Best options: mode(Control charge & discharge), calculate_export_oncharge(False), calculate_export_on_pv(True), set_export_freeze_only(False), set_discharge_during_charge(True), combine_charge_slots(False), combine_export_slots(False), combine_rate_threshold(0.0), best_soc_min(0.0 kWh), best_soc_max(0.0 kWh), best_soc_keep(0.0 kWh), inverter_loss(4%), battery_loss(3%), battery_loss_discharge (3%), inverter_hybrid(True), metric_min_improvement(0.0p), metric_min_improvement_export(0.1p), metric_min_improvement_export_freeze(0.1p), metric_battery_cycle(0.0p/kWh), metric_battery_value_scaling(1.0 x) 
2026-08-15 19:45:06.351502: Optimise levels pass started at 2026-08-15 19:45:06
2026-08-15 19:45:06.351786: Optimise all windows, total charge 94 export 1
2026-08-15 19:45:11.579699: >> Region optimisation pass width 960 gives best_metric 1018.82p, best_cost 1064.75p, best_cycle 39.68kWh, best_import 22.14kWh
2026-08-15 19:45:12.681045: >> Region optimisation pass width 480 gives best_metric 1018.82p, best_cost 1064.75p, best_cycle 39.68kWh, best_import 22.14kWh
2026-08-15 19:45:13.830813: >> Region optimisation pass width 240 gives best_metric 1018.82p, best_cost 1064.75p, best_cycle 39.68kWh, best_import 22.14kWh
2026-08-15 19:45:17.415842: >> Region optimisation pass width 120 gives best_metric 1018.82p, best_cost 1064.75p, best_cycle 39.68kWh, best_import 22.14kWh
2026-08-15 19:45:17.416382: Calculated end_record as 08-17 12:30:00 based on best_price 22.33p, next_charge_start 08-16 12:30:00, max_windows 81
2026-08-15 19:45:17.416579: Optimise levels pass ended at 2026-08-15 19:45:17, duration 11.1 seconds tried 307 combinations
2026-08-15 19:45:17.416752: Set best_price_charge_level 24.0p, best_price_export_level 0p, best_price_charge 22.33p, best_cost_export 0p, best_metric 1018.82p, best_keep 0kWh, best_cycle 39.68kWh, best_carbon 0kg, best_import 22.14kWh
2026-08-15 19:45:17.442175: Starting detailed optimisation end_record 08-17 12:30:00, best_price_charge 22.33p, best_price_export 0p. lowest_price_charge 21.41p with charge limits [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 0, 16.0, 16.0, 16.0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0]kWh and export limits []kWh
2026-08-15 19:45:54.553532: Tweak plan optimisation started metric 899.49p, cost 915.02p
2026-08-15 19:45:56.452340: Tweak optimisation finished metric 899.49p, cost 915.02p, metric_keep 0kWh, cycle 30.97kWh, carbon 0kg, import 15.33kWh, changed 8 window(s)
2026-08-15 19:45:56.472750: Swap charge optimisation started metric 899.49p, cost 915.02p, min_improvement_swap 0.1p
2026-08-15 19:46:08.034847: Swap charge optimisation finished metric 899.49p, cost 915.02p
2026-08-15 19:46:08.280068: Raw charge windows [ 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 0%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 0%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 0%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 30.02p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 27.8p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.18p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.38p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 26.7p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.31p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.79p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 25.86p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.13p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 25.86p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.27p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.14p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 27.03p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.28p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.68p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 26.1p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 24.28p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 24.94p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.06p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.39p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.66p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.06p 34%, 16-08 10:00:00 - 16-08 10:30:00 @ 25.5p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 24.94p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 24.25p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 23.49p 25%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.43p 0%, 16-08 12:30:00 - 16-08 13:00:00 @ 22.33p 34%, 16-08 13:00:00 - 16-08 13:30:00 @ 22.76p 34%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 100%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 100%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.65p 100%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.95p 78%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.83p 78%, 16-08 16:00:00 - 16-08 16:30:00 @ 36.84p 0%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.54p 0%, 16-08 17:00:00 - 16-08 17:30:00 @ 41.79p 0%, 16-08 17:30:00 - 16-08 18:00:00 @ 43.7p 0%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.34p 0%, 16-08 19:00:00 - 16-08 19:30:00 @ 34.79p 0%, 16-08 19:30:00 - 16-08 20:00:00 @ 34.76p 0%, 16-08 20:00:00 - 16-08 20:30:00 @ 35.62p 0%, 16-08 20:30:00 - 16-08 21:00:00 @ 35.3p 0%, 16-08 21:00:00 - 16-08 21:30:00 @ 35.89p 0%, 16-08 21:30:00 - 16-08 22:00:00 @ 35.71p 0%, 16-08 22:00:00 - 16-08 22:30:00 @ 33.75p 0%, 16-08 22:30:00 - 16-08 23:00:00 @ 32.0p 0%, 16-08 23:00:00 - 16-08 23:30:00 @ 30.02p 0%, 16-08 23:30:00 - 17-08 00:00:00 @ 27.8p 0%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.18p 0%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.38p 0%, 17-08 01:00:00 - 17-08 01:30:00 @ 26.7p 0%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.31p 0%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.79p 0%, 17-08 02:30:00 - 17-08 03:00:00 @ 25.86p 0%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.13p 0%, 17-08 03:30:00 - 17-08 04:00:00 @ 25.86p 0%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.27p 0%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.14p 0%, 17-08 05:00:00 - 17-08 05:30:00 @ 27.03p 0%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.28p 0%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.68p 0%, 17-08 06:30:00 - 17-08 07:00:00 @ 26.1p 0%, 17-08 07:00:00 - 17-08 07:30:00 @ 24.28p 0%, 17-08 07:30:00 - 17-08 08:00:00 @ 24.94p 0%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.06p 0%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.39p 0%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.66p 0%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.06p 0%, 17-08 10:00:00 - 17-08 10:30:00 @ 25.5p 0%, 17-08 10:30:00 - 17-08 11:00:00 @ 24.94p 0%, 17-08 11:00:00 - 17-08 11:30:00 @ 24.25p 0%, 17-08 11:30:00 - 17-08 12:00:00 @ 23.49p 0%, 17-08 12:00:00 - 17-08 12:30:00 @ 23.43p 0%, 17-08 12:30:00 - 17-08 13:00:00 @ 22.33p 100%, 17-08 13:00:00 - 17-08 13:30:00 @ 22.76p 100%, 17-08 13:30:00 - 17-08 14:00:00 @ 22.3p 100%, 17-08 14:00:00 - 17-08 14:30:00 @ 21.41p 100%, 17-08 14:30:00 - 17-08 15:00:00 @ 21.65p 100%, 17-08 15:00:00 - 17-08 15:30:00 @ 22.95p 100%, 17-08 15:30:00 - 17-08 16:00:00 @ 22.83p 100%, 17-08 16:00:00 - 17-08 16:30:00 @ 36.84p 100%, 17-08 16:30:00 - 17-08 17:00:00 @ 37.54p 100%, 17-08 17:00:00 - 17-08 17:30:00 @ 41.79p 100%, 17-08 17:30:00 - 17-08 18:00:00 @ 43.7p 100%, 17-08 18:00:00 - 17-08 18:30:00 @ 44.34p 100%, 17-08 19:00:00 - 17-08 19:30:00 @ 34.79p 100%, 17-08 19:30:00 - 17-08 20:00:00 @ 34.76p 100% ] reserve 1.12
2026-08-15 19:46:08.281162: Unclipped charge windows [ 16-08 09:30:00 - 16-08 10:00:00 @ 24.06p 34%, 16-08 11:30:00 - 16-08 12:00:00 @ 23.49p 25%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 34%, 16-08 13:30:00 - 16-08 15:00:00 @ 21.75p 100%, 16-08 15:00:00 - 16-08 16:00:00 @ 22.89p 78%, 17-08 12:30:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 17-08 20:00:00 @ 34.77p 100% ] reserve 1.12
2026-08-15 19:46:08.281805: Unfiltered charge windows [ 16-08 09:30:00 - 16-08 10:00:00 @ 24.06p 34%, 16-08 11:30:00 - 16-08 12:00:00 @ 23.49p 25%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 34%, 16-08 13:30:00 - 16-08 15:00:00 @ 21.75p 100%, 16-08 15:00:00 - 16-08 16:00:00 @ 22.89p 78%, 17-08 12:30:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 17-08 20:00:00 @ 34.77p 100% ] reserve 1.12
2026-08-15 19:46:08.282296: Filtered charge windows [ 16-08 09:30:00 - 16-08 10:00:00 @ 24.06p 34%, 16-08 11:30:00 - 16-08 12:00:00 @ 23.49p 25%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 34%, 16-08 13:30:00 - 16-08 15:00:00 @ 21.75p 100%, 16-08 15:00:00 - 16-08 16:00:00 @ 22.89p 78%, 17-08 12:30:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 17-08 20:00:00 @ 34.77p 100% ] reserve 1.12
2026-08-15 19:46:08.325166: Previous plan best metric is 900.18 (cost 915.81) and new plan best metric is 899.49 (cost 915.02)
2026-08-15 19:46:08.325422: New plan metric is not significantly better (metric_min_improvement_plan 2.0) than previous plan, using previous plan
2026-08-15 19:46:08.325591: Plan valid is now true after recompute was False
2026-08-15 19:46:08.369651: predict base end_record 08-17 12:30:00, final soc 1.12kWh, metric 1084.31p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 14:55:00, load 36.64kWh, PV 0.0kWh
2026-08-15 19:46:08.604530: Battery has 19.17 hours left - now at 14.88kWh
2026-08-15 19:46:08.725741: predict base10 end_record 08-17 12:30:00, final soc 1.12kWh, metric 1117.24p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 13:50:00, load 37.92kWh, PV 0.0kWh
2026-08-15 19:46:08.857620: predict best10 end_record 08-17 12:30:00, final soc 1.12kWh, metric 1048.94p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 06:05:00, load 37.92kWh, PV 0.0kWh
2026-08-15 19:46:08.974367: predict best end_record 08-17 12:30:00, final soc 1.12kWh, metric 1015.78p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 07:10:00, load 36.64kWh, PV 0.0kWh
2026-08-15 19:46:08.974624: Saving plan best values to HA entities
2026-08-15 19:46:09.324372: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 19:46:09.333476: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0.0
2026-08-15 19:46:09.342970: Best charging limit SoC's [2.5, 5.0, 16.0, 12.0, 16.0]kWh, export []kWh gives import battery 12.07kWh, house 3.3kWh, export 0.0kWh, metric 1015.78p, metric10 1048.94p
2026-08-15 19:46:09.514526: Marginal costs baseline metric (no standing charge): 915.8108
2026-08-15 19:46:09.993098: Marginal energy costs matrix computed: min=23.84 max=28.72
2026-08-15 19:46:10.178789: Rate array import [{'start': 1185, 'end': 1410, 'rate': 'expensive', 'range': '(29.8p - 32.9p)'}, {'start': 1410, 'end': 2400, 'rate': 'cheap', 'range': '(21.4p - 28.2p)'}, {'start': 2400, 'end': 2430, 'rate': 'expensive', 'range': '(36.8p)'}, {'start': 2430, 'end': 2580, 'rate': 'very expensive', 'range': '(37.5p - 45.3p)'}, {'start': 2580, 'end': 2850, 'rate': 'expensive', 'range': '(30.0p - 35.9p)'}, {'start': 2850, 'end': 3630, 'rate': 'cheap', 'range': '(23.4p - 28.2p)'}] export [{'start': 1185, 'end': 3630, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 19:46:10.188844: - Your estimated bill for today is £5.70 and tomorrow is £3.16
2026-08-15 19:46:10.189004: - Import rates are expensive (29.8p - 32.9p) for the next 3 and three quarters hours and then cheap (21.4p - 28.2p) for the next 16 hours.
2026-08-15 19:46:10.189094: - The battery is currently at 93% and is in eco mode for the next 15 hours.
2026-08-15 19:46:10.189326: - For the next 48 hours there will be no solar generation.
2026-08-15 19:46:10.189389: - You will run out of battery in 35 hours.
2026-08-15 19:46:10.189423: - Your next charge slot will be in 15 hours where import rates will be cheap (24.3p).
2026-08-15 19:46:10.189460: 
2026-08-15 19:46:10.296308: Plan calculation took 64.01 seconds
2026-08-15 19:46:10.296810: Inverter 0: Type SK Sunsynk
2026-08-15 19:46:10.297375: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 19:46:10.297882: Reserve min: 7%, battery_min: 7%
2026-08-15 19:46:10.298335: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 19:46:10.298819: Inverter 0 SoC: 14.88kW 93%, current charge rate 5000W, current discharge rate 5250W, current battery power 269W, current battery voltage 51.2V, grid power -55W, load power 332W, PV Power 0W
2026-08-15 19:46:10.299397: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 19:46:10.299571: Inverter 0 scheduled charge enable is False
2026-08-15 19:46:10.299677: Inverter 0 charge windows currently []
2026-08-15 19:46:10.299766: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 19:46:10.299983: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 19:46:10.300093: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 19:46:10.300194: Inverter 0 scheduled discharge enable is False
2026-08-15 19:46:10.300407: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 19:46:10.300513: Inverter 0 discharge windows currently []
2026-08-15 19:46:10.300595: Note: Inverter does not support discharge freeze - disabled
2026-08-15 19:46:10.300670: Note: Inverter does not support charge freeze - disabled
2026-08-15 19:46:10.300752: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 19:46:10.422040: Inverter 0 Charge window will be: 2026-08-16 11:00:00+01:00 - 2026-08-16 16:00:00+01:00 - current SoC 93%, target 16%
2026-08-15 19:46:10.422225: Inverter 0 disabled charge window while waiting for schedule (now 08-15 19:45:00 target set_window_minutes 30 charge start time 08-16 11:00:00) original inverter start time 08-17 00:00:00
2026-08-15 19:46:10.422300: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 19:46:10.422523: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 19:46:10.422727: No export window planned
2026-08-15 19:46:10.423005: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 19:46:10.423155: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 19:46:10.423455: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 19:46:10.423752: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 19:45:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 19:46:10.423928: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 19:46:10.424104: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 19:46:10.424308: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 19:46:10.424461: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 19:46:10.424601: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 19:46:10.424767: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 19:46:10.424907: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 19:46:10.425140: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 19:46:10.425308: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 19:46:10.425498: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 19:46:10.425646: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 19:46:10.425783: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 19:46:10.425939: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 19:46:10.426083: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 19:46:10.426221: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 19:46:10.426356: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 19:46:10.426481: Inverter 0 count register writes 0
2026-08-15 19:46:10.461322: Total inverter register writes now 826
2026-08-15 19:46:10.513004: Info: Completed run status Demand
2026-08-15 19:46:10.535774: Info: record_status Demand
2026-08-15 19:46:10.545397: Saved current settings to /config/predbat_config.json
2026-08-15 19:46:10.545711: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 19:46:10.890689: ML Predictor: Epoch 14/30: lr=0.00062 huber_loss=0.0073 val_mae=0.0027 kWh val_bias=-0.0014 kWh (-2.0%) combined=0.0021 kWh ema_combined=0.0020 kWh
2026-08-15 19:46:40.545658: ML Predictor: Epoch 15/30: lr=0.00057 huber_loss=0.0069 val_mae=0.0028 kWh val_bias=-0.0014 kWh (-2.0%) combined=0.0022 kWh ema_combined=0.0021 kWh
2026-08-15 19:46:41.778576: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 19:46:41.779134: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 19:46:41.779354: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 19:46:41.779756: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 19:46:41.779959: Note: Inverter does not support discharge freeze - disabled
2026-08-15 19:46:41.780126: Note: Inverter does not support charge freeze - disabled
2026-08-15 19:46:41.780294: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 19:47:11.271256: ML Predictor: Epoch 16/30: lr=0.00053 huber_loss=0.0072 val_mae=0.0025 kWh val_bias=-0.0014 kWh (-2.0%) combined=0.0024 kWh ema_combined=0.0021 kWh
2026-08-15 19:47:43.448688: ML Predictor: Epoch 17/30: lr=0.00048 huber_loss=0.0062 val_mae=0.0024 kWh val_bias=+0.0003 kWh (+0.4%) combined=0.0014 kWh ema_combined=0.0019 kWh
2026-08-15 19:48:13.779688: ML Predictor: Epoch 18/30: lr=0.00043 huber_loss=0.0056 val_mae=0.0023 kWh val_bias=-0.0005 kWh (-0.7%) combined=0.0015 kWh ema_combined=0.0018 kWh
2026-08-15 19:48:42.287978: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 19:48:42.288465: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 19:48:42.288636: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 19:48:42.288981: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 19:48:42.289184: Note: Inverter does not support discharge freeze - disabled
2026-08-15 19:48:42.289321: Note: Inverter does not support charge freeze - disabled
2026-08-15 19:48:42.289444: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 19:48:45.091904: ML Predictor: Epoch 19/30: lr=0.00038 huber_loss=0.0060 val_mae=0.0024 kWh val_bias=+0.0004 kWh (+0.6%) combined=0.0012 kWh ema_combined=0.0016 kWh
2026-08-15 19:49:16.843725: ML Predictor: Epoch 20/30: lr=0.00034 huber_loss=0.0057 val_mae=0.0020 kWh val_bias=-0.0002 kWh (-0.3%) combined=0.0011 kWh ema_combined=0.0015 kWh
2026-08-15 19:49:50.765380: ML Predictor: Epoch 21/30: lr=0.00030 huber_loss=0.0063 val_mae=0.0021 kWh val_bias=-0.0007 kWh (-1.0%) combined=0.0015 kWh ema_combined=0.0015 kWh
2026-08-15 19:50:00.732831: --------------- PredBat - update at 2026-08-15 19:50:00+01:00 with clock skew 0 minutes, minutes now 1190
2026-08-15 19:50:00.734473: Saved current settings to /config/predbat_config.json
2026-08-15 19:50:00.734721: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 85.0 minutes
2026-08-15 19:50:00.734884: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.2, latest beta is v8.48.2
2026-08-15 19:50:00.735037: Autoupdate: There is an update pending v8.48.2 PV90 and second pass enabled by default, bug fixes - auto update is off
2026-08-15 19:50:00.782297: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 19:50:00.782466: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 19:50:00.782692: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 19:50:00.783486: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 19:50:00.783736: Predbat mode is set to Control charge & discharge
2026-08-15 19:50:01.215255: Found 21602 load_today datapoints going back 28 days
2026-08-15 19:50:01.215418: Using load_power data to fill gaps in load_today data
2026-08-15 19:50:02.734625: Processing 721 30-minute periods for power integration
2026-08-15 19:50:03.085300: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 19:50:03.101147: Car charging hold False, threshold 6.0kWh
2026-08-15 19:50:03.101235: Current data so far today: load 9.7kWh, import 27.7kWh, export 0.0kWh, PV 0kWh
2026-08-15 19:50:03.142869: Cars: SoC: [9.962]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 19:50:03.156261: Standing charge is set to 49.98p
2026-08-15 19:50:03.252918: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 19:50:03.253106: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 19:50:03.253287: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 550.0 minutes
2026-08-15 19:50:03.253622: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 550.0 minutes
2026-08-15 19:50:03.259146: Loaded 95 datapoints of futurerate analysis
2026-08-15 19:50:03.543758: Predicted future rates: ['08-15 00:00:00 => 28.69 / 20.01', '08-15 01:00:00 => 27.33 / 19.31', '08-15 02:00:00 => 26.31 / 18.8', '08-15 03:00:00 => 25.78 / 18.53', '08-15 04:00:00 => 25.59 / 18.43', '08-15 05:00:00 => 25.75 / 18.51', '08-15 06:00:00 => 25.34 / 18.3', '08-15 07:00:00 => 24.12 / 17.68', '08-15 08:00:00 => 22.82 / 17.01', '08-15 09:00:00 => 21.84 / 16.51', '08-15 10:00:00 => 20.22 / 15.68', '08-15 11:00:00 => 17.8 / 14.45', '08-15 12:00:00 => 16.16 / 13.61', '08-15 13:00:00 => 15.55 / 13.3', '08-15 14:00:00 => 15.14 / 13.09', '08-15 15:00:00 => 15.65 / 13.35', '08-15 16:00:00 => 32.68 / 16.13', '08-15 17:00:00 => 37.81 / 18.75', '08-15 18:00:00 => 42.15 / 20.96', '08-15 19:00:00 => 30.88 / 21.13', '08-15 20:00:00 => 31.43 / 21.41', '08-15 21:00:00 => 31.43 / 21.41', '08-15 22:00:00 => 30.37 / 20.87', '08-15 23:00:00 => 29.16 / 20.25', '08-16 00:00:00 => 28.62 / 19.97', '08-16 01:00:00 => 27.52 / 19.41', '08-16 02:00:00 => 26.55 / 18.92', '08-16 03:00:00 => 26.18 / 18.73', '08-16 04:00:00 => 26.12 / 18.7', '08-16 05:00:00 => 26.02 / 18.65', '08-16 06:00:00 => 25.78 / 18.53', '08-16 07:00:00 => 25.43 / 18.35', '08-16 08:00:00 => 24.63 / 17.94', '08-16 09:00:00 => 24.05 / 17.64', '08-16 10:00:00 => 24.59 / 17.92', '08-16 11:00:00 => 24.5 / 17.87', '08-16 12:00:00 => 23.58 / 17.4', '08-16 13:00:00 => 22.93 / 17.07', '08-16 14:00:00 => 21.8 / 16.49', '08-16 15:00:00 => 21.8 / 16.49', '08-16 16:00:00 => 36.93 / 18.3', '08-16 17:00:00 => 39.92 / 19.83', '08-16 18:00:00 => 43.98 / 21.9']
2026-08-15 19:50:03.666713: Rate min forward looking: now 21.41p at end of forecast 21.41p
2026-08-15 19:50:03.667423: Import rates: min 21.41p, max 45.28p, average 28.52p
2026-08-15 19:50:03.710115: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 19:50:03.710297: Rate thresholds (for charge/export) are import 44.78p (0.0p), export -0.1p (0.0p)
2026-08-15 19:50:03.711746: High export rate found rates in range 99p to -99p
2026-08-15 19:50:03.821420: Low Import rate found rates in range 21.41p to 44.34p
2026-08-15 19:50:03.821567: Car 0 charging is not planned as it is not plugged in
2026-08-15 19:50:03.835752: Battery level now 14.88kWh, -1hr ago 15.04kWh, at midnight 1.66kWh, battery value change in the last hour -2.94p, change today 243.23p, rate_forward 18.39p
2026-08-15 19:50:03.836147: Last hour: net energy 0.01kWh, import 0.01kWh, export 0.0kWh, car 0kWh, load 0.22kWh, net cost 0.54p, import 0.54p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 19:50:03.952525: Today's energy total net 27.7kWh, import 27.7kWh, export 0.0kWh, cost 570.18p, import 520.2p, export 0.0p, carbon 0.0kg
2026-08-15 19:50:03.952796: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 19:50:04.172804: Using weighted-bucket historical load forecast over 14 days
2026-08-15 19:50:04.206617: Today's load divergence 83.76%, in-day adjustment 94.85%, damping 0.95x, yesterday 143.77% today 84.57% blend 17.36%
2026-08-15 19:50:04.206828: Today's predicted so far 11.84kWh with 0.0kWh car/iBoost excluded, 20.88kWh import ignored, and 11.84kWh forecast extra.
2026-08-15 19:50:04.206907: Today's actual load so far 9.72kWh with 0.0kWh car/iBoost excluded, and 20.88kWh import ignored.
2026-08-15 19:50:04.317940: Inverter 0: Type SK Sunsynk
2026-08-15 19:50:04.318037: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 19:50:04.318254: Reserve min: 7%, battery_min: 7%
2026-08-15 19:50:04.318334: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 19:50:04.318643: Inverter 0 SoC: 14.79kW 92%, current charge rate 5000W, current discharge rate 5250W, current battery power 315W, current battery voltage 51.2V, grid power -55W, load power 376W, PV Power 0W
2026-08-15 19:50:04.318817: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 19:50:04.318912: Inverter 0 scheduled charge enable is False
2026-08-15 19:50:04.318950: Inverter 0 charge windows currently []
2026-08-15 19:50:04.318977: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 19:50:04.319138: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 19:50:04.319182: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 19:50:04.319220: Inverter 0 scheduled discharge enable is False
2026-08-15 19:50:04.319352: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 19:50:04.319391: Inverter 0 discharge windows currently []
2026-08-15 19:50:04.319413: Note: Inverter does not support discharge freeze - disabled
2026-08-15 19:50:04.319436: Note: Inverter does not support charge freeze - disabled
2026-08-15 19:50:04.319454: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 19:50:04.439809: Dynamic load last period 0.00kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 19:50:04.439935: Plan was last updated on 2026-08-15 19:45:00+01:00 and is now 5.0 minutes old
2026-08-15 19:50:04.440247: Best charge window [ 16-08 11:00:00 - 16-08 12:30:00 @ 23.65p 16%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 31%, 16-08 13:30:00 - 16-08 15:00:00 @ 21.91p 100%, 16-08 15:00:00 - 16-08 16:00:00 @ 22.89p 75%, 17-08 12:30:00 - 17-08 18:00:00 @ 40.7p 100% ]
2026-08-15 19:50:04.440300: Best export window [  ]
2026-08-15 19:50:04.441533: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 19:50:04.445533: Load divergence over 8.0 hours mean 803.34W, min 334.2W, max 1997.4W, std dev 427.87W, divergence 26.63%
2026-08-15 19:50:04.505004: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 19:50:04.505172: LoadML is_calculating True
2026-08-15 19:50:04.505250: Not using thread pool as LoadML is calculating to avoid lockups
2026-08-15 19:50:04.585729: predict base end_record 08-17 12:35:00, final soc 1.12kWh, metric 1086.12p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 14:55:00, load 36.59kWh, PV 0.0kWh
2026-08-15 19:50:04.817880: Battery has 19.08 hours left - now at 14.79kWh
2026-08-15 19:50:04.911951: predict base10 end_record 08-17 12:35:00, final soc 1.12kWh, metric 1119.07p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 13:50:00, load 37.87kWh, PV 0.0kWh
2026-08-15 19:50:05.094421: predict best10 end_record 08-17 12:35:00, final soc 1.44kWh, metric 1058.51p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 06:05:00, load 37.87kWh, PV 0.0kWh
2026-08-15 19:50:05.225520: predict best end_record 08-17 12:35:00, final soc 1.51kWh, metric 1026.88p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 07:10:00, load 36.59kWh, PV 0.0kWh
2026-08-15 19:50:05.226010: Saving plan best values to HA entities
2026-08-15 19:50:05.592214: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 19:50:05.599773: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 19:50:05.607016: Best charging limit SoC's [2.5, 5.0, 16.0, 12.0, 16.0]kWh, export []kWh gives import battery 12.55kWh, house 3.31kWh, export 0.0kWh, metric 1026.88p, metric10 1058.51p
2026-08-15 19:50:05.805600: Marginal costs baseline metric (no standing charge): 926.9101
2026-08-15 19:50:06.098998: Marginal energy costs matrix computed: min=23.82 max=28.68
2026-08-15 19:50:06.231847: Rate array import [{'start': 1190, 'end': 1410, 'rate': 'expensive', 'range': '(29.8p - 32.9p)'}, {'start': 1410, 'end': 2400, 'rate': 'cheap', 'range': '(21.4p - 28.2p)'}, {'start': 2400, 'end': 2430, 'rate': 'expensive', 'range': '(36.8p)'}, {'start': 2430, 'end': 2580, 'rate': 'very expensive', 'range': '(37.5p - 45.3p)'}, {'start': 2580, 'end': 2850, 'rate': 'expensive', 'range': '(30.0p - 35.9p)'}, {'start': 2850, 'end': 3635, 'rate': 'cheap', 'range': '(22.3p - 28.2p)'}] export [{'start': 1190, 'end': 3635, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 19:50:06.232991: - Your estimated bill for today is £5.70 and tomorrow is £3.15
2026-08-15 19:50:06.233099: - Import rates are expensive (29.8p - 32.9p) for the next 3 and three quarters hours and then cheap (21.4p - 28.2p) for the next 16 hours.
2026-08-15 19:50:06.233133: - The battery is currently at 92% and is in eco mode for the next 15 hours.
2026-08-15 19:50:06.233160: - For the next 48 hours there will be no solar generation.
2026-08-15 19:50:06.233184: - You will run out of battery in 35 hours.
2026-08-15 19:50:06.233218: - Your next charge slot will be in 15 hours where import rates will be cheap (24.3p).
2026-08-15 19:50:06.233251: 
2026-08-15 19:50:06.313134: Plan calculation took 1.87 seconds
2026-08-15 19:50:06.324565: No high rate period found
2026-08-15 19:50:06.437230: Import threshold used for optimisation was 24.06p
2026-08-15 19:50:06.562205: Low import rate windows [0: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 1: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 2: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 3: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 4: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 5: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 6: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 7: 08-15 23:00:00 - 08-15 23:30:00 @ 30.02, 8: 08-15 23:30:00 - 08-16 00:00:00 @ 27.8, 9: 08-16 00:00:00 - 08-16 00:30:00 @ 28.18, 10: 08-16 00:30:00 - 08-16 01:00:00 @ 27.38, 11: 08-16 01:00:00 - 08-16 01:30:00 @ 26.7, 12: 08-16 01:30:00 - 08-16 02:00:00 @ 26.31, 13: 08-16 02:00:00 - 08-16 02:30:00 @ 25.79, 14: 08-16 02:30:00 - 08-16 03:00:00 @ 25.86, 15: 08-16 03:00:00 - 08-16 03:30:00 @ 26.13, 16: 08-16 03:30:00 - 08-16 04:00:00 @ 25.86, 17: 08-16 04:00:00 - 08-16 04:30:00 @ 26.27, 18: 08-16 04:30:00 - 08-16 05:00:00 @ 26.14, 19: 08-16 05:00:00 - 08-16 05:30:00 @ 27.03, 20: 08-16 05:30:00 - 08-16 06:00:00 @ 26.28, 21: 08-16 06:00:00 - 08-16 06:30:00 @ 25.68, 22: 08-16 06:30:00 - 08-16 07:00:00 @ 26.1, 23: 08-16 07:00:00 - 08-16 07:30:00 @ 24.28, 24: 08-16 07:30:00 - 08-16 08:00:00 @ 24.94, 25: 08-16 08:00:00 - 08-16 08:30:00 @ 24.06, 26: 08-16 08:30:00 - 08-16 09:00:00 @ 24.39, 27: 08-16 09:00:00 - 08-16 09:30:00 @ 24.66, 28: 08-16 09:30:00 - 08-16 10:00:00 @ 24.06, 29: 08-16 10:00:00 - 08-16 10:30:00 @ 25.5, 30: 08-16 10:30:00 - 08-16 11:00:00 @ 24.94, 31: 08-16 11:00:00 - 08-16 11:30:00 @ 24.25, 32: 08-16 11:30:00 - 08-16 12:00:00 @ 23.49, 33: 08-16 12:00:00 - 08-16 12:30:00 @ 23.43, 34: 08-16 12:30:00 - 08-16 13:00:00 @ 22.33, 35: 08-16 13:00:00 - 08-16 13:30:00 @ 22.76, 36: 08-16 13:30:00 - 08-16 14:00:00 @ 22.3, 37: 08-16 14:00:00 - 08-16 14:30:00 @ 21.41, 38: 08-16 14:30:00 - 08-16 15:00:00 @ 21.65, 39: 08-16 15:00:00 - 08-16 15:30:00 @ 22.95, 40: 08-16 15:30:00 - 08-16 16:00:00 @ 22.83, 41: 08-16 16:00:00 - 08-16 16:30:00 @ 36.84, 42: 08-16 16:30:00 - 08-16 17:00:00 @ 37.54, 43: 08-16 17:00:00 - 08-16 17:30:00 @ 41.79, 44: 08-16 17:30:00 - 08-16 18:00:00 @ 43.7, 45: 08-16 18:00:00 - 08-16 18:30:00 @ 44.34, 46: 08-16 19:00:00 - 08-16 19:30:00 @ 34.79, 47: 08-16 19:30:00 - 08-16 20:00:00 @ 34.76, 48: 08-16 20:00:00 - 08-16 20:30:00 @ 35.62, 49: 08-16 20:30:00 - 08-16 21:00:00 @ 35.3, 50: 08-16 21:00:00 - 08-16 21:30:00 @ 35.89, 51: 08-16 21:30:00 - 08-16 22:00:00 @ 35.71, 52: 08-16 22:00:00 - 08-16 22:30:00 @ 33.75, 53: 08-16 22:30:00 - 08-16 23:00:00 @ 32.0, 54: 08-16 23:00:00 - 08-16 23:30:00 @ 30.02, 55: 08-16 23:30:00 - 08-17 00:00:00 @ 27.8, 56: 08-17 00:00:00 - 08-17 00:30:00 @ 28.18, 57: 08-17 00:30:00 - 08-17 01:00:00 @ 27.38, 58: 08-17 01:00:00 - 08-17 01:30:00 @ 26.7, 59: 08-17 01:30:00 - 08-17 02:00:00 @ 26.31, 60: 08-17 02:00:00 - 08-17 02:30:00 @ 25.79, 61: 08-17 02:30:00 - 08-17 03:00:00 @ 25.86, 62: 08-17 03:00:00 - 08-17 03:30:00 @ 26.13, 63: 08-17 03:30:00 - 08-17 04:00:00 @ 25.86, 64: 08-17 04:00:00 - 08-17 04:30:00 @ 26.27, 65: 08-17 04:30:00 - 08-17 05:00:00 @ 26.14, 66: 08-17 05:00:00 - 08-17 05:30:00 @ 27.03, 67: 08-17 05:30:00 - 08-17 06:00:00 @ 26.28, 68: 08-17 06:00:00 - 08-17 06:30:00 @ 25.68, 69: 08-17 06:30:00 - 08-17 07:00:00 @ 26.1, 70: 08-17 07:00:00 - 08-17 07:30:00 @ 24.28, 71: 08-17 07:30:00 - 08-17 08:00:00 @ 24.94, 72: 08-17 08:00:00 - 08-17 08:30:00 @ 24.06, 73: 08-17 08:30:00 - 08-17 09:00:00 @ 24.39, 74: 08-17 09:00:00 - 08-17 09:30:00 @ 24.66, 75: 08-17 09:30:00 - 08-17 10:00:00 @ 24.06, 76: 08-17 10:00:00 - 08-17 10:30:00 @ 25.5, 77: 08-17 10:30:00 - 08-17 11:00:00 @ 24.94, 78: 08-17 11:00:00 - 08-17 11:30:00 @ 24.25, 79: 08-17 11:30:00 - 08-17 12:00:00 @ 23.49, 80: 08-17 12:00:00 - 08-17 12:30:00 @ 23.43, 81: 08-17 12:30:00 - 08-17 13:00:00 @ 22.33, 82: 08-17 13:00:00 - 08-17 13:30:00 @ 22.76, 83: 08-17 13:30:00 - 08-17 14:00:00 @ 22.3, 84: 08-17 14:00:00 - 08-17 14:30:00 @ 21.41, 85: 08-17 14:30:00 - 08-17 15:00:00 @ 21.65, 86: 08-17 15:00:00 - 08-17 15:30:00 @ 22.95, 87: 08-17 15:30:00 - 08-17 16:00:00 @ 22.83, 88: 08-17 16:00:00 - 08-17 16:30:00 @ 36.84, 89: 08-17 16:30:00 - 08-17 17:00:00 @ 37.54, 90: 08-17 17:00:00 - 08-17 17:30:00 @ 41.79, 91: 08-17 17:30:00 - 08-17 18:00:00 @ 43.7, 92: 08-17 18:00:00 - 08-17 18:30:00 @ 44.34, 93: 08-17 19:00:00 - 08-17 19:30:00 @ 34.79, 94: 08-17 19:30:00 - 08-17 20:00:00 @ 34.76]
2026-08-15 19:50:06.576529: Inverter 0 Charge window will be: 2026-08-16 11:00:00+01:00 - 2026-08-16 16:00:00+01:00 - current SoC 92%, target 16%
2026-08-15 19:50:06.576709: Inverter 0 disabled charge window while waiting for schedule (now 08-15 19:50:00 target set_window_minutes 30 charge start time 08-16 11:00:00) original inverter start time 08-17 00:00:00
2026-08-15 19:50:06.576795: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 19:50:06.578329: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 19:50:06.578707: No export window planned
2026-08-15 19:50:06.578900: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 19:50:06.578950: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 19:50:06.579171: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 19:50:06.579367: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 19:50:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 19:50:06.579445: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 19:50:06.579647: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 19:50:06.581930: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 19:50:06.582173: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 19:50:06.582279: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 19:50:06.582331: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 19:50:06.582459: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 19:50:06.582506: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 19:50:06.582628: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 19:50:06.582778: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 19:50:06.582838: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 19:50:06.582920: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 19:50:06.583045: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 19:50:06.583170: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 19:50:06.583325: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 19:50:06.583424: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 19:50:06.583608: Inverter 0 count register writes 0
2026-08-15 19:50:06.628913: Will not recompute the plan, it is 5.0 minutes old and max age is 10 minutes
2026-08-15 19:50:06.637349: Total inverter register writes now 826
2026-08-15 19:50:06.722719: Info: Completed run status Demand
2026-08-15 19:50:06.745578: Info: record_status Demand
2026-08-15 19:50:06.757987: Saved current settings to /config/predbat_config.json
2026-08-15 19:50:06.758319: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 19:50:26.962021: ML Predictor: Epoch 22/30: lr=0.00026 huber_loss=0.0057 val_mae=0.0020 kWh val_bias=+0.0002 kWh (+0.2%) combined=0.0011 kWh ema_combined=0.0014 kWh
2026-08-15 19:50:41.957860: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 19:50:41.958328: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 19:50:41.958526: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 19:50:41.958888: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 19:50:41.959072: Note: Inverter does not support discharge freeze - disabled
2026-08-15 19:50:41.959207: Note: Inverter does not support charge freeze - disabled
2026-08-15 19:50:41.959376: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 19:50:59.315584: ML Predictor: Epoch 23/30: lr=0.00022 huber_loss=0.0058 val_mae=0.0020 kWh val_bias=-0.0002 kWh (-0.3%) combined=0.0010 kWh ema_combined=0.0013 kWh
2026-08-15 19:51:29.276006: ML Predictor: Epoch 24/30: lr=0.00019 huber_loss=0.0052 val_mae=0.0020 kWh val_bias=-0.0005 kWh (-0.7%) combined=0.0011 kWh ema_combined=0.0012 kWh
2026-08-15 19:52:01.500530: ML Predictor: Epoch 25/30: lr=0.00016 huber_loss=0.0052 val_mae=0.0021 kWh val_bias=-0.0007 kWh (-1.0%) combined=0.0012 kWh ema_combined=0.0012 kWh
2026-08-15 19:52:33.054240: ML Predictor: Epoch 26/30: lr=0.00014 huber_loss=0.0055 val_mae=0.0019 kWh val_bias=-0.0007 kWh (-1.0%) combined=0.0014 kWh ema_combined=0.0013 kWh
2026-08-15 19:52:42.443252: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 19:52:42.443830: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 19:52:42.444112: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 19:52:42.444585: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 19:52:42.445332: Note: Inverter does not support discharge freeze - disabled
2026-08-15 19:52:42.445487: Note: Inverter does not support charge freeze - disabled
2026-08-15 19:52:42.445629: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 19:53:06.591892: ML Predictor: Epoch 27/30: lr=0.00012 huber_loss=0.0050 val_mae=0.0018 kWh val_bias=-0.0001 kWh (-0.1%) combined=0.0009 kWh ema_combined=0.0012 kWh
2026-08-15 19:53:38.894469: ML Predictor: Epoch 28/30: lr=0.00011 huber_loss=0.0049 val_mae=0.0021 kWh val_bias=-0.0008 kWh (-1.1%) combined=0.0014 kWh ema_combined=0.0012 kWh
2026-08-15 19:54:10.351441: ML Predictor: Epoch 29/30: lr=0.00010 huber_loss=0.0049 val_mae=0.0019 kWh val_bias=-0.0007 kWh (-1.0%) combined=0.0014 kWh ema_combined=0.0013 kWh
2026-08-15 19:54:44.576070: ML Predictor: Epoch 30/30: lr=0.00010 huber_loss=0.0051 val_mae=0.0018 kWh val_bias=-0.0005 kWh (-0.7%) combined=0.0012 kWh ema_combined=0.0013 kWh
2026-08-15 19:54:44.577139: ML Predictor: Restored best weights from epoch with val_mae=0.0018 kWh val_bias=-0.0001 kWh (-0.1%)
2026-08-15 19:54:44.577316: ML Predictor: Training complete, final val_mae=0.0018 kWh val_bias=-0.0001 kWh (-0.1%)
2026-08-15 19:54:46.871270: ML Predictor: AR rollout over holdout: ar_mae=0.0020 kWh ar_bias=-0.0001 kWh (-0.1%) [drift vs teacher-forced: +0.0001 kWh]
2026-08-15 19:54:46.879603: ML Predictor: Curriculum pass 2/5 complete, val_mae=0.0018 kWh
2026-08-15 19:54:46.984636: ML Predictor: Curriculum pass 3/5: window=56.0 days (1344 hours of data)
2026-08-15 19:54:46.984917: ML Predictor: Starting fine-tune training with 30 epochs
2026-08-15 19:54:47.626622: ML Predictor: Creating dataset with 1344 hours of training data, 48 hours validation
2026-08-15 19:54:52.888657: ML Predictor: Created 15840 training samples, 576 validation samples
2026-08-15 19:54:52.942473: ML Predictor: Normalization stats [ema-update alpha=0.1] target(mean=0.0586 std=0.0467) load(mean=0.0588 std=0.0468) pv(mean=0.0000 std=0.0100) temp(mean=19.5305 std=4.4377) import_rate(mean=25.5337 std=2.4621) export_rate(mean=0.0000 std=1.0000) time(mean=-0.1887 std=0.5248)
2026-08-15 19:54:53.027057: ML Predictor: Applied EMA normalization update (alpha=0.1) to track feature drift
2026-08-15 19:54:53.043974: ML Predictor: Reset Adam optimiser state for fine-tuning
2026-08-15 19:54:53.112130: ML Predictor: Baseline (pre-finetune) val_mae=0.0051 kWh val_bias=-0.0006 kWh
2026-08-15 19:54:57.396219: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 19:54:57.396992: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 19:54:57.397161: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 19:54:57.397669: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 19:54:57.398268: Note: Inverter does not support discharge freeze - disabled
2026-08-15 19:54:57.398422: Note: Inverter does not support charge freeze - disabled
2026-08-15 19:54:57.398522: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 19:55:00.574614: --------------- PredBat - update at 2026-08-15 19:55:00+01:00 with clock skew 0 minutes, minutes now 1195
2026-08-15 19:55:00.575943: Saved current settings to /config/predbat_config.json
2026-08-15 19:55:00.576160: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 90.0 minutes
2026-08-15 19:55:00.576309: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.2, latest beta is v8.48.2
2026-08-15 19:55:00.576430: Autoupdate: There is an update pending v8.48.2 PV90 and second pass enabled by default, bug fixes - auto update is off
2026-08-15 19:55:00.610946: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 19:55:00.611104: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 19:55:00.611351: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 19:55:00.612143: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 19:55:00.612445: Predbat mode is set to Control charge & discharge
2026-08-15 19:55:01.007410: Found 21602 load_today datapoints going back 28 days
2026-08-15 19:55:01.025115: Using load_power data to fill gaps in load_today data
2026-08-15 19:55:02.620328: Processing 721 30-minute periods for power integration
2026-08-15 19:55:02.932750: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 19:55:02.932940: Car charging hold False, threshold 6.0kWh
2026-08-15 19:55:02.933029: Current data so far today: load 9.7kWh, import 27.7kWh, export 0.0kWh, PV 0kWh
2026-08-15 19:55:02.947943: Cars: SoC: [9.962]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 19:55:02.965735: Standing charge is set to 49.98p
2026-08-15 19:55:03.142457: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 19:55:03.142719: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 19:55:03.143040: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 555.0 minutes
2026-08-15 19:55:03.143682: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 555.0 minutes
2026-08-15 19:55:03.167897: Loaded 95 datapoints of futurerate analysis
2026-08-15 19:55:03.508924: Predicted future rates: ['08-15 00:00:00 => 28.69 / 20.01', '08-15 01:00:00 => 27.33 / 19.31', '08-15 02:00:00 => 26.31 / 18.8', '08-15 03:00:00 => 25.78 / 18.53', '08-15 04:00:00 => 25.59 / 18.43', '08-15 05:00:00 => 25.75 / 18.51', '08-15 06:00:00 => 25.34 / 18.3', '08-15 07:00:00 => 24.12 / 17.68', '08-15 08:00:00 => 22.82 / 17.01', '08-15 09:00:00 => 21.84 / 16.51', '08-15 10:00:00 => 20.22 / 15.68', '08-15 11:00:00 => 17.8 / 14.45', '08-15 12:00:00 => 16.16 / 13.61', '08-15 13:00:00 => 15.55 / 13.3', '08-15 14:00:00 => 15.14 / 13.09', '08-15 15:00:00 => 15.65 / 13.35', '08-15 16:00:00 => 32.68 / 16.13', '08-15 17:00:00 => 37.81 / 18.75', '08-15 18:00:00 => 42.15 / 20.96', '08-15 19:00:00 => 30.88 / 21.13', '08-15 20:00:00 => 31.43 / 21.41', '08-15 21:00:00 => 31.43 / 21.41', '08-15 22:00:00 => 30.37 / 20.87', '08-15 23:00:00 => 29.16 / 20.25', '08-16 00:00:00 => 28.62 / 19.97', '08-16 01:00:00 => 27.52 / 19.41', '08-16 02:00:00 => 26.55 / 18.92', '08-16 03:00:00 => 26.18 / 18.73', '08-16 04:00:00 => 26.12 / 18.7', '08-16 05:00:00 => 26.02 / 18.65', '08-16 06:00:00 => 25.78 / 18.53', '08-16 07:00:00 => 25.43 / 18.35', '08-16 08:00:00 => 24.63 / 17.94', '08-16 09:00:00 => 24.05 / 17.64', '08-16 10:00:00 => 24.59 / 17.92', '08-16 11:00:00 => 24.5 / 17.87', '08-16 12:00:00 => 23.58 / 17.4', '08-16 13:00:00 => 22.93 / 17.07', '08-16 14:00:00 => 21.8 / 16.49', '08-16 15:00:00 => 21.8 / 16.49', '08-16 16:00:00 => 36.93 / 18.3', '08-16 17:00:00 => 39.92 / 19.83', '08-16 18:00:00 => 43.98 / 21.9']
2026-08-15 19:55:03.565723: Rate min forward looking: now 21.41p at end of forecast 21.41p
2026-08-15 19:55:03.566199: Import rates: min 21.41p, max 45.28p, average 28.53p
2026-08-15 19:55:03.617806: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 19:55:03.618540: Rate thresholds (for charge/export) are import 44.78p (0.0p), export -0.1p (0.0p)
2026-08-15 19:55:03.620100: High export rate found rates in range 99p to -99p
2026-08-15 19:55:03.761508: Low Import rate found rates in range 21.41p to 44.34p
2026-08-15 19:55:03.761806: Car 0 charging is not planned as it is not plugged in
2026-08-15 19:55:03.778159: Battery level now 14.79kWh, -1hr ago 15.04kWh, at midnight 1.66kWh, battery value change in the last hour -4.56p, change today 241.61p, rate_forward 18.39p
2026-08-15 19:55:03.778776: Last hour: net energy 0.01kWh, import 0.01kWh, export 0.0kWh, car 0kWh, load 0.2kWh, net cost 0.34p, import 0.34p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 19:55:03.874912: Today's energy total net 27.7kWh, import 27.7kWh, export 0.0kWh, cost 570.18p, import 520.2p, export 0.0p, carbon 0.0kg
2026-08-15 19:55:03.875254: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 19:55:04.032716: Using weighted-bucket historical load forecast over 14 days
2026-08-15 19:55:04.122200: Today's load divergence 83.09%, in-day adjustment 94.12%, damping 0.95x, yesterday 143.77% today 83.94% blend 17.01%
2026-08-15 19:55:04.122539: Today's predicted so far 11.87kWh with 0.0kWh car/iBoost excluded, 20.85kWh import ignored, and 11.87kWh forecast extra.
2026-08-15 19:55:04.122696: Today's actual load so far 9.67kWh with 0.0kWh car/iBoost excluded, and 20.85kWh import ignored.
2026-08-15 19:55:04.204504: Inverter 0: Type SK Sunsynk
2026-08-15 19:55:04.204788: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 19:55:04.205352: Reserve min: 7%, battery_min: 7%
2026-08-15 19:55:04.205630: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 19:55:04.206184: Inverter 0 SoC: 14.79kW 92%, current charge rate 5000W, current discharge rate 5250W, current battery power 272W, current battery voltage 51.2V, grid power -55W, load power 335W, PV Power 0W
2026-08-15 19:55:04.206587: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 19:55:04.206866: Inverter 0 scheduled charge enable is False
2026-08-15 19:55:04.207022: Inverter 0 charge windows currently []
2026-08-15 19:55:04.207200: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 19:55:04.207639: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 19:55:04.207797: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 19:55:04.207979: Inverter 0 scheduled discharge enable is False
2026-08-15 19:55:04.208395: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 19:55:04.208542: Inverter 0 discharge windows currently []
2026-08-15 19:55:04.208693: Note: Inverter does not support discharge freeze - disabled
2026-08-15 19:55:04.208840: Note: Inverter does not support charge freeze - disabled
2026-08-15 19:55:04.209035: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 19:55:04.305847: Dynamic load last period 0.00kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 19:55:04.306148: Plan was last updated on 2026-08-15 19:45:00+01:00 and is now 10.0 minutes old
2026-08-15 19:55:04.306588: Best charge window [ 16-08 11:00:00 - 16-08 12:30:00 @ 23.65p 16%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 31%, 16-08 13:30:00 - 16-08 15:00:00 @ 21.91p 100%, 16-08 15:00:00 - 16-08 16:00:00 @ 22.89p 75%, 17-08 12:30:00 - 17-08 18:00:00 @ 40.7p 100% ]
2026-08-15 19:55:04.306733: Best export window [  ]
2026-08-15 19:55:04.307905: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 19:55:04.312286: Load divergence over 8.0 hours mean 803.24W, min 336.6W, max 1875.0W, std dev 426.79W, divergence 26.57%
2026-08-15 19:55:04.357851: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 19:55:04.367984: LoadML is_calculating True
2026-08-15 19:55:04.368211: Not using thread pool as LoadML is calculating to avoid lockups
2026-08-15 19:55:04.451218: predict base end_record 08-17 12:40:00, final soc 1.12kWh, metric 1086.05p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 15:00:00, load 36.58kWh, PV 0.0kWh
2026-08-15 19:55:04.631496: Battery has 19.08 hours left - now at 14.79kWh
2026-08-15 19:55:04.686904: predict base10 end_record 08-17 12:40:00, final soc 1.12kWh, metric 1118.96p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 14:00:00, load 37.86kWh, PV 0.0kWh
2026-08-15 19:55:04.868100: predict best10 end_record 08-17 12:40:00, final soc 1.77kWh, metric 1066.04p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 06:10:00, load 37.86kWh, PV 0.0kWh
2026-08-15 19:55:05.040927: predict best end_record 08-17 12:40:00, final soc 1.9kWh, metric 1035.92p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 07:10:00, load 36.58kWh, PV 0.0kWh
2026-08-15 19:55:05.041287: Saving plan best values to HA entities
2026-08-15 19:55:05.386031: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 19:55:05.393201: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0.0
2026-08-15 19:55:05.399749: Best charging limit SoC's [2.5, 5.0, 16.0, 12.0, 16.0]kWh, export []kWh gives import battery 12.95kWh, house 3.32kWh, export 0.0kWh, metric 1035.92p, metric10 1066.04p
2026-08-15 19:55:05.502777: Marginal costs baseline metric (no standing charge): 935.9536
2026-08-15 19:55:06.062329: Marginal energy costs matrix computed: min=24.04 max=28.64
2026-08-15 19:55:06.218555: Rate array import [{'start': 1195, 'end': 1410, 'rate': 'expensive', 'range': '(29.8p - 32.9p)'}, {'start': 1410, 'end': 2400, 'rate': 'cheap', 'range': '(21.4p - 28.2p)'}, {'start': 2400, 'end': 2430, 'rate': 'expensive', 'range': '(36.8p)'}, {'start': 2430, 'end': 2580, 'rate': 'very expensive', 'range': '(37.5p - 45.3p)'}, {'start': 2580, 'end': 2850, 'rate': 'expensive', 'range': '(30.0p - 35.9p)'}, {'start': 2850, 'end': 3640, 'rate': 'cheap', 'range': '(22.3p - 28.2p)'}] export [{'start': 1195, 'end': 3640, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 19:55:06.219691: - Your estimated bill for today is £5.70 and tomorrow is £3.14
2026-08-15 19:55:06.219871: - Import rates are expensive (29.8p - 32.9p) for the next 3 and a half hours and then cheap (21.4p - 28.2p) for the next 16 hours.
2026-08-15 19:55:06.220003: - The battery is currently at 92% and is in eco mode for the next 15 hours.
2026-08-15 19:55:06.220140: - For the next 48 hours there will be no solar generation.
2026-08-15 19:55:06.220297: - You will run out of battery in 35 hours.
2026-08-15 19:55:06.220409: - Your next charge slot will be in 15 hours where import rates will be cheap (24.3p).
2026-08-15 19:55:06.220527: 
2026-08-15 19:55:06.337599: Plan calculation took 2.03 seconds
2026-08-15 19:55:06.343913: No high rate period found
2026-08-15 19:55:06.467226: Import threshold used for optimisation was 24.06p
2026-08-15 19:55:06.586679: Low import rate windows [0: 08-15 19:30:00 - 08-15 20:00:00 @ 32.9, 1: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 2: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 3: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 4: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 5: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 6: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 7: 08-15 23:00:00 - 08-15 23:30:00 @ 30.02, 8: 08-15 23:30:00 - 08-16 00:00:00 @ 27.8, 9: 08-16 00:00:00 - 08-16 00:30:00 @ 28.18, 10: 08-16 00:30:00 - 08-16 01:00:00 @ 27.38, 11: 08-16 01:00:00 - 08-16 01:30:00 @ 26.7, 12: 08-16 01:30:00 - 08-16 02:00:00 @ 26.31, 13: 08-16 02:00:00 - 08-16 02:30:00 @ 25.79, 14: 08-16 02:30:00 - 08-16 03:00:00 @ 25.86, 15: 08-16 03:00:00 - 08-16 03:30:00 @ 26.13, 16: 08-16 03:30:00 - 08-16 04:00:00 @ 25.86, 17: 08-16 04:00:00 - 08-16 04:30:00 @ 26.27, 18: 08-16 04:30:00 - 08-16 05:00:00 @ 26.14, 19: 08-16 05:00:00 - 08-16 05:30:00 @ 27.03, 20: 08-16 05:30:00 - 08-16 06:00:00 @ 26.28, 21: 08-16 06:00:00 - 08-16 06:30:00 @ 25.68, 22: 08-16 06:30:00 - 08-16 07:00:00 @ 26.1, 23: 08-16 07:00:00 - 08-16 07:30:00 @ 24.28, 24: 08-16 07:30:00 - 08-16 08:00:00 @ 24.94, 25: 08-16 08:00:00 - 08-16 08:30:00 @ 24.06, 26: 08-16 08:30:00 - 08-16 09:00:00 @ 24.39, 27: 08-16 09:00:00 - 08-16 09:30:00 @ 24.66, 28: 08-16 09:30:00 - 08-16 10:00:00 @ 24.06, 29: 08-16 10:00:00 - 08-16 10:30:00 @ 25.5, 30: 08-16 10:30:00 - 08-16 11:00:00 @ 24.94, 31: 08-16 11:00:00 - 08-16 11:30:00 @ 24.25, 32: 08-16 11:30:00 - 08-16 12:00:00 @ 23.49, 33: 08-16 12:00:00 - 08-16 12:30:00 @ 23.43, 34: 08-16 12:30:00 - 08-16 13:00:00 @ 22.33, 35: 08-16 13:00:00 - 08-16 13:30:00 @ 22.76, 36: 08-16 13:30:00 - 08-16 14:00:00 @ 22.3, 37: 08-16 14:00:00 - 08-16 14:30:00 @ 21.41, 38: 08-16 14:30:00 - 08-16 15:00:00 @ 21.65, 39: 08-16 15:00:00 - 08-16 15:30:00 @ 22.95, 40: 08-16 15:30:00 - 08-16 16:00:00 @ 22.83, 41: 08-16 16:00:00 - 08-16 16:30:00 @ 36.84, 42: 08-16 16:30:00 - 08-16 17:00:00 @ 37.54, 43: 08-16 17:00:00 - 08-16 17:30:00 @ 41.79, 44: 08-16 17:30:00 - 08-16 18:00:00 @ 43.7, 45: 08-16 18:00:00 - 08-16 18:30:00 @ 44.34, 46: 08-16 19:00:00 - 08-16 19:30:00 @ 34.79, 47: 08-16 19:30:00 - 08-16 20:00:00 @ 34.76, 48: 08-16 20:00:00 - 08-16 20:30:00 @ 35.62, 49: 08-16 20:30:00 - 08-16 21:00:00 @ 35.3, 50: 08-16 21:00:00 - 08-16 21:30:00 @ 35.89, 51: 08-16 21:30:00 - 08-16 22:00:00 @ 35.71, 52: 08-16 22:00:00 - 08-16 22:30:00 @ 33.75, 53: 08-16 22:30:00 - 08-16 23:00:00 @ 32.0, 54: 08-16 23:00:00 - 08-16 23:30:00 @ 30.02, 55: 08-16 23:30:00 - 08-17 00:00:00 @ 27.8, 56: 08-17 00:00:00 - 08-17 00:30:00 @ 28.18, 57: 08-17 00:30:00 - 08-17 01:00:00 @ 27.38, 58: 08-17 01:00:00 - 08-17 01:30:00 @ 26.7, 59: 08-17 01:30:00 - 08-17 02:00:00 @ 26.31, 60: 08-17 02:00:00 - 08-17 02:30:00 @ 25.79, 61: 08-17 02:30:00 - 08-17 03:00:00 @ 25.86, 62: 08-17 03:00:00 - 08-17 03:30:00 @ 26.13, 63: 08-17 03:30:00 - 08-17 04:00:00 @ 25.86, 64: 08-17 04:00:00 - 08-17 04:30:00 @ 26.27, 65: 08-17 04:30:00 - 08-17 05:00:00 @ 26.14, 66: 08-17 05:00:00 - 08-17 05:30:00 @ 27.03, 67: 08-17 05:30:00 - 08-17 06:00:00 @ 26.28, 68: 08-17 06:00:00 - 08-17 06:30:00 @ 25.68, 69: 08-17 06:30:00 - 08-17 07:00:00 @ 26.1, 70: 08-17 07:00:00 - 08-17 07:30:00 @ 24.28, 71: 08-17 07:30:00 - 08-17 08:00:00 @ 24.94, 72: 08-17 08:00:00 - 08-17 08:30:00 @ 24.06, 73: 08-17 08:30:00 - 08-17 09:00:00 @ 24.39, 74: 08-17 09:00:00 - 08-17 09:30:00 @ 24.66, 75: 08-17 09:30:00 - 08-17 10:00:00 @ 24.06, 76: 08-17 10:00:00 - 08-17 10:30:00 @ 25.5, 77: 08-17 10:30:00 - 08-17 11:00:00 @ 24.94, 78: 08-17 11:00:00 - 08-17 11:30:00 @ 24.25, 79: 08-17 11:30:00 - 08-17 12:00:00 @ 23.49, 80: 08-17 12:00:00 - 08-17 12:30:00 @ 23.43, 81: 08-17 12:30:00 - 08-17 13:00:00 @ 22.33, 82: 08-17 13:00:00 - 08-17 13:30:00 @ 22.76, 83: 08-17 13:30:00 - 08-17 14:00:00 @ 22.3, 84: 08-17 14:00:00 - 08-17 14:30:00 @ 21.41, 85: 08-17 14:30:00 - 08-17 15:00:00 @ 21.65, 86: 08-17 15:00:00 - 08-17 15:30:00 @ 22.95, 87: 08-17 15:30:00 - 08-17 16:00:00 @ 22.83, 88: 08-17 16:00:00 - 08-17 16:30:00 @ 36.84, 89: 08-17 16:30:00 - 08-17 17:00:00 @ 37.54, 90: 08-17 17:00:00 - 08-17 17:30:00 @ 41.79, 91: 08-17 17:30:00 - 08-17 18:00:00 @ 43.7, 92: 08-17 18:00:00 - 08-17 18:30:00 @ 44.34, 93: 08-17 19:00:00 - 08-17 19:30:00 @ 34.79, 94: 08-17 19:30:00 - 08-17 20:00:00 @ 34.76]
2026-08-15 19:55:06.606192: Inverter 0 Charge window will be: 2026-08-16 11:00:00+01:00 - 2026-08-16 16:00:00+01:00 - current SoC 92%, target 16%
2026-08-15 19:55:06.606489: Inverter 0 disabled charge window while waiting for schedule (now 08-15 19:55:00 target set_window_minutes 30 charge start time 08-16 11:00:00) original inverter start time 08-17 00:00:00
2026-08-15 19:55:06.606689: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 19:55:06.606974: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 19:55:06.607107: No export window planned
2026-08-15 19:55:06.607288: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 19:55:06.607395: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 19:55:06.607593: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 19:55:06.607802: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 19:55:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 19:55:06.607909: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 19:55:06.608020: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 19:55:06.608157: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 19:55:06.608276: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 19:55:06.608376: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 19:55:06.608463: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 19:55:06.608550: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 19:55:06.608658: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 19:55:06.608747: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 19:55:06.608868: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 19:55:06.608990: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 19:55:06.609089: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 19:55:06.609176: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 19:55:06.609294: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 19:55:06.609396: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 19:55:06.609483: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 19:55:06.609576: Inverter 0 count register writes 0
2026-08-15 19:55:06.638830: Will recompute the plan as it is now 10.0 minutes old and will exceed the max age of 10 minutes before the next run
2026-08-15 19:55:06.639128: Recompute is saving previous plan...
2026-08-15 19:55:06.641825: Best charge window [ 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 0%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 0%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 0%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 30.02p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 27.8p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.18p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.38p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 26.7p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.31p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.79p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 25.86p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.13p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 25.86p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.27p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.14p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 27.03p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.28p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.68p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 26.1p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 24.28p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 24.94p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.06p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.39p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.66p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.06p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 25.5p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 24.94p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 24.25p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 23.49p 0%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.43p 0%, 16-08 12:30:00 - 16-08 13:00:00 @ 22.33p 0%, 16-08 13:00:00 - 16-08 13:30:00 @ 22.76p 0%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 0%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 0%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.65p 0%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.95p 0%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.83p 0%, 16-08 16:00:00 - 16-08 16:30:00 @ 36.84p 0%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.54p 0%, 16-08 17:00:00 - 16-08 17:30:00 @ 41.79p 0%, 16-08 17:30:00 - 16-08 18:00:00 @ 43.7p 0%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.34p 0%, 16-08 19:00:00 - 16-08 19:30:00 @ 34.79p 0%, 16-08 19:30:00 - 16-08 20:00:00 @ 34.76p 0%, 16-08 20:00:00 - 16-08 20:30:00 @ 35.62p 0%, 16-08 20:30:00 - 16-08 21:00:00 @ 35.3p 0%, 16-08 21:00:00 - 16-08 21:30:00 @ 35.89p 0%, 16-08 21:30:00 - 16-08 22:00:00 @ 35.71p 0%, 16-08 22:00:00 - 16-08 22:30:00 @ 33.75p 0%, 16-08 22:30:00 - 16-08 23:00:00 @ 32.0p 0%, 16-08 23:00:00 - 16-08 23:30:00 @ 30.02p 0%, 16-08 23:30:00 - 17-08 00:00:00 @ 27.8p 0%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.18p 0%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.38p 0%, 17-08 01:00:00 - 17-08 01:30:00 @ 26.7p 0%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.31p 0%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.79p 0%, 17-08 02:30:00 - 17-08 03:00:00 @ 25.86p 0%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.13p 0%, 17-08 03:30:00 - 17-08 04:00:00 @ 25.86p 0%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.27p 0%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.14p 0%, 17-08 05:00:00 - 17-08 05:30:00 @ 27.03p 0%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.28p 0%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.68p 0%, 17-08 06:30:00 - 17-08 07:00:00 @ 26.1p 0%, 17-08 07:00:00 - 17-08 07:30:00 @ 24.28p 0%, 17-08 07:30:00 - 17-08 08:00:00 @ 24.94p 0%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.06p 0%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.39p 0%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.66p 0%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.06p 0%, 17-08 10:00:00 - 17-08 10:30:00 @ 25.5p 0%, 17-08 10:30:00 - 17-08 11:00:00 @ 24.94p 0%, 17-08 11:00:00 - 17-08 11:30:00 @ 24.25p 0%, 17-08 11:30:00 - 17-08 12:00:00 @ 23.49p 0%, 17-08 12:00:00 - 17-08 12:30:00 @ 23.43p 0%, 17-08 12:30:00 - 17-08 13:00:00 @ 22.33p 0%, 17-08 13:00:00 - 17-08 13:30:00 @ 22.76p 0%, 17-08 13:30:00 - 17-08 14:00:00 @ 22.3p 0%, 17-08 14:00:00 - 17-08 14:30:00 @ 21.41p 0%, 17-08 14:30:00 - 17-08 15:00:00 @ 21.65p 0%, 17-08 15:00:00 - 17-08 15:30:00 @ 22.95p 0%, 17-08 15:30:00 - 17-08 16:00:00 @ 22.83p 0%, 17-08 16:00:00 - 17-08 16:30:00 @ 36.84p 0%, 17-08 16:30:00 - 17-08 17:00:00 @ 37.54p 0%, 17-08 17:00:00 - 17-08 17:30:00 @ 41.79p 0%, 17-08 17:30:00 - 17-08 18:00:00 @ 43.7p 0%, 17-08 18:00:00 - 17-08 18:30:00 @ 44.34p 0%, 17-08 19:00:00 - 17-08 19:30:00 @ 34.79p 0%, 17-08 19:30:00 - 17-08 20:00:00 @ 34.76p 0% ]
2026-08-15 19:55:06.641993: Best export window [  ]
2026-08-15 19:55:06.642728: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 19:55:06.645419: Load divergence over 8.0 hours mean 803.24W, min 336.6W, max 1875.0W, std dev 426.79W, divergence 26.57%
2026-08-15 19:55:06.659801: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 19:55:06.659960: LoadML is_calculating True
2026-08-15 19:55:06.660059: Not using thread pool as LoadML is calculating to avoid lockups
2026-08-15 19:55:06.667489: Calculate Best options: mode(Control charge & discharge), calculate_export_oncharge(False), calculate_export_on_pv(True), set_export_freeze_only(False), set_discharge_during_charge(True), combine_charge_slots(False), combine_export_slots(False), combine_rate_threshold(0.0), best_soc_min(0.0 kWh), best_soc_max(0.0 kWh), best_soc_keep(0.0 kWh), inverter_loss(4%), battery_loss(3%), battery_loss_discharge (3%), inverter_hybrid(True), metric_min_improvement(0.0p), metric_min_improvement_export(0.1p), metric_min_improvement_export_freeze(0.1p), metric_battery_cycle(0.0p/kWh), metric_battery_value_scaling(1.0 x) 
2026-08-15 19:55:06.668559: Optimise levels pass started at 2026-08-15 19:55:06
2026-08-15 19:55:06.668815: Optimise all windows, total charge 94 export 1
2026-08-15 19:55:11.914036: >> Region optimisation pass width 960 gives best_metric 1019.29p, best_cost 1062.9p, best_cycle 39.72kWh, best_import 22.05kWh
2026-08-15 19:55:12.978851: >> Region optimisation pass width 480 gives best_metric 1019.29p, best_cost 1062.9p, best_cycle 39.72kWh, best_import 22.05kWh
2026-08-15 19:55:14.184706: >> Region optimisation pass width 240 gives best_metric 1019.29p, best_cost 1062.9p, best_cycle 39.72kWh, best_import 22.05kWh
2026-08-15 19:55:17.582274: >> Region optimisation pass width 120 gives best_metric 1019.29p, best_cost 1062.9p, best_cycle 39.72kWh, best_import 22.05kWh
2026-08-15 19:55:17.582824: Calculated end_record as 08-17 12:30:00 based on best_price 22.33p, next_charge_start 08-16 12:30:00, max_windows 81
2026-08-15 19:55:17.583013: Optimise levels pass ended at 2026-08-15 19:55:17, duration 10.9 seconds tried 307 combinations
2026-08-15 19:55:17.583080: Set best_price_charge_level 24.0p, best_price_export_level 0p, best_price_charge 22.33p, best_cost_export 0p, best_metric 1019.29p, best_keep 0kWh, best_cycle 39.72kWh, best_carbon 0kg, best_import 22.05kWh
2026-08-15 19:55:17.605542: Starting detailed optimisation end_record 08-17 12:30:00, best_price_charge 22.33p, best_price_export 0p. lowest_price_charge 21.41p with charge limits [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 0, 16.0, 16.0, 16.0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0]kWh and export limits []kWh
2026-08-15 19:55:50.138161: Tweak plan optimisation started metric 897.24p, cost 912.81p
2026-08-15 19:55:52.096474: Tweak optimisation finished metric 897.24p, cost 912.81p, metric_keep 0kWh, cycle 30.22kWh, carbon 0kg, import 15.23kWh, changed 8 window(s)
2026-08-15 19:55:52.119218: Swap charge optimisation started metric 897.24p, cost 912.81p, min_improvement_swap 0.1p
2026-08-15 19:55:53.004371: ML Predictor: Epoch 1/30: lr=0.00100 huber_loss=0.0097 val_mae=0.0051 kWh val_bias=-0.0009 kWh (-1.1%) combined=0.0034 kWh ema_combined=0.0034 kWh
2026-08-15 19:56:04.620097: Swap charge optimisation finished metric 897.24p, cost 912.81p
2026-08-15 19:56:04.834747: Raw charge windows [ 15-08 19:30:00 - 15-08 20:00:00 @ 32.9p 0%, 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 0%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 0%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 30.02p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 27.8p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.18p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.38p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 26.7p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.31p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.79p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 25.86p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.13p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 25.86p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.27p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.14p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 27.03p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.28p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.68p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 26.1p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 24.28p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 24.94p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.06p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.39p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.66p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.06p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 25.5p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 24.94p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 24.25p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 23.49p 25%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.43p 25%, 16-08 12:30:00 - 16-08 13:00:00 @ 22.33p 34%, 16-08 13:00:00 - 16-08 13:30:00 @ 22.76p 34%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 100%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 100%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.65p 100%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.95p 78%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.83p 78%, 16-08 16:00:00 - 16-08 16:30:00 @ 36.84p 0%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.54p 0%, 16-08 17:00:00 - 16-08 17:30:00 @ 41.79p 0%, 16-08 17:30:00 - 16-08 18:00:00 @ 43.7p 0%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.34p 0%, 16-08 19:00:00 - 16-08 19:30:00 @ 34.79p 0%, 16-08 19:30:00 - 16-08 20:00:00 @ 34.76p 0%, 16-08 20:00:00 - 16-08 20:30:00 @ 35.62p 0%, 16-08 20:30:00 - 16-08 21:00:00 @ 35.3p 0%, 16-08 21:00:00 - 16-08 21:30:00 @ 35.89p 0%, 16-08 21:30:00 - 16-08 22:00:00 @ 35.71p 0%, 16-08 22:00:00 - 16-08 22:30:00 @ 33.75p 0%, 16-08 22:30:00 - 16-08 23:00:00 @ 32.0p 0%, 16-08 23:00:00 - 16-08 23:30:00 @ 30.02p 0%, 16-08 23:30:00 - 17-08 00:00:00 @ 27.8p 0%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.18p 0%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.38p 0%, 17-08 01:00:00 - 17-08 01:30:00 @ 26.7p 0%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.31p 0%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.79p 0%, 17-08 02:30:00 - 17-08 03:00:00 @ 25.86p 0%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.13p 0%, 17-08 03:30:00 - 17-08 04:00:00 @ 25.86p 0%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.27p 0%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.14p 0%, 17-08 05:00:00 - 17-08 05:30:00 @ 27.03p 0%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.28p 0%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.68p 0%, 17-08 06:30:00 - 17-08 07:00:00 @ 26.1p 0%, 17-08 07:00:00 - 17-08 07:30:00 @ 24.28p 0%, 17-08 07:30:00 - 17-08 08:00:00 @ 24.94p 0%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.06p 0%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.39p 0%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.66p 0%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.06p 0%, 17-08 10:00:00 - 17-08 10:30:00 @ 25.5p 0%, 17-08 10:30:00 - 17-08 11:00:00 @ 24.94p 0%, 17-08 11:00:00 - 17-08 11:30:00 @ 24.25p 0%, 17-08 11:30:00 - 17-08 12:00:00 @ 23.49p 0%, 17-08 12:00:00 - 17-08 12:30:00 @ 23.43p 0%, 17-08 12:30:00 - 17-08 13:00:00 @ 22.33p 100%, 17-08 13:00:00 - 17-08 13:30:00 @ 22.76p 100%, 17-08 13:30:00 - 17-08 14:00:00 @ 22.3p 100%, 17-08 14:00:00 - 17-08 14:30:00 @ 21.41p 100%, 17-08 14:30:00 - 17-08 15:00:00 @ 21.65p 100%, 17-08 15:00:00 - 17-08 15:30:00 @ 22.95p 100%, 17-08 15:30:00 - 17-08 16:00:00 @ 22.83p 100%, 17-08 16:00:00 - 17-08 16:30:00 @ 36.84p 100%, 17-08 16:30:00 - 17-08 17:00:00 @ 37.54p 100%, 17-08 17:00:00 - 17-08 17:30:00 @ 41.79p 100%, 17-08 17:30:00 - 17-08 18:00:00 @ 43.7p 100%, 17-08 18:00:00 - 17-08 18:30:00 @ 44.34p 100%, 17-08 19:00:00 - 17-08 19:30:00 @ 34.79p 100%, 17-08 19:30:00 - 17-08 20:00:00 @ 34.76p 100% ] reserve 1.12
2026-08-15 19:56:04.846107: Unclipped charge windows [ 16-08 11:30:00 - 16-08 12:30:00 @ 23.46p 25%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 34%, 16-08 13:30:00 - 16-08 15:00:00 @ 21.75p 100%, 16-08 15:00:00 - 16-08 16:00:00 @ 22.89p 78%, 17-08 12:30:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 17-08 20:00:00 @ 34.77p 100% ] reserve 1.12
2026-08-15 19:56:04.846684: Unfiltered charge windows [ 16-08 11:30:00 - 16-08 12:30:00 @ 23.46p 25%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 34%, 16-08 13:30:00 - 16-08 15:00:00 @ 21.75p 100%, 16-08 15:00:00 - 16-08 16:00:00 @ 22.89p 78%, 17-08 12:30:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 17-08 20:00:00 @ 34.77p 100% ] reserve 1.12
2026-08-15 19:56:04.855120: Filtered charge windows [ 16-08 11:30:00 - 16-08 12:30:00 @ 23.46p 25%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 34%, 16-08 13:30:00 - 16-08 15:00:00 @ 21.75p 100%, 16-08 15:00:00 - 16-08 16:00:00 @ 22.89p 78%, 17-08 12:30:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 17-08 20:00:00 @ 34.77p 100% ] reserve 1.12
2026-08-15 19:56:04.979861: Previous plan best metric is 898.76 (cost 914.4) and new plan best metric is 897.24 (cost 912.81)
2026-08-15 19:56:04.988792: New plan metric is not significantly better (metric_min_improvement_plan 2.0) than previous plan, using previous plan
2026-08-15 19:56:04.989249: Plan valid is now true after recompute was False
2026-08-15 19:56:05.030664: predict base end_record 08-17 12:30:00, final soc 1.12kWh, metric 1083.11p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 15:00:00, load 36.45kWh, PV 0.0kWh
2026-08-15 19:56:05.258650: Battery has 19.08 hours left - now at 14.79kWh
2026-08-15 19:56:05.395171: predict base10 end_record 08-17 12:30:00, final soc 1.12kWh, metric 1115.88p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 14:00:00, load 37.72kWh, PV 0.0kWh
2026-08-15 19:56:05.614798: predict best10 end_record 08-17 12:30:00, final soc 1.12kWh, metric 1047.45p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 06:10:00, load 37.72kWh, PV 0.0kWh
2026-08-15 19:56:05.907467: predict best end_record 08-17 12:30:00, final soc 1.12kWh, metric 1014.37p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 07:10:00, load 36.45kWh, PV 0.0kWh
2026-08-15 19:56:05.907725: Saving plan best values to HA entities
2026-08-15 19:56:06.210589: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 19:56:06.218496: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0.0
2026-08-15 19:56:06.236471: Best charging limit SoC's [2.5, 5.0, 16.0, 12.0, 16.0]kWh, export []kWh gives import battery 11.98kWh, house 3.32kWh, export 0.0kWh, metric 1014.37p, metric10 1047.45p
2026-08-15 19:56:06.406698: Marginal costs baseline metric (no standing charge): 914.401
2026-08-15 19:56:06.835204: Marginal energy costs matrix computed: min=24.04 max=28.64
2026-08-15 19:56:07.017798: Rate array import [{'start': 1195, 'end': 1410, 'rate': 'expensive', 'range': '(29.8p - 32.9p)'}, {'start': 1410, 'end': 2400, 'rate': 'cheap', 'range': '(21.4p - 28.2p)'}, {'start': 2400, 'end': 2430, 'rate': 'expensive', 'range': '(36.8p)'}, {'start': 2430, 'end': 2580, 'rate': 'very expensive', 'range': '(37.5p - 45.3p)'}, {'start': 2580, 'end': 2850, 'rate': 'expensive', 'range': '(30.0p - 35.9p)'}, {'start': 2850, 'end': 3630, 'rate': 'cheap', 'range': '(23.4p - 28.2p)'}] export [{'start': 1195, 'end': 3630, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 19:56:07.018736: - Your estimated bill for today is £5.70 and tomorrow is £3.14
2026-08-15 19:56:07.018809: - Import rates are expensive (29.8p - 32.9p) for the next 3 and a half hours and then cheap (21.4p - 28.2p) for the next 16 hours.
2026-08-15 19:56:07.018834: - The battery is currently at 92% and is in eco mode for the next 15 hours.
2026-08-15 19:56:07.018853: - For the next 48 hours there will be no solar generation.
2026-08-15 19:56:07.018870: - You will run out of battery in 35 hours.
2026-08-15 19:56:07.019198: - Your next charge slot will be in 15 hours where import rates will be cheap (24.3p).
2026-08-15 19:56:07.019228: 
2026-08-15 19:56:07.116398: Plan calculation took 60.48 seconds
2026-08-15 19:56:07.116802: Inverter 0: Type SK Sunsynk
2026-08-15 19:56:07.117118: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 19:56:07.117432: Reserve min: 7%, battery_min: 7%
2026-08-15 19:56:07.117595: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 19:56:07.117944: Inverter 0 SoC: 14.72kW 92%, current charge rate 5000W, current discharge rate 5250W, current battery power 279W, current battery voltage 51.2V, grid power -54W, load power 340W, PV Power 0W
2026-08-15 19:56:07.118198: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 19:56:07.118675: Inverter 0 scheduled charge enable is False
2026-08-15 19:56:07.118896: Inverter 0 charge windows currently []
2026-08-15 19:56:07.120438: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 19:56:07.120797: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 19:56:07.120974: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 19:56:07.121197: Inverter 0 scheduled discharge enable is False
2026-08-15 19:56:07.121695: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 19:56:07.121839: Inverter 0 discharge windows currently []
2026-08-15 19:56:07.121902: Note: Inverter does not support discharge freeze - disabled
2026-08-15 19:56:07.121963: Note: Inverter does not support charge freeze - disabled
2026-08-15 19:56:07.122021: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 19:56:07.297530: Inverter 0 Charge window will be: 2026-08-16 11:00:00+01:00 - 2026-08-16 16:00:00+01:00 - current SoC 92%, target 16%
2026-08-15 19:56:07.297713: Inverter 0 disabled charge window while waiting for schedule (now 08-15 19:55:00 target set_window_minutes 30 charge start time 08-16 11:00:00) original inverter start time 08-17 00:00:00
2026-08-15 19:56:07.297829: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 19:56:07.298064: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 19:56:07.298157: No export window planned
2026-08-15 19:56:07.298308: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 19:56:07.298358: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 19:56:07.298536: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 19:56:07.298723: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 19:55:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 19:56:07.298784: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 19:56:07.298845: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 19:56:07.298936: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 19:56:07.298989: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 19:56:07.299030: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 19:56:07.299071: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 19:56:07.299112: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 19:56:07.299154: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 19:56:07.299195: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 19:56:07.299295: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 19:56:07.299347: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 19:56:07.299392: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 19:56:07.299434: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 19:56:07.299476: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 19:56:07.299516: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 19:56:07.299559: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 19:56:07.299587: Inverter 0 count register writes 0
2026-08-15 19:56:07.370400: Total inverter register writes now 826
2026-08-15 19:56:07.475042: Info: Completed run status Demand
2026-08-15 19:56:07.484359: Info: record_status Demand
2026-08-15 19:56:07.494446: Saved current settings to /config/predbat_config.json
2026-08-15 19:56:07.494724: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 19:56:34.404167: ML Predictor: Epoch 2/30: lr=0.00100 huber_loss=0.0109 val_mae=0.0055 kWh val_bias=-0.0007 kWh (-0.8%) combined=0.0032 kWh ema_combined=0.0033 kWh
2026-08-15 19:56:41.754463: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 19:56:41.754927: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 19:56:41.755119: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 19:56:41.755488: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 19:56:41.755646: Note: Inverter does not support discharge freeze - disabled
2026-08-15 19:56:41.755761: Note: Inverter does not support charge freeze - disabled
2026-08-15 19:56:41.755864: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 19:57:04.644441: ML Predictor: Epoch 3/30: lr=0.00099 huber_loss=0.0124 val_mae=0.0061 kWh val_bias=+0.0020 kWh (+2.3%) combined=0.0046 kWh ema_combined=0.0037 kWh
2026-08-15 19:57:38.740503: ML Predictor: Epoch 4/30: lr=0.00098 huber_loss=0.0133 val_mae=0.0050 kWh val_bias=-0.0018 kWh (-2.0%) combined=0.0037 kWh ema_combined=0.0037 kWh
2026-08-15 19:58:12.062370: ML Predictor: Epoch 5/30: lr=0.00096 huber_loss=0.0105 val_mae=0.0056 kWh val_bias=+0.0009 kWh (+1.0%) combined=0.0040 kWh ema_combined=0.0038 kWh
2026-08-15 19:58:42.236097: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 19:58:42.236441: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 19:58:42.236597: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 19:58:42.236861: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 19:58:42.237098: Note: Inverter does not support discharge freeze - disabled
2026-08-15 19:58:42.237330: Note: Inverter does not support charge freeze - disabled
2026-08-15 19:58:42.237459: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 19:58:44.542780: ML Predictor: Epoch 6/30: lr=0.00094 huber_loss=0.0146 val_mae=0.0046 kWh val_bias=+0.0011 kWh (+1.3%) combined=0.0028 kWh ema_combined=0.0035 kWh
2026-08-15 19:58:50.917360: TemperatureAPI: Using coordinates latitude 53.4, longitude -2.2
2026-08-15 19:58:51.075498: TemperatureAPI: Successfully fetched temperature data from Open-Meteo API
2026-08-15 19:59:15.116252: ML Predictor: Epoch 7/30: lr=0.00091 huber_loss=0.0104 val_mae=0.0047 kWh val_bias=-0.0018 kWh (-2.1%) combined=0.0037 kWh ema_combined=0.0036 kWh
2026-08-15 19:59:46.668079: ML Predictor: Epoch 8/30: lr=0.00088 huber_loss=0.0087 val_mae=0.0047 kWh val_bias=-0.0026 kWh (-3.0%) combined=0.0037 kWh ema_combined=0.0036 kWh
2026-08-15 20:00:00.544445: --------------- PredBat - update at 2026-08-15 20:00:00+01:00 with clock skew 0 minutes, minutes now 1200
2026-08-15 20:00:00.548093: Saved current settings to /config/predbat_config.json
2026-08-15 20:00:00.549946: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 95.0 minutes
2026-08-15 20:00:00.550139: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.2, latest beta is v8.48.2
2026-08-15 20:00:00.550332: Autoupdate: There is an update pending v8.48.2 PV90 and second pass enabled by default, bug fixes - auto update is off
2026-08-15 20:00:00.597052: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 20:00:00.597402: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 20:00:00.598002: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 20:00:00.599157: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 20:00:00.600760: Predbat mode is set to Control charge & discharge
2026-08-15 20:00:01.188697: Found 21602 load_today datapoints going back 28 days
2026-08-15 20:00:01.188983: Using load_power data to fill gaps in load_today data
2026-08-15 20:00:02.915748: Processing 721 30-minute periods for power integration
2026-08-15 20:00:03.293745: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 20:00:03.293977: Car charging hold False, threshold 6.0kWh
2026-08-15 20:00:03.294037: Current data so far today: load 9.83kWh, import 27.7kWh, export 0.0kWh, PV 0kWh
2026-08-15 20:00:03.312897: Cars: SoC: [9.962]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 20:00:03.313632: Standing charge is set to 49.98p
2026-08-15 20:00:03.365698: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 20:00:03.365810: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 20:00:03.366061: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 560.0 minutes
2026-08-15 20:00:03.366549: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 560.0 minutes
2026-08-15 20:00:03.373420: Loaded 95 datapoints of futurerate analysis
2026-08-15 20:00:03.692907: Predicted future rates: ['08-15 00:00:00 => 28.69 / 20.01', '08-15 01:00:00 => 27.33 / 19.31', '08-15 02:00:00 => 26.31 / 18.8', '08-15 03:00:00 => 25.78 / 18.53', '08-15 04:00:00 => 25.59 / 18.43', '08-15 05:00:00 => 25.75 / 18.51', '08-15 06:00:00 => 25.34 / 18.3', '08-15 07:00:00 => 24.12 / 17.68', '08-15 08:00:00 => 22.82 / 17.01', '08-15 09:00:00 => 21.84 / 16.51', '08-15 10:00:00 => 20.22 / 15.68', '08-15 11:00:00 => 17.8 / 14.45', '08-15 12:00:00 => 16.16 / 13.61', '08-15 13:00:00 => 15.55 / 13.3', '08-15 14:00:00 => 15.14 / 13.09', '08-15 15:00:00 => 15.65 / 13.35', '08-15 16:00:00 => 32.68 / 16.13', '08-15 17:00:00 => 37.81 / 18.75', '08-15 18:00:00 => 42.15 / 20.96', '08-15 19:00:00 => 30.88 / 21.13', '08-15 20:00:00 => 31.43 / 21.41', '08-15 21:00:00 => 31.43 / 21.41', '08-15 22:00:00 => 30.37 / 20.87', '08-15 23:00:00 => 29.16 / 20.25', '08-16 00:00:00 => 28.62 / 19.97', '08-16 01:00:00 => 27.52 / 19.41', '08-16 02:00:00 => 26.55 / 18.92', '08-16 03:00:00 => 26.18 / 18.73', '08-16 04:00:00 => 26.12 / 18.7', '08-16 05:00:00 => 26.02 / 18.65', '08-16 06:00:00 => 25.78 / 18.53', '08-16 07:00:00 => 25.43 / 18.35', '08-16 08:00:00 => 24.63 / 17.94', '08-16 09:00:00 => 24.05 / 17.64', '08-16 10:00:00 => 24.59 / 17.92', '08-16 11:00:00 => 24.5 / 17.87', '08-16 12:00:00 => 23.58 / 17.4', '08-16 13:00:00 => 22.93 / 17.07', '08-16 14:00:00 => 21.8 / 16.49', '08-16 15:00:00 => 21.8 / 16.49', '08-16 16:00:00 => 36.93 / 18.3', '08-16 17:00:00 => 39.92 / 19.83', '08-16 18:00:00 => 43.98 / 21.9', '08-16 19:00:00 => 32.83 / 22.13']
2026-08-15 20:00:03.772040: Rate min forward looking: now 21.41p at end of forecast 21.41p
2026-08-15 20:00:03.772772: Import rates: min 21.41p, max 45.28p, average 28.53p
2026-08-15 20:00:03.931681: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 20:00:03.949495: Rate thresholds (for charge/export) are import 44.78p (0.0p), export -0.1p (0.0p)
2026-08-15 20:00:03.959902: High export rate found rates in range 99p to -99p
2026-08-15 20:00:04.109701: Low Import rate found rates in range 21.41p to 44.34p
2026-08-15 20:00:04.109967: Car 0 charging is not planned as it is not plugged in
2026-08-15 20:00:04.126465: Battery level now 14.79kWh, -1hr ago 15.04kWh, at midnight 1.66kWh, battery value change in the last hour -4.56p, change today 241.61p, rate_forward 18.39p
2026-08-15 20:00:04.126857: Last hour: net energy 0.0kWh, import 0.0kWh, export 0.0kWh, car 0kWh, load 0.3kWh, net cost 0.15p, import 0.15p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 20:00:04.238958: Today's energy total net 27.7kWh, import 27.7kWh, export 0.0kWh, cost 570.18p, import 520.2p, export 0.0p, carbon 0.0kg
2026-08-15 20:00:04.239130: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 20:00:04.454818: Using weighted-bucket historical load forecast over 14 days
2026-08-15 20:00:04.518859: Today's load divergence 84.04%, in-day adjustment 94.66%, damping 0.95x, yesterday 143.77% today 84.84% blend 16.67%
2026-08-15 20:00:04.519459: Today's predicted so far 11.99kWh with 0.0kWh car/iBoost excluded, 20.77kWh import ignored, and 11.99kWh forecast extra.
2026-08-15 20:00:04.519534: Today's actual load so far 9.9kWh with 0.0kWh car/iBoost excluded, and 20.77kWh import ignored.
2026-08-15 20:00:04.611003: Inverter 0: Type SK Sunsynk
2026-08-15 20:00:04.611109: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 20:00:04.611360: Reserve min: 7%, battery_min: 7%
2026-08-15 20:00:04.611457: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 20:00:04.611806: Inverter 0 SoC: 14.72kW 92%, current charge rate 5000W, current discharge rate 5250W, current battery power 316W, current battery voltage 51.2V, grid power -54W, load power 378W, PV Power 0W
2026-08-15 20:00:04.612011: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 20:00:04.612122: Inverter 0 scheduled charge enable is False
2026-08-15 20:00:04.612253: Inverter 0 charge windows currently []
2026-08-15 20:00:04.612310: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 20:00:04.612532: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 20:00:04.612589: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 20:00:04.612682: Inverter 0 scheduled discharge enable is False
2026-08-15 20:00:04.613004: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 20:00:04.613140: Inverter 0 discharge windows currently []
2026-08-15 20:00:04.613187: Note: Inverter does not support discharge freeze - disabled
2026-08-15 20:00:04.613214: Note: Inverter does not support charge freeze - disabled
2026-08-15 20:00:04.613338: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 20:00:04.830157: Dynamic load last period 0.30kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 20:00:04.830517: Plan was last updated on 2026-08-15 19:55:00+01:00 and is now 5.0 minutes old
2026-08-15 20:00:04.831084: Best charge window [ 16-08 11:00:00 - 16-08 12:30:00 @ 23.65p 16%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 31%, 16-08 13:30:00 - 16-08 15:00:00 @ 21.91p 100%, 16-08 15:00:00 - 16-08 16:00:00 @ 22.89p 75%, 17-08 12:30:00 - 17-08 18:00:00 @ 40.7p 100% ]
2026-08-15 20:00:04.831246: Best export window [  ]
2026-08-15 20:00:04.832661: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 20:00:04.849986: Load divergence over 8.0 hours mean 804.71W, min 369.0W, max 1953.0W, std dev 438.41W, divergence 27.24%
2026-08-15 20:00:04.911565: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 20:00:04.911893: LoadML is_calculating True
2026-08-15 20:00:04.912101: Not using thread pool as LoadML is calculating to avoid lockups
2026-08-15 20:00:05.059306: predict base end_record 08-17 12:35:00, final soc 1.12kWh, metric 1084.63p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 15:00:00, load 36.58kWh, PV 0.0kWh
2026-08-15 20:00:05.346255: Battery has 19.0 hours left - now at 14.72kWh
2026-08-15 20:00:05.418932: predict base10 end_record 08-17 12:35:00, final soc 1.12kWh, metric 1117.42p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 14:00:00, load 37.85kWh, PV 0.0kWh
2026-08-15 20:00:05.574195: predict best10 end_record 08-17 12:35:00, final soc 1.44kWh, metric 1056.7p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 06:10:00, load 37.85kWh, PV 0.0kWh
2026-08-15 20:00:05.915254: predict best end_record 08-17 12:35:00, final soc 1.51kWh, metric 1025.14p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 07:10:00, load 36.58kWh, PV 0.0kWh
2026-08-15 20:00:05.915399: Saving plan best values to HA entities
2026-08-15 20:00:06.335028: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 20:00:06.345180: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0.0
2026-08-15 20:00:06.357985: Best charging limit SoC's [2.5, 5.0, 16.0, 12.0, 16.0]kWh, export []kWh gives import battery 12.48kWh, house 3.31kWh, export 0.0kWh, metric 1025.14p, metric10 1056.7p
2026-08-15 20:00:06.528726: Marginal costs baseline metric (no standing charge): 925.1768
2026-08-15 20:00:06.967672: Marginal energy costs matrix computed: min=24.05 max=28.61
2026-08-15 20:00:07.074562: Rate array import [{'start': 1200, 'end': 1410, 'rate': 'expensive', 'range': '(29.8p - 32.1p)'}, {'start': 1410, 'end': 2400, 'rate': 'cheap', 'range': '(21.4p - 28.2p)'}, {'start': 2400, 'end': 2430, 'rate': 'expensive', 'range': '(36.8p)'}, {'start': 2430, 'end': 2580, 'rate': 'very expensive', 'range': '(37.5p - 45.3p)'}, {'start': 2580, 'end': 2850, 'rate': 'expensive', 'range': '(30.0p - 35.9p)'}, {'start': 2850, 'end': 3635, 'rate': 'cheap', 'range': '(22.3p - 28.2p)'}] export [{'start': 1200, 'end': 3635, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 20:00:07.075427: - Your estimated bill for today is £5.70 and tomorrow is £3.14
2026-08-15 20:00:07.075609: - Import rates are expensive (29.8p - 32.1p) for the next 3 and a half hours and then cheap (21.4p - 28.2p) for the next 16 hours.
2026-08-15 20:00:07.075726: - The battery is currently at 92% and is in eco mode for the next 15 hours.
2026-08-15 20:00:07.075826: - For the next 48 hours there will be no solar generation.
2026-08-15 20:00:07.076187: - You will run out of battery in 35 hours.
2026-08-15 20:00:07.076318: - Your next charge slot will be in 15 hours where import rates will be cheap (24.3p).
2026-08-15 20:00:07.077290: 
2026-08-15 20:00:07.125605: Plan calculation took 2.29 seconds
2026-08-15 20:00:07.130867: No high rate period found
2026-08-15 20:00:07.204168: Import threshold used for optimisation was 23.49p
2026-08-15 20:00:07.275741: Low import rate windows [0: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 1: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 2: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 3: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 4: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 5: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 6: 08-15 23:00:00 - 08-15 23:30:00 @ 30.02, 7: 08-15 23:30:00 - 08-16 00:00:00 @ 27.8, 8: 08-16 00:00:00 - 08-16 00:30:00 @ 28.18, 9: 08-16 00:30:00 - 08-16 01:00:00 @ 27.38, 10: 08-16 01:00:00 - 08-16 01:30:00 @ 26.7, 11: 08-16 01:30:00 - 08-16 02:00:00 @ 26.31, 12: 08-16 02:00:00 - 08-16 02:30:00 @ 25.79, 13: 08-16 02:30:00 - 08-16 03:00:00 @ 25.86, 14: 08-16 03:00:00 - 08-16 03:30:00 @ 26.13, 15: 08-16 03:30:00 - 08-16 04:00:00 @ 25.86, 16: 08-16 04:00:00 - 08-16 04:30:00 @ 26.27, 17: 08-16 04:30:00 - 08-16 05:00:00 @ 26.14, 18: 08-16 05:00:00 - 08-16 05:30:00 @ 27.03, 19: 08-16 05:30:00 - 08-16 06:00:00 @ 26.28, 20: 08-16 06:00:00 - 08-16 06:30:00 @ 25.68, 21: 08-16 06:30:00 - 08-16 07:00:00 @ 26.1, 22: 08-16 07:00:00 - 08-16 07:30:00 @ 24.28, 23: 08-16 07:30:00 - 08-16 08:00:00 @ 24.94, 24: 08-16 08:00:00 - 08-16 08:30:00 @ 24.06, 25: 08-16 08:30:00 - 08-16 09:00:00 @ 24.39, 26: 08-16 09:00:00 - 08-16 09:30:00 @ 24.66, 27: 08-16 09:30:00 - 08-16 10:00:00 @ 24.06, 28: 08-16 10:00:00 - 08-16 10:30:00 @ 25.5, 29: 08-16 10:30:00 - 08-16 11:00:00 @ 24.94, 30: 08-16 11:00:00 - 08-16 11:30:00 @ 24.25, 31: 08-16 11:30:00 - 08-16 12:00:00 @ 23.49, 32: 08-16 12:00:00 - 08-16 12:30:00 @ 23.43, 33: 08-16 12:30:00 - 08-16 13:00:00 @ 22.33, 34: 08-16 13:00:00 - 08-16 13:30:00 @ 22.76, 35: 08-16 13:30:00 - 08-16 14:00:00 @ 22.3, 36: 08-16 14:00:00 - 08-16 14:30:00 @ 21.41, 37: 08-16 14:30:00 - 08-16 15:00:00 @ 21.65, 38: 08-16 15:00:00 - 08-16 15:30:00 @ 22.95, 39: 08-16 15:30:00 - 08-16 16:00:00 @ 22.83, 40: 08-16 16:00:00 - 08-16 16:30:00 @ 36.84, 41: 08-16 16:30:00 - 08-16 17:00:00 @ 37.54, 42: 08-16 17:00:00 - 08-16 17:30:00 @ 41.79, 43: 08-16 17:30:00 - 08-16 18:00:00 @ 43.7, 44: 08-16 18:00:00 - 08-16 18:30:00 @ 44.34, 45: 08-16 19:00:00 - 08-16 19:30:00 @ 34.79, 46: 08-16 19:30:00 - 08-16 20:00:00 @ 34.76, 47: 08-16 20:00:00 - 08-16 20:30:00 @ 35.62, 48: 08-16 20:30:00 - 08-16 21:00:00 @ 35.3, 49: 08-16 21:00:00 - 08-16 21:30:00 @ 35.89, 50: 08-16 21:30:00 - 08-16 22:00:00 @ 35.71, 51: 08-16 22:00:00 - 08-16 22:30:00 @ 33.75, 52: 08-16 22:30:00 - 08-16 23:00:00 @ 32.0, 53: 08-16 23:00:00 - 08-16 23:30:00 @ 30.02, 54: 08-16 23:30:00 - 08-17 00:00:00 @ 27.8, 55: 08-17 00:00:00 - 08-17 00:30:00 @ 28.18, 56: 08-17 00:30:00 - 08-17 01:00:00 @ 27.38, 57: 08-17 01:00:00 - 08-17 01:30:00 @ 26.7, 58: 08-17 01:30:00 - 08-17 02:00:00 @ 26.31, 59: 08-17 02:00:00 - 08-17 02:30:00 @ 25.79, 60: 08-17 02:30:00 - 08-17 03:00:00 @ 25.86, 61: 08-17 03:00:00 - 08-17 03:30:00 @ 26.13, 62: 08-17 03:30:00 - 08-17 04:00:00 @ 25.86, 63: 08-17 04:00:00 - 08-17 04:30:00 @ 26.27, 64: 08-17 04:30:00 - 08-17 05:00:00 @ 26.14, 65: 08-17 05:00:00 - 08-17 05:30:00 @ 27.03, 66: 08-17 05:30:00 - 08-17 06:00:00 @ 26.28, 67: 08-17 06:00:00 - 08-17 06:30:00 @ 25.68, 68: 08-17 06:30:00 - 08-17 07:00:00 @ 26.1, 69: 08-17 07:00:00 - 08-17 07:30:00 @ 24.28, 70: 08-17 07:30:00 - 08-17 08:00:00 @ 24.94, 71: 08-17 08:00:00 - 08-17 08:30:00 @ 24.06, 72: 08-17 08:30:00 - 08-17 09:00:00 @ 24.39, 73: 08-17 09:00:00 - 08-17 09:30:00 @ 24.66, 74: 08-17 09:30:00 - 08-17 10:00:00 @ 24.06, 75: 08-17 10:00:00 - 08-17 10:30:00 @ 25.5, 76: 08-17 10:30:00 - 08-17 11:00:00 @ 24.94, 77: 08-17 11:00:00 - 08-17 11:30:00 @ 24.25, 78: 08-17 11:30:00 - 08-17 12:00:00 @ 23.49, 79: 08-17 12:00:00 - 08-17 12:30:00 @ 23.43, 80: 08-17 12:30:00 - 08-17 13:00:00 @ 22.33, 81: 08-17 13:00:00 - 08-17 13:30:00 @ 22.76, 82: 08-17 13:30:00 - 08-17 14:00:00 @ 22.3, 83: 08-17 14:00:00 - 08-17 14:30:00 @ 21.41, 84: 08-17 14:30:00 - 08-17 15:00:00 @ 21.65, 85: 08-17 15:00:00 - 08-17 15:30:00 @ 22.95, 86: 08-17 15:30:00 - 08-17 16:00:00 @ 22.83, 87: 08-17 16:00:00 - 08-17 16:30:00 @ 36.84, 88: 08-17 16:30:00 - 08-17 17:00:00 @ 37.54, 89: 08-17 17:00:00 - 08-17 17:30:00 @ 41.79, 90: 08-17 17:30:00 - 08-17 18:00:00 @ 43.7, 91: 08-17 18:00:00 - 08-17 18:30:00 @ 44.34, 92: 08-17 19:00:00 - 08-17 19:30:00 @ 34.79, 93: 08-17 19:30:00 - 08-17 20:00:00 @ 34.76]
2026-08-15 20:00:07.292828: Inverter 0 Charge window will be: 2026-08-16 11:00:00+01:00 - 2026-08-16 16:00:00+01:00 - current SoC 92%, target 16%
2026-08-15 20:00:07.293019: Inverter 0 disabled charge window while waiting for schedule (now 08-15 20:00:00 target set_window_minutes 30 charge start time 08-16 11:00:00) original inverter start time 08-17 00:00:00
2026-08-15 20:00:07.293110: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 20:00:07.293318: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 20:00:07.293435: No export window planned
2026-08-15 20:00:07.293544: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 20:00:07.293574: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 20:00:07.293692: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 20:00:07.293816: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 20:00:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 20:00:07.293863: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 20:00:07.293903: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 20:00:07.293978: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 20:00:07.294005: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 20:00:07.294046: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 20:00:07.297068: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 20:00:07.297164: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 20:00:07.297198: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 20:00:07.297234: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 20:00:07.297325: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 20:00:07.297377: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 20:00:07.297406: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 20:00:07.297431: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 20:00:07.297455: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 20:00:07.297479: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 20:00:07.297502: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 20:00:07.297523: Inverter 0 count register writes 0
2026-08-15 20:00:07.371857: Will not recompute the plan, it is 5.0 minutes old and max age is 10 minutes
2026-08-15 20:00:07.391168: Total inverter register writes now 826
2026-08-15 20:00:07.477571: Info: Completed run status Demand
2026-08-15 20:00:07.490576: Info: record_status Demand
2026-08-15 20:00:07.502623: Saved current settings to /config/predbat_config.json
2026-08-15 20:00:07.502833: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 20:00:28.752589: ML Predictor: Epoch 9/30: lr=0.00084 huber_loss=0.0079 val_mae=0.0057 kWh val_bias=-0.0031 kWh (-3.5%) combined=0.0044 kWh ema_combined=0.0038 kWh
2026-08-15 20:00:41.712307: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 20:00:41.712643: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 20:00:41.712700: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 20:00:41.712883: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 20:00:41.712931: Note: Inverter does not support discharge freeze - disabled
2026-08-15 20:00:41.712998: Note: Inverter does not support charge freeze - disabled
2026-08-15 20:00:41.713041: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 20:01:02.652174: ML Predictor: Epoch 10/30: lr=0.00080 huber_loss=0.0083 val_mae=0.0048 kWh val_bias=-0.0023 kWh (-2.6%) combined=0.0032 kWh ema_combined=0.0037 kWh
2026-08-15 20:01:02.652481: ML Predictor: Early stopping at epoch 10
2026-08-15 20:01:02.653545: ML Predictor: Restored best weights from epoch with val_mae=0.0051 kWh val_bias=-0.0006 kWh (-0.7%)
2026-08-15 20:01:02.653855: ML Predictor: Training complete, final val_mae=0.0051 kWh val_bias=-0.0006 kWh (-0.7%)
2026-08-15 20:01:08.855726: ML Predictor: AR rollout over holdout: ar_mae=0.0058 kWh ar_bias=-0.0002 kWh (-0.3%) [drift vs teacher-forced: +0.0007 kWh]
2026-08-15 20:01:08.860036: ML Predictor: Curriculum pass 3/5 complete, val_mae=0.0051 kWh
2026-08-15 20:01:08.921264: ML Predictor: Curriculum pass 4/5: window=57.0 days (1368 hours of data)
2026-08-15 20:01:08.921390: ML Predictor: Starting fine-tune training with 30 epochs
2026-08-15 20:01:09.572189: ML Predictor: Creating dataset with 1368 hours of training data, 48 hours validation
2026-08-15 20:01:15.167221: ML Predictor: Created 16128 training samples, 576 validation samples
2026-08-15 20:01:15.222832: ML Predictor: Normalization stats [ema-update alpha=0.1] target(mean=0.0586 std=0.0467) load(mean=0.0589 std=0.0470) pv(mean=0.0000 std=0.0100) temp(mean=19.5523 std=4.4512) import_rate(mean=25.5437 std=2.4791) export_rate(mean=0.0000 std=1.0000) time(mean=-0.1895 std=0.5252)
2026-08-15 20:01:15.313993: ML Predictor: Applied EMA normalization update (alpha=0.1) to track feature drift
2026-08-15 20:01:15.331185: ML Predictor: Reset Adam optimiser state for fine-tuning
2026-08-15 20:01:15.374133: ML Predictor: Baseline (pre-finetune) val_mae=0.0086 kWh val_bias=-0.0021 kWh
2026-08-15 20:01:49.112240: ML Predictor: Epoch 1/30: lr=0.00100 huber_loss=0.0107 val_mae=0.0072 kWh val_bias=-0.0029 kWh (-3.6%) combined=0.0056 kWh ema_combined=0.0056 kWh
2026-08-15 20:02:24.841612: ML Predictor: Epoch 2/30: lr=0.00100 huber_loss=0.0125 val_mae=0.0060 kWh val_bias=-0.0003 kWh (-0.4%) combined=0.0031 kWh ema_combined=0.0048 kWh
2026-08-15 20:02:41.877940: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 20:02:41.878304: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 20:02:41.878374: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 20:02:41.878630: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 20:02:41.878695: Note: Inverter does not support discharge freeze - disabled
2026-08-15 20:02:41.878732: Note: Inverter does not support charge freeze - disabled
2026-08-15 20:02:41.878767: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 20:02:57.948020: ML Predictor: Epoch 3/30: lr=0.00099 huber_loss=0.0109 val_mae=0.0068 kWh val_bias=-0.0025 kWh (-3.1%) combined=0.0044 kWh ema_combined=0.0047 kWh
2026-08-15 20:03:02.839431: Info: HAHistory: Pruning history data started.
2026-08-15 20:03:02.843449: Info: HAHistory: Pruning history data completed.
2026-08-15 20:03:30.130833: ML Predictor: Epoch 4/30: lr=0.00098 huber_loss=0.0121 val_mae=0.0060 kWh val_bias=-0.0015 kWh (-1.9%) combined=0.0046 kWh ema_combined=0.0047 kWh
2026-08-15 20:04:03.828266: ML Predictor: Epoch 5/30: lr=0.00096 huber_loss=0.0118 val_mae=0.0062 kWh val_bias=-0.0001 kWh (-0.1%) combined=0.0035 kWh ema_combined=0.0043 kWh
2026-08-15 20:04:36.896078: ML Predictor: Epoch 6/30: lr=0.00094 huber_loss=0.0135 val_mae=0.0062 kWh val_bias=-0.0006 kWh (-0.8%) combined=0.0032 kWh ema_combined=0.0040 kWh
2026-08-15 20:04:42.330491: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 20:04:42.330810: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 20:04:42.330860: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 20:04:42.331039: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 20:04:42.331192: Note: Inverter does not support discharge freeze - disabled
2026-08-15 20:04:42.331296: Note: Inverter does not support charge freeze - disabled
2026-08-15 20:04:42.331422: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 20:05:00.510068: --------------- PredBat - update at 2026-08-15 20:05:00+01:00 with clock skew 0 minutes, minutes now 1205
2026-08-15 20:05:00.510928: Saved current settings to /config/predbat_config.json
2026-08-15 20:05:00.511064: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 100.0 minutes
2026-08-15 20:05:00.511153: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.2, latest beta is v8.48.2
2026-08-15 20:05:00.511235: Autoupdate: There is an update pending v8.48.2 PV90 and second pass enabled by default, bug fixes - auto update is off
2026-08-15 20:05:00.541477: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 20:05:00.541621: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 20:05:00.541788: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 20:05:00.542597: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 20:05:00.542731: Predbat mode is set to Control charge & discharge
2026-08-15 20:05:01.061060: Found 21602 load_today datapoints going back 27 days
2026-08-15 20:05:01.061640: Using load_power data to fill gaps in load_today data
2026-08-15 20:05:02.763921: Processing 721 30-minute periods for power integration
2026-08-15 20:05:03.242004: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 20:05:03.242220: Car charging hold False, threshold 6.0kWh
2026-08-15 20:05:03.242498: Current data so far today: load 9.85kWh, import 27.7kWh, export 0.0kWh, PV 0kWh
2026-08-15 20:05:03.266233: Cars: SoC: [9.962]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 20:05:03.269063: Standing charge is set to 49.98p
2026-08-15 20:05:03.328676: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 20:05:03.328801: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 20:05:03.329070: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 565.0 minutes
2026-08-15 20:05:03.329639: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 565.0 minutes
2026-08-15 20:05:03.337528: Loaded 95 datapoints of futurerate analysis
2026-08-15 20:05:03.584746: Predicted future rates: ['08-15 00:00:00 => 28.69 / 20.01', '08-15 01:00:00 => 27.33 / 19.31', '08-15 02:00:00 => 26.31 / 18.8', '08-15 03:00:00 => 25.78 / 18.53', '08-15 04:00:00 => 25.59 / 18.43', '08-15 05:00:00 => 25.75 / 18.51', '08-15 06:00:00 => 25.34 / 18.3', '08-15 07:00:00 => 24.12 / 17.68', '08-15 08:00:00 => 22.82 / 17.01', '08-15 09:00:00 => 21.84 / 16.51', '08-15 10:00:00 => 20.22 / 15.68', '08-15 11:00:00 => 17.8 / 14.45', '08-15 12:00:00 => 16.16 / 13.61', '08-15 13:00:00 => 15.55 / 13.3', '08-15 14:00:00 => 15.14 / 13.09', '08-15 15:00:00 => 15.65 / 13.35', '08-15 16:00:00 => 32.68 / 16.13', '08-15 17:00:00 => 37.81 / 18.75', '08-15 18:00:00 => 42.15 / 20.96', '08-15 19:00:00 => 30.88 / 21.13', '08-15 20:00:00 => 31.43 / 21.41', '08-15 21:00:00 => 31.43 / 21.41', '08-15 22:00:00 => 30.37 / 20.87', '08-15 23:00:00 => 29.16 / 20.25', '08-16 00:00:00 => 28.62 / 19.97', '08-16 01:00:00 => 27.52 / 19.41', '08-16 02:00:00 => 26.55 / 18.92', '08-16 03:00:00 => 26.18 / 18.73', '08-16 04:00:00 => 26.12 / 18.7', '08-16 05:00:00 => 26.02 / 18.65', '08-16 06:00:00 => 25.78 / 18.53', '08-16 07:00:00 => 25.43 / 18.35', '08-16 08:00:00 => 24.63 / 17.94', '08-16 09:00:00 => 24.05 / 17.64', '08-16 10:00:00 => 24.59 / 17.92', '08-16 11:00:00 => 24.5 / 17.87', '08-16 12:00:00 => 23.58 / 17.4', '08-16 13:00:00 => 22.93 / 17.07', '08-16 14:00:00 => 21.8 / 16.49', '08-16 15:00:00 => 21.8 / 16.49', '08-16 16:00:00 => 36.93 / 18.3', '08-16 17:00:00 => 39.92 / 19.83', '08-16 18:00:00 => 43.98 / 21.9', '08-16 19:00:00 => 32.83 / 22.13']
2026-08-15 20:05:03.667993: Rate min forward looking: now 21.41p at end of forecast 21.41p
2026-08-15 20:05:03.669662: Import rates: min 21.41p, max 45.28p, average 28.54p
2026-08-15 20:05:03.735716: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 20:05:03.735978: Rate thresholds (for charge/export) are import 44.78p (0.0p), export -0.1p (0.0p)
2026-08-15 20:05:03.737804: High export rate found rates in range 99p to -99p
2026-08-15 20:05:04.007134: Low Import rate found rates in range 21.41p to 44.34p
2026-08-15 20:05:04.007809: Car 0 charging is not planned as it is not plugged in
2026-08-15 20:05:04.030790: Battery level now 14.72kWh, -1hr ago 15.04kWh, at midnight 1.66kWh, battery value change in the last hour -5.89p, change today 240.29p, rate_forward 18.39p
2026-08-15 20:05:04.031300: Last hour: net energy 0.0kWh, import 0.0kWh, export 0.0kWh, car 0kWh, load 0.3kWh, net cost 0.0p, import 0.0p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 20:05:04.148474: Today's energy total net 27.7kWh, import 27.7kWh, export 0.0kWh, cost 570.18p, import 520.2p, export 0.0p, carbon 0.0kg
2026-08-15 20:05:04.148829: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 20:05:04.396508: Using weighted-bucket historical load forecast over 14 days
2026-08-15 20:05:04.521861: Today's load divergence 84.07%, in-day adjustment 94.48%, damping 0.95x, yesterday 143.77% today 84.87% blend 16.32%
2026-08-15 20:05:04.537112: Today's predicted so far 12.09kWh with 0.0kWh car/iBoost excluded, 20.86kWh import ignored, and 12.09kWh forecast extra.
2026-08-15 20:05:04.537507: Today's actual load so far 10.01kWh with 0.0kWh car/iBoost excluded, and 20.86kWh import ignored.
2026-08-15 20:05:04.649145: Inverter 0: Type SK Sunsynk
2026-08-15 20:05:04.649268: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 20:05:04.649723: Reserve min: 7%, battery_min: 7%
2026-08-15 20:05:04.649893: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 20:05:04.650432: Inverter 0 SoC: 14.72kW 92%, current charge rate 5000W, current discharge rate 5250W, current battery power 265W, current battery voltage 51.2V, grid power -54W, load power 324W, PV Power 0W
2026-08-15 20:05:04.650812: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 20:05:04.651041: Inverter 0 scheduled charge enable is False
2026-08-15 20:05:04.651178: Inverter 0 charge windows currently []
2026-08-15 20:05:04.651479: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 20:05:04.651780: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 20:05:04.651845: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 20:05:04.652004: Inverter 0 scheduled discharge enable is False
2026-08-15 20:05:04.652322: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 20:05:04.652386: Inverter 0 discharge windows currently []
2026-08-15 20:05:04.652631: Note: Inverter does not support discharge freeze - disabled
2026-08-15 20:05:04.652818: Note: Inverter does not support charge freeze - disabled
2026-08-15 20:05:04.653005: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 20:05:04.793471: Dynamic load last period 0.30kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 20:05:04.793833: Plan was last updated on 2026-08-15 19:55:00+01:00 and is now 10.0 minutes old
2026-08-15 20:05:04.794355: Best charge window [ 16-08 11:00:00 - 16-08 12:30:00 @ 23.65p 16%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 31%, 16-08 13:30:00 - 16-08 15:00:00 @ 21.91p 100%, 16-08 15:00:00 - 16-08 16:00:00 @ 22.89p 75%, 17-08 12:30:00 - 17-08 18:00:00 @ 40.7p 100% ]
2026-08-15 20:05:04.794589: Best export window [  ]
2026-08-15 20:05:04.796079: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 20:05:04.800883: Load divergence over 8.0 hours mean 806.1W, min 348.6W, max 2423.4W, std dev 470.99W, divergence 29.21%
2026-08-15 20:05:04.862970: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 20:05:04.887665: LoadML is_calculating True
2026-08-15 20:05:04.887891: Not using thread pool as LoadML is calculating to avoid lockups
2026-08-15 20:05:04.950483: predict base end_record 08-17 12:40:00, final soc 1.12kWh, metric 1083.93p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 15:05:00, load 36.58kWh, PV 0.0kWh
2026-08-15 20:05:05.255796: Battery has 19.0 hours left - now at 14.72kWh
2026-08-15 20:05:05.308089: predict base10 end_record 08-17 12:40:00, final soc 1.12kWh, metric 1116.76p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 14:10:00, load 37.85kWh, PV 0.0kWh
2026-08-15 20:05:05.448722: predict best10 end_record 08-17 12:40:00, final soc 1.77kWh, metric 1063.72p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 06:10:00, load 37.85kWh, PV 0.0kWh
2026-08-15 20:05:05.654313: predict best end_record 08-17 12:40:00, final soc 1.9kWh, metric 1033.79p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 07:10:00, load 36.58kWh, PV 0.0kWh
2026-08-15 20:05:05.654570: Saving plan best values to HA entities
2026-08-15 20:05:06.014681: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 20:05:06.024292: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 20:05:06.052597: Best charging limit SoC's [2.5, 5.0, 16.0, 12.0, 16.0]kWh, export []kWh gives import battery 12.9kWh, house 3.28kWh, export 0.0kWh, metric 1033.79p, metric10 1063.72p
2026-08-15 20:05:06.257076: Marginal costs baseline metric (no standing charge): 933.824
2026-08-15 20:05:06.668012: Marginal energy costs matrix computed: min=24.24 max=28.59
2026-08-15 20:05:06.927581: Rate array import [{'start': 1205, 'end': 1410, 'rate': 'expensive', 'range': '(29.8p - 32.1p)'}, {'start': 1410, 'end': 2400, 'rate': 'cheap', 'range': '(21.4p - 28.2p)'}, {'start': 2400, 'end': 2430, 'rate': 'expensive', 'range': '(36.8p)'}, {'start': 2430, 'end': 2580, 'rate': 'very expensive', 'range': '(37.5p - 45.3p)'}, {'start': 2580, 'end': 2850, 'rate': 'expensive', 'range': '(30.0p - 35.9p)'}, {'start': 2850, 'end': 3640, 'rate': 'cheap', 'range': '(22.3p - 28.2p)'}] export [{'start': 1205, 'end': 3640, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 20:05:06.954366: - Your estimated bill for today is £5.70 and tomorrow is £3.13
2026-08-15 20:05:06.954585: - Import rates are expensive (29.8p - 32.1p) for the next 3 and a half hours and then cheap (21.4p - 28.2p) for the next 16 hours.
2026-08-15 20:05:06.954729: - The battery is currently at 92% and is in eco mode for the next 14 hours.
2026-08-15 20:05:06.954859: - For the next 48 hours there will be no solar generation.
2026-08-15 20:05:06.954983: - You will run out of battery in 35 hours.
2026-08-15 20:05:06.955114: - Your next charge slot will be in 14 hours where import rates will be cheap (24.3p).
2026-08-15 20:05:06.955238: 
2026-08-15 20:05:07.065866: Plan calculation took 2.27 seconds
2026-08-15 20:05:07.072059: No high rate period found
2026-08-15 20:05:07.186821: Import threshold used for optimisation was 23.49p
2026-08-15 20:05:07.325497: Low import rate windows [0: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 1: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 2: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 3: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 4: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 5: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 6: 08-15 23:00:00 - 08-15 23:30:00 @ 30.02, 7: 08-15 23:30:00 - 08-16 00:00:00 @ 27.8, 8: 08-16 00:00:00 - 08-16 00:30:00 @ 28.18, 9: 08-16 00:30:00 - 08-16 01:00:00 @ 27.38, 10: 08-16 01:00:00 - 08-16 01:30:00 @ 26.7, 11: 08-16 01:30:00 - 08-16 02:00:00 @ 26.31, 12: 08-16 02:00:00 - 08-16 02:30:00 @ 25.79, 13: 08-16 02:30:00 - 08-16 03:00:00 @ 25.86, 14: 08-16 03:00:00 - 08-16 03:30:00 @ 26.13, 15: 08-16 03:30:00 - 08-16 04:00:00 @ 25.86, 16: 08-16 04:00:00 - 08-16 04:30:00 @ 26.27, 17: 08-16 04:30:00 - 08-16 05:00:00 @ 26.14, 18: 08-16 05:00:00 - 08-16 05:30:00 @ 27.03, 19: 08-16 05:30:00 - 08-16 06:00:00 @ 26.28, 20: 08-16 06:00:00 - 08-16 06:30:00 @ 25.68, 21: 08-16 06:30:00 - 08-16 07:00:00 @ 26.1, 22: 08-16 07:00:00 - 08-16 07:30:00 @ 24.28, 23: 08-16 07:30:00 - 08-16 08:00:00 @ 24.94, 24: 08-16 08:00:00 - 08-16 08:30:00 @ 24.06, 25: 08-16 08:30:00 - 08-16 09:00:00 @ 24.39, 26: 08-16 09:00:00 - 08-16 09:30:00 @ 24.66, 27: 08-16 09:30:00 - 08-16 10:00:00 @ 24.06, 28: 08-16 10:00:00 - 08-16 10:30:00 @ 25.5, 29: 08-16 10:30:00 - 08-16 11:00:00 @ 24.94, 30: 08-16 11:00:00 - 08-16 11:30:00 @ 24.25, 31: 08-16 11:30:00 - 08-16 12:00:00 @ 23.49, 32: 08-16 12:00:00 - 08-16 12:30:00 @ 23.43, 33: 08-16 12:30:00 - 08-16 13:00:00 @ 22.33, 34: 08-16 13:00:00 - 08-16 13:30:00 @ 22.76, 35: 08-16 13:30:00 - 08-16 14:00:00 @ 22.3, 36: 08-16 14:00:00 - 08-16 14:30:00 @ 21.41, 37: 08-16 14:30:00 - 08-16 15:00:00 @ 21.65, 38: 08-16 15:00:00 - 08-16 15:30:00 @ 22.95, 39: 08-16 15:30:00 - 08-16 16:00:00 @ 22.83, 40: 08-16 16:00:00 - 08-16 16:30:00 @ 36.84, 41: 08-16 16:30:00 - 08-16 17:00:00 @ 37.54, 42: 08-16 17:00:00 - 08-16 17:30:00 @ 41.79, 43: 08-16 17:30:00 - 08-16 18:00:00 @ 43.7, 44: 08-16 18:00:00 - 08-16 18:30:00 @ 44.34, 45: 08-16 19:00:00 - 08-16 19:30:00 @ 34.79, 46: 08-16 19:30:00 - 08-16 20:00:00 @ 34.76, 47: 08-16 20:00:00 - 08-16 20:30:00 @ 35.62, 48: 08-16 20:30:00 - 08-16 21:00:00 @ 35.3, 49: 08-16 21:00:00 - 08-16 21:30:00 @ 35.89, 50: 08-16 21:30:00 - 08-16 22:00:00 @ 35.71, 51: 08-16 22:00:00 - 08-16 22:30:00 @ 33.75, 52: 08-16 22:30:00 - 08-16 23:00:00 @ 32.0, 53: 08-16 23:00:00 - 08-16 23:30:00 @ 30.02, 54: 08-16 23:30:00 - 08-17 00:00:00 @ 27.8, 55: 08-17 00:00:00 - 08-17 00:30:00 @ 28.18, 56: 08-17 00:30:00 - 08-17 01:00:00 @ 27.38, 57: 08-17 01:00:00 - 08-17 01:30:00 @ 26.7, 58: 08-17 01:30:00 - 08-17 02:00:00 @ 26.31, 59: 08-17 02:00:00 - 08-17 02:30:00 @ 25.79, 60: 08-17 02:30:00 - 08-17 03:00:00 @ 25.86, 61: 08-17 03:00:00 - 08-17 03:30:00 @ 26.13, 62: 08-17 03:30:00 - 08-17 04:00:00 @ 25.86, 63: 08-17 04:00:00 - 08-17 04:30:00 @ 26.27, 64: 08-17 04:30:00 - 08-17 05:00:00 @ 26.14, 65: 08-17 05:00:00 - 08-17 05:30:00 @ 27.03, 66: 08-17 05:30:00 - 08-17 06:00:00 @ 26.28, 67: 08-17 06:00:00 - 08-17 06:30:00 @ 25.68, 68: 08-17 06:30:00 - 08-17 07:00:00 @ 26.1, 69: 08-17 07:00:00 - 08-17 07:30:00 @ 24.28, 70: 08-17 07:30:00 - 08-17 08:00:00 @ 24.94, 71: 08-17 08:00:00 - 08-17 08:30:00 @ 24.06, 72: 08-17 08:30:00 - 08-17 09:00:00 @ 24.39, 73: 08-17 09:00:00 - 08-17 09:30:00 @ 24.66, 74: 08-17 09:30:00 - 08-17 10:00:00 @ 24.06, 75: 08-17 10:00:00 - 08-17 10:30:00 @ 25.5, 76: 08-17 10:30:00 - 08-17 11:00:00 @ 24.94, 77: 08-17 11:00:00 - 08-17 11:30:00 @ 24.25, 78: 08-17 11:30:00 - 08-17 12:00:00 @ 23.49, 79: 08-17 12:00:00 - 08-17 12:30:00 @ 23.43, 80: 08-17 12:30:00 - 08-17 13:00:00 @ 22.33, 81: 08-17 13:00:00 - 08-17 13:30:00 @ 22.76, 82: 08-17 13:30:00 - 08-17 14:00:00 @ 22.3, 83: 08-17 14:00:00 - 08-17 14:30:00 @ 21.41, 84: 08-17 14:30:00 - 08-17 15:00:00 @ 21.65, 85: 08-17 15:00:00 - 08-17 15:30:00 @ 22.95, 86: 08-17 15:30:00 - 08-17 16:00:00 @ 22.83, 87: 08-17 16:00:00 - 08-17 16:30:00 @ 36.84, 88: 08-17 16:30:00 - 08-17 17:00:00 @ 37.54, 89: 08-17 17:00:00 - 08-17 17:30:00 @ 41.79, 90: 08-17 17:30:00 - 08-17 18:00:00 @ 43.7, 91: 08-17 18:00:00 - 08-17 18:30:00 @ 44.34, 92: 08-17 19:00:00 - 08-17 19:30:00 @ 34.79, 93: 08-17 19:30:00 - 08-17 20:00:00 @ 34.76, 94: 08-17 20:00:00 - 08-17 20:30:00 @ 35.62]
2026-08-15 20:05:07.339652: Inverter 0 Charge window will be: 2026-08-16 11:00:00+01:00 - 2026-08-16 16:00:00+01:00 - current SoC 92%, target 16%
2026-08-15 20:05:07.339836: Inverter 0 disabled charge window while waiting for schedule (now 08-15 20:05:00 target set_window_minutes 30 charge start time 08-16 11:00:00) original inverter start time 08-17 00:00:00
2026-08-15 20:05:07.340059: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 20:05:07.340332: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 20:05:07.340474: No export window planned
2026-08-15 20:05:07.340649: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 20:05:07.340712: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 20:05:07.340904: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 20:05:07.341181: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 20:05:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 20:05:07.341368: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 20:05:07.341494: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 20:05:07.341793: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 20:05:07.341954: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 20:05:07.342000: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 20:05:07.342037: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 20:05:07.342313: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 20:05:07.342368: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 20:05:07.342404: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 20:05:07.344438: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 20:05:07.344518: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 20:05:07.344558: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 20:05:07.344607: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 20:05:07.344642: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 20:05:07.344683: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 20:05:07.344728: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 20:05:07.344763: Inverter 0 count register writes 0
2026-08-15 20:05:07.382960: Will recompute the plan as it is now 10.0 minutes old and will exceed the max age of 10 minutes before the next run
2026-08-15 20:05:07.383215: Recompute is saving previous plan...
2026-08-15 20:05:07.388847: Best charge window [ 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 0%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 0%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 30.02p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 27.8p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.18p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.38p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 26.7p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.31p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.79p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 25.86p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.13p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 25.86p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.27p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.14p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 27.03p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.28p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.68p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 26.1p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 24.28p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 24.94p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.06p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.39p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.66p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.06p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 25.5p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 24.94p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 24.25p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 23.49p 0%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.43p 0%, 16-08 12:30:00 - 16-08 13:00:00 @ 22.33p 0%, 16-08 13:00:00 - 16-08 13:30:00 @ 22.76p 0%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 0%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 0%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.65p 0%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.95p 0%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.83p 0%, 16-08 16:00:00 - 16-08 16:30:00 @ 36.84p 0%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.54p 0%, 16-08 17:00:00 - 16-08 17:30:00 @ 41.79p 0%, 16-08 17:30:00 - 16-08 18:00:00 @ 43.7p 0%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.34p 0%, 16-08 19:00:00 - 16-08 19:30:00 @ 34.79p 0%, 16-08 19:30:00 - 16-08 20:00:00 @ 34.76p 0%, 16-08 20:00:00 - 16-08 20:30:00 @ 35.62p 0%, 16-08 20:30:00 - 16-08 21:00:00 @ 35.3p 0%, 16-08 21:00:00 - 16-08 21:30:00 @ 35.89p 0%, 16-08 21:30:00 - 16-08 22:00:00 @ 35.71p 0%, 16-08 22:00:00 - 16-08 22:30:00 @ 33.75p 0%, 16-08 22:30:00 - 16-08 23:00:00 @ 32.0p 0%, 16-08 23:00:00 - 16-08 23:30:00 @ 30.02p 0%, 16-08 23:30:00 - 17-08 00:00:00 @ 27.8p 0%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.18p 0%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.38p 0%, 17-08 01:00:00 - 17-08 01:30:00 @ 26.7p 0%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.31p 0%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.79p 0%, 17-08 02:30:00 - 17-08 03:00:00 @ 25.86p 0%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.13p 0%, 17-08 03:30:00 - 17-08 04:00:00 @ 25.86p 0%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.27p 0%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.14p 0%, 17-08 05:00:00 - 17-08 05:30:00 @ 27.03p 0%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.28p 0%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.68p 0%, 17-08 06:30:00 - 17-08 07:00:00 @ 26.1p 0%, 17-08 07:00:00 - 17-08 07:30:00 @ 24.28p 0%, 17-08 07:30:00 - 17-08 08:00:00 @ 24.94p 0%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.06p 0%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.39p 0%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.66p 0%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.06p 0%, 17-08 10:00:00 - 17-08 10:30:00 @ 25.5p 0%, 17-08 10:30:00 - 17-08 11:00:00 @ 24.94p 0%, 17-08 11:00:00 - 17-08 11:30:00 @ 24.25p 0%, 17-08 11:30:00 - 17-08 12:00:00 @ 23.49p 0%, 17-08 12:00:00 - 17-08 12:30:00 @ 23.43p 0%, 17-08 12:30:00 - 17-08 13:00:00 @ 22.33p 0%, 17-08 13:00:00 - 17-08 13:30:00 @ 22.76p 0%, 17-08 13:30:00 - 17-08 14:00:00 @ 22.3p 0%, 17-08 14:00:00 - 17-08 14:30:00 @ 21.41p 0%, 17-08 14:30:00 - 17-08 15:00:00 @ 21.65p 0%, 17-08 15:00:00 - 17-08 15:30:00 @ 22.95p 0%, 17-08 15:30:00 - 17-08 16:00:00 @ 22.83p 0%, 17-08 16:00:00 - 17-08 16:30:00 @ 36.84p 0%, 17-08 16:30:00 - 17-08 17:00:00 @ 37.54p 0%, 17-08 17:00:00 - 17-08 17:30:00 @ 41.79p 0%, 17-08 17:30:00 - 17-08 18:00:00 @ 43.7p 0%, 17-08 18:00:00 - 17-08 18:30:00 @ 44.34p 0%, 17-08 19:00:00 - 17-08 19:30:00 @ 34.79p 0%, 17-08 19:30:00 - 17-08 20:00:00 @ 34.76p 0%, 17-08 20:00:00 - 17-08 20:30:00 @ 35.62p 0% ]
2026-08-15 20:05:07.389016: Best export window [  ]
2026-08-15 20:05:07.390319: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 20:05:07.395893: Load divergence over 8.0 hours mean 806.1W, min 348.6W, max 2423.4W, std dev 470.99W, divergence 29.21%
2026-08-15 20:05:07.426640: Calculating data from yesterday for savings calculation
2026-08-15 20:05:07.466855: Yesterday basic charge window best: [{'start': 840, 'end': 870, 'average': 21.7}] charge limit best: [16.0] based on max charge slots 1
2026-08-15 20:05:07.583715: predict yesterday end_record 08-16 00:00:00, final soc 1.12kWh, metric 843.63p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 00:00:00, load 26.2kWh, PV 0.0kWh
2026-08-15 20:05:07.613305: predict yesterday10 end_record 08-16 00:00:00, final soc 1.12kWh, metric 847.91p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 00:00:00, load 26.2kWh, PV 0.0kWh
2026-08-15 20:05:07.657908: predict yesterday end_record 08-16 00:00:00, final soc 1.12kWh, metric 843.63p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 00:00:00, load 26.2kWh, PV 0.0kWh
2026-08-15 20:05:07.702473: Yesterday: Predbat disabled was £8.44 (adjusted £8.23) vs £7.38 (adjusted £7.05), saving £1.05 (adjusted £1.18) with import 26.54kWh, export 0.0kWh, battery_cycle 4.66kWh, start_soc 1.12kWh,  final_soc 1.12kWh and battery_value 20.6kWh
2026-08-15 20:05:07.809558: predict yesterday end_record 08-16 00:00:00, final soc 0.0kWh, metric 849.84p, metric_keep 0kWh, min_soc 0kWh @ 08-15 00:00:00, load 26.2kWh, PV 0.0kWh
2026-08-15 20:05:07.809724: Yesterday: No Battery/PV system cost predicted was £8.5 (adjusted £8.5) vs £7.38 (adjusted £7.05), saving £1.12 (adjusted £1.45) with import 26.2kWh, export 0kWh and battery_value 0.0kWh
2026-08-15 20:05:07.824686: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 20:05:07.825157: LoadML is_calculating True
2026-08-15 20:05:07.825234: Not using thread pool as LoadML is calculating to avoid lockups
2026-08-15 20:05:07.840765: Calculate Best options: mode(Control charge & discharge), calculate_export_oncharge(False), calculate_export_on_pv(True), set_export_freeze_only(False), set_discharge_during_charge(True), combine_charge_slots(False), combine_export_slots(False), combine_rate_threshold(0.0), best_soc_min(0.0 kWh), best_soc_max(0.0 kWh), best_soc_keep(0.0 kWh), inverter_loss(4%), battery_loss(3%), battery_loss_discharge (3%), inverter_hybrid(True), metric_min_improvement(0.0p), metric_min_improvement_export(0.1p), metric_min_improvement_export_freeze(0.1p), metric_battery_cycle(0.0p/kWh), metric_battery_value_scaling(1.0 x) 
2026-08-15 20:05:07.842940: Optimise levels pass started at 2026-08-15 20:05:07
2026-08-15 20:05:07.843025: Optimise all windows, total charge 94 export 1
2026-08-15 20:05:13.499271: >> Region optimisation pass width 960 gives best_metric 1019.55p, best_cost 1060.82p, best_cycle 39.78kWh, best_import 21.98kWh
2026-08-15 20:05:14.975285: >> Region optimisation pass width 480 gives best_metric 1019.55p, best_cost 1060.82p, best_cycle 39.78kWh, best_import 21.98kWh
2026-08-15 20:05:16.323672: >> Region optimisation pass width 240 gives best_metric 1019.55p, best_cost 1060.82p, best_cycle 39.78kWh, best_import 21.98kWh
2026-08-15 20:05:19.571314: >> Region optimisation pass width 120 gives best_metric 1019.55p, best_cost 1060.82p, best_cycle 39.78kWh, best_import 21.98kWh
2026-08-15 20:05:19.573241: Calculated end_record as 08-17 12:30:00 based on best_price 22.33p, next_charge_start 08-16 12:30:00, max_windows 80
2026-08-15 20:05:19.573333: Optimise levels pass ended at 2026-08-15 20:05:19, duration 11.7 seconds tried 303 combinations
2026-08-15 20:05:19.573397: Set best_price_charge_level 24.0p, best_price_export_level 0p, best_price_charge 22.33p, best_cost_export 0p, best_metric 1019.55p, best_keep 0kWh, best_cycle 39.78kWh, best_carbon 0kg, best_import 21.98kWh
2026-08-15 20:05:19.635454: Starting detailed optimisation end_record 08-17 12:30:00, best_price_charge 22.33p, best_price_export 0p. lowest_price_charge 21.41p with charge limits [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 0, 16.0, 16.0, 16.0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0]kWh and export limits []kWh
2026-08-15 20:05:19.952115: ML Predictor: Epoch 7/30: lr=0.00091 huber_loss=0.0104 val_mae=0.0056 kWh val_bias=-0.0022 kWh (-2.7%) combined=0.0037 kWh ema_combined=0.0039 kWh
2026-08-15 20:05:52.905576: Tweak plan optimisation started metric 895.15p, cost 910.76p
2026-08-15 20:05:55.060092: Tweak optimisation finished metric 895.15p, cost 910.76p, metric_keep 0kWh, cycle 30.05kWh, carbon 0kg, import 15.14kWh, changed 8 window(s)
2026-08-15 20:05:55.077241: Swap charge optimisation started metric 895.15p, cost 910.76p, min_improvement_swap 0.1p
2026-08-15 20:06:06.940201: Swap charge optimisation finished metric 895.15p, cost 910.76p
2026-08-15 20:06:07.062414: Raw charge windows [ 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 0%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 0%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 30.02p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 27.8p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.18p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.38p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 26.7p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.31p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.79p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 25.86p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.13p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 25.86p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.27p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.14p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 27.03p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.28p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.68p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 26.1p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 24.28p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 24.94p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.06p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.39p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.66p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.06p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 25.5p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 24.94p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 24.25p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 23.49p 25%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.43p 25%, 16-08 12:30:00 - 16-08 13:00:00 @ 22.33p 34%, 16-08 13:00:00 - 16-08 13:30:00 @ 22.76p 34%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 100%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 100%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.65p 100%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.95p 78%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.83p 78%, 16-08 16:00:00 - 16-08 16:30:00 @ 36.84p 0%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.54p 0%, 16-08 17:00:00 - 16-08 17:30:00 @ 41.79p 0%, 16-08 17:30:00 - 16-08 18:00:00 @ 43.7p 0%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.34p 0%, 16-08 19:00:00 - 16-08 19:30:00 @ 34.79p 0%, 16-08 19:30:00 - 16-08 20:00:00 @ 34.76p 0%, 16-08 20:00:00 - 16-08 20:30:00 @ 35.62p 0%, 16-08 20:30:00 - 16-08 21:00:00 @ 35.3p 0%, 16-08 21:00:00 - 16-08 21:30:00 @ 35.89p 0%, 16-08 21:30:00 - 16-08 22:00:00 @ 35.71p 0%, 16-08 22:00:00 - 16-08 22:30:00 @ 33.75p 0%, 16-08 22:30:00 - 16-08 23:00:00 @ 32.0p 0%, 16-08 23:00:00 - 16-08 23:30:00 @ 30.02p 0%, 16-08 23:30:00 - 17-08 00:00:00 @ 27.8p 0%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.18p 0%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.38p 0%, 17-08 01:00:00 - 17-08 01:30:00 @ 26.7p 0%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.31p 0%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.79p 0%, 17-08 02:30:00 - 17-08 03:00:00 @ 25.86p 0%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.13p 0%, 17-08 03:30:00 - 17-08 04:00:00 @ 25.86p 0%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.27p 0%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.14p 0%, 17-08 05:00:00 - 17-08 05:30:00 @ 27.03p 0%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.28p 0%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.68p 0%, 17-08 06:30:00 - 17-08 07:00:00 @ 26.1p 0%, 17-08 07:00:00 - 17-08 07:30:00 @ 24.28p 0%, 17-08 07:30:00 - 17-08 08:00:00 @ 24.94p 0%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.06p 0%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.39p 0%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.66p 0%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.06p 0%, 17-08 10:00:00 - 17-08 10:30:00 @ 25.5p 0%, 17-08 10:30:00 - 17-08 11:00:00 @ 24.94p 0%, 17-08 11:00:00 - 17-08 11:30:00 @ 24.25p 0%, 17-08 11:30:00 - 17-08 12:00:00 @ 23.49p 0%, 17-08 12:00:00 - 17-08 12:30:00 @ 23.43p 0%, 17-08 12:30:00 - 17-08 13:00:00 @ 22.33p 100%, 17-08 13:00:00 - 17-08 13:30:00 @ 22.76p 100%, 17-08 13:30:00 - 17-08 14:00:00 @ 22.3p 100%, 17-08 14:00:00 - 17-08 14:30:00 @ 21.41p 100%, 17-08 14:30:00 - 17-08 15:00:00 @ 21.65p 100%, 17-08 15:00:00 - 17-08 15:30:00 @ 22.95p 100%, 17-08 15:30:00 - 17-08 16:00:00 @ 22.83p 100%, 17-08 16:00:00 - 17-08 16:30:00 @ 36.84p 100%, 17-08 16:30:00 - 17-08 17:00:00 @ 37.54p 100%, 17-08 17:00:00 - 17-08 17:30:00 @ 41.79p 100%, 17-08 17:30:00 - 17-08 18:00:00 @ 43.7p 100%, 17-08 18:00:00 - 17-08 18:30:00 @ 44.34p 100%, 17-08 19:00:00 - 17-08 19:30:00 @ 34.79p 100%, 17-08 19:30:00 - 17-08 20:00:00 @ 34.76p 100%, 17-08 20:00:00 - 17-08 20:30:00 @ 35.62p 100% ] reserve 1.12
2026-08-15 20:06:07.077880: Unclipped charge windows [ 16-08 11:30:00 - 16-08 12:30:00 @ 23.46p 25%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 34%, 16-08 13:30:00 - 16-08 15:00:00 @ 21.75p 100%, 16-08 15:00:00 - 16-08 16:00:00 @ 22.89p 78%, 17-08 12:30:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 17-08 20:30:00 @ 35.2p 100% ] reserve 1.12
2026-08-15 20:06:07.078322: Unfiltered charge windows [ 16-08 11:30:00 - 16-08 12:30:00 @ 23.46p 25%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 34%, 16-08 13:30:00 - 16-08 15:00:00 @ 21.75p 100%, 16-08 15:00:00 - 16-08 16:00:00 @ 22.89p 78%, 17-08 12:30:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 17-08 20:30:00 @ 35.2p 100% ] reserve 1.12
2026-08-15 20:06:07.078712: Filtered charge windows [ 16-08 11:30:00 - 16-08 12:30:00 @ 23.46p 25%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 34%, 16-08 13:30:00 - 16-08 15:00:00 @ 21.75p 100%, 16-08 15:00:00 - 16-08 16:00:00 @ 22.89p 78%, 17-08 12:30:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 17-08 20:30:00 @ 35.2p 100% ] reserve 1.12
2026-08-15 20:06:07.160498: Previous plan best metric is 896.66 (cost 912.33) and new plan best metric is 895.15 (cost 910.76)
2026-08-15 20:06:07.169206: New plan metric is not significantly better (metric_min_improvement_plan 2.0) than previous plan, using previous plan
2026-08-15 20:06:07.169505: Plan valid is now true after recompute was False
2026-08-15 20:06:07.220499: predict base end_record 08-17 12:30:00, final soc 1.12kWh, metric 1081.04p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 15:05:00, load 36.45kWh, PV 0.0kWh
2026-08-15 20:06:07.503340: Battery has 19.0 hours left - now at 14.72kWh
2026-08-15 20:06:07.587396: predict base10 end_record 08-17 12:30:00, final soc 1.12kWh, metric 1113.74p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 14:10:00, load 37.72kWh, PV 0.0kWh
2026-08-15 20:06:07.744386: predict best10 end_record 08-17 12:30:00, final soc 1.12kWh, metric 1045.19p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 06:10:00, load 37.72kWh, PV 0.0kWh
2026-08-15 20:06:07.927641: predict best end_record 08-17 12:30:00, final soc 1.12kWh, metric 1012.3p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 07:10:00, load 36.45kWh, PV 0.0kWh
2026-08-15 20:06:07.940801: Saving plan best values to HA entities
2026-08-15 20:06:08.254984: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 20:06:08.279391: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 20:06:08.288146: Best charging limit SoC's [2.5, 5.0, 16.0, 12.0, 16.0]kWh, export []kWh gives import battery 11.94kWh, house 3.28kWh, export 0.0kWh, metric 1012.3p, metric10 1045.19p
2026-08-15 20:06:08.468496: Marginal costs baseline metric (no standing charge): 912.3295
2026-08-15 20:06:08.831632: Marginal energy costs matrix computed: min=24.24 max=28.59
2026-08-15 20:06:09.031052: Rate array import [{'start': 1205, 'end': 1410, 'rate': 'expensive', 'range': '(29.8p - 32.1p)'}, {'start': 1410, 'end': 2400, 'rate': 'cheap', 'range': '(21.4p - 28.2p)'}, {'start': 2400, 'end': 2430, 'rate': 'expensive', 'range': '(36.8p)'}, {'start': 2430, 'end': 2580, 'rate': 'very expensive', 'range': '(37.5p - 45.3p)'}, {'start': 2580, 'end': 2850, 'rate': 'expensive', 'range': '(30.0p - 35.9p)'}, {'start': 2850, 'end': 3630, 'rate': 'cheap', 'range': '(23.4p - 28.2p)'}] export [{'start': 1205, 'end': 3630, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 20:06:09.032563: - Your estimated bill for today is £5.70 and tomorrow is £3.13
2026-08-15 20:06:09.033681: - Import rates are expensive (29.8p - 32.1p) for the next 3 and a half hours and then cheap (21.4p - 28.2p) for the next 16 hours.
2026-08-15 20:06:09.033790: - The battery is currently at 92% and is in eco mode for the next 14 hours.
2026-08-15 20:06:09.033827: - For the next 48 hours there will be no solar generation.
2026-08-15 20:06:09.033885: - You will run out of battery in 35 hours.
2026-08-15 20:06:09.033923: - Your next charge slot will be in 14 hours where import rates will be cheap (24.3p).
2026-08-15 20:06:09.033957: 
2026-08-15 20:06:09.085165: Plan calculation took 61.70 seconds
2026-08-15 20:06:09.085512: Inverter 0: Type SK Sunsynk
2026-08-15 20:06:09.085574: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 20:06:09.085825: Reserve min: 7%, battery_min: 7%
2026-08-15 20:06:09.085955: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 20:06:09.086516: Inverter 0 SoC: 14.72kW 92%, current charge rate 5000W, current discharge rate 5250W, current battery power 271W, current battery voltage 51.2V, grid power -57W, load power 330W, PV Power 0W
2026-08-15 20:06:09.086743: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 20:06:09.086884: Inverter 0 scheduled charge enable is False
2026-08-15 20:06:09.086938: Inverter 0 charge windows currently []
2026-08-15 20:06:09.086995: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 20:06:09.087177: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 20:06:09.087220: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 20:06:09.087304: Inverter 0 scheduled discharge enable is False
2026-08-15 20:06:09.087510: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 20:06:09.087878: Inverter 0 discharge windows currently []
2026-08-15 20:06:09.087921: Note: Inverter does not support discharge freeze - disabled
2026-08-15 20:06:09.088113: Note: Inverter does not support charge freeze - disabled
2026-08-15 20:06:09.088598: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 20:06:09.234096: Inverter 0 Charge window will be: 2026-08-16 11:00:00+01:00 - 2026-08-16 16:00:00+01:00 - current SoC 92%, target 16%
2026-08-15 20:06:09.234284: Inverter 0 disabled charge window while waiting for schedule (now 08-15 20:05:00 target set_window_minutes 30 charge start time 08-16 11:00:00) original inverter start time 08-17 00:00:00
2026-08-15 20:06:09.234383: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 20:06:09.234690: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 20:06:09.234783: No export window planned
2026-08-15 20:06:09.234915: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 20:06:09.234994: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 20:06:09.235301: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 20:06:09.235603: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 20:05:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 20:06:09.235722: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 20:06:09.235882: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 20:06:09.236058: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 20:06:09.236124: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 20:06:09.236276: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 20:06:09.236343: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 20:06:09.236519: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 20:06:09.236587: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 20:06:09.236724: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 20:06:09.236883: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 20:06:09.236971: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 20:06:09.237109: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 20:06:09.237166: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 20:06:09.237287: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 20:06:09.237342: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 20:06:09.237481: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 20:06:09.237533: Inverter 0 count register writes 0
2026-08-15 20:06:09.297256: Total inverter register writes now 826
2026-08-15 20:06:09.386275: Info: Completed run status Demand
2026-08-15 20:06:09.399678: Info: record_status Demand
2026-08-15 20:06:09.427010: Saved current settings to /config/predbat_config.json
2026-08-15 20:06:09.427328: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 20:06:19.790037: ML Predictor: Epoch 8/30: lr=0.00088 huber_loss=0.0093 val_mae=0.0058 kWh val_bias=-0.0014 kWh (-1.8%) combined=0.0031 kWh ema_combined=0.0037 kWh
2026-08-15 20:06:41.612630: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 20:06:41.613030: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 20:06:41.613263: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 20:06:41.613543: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 20:06:41.613604: Note: Inverter does not support discharge freeze - disabled
2026-08-15 20:06:41.613634: Note: Inverter does not support charge freeze - disabled
2026-08-15 20:06:41.613657: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 20:06:53.732050: ML Predictor: Epoch 9/30: lr=0.00084 huber_loss=0.0097 val_mae=0.0054 kWh val_bias=+0.0001 kWh (+0.1%) combined=0.0031 kWh ema_combined=0.0035 kWh
2026-08-15 20:07:23.288298: ML Predictor: Epoch 10/30: lr=0.00080 huber_loss=0.0096 val_mae=0.0058 kWh val_bias=-0.0007 kWh (-0.9%) combined=0.0030 kWh ema_combined=0.0033 kWh
2026-08-15 20:07:53.388715: ML Predictor: Epoch 11/30: lr=0.00076 huber_loss=0.0106 val_mae=0.0051 kWh val_bias=-0.0000 kWh (-0.0%) combined=0.0028 kWh ema_combined=0.0032 kWh
2026-08-15 20:08:24.715569: ML Predictor: Epoch 12/30: lr=0.00072 huber_loss=0.0100 val_mae=0.0046 kWh val_bias=-0.0000 kWh (-0.0%) combined=0.0024 kWh ema_combined=0.0029 kWh
2026-08-15 20:08:42.100994: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 20:08:42.101507: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 20:08:42.108156: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 20:08:42.108549: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 20:08:42.108642: Note: Inverter does not support discharge freeze - disabled
2026-08-15 20:08:42.108683: Note: Inverter does not support charge freeze - disabled
2026-08-15 20:08:42.108772: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 20:08:56.575402: ML Predictor: Epoch 13/30: lr=0.00067 huber_loss=0.0097 val_mae=0.0045 kWh val_bias=-0.0006 kWh (-0.8%) combined=0.0026 kWh ema_combined=0.0028 kWh
2026-08-15 20:09:30.143262: ML Predictor: Epoch 14/30: lr=0.00062 huber_loss=0.0090 val_mae=0.0045 kWh val_bias=-0.0006 kWh (-0.8%) combined=0.0024 kWh ema_combined=0.0027 kWh
2026-08-15 20:10:00.561155: --------------- PredBat - update at 2026-08-15 20:10:00+01:00 with clock skew 0 minutes, minutes now 1210
2026-08-15 20:10:00.563040: Saved current settings to /config/predbat_config.json
2026-08-15 20:10:00.563342: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 105.0 minutes
2026-08-15 20:10:00.563580: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.2, latest beta is v8.48.2
2026-08-15 20:10:00.563833: Autoupdate: There is an update pending v8.48.2 PV90 and second pass enabled by default, bug fixes - auto update is off
2026-08-15 20:10:00.619900: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 20:10:00.620270: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 20:10:00.620690: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 20:10:00.621655: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 20:10:00.624892: Predbat mode is set to Control charge & discharge
2026-08-15 20:10:00.966731: Found 21602 load_today datapoints going back 28 days
2026-08-15 20:10:00.966926: Using load_power data to fill gaps in load_today data
2026-08-15 20:10:02.412038: Processing 721 30-minute periods for power integration
2026-08-15 20:10:02.639960: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 20:10:02.640391: Car charging hold False, threshold 6.0kWh
2026-08-15 20:10:02.640516: Current data so far today: load 9.95kWh, import 27.7kWh, export 0.0kWh, PV 0kWh
2026-08-15 20:10:02.673232: Cars: SoC: [9.962]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 20:10:02.673696: Standing charge is set to 49.98p
2026-08-15 20:10:02.837541: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 20:10:02.837679: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 20:10:02.837997: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 570.0 minutes
2026-08-15 20:10:02.838614: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 570.0 minutes
2026-08-15 20:10:02.848469: Loaded 95 datapoints of futurerate analysis
2026-08-15 20:10:03.019096: Predicted future rates: ['08-15 00:00:00 => 28.69 / 20.01', '08-15 01:00:00 => 27.33 / 19.31', '08-15 02:00:00 => 26.31 / 18.8', '08-15 03:00:00 => 25.78 / 18.53', '08-15 04:00:00 => 25.59 / 18.43', '08-15 05:00:00 => 25.75 / 18.51', '08-15 06:00:00 => 25.34 / 18.3', '08-15 07:00:00 => 24.12 / 17.68', '08-15 08:00:00 => 22.82 / 17.01', '08-15 09:00:00 => 21.84 / 16.51', '08-15 10:00:00 => 20.22 / 15.68', '08-15 11:00:00 => 17.8 / 14.45', '08-15 12:00:00 => 16.16 / 13.61', '08-15 13:00:00 => 15.55 / 13.3', '08-15 14:00:00 => 15.14 / 13.09', '08-15 15:00:00 => 15.65 / 13.35', '08-15 16:00:00 => 32.68 / 16.13', '08-15 17:00:00 => 37.81 / 18.75', '08-15 18:00:00 => 42.15 / 20.96', '08-15 19:00:00 => 30.88 / 21.13', '08-15 20:00:00 => 31.43 / 21.41', '08-15 21:00:00 => 31.43 / 21.41', '08-15 22:00:00 => 30.37 / 20.87', '08-15 23:00:00 => 29.16 / 20.25', '08-16 00:00:00 => 28.62 / 19.97', '08-16 01:00:00 => 27.52 / 19.41', '08-16 02:00:00 => 26.55 / 18.92', '08-16 03:00:00 => 26.18 / 18.73', '08-16 04:00:00 => 26.12 / 18.7', '08-16 05:00:00 => 26.02 / 18.65', '08-16 06:00:00 => 25.78 / 18.53', '08-16 07:00:00 => 25.43 / 18.35', '08-16 08:00:00 => 24.63 / 17.94', '08-16 09:00:00 => 24.05 / 17.64', '08-16 10:00:00 => 24.59 / 17.92', '08-16 11:00:00 => 24.5 / 17.87', '08-16 12:00:00 => 23.58 / 17.4', '08-16 13:00:00 => 22.93 / 17.07', '08-16 14:00:00 => 21.8 / 16.49', '08-16 15:00:00 => 21.8 / 16.49', '08-16 16:00:00 => 36.93 / 18.3', '08-16 17:00:00 => 39.92 / 19.83', '08-16 18:00:00 => 43.98 / 21.9', '08-16 19:00:00 => 32.83 / 22.13']
2026-08-15 20:10:03.064403: Rate min forward looking: now 21.41p at end of forecast 21.41p
2026-08-15 20:10:03.064937: Import rates: min 21.41p, max 45.28p, average 28.54p
2026-08-15 20:10:03.124125: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 20:10:03.124400: Rate thresholds (for charge/export) are import 44.78p (0.0p), export -0.1p (0.0p)
2026-08-15 20:10:03.126358: High export rate found rates in range 99p to -99p
2026-08-15 20:10:03.326561: Low Import rate found rates in range 21.41p to 44.34p
2026-08-15 20:10:03.326741: Car 0 charging is not planned as it is not plugged in
2026-08-15 20:10:03.347565: Battery level now 14.72kWh, -1hr ago 15.04kWh, at midnight 1.66kWh, battery value change in the last hour -5.89p, change today 240.29p, rate_forward 18.39p
2026-08-15 20:10:03.348127: Last hour: net energy 0.0kWh, import 0.0kWh, export 0.0kWh, car 0kWh, load 0.38kWh, net cost 0.0p, import 0.0p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 20:10:03.445400: Today's energy total net 27.7kWh, import 27.7kWh, export 0.0kWh, cost 570.18p, import 520.2p, export 0.0p, carbon 0.0kg
2026-08-15 20:10:03.445625: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 20:10:03.670080: Using weighted-bucket historical load forecast over 14 days
2026-08-15 20:10:03.704095: Today's load divergence 84.32%, in-day adjustment 94.47%, damping 0.95x, yesterday 143.77% today 85.1% blend 15.97%
2026-08-15 20:10:03.704555: Today's predicted so far 12.1kWh with 0.0kWh car/iBoost excluded, 20.92kWh import ignored, and 12.1kWh forecast extra.
2026-08-15 20:10:03.704849: Today's actual load so far 10.04kWh with 0.0kWh car/iBoost excluded, and 20.92kWh import ignored.
2026-08-15 20:10:03.767078: Inverter 0: Type SK Sunsynk
2026-08-15 20:10:03.767189: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 20:10:03.767461: Reserve min: 7%, battery_min: 7%
2026-08-15 20:10:03.767591: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 20:10:03.767947: Inverter 0 SoC: 14.72kW 92%, current charge rate 5000W, current discharge rate 5250W, current battery power 308W, current battery voltage 51.2V, grid power -54W, load power 367W, PV Power 0W
2026-08-15 20:10:03.768168: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 20:10:03.768283: Inverter 0 scheduled charge enable is False
2026-08-15 20:10:03.768329: Inverter 0 charge windows currently []
2026-08-15 20:10:03.768364: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 20:10:03.768532: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 20:10:03.768581: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 20:10:03.768628: Inverter 0 scheduled discharge enable is False
2026-08-15 20:10:03.768812: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 20:10:03.768860: Inverter 0 discharge windows currently []
2026-08-15 20:10:03.768891: Note: Inverter does not support discharge freeze - disabled
2026-08-15 20:10:03.768926: Note: Inverter does not support charge freeze - disabled
2026-08-15 20:10:03.768982: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 20:10:03.943340: Dynamic load last period 0.60kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 20:10:03.943629: Plan was last updated on 2026-08-15 20:05:00+01:00 and is now 5.0 minutes old
2026-08-15 20:10:03.944061: Best charge window [ 16-08 11:00:00 - 16-08 12:30:00 @ 23.65p 16%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 31%, 16-08 13:30:00 - 16-08 15:00:00 @ 21.91p 100%, 16-08 15:00:00 - 16-08 16:00:00 @ 22.89p 75%, 17-08 12:30:00 - 17-08 18:00:00 @ 40.7p 100% ]
2026-08-15 20:10:03.944131: Best export window [  ]
2026-08-15 20:10:03.945573: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 20:10:03.950507: Load divergence over 8.0 hours mean 809.01W, min 363.6W, max 2447.4W, std dev 448.47W, divergence 27.72%
2026-08-15 20:10:04.000620: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 20:10:04.000754: LoadML is_calculating True
2026-08-15 20:10:04.000782: Not using thread pool as LoadML is calculating to avoid lockups
2026-08-15 20:10:04.045957: predict base end_record 08-17 12:35:00, final soc 1.12kWh, metric 1082.08p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 15:10:00, load 36.6kWh, PV 0.0kWh
2026-08-15 20:10:04.272187: Battery has 19.0 hours left - now at 14.72kWh
2026-08-15 20:10:04.378065: predict base10 end_record 08-17 12:35:00, final soc 1.12kWh, metric 1114.94p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 14:10:00, load 37.87kWh, PV 0.0kWh
2026-08-15 20:10:04.507167: predict best10 end_record 08-17 12:35:00, final soc 1.44kWh, metric 1054.02p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 06:10:00, load 37.87kWh, PV 0.0kWh
2026-08-15 20:10:04.652778: predict best end_record 08-17 12:35:00, final soc 1.51kWh, metric 1022.44p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 07:10:00, load 36.6kWh, PV 0.0kWh
2026-08-15 20:10:04.652869: Saving plan best values to HA entities
2026-08-15 20:10:05.075054: ML Predictor: Epoch 15/30: lr=0.00057 huber_loss=0.0075 val_mae=0.0042 kWh val_bias=+0.0007 kWh (+0.8%) combined=0.0030 kWh ema_combined=0.0028 kWh
2026-08-15 20:10:05.095055: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 20:10:05.123153: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0.0
2026-08-15 20:10:05.136813: Best charging limit SoC's [2.5, 5.0, 16.0, 12.0, 16.0]kWh, export []kWh gives import battery 12.37kWh, house 3.29kWh, export 0.0kWh, metric 1022.44p, metric10 1054.02p
2026-08-15 20:10:05.264679: Marginal costs baseline metric (no standing charge): 922.4728
2026-08-15 20:10:05.781374: Marginal energy costs matrix computed: min=24.25 max=28.58
2026-08-15 20:10:06.055253: Rate array import [{'start': 1210, 'end': 1410, 'rate': 'expensive', 'range': '(29.8p - 32.1p)'}, {'start': 1410, 'end': 2400, 'rate': 'cheap', 'range': '(21.4p - 28.2p)'}, {'start': 2400, 'end': 2430, 'rate': 'expensive', 'range': '(36.8p)'}, {'start': 2430, 'end': 2580, 'rate': 'very expensive', 'range': '(37.5p - 45.3p)'}, {'start': 2580, 'end': 2850, 'rate': 'expensive', 'range': '(30.0p - 35.9p)'}, {'start': 2850, 'end': 3635, 'rate': 'cheap', 'range': '(22.3p - 28.2p)'}] export [{'start': 1210, 'end': 3635, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 20:10:06.071456: - Your estimated bill for today is £5.70 and tomorrow is £3.11
2026-08-15 20:10:06.071565: - Import rates are expensive (29.8p - 32.1p) for the next 3 and a quarter hours and then cheap (21.4p - 28.2p) for the next 16 hours.
2026-08-15 20:10:06.071598: - The battery is currently at 92% and is in eco mode for the next 14 hours.
2026-08-15 20:10:06.071629: - For the next 48 hours there will be no solar generation.
2026-08-15 20:10:06.071656: - You will run out of battery in 35 hours.
2026-08-15 20:10:06.071681: - Your next charge slot will be in 14 hours where import rates will be cheap (24.3p).
2026-08-15 20:10:06.071706: 
2026-08-15 20:10:06.183030: Plan calculation took 2.24 seconds
2026-08-15 20:10:06.186786: No high rate period found
2026-08-15 20:10:06.307685: Import threshold used for optimisation was 23.49p
2026-08-15 20:10:06.435672: Low import rate windows [0: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 1: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 2: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 3: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 4: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 5: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 6: 08-15 23:00:00 - 08-15 23:30:00 @ 30.02, 7: 08-15 23:30:00 - 08-16 00:00:00 @ 27.8, 8: 08-16 00:00:00 - 08-16 00:30:00 @ 28.18, 9: 08-16 00:30:00 - 08-16 01:00:00 @ 27.38, 10: 08-16 01:00:00 - 08-16 01:30:00 @ 26.7, 11: 08-16 01:30:00 - 08-16 02:00:00 @ 26.31, 12: 08-16 02:00:00 - 08-16 02:30:00 @ 25.79, 13: 08-16 02:30:00 - 08-16 03:00:00 @ 25.86, 14: 08-16 03:00:00 - 08-16 03:30:00 @ 26.13, 15: 08-16 03:30:00 - 08-16 04:00:00 @ 25.86, 16: 08-16 04:00:00 - 08-16 04:30:00 @ 26.27, 17: 08-16 04:30:00 - 08-16 05:00:00 @ 26.14, 18: 08-16 05:00:00 - 08-16 05:30:00 @ 27.03, 19: 08-16 05:30:00 - 08-16 06:00:00 @ 26.28, 20: 08-16 06:00:00 - 08-16 06:30:00 @ 25.68, 21: 08-16 06:30:00 - 08-16 07:00:00 @ 26.1, 22: 08-16 07:00:00 - 08-16 07:30:00 @ 24.28, 23: 08-16 07:30:00 - 08-16 08:00:00 @ 24.94, 24: 08-16 08:00:00 - 08-16 08:30:00 @ 24.06, 25: 08-16 08:30:00 - 08-16 09:00:00 @ 24.39, 26: 08-16 09:00:00 - 08-16 09:30:00 @ 24.66, 27: 08-16 09:30:00 - 08-16 10:00:00 @ 24.06, 28: 08-16 10:00:00 - 08-16 10:30:00 @ 25.5, 29: 08-16 10:30:00 - 08-16 11:00:00 @ 24.94, 30: 08-16 11:00:00 - 08-16 11:30:00 @ 24.25, 31: 08-16 11:30:00 - 08-16 12:00:00 @ 23.49, 32: 08-16 12:00:00 - 08-16 12:30:00 @ 23.43, 33: 08-16 12:30:00 - 08-16 13:00:00 @ 22.33, 34: 08-16 13:00:00 - 08-16 13:30:00 @ 22.76, 35: 08-16 13:30:00 - 08-16 14:00:00 @ 22.3, 36: 08-16 14:00:00 - 08-16 14:30:00 @ 21.41, 37: 08-16 14:30:00 - 08-16 15:00:00 @ 21.65, 38: 08-16 15:00:00 - 08-16 15:30:00 @ 22.95, 39: 08-16 15:30:00 - 08-16 16:00:00 @ 22.83, 40: 08-16 16:00:00 - 08-16 16:30:00 @ 36.84, 41: 08-16 16:30:00 - 08-16 17:00:00 @ 37.54, 42: 08-16 17:00:00 - 08-16 17:30:00 @ 41.79, 43: 08-16 17:30:00 - 08-16 18:00:00 @ 43.7, 44: 08-16 18:00:00 - 08-16 18:30:00 @ 44.34, 45: 08-16 19:00:00 - 08-16 19:30:00 @ 34.79, 46: 08-16 19:30:00 - 08-16 20:00:00 @ 34.76, 47: 08-16 20:00:00 - 08-16 20:30:00 @ 35.62, 48: 08-16 20:30:00 - 08-16 21:00:00 @ 35.3, 49: 08-16 21:00:00 - 08-16 21:30:00 @ 35.89, 50: 08-16 21:30:00 - 08-16 22:00:00 @ 35.71, 51: 08-16 22:00:00 - 08-16 22:30:00 @ 33.75, 52: 08-16 22:30:00 - 08-16 23:00:00 @ 32.0, 53: 08-16 23:00:00 - 08-16 23:30:00 @ 30.02, 54: 08-16 23:30:00 - 08-17 00:00:00 @ 27.8, 55: 08-17 00:00:00 - 08-17 00:30:00 @ 28.18, 56: 08-17 00:30:00 - 08-17 01:00:00 @ 27.38, 57: 08-17 01:00:00 - 08-17 01:30:00 @ 26.7, 58: 08-17 01:30:00 - 08-17 02:00:00 @ 26.31, 59: 08-17 02:00:00 - 08-17 02:30:00 @ 25.79, 60: 08-17 02:30:00 - 08-17 03:00:00 @ 25.86, 61: 08-17 03:00:00 - 08-17 03:30:00 @ 26.13, 62: 08-17 03:30:00 - 08-17 04:00:00 @ 25.86, 63: 08-17 04:00:00 - 08-17 04:30:00 @ 26.27, 64: 08-17 04:30:00 - 08-17 05:00:00 @ 26.14, 65: 08-17 05:00:00 - 08-17 05:30:00 @ 27.03, 66: 08-17 05:30:00 - 08-17 06:00:00 @ 26.28, 67: 08-17 06:00:00 - 08-17 06:30:00 @ 25.68, 68: 08-17 06:30:00 - 08-17 07:00:00 @ 26.1, 69: 08-17 07:00:00 - 08-17 07:30:00 @ 24.28, 70: 08-17 07:30:00 - 08-17 08:00:00 @ 24.94, 71: 08-17 08:00:00 - 08-17 08:30:00 @ 24.06, 72: 08-17 08:30:00 - 08-17 09:00:00 @ 24.39, 73: 08-17 09:00:00 - 08-17 09:30:00 @ 24.66, 74: 08-17 09:30:00 - 08-17 10:00:00 @ 24.06, 75: 08-17 10:00:00 - 08-17 10:30:00 @ 25.5, 76: 08-17 10:30:00 - 08-17 11:00:00 @ 24.94, 77: 08-17 11:00:00 - 08-17 11:30:00 @ 24.25, 78: 08-17 11:30:00 - 08-17 12:00:00 @ 23.49, 79: 08-17 12:00:00 - 08-17 12:30:00 @ 23.43, 80: 08-17 12:30:00 - 08-17 13:00:00 @ 22.33, 81: 08-17 13:00:00 - 08-17 13:30:00 @ 22.76, 82: 08-17 13:30:00 - 08-17 14:00:00 @ 22.3, 83: 08-17 14:00:00 - 08-17 14:30:00 @ 21.41, 84: 08-17 14:30:00 - 08-17 15:00:00 @ 21.65, 85: 08-17 15:00:00 - 08-17 15:30:00 @ 22.95, 86: 08-17 15:30:00 - 08-17 16:00:00 @ 22.83, 87: 08-17 16:00:00 - 08-17 16:30:00 @ 36.84, 88: 08-17 16:30:00 - 08-17 17:00:00 @ 37.54, 89: 08-17 17:00:00 - 08-17 17:30:00 @ 41.79, 90: 08-17 17:30:00 - 08-17 18:00:00 @ 43.7, 91: 08-17 18:00:00 - 08-17 18:30:00 @ 44.34, 92: 08-17 19:00:00 - 08-17 19:30:00 @ 34.79, 93: 08-17 19:30:00 - 08-17 20:00:00 @ 34.76, 94: 08-17 20:00:00 - 08-17 20:30:00 @ 35.62]
2026-08-15 20:10:06.457653: Inverter 0 Charge window will be: 2026-08-16 11:00:00+01:00 - 2026-08-16 16:00:00+01:00 - current SoC 92%, target 16%
2026-08-15 20:10:06.457965: Inverter 0 disabled charge window while waiting for schedule (now 08-15 20:10:00 target set_window_minutes 30 charge start time 08-16 11:00:00) original inverter start time 08-17 00:00:00
2026-08-15 20:10:06.458137: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 20:10:06.458456: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 20:10:06.458671: No export window planned
2026-08-15 20:10:06.458893: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 20:10:06.459015: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 20:10:06.459769: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 20:10:06.460064: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 20:10:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 20:10:06.460264: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 20:10:06.460466: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 20:10:06.460741: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 20:10:06.460937: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 20:10:06.461150: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 20:10:06.461323: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 20:10:06.461505: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 20:10:06.461718: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 20:10:06.461907: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 20:10:06.462125: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 20:10:06.462324: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 20:10:06.462508: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 20:10:06.462713: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 20:10:06.462906: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 20:10:06.463082: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 20:10:06.463243: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 20:10:06.463350: Inverter 0 count register writes 0
2026-08-15 20:10:06.497208: Will not recompute the plan, it is 5.0 minutes old and max age is 10 minutes
2026-08-15 20:10:06.514368: Total inverter register writes now 826
2026-08-15 20:10:06.577054: Info: Completed run status Demand
2026-08-15 20:10:06.588020: Info: record_status Demand
2026-08-15 20:10:06.603897: Saved current settings to /config/predbat_config.json
2026-08-15 20:10:06.604249: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 20:10:40.959678: ML Predictor: Epoch 16/30: lr=0.00053 huber_loss=0.0071 val_mae=0.0040 kWh val_bias=+0.0007 kWh (+0.9%) combined=0.0027 kWh ema_combined=0.0028 kWh
2026-08-15 20:10:41.770722: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 20:10:41.771177: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 20:10:41.771237: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 20:10:41.771499: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 20:10:41.771633: Note: Inverter does not support discharge freeze - disabled
2026-08-15 20:10:41.771679: Note: Inverter does not support charge freeze - disabled
2026-08-15 20:10:41.771749: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 20:11:14.288029: ML Predictor: Epoch 17/30: lr=0.00048 huber_loss=0.0071 val_mae=0.0038 kWh val_bias=-0.0010 kWh (-1.2%) combined=0.0025 kWh ema_combined=0.0027 kWh
2026-08-15 20:11:44.983693: ML Predictor: Epoch 18/30: lr=0.00043 huber_loss=0.0072 val_mae=0.0037 kWh val_bias=-0.0000 kWh (-0.1%) combined=0.0019 kWh ema_combined=0.0025 kWh
2026-08-15 20:12:17.556072: ML Predictor: Epoch 19/30: lr=0.00038 huber_loss=0.0073 val_mae=0.0036 kWh val_bias=-0.0010 kWh (-1.3%) combined=0.0026 kWh ema_combined=0.0025 kWh
2026-08-15 20:12:42.313938: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 20:12:42.314419: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 20:12:42.314487: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 20:12:42.314729: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 20:12:42.314851: Note: Inverter does not support discharge freeze - disabled
2026-08-15 20:12:42.314891: Note: Inverter does not support charge freeze - disabled
2026-08-15 20:12:42.314912: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 20:12:51.576820: ML Predictor: Epoch 20/30: lr=0.00034 huber_loss=0.0065 val_mae=0.0038 kWh val_bias=-0.0006 kWh (-0.7%) combined=0.0023 kWh ema_combined=0.0024 kWh
2026-08-15 20:13:29.911048: ML Predictor: Epoch 21/30: lr=0.00030 huber_loss=0.0066 val_mae=0.0033 kWh val_bias=+0.0002 kWh (+0.3%) combined=0.0021 kWh ema_combined=0.0023 kWh
2026-08-15 20:14:03.904806: ML Predictor: Epoch 22/30: lr=0.00026 huber_loss=0.0059 val_mae=0.0035 kWh val_bias=-0.0007 kWh (-0.8%) combined=0.0020 kWh ema_combined=0.0022 kWh
2026-08-15 20:14:37.024058: ML Predictor: Epoch 23/30: lr=0.00022 huber_loss=0.0063 val_mae=0.0031 kWh val_bias=-0.0000 kWh (-0.0%) combined=0.0017 kWh ema_combined=0.0021 kWh
2026-08-15 20:14:56.821032: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 20:14:56.821415: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 20:14:56.821490: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 20:14:56.821789: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 20:14:56.821860: Note: Inverter does not support discharge freeze - disabled
2026-08-15 20:14:56.821906: Note: Inverter does not support charge freeze - disabled
2026-08-15 20:14:56.821947: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 20:15:00.999642: --------------- PredBat - update at 2026-08-15 20:15:00+01:00 with clock skew 0 minutes, minutes now 1215
2026-08-15 20:15:01.000684: Saved current settings to /config/predbat_config.json
2026-08-15 20:15:01.000899: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 110.0 minutes
2026-08-15 20:15:01.001094: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.2, latest beta is v8.48.2
2026-08-15 20:15:01.001214: Autoupdate: There is an update pending v8.48.2 PV90 and second pass enabled by default, bug fixes - auto update is off
2026-08-15 20:15:01.033408: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 20:15:01.033575: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 20:15:01.033920: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 20:15:01.034560: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 20:15:01.034741: Predbat mode is set to Control charge & discharge
2026-08-15 20:15:01.379480: Found 21602 load_today datapoints going back 28 days
2026-08-15 20:15:01.379906: Using load_power data to fill gaps in load_today data
2026-08-15 20:15:02.746360: Processing 721 30-minute periods for power integration
2026-08-15 20:15:02.930550: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 20:15:02.930809: Car charging hold False, threshold 6.0kWh
2026-08-15 20:15:02.930963: Current data so far today: load 10.0kWh, import 27.7kWh, export 0.0kWh, PV 0kWh
2026-08-15 20:15:02.948810: Cars: SoC: [9.962]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 20:15:02.949581: Standing charge is set to 49.98p
2026-08-15 20:15:03.042127: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 20:15:03.042313: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 20:15:03.042641: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 575.0 minutes
2026-08-15 20:15:03.043096: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 575.0 minutes
2026-08-15 20:15:03.047998: Loaded 95 datapoints of futurerate analysis
2026-08-15 20:15:03.311616: Predicted future rates: ['08-15 00:00:00 => 28.69 / 20.01', '08-15 01:00:00 => 27.33 / 19.31', '08-15 02:00:00 => 26.31 / 18.8', '08-15 03:00:00 => 25.78 / 18.53', '08-15 04:00:00 => 25.59 / 18.43', '08-15 05:00:00 => 25.75 / 18.51', '08-15 06:00:00 => 25.34 / 18.3', '08-15 07:00:00 => 24.12 / 17.68', '08-15 08:00:00 => 22.82 / 17.01', '08-15 09:00:00 => 21.84 / 16.51', '08-15 10:00:00 => 20.22 / 15.68', '08-15 11:00:00 => 17.8 / 14.45', '08-15 12:00:00 => 16.16 / 13.61', '08-15 13:00:00 => 15.55 / 13.3', '08-15 14:00:00 => 15.14 / 13.09', '08-15 15:00:00 => 15.65 / 13.35', '08-15 16:00:00 => 32.68 / 16.13', '08-15 17:00:00 => 37.81 / 18.75', '08-15 18:00:00 => 42.15 / 20.96', '08-15 19:00:00 => 30.88 / 21.13', '08-15 20:00:00 => 31.43 / 21.41', '08-15 21:00:00 => 31.43 / 21.41', '08-15 22:00:00 => 30.37 / 20.87', '08-15 23:00:00 => 29.16 / 20.25', '08-16 00:00:00 => 28.62 / 19.97', '08-16 01:00:00 => 27.52 / 19.41', '08-16 02:00:00 => 26.55 / 18.92', '08-16 03:00:00 => 26.18 / 18.73', '08-16 04:00:00 => 26.12 / 18.7', '08-16 05:00:00 => 26.02 / 18.65', '08-16 06:00:00 => 25.78 / 18.53', '08-16 07:00:00 => 25.43 / 18.35', '08-16 08:00:00 => 24.63 / 17.94', '08-16 09:00:00 => 24.05 / 17.64', '08-16 10:00:00 => 24.59 / 17.92', '08-16 11:00:00 => 24.5 / 17.87', '08-16 12:00:00 => 23.58 / 17.4', '08-16 13:00:00 => 22.93 / 17.07', '08-16 14:00:00 => 21.8 / 16.49', '08-16 15:00:00 => 21.8 / 16.49', '08-16 16:00:00 => 36.93 / 18.3', '08-16 17:00:00 => 39.92 / 19.83', '08-16 18:00:00 => 43.98 / 21.9', '08-16 19:00:00 => 32.83 / 22.13']
2026-08-15 20:15:03.371848: Rate min forward looking: now 21.41p at end of forecast 21.41p
2026-08-15 20:15:03.372612: Import rates: min 21.41p, max 45.28p, average 28.55p
2026-08-15 20:15:03.424592: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 20:15:03.424994: Rate thresholds (for charge/export) are import 44.78p (0.0p), export -0.1p (0.0p)
2026-08-15 20:15:03.426620: High export rate found rates in range 99p to -99p
2026-08-15 20:15:03.558697: Low Import rate found rates in range 21.41p to 44.34p
2026-08-15 20:15:03.558983: Car 0 charging is not planned as it is not plugged in
2026-08-15 20:15:03.575076: Battery level now 14.72kWh, -1hr ago 15.04kWh, at midnight 1.66kWh, battery value change in the last hour -5.89p, change today 240.29p, rate_forward 18.39p
2026-08-15 20:15:03.575592: Last hour: net energy 0.0kWh, import 0.0kWh, export 0.0kWh, car 0kWh, load 0.4kWh, net cost 0.0p, import 0.0p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 20:15:03.661298: Today's energy total net 27.7kWh, import 27.7kWh, export 0.0kWh, cost 570.18p, import 520.2p, export 0.0p, carbon 0.0kg
2026-08-15 20:15:03.661662: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 20:15:03.925297: Using weighted-bucket historical load forecast over 14 days
2026-08-15 20:15:03.970910: Today's load divergence 84.36%, in-day adjustment 94.3%, damping 0.95x, yesterday 143.77% today 85.14% blend 15.62%
2026-08-15 20:15:03.971031: Today's predicted so far 12.09kWh with 0.0kWh car/iBoost excluded, 20.9kWh import ignored, and 12.09kWh forecast extra.
2026-08-15 20:15:03.971060: Today's actual load so far 10.04kWh with 0.0kWh car/iBoost excluded, and 20.9kWh import ignored.
2026-08-15 20:15:04.019515: Inverter 0: Type SK Sunsynk
2026-08-15 20:15:04.019619: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 20:15:04.019801: Reserve min: 7%, battery_min: 7%
2026-08-15 20:15:04.019877: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 20:15:04.020167: Inverter 0 SoC: 14.72kW 92%, current charge rate 5000W, current discharge rate 5250W, current battery power 232W, current battery voltage 51.2V, grid power -55W, load power 295W, PV Power 0W
2026-08-15 20:15:04.020333: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 20:15:04.020429: Inverter 0 scheduled charge enable is False
2026-08-15 20:15:04.020464: Inverter 0 charge windows currently []
2026-08-15 20:15:04.020513: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 20:15:04.020646: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 20:15:04.020687: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 20:15:04.020725: Inverter 0 scheduled discharge enable is False
2026-08-15 20:15:04.020852: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 20:15:04.020891: Inverter 0 discharge windows currently []
2026-08-15 20:15:04.020913: Note: Inverter does not support discharge freeze - disabled
2026-08-15 20:15:04.020932: Note: Inverter does not support charge freeze - disabled
2026-08-15 20:15:04.020981: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 20:15:04.146363: Dynamic load last period 0.60kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 20:15:04.146501: Plan was last updated on 2026-08-15 20:05:00+01:00 and is now 10.0 minutes old
2026-08-15 20:15:04.146794: Best charge window [ 16-08 11:00:00 - 16-08 12:30:00 @ 23.65p 16%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 31%, 16-08 13:30:00 - 16-08 15:00:00 @ 21.91p 100%, 16-08 15:00:00 - 16-08 16:00:00 @ 22.89p 75%, 17-08 12:30:00 - 17-08 18:00:00 @ 40.7p 100% ]
2026-08-15 20:15:04.146838: Best export window [  ]
2026-08-15 20:15:04.147694: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 20:15:04.151084: Load divergence over 8.0 hours mean 812.17W, min 384.0W, max 2127.6W, std dev 433.85W, divergence 26.71%
2026-08-15 20:15:04.189397: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 20:15:04.189684: LoadML is_calculating True
2026-08-15 20:15:04.189791: Not using thread pool as LoadML is calculating to avoid lockups
2026-08-15 20:15:04.251359: predict base end_record 08-17 12:40:00, final soc 1.12kWh, metric 1082.95p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 15:10:00, load 36.68kWh, PV 0.0kWh
2026-08-15 20:15:04.521025: Battery has 18.92 hours left - now at 14.72kWh
2026-08-15 20:15:04.632473: predict base10 end_record 08-17 12:40:00, final soc 1.12kWh, metric 1115.89p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 14:15:00, load 37.95kWh, PV 0.0kWh
2026-08-15 20:15:04.745444: predict best10 end_record 08-17 12:40:00, final soc 1.77kWh, metric 1062.61p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 06:05:00, load 37.95kWh, PV 0.0kWh
2026-08-15 20:15:04.867020: predict best end_record 08-17 12:40:00, final soc 1.9kWh, metric 1032.43p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 07:10:00, load 36.68kWh, PV 0.0kWh
2026-08-15 20:15:04.867254: Saving plan best values to HA entities
2026-08-15 20:15:05.232469: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 20:15:05.240093: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 20:15:05.247558: Best charging limit SoC's [2.5, 5.0, 16.0, 12.0, 16.0]kWh, export []kWh gives import battery 12.82kWh, house 3.3kWh, export 0.0kWh, metric 1032.43p, metric10 1062.61p
2026-08-15 20:15:05.351280: Marginal costs baseline metric (no standing charge): 932.4625
2026-08-15 20:15:05.873341: Marginal energy costs matrix computed: min=24.28 max=28.59
2026-08-15 20:15:06.127508: Rate array import [{'start': 1215, 'end': 1410, 'rate': 'expensive', 'range': '(29.8p - 32.1p)'}, {'start': 1410, 'end': 2400, 'rate': 'cheap', 'range': '(21.4p - 28.2p)'}, {'start': 2400, 'end': 2430, 'rate': 'expensive', 'range': '(36.8p)'}, {'start': 2430, 'end': 2580, 'rate': 'very expensive', 'range': '(37.5p - 45.3p)'}, {'start': 2580, 'end': 2850, 'rate': 'expensive', 'range': '(30.0p - 35.9p)'}, {'start': 2850, 'end': 3640, 'rate': 'cheap', 'range': '(22.3p - 28.2p)'}] export [{'start': 1215, 'end': 3640, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 20:15:06.128606: - Your estimated bill for today is £5.70 and tomorrow is £3.10
2026-08-15 20:15:06.128664: - Import rates are expensive (29.8p - 32.1p) for the next 3 and a quarter hours and then cheap (21.4p - 28.2p) for the next 16 hours.
2026-08-15 20:15:06.128693: - The battery is currently at 92% and is in eco mode for the next 14 hours.
2026-08-15 20:15:06.130216: - For the next 48 hours there will be no solar generation.
2026-08-15 20:15:06.130292: - You will run out of battery in 34 hours.
2026-08-15 20:15:06.130321: - Your next charge slot will be in 14 hours where import rates will be cheap (24.3p).
2026-08-15 20:15:06.130461: 
2026-08-15 20:15:06.296416: Plan calculation took 2.15 seconds
2026-08-15 20:15:06.300724: No high rate period found
2026-08-15 20:15:06.499453: Import threshold used for optimisation was 23.49p
2026-08-15 20:15:06.650526: Low import rate windows [0: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 1: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 2: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 3: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 4: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 5: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 6: 08-15 23:00:00 - 08-15 23:30:00 @ 30.02, 7: 08-15 23:30:00 - 08-16 00:00:00 @ 27.8, 8: 08-16 00:00:00 - 08-16 00:30:00 @ 28.18, 9: 08-16 00:30:00 - 08-16 01:00:00 @ 27.38, 10: 08-16 01:00:00 - 08-16 01:30:00 @ 26.7, 11: 08-16 01:30:00 - 08-16 02:00:00 @ 26.31, 12: 08-16 02:00:00 - 08-16 02:30:00 @ 25.79, 13: 08-16 02:30:00 - 08-16 03:00:00 @ 25.86, 14: 08-16 03:00:00 - 08-16 03:30:00 @ 26.13, 15: 08-16 03:30:00 - 08-16 04:00:00 @ 25.86, 16: 08-16 04:00:00 - 08-16 04:30:00 @ 26.27, 17: 08-16 04:30:00 - 08-16 05:00:00 @ 26.14, 18: 08-16 05:00:00 - 08-16 05:30:00 @ 27.03, 19: 08-16 05:30:00 - 08-16 06:00:00 @ 26.28, 20: 08-16 06:00:00 - 08-16 06:30:00 @ 25.68, 21: 08-16 06:30:00 - 08-16 07:00:00 @ 26.1, 22: 08-16 07:00:00 - 08-16 07:30:00 @ 24.28, 23: 08-16 07:30:00 - 08-16 08:00:00 @ 24.94, 24: 08-16 08:00:00 - 08-16 08:30:00 @ 24.06, 25: 08-16 08:30:00 - 08-16 09:00:00 @ 24.39, 26: 08-16 09:00:00 - 08-16 09:30:00 @ 24.66, 27: 08-16 09:30:00 - 08-16 10:00:00 @ 24.06, 28: 08-16 10:00:00 - 08-16 10:30:00 @ 25.5, 29: 08-16 10:30:00 - 08-16 11:00:00 @ 24.94, 30: 08-16 11:00:00 - 08-16 11:30:00 @ 24.25, 31: 08-16 11:30:00 - 08-16 12:00:00 @ 23.49, 32: 08-16 12:00:00 - 08-16 12:30:00 @ 23.43, 33: 08-16 12:30:00 - 08-16 13:00:00 @ 22.33, 34: 08-16 13:00:00 - 08-16 13:30:00 @ 22.76, 35: 08-16 13:30:00 - 08-16 14:00:00 @ 22.3, 36: 08-16 14:00:00 - 08-16 14:30:00 @ 21.41, 37: 08-16 14:30:00 - 08-16 15:00:00 @ 21.65, 38: 08-16 15:00:00 - 08-16 15:30:00 @ 22.95, 39: 08-16 15:30:00 - 08-16 16:00:00 @ 22.83, 40: 08-16 16:00:00 - 08-16 16:30:00 @ 36.84, 41: 08-16 16:30:00 - 08-16 17:00:00 @ 37.54, 42: 08-16 17:00:00 - 08-16 17:30:00 @ 41.79, 43: 08-16 17:30:00 - 08-16 18:00:00 @ 43.7, 44: 08-16 18:00:00 - 08-16 18:30:00 @ 44.34, 45: 08-16 19:00:00 - 08-16 19:30:00 @ 34.79, 46: 08-16 19:30:00 - 08-16 20:00:00 @ 34.76, 47: 08-16 20:00:00 - 08-16 20:30:00 @ 35.62, 48: 08-16 20:30:00 - 08-16 21:00:00 @ 35.3, 49: 08-16 21:00:00 - 08-16 21:30:00 @ 35.89, 50: 08-16 21:30:00 - 08-16 22:00:00 @ 35.71, 51: 08-16 22:00:00 - 08-16 22:30:00 @ 33.75, 52: 08-16 22:30:00 - 08-16 23:00:00 @ 32.0, 53: 08-16 23:00:00 - 08-16 23:30:00 @ 30.02, 54: 08-16 23:30:00 - 08-17 00:00:00 @ 27.8, 55: 08-17 00:00:00 - 08-17 00:30:00 @ 28.18, 56: 08-17 00:30:00 - 08-17 01:00:00 @ 27.38, 57: 08-17 01:00:00 - 08-17 01:30:00 @ 26.7, 58: 08-17 01:30:00 - 08-17 02:00:00 @ 26.31, 59: 08-17 02:00:00 - 08-17 02:30:00 @ 25.79, 60: 08-17 02:30:00 - 08-17 03:00:00 @ 25.86, 61: 08-17 03:00:00 - 08-17 03:30:00 @ 26.13, 62: 08-17 03:30:00 - 08-17 04:00:00 @ 25.86, 63: 08-17 04:00:00 - 08-17 04:30:00 @ 26.27, 64: 08-17 04:30:00 - 08-17 05:00:00 @ 26.14, 65: 08-17 05:00:00 - 08-17 05:30:00 @ 27.03, 66: 08-17 05:30:00 - 08-17 06:00:00 @ 26.28, 67: 08-17 06:00:00 - 08-17 06:30:00 @ 25.68, 68: 08-17 06:30:00 - 08-17 07:00:00 @ 26.1, 69: 08-17 07:00:00 - 08-17 07:30:00 @ 24.28, 70: 08-17 07:30:00 - 08-17 08:00:00 @ 24.94, 71: 08-17 08:00:00 - 08-17 08:30:00 @ 24.06, 72: 08-17 08:30:00 - 08-17 09:00:00 @ 24.39, 73: 08-17 09:00:00 - 08-17 09:30:00 @ 24.66, 74: 08-17 09:30:00 - 08-17 10:00:00 @ 24.06, 75: 08-17 10:00:00 - 08-17 10:30:00 @ 25.5, 76: 08-17 10:30:00 - 08-17 11:00:00 @ 24.94, 77: 08-17 11:00:00 - 08-17 11:30:00 @ 24.25, 78: 08-17 11:30:00 - 08-17 12:00:00 @ 23.49, 79: 08-17 12:00:00 - 08-17 12:30:00 @ 23.43, 80: 08-17 12:30:00 - 08-17 13:00:00 @ 22.33, 81: 08-17 13:00:00 - 08-17 13:30:00 @ 22.76, 82: 08-17 13:30:00 - 08-17 14:00:00 @ 22.3, 83: 08-17 14:00:00 - 08-17 14:30:00 @ 21.41, 84: 08-17 14:30:00 - 08-17 15:00:00 @ 21.65, 85: 08-17 15:00:00 - 08-17 15:30:00 @ 22.95, 86: 08-17 15:30:00 - 08-17 16:00:00 @ 22.83, 87: 08-17 16:00:00 - 08-17 16:30:00 @ 36.84, 88: 08-17 16:30:00 - 08-17 17:00:00 @ 37.54, 89: 08-17 17:00:00 - 08-17 17:30:00 @ 41.79, 90: 08-17 17:30:00 - 08-17 18:00:00 @ 43.7, 91: 08-17 18:00:00 - 08-17 18:30:00 @ 44.34, 92: 08-17 19:00:00 - 08-17 19:30:00 @ 34.79, 93: 08-17 19:30:00 - 08-17 20:00:00 @ 34.76, 94: 08-17 20:00:00 - 08-17 20:30:00 @ 35.62]
2026-08-15 20:15:06.705179: Inverter 0 Charge window will be: 2026-08-16 11:00:00+01:00 - 2026-08-16 16:00:00+01:00 - current SoC 92%, target 16%
2026-08-15 20:15:06.705494: Inverter 0 disabled charge window while waiting for schedule (now 08-15 20:15:00 target set_window_minutes 30 charge start time 08-16 11:00:00) original inverter start time 08-17 00:00:00
2026-08-15 20:15:06.705724: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 20:15:06.706077: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 20:15:06.710338: No export window planned
2026-08-15 20:15:06.710666: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 20:15:06.713892: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 20:15:06.714187: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 20:15:06.714402: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 20:15:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 20:15:06.714475: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 20:15:06.716142: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 20:15:06.716319: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 20:15:06.716373: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 20:15:06.716412: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 20:15:06.716446: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 20:15:06.716479: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 20:15:06.716519: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 20:15:06.716581: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 20:15:06.716665: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 20:15:06.716711: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 20:15:06.716744: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 20:15:06.716776: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 20:15:06.716841: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 20:15:06.716875: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 20:15:06.716929: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 20:15:06.717019: Inverter 0 count register writes 0
2026-08-15 20:15:06.789846: Will recompute the plan as it is now 10.0 minutes old and will exceed the max age of 10 minutes before the next run
2026-08-15 20:15:06.790228: Recompute is saving previous plan...
2026-08-15 20:15:06.795264: Best charge window [ 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 0%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 0%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 30.02p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 27.8p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.18p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.38p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 26.7p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.31p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.79p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 25.86p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.13p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 25.86p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.27p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.14p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 27.03p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.28p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.68p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 26.1p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 24.28p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 24.94p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.06p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.39p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.66p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.06p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 25.5p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 24.94p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 24.25p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 23.49p 0%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.43p 0%, 16-08 12:30:00 - 16-08 13:00:00 @ 22.33p 0%, 16-08 13:00:00 - 16-08 13:30:00 @ 22.76p 0%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 0%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 0%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.65p 0%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.95p 0%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.83p 0%, 16-08 16:00:00 - 16-08 16:30:00 @ 36.84p 0%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.54p 0%, 16-08 17:00:00 - 16-08 17:30:00 @ 41.79p 0%, 16-08 17:30:00 - 16-08 18:00:00 @ 43.7p 0%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.34p 0%, 16-08 19:00:00 - 16-08 19:30:00 @ 34.79p 0%, 16-08 19:30:00 - 16-08 20:00:00 @ 34.76p 0%, 16-08 20:00:00 - 16-08 20:30:00 @ 35.62p 0%, 16-08 20:30:00 - 16-08 21:00:00 @ 35.3p 0%, 16-08 21:00:00 - 16-08 21:30:00 @ 35.89p 0%, 16-08 21:30:00 - 16-08 22:00:00 @ 35.71p 0%, 16-08 22:00:00 - 16-08 22:30:00 @ 33.75p 0%, 16-08 22:30:00 - 16-08 23:00:00 @ 32.0p 0%, 16-08 23:00:00 - 16-08 23:30:00 @ 30.02p 0%, 16-08 23:30:00 - 17-08 00:00:00 @ 27.8p 0%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.18p 0%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.38p 0%, 17-08 01:00:00 - 17-08 01:30:00 @ 26.7p 0%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.31p 0%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.79p 0%, 17-08 02:30:00 - 17-08 03:00:00 @ 25.86p 0%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.13p 0%, 17-08 03:30:00 - 17-08 04:00:00 @ 25.86p 0%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.27p 0%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.14p 0%, 17-08 05:00:00 - 17-08 05:30:00 @ 27.03p 0%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.28p 0%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.68p 0%, 17-08 06:30:00 - 17-08 07:00:00 @ 26.1p 0%, 17-08 07:00:00 - 17-08 07:30:00 @ 24.28p 0%, 17-08 07:30:00 - 17-08 08:00:00 @ 24.94p 0%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.06p 0%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.39p 0%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.66p 0%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.06p 0%, 17-08 10:00:00 - 17-08 10:30:00 @ 25.5p 0%, 17-08 10:30:00 - 17-08 11:00:00 @ 24.94p 0%, 17-08 11:00:00 - 17-08 11:30:00 @ 24.25p 0%, 17-08 11:30:00 - 17-08 12:00:00 @ 23.49p 0%, 17-08 12:00:00 - 17-08 12:30:00 @ 23.43p 0%, 17-08 12:30:00 - 17-08 13:00:00 @ 22.33p 0%, 17-08 13:00:00 - 17-08 13:30:00 @ 22.76p 0%, 17-08 13:30:00 - 17-08 14:00:00 @ 22.3p 0%, 17-08 14:00:00 - 17-08 14:30:00 @ 21.41p 0%, 17-08 14:30:00 - 17-08 15:00:00 @ 21.65p 0%, 17-08 15:00:00 - 17-08 15:30:00 @ 22.95p 0%, 17-08 15:30:00 - 17-08 16:00:00 @ 22.83p 0%, 17-08 16:00:00 - 17-08 16:30:00 @ 36.84p 0%, 17-08 16:30:00 - 17-08 17:00:00 @ 37.54p 0%, 17-08 17:00:00 - 17-08 17:30:00 @ 41.79p 0%, 17-08 17:30:00 - 17-08 18:00:00 @ 43.7p 0%, 17-08 18:00:00 - 17-08 18:30:00 @ 44.34p 0%, 17-08 19:00:00 - 17-08 19:30:00 @ 34.79p 0%, 17-08 19:30:00 - 17-08 20:00:00 @ 34.76p 0%, 17-08 20:00:00 - 17-08 20:30:00 @ 35.62p 0% ]
2026-08-15 20:15:06.795506: Best export window [  ]
2026-08-15 20:15:06.796936: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 20:15:06.802076: Load divergence over 8.0 hours mean 812.17W, min 384.0W, max 2127.6W, std dev 433.85W, divergence 26.71%
2026-08-15 20:15:06.866022: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 20:15:06.868060: LoadML is_calculating True
2026-08-15 20:15:06.868260: Not using thread pool as LoadML is calculating to avoid lockups
2026-08-15 20:15:06.897145: Calculate Best options: mode(Control charge & discharge), calculate_export_oncharge(False), calculate_export_on_pv(True), set_export_freeze_only(False), set_discharge_during_charge(True), combine_charge_slots(False), combine_export_slots(False), combine_rate_threshold(0.0), best_soc_min(0.0 kWh), best_soc_max(0.0 kWh), best_soc_keep(0.0 kWh), inverter_loss(4%), battery_loss(3%), battery_loss_discharge (3%), inverter_hybrid(True), metric_min_improvement(0.0p), metric_min_improvement_export(0.1p), metric_min_improvement_export_freeze(0.1p), metric_battery_cycle(0.0p/kWh), metric_battery_value_scaling(1.0 x) 
2026-08-15 20:15:06.899600: Optimise levels pass started at 2026-08-15 20:15:06
2026-08-15 20:15:06.913055: Optimise all windows, total charge 94 export 1
2026-08-15 20:15:11.959749: >> Region optimisation pass width 960 gives best_metric 1019.71p, best_cost 1059.54p, best_cycle 39.85kWh, best_import 21.94kWh
2026-08-15 20:15:12.988067: >> Region optimisation pass width 480 gives best_metric 1019.71p, best_cost 1059.54p, best_cycle 39.85kWh, best_import 21.94kWh
2026-08-15 20:15:14.354265: >> Region optimisation pass width 240 gives best_metric 1019.71p, best_cost 1059.54p, best_cycle 39.85kWh, best_import 21.94kWh
2026-08-15 20:15:14.570892: ML Predictor: Epoch 24/30: lr=0.00019 huber_loss=0.0058 val_mae=0.0032 kWh val_bias=+0.0000 kWh (+0.1%) combined=0.0020 kWh ema_combined=0.0020 kWh
2026-08-15 20:15:17.914327: >> Region optimisation pass width 120 gives best_metric 1019.71p, best_cost 1059.54p, best_cycle 39.85kWh, best_import 21.94kWh
2026-08-15 20:15:17.914775: Calculated end_record as 08-17 12:30:00 based on best_price 22.33p, next_charge_start 08-16 12:30:00, max_windows 80
2026-08-15 20:15:17.914843: Optimise levels pass ended at 2026-08-15 20:15:17, duration 11.0 seconds tried 303 combinations
2026-08-15 20:15:17.914890: Set best_price_charge_level 24.0p, best_price_export_level 0p, best_price_charge 22.33p, best_cost_export 0p, best_metric 1019.71p, best_keep 0kWh, best_cycle 39.85kWh, best_carbon 0kg, best_import 21.94kWh
2026-08-15 20:15:17.938879: Starting detailed optimisation end_record 08-17 12:30:00, best_price_charge 22.33p, best_price_export 0p. lowest_price_charge 21.41p with charge limits [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 0, 16.0, 16.0, 16.0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0]kWh and export limits []kWh
2026-08-15 20:15:50.992801: Tweak plan optimisation started metric 893.81p, cost 909.4p
2026-08-15 20:15:53.425326: Tweak optimisation finished metric 893.81p, cost 909.4p, metric_keep 0kWh, cycle 29.78kWh, carbon 0kg, import 15.06kWh, changed 8 window(s)
2026-08-15 20:15:53.491061: Swap charge optimisation started metric 893.81p, cost 909.4p, min_improvement_swap 0.1p
2026-08-15 20:16:06.146326: Swap charge optimisation finished metric 893.81p, cost 909.4p
2026-08-15 20:16:06.296475: Raw charge windows [ 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 0%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 0%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 30.02p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 27.8p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.18p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.38p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 26.7p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.31p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.79p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 25.86p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.13p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 25.86p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.27p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.14p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 27.03p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.28p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.68p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 26.1p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 24.28p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 24.94p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.06p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.39p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.66p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.06p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 25.5p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 24.94p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 24.25p 28%, 16-08 11:30:00 - 16-08 12:00:00 @ 23.49p 28%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.43p 0%, 16-08 12:30:00 - 16-08 13:00:00 @ 22.33p 34%, 16-08 13:00:00 - 16-08 13:30:00 @ 22.76p 34%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 100%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 100%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.65p 100%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.95p 78%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.83p 78%, 16-08 16:00:00 - 16-08 16:30:00 @ 36.84p 0%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.54p 0%, 16-08 17:00:00 - 16-08 17:30:00 @ 41.79p 0%, 16-08 17:30:00 - 16-08 18:00:00 @ 43.7p 0%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.34p 0%, 16-08 19:00:00 - 16-08 19:30:00 @ 34.79p 0%, 16-08 19:30:00 - 16-08 20:00:00 @ 34.76p 0%, 16-08 20:00:00 - 16-08 20:30:00 @ 35.62p 0%, 16-08 20:30:00 - 16-08 21:00:00 @ 35.3p 0%, 16-08 21:00:00 - 16-08 21:30:00 @ 35.89p 0%, 16-08 21:30:00 - 16-08 22:00:00 @ 35.71p 0%, 16-08 22:00:00 - 16-08 22:30:00 @ 33.75p 0%, 16-08 22:30:00 - 16-08 23:00:00 @ 32.0p 0%, 16-08 23:00:00 - 16-08 23:30:00 @ 30.02p 0%, 16-08 23:30:00 - 17-08 00:00:00 @ 27.8p 0%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.18p 0%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.38p 0%, 17-08 01:00:00 - 17-08 01:30:00 @ 26.7p 0%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.31p 0%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.79p 0%, 17-08 02:30:00 - 17-08 03:00:00 @ 25.86p 0%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.13p 0%, 17-08 03:30:00 - 17-08 04:00:00 @ 25.86p 0%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.27p 0%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.14p 0%, 17-08 05:00:00 - 17-08 05:30:00 @ 27.03p 0%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.28p 0%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.68p 0%, 17-08 06:30:00 - 17-08 07:00:00 @ 26.1p 0%, 17-08 07:00:00 - 17-08 07:30:00 @ 24.28p 0%, 17-08 07:30:00 - 17-08 08:00:00 @ 24.94p 0%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.06p 0%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.39p 0%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.66p 0%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.06p 0%, 17-08 10:00:00 - 17-08 10:30:00 @ 25.5p 0%, 17-08 10:30:00 - 17-08 11:00:00 @ 24.94p 0%, 17-08 11:00:00 - 17-08 11:30:00 @ 24.25p 0%, 17-08 11:30:00 - 17-08 12:00:00 @ 23.49p 0%, 17-08 12:00:00 - 17-08 12:30:00 @ 23.43p 0%, 17-08 12:30:00 - 17-08 13:00:00 @ 22.33p 100%, 17-08 13:00:00 - 17-08 13:30:00 @ 22.76p 100%, 17-08 13:30:00 - 17-08 14:00:00 @ 22.3p 100%, 17-08 14:00:00 - 17-08 14:30:00 @ 21.41p 100%, 17-08 14:30:00 - 17-08 15:00:00 @ 21.65p 100%, 17-08 15:00:00 - 17-08 15:30:00 @ 22.95p 100%, 17-08 15:30:00 - 17-08 16:00:00 @ 22.83p 100%, 17-08 16:00:00 - 17-08 16:30:00 @ 36.84p 100%, 17-08 16:30:00 - 17-08 17:00:00 @ 37.54p 100%, 17-08 17:00:00 - 17-08 17:30:00 @ 41.79p 100%, 17-08 17:30:00 - 17-08 18:00:00 @ 43.7p 100%, 17-08 18:00:00 - 17-08 18:30:00 @ 44.34p 100%, 17-08 19:00:00 - 17-08 19:30:00 @ 34.79p 100%, 17-08 19:30:00 - 17-08 20:00:00 @ 34.76p 100%, 17-08 20:00:00 - 17-08 20:30:00 @ 35.62p 100% ] reserve 1.12
2026-08-15 20:16:06.297452: Unclipped charge windows [ 16-08 11:00:00 - 16-08 12:00:00 @ 23.87p 28%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 34%, 16-08 13:30:00 - 16-08 15:00:00 @ 21.75p 100%, 16-08 15:00:00 - 16-08 16:00:00 @ 22.89p 78%, 17-08 12:30:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 17-08 20:30:00 @ 35.2p 100% ] reserve 1.12
2026-08-15 20:16:06.297888: Unfiltered charge windows [ 16-08 11:00:00 - 16-08 12:00:00 @ 23.87p 28%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 34%, 16-08 13:30:00 - 16-08 15:00:00 @ 21.75p 100%, 16-08 15:00:00 - 16-08 16:00:00 @ 22.89p 78%, 17-08 12:30:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 17-08 20:30:00 @ 35.2p 100% ] reserve 1.12
2026-08-15 20:16:06.298324: Filtered charge windows [ 16-08 11:00:00 - 16-08 12:00:00 @ 23.87p 28%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 34%, 16-08 13:30:00 - 16-08 15:00:00 @ 21.75p 100%, 16-08 15:00:00 - 16-08 16:00:00 @ 22.89p 78%, 17-08 12:30:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 17-08 20:30:00 @ 35.2p 100% ] reserve 1.12
2026-08-15 20:16:06.403674: Previous plan best metric is 895.08 (cost 910.71) and new plan best metric is 893.81 (cost 909.4)
2026-08-15 20:16:06.403992: New plan metric is not significantly better (metric_min_improvement_plan 2.0) than previous plan, using previous plan
2026-08-15 20:16:06.404302: Plan valid is now true after recompute was False
2026-08-15 20:16:06.496477: predict base end_record 08-17 12:30:00, final soc 1.12kWh, metric 1079.81p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 15:10:00, load 36.54kWh, PV 0.0kWh
2026-08-15 20:16:06.777278: Battery has 18.92 hours left - now at 14.72kWh
2026-08-15 20:16:06.847042: predict base10 end_record 08-17 12:30:00, final soc 1.12kWh, metric 1112.59p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 14:15:00, load 37.81kWh, PV 0.0kWh
2026-08-15 20:16:06.994746: predict best10 end_record 08-17 12:30:00, final soc 1.12kWh, metric 1043.81p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 06:05:00, load 37.81kWh, PV 0.0kWh
2026-08-15 20:16:07.229765: predict best end_record 08-17 12:30:00, final soc 1.12kWh, metric 1010.68p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 07:10:00, load 36.54kWh, PV 0.0kWh
2026-08-15 20:16:07.229889: Saving plan best values to HA entities
2026-08-15 20:16:07.625223: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 20:16:07.644195: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 20:16:07.673255: Best charging limit SoC's [2.5, 5.0, 16.0, 12.0, 16.0]kWh, export []kWh gives import battery 11.84kWh, house 3.3kWh, export 0.0kWh, metric 1010.68p, metric10 1043.81p
2026-08-15 20:16:07.828918: Marginal costs baseline metric (no standing charge): 910.709
2026-08-15 20:16:08.303342: Marginal energy costs matrix computed: min=24.28 max=28.59
2026-08-15 20:16:08.553224: Rate array import [{'start': 1215, 'end': 1410, 'rate': 'expensive', 'range': '(29.8p - 32.1p)'}, {'start': 1410, 'end': 2400, 'rate': 'cheap', 'range': '(21.4p - 28.2p)'}, {'start': 2400, 'end': 2430, 'rate': 'expensive', 'range': '(36.8p)'}, {'start': 2430, 'end': 2580, 'rate': 'very expensive', 'range': '(37.5p - 45.3p)'}, {'start': 2580, 'end': 2850, 'rate': 'expensive', 'range': '(30.0p - 35.9p)'}, {'start': 2850, 'end': 3630, 'rate': 'cheap', 'range': '(23.4p - 28.2p)'}] export [{'start': 1215, 'end': 3630, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 20:16:08.554366: - Your estimated bill for today is £5.70 and tomorrow is £3.10
2026-08-15 20:16:08.554523: - Import rates are expensive (29.8p - 32.1p) for the next 3 and a quarter hours and then cheap (21.4p - 28.2p) for the next 16 hours.
2026-08-15 20:16:08.554592: - The battery is currently at 92% and is in eco mode for the next 14 hours.
2026-08-15 20:16:08.554675: - For the next 48 hours there will be no solar generation.
2026-08-15 20:16:08.554715: - You will run out of battery in 34 hours.
2026-08-15 20:16:08.554776: - Your next charge slot will be in 14 hours where import rates will be cheap (24.3p).
2026-08-15 20:16:08.554815: 
2026-08-15 20:16:08.665323: Plan calculation took 61.88 seconds
2026-08-15 20:16:08.665730: Inverter 0: Type SK Sunsynk
2026-08-15 20:16:08.665861: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 20:16:08.666094: Reserve min: 7%, battery_min: 7%
2026-08-15 20:16:08.666222: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 20:16:08.666580: Inverter 0 SoC: 14.72kW 92%, current charge rate 5000W, current discharge rate 5250W, current battery power 251W, current battery voltage 51.2V, grid power -55W, load power 312W, PV Power 0W
2026-08-15 20:16:08.666851: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 20:16:08.667045: Inverter 0 scheduled charge enable is False
2026-08-15 20:16:08.667090: Inverter 0 charge windows currently []
2026-08-15 20:16:08.667120: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 20:16:08.667273: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 20:16:08.667316: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 20:16:08.667361: Inverter 0 scheduled discharge enable is False
2026-08-15 20:16:08.667598: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 20:16:08.667661: Inverter 0 discharge windows currently []
2026-08-15 20:16:08.667701: Note: Inverter does not support discharge freeze - disabled
2026-08-15 20:16:08.667744: Note: Inverter does not support charge freeze - disabled
2026-08-15 20:16:08.667776: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 20:16:08.839938: Inverter 0 Charge window will be: 2026-08-16 11:00:00+01:00 - 2026-08-16 16:00:00+01:00 - current SoC 92%, target 16%
2026-08-15 20:16:08.840354: Inverter 0 disabled charge window while waiting for schedule (now 08-15 20:15:00 target set_window_minutes 30 charge start time 08-16 11:00:00) original inverter start time 08-17 00:00:00
2026-08-15 20:16:08.840507: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 20:16:08.840970: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 20:16:08.841197: No export window planned
2026-08-15 20:16:08.841455: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 20:16:08.841582: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 20:16:08.841935: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 20:16:08.842248: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 20:15:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 20:16:08.842380: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 20:16:08.842592: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 20:16:08.842890: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 20:16:08.843021: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 20:16:08.843176: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 20:16:08.843288: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 20:16:08.843433: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 20:16:08.843593: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 20:16:08.843742: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 20:16:08.843975: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 20:16:08.844105: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 20:16:08.844231: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 20:16:08.844342: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 20:16:08.844474: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 20:16:08.844598: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 20:16:08.844748: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 20:16:08.844881: Inverter 0 count register writes 0
2026-08-15 20:16:08.940837: Total inverter register writes now 826
2026-08-15 20:16:09.034055: Info: Completed run status Demand
2026-08-15 20:16:09.044654: Info: record_status Demand
2026-08-15 20:16:09.054749: Saved current settings to /config/predbat_config.json
2026-08-15 20:16:09.055070: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 20:16:17.950258: ML Predictor: Epoch 25/30: lr=0.00016 huber_loss=0.0057 val_mae=0.0034 kWh val_bias=-0.0015 kWh (-1.9%) combined=0.0029 kWh ema_combined=0.0023 kWh
2026-08-15 20:16:42.212331: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 20:16:42.212601: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 20:16:42.212648: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 20:16:42.212840: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 20:16:42.212904: Note: Inverter does not support discharge freeze - disabled
2026-08-15 20:16:42.212927: Note: Inverter does not support charge freeze - disabled
2026-08-15 20:16:42.212988: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 20:16:50.091190: ML Predictor: Epoch 26/30: lr=0.00014 huber_loss=0.0057 val_mae=0.0031 kWh val_bias=-0.0005 kWh (-0.6%) combined=0.0017 kWh ema_combined=0.0021 kWh
2026-08-15 20:17:22.891391: ML Predictor: Epoch 27/30: lr=0.00012 huber_loss=0.0056 val_mae=0.0029 kWh val_bias=-0.0000 kWh (-0.0%) combined=0.0017 kWh ema_combined=0.0020 kWh
2026-08-15 20:17:52.555405: ML Predictor: Epoch 28/30: lr=0.00011 huber_loss=0.0060 val_mae=0.0031 kWh val_bias=-0.0009 kWh (-1.1%) combined=0.0019 kWh ema_combined=0.0020 kWh
2026-08-15 20:18:24.691917: ML Predictor: Epoch 29/30: lr=0.00010 huber_loss=0.0056 val_mae=0.0029 kWh val_bias=-0.0008 kWh (-1.0%) combined=0.0020 kWh ema_combined=0.0020 kWh
2026-08-15 20:18:54.995687: ML Predictor: Epoch 30/30: lr=0.00010 huber_loss=0.0052 val_mae=0.0029 kWh val_bias=-0.0000 kWh (-0.0%) combined=0.0018 kWh ema_combined=0.0019 kWh
2026-08-15 20:18:55.002153: ML Predictor: Restored best weights from epoch with val_mae=0.0029 kWh val_bias=-0.0000 kWh (-0.0%)
2026-08-15 20:18:55.002521: ML Predictor: Training complete, final val_mae=0.0029 kWh val_bias=-0.0000 kWh (-0.0%)
2026-08-15 20:18:56.671454: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 20:18:56.671753: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 20:18:56.671810: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 20:18:56.671997: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 20:18:56.672047: Note: Inverter does not support discharge freeze - disabled
2026-08-15 20:18:56.672077: Note: Inverter does not support charge freeze - disabled
2026-08-15 20:18:56.672186: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 20:19:04.649736: ML Predictor: AR rollout over holdout: ar_mae=0.0030 kWh ar_bias=-0.0000 kWh (-0.0%) [drift vs teacher-forced: +0.0001 kWh]
2026-08-15 20:19:04.654954: ML Predictor: Curriculum pass 4/5 complete, val_mae=0.0029 kWh
2026-08-15 20:19:04.655056: ML Predictor: Curriculum final pass 5/5: full dataset (57.3 days)
2026-08-15 20:19:04.655087: ML Predictor: Starting fine-tune training with 30 epochs
2026-08-15 20:19:05.352171: ML Predictor: Creating dataset with 1374 hours of training data, 48 hours validation
2026-08-15 20:19:11.181083: ML Predictor: Created 16208 training samples, 576 validation samples
2026-08-15 20:19:11.241265: ML Predictor: Normalization stats [ema-update alpha=0.1] target(mean=0.0586 std=0.0467) load(mean=0.0590 std=0.0470) pv(mean=0.0000 std=0.0100) temp(mean=19.5711 std=4.4627) import_rate(mean=25.5537 std=2.5022) export_rate(mean=0.0000 std=1.0000) time(mean=-0.1905 std=0.5255)
2026-08-15 20:19:11.337021: ML Predictor: Applied EMA normalization update (alpha=0.1) to track feature drift
2026-08-15 20:19:11.354229: ML Predictor: Reset Adam optimiser state for fine-tuning
2026-08-15 20:19:11.472602: ML Predictor: Baseline (pre-finetune) val_mae=0.0036 kWh val_bias=+0.0012 kWh
2026-08-15 20:19:45.531892: ML Predictor: Epoch 1/30: lr=0.00100 huber_loss=0.0093 val_mae=0.0064 kWh val_bias=+0.0048 kWh (+6.6%) combined=0.0076 kWh ema_combined=0.0076 kWh
2026-08-15 20:20:00.078561: --------------- PredBat - update at 2026-08-15 20:20:00+01:00 with clock skew 0 minutes, minutes now 1220
2026-08-15 20:20:00.079361: Saved current settings to /config/predbat_config.json
2026-08-15 20:20:00.079566: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 115.0 minutes
2026-08-15 20:20:00.079746: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.2, latest beta is v8.48.2
2026-08-15 20:20:00.079868: Autoupdate: There is an update pending v8.48.2 PV90 and second pass enabled by default, bug fixes - auto update is off
2026-08-15 20:20:00.124839: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 20:20:00.125013: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 20:20:00.125184: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 20:20:00.125728: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 20:20:00.125848: Predbat mode is set to Control charge & discharge
2026-08-15 20:20:00.464327: Found 21602 load_today datapoints going back 28 days
2026-08-15 20:20:00.464464: Using load_power data to fill gaps in load_today data
2026-08-15 20:20:01.826391: Processing 721 30-minute periods for power integration
2026-08-15 20:20:02.236441: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 20:20:02.237539: Car charging hold False, threshold 6.0kWh
2026-08-15 20:20:02.237649: Current data so far today: load 9.9kWh, import 27.7kWh, export 0.0kWh, PV 0kWh
2026-08-15 20:20:02.255143: Cars: SoC: [9.962]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 20:20:02.256357: Standing charge is set to 49.98p
2026-08-15 20:20:02.317210: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 20:20:02.317509: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 20:20:02.317889: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 580.0 minutes
2026-08-15 20:20:02.318694: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 580.0 minutes
2026-08-15 20:20:02.326355: Loaded 95 datapoints of futurerate analysis
2026-08-15 20:20:02.619211: Predicted future rates: ['08-15 00:00:00 => 28.69 / 20.01', '08-15 01:00:00 => 27.33 / 19.31', '08-15 02:00:00 => 26.31 / 18.8', '08-15 03:00:00 => 25.78 / 18.53', '08-15 04:00:00 => 25.59 / 18.43', '08-15 05:00:00 => 25.75 / 18.51', '08-15 06:00:00 => 25.34 / 18.3', '08-15 07:00:00 => 24.12 / 17.68', '08-15 08:00:00 => 22.82 / 17.01', '08-15 09:00:00 => 21.84 / 16.51', '08-15 10:00:00 => 20.22 / 15.68', '08-15 11:00:00 => 17.8 / 14.45', '08-15 12:00:00 => 16.16 / 13.61', '08-15 13:00:00 => 15.55 / 13.3', '08-15 14:00:00 => 15.14 / 13.09', '08-15 15:00:00 => 15.65 / 13.35', '08-15 16:00:00 => 32.68 / 16.13', '08-15 17:00:00 => 37.81 / 18.75', '08-15 18:00:00 => 42.15 / 20.96', '08-15 19:00:00 => 30.88 / 21.13', '08-15 20:00:00 => 31.43 / 21.41', '08-15 21:00:00 => 31.43 / 21.41', '08-15 22:00:00 => 30.37 / 20.87', '08-15 23:00:00 => 29.16 / 20.25', '08-16 00:00:00 => 28.62 / 19.97', '08-16 01:00:00 => 27.52 / 19.41', '08-16 02:00:00 => 26.55 / 18.92', '08-16 03:00:00 => 26.18 / 18.73', '08-16 04:00:00 => 26.12 / 18.7', '08-16 05:00:00 => 26.02 / 18.65', '08-16 06:00:00 => 25.78 / 18.53', '08-16 07:00:00 => 25.43 / 18.35', '08-16 08:00:00 => 24.63 / 17.94', '08-16 09:00:00 => 24.05 / 17.64', '08-16 10:00:00 => 24.59 / 17.92', '08-16 11:00:00 => 24.5 / 17.87', '08-16 12:00:00 => 23.58 / 17.4', '08-16 13:00:00 => 22.93 / 17.07', '08-16 14:00:00 => 21.8 / 16.49', '08-16 15:00:00 => 21.8 / 16.49', '08-16 16:00:00 => 36.93 / 18.3', '08-16 17:00:00 => 39.92 / 19.83', '08-16 18:00:00 => 43.98 / 21.9', '08-16 19:00:00 => 32.83 / 22.13']
2026-08-15 20:20:02.707272: Rate min forward looking: now 21.41p at end of forecast 21.41p
2026-08-15 20:20:02.707929: Import rates: min 21.41p, max 45.28p, average 28.56p
2026-08-15 20:20:02.816074: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 20:20:02.816369: Rate thresholds (for charge/export) are import 44.78p (0.0p), export -0.1p (0.0p)
2026-08-15 20:20:02.824152: High export rate found rates in range 99p to -99p
2026-08-15 20:20:03.022740: Low Import rate found rates in range 21.41p to 44.34p
2026-08-15 20:20:03.022988: Car 0 charging is not planned as it is not plugged in
2026-08-15 20:20:03.043209: Battery level now 14.72kWh, -1hr ago 15.04kWh, at midnight 1.66kWh, battery value change in the last hour -5.89p, change today 240.29p, rate_forward 18.39p
2026-08-15 20:20:03.043914: Last hour: net energy 0.0kWh, import 0.0kWh, export 0.0kWh, car 0kWh, load 0.28kWh, net cost 0.0p, import 0.0p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 20:20:03.145596: Today's energy total net 27.7kWh, import 27.7kWh, export 0.0kWh, cost 570.18p, import 520.2p, export 0.0p, carbon 0.0kg
2026-08-15 20:20:03.145784: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 20:20:03.368259: Using weighted-bucket historical load forecast over 14 days
2026-08-15 20:20:03.467677: Today's load divergence 82.86%, in-day adjustment 92.9%, damping 0.95x, yesterday 143.77% today 83.72% blend 15.28%
2026-08-15 20:20:03.467804: Today's predicted so far 12.13kWh with 0.0kWh car/iBoost excluded, 20.88kWh import ignored, and 12.13kWh forecast extra.
2026-08-15 20:20:03.485312: Today's actual load so far 9.91kWh with 0.0kWh car/iBoost excluded, and 20.88kWh import ignored.
2026-08-15 20:20:03.553262: Inverter 0: Type SK Sunsynk
2026-08-15 20:20:03.553575: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 20:20:03.553794: Reserve min: 7%, battery_min: 7%
2026-08-15 20:20:03.553857: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 20:20:03.554094: Inverter 0 SoC: 14.67kW 92%, current charge rate 5000W, current discharge rate 5250W, current battery power 234W, current battery voltage 51.2V, grid power -55W, load power 297W, PV Power 0W
2026-08-15 20:20:03.554238: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 20:20:03.554317: Inverter 0 scheduled charge enable is False
2026-08-15 20:20:03.554343: Inverter 0 charge windows currently []
2026-08-15 20:20:03.554365: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 20:20:03.554455: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 20:20:03.554484: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 20:20:03.554515: Inverter 0 scheduled discharge enable is False
2026-08-15 20:20:03.554635: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 20:20:03.554667: Inverter 0 discharge windows currently []
2026-08-15 20:20:03.554686: Note: Inverter does not support discharge freeze - disabled
2026-08-15 20:20:03.554701: Note: Inverter does not support charge freeze - disabled
2026-08-15 20:20:03.554716: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 20:20:03.686942: Dynamic load last period 0.00kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 20:20:03.687129: Plan was last updated on 2026-08-15 20:15:00+01:00 and is now 5.0 minutes old
2026-08-15 20:20:03.687574: Best charge window [ 16-08 11:00:00 - 16-08 12:30:00 @ 23.65p 16%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 31%, 16-08 13:30:00 - 16-08 15:00:00 @ 21.91p 100%, 16-08 15:00:00 - 16-08 16:00:00 @ 22.89p 75%, 17-08 12:30:00 - 17-08 18:00:00 @ 40.7p 100% ]
2026-08-15 20:20:03.687692: Best export window [  ]
2026-08-15 20:20:03.689076: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 20:20:03.693971: Load divergence over 8.0 hours mean 812.23W, min 373.8W, max 1997.4W, std dev 419.83W, divergence 25.84%
2026-08-15 20:20:03.749733: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 20:20:03.773072: LoadML is_calculating True
2026-08-15 20:20:03.773174: Not using thread pool as LoadML is calculating to avoid lockups
2026-08-15 20:20:03.869404: predict base end_record 08-17 12:35:00, final soc 1.12kWh, metric 1080.68p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 15:15:00, load 36.44kWh, PV 0.0kWh
2026-08-15 20:20:04.071595: Battery has 18.92 hours left - now at 14.67kWh
2026-08-15 20:20:04.191642: predict base10 end_record 08-17 12:35:00, final soc 1.12kWh, metric 1113.55p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 14:20:00, load 37.7kWh, PV 0.0kWh
2026-08-15 20:20:04.406007: predict best10 end_record 08-17 12:35:00, final soc 1.44kWh, metric 1052.51p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 06:05:00, load 37.7kWh, PV 0.0kWh
2026-08-15 20:20:04.606873: predict best end_record 08-17 12:35:00, final soc 1.51kWh, metric 1020.73p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 07:10:00, load 36.44kWh, PV 0.0kWh
2026-08-15 20:20:04.621040: Saving plan best values to HA entities
2026-08-15 20:20:04.921782: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 20:20:04.929073: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 20:20:04.945385: Best charging limit SoC's [2.5, 5.0, 16.0, 12.0, 16.0]kWh, export []kWh gives import battery 12.28kWh, house 3.31kWh, export 0.0kWh, metric 1020.73p, metric10 1052.51p
2026-08-15 20:20:05.052127: Marginal costs baseline metric (no standing charge): 920.7623
2026-08-15 20:20:05.532935: Marginal energy costs matrix computed: min=24.37 max=28.57
2026-08-15 20:20:05.723071: Rate array import [{'start': 1220, 'end': 1410, 'rate': 'expensive', 'range': '(29.8p - 32.1p)'}, {'start': 1410, 'end': 2400, 'rate': 'cheap', 'range': '(21.4p - 28.2p)'}, {'start': 2400, 'end': 2430, 'rate': 'expensive', 'range': '(36.8p)'}, {'start': 2430, 'end': 2580, 'rate': 'very expensive', 'range': '(37.5p - 45.3p)'}, {'start': 2580, 'end': 2850, 'rate': 'expensive', 'range': '(30.0p - 35.9p)'}, {'start': 2850, 'end': 3635, 'rate': 'cheap', 'range': '(22.3p - 28.2p)'}] export [{'start': 1220, 'end': 3635, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 20:20:05.724149: - Your estimated bill for today is £5.70 and tomorrow is £3.09
2026-08-15 20:20:05.724216: - Import rates are expensive (29.8p - 32.1p) for the next 3 and a quarter hours and then cheap (21.4p - 28.2p) for the next 16 hours.
2026-08-15 20:20:05.724521: - The battery is currently at 92% and is in eco mode for the next 14 hours.
2026-08-15 20:20:05.724566: - For the next 48 hours there will be no solar generation.
2026-08-15 20:20:05.724604: - You will run out of battery in 34 hours.
2026-08-15 20:20:05.724626: - Your next charge slot will be in 14 hours where import rates will be cheap (24.3p).
2026-08-15 20:20:05.724656: 
2026-08-15 20:20:05.784680: Plan calculation took 2.10 seconds
2026-08-15 20:20:05.803701: No high rate period found
2026-08-15 20:20:05.979764: Import threshold used for optimisation was 24.25p
2026-08-15 20:20:06.128830: Low import rate windows [0: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 1: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 2: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 3: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 4: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 5: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 6: 08-15 23:00:00 - 08-15 23:30:00 @ 30.02, 7: 08-15 23:30:00 - 08-16 00:00:00 @ 27.8, 8: 08-16 00:00:00 - 08-16 00:30:00 @ 28.18, 9: 08-16 00:30:00 - 08-16 01:00:00 @ 27.38, 10: 08-16 01:00:00 - 08-16 01:30:00 @ 26.7, 11: 08-16 01:30:00 - 08-16 02:00:00 @ 26.31, 12: 08-16 02:00:00 - 08-16 02:30:00 @ 25.79, 13: 08-16 02:30:00 - 08-16 03:00:00 @ 25.86, 14: 08-16 03:00:00 - 08-16 03:30:00 @ 26.13, 15: 08-16 03:30:00 - 08-16 04:00:00 @ 25.86, 16: 08-16 04:00:00 - 08-16 04:30:00 @ 26.27, 17: 08-16 04:30:00 - 08-16 05:00:00 @ 26.14, 18: 08-16 05:00:00 - 08-16 05:30:00 @ 27.03, 19: 08-16 05:30:00 - 08-16 06:00:00 @ 26.28, 20: 08-16 06:00:00 - 08-16 06:30:00 @ 25.68, 21: 08-16 06:30:00 - 08-16 07:00:00 @ 26.1, 22: 08-16 07:00:00 - 08-16 07:30:00 @ 24.28, 23: 08-16 07:30:00 - 08-16 08:00:00 @ 24.94, 24: 08-16 08:00:00 - 08-16 08:30:00 @ 24.06, 25: 08-16 08:30:00 - 08-16 09:00:00 @ 24.39, 26: 08-16 09:00:00 - 08-16 09:30:00 @ 24.66, 27: 08-16 09:30:00 - 08-16 10:00:00 @ 24.06, 28: 08-16 10:00:00 - 08-16 10:30:00 @ 25.5, 29: 08-16 10:30:00 - 08-16 11:00:00 @ 24.94, 30: 08-16 11:00:00 - 08-16 11:30:00 @ 24.25, 31: 08-16 11:30:00 - 08-16 12:00:00 @ 23.49, 32: 08-16 12:00:00 - 08-16 12:30:00 @ 23.43, 33: 08-16 12:30:00 - 08-16 13:00:00 @ 22.33, 34: 08-16 13:00:00 - 08-16 13:30:00 @ 22.76, 35: 08-16 13:30:00 - 08-16 14:00:00 @ 22.3, 36: 08-16 14:00:00 - 08-16 14:30:00 @ 21.41, 37: 08-16 14:30:00 - 08-16 15:00:00 @ 21.65, 38: 08-16 15:00:00 - 08-16 15:30:00 @ 22.95, 39: 08-16 15:30:00 - 08-16 16:00:00 @ 22.83, 40: 08-16 16:00:00 - 08-16 16:30:00 @ 36.84, 41: 08-16 16:30:00 - 08-16 17:00:00 @ 37.54, 42: 08-16 17:00:00 - 08-16 17:30:00 @ 41.79, 43: 08-16 17:30:00 - 08-16 18:00:00 @ 43.7, 44: 08-16 18:00:00 - 08-16 18:30:00 @ 44.34, 45: 08-16 19:00:00 - 08-16 19:30:00 @ 34.79, 46: 08-16 19:30:00 - 08-16 20:00:00 @ 34.76, 47: 08-16 20:00:00 - 08-16 20:30:00 @ 35.62, 48: 08-16 20:30:00 - 08-16 21:00:00 @ 35.3, 49: 08-16 21:00:00 - 08-16 21:30:00 @ 35.89, 50: 08-16 21:30:00 - 08-16 22:00:00 @ 35.71, 51: 08-16 22:00:00 - 08-16 22:30:00 @ 33.75, 52: 08-16 22:30:00 - 08-16 23:00:00 @ 32.0, 53: 08-16 23:00:00 - 08-16 23:30:00 @ 30.02, 54: 08-16 23:30:00 - 08-17 00:00:00 @ 27.8, 55: 08-17 00:00:00 - 08-17 00:30:00 @ 28.18, 56: 08-17 00:30:00 - 08-17 01:00:00 @ 27.38, 57: 08-17 01:00:00 - 08-17 01:30:00 @ 26.7, 58: 08-17 01:30:00 - 08-17 02:00:00 @ 26.31, 59: 08-17 02:00:00 - 08-17 02:30:00 @ 25.79, 60: 08-17 02:30:00 - 08-17 03:00:00 @ 25.86, 61: 08-17 03:00:00 - 08-17 03:30:00 @ 26.13, 62: 08-17 03:30:00 - 08-17 04:00:00 @ 25.86, 63: 08-17 04:00:00 - 08-17 04:30:00 @ 26.27, 64: 08-17 04:30:00 - 08-17 05:00:00 @ 26.14, 65: 08-17 05:00:00 - 08-17 05:30:00 @ 27.03, 66: 08-17 05:30:00 - 08-17 06:00:00 @ 26.28, 67: 08-17 06:00:00 - 08-17 06:30:00 @ 25.68, 68: 08-17 06:30:00 - 08-17 07:00:00 @ 26.1, 69: 08-17 07:00:00 - 08-17 07:30:00 @ 24.28, 70: 08-17 07:30:00 - 08-17 08:00:00 @ 24.94, 71: 08-17 08:00:00 - 08-17 08:30:00 @ 24.06, 72: 08-17 08:30:00 - 08-17 09:00:00 @ 24.39, 73: 08-17 09:00:00 - 08-17 09:30:00 @ 24.66, 74: 08-17 09:30:00 - 08-17 10:00:00 @ 24.06, 75: 08-17 10:00:00 - 08-17 10:30:00 @ 25.5, 76: 08-17 10:30:00 - 08-17 11:00:00 @ 24.94, 77: 08-17 11:00:00 - 08-17 11:30:00 @ 24.25, 78: 08-17 11:30:00 - 08-17 12:00:00 @ 23.49, 79: 08-17 12:00:00 - 08-17 12:30:00 @ 23.43, 80: 08-17 12:30:00 - 08-17 13:00:00 @ 22.33, 81: 08-17 13:00:00 - 08-17 13:30:00 @ 22.76, 82: 08-17 13:30:00 - 08-17 14:00:00 @ 22.3, 83: 08-17 14:00:00 - 08-17 14:30:00 @ 21.41, 84: 08-17 14:30:00 - 08-17 15:00:00 @ 21.65, 85: 08-17 15:00:00 - 08-17 15:30:00 @ 22.95, 86: 08-17 15:30:00 - 08-17 16:00:00 @ 22.83, 87: 08-17 16:00:00 - 08-17 16:30:00 @ 36.84, 88: 08-17 16:30:00 - 08-17 17:00:00 @ 37.54, 89: 08-17 17:00:00 - 08-17 17:30:00 @ 41.79, 90: 08-17 17:30:00 - 08-17 18:00:00 @ 43.7, 91: 08-17 18:00:00 - 08-17 18:30:00 @ 44.34, 92: 08-17 19:00:00 - 08-17 19:30:00 @ 34.79, 93: 08-17 19:30:00 - 08-17 20:00:00 @ 34.76, 94: 08-17 20:00:00 - 08-17 20:30:00 @ 35.62]
2026-08-15 20:20:06.138143: Inverter 0 Charge window will be: 2026-08-16 11:00:00+01:00 - 2026-08-16 16:00:00+01:00 - current SoC 92%, target 16%
2026-08-15 20:20:06.138568: Inverter 0 disabled charge window while waiting for schedule (now 08-15 20:20:00 target set_window_minutes 30 charge start time 08-16 11:00:00) original inverter start time 08-17 00:00:00
2026-08-15 20:20:06.138689: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 20:20:06.138890: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 20:20:06.138967: No export window planned
2026-08-15 20:20:06.139070: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 20:20:06.139105: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 20:20:06.139237: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 20:20:06.139388: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 20:20:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 20:20:06.139437: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 20:20:06.139483: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 20:20:06.139925: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 20:20:06.139994: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 20:20:06.140241: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 20:20:06.140741: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 20:20:06.140788: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 20:20:06.140815: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 20:20:06.140847: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 20:20:06.140931: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 20:20:06.141060: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 20:20:06.141099: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 20:20:06.141130: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 20:20:06.141207: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 20:20:06.141246: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 20:20:06.141271: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 20:20:06.141293: Inverter 0 count register writes 0
2026-08-15 20:20:06.167470: Will not recompute the plan, it is 5.0 minutes old and max age is 10 minutes
2026-08-15 20:20:06.175007: Total inverter register writes now 826
2026-08-15 20:20:06.232045: Info: Completed run status Demand
2026-08-15 20:20:06.243240: Info: record_status Demand
2026-08-15 20:20:06.254414: Saved current settings to /config/predbat_config.json
2026-08-15 20:20:06.254802: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 20:20:23.074340: ML Predictor: Epoch 2/30: lr=0.00100 huber_loss=0.0103 val_mae=0.0053 kWh val_bias=-0.0033 kWh (-4.6%) combined=0.0051 kWh ema_combined=0.0068 kWh
2026-08-15 20:20:41.503691: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 20:20:41.503986: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 20:20:41.504026: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 20:20:41.504187: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 20:20:41.504234: Note: Inverter does not support discharge freeze - disabled
2026-08-15 20:20:41.504261: Note: Inverter does not support charge freeze - disabled
2026-08-15 20:20:41.504285: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 20:20:58.519658: ML Predictor: Epoch 3/30: lr=0.00099 huber_loss=0.0108 val_mae=0.0048 kWh val_bias=+0.0005 kWh (+0.7%) combined=0.0030 kWh ema_combined=0.0057 kWh
2026-08-15 20:21:29.364068: ML Predictor: Epoch 4/30: lr=0.00098 huber_loss=0.0115 val_mae=0.0049 kWh val_bias=-0.0016 kWh (-2.2%) combined=0.0035 kWh ema_combined=0.0050 kWh
2026-08-15 20:22:03.327760: ML Predictor: Epoch 5/30: lr=0.00096 huber_loss=0.0115 val_mae=0.0042 kWh val_bias=-0.0001 kWh (-0.2%) combined=0.0023 kWh ema_combined=0.0042 kWh
2026-08-15 20:22:36.186557: ML Predictor: Epoch 6/30: lr=0.00094 huber_loss=0.0111 val_mae=0.0046 kWh val_bias=+0.0010 kWh (+1.4%) combined=0.0037 kWh ema_combined=0.0040 kWh
2026-08-15 20:22:41.957449: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 20:22:41.957956: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 20:22:41.958100: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 20:22:41.958395: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 20:22:41.958536: Note: Inverter does not support discharge freeze - disabled
2026-08-15 20:22:41.958666: Note: Inverter does not support charge freeze - disabled
2026-08-15 20:22:41.958773: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 20:23:05.382827: ML Predictor: Epoch 7/30: lr=0.00091 huber_loss=0.0126 val_mae=0.0045 kWh val_bias=-0.0005 kWh (-0.6%) combined=0.0028 kWh ema_combined=0.0037 kWh
2026-08-15 20:23:40.047799: ML Predictor: Epoch 8/30: lr=0.00088 huber_loss=0.0099 val_mae=0.0043 kWh val_bias=+0.0013 kWh (+1.8%) combined=0.0030 kWh ema_combined=0.0035 kWh
2026-08-15 20:24:10.935555: ML Predictor: Epoch 9/30: lr=0.00084 huber_loss=0.0084 val_mae=0.0038 kWh val_bias=-0.0008 kWh (-1.2%) combined=0.0019 kWh ema_combined=0.0030 kWh
2026-08-15 20:24:42.406336: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 20:24:42.407548: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 20:24:42.407698: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 20:24:42.407961: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 20:24:42.408090: Note: Inverter does not support discharge freeze - disabled
2026-08-15 20:24:42.408198: Note: Inverter does not support charge freeze - disabled
2026-08-15 20:24:42.408300: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 20:24:42.928221: ML Predictor: Epoch 10/30: lr=0.00080 huber_loss=0.0092 val_mae=0.0049 kWh val_bias=-0.0028 kWh (-3.8%) combined=0.0042 kWh ema_combined=0.0034 kWh
2026-08-15 20:24:42.928518: ML Predictor: Early stopping at epoch 10
2026-08-15 20:24:42.929597: ML Predictor: Restored best weights from epoch with val_mae=0.0036 kWh val_bias=+0.0012 kWh (+1.6%)
2026-08-15 20:24:42.929929: ML Predictor: Training complete, final val_mae=0.0036 kWh val_bias=+0.0012 kWh (+1.6%)
2026-08-15 20:24:50.533888: ML Predictor: AR rollout over holdout: ar_mae=0.0041 kWh ar_bias=+0.0016 kWh (+2.2%) [drift vs teacher-forced: +0.0004 kWh]
2026-08-15 20:24:50.542591: ML Predictor: Curriculum training complete, final val_mae=0.0036 kWh
2026-08-15 20:24:50.557153: ML Component: Training successful, val_mae=0.0036 kWh
2026-08-15 20:24:50.724169: ML Predictor: Model saved to /config/predbat_ml_model.npz
2026-08-15 20:24:50.728725: ML Component: Generating predictions load data age 57.0 days, 16497 data points
2026-08-15 20:24:50.868036: ML Predictor: Starting autoregressive prediction loop for 576 steps (48.0 hours), prev_energy value 0.0262 max_dow {0: 0.10336562496256083, 1: 0.1091281248660758, 2: 0.11737499983031302, 3: 0.11972187416721135, 4: 0.17116562535744162, 5: 0.09621944446961084, 6: 0.10759687461592257}
2026-08-15 20:24:58.495940: ML Component: Generated 576 predictions (total 29.20 kWh over 48h)
2026-08-15 20:24:58.537528: ML Component: Prediction cycle completed
2026-08-15 20:24:58.679131: ML Component: Saved 16497 steps (57 days) of history to /config/predbat_ml_history.npz
2026-08-15 20:25:00.733837: --------------- PredBat - update at 2026-08-15 20:25:00+01:00 with clock skew 0 minutes, minutes now 1225
2026-08-15 20:25:00.734598: Saved current settings to /config/predbat_config.json
2026-08-15 20:25:00.734712: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 120.0 minutes
2026-08-15 20:25:00.734800: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.2, latest beta is v8.48.2
2026-08-15 20:25:00.734877: Autoupdate: There is an update pending v8.48.2 PV90 and second pass enabled by default, bug fixes - auto update is off
2026-08-15 20:25:00.755990: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 20:25:00.756135: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 20:25:00.756297: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 20:25:00.756828: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 20:25:00.756994: Predbat mode is set to Control charge & discharge
2026-08-15 20:25:00.941234: Found 21602 load_today datapoints going back 28 days
2026-08-15 20:25:00.941401: Using load_power data to fill gaps in load_today data
2026-08-15 20:25:01.670754: Processing 721 30-minute periods for power integration
2026-08-15 20:25:01.865363: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 20:25:01.865549: Car charging hold False, threshold 6.0kWh
2026-08-15 20:25:01.865604: Current data so far today: load 9.9kWh, import 27.7kWh, export 0.0kWh, PV 0kWh
2026-08-15 20:25:01.885383: Cars: SoC: [9.962]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 20:25:01.885859: Standing charge is set to 49.98p
2026-08-15 20:25:01.925990: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 20:25:01.926134: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 20:25:01.926401: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 585.0 minutes
2026-08-15 20:25:01.927087: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 585.0 minutes
2026-08-15 20:25:01.934300: Loaded 95 datapoints of futurerate analysis
2026-08-15 20:25:02.095405: Predicted future rates: ['08-15 00:00:00 => 28.69 / 20.01', '08-15 01:00:00 => 27.33 / 19.31', '08-15 02:00:00 => 26.31 / 18.8', '08-15 03:00:00 => 25.78 / 18.53', '08-15 04:00:00 => 25.59 / 18.43', '08-15 05:00:00 => 25.75 / 18.51', '08-15 06:00:00 => 25.34 / 18.3', '08-15 07:00:00 => 24.12 / 17.68', '08-15 08:00:00 => 22.82 / 17.01', '08-15 09:00:00 => 21.84 / 16.51', '08-15 10:00:00 => 20.22 / 15.68', '08-15 11:00:00 => 17.8 / 14.45', '08-15 12:00:00 => 16.16 / 13.61', '08-15 13:00:00 => 15.55 / 13.3', '08-15 14:00:00 => 15.14 / 13.09', '08-15 15:00:00 => 15.65 / 13.35', '08-15 16:00:00 => 32.68 / 16.13', '08-15 17:00:00 => 37.81 / 18.75', '08-15 18:00:00 => 42.15 / 20.96', '08-15 19:00:00 => 30.88 / 21.13', '08-15 20:00:00 => 31.43 / 21.41', '08-15 21:00:00 => 31.43 / 21.41', '08-15 22:00:00 => 30.37 / 20.87', '08-15 23:00:00 => 29.16 / 20.25', '08-16 00:00:00 => 28.62 / 19.97', '08-16 01:00:00 => 27.52 / 19.41', '08-16 02:00:00 => 26.55 / 18.92', '08-16 03:00:00 => 26.18 / 18.73', '08-16 04:00:00 => 26.12 / 18.7', '08-16 05:00:00 => 26.02 / 18.65', '08-16 06:00:00 => 25.78 / 18.53', '08-16 07:00:00 => 25.43 / 18.35', '08-16 08:00:00 => 24.63 / 17.94', '08-16 09:00:00 => 24.05 / 17.64', '08-16 10:00:00 => 24.59 / 17.92', '08-16 11:00:00 => 24.5 / 17.87', '08-16 12:00:00 => 23.58 / 17.4', '08-16 13:00:00 => 22.93 / 17.07', '08-16 14:00:00 => 21.8 / 16.49', '08-16 15:00:00 => 21.8 / 16.49', '08-16 16:00:00 => 36.93 / 18.3', '08-16 17:00:00 => 39.92 / 19.83', '08-16 18:00:00 => 43.98 / 21.9', '08-16 19:00:00 => 32.83 / 22.13']
2026-08-15 20:25:02.137217: Rate min forward looking: now 21.41p at end of forecast 21.41p
2026-08-15 20:25:02.137546: Import rates: min 21.41p, max 45.28p, average 28.56p
2026-08-15 20:25:02.173850: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 20:25:02.173959: Rate thresholds (for charge/export) are import 44.78p (0.0p), export -0.1p (0.0p)
2026-08-15 20:25:02.175106: High export rate found rates in range 99p to -99p
2026-08-15 20:25:02.267183: Low Import rate found rates in range 21.41p to 44.34p
2026-08-15 20:25:02.267305: Car 0 charging is not planned as it is not plugged in
2026-08-15 20:25:02.279442: Battery level now 14.67kWh, -1hr ago 14.94kWh, at midnight 1.66kWh, battery value change in the last hour -4.86p, change today 239.4p, rate_forward 18.39p
2026-08-15 20:25:02.279901: Last hour: net energy 0.0kWh, import 0.0kWh, export 0.0kWh, car 0kWh, load 0.25kWh, net cost 0.0p, import 0.0p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 20:25:02.336256: Today's energy total net 27.7kWh, import 27.7kWh, export 0.0kWh, cost 570.18p, import 520.2p, export 0.0p, carbon 0.0kg
2026-08-15 20:25:02.336414: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 20:25:02.429528: Using weighted-bucket historical load forecast over 14 days
2026-08-15 20:25:02.454619: Today's load divergence 82.13%, in-day adjustment 92.1%, damping 0.95x, yesterday 143.77% today 83.03% blend 14.93%
2026-08-15 20:25:02.454726: Today's predicted so far 12.17kWh with 0.0kWh car/iBoost excluded, 20.85kWh import ignored, and 12.17kWh forecast extra.
2026-08-15 20:25:02.454760: Today's actual load so far 9.87kWh with 0.0kWh car/iBoost excluded, and 20.85kWh import ignored.
2026-08-15 20:25:02.485305: Inverter 0: Type SK Sunsynk
2026-08-15 20:25:02.485394: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 20:25:02.485638: Reserve min: 7%, battery_min: 7%
2026-08-15 20:25:02.485727: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 20:25:02.486048: Inverter 0 SoC: 14.56kW 91%, current charge rate 5000W, current discharge rate 5250W, current battery power 272W, current battery voltage 51.2V, grid power -53W, load power 331W, PV Power 0W
2026-08-15 20:25:02.486247: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 20:25:02.486360: Inverter 0 scheduled charge enable is False
2026-08-15 20:25:02.486406: Inverter 0 charge windows currently []
2026-08-15 20:25:02.486466: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 20:25:02.486638: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 20:25:02.486680: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 20:25:02.486730: Inverter 0 scheduled discharge enable is False
2026-08-15 20:25:02.486910: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 20:25:02.486952: Inverter 0 discharge windows currently []
2026-08-15 20:25:02.486982: Note: Inverter does not support discharge freeze - disabled
2026-08-15 20:25:02.487094: Note: Inverter does not support charge freeze - disabled
2026-08-15 20:25:02.487132: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 20:25:02.554686: Dynamic load last period 0.00kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 20:25:02.554825: Plan was last updated on 2026-08-15 20:15:00+01:00 and is now 10.0 minutes old
2026-08-15 20:25:02.555053: Best charge window [ 16-08 11:00:00 - 16-08 12:30:00 @ 23.65p 16%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 31%, 16-08 13:30:00 - 16-08 15:00:00 @ 21.91p 100%, 16-08 15:00:00 - 16-08 16:00:00 @ 22.89p 75%, 17-08 12:30:00 - 17-08 18:00:00 @ 40.7p 100% ]
2026-08-15 20:25:02.555108: Best export window [  ]
2026-08-15 20:25:02.555754: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 20:25:02.558236: Load divergence over 8.0 hours mean 812.21W, min 361.2W, max 1875.0W, std dev 418.68W, divergence 25.77%
2026-08-15 20:25:02.573819: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 20:25:02.573925: LoadML is_calculating False
2026-08-15 20:25:02.573986: Creating pool of 12 processes to match your CPU count
2026-08-15 20:25:02.684556: predict base end_record 08-17 12:40:00, final soc 1.12kWh, metric 1082.87p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 15:15:00, load 36.43kWh, PV 0.0kWh
2026-08-15 20:25:02.817152: Battery has 18.83 hours left - now at 14.56kWh
2026-08-15 20:25:02.866884: predict base10 end_record 08-17 12:40:00, final soc 1.12kWh, metric 1115.63p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 14:20:00, load 37.69kWh, PV 0.0kWh
2026-08-15 20:25:02.948471: predict best10 end_record 08-17 12:40:00, final soc 1.77kWh, metric 1062.31p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 06:10:00, load 37.69kWh, PV 0.0kWh
2026-08-15 20:25:03.042593: predict best end_record 08-17 12:40:00, final soc 1.9kWh, metric 1032.35p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 07:10:00, load 36.43kWh, PV 0.0kWh
2026-08-15 20:25:03.042686: Saving plan best values to HA entities
2026-08-15 20:25:03.236728: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 20:25:03.243354: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0.0
2026-08-15 20:25:03.249343: Best charging limit SoC's [2.5, 5.0, 16.0, 12.0, 16.0]kWh, export []kWh gives import battery 12.79kWh, house 3.32kWh, export 0.0kWh, metric 1032.35p, metric10 1062.31p
2026-08-15 20:25:03.336503: Marginal costs baseline metric (no standing charge): 932.3837
2026-08-15 20:25:03.623192: Marginal energy costs matrix computed: min=24.24 max=28.54
2026-08-15 20:25:03.721371: Rate array import [{'start': 1225, 'end': 1410, 'rate': 'expensive', 'range': '(29.8p - 32.1p)'}, {'start': 1410, 'end': 2400, 'rate': 'cheap', 'range': '(21.4p - 28.2p)'}, {'start': 2400, 'end': 2430, 'rate': 'expensive', 'range': '(36.8p)'}, {'start': 2430, 'end': 2580, 'rate': 'very expensive', 'range': '(37.5p - 45.3p)'}, {'start': 2580, 'end': 2850, 'rate': 'expensive', 'range': '(30.0p - 35.9p)'}, {'start': 2850, 'end': 3640, 'rate': 'cheap', 'range': '(22.3p - 28.2p)'}] export [{'start': 1225, 'end': 3640, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 20:25:03.722181: - Your estimated bill for today is £5.70 and tomorrow is £3.10
2026-08-15 20:25:03.722228: - Import rates are expensive (29.8p - 32.1p) for the next 3 hours and then cheap (21.4p - 28.2p) for the next 16 hours.
2026-08-15 20:25:03.722251: - The battery is currently at 91% and is in eco mode for the next 14 hours.
2026-08-15 20:25:03.722269: - For the next 48 hours there will be no solar generation.
2026-08-15 20:25:03.722294: - You will run out of battery in 34 hours.
2026-08-15 20:25:03.722311: - Your next charge slot will be in 14 hours where import rates will be cheap (24.3p).
2026-08-15 20:25:03.722329: 
2026-08-15 20:25:03.792020: Plan calculation took 1.24 seconds
2026-08-15 20:25:03.797314: No high rate period found
2026-08-15 20:25:03.864181: Import threshold used for optimisation was 24.25p
2026-08-15 20:25:03.935888: Low import rate windows [0: 08-15 20:00:00 - 08-15 20:30:00 @ 31.99, 1: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 2: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 3: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 4: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 5: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 6: 08-15 23:00:00 - 08-15 23:30:00 @ 30.02, 7: 08-15 23:30:00 - 08-16 00:00:00 @ 27.8, 8: 08-16 00:00:00 - 08-16 00:30:00 @ 28.18, 9: 08-16 00:30:00 - 08-16 01:00:00 @ 27.38, 10: 08-16 01:00:00 - 08-16 01:30:00 @ 26.7, 11: 08-16 01:30:00 - 08-16 02:00:00 @ 26.31, 12: 08-16 02:00:00 - 08-16 02:30:00 @ 25.79, 13: 08-16 02:30:00 - 08-16 03:00:00 @ 25.86, 14: 08-16 03:00:00 - 08-16 03:30:00 @ 26.13, 15: 08-16 03:30:00 - 08-16 04:00:00 @ 25.86, 16: 08-16 04:00:00 - 08-16 04:30:00 @ 26.27, 17: 08-16 04:30:00 - 08-16 05:00:00 @ 26.14, 18: 08-16 05:00:00 - 08-16 05:30:00 @ 27.03, 19: 08-16 05:30:00 - 08-16 06:00:00 @ 26.28, 20: 08-16 06:00:00 - 08-16 06:30:00 @ 25.68, 21: 08-16 06:30:00 - 08-16 07:00:00 @ 26.1, 22: 08-16 07:00:00 - 08-16 07:30:00 @ 24.28, 23: 08-16 07:30:00 - 08-16 08:00:00 @ 24.94, 24: 08-16 08:00:00 - 08-16 08:30:00 @ 24.06, 25: 08-16 08:30:00 - 08-16 09:00:00 @ 24.39, 26: 08-16 09:00:00 - 08-16 09:30:00 @ 24.66, 27: 08-16 09:30:00 - 08-16 10:00:00 @ 24.06, 28: 08-16 10:00:00 - 08-16 10:30:00 @ 25.5, 29: 08-16 10:30:00 - 08-16 11:00:00 @ 24.94, 30: 08-16 11:00:00 - 08-16 11:30:00 @ 24.25, 31: 08-16 11:30:00 - 08-16 12:00:00 @ 23.49, 32: 08-16 12:00:00 - 08-16 12:30:00 @ 23.43, 33: 08-16 12:30:00 - 08-16 13:00:00 @ 22.33, 34: 08-16 13:00:00 - 08-16 13:30:00 @ 22.76, 35: 08-16 13:30:00 - 08-16 14:00:00 @ 22.3, 36: 08-16 14:00:00 - 08-16 14:30:00 @ 21.41, 37: 08-16 14:30:00 - 08-16 15:00:00 @ 21.65, 38: 08-16 15:00:00 - 08-16 15:30:00 @ 22.95, 39: 08-16 15:30:00 - 08-16 16:00:00 @ 22.83, 40: 08-16 16:00:00 - 08-16 16:30:00 @ 36.84, 41: 08-16 16:30:00 - 08-16 17:00:00 @ 37.54, 42: 08-16 17:00:00 - 08-16 17:30:00 @ 41.79, 43: 08-16 17:30:00 - 08-16 18:00:00 @ 43.7, 44: 08-16 18:00:00 - 08-16 18:30:00 @ 44.34, 45: 08-16 19:00:00 - 08-16 19:30:00 @ 34.79, 46: 08-16 19:30:00 - 08-16 20:00:00 @ 34.76, 47: 08-16 20:00:00 - 08-16 20:30:00 @ 35.62, 48: 08-16 20:30:00 - 08-16 21:00:00 @ 35.3, 49: 08-16 21:00:00 - 08-16 21:30:00 @ 35.89, 50: 08-16 21:30:00 - 08-16 22:00:00 @ 35.71, 51: 08-16 22:00:00 - 08-16 22:30:00 @ 33.75, 52: 08-16 22:30:00 - 08-16 23:00:00 @ 32.0, 53: 08-16 23:00:00 - 08-16 23:30:00 @ 30.02, 54: 08-16 23:30:00 - 08-17 00:00:00 @ 27.8, 55: 08-17 00:00:00 - 08-17 00:30:00 @ 28.18, 56: 08-17 00:30:00 - 08-17 01:00:00 @ 27.38, 57: 08-17 01:00:00 - 08-17 01:30:00 @ 26.7, 58: 08-17 01:30:00 - 08-17 02:00:00 @ 26.31, 59: 08-17 02:00:00 - 08-17 02:30:00 @ 25.79, 60: 08-17 02:30:00 - 08-17 03:00:00 @ 25.86, 61: 08-17 03:00:00 - 08-17 03:30:00 @ 26.13, 62: 08-17 03:30:00 - 08-17 04:00:00 @ 25.86, 63: 08-17 04:00:00 - 08-17 04:30:00 @ 26.27, 64: 08-17 04:30:00 - 08-17 05:00:00 @ 26.14, 65: 08-17 05:00:00 - 08-17 05:30:00 @ 27.03, 66: 08-17 05:30:00 - 08-17 06:00:00 @ 26.28, 67: 08-17 06:00:00 - 08-17 06:30:00 @ 25.68, 68: 08-17 06:30:00 - 08-17 07:00:00 @ 26.1, 69: 08-17 07:00:00 - 08-17 07:30:00 @ 24.28, 70: 08-17 07:30:00 - 08-17 08:00:00 @ 24.94, 71: 08-17 08:00:00 - 08-17 08:30:00 @ 24.06, 72: 08-17 08:30:00 - 08-17 09:00:00 @ 24.39, 73: 08-17 09:00:00 - 08-17 09:30:00 @ 24.66, 74: 08-17 09:30:00 - 08-17 10:00:00 @ 24.06, 75: 08-17 10:00:00 - 08-17 10:30:00 @ 25.5, 76: 08-17 10:30:00 - 08-17 11:00:00 @ 24.94, 77: 08-17 11:00:00 - 08-17 11:30:00 @ 24.25, 78: 08-17 11:30:00 - 08-17 12:00:00 @ 23.49, 79: 08-17 12:00:00 - 08-17 12:30:00 @ 23.43, 80: 08-17 12:30:00 - 08-17 13:00:00 @ 22.33, 81: 08-17 13:00:00 - 08-17 13:30:00 @ 22.76, 82: 08-17 13:30:00 - 08-17 14:00:00 @ 22.3, 83: 08-17 14:00:00 - 08-17 14:30:00 @ 21.41, 84: 08-17 14:30:00 - 08-17 15:00:00 @ 21.65, 85: 08-17 15:00:00 - 08-17 15:30:00 @ 22.95, 86: 08-17 15:30:00 - 08-17 16:00:00 @ 22.83, 87: 08-17 16:00:00 - 08-17 16:30:00 @ 36.84, 88: 08-17 16:30:00 - 08-17 17:00:00 @ 37.54, 89: 08-17 17:00:00 - 08-17 17:30:00 @ 41.79, 90: 08-17 17:30:00 - 08-17 18:00:00 @ 43.7, 91: 08-17 18:00:00 - 08-17 18:30:00 @ 44.34, 92: 08-17 19:00:00 - 08-17 19:30:00 @ 34.79, 93: 08-17 19:30:00 - 08-17 20:00:00 @ 34.76, 94: 08-17 20:00:00 - 08-17 20:30:00 @ 35.62]
2026-08-15 20:25:03.944546: Inverter 0 Charge window will be: 2026-08-16 11:00:00+01:00 - 2026-08-16 16:00:00+01:00 - current SoC 91%, target 16%
2026-08-15 20:25:03.944785: Inverter 0 disabled charge window while waiting for schedule (now 08-15 20:25:00 target set_window_minutes 30 charge start time 08-16 11:00:00) original inverter start time 08-17 00:00:00
2026-08-15 20:25:03.945011: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 20:25:03.945382: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 20:25:03.945514: No export window planned
2026-08-15 20:25:03.945642: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 20:25:03.945681: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 20:25:03.945820: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 20:25:03.946001: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 20:25:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 20:25:03.946066: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 20:25:03.946135: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 20:25:03.946240: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 20:25:03.946284: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 20:25:03.946312: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 20:25:03.946337: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 20:25:03.946362: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 20:25:03.946386: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 20:25:03.946415: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 20:25:03.946495: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 20:25:03.946535: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 20:25:03.946562: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 20:25:03.946587: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 20:25:03.946611: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 20:25:03.946635: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 20:25:03.946659: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 20:25:03.946680: Inverter 0 count register writes 0
2026-08-15 20:25:03.963107: Will recompute the plan as it is now 10.0 minutes old and will exceed the max age of 10 minutes before the next run
2026-08-15 20:25:03.963328: Recompute is saving previous plan...
2026-08-15 20:25:03.966682: Best charge window [ 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 0%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 0%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 30.02p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 27.8p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.18p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.38p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 26.7p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.31p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.79p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 25.86p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.13p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 25.86p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.27p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.14p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 27.03p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.28p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.68p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 26.1p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 24.28p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 24.94p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.06p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.39p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.66p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.06p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 25.5p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 24.94p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 24.25p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 23.49p 0%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.43p 0%, 16-08 12:30:00 - 16-08 13:00:00 @ 22.33p 0%, 16-08 13:00:00 - 16-08 13:30:00 @ 22.76p 0%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 0%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 0%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.65p 0%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.95p 0%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.83p 0%, 16-08 16:00:00 - 16-08 16:30:00 @ 36.84p 0%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.54p 0%, 16-08 17:00:00 - 16-08 17:30:00 @ 41.79p 0%, 16-08 17:30:00 - 16-08 18:00:00 @ 43.7p 0%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.34p 0%, 16-08 19:00:00 - 16-08 19:30:00 @ 34.79p 0%, 16-08 19:30:00 - 16-08 20:00:00 @ 34.76p 0%, 16-08 20:00:00 - 16-08 20:30:00 @ 35.62p 0%, 16-08 20:30:00 - 16-08 21:00:00 @ 35.3p 0%, 16-08 21:00:00 - 16-08 21:30:00 @ 35.89p 0%, 16-08 21:30:00 - 16-08 22:00:00 @ 35.71p 0%, 16-08 22:00:00 - 16-08 22:30:00 @ 33.75p 0%, 16-08 22:30:00 - 16-08 23:00:00 @ 32.0p 0%, 16-08 23:00:00 - 16-08 23:30:00 @ 30.02p 0%, 16-08 23:30:00 - 17-08 00:00:00 @ 27.8p 0%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.18p 0%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.38p 0%, 17-08 01:00:00 - 17-08 01:30:00 @ 26.7p 0%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.31p 0%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.79p 0%, 17-08 02:30:00 - 17-08 03:00:00 @ 25.86p 0%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.13p 0%, 17-08 03:30:00 - 17-08 04:00:00 @ 25.86p 0%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.27p 0%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.14p 0%, 17-08 05:00:00 - 17-08 05:30:00 @ 27.03p 0%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.28p 0%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.68p 0%, 17-08 06:30:00 - 17-08 07:00:00 @ 26.1p 0%, 17-08 07:00:00 - 17-08 07:30:00 @ 24.28p 0%, 17-08 07:30:00 - 17-08 08:00:00 @ 24.94p 0%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.06p 0%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.39p 0%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.66p 0%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.06p 0%, 17-08 10:00:00 - 17-08 10:30:00 @ 25.5p 0%, 17-08 10:30:00 - 17-08 11:00:00 @ 24.94p 0%, 17-08 11:00:00 - 17-08 11:30:00 @ 24.25p 0%, 17-08 11:30:00 - 17-08 12:00:00 @ 23.49p 0%, 17-08 12:00:00 - 17-08 12:30:00 @ 23.43p 0%, 17-08 12:30:00 - 17-08 13:00:00 @ 22.33p 0%, 17-08 13:00:00 - 17-08 13:30:00 @ 22.76p 0%, 17-08 13:30:00 - 17-08 14:00:00 @ 22.3p 0%, 17-08 14:00:00 - 17-08 14:30:00 @ 21.41p 0%, 17-08 14:30:00 - 17-08 15:00:00 @ 21.65p 0%, 17-08 15:00:00 - 17-08 15:30:00 @ 22.95p 0%, 17-08 15:30:00 - 17-08 16:00:00 @ 22.83p 0%, 17-08 16:00:00 - 17-08 16:30:00 @ 36.84p 0%, 17-08 16:30:00 - 17-08 17:00:00 @ 37.54p 0%, 17-08 17:00:00 - 17-08 17:30:00 @ 41.79p 0%, 17-08 17:30:00 - 17-08 18:00:00 @ 43.7p 0%, 17-08 18:00:00 - 17-08 18:30:00 @ 44.34p 0%, 17-08 19:00:00 - 17-08 19:30:00 @ 34.79p 0%, 17-08 19:30:00 - 17-08 20:00:00 @ 34.76p 0%, 17-08 20:00:00 - 17-08 20:30:00 @ 35.62p 0% ]
2026-08-15 20:25:03.966779: Best export window [  ]
2026-08-15 20:25:03.968060: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 20:25:03.972195: Load divergence over 8.0 hours mean 812.21W, min 361.2W, max 1875.0W, std dev 418.68W, divergence 25.77%
2026-08-15 20:25:03.988695: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 20:25:03.988830: LoadML is_calculating False
2026-08-15 20:25:03.988894: Creating pool of 12 processes to match your CPU count
2026-08-15 20:25:04.086240: Calculate Best options: mode(Control charge & discharge), calculate_export_oncharge(False), calculate_export_on_pv(True), set_export_freeze_only(False), set_discharge_during_charge(True), combine_charge_slots(False), combine_export_slots(False), combine_rate_threshold(0.0), best_soc_min(0.0 kWh), best_soc_max(0.0 kWh), best_soc_keep(0.0 kWh), inverter_loss(4%), battery_loss(3%), battery_loss_discharge (3%), inverter_hybrid(True), metric_min_improvement(0.0p), metric_min_improvement_export(0.1p), metric_min_improvement_export_freeze(0.1p), metric_battery_cycle(0.0p/kWh), metric_battery_value_scaling(1.0 x) 
2026-08-15 20:25:04.089043: Optimise levels pass started at 2026-08-15 20:25:04
2026-08-15 20:25:04.089140: Optimise all windows, total charge 94 export 1
2026-08-15 20:25:05.128543: >> Region optimisation pass width 960 gives best_metric 1021.79p, best_cost 1059.26p, best_cycle 39.82kWh, best_import 21.91kWh
2026-08-15 20:25:05.583033: >> Region optimisation pass width 480 gives best_metric 1021.79p, best_cost 1059.26p, best_cycle 39.82kWh, best_import 21.91kWh
2026-08-15 20:25:06.153281: >> Region optimisation pass width 240 gives best_metric 1021.79p, best_cost 1059.26p, best_cycle 39.82kWh, best_import 21.91kWh
2026-08-15 20:25:07.463422: >> Region optimisation pass width 120 gives best_metric 1021.79p, best_cost 1059.26p, best_cycle 39.82kWh, best_import 21.91kWh
2026-08-15 20:25:07.463958: Calculated end_record as 08-17 12:30:00 based on best_price 22.33p, next_charge_start 08-16 12:30:00, max_windows 80
2026-08-15 20:25:07.464097: Optimise levels pass ended at 2026-08-15 20:25:07, duration 3.4 seconds tried 303 combinations
2026-08-15 20:25:07.464214: Set best_price_charge_level 24.0p, best_price_export_level 0p, best_price_charge 22.33p, best_cost_export 0p, best_metric 1021.79p, best_keep 0kWh, best_cycle 39.82kWh, best_carbon 0kg, best_import 21.91kWh
2026-08-15 20:25:07.496062: Starting detailed optimisation end_record 08-17 12:30:00, best_price_charge 22.33p, best_price_export 0p. lowest_price_charge 21.41p with charge limits [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 0, 16.0, 16.0, 16.0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0]kWh and export limits []kWh
2026-08-15 20:25:13.364390: Tweak plan optimisation started metric 894.37p, cost 910.24p
2026-08-15 20:25:13.698075: Tweak optimisation finished metric 894.37p, cost 910.24p, metric_keep 0kWh, cycle 30.65kWh, carbon 0kg, import 15.14kWh, changed 8 window(s)
2026-08-15 20:25:13.720043: Swap charge optimisation started metric 894.37p, cost 910.24p, min_improvement_swap 0.1p
2026-08-15 20:25:20.735249: Swap charge optimisation finished metric 894.37p, cost 910.24p
2026-08-15 20:25:20.836610: Raw charge windows [ 15-08 20:00:00 - 15-08 20:30:00 @ 31.99p 0%, 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 0%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 30.02p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 27.8p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.18p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.38p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 26.7p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.31p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.79p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 25.86p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.13p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 25.86p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.27p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.14p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 27.03p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.28p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.68p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 26.1p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 24.28p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 24.94p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.06p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.39p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.66p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.06p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 25.5p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 24.94p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 24.25p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 23.49p 22%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.43p 22%, 16-08 12:30:00 - 16-08 13:00:00 @ 22.33p 34%, 16-08 13:00:00 - 16-08 13:30:00 @ 22.76p 34%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 100%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 100%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.65p 100%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.95p 78%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.83p 78%, 16-08 16:00:00 - 16-08 16:30:00 @ 36.84p 0%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.54p 0%, 16-08 17:00:00 - 16-08 17:30:00 @ 41.79p 0%, 16-08 17:30:00 - 16-08 18:00:00 @ 43.7p 0%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.34p 0%, 16-08 19:00:00 - 16-08 19:30:00 @ 34.79p 0%, 16-08 19:30:00 - 16-08 20:00:00 @ 34.76p 0%, 16-08 20:00:00 - 16-08 20:30:00 @ 35.62p 0%, 16-08 20:30:00 - 16-08 21:00:00 @ 35.3p 0%, 16-08 21:00:00 - 16-08 21:30:00 @ 35.89p 0%, 16-08 21:30:00 - 16-08 22:00:00 @ 35.71p 0%, 16-08 22:00:00 - 16-08 22:30:00 @ 33.75p 0%, 16-08 22:30:00 - 16-08 23:00:00 @ 32.0p 0%, 16-08 23:00:00 - 16-08 23:30:00 @ 30.02p 0%, 16-08 23:30:00 - 17-08 00:00:00 @ 27.8p 0%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.18p 0%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.38p 0%, 17-08 01:00:00 - 17-08 01:30:00 @ 26.7p 0%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.31p 0%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.79p 0%, 17-08 02:30:00 - 17-08 03:00:00 @ 25.86p 0%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.13p 0%, 17-08 03:30:00 - 17-08 04:00:00 @ 25.86p 0%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.27p 0%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.14p 0%, 17-08 05:00:00 - 17-08 05:30:00 @ 27.03p 0%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.28p 0%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.68p 0%, 17-08 06:30:00 - 17-08 07:00:00 @ 26.1p 0%, 17-08 07:00:00 - 17-08 07:30:00 @ 24.28p 0%, 17-08 07:30:00 - 17-08 08:00:00 @ 24.94p 0%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.06p 0%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.39p 0%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.66p 0%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.06p 0%, 17-08 10:00:00 - 17-08 10:30:00 @ 25.5p 0%, 17-08 10:30:00 - 17-08 11:00:00 @ 24.94p 0%, 17-08 11:00:00 - 17-08 11:30:00 @ 24.25p 0%, 17-08 11:30:00 - 17-08 12:00:00 @ 23.49p 0%, 17-08 12:00:00 - 17-08 12:30:00 @ 23.43p 0%, 17-08 12:30:00 - 17-08 13:00:00 @ 22.33p 100%, 17-08 13:00:00 - 17-08 13:30:00 @ 22.76p 100%, 17-08 13:30:00 - 17-08 14:00:00 @ 22.3p 100%, 17-08 14:00:00 - 17-08 14:30:00 @ 21.41p 100%, 17-08 14:30:00 - 17-08 15:00:00 @ 21.65p 100%, 17-08 15:00:00 - 17-08 15:30:00 @ 22.95p 100%, 17-08 15:30:00 - 17-08 16:00:00 @ 22.83p 100%, 17-08 16:00:00 - 17-08 16:30:00 @ 36.84p 100%, 17-08 16:30:00 - 17-08 17:00:00 @ 37.54p 100%, 17-08 17:00:00 - 17-08 17:30:00 @ 41.79p 100%, 17-08 17:30:00 - 17-08 18:00:00 @ 43.7p 100%, 17-08 18:00:00 - 17-08 18:30:00 @ 44.34p 100%, 17-08 19:00:00 - 17-08 19:30:00 @ 34.79p 100%, 17-08 19:30:00 - 17-08 20:00:00 @ 34.76p 100%, 17-08 20:00:00 - 17-08 20:30:00 @ 35.62p 100% ] reserve 1.12
2026-08-15 20:25:20.837231: Unclipped charge windows [ 16-08 11:30:00 - 16-08 12:30:00 @ 23.46p 22%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 34%, 16-08 13:30:00 - 16-08 15:00:00 @ 21.75p 100%, 16-08 15:00:00 - 16-08 16:00:00 @ 22.89p 78%, 17-08 12:30:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 17-08 20:30:00 @ 35.2p 100% ] reserve 1.12
2026-08-15 20:25:20.837560: Unfiltered charge windows [ 16-08 11:30:00 - 16-08 12:30:00 @ 23.46p 22%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 34%, 16-08 13:30:00 - 16-08 15:00:00 @ 21.75p 100%, 16-08 15:00:00 - 16-08 16:00:00 @ 22.89p 78%, 17-08 12:30:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 17-08 20:30:00 @ 35.2p 100% ] reserve 1.12
2026-08-15 20:25:20.837838: Filtered charge windows [ 16-08 11:30:00 - 16-08 12:30:00 @ 23.46p 22%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 34%, 16-08 13:30:00 - 16-08 15:00:00 @ 21.75p 100%, 16-08 15:00:00 - 16-08 16:00:00 @ 22.89p 78%, 17-08 12:30:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 17-08 20:30:00 @ 35.2p 100% ] reserve 1.12
2026-08-15 20:25:20.872257: Previous plan best metric is 895.17 (cost 910.83) and new plan best metric is 894.37 (cost 910.24)
2026-08-15 20:25:20.872552: New plan metric is not significantly better (metric_min_improvement_plan 2.0) than previous plan, using previous plan
2026-08-15 20:25:20.872777: Plan valid is now true after recompute was False
2026-08-15 20:25:20.900493: predict base end_record 08-17 12:30:00, final soc 1.12kWh, metric 1079.93p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 15:15:00, load 36.3kWh, PV 0.0kWh
2026-08-15 20:25:21.017550: Battery has 18.83 hours left - now at 14.56kWh
2026-08-15 20:25:21.060366: predict base10 end_record 08-17 12:30:00, final soc 1.12kWh, metric 1112.54p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 14:20:00, load 37.55kWh, PV 0.0kWh
2026-08-15 20:25:21.146010: predict best10 end_record 08-17 12:30:00, final soc 1.12kWh, metric 1043.72p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 06:10:00, load 37.55kWh, PV 0.0kWh
2026-08-15 20:25:21.216919: predict best end_record 08-17 12:30:00, final soc 1.12kWh, metric 1010.8p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 07:10:00, load 36.3kWh, PV 0.0kWh
2026-08-15 20:25:21.217035: Saving plan best values to HA entities
2026-08-15 20:25:21.397083: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 20:25:21.404438: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0.0
2026-08-15 20:25:21.411234: Best charging limit SoC's [2.5, 5.0, 16.0, 12.0, 16.0]kWh, export []kWh gives import battery 11.82kWh, house 3.32kWh, export 0.0kWh, metric 1010.8p, metric10 1043.72p
2026-08-15 20:25:21.503211: Marginal costs baseline metric (no standing charge): 910.8311
2026-08-15 20:25:21.776673: Marginal energy costs matrix computed: min=24.24 max=28.54
2026-08-15 20:25:21.854638: Rate array import [{'start': 1225, 'end': 1410, 'rate': 'expensive', 'range': '(29.8p - 32.1p)'}, {'start': 1410, 'end': 2400, 'rate': 'cheap', 'range': '(21.4p - 28.2p)'}, {'start': 2400, 'end': 2430, 'rate': 'expensive', 'range': '(36.8p)'}, {'start': 2430, 'end': 2580, 'rate': 'very expensive', 'range': '(37.5p - 45.3p)'}, {'start': 2580, 'end': 2850, 'rate': 'expensive', 'range': '(30.0p - 35.9p)'}, {'start': 2850, 'end': 3630, 'rate': 'cheap', 'range': '(23.4p - 28.2p)'}] export [{'start': 1225, 'end': 3630, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 20:25:21.855424: - Your estimated bill for today is £5.70 and tomorrow is £3.10
2026-08-15 20:25:21.855493: - Import rates are expensive (29.8p - 32.1p) for the next 3 hours and then cheap (21.4p - 28.2p) for the next 16 hours.
2026-08-15 20:25:21.855517: - The battery is currently at 91% and is in eco mode for the next 14 hours.
2026-08-15 20:25:21.855536: - For the next 48 hours there will be no solar generation.
2026-08-15 20:25:21.855553: - You will run out of battery in 34 hours.
2026-08-15 20:25:21.855571: - Your next charge slot will be in 14 hours where import rates will be cheap (24.3p).
2026-08-15 20:25:21.855588: 
2026-08-15 20:25:21.935277: Plan calculation took 17.97 seconds
2026-08-15 20:25:21.935707: Inverter 0: Type SK Sunsynk
2026-08-15 20:25:21.935758: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 20:25:21.935992: Reserve min: 7%, battery_min: 7%
2026-08-15 20:25:21.936088: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 20:25:21.936517: Inverter 0 SoC: 14.56kW 91%, current charge rate 5000W, current discharge rate 5250W, current battery power 272W, current battery voltage 51.2V, grid power -53W, load power 331W, PV Power 0W
2026-08-15 20:25:21.936768: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 20:25:21.936874: Inverter 0 scheduled charge enable is False
2026-08-15 20:25:21.936914: Inverter 0 charge windows currently []
2026-08-15 20:25:21.936970: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 20:25:21.937095: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 20:25:21.937151: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 20:25:21.937213: Inverter 0 scheduled discharge enable is False
2026-08-15 20:25:21.937361: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 20:25:21.937400: Inverter 0 discharge windows currently []
2026-08-15 20:25:21.937423: Note: Inverter does not support discharge freeze - disabled
2026-08-15 20:25:21.937468: Note: Inverter does not support charge freeze - disabled
2026-08-15 20:25:21.937498: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 20:25:22.002596: Inverter 0 Charge window will be: 2026-08-16 11:00:00+01:00 - 2026-08-16 16:00:00+01:00 - current SoC 91%, target 16%
2026-08-15 20:25:22.002769: Inverter 0 disabled charge window while waiting for schedule (now 08-15 20:25:00 target set_window_minutes 30 charge start time 08-16 11:00:00) original inverter start time 08-17 00:00:00
2026-08-15 20:25:22.002845: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 20:25:22.003045: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 20:25:22.003128: No export window planned
2026-08-15 20:25:22.003232: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 20:25:22.003267: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 20:25:22.003398: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 20:25:22.003583: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 20:25:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 20:25:22.003639: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 20:25:22.003708: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 20:25:22.003799: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 20:25:22.003842: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 20:25:22.003870: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 20:25:22.003894: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 20:25:22.003918: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 20:25:22.003942: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 20:25:22.003967: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 20:25:22.004034: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 20:25:22.004063: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 20:25:22.004094: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 20:25:22.004143: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 20:25:22.004168: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 20:25:22.004198: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 20:25:22.004223: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 20:25:22.004243: Inverter 0 count register writes 0
2026-08-15 20:25:22.035427: Total inverter register writes now 826
2026-08-15 20:25:22.078638: Info: Completed run status Demand
2026-08-15 20:25:22.085438: Info: record_status Demand
2026-08-15 20:25:22.093313: Saved current settings to /config/predbat_config.json
2026-08-15 20:25:22.093682: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 20:25:57.206298: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 20:25:57.206565: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 20:25:57.206611: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 20:25:57.206745: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 20:25:57.206786: Note: Inverter does not support discharge freeze - disabled
2026-08-15 20:25:57.206807: Note: Inverter does not support charge freeze - disabled
2026-08-15 20:25:57.206824: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 20:27:57.446907: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 20:27:57.447194: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 20:27:57.447230: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 20:27:57.447362: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 20:27:57.447416: Note: Inverter does not support discharge freeze - disabled
2026-08-15 20:27:57.447439: Note: Inverter does not support charge freeze - disabled
2026-08-15 20:27:57.447457: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 20:30:00.689275: --------------- PredBat - update at 2026-08-15 20:30:00+01:00 with clock skew 0 minutes, minutes now 1230
2026-08-15 20:30:00.690315: Saved current settings to /config/predbat_config.json
2026-08-15 20:30:00.916727: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.2, latest beta is v8.48.2
2026-08-15 20:30:00.916880: Autoupdate: There is an update pending v8.48.2 PV90 and second pass enabled by default, bug fixes - auto update is off
2026-08-15 20:30:00.944903: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 20:30:00.945119: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 20:30:00.945406: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 20:30:00.946264: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 20:30:00.946787: Predbat mode is set to Control charge & discharge
2026-08-15 20:30:01.156283: Found 21602 load_today datapoints going back 28 days
2026-08-15 20:30:01.156450: Using load_power data to fill gaps in load_today data
2026-08-15 20:30:01.978892: Processing 721 30-minute periods for power integration
2026-08-15 20:30:02.177621: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 20:30:02.177773: Car charging hold False, threshold 6.0kWh
2026-08-15 20:30:02.177855: Current data so far today: load 10.03kWh, import 27.7kWh, export 0.0kWh, PV 0kWh
2026-08-15 20:30:02.196524: Cars: SoC: [9.962]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 20:30:02.197106: Standing charge is set to 49.98p
2026-08-15 20:30:02.246887: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 20:30:02.247034: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 20:30:02.247336: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 590.0 minutes
2026-08-15 20:30:02.248056: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 590.0 minutes
2026-08-15 20:30:02.261163: Loaded 95 datapoints of futurerate analysis
2026-08-15 20:30:02.415267: Predicted future rates: ['08-15 00:00:00 => 28.69 / 20.01', '08-15 01:00:00 => 27.33 / 19.31', '08-15 02:00:00 => 26.31 / 18.8', '08-15 03:00:00 => 25.78 / 18.53', '08-15 04:00:00 => 25.59 / 18.43', '08-15 05:00:00 => 25.75 / 18.51', '08-15 06:00:00 => 25.34 / 18.3', '08-15 07:00:00 => 24.12 / 17.68', '08-15 08:00:00 => 22.82 / 17.01', '08-15 09:00:00 => 21.84 / 16.51', '08-15 10:00:00 => 20.22 / 15.68', '08-15 11:00:00 => 17.8 / 14.45', '08-15 12:00:00 => 16.16 / 13.61', '08-15 13:00:00 => 15.55 / 13.3', '08-15 14:00:00 => 15.14 / 13.09', '08-15 15:00:00 => 15.65 / 13.35', '08-15 16:00:00 => 32.68 / 16.13', '08-15 17:00:00 => 37.81 / 18.75', '08-15 18:00:00 => 42.15 / 20.96', '08-15 19:00:00 => 30.88 / 21.13', '08-15 20:00:00 => 31.43 / 21.41', '08-15 21:00:00 => 31.43 / 21.41', '08-15 22:00:00 => 30.37 / 20.87', '08-15 23:00:00 => 29.16 / 20.25', '08-16 00:00:00 => 28.62 / 19.97', '08-16 01:00:00 => 27.52 / 19.41', '08-16 02:00:00 => 26.55 / 18.92', '08-16 03:00:00 => 26.18 / 18.73', '08-16 04:00:00 => 26.12 / 18.7', '08-16 05:00:00 => 26.02 / 18.65', '08-16 06:00:00 => 25.78 / 18.53', '08-16 07:00:00 => 25.43 / 18.35', '08-16 08:00:00 => 24.63 / 17.94', '08-16 09:00:00 => 24.05 / 17.64', '08-16 10:00:00 => 24.59 / 17.92', '08-16 11:00:00 => 24.5 / 17.87', '08-16 12:00:00 => 23.58 / 17.4', '08-16 13:00:00 => 22.93 / 17.07', '08-16 14:00:00 => 21.8 / 16.49', '08-16 15:00:00 => 21.8 / 16.49', '08-16 16:00:00 => 36.93 / 18.3', '08-16 17:00:00 => 39.92 / 19.83', '08-16 18:00:00 => 43.98 / 21.9', '08-16 19:00:00 => 32.83 / 22.13']
2026-08-15 20:30:02.462319: Rate min forward looking: now 21.41p at end of forecast 21.41p
2026-08-15 20:30:02.462814: Import rates: min 21.41p, max 45.28p, average 28.57p
2026-08-15 20:30:02.506534: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 20:30:02.506669: Rate thresholds (for charge/export) are import 44.78p (0.0p), export -0.1p (0.0p)
2026-08-15 20:30:02.508014: High export rate found rates in range 99p to -99p
2026-08-15 20:30:02.612737: Low Import rate found rates in range 21.41p to 44.34p
2026-08-15 20:30:02.612870: Car 0 charging is not planned as it is not plugged in
2026-08-15 20:30:02.627452: Battery level now 14.56kWh, -1hr ago 14.88kWh, at midnight 1.66kWh, battery value change in the last hour -5.89p, change today 237.34p, rate_forward 18.39p
2026-08-15 20:30:02.627926: Last hour: net energy 0.0kWh, import 0.0kWh, export 0.0kWh, car 0kWh, load 0.35kWh, net cost 0.0p, import 0.0p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 20:30:02.695104: Today's energy total net 27.7kWh, import 27.7kWh, export 0.0kWh, cost 570.18p, import 520.2p, export 0.0p, carbon 0.0kg
2026-08-15 20:30:02.695262: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 20:30:02.793756: Using weighted-bucket historical load forecast over 14 days
2026-08-15 20:30:02.826477: Today's load divergence 83.2%, in-day adjustment 92.75%, damping 0.95x, yesterday 143.77% today 84.04% blend 14.58%
2026-08-15 20:30:02.826576: Today's predicted so far 12.28kWh with 0.0kWh car/iBoost excluded, 20.77kWh import ignored, and 12.28kWh forecast extra.
2026-08-15 20:30:02.826609: Today's actual load so far 10.1kWh with 0.0kWh car/iBoost excluded, and 20.77kWh import ignored.
2026-08-15 20:30:02.859618: Inverter 0: Type SK Sunsynk
2026-08-15 20:30:02.859711: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 20:30:02.859920: Reserve min: 7%, battery_min: 7%
2026-08-15 20:30:02.859994: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 20:30:02.860263: Inverter 0 SoC: 14.56kW 91%, current charge rate 5000W, current discharge rate 5250W, current battery power 280W, current battery voltage 51.2V, grid power -55W, load power 340W, PV Power 0W
2026-08-15 20:30:02.860439: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 20:30:02.860533: Inverter 0 scheduled charge enable is False
2026-08-15 20:30:02.860563: Inverter 0 charge windows currently []
2026-08-15 20:30:02.860589: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 20:30:02.860698: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 20:30:02.860734: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 20:30:02.860769: Inverter 0 scheduled discharge enable is False
2026-08-15 20:30:02.860907: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 20:30:02.861006: Inverter 0 discharge windows currently []
2026-08-15 20:30:02.861052: Note: Inverter does not support discharge freeze - disabled
2026-08-15 20:30:02.861074: Note: Inverter does not support charge freeze - disabled
2026-08-15 20:30:02.861095: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 20:30:02.932628: Dynamic load last period 0.30kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 20:30:02.932738: Plan was last updated on 2026-08-15 20:25:00+01:00 and is now 5.0 minutes old
2026-08-15 20:30:02.933020: Best charge window [ 16-08 11:00:00 - 16-08 12:30:00 @ 23.65p 16%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 31%, 16-08 13:30:00 - 16-08 15:00:00 @ 21.91p 100%, 16-08 15:00:00 - 16-08 16:00:00 @ 22.89p 75%, 17-08 12:30:00 - 17-08 18:00:00 @ 40.7p 100% ]
2026-08-15 20:30:02.933069: Best export window [  ]
2026-08-15 20:30:02.933875: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 20:30:02.936999: Load divergence over 8.0 hours mean 809.74W, min 371.4W, max 1953.0W, std dev 434.08W, divergence 26.8%
2026-08-15 20:30:02.955399: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 20:30:02.955516: LoadML is_calculating False
2026-08-15 20:30:02.955582: Creating pool of 12 processes to match your CPU count
2026-08-15 20:30:03.077924: predict base end_record 08-17 12:35:00, final soc 1.12kWh, metric 1080.17p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 15:15:00, load 36.43kWh, PV 0.0kWh
2026-08-15 20:30:03.225697: Battery has 18.75 hours left - now at 14.56kWh
2026-08-15 20:30:03.270278: predict base10 end_record 08-17 12:35:00, final soc 1.12kWh, metric 1112.9p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 14:25:00, load 37.69kWh, PV 0.0kWh
2026-08-15 20:30:03.350866: predict best10 end_record 08-17 12:35:00, final soc 1.44kWh, metric 1051.71p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 06:10:00, load 37.69kWh, PV 0.0kWh
2026-08-15 20:30:03.427791: predict best end_record 08-17 12:35:00, final soc 1.51kWh, metric 1020.14p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 07:10:00, load 36.43kWh, PV 0.0kWh
2026-08-15 20:30:03.427881: Saving plan best values to HA entities
2026-08-15 20:30:03.624096: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 20:30:03.629889: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0.0
2026-08-15 20:30:03.635622: Best charging limit SoC's [2.5, 5.0, 16.0, 12.0, 16.0]kWh, export []kWh gives import battery 12.26kWh, house 3.31kWh, export 0.0kWh, metric 1020.14p, metric10 1051.71p
2026-08-15 20:30:03.715743: Marginal costs baseline metric (no standing charge): 920.1697
2026-08-15 20:30:03.992719: Marginal energy costs matrix computed: min=24.38 max=28.54
2026-08-15 20:30:04.095152: Rate array import [{'start': 1230, 'end': 1410, 'rate': 'expensive', 'range': '(29.8p - 32.1p)'}, {'start': 1410, 'end': 2400, 'rate': 'cheap', 'range': '(21.4p - 28.2p)'}, {'start': 2400, 'end': 2430, 'rate': 'expensive', 'range': '(36.8p)'}, {'start': 2430, 'end': 2580, 'rate': 'very expensive', 'range': '(37.5p - 45.3p)'}, {'start': 2580, 'end': 2850, 'rate': 'expensive', 'range': '(30.0p - 35.9p)'}, {'start': 2850, 'end': 3635, 'rate': 'cheap', 'range': '(22.3p - 28.2p)'}] export [{'start': 1230, 'end': 3635, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 20:30:04.095832: - Your estimated bill for today is £5.70 and tomorrow is £3.09
2026-08-15 20:30:04.095871: - Import rates are expensive (29.8p - 32.1p) for the next 3 hours and then cheap (21.4p - 28.2p) for the next 16 hours.
2026-08-15 20:30:04.095890: - The battery is currently at 91% and is in eco mode for the next 14 hours.
2026-08-15 20:30:04.095905: - For the next 48 hours there will be no solar generation.
2026-08-15 20:30:04.095919: - You will run out of battery in 34 hours.
2026-08-15 20:30:04.095932: - Your next charge slot will be in 14 hours where import rates will be cheap (24.3p).
2026-08-15 20:30:04.095948: 
2026-08-15 20:30:04.163710: Plan calculation took 1.23 seconds
2026-08-15 20:30:04.167725: No high rate period found
2026-08-15 20:30:04.218791: Import threshold used for optimisation was 23.49p
2026-08-15 20:30:04.283609: Low import rate windows [0: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 1: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 2: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 3: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 4: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 5: 08-15 23:00:00 - 08-15 23:30:00 @ 30.02, 6: 08-15 23:30:00 - 08-16 00:00:00 @ 27.8, 7: 08-16 00:00:00 - 08-16 00:30:00 @ 28.18, 8: 08-16 00:30:00 - 08-16 01:00:00 @ 27.38, 9: 08-16 01:00:00 - 08-16 01:30:00 @ 26.7, 10: 08-16 01:30:00 - 08-16 02:00:00 @ 26.31, 11: 08-16 02:00:00 - 08-16 02:30:00 @ 25.79, 12: 08-16 02:30:00 - 08-16 03:00:00 @ 25.86, 13: 08-16 03:00:00 - 08-16 03:30:00 @ 26.13, 14: 08-16 03:30:00 - 08-16 04:00:00 @ 25.86, 15: 08-16 04:00:00 - 08-16 04:30:00 @ 26.27, 16: 08-16 04:30:00 - 08-16 05:00:00 @ 26.14, 17: 08-16 05:00:00 - 08-16 05:30:00 @ 27.03, 18: 08-16 05:30:00 - 08-16 06:00:00 @ 26.28, 19: 08-16 06:00:00 - 08-16 06:30:00 @ 25.68, 20: 08-16 06:30:00 - 08-16 07:00:00 @ 26.1, 21: 08-16 07:00:00 - 08-16 07:30:00 @ 24.28, 22: 08-16 07:30:00 - 08-16 08:00:00 @ 24.94, 23: 08-16 08:00:00 - 08-16 08:30:00 @ 24.06, 24: 08-16 08:30:00 - 08-16 09:00:00 @ 24.39, 25: 08-16 09:00:00 - 08-16 09:30:00 @ 24.66, 26: 08-16 09:30:00 - 08-16 10:00:00 @ 24.06, 27: 08-16 10:00:00 - 08-16 10:30:00 @ 25.5, 28: 08-16 10:30:00 - 08-16 11:00:00 @ 24.94, 29: 08-16 11:00:00 - 08-16 11:30:00 @ 24.25, 30: 08-16 11:30:00 - 08-16 12:00:00 @ 23.49, 31: 08-16 12:00:00 - 08-16 12:30:00 @ 23.43, 32: 08-16 12:30:00 - 08-16 13:00:00 @ 22.33, 33: 08-16 13:00:00 - 08-16 13:30:00 @ 22.76, 34: 08-16 13:30:00 - 08-16 14:00:00 @ 22.3, 35: 08-16 14:00:00 - 08-16 14:30:00 @ 21.41, 36: 08-16 14:30:00 - 08-16 15:00:00 @ 21.65, 37: 08-16 15:00:00 - 08-16 15:30:00 @ 22.95, 38: 08-16 15:30:00 - 08-16 16:00:00 @ 22.83, 39: 08-16 16:00:00 - 08-16 16:30:00 @ 36.84, 40: 08-16 16:30:00 - 08-16 17:00:00 @ 37.54, 41: 08-16 17:00:00 - 08-16 17:30:00 @ 41.79, 42: 08-16 17:30:00 - 08-16 18:00:00 @ 43.7, 43: 08-16 18:00:00 - 08-16 18:30:00 @ 44.34, 44: 08-16 19:00:00 - 08-16 19:30:00 @ 34.79, 45: 08-16 19:30:00 - 08-16 20:00:00 @ 34.76, 46: 08-16 20:00:00 - 08-16 20:30:00 @ 35.62, 47: 08-16 20:30:00 - 08-16 21:00:00 @ 35.3, 48: 08-16 21:00:00 - 08-16 21:30:00 @ 35.89, 49: 08-16 21:30:00 - 08-16 22:00:00 @ 35.71, 50: 08-16 22:00:00 - 08-16 22:30:00 @ 33.75, 51: 08-16 22:30:00 - 08-16 23:00:00 @ 32.0, 52: 08-16 23:00:00 - 08-16 23:30:00 @ 30.02, 53: 08-16 23:30:00 - 08-17 00:00:00 @ 27.8, 54: 08-17 00:00:00 - 08-17 00:30:00 @ 28.18, 55: 08-17 00:30:00 - 08-17 01:00:00 @ 27.38, 56: 08-17 01:00:00 - 08-17 01:30:00 @ 26.7, 57: 08-17 01:30:00 - 08-17 02:00:00 @ 26.31, 58: 08-17 02:00:00 - 08-17 02:30:00 @ 25.79, 59: 08-17 02:30:00 - 08-17 03:00:00 @ 25.86, 60: 08-17 03:00:00 - 08-17 03:30:00 @ 26.13, 61: 08-17 03:30:00 - 08-17 04:00:00 @ 25.86, 62: 08-17 04:00:00 - 08-17 04:30:00 @ 26.27, 63: 08-17 04:30:00 - 08-17 05:00:00 @ 26.14, 64: 08-17 05:00:00 - 08-17 05:30:00 @ 27.03, 65: 08-17 05:30:00 - 08-17 06:00:00 @ 26.28, 66: 08-17 06:00:00 - 08-17 06:30:00 @ 25.68, 67: 08-17 06:30:00 - 08-17 07:00:00 @ 26.1, 68: 08-17 07:00:00 - 08-17 07:30:00 @ 24.28, 69: 08-17 07:30:00 - 08-17 08:00:00 @ 24.94, 70: 08-17 08:00:00 - 08-17 08:30:00 @ 24.06, 71: 08-17 08:30:00 - 08-17 09:00:00 @ 24.39, 72: 08-17 09:00:00 - 08-17 09:30:00 @ 24.66, 73: 08-17 09:30:00 - 08-17 10:00:00 @ 24.06, 74: 08-17 10:00:00 - 08-17 10:30:00 @ 25.5, 75: 08-17 10:30:00 - 08-17 11:00:00 @ 24.94, 76: 08-17 11:00:00 - 08-17 11:30:00 @ 24.25, 77: 08-17 11:30:00 - 08-17 12:00:00 @ 23.49, 78: 08-17 12:00:00 - 08-17 12:30:00 @ 23.43, 79: 08-17 12:30:00 - 08-17 13:00:00 @ 22.33, 80: 08-17 13:00:00 - 08-17 13:30:00 @ 22.76, 81: 08-17 13:30:00 - 08-17 14:00:00 @ 22.3, 82: 08-17 14:00:00 - 08-17 14:30:00 @ 21.41, 83: 08-17 14:30:00 - 08-17 15:00:00 @ 21.65, 84: 08-17 15:00:00 - 08-17 15:30:00 @ 22.95, 85: 08-17 15:30:00 - 08-17 16:00:00 @ 22.83, 86: 08-17 16:00:00 - 08-17 16:30:00 @ 36.84, 87: 08-17 16:30:00 - 08-17 17:00:00 @ 37.54, 88: 08-17 17:00:00 - 08-17 17:30:00 @ 41.79, 89: 08-17 17:30:00 - 08-17 18:00:00 @ 43.7, 90: 08-17 18:00:00 - 08-17 18:30:00 @ 44.34, 91: 08-17 19:00:00 - 08-17 19:30:00 @ 34.79, 92: 08-17 19:30:00 - 08-17 20:00:00 @ 34.76, 93: 08-17 20:00:00 - 08-17 20:30:00 @ 35.62]
2026-08-15 20:30:04.312698: Inverter 0 Charge window will be: 2026-08-16 11:00:00+01:00 - 2026-08-16 16:00:00+01:00 - current SoC 91%, target 16%
2026-08-15 20:30:04.312898: Inverter 0 disabled charge window while waiting for schedule (now 08-15 20:30:00 target set_window_minutes 30 charge start time 08-16 11:00:00) original inverter start time 08-17 00:00:00
2026-08-15 20:30:04.313219: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 20:30:04.313677: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 20:30:04.314212: No export window planned
2026-08-15 20:30:04.314448: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 20:30:04.314505: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 20:30:04.314763: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 20:30:04.315025: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 20:30:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 20:30:04.315117: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 20:30:04.315228: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 20:30:04.315398: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 20:30:04.315491: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 20:30:04.315585: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 20:30:04.315642: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 20:30:04.315693: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 20:30:04.315746: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 20:30:04.315796: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 20:30:04.315906: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 20:30:04.315952: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 20:30:04.315979: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 20:30:04.316005: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 20:30:04.316029: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 20:30:04.316058: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 20:30:04.316081: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 20:30:04.316108: Inverter 0 count register writes 0
2026-08-15 20:30:04.350783: Will not recompute the plan, it is 5.0 minutes old and max age is 10 minutes
2026-08-15 20:30:04.359008: Total inverter register writes now 826
2026-08-15 20:30:04.395084: Info: Completed run status Demand
2026-08-15 20:30:04.400712: Info: record_status Demand
2026-08-15 20:30:04.407397: Saved current settings to /config/predbat_config.json
2026-08-15 20:30:04.407703: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 20:30:41.521792: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 20:30:41.522090: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 20:30:41.522153: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 20:30:41.522422: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 20:30:41.522475: Note: Inverter does not support discharge freeze - disabled
2026-08-15 20:30:41.522502: Note: Inverter does not support charge freeze - disabled
2026-08-15 20:30:41.522545: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 20:32:41.743459: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 20:32:41.743708: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 20:32:41.743745: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 20:32:41.743881: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 20:32:41.743920: Note: Inverter does not support discharge freeze - disabled
2026-08-15 20:32:41.743942: Note: Inverter does not support charge freeze - disabled
2026-08-15 20:32:41.743960: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 20:34:41.963445: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 20:34:41.963697: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 20:34:41.964189: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 20:34:41.964445: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 20:34:41.964491: Note: Inverter does not support discharge freeze - disabled
2026-08-15 20:34:41.964517: Note: Inverter does not support charge freeze - disabled
2026-08-15 20:34:41.964550: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 20:35:00.061503: --------------- PredBat - update at 2026-08-15 20:35:00+01:00 with clock skew 0 minutes, minutes now 1235
2026-08-15 20:35:00.062541: Saved current settings to /config/predbat_config.json
2026-08-15 20:35:00.062717: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 5.0 minutes
2026-08-15 20:35:00.062865: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.2, latest beta is v8.48.2
2026-08-15 20:35:00.062989: Autoupdate: There is an update pending v8.48.2 PV90 and second pass enabled by default, bug fixes - auto update is off
2026-08-15 20:35:00.085641: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 20:35:00.085854: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 20:35:00.086095: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 20:35:00.086772: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 20:35:00.086963: Predbat mode is set to Control charge & discharge
2026-08-15 20:35:00.275297: Found 21602 load_today datapoints going back 28 days
2026-08-15 20:35:00.275950: Using load_power data to fill gaps in load_today data
2026-08-15 20:35:01.096019: Processing 721 30-minute periods for power integration
2026-08-15 20:35:01.280397: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 20:35:01.280525: Car charging hold False, threshold 6.0kWh
2026-08-15 20:35:01.280567: Current data so far today: load 10.05kWh, import 27.7kWh, export 0.0kWh, PV 0kWh
2026-08-15 20:35:01.299107: Cars: SoC: [9.962]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 20:35:01.300289: Standing charge is set to 49.98p
2026-08-15 20:35:01.353450: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 20:35:01.353544: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 20:35:01.353723: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 595.0 minutes
2026-08-15 20:35:01.354041: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 595.0 minutes
2026-08-15 20:35:01.359116: Loaded 95 datapoints of futurerate analysis
2026-08-15 20:35:01.489700: Predicted future rates: ['08-15 00:00:00 => 28.69 / 20.01', '08-15 01:00:00 => 27.33 / 19.31', '08-15 02:00:00 => 26.31 / 18.8', '08-15 03:00:00 => 25.78 / 18.53', '08-15 04:00:00 => 25.59 / 18.43', '08-15 05:00:00 => 25.75 / 18.51', '08-15 06:00:00 => 25.34 / 18.3', '08-15 07:00:00 => 24.12 / 17.68', '08-15 08:00:00 => 22.82 / 17.01', '08-15 09:00:00 => 21.84 / 16.51', '08-15 10:00:00 => 20.22 / 15.68', '08-15 11:00:00 => 17.8 / 14.45', '08-15 12:00:00 => 16.16 / 13.61', '08-15 13:00:00 => 15.55 / 13.3', '08-15 14:00:00 => 15.14 / 13.09', '08-15 15:00:00 => 15.65 / 13.35', '08-15 16:00:00 => 32.68 / 16.13', '08-15 17:00:00 => 37.81 / 18.75', '08-15 18:00:00 => 42.15 / 20.96', '08-15 19:00:00 => 30.88 / 21.13', '08-15 20:00:00 => 31.43 / 21.41', '08-15 21:00:00 => 31.43 / 21.41', '08-15 22:00:00 => 30.37 / 20.87', '08-15 23:00:00 => 29.16 / 20.25', '08-16 00:00:00 => 28.62 / 19.97', '08-16 01:00:00 => 27.52 / 19.41', '08-16 02:00:00 => 26.55 / 18.92', '08-16 03:00:00 => 26.18 / 18.73', '08-16 04:00:00 => 26.12 / 18.7', '08-16 05:00:00 => 26.02 / 18.65', '08-16 06:00:00 => 25.78 / 18.53', '08-16 07:00:00 => 25.43 / 18.35', '08-16 08:00:00 => 24.63 / 17.94', '08-16 09:00:00 => 24.05 / 17.64', '08-16 10:00:00 => 24.59 / 17.92', '08-16 11:00:00 => 24.5 / 17.87', '08-16 12:00:00 => 23.58 / 17.4', '08-16 13:00:00 => 22.93 / 17.07', '08-16 14:00:00 => 21.8 / 16.49', '08-16 15:00:00 => 21.8 / 16.49', '08-16 16:00:00 => 36.93 / 18.3', '08-16 17:00:00 => 39.92 / 19.83', '08-16 18:00:00 => 43.98 / 21.9', '08-16 19:00:00 => 32.83 / 22.13']
2026-08-15 20:35:01.532202: Rate min forward looking: now 21.41p at end of forecast 21.41p
2026-08-15 20:35:01.533081: Import rates: min 21.41p, max 45.28p, average 28.57p
2026-08-15 20:35:01.569449: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 20:35:01.569580: Rate thresholds (for charge/export) are import 44.78p (0.0p), export -0.1p (0.0p)
2026-08-15 20:35:01.570790: High export rate found rates in range 99p to -99p
2026-08-15 20:35:01.655187: Low Import rate found rates in range 21.41p to 44.34p
2026-08-15 20:35:01.655304: Car 0 charging is not planned as it is not plugged in
2026-08-15 20:35:01.666976: Battery level now 14.56kWh, -1hr ago 14.88kWh, at midnight 1.66kWh, battery value change in the last hour -5.89p, change today 237.34p, rate_forward 18.39p
2026-08-15 20:35:01.667294: Last hour: net energy 0.0kWh, import 0.0kWh, export 0.0kWh, car 0kWh, load 0.35kWh, net cost 0.0p, import 0.0p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 20:35:01.721574: Today's energy total net 27.7kWh, import 27.7kWh, export 0.0kWh, cost 570.18p, import 520.2p, export 0.0p, carbon 0.0kg
2026-08-15 20:35:01.721720: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 20:35:01.802925: Using weighted-bucket historical load forecast over 14 days
2026-08-15 20:35:01.829377: Today's load divergence 83.45%, in-day adjustment 92.75%, damping 0.95x, yesterday 143.77% today 84.28% blend 14.24%
2026-08-15 20:35:01.829463: Today's predicted so far 12.36kWh with 0.0kWh car/iBoost excluded, 20.86kWh import ignored, and 12.36kWh forecast extra.
2026-08-15 20:35:01.829512: Today's actual load so far 10.21kWh with 0.0kWh car/iBoost excluded, and 20.86kWh import ignored.
2026-08-15 20:35:01.864751: Inverter 0: Type SK Sunsynk
2026-08-15 20:35:01.864849: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 20:35:01.865078: Reserve min: 7%, battery_min: 7%
2026-08-15 20:35:01.865164: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 20:35:01.865469: Inverter 0 SoC: 14.56kW 91%, current charge rate 5000W, current discharge rate 5250W, current battery power 241W, current battery voltage 51.2V, grid power -54W, load power 304W, PV Power 0W
2026-08-15 20:35:01.865631: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 20:35:01.865746: Inverter 0 scheduled charge enable is False
2026-08-15 20:35:01.865787: Inverter 0 charge windows currently []
2026-08-15 20:35:01.865815: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 20:35:01.865931: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 20:35:01.865966: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 20:35:01.866002: Inverter 0 scheduled discharge enable is False
2026-08-15 20:35:01.866154: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 20:35:01.866192: Inverter 0 discharge windows currently []
2026-08-15 20:35:01.866214: Note: Inverter does not support discharge freeze - disabled
2026-08-15 20:35:01.866233: Note: Inverter does not support charge freeze - disabled
2026-08-15 20:35:01.866251: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 20:35:01.923383: Dynamic load last period 0.30kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 20:35:01.923529: Plan was last updated on 2026-08-15 20:25:00+01:00 and is now 10.0 minutes old
2026-08-15 20:35:01.923784: Best charge window [ 16-08 11:00:00 - 16-08 12:30:00 @ 23.65p 16%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 31%, 16-08 13:30:00 - 16-08 15:00:00 @ 21.91p 100%, 16-08 15:00:00 - 16-08 16:00:00 @ 22.89p 75%, 17-08 12:30:00 - 17-08 18:00:00 @ 40.7p 100% ]
2026-08-15 20:35:01.923825: Best export window [  ]
2026-08-15 20:35:01.924511: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 20:35:01.927067: Load divergence over 8.0 hours mean 803.16W, min 390.6W, max 2423.4W, std dev 467.91W, divergence 29.13%
2026-08-15 20:35:01.942292: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 20:35:01.942442: LoadML is_calculating False
2026-08-15 20:35:01.942509: Creating pool of 12 processes to match your CPU count
2026-08-15 20:35:02.049503: predict base end_record 08-17 12:40:00, final soc 1.12kWh, metric 1080.12p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 15:20:00, load 36.47kWh, PV 0.0kWh
2026-08-15 20:35:02.169263: Battery has 18.75 hours left - now at 14.56kWh
2026-08-15 20:35:02.216175: predict base10 end_record 08-17 12:40:00, final soc 1.12kWh, metric 1112.88p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 14:30:00, load 37.73kWh, PV 0.0kWh
2026-08-15 20:35:02.295417: predict best10 end_record 08-17 12:40:00, final soc 1.77kWh, metric 1059.5p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 06:10:00, load 37.73kWh, PV 0.0kWh
2026-08-15 20:35:02.376123: predict best end_record 08-17 12:40:00, final soc 1.9kWh, metric 1029.52p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 07:10:00, load 36.47kWh, PV 0.0kWh
2026-08-15 20:35:02.376219: Saving plan best values to HA entities
2026-08-15 20:35:02.548976: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 20:35:02.553910: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 20:35:02.558967: Best charging limit SoC's [2.5, 5.0, 16.0, 12.0, 16.0]kWh, export []kWh gives import battery 12.71kWh, house 3.28kWh, export 0.0kWh, metric 1029.52p, metric10 1059.5p
2026-08-15 20:35:02.631049: Marginal costs baseline metric (no standing charge): 929.5535
2026-08-15 20:35:02.859092: Marginal energy costs matrix computed: min=24.37 max=28.54
2026-08-15 20:35:02.932731: Rate array import [{'start': 1235, 'end': 1410, 'rate': 'expensive', 'range': '(29.8p - 32.1p)'}, {'start': 1410, 'end': 2400, 'rate': 'cheap', 'range': '(21.4p - 28.2p)'}, {'start': 2400, 'end': 2430, 'rate': 'expensive', 'range': '(36.8p)'}, {'start': 2430, 'end': 2580, 'rate': 'very expensive', 'range': '(37.5p - 45.3p)'}, {'start': 2580, 'end': 2850, 'rate': 'expensive', 'range': '(30.0p - 35.9p)'}, {'start': 2850, 'end': 3640, 'rate': 'cheap', 'range': '(22.3p - 28.2p)'}] export [{'start': 1235, 'end': 3640, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 20:35:02.933456: - Your estimated bill for today is £5.70 and tomorrow is £3.08
2026-08-15 20:35:02.933500: - Import rates are expensive (29.8p - 32.1p) for the next 2  hours and then cheap (21.4p - 28.2p) for the next 16 hours.
2026-08-15 20:35:02.933519: - The battery is currently at 91% and is in eco mode for the next 14 hours.
2026-08-15 20:35:02.933534: - For the next 48 hours there will be no solar generation.
2026-08-15 20:35:02.933564: - You will run out of battery in 34 hours.
2026-08-15 20:35:02.933579: - Your next charge slot will be in 14 hours where import rates will be cheap (24.3p).
2026-08-15 20:35:02.933593: 
2026-08-15 20:35:02.992805: Plan calculation took 1.07 seconds
2026-08-15 20:35:02.995944: No high rate period found
2026-08-15 20:35:03.045678: Import threshold used for optimisation was 23.49p
2026-08-15 20:35:03.095925: Low import rate windows [0: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 1: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 2: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 3: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 4: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 5: 08-15 23:00:00 - 08-15 23:30:00 @ 30.02, 6: 08-15 23:30:00 - 08-16 00:00:00 @ 27.8, 7: 08-16 00:00:00 - 08-16 00:30:00 @ 28.18, 8: 08-16 00:30:00 - 08-16 01:00:00 @ 27.38, 9: 08-16 01:00:00 - 08-16 01:30:00 @ 26.7, 10: 08-16 01:30:00 - 08-16 02:00:00 @ 26.31, 11: 08-16 02:00:00 - 08-16 02:30:00 @ 25.79, 12: 08-16 02:30:00 - 08-16 03:00:00 @ 25.86, 13: 08-16 03:00:00 - 08-16 03:30:00 @ 26.13, 14: 08-16 03:30:00 - 08-16 04:00:00 @ 25.86, 15: 08-16 04:00:00 - 08-16 04:30:00 @ 26.27, 16: 08-16 04:30:00 - 08-16 05:00:00 @ 26.14, 17: 08-16 05:00:00 - 08-16 05:30:00 @ 27.03, 18: 08-16 05:30:00 - 08-16 06:00:00 @ 26.28, 19: 08-16 06:00:00 - 08-16 06:30:00 @ 25.68, 20: 08-16 06:30:00 - 08-16 07:00:00 @ 26.1, 21: 08-16 07:00:00 - 08-16 07:30:00 @ 24.28, 22: 08-16 07:30:00 - 08-16 08:00:00 @ 24.94, 23: 08-16 08:00:00 - 08-16 08:30:00 @ 24.06, 24: 08-16 08:30:00 - 08-16 09:00:00 @ 24.39, 25: 08-16 09:00:00 - 08-16 09:30:00 @ 24.66, 26: 08-16 09:30:00 - 08-16 10:00:00 @ 24.06, 27: 08-16 10:00:00 - 08-16 10:30:00 @ 25.5, 28: 08-16 10:30:00 - 08-16 11:00:00 @ 24.94, 29: 08-16 11:00:00 - 08-16 11:30:00 @ 24.25, 30: 08-16 11:30:00 - 08-16 12:00:00 @ 23.49, 31: 08-16 12:00:00 - 08-16 12:30:00 @ 23.43, 32: 08-16 12:30:00 - 08-16 13:00:00 @ 22.33, 33: 08-16 13:00:00 - 08-16 13:30:00 @ 22.76, 34: 08-16 13:30:00 - 08-16 14:00:00 @ 22.3, 35: 08-16 14:00:00 - 08-16 14:30:00 @ 21.41, 36: 08-16 14:30:00 - 08-16 15:00:00 @ 21.65, 37: 08-16 15:00:00 - 08-16 15:30:00 @ 22.95, 38: 08-16 15:30:00 - 08-16 16:00:00 @ 22.83, 39: 08-16 16:00:00 - 08-16 16:30:00 @ 36.84, 40: 08-16 16:30:00 - 08-16 17:00:00 @ 37.54, 41: 08-16 17:00:00 - 08-16 17:30:00 @ 41.79, 42: 08-16 17:30:00 - 08-16 18:00:00 @ 43.7, 43: 08-16 18:00:00 - 08-16 18:30:00 @ 44.34, 44: 08-16 19:00:00 - 08-16 19:30:00 @ 34.79, 45: 08-16 19:30:00 - 08-16 20:00:00 @ 34.76, 46: 08-16 20:00:00 - 08-16 20:30:00 @ 35.62, 47: 08-16 20:30:00 - 08-16 21:00:00 @ 35.3, 48: 08-16 21:00:00 - 08-16 21:30:00 @ 35.89, 49: 08-16 21:30:00 - 08-16 22:00:00 @ 35.71, 50: 08-16 22:00:00 - 08-16 22:30:00 @ 33.75, 51: 08-16 22:30:00 - 08-16 23:00:00 @ 32.0, 52: 08-16 23:00:00 - 08-16 23:30:00 @ 30.02, 53: 08-16 23:30:00 - 08-17 00:00:00 @ 27.8, 54: 08-17 00:00:00 - 08-17 00:30:00 @ 28.18, 55: 08-17 00:30:00 - 08-17 01:00:00 @ 27.38, 56: 08-17 01:00:00 - 08-17 01:30:00 @ 26.7, 57: 08-17 01:30:00 - 08-17 02:00:00 @ 26.31, 58: 08-17 02:00:00 - 08-17 02:30:00 @ 25.79, 59: 08-17 02:30:00 - 08-17 03:00:00 @ 25.86, 60: 08-17 03:00:00 - 08-17 03:30:00 @ 26.13, 61: 08-17 03:30:00 - 08-17 04:00:00 @ 25.86, 62: 08-17 04:00:00 - 08-17 04:30:00 @ 26.27, 63: 08-17 04:30:00 - 08-17 05:00:00 @ 26.14, 64: 08-17 05:00:00 - 08-17 05:30:00 @ 27.03, 65: 08-17 05:30:00 - 08-17 06:00:00 @ 26.28, 66: 08-17 06:00:00 - 08-17 06:30:00 @ 25.68, 67: 08-17 06:30:00 - 08-17 07:00:00 @ 26.1, 68: 08-17 07:00:00 - 08-17 07:30:00 @ 24.28, 69: 08-17 07:30:00 - 08-17 08:00:00 @ 24.94, 70: 08-17 08:00:00 - 08-17 08:30:00 @ 24.06, 71: 08-17 08:30:00 - 08-17 09:00:00 @ 24.39, 72: 08-17 09:00:00 - 08-17 09:30:00 @ 24.66, 73: 08-17 09:30:00 - 08-17 10:00:00 @ 24.06, 74: 08-17 10:00:00 - 08-17 10:30:00 @ 25.5, 75: 08-17 10:30:00 - 08-17 11:00:00 @ 24.94, 76: 08-17 11:00:00 - 08-17 11:30:00 @ 24.25, 77: 08-17 11:30:00 - 08-17 12:00:00 @ 23.49, 78: 08-17 12:00:00 - 08-17 12:30:00 @ 23.43, 79: 08-17 12:30:00 - 08-17 13:00:00 @ 22.33, 80: 08-17 13:00:00 - 08-17 13:30:00 @ 22.76, 81: 08-17 13:30:00 - 08-17 14:00:00 @ 22.3, 82: 08-17 14:00:00 - 08-17 14:30:00 @ 21.41, 83: 08-17 14:30:00 - 08-17 15:00:00 @ 21.65, 84: 08-17 15:00:00 - 08-17 15:30:00 @ 22.95, 85: 08-17 15:30:00 - 08-17 16:00:00 @ 22.83, 86: 08-17 16:00:00 - 08-17 16:30:00 @ 36.84, 87: 08-17 16:30:00 - 08-17 17:00:00 @ 37.54, 88: 08-17 17:00:00 - 08-17 17:30:00 @ 41.79, 89: 08-17 17:30:00 - 08-17 18:00:00 @ 43.7, 90: 08-17 18:00:00 - 08-17 18:30:00 @ 44.34, 91: 08-17 19:00:00 - 08-17 19:30:00 @ 34.79, 92: 08-17 19:30:00 - 08-17 20:00:00 @ 34.76, 93: 08-17 20:00:00 - 08-17 20:30:00 @ 35.62, 94: 08-17 20:30:00 - 08-17 21:00:00 @ 35.3]
2026-08-15 20:35:03.104115: Inverter 0 Charge window will be: 2026-08-16 11:00:00+01:00 - 2026-08-16 16:00:00+01:00 - current SoC 91%, target 16%
2026-08-15 20:35:03.104248: Inverter 0 disabled charge window while waiting for schedule (now 08-15 20:35:00 target set_window_minutes 30 charge start time 08-16 11:00:00) original inverter start time 08-17 00:00:00
2026-08-15 20:35:03.104372: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 20:35:03.104613: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 20:35:03.104700: No export window planned
2026-08-15 20:35:03.104801: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 20:35:03.104832: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 20:35:03.104981: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 20:35:03.105153: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 20:35:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 20:35:03.105209: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 20:35:03.105268: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 20:35:03.105371: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 20:35:03.105411: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 20:35:03.105436: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 20:35:03.105465: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 20:35:03.105487: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 20:35:03.105508: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 20:35:03.105567: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 20:35:03.105697: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 20:35:03.105762: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 20:35:03.105810: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 20:35:03.105856: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 20:35:03.105881: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 20:35:03.105901: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 20:35:03.105921: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 20:35:03.105957: Inverter 0 count register writes 0
2026-08-15 20:35:03.120908: Will recompute the plan as it is now 10.0 minutes old and will exceed the max age of 10 minutes before the next run
2026-08-15 20:35:03.121095: Recompute is saving previous plan...
2026-08-15 20:35:03.123648: Best charge window [ 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 0%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 30.02p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 27.8p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.18p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.38p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 26.7p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.31p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.79p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 25.86p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.13p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 25.86p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.27p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.14p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 27.03p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.28p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.68p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 26.1p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 24.28p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 24.94p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.06p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.39p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.66p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.06p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 25.5p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 24.94p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 24.25p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 23.49p 0%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.43p 0%, 16-08 12:30:00 - 16-08 13:00:00 @ 22.33p 0%, 16-08 13:00:00 - 16-08 13:30:00 @ 22.76p 0%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 0%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 0%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.65p 0%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.95p 0%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.83p 0%, 16-08 16:00:00 - 16-08 16:30:00 @ 36.84p 0%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.54p 0%, 16-08 17:00:00 - 16-08 17:30:00 @ 41.79p 0%, 16-08 17:30:00 - 16-08 18:00:00 @ 43.7p 0%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.34p 0%, 16-08 19:00:00 - 16-08 19:30:00 @ 34.79p 0%, 16-08 19:30:00 - 16-08 20:00:00 @ 34.76p 0%, 16-08 20:00:00 - 16-08 20:30:00 @ 35.62p 0%, 16-08 20:30:00 - 16-08 21:00:00 @ 35.3p 0%, 16-08 21:00:00 - 16-08 21:30:00 @ 35.89p 0%, 16-08 21:30:00 - 16-08 22:00:00 @ 35.71p 0%, 16-08 22:00:00 - 16-08 22:30:00 @ 33.75p 0%, 16-08 22:30:00 - 16-08 23:00:00 @ 32.0p 0%, 16-08 23:00:00 - 16-08 23:30:00 @ 30.02p 0%, 16-08 23:30:00 - 17-08 00:00:00 @ 27.8p 0%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.18p 0%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.38p 0%, 17-08 01:00:00 - 17-08 01:30:00 @ 26.7p 0%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.31p 0%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.79p 0%, 17-08 02:30:00 - 17-08 03:00:00 @ 25.86p 0%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.13p 0%, 17-08 03:30:00 - 17-08 04:00:00 @ 25.86p 0%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.27p 0%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.14p 0%, 17-08 05:00:00 - 17-08 05:30:00 @ 27.03p 0%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.28p 0%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.68p 0%, 17-08 06:30:00 - 17-08 07:00:00 @ 26.1p 0%, 17-08 07:00:00 - 17-08 07:30:00 @ 24.28p 0%, 17-08 07:30:00 - 17-08 08:00:00 @ 24.94p 0%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.06p 0%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.39p 0%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.66p 0%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.06p 0%, 17-08 10:00:00 - 17-08 10:30:00 @ 25.5p 0%, 17-08 10:30:00 - 17-08 11:00:00 @ 24.94p 0%, 17-08 11:00:00 - 17-08 11:30:00 @ 24.25p 0%, 17-08 11:30:00 - 17-08 12:00:00 @ 23.49p 0%, 17-08 12:00:00 - 17-08 12:30:00 @ 23.43p 0%, 17-08 12:30:00 - 17-08 13:00:00 @ 22.33p 0%, 17-08 13:00:00 - 17-08 13:30:00 @ 22.76p 0%, 17-08 13:30:00 - 17-08 14:00:00 @ 22.3p 0%, 17-08 14:00:00 - 17-08 14:30:00 @ 21.41p 0%, 17-08 14:30:00 - 17-08 15:00:00 @ 21.65p 0%, 17-08 15:00:00 - 17-08 15:30:00 @ 22.95p 0%, 17-08 15:30:00 - 17-08 16:00:00 @ 22.83p 0%, 17-08 16:00:00 - 17-08 16:30:00 @ 36.84p 0%, 17-08 16:30:00 - 17-08 17:00:00 @ 37.54p 0%, 17-08 17:00:00 - 17-08 17:30:00 @ 41.79p 0%, 17-08 17:30:00 - 17-08 18:00:00 @ 43.7p 0%, 17-08 18:00:00 - 17-08 18:30:00 @ 44.34p 0%, 17-08 19:00:00 - 17-08 19:30:00 @ 34.79p 0%, 17-08 19:30:00 - 17-08 20:00:00 @ 34.76p 0%, 17-08 20:00:00 - 17-08 20:30:00 @ 35.62p 0%, 17-08 20:30:00 - 17-08 21:00:00 @ 35.3p 0% ]
2026-08-15 20:35:03.123716: Best export window [  ]
2026-08-15 20:35:03.124366: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 20:35:03.126937: Load divergence over 8.0 hours mean 803.16W, min 390.6W, max 2423.4W, std dev 467.91W, divergence 29.13%
2026-08-15 20:35:03.141474: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 20:35:03.141579: LoadML is_calculating False
2026-08-15 20:35:03.141642: Creating pool of 12 processes to match your CPU count
2026-08-15 20:35:03.221784: Calculate Best options: mode(Control charge & discharge), calculate_export_oncharge(False), calculate_export_on_pv(True), set_export_freeze_only(False), set_discharge_during_charge(True), combine_charge_slots(False), combine_export_slots(False), combine_rate_threshold(0.0), best_soc_min(0.0 kWh), best_soc_max(0.0 kWh), best_soc_keep(0.0 kWh), inverter_loss(4%), battery_loss(3%), battery_loss_discharge (3%), inverter_hybrid(True), metric_min_improvement(0.0p), metric_min_improvement_export(0.1p), metric_min_improvement_export_freeze(0.1p), metric_battery_cycle(0.0p/kWh), metric_battery_value_scaling(1.0 x) 
2026-08-15 20:35:03.223672: Optimise levels pass started at 2026-08-15 20:35:03
2026-08-15 20:35:03.223744: Optimise all windows, total charge 94 export 1
2026-08-15 20:35:04.060998: >> Region optimisation pass width 960 gives best_metric 1020.76p, best_cost 1056.5p, best_cycle 39.91kWh, best_import 21.81kWh
2026-08-15 20:35:04.447990: >> Region optimisation pass width 480 gives best_metric 1020.76p, best_cost 1056.5p, best_cycle 39.91kWh, best_import 21.81kWh
2026-08-15 20:35:04.898342: >> Region optimisation pass width 240 gives best_metric 1020.76p, best_cost 1056.5p, best_cycle 39.91kWh, best_import 21.81kWh
2026-08-15 20:35:05.993469: >> Region optimisation pass width 120 gives best_metric 1020.76p, best_cost 1056.5p, best_cycle 39.91kWh, best_import 21.81kWh
2026-08-15 20:35:05.993858: Calculated end_record as 08-17 12:30:00 based on best_price 22.33p, next_charge_start 08-16 12:30:00, max_windows 79
2026-08-15 20:35:05.993952: Optimise levels pass ended at 2026-08-15 20:35:05, duration 2.8 seconds tried 305 combinations
2026-08-15 20:35:05.994053: Set best_price_charge_level 24.0p, best_price_export_level 0p, best_price_charge 22.33p, best_cost_export 0p, best_metric 1020.76p, best_keep 0kWh, best_cycle 39.91kWh, best_carbon 0kg, best_import 21.81kWh
2026-08-15 20:35:06.011255: Starting detailed optimisation end_record 08-17 12:30:00, best_price_charge 22.33p, best_price_export 0p. lowest_price_charge 21.41p with charge limits [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 0, 16.0, 16.0, 16.0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0]kWh and export limits []kWh
2026-08-15 20:35:11.481233: Tweak plan optimisation started metric 891.8p, cost 907.7p
2026-08-15 20:35:11.749268: Tweak optimisation finished metric 891.8p, cost 907.7p, metric_keep 0kWh, cycle 30.69kWh, carbon 0kg, import 15.03kWh, changed 8 window(s)
2026-08-15 20:35:11.766389: Swap charge optimisation started metric 891.8p, cost 907.7p, min_improvement_swap 0.1p
2026-08-15 20:35:18.607943: Swap charge optimisation finished metric 891.8p, cost 907.7p
2026-08-15 20:35:18.738665: Pruned 2 dead plan slot(s) in 10 trial(s), nominal metric 887.1p -> 887.1p, plan now metric 892.03p, cost 907.7p, cycle 30.69kWh, import 15.03kWh
2026-08-15 20:35:18.753890: Raw charge windows [ 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 0%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 30.02p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 27.8p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.18p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.38p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 26.7p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.31p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.79p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 25.86p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.13p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 25.86p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.27p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.14p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 27.03p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.28p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.68p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 26.1p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 24.28p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 24.94p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.06p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.39p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.66p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.06p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 25.5p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 24.94p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 24.25p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 23.49p 0%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.43p 22%, 16-08 12:30:00 - 16-08 13:00:00 @ 22.33p 34%, 16-08 13:00:00 - 16-08 13:30:00 @ 22.76p 34%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 100%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 100%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.65p 100%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.95p 78%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.83p 78%, 16-08 16:00:00 - 16-08 16:30:00 @ 36.84p 0%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.54p 0%, 16-08 17:00:00 - 16-08 17:30:00 @ 41.79p 0%, 16-08 17:30:00 - 16-08 18:00:00 @ 43.7p 0%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.34p 0%, 16-08 19:00:00 - 16-08 19:30:00 @ 34.79p 0%, 16-08 19:30:00 - 16-08 20:00:00 @ 34.76p 0%, 16-08 20:00:00 - 16-08 20:30:00 @ 35.62p 0%, 16-08 20:30:00 - 16-08 21:00:00 @ 35.3p 0%, 16-08 21:00:00 - 16-08 21:30:00 @ 35.89p 0%, 16-08 21:30:00 - 16-08 22:00:00 @ 35.71p 0%, 16-08 22:00:00 - 16-08 22:30:00 @ 33.75p 0%, 16-08 22:30:00 - 16-08 23:00:00 @ 32.0p 0%, 16-08 23:00:00 - 16-08 23:30:00 @ 30.02p 0%, 16-08 23:30:00 - 17-08 00:00:00 @ 27.8p 0%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.18p 0%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.38p 0%, 17-08 01:00:00 - 17-08 01:30:00 @ 26.7p 0%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.31p 0%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.79p 0%, 17-08 02:30:00 - 17-08 03:00:00 @ 25.86p 0%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.13p 0%, 17-08 03:30:00 - 17-08 04:00:00 @ 25.86p 0%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.27p 0%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.14p 0%, 17-08 05:00:00 - 17-08 05:30:00 @ 27.03p 0%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.28p 0%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.68p 0%, 17-08 06:30:00 - 17-08 07:00:00 @ 26.1p 0%, 17-08 07:00:00 - 17-08 07:30:00 @ 24.28p 0%, 17-08 07:30:00 - 17-08 08:00:00 @ 24.94p 0%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.06p 0%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.39p 0%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.66p 0%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.06p 0%, 17-08 10:00:00 - 17-08 10:30:00 @ 25.5p 0%, 17-08 10:30:00 - 17-08 11:00:00 @ 24.94p 0%, 17-08 11:00:00 - 17-08 11:30:00 @ 24.25p 0%, 17-08 11:30:00 - 17-08 12:00:00 @ 23.49p 0%, 17-08 12:00:00 - 17-08 12:30:00 @ 23.43p 0%, 17-08 12:30:00 - 17-08 13:00:00 @ 22.33p 100%, 17-08 13:00:00 - 17-08 13:30:00 @ 22.76p 100%, 17-08 13:30:00 - 17-08 14:00:00 @ 22.3p 100%, 17-08 14:00:00 - 17-08 14:30:00 @ 21.41p 100%, 17-08 14:30:00 - 17-08 15:00:00 @ 21.65p 100%, 17-08 15:00:00 - 17-08 15:30:00 @ 22.95p 100%, 17-08 15:30:00 - 17-08 16:00:00 @ 22.83p 100%, 17-08 16:00:00 - 17-08 16:30:00 @ 36.84p 100%, 17-08 16:30:00 - 17-08 17:00:00 @ 37.54p 100%, 17-08 17:00:00 - 17-08 17:30:00 @ 41.79p 100%, 17-08 17:30:00 - 17-08 18:00:00 @ 43.7p 100%, 17-08 18:00:00 - 17-08 18:30:00 @ 44.34p 100%, 17-08 19:00:00 - 17-08 19:30:00 @ 34.79p 100%, 17-08 19:30:00 - 17-08 20:00:00 @ 34.76p 100%, 17-08 20:00:00 - 17-08 20:30:00 @ 35.62p 100%, 17-08 20:30:00 - 17-08 21:00:00 @ 35.3p 100% ] reserve 1.12
2026-08-15 20:35:18.754628: Unclipped charge windows [ 16-08 12:00:00 - 16-08 12:30:00 @ 23.43p 22%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 34%, 16-08 13:30:00 - 16-08 15:00:00 @ 21.75p 100%, 16-08 15:00:00 - 16-08 16:00:00 @ 22.89p 78%, 17-08 12:30:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 17-08 21:00:00 @ 35.25p 100% ] reserve 1.12
2026-08-15 20:35:18.754952: Unfiltered charge windows [ 16-08 12:00:00 - 16-08 12:30:00 @ 23.43p 22%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 34%, 16-08 13:30:00 - 16-08 15:00:00 @ 21.75p 100%, 16-08 15:00:00 - 16-08 16:00:00 @ 22.89p 78%, 17-08 12:30:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 17-08 21:00:00 @ 35.25p 100% ] reserve 1.12
2026-08-15 20:35:18.755208: Filtered charge windows [ 16-08 12:00:00 - 16-08 12:30:00 @ 23.43p 22%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 34%, 16-08 13:30:00 - 16-08 15:00:00 @ 21.75p 100%, 16-08 15:00:00 - 16-08 16:00:00 @ 22.89p 78%, 17-08 12:30:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 17-08 21:00:00 @ 35.25p 100% ] reserve 1.12
2026-08-15 20:35:18.796163: Previous plan best metric is 892.4 (cost 908.06) and new plan best metric is 891.8 (cost 907.7)
2026-08-15 20:35:18.796479: New plan metric is not significantly better (metric_min_improvement_plan 2.0) than previous plan, using previous plan
2026-08-15 20:35:18.796731: Plan valid is now true after recompute was False
2026-08-15 20:35:18.828046: predict base end_record 08-17 12:30:00, final soc 1.12kWh, metric 1077.24p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 15:20:00, load 36.34kWh, PV 0.0kWh
2026-08-15 20:35:18.953769: Battery has 18.75 hours left - now at 14.56kWh
2026-08-15 20:35:19.001055: predict base10 end_record 08-17 12:30:00, final soc 1.12kWh, metric 1109.86p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 14:30:00, load 37.59kWh, PV 0.0kWh
2026-08-15 20:35:19.084935: predict best10 end_record 08-17 12:30:00, final soc 1.12kWh, metric 1040.97p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 06:10:00, load 37.59kWh, PV 0.0kWh
2026-08-15 20:35:19.188657: predict best end_record 08-17 12:30:00, final soc 1.12kWh, metric 1008.03p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 07:10:00, load 36.34kWh, PV 0.0kWh
2026-08-15 20:35:19.188757: Saving plan best values to HA entities
2026-08-15 20:35:19.374423: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 20:35:19.383102: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 20:35:19.389831: Best charging limit SoC's [2.5, 5.0, 16.0, 12.0, 16.0]kWh, export []kWh gives import battery 11.74kWh, house 3.28kWh, export 0.0kWh, metric 1008.03p, metric10 1040.97p
2026-08-15 20:35:19.468740: Marginal costs baseline metric (no standing charge): 908.059
2026-08-15 20:35:19.718912: Marginal energy costs matrix computed: min=24.37 max=28.54
2026-08-15 20:35:19.806059: Rate array import [{'start': 1235, 'end': 1410, 'rate': 'expensive', 'range': '(29.8p - 32.1p)'}, {'start': 1410, 'end': 2400, 'rate': 'cheap', 'range': '(21.4p - 28.2p)'}, {'start': 2400, 'end': 2430, 'rate': 'expensive', 'range': '(36.8p)'}, {'start': 2430, 'end': 2580, 'rate': 'very expensive', 'range': '(37.5p - 45.3p)'}, {'start': 2580, 'end': 2850, 'rate': 'expensive', 'range': '(30.0p - 35.9p)'}, {'start': 2850, 'end': 3630, 'rate': 'cheap', 'range': '(23.4p - 28.2p)'}] export [{'start': 1235, 'end': 3630, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 20:35:19.806884: - Your estimated bill for today is £5.70 and tomorrow is £3.08
2026-08-15 20:35:19.806934: - Import rates are expensive (29.8p - 32.1p) for the next 2  hours and then cheap (21.4p - 28.2p) for the next 16 hours.
2026-08-15 20:35:19.806976: - The battery is currently at 91% and is in eco mode for the next 14 hours.
2026-08-15 20:35:19.806995: - For the next 48 hours there will be no solar generation.
2026-08-15 20:35:19.807014: - You will run out of battery in 34 hours.
2026-08-15 20:35:19.807031: - Your next charge slot will be in 14 hours where import rates will be cheap (24.3p).
2026-08-15 20:35:19.807050: 
2026-08-15 20:35:19.871035: Plan calculation took 16.75 seconds
2026-08-15 20:35:19.871429: Inverter 0: Type SK Sunsynk
2026-08-15 20:35:19.871479: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 20:35:19.871713: Reserve min: 7%, battery_min: 7%
2026-08-15 20:35:19.871796: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 20:35:19.872150: Inverter 0 SoC: 14.56kW 91%, current charge rate 5000W, current discharge rate 5250W, current battery power 241W, current battery voltage 51.2V, grid power -54W, load power 304W, PV Power 0W
2026-08-15 20:35:19.872408: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 20:35:19.872518: Inverter 0 scheduled charge enable is False
2026-08-15 20:35:19.872557: Inverter 0 charge windows currently []
2026-08-15 20:35:19.872587: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 20:35:19.872705: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 20:35:19.872741: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 20:35:19.872777: Inverter 0 scheduled discharge enable is False
2026-08-15 20:35:19.872917: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 20:35:19.872986: Inverter 0 discharge windows currently []
2026-08-15 20:35:19.873015: Note: Inverter does not support discharge freeze - disabled
2026-08-15 20:35:19.873034: Note: Inverter does not support charge freeze - disabled
2026-08-15 20:35:19.873052: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 20:35:19.940373: Inverter 0 Charge window will be: 2026-08-16 11:00:00+01:00 - 2026-08-16 16:00:00+01:00 - current SoC 91%, target 16%
2026-08-15 20:35:19.940614: Inverter 0 disabled charge window while waiting for schedule (now 08-15 20:35:00 target set_window_minutes 30 charge start time 08-16 11:00:00) original inverter start time 08-17 00:00:00
2026-08-15 20:35:19.940752: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 20:35:19.941144: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 20:35:19.941289: No export window planned
2026-08-15 20:35:19.941515: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 20:35:19.941580: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 20:35:19.941832: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 20:35:19.942118: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 20:35:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 20:35:19.942210: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 20:35:19.942324: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 20:35:19.942516: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 20:35:19.942607: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 20:35:19.942682: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 20:35:19.942790: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 20:35:19.942863: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 20:35:19.942920: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 20:35:19.942976: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 20:35:19.943122: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 20:35:19.943203: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 20:35:19.943261: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 20:35:19.943318: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 20:35:19.943399: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 20:35:19.943465: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 20:35:19.943513: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 20:35:19.943551: Inverter 0 count register writes 0
2026-08-15 20:35:19.974059: Total inverter register writes now 826
2026-08-15 20:35:20.020784: Info: Completed run status Demand
2026-08-15 20:35:20.028532: Info: record_status Demand
2026-08-15 20:35:20.036146: Saved current settings to /config/predbat_config.json
2026-08-15 20:35:20.036554: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 20:35:57.153453: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 20:35:57.153704: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 20:35:57.153761: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 20:35:57.153926: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 20:35:57.153966: Note: Inverter does not support discharge freeze - disabled
2026-08-15 20:35:57.153988: Note: Inverter does not support charge freeze - disabled
2026-08-15 20:35:57.154005: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 20:37:57.382005: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 20:37:57.382249: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 20:37:57.382284: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 20:37:57.382482: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 20:37:57.382544: Note: Inverter does not support discharge freeze - disabled
2026-08-15 20:37:57.382566: Note: Inverter does not support charge freeze - disabled
2026-08-15 20:37:57.382584: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 20:40:00.606783: --------------- PredBat - update at 2026-08-15 20:40:00+01:00 with clock skew 0 minutes, minutes now 1240
2026-08-15 20:40:00.607684: Saved current settings to /config/predbat_config.json
2026-08-15 20:40:00.607824: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 10.0 minutes
2026-08-15 20:40:00.607914: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.2, latest beta is v8.48.2
2026-08-15 20:40:00.608051: Autoupdate: There is an update pending v8.48.2 PV90 and second pass enabled by default, bug fixes - auto update is off
2026-08-15 20:40:00.629434: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 20:40:00.629546: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 20:40:00.629750: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 20:40:00.630264: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 20:40:00.630416: Predbat mode is set to Control charge & discharge
2026-08-15 20:40:00.813596: Found 21602 load_today datapoints going back 28 days
2026-08-15 20:40:00.813740: Using load_power data to fill gaps in load_today data
2026-08-15 20:40:01.530898: Processing 721 30-minute periods for power integration
2026-08-15 20:40:01.689936: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 20:40:01.690072: Car charging hold False, threshold 6.0kWh
2026-08-15 20:40:01.690111: Current data so far today: load 10.0kWh, import 27.7kWh, export 0.0kWh, PV 0kWh
2026-08-15 20:40:01.704608: Cars: SoC: [9.962]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 20:40:01.705018: Standing charge is set to 49.98p
2026-08-15 20:40:01.747457: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 20:40:01.747553: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 20:40:01.747728: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 600.0 minutes
2026-08-15 20:40:01.748040: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 600.0 minutes
2026-08-15 20:40:01.752867: Loaded 95 datapoints of futurerate analysis
2026-08-15 20:40:01.879483: Predicted future rates: ['08-15 00:00:00 => 28.69 / 20.01', '08-15 01:00:00 => 27.33 / 19.31', '08-15 02:00:00 => 26.31 / 18.8', '08-15 03:00:00 => 25.78 / 18.53', '08-15 04:00:00 => 25.59 / 18.43', '08-15 05:00:00 => 25.75 / 18.51', '08-15 06:00:00 => 25.34 / 18.3', '08-15 07:00:00 => 24.12 / 17.68', '08-15 08:00:00 => 22.82 / 17.01', '08-15 09:00:00 => 21.84 / 16.51', '08-15 10:00:00 => 20.22 / 15.68', '08-15 11:00:00 => 17.8 / 14.45', '08-15 12:00:00 => 16.16 / 13.61', '08-15 13:00:00 => 15.55 / 13.3', '08-15 14:00:00 => 15.14 / 13.09', '08-15 15:00:00 => 15.65 / 13.35', '08-15 16:00:00 => 32.68 / 16.13', '08-15 17:00:00 => 37.81 / 18.75', '08-15 18:00:00 => 42.15 / 20.96', '08-15 19:00:00 => 30.88 / 21.13', '08-15 20:00:00 => 31.43 / 21.41', '08-15 21:00:00 => 31.43 / 21.41', '08-15 22:00:00 => 30.37 / 20.87', '08-15 23:00:00 => 29.16 / 20.25', '08-16 00:00:00 => 28.62 / 19.97', '08-16 01:00:00 => 27.52 / 19.41', '08-16 02:00:00 => 26.55 / 18.92', '08-16 03:00:00 => 26.18 / 18.73', '08-16 04:00:00 => 26.12 / 18.7', '08-16 05:00:00 => 26.02 / 18.65', '08-16 06:00:00 => 25.78 / 18.53', '08-16 07:00:00 => 25.43 / 18.35', '08-16 08:00:00 => 24.63 / 17.94', '08-16 09:00:00 => 24.05 / 17.64', '08-16 10:00:00 => 24.59 / 17.92', '08-16 11:00:00 => 24.5 / 17.87', '08-16 12:00:00 => 23.58 / 17.4', '08-16 13:00:00 => 22.93 / 17.07', '08-16 14:00:00 => 21.8 / 16.49', '08-16 15:00:00 => 21.8 / 16.49', '08-16 16:00:00 => 36.93 / 18.3', '08-16 17:00:00 => 39.92 / 19.83', '08-16 18:00:00 => 43.98 / 21.9', '08-16 19:00:00 => 32.83 / 22.13']
2026-08-15 20:40:01.918247: Rate min forward looking: now 21.41p at end of forecast 21.41p
2026-08-15 20:40:01.918749: Import rates: min 21.41p, max 45.28p, average 28.58p
2026-08-15 20:40:01.957370: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 20:40:01.957489: Rate thresholds (for charge/export) are import 44.78p (0.0p), export -0.1p (0.0p)
2026-08-15 20:40:01.958756: High export rate found rates in range 99p to -99p
2026-08-15 20:40:02.046711: Low Import rate found rates in range 21.41p to 44.34p
2026-08-15 20:40:02.046840: Car 0 charging is not planned as it is not plugged in
2026-08-15 20:40:02.057922: Battery level now 14.56kWh, -1hr ago 14.88kWh, at midnight 1.66kWh, battery value change in the last hour -5.89p, change today 237.34p, rate_forward 18.39p
2026-08-15 20:40:02.058290: Last hour: net energy 0.0kWh, import 0.0kWh, export 0.0kWh, car 0kWh, load 0.28kWh, net cost 0.0p, import 0.0p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 20:40:02.123064: Today's energy total net 27.7kWh, import 27.7kWh, export 0.0kWh, cost 570.18p, import 520.2p, export 0.0p, carbon 0.0kg
2026-08-15 20:40:02.123397: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 20:40:02.206632: Using weighted-bucket historical load forecast over 14 days
2026-08-15 20:40:02.232621: Today's load divergence 82.44%, in-day adjustment 91.71%, damping 0.95x, yesterday 143.77% today 83.32% blend 13.89%
2026-08-15 20:40:02.232727: Today's predicted so far 12.38kWh with 0.0kWh car/iBoost excluded, 20.92kWh import ignored, and 12.38kWh forecast extra.
2026-08-15 20:40:02.232760: Today's actual load so far 10.11kWh with 0.0kWh car/iBoost excluded, and 20.92kWh import ignored.
2026-08-15 20:40:02.263791: Inverter 0: Type SK Sunsynk
2026-08-15 20:40:02.263885: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 20:40:02.264085: Reserve min: 7%, battery_min: 7%
2026-08-15 20:40:02.264178: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 20:40:02.264475: Inverter 0 SoC: 14.56kW 91%, current charge rate 5000W, current discharge rate 5250W, current battery power 291W, current battery voltage 51.2V, grid power -56W, load power 352W, PV Power 0W
2026-08-15 20:40:02.264636: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 20:40:02.264728: Inverter 0 scheduled charge enable is False
2026-08-15 20:40:02.264757: Inverter 0 charge windows currently []
2026-08-15 20:40:02.264782: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 20:40:02.264887: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 20:40:02.265007: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 20:40:02.265048: Inverter 0 scheduled discharge enable is False
2026-08-15 20:40:02.265174: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 20:40:02.265204: Inverter 0 discharge windows currently []
2026-08-15 20:40:02.265225: Note: Inverter does not support discharge freeze - disabled
2026-08-15 20:40:02.265244: Note: Inverter does not support charge freeze - disabled
2026-08-15 20:40:02.265261: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 20:40:02.327124: Dynamic load last period 0.00kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 20:40:02.327233: Plan was last updated on 2026-08-15 20:35:00+01:00 and is now 5.0 minutes old
2026-08-15 20:40:02.327509: Best charge window [ 16-08 11:00:00 - 16-08 12:30:00 @ 23.65p 16%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 31%, 16-08 13:30:00 - 16-08 15:00:00 @ 21.91p 100%, 16-08 15:00:00 - 16-08 16:00:00 @ 22.89p 75%, 17-08 12:30:00 - 17-08 18:00:00 @ 40.7p 100% ]
2026-08-15 20:40:02.327556: Best export window [  ]
2026-08-15 20:40:02.328433: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 20:40:02.331552: Load divergence over 8.0 hours mean 800.09W, min 387.6W, max 2447.4W, std dev 448.31W, divergence 28.02%
2026-08-15 20:40:02.346901: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 20:40:02.347001: LoadML is_calculating False
2026-08-15 20:40:02.347057: Creating pool of 12 processes to match your CPU count
2026-08-15 20:40:02.453141: predict base end_record 08-17 12:35:00, final soc 1.12kWh, metric 1077.35p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 15:30:00, load 36.29kWh, PV 0.0kWh
2026-08-15 20:40:02.581297: Battery has 18.83 hours left - now at 14.56kWh
2026-08-15 20:40:02.620834: predict base10 end_record 08-17 12:35:00, final soc 1.12kWh, metric 1110.14p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 14:35:00, load 37.54kWh, PV 0.0kWh
2026-08-15 20:40:02.704036: predict best10 end_record 08-17 12:35:00, final soc 1.44kWh, metric 1048.74p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 06:10:00, load 37.54kWh, PV 0.0kWh
2026-08-15 20:40:02.775519: predict best end_record 08-17 12:35:00, final soc 1.51kWh, metric 1017.13p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 07:10:00, load 36.29kWh, PV 0.0kWh
2026-08-15 20:40:02.775603: Saving plan best values to HA entities
2026-08-15 20:40:02.943473: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0
2026-08-15 20:40:02.948755: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 20:40:02.954382: Best charging limit SoC's [2.5, 5.0, 16.0, 12.0, 16.0]kWh, export []kWh gives import battery 12.14kWh, house 3.29kWh, export 0.0kWh, metric 1017.13p, metric10 1048.74p
2026-08-15 20:40:03.033038: Marginal costs baseline metric (no standing charge): 917.1643
2026-08-15 20:40:03.253742: Marginal energy costs matrix computed: min=24.35 max=28.52
2026-08-15 20:40:03.359999: Rate array import [{'start': 1240, 'end': 1410, 'rate': 'expensive', 'range': '(29.8p - 32.1p)'}, {'start': 1410, 'end': 2400, 'rate': 'cheap', 'range': '(21.4p - 28.2p)'}, {'start': 2400, 'end': 2430, 'rate': 'expensive', 'range': '(36.8p)'}, {'start': 2430, 'end': 2580, 'rate': 'very expensive', 'range': '(37.5p - 45.3p)'}, {'start': 2580, 'end': 2850, 'rate': 'expensive', 'range': '(30.0p - 35.9p)'}, {'start': 2850, 'end': 3635, 'rate': 'cheap', 'range': '(22.3p - 28.2p)'}] export [{'start': 1240, 'end': 3635, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 20:40:03.360970: - Your estimated bill for today is £5.70 and tomorrow is £3.06
2026-08-15 20:40:03.361050: - Import rates are expensive (29.8p - 32.1p) for the next 2 and three quarters hours and then cheap (21.4p - 28.2p) for the next 16 hours.
2026-08-15 20:40:03.361079: - The battery is currently at 91% and is in eco mode for the next 14 hours.
2026-08-15 20:40:03.361115: - For the next 48 hours there will be no solar generation.
2026-08-15 20:40:03.361151: - You will run out of battery in 34 hours.
2026-08-15 20:40:03.361172: - Your next charge slot will be in 14 hours where import rates will be cheap (24.3p).
2026-08-15 20:40:03.361213: 
2026-08-15 20:40:03.434463: Plan calculation took 1.11 seconds
2026-08-15 20:40:03.438407: No high rate period found
2026-08-15 20:40:03.489559: Import threshold used for optimisation was 24.39p
2026-08-15 20:40:03.552567: Low import rate windows [0: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 1: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 2: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 3: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 4: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 5: 08-15 23:00:00 - 08-15 23:30:00 @ 30.02, 6: 08-15 23:30:00 - 08-16 00:00:00 @ 27.8, 7: 08-16 00:00:00 - 08-16 00:30:00 @ 28.18, 8: 08-16 00:30:00 - 08-16 01:00:00 @ 27.38, 9: 08-16 01:00:00 - 08-16 01:30:00 @ 26.7, 10: 08-16 01:30:00 - 08-16 02:00:00 @ 26.31, 11: 08-16 02:00:00 - 08-16 02:30:00 @ 25.79, 12: 08-16 02:30:00 - 08-16 03:00:00 @ 25.86, 13: 08-16 03:00:00 - 08-16 03:30:00 @ 26.13, 14: 08-16 03:30:00 - 08-16 04:00:00 @ 25.86, 15: 08-16 04:00:00 - 08-16 04:30:00 @ 26.27, 16: 08-16 04:30:00 - 08-16 05:00:00 @ 26.14, 17: 08-16 05:00:00 - 08-16 05:30:00 @ 27.03, 18: 08-16 05:30:00 - 08-16 06:00:00 @ 26.28, 19: 08-16 06:00:00 - 08-16 06:30:00 @ 25.68, 20: 08-16 06:30:00 - 08-16 07:00:00 @ 26.1, 21: 08-16 07:00:00 - 08-16 07:30:00 @ 24.28, 22: 08-16 07:30:00 - 08-16 08:00:00 @ 24.94, 23: 08-16 08:00:00 - 08-16 08:30:00 @ 24.06, 24: 08-16 08:30:00 - 08-16 09:00:00 @ 24.39, 25: 08-16 09:00:00 - 08-16 09:30:00 @ 24.66, 26: 08-16 09:30:00 - 08-16 10:00:00 @ 24.06, 27: 08-16 10:00:00 - 08-16 10:30:00 @ 25.5, 28: 08-16 10:30:00 - 08-16 11:00:00 @ 24.94, 29: 08-16 11:00:00 - 08-16 11:30:00 @ 24.25, 30: 08-16 11:30:00 - 08-16 12:00:00 @ 23.49, 31: 08-16 12:00:00 - 08-16 12:30:00 @ 23.43, 32: 08-16 12:30:00 - 08-16 13:00:00 @ 22.33, 33: 08-16 13:00:00 - 08-16 13:30:00 @ 22.76, 34: 08-16 13:30:00 - 08-16 14:00:00 @ 22.3, 35: 08-16 14:00:00 - 08-16 14:30:00 @ 21.41, 36: 08-16 14:30:00 - 08-16 15:00:00 @ 21.65, 37: 08-16 15:00:00 - 08-16 15:30:00 @ 22.95, 38: 08-16 15:30:00 - 08-16 16:00:00 @ 22.83, 39: 08-16 16:00:00 - 08-16 16:30:00 @ 36.84, 40: 08-16 16:30:00 - 08-16 17:00:00 @ 37.54, 41: 08-16 17:00:00 - 08-16 17:30:00 @ 41.79, 42: 08-16 17:30:00 - 08-16 18:00:00 @ 43.7, 43: 08-16 18:00:00 - 08-16 18:30:00 @ 44.34, 44: 08-16 19:00:00 - 08-16 19:30:00 @ 34.79, 45: 08-16 19:30:00 - 08-16 20:00:00 @ 34.76, 46: 08-16 20:00:00 - 08-16 20:30:00 @ 35.62, 47: 08-16 20:30:00 - 08-16 21:00:00 @ 35.3, 48: 08-16 21:00:00 - 08-16 21:30:00 @ 35.89, 49: 08-16 21:30:00 - 08-16 22:00:00 @ 35.71, 50: 08-16 22:00:00 - 08-16 22:30:00 @ 33.75, 51: 08-16 22:30:00 - 08-16 23:00:00 @ 32.0, 52: 08-16 23:00:00 - 08-16 23:30:00 @ 30.02, 53: 08-16 23:30:00 - 08-17 00:00:00 @ 27.8, 54: 08-17 00:00:00 - 08-17 00:30:00 @ 28.18, 55: 08-17 00:30:00 - 08-17 01:00:00 @ 27.38, 56: 08-17 01:00:00 - 08-17 01:30:00 @ 26.7, 57: 08-17 01:30:00 - 08-17 02:00:00 @ 26.31, 58: 08-17 02:00:00 - 08-17 02:30:00 @ 25.79, 59: 08-17 02:30:00 - 08-17 03:00:00 @ 25.86, 60: 08-17 03:00:00 - 08-17 03:30:00 @ 26.13, 61: 08-17 03:30:00 - 08-17 04:00:00 @ 25.86, 62: 08-17 04:00:00 - 08-17 04:30:00 @ 26.27, 63: 08-17 04:30:00 - 08-17 05:00:00 @ 26.14, 64: 08-17 05:00:00 - 08-17 05:30:00 @ 27.03, 65: 08-17 05:30:00 - 08-17 06:00:00 @ 26.28, 66: 08-17 06:00:00 - 08-17 06:30:00 @ 25.68, 67: 08-17 06:30:00 - 08-17 07:00:00 @ 26.1, 68: 08-17 07:00:00 - 08-17 07:30:00 @ 24.28, 69: 08-17 07:30:00 - 08-17 08:00:00 @ 24.94, 70: 08-17 08:00:00 - 08-17 08:30:00 @ 24.06, 71: 08-17 08:30:00 - 08-17 09:00:00 @ 24.39, 72: 08-17 09:00:00 - 08-17 09:30:00 @ 24.66, 73: 08-17 09:30:00 - 08-17 10:00:00 @ 24.06, 74: 08-17 10:00:00 - 08-17 10:30:00 @ 25.5, 75: 08-17 10:30:00 - 08-17 11:00:00 @ 24.94, 76: 08-17 11:00:00 - 08-17 11:30:00 @ 24.25, 77: 08-17 11:30:00 - 08-17 12:00:00 @ 23.49, 78: 08-17 12:00:00 - 08-17 12:30:00 @ 23.43, 79: 08-17 12:30:00 - 08-17 13:00:00 @ 22.33, 80: 08-17 13:00:00 - 08-17 13:30:00 @ 22.76, 81: 08-17 13:30:00 - 08-17 14:00:00 @ 22.3, 82: 08-17 14:00:00 - 08-17 14:30:00 @ 21.41, 83: 08-17 14:30:00 - 08-17 15:00:00 @ 21.65, 84: 08-17 15:00:00 - 08-17 15:30:00 @ 22.95, 85: 08-17 15:30:00 - 08-17 16:00:00 @ 22.83, 86: 08-17 16:00:00 - 08-17 16:30:00 @ 36.84, 87: 08-17 16:30:00 - 08-17 17:00:00 @ 37.54, 88: 08-17 17:00:00 - 08-17 17:30:00 @ 41.79, 89: 08-17 17:30:00 - 08-17 18:00:00 @ 43.7, 90: 08-17 18:00:00 - 08-17 18:30:00 @ 44.34, 91: 08-17 19:00:00 - 08-17 19:30:00 @ 34.79, 92: 08-17 19:30:00 - 08-17 20:00:00 @ 34.76, 93: 08-17 20:00:00 - 08-17 20:30:00 @ 35.62, 94: 08-17 20:30:00 - 08-17 21:00:00 @ 35.3]
2026-08-15 20:40:03.563468: Inverter 0 Charge window will be: 2026-08-16 11:00:00+01:00 - 2026-08-16 16:00:00+01:00 - current SoC 91%, target 16%
2026-08-15 20:40:03.563624: Inverter 0 disabled charge window while waiting for schedule (now 08-15 20:40:00 target set_window_minutes 30 charge start time 08-16 11:00:00) original inverter start time 08-17 00:00:00
2026-08-15 20:40:03.563771: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 20:40:03.564047: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 20:40:03.564148: No export window planned
2026-08-15 20:40:03.564267: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 20:40:03.564304: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 20:40:03.564464: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 20:40:03.564657: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 20:40:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 20:40:03.564721: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 20:40:03.564795: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 20:40:03.564900: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 20:40:03.564939: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 20:40:03.565010: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 20:40:03.565039: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 20:40:03.565065: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 20:40:03.565090: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 20:40:03.565121: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 20:40:03.565193: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 20:40:03.565228: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 20:40:03.565253: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 20:40:03.565278: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 20:40:03.565302: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 20:40:03.565347: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 20:40:03.565380: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 20:40:03.565402: Inverter 0 count register writes 0
2026-08-15 20:40:03.591876: Will not recompute the plan, it is 5.0 minutes old and max age is 10 minutes
2026-08-15 20:40:03.600304: Total inverter register writes now 826
2026-08-15 20:40:03.642270: Info: Completed run status Demand
2026-08-15 20:40:03.648739: Info: record_status Demand
2026-08-15 20:40:03.655582: Saved current settings to /config/predbat_config.json
2026-08-15 20:40:03.655933: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 20:40:41.771651: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 20:40:41.771952: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 20:40:41.772026: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 20:40:41.772255: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 20:40:41.772309: Note: Inverter does not support discharge freeze - disabled
2026-08-15 20:40:41.772390: Note: Inverter does not support charge freeze - disabled
2026-08-15 20:40:41.772434: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 20:42:42.017622: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 20:42:42.017877: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 20:42:42.017920: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 20:42:42.018085: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 20:42:42.018125: Note: Inverter does not support discharge freeze - disabled
2026-08-15 20:42:42.018146: Note: Inverter does not support charge freeze - disabled
2026-08-15 20:42:42.018163: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 20:44:42.238682: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 20:44:42.238946: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 20:44:42.238992: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 20:44:42.239173: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 20:44:42.239212: Note: Inverter does not support discharge freeze - disabled
2026-08-15 20:44:42.239233: Note: Inverter does not support charge freeze - disabled
2026-08-15 20:44:42.239250: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 20:44:59.789219: ML Component: Fetching 28 days of load history from ['sensor.sunsynk_day_load_energy']
2026-08-15 20:45:00.347603: --------------- PredBat - update at 2026-08-15 20:45:00+01:00 with clock skew 0 minutes, minutes now 1245
2026-08-15 20:45:00.368857: Saved current settings to /config/predbat_config.json
2026-08-15 20:45:00.369085: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 15.0 minutes
2026-08-15 20:45:00.374409: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.2, latest beta is v8.48.2
2026-08-15 20:45:00.379767: Autoupdate: There is an update pending v8.48.2 PV90 and second pass enabled by default, bug fixes - auto update is off
2026-08-15 20:45:00.625813: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 20:45:00.631242: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 20:45:00.636806: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 20:45:00.642797: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 20:45:00.648125: Predbat mode is set to Control charge & discharge
2026-08-15 20:45:00.845624: Processing 1345 30-minute periods for power integration
2026-08-15 20:45:00.966932: ML Component: Car charging hold False, car energy reported load False
2026-08-15 20:45:01.078952: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 20:45:01.189432: ML Temperature data points: 49156
2026-08-15 20:45:01.482030: ML Component: Fetched 8064 load data points, 28.0 days of history
2026-08-15 20:45:01.568592: ML Component: Data fetch completed, load data age 57.0 days, 16513 data points
2026-08-15 20:45:01.573903: ML Component: No training needed, model age is 0.25 hours
2026-08-15 20:45:01.579093: ML Component: Waiting for current prediction cycle to complete before running ML work
2026-08-15 20:45:01.634419: Found 21602 load_today datapoints going back 28 days
2026-08-15 20:45:01.634580: Using load_power data to fill gaps in load_today data
2026-08-15 20:45:02.390677: Processing 721 30-minute periods for power integration
2026-08-15 20:45:02.558032: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 20:45:02.558181: Car charging hold False, threshold 6.0kWh
2026-08-15 20:45:02.558241: Current data so far today: load 10.0kWh, import 27.7kWh, export 0.0kWh, PV 0kWh
2026-08-15 20:45:02.575306: Cars: SoC: [9.962]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 20:45:02.575867: Standing charge is set to 49.98p
2026-08-15 20:45:02.625008: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 20:45:02.625125: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 20:45:02.625334: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 605.0 minutes
2026-08-15 20:45:02.625749: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 605.0 minutes
2026-08-15 20:45:02.630927: Loaded 95 datapoints of futurerate analysis
2026-08-15 20:45:02.784688: Predicted future rates: ['08-15 00:00:00 => 28.69 / 20.01', '08-15 01:00:00 => 27.33 / 19.31', '08-15 02:00:00 => 26.31 / 18.8', '08-15 03:00:00 => 25.78 / 18.53', '08-15 04:00:00 => 25.59 / 18.43', '08-15 05:00:00 => 25.75 / 18.51', '08-15 06:00:00 => 25.34 / 18.3', '08-15 07:00:00 => 24.12 / 17.68', '08-15 08:00:00 => 22.82 / 17.01', '08-15 09:00:00 => 21.84 / 16.51', '08-15 10:00:00 => 20.22 / 15.68', '08-15 11:00:00 => 17.8 / 14.45', '08-15 12:00:00 => 16.16 / 13.61', '08-15 13:00:00 => 15.55 / 13.3', '08-15 14:00:00 => 15.14 / 13.09', '08-15 15:00:00 => 15.65 / 13.35', '08-15 16:00:00 => 32.68 / 16.13', '08-15 17:00:00 => 37.81 / 18.75', '08-15 18:00:00 => 42.15 / 20.96', '08-15 19:00:00 => 30.88 / 21.13', '08-15 20:00:00 => 31.43 / 21.41', '08-15 21:00:00 => 31.43 / 21.41', '08-15 22:00:00 => 30.37 / 20.87', '08-15 23:00:00 => 29.16 / 20.25', '08-16 00:00:00 => 28.62 / 19.97', '08-16 01:00:00 => 27.52 / 19.41', '08-16 02:00:00 => 26.55 / 18.92', '08-16 03:00:00 => 26.18 / 18.73', '08-16 04:00:00 => 26.12 / 18.7', '08-16 05:00:00 => 26.02 / 18.65', '08-16 06:00:00 => 25.78 / 18.53', '08-16 07:00:00 => 25.43 / 18.35', '08-16 08:00:00 => 24.63 / 17.94', '08-16 09:00:00 => 24.05 / 17.64', '08-16 10:00:00 => 24.59 / 17.92', '08-16 11:00:00 => 24.5 / 17.87', '08-16 12:00:00 => 23.58 / 17.4', '08-16 13:00:00 => 22.93 / 17.07', '08-16 14:00:00 => 21.8 / 16.49', '08-16 15:00:00 => 21.8 / 16.49', '08-16 16:00:00 => 36.93 / 18.3', '08-16 17:00:00 => 39.92 / 19.83', '08-16 18:00:00 => 43.98 / 21.9', '08-16 19:00:00 => 32.83 / 22.13']
2026-08-15 20:45:02.830641: Rate min forward looking: now 21.41p at end of forecast 21.41p
2026-08-15 20:45:02.831007: Import rates: min 21.41p, max 45.28p, average 28.59p
2026-08-15 20:45:02.874411: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 20:45:02.874529: Rate thresholds (for charge/export) are import 44.78p (0.0p), export -0.1p (0.0p)
2026-08-15 20:45:02.875803: High export rate found rates in range 99p to -99p
2026-08-15 20:45:02.985363: Low Import rate found rates in range 21.41p to 44.34p
2026-08-15 20:45:02.985485: Car 0 charging is not planned as it is not plugged in
2026-08-15 20:45:02.998066: Battery level now 14.56kWh, -1hr ago 14.88kWh, at midnight 1.66kWh, battery value change in the last hour -5.89p, change today 237.34p, rate_forward 18.39p
2026-08-15 20:45:02.998481: Last hour: net energy 0.0kWh, import 0.0kWh, export 0.0kWh, car 0kWh, load 0.25kWh, net cost 0.0p, import 0.0p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 20:45:03.057875: Today's energy total net 27.7kWh, import 27.7kWh, export 0.0kWh, cost 570.18p, import 520.2p, export 0.0p, carbon 0.0kg
2026-08-15 20:45:03.058048: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 20:45:03.156315: Using weighted-bucket historical load forecast over 14 days
2026-08-15 20:45:03.187893: Today's load divergence 81.89%, in-day adjustment 91.05%, damping 0.95x, yesterday 143.77% today 82.8% blend 13.54%
2026-08-15 20:45:03.187996: Today's predicted so far 12.39kWh with 0.0kWh car/iBoost excluded, 20.9kWh import ignored, and 12.39kWh forecast extra.
2026-08-15 20:45:03.188029: Today's actual load so far 10.07kWh with 0.0kWh car/iBoost excluded, and 20.9kWh import ignored.
2026-08-15 20:45:03.221877: Inverter 0: Type SK Sunsynk
2026-08-15 20:45:03.221975: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 20:45:03.222166: Reserve min: 7%, battery_min: 7%
2026-08-15 20:45:03.222245: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 20:45:03.222534: Inverter 0 SoC: 14.56kW 91%, current charge rate 5000W, current discharge rate 5250W, current battery power 279W, current battery voltage 51.2V, grid power -54W, load power 338W, PV Power 0W
2026-08-15 20:45:03.222696: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 20:45:03.222784: Inverter 0 scheduled charge enable is False
2026-08-15 20:45:03.222814: Inverter 0 charge windows currently []
2026-08-15 20:45:03.222841: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 20:45:03.222956: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 20:45:03.222992: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 20:45:03.223027: Inverter 0 scheduled discharge enable is False
2026-08-15 20:45:03.223153: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 20:45:03.223189: Inverter 0 discharge windows currently []
2026-08-15 20:45:03.223212: Note: Inverter does not support discharge freeze - disabled
2026-08-15 20:45:03.223235: Note: Inverter does not support charge freeze - disabled
2026-08-15 20:45:03.223253: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 20:45:03.289363: Dynamic load last period 0.00kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 20:45:03.289475: Plan was last updated on 2026-08-15 20:35:00+01:00 and is now 10.0 minutes old
2026-08-15 20:45:03.289751: Best charge window [ 16-08 11:00:00 - 16-08 12:30:00 @ 23.65p 16%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 31%, 16-08 13:30:00 - 16-08 15:00:00 @ 21.91p 100%, 16-08 15:00:00 - 16-08 16:00:00 @ 22.89p 75%, 17-08 12:30:00 - 17-08 18:00:00 @ 40.7p 100% ]
2026-08-15 20:45:03.289795: Best export window [  ]
2026-08-15 20:45:03.290629: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 20:45:03.294164: Load divergence over 8.0 hours mean 797.12W, min 384.0W, max 2127.6W, std dev 435.73W, divergence 27.33%
2026-08-15 20:45:03.312685: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 20:45:03.312809: LoadML is_calculating False
2026-08-15 20:45:03.312888: Creating pool of 12 processes to match your CPU count
2026-08-15 20:45:03.427947: predict base end_record 08-17 12:40:00, final soc 1.12kWh, metric 1077.58p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 15:35:00, load 36.3kWh, PV 0.0kWh
2026-08-15 20:45:03.558337: Battery has 18.83 hours left - now at 14.56kWh
2026-08-15 20:45:03.603892: predict base10 end_record 08-17 12:40:00, final soc 1.12kWh, metric 1110.45p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 14:40:00, load 37.55kWh, PV 0.0kWh
2026-08-15 20:45:03.678447: predict best10 end_record 08-17 12:40:00, final soc 1.77kWh, metric 1056.43p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 06:05:00, load 37.55kWh, PV 0.0kWh
2026-08-15 20:45:03.756745: predict best end_record 08-17 12:40:00, final soc 1.9kWh, metric 1026.39p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 07:10:00, load 36.3kWh, PV 0.0kWh
2026-08-15 20:45:03.756841: Saving plan best values to HA entities
2026-08-15 20:45:03.938508: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 20:45:03.944052: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 20:45:03.949368: Best charging limit SoC's [2.5, 5.0, 16.0, 12.0, 16.0]kWh, export []kWh gives import battery 12.55kWh, house 3.3kWh, export 0.0kWh, metric 1026.39p, metric10 1056.43p
2026-08-15 20:45:04.026649: Marginal costs baseline metric (no standing charge): 926.4277
2026-08-15 20:45:04.258680: Marginal energy costs matrix computed: min=24.35 max=28.51
2026-08-15 20:45:04.333741: Rate array import [{'start': 1245, 'end': 1410, 'rate': 'expensive', 'range': '(29.8p - 32.1p)'}, {'start': 1410, 'end': 2400, 'rate': 'cheap', 'range': '(21.4p - 28.2p)'}, {'start': 2400, 'end': 2430, 'rate': 'expensive', 'range': '(36.8p)'}, {'start': 2430, 'end': 2580, 'rate': 'very expensive', 'range': '(37.5p - 45.3p)'}, {'start': 2580, 'end': 2850, 'rate': 'expensive', 'range': '(30.0p - 35.9p)'}, {'start': 2850, 'end': 3640, 'rate': 'cheap', 'range': '(22.3p - 28.2p)'}] export [{'start': 1245, 'end': 3640, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 20:45:04.334415: - Your estimated bill for today is £5.70 and tomorrow is £3.04
2026-08-15 20:45:04.334461: - Import rates are expensive (29.8p - 32.1p) for the next 2 and three quarters hours and then cheap (21.4p - 28.2p) for the next 16 hours.
2026-08-15 20:45:04.334480: - The battery is currently at 91% and is in eco mode for the next 14 hours.
2026-08-15 20:45:04.334495: - For the next 48 hours there will be no solar generation.
2026-08-15 20:45:04.334509: - You will run out of battery in 34 hours.
2026-08-15 20:45:04.334522: - Your next charge slot will be in 14 hours where import rates will be cheap (24.3p).
2026-08-15 20:45:04.334536: 
2026-08-15 20:45:04.398685: Plan calculation took 1.11 seconds
2026-08-15 20:45:04.401774: No high rate period found
2026-08-15 20:45:04.452181: Import threshold used for optimisation was 24.39p
2026-08-15 20:45:04.508420: Low import rate windows [0: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 1: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 2: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 3: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 4: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 5: 08-15 23:00:00 - 08-15 23:30:00 @ 30.02, 6: 08-15 23:30:00 - 08-16 00:00:00 @ 27.8, 7: 08-16 00:00:00 - 08-16 00:30:00 @ 28.18, 8: 08-16 00:30:00 - 08-16 01:00:00 @ 27.38, 9: 08-16 01:00:00 - 08-16 01:30:00 @ 26.7, 10: 08-16 01:30:00 - 08-16 02:00:00 @ 26.31, 11: 08-16 02:00:00 - 08-16 02:30:00 @ 25.79, 12: 08-16 02:30:00 - 08-16 03:00:00 @ 25.86, 13: 08-16 03:00:00 - 08-16 03:30:00 @ 26.13, 14: 08-16 03:30:00 - 08-16 04:00:00 @ 25.86, 15: 08-16 04:00:00 - 08-16 04:30:00 @ 26.27, 16: 08-16 04:30:00 - 08-16 05:00:00 @ 26.14, 17: 08-16 05:00:00 - 08-16 05:30:00 @ 27.03, 18: 08-16 05:30:00 - 08-16 06:00:00 @ 26.28, 19: 08-16 06:00:00 - 08-16 06:30:00 @ 25.68, 20: 08-16 06:30:00 - 08-16 07:00:00 @ 26.1, 21: 08-16 07:00:00 - 08-16 07:30:00 @ 24.28, 22: 08-16 07:30:00 - 08-16 08:00:00 @ 24.94, 23: 08-16 08:00:00 - 08-16 08:30:00 @ 24.06, 24: 08-16 08:30:00 - 08-16 09:00:00 @ 24.39, 25: 08-16 09:00:00 - 08-16 09:30:00 @ 24.66, 26: 08-16 09:30:00 - 08-16 10:00:00 @ 24.06, 27: 08-16 10:00:00 - 08-16 10:30:00 @ 25.5, 28: 08-16 10:30:00 - 08-16 11:00:00 @ 24.94, 29: 08-16 11:00:00 - 08-16 11:30:00 @ 24.25, 30: 08-16 11:30:00 - 08-16 12:00:00 @ 23.49, 31: 08-16 12:00:00 - 08-16 12:30:00 @ 23.43, 32: 08-16 12:30:00 - 08-16 13:00:00 @ 22.33, 33: 08-16 13:00:00 - 08-16 13:30:00 @ 22.76, 34: 08-16 13:30:00 - 08-16 14:00:00 @ 22.3, 35: 08-16 14:00:00 - 08-16 14:30:00 @ 21.41, 36: 08-16 14:30:00 - 08-16 15:00:00 @ 21.65, 37: 08-16 15:00:00 - 08-16 15:30:00 @ 22.95, 38: 08-16 15:30:00 - 08-16 16:00:00 @ 22.83, 39: 08-16 16:00:00 - 08-16 16:30:00 @ 36.84, 40: 08-16 16:30:00 - 08-16 17:00:00 @ 37.54, 41: 08-16 17:00:00 - 08-16 17:30:00 @ 41.79, 42: 08-16 17:30:00 - 08-16 18:00:00 @ 43.7, 43: 08-16 18:00:00 - 08-16 18:30:00 @ 44.34, 44: 08-16 19:00:00 - 08-16 19:30:00 @ 34.79, 45: 08-16 19:30:00 - 08-16 20:00:00 @ 34.76, 46: 08-16 20:00:00 - 08-16 20:30:00 @ 35.62, 47: 08-16 20:30:00 - 08-16 21:00:00 @ 35.3, 48: 08-16 21:00:00 - 08-16 21:30:00 @ 35.89, 49: 08-16 21:30:00 - 08-16 22:00:00 @ 35.71, 50: 08-16 22:00:00 - 08-16 22:30:00 @ 33.75, 51: 08-16 22:30:00 - 08-16 23:00:00 @ 32.0, 52: 08-16 23:00:00 - 08-16 23:30:00 @ 30.02, 53: 08-16 23:30:00 - 08-17 00:00:00 @ 27.8, 54: 08-17 00:00:00 - 08-17 00:30:00 @ 28.18, 55: 08-17 00:30:00 - 08-17 01:00:00 @ 27.38, 56: 08-17 01:00:00 - 08-17 01:30:00 @ 26.7, 57: 08-17 01:30:00 - 08-17 02:00:00 @ 26.31, 58: 08-17 02:00:00 - 08-17 02:30:00 @ 25.79, 59: 08-17 02:30:00 - 08-17 03:00:00 @ 25.86, 60: 08-17 03:00:00 - 08-17 03:30:00 @ 26.13, 61: 08-17 03:30:00 - 08-17 04:00:00 @ 25.86, 62: 08-17 04:00:00 - 08-17 04:30:00 @ 26.27, 63: 08-17 04:30:00 - 08-17 05:00:00 @ 26.14, 64: 08-17 05:00:00 - 08-17 05:30:00 @ 27.03, 65: 08-17 05:30:00 - 08-17 06:00:00 @ 26.28, 66: 08-17 06:00:00 - 08-17 06:30:00 @ 25.68, 67: 08-17 06:30:00 - 08-17 07:00:00 @ 26.1, 68: 08-17 07:00:00 - 08-17 07:30:00 @ 24.28, 69: 08-17 07:30:00 - 08-17 08:00:00 @ 24.94, 70: 08-17 08:00:00 - 08-17 08:30:00 @ 24.06, 71: 08-17 08:30:00 - 08-17 09:00:00 @ 24.39, 72: 08-17 09:00:00 - 08-17 09:30:00 @ 24.66, 73: 08-17 09:30:00 - 08-17 10:00:00 @ 24.06, 74: 08-17 10:00:00 - 08-17 10:30:00 @ 25.5, 75: 08-17 10:30:00 - 08-17 11:00:00 @ 24.94, 76: 08-17 11:00:00 - 08-17 11:30:00 @ 24.25, 77: 08-17 11:30:00 - 08-17 12:00:00 @ 23.49, 78: 08-17 12:00:00 - 08-17 12:30:00 @ 23.43, 79: 08-17 12:30:00 - 08-17 13:00:00 @ 22.33, 80: 08-17 13:00:00 - 08-17 13:30:00 @ 22.76, 81: 08-17 13:30:00 - 08-17 14:00:00 @ 22.3, 82: 08-17 14:00:00 - 08-17 14:30:00 @ 21.41, 83: 08-17 14:30:00 - 08-17 15:00:00 @ 21.65, 84: 08-17 15:00:00 - 08-17 15:30:00 @ 22.95, 85: 08-17 15:30:00 - 08-17 16:00:00 @ 22.83, 86: 08-17 16:00:00 - 08-17 16:30:00 @ 36.84, 87: 08-17 16:30:00 - 08-17 17:00:00 @ 37.54, 88: 08-17 17:00:00 - 08-17 17:30:00 @ 41.79, 89: 08-17 17:30:00 - 08-17 18:00:00 @ 43.7, 90: 08-17 18:00:00 - 08-17 18:30:00 @ 44.34, 91: 08-17 19:00:00 - 08-17 19:30:00 @ 34.79, 92: 08-17 19:30:00 - 08-17 20:00:00 @ 34.76, 93: 08-17 20:00:00 - 08-17 20:30:00 @ 35.62, 94: 08-17 20:30:00 - 08-17 21:00:00 @ 35.3]
2026-08-15 20:45:04.516293: Inverter 0 Charge window will be: 2026-08-16 11:00:00+01:00 - 2026-08-16 16:00:00+01:00 - current SoC 91%, target 16%
2026-08-15 20:45:04.516553: Inverter 0 disabled charge window while waiting for schedule (now 08-15 20:45:00 target set_window_minutes 30 charge start time 08-16 11:00:00) original inverter start time 08-17 00:00:00
2026-08-15 20:45:04.516691: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 20:45:04.517012: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 20:45:04.517113: No export window planned
2026-08-15 20:45:04.517227: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 20:45:04.517263: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 20:45:04.517453: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 20:45:04.517645: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 20:45:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 20:45:04.517707: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 20:45:04.517774: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 20:45:04.517874: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 20:45:04.517935: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 20:45:04.517964: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 20:45:04.517991: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 20:45:04.518015: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 20:45:04.518045: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 20:45:04.518071: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 20:45:04.518136: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 20:45:04.518165: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 20:45:04.518194: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 20:45:04.518218: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 20:45:04.518245: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 20:45:04.518268: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 20:45:04.518293: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 20:45:04.518313: Inverter 0 count register writes 0
2026-08-15 20:45:04.535117: Will recompute the plan as it is now 10.0 minutes old and will exceed the max age of 10 minutes before the next run
2026-08-15 20:45:04.535298: Recompute is saving previous plan...
2026-08-15 20:45:04.538664: Best charge window [ 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 0%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 30.02p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 27.8p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.18p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.38p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 26.7p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.31p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.79p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 25.86p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.13p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 25.86p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.27p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.14p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 27.03p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.28p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.68p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 26.1p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 24.28p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 24.94p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.06p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.39p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.66p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.06p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 25.5p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 24.94p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 24.25p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 23.49p 0%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.43p 0%, 16-08 12:30:00 - 16-08 13:00:00 @ 22.33p 0%, 16-08 13:00:00 - 16-08 13:30:00 @ 22.76p 0%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 0%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 0%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.65p 0%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.95p 0%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.83p 0%, 16-08 16:00:00 - 16-08 16:30:00 @ 36.84p 0%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.54p 0%, 16-08 17:00:00 - 16-08 17:30:00 @ 41.79p 0%, 16-08 17:30:00 - 16-08 18:00:00 @ 43.7p 0%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.34p 0%, 16-08 19:00:00 - 16-08 19:30:00 @ 34.79p 0%, 16-08 19:30:00 - 16-08 20:00:00 @ 34.76p 0%, 16-08 20:00:00 - 16-08 20:30:00 @ 35.62p 0%, 16-08 20:30:00 - 16-08 21:00:00 @ 35.3p 0%, 16-08 21:00:00 - 16-08 21:30:00 @ 35.89p 0%, 16-08 21:30:00 - 16-08 22:00:00 @ 35.71p 0%, 16-08 22:00:00 - 16-08 22:30:00 @ 33.75p 0%, 16-08 22:30:00 - 16-08 23:00:00 @ 32.0p 0%, 16-08 23:00:00 - 16-08 23:30:00 @ 30.02p 0%, 16-08 23:30:00 - 17-08 00:00:00 @ 27.8p 0%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.18p 0%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.38p 0%, 17-08 01:00:00 - 17-08 01:30:00 @ 26.7p 0%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.31p 0%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.79p 0%, 17-08 02:30:00 - 17-08 03:00:00 @ 25.86p 0%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.13p 0%, 17-08 03:30:00 - 17-08 04:00:00 @ 25.86p 0%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.27p 0%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.14p 0%, 17-08 05:00:00 - 17-08 05:30:00 @ 27.03p 0%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.28p 0%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.68p 0%, 17-08 06:30:00 - 17-08 07:00:00 @ 26.1p 0%, 17-08 07:00:00 - 17-08 07:30:00 @ 24.28p 0%, 17-08 07:30:00 - 17-08 08:00:00 @ 24.94p 0%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.06p 0%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.39p 0%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.66p 0%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.06p 0%, 17-08 10:00:00 - 17-08 10:30:00 @ 25.5p 0%, 17-08 10:30:00 - 17-08 11:00:00 @ 24.94p 0%, 17-08 11:00:00 - 17-08 11:30:00 @ 24.25p 0%, 17-08 11:30:00 - 17-08 12:00:00 @ 23.49p 0%, 17-08 12:00:00 - 17-08 12:30:00 @ 23.43p 0%, 17-08 12:30:00 - 17-08 13:00:00 @ 22.33p 0%, 17-08 13:00:00 - 17-08 13:30:00 @ 22.76p 0%, 17-08 13:30:00 - 17-08 14:00:00 @ 22.3p 0%, 17-08 14:00:00 - 17-08 14:30:00 @ 21.41p 0%, 17-08 14:30:00 - 17-08 15:00:00 @ 21.65p 0%, 17-08 15:00:00 - 17-08 15:30:00 @ 22.95p 0%, 17-08 15:30:00 - 17-08 16:00:00 @ 22.83p 0%, 17-08 16:00:00 - 17-08 16:30:00 @ 36.84p 0%, 17-08 16:30:00 - 17-08 17:00:00 @ 37.54p 0%, 17-08 17:00:00 - 17-08 17:30:00 @ 41.79p 0%, 17-08 17:30:00 - 17-08 18:00:00 @ 43.7p 0%, 17-08 18:00:00 - 17-08 18:30:00 @ 44.34p 0%, 17-08 19:00:00 - 17-08 19:30:00 @ 34.79p 0%, 17-08 19:30:00 - 17-08 20:00:00 @ 34.76p 0%, 17-08 20:00:00 - 17-08 20:30:00 @ 35.62p 0%, 17-08 20:30:00 - 17-08 21:00:00 @ 35.3p 0% ]
2026-08-15 20:45:04.538761: Best export window [  ]
2026-08-15 20:45:04.539579: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 20:45:04.542906: Load divergence over 8.0 hours mean 797.12W, min 384.0W, max 2127.6W, std dev 435.73W, divergence 27.33%
2026-08-15 20:45:04.558672: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 20:45:04.558792: LoadML is_calculating False
2026-08-15 20:45:04.558876: Creating pool of 12 processes to match your CPU count
2026-08-15 20:45:04.647534: Calculate Best options: mode(Control charge & discharge), calculate_export_oncharge(False), calculate_export_on_pv(True), set_export_freeze_only(False), set_discharge_during_charge(True), combine_charge_slots(False), combine_export_slots(False), combine_rate_threshold(0.0), best_soc_min(0.0 kWh), best_soc_max(0.0 kWh), best_soc_keep(0.0 kWh), inverter_loss(4%), battery_loss(3%), battery_loss_discharge (3%), inverter_hybrid(True), metric_min_improvement(0.0p), metric_min_improvement_export(0.1p), metric_min_improvement_export_freeze(0.1p), metric_battery_cycle(0.0p/kWh), metric_battery_value_scaling(1.0 x) 
2026-08-15 20:45:04.649787: Optimise levels pass started at 2026-08-15 20:45:04
2026-08-15 20:45:04.649874: Optimise all windows, total charge 94 export 1
2026-08-15 20:45:05.517123: >> Region optimisation pass width 960 gives best_metric 1019.76p, best_cost 1053.51p, best_cycle 40.02kWh, best_import 21.7kWh
2026-08-15 20:45:05.911581: >> Region optimisation pass width 480 gives best_metric 1019.76p, best_cost 1053.51p, best_cycle 40.02kWh, best_import 21.7kWh
2026-08-15 20:45:06.400512: >> Region optimisation pass width 240 gives best_metric 1019.76p, best_cost 1053.51p, best_cycle 40.02kWh, best_import 21.7kWh
2026-08-15 20:45:07.536668: >> Region optimisation pass width 120 gives best_metric 1019.76p, best_cost 1053.51p, best_cycle 40.02kWh, best_import 21.7kWh
2026-08-15 20:45:07.537254: Calculated end_record as 08-17 12:30:00 based on best_price 22.33p, next_charge_start 08-16 12:30:00, max_windows 79
2026-08-15 20:45:07.537401: Optimise levels pass ended at 2026-08-15 20:45:07, duration 2.9 seconds tried 305 combinations
2026-08-15 20:45:07.537528: Set best_price_charge_level 24.0p, best_price_export_level 0p, best_price_charge 22.33p, best_cost_export 0p, best_metric 1019.76p, best_keep 0kWh, best_cycle 40.02kWh, best_carbon 0kg, best_import 21.7kWh
2026-08-15 20:45:07.560427: Starting detailed optimisation end_record 08-17 12:30:00, best_price_charge 22.33p, best_price_export 0p. lowest_price_charge 21.41p with charge limits [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 0, 16.0, 16.0, 16.0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0]kWh and export limits []kWh
2026-08-15 20:45:14.250182: Tweak plan optimisation started metric 886.93p, cost 902.78p
2026-08-15 20:45:14.601160: Tweak optimisation finished metric 886.93p, cost 902.78p, metric_keep 0kWh, cycle 28.66kWh, carbon 0kg, import 14.76kWh, changed 8 window(s)
2026-08-15 20:45:14.622229: Swap charge optimisation started metric 886.93p, cost 902.78p, min_improvement_swap 0.1p
2026-08-15 20:45:23.713270: Swap charge optimisation finished metric 886.93p, cost 902.78p
2026-08-15 20:45:23.860681: Pruned 3 dead plan slot(s) in 13 trial(s), nominal metric 882.18p -> 882.16p, plan now metric 887.08p, cost 902.76p, cycle 28.78kWh, import 14.77kWh
2026-08-15 20:45:23.872976: Raw charge windows [ 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 0%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 30.02p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 27.8p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.18p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.38p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 26.7p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.31p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.79p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 25.86p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.13p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 25.86p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.27p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.14p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 27.03p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.28p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.68p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 26.1p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 24.28p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 24.94p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.06p 41%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.39p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.66p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.06p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 25.5p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 24.94p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 24.25p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 23.49p 28%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.43p 28%, 16-08 12:30:00 - 16-08 13:00:00 @ 22.33p 34%, 16-08 13:00:00 - 16-08 13:30:00 @ 22.76p 34%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 100%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 100%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.65p 100%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.95p 78%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.83p 78%, 16-08 16:00:00 - 16-08 16:30:00 @ 36.84p 0%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.54p 0%, 16-08 17:00:00 - 16-08 17:30:00 @ 41.79p 0%, 16-08 17:30:00 - 16-08 18:00:00 @ 43.7p 0%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.34p 0%, 16-08 19:00:00 - 16-08 19:30:00 @ 34.79p 0%, 16-08 19:30:00 - 16-08 20:00:00 @ 34.76p 0%, 16-08 20:00:00 - 16-08 20:30:00 @ 35.62p 0%, 16-08 20:30:00 - 16-08 21:00:00 @ 35.3p 0%, 16-08 21:00:00 - 16-08 21:30:00 @ 35.89p 0%, 16-08 21:30:00 - 16-08 22:00:00 @ 35.71p 0%, 16-08 22:00:00 - 16-08 22:30:00 @ 33.75p 0%, 16-08 22:30:00 - 16-08 23:00:00 @ 32.0p 0%, 16-08 23:00:00 - 16-08 23:30:00 @ 30.02p 0%, 16-08 23:30:00 - 17-08 00:00:00 @ 27.8p 0%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.18p 0%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.38p 0%, 17-08 01:00:00 - 17-08 01:30:00 @ 26.7p 0%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.31p 0%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.79p 0%, 17-08 02:30:00 - 17-08 03:00:00 @ 25.86p 0%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.13p 0%, 17-08 03:30:00 - 17-08 04:00:00 @ 25.86p 0%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.27p 0%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.14p 0%, 17-08 05:00:00 - 17-08 05:30:00 @ 27.03p 0%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.28p 0%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.68p 0%, 17-08 06:30:00 - 17-08 07:00:00 @ 26.1p 0%, 17-08 07:00:00 - 17-08 07:30:00 @ 24.28p 0%, 17-08 07:30:00 - 17-08 08:00:00 @ 24.94p 0%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.06p 0%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.39p 0%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.66p 0%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.06p 0%, 17-08 10:00:00 - 17-08 10:30:00 @ 25.5p 0%, 17-08 10:30:00 - 17-08 11:00:00 @ 24.94p 0%, 17-08 11:00:00 - 17-08 11:30:00 @ 24.25p 0%, 17-08 11:30:00 - 17-08 12:00:00 @ 23.49p 0%, 17-08 12:00:00 - 17-08 12:30:00 @ 23.43p 0%, 17-08 12:30:00 - 17-08 13:00:00 @ 22.33p 100%, 17-08 13:00:00 - 17-08 13:30:00 @ 22.76p 100%, 17-08 13:30:00 - 17-08 14:00:00 @ 22.3p 100%, 17-08 14:00:00 - 17-08 14:30:00 @ 21.41p 100%, 17-08 14:30:00 - 17-08 15:00:00 @ 21.65p 100%, 17-08 15:00:00 - 17-08 15:30:00 @ 22.95p 100%, 17-08 15:30:00 - 17-08 16:00:00 @ 22.83p 100%, 17-08 16:00:00 - 17-08 16:30:00 @ 36.84p 100%, 17-08 16:30:00 - 17-08 17:00:00 @ 37.54p 100%, 17-08 17:00:00 - 17-08 17:30:00 @ 41.79p 100%, 17-08 17:30:00 - 17-08 18:00:00 @ 43.7p 100%, 17-08 18:00:00 - 17-08 18:30:00 @ 44.34p 100%, 17-08 19:00:00 - 17-08 19:30:00 @ 34.79p 100%, 17-08 19:30:00 - 17-08 20:00:00 @ 34.76p 100%, 17-08 20:00:00 - 17-08 20:30:00 @ 35.62p 100%, 17-08 20:30:00 - 17-08 21:00:00 @ 35.3p 100% ] reserve 1.12
2026-08-15 20:45:23.873700: Unclipped charge windows [ 16-08 08:00:00 - 16-08 08:30:00 @ 24.06p 41%, 16-08 11:30:00 - 16-08 12:30:00 @ 23.46p 28%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 34%, 16-08 13:30:00 - 16-08 15:00:00 @ 21.75p 100%, 16-08 15:00:00 - 16-08 16:00:00 @ 22.89p 78%, 17-08 12:30:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 17-08 21:00:00 @ 35.25p 100% ] reserve 1.12
2026-08-15 20:45:23.874024: Unfiltered charge windows [ 16-08 08:00:00 - 16-08 08:30:00 @ 24.06p 41%, 16-08 11:30:00 - 16-08 12:30:00 @ 23.46p 28%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 34%, 16-08 13:30:00 - 16-08 15:00:00 @ 21.75p 100%, 16-08 15:00:00 - 16-08 16:00:00 @ 22.89p 78%, 17-08 12:30:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 17-08 21:00:00 @ 35.25p 100% ] reserve 1.12
2026-08-15 20:45:23.874294: Filtered charge windows [ 16-08 08:00:00 - 16-08 08:30:00 @ 24.06p 41%, 16-08 11:30:00 - 16-08 12:30:00 @ 23.46p 28%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 34%, 16-08 13:30:00 - 16-08 15:00:00 @ 21.75p 100%, 16-08 15:00:00 - 16-08 16:00:00 @ 22.89p 78%, 17-08 12:30:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 17-08 21:00:00 @ 35.25p 100% ] reserve 1.12
2026-08-15 20:45:23.912981: Previous plan best metric is 889.02 (cost 904.67) and new plan best metric is 886.93 (cost 902.78)
2026-08-15 20:45:23.913250: New plan metric is significantly better from previous plan, using new plan
2026-08-15 20:45:23.913296: Plan valid is now true after recompute was False
2026-08-15 20:45:23.941174: predict base end_record 08-17 12:30:00, final soc 1.12kWh, metric 1074.44p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 15:35:00, load 36.16kWh, PV 0.0kWh
2026-08-15 20:45:24.070306: Battery has 18.83 hours left - now at 14.56kWh
2026-08-15 20:45:24.110334: predict base10 end_record 08-17 12:30:00, final soc 1.12kWh, metric 1107.16p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 14:40:00, load 37.41kWh, PV 0.0kWh
2026-08-15 20:45:24.180892: predict best10 end_record 08-17 12:30:00, final soc 1.12kWh, metric 1035.56p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 07:10:00, load 37.41kWh, PV 0.0kWh
2026-08-15 20:45:24.250461: predict best end_record 08-17 12:30:00, final soc 1.12kWh, metric 1002.73p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 08:20:00, load 36.16kWh, PV 0.0kWh
2026-08-15 20:45:24.250565: Saving plan best values to HA entities
2026-08-15 20:45:24.413498: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 20:45:24.418883: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 20:45:24.424281: Best charging limit SoC's [6.5, 4.5, 5.5, 16.0, 12.5, 16.0, 16.0]kWh, export []kWh gives import battery 11.94kWh, house 2.83kWh, export 0.0kWh, metric 1002.73p, metric10 1035.56p
2026-08-15 20:45:24.514077: Marginal costs baseline metric (no standing charge): 902.7598
2026-08-15 20:45:24.742590: Marginal energy costs matrix computed: min=25.54 max=29.43
2026-08-15 20:45:24.817327: Rate array import [{'start': 1245, 'end': 1410, 'rate': 'expensive', 'range': '(29.8p - 32.1p)'}, {'start': 1410, 'end': 2400, 'rate': 'cheap', 'range': '(21.4p - 28.2p)'}, {'start': 2400, 'end': 2430, 'rate': 'expensive', 'range': '(36.8p)'}, {'start': 2430, 'end': 2580, 'rate': 'very expensive', 'range': '(37.5p - 45.3p)'}, {'start': 2580, 'end': 2850, 'rate': 'expensive', 'range': '(30.0p - 35.9p)'}, {'start': 2850, 'end': 3630, 'rate': 'cheap', 'range': '(23.4p - 28.2p)'}] export [{'start': 1245, 'end': 3630, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 20:45:24.817943: - Your estimated bill for today is £5.70 and tomorrow is £3.14
2026-08-15 20:45:24.817985: - Import rates are expensive (29.8p - 32.1p) for the next 2 and three quarters hours and then cheap (21.4p - 28.2p) for the next 16 hours.
2026-08-15 20:45:24.818004: - The battery is currently at 91% and is in eco mode for the next 11 hours.
2026-08-15 20:45:24.818019: - For the next 48 hours there will be no solar generation.
2026-08-15 20:45:24.818032: - You will run out of battery in 35 hours.
2026-08-15 20:45:24.818046: - Your next charge slot will be in 11 hours where import rates will be cheap (24.1p).
2026-08-15 20:45:24.818063: 
2026-08-15 20:45:24.881264: Plan calculation took 20.35 seconds
2026-08-15 20:45:24.881778: Inverter 0: Type SK Sunsynk
2026-08-15 20:45:24.881827: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 20:45:24.882076: Reserve min: 7%, battery_min: 7%
2026-08-15 20:45:24.882168: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 20:45:24.882561: Inverter 0 SoC: 14.56kW 91%, current charge rate 5000W, current discharge rate 5250W, current battery power 284W, current battery voltage 51.2V, grid power -55W, load power 343W, PV Power 0W
2026-08-15 20:45:24.882807: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 20:45:24.882912: Inverter 0 scheduled charge enable is False
2026-08-15 20:45:24.882953: Inverter 0 charge windows currently []
2026-08-15 20:45:24.882984: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 20:45:24.883140: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 20:45:24.883182: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 20:45:24.883244: Inverter 0 scheduled discharge enable is False
2026-08-15 20:45:24.883440: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 20:45:24.883504: Inverter 0 discharge windows currently []
2026-08-15 20:45:24.883531: Note: Inverter does not support discharge freeze - disabled
2026-08-15 20:45:24.883555: Note: Inverter does not support charge freeze - disabled
2026-08-15 20:45:24.883573: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 20:45:24.946562: Inverter 0 Charge window will be: 2026-08-16 08:00:00+01:00 - 2026-08-16 08:30:00+01:00 - current SoC 91%, target 41%
2026-08-15 20:45:24.946721: Inverter 0 disabled charge window while waiting for schedule (now 08-15 20:45:00 target set_window_minutes 30 charge start time 08-16 08:00:00) original inverter start time 08-17 00:00:00
2026-08-15 20:45:24.946794: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 20:45:24.947006: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 20:45:24.947135: No export window planned
2026-08-15 20:45:24.947295: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 20:45:24.947349: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 20:45:24.947496: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 20:45:24.947669: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 20:45:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 20:45:24.947724: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 20:45:24.947786: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 20:45:24.947874: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 20:45:24.947916: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 20:45:24.947943: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 20:45:24.947973: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 20:45:24.948000: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 20:45:24.948025: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 20:45:24.948049: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 20:45:24.948111: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 20:45:24.948146: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 20:45:24.948173: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 20:45:24.948198: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 20:45:24.948221: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 20:45:24.948245: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 20:45:24.948269: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 20:45:24.948289: Inverter 0 count register writes 0
2026-08-15 20:45:24.969859: Total inverter register writes now 826
2026-08-15 20:45:25.004893: Info: Completed run status Demand
2026-08-15 20:45:25.011957: Info: record_status Demand
2026-08-15 20:45:25.019239: Saved current settings to /config/predbat_config.json
2026-08-15 20:45:25.019583: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 20:45:25.252209: ML Component: Generating predictions load data age 57.0 days, 16513 data points
2026-08-15 20:45:25.367948: ML Predictor: Starting autoregressive prediction loop for 576 steps (48.0 hours), prev_energy value 0.0132 max_dow {0: 0.10014999996256083, 1: 0.10541562554407864, 2: 0.11911562483031304, 3: 0.12494687463529408, 4: 0.17094062535744162, 5: 0.09450833335849973, 6: 0.10970937514957041}
2026-08-15 20:45:33.150926: ML Component: Generated 576 predictions (total 29.94 kWh over 48h)
2026-08-15 20:45:33.186790: ML Component: Prediction cycle completed
2026-08-15 20:45:33.319364: ML Component: Saved 16513 steps (57 days) of history to /config/predbat_ml_history.npz
2026-08-15 20:45:57.128379: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 20:45:57.128620: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 20:45:57.128659: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 20:45:57.128824: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 20:45:57.128863: Note: Inverter does not support discharge freeze - disabled
2026-08-15 20:45:57.128884: Note: Inverter does not support charge freeze - disabled
2026-08-15 20:45:57.128901: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 20:47:57.346355: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 20:47:57.346732: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 20:47:57.346807: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 20:47:57.346953: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 20:47:57.346993: Note: Inverter does not support discharge freeze - disabled
2026-08-15 20:47:57.347014: Note: Inverter does not support charge freeze - disabled
2026-08-15 20:47:57.347032: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 20:50:00.582128: --------------- PredBat - update at 2026-08-15 20:50:00+01:00 with clock skew 0 minutes, minutes now 1250
2026-08-15 20:50:00.582954: Saved current settings to /config/predbat_config.json
2026-08-15 20:50:00.583089: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 20.0 minutes
2026-08-15 20:50:00.583178: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.2, latest beta is v8.48.2
2026-08-15 20:50:00.583297: Autoupdate: There is an update pending v8.48.2 PV90 and second pass enabled by default, bug fixes - auto update is off
2026-08-15 20:50:00.604524: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 20:50:00.604668: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 20:50:00.604847: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 20:50:00.605479: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 20:50:00.605618: Predbat mode is set to Control charge & discharge
2026-08-15 20:50:00.828443: Found 21602 load_today datapoints going back 28 days
2026-08-15 20:50:00.828589: Using load_power data to fill gaps in load_today data
2026-08-15 20:50:01.527817: Processing 721 30-minute periods for power integration
2026-08-15 20:50:01.677979: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 20:50:01.678101: Car charging hold False, threshold 6.0kWh
2026-08-15 20:50:01.678138: Current data so far today: load 10.12kWh, import 27.7kWh, export 0.0kWh, PV 0kWh
2026-08-15 20:50:01.692262: Cars: SoC: [9.962]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 20:50:01.692692: Standing charge is set to 49.98p
2026-08-15 20:50:01.739052: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 20:50:01.739225: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 20:50:01.739462: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 610.0 minutes
2026-08-15 20:50:01.739841: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 610.0 minutes
2026-08-15 20:50:01.745805: Loaded 95 datapoints of futurerate analysis
2026-08-15 20:50:01.895046: Predicted future rates: ['08-15 00:00:00 => 28.69 / 20.01', '08-15 01:00:00 => 27.33 / 19.31', '08-15 02:00:00 => 26.31 / 18.8', '08-15 03:00:00 => 25.78 / 18.53', '08-15 04:00:00 => 25.59 / 18.43', '08-15 05:00:00 => 25.75 / 18.51', '08-15 06:00:00 => 25.34 / 18.3', '08-15 07:00:00 => 24.12 / 17.68', '08-15 08:00:00 => 22.82 / 17.01', '08-15 09:00:00 => 21.84 / 16.51', '08-15 10:00:00 => 20.22 / 15.68', '08-15 11:00:00 => 17.8 / 14.45', '08-15 12:00:00 => 16.16 / 13.61', '08-15 13:00:00 => 15.55 / 13.3', '08-15 14:00:00 => 15.14 / 13.09', '08-15 15:00:00 => 15.65 / 13.35', '08-15 16:00:00 => 32.68 / 16.13', '08-15 17:00:00 => 37.81 / 18.75', '08-15 18:00:00 => 42.15 / 20.96', '08-15 19:00:00 => 30.88 / 21.13', '08-15 20:00:00 => 31.43 / 21.41', '08-15 21:00:00 => 31.43 / 21.41', '08-15 22:00:00 => 30.37 / 20.87', '08-15 23:00:00 => 29.16 / 20.25', '08-16 00:00:00 => 28.62 / 19.97', '08-16 01:00:00 => 27.52 / 19.41', '08-16 02:00:00 => 26.55 / 18.92', '08-16 03:00:00 => 26.18 / 18.73', '08-16 04:00:00 => 26.12 / 18.7', '08-16 05:00:00 => 26.02 / 18.65', '08-16 06:00:00 => 25.78 / 18.53', '08-16 07:00:00 => 25.43 / 18.35', '08-16 08:00:00 => 24.63 / 17.94', '08-16 09:00:00 => 24.05 / 17.64', '08-16 10:00:00 => 24.59 / 17.92', '08-16 11:00:00 => 24.5 / 17.87', '08-16 12:00:00 => 23.58 / 17.4', '08-16 13:00:00 => 22.93 / 17.07', '08-16 14:00:00 => 21.8 / 16.49', '08-16 15:00:00 => 21.8 / 16.49', '08-16 16:00:00 => 36.93 / 18.3', '08-16 17:00:00 => 39.92 / 19.83', '08-16 18:00:00 => 43.98 / 21.9', '08-16 19:00:00 => 32.83 / 22.13']
2026-08-15 20:50:01.932093: Rate min forward looking: now 21.41p at end of forecast 21.41p
2026-08-15 20:50:01.932419: Import rates: min 21.41p, max 45.28p, average 28.59p
2026-08-15 20:50:01.967432: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 20:50:01.967549: Rate thresholds (for charge/export) are import 44.78p (0.0p), export -0.1p (0.0p)
2026-08-15 20:50:01.968768: High export rate found rates in range 99p to -99p
2026-08-15 20:50:02.056102: Low Import rate found rates in range 21.41p to 44.34p
2026-08-15 20:50:02.056241: Car 0 charging is not planned as it is not plugged in
2026-08-15 20:50:02.066745: Battery level now 14.56kWh, -1hr ago 14.79kWh, at midnight 1.66kWh, battery value change in the last hour -4.27p, change today 237.34p, rate_forward 18.39p
2026-08-15 20:50:02.067202: Last hour: net energy 0.0kWh, import 0.0kWh, export 0.0kWh, car 0kWh, load 0.35kWh, net cost 0.0p, import 0.0p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 20:50:02.135388: Today's energy total net 27.7kWh, import 27.7kWh, export 0.0kWh, cost 570.18p, import 520.2p, export 0.0p, carbon 0.0kg
2026-08-15 20:50:02.135561: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 20:50:02.236014: Using weighted-bucket historical load forecast over 14 days
2026-08-15 20:50:02.268026: Today's load divergence 82.18%, in-day adjustment 91.08%, damping 0.95x, yesterday 143.77% today 83.07% blend 13.19%
2026-08-15 20:50:02.268144: Today's predicted so far 12.42kWh with 0.0kWh car/iBoost excluded, 20.88kWh import ignored, and 12.42kWh forecast extra.
2026-08-15 20:50:02.268346: Today's actual load so far 10.13kWh with 0.0kWh car/iBoost excluded, and 20.88kWh import ignored.
2026-08-15 20:50:02.299765: Inverter 0: Type SK Sunsynk
2026-08-15 20:50:02.299854: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 20:50:02.300044: Reserve min: 7%, battery_min: 7%
2026-08-15 20:50:02.300246: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 20:50:02.300689: Inverter 0 SoC: 14.56kW 91%, current charge rate 5000W, current discharge rate 5250W, current battery power 318W, current battery voltage 51.2V, grid power -54W, load power 377W, PV Power 0W
2026-08-15 20:50:02.300908: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 20:50:02.301028: Inverter 0 scheduled charge enable is False
2026-08-15 20:50:02.301091: Inverter 0 charge windows currently []
2026-08-15 20:50:02.301119: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 20:50:02.301231: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 20:50:02.301268: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 20:50:02.301313: Inverter 0 scheduled discharge enable is False
2026-08-15 20:50:02.301532: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 20:50:02.301576: Inverter 0 discharge windows currently []
2026-08-15 20:50:02.301599: Note: Inverter does not support discharge freeze - disabled
2026-08-15 20:50:02.301623: Note: Inverter does not support charge freeze - disabled
2026-08-15 20:50:02.301640: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 20:50:02.357718: Dynamic load last period 0.30kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 20:50:02.357816: Plan was last updated on 2026-08-15 20:45:00+01:00 and is now 5.0 minutes old
2026-08-15 20:50:02.358070: Best charge window [ 16-08 08:00:00 - 16-08 08:30:00 @ 24.06p 41%, 16-08 11:30:00 - 16-08 12:30:00 @ 23.46p 28%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 34%, 16-08 13:30:00 - 16-08 15:00:00 @ 21.75p 100%, 16-08 15:00:00 - 16-08 16:00:00 @ 22.89p 78%, 17-08 12:30:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 17-08 21:00:00 @ 35.25p 100% ]
2026-08-15 20:50:02.358105: Best export window [  ]
2026-08-15 20:50:02.358748: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 20:50:02.361286: Load divergence over 8.0 hours mean 798.34W, min 373.8W, max 1997.4W, std dev 421.28W, divergence 26.38%
2026-08-15 20:50:02.376750: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 20:50:02.376865: LoadML is_calculating False
2026-08-15 20:50:02.376923: Creating pool of 12 processes to match your CPU count
2026-08-15 20:50:02.505218: predict base end_record 08-17 12:35:00, final soc 1.12kWh, metric 1075.39p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 15:40:00, load 36.33kWh, PV 0.0kWh
2026-08-15 20:50:02.650918: Battery has 18.83 hours left - now at 14.56kWh
2026-08-15 20:50:02.696543: predict base10 end_record 08-17 12:35:00, final soc 1.12kWh, metric 1108.22p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 14:45:00, load 37.57kWh, PV 0.0kWh
2026-08-15 20:50:02.794024: predict best10 end_record 08-17 12:35:00, final soc 1.44kWh, metric 1044.11p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 07:05:00, load 37.57kWh, PV 0.0kWh
2026-08-15 20:50:02.877405: predict best end_record 08-17 12:35:00, final soc 1.51kWh, metric 1012.86p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 08:15:00, load 36.33kWh, PV 0.0kWh
2026-08-15 20:50:02.877500: Saving plan best values to HA entities
2026-08-15 20:50:03.065091: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 20:50:03.071044: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0.0
2026-08-15 20:50:03.076741: Best charging limit SoC's [6.5, 4.5, 5.5, 16.0, 12.5, 16.0, 16.0]kWh, export []kWh gives import battery 12.37kWh, house 2.85kWh, export 0.0kWh, metric 1012.86p, metric10 1044.11p
2026-08-15 20:50:03.158372: Marginal costs baseline metric (no standing charge): 912.889
2026-08-15 20:50:03.438895: Marginal energy costs matrix computed: min=25.53 max=29.41
2026-08-15 20:50:03.525966: Rate array import [{'start': 1250, 'end': 1410, 'rate': 'expensive', 'range': '(29.8p - 32.1p)'}, {'start': 1410, 'end': 2400, 'rate': 'cheap', 'range': '(21.4p - 28.2p)'}, {'start': 2400, 'end': 2430, 'rate': 'expensive', 'range': '(36.8p)'}, {'start': 2430, 'end': 2580, 'rate': 'very expensive', 'range': '(37.5p - 45.3p)'}, {'start': 2580, 'end': 2850, 'rate': 'expensive', 'range': '(30.0p - 35.9p)'}, {'start': 2850, 'end': 3635, 'rate': 'cheap', 'range': '(22.3p - 28.2p)'}] export [{'start': 1250, 'end': 3635, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 20:50:03.526752: - Your estimated bill for today is £5.70 and tomorrow is £3.13
2026-08-15 20:50:03.526799: - Import rates are expensive (29.8p - 32.1p) for the next 2 and three quarters hours and then cheap (21.4p - 28.2p) for the next 16 hours.
2026-08-15 20:50:03.526822: - The battery is currently at 91% and is in eco mode for the next 11 hours.
2026-08-15 20:50:03.526840: - For the next 48 hours there will be no solar generation.
2026-08-15 20:50:03.526857: - You will run out of battery in 35 hours.
2026-08-15 20:50:03.526875: - Your next charge slot will be in 11 hours where import rates will be cheap (24.1p).
2026-08-15 20:50:03.526896: 
2026-08-15 20:50:03.597244: Plan calculation took 1.24 seconds
2026-08-15 20:50:03.601109: No high rate period found
2026-08-15 20:50:03.656229: Import threshold used for optimisation was 26.13p
2026-08-15 20:50:03.731425: Low import rate windows [0: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 1: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 2: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 3: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 4: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 5: 08-15 23:00:00 - 08-15 23:30:00 @ 30.02, 6: 08-15 23:30:00 - 08-16 00:00:00 @ 27.8, 7: 08-16 00:00:00 - 08-16 00:30:00 @ 28.18, 8: 08-16 00:30:00 - 08-16 01:00:00 @ 27.38, 9: 08-16 01:00:00 - 08-16 01:30:00 @ 26.7, 10: 08-16 01:30:00 - 08-16 02:00:00 @ 26.31, 11: 08-16 02:00:00 - 08-16 02:30:00 @ 25.79, 12: 08-16 02:30:00 - 08-16 03:00:00 @ 25.86, 13: 08-16 03:00:00 - 08-16 03:30:00 @ 26.13, 14: 08-16 03:30:00 - 08-16 04:00:00 @ 25.86, 15: 08-16 04:00:00 - 08-16 04:30:00 @ 26.27, 16: 08-16 04:30:00 - 08-16 05:00:00 @ 26.14, 17: 08-16 05:00:00 - 08-16 05:30:00 @ 27.03, 18: 08-16 05:30:00 - 08-16 06:00:00 @ 26.28, 19: 08-16 06:00:00 - 08-16 06:30:00 @ 25.68, 20: 08-16 06:30:00 - 08-16 07:00:00 @ 26.1, 21: 08-16 07:00:00 - 08-16 07:30:00 @ 24.28, 22: 08-16 07:30:00 - 08-16 08:00:00 @ 24.94, 23: 08-16 08:00:00 - 08-16 08:30:00 @ 24.06, 24: 08-16 08:30:00 - 08-16 09:00:00 @ 24.39, 25: 08-16 09:00:00 - 08-16 09:30:00 @ 24.66, 26: 08-16 09:30:00 - 08-16 10:00:00 @ 24.06, 27: 08-16 10:00:00 - 08-16 10:30:00 @ 25.5, 28: 08-16 10:30:00 - 08-16 11:00:00 @ 24.94, 29: 08-16 11:00:00 - 08-16 11:30:00 @ 24.25, 30: 08-16 11:30:00 - 08-16 12:00:00 @ 23.49, 31: 08-16 12:00:00 - 08-16 12:30:00 @ 23.43, 32: 08-16 12:30:00 - 08-16 13:00:00 @ 22.33, 33: 08-16 13:00:00 - 08-16 13:30:00 @ 22.76, 34: 08-16 13:30:00 - 08-16 14:00:00 @ 22.3, 35: 08-16 14:00:00 - 08-16 14:30:00 @ 21.41, 36: 08-16 14:30:00 - 08-16 15:00:00 @ 21.65, 37: 08-16 15:00:00 - 08-16 15:30:00 @ 22.95, 38: 08-16 15:30:00 - 08-16 16:00:00 @ 22.83, 39: 08-16 16:00:00 - 08-16 16:30:00 @ 36.84, 40: 08-16 16:30:00 - 08-16 17:00:00 @ 37.54, 41: 08-16 17:00:00 - 08-16 17:30:00 @ 41.79, 42: 08-16 17:30:00 - 08-16 18:00:00 @ 43.7, 43: 08-16 18:00:00 - 08-16 18:30:00 @ 44.34, 44: 08-16 19:00:00 - 08-16 19:30:00 @ 34.79, 45: 08-16 19:30:00 - 08-16 20:00:00 @ 34.76, 46: 08-16 20:00:00 - 08-16 20:30:00 @ 35.62, 47: 08-16 20:30:00 - 08-16 21:00:00 @ 35.3, 48: 08-16 21:00:00 - 08-16 21:30:00 @ 35.89, 49: 08-16 21:30:00 - 08-16 22:00:00 @ 35.71, 50: 08-16 22:00:00 - 08-16 22:30:00 @ 33.75, 51: 08-16 22:30:00 - 08-16 23:00:00 @ 32.0, 52: 08-16 23:00:00 - 08-16 23:30:00 @ 30.02, 53: 08-16 23:30:00 - 08-17 00:00:00 @ 27.8, 54: 08-17 00:00:00 - 08-17 00:30:00 @ 28.18, 55: 08-17 00:30:00 - 08-17 01:00:00 @ 27.38, 56: 08-17 01:00:00 - 08-17 01:30:00 @ 26.7, 57: 08-17 01:30:00 - 08-17 02:00:00 @ 26.31, 58: 08-17 02:00:00 - 08-17 02:30:00 @ 25.79, 59: 08-17 02:30:00 - 08-17 03:00:00 @ 25.86, 60: 08-17 03:00:00 - 08-17 03:30:00 @ 26.13, 61: 08-17 03:30:00 - 08-17 04:00:00 @ 25.86, 62: 08-17 04:00:00 - 08-17 04:30:00 @ 26.27, 63: 08-17 04:30:00 - 08-17 05:00:00 @ 26.14, 64: 08-17 05:00:00 - 08-17 05:30:00 @ 27.03, 65: 08-17 05:30:00 - 08-17 06:00:00 @ 26.28, 66: 08-17 06:00:00 - 08-17 06:30:00 @ 25.68, 67: 08-17 06:30:00 - 08-17 07:00:00 @ 26.1, 68: 08-17 07:00:00 - 08-17 07:30:00 @ 24.28, 69: 08-17 07:30:00 - 08-17 08:00:00 @ 24.94, 70: 08-17 08:00:00 - 08-17 08:30:00 @ 24.06, 71: 08-17 08:30:00 - 08-17 09:00:00 @ 24.39, 72: 08-17 09:00:00 - 08-17 09:30:00 @ 24.66, 73: 08-17 09:30:00 - 08-17 10:00:00 @ 24.06, 74: 08-17 10:00:00 - 08-17 10:30:00 @ 25.5, 75: 08-17 10:30:00 - 08-17 11:00:00 @ 24.94, 76: 08-17 11:00:00 - 08-17 11:30:00 @ 24.25, 77: 08-17 11:30:00 - 08-17 12:00:00 @ 23.49, 78: 08-17 12:00:00 - 08-17 12:30:00 @ 23.43, 79: 08-17 12:30:00 - 08-17 13:00:00 @ 22.33, 80: 08-17 13:00:00 - 08-17 13:30:00 @ 22.76, 81: 08-17 13:30:00 - 08-17 14:00:00 @ 22.3, 82: 08-17 14:00:00 - 08-17 14:30:00 @ 21.41, 83: 08-17 14:30:00 - 08-17 15:00:00 @ 21.65, 84: 08-17 15:00:00 - 08-17 15:30:00 @ 22.95, 85: 08-17 15:30:00 - 08-17 16:00:00 @ 22.83, 86: 08-17 16:00:00 - 08-17 16:30:00 @ 36.84, 87: 08-17 16:30:00 - 08-17 17:00:00 @ 37.54, 88: 08-17 17:00:00 - 08-17 17:30:00 @ 41.79, 89: 08-17 17:30:00 - 08-17 18:00:00 @ 43.7, 90: 08-17 18:00:00 - 08-17 18:30:00 @ 44.34, 91: 08-17 19:00:00 - 08-17 19:30:00 @ 34.79, 92: 08-17 19:30:00 - 08-17 20:00:00 @ 34.76, 93: 08-17 20:00:00 - 08-17 20:30:00 @ 35.62, 94: 08-17 20:30:00 - 08-17 21:00:00 @ 35.3]
2026-08-15 20:50:03.741974: Inverter 0 Charge window will be: 2026-08-16 08:00:00+01:00 - 2026-08-16 08:30:00+01:00 - current SoC 91%, target 41%
2026-08-15 20:50:03.742121: Inverter 0 disabled charge window while waiting for schedule (now 08-15 20:50:00 target set_window_minutes 30 charge start time 08-16 08:00:00) original inverter start time 08-17 00:00:00
2026-08-15 20:50:03.742243: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 20:50:03.742530: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 20:50:03.742633: No export window planned
2026-08-15 20:50:03.742750: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 20:50:03.742786: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 20:50:03.742955: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 20:50:03.743143: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 20:50:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 20:50:03.743209: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 20:50:03.743278: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 20:50:03.743403: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 20:50:03.743470: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 20:50:03.743501: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 20:50:03.743526: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 20:50:03.743551: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 20:50:03.743575: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 20:50:03.743604: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 20:50:03.743674: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 20:50:03.743710: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 20:50:03.743737: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 20:50:03.743762: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 20:50:03.743786: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 20:50:03.743818: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 20:50:03.743849: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 20:50:03.743872: Inverter 0 count register writes 0
2026-08-15 20:50:03.761701: Will not recompute the plan, it is 5.0 minutes old and max age is 10 minutes
2026-08-15 20:50:03.767190: Total inverter register writes now 826
2026-08-15 20:50:03.803053: Info: Completed run status Demand
2026-08-15 20:50:03.809665: Info: record_status Demand
2026-08-15 20:50:03.816535: Saved current settings to /config/predbat_config.json
2026-08-15 20:50:03.816925: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 20:50:41.929943: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 20:50:41.930286: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 20:50:41.930354: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 20:50:41.930522: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 20:50:41.930567: Note: Inverter does not support discharge freeze - disabled
2026-08-15 20:50:41.930590: Note: Inverter does not support charge freeze - disabled
2026-08-15 20:50:41.930608: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 20:52:42.166600: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 20:52:42.166841: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 20:52:42.166888: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 20:52:42.167095: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 20:52:42.167136: Note: Inverter does not support discharge freeze - disabled
2026-08-15 20:52:42.167158: Note: Inverter does not support charge freeze - disabled
2026-08-15 20:52:42.167175: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 20:54:42.396816: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 20:54:42.397182: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 20:54:42.397232: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 20:54:42.397473: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 20:54:42.397540: Note: Inverter does not support discharge freeze - disabled
2026-08-15 20:54:42.397564: Note: Inverter does not support charge freeze - disabled
2026-08-15 20:54:42.397582: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 20:55:00.501282: --------------- PredBat - update at 2026-08-15 20:55:00+01:00 with clock skew 0 minutes, minutes now 1255
2026-08-15 20:55:00.502128: Saved current settings to /config/predbat_config.json
2026-08-15 20:55:00.502263: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 25.0 minutes
2026-08-15 20:55:00.502392: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.2, latest beta is v8.48.2
2026-08-15 20:55:00.502489: Autoupdate: There is an update pending v8.48.2 PV90 and second pass enabled by default, bug fixes - auto update is off
2026-08-15 20:55:00.524027: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 20:55:00.524172: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 20:55:00.524359: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 20:55:00.524898: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 20:55:00.525141: Predbat mode is set to Control charge & discharge
2026-08-15 20:55:00.719784: Found 21602 load_today datapoints going back 28 days
2026-08-15 20:55:00.719942: Using load_power data to fill gaps in load_today data
2026-08-15 20:55:01.583751: Processing 721 30-minute periods for power integration
2026-08-15 20:55:01.770167: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 20:55:01.770324: Car charging hold False, threshold 6.0kWh
2026-08-15 20:55:01.770420: Current data so far today: load 10.15kWh, import 27.7kWh, export 0.0kWh, PV 0kWh
2026-08-15 20:55:01.789317: Cars: SoC: [9.962]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 20:55:01.789923: Standing charge is set to 49.98p
2026-08-15 20:55:01.838524: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 20:55:01.838640: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 20:55:01.838876: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 615.0 minutes
2026-08-15 20:55:01.839371: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 615.0 minutes
2026-08-15 20:55:01.845355: Loaded 95 datapoints of futurerate analysis
2026-08-15 20:55:02.001920: Predicted future rates: ['08-15 00:00:00 => 28.69 / 20.01', '08-15 01:00:00 => 27.33 / 19.31', '08-15 02:00:00 => 26.31 / 18.8', '08-15 03:00:00 => 25.78 / 18.53', '08-15 04:00:00 => 25.59 / 18.43', '08-15 05:00:00 => 25.75 / 18.51', '08-15 06:00:00 => 25.34 / 18.3', '08-15 07:00:00 => 24.12 / 17.68', '08-15 08:00:00 => 22.82 / 17.01', '08-15 09:00:00 => 21.84 / 16.51', '08-15 10:00:00 => 20.22 / 15.68', '08-15 11:00:00 => 17.8 / 14.45', '08-15 12:00:00 => 16.16 / 13.61', '08-15 13:00:00 => 15.55 / 13.3', '08-15 14:00:00 => 15.14 / 13.09', '08-15 15:00:00 => 15.65 / 13.35', '08-15 16:00:00 => 32.68 / 16.13', '08-15 17:00:00 => 37.81 / 18.75', '08-15 18:00:00 => 42.15 / 20.96', '08-15 19:00:00 => 30.88 / 21.13', '08-15 20:00:00 => 31.43 / 21.41', '08-15 21:00:00 => 31.43 / 21.41', '08-15 22:00:00 => 30.37 / 20.87', '08-15 23:00:00 => 29.16 / 20.25', '08-16 00:00:00 => 28.62 / 19.97', '08-16 01:00:00 => 27.52 / 19.41', '08-16 02:00:00 => 26.55 / 18.92', '08-16 03:00:00 => 26.18 / 18.73', '08-16 04:00:00 => 26.12 / 18.7', '08-16 05:00:00 => 26.02 / 18.65', '08-16 06:00:00 => 25.78 / 18.53', '08-16 07:00:00 => 25.43 / 18.35', '08-16 08:00:00 => 24.63 / 17.94', '08-16 09:00:00 => 24.05 / 17.64', '08-16 10:00:00 => 24.59 / 17.92', '08-16 11:00:00 => 24.5 / 17.87', '08-16 12:00:00 => 23.58 / 17.4', '08-16 13:00:00 => 22.93 / 17.07', '08-16 14:00:00 => 21.8 / 16.49', '08-16 15:00:00 => 21.8 / 16.49', '08-16 16:00:00 => 36.93 / 18.3', '08-16 17:00:00 => 39.92 / 19.83', '08-16 18:00:00 => 43.98 / 21.9', '08-16 19:00:00 => 32.83 / 22.13']
2026-08-15 20:55:02.047597: Rate min forward looking: now 21.41p at end of forecast 21.41p
2026-08-15 20:55:02.048141: Import rates: min 21.41p, max 45.28p, average 28.6p
2026-08-15 20:55:02.093328: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 20:55:02.093469: Rate thresholds (for charge/export) are import 44.78p (0.0p), export -0.1p (0.0p)
2026-08-15 20:55:02.094869: High export rate found rates in range 99p to -99p
2026-08-15 20:55:02.205203: Low Import rate found rates in range 21.41p to 44.34p
2026-08-15 20:55:02.205368: Car 0 charging is not planned as it is not plugged in
2026-08-15 20:55:02.218073: Battery level now 14.56kWh, -1hr ago 14.79kWh, at midnight 1.66kWh, battery value change in the last hour -4.27p, change today 237.34p, rate_forward 18.39p
2026-08-15 20:55:02.218558: Last hour: net energy 0.0kWh, import 0.0kWh, export 0.0kWh, car 0kWh, load 0.35kWh, net cost 0.0p, import 0.0p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 20:55:02.279934: Today's energy total net 27.7kWh, import 27.7kWh, export 0.0kWh, cost 570.18p, import 520.2p, export 0.0p, carbon 0.0kg
2026-08-15 20:55:02.280103: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 20:55:02.376313: Using weighted-bucket historical load forecast over 14 days
2026-08-15 20:55:02.408638: Today's load divergence 81.74%, in-day adjustment 90.51%, damping 0.95x, yesterday 143.77% today 82.66% blend 12.85%
2026-08-15 20:55:02.408736: Today's predicted so far 12.45kWh with 0.0kWh car/iBoost excluded, 20.85kWh import ignored, and 12.45kWh forecast extra.
2026-08-15 20:55:02.408768: Today's actual load so far 10.11kWh with 0.0kWh car/iBoost excluded, and 20.85kWh import ignored.
2026-08-15 20:55:02.441897: Inverter 0: Type SK Sunsynk
2026-08-15 20:55:02.441989: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 20:55:02.442245: Reserve min: 7%, battery_min: 7%
2026-08-15 20:55:02.442378: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 20:55:02.442715: Inverter 0 SoC: 14.56kW 91%, current charge rate 5000W, current discharge rate 5250W, current battery power 286W, current battery voltage 51.2V, grid power -54W, load power 347W, PV Power 0W
2026-08-15 20:55:02.442913: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 20:55:02.443052: Inverter 0 scheduled charge enable is False
2026-08-15 20:55:02.443099: Inverter 0 charge windows currently []
2026-08-15 20:55:02.443152: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 20:55:02.443328: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 20:55:02.443417: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 20:55:02.443502: Inverter 0 scheduled discharge enable is False
2026-08-15 20:55:02.443710: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 20:55:02.443762: Inverter 0 discharge windows currently []
2026-08-15 20:55:02.443795: Note: Inverter does not support discharge freeze - disabled
2026-08-15 20:55:02.443831: Note: Inverter does not support charge freeze - disabled
2026-08-15 20:55:02.443857: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 20:55:02.514088: Dynamic load last period 0.30kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 20:55:02.514203: Plan was last updated on 2026-08-15 20:45:00+01:00 and is now 10.0 minutes old
2026-08-15 20:55:02.514594: Best charge window [ 16-08 08:00:00 - 16-08 08:30:00 @ 24.06p 41%, 16-08 11:30:00 - 16-08 12:30:00 @ 23.46p 28%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 34%, 16-08 13:30:00 - 16-08 15:00:00 @ 21.75p 100%, 16-08 15:00:00 - 16-08 16:00:00 @ 22.89p 78%, 17-08 12:30:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 17-08 21:00:00 @ 35.25p 100% ]
2026-08-15 20:55:02.514643: Best export window [  ]
2026-08-15 20:55:02.515500: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 20:55:02.518894: Load divergence over 8.0 hours mean 800.09W, min 361.2W, max 1875.0W, std dev 418.84W, divergence 26.17%
2026-08-15 20:55:02.538017: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 20:55:02.538176: LoadML is_calculating False
2026-08-15 20:55:02.538278: Creating pool of 12 processes to match your CPU count
2026-08-15 20:55:02.671347: predict base end_record 08-17 12:40:00, final soc 1.12kWh, metric 1075.6p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 15:45:00, load 36.36kWh, PV 0.0kWh
2026-08-15 20:55:02.822830: Battery has 18.83 hours left - now at 14.56kWh
2026-08-15 20:55:02.871397: predict base10 end_record 08-17 12:40:00, final soc 1.12kWh, metric 1108.44p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 14:55:00, load 37.61kWh, PV 0.0kWh
2026-08-15 20:55:02.958728: predict best10 end_record 08-17 12:40:00, final soc 1.77kWh, metric 1051.77p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 07:05:00, load 37.61kWh, PV 0.0kWh
2026-08-15 20:55:03.078842: predict best end_record 08-17 12:40:00, final soc 1.9kWh, metric 1022.46p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 08:15:00, load 36.36kWh, PV 0.0kWh
2026-08-15 20:55:03.078945: Saving plan best values to HA entities
2026-08-15 20:55:03.266218: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0
2026-08-15 20:55:03.276783: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 20:55:03.283685: Best charging limit SoC's [6.5, 4.5, 5.5, 16.0, 12.5, 16.0, 16.0]kWh, export []kWh gives import battery 12.8kWh, house 2.85kWh, export 0.0kWh, metric 1022.46p, metric10 1051.77p
2026-08-15 20:55:03.378228: Marginal costs baseline metric (no standing charge): 922.4959
2026-08-15 20:55:03.664276: Marginal energy costs matrix computed: min=25.48 max=29.36
2026-08-15 20:55:03.777983: Rate array import [{'start': 1255, 'end': 1410, 'rate': 'expensive', 'range': '(29.8p - 32.1p)'}, {'start': 1410, 'end': 2400, 'rate': 'cheap', 'range': '(21.4p - 28.2p)'}, {'start': 2400, 'end': 2430, 'rate': 'expensive', 'range': '(36.8p)'}, {'start': 2430, 'end': 2580, 'rate': 'very expensive', 'range': '(37.5p - 45.3p)'}, {'start': 2580, 'end': 2850, 'rate': 'expensive', 'range': '(30.0p - 35.9p)'}, {'start': 2850, 'end': 3640, 'rate': 'cheap', 'range': '(22.3p - 28.2p)'}] export [{'start': 1255, 'end': 3640, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 20:55:03.778842: - Your estimated bill for today is £5.70 and tomorrow is £3.12
2026-08-15 20:55:03.778903: - Import rates are expensive (29.8p - 32.1p) for the next 2 and a half hours and then cheap (21.4p - 28.2p) for the next 16 hours.
2026-08-15 20:55:03.778976: - The battery is currently at 91% and is in eco mode for the next 11 hours.
2026-08-15 20:55:03.779023: - For the next 48 hours there will be no solar generation.
2026-08-15 20:55:03.779060: - You will run out of battery in 35 hours.
2026-08-15 20:55:03.779098: - Your next charge slot will be in 11 hours where import rates will be cheap (24.1p).
2026-08-15 20:55:03.779134: 
2026-08-15 20:55:03.848734: Plan calculation took 1.33 seconds
2026-08-15 20:55:03.853274: No high rate period found
2026-08-15 20:55:03.907950: Import threshold used for optimisation was 26.13p
2026-08-15 20:55:03.962752: Low import rate windows [0: 08-15 20:30:00 - 08-15 21:00:00 @ 32.1, 1: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 2: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 3: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 4: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 5: 08-15 23:00:00 - 08-15 23:30:00 @ 30.02, 6: 08-15 23:30:00 - 08-16 00:00:00 @ 27.8, 7: 08-16 00:00:00 - 08-16 00:30:00 @ 28.18, 8: 08-16 00:30:00 - 08-16 01:00:00 @ 27.38, 9: 08-16 01:00:00 - 08-16 01:30:00 @ 26.7, 10: 08-16 01:30:00 - 08-16 02:00:00 @ 26.31, 11: 08-16 02:00:00 - 08-16 02:30:00 @ 25.79, 12: 08-16 02:30:00 - 08-16 03:00:00 @ 25.86, 13: 08-16 03:00:00 - 08-16 03:30:00 @ 26.13, 14: 08-16 03:30:00 - 08-16 04:00:00 @ 25.86, 15: 08-16 04:00:00 - 08-16 04:30:00 @ 26.27, 16: 08-16 04:30:00 - 08-16 05:00:00 @ 26.14, 17: 08-16 05:00:00 - 08-16 05:30:00 @ 27.03, 18: 08-16 05:30:00 - 08-16 06:00:00 @ 26.28, 19: 08-16 06:00:00 - 08-16 06:30:00 @ 25.68, 20: 08-16 06:30:00 - 08-16 07:00:00 @ 26.1, 21: 08-16 07:00:00 - 08-16 07:30:00 @ 24.28, 22: 08-16 07:30:00 - 08-16 08:00:00 @ 24.94, 23: 08-16 08:00:00 - 08-16 08:30:00 @ 24.06, 24: 08-16 08:30:00 - 08-16 09:00:00 @ 24.39, 25: 08-16 09:00:00 - 08-16 09:30:00 @ 24.66, 26: 08-16 09:30:00 - 08-16 10:00:00 @ 24.06, 27: 08-16 10:00:00 - 08-16 10:30:00 @ 25.5, 28: 08-16 10:30:00 - 08-16 11:00:00 @ 24.94, 29: 08-16 11:00:00 - 08-16 11:30:00 @ 24.25, 30: 08-16 11:30:00 - 08-16 12:00:00 @ 23.49, 31: 08-16 12:00:00 - 08-16 12:30:00 @ 23.43, 32: 08-16 12:30:00 - 08-16 13:00:00 @ 22.33, 33: 08-16 13:00:00 - 08-16 13:30:00 @ 22.76, 34: 08-16 13:30:00 - 08-16 14:00:00 @ 22.3, 35: 08-16 14:00:00 - 08-16 14:30:00 @ 21.41, 36: 08-16 14:30:00 - 08-16 15:00:00 @ 21.65, 37: 08-16 15:00:00 - 08-16 15:30:00 @ 22.95, 38: 08-16 15:30:00 - 08-16 16:00:00 @ 22.83, 39: 08-16 16:00:00 - 08-16 16:30:00 @ 36.84, 40: 08-16 16:30:00 - 08-16 17:00:00 @ 37.54, 41: 08-16 17:00:00 - 08-16 17:30:00 @ 41.79, 42: 08-16 17:30:00 - 08-16 18:00:00 @ 43.7, 43: 08-16 18:00:00 - 08-16 18:30:00 @ 44.34, 44: 08-16 19:00:00 - 08-16 19:30:00 @ 34.79, 45: 08-16 19:30:00 - 08-16 20:00:00 @ 34.76, 46: 08-16 20:00:00 - 08-16 20:30:00 @ 35.62, 47: 08-16 20:30:00 - 08-16 21:00:00 @ 35.3, 48: 08-16 21:00:00 - 08-16 21:30:00 @ 35.89, 49: 08-16 21:30:00 - 08-16 22:00:00 @ 35.71, 50: 08-16 22:00:00 - 08-16 22:30:00 @ 33.75, 51: 08-16 22:30:00 - 08-16 23:00:00 @ 32.0, 52: 08-16 23:00:00 - 08-16 23:30:00 @ 30.02, 53: 08-16 23:30:00 - 08-17 00:00:00 @ 27.8, 54: 08-17 00:00:00 - 08-17 00:30:00 @ 28.18, 55: 08-17 00:30:00 - 08-17 01:00:00 @ 27.38, 56: 08-17 01:00:00 - 08-17 01:30:00 @ 26.7, 57: 08-17 01:30:00 - 08-17 02:00:00 @ 26.31, 58: 08-17 02:00:00 - 08-17 02:30:00 @ 25.79, 59: 08-17 02:30:00 - 08-17 03:00:00 @ 25.86, 60: 08-17 03:00:00 - 08-17 03:30:00 @ 26.13, 61: 08-17 03:30:00 - 08-17 04:00:00 @ 25.86, 62: 08-17 04:00:00 - 08-17 04:30:00 @ 26.27, 63: 08-17 04:30:00 - 08-17 05:00:00 @ 26.14, 64: 08-17 05:00:00 - 08-17 05:30:00 @ 27.03, 65: 08-17 05:30:00 - 08-17 06:00:00 @ 26.28, 66: 08-17 06:00:00 - 08-17 06:30:00 @ 25.68, 67: 08-17 06:30:00 - 08-17 07:00:00 @ 26.1, 68: 08-17 07:00:00 - 08-17 07:30:00 @ 24.28, 69: 08-17 07:30:00 - 08-17 08:00:00 @ 24.94, 70: 08-17 08:00:00 - 08-17 08:30:00 @ 24.06, 71: 08-17 08:30:00 - 08-17 09:00:00 @ 24.39, 72: 08-17 09:00:00 - 08-17 09:30:00 @ 24.66, 73: 08-17 09:30:00 - 08-17 10:00:00 @ 24.06, 74: 08-17 10:00:00 - 08-17 10:30:00 @ 25.5, 75: 08-17 10:30:00 - 08-17 11:00:00 @ 24.94, 76: 08-17 11:00:00 - 08-17 11:30:00 @ 24.25, 77: 08-17 11:30:00 - 08-17 12:00:00 @ 23.49, 78: 08-17 12:00:00 - 08-17 12:30:00 @ 23.43, 79: 08-17 12:30:00 - 08-17 13:00:00 @ 22.33, 80: 08-17 13:00:00 - 08-17 13:30:00 @ 22.76, 81: 08-17 13:30:00 - 08-17 14:00:00 @ 22.3, 82: 08-17 14:00:00 - 08-17 14:30:00 @ 21.41, 83: 08-17 14:30:00 - 08-17 15:00:00 @ 21.65, 84: 08-17 15:00:00 - 08-17 15:30:00 @ 22.95, 85: 08-17 15:30:00 - 08-17 16:00:00 @ 22.83, 86: 08-17 16:00:00 - 08-17 16:30:00 @ 36.84, 87: 08-17 16:30:00 - 08-17 17:00:00 @ 37.54, 88: 08-17 17:00:00 - 08-17 17:30:00 @ 41.79, 89: 08-17 17:30:00 - 08-17 18:00:00 @ 43.7, 90: 08-17 18:00:00 - 08-17 18:30:00 @ 44.34, 91: 08-17 19:00:00 - 08-17 19:30:00 @ 34.79, 92: 08-17 19:30:00 - 08-17 20:00:00 @ 34.76, 93: 08-17 20:00:00 - 08-17 20:30:00 @ 35.62, 94: 08-17 20:30:00 - 08-17 21:00:00 @ 35.3]
2026-08-15 20:55:03.970736: Inverter 0 Charge window will be: 2026-08-16 08:00:00+01:00 - 2026-08-16 08:30:00+01:00 - current SoC 91%, target 41%
2026-08-15 20:55:03.970887: Inverter 0 disabled charge window while waiting for schedule (now 08-15 20:55:00 target set_window_minutes 30 charge start time 08-16 08:00:00) original inverter start time 08-17 00:00:00
2026-08-15 20:55:03.971013: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 20:55:03.971282: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 20:55:03.971416: No export window planned
2026-08-15 20:55:03.971570: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 20:55:03.971607: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 20:55:03.971752: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 20:55:03.971935: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 20:55:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 20:55:03.972000: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 20:55:03.972070: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 20:55:03.972183: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 20:55:03.972257: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 20:55:03.972326: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 20:55:03.972406: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 20:55:03.972468: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 20:55:03.972530: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 20:55:03.972592: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 20:55:03.972719: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 20:55:03.972766: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 20:55:03.972808: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 20:55:03.972862: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 20:55:03.972912: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 20:55:03.972998: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 20:55:03.973090: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 20:55:03.973137: Inverter 0 count register writes 0
2026-08-15 20:55:03.992128: Will recompute the plan as it is now 10.0 minutes old and will exceed the max age of 10 minutes before the next run
2026-08-15 20:55:03.992442: Recompute is saving previous plan...
2026-08-15 20:55:03.996042: Best charge window [ 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 0%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 30.02p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 27.8p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.18p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.38p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 26.7p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.31p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.79p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 25.86p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.13p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 25.86p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.27p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.14p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 27.03p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.28p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.68p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 26.1p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 24.28p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 24.94p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.06p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.39p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.66p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.06p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 25.5p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 24.94p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 24.25p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 23.49p 0%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.43p 0%, 16-08 12:30:00 - 16-08 13:00:00 @ 22.33p 0%, 16-08 13:00:00 - 16-08 13:30:00 @ 22.76p 0%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 0%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 0%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.65p 0%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.95p 0%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.83p 0%, 16-08 16:00:00 - 16-08 16:30:00 @ 36.84p 0%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.54p 0%, 16-08 17:00:00 - 16-08 17:30:00 @ 41.79p 0%, 16-08 17:30:00 - 16-08 18:00:00 @ 43.7p 0%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.34p 0%, 16-08 19:00:00 - 16-08 19:30:00 @ 34.79p 0%, 16-08 19:30:00 - 16-08 20:00:00 @ 34.76p 0%, 16-08 20:00:00 - 16-08 20:30:00 @ 35.62p 0%, 16-08 20:30:00 - 16-08 21:00:00 @ 35.3p 0%, 16-08 21:00:00 - 16-08 21:30:00 @ 35.89p 0%, 16-08 21:30:00 - 16-08 22:00:00 @ 35.71p 0%, 16-08 22:00:00 - 16-08 22:30:00 @ 33.75p 0%, 16-08 22:30:00 - 16-08 23:00:00 @ 32.0p 0%, 16-08 23:00:00 - 16-08 23:30:00 @ 30.02p 0%, 16-08 23:30:00 - 17-08 00:00:00 @ 27.8p 0%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.18p 0%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.38p 0%, 17-08 01:00:00 - 17-08 01:30:00 @ 26.7p 0%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.31p 0%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.79p 0%, 17-08 02:30:00 - 17-08 03:00:00 @ 25.86p 0%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.13p 0%, 17-08 03:30:00 - 17-08 04:00:00 @ 25.86p 0%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.27p 0%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.14p 0%, 17-08 05:00:00 - 17-08 05:30:00 @ 27.03p 0%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.28p 0%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.68p 0%, 17-08 06:30:00 - 17-08 07:00:00 @ 26.1p 0%, 17-08 07:00:00 - 17-08 07:30:00 @ 24.28p 0%, 17-08 07:30:00 - 17-08 08:00:00 @ 24.94p 0%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.06p 0%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.39p 0%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.66p 0%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.06p 0%, 17-08 10:00:00 - 17-08 10:30:00 @ 25.5p 0%, 17-08 10:30:00 - 17-08 11:00:00 @ 24.94p 0%, 17-08 11:00:00 - 17-08 11:30:00 @ 24.25p 0%, 17-08 11:30:00 - 17-08 12:00:00 @ 23.49p 0%, 17-08 12:00:00 - 17-08 12:30:00 @ 23.43p 0%, 17-08 12:30:00 - 17-08 13:00:00 @ 22.33p 0%, 17-08 13:00:00 - 17-08 13:30:00 @ 22.76p 0%, 17-08 13:30:00 - 17-08 14:00:00 @ 22.3p 0%, 17-08 14:00:00 - 17-08 14:30:00 @ 21.41p 0%, 17-08 14:30:00 - 17-08 15:00:00 @ 21.65p 0%, 17-08 15:00:00 - 17-08 15:30:00 @ 22.95p 0%, 17-08 15:30:00 - 17-08 16:00:00 @ 22.83p 0%, 17-08 16:00:00 - 17-08 16:30:00 @ 36.84p 0%, 17-08 16:30:00 - 17-08 17:00:00 @ 37.54p 0%, 17-08 17:00:00 - 17-08 17:30:00 @ 41.79p 0%, 17-08 17:30:00 - 17-08 18:00:00 @ 43.7p 0%, 17-08 18:00:00 - 17-08 18:30:00 @ 44.34p 0%, 17-08 19:00:00 - 17-08 19:30:00 @ 34.79p 0%, 17-08 19:30:00 - 17-08 20:00:00 @ 34.76p 0%, 17-08 20:00:00 - 17-08 20:30:00 @ 35.62p 0%, 17-08 20:30:00 - 17-08 21:00:00 @ 35.3p 0% ]
2026-08-15 20:55:03.996152: Best export window [  ]
2026-08-15 20:55:03.997122: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 20:55:04.000553: Load divergence over 8.0 hours mean 800.09W, min 361.2W, max 1875.0W, std dev 418.84W, divergence 26.17%
2026-08-15 20:55:04.017121: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 20:55:04.017231: LoadML is_calculating False
2026-08-15 20:55:04.017292: Creating pool of 12 processes to match your CPU count
2026-08-15 20:55:04.106038: Calculate Best options: mode(Control charge & discharge), calculate_export_oncharge(False), calculate_export_on_pv(True), set_export_freeze_only(False), set_discharge_during_charge(True), combine_charge_slots(False), combine_export_slots(False), combine_rate_threshold(0.0), best_soc_min(0.0 kWh), best_soc_max(0.0 kWh), best_soc_keep(0.0 kWh), inverter_loss(4%), battery_loss(3%), battery_loss_discharge (3%), inverter_hybrid(True), metric_min_improvement(0.0p), metric_min_improvement_export(0.1p), metric_min_improvement_export_freeze(0.1p), metric_battery_cycle(0.0p/kWh), metric_battery_value_scaling(1.0 x) 
2026-08-15 20:55:04.108095: Optimise levels pass started at 2026-08-15 20:55:04
2026-08-15 20:55:04.108163: Optimise all windows, total charge 94 export 1
2026-08-15 20:55:05.116549: >> Region optimisation pass width 960 gives best_metric 1019.58p, best_cost 1051.05p, best_cycle 40.13kWh, best_import 21.59kWh
2026-08-15 20:55:05.579227: >> Region optimisation pass width 480 gives best_metric 1019.58p, best_cost 1051.05p, best_cycle 40.13kWh, best_import 21.59kWh
2026-08-15 20:55:06.195829: >> Region optimisation pass width 240 gives best_metric 1019.58p, best_cost 1051.05p, best_cycle 40.13kWh, best_import 21.59kWh
2026-08-15 20:55:07.511282: >> Region optimisation pass width 120 gives best_metric 1019.58p, best_cost 1051.05p, best_cycle 40.13kWh, best_import 21.59kWh
2026-08-15 20:55:07.511813: Calculated end_record as 08-17 12:30:00 based on best_price 22.33p, next_charge_start 08-16 12:30:00, max_windows 79
2026-08-15 20:55:07.511896: Optimise levels pass ended at 2026-08-15 20:55:07, duration 3.4 seconds tried 305 combinations
2026-08-15 20:55:07.511962: Set best_price_charge_level 24.0p, best_price_export_level 0p, best_price_charge 22.33p, best_cost_export 0p, best_metric 1019.58p, best_keep 0kWh, best_cycle 40.13kWh, best_carbon 0kg, best_import 21.59kWh
2026-08-15 20:55:07.533189: Starting detailed optimisation end_record 08-17 12:30:00, best_price_charge 22.33p, best_price_export 0p. lowest_price_charge 21.41p with charge limits [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 0, 16.0, 16.0, 16.0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0]kWh and export limits []kWh
2026-08-15 20:55:12.900152: Tweak plan optimisation started metric 885.95p, cost 901.66p
2026-08-15 20:55:13.200356: Tweak optimisation finished metric 885.95p, cost 901.66p, metric_keep 0kWh, cycle 30.02kWh, carbon 0kg, import 14.77kWh, changed 8 window(s)
2026-08-15 20:55:13.219116: Swap charge optimisation started metric 885.95p, cost 901.66p, min_improvement_swap 0.1p
2026-08-15 20:55:19.260139: Swap charge optimisation finished metric 885.95p, cost 901.66p
2026-08-15 20:55:19.343878: Raw charge windows [ 15-08 20:30:00 - 15-08 21:00:00 @ 32.1p 0%, 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 30.02p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 27.8p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.18p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.38p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 26.7p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.31p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.79p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 25.86p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.13p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 25.86p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.27p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.14p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 27.03p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.28p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.68p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 26.1p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 24.28p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 24.94p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.06p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.39p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.66p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.06p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 25.5p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 24.94p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 24.25p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 23.49p 28%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.43p 28%, 16-08 12:30:00 - 16-08 13:00:00 @ 22.33p 38%, 16-08 13:00:00 - 16-08 13:30:00 @ 22.76p 38%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 100%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 100%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.65p 100%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.95p 81%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.83p 81%, 16-08 16:00:00 - 16-08 16:30:00 @ 36.84p 0%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.54p 0%, 16-08 17:00:00 - 16-08 17:30:00 @ 41.79p 0%, 16-08 17:30:00 - 16-08 18:00:00 @ 43.7p 0%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.34p 0%, 16-08 19:00:00 - 16-08 19:30:00 @ 34.79p 0%, 16-08 19:30:00 - 16-08 20:00:00 @ 34.76p 0%, 16-08 20:00:00 - 16-08 20:30:00 @ 35.62p 0%, 16-08 20:30:00 - 16-08 21:00:00 @ 35.3p 0%, 16-08 21:00:00 - 16-08 21:30:00 @ 35.89p 0%, 16-08 21:30:00 - 16-08 22:00:00 @ 35.71p 0%, 16-08 22:00:00 - 16-08 22:30:00 @ 33.75p 0%, 16-08 22:30:00 - 16-08 23:00:00 @ 32.0p 0%, 16-08 23:00:00 - 16-08 23:30:00 @ 30.02p 0%, 16-08 23:30:00 - 17-08 00:00:00 @ 27.8p 0%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.18p 0%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.38p 0%, 17-08 01:00:00 - 17-08 01:30:00 @ 26.7p 0%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.31p 0%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.79p 0%, 17-08 02:30:00 - 17-08 03:00:00 @ 25.86p 0%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.13p 0%, 17-08 03:30:00 - 17-08 04:00:00 @ 25.86p 0%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.27p 0%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.14p 0%, 17-08 05:00:00 - 17-08 05:30:00 @ 27.03p 0%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.28p 0%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.68p 0%, 17-08 06:30:00 - 17-08 07:00:00 @ 26.1p 0%, 17-08 07:00:00 - 17-08 07:30:00 @ 24.28p 0%, 17-08 07:30:00 - 17-08 08:00:00 @ 24.94p 0%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.06p 0%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.39p 0%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.66p 0%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.06p 0%, 17-08 10:00:00 - 17-08 10:30:00 @ 25.5p 0%, 17-08 10:30:00 - 17-08 11:00:00 @ 24.94p 0%, 17-08 11:00:00 - 17-08 11:30:00 @ 24.25p 0%, 17-08 11:30:00 - 17-08 12:00:00 @ 23.49p 0%, 17-08 12:00:00 - 17-08 12:30:00 @ 23.43p 0%, 17-08 12:30:00 - 17-08 13:00:00 @ 22.33p 100%, 17-08 13:00:00 - 17-08 13:30:00 @ 22.76p 100%, 17-08 13:30:00 - 17-08 14:00:00 @ 22.3p 100%, 17-08 14:00:00 - 17-08 14:30:00 @ 21.41p 100%, 17-08 14:30:00 - 17-08 15:00:00 @ 21.65p 100%, 17-08 15:00:00 - 17-08 15:30:00 @ 22.95p 100%, 17-08 15:30:00 - 17-08 16:00:00 @ 22.83p 100%, 17-08 16:00:00 - 17-08 16:30:00 @ 36.84p 100%, 17-08 16:30:00 - 17-08 17:00:00 @ 37.54p 100%, 17-08 17:00:00 - 17-08 17:30:00 @ 41.79p 100%, 17-08 17:30:00 - 17-08 18:00:00 @ 43.7p 100%, 17-08 18:00:00 - 17-08 18:30:00 @ 44.34p 100%, 17-08 19:00:00 - 17-08 19:30:00 @ 34.79p 100%, 17-08 19:30:00 - 17-08 20:00:00 @ 34.76p 100%, 17-08 20:00:00 - 17-08 20:30:00 @ 35.62p 100%, 17-08 20:30:00 - 17-08 21:00:00 @ 35.3p 100% ] reserve 1.12
2026-08-15 20:55:19.344455: Unclipped charge windows [ 16-08 11:30:00 - 16-08 12:30:00 @ 23.46p 28%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 38%, 16-08 13:30:00 - 16-08 15:00:00 @ 21.75p 100%, 16-08 15:00:00 - 16-08 16:00:00 @ 22.89p 81%, 17-08 12:30:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 17-08 21:00:00 @ 35.25p 100% ] reserve 1.12
2026-08-15 20:55:19.344752: Unfiltered charge windows [ 16-08 11:30:00 - 16-08 12:30:00 @ 23.46p 28%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 38%, 16-08 13:30:00 - 16-08 15:00:00 @ 21.75p 100%, 16-08 15:00:00 - 16-08 16:00:00 @ 22.89p 81%, 17-08 12:30:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 17-08 21:00:00 @ 35.25p 100% ] reserve 1.12
2026-08-15 20:55:19.345039: Filtered charge windows [ 16-08 11:30:00 - 16-08 12:30:00 @ 23.46p 28%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 38%, 16-08 13:30:00 - 16-08 15:00:00 @ 21.75p 100%, 16-08 15:00:00 - 16-08 16:00:00 @ 22.89p 81%, 17-08 12:30:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 17-08 21:00:00 @ 35.25p 100% ] reserve 1.12
2026-08-15 20:55:19.376366: Previous plan best metric is 884.99 (cost 900.89) and new plan best metric is 885.95 (cost 901.66)
2026-08-15 20:55:19.376588: New plan metric is not significantly better (metric_min_improvement_plan 2.0) than previous plan, using previous plan
2026-08-15 20:55:19.376857: Plan valid is now true after recompute was False
2026-08-15 20:55:19.400302: predict base end_record 08-17 12:30:00, final soc 1.12kWh, metric 1072.66p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 15:45:00, load 36.23kWh, PV 0.0kWh
2026-08-15 20:55:19.502026: Battery has 18.83 hours left - now at 14.56kWh
2026-08-15 20:55:19.539654: predict base10 end_record 08-17 12:30:00, final soc 1.12kWh, metric 1105.35p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 14:55:00, load 37.47kWh, PV 0.0kWh
2026-08-15 20:55:19.611093: predict best10 end_record 08-17 12:30:00, final soc 1.12kWh, metric 1033.18p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 07:05:00, load 37.47kWh, PV 0.0kWh
2026-08-15 20:55:19.682593: predict best end_record 08-17 12:30:00, final soc 1.12kWh, metric 1000.91p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 08:15:00, load 36.23kWh, PV 0.0kWh
2026-08-15 20:55:19.682707: Saving plan best values to HA entities
2026-08-15 20:55:19.821512: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0
2026-08-15 20:55:19.826402: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 20:55:19.831298: Best charging limit SoC's [6.5, 4.5, 5.5, 16.0, 12.5, 16.0, 16.0]kWh, export []kWh gives import battery 11.84kWh, house 2.85kWh, export 0.0kWh, metric 1000.91p, metric10 1033.18p
2026-08-15 20:55:19.897573: Marginal costs baseline metric (no standing charge): 900.9433
2026-08-15 20:55:20.119829: Marginal energy costs matrix computed: min=25.48 max=29.36
2026-08-15 20:55:20.187005: Rate array import [{'start': 1255, 'end': 1410, 'rate': 'expensive', 'range': '(29.8p - 32.1p)'}, {'start': 1410, 'end': 2400, 'rate': 'cheap', 'range': '(21.4p - 28.2p)'}, {'start': 2400, 'end': 2430, 'rate': 'expensive', 'range': '(36.8p)'}, {'start': 2430, 'end': 2580, 'rate': 'very expensive', 'range': '(37.5p - 45.3p)'}, {'start': 2580, 'end': 2850, 'rate': 'expensive', 'range': '(30.0p - 35.9p)'}, {'start': 2850, 'end': 3630, 'rate': 'cheap', 'range': '(23.4p - 28.2p)'}] export [{'start': 1255, 'end': 3630, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 20:55:20.187697: - Your estimated bill for today is £5.70 and tomorrow is £3.12
2026-08-15 20:55:20.187756: - Import rates are expensive (29.8p - 32.1p) for the next 2 and a half hours and then cheap (21.4p - 28.2p) for the next 16 hours.
2026-08-15 20:55:20.187776: - The battery is currently at 91% and is in eco mode for the next 11 hours.
2026-08-15 20:55:20.187791: - For the next 48 hours there will be no solar generation.
2026-08-15 20:55:20.187805: - You will run out of battery in 35 hours.
2026-08-15 20:55:20.187819: - Your next charge slot will be in 11 hours where import rates will be cheap (24.1p).
2026-08-15 20:55:20.187833: 
2026-08-15 20:55:20.253636: Plan calculation took 16.26 seconds
2026-08-15 20:55:20.253970: Inverter 0: Type SK Sunsynk
2026-08-15 20:55:20.254015: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 20:55:20.254219: Reserve min: 7%, battery_min: 7%
2026-08-15 20:55:20.254285: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 20:55:20.254596: Inverter 0 SoC: 14.42kW 90%, current charge rate 5000W, current discharge rate 5250W, current battery power 278W, current battery voltage 51.2V, grid power -54W, load power 337W, PV Power 0W
2026-08-15 20:55:20.254811: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 20:55:20.254906: Inverter 0 scheduled charge enable is False
2026-08-15 20:55:20.254939: Inverter 0 charge windows currently []
2026-08-15 20:55:20.254965: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 20:55:20.255063: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 20:55:20.255094: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 20:55:20.255125: Inverter 0 scheduled discharge enable is False
2026-08-15 20:55:20.255240: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 20:55:20.255272: Inverter 0 discharge windows currently []
2026-08-15 20:55:20.255292: Note: Inverter does not support discharge freeze - disabled
2026-08-15 20:55:20.255310: Note: Inverter does not support charge freeze - disabled
2026-08-15 20:55:20.255325: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 20:55:20.310357: Inverter 0 Charge window will be: 2026-08-16 08:00:00+01:00 - 2026-08-16 08:30:00+01:00 - current SoC 90%, target 41%
2026-08-15 20:55:20.310496: Inverter 0 disabled charge window while waiting for schedule (now 08-15 20:55:00 target set_window_minutes 30 charge start time 08-16 08:00:00) original inverter start time 08-17 00:00:00
2026-08-15 20:55:20.310562: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 20:55:20.310727: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 20:55:20.310799: No export window planned
2026-08-15 20:55:20.310898: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 20:55:20.310928: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 20:55:20.311044: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 20:55:20.311186: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 20:55:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 20:55:20.311231: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 20:55:20.311284: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 20:55:20.311393: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 20:55:20.311456: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 20:55:20.311491: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 20:55:20.311539: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 20:55:20.311562: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 20:55:20.311587: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 20:55:20.311607: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 20:55:20.311669: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 20:55:20.311698: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 20:55:20.311719: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 20:55:20.311746: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 20:55:20.311767: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 20:55:20.311790: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 20:55:20.311813: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 20:55:20.311830: Inverter 0 count register writes 0
2026-08-15 20:55:20.331863: Total inverter register writes now 826
2026-08-15 20:55:20.364603: Info: Completed run status Demand
2026-08-15 20:55:20.371377: Info: record_status Demand
2026-08-15 20:55:20.378525: Saved current settings to /config/predbat_config.json
2026-08-15 20:55:20.378852: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 20:55:56.489248: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 20:55:56.489585: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 20:55:56.489647: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 20:55:56.489835: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 20:55:56.489882: Note: Inverter does not support discharge freeze - disabled
2026-08-15 20:55:56.489911: Note: Inverter does not support charge freeze - disabled
2026-08-15 20:55:56.489937: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 20:57:56.725184: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 20:57:56.725459: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 20:57:56.725497: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 20:57:56.725632: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 20:57:56.725671: Note: Inverter does not support discharge freeze - disabled
2026-08-15 20:57:56.725692: Note: Inverter does not support charge freeze - disabled
2026-08-15 20:57:56.725710: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 20:58:55.777732: TemperatureAPI: Using coordinates latitude 53.4, longitude -2.2
2026-08-15 20:58:55.952521: TemperatureAPI: Successfully fetched temperature data from Open-Meteo API
2026-08-15 20:59:56.948464: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 20:59:56.948775: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 20:59:56.948850: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 20:59:56.949179: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 20:59:56.949231: Note: Inverter does not support discharge freeze - disabled
2026-08-15 20:59:56.949254: Note: Inverter does not support charge freeze - disabled
2026-08-15 20:59:56.949271: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 21:00:00.034108: --------------- PredBat - update at 2026-08-15 21:00:00+01:00 with clock skew 0 minutes, minutes now 1260
2026-08-15 21:00:00.034756: Saved current settings to /config/predbat_config.json
2026-08-15 21:00:00.034870: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 30.0 minutes
2026-08-15 21:00:00.034937: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.2, latest beta is v8.48.2
2026-08-15 21:00:00.035023: Autoupdate: There is an update pending v8.48.2 PV90 and second pass enabled by default, bug fixes - auto update is off
2026-08-15 21:00:00.072568: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 21:00:00.072703: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 21:00:00.072870: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 21:00:00.073451: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 21:00:00.073576: Predbat mode is set to Control charge & discharge
2026-08-15 21:00:00.263254: Found 21602 load_today datapoints going back 28 days
2026-08-15 21:00:00.263392: Using load_power data to fill gaps in load_today data
2026-08-15 21:00:00.992505: Processing 721 30-minute periods for power integration
2026-08-15 21:00:01.163302: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 21:00:01.163455: Car charging hold False, threshold 6.0kWh
2026-08-15 21:00:01.163497: Current data so far today: load 10.1kWh, import 27.8kWh, export 0.0kWh, PV 0kWh
2026-08-15 21:00:01.178595: Cars: SoC: [9.962]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 21:00:01.179093: Standing charge is set to 49.98p
2026-08-15 21:00:01.231526: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 21:00:01.231696: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 21:00:01.232016: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 620.0 minutes
2026-08-15 21:00:01.232685: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 620.0 minutes
2026-08-15 21:00:01.243212: Loaded 95 datapoints of futurerate analysis
2026-08-15 21:00:01.423269: Predicted future rates: ['08-15 00:00:00 => 28.69 / 20.01', '08-15 01:00:00 => 27.33 / 19.31', '08-15 02:00:00 => 26.31 / 18.8', '08-15 03:00:00 => 25.78 / 18.53', '08-15 04:00:00 => 25.59 / 18.43', '08-15 05:00:00 => 25.75 / 18.51', '08-15 06:00:00 => 25.34 / 18.3', '08-15 07:00:00 => 24.12 / 17.68', '08-15 08:00:00 => 22.82 / 17.01', '08-15 09:00:00 => 21.84 / 16.51', '08-15 10:00:00 => 20.22 / 15.68', '08-15 11:00:00 => 17.8 / 14.45', '08-15 12:00:00 => 16.16 / 13.61', '08-15 13:00:00 => 15.55 / 13.3', '08-15 14:00:00 => 15.14 / 13.09', '08-15 15:00:00 => 15.65 / 13.35', '08-15 16:00:00 => 32.68 / 16.13', '08-15 17:00:00 => 37.81 / 18.75', '08-15 18:00:00 => 42.15 / 20.96', '08-15 19:00:00 => 30.88 / 21.13', '08-15 20:00:00 => 31.43 / 21.41', '08-15 21:00:00 => 31.43 / 21.41', '08-15 22:00:00 => 30.37 / 20.87', '08-15 23:00:00 => 29.16 / 20.25', '08-16 00:00:00 => 28.62 / 19.97', '08-16 01:00:00 => 27.52 / 19.41', '08-16 02:00:00 => 26.55 / 18.92', '08-16 03:00:00 => 26.18 / 18.73', '08-16 04:00:00 => 26.12 / 18.7', '08-16 05:00:00 => 26.02 / 18.65', '08-16 06:00:00 => 25.78 / 18.53', '08-16 07:00:00 => 25.43 / 18.35', '08-16 08:00:00 => 24.63 / 17.94', '08-16 09:00:00 => 24.05 / 17.64', '08-16 10:00:00 => 24.59 / 17.92', '08-16 11:00:00 => 24.5 / 17.87', '08-16 12:00:00 => 23.58 / 17.4', '08-16 13:00:00 => 22.93 / 17.07', '08-16 14:00:00 => 21.8 / 16.49', '08-16 15:00:00 => 21.8 / 16.49', '08-16 16:00:00 => 36.93 / 18.3', '08-16 17:00:00 => 39.92 / 19.83', '08-16 18:00:00 => 43.98 / 21.9', '08-16 19:00:00 => 32.83 / 22.13', '08-16 20:00:00 => 33.62 / 22.53']
2026-08-15 21:00:01.465581: Rate min forward looking: now 21.41p at end of forecast 21.41p
2026-08-15 21:00:01.466023: Import rates: min 21.41p, max 45.28p, average 28.6p
2026-08-15 21:00:01.500816: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 21:00:01.500935: Rate thresholds (for charge/export) are import 44.78p (0.0p), export -0.1p (0.0p)
2026-08-15 21:00:01.502082: High export rate found rates in range 99p to -99p
2026-08-15 21:00:01.629174: Low Import rate found rates in range 21.41p to 44.34p
2026-08-15 21:00:01.629319: Car 0 charging is not planned as it is not plugged in
2026-08-15 21:00:01.645822: Battery level now 14.56kWh, -1hr ago 14.72kWh, at midnight 1.66kWh, battery value change in the last hour -2.94p, change today 237.34p, rate_forward 18.39p
2026-08-15 21:00:01.646288: Last hour: net energy 0.05kWh, import 0.05kWh, export 0.0kWh, car 0kWh, load 0.25kWh, net cost 1.6p, import 1.6p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 21:00:01.720205: Today's energy total net 27.8kWh, import 27.8kWh, export 0.0kWh, cost 573.42p, import 523.44p, export 0.0p, carbon 0.0kg
2026-08-15 21:00:01.720403: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 21:00:01.826014: Using weighted-bucket historical load forecast over 14 days
2026-08-15 21:00:01.858669: Today's load divergence 81.41%, in-day adjustment 90.01%, damping 0.95x, yesterday 143.77% today 82.33% blend 12.5%
2026-08-15 21:00:01.858786: Today's predicted so far 12.56kWh with 0.0kWh car/iBoost excluded, 20.77kWh import ignored, and 12.56kWh forecast extra.
2026-08-15 21:00:01.858820: Today's actual load so far 10.19kWh with 0.0kWh car/iBoost excluded, and 20.77kWh import ignored.
2026-08-15 21:00:01.893711: Inverter 0: Type SK Sunsynk
2026-08-15 21:00:01.893802: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 21:00:01.894057: Reserve min: 7%, battery_min: 7%
2026-08-15 21:00:01.894162: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 21:00:01.894526: Inverter 0 SoC: 14.42kW 90%, current charge rate 5000W, current discharge rate 5250W, current battery power 331W, current battery voltage 51.2V, grid power -55W, load power 386W, PV Power 0W
2026-08-15 21:00:01.894740: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 21:00:01.894873: Inverter 0 scheduled charge enable is False
2026-08-15 21:00:01.894922: Inverter 0 charge windows currently []
2026-08-15 21:00:01.894971: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 21:00:01.895149: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 21:00:01.895194: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 21:00:01.895252: Inverter 0 scheduled discharge enable is False
2026-08-15 21:00:01.895501: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 21:00:01.895551: Inverter 0 discharge windows currently []
2026-08-15 21:00:01.895576: Note: Inverter does not support discharge freeze - disabled
2026-08-15 21:00:01.895595: Note: Inverter does not support charge freeze - disabled
2026-08-15 21:00:01.895621: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 21:00:01.968782: Dynamic load last period 0.00kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 21:00:01.968906: Plan was last updated on 2026-08-15 20:55:00+01:00 and is now 5.0 minutes old
2026-08-15 21:00:01.969325: Best charge window [ 16-08 08:00:00 - 16-08 08:30:00 @ 24.06p 41%, 16-08 11:30:00 - 16-08 12:30:00 @ 23.46p 28%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 34%, 16-08 13:30:00 - 16-08 15:00:00 @ 21.75p 100%, 16-08 15:00:00 - 16-08 16:00:00 @ 22.89p 78%, 17-08 12:30:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 17-08 21:00:00 @ 35.25p 100% ]
2026-08-15 21:00:01.969404: Best export window [  ]
2026-08-15 21:00:01.970276: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 21:00:01.973500: Load divergence over 8.0 hours mean 799.83W, min 371.4W, max 1953.0W, std dev 433.38W, divergence 27.09%
2026-08-15 21:00:01.992606: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 21:00:01.992744: LoadML is_calculating False
2026-08-15 21:00:01.992825: Creating pool of 12 processes to match your CPU count
2026-08-15 21:00:02.138947: predict base end_record 08-17 12:35:00, final soc 1.12kWh, metric 1078.53p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 15:40:00, load 36.16kWh, PV 0.0kWh
2026-08-15 21:00:02.310798: Battery has 18.67 hours left - now at 14.42kWh
2026-08-15 21:00:02.358616: predict base10 end_record 08-17 12:35:00, final soc 1.12kWh, metric 1111.18p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 14:45:00, load 37.4kWh, PV 0.0kWh
2026-08-15 21:00:02.452486: predict best10 end_record 08-17 12:35:00, final soc 1.44kWh, metric 1047.04p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 07:05:00, load 37.4kWh, PV 0.0kWh
2026-08-15 21:00:02.541224: predict best end_record 08-17 12:35:00, final soc 1.51kWh, metric 1015.98p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 08:20:00, load 36.16kWh, PV 0.0kWh
2026-08-15 21:00:02.541327: Saving plan best values to HA entities
2026-08-15 21:00:02.722850: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 21:00:02.730643: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0.0
2026-08-15 21:00:02.737153: Best charging limit SoC's [6.5, 4.5, 5.5, 16.0, 12.5, 16.0, 16.0]kWh, export []kWh gives import battery 12.37kWh, house 2.84kWh, export 0.0kWh, metric 1015.98p, metric10 1047.04p
2026-08-15 21:00:02.822709: Marginal costs baseline metric (no standing charge): 916.0154
2026-08-15 21:00:03.128984: Marginal energy costs matrix computed: min=25.49 max=29.39
2026-08-15 21:00:03.218655: Rate array import [{'start': 1260, 'end': 1410, 'rate': 'expensive', 'range': '(29.8p - 31.8p)'}, {'start': 1410, 'end': 2400, 'rate': 'cheap', 'range': '(21.4p - 28.2p)'}, {'start': 2400, 'end': 2430, 'rate': 'expensive', 'range': '(36.8p)'}, {'start': 2430, 'end': 2580, 'rate': 'very expensive', 'range': '(37.5p - 45.3p)'}, {'start': 2580, 'end': 2850, 'rate': 'expensive', 'range': '(30.0p - 35.9p)'}, {'start': 2850, 'end': 3635, 'rate': 'cheap', 'range': '(22.3p - 28.2p)'}] export [{'start': 1260, 'end': 3635, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 21:00:03.219421: - Your estimated bill for today is £5.73 and tomorrow is £3.13
2026-08-15 21:00:03.219469: - Import rates are expensive (29.8p - 31.8p) for the next 2 and a half hours and then cheap (21.4p - 28.2p) for the next 16 hours.
2026-08-15 21:00:03.219511: - The battery is currently at 90% and is in eco mode for the next 11 hours.
2026-08-15 21:00:03.219531: - For the next 48 hours there will be no solar generation.
2026-08-15 21:00:03.219555: - You will run out of battery in 35 hours.
2026-08-15 21:00:03.219572: - Your next charge slot will be in 11 hours where import rates will be cheap (24.1p).
2026-08-15 21:00:03.219591: 
2026-08-15 21:00:03.294611: Plan calculation took 1.33 seconds
2026-08-15 21:00:03.298560: No high rate period found
2026-08-15 21:00:03.360922: Import threshold used for optimisation was 23.49p
2026-08-15 21:00:03.436134: Low import rate windows [0: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 1: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 2: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 3: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 4: 08-15 23:00:00 - 08-15 23:30:00 @ 30.02, 5: 08-15 23:30:00 - 08-16 00:00:00 @ 27.8, 6: 08-16 00:00:00 - 08-16 00:30:00 @ 28.18, 7: 08-16 00:30:00 - 08-16 01:00:00 @ 27.38, 8: 08-16 01:00:00 - 08-16 01:30:00 @ 26.7, 9: 08-16 01:30:00 - 08-16 02:00:00 @ 26.31, 10: 08-16 02:00:00 - 08-16 02:30:00 @ 25.79, 11: 08-16 02:30:00 - 08-16 03:00:00 @ 25.86, 12: 08-16 03:00:00 - 08-16 03:30:00 @ 26.13, 13: 08-16 03:30:00 - 08-16 04:00:00 @ 25.86, 14: 08-16 04:00:00 - 08-16 04:30:00 @ 26.27, 15: 08-16 04:30:00 - 08-16 05:00:00 @ 26.14, 16: 08-16 05:00:00 - 08-16 05:30:00 @ 27.03, 17: 08-16 05:30:00 - 08-16 06:00:00 @ 26.28, 18: 08-16 06:00:00 - 08-16 06:30:00 @ 25.68, 19: 08-16 06:30:00 - 08-16 07:00:00 @ 26.1, 20: 08-16 07:00:00 - 08-16 07:30:00 @ 24.28, 21: 08-16 07:30:00 - 08-16 08:00:00 @ 24.94, 22: 08-16 08:00:00 - 08-16 08:30:00 @ 24.06, 23: 08-16 08:30:00 - 08-16 09:00:00 @ 24.39, 24: 08-16 09:00:00 - 08-16 09:30:00 @ 24.66, 25: 08-16 09:30:00 - 08-16 10:00:00 @ 24.06, 26: 08-16 10:00:00 - 08-16 10:30:00 @ 25.5, 27: 08-16 10:30:00 - 08-16 11:00:00 @ 24.94, 28: 08-16 11:00:00 - 08-16 11:30:00 @ 24.25, 29: 08-16 11:30:00 - 08-16 12:00:00 @ 23.49, 30: 08-16 12:00:00 - 08-16 12:30:00 @ 23.43, 31: 08-16 12:30:00 - 08-16 13:00:00 @ 22.33, 32: 08-16 13:00:00 - 08-16 13:30:00 @ 22.76, 33: 08-16 13:30:00 - 08-16 14:00:00 @ 22.3, 34: 08-16 14:00:00 - 08-16 14:30:00 @ 21.41, 35: 08-16 14:30:00 - 08-16 15:00:00 @ 21.65, 36: 08-16 15:00:00 - 08-16 15:30:00 @ 22.95, 37: 08-16 15:30:00 - 08-16 16:00:00 @ 22.83, 38: 08-16 16:00:00 - 08-16 16:30:00 @ 36.84, 39: 08-16 16:30:00 - 08-16 17:00:00 @ 37.54, 40: 08-16 17:00:00 - 08-16 17:30:00 @ 41.79, 41: 08-16 17:30:00 - 08-16 18:00:00 @ 43.7, 42: 08-16 18:00:00 - 08-16 18:30:00 @ 44.34, 43: 08-16 19:00:00 - 08-16 19:30:00 @ 34.79, 44: 08-16 19:30:00 - 08-16 20:00:00 @ 34.76, 45: 08-16 20:00:00 - 08-16 20:30:00 @ 35.62, 46: 08-16 20:30:00 - 08-16 21:00:00 @ 35.3, 47: 08-16 21:00:00 - 08-16 21:30:00 @ 35.89, 48: 08-16 21:30:00 - 08-16 22:00:00 @ 35.71, 49: 08-16 22:00:00 - 08-16 22:30:00 @ 33.75, 50: 08-16 22:30:00 - 08-16 23:00:00 @ 32.0, 51: 08-16 23:00:00 - 08-16 23:30:00 @ 30.02, 52: 08-16 23:30:00 - 08-17 00:00:00 @ 27.8, 53: 08-17 00:00:00 - 08-17 00:30:00 @ 28.18, 54: 08-17 00:30:00 - 08-17 01:00:00 @ 27.38, 55: 08-17 01:00:00 - 08-17 01:30:00 @ 26.7, 56: 08-17 01:30:00 - 08-17 02:00:00 @ 26.31, 57: 08-17 02:00:00 - 08-17 02:30:00 @ 25.79, 58: 08-17 02:30:00 - 08-17 03:00:00 @ 25.86, 59: 08-17 03:00:00 - 08-17 03:30:00 @ 26.13, 60: 08-17 03:30:00 - 08-17 04:00:00 @ 25.86, 61: 08-17 04:00:00 - 08-17 04:30:00 @ 26.27, 62: 08-17 04:30:00 - 08-17 05:00:00 @ 26.14, 63: 08-17 05:00:00 - 08-17 05:30:00 @ 27.03, 64: 08-17 05:30:00 - 08-17 06:00:00 @ 26.28, 65: 08-17 06:00:00 - 08-17 06:30:00 @ 25.68, 66: 08-17 06:30:00 - 08-17 07:00:00 @ 26.1, 67: 08-17 07:00:00 - 08-17 07:30:00 @ 24.28, 68: 08-17 07:30:00 - 08-17 08:00:00 @ 24.94, 69: 08-17 08:00:00 - 08-17 08:30:00 @ 24.06, 70: 08-17 08:30:00 - 08-17 09:00:00 @ 24.39, 71: 08-17 09:00:00 - 08-17 09:30:00 @ 24.66, 72: 08-17 09:30:00 - 08-17 10:00:00 @ 24.06, 73: 08-17 10:00:00 - 08-17 10:30:00 @ 25.5, 74: 08-17 10:30:00 - 08-17 11:00:00 @ 24.94, 75: 08-17 11:00:00 - 08-17 11:30:00 @ 24.25, 76: 08-17 11:30:00 - 08-17 12:00:00 @ 23.49, 77: 08-17 12:00:00 - 08-17 12:30:00 @ 23.43, 78: 08-17 12:30:00 - 08-17 13:00:00 @ 22.33, 79: 08-17 13:00:00 - 08-17 13:30:00 @ 22.76, 80: 08-17 13:30:00 - 08-17 14:00:00 @ 22.3, 81: 08-17 14:00:00 - 08-17 14:30:00 @ 21.41, 82: 08-17 14:30:00 - 08-17 15:00:00 @ 21.65, 83: 08-17 15:00:00 - 08-17 15:30:00 @ 22.95, 84: 08-17 15:30:00 - 08-17 16:00:00 @ 22.83, 85: 08-17 16:00:00 - 08-17 16:30:00 @ 36.84, 86: 08-17 16:30:00 - 08-17 17:00:00 @ 37.54, 87: 08-17 17:00:00 - 08-17 17:30:00 @ 41.79, 88: 08-17 17:30:00 - 08-17 18:00:00 @ 43.7, 89: 08-17 18:00:00 - 08-17 18:30:00 @ 44.34, 90: 08-17 19:00:00 - 08-17 19:30:00 @ 34.79, 91: 08-17 19:30:00 - 08-17 20:00:00 @ 34.76, 92: 08-17 20:00:00 - 08-17 20:30:00 @ 35.62, 93: 08-17 20:30:00 - 08-17 21:00:00 @ 35.3]
2026-08-15 21:00:03.446312: Inverter 0 Charge window will be: 2026-08-16 08:00:00+01:00 - 2026-08-16 08:30:00+01:00 - current SoC 90%, target 41%
2026-08-15 21:00:03.446487: Inverter 0 disabled charge window while waiting for schedule (now 08-15 21:00:00 target set_window_minutes 30 charge start time 08-16 08:00:00) original inverter start time 08-17 00:00:00
2026-08-15 21:00:03.446599: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 21:00:03.446877: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 21:00:03.446972: No export window planned
2026-08-15 21:00:03.447075: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 21:00:03.447101: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 21:00:03.447224: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 21:00:03.447413: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 21:00:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 21:00:03.447475: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 21:00:03.447535: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 21:00:03.447648: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 21:00:03.447681: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 21:00:03.447703: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 21:00:03.447724: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 21:00:03.447751: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 21:00:03.447771: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 21:00:03.447791: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 21:00:03.447847: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 21:00:03.447878: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 21:00:03.447899: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 21:00:03.447919: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 21:00:03.447940: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 21:00:03.447959: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 21:00:03.447982: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 21:00:03.448015: Inverter 0 count register writes 0
2026-08-15 21:00:03.469362: Will not recompute the plan, it is 5.0 minutes old and max age is 10 minutes
2026-08-15 21:00:03.475227: Total inverter register writes now 826
2026-08-15 21:00:03.516914: Info: Completed run status Demand
2026-08-15 21:00:03.550092: Info: record_status Demand
2026-08-15 21:00:03.558853: Saved current settings to /config/predbat_config.json
2026-08-15 21:00:03.559170: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 21:00:41.675625: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 21:00:41.675906: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 21:00:41.675946: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 21:00:41.676123: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 21:00:41.676160: Note: Inverter does not support discharge freeze - disabled
2026-08-15 21:00:41.676200: Note: Inverter does not support charge freeze - disabled
2026-08-15 21:00:41.676220: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 21:02:41.901840: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 21:02:41.902098: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 21:02:41.902155: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 21:02:41.902343: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 21:02:41.902403: Note: Inverter does not support discharge freeze - disabled
2026-08-15 21:02:41.902422: Note: Inverter does not support charge freeze - disabled
2026-08-15 21:02:41.902660: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 21:03:20.568873: Info: HAHistory: Pruning history data started.
2026-08-15 21:03:20.572120: Info: HAHistory: Pruning history data completed.
2026-08-15 21:04:42.124500: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 21:04:42.124851: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 21:04:42.124907: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 21:04:42.125173: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 21:04:42.125231: Note: Inverter does not support discharge freeze - disabled
2026-08-15 21:04:42.125258: Note: Inverter does not support charge freeze - disabled
2026-08-15 21:04:42.125310: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 21:05:00.222568: --------------- PredBat - update at 2026-08-15 21:05:00+01:00 with clock skew 0 minutes, minutes now 1265
2026-08-15 21:05:00.223335: Saved current settings to /config/predbat_config.json
2026-08-15 21:05:00.223479: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 35.0 minutes
2026-08-15 21:05:00.223549: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.2, latest beta is v8.48.2
2026-08-15 21:05:00.223667: Autoupdate: There is an update pending v8.48.2 PV90 and second pass enabled by default, bug fixes - auto update is off
2026-08-15 21:05:00.243749: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 21:05:00.243945: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 21:05:00.244180: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 21:05:00.244797: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 21:05:00.245026: Predbat mode is set to Control charge & discharge
2026-08-15 21:05:00.444700: Found 21602 load_today datapoints going back 27 days
2026-08-15 21:05:00.444878: Using load_power data to fill gaps in load_today data
2026-08-15 21:05:01.361622: Processing 721 30-minute periods for power integration
2026-08-15 21:05:01.573172: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 21:05:01.573337: Car charging hold False, threshold 6.0kWh
2026-08-15 21:05:01.573425: Current data so far today: load 10.1kWh, import 27.8kWh, export 0.0kWh, PV 0kWh
2026-08-15 21:05:01.590993: Cars: SoC: [9.962]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 21:05:01.591614: Standing charge is set to 49.98p
2026-08-15 21:05:01.649418: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 21:05:01.649530: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 21:05:01.649747: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 625.0 minutes
2026-08-15 21:05:01.650152: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 625.0 minutes
2026-08-15 21:05:01.656078: Loaded 95 datapoints of futurerate analysis
2026-08-15 21:05:01.833892: Predicted future rates: ['08-15 00:00:00 => 28.69 / 20.01', '08-15 01:00:00 => 27.33 / 19.31', '08-15 02:00:00 => 26.31 / 18.8', '08-15 03:00:00 => 25.78 / 18.53', '08-15 04:00:00 => 25.59 / 18.43', '08-15 05:00:00 => 25.75 / 18.51', '08-15 06:00:00 => 25.34 / 18.3', '08-15 07:00:00 => 24.12 / 17.68', '08-15 08:00:00 => 22.82 / 17.01', '08-15 09:00:00 => 21.84 / 16.51', '08-15 10:00:00 => 20.22 / 15.68', '08-15 11:00:00 => 17.8 / 14.45', '08-15 12:00:00 => 16.16 / 13.61', '08-15 13:00:00 => 15.55 / 13.3', '08-15 14:00:00 => 15.14 / 13.09', '08-15 15:00:00 => 15.65 / 13.35', '08-15 16:00:00 => 32.68 / 16.13', '08-15 17:00:00 => 37.81 / 18.75', '08-15 18:00:00 => 42.15 / 20.96', '08-15 19:00:00 => 30.88 / 21.13', '08-15 20:00:00 => 31.43 / 21.41', '08-15 21:00:00 => 31.43 / 21.41', '08-15 22:00:00 => 30.37 / 20.87', '08-15 23:00:00 => 29.16 / 20.25', '08-16 00:00:00 => 28.62 / 19.97', '08-16 01:00:00 => 27.52 / 19.41', '08-16 02:00:00 => 26.55 / 18.92', '08-16 03:00:00 => 26.18 / 18.73', '08-16 04:00:00 => 26.12 / 18.7', '08-16 05:00:00 => 26.02 / 18.65', '08-16 06:00:00 => 25.78 / 18.53', '08-16 07:00:00 => 25.43 / 18.35', '08-16 08:00:00 => 24.63 / 17.94', '08-16 09:00:00 => 24.05 / 17.64', '08-16 10:00:00 => 24.59 / 17.92', '08-16 11:00:00 => 24.5 / 17.87', '08-16 12:00:00 => 23.58 / 17.4', '08-16 13:00:00 => 22.93 / 17.07', '08-16 14:00:00 => 21.8 / 16.49', '08-16 15:00:00 => 21.8 / 16.49', '08-16 16:00:00 => 36.93 / 18.3', '08-16 17:00:00 => 39.92 / 19.83', '08-16 18:00:00 => 43.98 / 21.9', '08-16 19:00:00 => 32.83 / 22.13', '08-16 20:00:00 => 33.62 / 22.53']
2026-08-15 21:05:01.875129: Rate min forward looking: now 21.41p at end of forecast 21.41p
2026-08-15 21:05:01.875524: Import rates: min 21.41p, max 45.28p, average 28.61p
2026-08-15 21:05:01.912713: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 21:05:01.912828: Rate thresholds (for charge/export) are import 44.78p (0.0p), export -0.1p (0.0p)
2026-08-15 21:05:01.914009: High export rate found rates in range 99p to -99p
2026-08-15 21:05:02.002172: Low Import rate found rates in range 21.41p to 44.34p
2026-08-15 21:05:02.002313: Car 0 charging is not planned as it is not plugged in
2026-08-15 21:05:02.014803: Battery level now 14.42kWh, -1hr ago 14.72kWh, at midnight 1.66kWh, battery value change in the last hour -5.59p, change today 234.7p, rate_forward 18.39p
2026-08-15 21:05:02.015187: Last hour: net energy 0.05kWh, import 0.05kWh, export 0.0kWh, car 0kWh, load 0.2kWh, net cost 1.46p, import 1.46p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 21:05:02.073626: Today's energy total net 27.8kWh, import 27.8kWh, export 0.0kWh, cost 573.42p, import 523.44p, export 0.0p, carbon 0.0kg
2026-08-15 21:05:02.073771: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 21:05:02.154802: Using weighted-bucket historical load forecast over 14 days
2026-08-15 21:05:02.185117: Today's load divergence 81.35%, in-day adjustment 89.76%, damping 0.95x, yesterday 143.77% today 82.29% blend 12.15%
2026-08-15 21:05:02.185245: Today's predicted so far 12.65kWh with 0.0kWh car/iBoost excluded, 20.86kWh import ignored, and 12.65kWh forecast extra.
2026-08-15 21:05:02.185295: Today's actual load so far 10.27kWh with 0.0kWh car/iBoost excluded, and 20.86kWh import ignored.
2026-08-15 21:05:02.222443: Inverter 0: Type SK Sunsynk
2026-08-15 21:05:02.222545: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 21:05:02.222814: Reserve min: 7%, battery_min: 7%
2026-08-15 21:05:02.222943: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 21:05:02.223335: Inverter 0 SoC: 14.4kW 90%, current charge rate 5000W, current discharge rate 5250W, current battery power 287W, current battery voltage 51.2V, grid power -56W, load power 346W, PV Power 0W
2026-08-15 21:05:02.223619: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 21:05:02.223754: Inverter 0 scheduled charge enable is False
2026-08-15 21:05:02.223815: Inverter 0 charge windows currently []
2026-08-15 21:05:02.223852: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 21:05:02.223979: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 21:05:02.224017: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 21:05:02.224055: Inverter 0 scheduled discharge enable is False
2026-08-15 21:05:02.224189: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 21:05:02.224227: Inverter 0 discharge windows currently []
2026-08-15 21:05:02.224256: Note: Inverter does not support discharge freeze - disabled
2026-08-15 21:05:02.224300: Note: Inverter does not support charge freeze - disabled
2026-08-15 21:05:02.224332: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 21:05:02.284486: Dynamic load last period 0.00kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 21:05:02.284584: Plan was last updated on 2026-08-15 20:55:00+01:00 and is now 10.0 minutes old
2026-08-15 21:05:02.284903: Best charge window [ 16-08 08:00:00 - 16-08 08:30:00 @ 24.06p 41%, 16-08 11:30:00 - 16-08 12:30:00 @ 23.46p 28%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 34%, 16-08 13:30:00 - 16-08 15:00:00 @ 21.75p 100%, 16-08 15:00:00 - 16-08 16:00:00 @ 22.89p 78%, 17-08 12:30:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 17-08 21:00:00 @ 35.25p 100% ]
2026-08-15 21:05:02.284968: Best export window [  ]
2026-08-15 21:05:02.285680: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 21:05:02.288239: Load divergence over 8.0 hours mean 799.84W, min 390.6W, max 2423.4W, std dev 468.94W, divergence 29.31%
2026-08-15 21:05:02.303942: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 21:05:02.304057: LoadML is_calculating False
2026-08-15 21:05:02.304134: Creating pool of 12 processes to match your CPU count
2026-08-15 21:05:02.415558: predict base end_record 08-17 12:40:00, final soc 1.12kWh, metric 1078.56p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 15:45:00, load 36.16kWh, PV 0.0kWh
2026-08-15 21:05:02.537320: Battery has 18.67 hours left - now at 14.4kWh
2026-08-15 21:05:02.585419: predict base10 end_record 08-17 12:40:00, final soc 1.12kWh, metric 1111.21p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 14:50:00, load 37.4kWh, PV 0.0kWh
2026-08-15 21:05:02.666042: predict best10 end_record 08-17 12:40:00, final soc 1.77kWh, metric 1054.86p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 07:10:00, load 37.4kWh, PV 0.0kWh
2026-08-15 21:05:02.750923: predict best end_record 08-17 12:40:00, final soc 1.9kWh, metric 1025.46p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 08:20:00, load 36.16kWh, PV 0.0kWh
2026-08-15 21:05:02.751020: Saving plan best values to HA entities
2026-08-15 21:05:02.924636: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 21:05:02.930502: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 21:05:02.935988: Best charging limit SoC's [6.5, 4.5, 5.5, 16.0, 12.5, 16.0, 16.0]kWh, export []kWh gives import battery 12.83kWh, house 2.81kWh, export 0.0kWh, metric 1025.46p, metric10 1054.86p
2026-08-15 21:05:03.025861: Marginal costs baseline metric (no standing charge): 925.4903
2026-08-15 21:05:03.254123: Marginal energy costs matrix computed: min=25.53 max=29.4
2026-08-15 21:05:03.344201: Rate array import [{'start': 1265, 'end': 1410, 'rate': 'expensive', 'range': '(29.8p - 31.8p)'}, {'start': 1410, 'end': 2400, 'rate': 'cheap', 'range': '(21.4p - 28.2p)'}, {'start': 2400, 'end': 2430, 'rate': 'expensive', 'range': '(36.8p)'}, {'start': 2430, 'end': 2580, 'rate': 'very expensive', 'range': '(37.5p - 45.3p)'}, {'start': 2580, 'end': 2850, 'rate': 'expensive', 'range': '(30.0p - 35.9p)'}, {'start': 2850, 'end': 3640, 'rate': 'cheap', 'range': '(22.3p - 28.2p)'}] export [{'start': 1265, 'end': 3640, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 21:05:03.345112: - Your estimated bill for today is £5.73 and tomorrow is £3.12
2026-08-15 21:05:03.345171: - Import rates are expensive (29.8p - 31.8p) for the next 2 and a half hours and then cheap (21.4p - 28.2p) for the next 16 hours.
2026-08-15 21:05:03.345199: - The battery is currently at 90% and is in eco mode for the next 10 hours.
2026-08-15 21:05:03.345236: - For the next 48 hours there will be no solar generation.
2026-08-15 21:05:03.345275: - You will run out of battery in 35 hours.
2026-08-15 21:05:03.345297: - Your next charge slot will be in 10 hours where import rates will be cheap (24.1p).
2026-08-15 21:05:03.345329: 
2026-08-15 21:05:03.420803: Plan calculation took 1.14 seconds
2026-08-15 21:05:03.424814: No high rate period found
2026-08-15 21:05:03.478440: Import threshold used for optimisation was 23.49p
2026-08-15 21:05:03.537171: Low import rate windows [0: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 1: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 2: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 3: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 4: 08-15 23:00:00 - 08-15 23:30:00 @ 30.02, 5: 08-15 23:30:00 - 08-16 00:00:00 @ 27.8, 6: 08-16 00:00:00 - 08-16 00:30:00 @ 28.18, 7: 08-16 00:30:00 - 08-16 01:00:00 @ 27.38, 8: 08-16 01:00:00 - 08-16 01:30:00 @ 26.7, 9: 08-16 01:30:00 - 08-16 02:00:00 @ 26.31, 10: 08-16 02:00:00 - 08-16 02:30:00 @ 25.79, 11: 08-16 02:30:00 - 08-16 03:00:00 @ 25.86, 12: 08-16 03:00:00 - 08-16 03:30:00 @ 26.13, 13: 08-16 03:30:00 - 08-16 04:00:00 @ 25.86, 14: 08-16 04:00:00 - 08-16 04:30:00 @ 26.27, 15: 08-16 04:30:00 - 08-16 05:00:00 @ 26.14, 16: 08-16 05:00:00 - 08-16 05:30:00 @ 27.03, 17: 08-16 05:30:00 - 08-16 06:00:00 @ 26.28, 18: 08-16 06:00:00 - 08-16 06:30:00 @ 25.68, 19: 08-16 06:30:00 - 08-16 07:00:00 @ 26.1, 20: 08-16 07:00:00 - 08-16 07:30:00 @ 24.28, 21: 08-16 07:30:00 - 08-16 08:00:00 @ 24.94, 22: 08-16 08:00:00 - 08-16 08:30:00 @ 24.06, 23: 08-16 08:30:00 - 08-16 09:00:00 @ 24.39, 24: 08-16 09:00:00 - 08-16 09:30:00 @ 24.66, 25: 08-16 09:30:00 - 08-16 10:00:00 @ 24.06, 26: 08-16 10:00:00 - 08-16 10:30:00 @ 25.5, 27: 08-16 10:30:00 - 08-16 11:00:00 @ 24.94, 28: 08-16 11:00:00 - 08-16 11:30:00 @ 24.25, 29: 08-16 11:30:00 - 08-16 12:00:00 @ 23.49, 30: 08-16 12:00:00 - 08-16 12:30:00 @ 23.43, 31: 08-16 12:30:00 - 08-16 13:00:00 @ 22.33, 32: 08-16 13:00:00 - 08-16 13:30:00 @ 22.76, 33: 08-16 13:30:00 - 08-16 14:00:00 @ 22.3, 34: 08-16 14:00:00 - 08-16 14:30:00 @ 21.41, 35: 08-16 14:30:00 - 08-16 15:00:00 @ 21.65, 36: 08-16 15:00:00 - 08-16 15:30:00 @ 22.95, 37: 08-16 15:30:00 - 08-16 16:00:00 @ 22.83, 38: 08-16 16:00:00 - 08-16 16:30:00 @ 36.84, 39: 08-16 16:30:00 - 08-16 17:00:00 @ 37.54, 40: 08-16 17:00:00 - 08-16 17:30:00 @ 41.79, 41: 08-16 17:30:00 - 08-16 18:00:00 @ 43.7, 42: 08-16 18:00:00 - 08-16 18:30:00 @ 44.34, 43: 08-16 19:00:00 - 08-16 19:30:00 @ 34.79, 44: 08-16 19:30:00 - 08-16 20:00:00 @ 34.76, 45: 08-16 20:00:00 - 08-16 20:30:00 @ 35.62, 46: 08-16 20:30:00 - 08-16 21:00:00 @ 35.3, 47: 08-16 21:00:00 - 08-16 21:30:00 @ 35.89, 48: 08-16 21:30:00 - 08-16 22:00:00 @ 35.71, 49: 08-16 22:00:00 - 08-16 22:30:00 @ 33.75, 50: 08-16 22:30:00 - 08-16 23:00:00 @ 32.0, 51: 08-16 23:00:00 - 08-16 23:30:00 @ 30.02, 52: 08-16 23:30:00 - 08-17 00:00:00 @ 27.8, 53: 08-17 00:00:00 - 08-17 00:30:00 @ 28.18, 54: 08-17 00:30:00 - 08-17 01:00:00 @ 27.38, 55: 08-17 01:00:00 - 08-17 01:30:00 @ 26.7, 56: 08-17 01:30:00 - 08-17 02:00:00 @ 26.31, 57: 08-17 02:00:00 - 08-17 02:30:00 @ 25.79, 58: 08-17 02:30:00 - 08-17 03:00:00 @ 25.86, 59: 08-17 03:00:00 - 08-17 03:30:00 @ 26.13, 60: 08-17 03:30:00 - 08-17 04:00:00 @ 25.86, 61: 08-17 04:00:00 - 08-17 04:30:00 @ 26.27, 62: 08-17 04:30:00 - 08-17 05:00:00 @ 26.14, 63: 08-17 05:00:00 - 08-17 05:30:00 @ 27.03, 64: 08-17 05:30:00 - 08-17 06:00:00 @ 26.28, 65: 08-17 06:00:00 - 08-17 06:30:00 @ 25.68, 66: 08-17 06:30:00 - 08-17 07:00:00 @ 26.1, 67: 08-17 07:00:00 - 08-17 07:30:00 @ 24.28, 68: 08-17 07:30:00 - 08-17 08:00:00 @ 24.94, 69: 08-17 08:00:00 - 08-17 08:30:00 @ 24.06, 70: 08-17 08:30:00 - 08-17 09:00:00 @ 24.39, 71: 08-17 09:00:00 - 08-17 09:30:00 @ 24.66, 72: 08-17 09:30:00 - 08-17 10:00:00 @ 24.06, 73: 08-17 10:00:00 - 08-17 10:30:00 @ 25.5, 74: 08-17 10:30:00 - 08-17 11:00:00 @ 24.94, 75: 08-17 11:00:00 - 08-17 11:30:00 @ 24.25, 76: 08-17 11:30:00 - 08-17 12:00:00 @ 23.49, 77: 08-17 12:00:00 - 08-17 12:30:00 @ 23.43, 78: 08-17 12:30:00 - 08-17 13:00:00 @ 22.33, 79: 08-17 13:00:00 - 08-17 13:30:00 @ 22.76, 80: 08-17 13:30:00 - 08-17 14:00:00 @ 22.3, 81: 08-17 14:00:00 - 08-17 14:30:00 @ 21.41, 82: 08-17 14:30:00 - 08-17 15:00:00 @ 21.65, 83: 08-17 15:00:00 - 08-17 15:30:00 @ 22.95, 84: 08-17 15:30:00 - 08-17 16:00:00 @ 22.83, 85: 08-17 16:00:00 - 08-17 16:30:00 @ 36.84, 86: 08-17 16:30:00 - 08-17 17:00:00 @ 37.54, 87: 08-17 17:00:00 - 08-17 17:30:00 @ 41.79, 88: 08-17 17:30:00 - 08-17 18:00:00 @ 43.7, 89: 08-17 18:00:00 - 08-17 18:30:00 @ 44.34, 90: 08-17 19:00:00 - 08-17 19:30:00 @ 34.79, 91: 08-17 19:30:00 - 08-17 20:00:00 @ 34.76, 92: 08-17 20:00:00 - 08-17 20:30:00 @ 35.62, 93: 08-17 20:30:00 - 08-17 21:00:00 @ 35.3, 94: 08-17 21:00:00 - 08-17 21:30:00 @ 35.89]
2026-08-15 21:05:03.545895: Inverter 0 Charge window will be: 2026-08-16 08:00:00+01:00 - 2026-08-16 08:30:00+01:00 - current SoC 90%, target 41%
2026-08-15 21:05:03.546074: Inverter 0 disabled charge window while waiting for schedule (now 08-15 21:05:00 target set_window_minutes 30 charge start time 08-16 08:00:00) original inverter start time 08-17 00:00:00
2026-08-15 21:05:03.546261: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 21:05:03.546646: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 21:05:03.546779: No export window planned
2026-08-15 21:05:03.546978: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 21:05:03.547027: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 21:05:03.547245: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 21:05:03.547544: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 21:05:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 21:05:03.547632: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 21:05:03.547729: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 21:05:03.547884: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 21:05:03.547961: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 21:05:03.548014: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 21:05:03.548053: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 21:05:03.548118: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 21:05:03.548176: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 21:05:03.548216: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 21:05:03.548340: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 21:05:03.548418: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 21:05:03.548462: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 21:05:03.548491: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 21:05:03.548522: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 21:05:03.548549: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 21:05:03.548577: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 21:05:03.548600: Inverter 0 count register writes 0
2026-08-15 21:05:03.566673: Will recompute the plan as it is now 10.0 minutes old and will exceed the max age of 10 minutes before the next run
2026-08-15 21:05:03.566910: Recompute is saving previous plan...
2026-08-15 21:05:03.570205: Best charge window [ 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 30.02p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 27.8p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.18p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.38p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 26.7p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.31p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.79p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 25.86p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.13p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 25.86p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.27p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.14p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 27.03p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.28p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.68p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 26.1p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 24.28p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 24.94p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.06p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.39p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.66p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.06p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 25.5p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 24.94p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 24.25p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 23.49p 0%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.43p 0%, 16-08 12:30:00 - 16-08 13:00:00 @ 22.33p 0%, 16-08 13:00:00 - 16-08 13:30:00 @ 22.76p 0%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 0%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 0%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.65p 0%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.95p 0%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.83p 0%, 16-08 16:00:00 - 16-08 16:30:00 @ 36.84p 0%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.54p 0%, 16-08 17:00:00 - 16-08 17:30:00 @ 41.79p 0%, 16-08 17:30:00 - 16-08 18:00:00 @ 43.7p 0%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.34p 0%, 16-08 19:00:00 - 16-08 19:30:00 @ 34.79p 0%, 16-08 19:30:00 - 16-08 20:00:00 @ 34.76p 0%, 16-08 20:00:00 - 16-08 20:30:00 @ 35.62p 0%, 16-08 20:30:00 - 16-08 21:00:00 @ 35.3p 0%, 16-08 21:00:00 - 16-08 21:30:00 @ 35.89p 0%, 16-08 21:30:00 - 16-08 22:00:00 @ 35.71p 0%, 16-08 22:00:00 - 16-08 22:30:00 @ 33.75p 0%, 16-08 22:30:00 - 16-08 23:00:00 @ 32.0p 0%, 16-08 23:00:00 - 16-08 23:30:00 @ 30.02p 0%, 16-08 23:30:00 - 17-08 00:00:00 @ 27.8p 0%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.18p 0%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.38p 0%, 17-08 01:00:00 - 17-08 01:30:00 @ 26.7p 0%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.31p 0%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.79p 0%, 17-08 02:30:00 - 17-08 03:00:00 @ 25.86p 0%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.13p 0%, 17-08 03:30:00 - 17-08 04:00:00 @ 25.86p 0%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.27p 0%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.14p 0%, 17-08 05:00:00 - 17-08 05:30:00 @ 27.03p 0%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.28p 0%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.68p 0%, 17-08 06:30:00 - 17-08 07:00:00 @ 26.1p 0%, 17-08 07:00:00 - 17-08 07:30:00 @ 24.28p 0%, 17-08 07:30:00 - 17-08 08:00:00 @ 24.94p 0%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.06p 0%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.39p 0%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.66p 0%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.06p 0%, 17-08 10:00:00 - 17-08 10:30:00 @ 25.5p 0%, 17-08 10:30:00 - 17-08 11:00:00 @ 24.94p 0%, 17-08 11:00:00 - 17-08 11:30:00 @ 24.25p 0%, 17-08 11:30:00 - 17-08 12:00:00 @ 23.49p 0%, 17-08 12:00:00 - 17-08 12:30:00 @ 23.43p 0%, 17-08 12:30:00 - 17-08 13:00:00 @ 22.33p 0%, 17-08 13:00:00 - 17-08 13:30:00 @ 22.76p 0%, 17-08 13:30:00 - 17-08 14:00:00 @ 22.3p 0%, 17-08 14:00:00 - 17-08 14:30:00 @ 21.41p 0%, 17-08 14:30:00 - 17-08 15:00:00 @ 21.65p 0%, 17-08 15:00:00 - 17-08 15:30:00 @ 22.95p 0%, 17-08 15:30:00 - 17-08 16:00:00 @ 22.83p 0%, 17-08 16:00:00 - 17-08 16:30:00 @ 36.84p 0%, 17-08 16:30:00 - 17-08 17:00:00 @ 37.54p 0%, 17-08 17:00:00 - 17-08 17:30:00 @ 41.79p 0%, 17-08 17:30:00 - 17-08 18:00:00 @ 43.7p 0%, 17-08 18:00:00 - 17-08 18:30:00 @ 44.34p 0%, 17-08 19:00:00 - 17-08 19:30:00 @ 34.79p 0%, 17-08 19:30:00 - 17-08 20:00:00 @ 34.76p 0%, 17-08 20:00:00 - 17-08 20:30:00 @ 35.62p 0%, 17-08 20:30:00 - 17-08 21:00:00 @ 35.3p 0%, 17-08 21:00:00 - 17-08 21:30:00 @ 35.89p 0% ]
2026-08-15 21:05:03.570291: Best export window [  ]
2026-08-15 21:05:03.571149: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 21:05:03.574330: Load divergence over 8.0 hours mean 799.84W, min 390.6W, max 2423.4W, std dev 468.94W, divergence 29.31%
2026-08-15 21:05:03.591148: Calculating data from yesterday for savings calculation
2026-08-15 21:05:03.604525: Yesterday basic charge window best: [{'start': 840, 'end': 870, 'average': 21.7}] charge limit best: [16.0] based on max charge slots 1
2026-08-15 21:05:03.653663: predict yesterday end_record 08-16 00:00:00, final soc 1.12kWh, metric 843.63p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 00:00:00, load 26.2kWh, PV 0.0kWh
2026-08-15 21:05:03.668802: predict yesterday10 end_record 08-16 00:00:00, final soc 1.12kWh, metric 847.91p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 00:00:00, load 26.2kWh, PV 0.0kWh
2026-08-15 21:05:03.688389: predict yesterday end_record 08-16 00:00:00, final soc 1.12kWh, metric 843.63p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 00:00:00, load 26.2kWh, PV 0.0kWh
2026-08-15 21:05:03.732623: Yesterday: Predbat disabled was £8.44 (adjusted £8.23) vs £7.38 (adjusted £7.05), saving £1.05 (adjusted £1.18) with import 26.54kWh, export 0.0kWh, battery_cycle 4.66kWh, start_soc 1.12kWh,  final_soc 1.12kWh and battery_value 20.6kWh
2026-08-15 21:05:03.814839: predict yesterday end_record 08-16 00:00:00, final soc 0.0kWh, metric 849.84p, metric_keep 0kWh, min_soc 0kWh @ 08-15 00:00:00, load 26.2kWh, PV 0.0kWh
2026-08-15 21:05:03.815000: Yesterday: No Battery/PV system cost predicted was £8.5 (adjusted £8.5) vs £7.38 (adjusted £7.05), saving £1.12 (adjusted £1.45) with import 26.2kWh, export 0kWh and battery_value 0.0kWh
2026-08-15 21:05:03.835628: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 21:05:03.835768: LoadML is_calculating False
2026-08-15 21:05:03.835849: Creating pool of 12 processes to match your CPU count
2026-08-15 21:05:03.930005: Calculate Best options: mode(Control charge & discharge), calculate_export_oncharge(False), calculate_export_on_pv(True), set_export_freeze_only(False), set_discharge_during_charge(True), combine_charge_slots(False), combine_export_slots(False), combine_rate_threshold(0.0), best_soc_min(0.0 kWh), best_soc_max(0.0 kWh), best_soc_keep(0.0 kWh), inverter_loss(4%), battery_loss(3%), battery_loss_discharge (3%), inverter_hybrid(True), metric_min_improvement(0.0p), metric_min_improvement_export(0.1p), metric_min_improvement_export_freeze(0.1p), metric_battery_cycle(0.0p/kWh), metric_battery_value_scaling(1.0 x) 
2026-08-15 21:05:03.932184: Optimise levels pass started at 2026-08-15 21:05:03
2026-08-15 21:05:03.932249: Optimise all windows, total charge 94 export 1
2026-08-15 21:05:05.113598: >> Region optimisation pass width 960 gives best_metric 1024.99p, best_cost 1054.33p, best_cycle 40.08kWh, best_import 21.6kWh
2026-08-15 21:05:05.509064: >> Region optimisation pass width 480 gives best_metric 1024.99p, best_cost 1054.33p, best_cycle 40.08kWh, best_import 21.6kWh
2026-08-15 21:05:06.032038: >> Region optimisation pass width 240 gives best_metric 1024.99p, best_cost 1054.33p, best_cycle 40.08kWh, best_import 21.6kWh
2026-08-15 21:05:07.199473: >> Region optimisation pass width 120 gives best_metric 1024.99p, best_cost 1054.33p, best_cycle 40.08kWh, best_import 21.6kWh
2026-08-15 21:05:07.199850: Calculated end_record as 08-17 12:30:00 based on best_price 22.33p, next_charge_start 08-16 12:30:00, max_windows 78
2026-08-15 21:05:07.199947: Optimise levels pass ended at 2026-08-15 21:05:07, duration 3.3 seconds tried 303 combinations
2026-08-15 21:05:07.200026: Set best_price_charge_level 24.0p, best_price_export_level 0p, best_price_charge 22.33p, best_cost_export 0p, best_metric 1024.99p, best_keep 0kWh, best_cycle 40.08kWh, best_carbon 0kg, best_import 21.6kWh
2026-08-15 21:05:07.221591: Starting detailed optimisation end_record 08-17 12:30:00, best_price_charge 22.33p, best_price_export 0p. lowest_price_charge 21.41p with charge limits [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 0, 16.0, 16.0, 16.0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0]kWh and export limits []kWh
2026-08-15 21:05:12.550164: Tweak plan optimisation started metric 888.62p, cost 904.35p
2026-08-15 21:05:12.834582: Tweak optimisation finished metric 888.62p, cost 904.35p, metric_keep 0kWh, cycle 28.93kWh, carbon 0kg, import 14.71kWh, changed 8 window(s)
2026-08-15 21:05:12.854142: Swap charge optimisation started metric 888.62p, cost 904.35p, min_improvement_swap 0.1p
2026-08-15 21:05:18.723933: Swap charge optimisation finished metric 888.62p, cost 904.35p
2026-08-15 21:05:18.813050: Raw charge windows [ 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 30.02p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 27.8p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.18p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.38p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 26.7p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.31p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.79p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 25.86p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.13p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 25.86p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.27p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.14p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 27.03p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.28p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.68p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 26.1p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 24.28p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 24.94p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.06p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.39p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.66p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.06p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 25.5p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 24.94p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 24.25p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 23.49p 28%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.43p 28%, 16-08 12:30:00 - 16-08 13:00:00 @ 22.33p 34%, 16-08 13:00:00 - 16-08 13:30:00 @ 22.76p 34%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 100%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 100%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.65p 100%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.95p 78%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.83p 78%, 16-08 16:00:00 - 16-08 16:30:00 @ 36.84p 0%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.54p 0%, 16-08 17:00:00 - 16-08 17:30:00 @ 41.79p 0%, 16-08 17:30:00 - 16-08 18:00:00 @ 43.7p 0%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.34p 0%, 16-08 19:00:00 - 16-08 19:30:00 @ 34.79p 0%, 16-08 19:30:00 - 16-08 20:00:00 @ 34.76p 0%, 16-08 20:00:00 - 16-08 20:30:00 @ 35.62p 0%, 16-08 20:30:00 - 16-08 21:00:00 @ 35.3p 0%, 16-08 21:00:00 - 16-08 21:30:00 @ 35.89p 0%, 16-08 21:30:00 - 16-08 22:00:00 @ 35.71p 0%, 16-08 22:00:00 - 16-08 22:30:00 @ 33.75p 0%, 16-08 22:30:00 - 16-08 23:00:00 @ 32.0p 0%, 16-08 23:00:00 - 16-08 23:30:00 @ 30.02p 0%, 16-08 23:30:00 - 17-08 00:00:00 @ 27.8p 0%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.18p 0%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.38p 0%, 17-08 01:00:00 - 17-08 01:30:00 @ 26.7p 0%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.31p 0%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.79p 0%, 17-08 02:30:00 - 17-08 03:00:00 @ 25.86p 0%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.13p 0%, 17-08 03:30:00 - 17-08 04:00:00 @ 25.86p 0%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.27p 0%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.14p 0%, 17-08 05:00:00 - 17-08 05:30:00 @ 27.03p 0%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.28p 0%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.68p 0%, 17-08 06:30:00 - 17-08 07:00:00 @ 26.1p 0%, 17-08 07:00:00 - 17-08 07:30:00 @ 24.28p 0%, 17-08 07:30:00 - 17-08 08:00:00 @ 24.94p 0%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.06p 0%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.39p 0%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.66p 0%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.06p 0%, 17-08 10:00:00 - 17-08 10:30:00 @ 25.5p 0%, 17-08 10:30:00 - 17-08 11:00:00 @ 24.94p 0%, 17-08 11:00:00 - 17-08 11:30:00 @ 24.25p 0%, 17-08 11:30:00 - 17-08 12:00:00 @ 23.49p 0%, 17-08 12:00:00 - 17-08 12:30:00 @ 23.43p 0%, 17-08 12:30:00 - 17-08 13:00:00 @ 22.33p 100%, 17-08 13:00:00 - 17-08 13:30:00 @ 22.76p 100%, 17-08 13:30:00 - 17-08 14:00:00 @ 22.3p 100%, 17-08 14:00:00 - 17-08 14:30:00 @ 21.41p 100%, 17-08 14:30:00 - 17-08 15:00:00 @ 21.65p 100%, 17-08 15:00:00 - 17-08 15:30:00 @ 22.95p 100%, 17-08 15:30:00 - 17-08 16:00:00 @ 22.83p 100%, 17-08 16:00:00 - 17-08 16:30:00 @ 36.84p 100%, 17-08 16:30:00 - 17-08 17:00:00 @ 37.54p 100%, 17-08 17:00:00 - 17-08 17:30:00 @ 41.79p 100%, 17-08 17:30:00 - 17-08 18:00:00 @ 43.7p 100%, 17-08 18:00:00 - 17-08 18:30:00 @ 44.34p 100%, 17-08 19:00:00 - 17-08 19:30:00 @ 34.79p 100%, 17-08 19:30:00 - 17-08 20:00:00 @ 34.76p 100%, 17-08 20:00:00 - 17-08 20:30:00 @ 35.62p 100%, 17-08 20:30:00 - 17-08 21:00:00 @ 35.3p 100%, 17-08 21:00:00 - 17-08 21:30:00 @ 35.89p 100% ] reserve 1.12
2026-08-15 21:05:18.813684: Unclipped charge windows [ 16-08 11:30:00 - 16-08 12:30:00 @ 23.46p 28%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 34%, 16-08 13:30:00 - 16-08 15:00:00 @ 21.75p 100%, 16-08 15:00:00 - 16-08 16:00:00 @ 22.89p 78%, 17-08 12:30:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 17-08 21:30:00 @ 35.57p 100% ] reserve 1.12
2026-08-15 21:05:18.814009: Unfiltered charge windows [ 16-08 11:30:00 - 16-08 12:30:00 @ 23.46p 28%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 34%, 16-08 13:30:00 - 16-08 15:00:00 @ 21.75p 100%, 16-08 15:00:00 - 16-08 16:00:00 @ 22.89p 78%, 17-08 12:30:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 17-08 21:30:00 @ 35.57p 100% ] reserve 1.12
2026-08-15 21:05:18.814298: Filtered charge windows [ 16-08 11:30:00 - 16-08 12:30:00 @ 23.46p 28%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 34%, 16-08 13:30:00 - 16-08 15:00:00 @ 21.75p 100%, 16-08 15:00:00 - 16-08 16:00:00 @ 22.89p 78%, 17-08 12:30:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 17-08 21:30:00 @ 35.57p 100% ] reserve 1.12
2026-08-15 21:05:18.847799: Previous plan best metric is 888.22 (cost 904.15) and new plan best metric is 888.62 (cost 904.35)
2026-08-15 21:05:18.848083: New plan metric is not significantly better (metric_min_improvement_plan 2.0) than previous plan, using previous plan
2026-08-15 21:05:18.848320: Plan valid is now true after recompute was False
2026-08-15 21:05:18.874097: predict base end_record 08-17 12:30:00, final soc 1.12kWh, metric 1075.68p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 15:45:00, load 36.03kWh, PV 0.0kWh
2026-08-15 21:05:18.979525: Battery has 18.67 hours left - now at 14.4kWh
2026-08-15 21:05:19.023161: predict base10 end_record 08-17 12:30:00, final soc 1.12kWh, metric 1108.19p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 14:50:00, load 37.26kWh, PV 0.0kWh
2026-08-15 21:05:19.096341: predict best10 end_record 08-17 12:30:00, final soc 1.12kWh, metric 1036.33p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 07:10:00, load 37.26kWh, PV 0.0kWh
2026-08-15 21:05:19.168758: predict best end_record 08-17 12:30:00, final soc 1.12kWh, metric 1003.96p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 08:20:00, load 36.03kWh, PV 0.0kWh
2026-08-15 21:05:19.168837: Saving plan best values to HA entities
2026-08-15 21:05:19.315463: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 21:05:19.321610: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 21:05:19.328321: Best charging limit SoC's [6.5, 4.5, 5.5, 16.0, 12.5, 16.0, 16.0]kWh, export []kWh gives import battery 11.87kWh, house 2.81kWh, export 0.0kWh, metric 1003.96p, metric10 1036.33p
2026-08-15 21:05:19.401005: Marginal costs baseline metric (no standing charge): 903.9958
2026-08-15 21:05:19.627633: Marginal energy costs matrix computed: min=25.53 max=29.4
2026-08-15 21:05:19.702489: Rate array import [{'start': 1265, 'end': 1410, 'rate': 'expensive', 'range': '(29.8p - 31.8p)'}, {'start': 1410, 'end': 2400, 'rate': 'cheap', 'range': '(21.4p - 28.2p)'}, {'start': 2400, 'end': 2430, 'rate': 'expensive', 'range': '(36.8p)'}, {'start': 2430, 'end': 2580, 'rate': 'very expensive', 'range': '(37.5p - 45.3p)'}, {'start': 2580, 'end': 2850, 'rate': 'expensive', 'range': '(30.0p - 35.9p)'}, {'start': 2850, 'end': 3630, 'rate': 'cheap', 'range': '(23.4p - 28.2p)'}] export [{'start': 1265, 'end': 3630, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 21:05:19.703156: - Your estimated bill for today is £5.73 and tomorrow is £3.12
2026-08-15 21:05:19.703214: - Import rates are expensive (29.8p - 31.8p) for the next 2 and a half hours and then cheap (21.4p - 28.2p) for the next 16 hours.
2026-08-15 21:05:19.703249: - The battery is currently at 90% and is in eco mode for the next 10 hours.
2026-08-15 21:05:19.703299: - For the next 48 hours there will be no solar generation.
2026-08-15 21:05:19.703331: - You will run out of battery in 35 hours.
2026-08-15 21:05:19.703378: - Your next charge slot will be in 10 hours where import rates will be cheap (24.1p).
2026-08-15 21:05:19.703405: 
2026-08-15 21:05:19.765931: Plan calculation took 16.20 seconds
2026-08-15 21:05:19.766294: Inverter 0: Type SK Sunsynk
2026-08-15 21:05:19.766341: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 21:05:19.766588: Reserve min: 7%, battery_min: 7%
2026-08-15 21:05:19.766673: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 21:05:19.767017: Inverter 0 SoC: 14.4kW 90%, current charge rate 5000W, current discharge rate 5250W, current battery power 294W, current battery voltage 51.2V, grid power -56W, load power 354W, PV Power 0W
2026-08-15 21:05:19.767252: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 21:05:19.767378: Inverter 0 scheduled charge enable is False
2026-08-15 21:05:19.767420: Inverter 0 charge windows currently []
2026-08-15 21:05:19.767450: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 21:05:19.767564: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 21:05:19.767600: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 21:05:19.767634: Inverter 0 scheduled discharge enable is False
2026-08-15 21:05:19.767770: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 21:05:19.767808: Inverter 0 discharge windows currently []
2026-08-15 21:05:19.767831: Note: Inverter does not support discharge freeze - disabled
2026-08-15 21:05:19.767854: Note: Inverter does not support charge freeze - disabled
2026-08-15 21:05:19.767871: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 21:05:19.823865: Inverter 0 Charge window will be: 2026-08-16 08:00:00+01:00 - 2026-08-16 08:30:00+01:00 - current SoC 90%, target 41%
2026-08-15 21:05:19.824070: Inverter 0 disabled charge window while waiting for schedule (now 08-15 21:05:00 target set_window_minutes 30 charge start time 08-16 08:00:00) original inverter start time 08-17 00:00:00
2026-08-15 21:05:19.824178: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 21:05:19.824457: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 21:05:19.824550: No export window planned
2026-08-15 21:05:19.824666: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 21:05:19.824703: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 21:05:19.824839: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 21:05:19.825036: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 21:05:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 21:05:19.825096: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 21:05:19.825159: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 21:05:19.825255: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 21:05:19.825297: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 21:05:19.825325: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 21:05:19.825350: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 21:05:19.825423: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 21:05:19.825454: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 21:05:19.825484: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 21:05:19.825544: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 21:05:19.825579: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 21:05:19.825604: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 21:05:19.825634: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 21:05:19.825658: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 21:05:19.825683: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 21:05:19.825712: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 21:05:19.825733: Inverter 0 count register writes 0
2026-08-15 21:05:19.846352: Total inverter register writes now 826
2026-08-15 21:05:19.881756: Info: Completed run status Demand
2026-08-15 21:05:19.888055: Info: record_status Demand
2026-08-15 21:05:19.895225: Saved current settings to /config/predbat_config.json
2026-08-15 21:05:19.895604: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 21:05:57.002142: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 21:05:57.002447: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 21:05:57.002521: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 21:05:57.002687: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 21:05:57.002734: Note: Inverter does not support discharge freeze - disabled
2026-08-15 21:05:57.002754: Note: Inverter does not support charge freeze - disabled
2026-08-15 21:05:57.002772: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 21:07:57.220009: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 21:07:57.220262: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 21:07:57.220298: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 21:07:57.220449: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 21:07:57.220493: Note: Inverter does not support discharge freeze - disabled
2026-08-15 21:07:57.220515: Note: Inverter does not support charge freeze - disabled
2026-08-15 21:07:57.220532: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 21:09:57.451322: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 21:09:57.451583: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 21:09:57.451640: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 21:09:57.451827: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 21:09:57.451867: Note: Inverter does not support discharge freeze - disabled
2026-08-15 21:09:57.451887: Note: Inverter does not support charge freeze - disabled
2026-08-15 21:09:57.451910: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 21:10:00.530834: --------------- PredBat - update at 2026-08-15 21:10:00+01:00 with clock skew 0 minutes, minutes now 1270
2026-08-15 21:10:00.531767: Saved current settings to /config/predbat_config.json
2026-08-15 21:10:00.531935: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 40.0 minutes
2026-08-15 21:10:00.532078: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.2, latest beta is v8.48.2
2026-08-15 21:10:00.532219: Autoupdate: There is an update pending v8.48.2 PV90 and second pass enabled by default, bug fixes - auto update is off
2026-08-15 21:10:00.551367: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 21:10:00.551511: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 21:10:00.551671: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 21:10:00.552203: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 21:10:00.552340: Predbat mode is set to Control charge & discharge
2026-08-15 21:10:00.768433: Found 21602 load_today datapoints going back 28 days
2026-08-15 21:10:00.768586: Using load_power data to fill gaps in load_today data
2026-08-15 21:10:01.465865: Processing 721 30-minute periods for power integration
2026-08-15 21:10:01.625810: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 21:10:01.625940: Car charging hold False, threshold 6.0kWh
2026-08-15 21:10:01.625983: Current data so far today: load 10.22kWh, import 27.8kWh, export 0.0kWh, PV 0kWh
2026-08-15 21:10:01.641437: Cars: SoC: [9.962]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 21:10:01.641897: Standing charge is set to 49.98p
2026-08-15 21:10:01.683865: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 21:10:01.683955: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 21:10:01.684149: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 630.0 minutes
2026-08-15 21:10:01.684499: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 630.0 minutes
2026-08-15 21:10:01.689832: Loaded 95 datapoints of futurerate analysis
2026-08-15 21:10:01.814202: Predicted future rates: ['08-15 00:00:00 => 28.69 / 20.01', '08-15 01:00:00 => 27.33 / 19.31', '08-15 02:00:00 => 26.31 / 18.8', '08-15 03:00:00 => 25.78 / 18.53', '08-15 04:00:00 => 25.59 / 18.43', '08-15 05:00:00 => 25.75 / 18.51', '08-15 06:00:00 => 25.34 / 18.3', '08-15 07:00:00 => 24.12 / 17.68', '08-15 08:00:00 => 22.82 / 17.01', '08-15 09:00:00 => 21.84 / 16.51', '08-15 10:00:00 => 20.22 / 15.68', '08-15 11:00:00 => 17.8 / 14.45', '08-15 12:00:00 => 16.16 / 13.61', '08-15 13:00:00 => 15.55 / 13.3', '08-15 14:00:00 => 15.14 / 13.09', '08-15 15:00:00 => 15.65 / 13.35', '08-15 16:00:00 => 32.68 / 16.13', '08-15 17:00:00 => 37.81 / 18.75', '08-15 18:00:00 => 42.15 / 20.96', '08-15 19:00:00 => 30.88 / 21.13', '08-15 20:00:00 => 31.43 / 21.41', '08-15 21:00:00 => 31.43 / 21.41', '08-15 22:00:00 => 30.37 / 20.87', '08-15 23:00:00 => 29.16 / 20.25', '08-16 00:00:00 => 28.62 / 19.97', '08-16 01:00:00 => 27.52 / 19.41', '08-16 02:00:00 => 26.55 / 18.92', '08-16 03:00:00 => 26.18 / 18.73', '08-16 04:00:00 => 26.12 / 18.7', '08-16 05:00:00 => 26.02 / 18.65', '08-16 06:00:00 => 25.78 / 18.53', '08-16 07:00:00 => 25.43 / 18.35', '08-16 08:00:00 => 24.63 / 17.94', '08-16 09:00:00 => 24.05 / 17.64', '08-16 10:00:00 => 24.59 / 17.92', '08-16 11:00:00 => 24.5 / 17.87', '08-16 12:00:00 => 23.58 / 17.4', '08-16 13:00:00 => 22.93 / 17.07', '08-16 14:00:00 => 21.8 / 16.49', '08-16 15:00:00 => 21.8 / 16.49', '08-16 16:00:00 => 36.93 / 18.3', '08-16 17:00:00 => 39.92 / 19.83', '08-16 18:00:00 => 43.98 / 21.9', '08-16 19:00:00 => 32.83 / 22.13', '08-16 20:00:00 => 33.62 / 22.53']
2026-08-15 21:10:01.851917: Rate min forward looking: now 21.41p at end of forecast 21.41p
2026-08-15 21:10:01.852332: Import rates: min 21.41p, max 45.28p, average 28.62p
2026-08-15 21:10:01.886850: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 21:10:01.886960: Rate thresholds (for charge/export) are import 44.78p (0.0p), export -0.1p (0.0p)
2026-08-15 21:10:01.888091: High export rate found rates in range 99p to -99p
2026-08-15 21:10:01.978524: Low Import rate found rates in range 21.41p to 44.34p
2026-08-15 21:10:01.978633: Car 0 charging is not planned as it is not plugged in
2026-08-15 21:10:01.990017: Battery level now 14.4kWh, -1hr ago 14.72kWh, at midnight 1.66kWh, battery value change in the last hour -5.89p, change today 234.4p, rate_forward 18.39p
2026-08-15 21:10:01.990354: Last hour: net energy 0.04kWh, import 0.04kWh, export 0.0kWh, car 0kWh, load 0.3kWh, net cost 1.31p, import 1.31p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 21:10:02.052543: Today's energy total net 27.8kWh, import 27.8kWh, export 0.0kWh, cost 573.42p, import 523.44p, export 0.0p, carbon 0.0kg
2026-08-15 21:10:02.052691: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 21:10:02.133441: Using weighted-bucket historical load forecast over 14 days
2026-08-15 21:10:02.159920: Today's load divergence 81.86%, in-day adjustment 89.97%, damping 0.95x, yesterday 143.77% today 82.76% blend 11.81%
2026-08-15 21:10:02.160018: Today's predicted so far 12.65kWh with 0.0kWh car/iBoost excluded, 20.92kWh import ignored, and 12.65kWh forecast extra.
2026-08-15 21:10:02.160051: Today's actual load so far 10.33kWh with 0.0kWh car/iBoost excluded, and 20.92kWh import ignored.
2026-08-15 21:10:02.193892: Inverter 0: Type SK Sunsynk
2026-08-15 21:10:02.193984: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 21:10:02.194207: Reserve min: 7%, battery_min: 7%
2026-08-15 21:10:02.194298: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 21:10:02.194643: Inverter 0 SoC: 14.4kW 90%, current charge rate 5000W, current discharge rate 5250W, current battery power 345W, current battery voltage 51.2V, grid power -55W, load power 401W, PV Power 0W
2026-08-15 21:10:02.194847: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 21:10:02.194961: Inverter 0 scheduled charge enable is False
2026-08-15 21:10:02.195016: Inverter 0 charge windows currently []
2026-08-15 21:10:02.195056: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 21:10:02.195226: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 21:10:02.195270: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 21:10:02.195321: Inverter 0 scheduled discharge enable is False
2026-08-15 21:10:02.195525: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 21:10:02.195569: Inverter 0 discharge windows currently []
2026-08-15 21:10:02.195597: Note: Inverter does not support discharge freeze - disabled
2026-08-15 21:10:02.195640: Note: Inverter does not support charge freeze - disabled
2026-08-15 21:10:02.195680: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 21:10:02.254633: Dynamic load last period 0.30kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 21:10:02.254794: Plan was last updated on 2026-08-15 21:05:00+01:00 and is now 5.0 minutes old
2026-08-15 21:10:02.255066: Best charge window [ 16-08 08:00:00 - 16-08 08:30:00 @ 24.06p 41%, 16-08 11:30:00 - 16-08 12:30:00 @ 23.46p 28%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 34%, 16-08 13:30:00 - 16-08 15:00:00 @ 21.75p 100%, 16-08 15:00:00 - 16-08 16:00:00 @ 22.89p 78%, 17-08 12:30:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 17-08 21:00:00 @ 35.25p 100% ]
2026-08-15 21:10:02.255104: Best export window [  ]
2026-08-15 21:10:02.255785: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 21:10:02.258366: Load divergence over 8.0 hours mean 798.4W, min 387.6W, max 2447.4W, std dev 449.3W, divergence 28.14%
2026-08-15 21:10:02.273810: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 21:10:02.273964: LoadML is_calculating False
2026-08-15 21:10:02.274038: Creating pool of 12 processes to match your CPU count
2026-08-15 21:10:02.385389: predict base end_record 08-17 12:35:00, final soc 1.12kWh, metric 1076.92p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 15:45:00, load 36.21kWh, PV 0.0kWh
2026-08-15 21:10:02.509921: Battery has 18.58 hours left - now at 14.4kWh
2026-08-15 21:10:02.550943: predict base10 end_record 08-17 12:35:00, final soc 1.12kWh, metric 1109.58p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 14:55:00, load 37.44kWh, PV 0.0kWh
2026-08-15 21:10:02.620907: predict best10 end_record 08-17 12:35:00, final soc 1.44kWh, metric 1045.2p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 07:05:00, load 37.44kWh, PV 0.0kWh
2026-08-15 21:10:02.697313: predict best end_record 08-17 12:35:00, final soc 1.51kWh, metric 1014.34p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 08:20:00, load 36.21kWh, PV 0.0kWh
2026-08-15 21:10:02.697413: Saving plan best values to HA entities
2026-08-15 21:10:02.859125: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 21:10:02.863927: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0.0
2026-08-15 21:10:02.868868: Best charging limit SoC's [6.5, 4.5, 5.5, 16.0, 12.5, 16.0, 16.0]kWh, export []kWh gives import battery 12.31kWh, house 2.83kWh, export 0.0kWh, metric 1014.34p, metric10 1045.2p
2026-08-15 21:10:02.938347: Marginal costs baseline metric (no standing charge): 914.3724
2026-08-15 21:10:03.174900: Marginal energy costs matrix computed: min=25.56 max=29.42
2026-08-15 21:10:03.249870: Rate array import [{'start': 1270, 'end': 1410, 'rate': 'expensive', 'range': '(29.8p - 31.8p)'}, {'start': 1410, 'end': 2400, 'rate': 'cheap', 'range': '(21.4p - 28.2p)'}, {'start': 2400, 'end': 2430, 'rate': 'expensive', 'range': '(36.8p)'}, {'start': 2430, 'end': 2580, 'rate': 'very expensive', 'range': '(37.5p - 45.3p)'}, {'start': 2580, 'end': 2850, 'rate': 'expensive', 'range': '(30.0p - 35.9p)'}, {'start': 2850, 'end': 3635, 'rate': 'cheap', 'range': '(22.3p - 28.2p)'}] export [{'start': 1270, 'end': 3635, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 21:10:03.250568: - Your estimated bill for today is £5.73 and tomorrow is £3.12
2026-08-15 21:10:03.250607: - Import rates are expensive (29.8p - 31.8p) for the next 2 and a quarter hours and then cheap (21.4p - 28.2p) for the next 16 hours.
2026-08-15 21:10:03.250633: - The battery is currently at 90% and is in eco mode for the next 10 hours.
2026-08-15 21:10:03.250659: - For the next 48 hours there will be no solar generation.
2026-08-15 21:10:03.250673: - You will run out of battery in 35 hours.
2026-08-15 21:10:03.250687: - Your next charge slot will be in 10 hours where import rates will be cheap (24.1p).
2026-08-15 21:10:03.250701: 
2026-08-15 21:10:03.315799: Plan calculation took 1.06 seconds
2026-08-15 21:10:03.319858: No high rate period found
2026-08-15 21:10:03.367889: Import threshold used for optimisation was 23.49p
2026-08-15 21:10:03.417358: Low import rate windows [0: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 1: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 2: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 3: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 4: 08-15 23:00:00 - 08-15 23:30:00 @ 30.02, 5: 08-15 23:30:00 - 08-16 00:00:00 @ 27.8, 6: 08-16 00:00:00 - 08-16 00:30:00 @ 28.18, 7: 08-16 00:30:00 - 08-16 01:00:00 @ 27.38, 8: 08-16 01:00:00 - 08-16 01:30:00 @ 26.7, 9: 08-16 01:30:00 - 08-16 02:00:00 @ 26.31, 10: 08-16 02:00:00 - 08-16 02:30:00 @ 25.79, 11: 08-16 02:30:00 - 08-16 03:00:00 @ 25.86, 12: 08-16 03:00:00 - 08-16 03:30:00 @ 26.13, 13: 08-16 03:30:00 - 08-16 04:00:00 @ 25.86, 14: 08-16 04:00:00 - 08-16 04:30:00 @ 26.27, 15: 08-16 04:30:00 - 08-16 05:00:00 @ 26.14, 16: 08-16 05:00:00 - 08-16 05:30:00 @ 27.03, 17: 08-16 05:30:00 - 08-16 06:00:00 @ 26.28, 18: 08-16 06:00:00 - 08-16 06:30:00 @ 25.68, 19: 08-16 06:30:00 - 08-16 07:00:00 @ 26.1, 20: 08-16 07:00:00 - 08-16 07:30:00 @ 24.28, 21: 08-16 07:30:00 - 08-16 08:00:00 @ 24.94, 22: 08-16 08:00:00 - 08-16 08:30:00 @ 24.06, 23: 08-16 08:30:00 - 08-16 09:00:00 @ 24.39, 24: 08-16 09:00:00 - 08-16 09:30:00 @ 24.66, 25: 08-16 09:30:00 - 08-16 10:00:00 @ 24.06, 26: 08-16 10:00:00 - 08-16 10:30:00 @ 25.5, 27: 08-16 10:30:00 - 08-16 11:00:00 @ 24.94, 28: 08-16 11:00:00 - 08-16 11:30:00 @ 24.25, 29: 08-16 11:30:00 - 08-16 12:00:00 @ 23.49, 30: 08-16 12:00:00 - 08-16 12:30:00 @ 23.43, 31: 08-16 12:30:00 - 08-16 13:00:00 @ 22.33, 32: 08-16 13:00:00 - 08-16 13:30:00 @ 22.76, 33: 08-16 13:30:00 - 08-16 14:00:00 @ 22.3, 34: 08-16 14:00:00 - 08-16 14:30:00 @ 21.41, 35: 08-16 14:30:00 - 08-16 15:00:00 @ 21.65, 36: 08-16 15:00:00 - 08-16 15:30:00 @ 22.95, 37: 08-16 15:30:00 - 08-16 16:00:00 @ 22.83, 38: 08-16 16:00:00 - 08-16 16:30:00 @ 36.84, 39: 08-16 16:30:00 - 08-16 17:00:00 @ 37.54, 40: 08-16 17:00:00 - 08-16 17:30:00 @ 41.79, 41: 08-16 17:30:00 - 08-16 18:00:00 @ 43.7, 42: 08-16 18:00:00 - 08-16 18:30:00 @ 44.34, 43: 08-16 19:00:00 - 08-16 19:30:00 @ 34.79, 44: 08-16 19:30:00 - 08-16 20:00:00 @ 34.76, 45: 08-16 20:00:00 - 08-16 20:30:00 @ 35.62, 46: 08-16 20:30:00 - 08-16 21:00:00 @ 35.3, 47: 08-16 21:00:00 - 08-16 21:30:00 @ 35.89, 48: 08-16 21:30:00 - 08-16 22:00:00 @ 35.71, 49: 08-16 22:00:00 - 08-16 22:30:00 @ 33.75, 50: 08-16 22:30:00 - 08-16 23:00:00 @ 32.0, 51: 08-16 23:00:00 - 08-16 23:30:00 @ 30.02, 52: 08-16 23:30:00 - 08-17 00:00:00 @ 27.8, 53: 08-17 00:00:00 - 08-17 00:30:00 @ 28.18, 54: 08-17 00:30:00 - 08-17 01:00:00 @ 27.38, 55: 08-17 01:00:00 - 08-17 01:30:00 @ 26.7, 56: 08-17 01:30:00 - 08-17 02:00:00 @ 26.31, 57: 08-17 02:00:00 - 08-17 02:30:00 @ 25.79, 58: 08-17 02:30:00 - 08-17 03:00:00 @ 25.86, 59: 08-17 03:00:00 - 08-17 03:30:00 @ 26.13, 60: 08-17 03:30:00 - 08-17 04:00:00 @ 25.86, 61: 08-17 04:00:00 - 08-17 04:30:00 @ 26.27, 62: 08-17 04:30:00 - 08-17 05:00:00 @ 26.14, 63: 08-17 05:00:00 - 08-17 05:30:00 @ 27.03, 64: 08-17 05:30:00 - 08-17 06:00:00 @ 26.28, 65: 08-17 06:00:00 - 08-17 06:30:00 @ 25.68, 66: 08-17 06:30:00 - 08-17 07:00:00 @ 26.1, 67: 08-17 07:00:00 - 08-17 07:30:00 @ 24.28, 68: 08-17 07:30:00 - 08-17 08:00:00 @ 24.94, 69: 08-17 08:00:00 - 08-17 08:30:00 @ 24.06, 70: 08-17 08:30:00 - 08-17 09:00:00 @ 24.39, 71: 08-17 09:00:00 - 08-17 09:30:00 @ 24.66, 72: 08-17 09:30:00 - 08-17 10:00:00 @ 24.06, 73: 08-17 10:00:00 - 08-17 10:30:00 @ 25.5, 74: 08-17 10:30:00 - 08-17 11:00:00 @ 24.94, 75: 08-17 11:00:00 - 08-17 11:30:00 @ 24.25, 76: 08-17 11:30:00 - 08-17 12:00:00 @ 23.49, 77: 08-17 12:00:00 - 08-17 12:30:00 @ 23.43, 78: 08-17 12:30:00 - 08-17 13:00:00 @ 22.33, 79: 08-17 13:00:00 - 08-17 13:30:00 @ 22.76, 80: 08-17 13:30:00 - 08-17 14:00:00 @ 22.3, 81: 08-17 14:00:00 - 08-17 14:30:00 @ 21.41, 82: 08-17 14:30:00 - 08-17 15:00:00 @ 21.65, 83: 08-17 15:00:00 - 08-17 15:30:00 @ 22.95, 84: 08-17 15:30:00 - 08-17 16:00:00 @ 22.83, 85: 08-17 16:00:00 - 08-17 16:30:00 @ 36.84, 86: 08-17 16:30:00 - 08-17 17:00:00 @ 37.54, 87: 08-17 17:00:00 - 08-17 17:30:00 @ 41.79, 88: 08-17 17:30:00 - 08-17 18:00:00 @ 43.7, 89: 08-17 18:00:00 - 08-17 18:30:00 @ 44.34, 90: 08-17 19:00:00 - 08-17 19:30:00 @ 34.79, 91: 08-17 19:30:00 - 08-17 20:00:00 @ 34.76, 92: 08-17 20:00:00 - 08-17 20:30:00 @ 35.62, 93: 08-17 20:30:00 - 08-17 21:00:00 @ 35.3, 94: 08-17 21:00:00 - 08-17 21:30:00 @ 35.89]
2026-08-15 21:10:03.425737: Inverter 0 Charge window will be: 2026-08-16 08:00:00+01:00 - 2026-08-16 08:30:00+01:00 - current SoC 90%, target 41%
2026-08-15 21:10:03.425860: Inverter 0 disabled charge window while waiting for schedule (now 08-15 21:10:00 target set_window_minutes 30 charge start time 08-16 08:00:00) original inverter start time 08-17 00:00:00
2026-08-15 21:10:03.425967: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 21:10:03.426243: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 21:10:03.426320: No export window planned
2026-08-15 21:10:03.426436: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 21:10:03.426489: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 21:10:03.426616: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 21:10:03.426771: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 21:10:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 21:10:03.426853: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 21:10:03.426910: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 21:10:03.427028: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 21:10:03.427084: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 21:10:03.427106: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 21:10:03.427127: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 21:10:03.427152: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 21:10:03.427172: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 21:10:03.427193: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 21:10:03.427246: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 21:10:03.427271: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 21:10:03.427291: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 21:10:03.427315: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 21:10:03.427334: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 21:10:03.427357: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 21:10:03.427390: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 21:10:03.427414: Inverter 0 count register writes 0
2026-08-15 21:10:03.441881: Will not recompute the plan, it is 5.0 minutes old and max age is 10 minutes
2026-08-15 21:10:03.446670: Total inverter register writes now 826
2026-08-15 21:10:03.475746: Info: Completed run status Demand
2026-08-15 21:10:03.481989: Info: record_status Demand
2026-08-15 21:10:03.496368: Saved current settings to /config/predbat_config.json
2026-08-15 21:10:03.496727: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 21:10:41.610697: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 21:10:41.610942: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 21:10:41.611009: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 21:10:41.611216: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 21:10:41.611264: Note: Inverter does not support discharge freeze - disabled
2026-08-15 21:10:41.611710: Note: Inverter does not support charge freeze - disabled
2026-08-15 21:10:41.611769: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 21:12:41.832984: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 21:12:41.833271: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 21:12:41.833314: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 21:12:41.833467: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 21:12:41.833508: Note: Inverter does not support discharge freeze - disabled
2026-08-15 21:12:41.833529: Note: Inverter does not support charge freeze - disabled
2026-08-15 21:12:41.833546: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 21:14:42.053035: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 21:14:42.053298: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 21:14:42.053334: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 21:14:42.053489: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 21:14:42.053531: Note: Inverter does not support discharge freeze - disabled
2026-08-15 21:14:42.053553: Note: Inverter does not support charge freeze - disabled
2026-08-15 21:14:42.053571: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 21:15:00.154897: --------------- PredBat - update at 2026-08-15 21:15:00+01:00 with clock skew 0 minutes, minutes now 1275
2026-08-15 21:15:00.155698: Saved current settings to /config/predbat_config.json
2026-08-15 21:15:00.155826: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 45.0 minutes
2026-08-15 21:15:00.155961: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.2, latest beta is v8.48.2
2026-08-15 21:15:00.156099: Autoupdate: There is an update pending v8.48.2 PV90 and second pass enabled by default, bug fixes - auto update is off
2026-08-15 21:15:00.176637: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 21:15:00.176769: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 21:15:00.176931: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 21:15:00.177750: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 21:15:00.177920: Predbat mode is set to Control charge & discharge
2026-08-15 21:15:00.371805: Found 21602 load_today datapoints going back 28 days
2026-08-15 21:15:00.372292: Using load_power data to fill gaps in load_today data
2026-08-15 21:15:01.267795: Processing 721 30-minute periods for power integration
2026-08-15 21:15:01.465871: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 21:15:01.466053: Car charging hold False, threshold 6.0kWh
2026-08-15 21:15:01.466128: Current data so far today: load 10.25kWh, import 27.8kWh, export 0.0kWh, PV 0kWh
2026-08-15 21:15:01.485796: Cars: SoC: [9.962]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 21:15:01.486323: Standing charge is set to 49.98p
2026-08-15 21:15:01.542082: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 21:15:01.542221: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 21:15:01.542524: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 635.0 minutes
2026-08-15 21:15:01.543213: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 635.0 minutes
2026-08-15 21:15:01.555042: Loaded 95 datapoints of futurerate analysis
2026-08-15 21:15:01.694306: Predicted future rates: ['08-15 00:00:00 => 28.69 / 20.01', '08-15 01:00:00 => 27.33 / 19.31', '08-15 02:00:00 => 26.31 / 18.8', '08-15 03:00:00 => 25.78 / 18.53', '08-15 04:00:00 => 25.59 / 18.43', '08-15 05:00:00 => 25.75 / 18.51', '08-15 06:00:00 => 25.34 / 18.3', '08-15 07:00:00 => 24.12 / 17.68', '08-15 08:00:00 => 22.82 / 17.01', '08-15 09:00:00 => 21.84 / 16.51', '08-15 10:00:00 => 20.22 / 15.68', '08-15 11:00:00 => 17.8 / 14.45', '08-15 12:00:00 => 16.16 / 13.61', '08-15 13:00:00 => 15.55 / 13.3', '08-15 14:00:00 => 15.14 / 13.09', '08-15 15:00:00 => 15.65 / 13.35', '08-15 16:00:00 => 32.68 / 16.13', '08-15 17:00:00 => 37.81 / 18.75', '08-15 18:00:00 => 42.15 / 20.96', '08-15 19:00:00 => 30.88 / 21.13', '08-15 20:00:00 => 31.43 / 21.41', '08-15 21:00:00 => 31.43 / 21.41', '08-15 22:00:00 => 30.37 / 20.87', '08-15 23:00:00 => 29.16 / 20.25', '08-16 00:00:00 => 28.62 / 19.97', '08-16 01:00:00 => 27.52 / 19.41', '08-16 02:00:00 => 26.55 / 18.92', '08-16 03:00:00 => 26.18 / 18.73', '08-16 04:00:00 => 26.12 / 18.7', '08-16 05:00:00 => 26.02 / 18.65', '08-16 06:00:00 => 25.78 / 18.53', '08-16 07:00:00 => 25.43 / 18.35', '08-16 08:00:00 => 24.63 / 17.94', '08-16 09:00:00 => 24.05 / 17.64', '08-16 10:00:00 => 24.59 / 17.92', '08-16 11:00:00 => 24.5 / 17.87', '08-16 12:00:00 => 23.58 / 17.4', '08-16 13:00:00 => 22.93 / 17.07', '08-16 14:00:00 => 21.8 / 16.49', '08-16 15:00:00 => 21.8 / 16.49', '08-16 16:00:00 => 36.93 / 18.3', '08-16 17:00:00 => 39.92 / 19.83', '08-16 18:00:00 => 43.98 / 21.9', '08-16 19:00:00 => 32.83 / 22.13', '08-16 20:00:00 => 33.62 / 22.53']
2026-08-15 21:15:01.732375: Rate min forward looking: now 21.41p at end of forecast 21.41p
2026-08-15 21:15:01.732781: Import rates: min 21.41p, max 45.28p, average 28.62p
2026-08-15 21:15:01.767421: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 21:15:01.767550: Rate thresholds (for charge/export) are import 44.78p (0.0p), export -0.1p (0.0p)
2026-08-15 21:15:01.768733: High export rate found rates in range 99p to -99p
2026-08-15 21:15:01.855356: Low Import rate found rates in range 21.41p to 44.34p
2026-08-15 21:15:01.855512: Car 0 charging is not planned as it is not plugged in
2026-08-15 21:15:01.867886: Battery level now 14.4kWh, -1hr ago 14.72kWh, at midnight 1.66kWh, battery value change in the last hour -5.89p, change today 234.4p, rate_forward 18.39p
2026-08-15 21:15:01.868201: Last hour: net energy 0.04kWh, import 0.04kWh, export 0.0kWh, car 0kWh, load 0.3kWh, net cost 1.17p, import 1.17p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 21:15:01.931421: Today's energy total net 27.8kWh, import 27.8kWh, export 0.0kWh, cost 573.42p, import 523.44p, export 0.0p, carbon 0.0kg
2026-08-15 21:15:01.931599: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 21:15:02.027500: Using weighted-bucket historical load forecast over 14 days
2026-08-15 21:15:02.060072: Today's load divergence 81.56%, in-day adjustment 89.5%, damping 0.95x, yesterday 143.77% today 82.48% blend 11.46%
2026-08-15 21:15:02.060172: Today's predicted so far 12.66kWh with 0.0kWh car/iBoost excluded, 20.9kWh import ignored, and 12.66kWh forecast extra.
2026-08-15 21:15:02.060205: Today's actual load so far 10.3kWh with 0.0kWh car/iBoost excluded, and 20.9kWh import ignored.
2026-08-15 21:15:02.100648: Inverter 0: Type SK Sunsynk
2026-08-15 21:15:02.100752: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 21:15:02.101030: Reserve min: 7%, battery_min: 7%
2026-08-15 21:15:02.101129: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 21:15:02.101495: Inverter 0 SoC: 14.4kW 90%, current charge rate 5000W, current discharge rate 5250W, current battery power 295W, current battery voltage 51.2V, grid power -55W, load power 355W, PV Power 0W
2026-08-15 21:15:02.101701: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 21:15:02.101821: Inverter 0 scheduled charge enable is False
2026-08-15 21:15:02.101867: Inverter 0 charge windows currently []
2026-08-15 21:15:02.101903: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 21:15:02.102064: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 21:15:02.102105: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 21:15:02.102144: Inverter 0 scheduled discharge enable is False
2026-08-15 21:15:02.102342: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 21:15:02.102384: Inverter 0 discharge windows currently []
2026-08-15 21:15:02.102408: Note: Inverter does not support discharge freeze - disabled
2026-08-15 21:15:02.102613: Note: Inverter does not support charge freeze - disabled
2026-08-15 21:15:02.102689: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 21:15:02.174064: Dynamic load last period 0.30kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 21:15:02.174261: Plan was last updated on 2026-08-15 21:05:00+01:00 and is now 10.0 minutes old
2026-08-15 21:15:02.174671: Best charge window [ 16-08 08:00:00 - 16-08 08:30:00 @ 24.06p 41%, 16-08 11:30:00 - 16-08 12:30:00 @ 23.46p 28%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 34%, 16-08 13:30:00 - 16-08 15:00:00 @ 21.75p 100%, 16-08 15:00:00 - 16-08 16:00:00 @ 22.89p 78%, 17-08 12:30:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 17-08 21:00:00 @ 35.25p 100% ]
2026-08-15 21:15:02.174738: Best export window [  ]
2026-08-15 21:15:02.176076: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 21:15:02.179993: Load divergence over 8.0 hours mean 797.12W, min 384.0W, max 2127.6W, std dev 435.61W, divergence 27.32%
2026-08-15 21:15:02.198774: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 21:15:02.198883: LoadML is_calculating False
2026-08-15 21:15:02.198959: Creating pool of 12 processes to match your CPU count
2026-08-15 21:15:02.326866: predict base end_record 08-17 12:40:00, final soc 1.12kWh, metric 1077.41p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 15:50:00, load 36.25kWh, PV 0.0kWh
2026-08-15 21:15:02.474005: Battery has 18.58 hours left - now at 14.4kWh
2026-08-15 21:15:02.513494: predict base10 end_record 08-17 12:40:00, final soc 1.12kWh, metric 1110.14p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 14:55:00, load 37.49kWh, PV 0.0kWh
2026-08-15 21:15:02.589338: predict best10 end_record 08-17 12:40:00, final soc 1.77kWh, metric 1053.05p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 07:10:00, load 37.49kWh, PV 0.0kWh
2026-08-15 21:15:02.672825: predict best end_record 08-17 12:40:00, final soc 1.9kWh, metric 1024.11p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 08:20:00, load 36.25kWh, PV 0.0kWh
2026-08-15 21:15:02.672920: Saving plan best values to HA entities
2026-08-15 21:15:02.838767: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0
2026-08-15 21:15:02.844061: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 21:15:02.849156: Best charging limit SoC's [6.5, 4.5, 5.5, 16.0, 12.5, 16.0, 16.0]kWh, export []kWh gives import battery 12.75kWh, house 2.83kWh, export 0.0kWh, metric 1024.11p, metric10 1053.05p
2026-08-15 21:15:02.926864: Marginal costs baseline metric (no standing charge): 924.1446
2026-08-15 21:15:03.200504: Marginal energy costs matrix computed: min=25.57 max=29.39
2026-08-15 21:15:03.281510: Rate array import [{'start': 1275, 'end': 1410, 'rate': 'expensive', 'range': '(29.8p - 31.8p)'}, {'start': 1410, 'end': 2400, 'rate': 'cheap', 'range': '(21.4p - 28.2p)'}, {'start': 2400, 'end': 2430, 'rate': 'expensive', 'range': '(36.8p)'}, {'start': 2430, 'end': 2580, 'rate': 'very expensive', 'range': '(37.5p - 45.3p)'}, {'start': 2580, 'end': 2850, 'rate': 'expensive', 'range': '(30.0p - 35.9p)'}, {'start': 2850, 'end': 3640, 'rate': 'cheap', 'range': '(22.3p - 28.2p)'}] export [{'start': 1275, 'end': 3640, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 21:15:03.282257: - Your estimated bill for today is £5.73 and tomorrow is £3.10
2026-08-15 21:15:03.282303: - Import rates are expensive (29.8p - 31.8p) for the next 2 and a quarter hours and then cheap (21.4p - 28.2p) for the next 16 hours.
2026-08-15 21:15:03.282326: - The battery is currently at 90% and is in eco mode for the next 10 hours.
2026-08-15 21:15:03.282344: - For the next 48 hours there will be no solar generation.
2026-08-15 21:15:03.282361: - You will run out of battery in 35 hours.
2026-08-15 21:15:03.282382: - Your next charge slot will be in 10 hours where import rates will be cheap (24.1p).
2026-08-15 21:15:03.282419: 
2026-08-15 21:15:03.344826: Plan calculation took 1.17 seconds
2026-08-15 21:15:03.348026: No high rate period found
2026-08-15 21:15:03.407975: Import threshold used for optimisation was 23.49p
2026-08-15 21:15:03.463942: Low import rate windows [0: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 1: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 2: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 3: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 4: 08-15 23:00:00 - 08-15 23:30:00 @ 30.02, 5: 08-15 23:30:00 - 08-16 00:00:00 @ 27.8, 6: 08-16 00:00:00 - 08-16 00:30:00 @ 28.18, 7: 08-16 00:30:00 - 08-16 01:00:00 @ 27.38, 8: 08-16 01:00:00 - 08-16 01:30:00 @ 26.7, 9: 08-16 01:30:00 - 08-16 02:00:00 @ 26.31, 10: 08-16 02:00:00 - 08-16 02:30:00 @ 25.79, 11: 08-16 02:30:00 - 08-16 03:00:00 @ 25.86, 12: 08-16 03:00:00 - 08-16 03:30:00 @ 26.13, 13: 08-16 03:30:00 - 08-16 04:00:00 @ 25.86, 14: 08-16 04:00:00 - 08-16 04:30:00 @ 26.27, 15: 08-16 04:30:00 - 08-16 05:00:00 @ 26.14, 16: 08-16 05:00:00 - 08-16 05:30:00 @ 27.03, 17: 08-16 05:30:00 - 08-16 06:00:00 @ 26.28, 18: 08-16 06:00:00 - 08-16 06:30:00 @ 25.68, 19: 08-16 06:30:00 - 08-16 07:00:00 @ 26.1, 20: 08-16 07:00:00 - 08-16 07:30:00 @ 24.28, 21: 08-16 07:30:00 - 08-16 08:00:00 @ 24.94, 22: 08-16 08:00:00 - 08-16 08:30:00 @ 24.06, 23: 08-16 08:30:00 - 08-16 09:00:00 @ 24.39, 24: 08-16 09:00:00 - 08-16 09:30:00 @ 24.66, 25: 08-16 09:30:00 - 08-16 10:00:00 @ 24.06, 26: 08-16 10:00:00 - 08-16 10:30:00 @ 25.5, 27: 08-16 10:30:00 - 08-16 11:00:00 @ 24.94, 28: 08-16 11:00:00 - 08-16 11:30:00 @ 24.25, 29: 08-16 11:30:00 - 08-16 12:00:00 @ 23.49, 30: 08-16 12:00:00 - 08-16 12:30:00 @ 23.43, 31: 08-16 12:30:00 - 08-16 13:00:00 @ 22.33, 32: 08-16 13:00:00 - 08-16 13:30:00 @ 22.76, 33: 08-16 13:30:00 - 08-16 14:00:00 @ 22.3, 34: 08-16 14:00:00 - 08-16 14:30:00 @ 21.41, 35: 08-16 14:30:00 - 08-16 15:00:00 @ 21.65, 36: 08-16 15:00:00 - 08-16 15:30:00 @ 22.95, 37: 08-16 15:30:00 - 08-16 16:00:00 @ 22.83, 38: 08-16 16:00:00 - 08-16 16:30:00 @ 36.84, 39: 08-16 16:30:00 - 08-16 17:00:00 @ 37.54, 40: 08-16 17:00:00 - 08-16 17:30:00 @ 41.79, 41: 08-16 17:30:00 - 08-16 18:00:00 @ 43.7, 42: 08-16 18:00:00 - 08-16 18:30:00 @ 44.34, 43: 08-16 19:00:00 - 08-16 19:30:00 @ 34.79, 44: 08-16 19:30:00 - 08-16 20:00:00 @ 34.76, 45: 08-16 20:00:00 - 08-16 20:30:00 @ 35.62, 46: 08-16 20:30:00 - 08-16 21:00:00 @ 35.3, 47: 08-16 21:00:00 - 08-16 21:30:00 @ 35.89, 48: 08-16 21:30:00 - 08-16 22:00:00 @ 35.71, 49: 08-16 22:00:00 - 08-16 22:30:00 @ 33.75, 50: 08-16 22:30:00 - 08-16 23:00:00 @ 32.0, 51: 08-16 23:00:00 - 08-16 23:30:00 @ 30.02, 52: 08-16 23:30:00 - 08-17 00:00:00 @ 27.8, 53: 08-17 00:00:00 - 08-17 00:30:00 @ 28.18, 54: 08-17 00:30:00 - 08-17 01:00:00 @ 27.38, 55: 08-17 01:00:00 - 08-17 01:30:00 @ 26.7, 56: 08-17 01:30:00 - 08-17 02:00:00 @ 26.31, 57: 08-17 02:00:00 - 08-17 02:30:00 @ 25.79, 58: 08-17 02:30:00 - 08-17 03:00:00 @ 25.86, 59: 08-17 03:00:00 - 08-17 03:30:00 @ 26.13, 60: 08-17 03:30:00 - 08-17 04:00:00 @ 25.86, 61: 08-17 04:00:00 - 08-17 04:30:00 @ 26.27, 62: 08-17 04:30:00 - 08-17 05:00:00 @ 26.14, 63: 08-17 05:00:00 - 08-17 05:30:00 @ 27.03, 64: 08-17 05:30:00 - 08-17 06:00:00 @ 26.28, 65: 08-17 06:00:00 - 08-17 06:30:00 @ 25.68, 66: 08-17 06:30:00 - 08-17 07:00:00 @ 26.1, 67: 08-17 07:00:00 - 08-17 07:30:00 @ 24.28, 68: 08-17 07:30:00 - 08-17 08:00:00 @ 24.94, 69: 08-17 08:00:00 - 08-17 08:30:00 @ 24.06, 70: 08-17 08:30:00 - 08-17 09:00:00 @ 24.39, 71: 08-17 09:00:00 - 08-17 09:30:00 @ 24.66, 72: 08-17 09:30:00 - 08-17 10:00:00 @ 24.06, 73: 08-17 10:00:00 - 08-17 10:30:00 @ 25.5, 74: 08-17 10:30:00 - 08-17 11:00:00 @ 24.94, 75: 08-17 11:00:00 - 08-17 11:30:00 @ 24.25, 76: 08-17 11:30:00 - 08-17 12:00:00 @ 23.49, 77: 08-17 12:00:00 - 08-17 12:30:00 @ 23.43, 78: 08-17 12:30:00 - 08-17 13:00:00 @ 22.33, 79: 08-17 13:00:00 - 08-17 13:30:00 @ 22.76, 80: 08-17 13:30:00 - 08-17 14:00:00 @ 22.3, 81: 08-17 14:00:00 - 08-17 14:30:00 @ 21.41, 82: 08-17 14:30:00 - 08-17 15:00:00 @ 21.65, 83: 08-17 15:00:00 - 08-17 15:30:00 @ 22.95, 84: 08-17 15:30:00 - 08-17 16:00:00 @ 22.83, 85: 08-17 16:00:00 - 08-17 16:30:00 @ 36.84, 86: 08-17 16:30:00 - 08-17 17:00:00 @ 37.54, 87: 08-17 17:00:00 - 08-17 17:30:00 @ 41.79, 88: 08-17 17:30:00 - 08-17 18:00:00 @ 43.7, 89: 08-17 18:00:00 - 08-17 18:30:00 @ 44.34, 90: 08-17 19:00:00 - 08-17 19:30:00 @ 34.79, 91: 08-17 19:30:00 - 08-17 20:00:00 @ 34.76, 92: 08-17 20:00:00 - 08-17 20:30:00 @ 35.62, 93: 08-17 20:30:00 - 08-17 21:00:00 @ 35.3, 94: 08-17 21:00:00 - 08-17 21:30:00 @ 35.89]
2026-08-15 21:15:03.470614: Inverter 0 Charge window will be: 2026-08-16 08:00:00+01:00 - 2026-08-16 08:30:00+01:00 - current SoC 90%, target 41%
2026-08-15 21:15:03.470760: Inverter 0 disabled charge window while waiting for schedule (now 08-15 21:15:00 target set_window_minutes 30 charge start time 08-16 08:00:00) original inverter start time 08-17 00:00:00
2026-08-15 21:15:03.470881: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 21:15:03.471244: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 21:15:03.471340: No export window planned
2026-08-15 21:15:03.471511: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 21:15:03.471551: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 21:15:03.471692: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 21:15:03.471876: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 21:15:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 21:15:03.471940: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 21:15:03.472007: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 21:15:03.472108: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 21:15:03.472171: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 21:15:03.472201: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 21:15:03.472228: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 21:15:03.472258: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 21:15:03.472282: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 21:15:03.472312: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 21:15:03.472376: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 21:15:03.472413: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 21:15:03.472439: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 21:15:03.472480: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 21:15:03.472507: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 21:15:03.472530: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 21:15:03.472555: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 21:15:03.472576: Inverter 0 count register writes 0
2026-08-15 21:15:03.488122: Will recompute the plan as it is now 10.0 minutes old and will exceed the max age of 10 minutes before the next run
2026-08-15 21:15:03.488326: Recompute is saving previous plan...
2026-08-15 21:15:03.491642: Best charge window [ 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 30.02p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 27.8p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.18p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.38p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 26.7p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.31p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.79p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 25.86p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.13p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 25.86p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.27p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.14p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 27.03p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.28p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.68p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 26.1p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 24.28p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 24.94p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.06p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.39p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.66p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.06p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 25.5p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 24.94p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 24.25p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 23.49p 0%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.43p 0%, 16-08 12:30:00 - 16-08 13:00:00 @ 22.33p 0%, 16-08 13:00:00 - 16-08 13:30:00 @ 22.76p 0%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 0%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 0%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.65p 0%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.95p 0%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.83p 0%, 16-08 16:00:00 - 16-08 16:30:00 @ 36.84p 0%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.54p 0%, 16-08 17:00:00 - 16-08 17:30:00 @ 41.79p 0%, 16-08 17:30:00 - 16-08 18:00:00 @ 43.7p 0%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.34p 0%, 16-08 19:00:00 - 16-08 19:30:00 @ 34.79p 0%, 16-08 19:30:00 - 16-08 20:00:00 @ 34.76p 0%, 16-08 20:00:00 - 16-08 20:30:00 @ 35.62p 0%, 16-08 20:30:00 - 16-08 21:00:00 @ 35.3p 0%, 16-08 21:00:00 - 16-08 21:30:00 @ 35.89p 0%, 16-08 21:30:00 - 16-08 22:00:00 @ 35.71p 0%, 16-08 22:00:00 - 16-08 22:30:00 @ 33.75p 0%, 16-08 22:30:00 - 16-08 23:00:00 @ 32.0p 0%, 16-08 23:00:00 - 16-08 23:30:00 @ 30.02p 0%, 16-08 23:30:00 - 17-08 00:00:00 @ 27.8p 0%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.18p 0%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.38p 0%, 17-08 01:00:00 - 17-08 01:30:00 @ 26.7p 0%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.31p 0%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.79p 0%, 17-08 02:30:00 - 17-08 03:00:00 @ 25.86p 0%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.13p 0%, 17-08 03:30:00 - 17-08 04:00:00 @ 25.86p 0%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.27p 0%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.14p 0%, 17-08 05:00:00 - 17-08 05:30:00 @ 27.03p 0%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.28p 0%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.68p 0%, 17-08 06:30:00 - 17-08 07:00:00 @ 26.1p 0%, 17-08 07:00:00 - 17-08 07:30:00 @ 24.28p 0%, 17-08 07:30:00 - 17-08 08:00:00 @ 24.94p 0%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.06p 0%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.39p 0%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.66p 0%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.06p 0%, 17-08 10:00:00 - 17-08 10:30:00 @ 25.5p 0%, 17-08 10:30:00 - 17-08 11:00:00 @ 24.94p 0%, 17-08 11:00:00 - 17-08 11:30:00 @ 24.25p 0%, 17-08 11:30:00 - 17-08 12:00:00 @ 23.49p 0%, 17-08 12:00:00 - 17-08 12:30:00 @ 23.43p 0%, 17-08 12:30:00 - 17-08 13:00:00 @ 22.33p 0%, 17-08 13:00:00 - 17-08 13:30:00 @ 22.76p 0%, 17-08 13:30:00 - 17-08 14:00:00 @ 22.3p 0%, 17-08 14:00:00 - 17-08 14:30:00 @ 21.41p 0%, 17-08 14:30:00 - 17-08 15:00:00 @ 21.65p 0%, 17-08 15:00:00 - 17-08 15:30:00 @ 22.95p 0%, 17-08 15:30:00 - 17-08 16:00:00 @ 22.83p 0%, 17-08 16:00:00 - 17-08 16:30:00 @ 36.84p 0%, 17-08 16:30:00 - 17-08 17:00:00 @ 37.54p 0%, 17-08 17:00:00 - 17-08 17:30:00 @ 41.79p 0%, 17-08 17:30:00 - 17-08 18:00:00 @ 43.7p 0%, 17-08 18:00:00 - 17-08 18:30:00 @ 44.34p 0%, 17-08 19:00:00 - 17-08 19:30:00 @ 34.79p 0%, 17-08 19:30:00 - 17-08 20:00:00 @ 34.76p 0%, 17-08 20:00:00 - 17-08 20:30:00 @ 35.62p 0%, 17-08 20:30:00 - 17-08 21:00:00 @ 35.3p 0%, 17-08 21:00:00 - 17-08 21:30:00 @ 35.89p 0% ]
2026-08-15 21:15:03.491729: Best export window [  ]
2026-08-15 21:15:03.492548: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 21:15:03.495769: Load divergence over 8.0 hours mean 797.12W, min 384.0W, max 2127.6W, std dev 435.61W, divergence 27.32%
2026-08-15 21:15:03.513583: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 21:15:03.513692: LoadML is_calculating False
2026-08-15 21:15:03.513758: Creating pool of 12 processes to match your CPU count
2026-08-15 21:15:03.597444: Calculate Best options: mode(Control charge & discharge), calculate_export_oncharge(False), calculate_export_on_pv(True), set_export_freeze_only(False), set_discharge_during_charge(True), combine_charge_slots(False), combine_export_slots(False), combine_rate_threshold(0.0), best_soc_min(0.0 kWh), best_soc_max(0.0 kWh), best_soc_keep(0.0 kWh), inverter_loss(4%), battery_loss(3%), battery_loss_discharge (3%), inverter_hybrid(True), metric_min_improvement(0.0p), metric_min_improvement_export(0.1p), metric_min_improvement_export_freeze(0.1p), metric_battery_cycle(0.0p/kWh), metric_battery_value_scaling(1.0 x) 
2026-08-15 21:15:03.599350: Optimise levels pass started at 2026-08-15 21:15:03
2026-08-15 21:15:03.599402: Optimise all windows, total charge 94 export 1
2026-08-15 21:15:04.625237: >> Region optimisation pass width 960 gives best_metric 1025.34p, best_cost 1052.86p, best_cycle 40.16kWh, best_import 21.55kWh
2026-08-15 21:15:05.027933: >> Region optimisation pass width 480 gives best_metric 1025.34p, best_cost 1052.86p, best_cycle 40.16kWh, best_import 21.55kWh
2026-08-15 21:15:05.536861: >> Region optimisation pass width 240 gives best_metric 1025.34p, best_cost 1052.86p, best_cycle 40.16kWh, best_import 21.55kWh
2026-08-15 21:15:06.655551: >> Region optimisation pass width 120 gives best_metric 1025.34p, best_cost 1052.86p, best_cycle 40.16kWh, best_import 21.55kWh
2026-08-15 21:15:06.655905: Calculated end_record as 08-17 12:30:00 based on best_price 22.33p, next_charge_start 08-16 12:30:00, max_windows 78
2026-08-15 21:15:06.656039: Optimise levels pass ended at 2026-08-15 21:15:06, duration 3.1 seconds tried 303 combinations
2026-08-15 21:15:06.656290: Set best_price_charge_level 24.0p, best_price_export_level 0p, best_price_charge 22.33p, best_cost_export 0p, best_metric 1025.34p, best_keep 0kWh, best_cycle 40.16kWh, best_carbon 0kg, best_import 21.55kWh
2026-08-15 21:15:06.677048: Starting detailed optimisation end_record 08-17 12:30:00, best_price_charge 22.33p, best_price_export 0p. lowest_price_charge 21.41p with charge limits [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 0, 16.0, 16.0, 16.0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0]kWh and export limits []kWh
2026-08-15 21:15:12.216793: Tweak plan optimisation started metric 887.98p, cost 903.96p
2026-08-15 21:15:12.509941: Tweak optimisation finished metric 887.98p, cost 903.96p, metric_keep 0kWh, cycle 30.56kWh, carbon 0kg, import 14.76kWh, changed 8 window(s)
2026-08-15 21:15:12.530775: Swap charge optimisation started metric 887.98p, cost 903.96p, min_improvement_swap 0.1p
2026-08-15 21:15:19.274882: Swap charge optimisation finished metric 887.98p, cost 903.96p
2026-08-15 21:15:19.371114: Pruned 1 dead plan slot(s) in 10 trial(s), nominal metric 883.36p -> 883.36p, plan now metric 888.0p, cost 903.96p, cycle 30.56kWh, import 14.76kWh
2026-08-15 21:15:19.381017: Raw charge windows [ 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 30.02p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 27.8p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.18p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.38p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 26.7p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.31p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.79p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 25.86p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.13p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 25.86p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.27p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.14p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 27.03p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.28p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.68p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 26.1p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 24.28p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 24.94p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.06p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.39p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.66p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.06p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 25.5p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 24.94p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 24.25p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 23.49p 25%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.43p 25%, 16-08 12:30:00 - 16-08 13:00:00 @ 22.33p 38%, 16-08 13:00:00 - 16-08 13:30:00 @ 22.76p 38%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 100%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 100%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.65p 100%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.95p 81%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.83p 81%, 16-08 16:00:00 - 16-08 16:30:00 @ 36.84p 0%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.54p 0%, 16-08 17:00:00 - 16-08 17:30:00 @ 41.79p 0%, 16-08 17:30:00 - 16-08 18:00:00 @ 43.7p 0%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.34p 0%, 16-08 19:00:00 - 16-08 19:30:00 @ 34.79p 0%, 16-08 19:30:00 - 16-08 20:00:00 @ 34.76p 0%, 16-08 20:00:00 - 16-08 20:30:00 @ 35.62p 0%, 16-08 20:30:00 - 16-08 21:00:00 @ 35.3p 0%, 16-08 21:00:00 - 16-08 21:30:00 @ 35.89p 0%, 16-08 21:30:00 - 16-08 22:00:00 @ 35.71p 0%, 16-08 22:00:00 - 16-08 22:30:00 @ 33.75p 0%, 16-08 22:30:00 - 16-08 23:00:00 @ 32.0p 0%, 16-08 23:00:00 - 16-08 23:30:00 @ 30.02p 0%, 16-08 23:30:00 - 17-08 00:00:00 @ 27.8p 0%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.18p 0%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.38p 0%, 17-08 01:00:00 - 17-08 01:30:00 @ 26.7p 0%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.31p 0%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.79p 0%, 17-08 02:30:00 - 17-08 03:00:00 @ 25.86p 0%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.13p 0%, 17-08 03:30:00 - 17-08 04:00:00 @ 25.86p 0%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.27p 0%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.14p 0%, 17-08 05:00:00 - 17-08 05:30:00 @ 27.03p 0%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.28p 0%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.68p 0%, 17-08 06:30:00 - 17-08 07:00:00 @ 26.1p 0%, 17-08 07:00:00 - 17-08 07:30:00 @ 24.28p 0%, 17-08 07:30:00 - 17-08 08:00:00 @ 24.94p 0%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.06p 0%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.39p 0%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.66p 0%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.06p 0%, 17-08 10:00:00 - 17-08 10:30:00 @ 25.5p 0%, 17-08 10:30:00 - 17-08 11:00:00 @ 24.94p 0%, 17-08 11:00:00 - 17-08 11:30:00 @ 24.25p 0%, 17-08 11:30:00 - 17-08 12:00:00 @ 23.49p 0%, 17-08 12:00:00 - 17-08 12:30:00 @ 23.43p 0%, 17-08 12:30:00 - 17-08 13:00:00 @ 22.33p 100%, 17-08 13:00:00 - 17-08 13:30:00 @ 22.76p 100%, 17-08 13:30:00 - 17-08 14:00:00 @ 22.3p 100%, 17-08 14:00:00 - 17-08 14:30:00 @ 21.41p 100%, 17-08 14:30:00 - 17-08 15:00:00 @ 21.65p 100%, 17-08 15:00:00 - 17-08 15:30:00 @ 22.95p 100%, 17-08 15:30:00 - 17-08 16:00:00 @ 22.83p 100%, 17-08 16:00:00 - 17-08 16:30:00 @ 36.84p 100%, 17-08 16:30:00 - 17-08 17:00:00 @ 37.54p 100%, 17-08 17:00:00 - 17-08 17:30:00 @ 41.79p 100%, 17-08 17:30:00 - 17-08 18:00:00 @ 43.7p 100%, 17-08 18:00:00 - 17-08 18:30:00 @ 44.34p 100%, 17-08 19:00:00 - 17-08 19:30:00 @ 34.79p 100%, 17-08 19:30:00 - 17-08 20:00:00 @ 34.76p 100%, 17-08 20:00:00 - 17-08 20:30:00 @ 35.62p 100%, 17-08 20:30:00 - 17-08 21:00:00 @ 35.3p 100%, 17-08 21:00:00 - 17-08 21:30:00 @ 35.89p 100% ] reserve 1.12
2026-08-15 21:15:19.381523: Unclipped charge windows [ 16-08 11:30:00 - 16-08 12:30:00 @ 23.46p 25%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 38%, 16-08 13:30:00 - 16-08 15:00:00 @ 21.75p 100%, 16-08 15:00:00 - 16-08 16:00:00 @ 22.89p 81%, 17-08 12:30:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 17-08 21:30:00 @ 35.57p 100% ] reserve 1.12
2026-08-15 21:15:19.381760: Unfiltered charge windows [ 16-08 11:30:00 - 16-08 12:30:00 @ 23.46p 25%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 38%, 16-08 13:30:00 - 16-08 15:00:00 @ 21.75p 100%, 16-08 15:00:00 - 16-08 16:00:00 @ 22.89p 81%, 17-08 12:30:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 17-08 21:30:00 @ 35.57p 100% ] reserve 1.12
2026-08-15 21:15:19.381947: Filtered charge windows [ 16-08 11:30:00 - 16-08 12:30:00 @ 23.46p 25%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 38%, 16-08 13:30:00 - 16-08 15:00:00 @ 21.75p 100%, 16-08 15:00:00 - 16-08 16:00:00 @ 22.89p 81%, 17-08 12:30:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 17-08 21:30:00 @ 35.57p 100% ] reserve 1.12
2026-08-15 21:15:19.412455: Previous plan best metric is 886.62 (cost 902.57) and new plan best metric is 887.98 (cost 903.96)
2026-08-15 21:15:19.412744: New plan metric is not significantly better (metric_min_improvement_plan 2.0) than previous plan, using previous plan
2026-08-15 21:15:19.412985: Plan valid is now true after recompute was False
2026-08-15 21:15:19.435912: predict base end_record 08-17 12:30:00, final soc 1.12kWh, metric 1074.27p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 15:50:00, load 36.11kWh, PV 0.0kWh
2026-08-15 21:15:19.539720: Battery has 18.58 hours left - now at 14.4kWh
2026-08-15 21:15:19.578547: predict base10 end_record 08-17 12:30:00, final soc 1.12kWh, metric 1106.85p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 14:55:00, load 37.34kWh, PV 0.0kWh
2026-08-15 21:15:19.646541: predict best10 end_record 08-17 12:30:00, final soc 1.12kWh, metric 1034.24p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 07:10:00, load 37.34kWh, PV 0.0kWh
2026-08-15 21:15:19.716241: predict best end_record 08-17 12:30:00, final soc 1.12kWh, metric 1002.36p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 08:20:00, load 36.11kWh, PV 0.0kWh
2026-08-15 21:15:19.716330: Saving plan best values to HA entities
2026-08-15 21:15:19.874128: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0
2026-08-15 21:15:19.879766: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 21:15:19.885159: Best charging limit SoC's [6.5, 4.5, 5.5, 16.0, 12.5, 16.0, 16.0]kWh, export []kWh gives import battery 11.78kWh, house 2.83kWh, export 0.0kWh, metric 1002.36p, metric10 1034.24p
2026-08-15 21:15:19.964629: Marginal costs baseline metric (no standing charge): 902.3911
2026-08-15 21:15:20.256525: Marginal energy costs matrix computed: min=25.57 max=29.39
2026-08-15 21:15:20.335609: Rate array import [{'start': 1275, 'end': 1410, 'rate': 'expensive', 'range': '(29.8p - 31.8p)'}, {'start': 1410, 'end': 2400, 'rate': 'cheap', 'range': '(21.4p - 28.2p)'}, {'start': 2400, 'end': 2430, 'rate': 'expensive', 'range': '(36.8p)'}, {'start': 2430, 'end': 2580, 'rate': 'very expensive', 'range': '(37.5p - 45.3p)'}, {'start': 2580, 'end': 2850, 'rate': 'expensive', 'range': '(30.0p - 35.9p)'}, {'start': 2850, 'end': 3630, 'rate': 'cheap', 'range': '(23.4p - 28.2p)'}] export [{'start': 1275, 'end': 3630, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 21:15:20.336358: - Your estimated bill for today is £5.73 and tomorrow is £3.10
2026-08-15 21:15:20.336405: - Import rates are expensive (29.8p - 31.8p) for the next 2 and a quarter hours and then cheap (21.4p - 28.2p) for the next 16 hours.
2026-08-15 21:15:20.336427: - The battery is currently at 90% and is in eco mode for the next 10 hours.
2026-08-15 21:15:20.336445: - For the next 48 hours there will be no solar generation.
2026-08-15 21:15:20.336482: - You will run out of battery in 35 hours.
2026-08-15 21:15:20.336502: - Your next charge slot will be in 10 hours where import rates will be cheap (24.1p).
2026-08-15 21:15:20.336521: 
2026-08-15 21:15:20.405557: Plan calculation took 16.92 seconds
2026-08-15 21:15:20.405942: Inverter 0: Type SK Sunsynk
2026-08-15 21:15:20.405991: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 21:15:20.406221: Reserve min: 7%, battery_min: 7%
2026-08-15 21:15:20.406304: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 21:15:20.406658: Inverter 0 SoC: 14.4kW 90%, current charge rate 5000W, current discharge rate 5250W, current battery power 287W, current battery voltage 51.2V, grid power -55W, load power 343W, PV Power 0W
2026-08-15 21:15:20.406897: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 21:15:20.407008: Inverter 0 scheduled charge enable is False
2026-08-15 21:15:20.407048: Inverter 0 charge windows currently []
2026-08-15 21:15:20.407078: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 21:15:20.407185: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 21:15:20.407220: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 21:15:20.407256: Inverter 0 scheduled discharge enable is False
2026-08-15 21:15:20.407382: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 21:15:20.407419: Inverter 0 discharge windows currently []
2026-08-15 21:15:20.407484: Note: Inverter does not support discharge freeze - disabled
2026-08-15 21:15:20.407507: Note: Inverter does not support charge freeze - disabled
2026-08-15 21:15:20.407549: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 21:15:20.466663: Inverter 0 Charge window will be: 2026-08-16 08:00:00+01:00 - 2026-08-16 08:30:00+01:00 - current SoC 90%, target 41%
2026-08-15 21:15:20.466845: Inverter 0 disabled charge window while waiting for schedule (now 08-15 21:15:00 target set_window_minutes 30 charge start time 08-16 08:00:00) original inverter start time 08-17 00:00:00
2026-08-15 21:15:20.466916: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 21:15:20.467097: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 21:15:20.467178: No export window planned
2026-08-15 21:15:20.467285: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 21:15:20.467320: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 21:15:20.467452: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 21:15:20.467639: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 21:15:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 21:15:20.467693: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 21:15:20.467753: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 21:15:20.467850: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 21:15:20.467890: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 21:15:20.467918: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 21:15:20.467946: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 21:15:20.467979: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 21:15:20.468005: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 21:15:20.468035: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 21:15:20.468092: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 21:15:20.468127: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 21:15:20.468152: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 21:15:20.468177: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 21:15:20.468201: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 21:15:20.468224: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 21:15:20.468248: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 21:15:20.468267: Inverter 0 count register writes 0
2026-08-15 21:15:20.493044: Total inverter register writes now 826
2026-08-15 21:15:20.530377: Info: Completed run status Demand
2026-08-15 21:15:20.537454: Info: record_status Demand
2026-08-15 21:15:20.545137: Saved current settings to /config/predbat_config.json
2026-08-15 21:15:20.545527: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 21:15:34.987973: ML Component: Fetching 28 days of load history from ['sensor.sunsynk_day_load_energy']
2026-08-15 21:15:36.076895: Processing 1345 30-minute periods for power integration
2026-08-15 21:15:36.169822: ML Component: Car charging hold False, car energy reported load False
2026-08-15 21:15:36.251167: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 21:15:36.333113: ML Temperature data points: 49126
2026-08-15 21:15:36.556969: ML Component: Fetched 8064 load data points, 28.0 days of history
2026-08-15 21:15:36.592937: ML Component: Data fetch completed, load data age 57.0 days, 16519 data points
2026-08-15 21:15:36.593141: ML Component: No training needed, model age is 0.84 hours
2026-08-15 21:15:36.593220: ML Component: Generating predictions load data age 57.0 days, 16519 data points
2026-08-15 21:15:36.705409: ML Predictor: Starting autoregressive prediction loop for 576 steps (48.0 hours), prev_energy value 0.0321 max_dow {0: 0.10210624996256083, 1: 0.10689687554407865, 2: 0.11675312483031303, 3: 0.12371874963529408, 4: 0.16831249989941716, 5: 0.09602222218207186, 6: 0.10714375132601708}
2026-08-15 21:15:44.358762: ML Component: Generated 576 predictions (total 30.10 kWh over 48h)
2026-08-15 21:15:44.407999: ML Component: Prediction cycle completed
2026-08-15 21:15:44.518950: ML Component: Saved 16519 steps (57 days) of history to /config/predbat_ml_history.npz
2026-08-15 21:15:56.730994: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 21:15:56.731321: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 21:15:56.731383: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 21:15:56.731614: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 21:15:56.731668: Note: Inverter does not support discharge freeze - disabled
2026-08-15 21:15:56.731698: Note: Inverter does not support charge freeze - disabled
2026-08-15 21:15:56.731731: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 21:17:56.972051: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 21:17:56.972329: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 21:17:56.972412: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 21:17:56.972658: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 21:17:56.972741: Note: Inverter does not support discharge freeze - disabled
2026-08-15 21:17:56.972779: Note: Inverter does not support charge freeze - disabled
2026-08-15 21:17:56.972813: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 21:19:57.200915: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 21:19:57.201209: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 21:19:57.201251: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 21:19:57.201400: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 21:19:57.201442: Note: Inverter does not support discharge freeze - disabled
2026-08-15 21:19:57.201463: Note: Inverter does not support charge freeze - disabled
2026-08-15 21:19:57.201481: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 21:20:00.283847: --------------- PredBat - update at 2026-08-15 21:20:00+01:00 with clock skew 0 minutes, minutes now 1280
2026-08-15 21:20:00.284698: Saved current settings to /config/predbat_config.json
2026-08-15 21:20:00.284871: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 50.0 minutes
2026-08-15 21:20:00.285020: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.2, latest beta is v8.48.2
2026-08-15 21:20:00.285169: Autoupdate: There is an update pending v8.48.2 PV90 and second pass enabled by default, bug fixes - auto update is off
2026-08-15 21:20:00.304102: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 21:20:00.304255: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 21:20:00.304432: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 21:20:00.304919: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 21:20:00.305069: Predbat mode is set to Control charge & discharge
2026-08-15 21:20:00.490940: Found 21602 load_today datapoints going back 28 days
2026-08-15 21:20:00.491113: Using load_power data to fill gaps in load_today data
2026-08-15 21:20:01.289118: Processing 721 30-minute periods for power integration
2026-08-15 21:20:01.495228: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 21:20:01.495391: Car charging hold False, threshold 6.0kWh
2026-08-15 21:20:01.495464: Current data so far today: load 10.35kWh, import 27.8kWh, export 0.0kWh, PV 0kWh
2026-08-15 21:20:01.515239: Cars: SoC: [9.962]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 21:20:01.515880: Standing charge is set to 49.98p
2026-08-15 21:20:01.564441: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 21:20:01.564568: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 21:20:01.564848: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 640.0 minutes
2026-08-15 21:20:01.565336: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 640.0 minutes
2026-08-15 21:20:01.571291: Loaded 95 datapoints of futurerate analysis
2026-08-15 21:20:01.728527: Predicted future rates: ['08-15 00:00:00 => 28.69 / 20.01', '08-15 01:00:00 => 27.33 / 19.31', '08-15 02:00:00 => 26.31 / 18.8', '08-15 03:00:00 => 25.78 / 18.53', '08-15 04:00:00 => 25.59 / 18.43', '08-15 05:00:00 => 25.75 / 18.51', '08-15 06:00:00 => 25.34 / 18.3', '08-15 07:00:00 => 24.12 / 17.68', '08-15 08:00:00 => 22.82 / 17.01', '08-15 09:00:00 => 21.84 / 16.51', '08-15 10:00:00 => 20.22 / 15.68', '08-15 11:00:00 => 17.8 / 14.45', '08-15 12:00:00 => 16.16 / 13.61', '08-15 13:00:00 => 15.55 / 13.3', '08-15 14:00:00 => 15.14 / 13.09', '08-15 15:00:00 => 15.65 / 13.35', '08-15 16:00:00 => 32.68 / 16.13', '08-15 17:00:00 => 37.81 / 18.75', '08-15 18:00:00 => 42.15 / 20.96', '08-15 19:00:00 => 30.88 / 21.13', '08-15 20:00:00 => 31.43 / 21.41', '08-15 21:00:00 => 31.43 / 21.41', '08-15 22:00:00 => 30.37 / 20.87', '08-15 23:00:00 => 29.16 / 20.25', '08-16 00:00:00 => 28.62 / 19.97', '08-16 01:00:00 => 27.52 / 19.41', '08-16 02:00:00 => 26.55 / 18.92', '08-16 03:00:00 => 26.18 / 18.73', '08-16 04:00:00 => 26.12 / 18.7', '08-16 05:00:00 => 26.02 / 18.65', '08-16 06:00:00 => 25.78 / 18.53', '08-16 07:00:00 => 25.43 / 18.35', '08-16 08:00:00 => 24.63 / 17.94', '08-16 09:00:00 => 24.05 / 17.64', '08-16 10:00:00 => 24.59 / 17.92', '08-16 11:00:00 => 24.5 / 17.87', '08-16 12:00:00 => 23.58 / 17.4', '08-16 13:00:00 => 22.93 / 17.07', '08-16 14:00:00 => 21.8 / 16.49', '08-16 15:00:00 => 21.8 / 16.49', '08-16 16:00:00 => 36.93 / 18.3', '08-16 17:00:00 => 39.92 / 19.83', '08-16 18:00:00 => 43.98 / 21.9', '08-16 19:00:00 => 32.83 / 22.13', '08-16 20:00:00 => 33.62 / 22.53']
2026-08-15 21:20:01.775934: Rate min forward looking: now 21.41p at end of forecast 21.41p
2026-08-15 21:20:01.776373: Import rates: min 21.41p, max 45.28p, average 28.63p
2026-08-15 21:20:01.822630: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 21:20:01.822784: Rate thresholds (for charge/export) are import 44.78p (0.0p), export -0.1p (0.0p)
2026-08-15 21:20:01.824253: High export rate found rates in range 99p to -99p
2026-08-15 21:20:01.913882: Low Import rate found rates in range 21.41p to 44.34p
2026-08-15 21:20:01.914016: Car 0 charging is not planned as it is not plugged in
2026-08-15 21:20:01.925206: Battery level now 14.4kWh, -1hr ago 14.67kWh, at midnight 1.66kWh, battery value change in the last hour -5.0p, change today 234.4p, rate_forward 18.39p
2026-08-15 21:20:01.925515: Last hour: net energy 0.03kWh, import 0.03kWh, export 0.0kWh, car 0kWh, load 0.38kWh, net cost 1.02p, import 1.02p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 21:20:01.978380: Today's energy total net 27.8kWh, import 27.8kWh, export 0.0kWh, cost 573.42p, import 523.44p, export 0.0p, carbon 0.0kg
2026-08-15 21:20:01.978516: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 21:20:02.058364: Using weighted-bucket historical load forecast over 14 days
2026-08-15 21:20:02.088564: Today's load divergence 81.68%, in-day adjustment 89.4%, damping 0.95x, yesterday 143.77% today 82.6% blend 11.11%
2026-08-15 21:20:02.088669: Today's predicted so far 12.69kWh with 0.0kWh car/iBoost excluded, 20.88kWh import ignored, and 12.69kWh forecast extra.
2026-08-15 21:20:02.088697: Today's actual load so far 10.34kWh with 0.0kWh car/iBoost excluded, and 20.88kWh import ignored.
2026-08-15 21:20:02.118768: Inverter 0: Type SK Sunsynk
2026-08-15 21:20:02.118914: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 21:20:02.119156: Reserve min: 7%, battery_min: 7%
2026-08-15 21:20:02.119290: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 21:20:02.119640: Inverter 0 SoC: 14.38kW 90%, current charge rate 5000W, current discharge rate 5250W, current battery power 327W, current battery voltage 51.2V, grid power -53W, load power 383W, PV Power 0W
2026-08-15 21:20:02.119792: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 21:20:02.119871: Inverter 0 scheduled charge enable is False
2026-08-15 21:20:02.119899: Inverter 0 charge windows currently []
2026-08-15 21:20:02.119920: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 21:20:02.120005: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 21:20:02.120034: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 21:20:02.120063: Inverter 0 scheduled discharge enable is False
2026-08-15 21:20:02.120167: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 21:20:02.120197: Inverter 0 discharge windows currently []
2026-08-15 21:20:02.120215: Note: Inverter does not support discharge freeze - disabled
2026-08-15 21:20:02.120230: Note: Inverter does not support charge freeze - disabled
2026-08-15 21:20:02.120244: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 21:20:02.174061: Dynamic load last period 0.60kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 21:20:02.174155: Plan was last updated on 2026-08-15 21:15:00+01:00 and is now 5.0 minutes old
2026-08-15 21:20:02.174511: Best charge window [ 16-08 08:00:00 - 16-08 08:30:00 @ 24.06p 41%, 16-08 11:30:00 - 16-08 12:30:00 @ 23.46p 28%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 34%, 16-08 13:30:00 - 16-08 15:00:00 @ 21.75p 100%, 16-08 15:00:00 - 16-08 16:00:00 @ 22.89p 78%, 17-08 12:30:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 17-08 21:00:00 @ 35.25p 100% ]
2026-08-15 21:20:02.174570: Best export window [  ]
2026-08-15 21:20:02.175257: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 21:20:02.177886: Load divergence over 8.0 hours mean 795.54W, min 373.8W, max 1997.4W, std dev 423.5W, divergence 26.62%
2026-08-15 21:20:02.194157: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 21:20:02.194251: LoadML is_calculating False
2026-08-15 21:20:02.194311: Creating pool of 12 processes to match your CPU count
2026-08-15 21:20:02.316726: predict base end_record 08-17 12:35:00, final soc 1.12kWh, metric 1075.55p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 15:55:00, load 36.25kWh, PV 0.0kWh
2026-08-15 21:20:02.444571: Battery has 18.58 hours left - now at 14.38kWh
2026-08-15 21:20:02.487013: predict base10 end_record 08-17 12:35:00, final soc 1.12kWh, metric 1108.22p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 15:00:00, load 37.49kWh, PV 0.0kWh
2026-08-15 21:20:02.572128: predict best10 end_record 08-17 12:35:00, final soc 1.44kWh, metric 1043.21p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 07:05:00, load 37.49kWh, PV 0.0kWh
2026-08-15 21:20:02.660584: predict best end_record 08-17 12:35:00, final soc 1.51kWh, metric 1012.84p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 08:15:00, load 36.25kWh, PV 0.0kWh
2026-08-15 21:20:02.660683: Saving plan best values to HA entities
2026-08-15 21:20:02.817975: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 21:20:02.823048: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 21:20:02.828410: Best charging limit SoC's [6.5, 4.5, 5.5, 16.0, 12.5, 16.0, 16.0]kWh, export []kWh gives import battery 12.23kWh, house 2.85kWh, export 0.0kWh, metric 1012.84p, metric10 1043.21p
2026-08-15 21:20:02.901794: Marginal costs baseline metric (no standing charge): 912.8761
2026-08-15 21:20:03.145969: Marginal energy costs matrix computed: min=25.48 max=29.4
2026-08-15 21:20:03.224280: Rate array import [{'start': 1280, 'end': 1410, 'rate': 'expensive', 'range': '(29.8p - 31.8p)'}, {'start': 1410, 'end': 2400, 'rate': 'cheap', 'range': '(21.4p - 28.2p)'}, {'start': 2400, 'end': 2430, 'rate': 'expensive', 'range': '(36.8p)'}, {'start': 2430, 'end': 2580, 'rate': 'very expensive', 'range': '(37.5p - 45.3p)'}, {'start': 2580, 'end': 2850, 'rate': 'expensive', 'range': '(30.0p - 35.9p)'}, {'start': 2850, 'end': 3635, 'rate': 'cheap', 'range': '(22.3p - 28.2p)'}] export [{'start': 1280, 'end': 3635, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 21:20:03.224999: - Your estimated bill for today is £5.73 and tomorrow is £3.10
2026-08-15 21:20:03.225048: - Import rates are expensive (29.8p - 31.8p) for the next 2 and a quarter hours and then cheap (21.4p - 28.2p) for the next 16 hours.
2026-08-15 21:20:03.225067: - The battery is currently at 90% and is in eco mode for the next 10 hours.
2026-08-15 21:20:03.225082: - For the next 48 hours there will be no solar generation.
2026-08-15 21:20:03.225096: - You will run out of battery in 34 hours.
2026-08-15 21:20:03.225110: - Your next charge slot will be in 10 hours where import rates will be cheap (24.1p).
2026-08-15 21:20:03.225124: 
2026-08-15 21:20:03.289780: Plan calculation took 1.12 seconds
2026-08-15 21:20:03.293758: No high rate period found
2026-08-15 21:20:03.341946: Import threshold used for optimisation was 24.06p
2026-08-15 21:20:03.388698: Low import rate windows [0: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 1: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 2: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 3: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 4: 08-15 23:00:00 - 08-15 23:30:00 @ 30.02, 5: 08-15 23:30:00 - 08-16 00:00:00 @ 27.8, 6: 08-16 00:00:00 - 08-16 00:30:00 @ 28.18, 7: 08-16 00:30:00 - 08-16 01:00:00 @ 27.38, 8: 08-16 01:00:00 - 08-16 01:30:00 @ 26.7, 9: 08-16 01:30:00 - 08-16 02:00:00 @ 26.31, 10: 08-16 02:00:00 - 08-16 02:30:00 @ 25.79, 11: 08-16 02:30:00 - 08-16 03:00:00 @ 25.86, 12: 08-16 03:00:00 - 08-16 03:30:00 @ 26.13, 13: 08-16 03:30:00 - 08-16 04:00:00 @ 25.86, 14: 08-16 04:00:00 - 08-16 04:30:00 @ 26.27, 15: 08-16 04:30:00 - 08-16 05:00:00 @ 26.14, 16: 08-16 05:00:00 - 08-16 05:30:00 @ 27.03, 17: 08-16 05:30:00 - 08-16 06:00:00 @ 26.28, 18: 08-16 06:00:00 - 08-16 06:30:00 @ 25.68, 19: 08-16 06:30:00 - 08-16 07:00:00 @ 26.1, 20: 08-16 07:00:00 - 08-16 07:30:00 @ 24.28, 21: 08-16 07:30:00 - 08-16 08:00:00 @ 24.94, 22: 08-16 08:00:00 - 08-16 08:30:00 @ 24.06, 23: 08-16 08:30:00 - 08-16 09:00:00 @ 24.39, 24: 08-16 09:00:00 - 08-16 09:30:00 @ 24.66, 25: 08-16 09:30:00 - 08-16 10:00:00 @ 24.06, 26: 08-16 10:00:00 - 08-16 10:30:00 @ 25.5, 27: 08-16 10:30:00 - 08-16 11:00:00 @ 24.94, 28: 08-16 11:00:00 - 08-16 11:30:00 @ 24.25, 29: 08-16 11:30:00 - 08-16 12:00:00 @ 23.49, 30: 08-16 12:00:00 - 08-16 12:30:00 @ 23.43, 31: 08-16 12:30:00 - 08-16 13:00:00 @ 22.33, 32: 08-16 13:00:00 - 08-16 13:30:00 @ 22.76, 33: 08-16 13:30:00 - 08-16 14:00:00 @ 22.3, 34: 08-16 14:00:00 - 08-16 14:30:00 @ 21.41, 35: 08-16 14:30:00 - 08-16 15:00:00 @ 21.65, 36: 08-16 15:00:00 - 08-16 15:30:00 @ 22.95, 37: 08-16 15:30:00 - 08-16 16:00:00 @ 22.83, 38: 08-16 16:00:00 - 08-16 16:30:00 @ 36.84, 39: 08-16 16:30:00 - 08-16 17:00:00 @ 37.54, 40: 08-16 17:00:00 - 08-16 17:30:00 @ 41.79, 41: 08-16 17:30:00 - 08-16 18:00:00 @ 43.7, 42: 08-16 18:00:00 - 08-16 18:30:00 @ 44.34, 43: 08-16 19:00:00 - 08-16 19:30:00 @ 34.79, 44: 08-16 19:30:00 - 08-16 20:00:00 @ 34.76, 45: 08-16 20:00:00 - 08-16 20:30:00 @ 35.62, 46: 08-16 20:30:00 - 08-16 21:00:00 @ 35.3, 47: 08-16 21:00:00 - 08-16 21:30:00 @ 35.89, 48: 08-16 21:30:00 - 08-16 22:00:00 @ 35.71, 49: 08-16 22:00:00 - 08-16 22:30:00 @ 33.75, 50: 08-16 22:30:00 - 08-16 23:00:00 @ 32.0, 51: 08-16 23:00:00 - 08-16 23:30:00 @ 30.02, 52: 08-16 23:30:00 - 08-17 00:00:00 @ 27.8, 53: 08-17 00:00:00 - 08-17 00:30:00 @ 28.18, 54: 08-17 00:30:00 - 08-17 01:00:00 @ 27.38, 55: 08-17 01:00:00 - 08-17 01:30:00 @ 26.7, 56: 08-17 01:30:00 - 08-17 02:00:00 @ 26.31, 57: 08-17 02:00:00 - 08-17 02:30:00 @ 25.79, 58: 08-17 02:30:00 - 08-17 03:00:00 @ 25.86, 59: 08-17 03:00:00 - 08-17 03:30:00 @ 26.13, 60: 08-17 03:30:00 - 08-17 04:00:00 @ 25.86, 61: 08-17 04:00:00 - 08-17 04:30:00 @ 26.27, 62: 08-17 04:30:00 - 08-17 05:00:00 @ 26.14, 63: 08-17 05:00:00 - 08-17 05:30:00 @ 27.03, 64: 08-17 05:30:00 - 08-17 06:00:00 @ 26.28, 65: 08-17 06:00:00 - 08-17 06:30:00 @ 25.68, 66: 08-17 06:30:00 - 08-17 07:00:00 @ 26.1, 67: 08-17 07:00:00 - 08-17 07:30:00 @ 24.28, 68: 08-17 07:30:00 - 08-17 08:00:00 @ 24.94, 69: 08-17 08:00:00 - 08-17 08:30:00 @ 24.06, 70: 08-17 08:30:00 - 08-17 09:00:00 @ 24.39, 71: 08-17 09:00:00 - 08-17 09:30:00 @ 24.66, 72: 08-17 09:30:00 - 08-17 10:00:00 @ 24.06, 73: 08-17 10:00:00 - 08-17 10:30:00 @ 25.5, 74: 08-17 10:30:00 - 08-17 11:00:00 @ 24.94, 75: 08-17 11:00:00 - 08-17 11:30:00 @ 24.25, 76: 08-17 11:30:00 - 08-17 12:00:00 @ 23.49, 77: 08-17 12:00:00 - 08-17 12:30:00 @ 23.43, 78: 08-17 12:30:00 - 08-17 13:00:00 @ 22.33, 79: 08-17 13:00:00 - 08-17 13:30:00 @ 22.76, 80: 08-17 13:30:00 - 08-17 14:00:00 @ 22.3, 81: 08-17 14:00:00 - 08-17 14:30:00 @ 21.41, 82: 08-17 14:30:00 - 08-17 15:00:00 @ 21.65, 83: 08-17 15:00:00 - 08-17 15:30:00 @ 22.95, 84: 08-17 15:30:00 - 08-17 16:00:00 @ 22.83, 85: 08-17 16:00:00 - 08-17 16:30:00 @ 36.84, 86: 08-17 16:30:00 - 08-17 17:00:00 @ 37.54, 87: 08-17 17:00:00 - 08-17 17:30:00 @ 41.79, 88: 08-17 17:30:00 - 08-17 18:00:00 @ 43.7, 89: 08-17 18:00:00 - 08-17 18:30:00 @ 44.34, 90: 08-17 19:00:00 - 08-17 19:30:00 @ 34.79, 91: 08-17 19:30:00 - 08-17 20:00:00 @ 34.76, 92: 08-17 20:00:00 - 08-17 20:30:00 @ 35.62, 93: 08-17 20:30:00 - 08-17 21:00:00 @ 35.3, 94: 08-17 21:00:00 - 08-17 21:30:00 @ 35.89]
2026-08-15 21:20:03.396849: Inverter 0 Charge window will be: 2026-08-16 08:00:00+01:00 - 2026-08-16 08:30:00+01:00 - current SoC 90%, target 41%
2026-08-15 21:20:03.397059: Inverter 0 disabled charge window while waiting for schedule (now 08-15 21:20:00 target set_window_minutes 30 charge start time 08-16 08:00:00) original inverter start time 08-17 00:00:00
2026-08-15 21:20:03.397191: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 21:20:03.397449: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 21:20:03.397545: No export window planned
2026-08-15 21:20:03.397686: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 21:20:03.397725: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 21:20:03.397865: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 21:20:03.398047: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 21:20:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 21:20:03.398111: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 21:20:03.398183: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 21:20:03.398279: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 21:20:03.398314: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 21:20:03.398342: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 21:20:03.398370: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 21:20:03.398395: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 21:20:03.398418: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 21:20:03.398442: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 21:20:03.398503: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 21:20:03.398532: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 21:20:03.398556: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 21:20:03.398599: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 21:20:03.398678: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 21:20:03.398730: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 21:20:03.398793: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 21:20:03.398830: Inverter 0 count register writes 0
2026-08-15 21:20:03.413775: Will not recompute the plan, it is 5.0 minutes old and max age is 10 minutes
2026-08-15 21:20:03.419219: Total inverter register writes now 826
2026-08-15 21:20:03.451012: Info: Completed run status Demand
2026-08-15 21:20:03.457688: Info: record_status Demand
2026-08-15 21:20:03.464850: Saved current settings to /config/predbat_config.json
2026-08-15 21:20:03.465215: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 21:20:41.577774: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 21:20:41.578034: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 21:20:41.578098: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 21:20:41.578298: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 21:20:41.578343: Note: Inverter does not support discharge freeze - disabled
2026-08-15 21:20:41.578366: Note: Inverter does not support charge freeze - disabled
2026-08-15 21:20:41.578384: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 21:22:41.794801: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 21:22:41.795048: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 21:22:41.795092: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 21:22:41.795303: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 21:22:41.795342: Note: Inverter does not support discharge freeze - disabled
2026-08-15 21:22:41.795364: Note: Inverter does not support charge freeze - disabled
2026-08-15 21:22:41.795381: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 21:24:42.014323: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 21:24:42.014730: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 21:24:42.014840: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 21:24:42.015097: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 21:24:42.015157: Note: Inverter does not support discharge freeze - disabled
2026-08-15 21:24:42.015204: Note: Inverter does not support charge freeze - disabled
2026-08-15 21:24:42.015266: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 21:25:00.113516: --------------- PredBat - update at 2026-08-15 21:25:00+01:00 with clock skew 0 minutes, minutes now 1285
2026-08-15 21:25:00.114348: Saved current settings to /config/predbat_config.json
2026-08-15 21:25:00.114484: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 55.0 minutes
2026-08-15 21:25:00.114589: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.2, latest beta is v8.48.2
2026-08-15 21:25:00.114681: Autoupdate: There is an update pending v8.48.2 PV90 and second pass enabled by default, bug fixes - auto update is off
2026-08-15 21:25:00.137202: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 21:25:00.137352: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 21:25:00.137529: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 21:25:00.138087: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 21:25:00.138218: Predbat mode is set to Control charge & discharge
2026-08-15 21:25:00.350107: Found 21602 load_today datapoints going back 28 days
2026-08-15 21:25:00.350273: Using load_power data to fill gaps in load_today data
2026-08-15 21:25:01.088415: Processing 721 30-minute periods for power integration
2026-08-15 21:25:01.259163: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 21:25:01.259308: Car charging hold False, threshold 6.0kWh
2026-08-15 21:25:01.259356: Current data so far today: load 10.4kWh, import 27.8kWh, export 0.0kWh, PV 0kWh
2026-08-15 21:25:01.278711: Cars: SoC: [9.962]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 21:25:01.279223: Standing charge is set to 49.98p
2026-08-15 21:25:01.326903: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 21:25:01.327022: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 21:25:01.327254: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 645.0 minutes
2026-08-15 21:25:01.327666: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 645.0 minutes
2026-08-15 21:25:01.334304: Loaded 95 datapoints of futurerate analysis
2026-08-15 21:25:01.498987: Predicted future rates: ['08-15 00:00:00 => 28.69 / 20.01', '08-15 01:00:00 => 27.33 / 19.31', '08-15 02:00:00 => 26.31 / 18.8', '08-15 03:00:00 => 25.78 / 18.53', '08-15 04:00:00 => 25.59 / 18.43', '08-15 05:00:00 => 25.75 / 18.51', '08-15 06:00:00 => 25.34 / 18.3', '08-15 07:00:00 => 24.12 / 17.68', '08-15 08:00:00 => 22.82 / 17.01', '08-15 09:00:00 => 21.84 / 16.51', '08-15 10:00:00 => 20.22 / 15.68', '08-15 11:00:00 => 17.8 / 14.45', '08-15 12:00:00 => 16.16 / 13.61', '08-15 13:00:00 => 15.55 / 13.3', '08-15 14:00:00 => 15.14 / 13.09', '08-15 15:00:00 => 15.65 / 13.35', '08-15 16:00:00 => 32.68 / 16.13', '08-15 17:00:00 => 37.81 / 18.75', '08-15 18:00:00 => 42.15 / 20.96', '08-15 19:00:00 => 30.88 / 21.13', '08-15 20:00:00 => 31.43 / 21.41', '08-15 21:00:00 => 31.43 / 21.41', '08-15 22:00:00 => 30.37 / 20.87', '08-15 23:00:00 => 29.16 / 20.25', '08-16 00:00:00 => 28.62 / 19.97', '08-16 01:00:00 => 27.52 / 19.41', '08-16 02:00:00 => 26.55 / 18.92', '08-16 03:00:00 => 26.18 / 18.73', '08-16 04:00:00 => 26.12 / 18.7', '08-16 05:00:00 => 26.02 / 18.65', '08-16 06:00:00 => 25.78 / 18.53', '08-16 07:00:00 => 25.43 / 18.35', '08-16 08:00:00 => 24.63 / 17.94', '08-16 09:00:00 => 24.05 / 17.64', '08-16 10:00:00 => 24.59 / 17.92', '08-16 11:00:00 => 24.5 / 17.87', '08-16 12:00:00 => 23.58 / 17.4', '08-16 13:00:00 => 22.93 / 17.07', '08-16 14:00:00 => 21.8 / 16.49', '08-16 15:00:00 => 21.8 / 16.49', '08-16 16:00:00 => 36.93 / 18.3', '08-16 17:00:00 => 39.92 / 19.83', '08-16 18:00:00 => 43.98 / 21.9', '08-16 19:00:00 => 32.83 / 22.13', '08-16 20:00:00 => 33.62 / 22.53']
2026-08-15 21:25:01.550416: Rate min forward looking: now 21.41p at end of forecast 21.41p
2026-08-15 21:25:01.550988: Import rates: min 21.41p, max 45.28p, average 28.64p
2026-08-15 21:25:01.596307: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 21:25:01.596449: Rate thresholds (for charge/export) are import 44.78p (0.0p), export -0.1p (0.0p)
2026-08-15 21:25:01.597865: High export rate found rates in range 99p to -99p
2026-08-15 21:25:01.704452: Low Import rate found rates in range 21.41p to 44.34p
2026-08-15 21:25:01.704602: Car 0 charging is not planned as it is not plugged in
2026-08-15 21:25:01.717435: Battery level now 14.38kWh, -1hr ago 14.56kWh, at midnight 1.66kWh, battery value change in the last hour -3.24p, change today 234.11p, rate_forward 18.39p
2026-08-15 21:25:01.717832: Last hour: net energy 0.03kWh, import 0.03kWh, export 0.0kWh, car 0kWh, load 0.4kWh, net cost 0.88p, import 0.88p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 21:25:01.785782: Today's energy total net 27.8kWh, import 27.8kWh, export 0.0kWh, cost 573.42p, import 523.44p, export 0.0p, carbon 0.0kg
2026-08-15 21:25:01.785957: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 21:25:01.875642: Using weighted-bucket historical load forecast over 14 days
2026-08-15 21:25:01.902370: Today's load divergence 81.49%, in-day adjustment 89.02%, damping 0.95x, yesterday 143.77% today 82.42% blend 10.76%
2026-08-15 21:25:01.902472: Today's predicted so far 12.71kWh with 0.0kWh car/iBoost excluded, 20.85kWh import ignored, and 12.71kWh forecast extra.
2026-08-15 21:25:01.902505: Today's actual load so far 10.35kWh with 0.0kWh car/iBoost excluded, and 20.85kWh import ignored.
2026-08-15 21:25:01.942935: Inverter 0: Type SK Sunsynk
2026-08-15 21:25:01.943032: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 21:25:01.943215: Reserve min: 7%, battery_min: 7%
2026-08-15 21:25:01.943302: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 21:25:01.943562: Inverter 0 SoC: 14.38kW 90%, current charge rate 5000W, current discharge rate 5250W, current battery power 278W, current battery voltage 51.2V, grid power -53W, load power 338W, PV Power 0W
2026-08-15 21:25:01.943703: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 21:25:01.943797: Inverter 0 scheduled charge enable is False
2026-08-15 21:25:01.943828: Inverter 0 charge windows currently []
2026-08-15 21:25:01.943850: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 21:25:01.943934: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 21:25:01.943962: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 21:25:01.943991: Inverter 0 scheduled discharge enable is False
2026-08-15 21:25:01.944090: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 21:25:01.944120: Inverter 0 discharge windows currently []
2026-08-15 21:25:01.944138: Note: Inverter does not support discharge freeze - disabled
2026-08-15 21:25:01.944153: Note: Inverter does not support charge freeze - disabled
2026-08-15 21:25:01.944170: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 21:25:01.997438: Dynamic load last period 0.60kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 21:25:01.997550: Plan was last updated on 2026-08-15 21:15:00+01:00 and is now 10.0 minutes old
2026-08-15 21:25:01.997882: Best charge window [ 16-08 08:00:00 - 16-08 08:30:00 @ 24.06p 41%, 16-08 11:30:00 - 16-08 12:30:00 @ 23.46p 28%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 34%, 16-08 13:30:00 - 16-08 15:00:00 @ 21.75p 100%, 16-08 15:00:00 - 16-08 16:00:00 @ 22.89p 78%, 17-08 12:30:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 17-08 21:00:00 @ 35.25p 100% ]
2026-08-15 21:25:01.997928: Best export window [  ]
2026-08-15 21:25:01.998778: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 21:25:02.002004: Load divergence over 8.0 hours mean 794.26W, min 361.2W, max 1875.0W, std dev 423.55W, divergence 26.66%
2026-08-15 21:25:02.019364: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 21:25:02.019472: LoadML is_calculating False
2026-08-15 21:25:02.019527: Creating pool of 12 processes to match your CPU count
2026-08-15 21:25:02.141719: predict base end_record 08-17 12:40:00, final soc 1.12kWh, metric 1075.89p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 16:00:00, load 36.32kWh, PV 0.0kWh
2026-08-15 21:25:02.276613: Battery has 18.58 hours left - now at 14.38kWh
2026-08-15 21:25:02.325801: predict base10 end_record 08-17 12:40:00, final soc 1.12kWh, metric 1108.6p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 15:05:00, load 37.56kWh, PV 0.0kWh
2026-08-15 21:25:02.415226: predict best10 end_record 08-17 12:40:00, final soc 1.77kWh, metric 1051.2p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 07:05:00, load 37.56kWh, PV 0.0kWh
2026-08-15 21:25:02.508902: predict best end_record 08-17 12:40:00, final soc 1.9kWh, metric 1022.57p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 08:15:00, load 36.32kWh, PV 0.0kWh
2026-08-15 21:25:02.509031: Saving plan best values to HA entities
2026-08-15 21:25:02.684878: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 21:25:02.690655: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0.0
2026-08-15 21:25:02.696413: Best charging limit SoC's [6.5, 4.5, 5.5, 16.0, 12.5, 16.0, 16.0]kWh, export []kWh gives import battery 12.66kWh, house 2.85kWh, export 0.0kWh, metric 1022.57p, metric10 1051.2p
2026-08-15 21:25:02.775787: Marginal costs baseline metric (no standing charge): 922.6046
2026-08-15 21:25:03.018535: Marginal energy costs matrix computed: min=25.32 max=29.41
2026-08-15 21:25:03.110045: Rate array import [{'start': 1285, 'end': 1410, 'rate': 'expensive', 'range': '(29.8p - 31.8p)'}, {'start': 1410, 'end': 2400, 'rate': 'cheap', 'range': '(21.4p - 28.2p)'}, {'start': 2400, 'end': 2430, 'rate': 'expensive', 'range': '(36.8p)'}, {'start': 2430, 'end': 2580, 'rate': 'very expensive', 'range': '(37.5p - 45.3p)'}, {'start': 2580, 'end': 2850, 'rate': 'expensive', 'range': '(30.0p - 35.9p)'}, {'start': 2850, 'end': 3640, 'rate': 'cheap', 'range': '(22.3p - 28.2p)'}] export [{'start': 1285, 'end': 3640, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 21:25:03.110827: - Your estimated bill for today is £5.73 and tomorrow is £3.08
2026-08-15 21:25:03.110874: - Import rates are expensive (29.8p - 31.8p) for the next 2 hours and then cheap (21.4p - 28.2p) for the next 16 hours.
2026-08-15 21:25:03.110897: - The battery is currently at 90% and is in eco mode for the next 10 hours.
2026-08-15 21:25:03.110915: - For the next 48 hours there will be no solar generation.
2026-08-15 21:25:03.110932: - You will run out of battery in 34 hours.
2026-08-15 21:25:03.110953: - Your next charge slot will be in 10 hours where import rates will be cheap (24.1p).
2026-08-15 21:25:03.110971: 
2026-08-15 21:25:03.179445: Plan calculation took 1.18 seconds
2026-08-15 21:25:03.183410: No high rate period found
2026-08-15 21:25:03.234491: Import threshold used for optimisation was 24.06p
2026-08-15 21:25:03.293164: Low import rate windows [0: 08-15 21:00:00 - 08-15 21:30:00 @ 31.71, 1: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 2: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 3: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 4: 08-15 23:00:00 - 08-15 23:30:00 @ 30.02, 5: 08-15 23:30:00 - 08-16 00:00:00 @ 27.8, 6: 08-16 00:00:00 - 08-16 00:30:00 @ 28.18, 7: 08-16 00:30:00 - 08-16 01:00:00 @ 27.38, 8: 08-16 01:00:00 - 08-16 01:30:00 @ 26.7, 9: 08-16 01:30:00 - 08-16 02:00:00 @ 26.31, 10: 08-16 02:00:00 - 08-16 02:30:00 @ 25.79, 11: 08-16 02:30:00 - 08-16 03:00:00 @ 25.86, 12: 08-16 03:00:00 - 08-16 03:30:00 @ 26.13, 13: 08-16 03:30:00 - 08-16 04:00:00 @ 25.86, 14: 08-16 04:00:00 - 08-16 04:30:00 @ 26.27, 15: 08-16 04:30:00 - 08-16 05:00:00 @ 26.14, 16: 08-16 05:00:00 - 08-16 05:30:00 @ 27.03, 17: 08-16 05:30:00 - 08-16 06:00:00 @ 26.28, 18: 08-16 06:00:00 - 08-16 06:30:00 @ 25.68, 19: 08-16 06:30:00 - 08-16 07:00:00 @ 26.1, 20: 08-16 07:00:00 - 08-16 07:30:00 @ 24.28, 21: 08-16 07:30:00 - 08-16 08:00:00 @ 24.94, 22: 08-16 08:00:00 - 08-16 08:30:00 @ 24.06, 23: 08-16 08:30:00 - 08-16 09:00:00 @ 24.39, 24: 08-16 09:00:00 - 08-16 09:30:00 @ 24.66, 25: 08-16 09:30:00 - 08-16 10:00:00 @ 24.06, 26: 08-16 10:00:00 - 08-16 10:30:00 @ 25.5, 27: 08-16 10:30:00 - 08-16 11:00:00 @ 24.94, 28: 08-16 11:00:00 - 08-16 11:30:00 @ 24.25, 29: 08-16 11:30:00 - 08-16 12:00:00 @ 23.49, 30: 08-16 12:00:00 - 08-16 12:30:00 @ 23.43, 31: 08-16 12:30:00 - 08-16 13:00:00 @ 22.33, 32: 08-16 13:00:00 - 08-16 13:30:00 @ 22.76, 33: 08-16 13:30:00 - 08-16 14:00:00 @ 22.3, 34: 08-16 14:00:00 - 08-16 14:30:00 @ 21.41, 35: 08-16 14:30:00 - 08-16 15:00:00 @ 21.65, 36: 08-16 15:00:00 - 08-16 15:30:00 @ 22.95, 37: 08-16 15:30:00 - 08-16 16:00:00 @ 22.83, 38: 08-16 16:00:00 - 08-16 16:30:00 @ 36.84, 39: 08-16 16:30:00 - 08-16 17:00:00 @ 37.54, 40: 08-16 17:00:00 - 08-16 17:30:00 @ 41.79, 41: 08-16 17:30:00 - 08-16 18:00:00 @ 43.7, 42: 08-16 18:00:00 - 08-16 18:30:00 @ 44.34, 43: 08-16 19:00:00 - 08-16 19:30:00 @ 34.79, 44: 08-16 19:30:00 - 08-16 20:00:00 @ 34.76, 45: 08-16 20:00:00 - 08-16 20:30:00 @ 35.62, 46: 08-16 20:30:00 - 08-16 21:00:00 @ 35.3, 47: 08-16 21:00:00 - 08-16 21:30:00 @ 35.89, 48: 08-16 21:30:00 - 08-16 22:00:00 @ 35.71, 49: 08-16 22:00:00 - 08-16 22:30:00 @ 33.75, 50: 08-16 22:30:00 - 08-16 23:00:00 @ 32.0, 51: 08-16 23:00:00 - 08-16 23:30:00 @ 30.02, 52: 08-16 23:30:00 - 08-17 00:00:00 @ 27.8, 53: 08-17 00:00:00 - 08-17 00:30:00 @ 28.18, 54: 08-17 00:30:00 - 08-17 01:00:00 @ 27.38, 55: 08-17 01:00:00 - 08-17 01:30:00 @ 26.7, 56: 08-17 01:30:00 - 08-17 02:00:00 @ 26.31, 57: 08-17 02:00:00 - 08-17 02:30:00 @ 25.79, 58: 08-17 02:30:00 - 08-17 03:00:00 @ 25.86, 59: 08-17 03:00:00 - 08-17 03:30:00 @ 26.13, 60: 08-17 03:30:00 - 08-17 04:00:00 @ 25.86, 61: 08-17 04:00:00 - 08-17 04:30:00 @ 26.27, 62: 08-17 04:30:00 - 08-17 05:00:00 @ 26.14, 63: 08-17 05:00:00 - 08-17 05:30:00 @ 27.03, 64: 08-17 05:30:00 - 08-17 06:00:00 @ 26.28, 65: 08-17 06:00:00 - 08-17 06:30:00 @ 25.68, 66: 08-17 06:30:00 - 08-17 07:00:00 @ 26.1, 67: 08-17 07:00:00 - 08-17 07:30:00 @ 24.28, 68: 08-17 07:30:00 - 08-17 08:00:00 @ 24.94, 69: 08-17 08:00:00 - 08-17 08:30:00 @ 24.06, 70: 08-17 08:30:00 - 08-17 09:00:00 @ 24.39, 71: 08-17 09:00:00 - 08-17 09:30:00 @ 24.66, 72: 08-17 09:30:00 - 08-17 10:00:00 @ 24.06, 73: 08-17 10:00:00 - 08-17 10:30:00 @ 25.5, 74: 08-17 10:30:00 - 08-17 11:00:00 @ 24.94, 75: 08-17 11:00:00 - 08-17 11:30:00 @ 24.25, 76: 08-17 11:30:00 - 08-17 12:00:00 @ 23.49, 77: 08-17 12:00:00 - 08-17 12:30:00 @ 23.43, 78: 08-17 12:30:00 - 08-17 13:00:00 @ 22.33, 79: 08-17 13:00:00 - 08-17 13:30:00 @ 22.76, 80: 08-17 13:30:00 - 08-17 14:00:00 @ 22.3, 81: 08-17 14:00:00 - 08-17 14:30:00 @ 21.41, 82: 08-17 14:30:00 - 08-17 15:00:00 @ 21.65, 83: 08-17 15:00:00 - 08-17 15:30:00 @ 22.95, 84: 08-17 15:30:00 - 08-17 16:00:00 @ 22.83, 85: 08-17 16:00:00 - 08-17 16:30:00 @ 36.84, 86: 08-17 16:30:00 - 08-17 17:00:00 @ 37.54, 87: 08-17 17:00:00 - 08-17 17:30:00 @ 41.79, 88: 08-17 17:30:00 - 08-17 18:00:00 @ 43.7, 89: 08-17 18:00:00 - 08-17 18:30:00 @ 44.34, 90: 08-17 19:00:00 - 08-17 19:30:00 @ 34.79, 91: 08-17 19:30:00 - 08-17 20:00:00 @ 34.76, 92: 08-17 20:00:00 - 08-17 20:30:00 @ 35.62, 93: 08-17 20:30:00 - 08-17 21:00:00 @ 35.3, 94: 08-17 21:00:00 - 08-17 21:30:00 @ 35.89]
2026-08-15 21:25:03.301006: Inverter 0 Charge window will be: 2026-08-16 08:00:00+01:00 - 2026-08-16 08:30:00+01:00 - current SoC 90%, target 41%
2026-08-15 21:25:03.301150: Inverter 0 disabled charge window while waiting for schedule (now 08-15 21:25:00 target set_window_minutes 30 charge start time 08-16 08:00:00) original inverter start time 08-17 00:00:00
2026-08-15 21:25:03.301320: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 21:25:03.301643: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 21:25:03.301744: No export window planned
2026-08-15 21:25:03.301931: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 21:25:03.301976: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 21:25:03.302158: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 21:25:03.302377: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 21:25:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 21:25:03.302450: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 21:25:03.302568: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 21:25:03.302707: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 21:25:03.302757: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 21:25:03.302822: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 21:25:03.302879: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 21:25:03.302960: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 21:25:03.303025: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 21:25:03.303083: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 21:25:03.303207: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 21:25:03.303254: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 21:25:03.303296: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 21:25:03.303346: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 21:25:03.303397: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 21:25:03.303454: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 21:25:03.303506: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 21:25:03.303556: Inverter 0 count register writes 0
2026-08-15 21:25:03.320650: Will recompute the plan as it is now 10.0 minutes old and will exceed the max age of 10 minutes before the next run
2026-08-15 21:25:03.320899: Recompute is saving previous plan...
2026-08-15 21:25:03.324159: Best charge window [ 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 30.02p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 27.8p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.18p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.38p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 26.7p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.31p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.79p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 25.86p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.13p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 25.86p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.27p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.14p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 27.03p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.28p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.68p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 26.1p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 24.28p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 24.94p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.06p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.39p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.66p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.06p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 25.5p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 24.94p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 24.25p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 23.49p 0%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.43p 0%, 16-08 12:30:00 - 16-08 13:00:00 @ 22.33p 0%, 16-08 13:00:00 - 16-08 13:30:00 @ 22.76p 0%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 0%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 0%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.65p 0%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.95p 0%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.83p 0%, 16-08 16:00:00 - 16-08 16:30:00 @ 36.84p 0%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.54p 0%, 16-08 17:00:00 - 16-08 17:30:00 @ 41.79p 0%, 16-08 17:30:00 - 16-08 18:00:00 @ 43.7p 0%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.34p 0%, 16-08 19:00:00 - 16-08 19:30:00 @ 34.79p 0%, 16-08 19:30:00 - 16-08 20:00:00 @ 34.76p 0%, 16-08 20:00:00 - 16-08 20:30:00 @ 35.62p 0%, 16-08 20:30:00 - 16-08 21:00:00 @ 35.3p 0%, 16-08 21:00:00 - 16-08 21:30:00 @ 35.89p 0%, 16-08 21:30:00 - 16-08 22:00:00 @ 35.71p 0%, 16-08 22:00:00 - 16-08 22:30:00 @ 33.75p 0%, 16-08 22:30:00 - 16-08 23:00:00 @ 32.0p 0%, 16-08 23:00:00 - 16-08 23:30:00 @ 30.02p 0%, 16-08 23:30:00 - 17-08 00:00:00 @ 27.8p 0%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.18p 0%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.38p 0%, 17-08 01:00:00 - 17-08 01:30:00 @ 26.7p 0%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.31p 0%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.79p 0%, 17-08 02:30:00 - 17-08 03:00:00 @ 25.86p 0%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.13p 0%, 17-08 03:30:00 - 17-08 04:00:00 @ 25.86p 0%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.27p 0%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.14p 0%, 17-08 05:00:00 - 17-08 05:30:00 @ 27.03p 0%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.28p 0%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.68p 0%, 17-08 06:30:00 - 17-08 07:00:00 @ 26.1p 0%, 17-08 07:00:00 - 17-08 07:30:00 @ 24.28p 0%, 17-08 07:30:00 - 17-08 08:00:00 @ 24.94p 0%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.06p 0%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.39p 0%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.66p 0%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.06p 0%, 17-08 10:00:00 - 17-08 10:30:00 @ 25.5p 0%, 17-08 10:30:00 - 17-08 11:00:00 @ 24.94p 0%, 17-08 11:00:00 - 17-08 11:30:00 @ 24.25p 0%, 17-08 11:30:00 - 17-08 12:00:00 @ 23.49p 0%, 17-08 12:00:00 - 17-08 12:30:00 @ 23.43p 0%, 17-08 12:30:00 - 17-08 13:00:00 @ 22.33p 0%, 17-08 13:00:00 - 17-08 13:30:00 @ 22.76p 0%, 17-08 13:30:00 - 17-08 14:00:00 @ 22.3p 0%, 17-08 14:00:00 - 17-08 14:30:00 @ 21.41p 0%, 17-08 14:30:00 - 17-08 15:00:00 @ 21.65p 0%, 17-08 15:00:00 - 17-08 15:30:00 @ 22.95p 0%, 17-08 15:30:00 - 17-08 16:00:00 @ 22.83p 0%, 17-08 16:00:00 - 17-08 16:30:00 @ 36.84p 0%, 17-08 16:30:00 - 17-08 17:00:00 @ 37.54p 0%, 17-08 17:00:00 - 17-08 17:30:00 @ 41.79p 0%, 17-08 17:30:00 - 17-08 18:00:00 @ 43.7p 0%, 17-08 18:00:00 - 17-08 18:30:00 @ 44.34p 0%, 17-08 19:00:00 - 17-08 19:30:00 @ 34.79p 0%, 17-08 19:30:00 - 17-08 20:00:00 @ 34.76p 0%, 17-08 20:00:00 - 17-08 20:30:00 @ 35.62p 0%, 17-08 20:30:00 - 17-08 21:00:00 @ 35.3p 0%, 17-08 21:00:00 - 17-08 21:30:00 @ 35.89p 0% ]
2026-08-15 21:25:03.324243: Best export window [  ]
2026-08-15 21:25:03.325130: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 21:25:03.328314: Load divergence over 8.0 hours mean 794.26W, min 361.2W, max 1875.0W, std dev 423.55W, divergence 26.66%
2026-08-15 21:25:03.346889: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 21:25:03.347022: LoadML is_calculating False
2026-08-15 21:25:03.347129: Creating pool of 12 processes to match your CPU count
2026-08-15 21:25:03.442004: Calculate Best options: mode(Control charge & discharge), calculate_export_oncharge(False), calculate_export_on_pv(True), set_export_freeze_only(False), set_discharge_during_charge(True), combine_charge_slots(False), combine_export_slots(False), combine_rate_threshold(0.0), best_soc_min(0.0 kWh), best_soc_max(0.0 kWh), best_soc_keep(0.0 kWh), inverter_loss(4%), battery_loss(3%), battery_loss_discharge (3%), inverter_hybrid(True), metric_min_improvement(0.0p), metric_min_improvement_export(0.1p), metric_min_improvement_export_freeze(0.1p), metric_battery_cycle(0.0p/kWh), metric_battery_value_scaling(1.0 x) 
2026-08-15 21:25:03.444273: Optimise levels pass started at 2026-08-15 21:25:03
2026-08-15 21:25:03.444382: Optimise all windows, total charge 94 export 1
2026-08-15 21:25:04.586381: >> Region optimisation pass width 960 gives best_metric 1025.74p, best_cost 1051.06p, best_cycle 40.25kWh, best_import 21.47kWh
2026-08-15 21:25:05.013972: >> Region optimisation pass width 480 gives best_metric 1025.74p, best_cost 1051.06p, best_cycle 40.25kWh, best_import 21.47kWh
2026-08-15 21:25:05.508808: >> Region optimisation pass width 240 gives best_metric 1025.74p, best_cost 1051.06p, best_cycle 40.25kWh, best_import 21.47kWh
2026-08-15 21:25:06.517096: >> Region optimisation pass width 120 gives best_metric 1025.74p, best_cost 1051.06p, best_cycle 40.25kWh, best_import 21.47kWh
2026-08-15 21:25:06.517521: Calculated end_record as 08-17 12:30:00 based on best_price 22.33p, next_charge_start 08-16 12:30:00, max_windows 78
2026-08-15 21:25:06.517639: Optimise levels pass ended at 2026-08-15 21:25:06, duration 3.1 seconds tried 303 combinations
2026-08-15 21:25:06.517785: Set best_price_charge_level 24.0p, best_price_export_level 0p, best_price_charge 22.33p, best_cost_export 0p, best_metric 1025.74p, best_keep 0kWh, best_cycle 40.25kWh, best_carbon 0kg, best_import 21.47kWh
2026-08-15 21:25:06.539999: Starting detailed optimisation end_record 08-17 12:30:00, best_price_charge 22.33p, best_price_export 0p. lowest_price_charge 21.41p with charge limits [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 0, 16.0, 16.0, 16.0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0]kWh and export limits []kWh
2026-08-15 21:25:12.081728: Tweak plan optimisation started metric 886.72p, cost 902.72p
2026-08-15 21:25:12.390585: Tweak optimisation finished metric 886.72p, cost 902.72p, metric_keep 0kWh, cycle 30.53kWh, carbon 0kg, import 14.7kWh, changed 8 window(s)
2026-08-15 21:25:12.419113: Swap charge optimisation started metric 886.72p, cost 902.72p, min_improvement_swap 0.1p
2026-08-15 21:25:18.911108: Swap charge optimisation finished metric 886.72p, cost 902.72p
2026-08-15 21:25:19.011233: Pruned 1 dead plan slot(s) in 10 trial(s), nominal metric 882.12p -> 882.12p, plan now metric 886.72p, cost 902.72p, cycle 30.53kWh, import 14.7kWh
2026-08-15 21:25:19.021732: Raw charge windows [ 15-08 21:00:00 - 15-08 21:30:00 @ 31.71p 0%, 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 30.02p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 27.8p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.18p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.38p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 26.7p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.31p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.79p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 25.86p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.13p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 25.86p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.27p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.14p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 27.03p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.28p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.68p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 26.1p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 24.28p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 24.94p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.06p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.39p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.66p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.06p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 25.5p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 24.94p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 24.25p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 23.49p 25%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.43p 25%, 16-08 12:30:00 - 16-08 13:00:00 @ 22.33p 38%, 16-08 13:00:00 - 16-08 13:30:00 @ 22.76p 38%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 100%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 100%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.65p 100%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.95p 81%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.83p 81%, 16-08 16:00:00 - 16-08 16:30:00 @ 36.84p 0%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.54p 0%, 16-08 17:00:00 - 16-08 17:30:00 @ 41.79p 0%, 16-08 17:30:00 - 16-08 18:00:00 @ 43.7p 0%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.34p 0%, 16-08 19:00:00 - 16-08 19:30:00 @ 34.79p 0%, 16-08 19:30:00 - 16-08 20:00:00 @ 34.76p 0%, 16-08 20:00:00 - 16-08 20:30:00 @ 35.62p 0%, 16-08 20:30:00 - 16-08 21:00:00 @ 35.3p 0%, 16-08 21:00:00 - 16-08 21:30:00 @ 35.89p 0%, 16-08 21:30:00 - 16-08 22:00:00 @ 35.71p 0%, 16-08 22:00:00 - 16-08 22:30:00 @ 33.75p 0%, 16-08 22:30:00 - 16-08 23:00:00 @ 32.0p 0%, 16-08 23:00:00 - 16-08 23:30:00 @ 30.02p 0%, 16-08 23:30:00 - 17-08 00:00:00 @ 27.8p 0%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.18p 0%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.38p 0%, 17-08 01:00:00 - 17-08 01:30:00 @ 26.7p 0%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.31p 0%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.79p 0%, 17-08 02:30:00 - 17-08 03:00:00 @ 25.86p 0%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.13p 0%, 17-08 03:30:00 - 17-08 04:00:00 @ 25.86p 0%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.27p 0%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.14p 0%, 17-08 05:00:00 - 17-08 05:30:00 @ 27.03p 0%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.28p 0%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.68p 0%, 17-08 06:30:00 - 17-08 07:00:00 @ 26.1p 0%, 17-08 07:00:00 - 17-08 07:30:00 @ 24.28p 0%, 17-08 07:30:00 - 17-08 08:00:00 @ 24.94p 0%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.06p 0%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.39p 0%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.66p 0%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.06p 0%, 17-08 10:00:00 - 17-08 10:30:00 @ 25.5p 0%, 17-08 10:30:00 - 17-08 11:00:00 @ 24.94p 0%, 17-08 11:00:00 - 17-08 11:30:00 @ 24.25p 0%, 17-08 11:30:00 - 17-08 12:00:00 @ 23.49p 0%, 17-08 12:00:00 - 17-08 12:30:00 @ 23.43p 0%, 17-08 12:30:00 - 17-08 13:00:00 @ 22.33p 100%, 17-08 13:00:00 - 17-08 13:30:00 @ 22.76p 100%, 17-08 13:30:00 - 17-08 14:00:00 @ 22.3p 100%, 17-08 14:00:00 - 17-08 14:30:00 @ 21.41p 100%, 17-08 14:30:00 - 17-08 15:00:00 @ 21.65p 100%, 17-08 15:00:00 - 17-08 15:30:00 @ 22.95p 100%, 17-08 15:30:00 - 17-08 16:00:00 @ 22.83p 100%, 17-08 16:00:00 - 17-08 16:30:00 @ 36.84p 100%, 17-08 16:30:00 - 17-08 17:00:00 @ 37.54p 100%, 17-08 17:00:00 - 17-08 17:30:00 @ 41.79p 100%, 17-08 17:30:00 - 17-08 18:00:00 @ 43.7p 100%, 17-08 18:00:00 - 17-08 18:30:00 @ 44.34p 100%, 17-08 19:00:00 - 17-08 19:30:00 @ 34.79p 100%, 17-08 19:30:00 - 17-08 20:00:00 @ 34.76p 100%, 17-08 20:00:00 - 17-08 20:30:00 @ 35.62p 100%, 17-08 20:30:00 - 17-08 21:00:00 @ 35.3p 100%, 17-08 21:00:00 - 17-08 21:30:00 @ 35.89p 100% ] reserve 1.12
2026-08-15 21:25:19.022255: Unclipped charge windows [ 16-08 11:30:00 - 16-08 12:30:00 @ 23.46p 25%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 38%, 16-08 13:30:00 - 16-08 15:00:00 @ 21.75p 100%, 16-08 15:00:00 - 16-08 16:00:00 @ 22.89p 81%, 17-08 12:30:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 17-08 21:30:00 @ 35.57p 100% ] reserve 1.12
2026-08-15 21:25:19.022499: Unfiltered charge windows [ 16-08 11:30:00 - 16-08 12:30:00 @ 23.46p 25%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 38%, 16-08 13:30:00 - 16-08 15:00:00 @ 21.75p 100%, 16-08 15:00:00 - 16-08 16:00:00 @ 22.89p 81%, 17-08 12:30:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 17-08 21:30:00 @ 35.57p 100% ] reserve 1.12
2026-08-15 21:25:19.022694: Filtered charge windows [ 16-08 11:30:00 - 16-08 12:30:00 @ 23.46p 25%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 38%, 16-08 13:30:00 - 16-08 15:00:00 @ 21.75p 100%, 16-08 15:00:00 - 16-08 16:00:00 @ 22.89p 81%, 17-08 12:30:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 17-08 21:30:00 @ 35.57p 100% ] reserve 1.12
2026-08-15 21:25:19.054625: Previous plan best metric is 885.29 (cost 901.25) and new plan best metric is 886.72 (cost 902.72)
2026-08-15 21:25:19.054825: New plan metric is not significantly better (metric_min_improvement_plan 2.0) than previous plan, using previous plan
2026-08-15 21:25:19.055035: Plan valid is now true after recompute was False
2026-08-15 21:25:19.079746: predict base end_record 08-17 12:30:00, final soc 1.12kWh, metric 1072.95p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 16:00:00, load 36.19kWh, PV 0.0kWh
2026-08-15 21:25:19.178829: Battery has 18.58 hours left - now at 14.38kWh
2026-08-15 21:25:19.217264: predict base10 end_record 08-17 12:30:00, final soc 1.12kWh, metric 1105.51p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 15:05:00, load 37.42kWh, PV 0.0kWh
2026-08-15 21:25:19.287260: predict best10 end_record 08-17 12:30:00, final soc 1.12kWh, metric 1032.61p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 07:05:00, load 37.42kWh, PV 0.0kWh
2026-08-15 21:25:19.359517: predict best end_record 08-17 12:30:00, final soc 1.12kWh, metric 1001.02p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 08:15:00, load 36.19kWh, PV 0.0kWh
2026-08-15 21:25:19.359607: Saving plan best values to HA entities
2026-08-15 21:25:19.507910: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 21:25:19.512867: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0.0
2026-08-15 21:25:19.518142: Best charging limit SoC's [6.5, 4.5, 5.5, 16.0, 12.5, 16.0, 16.0]kWh, export []kWh gives import battery 11.7kWh, house 2.85kWh, export 0.0kWh, metric 1001.02p, metric10 1032.61p
2026-08-15 21:25:19.583456: Marginal costs baseline metric (no standing charge): 901.0521
2026-08-15 21:25:19.823194: Marginal energy costs matrix computed: min=25.32 max=29.41
2026-08-15 21:25:19.894865: Rate array import [{'start': 1285, 'end': 1410, 'rate': 'expensive', 'range': '(29.8p - 31.8p)'}, {'start': 1410, 'end': 2400, 'rate': 'cheap', 'range': '(21.4p - 28.2p)'}, {'start': 2400, 'end': 2430, 'rate': 'expensive', 'range': '(36.8p)'}, {'start': 2430, 'end': 2580, 'rate': 'very expensive', 'range': '(37.5p - 45.3p)'}, {'start': 2580, 'end': 2850, 'rate': 'expensive', 'range': '(30.0p - 35.9p)'}, {'start': 2850, 'end': 3630, 'rate': 'cheap', 'range': '(23.4p - 28.2p)'}] export [{'start': 1285, 'end': 3630, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 21:25:19.895491: - Your estimated bill for today is £5.73 and tomorrow is £3.08
2026-08-15 21:25:19.895528: - Import rates are expensive (29.8p - 31.8p) for the next 2 hours and then cheap (21.4p - 28.2p) for the next 16 hours.
2026-08-15 21:25:19.895546: - The battery is currently at 90% and is in eco mode for the next 10 hours.
2026-08-15 21:25:19.895561: - For the next 48 hours there will be no solar generation.
2026-08-15 21:25:19.895575: - You will run out of battery in 34 hours.
2026-08-15 21:25:19.895589: - Your next charge slot will be in 10 hours where import rates will be cheap (24.1p).
2026-08-15 21:25:19.895603: 
2026-08-15 21:25:19.956370: Plan calculation took 16.64 seconds
2026-08-15 21:25:19.956768: Inverter 0: Type SK Sunsynk
2026-08-15 21:25:19.956833: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 21:25:19.957104: Reserve min: 7%, battery_min: 7%
2026-08-15 21:25:19.957190: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 21:25:19.957528: Inverter 0 SoC: 14.24kW 89%, current charge rate 5000W, current discharge rate 5250W, current battery power 288W, current battery voltage 51.2V, grid power -55W, load power 349W, PV Power 0W
2026-08-15 21:25:19.957769: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 21:25:19.957905: Inverter 0 scheduled charge enable is False
2026-08-15 21:25:19.957950: Inverter 0 charge windows currently []
2026-08-15 21:25:19.957981: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 21:25:19.958099: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 21:25:19.958135: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 21:25:19.958172: Inverter 0 scheduled discharge enable is False
2026-08-15 21:25:19.958310: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 21:25:19.958349: Inverter 0 discharge windows currently []
2026-08-15 21:25:19.958372: Note: Inverter does not support discharge freeze - disabled
2026-08-15 21:25:19.958395: Note: Inverter does not support charge freeze - disabled
2026-08-15 21:25:19.958413: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 21:25:20.015238: Inverter 0 Charge window will be: 2026-08-16 08:00:00+01:00 - 2026-08-16 08:30:00+01:00 - current SoC 89%, target 41%
2026-08-15 21:25:20.015388: Inverter 0 disabled charge window while waiting for schedule (now 08-15 21:25:00 target set_window_minutes 30 charge start time 08-16 08:00:00) original inverter start time 08-17 00:00:00
2026-08-15 21:25:20.015450: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 21:25:20.015602: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 21:25:20.015672: No export window planned
2026-08-15 21:25:20.015762: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 21:25:20.015810: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 21:25:20.015928: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 21:25:20.016071: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 21:25:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 21:25:20.016116: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 21:25:20.016166: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 21:25:20.016247: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 21:25:20.016280: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 21:25:20.016303: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 21:25:20.016324: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 21:25:20.016344: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 21:25:20.016363: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 21:25:20.016383: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 21:25:20.016432: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 21:25:20.016455: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 21:25:20.016474: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 21:25:20.016494: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 21:25:20.016518: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 21:25:20.016538: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 21:25:20.016562: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 21:25:20.016579: Inverter 0 count register writes 0
2026-08-15 21:25:20.035901: Total inverter register writes now 826
2026-08-15 21:25:20.067892: Info: Completed run status Demand
2026-08-15 21:25:20.075388: Info: record_status Demand
2026-08-15 21:25:20.082263: Saved current settings to /config/predbat_config.json
2026-08-15 21:25:20.082654: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 21:25:57.196785: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 21:25:57.197086: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 21:25:57.197135: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 21:25:57.197339: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 21:25:57.197391: Note: Inverter does not support discharge freeze - disabled
2026-08-15 21:25:57.197426: Note: Inverter does not support charge freeze - disabled
2026-08-15 21:25:57.197443: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 21:27:57.416551: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 21:27:57.416807: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 21:27:57.416849: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 21:27:57.417079: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 21:27:57.417126: Note: Inverter does not support discharge freeze - disabled
2026-08-15 21:27:57.417148: Note: Inverter does not support charge freeze - disabled
2026-08-15 21:27:57.417177: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 21:30:00.646113: --------------- PredBat - update at 2026-08-15 21:30:00+01:00 with clock skew 0 minutes, minutes now 1290
2026-08-15 21:30:00.646902: Saved current settings to /config/predbat_config.json
2026-08-15 21:30:00.647051: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 60.0 minutes
2026-08-15 21:30:00.647137: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.2, latest beta is v8.48.2
2026-08-15 21:30:00.647227: Autoupdate: There is an update pending v8.48.2 PV90 and second pass enabled by default, bug fixes - auto update is off
2026-08-15 21:30:00.663834: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 21:30:00.663955: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 21:30:00.664104: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 21:30:00.664574: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 21:30:00.664673: Predbat mode is set to Control charge & discharge
2026-08-15 21:30:00.847198: Found 21602 load_today datapoints going back 28 days
2026-08-15 21:30:00.847340: Using load_power data to fill gaps in load_today data
2026-08-15 21:30:01.556543: Processing 721 30-minute periods for power integration
2026-08-15 21:30:01.714339: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 21:30:01.714463: Car charging hold False, threshold 6.0kWh
2026-08-15 21:30:01.714502: Current data so far today: load 10.3kWh, import 27.8kWh, export 0.0kWh, PV 0kWh
2026-08-15 21:30:01.730274: Cars: SoC: [9.962]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 21:30:01.730680: Standing charge is set to 49.98p
2026-08-15 21:30:01.780052: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 21:30:01.780179: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 21:30:01.780439: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 650.0 minutes
2026-08-15 21:30:01.781102: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 650.0 minutes
2026-08-15 21:30:01.787039: Loaded 95 datapoints of futurerate analysis
2026-08-15 21:30:01.916819: Predicted future rates: ['08-15 00:00:00 => 28.69 / 20.01', '08-15 01:00:00 => 27.33 / 19.31', '08-15 02:00:00 => 26.31 / 18.8', '08-15 03:00:00 => 25.78 / 18.53', '08-15 04:00:00 => 25.59 / 18.43', '08-15 05:00:00 => 25.75 / 18.51', '08-15 06:00:00 => 25.34 / 18.3', '08-15 07:00:00 => 24.12 / 17.68', '08-15 08:00:00 => 22.82 / 17.01', '08-15 09:00:00 => 21.84 / 16.51', '08-15 10:00:00 => 20.22 / 15.68', '08-15 11:00:00 => 17.8 / 14.45', '08-15 12:00:00 => 16.16 / 13.61', '08-15 13:00:00 => 15.55 / 13.3', '08-15 14:00:00 => 15.14 / 13.09', '08-15 15:00:00 => 15.65 / 13.35', '08-15 16:00:00 => 32.68 / 16.13', '08-15 17:00:00 => 37.81 / 18.75', '08-15 18:00:00 => 42.15 / 20.96', '08-15 19:00:00 => 30.88 / 21.13', '08-15 20:00:00 => 31.43 / 21.41', '08-15 21:00:00 => 31.43 / 21.41', '08-15 22:00:00 => 30.37 / 20.87', '08-15 23:00:00 => 29.16 / 20.25', '08-16 00:00:00 => 28.62 / 19.97', '08-16 01:00:00 => 27.52 / 19.41', '08-16 02:00:00 => 26.55 / 18.92', '08-16 03:00:00 => 26.18 / 18.73', '08-16 04:00:00 => 26.12 / 18.7', '08-16 05:00:00 => 26.02 / 18.65', '08-16 06:00:00 => 25.78 / 18.53', '08-16 07:00:00 => 25.43 / 18.35', '08-16 08:00:00 => 24.63 / 17.94', '08-16 09:00:00 => 24.05 / 17.64', '08-16 10:00:00 => 24.59 / 17.92', '08-16 11:00:00 => 24.5 / 17.87', '08-16 12:00:00 => 23.58 / 17.4', '08-16 13:00:00 => 22.93 / 17.07', '08-16 14:00:00 => 21.8 / 16.49', '08-16 15:00:00 => 21.8 / 16.49', '08-16 16:00:00 => 36.93 / 18.3', '08-16 17:00:00 => 39.92 / 19.83', '08-16 18:00:00 => 43.98 / 21.9', '08-16 19:00:00 => 32.83 / 22.13', '08-16 20:00:00 => 33.62 / 22.53']
2026-08-15 21:30:01.956688: Rate min forward looking: now 21.41p at end of forecast 21.41p
2026-08-15 21:30:01.957326: Import rates: min 21.41p, max 45.28p, average 28.65p
2026-08-15 21:30:01.994827: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 21:30:01.994982: Rate thresholds (for charge/export) are import 44.78p (0.0p), export -0.1p (0.0p)
2026-08-15 21:30:01.996166: High export rate found rates in range 99p to -99p
2026-08-15 21:30:02.087409: Low Import rate found rates in range 21.41p to 44.34p
2026-08-15 21:30:02.087542: Car 0 charging is not planned as it is not plugged in
2026-08-15 21:30:02.102407: Battery level now 14.38kWh, -1hr ago 14.56kWh, at midnight 1.66kWh, battery value change in the last hour -3.24p, change today 234.11p, rate_forward 18.39p
2026-08-15 21:30:02.102785: Last hour: net energy 0.02kWh, import 0.02kWh, export 0.0kWh, car 0kWh, load 0.28kWh, net cost 0.73p, import 0.73p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 21:30:02.173497: Today's energy total net 27.8kWh, import 27.8kWh, export 0.0kWh, cost 573.42p, import 523.44p, export 0.0p, carbon 0.0kg
2026-08-15 21:30:02.173697: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 21:30:02.275021: Using weighted-bucket historical load forecast over 14 days
2026-08-15 21:30:02.302190: Today's load divergence 80.71%, in-day adjustment 88.14%, damping 0.95x, yesterday 143.77% today 81.67% blend 10.42%
2026-08-15 21:30:02.302285: Today's predicted so far 12.83kWh with 0.0kWh car/iBoost excluded, 20.77kWh import ignored, and 12.83kWh forecast extra.
2026-08-15 21:30:02.302313: Today's actual load so far 10.38kWh with 0.0kWh car/iBoost excluded, and 20.77kWh import ignored.
2026-08-15 21:30:02.342684: Inverter 0: Type SK Sunsynk
2026-08-15 21:30:02.342785: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 21:30:02.342990: Reserve min: 7%, battery_min: 7%
2026-08-15 21:30:02.343065: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 21:30:02.343328: Inverter 0 SoC: 14.24kW 89%, current charge rate 5000W, current discharge rate 5250W, current battery power 322W, current battery voltage 51.2V, grid power -54W, load power 383W, PV Power 0W
2026-08-15 21:30:02.343510: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 21:30:02.343673: Inverter 0 scheduled charge enable is False
2026-08-15 21:30:02.343732: Inverter 0 charge windows currently []
2026-08-15 21:30:02.343790: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 21:30:02.343994: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 21:30:02.344057: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 21:30:02.344109: Inverter 0 scheduled discharge enable is False
2026-08-15 21:30:02.344301: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 21:30:02.344346: Inverter 0 discharge windows currently []
2026-08-15 21:30:02.344370: Note: Inverter does not support discharge freeze - disabled
2026-08-15 21:30:02.344392: Note: Inverter does not support charge freeze - disabled
2026-08-15 21:30:02.344410: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 21:30:02.443783: Dynamic load last period 0.00kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 21:30:02.443901: Plan was last updated on 2026-08-15 21:25:00+01:00 and is now 5.0 minutes old
2026-08-15 21:30:02.444244: Best charge window [ 16-08 08:00:00 - 16-08 08:30:00 @ 24.06p 41%, 16-08 11:30:00 - 16-08 12:30:00 @ 23.46p 28%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 34%, 16-08 13:30:00 - 16-08 15:00:00 @ 21.75p 100%, 16-08 15:00:00 - 16-08 16:00:00 @ 22.89p 78%, 17-08 12:30:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 17-08 21:00:00 @ 35.25p 100% ]
2026-08-15 21:30:02.444288: Best export window [  ]
2026-08-15 21:30:02.445245: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 21:30:02.448393: Load divergence over 8.0 hours mean 792.36W, min 371.4W, max 1953.0W, std dev 437.87W, divergence 27.63%
2026-08-15 21:30:02.467475: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 21:30:02.467590: LoadML is_calculating False
2026-08-15 21:30:02.467668: Creating pool of 12 processes to match your CPU count
2026-08-15 21:30:02.597269: predict base end_record 08-17 12:35:00, final soc 1.12kWh, metric 1075.53p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 15:55:00, load 36.06kWh, PV 0.0kWh
2026-08-15 21:30:02.743303: Battery has 18.42 hours left - now at 14.24kWh
2026-08-15 21:30:02.794932: predict base10 end_record 08-17 12:35:00, final soc 1.12kWh, metric 1107.99p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 15:00:00, load 37.29kWh, PV 0.0kWh
2026-08-15 21:30:02.883518: predict best10 end_record 08-17 12:35:00, final soc 1.44kWh, metric 1043.0p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 07:05:00, load 37.29kWh, PV 0.0kWh
2026-08-15 21:30:02.967893: predict best end_record 08-17 12:35:00, final soc 1.51kWh, metric 1012.81p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 08:20:00, load 36.06kWh, PV 0.0kWh
2026-08-15 21:30:02.968184: Saving plan best values to HA entities
2026-08-15 21:30:03.170670: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 21:30:03.176544: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0.0
2026-08-15 21:30:03.182878: Best charging limit SoC's [6.5, 4.5, 5.5, 16.0, 12.5, 16.0, 16.0]kWh, export []kWh gives import battery 12.24kWh, house 2.84kWh, export 0.0kWh, metric 1012.81p, metric10 1043.0p
2026-08-15 21:30:03.266979: Marginal costs baseline metric (no standing charge): 912.841
2026-08-15 21:30:03.594239: Marginal energy costs matrix computed: min=25.17 max=29.43
2026-08-15 21:30:03.692467: Rate array import [{'start': 1290, 'end': 1410, 'rate': 'expensive', 'range': '(29.8p - 31.8p)'}, {'start': 1410, 'end': 2400, 'rate': 'cheap', 'range': '(21.4p - 28.2p)'}, {'start': 2400, 'end': 2430, 'rate': 'expensive', 'range': '(36.8p)'}, {'start': 2430, 'end': 2580, 'rate': 'very expensive', 'range': '(37.5p - 45.3p)'}, {'start': 2580, 'end': 2850, 'rate': 'expensive', 'range': '(30.0p - 35.9p)'}, {'start': 2850, 'end': 3635, 'rate': 'cheap', 'range': '(22.3p - 28.2p)'}] export [{'start': 1290, 'end': 3635, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 21:30:03.693861: - Your estimated bill for today is £5.73 and tomorrow is £3.10
2026-08-15 21:30:03.693972: - Import rates are expensive (29.8p - 31.8p) for the next 2 hours and then cheap (21.4p - 28.2p) for the next 16 hours.
2026-08-15 21:30:03.694015: - The battery is currently at 89% and is in eco mode for the next 10 hours.
2026-08-15 21:30:03.694047: - For the next 48 hours there will be no solar generation.
2026-08-15 21:30:03.694075: - You will run out of battery in 34 hours.
2026-08-15 21:30:03.694101: - Your next charge slot will be in 10 hours where import rates will be cheap (24.1p).
2026-08-15 21:30:03.694131: 
2026-08-15 21:30:03.775535: Plan calculation took 1.33 seconds
2026-08-15 21:30:03.778753: No high rate period found
2026-08-15 21:30:03.841629: Import threshold used for optimisation was 24.06p
2026-08-15 21:30:03.910161: Low import rate windows [0: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 1: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 2: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 3: 08-15 23:00:00 - 08-15 23:30:00 @ 30.02, 4: 08-15 23:30:00 - 08-16 00:00:00 @ 27.8, 5: 08-16 00:00:00 - 08-16 00:30:00 @ 28.18, 6: 08-16 00:30:00 - 08-16 01:00:00 @ 27.38, 7: 08-16 01:00:00 - 08-16 01:30:00 @ 26.7, 8: 08-16 01:30:00 - 08-16 02:00:00 @ 26.31, 9: 08-16 02:00:00 - 08-16 02:30:00 @ 25.79, 10: 08-16 02:30:00 - 08-16 03:00:00 @ 25.86, 11: 08-16 03:00:00 - 08-16 03:30:00 @ 26.13, 12: 08-16 03:30:00 - 08-16 04:00:00 @ 25.86, 13: 08-16 04:00:00 - 08-16 04:30:00 @ 26.27, 14: 08-16 04:30:00 - 08-16 05:00:00 @ 26.14, 15: 08-16 05:00:00 - 08-16 05:30:00 @ 27.03, 16: 08-16 05:30:00 - 08-16 06:00:00 @ 26.28, 17: 08-16 06:00:00 - 08-16 06:30:00 @ 25.68, 18: 08-16 06:30:00 - 08-16 07:00:00 @ 26.1, 19: 08-16 07:00:00 - 08-16 07:30:00 @ 24.28, 20: 08-16 07:30:00 - 08-16 08:00:00 @ 24.94, 21: 08-16 08:00:00 - 08-16 08:30:00 @ 24.06, 22: 08-16 08:30:00 - 08-16 09:00:00 @ 24.39, 23: 08-16 09:00:00 - 08-16 09:30:00 @ 24.66, 24: 08-16 09:30:00 - 08-16 10:00:00 @ 24.06, 25: 08-16 10:00:00 - 08-16 10:30:00 @ 25.5, 26: 08-16 10:30:00 - 08-16 11:00:00 @ 24.94, 27: 08-16 11:00:00 - 08-16 11:30:00 @ 24.25, 28: 08-16 11:30:00 - 08-16 12:00:00 @ 23.49, 29: 08-16 12:00:00 - 08-16 12:30:00 @ 23.43, 30: 08-16 12:30:00 - 08-16 13:00:00 @ 22.33, 31: 08-16 13:00:00 - 08-16 13:30:00 @ 22.76, 32: 08-16 13:30:00 - 08-16 14:00:00 @ 22.3, 33: 08-16 14:00:00 - 08-16 14:30:00 @ 21.41, 34: 08-16 14:30:00 - 08-16 15:00:00 @ 21.65, 35: 08-16 15:00:00 - 08-16 15:30:00 @ 22.95, 36: 08-16 15:30:00 - 08-16 16:00:00 @ 22.83, 37: 08-16 16:00:00 - 08-16 16:30:00 @ 36.84, 38: 08-16 16:30:00 - 08-16 17:00:00 @ 37.54, 39: 08-16 17:00:00 - 08-16 17:30:00 @ 41.79, 40: 08-16 17:30:00 - 08-16 18:00:00 @ 43.7, 41: 08-16 18:00:00 - 08-16 18:30:00 @ 44.34, 42: 08-16 19:00:00 - 08-16 19:30:00 @ 34.79, 43: 08-16 19:30:00 - 08-16 20:00:00 @ 34.76, 44: 08-16 20:00:00 - 08-16 20:30:00 @ 35.62, 45: 08-16 20:30:00 - 08-16 21:00:00 @ 35.3, 46: 08-16 21:00:00 - 08-16 21:30:00 @ 35.89, 47: 08-16 21:30:00 - 08-16 22:00:00 @ 35.71, 48: 08-16 22:00:00 - 08-16 22:30:00 @ 33.75, 49: 08-16 22:30:00 - 08-16 23:00:00 @ 32.0, 50: 08-16 23:00:00 - 08-16 23:30:00 @ 30.02, 51: 08-16 23:30:00 - 08-17 00:00:00 @ 27.8, 52: 08-17 00:00:00 - 08-17 00:30:00 @ 28.18, 53: 08-17 00:30:00 - 08-17 01:00:00 @ 27.38, 54: 08-17 01:00:00 - 08-17 01:30:00 @ 26.7, 55: 08-17 01:30:00 - 08-17 02:00:00 @ 26.31, 56: 08-17 02:00:00 - 08-17 02:30:00 @ 25.79, 57: 08-17 02:30:00 - 08-17 03:00:00 @ 25.86, 58: 08-17 03:00:00 - 08-17 03:30:00 @ 26.13, 59: 08-17 03:30:00 - 08-17 04:00:00 @ 25.86, 60: 08-17 04:00:00 - 08-17 04:30:00 @ 26.27, 61: 08-17 04:30:00 - 08-17 05:00:00 @ 26.14, 62: 08-17 05:00:00 - 08-17 05:30:00 @ 27.03, 63: 08-17 05:30:00 - 08-17 06:00:00 @ 26.28, 64: 08-17 06:00:00 - 08-17 06:30:00 @ 25.68, 65: 08-17 06:30:00 - 08-17 07:00:00 @ 26.1, 66: 08-17 07:00:00 - 08-17 07:30:00 @ 24.28, 67: 08-17 07:30:00 - 08-17 08:00:00 @ 24.94, 68: 08-17 08:00:00 - 08-17 08:30:00 @ 24.06, 69: 08-17 08:30:00 - 08-17 09:00:00 @ 24.39, 70: 08-17 09:00:00 - 08-17 09:30:00 @ 24.66, 71: 08-17 09:30:00 - 08-17 10:00:00 @ 24.06, 72: 08-17 10:00:00 - 08-17 10:30:00 @ 25.5, 73: 08-17 10:30:00 - 08-17 11:00:00 @ 24.94, 74: 08-17 11:00:00 - 08-17 11:30:00 @ 24.25, 75: 08-17 11:30:00 - 08-17 12:00:00 @ 23.49, 76: 08-17 12:00:00 - 08-17 12:30:00 @ 23.43, 77: 08-17 12:30:00 - 08-17 13:00:00 @ 22.33, 78: 08-17 13:00:00 - 08-17 13:30:00 @ 22.76, 79: 08-17 13:30:00 - 08-17 14:00:00 @ 22.3, 80: 08-17 14:00:00 - 08-17 14:30:00 @ 21.41, 81: 08-17 14:30:00 - 08-17 15:00:00 @ 21.65, 82: 08-17 15:00:00 - 08-17 15:30:00 @ 22.95, 83: 08-17 15:30:00 - 08-17 16:00:00 @ 22.83, 84: 08-17 16:00:00 - 08-17 16:30:00 @ 36.84, 85: 08-17 16:30:00 - 08-17 17:00:00 @ 37.54, 86: 08-17 17:00:00 - 08-17 17:30:00 @ 41.79, 87: 08-17 17:30:00 - 08-17 18:00:00 @ 43.7, 88: 08-17 18:00:00 - 08-17 18:30:00 @ 44.34, 89: 08-17 19:00:00 - 08-17 19:30:00 @ 34.79, 90: 08-17 19:30:00 - 08-17 20:00:00 @ 34.76, 91: 08-17 20:00:00 - 08-17 20:30:00 @ 35.62, 92: 08-17 20:30:00 - 08-17 21:00:00 @ 35.3, 93: 08-17 21:00:00 - 08-17 21:30:00 @ 35.89]
2026-08-15 21:30:03.918835: Inverter 0 Charge window will be: 2026-08-16 08:00:00+01:00 - 2026-08-16 08:30:00+01:00 - current SoC 89%, target 41%
2026-08-15 21:30:03.918983: Inverter 0 disabled charge window while waiting for schedule (now 08-15 21:30:00 target set_window_minutes 30 charge start time 08-16 08:00:00) original inverter start time 08-17 00:00:00
2026-08-15 21:30:03.919122: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 21:30:03.919448: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 21:30:03.919575: No export window planned
2026-08-15 21:30:03.919772: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 21:30:03.919824: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 21:30:03.920034: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 21:30:03.920260: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 21:30:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 21:30:03.920347: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 21:30:03.920433: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 21:30:03.920566: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 21:30:03.920610: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 21:30:03.920643: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 21:30:03.920683: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 21:30:03.920722: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 21:30:03.920764: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 21:30:03.920794: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 21:30:03.920875: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 21:30:03.920935: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 21:30:03.920994: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 21:30:03.921054: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 21:30:03.921085: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 21:30:03.921123: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 21:30:03.921157: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 21:30:03.921175: Inverter 0 count register writes 0
2026-08-15 21:30:03.940382: Will not recompute the plan, it is 5.0 minutes old and max age is 10 minutes
2026-08-15 21:30:03.946819: Total inverter register writes now 826
2026-08-15 21:30:03.984867: Info: Completed run status Demand
2026-08-15 21:30:03.991513: Info: record_status Demand
2026-08-15 21:30:03.999950: Saved current settings to /config/predbat_config.json
2026-08-15 21:30:04.000387: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 21:30:42.136484: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 21:30:42.136756: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 21:30:42.136844: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 21:30:42.137091: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 21:30:42.137142: Note: Inverter does not support discharge freeze - disabled
2026-08-15 21:30:42.137165: Note: Inverter does not support charge freeze - disabled
2026-08-15 21:30:42.137187: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 21:32:42.358827: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 21:32:42.359095: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 21:32:42.359139: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 21:32:42.359314: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 21:32:42.359352: Note: Inverter does not support discharge freeze - disabled
2026-08-15 21:32:42.359374: Note: Inverter does not support charge freeze - disabled
2026-08-15 21:32:42.359391: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 21:34:56.603135: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 21:34:56.603382: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 21:34:56.603425: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 21:34:56.603639: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 21:34:56.603706: Note: Inverter does not support discharge freeze - disabled
2026-08-15 21:34:56.603727: Note: Inverter does not support charge freeze - disabled
2026-08-15 21:34:56.603745: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 21:35:00.677805: --------------- PredBat - update at 2026-08-15 21:35:00+01:00 with clock skew 0 minutes, minutes now 1295
2026-08-15 21:35:00.678599: Saved current settings to /config/predbat_config.json
2026-08-15 21:35:00.678727: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 65.0 minutes
2026-08-15 21:35:00.678811: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.2, latest beta is v8.48.2
2026-08-15 21:35:00.678957: Autoupdate: There is an update pending v8.48.2 PV90 and second pass enabled by default, bug fixes - auto update is off
2026-08-15 21:35:00.698154: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 21:35:00.698307: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 21:35:00.698477: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 21:35:00.699120: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 21:35:00.699261: Predbat mode is set to Control charge & discharge
2026-08-15 21:35:00.899958: Found 21602 load_today datapoints going back 28 days
2026-08-15 21:35:00.900137: Using load_power data to fill gaps in load_today data
2026-08-15 21:35:01.675057: Processing 721 30-minute periods for power integration
2026-08-15 21:35:01.838531: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 21:35:01.838688: Car charging hold False, threshold 6.0kWh
2026-08-15 21:35:01.838738: Current data so far today: load 10.3kWh, import 27.8kWh, export 0.0kWh, PV 0kWh
2026-08-15 21:35:01.858121: Cars: SoC: [9.962]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 21:35:01.858610: Standing charge is set to 49.98p
2026-08-15 21:35:01.909109: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 21:35:01.909217: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 21:35:01.909419: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 655.0 minutes
2026-08-15 21:35:01.909791: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 655.0 minutes
2026-08-15 21:35:01.915333: Loaded 95 datapoints of futurerate analysis
2026-08-15 21:35:02.046144: Predicted future rates: ['08-15 00:00:00 => 28.69 / 20.01', '08-15 01:00:00 => 27.33 / 19.31', '08-15 02:00:00 => 26.31 / 18.8', '08-15 03:00:00 => 25.78 / 18.53', '08-15 04:00:00 => 25.59 / 18.43', '08-15 05:00:00 => 25.75 / 18.51', '08-15 06:00:00 => 25.34 / 18.3', '08-15 07:00:00 => 24.12 / 17.68', '08-15 08:00:00 => 22.82 / 17.01', '08-15 09:00:00 => 21.84 / 16.51', '08-15 10:00:00 => 20.22 / 15.68', '08-15 11:00:00 => 17.8 / 14.45', '08-15 12:00:00 => 16.16 / 13.61', '08-15 13:00:00 => 15.55 / 13.3', '08-15 14:00:00 => 15.14 / 13.09', '08-15 15:00:00 => 15.65 / 13.35', '08-15 16:00:00 => 32.68 / 16.13', '08-15 17:00:00 => 37.81 / 18.75', '08-15 18:00:00 => 42.15 / 20.96', '08-15 19:00:00 => 30.88 / 21.13', '08-15 20:00:00 => 31.43 / 21.41', '08-15 21:00:00 => 31.43 / 21.41', '08-15 22:00:00 => 30.37 / 20.87', '08-15 23:00:00 => 29.16 / 20.25', '08-16 00:00:00 => 28.62 / 19.97', '08-16 01:00:00 => 27.52 / 19.41', '08-16 02:00:00 => 26.55 / 18.92', '08-16 03:00:00 => 26.18 / 18.73', '08-16 04:00:00 => 26.12 / 18.7', '08-16 05:00:00 => 26.02 / 18.65', '08-16 06:00:00 => 25.78 / 18.53', '08-16 07:00:00 => 25.43 / 18.35', '08-16 08:00:00 => 24.63 / 17.94', '08-16 09:00:00 => 24.05 / 17.64', '08-16 10:00:00 => 24.59 / 17.92', '08-16 11:00:00 => 24.5 / 17.87', '08-16 12:00:00 => 23.58 / 17.4', '08-16 13:00:00 => 22.93 / 17.07', '08-16 14:00:00 => 21.8 / 16.49', '08-16 15:00:00 => 21.8 / 16.49', '08-16 16:00:00 => 36.93 / 18.3', '08-16 17:00:00 => 39.92 / 19.83', '08-16 18:00:00 => 43.98 / 21.9', '08-16 19:00:00 => 32.83 / 22.13', '08-16 20:00:00 => 33.62 / 22.53']
2026-08-15 21:35:02.084529: Rate min forward looking: now 21.41p at end of forecast 21.41p
2026-08-15 21:35:02.085028: Import rates: min 21.41p, max 45.28p, average 28.65p
2026-08-15 21:35:02.124350: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 21:35:02.124476: Rate thresholds (for charge/export) are import 44.78p (0.0p), export -0.1p (0.0p)
2026-08-15 21:35:02.125692: High export rate found rates in range 99p to -99p
2026-08-15 21:35:02.212595: Low Import rate found rates in range 21.41p to 44.34p
2026-08-15 21:35:02.212725: Car 0 charging is not planned as it is not plugged in
2026-08-15 21:35:02.223735: Battery level now 14.24kWh, -1hr ago 14.56kWh, at midnight 1.66kWh, battery value change in the last hour -5.89p, change today 231.46p, rate_forward 18.39p
2026-08-15 21:35:02.224071: Last hour: net energy 0.02kWh, import 0.02kWh, export 0.0kWh, car 0kWh, load 0.25kWh, net cost 0.58p, import 0.58p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 21:35:02.287431: Today's energy total net 27.8kWh, import 27.8kWh, export 0.0kWh, cost 573.42p, import 523.44p, export 0.0p, carbon 0.0kg
2026-08-15 21:35:02.287640: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 21:35:02.376407: Using weighted-bucket historical load forecast over 14 days
2026-08-15 21:35:02.405341: Today's load divergence 80.63%, in-day adjustment 87.86%, damping 0.95x, yesterday 143.77% today 81.6% blend 10.07%
2026-08-15 21:35:02.405497: Today's predicted so far 12.92kWh with 0.0kWh car/iBoost excluded, 20.86kWh import ignored, and 12.92kWh forecast extra.
2026-08-15 21:35:02.405541: Today's actual load so far 10.47kWh with 0.0kWh car/iBoost excluded, and 20.86kWh import ignored.
2026-08-15 21:35:02.434851: Inverter 0: Type SK Sunsynk
2026-08-15 21:35:02.434945: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 21:35:02.435114: Reserve min: 7%, battery_min: 7%
2026-08-15 21:35:02.435182: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 21:35:02.435421: Inverter 0 SoC: 14.24kW 89%, current charge rate 5000W, current discharge rate 5250W, current battery power 294W, current battery voltage 51.2V, grid power -55W, load power 353W, PV Power 0W
2026-08-15 21:35:02.435555: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 21:35:02.435628: Inverter 0 scheduled charge enable is False
2026-08-15 21:35:02.435652: Inverter 0 charge windows currently []
2026-08-15 21:35:02.435672: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 21:35:02.435763: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 21:35:02.435793: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 21:35:02.435821: Inverter 0 scheduled discharge enable is False
2026-08-15 21:35:02.435943: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 21:35:02.435975: Inverter 0 discharge windows currently []
2026-08-15 21:35:02.435994: Note: Inverter does not support discharge freeze - disabled
2026-08-15 21:35:02.436009: Note: Inverter does not support charge freeze - disabled
2026-08-15 21:35:02.436023: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 21:35:02.491256: Dynamic load last period 0.00kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 21:35:02.491355: Plan was last updated on 2026-08-15 21:25:00+01:00 and is now 10.0 minutes old
2026-08-15 21:35:02.491610: Best charge window [ 16-08 08:00:00 - 16-08 08:30:00 @ 24.06p 41%, 16-08 11:30:00 - 16-08 12:30:00 @ 23.46p 28%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 34%, 16-08 13:30:00 - 16-08 15:00:00 @ 21.75p 100%, 16-08 15:00:00 - 16-08 16:00:00 @ 22.89p 78%, 17-08 12:30:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 17-08 21:00:00 @ 35.25p 100% ]
2026-08-15 21:35:02.491647: Best export window [  ]
2026-08-15 21:35:02.492305: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 21:35:02.494844: Load divergence over 8.0 hours mean 790.85W, min 390.6W, max 2423.4W, std dev 473.38W, divergence 29.93%
2026-08-15 21:35:02.510318: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 21:35:02.510436: LoadML is_calculating False
2026-08-15 21:35:02.510493: Creating pool of 12 processes to match your CPU count
2026-08-15 21:35:02.615682: predict base end_record 08-17 12:40:00, final soc 1.12kWh, metric 1075.24p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 15:55:00, load 36.06kWh, PV 0.0kWh
2026-08-15 21:35:02.727944: Battery has 18.33 hours left - now at 14.24kWh
2026-08-15 21:35:02.767991: predict base10 end_record 08-17 12:40:00, final soc 1.12kWh, metric 1107.66p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 15:05:00, load 37.29kWh, PV 0.0kWh
2026-08-15 21:35:02.842713: predict best10 end_record 08-17 12:40:00, final soc 1.77kWh, metric 1050.44p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 07:10:00, load 37.29kWh, PV 0.0kWh
2026-08-15 21:35:02.916107: predict best end_record 08-17 12:40:00, final soc 1.9kWh, metric 1021.96p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 08:20:00, load 36.06kWh, PV 0.0kWh
2026-08-15 21:35:02.916198: Saving plan best values to HA entities
2026-08-15 21:35:03.075977: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 21:35:03.081053: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 21:35:03.086056: Best charging limit SoC's [6.5, 4.5, 5.5, 16.0, 12.5, 16.0, 16.0]kWh, export []kWh gives import battery 12.68kWh, house 2.81kWh, export 0.0kWh, metric 1021.96p, metric10 1050.44p
2026-08-15 21:35:03.163900: Marginal costs baseline metric (no standing charge): 921.9979
2026-08-15 21:35:03.404657: Marginal energy costs matrix computed: min=24.96 max=29.35
2026-08-15 21:35:03.491276: Rate array import [{'start': 1295, 'end': 1410, 'rate': 'expensive', 'range': '(29.8p - 31.8p)'}, {'start': 1410, 'end': 2400, 'rate': 'cheap', 'range': '(21.4p - 28.2p)'}, {'start': 2400, 'end': 2430, 'rate': 'expensive', 'range': '(36.8p)'}, {'start': 2430, 'end': 2580, 'rate': 'very expensive', 'range': '(37.5p - 45.3p)'}, {'start': 2580, 'end': 2850, 'rate': 'expensive', 'range': '(30.0p - 35.9p)'}, {'start': 2850, 'end': 3640, 'rate': 'cheap', 'range': '(22.3p - 28.2p)'}] export [{'start': 1295, 'end': 3640, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 21:35:03.492092: - Your estimated bill for today is £5.73 and tomorrow is £3.09
2026-08-15 21:35:03.492145: - Import rates are expensive (29.8p - 31.8p) for the next 1  hours and then cheap (21.4p - 28.2p) for the next 16 hours.
2026-08-15 21:35:03.492168: - The battery is currently at 89% and is in eco mode for the next 10 hours.
2026-08-15 21:35:03.492186: - For the next 48 hours there will be no solar generation.
2026-08-15 21:35:03.492203: - You will run out of battery in 34 hours.
2026-08-15 21:35:03.492225: - Your next charge slot will be in 10 hours where import rates will be cheap (24.1p).
2026-08-15 21:35:03.492248: 
2026-08-15 21:35:03.561778: Plan calculation took 1.07 seconds
2026-08-15 21:35:03.565355: No high rate period found
2026-08-15 21:35:03.616351: Import threshold used for optimisation was 24.06p
2026-08-15 21:35:03.665779: Low import rate windows [0: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 1: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 2: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 3: 08-15 23:00:00 - 08-15 23:30:00 @ 30.02, 4: 08-15 23:30:00 - 08-16 00:00:00 @ 27.8, 5: 08-16 00:00:00 - 08-16 00:30:00 @ 28.18, 6: 08-16 00:30:00 - 08-16 01:00:00 @ 27.38, 7: 08-16 01:00:00 - 08-16 01:30:00 @ 26.7, 8: 08-16 01:30:00 - 08-16 02:00:00 @ 26.31, 9: 08-16 02:00:00 - 08-16 02:30:00 @ 25.79, 10: 08-16 02:30:00 - 08-16 03:00:00 @ 25.86, 11: 08-16 03:00:00 - 08-16 03:30:00 @ 26.13, 12: 08-16 03:30:00 - 08-16 04:00:00 @ 25.86, 13: 08-16 04:00:00 - 08-16 04:30:00 @ 26.27, 14: 08-16 04:30:00 - 08-16 05:00:00 @ 26.14, 15: 08-16 05:00:00 - 08-16 05:30:00 @ 27.03, 16: 08-16 05:30:00 - 08-16 06:00:00 @ 26.28, 17: 08-16 06:00:00 - 08-16 06:30:00 @ 25.68, 18: 08-16 06:30:00 - 08-16 07:00:00 @ 26.1, 19: 08-16 07:00:00 - 08-16 07:30:00 @ 24.28, 20: 08-16 07:30:00 - 08-16 08:00:00 @ 24.94, 21: 08-16 08:00:00 - 08-16 08:30:00 @ 24.06, 22: 08-16 08:30:00 - 08-16 09:00:00 @ 24.39, 23: 08-16 09:00:00 - 08-16 09:30:00 @ 24.66, 24: 08-16 09:30:00 - 08-16 10:00:00 @ 24.06, 25: 08-16 10:00:00 - 08-16 10:30:00 @ 25.5, 26: 08-16 10:30:00 - 08-16 11:00:00 @ 24.94, 27: 08-16 11:00:00 - 08-16 11:30:00 @ 24.25, 28: 08-16 11:30:00 - 08-16 12:00:00 @ 23.49, 29: 08-16 12:00:00 - 08-16 12:30:00 @ 23.43, 30: 08-16 12:30:00 - 08-16 13:00:00 @ 22.33, 31: 08-16 13:00:00 - 08-16 13:30:00 @ 22.76, 32: 08-16 13:30:00 - 08-16 14:00:00 @ 22.3, 33: 08-16 14:00:00 - 08-16 14:30:00 @ 21.41, 34: 08-16 14:30:00 - 08-16 15:00:00 @ 21.65, 35: 08-16 15:00:00 - 08-16 15:30:00 @ 22.95, 36: 08-16 15:30:00 - 08-16 16:00:00 @ 22.83, 37: 08-16 16:00:00 - 08-16 16:30:00 @ 36.84, 38: 08-16 16:30:00 - 08-16 17:00:00 @ 37.54, 39: 08-16 17:00:00 - 08-16 17:30:00 @ 41.79, 40: 08-16 17:30:00 - 08-16 18:00:00 @ 43.7, 41: 08-16 18:00:00 - 08-16 18:30:00 @ 44.34, 42: 08-16 19:00:00 - 08-16 19:30:00 @ 34.79, 43: 08-16 19:30:00 - 08-16 20:00:00 @ 34.76, 44: 08-16 20:00:00 - 08-16 20:30:00 @ 35.62, 45: 08-16 20:30:00 - 08-16 21:00:00 @ 35.3, 46: 08-16 21:00:00 - 08-16 21:30:00 @ 35.89, 47: 08-16 21:30:00 - 08-16 22:00:00 @ 35.71, 48: 08-16 22:00:00 - 08-16 22:30:00 @ 33.75, 49: 08-16 22:30:00 - 08-16 23:00:00 @ 32.0, 50: 08-16 23:00:00 - 08-16 23:30:00 @ 30.02, 51: 08-16 23:30:00 - 08-17 00:00:00 @ 27.8, 52: 08-17 00:00:00 - 08-17 00:30:00 @ 28.18, 53: 08-17 00:30:00 - 08-17 01:00:00 @ 27.38, 54: 08-17 01:00:00 - 08-17 01:30:00 @ 26.7, 55: 08-17 01:30:00 - 08-17 02:00:00 @ 26.31, 56: 08-17 02:00:00 - 08-17 02:30:00 @ 25.79, 57: 08-17 02:30:00 - 08-17 03:00:00 @ 25.86, 58: 08-17 03:00:00 - 08-17 03:30:00 @ 26.13, 59: 08-17 03:30:00 - 08-17 04:00:00 @ 25.86, 60: 08-17 04:00:00 - 08-17 04:30:00 @ 26.27, 61: 08-17 04:30:00 - 08-17 05:00:00 @ 26.14, 62: 08-17 05:00:00 - 08-17 05:30:00 @ 27.03, 63: 08-17 05:30:00 - 08-17 06:00:00 @ 26.28, 64: 08-17 06:00:00 - 08-17 06:30:00 @ 25.68, 65: 08-17 06:30:00 - 08-17 07:00:00 @ 26.1, 66: 08-17 07:00:00 - 08-17 07:30:00 @ 24.28, 67: 08-17 07:30:00 - 08-17 08:00:00 @ 24.94, 68: 08-17 08:00:00 - 08-17 08:30:00 @ 24.06, 69: 08-17 08:30:00 - 08-17 09:00:00 @ 24.39, 70: 08-17 09:00:00 - 08-17 09:30:00 @ 24.66, 71: 08-17 09:30:00 - 08-17 10:00:00 @ 24.06, 72: 08-17 10:00:00 - 08-17 10:30:00 @ 25.5, 73: 08-17 10:30:00 - 08-17 11:00:00 @ 24.94, 74: 08-17 11:00:00 - 08-17 11:30:00 @ 24.25, 75: 08-17 11:30:00 - 08-17 12:00:00 @ 23.49, 76: 08-17 12:00:00 - 08-17 12:30:00 @ 23.43, 77: 08-17 12:30:00 - 08-17 13:00:00 @ 22.33, 78: 08-17 13:00:00 - 08-17 13:30:00 @ 22.76, 79: 08-17 13:30:00 - 08-17 14:00:00 @ 22.3, 80: 08-17 14:00:00 - 08-17 14:30:00 @ 21.41, 81: 08-17 14:30:00 - 08-17 15:00:00 @ 21.65, 82: 08-17 15:00:00 - 08-17 15:30:00 @ 22.95, 83: 08-17 15:30:00 - 08-17 16:00:00 @ 22.83, 84: 08-17 16:00:00 - 08-17 16:30:00 @ 36.84, 85: 08-17 16:30:00 - 08-17 17:00:00 @ 37.54, 86: 08-17 17:00:00 - 08-17 17:30:00 @ 41.79, 87: 08-17 17:30:00 - 08-17 18:00:00 @ 43.7, 88: 08-17 18:00:00 - 08-17 18:30:00 @ 44.34, 89: 08-17 19:00:00 - 08-17 19:30:00 @ 34.79, 90: 08-17 19:30:00 - 08-17 20:00:00 @ 34.76, 91: 08-17 20:00:00 - 08-17 20:30:00 @ 35.62, 92: 08-17 20:30:00 - 08-17 21:00:00 @ 35.3, 93: 08-17 21:00:00 - 08-17 21:30:00 @ 35.89, 94: 08-17 21:30:00 - 08-17 22:00:00 @ 35.71]
2026-08-15 21:35:03.674007: Inverter 0 Charge window will be: 2026-08-16 08:00:00+01:00 - 2026-08-16 08:30:00+01:00 - current SoC 89%, target 41%
2026-08-15 21:35:03.674144: Inverter 0 disabled charge window while waiting for schedule (now 08-15 21:35:00 target set_window_minutes 30 charge start time 08-16 08:00:00) original inverter start time 08-17 00:00:00
2026-08-15 21:35:03.674282: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 21:35:03.674560: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 21:35:03.674641: No export window planned
2026-08-15 21:35:03.674741: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 21:35:03.674782: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 21:35:03.674905: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 21:35:03.675080: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 21:35:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 21:35:03.675135: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 21:35:03.675189: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 21:35:03.675275: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 21:35:03.675303: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 21:35:03.675324: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 21:35:03.675349: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 21:35:03.675371: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 21:35:03.675391: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 21:35:03.675412: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 21:35:03.675461: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 21:35:03.675485: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 21:35:03.675505: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 21:35:03.675525: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 21:35:03.675544: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 21:35:03.675567: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 21:35:03.675586: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 21:35:03.675603: Inverter 0 count register writes 0
2026-08-15 21:35:03.690230: Will recompute the plan as it is now 10.0 minutes old and will exceed the max age of 10 minutes before the next run
2026-08-15 21:35:03.690445: Recompute is saving previous plan...
2026-08-15 21:35:03.693084: Best charge window [ 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 30.02p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 27.8p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.18p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.38p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 26.7p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.31p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.79p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 25.86p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.13p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 25.86p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.27p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.14p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 27.03p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.28p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.68p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 26.1p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 24.28p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 24.94p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.06p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.39p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.66p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.06p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 25.5p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 24.94p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 24.25p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 23.49p 0%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.43p 0%, 16-08 12:30:00 - 16-08 13:00:00 @ 22.33p 0%, 16-08 13:00:00 - 16-08 13:30:00 @ 22.76p 0%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 0%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 0%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.65p 0%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.95p 0%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.83p 0%, 16-08 16:00:00 - 16-08 16:30:00 @ 36.84p 0%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.54p 0%, 16-08 17:00:00 - 16-08 17:30:00 @ 41.79p 0%, 16-08 17:30:00 - 16-08 18:00:00 @ 43.7p 0%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.34p 0%, 16-08 19:00:00 - 16-08 19:30:00 @ 34.79p 0%, 16-08 19:30:00 - 16-08 20:00:00 @ 34.76p 0%, 16-08 20:00:00 - 16-08 20:30:00 @ 35.62p 0%, 16-08 20:30:00 - 16-08 21:00:00 @ 35.3p 0%, 16-08 21:00:00 - 16-08 21:30:00 @ 35.89p 0%, 16-08 21:30:00 - 16-08 22:00:00 @ 35.71p 0%, 16-08 22:00:00 - 16-08 22:30:00 @ 33.75p 0%, 16-08 22:30:00 - 16-08 23:00:00 @ 32.0p 0%, 16-08 23:00:00 - 16-08 23:30:00 @ 30.02p 0%, 16-08 23:30:00 - 17-08 00:00:00 @ 27.8p 0%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.18p 0%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.38p 0%, 17-08 01:00:00 - 17-08 01:30:00 @ 26.7p 0%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.31p 0%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.79p 0%, 17-08 02:30:00 - 17-08 03:00:00 @ 25.86p 0%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.13p 0%, 17-08 03:30:00 - 17-08 04:00:00 @ 25.86p 0%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.27p 0%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.14p 0%, 17-08 05:00:00 - 17-08 05:30:00 @ 27.03p 0%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.28p 0%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.68p 0%, 17-08 06:30:00 - 17-08 07:00:00 @ 26.1p 0%, 17-08 07:00:00 - 17-08 07:30:00 @ 24.28p 0%, 17-08 07:30:00 - 17-08 08:00:00 @ 24.94p 0%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.06p 0%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.39p 0%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.66p 0%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.06p 0%, 17-08 10:00:00 - 17-08 10:30:00 @ 25.5p 0%, 17-08 10:30:00 - 17-08 11:00:00 @ 24.94p 0%, 17-08 11:00:00 - 17-08 11:30:00 @ 24.25p 0%, 17-08 11:30:00 - 17-08 12:00:00 @ 23.49p 0%, 17-08 12:00:00 - 17-08 12:30:00 @ 23.43p 0%, 17-08 12:30:00 - 17-08 13:00:00 @ 22.33p 0%, 17-08 13:00:00 - 17-08 13:30:00 @ 22.76p 0%, 17-08 13:30:00 - 17-08 14:00:00 @ 22.3p 0%, 17-08 14:00:00 - 17-08 14:30:00 @ 21.41p 0%, 17-08 14:30:00 - 17-08 15:00:00 @ 21.65p 0%, 17-08 15:00:00 - 17-08 15:30:00 @ 22.95p 0%, 17-08 15:30:00 - 17-08 16:00:00 @ 22.83p 0%, 17-08 16:00:00 - 17-08 16:30:00 @ 36.84p 0%, 17-08 16:30:00 - 17-08 17:00:00 @ 37.54p 0%, 17-08 17:00:00 - 17-08 17:30:00 @ 41.79p 0%, 17-08 17:30:00 - 17-08 18:00:00 @ 43.7p 0%, 17-08 18:00:00 - 17-08 18:30:00 @ 44.34p 0%, 17-08 19:00:00 - 17-08 19:30:00 @ 34.79p 0%, 17-08 19:30:00 - 17-08 20:00:00 @ 34.76p 0%, 17-08 20:00:00 - 17-08 20:30:00 @ 35.62p 0%, 17-08 20:30:00 - 17-08 21:00:00 @ 35.3p 0%, 17-08 21:00:00 - 17-08 21:30:00 @ 35.89p 0%, 17-08 21:30:00 - 17-08 22:00:00 @ 35.71p 0% ]
2026-08-15 21:35:03.693153: Best export window [  ]
2026-08-15 21:35:03.693792: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 21:35:03.696290: Load divergence over 8.0 hours mean 790.85W, min 390.6W, max 2423.4W, std dev 473.38W, divergence 29.93%
2026-08-15 21:35:03.711190: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 21:35:03.711293: LoadML is_calculating False
2026-08-15 21:35:03.711351: Creating pool of 12 processes to match your CPU count
2026-08-15 21:35:03.801635: Calculate Best options: mode(Control charge & discharge), calculate_export_oncharge(False), calculate_export_on_pv(True), set_export_freeze_only(False), set_discharge_during_charge(True), combine_charge_slots(False), combine_export_slots(False), combine_rate_threshold(0.0), best_soc_min(0.0 kWh), best_soc_max(0.0 kWh), best_soc_keep(0.0 kWh), inverter_loss(4%), battery_loss(3%), battery_loss_discharge (3%), inverter_hybrid(True), metric_min_improvement(0.0p), metric_min_improvement_export(0.1p), metric_min_improvement_export_freeze(0.1p), metric_battery_cycle(0.0p/kWh), metric_battery_value_scaling(1.0 x) 
2026-08-15 21:35:03.803891: Optimise levels pass started at 2026-08-15 21:35:03
2026-08-15 21:35:03.803955: Optimise all windows, total charge 94 export 1
2026-08-15 21:35:04.705320: >> Region optimisation pass width 960 gives best_metric 1028.95p, best_cost 1051.99p, best_cycle 35.58kWh, best_import 21.13kWh
2026-08-15 21:35:05.135223: >> Region optimisation pass width 480 gives best_metric 1028.95p, best_cost 1051.99p, best_cycle 35.58kWh, best_import 21.13kWh
2026-08-15 21:35:05.624370: >> Region optimisation pass width 240 gives best_metric 1028.95p, best_cost 1051.99p, best_cycle 35.58kWh, best_import 21.13kWh
2026-08-15 21:35:07.171959: >> Region optimisation pass width 120 gives best_metric 1027.82p, best_cost 1050.88p, best_cycle 35.38kWh, best_import 21.11kWh
2026-08-15 21:35:07.172366: Calculated end_record as 08-17 12:30:00 based on best_price 22.95p, next_charge_start 08-16 12:30:00, max_windows 77
2026-08-15 21:35:07.172463: Optimise levels pass ended at 2026-08-15 21:35:07, duration 3.4 seconds tried 331 combinations
2026-08-15 21:35:07.172573: Set best_price_charge_level 24.6p, best_price_export_level 0p, best_price_charge 22.95p, best_cost_export 0p, best_metric 1027.82p, best_keep 0kWh, best_cycle 35.38kWh, best_carbon 0kg, best_import 21.11kWh
2026-08-15 21:35:07.191446: Starting detailed optimisation end_record 08-17 12:30:00, best_price_charge 22.95p, best_price_export 0p. lowest_price_charge 21.41p with charge limits [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 0, 0, 9.75, 9.75, 9.75, 9.75, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0]kWh and export limits []kWh
2026-08-15 21:35:13.520359: Tweak plan optimisation started metric 884.76p, cost 900.69p
2026-08-15 21:35:13.819948: Tweak optimisation finished metric 884.76p, cost 900.69p, metric_keep 0kWh, cycle 23.31kWh, carbon 0kg, import 14.17kWh, changed 8 window(s)
2026-08-15 21:35:13.838383: Swap charge optimisation started metric 884.76p, cost 900.69p, min_improvement_swap 0.1p
2026-08-15 21:35:22.081666: Swap charge optimisation finished metric 884.76p, cost 900.69p
2026-08-15 21:35:22.213925: Pruned 1 dead plan slot(s) in 14 trial(s), nominal metric 880.09p -> 880.09p, plan now metric 884.83p, cost 900.69p, cycle 23.31kWh, import 14.17kWh
2026-08-15 21:35:22.224370: Raw charge windows [ 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 30.02p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 27.8p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.18p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.38p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 26.7p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.31p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.79p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 25.86p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.13p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 25.86p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.27p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.14p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 27.03p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.28p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.68p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 26.1p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 24.28p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 24.94p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.06p 41%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.39p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.66p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.06p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 25.5p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 24.94p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 24.25p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 23.49p 28%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.43p 28%, 16-08 12:30:00 - 16-08 13:00:00 @ 22.33p 38%, 16-08 13:00:00 - 16-08 13:30:00 @ 22.76p 38%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 38%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 100%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.65p 63%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.95p 63%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.83p 61%, 16-08 16:00:00 - 16-08 16:30:00 @ 36.84p 0%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.54p 0%, 16-08 17:00:00 - 16-08 17:30:00 @ 41.79p 0%, 16-08 17:30:00 - 16-08 18:00:00 @ 43.7p 0%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.34p 0%, 16-08 19:00:00 - 16-08 19:30:00 @ 34.79p 0%, 16-08 19:30:00 - 16-08 20:00:00 @ 34.76p 0%, 16-08 20:00:00 - 16-08 20:30:00 @ 35.62p 0%, 16-08 20:30:00 - 16-08 21:00:00 @ 35.3p 0%, 16-08 21:00:00 - 16-08 21:30:00 @ 35.89p 0%, 16-08 21:30:00 - 16-08 22:00:00 @ 35.71p 0%, 16-08 22:00:00 - 16-08 22:30:00 @ 33.75p 0%, 16-08 22:30:00 - 16-08 23:00:00 @ 32.0p 0%, 16-08 23:00:00 - 16-08 23:30:00 @ 30.02p 0%, 16-08 23:30:00 - 17-08 00:00:00 @ 27.8p 0%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.18p 0%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.38p 0%, 17-08 01:00:00 - 17-08 01:30:00 @ 26.7p 0%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.31p 0%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.79p 13%, 17-08 02:30:00 - 17-08 03:00:00 @ 25.86p 13%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.13p 13%, 17-08 03:30:00 - 17-08 04:00:00 @ 25.86p 0%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.27p 0%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.14p 0%, 17-08 05:00:00 - 17-08 05:30:00 @ 27.03p 0%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.28p 0%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.68p 0%, 17-08 06:30:00 - 17-08 07:00:00 @ 26.1p 0%, 17-08 07:00:00 - 17-08 07:30:00 @ 24.28p 0%, 17-08 07:30:00 - 17-08 08:00:00 @ 24.94p 0%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.06p 0%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.39p 0%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.66p 0%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.06p 0%, 17-08 10:00:00 - 17-08 10:30:00 @ 25.5p 0%, 17-08 10:30:00 - 17-08 11:00:00 @ 24.94p 0%, 17-08 11:00:00 - 17-08 11:30:00 @ 24.25p 0%, 17-08 11:30:00 - 17-08 12:00:00 @ 23.49p 0%, 17-08 12:00:00 - 17-08 12:30:00 @ 23.43p 0%, 17-08 12:30:00 - 17-08 13:00:00 @ 22.33p 100%, 17-08 13:00:00 - 17-08 13:30:00 @ 22.76p 100%, 17-08 13:30:00 - 17-08 14:00:00 @ 22.3p 100%, 17-08 14:00:00 - 17-08 14:30:00 @ 21.41p 100%, 17-08 14:30:00 - 17-08 15:00:00 @ 21.65p 100%, 17-08 15:00:00 - 17-08 15:30:00 @ 22.95p 100%, 17-08 15:30:00 - 17-08 16:00:00 @ 22.83p 100%, 17-08 16:00:00 - 17-08 16:30:00 @ 36.84p 100%, 17-08 16:30:00 - 17-08 17:00:00 @ 37.54p 100%, 17-08 17:00:00 - 17-08 17:30:00 @ 41.79p 100%, 17-08 17:30:00 - 17-08 18:00:00 @ 43.7p 100%, 17-08 18:00:00 - 17-08 18:30:00 @ 44.34p 100%, 17-08 19:00:00 - 17-08 19:30:00 @ 34.79p 100%, 17-08 19:30:00 - 17-08 20:00:00 @ 34.76p 100%, 17-08 20:00:00 - 17-08 20:30:00 @ 35.62p 100%, 17-08 20:30:00 - 17-08 21:00:00 @ 35.3p 100%, 17-08 21:00:00 - 17-08 21:30:00 @ 35.89p 100%, 17-08 21:30:00 - 17-08 22:00:00 @ 35.71p 100% ] reserve 1.12
2026-08-15 21:35:22.224937: Unclipped charge windows [ 16-08 08:00:00 - 16-08 08:30:00 @ 24.06p 41%, 16-08 11:30:00 - 16-08 12:30:00 @ 23.46p 28%, 16-08 12:30:00 - 16-08 14:00:00 @ 22.43p 38%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 100%, 16-08 14:30:00 - 16-08 15:30:00 @ 22.3p 63%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.83p 61%, 17-08 02:00:00 - 17-08 03:30:00 @ 25.98p 13%, 17-08 12:30:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 17-08 22:00:00 @ 35.64p 100% ] reserve 1.12
2026-08-15 21:35:22.225274: Unfiltered charge windows [ 16-08 08:00:00 - 16-08 08:30:00 @ 24.06p 41%, 16-08 11:30:00 - 16-08 12:30:00 @ 23.46p 28%, 16-08 12:30:00 - 16-08 14:00:00 @ 22.43p 38%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 100%, 16-08 14:30:00 - 16-08 15:30:00 @ 22.3p 63%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.83p 61%, 17-08 02:00:00 - 17-08 03:30:00 @ 25.98p 13%, 17-08 12:30:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 17-08 22:00:00 @ 35.64p 100% ] reserve 1.12
2026-08-15 21:35:22.225544: Filtered charge windows [ 16-08 08:00:00 - 16-08 08:30:00 @ 24.06p 41%, 16-08 11:30:00 - 16-08 12:30:00 @ 23.46p 28%, 16-08 12:30:00 - 16-08 14:00:00 @ 22.43p 38%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 100%, 16-08 14:30:00 - 16-08 15:30:00 @ 22.3p 63%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.83p 61%, 17-08 02:00:00 - 17-08 03:30:00 @ 25.98p 13%, 17-08 12:30:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 17-08 22:00:00 @ 35.64p 100% ] reserve 1.12
2026-08-15 21:35:22.257505: Previous plan best metric is 884.72 (cost 900.71) and new plan best metric is 884.76 (cost 900.69)
2026-08-15 21:35:22.257755: New plan metric is not significantly better (metric_min_improvement_plan 2.0) than previous plan, using previous plan
2026-08-15 21:35:22.257964: Plan valid is now true after recompute was False
2026-08-15 21:35:22.283126: predict base end_record 08-17 12:30:00, final soc 1.12kWh, metric 1072.35p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 15:55:00, load 35.94kWh, PV 0.0kWh
2026-08-15 21:35:22.383346: Battery has 18.33 hours left - now at 14.24kWh
2026-08-15 21:35:22.422149: predict base10 end_record 08-17 12:30:00, final soc 1.12kWh, metric 1104.64p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 15:05:00, load 37.16kWh, PV 0.0kWh
2026-08-15 21:35:22.494844: predict best10 end_record 08-17 12:30:00, final soc 1.12kWh, metric 1031.9p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 07:10:00, load 37.16kWh, PV 0.0kWh
2026-08-15 21:35:22.573124: predict best end_record 08-17 12:30:00, final soc 1.12kWh, metric 1000.47p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 08:20:00, load 35.94kWh, PV 0.0kWh
2026-08-15 21:35:22.573223: Saving plan best values to HA entities
2026-08-15 21:35:22.720449: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 21:35:22.725357: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 21:35:22.730070: Best charging limit SoC's [6.5, 4.5, 5.5, 16.0, 12.5, 16.0, 16.0]kWh, export []kWh gives import battery 11.72kWh, house 2.81kWh, export 0.0kWh, metric 1000.47p, metric10 1031.9p
2026-08-15 21:35:22.796367: Marginal costs baseline metric (no standing charge): 900.5034
2026-08-15 21:35:23.031100: Marginal energy costs matrix computed: min=24.96 max=29.35
2026-08-15 21:35:23.097096: Rate array import [{'start': 1295, 'end': 1410, 'rate': 'expensive', 'range': '(29.8p - 31.8p)'}, {'start': 1410, 'end': 2400, 'rate': 'cheap', 'range': '(21.4p - 28.2p)'}, {'start': 2400, 'end': 2430, 'rate': 'expensive', 'range': '(36.8p)'}, {'start': 2430, 'end': 2580, 'rate': 'very expensive', 'range': '(37.5p - 45.3p)'}, {'start': 2580, 'end': 2850, 'rate': 'expensive', 'range': '(30.0p - 35.9p)'}, {'start': 2850, 'end': 3630, 'rate': 'cheap', 'range': '(23.4p - 28.2p)'}] export [{'start': 1295, 'end': 3630, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 21:35:23.097706: - Your estimated bill for today is £5.73 and tomorrow is £3.09
2026-08-15 21:35:23.097743: - Import rates are expensive (29.8p - 31.8p) for the next 1  hours and then cheap (21.4p - 28.2p) for the next 16 hours.
2026-08-15 21:35:23.097762: - The battery is currently at 89% and is in eco mode for the next 10 hours.
2026-08-15 21:35:23.097777: - For the next 48 hours there will be no solar generation.
2026-08-15 21:35:23.097791: - You will run out of battery in 34 hours.
2026-08-15 21:35:23.097804: - Your next charge slot will be in 10 hours where import rates will be cheap (24.1p).
2026-08-15 21:35:23.097818: 
2026-08-15 21:35:23.156745: Plan calculation took 19.47 seconds
2026-08-15 21:35:23.157188: Inverter 0: Type SK Sunsynk
2026-08-15 21:35:23.157269: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 21:35:23.157502: Reserve min: 7%, battery_min: 7%
2026-08-15 21:35:23.157586: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 21:35:23.157948: Inverter 0 SoC: 14.24kW 89%, current charge rate 5000W, current discharge rate 5250W, current battery power 294W, current battery voltage 51.2V, grid power -55W, load power 353W, PV Power 0W
2026-08-15 21:35:23.158188: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 21:35:23.158301: Inverter 0 scheduled charge enable is False
2026-08-15 21:35:23.158341: Inverter 0 charge windows currently []
2026-08-15 21:35:23.158372: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 21:35:23.158487: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 21:35:23.158523: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 21:35:23.158559: Inverter 0 scheduled discharge enable is False
2026-08-15 21:35:23.158686: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 21:35:23.158724: Inverter 0 discharge windows currently []
2026-08-15 21:35:23.158747: Note: Inverter does not support discharge freeze - disabled
2026-08-15 21:35:23.158770: Note: Inverter does not support charge freeze - disabled
2026-08-15 21:35:23.158788: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 21:35:23.213484: Inverter 0 Charge window will be: 2026-08-16 08:00:00+01:00 - 2026-08-16 08:30:00+01:00 - current SoC 89%, target 41%
2026-08-15 21:35:23.213619: Inverter 0 disabled charge window while waiting for schedule (now 08-15 21:35:00 target set_window_minutes 30 charge start time 08-16 08:00:00) original inverter start time 08-17 00:00:00
2026-08-15 21:35:23.213679: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 21:35:23.213841: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 21:35:23.213928: No export window planned
2026-08-15 21:35:23.214032: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 21:35:23.214062: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 21:35:23.214177: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 21:35:23.214313: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 21:35:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 21:35:23.214357: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 21:35:23.214408: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 21:35:23.214489: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 21:35:23.214523: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 21:35:23.214545: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 21:35:23.214569: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 21:35:23.214590: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 21:35:23.214609: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 21:35:23.214628: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 21:35:23.214946: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 21:35:23.214977: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 21:35:23.214998: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 21:35:23.215018: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 21:35:23.215037: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 21:35:23.215056: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 21:35:23.215075: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 21:35:23.215092: Inverter 0 count register writes 0
2026-08-15 21:35:23.234968: Total inverter register writes now 826
2026-08-15 21:35:23.270132: Info: Completed run status Demand
2026-08-15 21:35:23.276114: Info: record_status Demand
2026-08-15 21:35:23.282417: Saved current settings to /config/predbat_config.json
2026-08-15 21:35:23.282670: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 21:35:57.388376: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 21:35:57.388802: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 21:35:57.388904: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 21:35:57.389241: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 21:35:57.389326: Note: Inverter does not support discharge freeze - disabled
2026-08-15 21:35:57.389385: Note: Inverter does not support charge freeze - disabled
2026-08-15 21:35:57.389433: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 21:38:11.650001: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 21:38:11.650266: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 21:38:11.650338: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 21:38:11.650514: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 21:38:11.650570: Note: Inverter does not support discharge freeze - disabled
2026-08-15 21:38:11.650604: Note: Inverter does not support charge freeze - disabled
2026-08-15 21:38:11.650622: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 21:40:00.874610: --------------- PredBat - update at 2026-08-15 21:40:00+01:00 with clock skew 0 minutes, minutes now 1300
2026-08-15 21:40:00.875525: Saved current settings to /config/predbat_config.json
2026-08-15 21:40:00.875791: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 70.0 minutes
2026-08-15 21:40:00.875915: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.2, latest beta is v8.48.2
2026-08-15 21:40:00.876001: Autoupdate: There is an update pending v8.48.2 PV90 and second pass enabled by default, bug fixes - auto update is off
2026-08-15 21:40:00.895799: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 21:40:00.895954: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 21:40:00.896126: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 21:40:00.896675: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 21:40:00.896798: Predbat mode is set to Control charge & discharge
2026-08-15 21:40:01.097183: Found 21602 load_today datapoints going back 28 days
2026-08-15 21:40:01.097339: Using load_power data to fill gaps in load_today data
2026-08-15 21:40:01.988704: Processing 721 30-minute periods for power integration
2026-08-15 21:40:02.146668: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 21:40:02.146798: Car charging hold False, threshold 6.0kWh
2026-08-15 21:40:02.146841: Current data so far today: load 10.42kWh, import 27.8kWh, export 0.0kWh, PV 0kWh
2026-08-15 21:40:02.162230: Cars: SoC: [9.962]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 21:40:02.162640: Standing charge is set to 49.98p
2026-08-15 21:40:02.204169: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 21:40:02.204325: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 21:40:02.204583: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 660.0 minutes
2026-08-15 21:40:02.205082: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 660.0 minutes
2026-08-15 21:40:02.210040: Loaded 95 datapoints of futurerate analysis
2026-08-15 21:40:02.342497: Predicted future rates: ['08-15 00:00:00 => 28.69 / 20.01', '08-15 01:00:00 => 27.33 / 19.31', '08-15 02:00:00 => 26.31 / 18.8', '08-15 03:00:00 => 25.78 / 18.53', '08-15 04:00:00 => 25.59 / 18.43', '08-15 05:00:00 => 25.75 / 18.51', '08-15 06:00:00 => 25.34 / 18.3', '08-15 07:00:00 => 24.12 / 17.68', '08-15 08:00:00 => 22.82 / 17.01', '08-15 09:00:00 => 21.84 / 16.51', '08-15 10:00:00 => 20.22 / 15.68', '08-15 11:00:00 => 17.8 / 14.45', '08-15 12:00:00 => 16.16 / 13.61', '08-15 13:00:00 => 15.55 / 13.3', '08-15 14:00:00 => 15.14 / 13.09', '08-15 15:00:00 => 15.65 / 13.35', '08-15 16:00:00 => 32.68 / 16.13', '08-15 17:00:00 => 37.81 / 18.75', '08-15 18:00:00 => 42.15 / 20.96', '08-15 19:00:00 => 30.88 / 21.13', '08-15 20:00:00 => 31.43 / 21.41', '08-15 21:00:00 => 31.43 / 21.41', '08-15 22:00:00 => 30.37 / 20.87', '08-15 23:00:00 => 29.16 / 20.25', '08-16 00:00:00 => 28.62 / 19.97', '08-16 01:00:00 => 27.52 / 19.41', '08-16 02:00:00 => 26.55 / 18.92', '08-16 03:00:00 => 26.18 / 18.73', '08-16 04:00:00 => 26.12 / 18.7', '08-16 05:00:00 => 26.02 / 18.65', '08-16 06:00:00 => 25.78 / 18.53', '08-16 07:00:00 => 25.43 / 18.35', '08-16 08:00:00 => 24.63 / 17.94', '08-16 09:00:00 => 24.05 / 17.64', '08-16 10:00:00 => 24.59 / 17.92', '08-16 11:00:00 => 24.5 / 17.87', '08-16 12:00:00 => 23.58 / 17.4', '08-16 13:00:00 => 22.93 / 17.07', '08-16 14:00:00 => 21.8 / 16.49', '08-16 15:00:00 => 21.8 / 16.49', '08-16 16:00:00 => 36.93 / 18.3', '08-16 17:00:00 => 39.92 / 19.83', '08-16 18:00:00 => 43.98 / 21.9', '08-16 19:00:00 => 32.83 / 22.13', '08-16 20:00:00 => 33.62 / 22.53']
2026-08-15 21:40:02.382208: Rate min forward looking: now 21.41p at end of forecast 21.41p
2026-08-15 21:40:02.382795: Import rates: min 21.41p, max 45.28p, average 28.66p
2026-08-15 21:40:02.417637: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 21:40:02.417746: Rate thresholds (for charge/export) are import 44.78p (0.0p), export -0.1p (0.0p)
2026-08-15 21:40:02.419008: High export rate found rates in range 99p to -99p
2026-08-15 21:40:02.509015: Low Import rate found rates in range 21.41p to 44.34p
2026-08-15 21:40:02.509172: Car 0 charging is not planned as it is not plugged in
2026-08-15 21:40:02.520828: Battery level now 14.24kWh, -1hr ago 14.56kWh, at midnight 1.66kWh, battery value change in the last hour -5.89p, change today 231.46p, rate_forward 18.39p
2026-08-15 21:40:02.521201: Last hour: net energy 0.01kWh, import 0.01kWh, export 0.0kWh, car 0kWh, load 0.35kWh, net cost 0.44p, import 0.44p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 21:40:02.576780: Today's energy total net 27.8kWh, import 27.8kWh, export 0.0kWh, cost 573.42p, import 523.44p, export 0.0p, carbon 0.0kg
2026-08-15 21:40:02.576929: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 21:40:02.655270: Using weighted-bucket historical load forecast over 14 days
2026-08-15 21:40:02.682088: Today's load divergence 81.15%, in-day adjustment 88.09%, damping 0.95x, yesterday 143.77% today 82.09% blend 9.72%
2026-08-15 21:40:02.682175: Today's predicted so far 12.92kWh with 0.0kWh car/iBoost excluded, 20.92kWh import ignored, and 12.92kWh forecast extra.
2026-08-15 21:40:02.682202: Today's actual load so far 10.53kWh with 0.0kWh car/iBoost excluded, and 20.92kWh import ignored.
2026-08-15 21:40:02.712500: Inverter 0: Type SK Sunsynk
2026-08-15 21:40:02.712578: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 21:40:02.712734: Reserve min: 7%, battery_min: 7%
2026-08-15 21:40:02.712786: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 21:40:02.713046: Inverter 0 SoC: 14.24kW 89%, current charge rate 5000W, current discharge rate 5250W, current battery power 331W, current battery voltage 51.2V, grid power -54W, load power 389W, PV Power 0W
2026-08-15 21:40:02.713226: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 21:40:02.713311: Inverter 0 scheduled charge enable is False
2026-08-15 21:40:02.713340: Inverter 0 charge windows currently []
2026-08-15 21:40:02.713362: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 21:40:02.713492: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 21:40:02.713529: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 21:40:02.713566: Inverter 0 scheduled discharge enable is False
2026-08-15 21:40:02.713892: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 21:40:02.713937: Inverter 0 discharge windows currently []
2026-08-15 21:40:02.713959: Note: Inverter does not support discharge freeze - disabled
2026-08-15 21:40:02.713994: Note: Inverter does not support charge freeze - disabled
2026-08-15 21:40:02.714029: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 21:40:02.769322: Dynamic load last period 0.30kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 21:40:02.769419: Plan was last updated on 2026-08-15 21:35:00+01:00 and is now 5.0 minutes old
2026-08-15 21:40:02.769664: Best charge window [ 16-08 08:00:00 - 16-08 08:30:00 @ 24.06p 41%, 16-08 11:30:00 - 16-08 12:30:00 @ 23.46p 28%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 34%, 16-08 13:30:00 - 16-08 15:00:00 @ 21.75p 100%, 16-08 15:00:00 - 16-08 16:00:00 @ 22.89p 78%, 17-08 12:30:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 17-08 21:00:00 @ 35.25p 100% ]
2026-08-15 21:40:02.769699: Best export window [  ]
2026-08-15 21:40:02.770321: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 21:40:02.772821: Load divergence over 8.0 hours mean 790.72W, min 387.6W, max 2447.4W, std dev 453.0W, divergence 28.64%
2026-08-15 21:40:02.788581: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 21:40:02.788681: LoadML is_calculating False
2026-08-15 21:40:02.788745: Creating pool of 12 processes to match your CPU count
2026-08-15 21:40:02.895518: predict base end_record 08-17 12:35:00, final soc 1.12kWh, metric 1073.13p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 16:00:00, load 36.11kWh, PV 0.0kWh
2026-08-15 21:40:03.011818: Battery has 18.33 hours left - now at 14.24kWh
2026-08-15 21:40:03.052121: predict base10 end_record 08-17 12:35:00, final soc 1.12kWh, metric 1105.91p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 15:05:00, load 37.33kWh, PV 0.0kWh
2026-08-15 21:40:03.126027: predict best10 end_record 08-17 12:35:00, final soc 1.44kWh, metric 1040.67p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 07:05:00, load 37.33kWh, PV 0.0kWh
2026-08-15 21:40:03.203879: predict best end_record 08-17 12:35:00, final soc 1.51kWh, metric 1010.81p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 08:20:00, load 36.11kWh, PV 0.0kWh
2026-08-15 21:40:03.203968: Saving plan best values to HA entities
2026-08-15 21:40:03.363598: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 21:40:03.368717: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0.0
2026-08-15 21:40:03.374146: Best charging limit SoC's [6.5, 4.5, 5.5, 16.0, 12.5, 16.0, 16.0]kWh, export []kWh gives import battery 12.17kWh, house 2.83kWh, export 0.0kWh, metric 1010.81p, metric10 1040.67p
2026-08-15 21:40:03.452406: Marginal costs baseline metric (no standing charge): 910.8465
2026-08-15 21:40:03.683785: Marginal energy costs matrix computed: min=24.79 max=29.28
2026-08-15 21:40:03.765841: Rate array import [{'start': 1300, 'end': 1410, 'rate': 'expensive', 'range': '(29.8p - 31.8p)'}, {'start': 1410, 'end': 2400, 'rate': 'cheap', 'range': '(21.4p - 28.2p)'}, {'start': 2400, 'end': 2430, 'rate': 'expensive', 'range': '(36.8p)'}, {'start': 2430, 'end': 2580, 'rate': 'very expensive', 'range': '(37.5p - 45.3p)'}, {'start': 2580, 'end': 2850, 'rate': 'expensive', 'range': '(30.0p - 35.9p)'}, {'start': 2850, 'end': 3635, 'rate': 'cheap', 'range': '(22.3p - 28.2p)'}] export [{'start': 1300, 'end': 3635, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 21:40:03.766679: - Your estimated bill for today is £5.73 and tomorrow is £3.08
2026-08-15 21:40:03.766733: - Import rates are expensive (29.8p - 31.8p) for the next 1 and three quarters hours and then cheap (21.4p - 28.2p) for the next 16 hours.
2026-08-15 21:40:03.766766: - The battery is currently at 89% and is in eco mode for the next 10 hours.
2026-08-15 21:40:03.766809: - For the next 48 hours there will be no solar generation.
2026-08-15 21:40:03.766839: - You will run out of battery in 34 hours.
2026-08-15 21:40:03.766884: - Your next charge slot will be in 10 hours where import rates will be cheap (24.1p).
2026-08-15 21:40:03.766918: 
2026-08-15 21:40:03.837252: Plan calculation took 1.07 seconds
2026-08-15 21:40:03.841278: No high rate period found
2026-08-15 21:40:03.899725: Import threshold used for optimisation was 26.31p
2026-08-15 21:40:03.958082: Low import rate windows [0: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 1: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 2: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 3: 08-15 23:00:00 - 08-15 23:30:00 @ 30.02, 4: 08-15 23:30:00 - 08-16 00:00:00 @ 27.8, 5: 08-16 00:00:00 - 08-16 00:30:00 @ 28.18, 6: 08-16 00:30:00 - 08-16 01:00:00 @ 27.38, 7: 08-16 01:00:00 - 08-16 01:30:00 @ 26.7, 8: 08-16 01:30:00 - 08-16 02:00:00 @ 26.31, 9: 08-16 02:00:00 - 08-16 02:30:00 @ 25.79, 10: 08-16 02:30:00 - 08-16 03:00:00 @ 25.86, 11: 08-16 03:00:00 - 08-16 03:30:00 @ 26.13, 12: 08-16 03:30:00 - 08-16 04:00:00 @ 25.86, 13: 08-16 04:00:00 - 08-16 04:30:00 @ 26.27, 14: 08-16 04:30:00 - 08-16 05:00:00 @ 26.14, 15: 08-16 05:00:00 - 08-16 05:30:00 @ 27.03, 16: 08-16 05:30:00 - 08-16 06:00:00 @ 26.28, 17: 08-16 06:00:00 - 08-16 06:30:00 @ 25.68, 18: 08-16 06:30:00 - 08-16 07:00:00 @ 26.1, 19: 08-16 07:00:00 - 08-16 07:30:00 @ 24.28, 20: 08-16 07:30:00 - 08-16 08:00:00 @ 24.94, 21: 08-16 08:00:00 - 08-16 08:30:00 @ 24.06, 22: 08-16 08:30:00 - 08-16 09:00:00 @ 24.39, 23: 08-16 09:00:00 - 08-16 09:30:00 @ 24.66, 24: 08-16 09:30:00 - 08-16 10:00:00 @ 24.06, 25: 08-16 10:00:00 - 08-16 10:30:00 @ 25.5, 26: 08-16 10:30:00 - 08-16 11:00:00 @ 24.94, 27: 08-16 11:00:00 - 08-16 11:30:00 @ 24.25, 28: 08-16 11:30:00 - 08-16 12:00:00 @ 23.49, 29: 08-16 12:00:00 - 08-16 12:30:00 @ 23.43, 30: 08-16 12:30:00 - 08-16 13:00:00 @ 22.33, 31: 08-16 13:00:00 - 08-16 13:30:00 @ 22.76, 32: 08-16 13:30:00 - 08-16 14:00:00 @ 22.3, 33: 08-16 14:00:00 - 08-16 14:30:00 @ 21.41, 34: 08-16 14:30:00 - 08-16 15:00:00 @ 21.65, 35: 08-16 15:00:00 - 08-16 15:30:00 @ 22.95, 36: 08-16 15:30:00 - 08-16 16:00:00 @ 22.83, 37: 08-16 16:00:00 - 08-16 16:30:00 @ 36.84, 38: 08-16 16:30:00 - 08-16 17:00:00 @ 37.54, 39: 08-16 17:00:00 - 08-16 17:30:00 @ 41.79, 40: 08-16 17:30:00 - 08-16 18:00:00 @ 43.7, 41: 08-16 18:00:00 - 08-16 18:30:00 @ 44.34, 42: 08-16 19:00:00 - 08-16 19:30:00 @ 34.79, 43: 08-16 19:30:00 - 08-16 20:00:00 @ 34.76, 44: 08-16 20:00:00 - 08-16 20:30:00 @ 35.62, 45: 08-16 20:30:00 - 08-16 21:00:00 @ 35.3, 46: 08-16 21:00:00 - 08-16 21:30:00 @ 35.89, 47: 08-16 21:30:00 - 08-16 22:00:00 @ 35.71, 48: 08-16 22:00:00 - 08-16 22:30:00 @ 33.75, 49: 08-16 22:30:00 - 08-16 23:00:00 @ 32.0, 50: 08-16 23:00:00 - 08-16 23:30:00 @ 30.02, 51: 08-16 23:30:00 - 08-17 00:00:00 @ 27.8, 52: 08-17 00:00:00 - 08-17 00:30:00 @ 28.18, 53: 08-17 00:30:00 - 08-17 01:00:00 @ 27.38, 54: 08-17 01:00:00 - 08-17 01:30:00 @ 26.7, 55: 08-17 01:30:00 - 08-17 02:00:00 @ 26.31, 56: 08-17 02:00:00 - 08-17 02:30:00 @ 25.79, 57: 08-17 02:30:00 - 08-17 03:00:00 @ 25.86, 58: 08-17 03:00:00 - 08-17 03:30:00 @ 26.13, 59: 08-17 03:30:00 - 08-17 04:00:00 @ 25.86, 60: 08-17 04:00:00 - 08-17 04:30:00 @ 26.27, 61: 08-17 04:30:00 - 08-17 05:00:00 @ 26.14, 62: 08-17 05:00:00 - 08-17 05:30:00 @ 27.03, 63: 08-17 05:30:00 - 08-17 06:00:00 @ 26.28, 64: 08-17 06:00:00 - 08-17 06:30:00 @ 25.68, 65: 08-17 06:30:00 - 08-17 07:00:00 @ 26.1, 66: 08-17 07:00:00 - 08-17 07:30:00 @ 24.28, 67: 08-17 07:30:00 - 08-17 08:00:00 @ 24.94, 68: 08-17 08:00:00 - 08-17 08:30:00 @ 24.06, 69: 08-17 08:30:00 - 08-17 09:00:00 @ 24.39, 70: 08-17 09:00:00 - 08-17 09:30:00 @ 24.66, 71: 08-17 09:30:00 - 08-17 10:00:00 @ 24.06, 72: 08-17 10:00:00 - 08-17 10:30:00 @ 25.5, 73: 08-17 10:30:00 - 08-17 11:00:00 @ 24.94, 74: 08-17 11:00:00 - 08-17 11:30:00 @ 24.25, 75: 08-17 11:30:00 - 08-17 12:00:00 @ 23.49, 76: 08-17 12:00:00 - 08-17 12:30:00 @ 23.43, 77: 08-17 12:30:00 - 08-17 13:00:00 @ 22.33, 78: 08-17 13:00:00 - 08-17 13:30:00 @ 22.76, 79: 08-17 13:30:00 - 08-17 14:00:00 @ 22.3, 80: 08-17 14:00:00 - 08-17 14:30:00 @ 21.41, 81: 08-17 14:30:00 - 08-17 15:00:00 @ 21.65, 82: 08-17 15:00:00 - 08-17 15:30:00 @ 22.95, 83: 08-17 15:30:00 - 08-17 16:00:00 @ 22.83, 84: 08-17 16:00:00 - 08-17 16:30:00 @ 36.84, 85: 08-17 16:30:00 - 08-17 17:00:00 @ 37.54, 86: 08-17 17:00:00 - 08-17 17:30:00 @ 41.79, 87: 08-17 17:30:00 - 08-17 18:00:00 @ 43.7, 88: 08-17 18:00:00 - 08-17 18:30:00 @ 44.34, 89: 08-17 19:00:00 - 08-17 19:30:00 @ 34.79, 90: 08-17 19:30:00 - 08-17 20:00:00 @ 34.76, 91: 08-17 20:00:00 - 08-17 20:30:00 @ 35.62, 92: 08-17 20:30:00 - 08-17 21:00:00 @ 35.3, 93: 08-17 21:00:00 - 08-17 21:30:00 @ 35.89, 94: 08-17 21:30:00 - 08-17 22:00:00 @ 35.71]
2026-08-15 21:40:03.966233: Inverter 0 Charge window will be: 2026-08-16 08:00:00+01:00 - 2026-08-16 08:30:00+01:00 - current SoC 89%, target 41%
2026-08-15 21:40:03.966378: Inverter 0 disabled charge window while waiting for schedule (now 08-15 21:40:00 target set_window_minutes 30 charge start time 08-16 08:00:00) original inverter start time 08-17 00:00:00
2026-08-15 21:40:03.966507: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 21:40:03.966797: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 21:40:03.966907: No export window planned
2026-08-15 21:40:03.967037: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 21:40:03.967102: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 21:40:03.967294: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 21:40:03.967481: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 21:40:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 21:40:03.967565: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 21:40:03.967634: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 21:40:03.967732: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 21:40:03.967769: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 21:40:03.967804: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 21:40:03.967830: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 21:40:03.967854: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 21:40:03.967895: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 21:40:03.967921: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 21:40:03.967989: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 21:40:03.968024: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 21:40:03.968050: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 21:40:03.968073: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 21:40:03.968102: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 21:40:03.968127: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 21:40:03.968155: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 21:40:03.968180: Inverter 0 count register writes 0
2026-08-15 21:40:03.986657: Will not recompute the plan, it is 5.0 minutes old and max age is 10 minutes
2026-08-15 21:40:03.993571: Total inverter register writes now 826
2026-08-15 21:40:04.031230: Info: Completed run status Demand
2026-08-15 21:40:04.038224: Info: record_status Demand
2026-08-15 21:40:04.045926: Saved current settings to /config/predbat_config.json
2026-08-15 21:40:04.046341: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 21:40:42.161351: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 21:40:42.161605: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 21:40:42.161653: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 21:40:42.161887: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 21:40:42.161958: Note: Inverter does not support discharge freeze - disabled
2026-08-15 21:40:42.161980: Note: Inverter does not support charge freeze - disabled
2026-08-15 21:40:42.162008: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 21:42:42.392546: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 21:42:42.392799: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 21:42:42.392854: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 21:42:42.393132: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 21:42:42.393178: Note: Inverter does not support discharge freeze - disabled
2026-08-15 21:42:42.393200: Note: Inverter does not support charge freeze - disabled
2026-08-15 21:42:42.393218: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 21:44:56.637381: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 21:44:56.637577: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 21:44:56.637613: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 21:44:56.637804: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 21:44:56.637838: Note: Inverter does not support discharge freeze - disabled
2026-08-15 21:44:56.637855: Note: Inverter does not support charge freeze - disabled
2026-08-15 21:44:56.637883: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 21:45:00.714631: --------------- PredBat - update at 2026-08-15 21:45:00+01:00 with clock skew 0 minutes, minutes now 1305
2026-08-15 21:45:00.715444: Saved current settings to /config/predbat_config.json
2026-08-15 21:45:00.715579: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 75.0 minutes
2026-08-15 21:45:00.715656: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.2, latest beta is v8.48.2
2026-08-15 21:45:00.715779: Autoupdate: There is an update pending v8.48.2 PV90 and second pass enabled by default, bug fixes - auto update is off
2026-08-15 21:45:00.736216: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 21:45:00.736363: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 21:45:00.736541: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 21:45:00.737156: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 21:45:00.737431: Predbat mode is set to Control charge & discharge
2026-08-15 21:45:00.936670: Found 21602 load_today datapoints going back 28 days
2026-08-15 21:45:00.936839: Using load_power data to fill gaps in load_today data
2026-08-15 21:45:01.755325: Processing 721 30-minute periods for power integration
2026-08-15 21:45:01.911907: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 21:45:01.912035: Car charging hold False, threshold 6.0kWh
2026-08-15 21:45:01.912074: Current data so far today: load 10.45kWh, import 27.8kWh, export 0.0kWh, PV 0kWh
2026-08-15 21:45:01.927552: Cars: SoC: [9.962]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 21:45:01.928013: Standing charge is set to 49.98p
2026-08-15 21:45:01.968383: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 21:45:01.968477: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 21:45:01.968725: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 665.0 minutes
2026-08-15 21:45:01.969208: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 665.0 minutes
2026-08-15 21:45:01.974850: Loaded 95 datapoints of futurerate analysis
2026-08-15 21:45:02.116740: Predicted future rates: ['08-15 00:00:00 => 28.69 / 20.01', '08-15 01:00:00 => 27.33 / 19.31', '08-15 02:00:00 => 26.31 / 18.8', '08-15 03:00:00 => 25.78 / 18.53', '08-15 04:00:00 => 25.59 / 18.43', '08-15 05:00:00 => 25.75 / 18.51', '08-15 06:00:00 => 25.34 / 18.3', '08-15 07:00:00 => 24.12 / 17.68', '08-15 08:00:00 => 22.82 / 17.01', '08-15 09:00:00 => 21.84 / 16.51', '08-15 10:00:00 => 20.22 / 15.68', '08-15 11:00:00 => 17.8 / 14.45', '08-15 12:00:00 => 16.16 / 13.61', '08-15 13:00:00 => 15.55 / 13.3', '08-15 14:00:00 => 15.14 / 13.09', '08-15 15:00:00 => 15.65 / 13.35', '08-15 16:00:00 => 32.68 / 16.13', '08-15 17:00:00 => 37.81 / 18.75', '08-15 18:00:00 => 42.15 / 20.96', '08-15 19:00:00 => 30.88 / 21.13', '08-15 20:00:00 => 31.43 / 21.41', '08-15 21:00:00 => 31.43 / 21.41', '08-15 22:00:00 => 30.37 / 20.87', '08-15 23:00:00 => 29.16 / 20.25', '08-16 00:00:00 => 28.62 / 19.97', '08-16 01:00:00 => 27.52 / 19.41', '08-16 02:00:00 => 26.55 / 18.92', '08-16 03:00:00 => 26.18 / 18.73', '08-16 04:00:00 => 26.12 / 18.7', '08-16 05:00:00 => 26.02 / 18.65', '08-16 06:00:00 => 25.78 / 18.53', '08-16 07:00:00 => 25.43 / 18.35', '08-16 08:00:00 => 24.63 / 17.94', '08-16 09:00:00 => 24.05 / 17.64', '08-16 10:00:00 => 24.59 / 17.92', '08-16 11:00:00 => 24.5 / 17.87', '08-16 12:00:00 => 23.58 / 17.4', '08-16 13:00:00 => 22.93 / 17.07', '08-16 14:00:00 => 21.8 / 16.49', '08-16 15:00:00 => 21.8 / 16.49', '08-16 16:00:00 => 36.93 / 18.3', '08-16 17:00:00 => 39.92 / 19.83', '08-16 18:00:00 => 43.98 / 21.9', '08-16 19:00:00 => 32.83 / 22.13', '08-16 20:00:00 => 33.62 / 22.53']
2026-08-15 21:45:02.155209: Rate min forward looking: now 21.41p at end of forecast 21.41p
2026-08-15 21:45:02.155614: Import rates: min 21.41p, max 45.28p, average 28.67p
2026-08-15 21:45:02.192345: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 21:45:02.192471: Rate thresholds (for charge/export) are import 44.78p (0.0p), export -0.1p (0.0p)
2026-08-15 21:45:02.193805: High export rate found rates in range 99p to -99p
2026-08-15 21:45:02.288566: Low Import rate found rates in range 21.41p to 44.34p
2026-08-15 21:45:02.288699: Car 0 charging is not planned as it is not plugged in
2026-08-15 21:45:02.300599: Battery level now 14.24kWh, -1hr ago 14.56kWh, at midnight 1.66kWh, battery value change in the last hour -5.89p, change today 231.46p, rate_forward 18.39p
2026-08-15 21:45:02.301016: Last hour: net energy 0.01kWh, import 0.01kWh, export 0.0kWh, car 0kWh, load 0.35kWh, net cost 0.29p, import 0.29p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 21:45:02.359502: Today's energy total net 27.8kWh, import 27.8kWh, export 0.0kWh, cost 573.42p, import 523.44p, export 0.0p, carbon 0.0kg
2026-08-15 21:45:02.359648: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 21:45:02.439659: Using weighted-bucket historical load forecast over 14 days
2026-08-15 21:45:02.466388: Today's load divergence 80.89%, in-day adjustment 87.65%, damping 0.95x, yesterday 143.77% today 81.85% blend 9.38%
2026-08-15 21:45:02.466468: Today's predicted so far 12.93kWh with 0.0kWh car/iBoost excluded, 20.9kWh import ignored, and 12.93kWh forecast extra.
2026-08-15 21:45:02.466495: Today's actual load so far 10.51kWh with 0.0kWh car/iBoost excluded, and 20.9kWh import ignored.
2026-08-15 21:45:02.499194: Inverter 0: Type SK Sunsynk
2026-08-15 21:45:02.499286: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 21:45:02.499491: Reserve min: 7%, battery_min: 7%
2026-08-15 21:45:02.499572: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 21:45:02.499846: Inverter 0 SoC: 14.24kW 89%, current charge rate 5000W, current discharge rate 5250W, current battery power 284W, current battery voltage 51.2V, grid power -54W, load power 343W, PV Power 0W
2026-08-15 21:45:02.500044: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 21:45:02.500136: Inverter 0 scheduled charge enable is False
2026-08-15 21:45:02.500165: Inverter 0 charge windows currently []
2026-08-15 21:45:02.500191: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 21:45:02.500297: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 21:45:02.500332: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 21:45:02.500367: Inverter 0 scheduled discharge enable is False
2026-08-15 21:45:02.500489: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 21:45:02.500525: Inverter 0 discharge windows currently []
2026-08-15 21:45:02.500547: Note: Inverter does not support discharge freeze - disabled
2026-08-15 21:45:02.500566: Note: Inverter does not support charge freeze - disabled
2026-08-15 21:45:02.500583: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 21:45:02.559812: Dynamic load last period 0.30kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 21:45:02.559957: Plan was last updated on 2026-08-15 21:35:00+01:00 and is now 10.0 minutes old
2026-08-15 21:45:02.560282: Best charge window [ 16-08 08:00:00 - 16-08 08:30:00 @ 24.06p 41%, 16-08 11:30:00 - 16-08 12:30:00 @ 23.46p 28%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 34%, 16-08 13:30:00 - 16-08 15:00:00 @ 21.75p 100%, 16-08 15:00:00 - 16-08 16:00:00 @ 22.89p 78%, 17-08 12:30:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 17-08 21:00:00 @ 35.25p 100% ]
2026-08-15 21:45:02.560325: Best export window [  ]
2026-08-15 21:45:02.561177: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 21:45:02.563623: Load divergence over 8.0 hours mean 790.61W, min 384.0W, max 2127.6W, std dev 438.5W, divergence 27.73%
2026-08-15 21:45:02.578817: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 21:45:02.578914: LoadML is_calculating False
2026-08-15 21:45:02.578969: Creating pool of 12 processes to match your CPU count
2026-08-15 21:45:02.687318: predict base end_record 08-17 12:40:00, final soc 1.12kWh, metric 1072.88p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 16:05:00, load 36.15kWh, PV 0.0kWh
2026-08-15 21:45:02.810803: Battery has 18.33 hours left - now at 14.24kWh
2026-08-15 21:45:02.864374: predict base10 end_record 08-17 12:40:00, final soc 1.12kWh, metric 1106.44p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 15:10:00, load 37.38kWh, PV 0.0kWh
2026-08-15 21:45:02.933767: predict best10 end_record 08-17 12:40:00, final soc 1.77kWh, metric 1048.61p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 07:10:00, load 37.38kWh, PV 0.0kWh
2026-08-15 21:45:03.006600: predict best end_record 08-17 12:40:00, final soc 1.9kWh, metric 1020.53p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 08:20:00, load 36.15kWh, PV 0.0kWh
2026-08-15 21:45:03.006687: Saving plan best values to HA entities
2026-08-15 21:45:03.163287: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 21:45:03.169379: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0.0
2026-08-15 21:45:03.174921: Best charging limit SoC's [6.5, 4.5, 5.5, 16.0, 12.5, 16.0, 16.0]kWh, export []kWh gives import battery 12.6kWh, house 2.83kWh, export 0.0kWh, metric 1020.53p, metric10 1048.61p
2026-08-15 21:45:03.249834: Marginal costs baseline metric (no standing charge): 920.5598
2026-08-15 21:45:03.490436: Marginal energy costs matrix computed: min=24.55 max=29.19
2026-08-15 21:45:03.563165: Rate array import [{'start': 1305, 'end': 1410, 'rate': 'expensive', 'range': '(29.8p - 31.8p)'}, {'start': 1410, 'end': 2400, 'rate': 'cheap', 'range': '(21.4p - 28.2p)'}, {'start': 2400, 'end': 2430, 'rate': 'expensive', 'range': '(36.8p)'}, {'start': 2430, 'end': 2580, 'rate': 'very expensive', 'range': '(37.5p - 45.3p)'}, {'start': 2580, 'end': 2850, 'rate': 'expensive', 'range': '(30.0p - 35.9p)'}, {'start': 2850, 'end': 3640, 'rate': 'cheap', 'range': '(22.3p - 28.2p)'}] export [{'start': 1305, 'end': 3640, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 21:45:03.563799: - Your estimated bill for today is £5.73 and tomorrow is £3.07
2026-08-15 21:45:03.563837: - Import rates are expensive (29.8p - 31.8p) for the next 1 and three quarters hours and then cheap (21.4p - 28.2p) for the next 16 hours.
2026-08-15 21:45:03.563868: - The battery is currently at 89% and is in eco mode for the next 10 hours.
2026-08-15 21:45:03.563885: - For the next 48 hours there will be no solar generation.
2026-08-15 21:45:03.563900: - You will run out of battery in 34 hours.
2026-08-15 21:45:03.563914: - Your next charge slot will be in 10 hours where import rates will be cheap (24.1p).
2026-08-15 21:45:03.563928: 
2026-08-15 21:45:03.625509: Plan calculation took 1.07 seconds
2026-08-15 21:45:03.628588: No high rate period found
2026-08-15 21:45:03.675817: Import threshold used for optimisation was 26.31p
2026-08-15 21:45:03.739522: Low import rate windows [0: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 1: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 2: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 3: 08-15 23:00:00 - 08-15 23:30:00 @ 30.02, 4: 08-15 23:30:00 - 08-16 00:00:00 @ 27.8, 5: 08-16 00:00:00 - 08-16 00:30:00 @ 28.18, 6: 08-16 00:30:00 - 08-16 01:00:00 @ 27.38, 7: 08-16 01:00:00 - 08-16 01:30:00 @ 26.7, 8: 08-16 01:30:00 - 08-16 02:00:00 @ 26.31, 9: 08-16 02:00:00 - 08-16 02:30:00 @ 25.79, 10: 08-16 02:30:00 - 08-16 03:00:00 @ 25.86, 11: 08-16 03:00:00 - 08-16 03:30:00 @ 26.13, 12: 08-16 03:30:00 - 08-16 04:00:00 @ 25.86, 13: 08-16 04:00:00 - 08-16 04:30:00 @ 26.27, 14: 08-16 04:30:00 - 08-16 05:00:00 @ 26.14, 15: 08-16 05:00:00 - 08-16 05:30:00 @ 27.03, 16: 08-16 05:30:00 - 08-16 06:00:00 @ 26.28, 17: 08-16 06:00:00 - 08-16 06:30:00 @ 25.68, 18: 08-16 06:30:00 - 08-16 07:00:00 @ 26.1, 19: 08-16 07:00:00 - 08-16 07:30:00 @ 24.28, 20: 08-16 07:30:00 - 08-16 08:00:00 @ 24.94, 21: 08-16 08:00:00 - 08-16 08:30:00 @ 24.06, 22: 08-16 08:30:00 - 08-16 09:00:00 @ 24.39, 23: 08-16 09:00:00 - 08-16 09:30:00 @ 24.66, 24: 08-16 09:30:00 - 08-16 10:00:00 @ 24.06, 25: 08-16 10:00:00 - 08-16 10:30:00 @ 25.5, 26: 08-16 10:30:00 - 08-16 11:00:00 @ 24.94, 27: 08-16 11:00:00 - 08-16 11:30:00 @ 24.25, 28: 08-16 11:30:00 - 08-16 12:00:00 @ 23.49, 29: 08-16 12:00:00 - 08-16 12:30:00 @ 23.43, 30: 08-16 12:30:00 - 08-16 13:00:00 @ 22.33, 31: 08-16 13:00:00 - 08-16 13:30:00 @ 22.76, 32: 08-16 13:30:00 - 08-16 14:00:00 @ 22.3, 33: 08-16 14:00:00 - 08-16 14:30:00 @ 21.41, 34: 08-16 14:30:00 - 08-16 15:00:00 @ 21.65, 35: 08-16 15:00:00 - 08-16 15:30:00 @ 22.95, 36: 08-16 15:30:00 - 08-16 16:00:00 @ 22.83, 37: 08-16 16:00:00 - 08-16 16:30:00 @ 36.84, 38: 08-16 16:30:00 - 08-16 17:00:00 @ 37.54, 39: 08-16 17:00:00 - 08-16 17:30:00 @ 41.79, 40: 08-16 17:30:00 - 08-16 18:00:00 @ 43.7, 41: 08-16 18:00:00 - 08-16 18:30:00 @ 44.34, 42: 08-16 19:00:00 - 08-16 19:30:00 @ 34.79, 43: 08-16 19:30:00 - 08-16 20:00:00 @ 34.76, 44: 08-16 20:00:00 - 08-16 20:30:00 @ 35.62, 45: 08-16 20:30:00 - 08-16 21:00:00 @ 35.3, 46: 08-16 21:00:00 - 08-16 21:30:00 @ 35.89, 47: 08-16 21:30:00 - 08-16 22:00:00 @ 35.71, 48: 08-16 22:00:00 - 08-16 22:30:00 @ 33.75, 49: 08-16 22:30:00 - 08-16 23:00:00 @ 32.0, 50: 08-16 23:00:00 - 08-16 23:30:00 @ 30.02, 51: 08-16 23:30:00 - 08-17 00:00:00 @ 27.8, 52: 08-17 00:00:00 - 08-17 00:30:00 @ 28.18, 53: 08-17 00:30:00 - 08-17 01:00:00 @ 27.38, 54: 08-17 01:00:00 - 08-17 01:30:00 @ 26.7, 55: 08-17 01:30:00 - 08-17 02:00:00 @ 26.31, 56: 08-17 02:00:00 - 08-17 02:30:00 @ 25.79, 57: 08-17 02:30:00 - 08-17 03:00:00 @ 25.86, 58: 08-17 03:00:00 - 08-17 03:30:00 @ 26.13, 59: 08-17 03:30:00 - 08-17 04:00:00 @ 25.86, 60: 08-17 04:00:00 - 08-17 04:30:00 @ 26.27, 61: 08-17 04:30:00 - 08-17 05:00:00 @ 26.14, 62: 08-17 05:00:00 - 08-17 05:30:00 @ 27.03, 63: 08-17 05:30:00 - 08-17 06:00:00 @ 26.28, 64: 08-17 06:00:00 - 08-17 06:30:00 @ 25.68, 65: 08-17 06:30:00 - 08-17 07:00:00 @ 26.1, 66: 08-17 07:00:00 - 08-17 07:30:00 @ 24.28, 67: 08-17 07:30:00 - 08-17 08:00:00 @ 24.94, 68: 08-17 08:00:00 - 08-17 08:30:00 @ 24.06, 69: 08-17 08:30:00 - 08-17 09:00:00 @ 24.39, 70: 08-17 09:00:00 - 08-17 09:30:00 @ 24.66, 71: 08-17 09:30:00 - 08-17 10:00:00 @ 24.06, 72: 08-17 10:00:00 - 08-17 10:30:00 @ 25.5, 73: 08-17 10:30:00 - 08-17 11:00:00 @ 24.94, 74: 08-17 11:00:00 - 08-17 11:30:00 @ 24.25, 75: 08-17 11:30:00 - 08-17 12:00:00 @ 23.49, 76: 08-17 12:00:00 - 08-17 12:30:00 @ 23.43, 77: 08-17 12:30:00 - 08-17 13:00:00 @ 22.33, 78: 08-17 13:00:00 - 08-17 13:30:00 @ 22.76, 79: 08-17 13:30:00 - 08-17 14:00:00 @ 22.3, 80: 08-17 14:00:00 - 08-17 14:30:00 @ 21.41, 81: 08-17 14:30:00 - 08-17 15:00:00 @ 21.65, 82: 08-17 15:00:00 - 08-17 15:30:00 @ 22.95, 83: 08-17 15:30:00 - 08-17 16:00:00 @ 22.83, 84: 08-17 16:00:00 - 08-17 16:30:00 @ 36.84, 85: 08-17 16:30:00 - 08-17 17:00:00 @ 37.54, 86: 08-17 17:00:00 - 08-17 17:30:00 @ 41.79, 87: 08-17 17:30:00 - 08-17 18:00:00 @ 43.7, 88: 08-17 18:00:00 - 08-17 18:30:00 @ 44.34, 89: 08-17 19:00:00 - 08-17 19:30:00 @ 34.79, 90: 08-17 19:30:00 - 08-17 20:00:00 @ 34.76, 91: 08-17 20:00:00 - 08-17 20:30:00 @ 35.62, 92: 08-17 20:30:00 - 08-17 21:00:00 @ 35.3, 93: 08-17 21:00:00 - 08-17 21:30:00 @ 35.89, 94: 08-17 21:30:00 - 08-17 22:00:00 @ 35.71]
2026-08-15 21:45:03.748838: Inverter 0 Charge window will be: 2026-08-16 08:00:00+01:00 - 2026-08-16 08:30:00+01:00 - current SoC 89%, target 41%
2026-08-15 21:45:03.749013: Inverter 0 disabled charge window while waiting for schedule (now 08-15 21:45:00 target set_window_minutes 30 charge start time 08-16 08:00:00) original inverter start time 08-17 00:00:00
2026-08-15 21:45:03.749123: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 21:45:03.749340: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 21:45:03.749420: No export window planned
2026-08-15 21:45:03.749523: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 21:45:03.749626: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 21:45:03.749909: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 21:45:03.750067: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 21:45:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 21:45:03.750121: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 21:45:03.750181: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 21:45:03.750254: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 21:45:03.750288: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 21:45:03.750312: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 21:45:03.750336: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 21:45:03.750357: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 21:45:03.750377: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 21:45:03.750396: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 21:45:03.750450: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 21:45:03.750475: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 21:45:03.750513: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 21:45:03.750534: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 21:45:03.750557: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 21:45:03.750577: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 21:45:03.750596: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 21:45:03.750613: Inverter 0 count register writes 0
2026-08-15 21:45:03.765255: Will recompute the plan as it is now 10.0 minutes old and will exceed the max age of 10 minutes before the next run
2026-08-15 21:45:03.765521: Recompute is saving previous plan...
2026-08-15 21:45:03.768784: Best charge window [ 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 30.02p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 27.8p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.18p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.38p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 26.7p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.31p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.79p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 25.86p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.13p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 25.86p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.27p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.14p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 27.03p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.28p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.68p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 26.1p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 24.28p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 24.94p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.06p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.39p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.66p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.06p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 25.5p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 24.94p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 24.25p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 23.49p 0%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.43p 0%, 16-08 12:30:00 - 16-08 13:00:00 @ 22.33p 0%, 16-08 13:00:00 - 16-08 13:30:00 @ 22.76p 0%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 0%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 0%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.65p 0%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.95p 0%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.83p 0%, 16-08 16:00:00 - 16-08 16:30:00 @ 36.84p 0%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.54p 0%, 16-08 17:00:00 - 16-08 17:30:00 @ 41.79p 0%, 16-08 17:30:00 - 16-08 18:00:00 @ 43.7p 0%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.34p 0%, 16-08 19:00:00 - 16-08 19:30:00 @ 34.79p 0%, 16-08 19:30:00 - 16-08 20:00:00 @ 34.76p 0%, 16-08 20:00:00 - 16-08 20:30:00 @ 35.62p 0%, 16-08 20:30:00 - 16-08 21:00:00 @ 35.3p 0%, 16-08 21:00:00 - 16-08 21:30:00 @ 35.89p 0%, 16-08 21:30:00 - 16-08 22:00:00 @ 35.71p 0%, 16-08 22:00:00 - 16-08 22:30:00 @ 33.75p 0%, 16-08 22:30:00 - 16-08 23:00:00 @ 32.0p 0%, 16-08 23:00:00 - 16-08 23:30:00 @ 30.02p 0%, 16-08 23:30:00 - 17-08 00:00:00 @ 27.8p 0%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.18p 0%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.38p 0%, 17-08 01:00:00 - 17-08 01:30:00 @ 26.7p 0%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.31p 0%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.79p 0%, 17-08 02:30:00 - 17-08 03:00:00 @ 25.86p 0%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.13p 0%, 17-08 03:30:00 - 17-08 04:00:00 @ 25.86p 0%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.27p 0%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.14p 0%, 17-08 05:00:00 - 17-08 05:30:00 @ 27.03p 0%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.28p 0%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.68p 0%, 17-08 06:30:00 - 17-08 07:00:00 @ 26.1p 0%, 17-08 07:00:00 - 17-08 07:30:00 @ 24.28p 0%, 17-08 07:30:00 - 17-08 08:00:00 @ 24.94p 0%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.06p 0%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.39p 0%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.66p 0%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.06p 0%, 17-08 10:00:00 - 17-08 10:30:00 @ 25.5p 0%, 17-08 10:30:00 - 17-08 11:00:00 @ 24.94p 0%, 17-08 11:00:00 - 17-08 11:30:00 @ 24.25p 0%, 17-08 11:30:00 - 17-08 12:00:00 @ 23.49p 0%, 17-08 12:00:00 - 17-08 12:30:00 @ 23.43p 0%, 17-08 12:30:00 - 17-08 13:00:00 @ 22.33p 0%, 17-08 13:00:00 - 17-08 13:30:00 @ 22.76p 0%, 17-08 13:30:00 - 17-08 14:00:00 @ 22.3p 0%, 17-08 14:00:00 - 17-08 14:30:00 @ 21.41p 0%, 17-08 14:30:00 - 17-08 15:00:00 @ 21.65p 0%, 17-08 15:00:00 - 17-08 15:30:00 @ 22.95p 0%, 17-08 15:30:00 - 17-08 16:00:00 @ 22.83p 0%, 17-08 16:00:00 - 17-08 16:30:00 @ 36.84p 0%, 17-08 16:30:00 - 17-08 17:00:00 @ 37.54p 0%, 17-08 17:00:00 - 17-08 17:30:00 @ 41.79p 0%, 17-08 17:30:00 - 17-08 18:00:00 @ 43.7p 0%, 17-08 18:00:00 - 17-08 18:30:00 @ 44.34p 0%, 17-08 19:00:00 - 17-08 19:30:00 @ 34.79p 0%, 17-08 19:30:00 - 17-08 20:00:00 @ 34.76p 0%, 17-08 20:00:00 - 17-08 20:30:00 @ 35.62p 0%, 17-08 20:30:00 - 17-08 21:00:00 @ 35.3p 0%, 17-08 21:00:00 - 17-08 21:30:00 @ 35.89p 0%, 17-08 21:30:00 - 17-08 22:00:00 @ 35.71p 0% ]
2026-08-15 21:45:03.768880: Best export window [  ]
2026-08-15 21:45:03.769778: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 21:45:03.772906: Load divergence over 8.0 hours mean 790.61W, min 384.0W, max 2127.6W, std dev 438.5W, divergence 27.73%
2026-08-15 21:45:03.789225: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 21:45:03.789341: LoadML is_calculating False
2026-08-15 21:45:03.789403: Creating pool of 12 processes to match your CPU count
2026-08-15 21:45:03.865832: Calculate Best options: mode(Control charge & discharge), calculate_export_oncharge(False), calculate_export_on_pv(True), set_export_freeze_only(False), set_discharge_during_charge(True), combine_charge_slots(False), combine_export_slots(False), combine_rate_threshold(0.0), best_soc_min(0.0 kWh), best_soc_max(0.0 kWh), best_soc_keep(0.0 kWh), inverter_loss(4%), battery_loss(3%), battery_loss_discharge (3%), inverter_hybrid(True), metric_min_improvement(0.0p), metric_min_improvement_export(0.1p), metric_min_improvement_export_freeze(0.1p), metric_battery_cycle(0.0p/kWh), metric_battery_value_scaling(1.0 x) 
2026-08-15 21:45:03.867729: Optimise levels pass started at 2026-08-15 21:45:03
2026-08-15 21:45:03.867793: Optimise all windows, total charge 94 export 1
2026-08-15 21:45:04.753690: >> Region optimisation pass width 960 gives best_metric 1029.4p, best_cost 1050.58p, best_cycle 35.48kWh, best_import 21.06kWh
2026-08-15 21:45:05.160416: >> Region optimisation pass width 480 gives best_metric 1029.4p, best_cost 1050.58p, best_cycle 35.48kWh, best_import 21.06kWh
2026-08-15 21:45:05.620322: >> Region optimisation pass width 240 gives best_metric 1029.4p, best_cost 1050.58p, best_cycle 35.48kWh, best_import 21.06kWh
2026-08-15 21:45:07.145091: >> Region optimisation pass width 120 gives best_metric 1028.28p, best_cost 1049.48p, best_cycle 35.29kWh, best_import 21.05kWh
2026-08-15 21:45:07.145696: Calculated end_record as 08-17 12:30:00 based on best_price 22.95p, next_charge_start 08-16 12:30:00, max_windows 77
2026-08-15 21:45:07.145991: Optimise levels pass ended at 2026-08-15 21:45:07, duration 3.3 seconds tried 332 combinations
2026-08-15 21:45:07.146120: Set best_price_charge_level 24.6p, best_price_export_level 0p, best_price_charge 22.95p, best_cost_export 0p, best_metric 1028.28p, best_keep 0kWh, best_cycle 35.29kWh, best_carbon 0kg, best_import 21.05kWh
2026-08-15 21:45:07.167708: Starting detailed optimisation end_record 08-17 12:30:00, best_price_charge 22.95p, best_price_export 0p. lowest_price_charge 21.41p with charge limits [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5.75, 0, 0, 9.75, 9.75, 9.75, 9.75, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0]kWh and export limits []kWh
2026-08-15 21:45:12.012926: Tweak plan optimisation started metric 883.6p, cost 899.65p
2026-08-15 21:45:12.318789: Tweak optimisation finished metric 883.6p, cost 899.65p, metric_keep 0kWh, cycle 22.33kWh, carbon 0kg, import 14.03kWh, changed 8 window(s)
2026-08-15 21:45:12.337985: Swap charge optimisation started metric 883.6p, cost 899.65p, min_improvement_swap 0.1p
2026-08-15 21:45:19.583999: Swap charge optimisation finished metric 883.6p, cost 899.65p
2026-08-15 21:45:19.692619: Pruned 2 dead plan slot(s) in 11 trial(s), nominal metric 879.05p -> 879.07p, plan now metric 883.72p, cost 899.67p, cycle 22.49kWh, import 14.04kWh
2026-08-15 21:45:19.706284: Raw charge windows [ 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 30.02p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 27.8p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.18p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.38p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 26.7p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.31p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.79p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 25.86p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.13p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 25.86p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.27p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.14p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 27.03p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.28p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.68p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 26.1p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 24.28p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 24.94p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.06p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.39p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.66p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.06p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 25.5p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 24.94p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 24.25p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 23.49p 28%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.43p 28%, 16-08 12:30:00 - 16-08 13:00:00 @ 22.33p 34%, 16-08 13:00:00 - 16-08 13:30:00 @ 22.76p 34%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 34%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 100%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.65p 59%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.95p 59%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.83p 59%, 16-08 16:00:00 - 16-08 16:30:00 @ 36.84p 0%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.54p 0%, 16-08 17:00:00 - 16-08 17:30:00 @ 41.79p 0%, 16-08 17:30:00 - 16-08 18:00:00 @ 43.7p 0%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.34p 0%, 16-08 19:00:00 - 16-08 19:30:00 @ 34.79p 0%, 16-08 19:30:00 - 16-08 20:00:00 @ 34.76p 0%, 16-08 20:00:00 - 16-08 20:30:00 @ 35.62p 0%, 16-08 20:30:00 - 16-08 21:00:00 @ 35.3p 0%, 16-08 21:00:00 - 16-08 21:30:00 @ 35.89p 0%, 16-08 21:30:00 - 16-08 22:00:00 @ 35.71p 0%, 16-08 22:00:00 - 16-08 22:30:00 @ 33.75p 0%, 16-08 22:30:00 - 16-08 23:00:00 @ 32.0p 0%, 16-08 23:00:00 - 16-08 23:30:00 @ 30.02p 0%, 16-08 23:30:00 - 17-08 00:00:00 @ 27.8p 0%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.18p 0%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.38p 0%, 17-08 01:00:00 - 17-08 01:30:00 @ 26.7p 0%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.31p 0%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.79p 0%, 17-08 02:30:00 - 17-08 03:00:00 @ 25.86p 0%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.13p 0%, 17-08 03:30:00 - 17-08 04:00:00 @ 25.86p 0%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.27p 0%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.14p 0%, 17-08 05:00:00 - 17-08 05:30:00 @ 27.03p 0%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.28p 0%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.68p 0%, 17-08 06:30:00 - 17-08 07:00:00 @ 26.1p 0%, 17-08 07:00:00 - 17-08 07:30:00 @ 24.28p 0%, 17-08 07:30:00 - 17-08 08:00:00 @ 24.94p 0%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.06p 0%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.39p 0%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.66p 0%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.06p 0%, 17-08 10:00:00 - 17-08 10:30:00 @ 25.5p 0%, 17-08 10:30:00 - 17-08 11:00:00 @ 24.94p 0%, 17-08 11:00:00 - 17-08 11:30:00 @ 24.25p 0%, 17-08 11:30:00 - 17-08 12:00:00 @ 23.49p 0%, 17-08 12:00:00 - 17-08 12:30:00 @ 23.43p 0%, 17-08 12:30:00 - 17-08 13:00:00 @ 22.33p 100%, 17-08 13:00:00 - 17-08 13:30:00 @ 22.76p 100%, 17-08 13:30:00 - 17-08 14:00:00 @ 22.3p 100%, 17-08 14:00:00 - 17-08 14:30:00 @ 21.41p 100%, 17-08 14:30:00 - 17-08 15:00:00 @ 21.65p 100%, 17-08 15:00:00 - 17-08 15:30:00 @ 22.95p 100%, 17-08 15:30:00 - 17-08 16:00:00 @ 22.83p 100%, 17-08 16:00:00 - 17-08 16:30:00 @ 36.84p 100%, 17-08 16:30:00 - 17-08 17:00:00 @ 37.54p 100%, 17-08 17:00:00 - 17-08 17:30:00 @ 41.79p 100%, 17-08 17:30:00 - 17-08 18:00:00 @ 43.7p 100%, 17-08 18:00:00 - 17-08 18:30:00 @ 44.34p 100%, 17-08 19:00:00 - 17-08 19:30:00 @ 34.79p 100%, 17-08 19:30:00 - 17-08 20:00:00 @ 34.76p 100%, 17-08 20:00:00 - 17-08 20:30:00 @ 35.62p 100%, 17-08 20:30:00 - 17-08 21:00:00 @ 35.3p 100%, 17-08 21:00:00 - 17-08 21:30:00 @ 35.89p 100%, 17-08 21:30:00 - 17-08 22:00:00 @ 35.71p 100% ] reserve 1.12
2026-08-15 21:45:19.706889: Unclipped charge windows [ 16-08 11:30:00 - 16-08 12:30:00 @ 23.46p 28%, 16-08 12:30:00 - 16-08 14:00:00 @ 22.43p 34%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 100%, 16-08 14:30:00 - 16-08 16:00:00 @ 22.56p 59%, 17-08 12:30:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 17-08 22:00:00 @ 35.64p 100% ] reserve 1.12
2026-08-15 21:45:19.707202: Unfiltered charge windows [ 16-08 11:30:00 - 16-08 12:30:00 @ 23.46p 28%, 16-08 12:30:00 - 16-08 14:00:00 @ 22.43p 34%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 100%, 16-08 14:30:00 - 16-08 16:00:00 @ 22.56p 59%, 17-08 12:30:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 17-08 22:00:00 @ 35.64p 100% ] reserve 1.12
2026-08-15 21:45:19.707447: Filtered charge windows [ 16-08 11:30:00 - 16-08 12:30:00 @ 23.46p 28%, 16-08 12:30:00 - 16-08 14:00:00 @ 22.43p 34%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 100%, 16-08 14:30:00 - 16-08 16:00:00 @ 22.56p 59%, 17-08 12:30:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 17-08 22:00:00 @ 35.64p 100% ] reserve 1.12
2026-08-15 21:45:19.743915: Previous plan best metric is 882.98 (cost 898.98) and new plan best metric is 883.6 (cost 899.65)
2026-08-15 21:45:19.744158: New plan metric is not significantly better (metric_min_improvement_plan 2.0) than previous plan, using previous plan
2026-08-15 21:45:19.744387: Plan valid is now true after recompute was False
2026-08-15 21:45:19.768696: predict base end_record 08-17 12:30:00, final soc 1.12kWh, metric 1069.74p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 16:05:00, load 36.01kWh, PV 0.0kWh
2026-08-15 21:45:19.879315: Battery has 18.33 hours left - now at 14.24kWh
2026-08-15 21:45:19.918525: predict base10 end_record 08-17 12:30:00, final soc 1.12kWh, metric 1103.15p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 15:10:00, load 37.23kWh, PV 0.0kWh
2026-08-15 21:45:19.990903: predict best10 end_record 08-17 12:30:00, final soc 1.12kWh, metric 1029.8p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 07:10:00, load 37.23kWh, PV 0.0kWh
2026-08-15 21:45:20.074965: predict best end_record 08-17 12:30:00, final soc 1.12kWh, metric 998.77p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 08:20:00, load 36.01kWh, PV 0.0kWh
2026-08-15 21:45:20.075065: Saving plan best values to HA entities
2026-08-15 21:45:20.223224: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 21:45:20.228359: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0.0
2026-08-15 21:45:20.233689: Best charging limit SoC's [6.5, 4.5, 5.5, 16.0, 12.5, 16.0, 16.0]kWh, export []kWh gives import battery 11.63kWh, house 2.83kWh, export 0.0kWh, metric 998.77p, metric10 1029.8p
2026-08-15 21:45:20.304800: Marginal costs baseline metric (no standing charge): 898.8062
2026-08-15 21:45:20.553286: Marginal energy costs matrix computed: min=24.55 max=29.19
2026-08-15 21:45:20.625407: Rate array import [{'start': 1305, 'end': 1410, 'rate': 'expensive', 'range': '(29.8p - 31.8p)'}, {'start': 1410, 'end': 2400, 'rate': 'cheap', 'range': '(21.4p - 28.2p)'}, {'start': 2400, 'end': 2430, 'rate': 'expensive', 'range': '(36.8p)'}, {'start': 2430, 'end': 2580, 'rate': 'very expensive', 'range': '(37.5p - 45.3p)'}, {'start': 2580, 'end': 2850, 'rate': 'expensive', 'range': '(30.0p - 35.9p)'}, {'start': 2850, 'end': 3630, 'rate': 'cheap', 'range': '(23.4p - 28.2p)'}] export [{'start': 1305, 'end': 3630, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 21:45:20.626151: - Your estimated bill for today is £5.73 and tomorrow is £3.07
2026-08-15 21:45:20.626203: - Import rates are expensive (29.8p - 31.8p) for the next 1 and three quarters hours and then cheap (21.4p - 28.2p) for the next 16 hours.
2026-08-15 21:45:20.626238: - The battery is currently at 89% and is in eco mode for the next 10 hours.
2026-08-15 21:45:20.626267: - For the next 48 hours there will be no solar generation.
2026-08-15 21:45:20.626294: - You will run out of battery in 34 hours.
2026-08-15 21:45:20.626321: - Your next charge slot will be in 10 hours where import rates will be cheap (24.1p).
2026-08-15 21:45:20.626371: 
2026-08-15 21:45:20.694658: Plan calculation took 16.93 seconds
2026-08-15 21:45:20.695129: Inverter 0: Type SK Sunsynk
2026-08-15 21:45:20.695196: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 21:45:20.695536: Reserve min: 7%, battery_min: 7%
2026-08-15 21:45:20.695665: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 21:45:20.696156: Inverter 0 SoC: 14.24kW 89%, current charge rate 5000W, current discharge rate 5250W, current battery power 284W, current battery voltage 51.2V, grid power -54W, load power 343W, PV Power 0W
2026-08-15 21:45:20.696409: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 21:45:20.696523: Inverter 0 scheduled charge enable is False
2026-08-15 21:45:20.696564: Inverter 0 charge windows currently []
2026-08-15 21:45:20.696595: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 21:45:20.696714: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 21:45:20.696751: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 21:45:20.696791: Inverter 0 scheduled discharge enable is False
2026-08-15 21:45:20.697088: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 21:45:20.697153: Inverter 0 discharge windows currently []
2026-08-15 21:45:20.697193: Note: Inverter does not support discharge freeze - disabled
2026-08-15 21:45:20.697231: Note: Inverter does not support charge freeze - disabled
2026-08-15 21:45:20.697257: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 21:45:20.759040: Inverter 0 Charge window will be: 2026-08-16 08:00:00+01:00 - 2026-08-16 08:30:00+01:00 - current SoC 89%, target 41%
2026-08-15 21:45:20.759232: Inverter 0 disabled charge window while waiting for schedule (now 08-15 21:45:00 target set_window_minutes 30 charge start time 08-16 08:00:00) original inverter start time 08-17 00:00:00
2026-08-15 21:45:20.759319: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 21:45:20.759564: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 21:45:20.759668: No export window planned
2026-08-15 21:45:20.759811: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 21:45:20.759856: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 21:45:20.760100: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 21:45:20.760313: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 21:45:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 21:45:20.760378: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 21:45:20.760461: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 21:45:20.760581: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 21:45:20.760638: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 21:45:20.760679: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 21:45:20.760716: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 21:45:20.760757: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 21:45:20.760791: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 21:45:20.760826: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 21:45:20.760924: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 21:45:20.761015: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 21:45:20.761063: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 21:45:20.761102: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 21:45:20.761135: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 21:45:20.761174: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 21:45:20.761218: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 21:45:20.761246: Inverter 0 count register writes 0
2026-08-15 21:45:20.782752: Total inverter register writes now 826
2026-08-15 21:45:20.816662: Info: Completed run status Demand
2026-08-15 21:45:20.824322: Info: record_status Demand
2026-08-15 21:45:20.831432: Saved current settings to /config/predbat_config.json
2026-08-15 21:45:20.831767: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 21:45:46.133842: ML Component: Fetching 28 days of load history from ['sensor.sunsynk_day_load_energy']
2026-08-15 21:45:47.234527: Processing 1345 30-minute periods for power integration
2026-08-15 21:45:47.352626: ML Component: Car charging hold False, car energy reported load False
2026-08-15 21:45:47.441447: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 21:45:47.531897: ML Temperature data points: 49096
2026-08-15 21:45:47.769708: ML Component: Fetched 8064 load data points, 28.0 days of history
2026-08-15 21:45:47.804583: ML Component: Data fetch completed, load data age 57.0 days, 16525 data points
2026-08-15 21:45:47.805277: ML Component: No training needed, model age is 1.34 hours
2026-08-15 21:45:47.805378: ML Component: Generating predictions load data age 57.0 days, 16525 data points
2026-08-15 21:45:47.919276: ML Predictor: Starting autoregressive prediction loop for 576 steps (48.0 hours), prev_energy value 0.0223 max_dow {0: 0.10210624996256083, 1: 0.10689687554407865, 2: 0.11675312483031303, 3: 0.12371874963529408, 4: 0.16831249989941716, 5: 0.09602222218207186, 6: 0.10714375132601708}
2026-08-15 21:45:54.482196: ML Component: Generated 576 predictions (total 30.06 kWh over 48h)
2026-08-15 21:45:54.514349: ML Component: Prediction cycle completed
2026-08-15 21:45:54.617931: ML Component: Saved 16525 steps (57 days) of history to /config/predbat_ml_history.npz
2026-08-15 21:45:56.949259: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 21:45:56.949591: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 21:45:56.949688: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 21:45:56.949972: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 21:45:56.950043: Note: Inverter does not support discharge freeze - disabled
2026-08-15 21:45:56.950066: Note: Inverter does not support charge freeze - disabled
2026-08-15 21:45:56.950083: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 21:47:57.170742: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 21:47:57.171014: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 21:47:57.171059: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 21:47:57.171210: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 21:47:57.171271: Note: Inverter does not support discharge freeze - disabled
2026-08-15 21:47:57.171312: Note: Inverter does not support charge freeze - disabled
2026-08-15 21:47:57.171331: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 21:49:57.396379: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 21:49:57.396646: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 21:49:57.396686: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 21:49:57.396844: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 21:49:57.396900: Note: Inverter does not support discharge freeze - disabled
2026-08-15 21:49:57.396940: Note: Inverter does not support charge freeze - disabled
2026-08-15 21:49:57.396997: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 21:50:00.493555: --------------- PredBat - update at 2026-08-15 21:50:00+01:00 with clock skew 0 minutes, minutes now 1310
2026-08-15 21:50:00.494510: Saved current settings to /config/predbat_config.json
2026-08-15 21:50:00.494705: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 80.0 minutes
2026-08-15 21:50:00.494855: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.2, latest beta is v8.48.2
2026-08-15 21:50:00.495042: Autoupdate: There is an update pending v8.48.2 PV90 and second pass enabled by default, bug fixes - auto update is off
2026-08-15 21:50:00.514475: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 21:50:00.514604: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 21:50:00.514838: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 21:50:00.515409: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 21:50:00.515569: Predbat mode is set to Control charge & discharge
2026-08-15 21:50:00.725933: Found 21602 load_today datapoints going back 28 days
2026-08-15 21:50:00.726095: Using load_power data to fill gaps in load_today data
2026-08-15 21:50:01.584395: Processing 721 30-minute periods for power integration
2026-08-15 21:50:01.777456: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 21:50:01.777598: Car charging hold False, threshold 6.0kWh
2026-08-15 21:50:01.777644: Current data so far today: load 10.4kWh, import 27.8kWh, export 0.0kWh, PV 0kWh
2026-08-15 21:50:01.796236: Cars: SoC: [9.962]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 21:50:01.796753: Standing charge is set to 49.98p
2026-08-15 21:50:01.846705: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 21:50:01.846813: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 21:50:01.847051: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 670.0 minutes
2026-08-15 21:50:01.847448: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 670.0 minutes
2026-08-15 21:50:01.853685: Loaded 95 datapoints of futurerate analysis
2026-08-15 21:50:02.014587: Predicted future rates: ['08-15 00:00:00 => 28.69 / 20.01', '08-15 01:00:00 => 27.33 / 19.31', '08-15 02:00:00 => 26.31 / 18.8', '08-15 03:00:00 => 25.78 / 18.53', '08-15 04:00:00 => 25.59 / 18.43', '08-15 05:00:00 => 25.75 / 18.51', '08-15 06:00:00 => 25.34 / 18.3', '08-15 07:00:00 => 24.12 / 17.68', '08-15 08:00:00 => 22.82 / 17.01', '08-15 09:00:00 => 21.84 / 16.51', '08-15 10:00:00 => 20.22 / 15.68', '08-15 11:00:00 => 17.8 / 14.45', '08-15 12:00:00 => 16.16 / 13.61', '08-15 13:00:00 => 15.55 / 13.3', '08-15 14:00:00 => 15.14 / 13.09', '08-15 15:00:00 => 15.65 / 13.35', '08-15 16:00:00 => 32.68 / 16.13', '08-15 17:00:00 => 37.81 / 18.75', '08-15 18:00:00 => 42.15 / 20.96', '08-15 19:00:00 => 30.88 / 21.13', '08-15 20:00:00 => 31.43 / 21.41', '08-15 21:00:00 => 31.43 / 21.41', '08-15 22:00:00 => 30.37 / 20.87', '08-15 23:00:00 => 29.16 / 20.25', '08-16 00:00:00 => 28.62 / 19.97', '08-16 01:00:00 => 27.52 / 19.41', '08-16 02:00:00 => 26.55 / 18.92', '08-16 03:00:00 => 26.18 / 18.73', '08-16 04:00:00 => 26.12 / 18.7', '08-16 05:00:00 => 26.02 / 18.65', '08-16 06:00:00 => 25.78 / 18.53', '08-16 07:00:00 => 25.43 / 18.35', '08-16 08:00:00 => 24.63 / 17.94', '08-16 09:00:00 => 24.05 / 17.64', '08-16 10:00:00 => 24.59 / 17.92', '08-16 11:00:00 => 24.5 / 17.87', '08-16 12:00:00 => 23.58 / 17.4', '08-16 13:00:00 => 22.93 / 17.07', '08-16 14:00:00 => 21.8 / 16.49', '08-16 15:00:00 => 21.8 / 16.49', '08-16 16:00:00 => 36.93 / 18.3', '08-16 17:00:00 => 39.92 / 19.83', '08-16 18:00:00 => 43.98 / 21.9', '08-16 19:00:00 => 32.83 / 22.13', '08-16 20:00:00 => 33.62 / 22.53']
2026-08-15 21:50:02.065369: Rate min forward looking: now 21.41p at end of forecast 21.41p
2026-08-15 21:50:02.065759: Import rates: min 21.41p, max 45.28p, average 28.67p
2026-08-15 21:50:02.110276: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 21:50:02.110669: Rate thresholds (for charge/export) are import 44.78p (0.0p), export -0.1p (0.0p)
2026-08-15 21:50:02.112116: High export rate found rates in range 99p to -99p
2026-08-15 21:50:02.220502: Low Import rate found rates in range 21.41p to 44.34p
2026-08-15 21:50:02.220619: Car 0 charging is not planned as it is not plugged in
2026-08-15 21:50:02.236675: Battery level now 14.24kWh, -1hr ago 14.56kWh, at midnight 1.66kWh, battery value change in the last hour -5.89p, change today 231.46p, rate_forward 18.39p
2026-08-15 21:50:02.237133: Last hour: net energy 0.0kWh, import 0.0kWh, export 0.0kWh, car 0kWh, load 0.28kWh, net cost 0.15p, import 0.15p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 21:50:02.300483: Today's energy total net 27.8kWh, import 27.8kWh, export 0.0kWh, cost 573.42p, import 523.44p, export 0.0p, carbon 0.0kg
2026-08-15 21:50:02.300650: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 21:50:02.397345: Using weighted-bucket historical load forecast over 14 days
2026-08-15 21:50:02.429625: Today's load divergence 79.79%, in-day adjustment 86.49%, damping 0.95x, yesterday 143.77% today 80.8% blend 9.03%
2026-08-15 21:50:02.429716: Today's predicted so far 12.96kWh with 0.0kWh car/iBoost excluded, 20.88kWh import ignored, and 12.96kWh forecast extra.
2026-08-15 21:50:02.430027: Today's actual load so far 10.42kWh with 0.0kWh car/iBoost excluded, and 20.88kWh import ignored.
2026-08-15 21:50:02.460222: Inverter 0: Type SK Sunsynk
2026-08-15 21:50:02.460317: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 21:50:02.460497: Reserve min: 7%, battery_min: 7%
2026-08-15 21:50:02.460568: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 21:50:02.460833: Inverter 0 SoC: 14.24kW 89%, current charge rate 5000W, current discharge rate 5250W, current battery power 275W, current battery voltage 51.2V, grid power -54W, load power 333W, PV Power 0W
2026-08-15 21:50:02.461035: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 21:50:02.461129: Inverter 0 scheduled charge enable is False
2026-08-15 21:50:02.461168: Inverter 0 charge windows currently []
2026-08-15 21:50:02.461195: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 21:50:02.461310: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 21:50:02.461345: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 21:50:02.461380: Inverter 0 scheduled discharge enable is False
2026-08-15 21:50:02.461506: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 21:50:02.461543: Inverter 0 discharge windows currently []
2026-08-15 21:50:02.461565: Note: Inverter does not support discharge freeze - disabled
2026-08-15 21:50:02.461593: Note: Inverter does not support charge freeze - disabled
2026-08-15 21:50:02.461611: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 21:50:02.520082: Dynamic load last period 0.00kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 21:50:02.520198: Plan was last updated on 2026-08-15 21:45:00+01:00 and is now 5.0 minutes old
2026-08-15 21:50:02.520516: Best charge window [ 16-08 08:00:00 - 16-08 08:30:00 @ 24.06p 41%, 16-08 11:30:00 - 16-08 12:30:00 @ 23.46p 28%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 34%, 16-08 13:30:00 - 16-08 15:00:00 @ 21.75p 100%, 16-08 15:00:00 - 16-08 16:00:00 @ 22.89p 78%, 17-08 12:30:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 17-08 21:00:00 @ 35.25p 100% ]
2026-08-15 21:50:02.520559: Best export window [  ]
2026-08-15 21:50:02.521542: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 21:50:02.524786: Load divergence over 8.0 hours mean 789.06W, min 373.8W, max 1997.4W, std dev 426.66W, divergence 27.04%
2026-08-15 21:50:02.544716: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 21:50:02.544853: LoadML is_calculating False
2026-08-15 21:50:02.544976: Creating pool of 12 processes to match your CPU count
2026-08-15 21:50:02.668983: predict base end_record 08-17 12:35:00, final soc 1.12kWh, metric 1069.24p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 16:15:00, load 35.98kWh, PV 0.0kWh
2026-08-15 21:50:02.798823: Battery has 18.42 hours left - now at 14.24kWh
2026-08-15 21:50:02.838941: predict base10 end_record 08-17 12:35:00, final soc 1.12kWh, metric 1103.62p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 15:15:00, load 37.2kWh, PV 0.0kWh
2026-08-15 21:50:02.916741: predict best10 end_record 08-17 12:35:00, final soc 1.44kWh, metric 1037.84p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 07:05:00, load 37.2kWh, PV 0.0kWh
2026-08-15 21:50:02.987900: predict best end_record 08-17 12:35:00, final soc 1.51kWh, metric 1008.41p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 08:15:00, load 35.98kWh, PV 0.0kWh
2026-08-15 21:50:02.987975: Saving plan best values to HA entities
2026-08-15 21:50:03.143586: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 21:50:03.148647: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 21:50:03.153359: Best charging limit SoC's [6.5, 4.5, 5.5, 16.0, 12.5, 16.0, 16.0]kWh, export []kWh gives import battery 12.05kWh, house 2.85kWh, export 0.0kWh, metric 1008.41p, metric10 1037.84p
2026-08-15 21:50:03.232075: Marginal costs baseline metric (no standing charge): 908.4435
2026-08-15 21:50:03.533229: Marginal energy costs matrix computed: min=24.72 max=29.09
2026-08-15 21:50:03.626133: Rate array import [{'start': 1310, 'end': 1410, 'rate': 'expensive', 'range': '(29.8p - 31.8p)'}, {'start': 1410, 'end': 2400, 'rate': 'cheap', 'range': '(21.4p - 28.2p)'}, {'start': 2400, 'end': 2430, 'rate': 'expensive', 'range': '(36.8p)'}, {'start': 2430, 'end': 2580, 'rate': 'very expensive', 'range': '(37.5p - 45.3p)'}, {'start': 2580, 'end': 2850, 'rate': 'expensive', 'range': '(30.0p - 35.9p)'}, {'start': 2850, 'end': 3635, 'rate': 'cheap', 'range': '(22.3p - 28.2p)'}] export [{'start': 1310, 'end': 3635, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 21:50:03.626898: - Your estimated bill for today is £5.73 and tomorrow is £3.05
2026-08-15 21:50:03.626949: - Import rates are expensive (29.8p - 31.8p) for the next 1 and three quarters hours and then cheap (21.4p - 28.2p) for the next 16 hours.
2026-08-15 21:50:03.626972: - The battery is currently at 89% and is in eco mode for the next 10 hours.
2026-08-15 21:50:03.626999: - For the next 48 hours there will be no solar generation.
2026-08-15 21:50:03.627016: - You will run out of battery in 34 hours.
2026-08-15 21:50:03.627035: - Your next charge slot will be in 10 hours where import rates will be cheap (24.1p).
2026-08-15 21:50:03.627054: 
2026-08-15 21:50:03.697360: Plan calculation took 1.18 seconds
2026-08-15 21:50:03.701541: No high rate period found
2026-08-15 21:50:03.752851: Import threshold used for optimisation was 24.39p
2026-08-15 21:50:03.807440: Low import rate windows [0: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 1: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 2: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 3: 08-15 23:00:00 - 08-15 23:30:00 @ 30.02, 4: 08-15 23:30:00 - 08-16 00:00:00 @ 27.8, 5: 08-16 00:00:00 - 08-16 00:30:00 @ 28.18, 6: 08-16 00:30:00 - 08-16 01:00:00 @ 27.38, 7: 08-16 01:00:00 - 08-16 01:30:00 @ 26.7, 8: 08-16 01:30:00 - 08-16 02:00:00 @ 26.31, 9: 08-16 02:00:00 - 08-16 02:30:00 @ 25.79, 10: 08-16 02:30:00 - 08-16 03:00:00 @ 25.86, 11: 08-16 03:00:00 - 08-16 03:30:00 @ 26.13, 12: 08-16 03:30:00 - 08-16 04:00:00 @ 25.86, 13: 08-16 04:00:00 - 08-16 04:30:00 @ 26.27, 14: 08-16 04:30:00 - 08-16 05:00:00 @ 26.14, 15: 08-16 05:00:00 - 08-16 05:30:00 @ 27.03, 16: 08-16 05:30:00 - 08-16 06:00:00 @ 26.28, 17: 08-16 06:00:00 - 08-16 06:30:00 @ 25.68, 18: 08-16 06:30:00 - 08-16 07:00:00 @ 26.1, 19: 08-16 07:00:00 - 08-16 07:30:00 @ 24.28, 20: 08-16 07:30:00 - 08-16 08:00:00 @ 24.94, 21: 08-16 08:00:00 - 08-16 08:30:00 @ 24.06, 22: 08-16 08:30:00 - 08-16 09:00:00 @ 24.39, 23: 08-16 09:00:00 - 08-16 09:30:00 @ 24.66, 24: 08-16 09:30:00 - 08-16 10:00:00 @ 24.06, 25: 08-16 10:00:00 - 08-16 10:30:00 @ 25.5, 26: 08-16 10:30:00 - 08-16 11:00:00 @ 24.94, 27: 08-16 11:00:00 - 08-16 11:30:00 @ 24.25, 28: 08-16 11:30:00 - 08-16 12:00:00 @ 23.49, 29: 08-16 12:00:00 - 08-16 12:30:00 @ 23.43, 30: 08-16 12:30:00 - 08-16 13:00:00 @ 22.33, 31: 08-16 13:00:00 - 08-16 13:30:00 @ 22.76, 32: 08-16 13:30:00 - 08-16 14:00:00 @ 22.3, 33: 08-16 14:00:00 - 08-16 14:30:00 @ 21.41, 34: 08-16 14:30:00 - 08-16 15:00:00 @ 21.65, 35: 08-16 15:00:00 - 08-16 15:30:00 @ 22.95, 36: 08-16 15:30:00 - 08-16 16:00:00 @ 22.83, 37: 08-16 16:00:00 - 08-16 16:30:00 @ 36.84, 38: 08-16 16:30:00 - 08-16 17:00:00 @ 37.54, 39: 08-16 17:00:00 - 08-16 17:30:00 @ 41.79, 40: 08-16 17:30:00 - 08-16 18:00:00 @ 43.7, 41: 08-16 18:00:00 - 08-16 18:30:00 @ 44.34, 42: 08-16 19:00:00 - 08-16 19:30:00 @ 34.79, 43: 08-16 19:30:00 - 08-16 20:00:00 @ 34.76, 44: 08-16 20:00:00 - 08-16 20:30:00 @ 35.62, 45: 08-16 20:30:00 - 08-16 21:00:00 @ 35.3, 46: 08-16 21:00:00 - 08-16 21:30:00 @ 35.89, 47: 08-16 21:30:00 - 08-16 22:00:00 @ 35.71, 48: 08-16 22:00:00 - 08-16 22:30:00 @ 33.75, 49: 08-16 22:30:00 - 08-16 23:00:00 @ 32.0, 50: 08-16 23:00:00 - 08-16 23:30:00 @ 30.02, 51: 08-16 23:30:00 - 08-17 00:00:00 @ 27.8, 52: 08-17 00:00:00 - 08-17 00:30:00 @ 28.18, 53: 08-17 00:30:00 - 08-17 01:00:00 @ 27.38, 54: 08-17 01:00:00 - 08-17 01:30:00 @ 26.7, 55: 08-17 01:30:00 - 08-17 02:00:00 @ 26.31, 56: 08-17 02:00:00 - 08-17 02:30:00 @ 25.79, 57: 08-17 02:30:00 - 08-17 03:00:00 @ 25.86, 58: 08-17 03:00:00 - 08-17 03:30:00 @ 26.13, 59: 08-17 03:30:00 - 08-17 04:00:00 @ 25.86, 60: 08-17 04:00:00 - 08-17 04:30:00 @ 26.27, 61: 08-17 04:30:00 - 08-17 05:00:00 @ 26.14, 62: 08-17 05:00:00 - 08-17 05:30:00 @ 27.03, 63: 08-17 05:30:00 - 08-17 06:00:00 @ 26.28, 64: 08-17 06:00:00 - 08-17 06:30:00 @ 25.68, 65: 08-17 06:30:00 - 08-17 07:00:00 @ 26.1, 66: 08-17 07:00:00 - 08-17 07:30:00 @ 24.28, 67: 08-17 07:30:00 - 08-17 08:00:00 @ 24.94, 68: 08-17 08:00:00 - 08-17 08:30:00 @ 24.06, 69: 08-17 08:30:00 - 08-17 09:00:00 @ 24.39, 70: 08-17 09:00:00 - 08-17 09:30:00 @ 24.66, 71: 08-17 09:30:00 - 08-17 10:00:00 @ 24.06, 72: 08-17 10:00:00 - 08-17 10:30:00 @ 25.5, 73: 08-17 10:30:00 - 08-17 11:00:00 @ 24.94, 74: 08-17 11:00:00 - 08-17 11:30:00 @ 24.25, 75: 08-17 11:30:00 - 08-17 12:00:00 @ 23.49, 76: 08-17 12:00:00 - 08-17 12:30:00 @ 23.43, 77: 08-17 12:30:00 - 08-17 13:00:00 @ 22.33, 78: 08-17 13:00:00 - 08-17 13:30:00 @ 22.76, 79: 08-17 13:30:00 - 08-17 14:00:00 @ 22.3, 80: 08-17 14:00:00 - 08-17 14:30:00 @ 21.41, 81: 08-17 14:30:00 - 08-17 15:00:00 @ 21.65, 82: 08-17 15:00:00 - 08-17 15:30:00 @ 22.95, 83: 08-17 15:30:00 - 08-17 16:00:00 @ 22.83, 84: 08-17 16:00:00 - 08-17 16:30:00 @ 36.84, 85: 08-17 16:30:00 - 08-17 17:00:00 @ 37.54, 86: 08-17 17:00:00 - 08-17 17:30:00 @ 41.79, 87: 08-17 17:30:00 - 08-17 18:00:00 @ 43.7, 88: 08-17 18:00:00 - 08-17 18:30:00 @ 44.34, 89: 08-17 19:00:00 - 08-17 19:30:00 @ 34.79, 90: 08-17 19:30:00 - 08-17 20:00:00 @ 34.76, 91: 08-17 20:00:00 - 08-17 20:30:00 @ 35.62, 92: 08-17 20:30:00 - 08-17 21:00:00 @ 35.3, 93: 08-17 21:00:00 - 08-17 21:30:00 @ 35.89, 94: 08-17 21:30:00 - 08-17 22:00:00 @ 35.71]
2026-08-15 21:50:03.815763: Inverter 0 Charge window will be: 2026-08-16 08:00:00+01:00 - 2026-08-16 08:30:00+01:00 - current SoC 89%, target 41%
2026-08-15 21:50:03.815925: Inverter 0 disabled charge window while waiting for schedule (now 08-15 21:50:00 target set_window_minutes 30 charge start time 08-16 08:00:00) original inverter start time 08-17 00:00:00
2026-08-15 21:50:03.816047: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 21:50:03.816339: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 21:50:03.816437: No export window planned
2026-08-15 21:50:03.816554: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 21:50:03.816591: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 21:50:03.816725: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 21:50:03.816932: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 21:50:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 21:50:03.817068: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 21:50:03.817178: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 21:50:03.817272: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 21:50:03.817318: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 21:50:03.817346: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 21:50:03.817381: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 21:50:03.817445: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 21:50:03.817520: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 21:50:03.817554: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 21:50:03.817639: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 21:50:03.817679: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 21:50:03.817705: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 21:50:03.817730: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 21:50:03.817754: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 21:50:03.817780: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 21:50:03.817803: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 21:50:03.817828: Inverter 0 count register writes 0
2026-08-15 21:50:03.834584: Will not recompute the plan, it is 5.0 minutes old and max age is 10 minutes
2026-08-15 21:50:03.841132: Total inverter register writes now 826
2026-08-15 21:50:03.876906: Info: Completed run status Demand
2026-08-15 21:50:03.883824: Info: record_status Demand
2026-08-15 21:50:03.894002: Saved current settings to /config/predbat_config.json
2026-08-15 21:50:03.894466: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 21:50:42.009767: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 21:50:42.010041: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 21:50:42.010090: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 21:50:42.010241: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 21:50:42.010287: Note: Inverter does not support discharge freeze - disabled
2026-08-15 21:50:42.010309: Note: Inverter does not support charge freeze - disabled
2026-08-15 21:50:42.010327: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 21:52:42.236551: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 21:52:42.236802: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 21:52:42.236846: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 21:52:42.237090: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 21:52:42.237233: Note: Inverter does not support discharge freeze - disabled
2026-08-15 21:52:42.237257: Note: Inverter does not support charge freeze - disabled
2026-08-15 21:52:42.237275: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 21:54:42.463263: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 21:54:42.463618: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 21:54:42.463695: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 21:54:42.463890: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 21:54:42.463942: Note: Inverter does not support discharge freeze - disabled
2026-08-15 21:54:42.463962: Note: Inverter does not support charge freeze - disabled
2026-08-15 21:54:42.463991: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 21:55:00.564976: --------------- PredBat - update at 2026-08-15 21:55:00+01:00 with clock skew 0 minutes, minutes now 1315
2026-08-15 21:55:00.565722: Saved current settings to /config/predbat_config.json
2026-08-15 21:55:00.565833: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 85.0 minutes
2026-08-15 21:55:00.565925: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.2, latest beta is v8.48.2
2026-08-15 21:55:00.566010: Autoupdate: There is an update pending v8.48.2 PV90 and second pass enabled by default, bug fixes - auto update is off
2026-08-15 21:55:00.583615: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 21:55:00.583753: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 21:55:00.583948: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 21:55:00.584539: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 21:55:00.584671: Predbat mode is set to Control charge & discharge
2026-08-15 21:55:00.750496: Found 21602 load_today datapoints going back 28 days
2026-08-15 21:55:00.750632: Using load_power data to fill gaps in load_today data
2026-08-15 21:55:01.462609: Processing 721 30-minute periods for power integration
2026-08-15 21:55:01.646493: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 21:55:01.646625: Car charging hold False, threshold 6.0kWh
2026-08-15 21:55:01.646666: Current data so far today: load 10.4kWh, import 27.8kWh, export 0.0kWh, PV 0kWh
2026-08-15 21:55:01.663749: Cars: SoC: [9.376]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 21:55:01.664216: Standing charge is set to 49.98p
2026-08-15 21:55:01.709233: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 21:55:01.709326: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 21:55:01.709500: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 675.0 minutes
2026-08-15 21:55:01.709820: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 675.0 minutes
2026-08-15 21:55:01.715105: Loaded 95 datapoints of futurerate analysis
2026-08-15 21:55:01.848016: Predicted future rates: ['08-15 00:00:00 => 28.69 / 20.01', '08-15 01:00:00 => 27.33 / 19.31', '08-15 02:00:00 => 26.31 / 18.8', '08-15 03:00:00 => 25.78 / 18.53', '08-15 04:00:00 => 25.59 / 18.43', '08-15 05:00:00 => 25.75 / 18.51', '08-15 06:00:00 => 25.34 / 18.3', '08-15 07:00:00 => 24.12 / 17.68', '08-15 08:00:00 => 22.82 / 17.01', '08-15 09:00:00 => 21.84 / 16.51', '08-15 10:00:00 => 20.22 / 15.68', '08-15 11:00:00 => 17.8 / 14.45', '08-15 12:00:00 => 16.16 / 13.61', '08-15 13:00:00 => 15.55 / 13.3', '08-15 14:00:00 => 15.14 / 13.09', '08-15 15:00:00 => 15.65 / 13.35', '08-15 16:00:00 => 32.68 / 16.13', '08-15 17:00:00 => 37.81 / 18.75', '08-15 18:00:00 => 42.15 / 20.96', '08-15 19:00:00 => 30.88 / 21.13', '08-15 20:00:00 => 31.43 / 21.41', '08-15 21:00:00 => 31.43 / 21.41', '08-15 22:00:00 => 30.37 / 20.87', '08-15 23:00:00 => 29.16 / 20.25', '08-16 00:00:00 => 28.62 / 19.97', '08-16 01:00:00 => 27.52 / 19.41', '08-16 02:00:00 => 26.55 / 18.92', '08-16 03:00:00 => 26.18 / 18.73', '08-16 04:00:00 => 26.12 / 18.7', '08-16 05:00:00 => 26.02 / 18.65', '08-16 06:00:00 => 25.78 / 18.53', '08-16 07:00:00 => 25.43 / 18.35', '08-16 08:00:00 => 24.63 / 17.94', '08-16 09:00:00 => 24.05 / 17.64', '08-16 10:00:00 => 24.59 / 17.92', '08-16 11:00:00 => 24.5 / 17.87', '08-16 12:00:00 => 23.58 / 17.4', '08-16 13:00:00 => 22.93 / 17.07', '08-16 14:00:00 => 21.8 / 16.49', '08-16 15:00:00 => 21.8 / 16.49', '08-16 16:00:00 => 36.93 / 18.3', '08-16 17:00:00 => 39.92 / 19.83', '08-16 18:00:00 => 43.98 / 21.9', '08-16 19:00:00 => 32.83 / 22.13', '08-16 20:00:00 => 33.62 / 22.53']
2026-08-15 21:55:01.886745: Rate min forward looking: now 21.41p at end of forecast 21.41p
2026-08-15 21:55:01.887265: Import rates: min 21.41p, max 45.28p, average 28.68p
2026-08-15 21:55:01.923803: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 21:55:01.924378: Rate thresholds (for charge/export) are import 44.78p (0.0p), export -0.1p (0.0p)
2026-08-15 21:55:01.925608: High export rate found rates in range 99p to -99p
2026-08-15 21:55:02.015595: Low Import rate found rates in range 21.41p to 44.34p
2026-08-15 21:55:02.015740: Car 0 charging is not planned as it is not plugged in
2026-08-15 21:55:02.027964: Battery level now 14.24kWh, -1hr ago 14.56kWh, at midnight 1.66kWh, battery value change in the last hour -5.89p, change today 231.46p, rate_forward 18.39p
2026-08-15 21:55:02.028278: Last hour: net energy 0.0kWh, import 0.0kWh, export 0.0kWh, car 0kWh, load 0.25kWh, net cost 0.0p, import 0.0p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 21:55:02.087642: Today's energy total net 27.8kWh, import 27.8kWh, export 0.0kWh, cost 573.42p, import 523.44p, export 0.0p, carbon 0.0kg
2026-08-15 21:55:02.087828: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 21:55:02.173934: Using weighted-bucket historical load forecast over 14 days
2026-08-15 21:55:02.201785: Today's load divergence 79.07%, in-day adjustment 85.64%, damping 0.95x, yesterday 143.77% today 80.12% blend 8.68%
2026-08-15 21:55:02.201891: Today's predicted so far 12.99kWh with 0.0kWh car/iBoost excluded, 20.85kWh import ignored, and 12.99kWh forecast extra.
2026-08-15 21:55:02.201921: Today's actual load so far 10.37kWh with 0.0kWh car/iBoost excluded, and 20.85kWh import ignored.
2026-08-15 21:55:02.234216: Inverter 0: Type SK Sunsynk
2026-08-15 21:55:02.234310: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 21:55:02.234544: Reserve min: 7%, battery_min: 7%
2026-08-15 21:55:02.234650: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 21:55:02.235003: Inverter 0 SoC: 14.08kW 88%, current charge rate 5000W, current discharge rate 5250W, current battery power 304W, current battery voltage 51.2V, grid power -55W, load power 362W, PV Power 0W
2026-08-15 21:55:02.235206: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 21:55:02.235322: Inverter 0 scheduled charge enable is False
2026-08-15 21:55:02.235371: Inverter 0 charge windows currently []
2026-08-15 21:55:02.235429: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 21:55:02.235632: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 21:55:02.235677: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 21:55:02.235727: Inverter 0 scheduled discharge enable is False
2026-08-15 21:55:02.235930: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 21:55:02.235975: Inverter 0 discharge windows currently []
2026-08-15 21:55:02.236000: Note: Inverter does not support discharge freeze - disabled
2026-08-15 21:55:02.236040: Note: Inverter does not support charge freeze - disabled
2026-08-15 21:55:02.236076: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 21:55:02.290813: Dynamic load last period 0.00kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 21:55:02.290925: Plan was last updated on 2026-08-15 21:45:00+01:00 and is now 10.0 minutes old
2026-08-15 21:55:02.291176: Best charge window [ 16-08 08:00:00 - 16-08 08:30:00 @ 24.06p 41%, 16-08 11:30:00 - 16-08 12:30:00 @ 23.46p 28%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 34%, 16-08 13:30:00 - 16-08 15:00:00 @ 21.75p 100%, 16-08 15:00:00 - 16-08 16:00:00 @ 22.89p 78%, 17-08 12:30:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 17-08 21:00:00 @ 35.25p 100% ]
2026-08-15 21:55:02.291212: Best export window [  ]
2026-08-15 21:55:02.291809: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 21:55:02.294313: Load divergence over 8.0 hours mean 787.56W, min 361.2W, max 1875.0W, std dev 427.12W, divergence 27.12%
2026-08-15 21:55:02.311584: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 21:55:02.311718: LoadML is_calculating False
2026-08-15 21:55:02.311797: Creating pool of 12 processes to match your CPU count
2026-08-15 21:55:02.429835: predict base end_record 08-17 12:40:00, final soc 1.12kWh, metric 1073.92p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 16:05:00, load 35.99kWh, PV 0.0kWh
2026-08-15 21:55:02.551413: Battery has 18.17 hours left - now at 14.08kWh
2026-08-15 21:55:02.590484: predict base10 end_record 08-17 12:40:00, final soc 1.12kWh, metric 1107.01p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 15:10:00, load 37.2kWh, PV 0.0kWh
2026-08-15 21:55:02.695397: predict best10 end_record 08-17 12:40:00, final soc 1.77kWh, metric 1049.3p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 07:05:00, load 37.2kWh, PV 0.0kWh
2026-08-15 21:55:02.772392: predict best end_record 08-17 12:40:00, final soc 1.9kWh, metric 1021.31p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 08:15:00, load 35.99kWh, PV 0.0kWh
2026-08-15 21:55:02.772478: Saving plan best values to HA entities
2026-08-15 21:55:02.935240: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 21:55:02.941531: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0.0
2026-08-15 21:55:02.947477: Best charging limit SoC's [6.5, 4.5, 5.5, 16.0, 12.5, 16.0, 16.0]kWh, export []kWh gives import battery 12.61kWh, house 2.85kWh, export 0.0kWh, metric 1021.31p, metric10 1049.3p
2026-08-15 21:55:03.025356: Marginal costs baseline metric (no standing charge): 921.3417
2026-08-15 21:55:03.274042: Marginal energy costs matrix computed: min=24.67 max=29.07
2026-08-15 21:55:03.357685: Rate array import [{'start': 1315, 'end': 1410, 'rate': 'expensive', 'range': '(29.8p - 31.8p)'}, {'start': 1410, 'end': 2400, 'rate': 'cheap', 'range': '(21.4p - 28.2p)'}, {'start': 2400, 'end': 2430, 'rate': 'expensive', 'range': '(36.8p)'}, {'start': 2430, 'end': 2580, 'rate': 'very expensive', 'range': '(37.5p - 45.3p)'}, {'start': 2580, 'end': 2850, 'rate': 'expensive', 'range': '(30.0p - 35.9p)'}, {'start': 2850, 'end': 3640, 'rate': 'cheap', 'range': '(22.3p - 28.2p)'}] export [{'start': 1315, 'end': 3640, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 21:55:03.358466: - Your estimated bill for today is £5.73 and tomorrow is £3.07
2026-08-15 21:55:03.358519: - Import rates are expensive (29.8p - 31.8p) for the next 1 and a half hours and then cheap (21.4p - 28.2p) for the next 16 hours.
2026-08-15 21:55:03.358542: - The battery is currently at 88% and is in eco mode for the next 10 hours.
2026-08-15 21:55:03.358561: - For the next 48 hours there will be no solar generation.
2026-08-15 21:55:03.358578: - You will run out of battery in 34 hours.
2026-08-15 21:55:03.358596: - Your next charge slot will be in 10 hours where import rates will be cheap (24.1p).
2026-08-15 21:55:03.358614: 
2026-08-15 21:55:03.426354: Plan calculation took 1.14 seconds
2026-08-15 21:55:03.430313: No high rate period found
2026-08-15 21:55:03.481293: Import threshold used for optimisation was 24.39p
2026-08-15 21:55:03.536340: Low import rate windows [0: 08-15 21:30:00 - 08-15 22:00:00 @ 31.67, 1: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 2: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 3: 08-15 23:00:00 - 08-15 23:30:00 @ 30.02, 4: 08-15 23:30:00 - 08-16 00:00:00 @ 27.8, 5: 08-16 00:00:00 - 08-16 00:30:00 @ 28.18, 6: 08-16 00:30:00 - 08-16 01:00:00 @ 27.38, 7: 08-16 01:00:00 - 08-16 01:30:00 @ 26.7, 8: 08-16 01:30:00 - 08-16 02:00:00 @ 26.31, 9: 08-16 02:00:00 - 08-16 02:30:00 @ 25.79, 10: 08-16 02:30:00 - 08-16 03:00:00 @ 25.86, 11: 08-16 03:00:00 - 08-16 03:30:00 @ 26.13, 12: 08-16 03:30:00 - 08-16 04:00:00 @ 25.86, 13: 08-16 04:00:00 - 08-16 04:30:00 @ 26.27, 14: 08-16 04:30:00 - 08-16 05:00:00 @ 26.14, 15: 08-16 05:00:00 - 08-16 05:30:00 @ 27.03, 16: 08-16 05:30:00 - 08-16 06:00:00 @ 26.28, 17: 08-16 06:00:00 - 08-16 06:30:00 @ 25.68, 18: 08-16 06:30:00 - 08-16 07:00:00 @ 26.1, 19: 08-16 07:00:00 - 08-16 07:30:00 @ 24.28, 20: 08-16 07:30:00 - 08-16 08:00:00 @ 24.94, 21: 08-16 08:00:00 - 08-16 08:30:00 @ 24.06, 22: 08-16 08:30:00 - 08-16 09:00:00 @ 24.39, 23: 08-16 09:00:00 - 08-16 09:30:00 @ 24.66, 24: 08-16 09:30:00 - 08-16 10:00:00 @ 24.06, 25: 08-16 10:00:00 - 08-16 10:30:00 @ 25.5, 26: 08-16 10:30:00 - 08-16 11:00:00 @ 24.94, 27: 08-16 11:00:00 - 08-16 11:30:00 @ 24.25, 28: 08-16 11:30:00 - 08-16 12:00:00 @ 23.49, 29: 08-16 12:00:00 - 08-16 12:30:00 @ 23.43, 30: 08-16 12:30:00 - 08-16 13:00:00 @ 22.33, 31: 08-16 13:00:00 - 08-16 13:30:00 @ 22.76, 32: 08-16 13:30:00 - 08-16 14:00:00 @ 22.3, 33: 08-16 14:00:00 - 08-16 14:30:00 @ 21.41, 34: 08-16 14:30:00 - 08-16 15:00:00 @ 21.65, 35: 08-16 15:00:00 - 08-16 15:30:00 @ 22.95, 36: 08-16 15:30:00 - 08-16 16:00:00 @ 22.83, 37: 08-16 16:00:00 - 08-16 16:30:00 @ 36.84, 38: 08-16 16:30:00 - 08-16 17:00:00 @ 37.54, 39: 08-16 17:00:00 - 08-16 17:30:00 @ 41.79, 40: 08-16 17:30:00 - 08-16 18:00:00 @ 43.7, 41: 08-16 18:00:00 - 08-16 18:30:00 @ 44.34, 42: 08-16 19:00:00 - 08-16 19:30:00 @ 34.79, 43: 08-16 19:30:00 - 08-16 20:00:00 @ 34.76, 44: 08-16 20:00:00 - 08-16 20:30:00 @ 35.62, 45: 08-16 20:30:00 - 08-16 21:00:00 @ 35.3, 46: 08-16 21:00:00 - 08-16 21:30:00 @ 35.89, 47: 08-16 21:30:00 - 08-16 22:00:00 @ 35.71, 48: 08-16 22:00:00 - 08-16 22:30:00 @ 33.75, 49: 08-16 22:30:00 - 08-16 23:00:00 @ 32.0, 50: 08-16 23:00:00 - 08-16 23:30:00 @ 30.02, 51: 08-16 23:30:00 - 08-17 00:00:00 @ 27.8, 52: 08-17 00:00:00 - 08-17 00:30:00 @ 28.18, 53: 08-17 00:30:00 - 08-17 01:00:00 @ 27.38, 54: 08-17 01:00:00 - 08-17 01:30:00 @ 26.7, 55: 08-17 01:30:00 - 08-17 02:00:00 @ 26.31, 56: 08-17 02:00:00 - 08-17 02:30:00 @ 25.79, 57: 08-17 02:30:00 - 08-17 03:00:00 @ 25.86, 58: 08-17 03:00:00 - 08-17 03:30:00 @ 26.13, 59: 08-17 03:30:00 - 08-17 04:00:00 @ 25.86, 60: 08-17 04:00:00 - 08-17 04:30:00 @ 26.27, 61: 08-17 04:30:00 - 08-17 05:00:00 @ 26.14, 62: 08-17 05:00:00 - 08-17 05:30:00 @ 27.03, 63: 08-17 05:30:00 - 08-17 06:00:00 @ 26.28, 64: 08-17 06:00:00 - 08-17 06:30:00 @ 25.68, 65: 08-17 06:30:00 - 08-17 07:00:00 @ 26.1, 66: 08-17 07:00:00 - 08-17 07:30:00 @ 24.28, 67: 08-17 07:30:00 - 08-17 08:00:00 @ 24.94, 68: 08-17 08:00:00 - 08-17 08:30:00 @ 24.06, 69: 08-17 08:30:00 - 08-17 09:00:00 @ 24.39, 70: 08-17 09:00:00 - 08-17 09:30:00 @ 24.66, 71: 08-17 09:30:00 - 08-17 10:00:00 @ 24.06, 72: 08-17 10:00:00 - 08-17 10:30:00 @ 25.5, 73: 08-17 10:30:00 - 08-17 11:00:00 @ 24.94, 74: 08-17 11:00:00 - 08-17 11:30:00 @ 24.25, 75: 08-17 11:30:00 - 08-17 12:00:00 @ 23.49, 76: 08-17 12:00:00 - 08-17 12:30:00 @ 23.43, 77: 08-17 12:30:00 - 08-17 13:00:00 @ 22.33, 78: 08-17 13:00:00 - 08-17 13:30:00 @ 22.76, 79: 08-17 13:30:00 - 08-17 14:00:00 @ 22.3, 80: 08-17 14:00:00 - 08-17 14:30:00 @ 21.41, 81: 08-17 14:30:00 - 08-17 15:00:00 @ 21.65, 82: 08-17 15:00:00 - 08-17 15:30:00 @ 22.95, 83: 08-17 15:30:00 - 08-17 16:00:00 @ 22.83, 84: 08-17 16:00:00 - 08-17 16:30:00 @ 36.84, 85: 08-17 16:30:00 - 08-17 17:00:00 @ 37.54, 86: 08-17 17:00:00 - 08-17 17:30:00 @ 41.79, 87: 08-17 17:30:00 - 08-17 18:00:00 @ 43.7, 88: 08-17 18:00:00 - 08-17 18:30:00 @ 44.34, 89: 08-17 19:00:00 - 08-17 19:30:00 @ 34.79, 90: 08-17 19:30:00 - 08-17 20:00:00 @ 34.76, 91: 08-17 20:00:00 - 08-17 20:30:00 @ 35.62, 92: 08-17 20:30:00 - 08-17 21:00:00 @ 35.3, 93: 08-17 21:00:00 - 08-17 21:30:00 @ 35.89, 94: 08-17 21:30:00 - 08-17 22:00:00 @ 35.71]
2026-08-15 21:55:03.544838: Inverter 0 Charge window will be: 2026-08-16 08:00:00+01:00 - 2026-08-16 08:30:00+01:00 - current SoC 88%, target 41%
2026-08-15 21:55:03.545108: Inverter 0 disabled charge window while waiting for schedule (now 08-15 21:55:00 target set_window_minutes 30 charge start time 08-16 08:00:00) original inverter start time 08-17 00:00:00
2026-08-15 21:55:03.545235: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 21:55:03.545558: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 21:55:03.545654: No export window planned
2026-08-15 21:55:03.545799: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 21:55:03.545850: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 21:55:03.546027: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 21:55:03.546240: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 21:55:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 21:55:03.546320: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 21:55:03.546384: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 21:55:03.546475: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 21:55:03.546510: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 21:55:03.546544: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 21:55:03.546570: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 21:55:03.546597: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 21:55:03.546621: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 21:55:03.546651: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 21:55:03.546710: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 21:55:03.546745: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 21:55:03.546770: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 21:55:03.546799: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 21:55:03.546851: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 21:55:03.546977: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 21:55:03.547026: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 21:55:03.547059: Inverter 0 count register writes 0
2026-08-15 21:55:03.564310: Will recompute the plan as it is now 10.0 minutes old and will exceed the max age of 10 minutes before the next run
2026-08-15 21:55:03.564510: Recompute is saving previous plan...
2026-08-15 21:55:03.568027: Best charge window [ 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 30.02p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 27.8p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.18p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.38p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 26.7p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.31p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.79p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 25.86p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.13p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 25.86p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.27p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.14p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 27.03p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.28p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.68p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 26.1p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 24.28p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 24.94p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.06p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.39p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.66p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.06p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 25.5p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 24.94p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 24.25p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 23.49p 0%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.43p 0%, 16-08 12:30:00 - 16-08 13:00:00 @ 22.33p 0%, 16-08 13:00:00 - 16-08 13:30:00 @ 22.76p 0%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 0%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 0%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.65p 0%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.95p 0%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.83p 0%, 16-08 16:00:00 - 16-08 16:30:00 @ 36.84p 0%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.54p 0%, 16-08 17:00:00 - 16-08 17:30:00 @ 41.79p 0%, 16-08 17:30:00 - 16-08 18:00:00 @ 43.7p 0%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.34p 0%, 16-08 19:00:00 - 16-08 19:30:00 @ 34.79p 0%, 16-08 19:30:00 - 16-08 20:00:00 @ 34.76p 0%, 16-08 20:00:00 - 16-08 20:30:00 @ 35.62p 0%, 16-08 20:30:00 - 16-08 21:00:00 @ 35.3p 0%, 16-08 21:00:00 - 16-08 21:30:00 @ 35.89p 0%, 16-08 21:30:00 - 16-08 22:00:00 @ 35.71p 0%, 16-08 22:00:00 - 16-08 22:30:00 @ 33.75p 0%, 16-08 22:30:00 - 16-08 23:00:00 @ 32.0p 0%, 16-08 23:00:00 - 16-08 23:30:00 @ 30.02p 0%, 16-08 23:30:00 - 17-08 00:00:00 @ 27.8p 0%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.18p 0%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.38p 0%, 17-08 01:00:00 - 17-08 01:30:00 @ 26.7p 0%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.31p 0%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.79p 0%, 17-08 02:30:00 - 17-08 03:00:00 @ 25.86p 0%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.13p 0%, 17-08 03:30:00 - 17-08 04:00:00 @ 25.86p 0%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.27p 0%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.14p 0%, 17-08 05:00:00 - 17-08 05:30:00 @ 27.03p 0%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.28p 0%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.68p 0%, 17-08 06:30:00 - 17-08 07:00:00 @ 26.1p 0%, 17-08 07:00:00 - 17-08 07:30:00 @ 24.28p 0%, 17-08 07:30:00 - 17-08 08:00:00 @ 24.94p 0%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.06p 0%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.39p 0%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.66p 0%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.06p 0%, 17-08 10:00:00 - 17-08 10:30:00 @ 25.5p 0%, 17-08 10:30:00 - 17-08 11:00:00 @ 24.94p 0%, 17-08 11:00:00 - 17-08 11:30:00 @ 24.25p 0%, 17-08 11:30:00 - 17-08 12:00:00 @ 23.49p 0%, 17-08 12:00:00 - 17-08 12:30:00 @ 23.43p 0%, 17-08 12:30:00 - 17-08 13:00:00 @ 22.33p 0%, 17-08 13:00:00 - 17-08 13:30:00 @ 22.76p 0%, 17-08 13:30:00 - 17-08 14:00:00 @ 22.3p 0%, 17-08 14:00:00 - 17-08 14:30:00 @ 21.41p 0%, 17-08 14:30:00 - 17-08 15:00:00 @ 21.65p 0%, 17-08 15:00:00 - 17-08 15:30:00 @ 22.95p 0%, 17-08 15:30:00 - 17-08 16:00:00 @ 22.83p 0%, 17-08 16:00:00 - 17-08 16:30:00 @ 36.84p 0%, 17-08 16:30:00 - 17-08 17:00:00 @ 37.54p 0%, 17-08 17:00:00 - 17-08 17:30:00 @ 41.79p 0%, 17-08 17:30:00 - 17-08 18:00:00 @ 43.7p 0%, 17-08 18:00:00 - 17-08 18:30:00 @ 44.34p 0%, 17-08 19:00:00 - 17-08 19:30:00 @ 34.79p 0%, 17-08 19:30:00 - 17-08 20:00:00 @ 34.76p 0%, 17-08 20:00:00 - 17-08 20:30:00 @ 35.62p 0%, 17-08 20:30:00 - 17-08 21:00:00 @ 35.3p 0%, 17-08 21:00:00 - 17-08 21:30:00 @ 35.89p 0%, 17-08 21:30:00 - 17-08 22:00:00 @ 35.71p 0% ]
2026-08-15 21:55:03.568120: Best export window [  ]
2026-08-15 21:55:03.569084: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 21:55:03.572212: Load divergence over 8.0 hours mean 787.56W, min 361.2W, max 1875.0W, std dev 427.12W, divergence 27.12%
2026-08-15 21:55:03.591424: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 21:55:03.591544: LoadML is_calculating False
2026-08-15 21:55:03.591620: Creating pool of 12 processes to match your CPU count
2026-08-15 21:55:03.684743: Calculate Best options: mode(Control charge & discharge), calculate_export_oncharge(False), calculate_export_on_pv(True), set_export_freeze_only(False), set_discharge_during_charge(True), combine_charge_slots(False), combine_export_slots(False), combine_rate_threshold(0.0), best_soc_min(0.0 kWh), best_soc_max(0.0 kWh), best_soc_keep(0.0 kWh), inverter_loss(4%), battery_loss(3%), battery_loss_discharge (3%), inverter_hybrid(True), metric_min_improvement(0.0p), metric_min_improvement_export(0.1p), metric_min_improvement_export_freeze(0.1p), metric_battery_cycle(0.0p/kWh), metric_battery_value_scaling(1.0 x) 
2026-08-15 21:55:03.686891: Optimise levels pass started at 2026-08-15 21:55:03
2026-08-15 21:55:03.686996: Optimise all windows, total charge 94 export 1
2026-08-15 21:55:04.556317: >> Region optimisation pass width 960 gives best_metric 1032.32p, best_cost 1051.08p, best_cycle 35.54kWh, best_import 21.08kWh
2026-08-15 21:55:04.959458: >> Region optimisation pass width 480 gives best_metric 1032.32p, best_cost 1051.08p, best_cycle 35.54kWh, best_import 21.08kWh
2026-08-15 21:55:05.438891: >> Region optimisation pass width 240 gives best_metric 1032.32p, best_cost 1051.08p, best_cycle 35.54kWh, best_import 21.08kWh
2026-08-15 21:55:06.938758: >> Region optimisation pass width 120 gives best_metric 1031.22p, best_cost 1050.0p, best_cycle 35.33kWh, best_import 21.07kWh
2026-08-15 21:55:06.939358: Calculated end_record as 08-17 12:30:00 based on best_price 22.95p, next_charge_start 08-16 12:30:00, max_windows 77
2026-08-15 21:55:06.939552: Optimise levels pass ended at 2026-08-15 21:55:06, duration 3.3 seconds tried 332 combinations
2026-08-15 21:55:06.939651: Set best_price_charge_level 24.6p, best_price_export_level 0p, best_price_charge 22.95p, best_cost_export 0p, best_metric 1031.22p, best_keep 0kWh, best_cycle 35.33kWh, best_carbon 0kg, best_import 21.07kWh
2026-08-15 21:55:06.957900: Starting detailed optimisation end_record 08-17 12:30:00, best_price_charge 22.95p, best_price_export 0p. lowest_price_charge 21.41p with charge limits [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6.0, 0, 0, 9.75, 9.75, 9.75, 9.75, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0]kWh and export limits []kWh
2026-08-15 21:55:13.227652: Tweak plan optimisation started metric 884.28p, cost 900.37p
2026-08-15 21:55:13.538744: Tweak optimisation finished metric 884.28p, cost 900.37p, metric_keep 0kWh, cycle 23.17kWh, carbon 0kg, import 14.14kWh, changed 8 window(s)
2026-08-15 21:55:13.557982: Swap charge optimisation started metric 884.28p, cost 900.37p, min_improvement_swap 0.1p
2026-08-15 21:55:23.221976: Swap charge optimisation finished metric 884.28p, cost 900.37p
2026-08-15 21:55:23.375476: Pruned 4 dead plan slot(s) in 13 trial(s), nominal metric 879.77p -> 879.78p, plan now metric 884.45p, cost 900.38p, cycle 23.17kWh, import 14.14kWh
2026-08-15 21:55:23.388064: Raw charge windows [ 15-08 21:30:00 - 15-08 22:00:00 @ 31.67p 0%, 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 30.02p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 27.8p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.18p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.38p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 26.7p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.31p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.79p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 25.86p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.13p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 25.86p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.27p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.14p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 27.03p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.28p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.68p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 26.1p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 24.28p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 24.94p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.06p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.39p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.66p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.06p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 25.5p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 24.94p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 24.25p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 23.49p 28%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.43p 28%, 16-08 12:30:00 - 16-08 13:00:00 @ 22.33p 38%, 16-08 13:00:00 - 16-08 13:30:00 @ 22.76p 38%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 38%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 100%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.65p 63%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.95p 61%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.83p 61%, 16-08 16:00:00 - 16-08 16:30:00 @ 36.84p 0%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.54p 0%, 16-08 17:00:00 - 16-08 17:30:00 @ 41.79p 0%, 16-08 17:30:00 - 16-08 18:00:00 @ 43.7p 0%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.34p 0%, 16-08 19:00:00 - 16-08 19:30:00 @ 34.79p 0%, 16-08 19:30:00 - 16-08 20:00:00 @ 34.76p 0%, 16-08 20:00:00 - 16-08 20:30:00 @ 35.62p 0%, 16-08 20:30:00 - 16-08 21:00:00 @ 35.3p 0%, 16-08 21:00:00 - 16-08 21:30:00 @ 35.89p 0%, 16-08 21:30:00 - 16-08 22:00:00 @ 35.71p 0%, 16-08 22:00:00 - 16-08 22:30:00 @ 33.75p 0%, 16-08 22:30:00 - 16-08 23:00:00 @ 32.0p 0%, 16-08 23:00:00 - 16-08 23:30:00 @ 30.02p 0%, 16-08 23:30:00 - 17-08 00:00:00 @ 27.8p 0%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.18p 0%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.38p 0%, 17-08 01:00:00 - 17-08 01:30:00 @ 26.7p 0%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.31p 0%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.79p 0%, 17-08 02:30:00 - 17-08 03:00:00 @ 25.86p 0%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.13p 0%, 17-08 03:30:00 - 17-08 04:00:00 @ 25.86p 0%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.27p 0%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.14p 0%, 17-08 05:00:00 - 17-08 05:30:00 @ 27.03p 0%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.28p 0%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.68p 0%, 17-08 06:30:00 - 17-08 07:00:00 @ 26.1p 0%, 17-08 07:00:00 - 17-08 07:30:00 @ 24.28p 0%, 17-08 07:30:00 - 17-08 08:00:00 @ 24.94p 0%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.06p 0%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.39p 0%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.66p 0%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.06p 0%, 17-08 10:00:00 - 17-08 10:30:00 @ 25.5p 0%, 17-08 10:30:00 - 17-08 11:00:00 @ 24.94p 0%, 17-08 11:00:00 - 17-08 11:30:00 @ 24.25p 0%, 17-08 11:30:00 - 17-08 12:00:00 @ 23.49p 0%, 17-08 12:00:00 - 17-08 12:30:00 @ 23.43p 0%, 17-08 12:30:00 - 17-08 13:00:00 @ 22.33p 100%, 17-08 13:00:00 - 17-08 13:30:00 @ 22.76p 100%, 17-08 13:30:00 - 17-08 14:00:00 @ 22.3p 100%, 17-08 14:00:00 - 17-08 14:30:00 @ 21.41p 100%, 17-08 14:30:00 - 17-08 15:00:00 @ 21.65p 100%, 17-08 15:00:00 - 17-08 15:30:00 @ 22.95p 100%, 17-08 15:30:00 - 17-08 16:00:00 @ 22.83p 100%, 17-08 16:00:00 - 17-08 16:30:00 @ 36.84p 100%, 17-08 16:30:00 - 17-08 17:00:00 @ 37.54p 100%, 17-08 17:00:00 - 17-08 17:30:00 @ 41.79p 100%, 17-08 17:30:00 - 17-08 18:00:00 @ 43.7p 100%, 17-08 18:00:00 - 17-08 18:30:00 @ 44.34p 100%, 17-08 19:00:00 - 17-08 19:30:00 @ 34.79p 100%, 17-08 19:30:00 - 17-08 20:00:00 @ 34.76p 100%, 17-08 20:00:00 - 17-08 20:30:00 @ 35.62p 100%, 17-08 20:30:00 - 17-08 21:00:00 @ 35.3p 100%, 17-08 21:00:00 - 17-08 21:30:00 @ 35.89p 100%, 17-08 21:30:00 - 17-08 22:00:00 @ 35.71p 100% ] reserve 1.12
2026-08-15 21:55:23.388683: Unclipped charge windows [ 16-08 11:30:00 - 16-08 12:30:00 @ 23.46p 28%, 16-08 12:30:00 - 16-08 14:00:00 @ 22.43p 38%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 100%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.65p 63%, 16-08 15:00:00 - 16-08 16:00:00 @ 22.89p 61%, 17-08 12:30:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 17-08 22:00:00 @ 35.64p 100% ] reserve 1.12
2026-08-15 21:55:23.389106: Unfiltered charge windows [ 16-08 11:30:00 - 16-08 12:30:00 @ 23.46p 28%, 16-08 12:30:00 - 16-08 14:00:00 @ 22.43p 38%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 100%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.65p 63%, 16-08 15:00:00 - 16-08 16:00:00 @ 22.89p 61%, 17-08 12:30:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 17-08 22:00:00 @ 35.64p 100% ] reserve 1.12
2026-08-15 21:55:23.389381: Filtered charge windows [ 16-08 11:30:00 - 16-08 12:30:00 @ 23.46p 28%, 16-08 12:30:00 - 16-08 14:00:00 @ 22.43p 38%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 100%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.65p 63%, 16-08 15:00:00 - 16-08 16:00:00 @ 22.89p 61%, 17-08 12:30:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 17-08 22:00:00 @ 35.64p 100% ] reserve 1.12
2026-08-15 21:55:23.429340: Previous plan best metric is 883.96 (cost 899.99) and new plan best metric is 884.28 (cost 900.37)
2026-08-15 21:55:23.429617: New plan metric is not significantly better (metric_min_improvement_plan 2.0) than previous plan, using previous plan
2026-08-15 21:55:23.429900: Plan valid is now true after recompute was False
2026-08-15 21:55:23.459191: predict base end_record 08-17 12:30:00, final soc 1.12kWh, metric 1070.98p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 16:05:00, load 35.85kWh, PV 0.0kWh
2026-08-15 21:55:23.573256: Battery has 18.17 hours left - now at 14.08kWh
2026-08-15 21:55:23.619896: predict base10 end_record 08-17 12:30:00, final soc 1.12kWh, metric 1103.92p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 15:10:00, load 37.07kWh, PV 0.0kWh
2026-08-15 21:55:23.696045: predict best10 end_record 08-17 12:30:00, final soc 1.12kWh, metric 1030.71p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 07:05:00, load 37.07kWh, PV 0.0kWh
2026-08-15 21:55:23.777324: predict best end_record 08-17 12:30:00, final soc 1.12kWh, metric 999.76p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 08:15:00, load 35.85kWh, PV 0.0kWh
2026-08-15 21:55:23.777428: Saving plan best values to HA entities
2026-08-15 21:55:23.934593: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 21:55:23.940023: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0.0
2026-08-15 21:55:23.945731: Best charging limit SoC's [6.5, 4.5, 5.5, 16.0, 12.5, 16.0, 16.0]kWh, export []kWh gives import battery 11.65kWh, house 2.85kWh, export 0.0kWh, metric 999.76p, metric10 1030.71p
2026-08-15 21:55:24.024974: Marginal costs baseline metric (no standing charge): 899.7891
2026-08-15 21:55:24.315581: Marginal energy costs matrix computed: min=24.67 max=29.07
2026-08-15 21:55:24.395836: Rate array import [{'start': 1315, 'end': 1410, 'rate': 'expensive', 'range': '(29.8p - 31.8p)'}, {'start': 1410, 'end': 2400, 'rate': 'cheap', 'range': '(21.4p - 28.2p)'}, {'start': 2400, 'end': 2430, 'rate': 'expensive', 'range': '(36.8p)'}, {'start': 2430, 'end': 2580, 'rate': 'very expensive', 'range': '(37.5p - 45.3p)'}, {'start': 2580, 'end': 2850, 'rate': 'expensive', 'range': '(30.0p - 35.9p)'}, {'start': 2850, 'end': 3630, 'rate': 'cheap', 'range': '(23.4p - 28.2p)'}] export [{'start': 1315, 'end': 3630, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 21:55:24.396597: - Your estimated bill for today is £5.73 and tomorrow is £3.07
2026-08-15 21:55:24.396644: - Import rates are expensive (29.8p - 31.8p) for the next 1 and a half hours and then cheap (21.4p - 28.2p) for the next 16 hours.
2026-08-15 21:55:24.396666: - The battery is currently at 88% and is in eco mode for the next 10 hours.
2026-08-15 21:55:24.396684: - For the next 48 hours there will be no solar generation.
2026-08-15 21:55:24.396701: - You will run out of battery in 34 hours.
2026-08-15 21:55:24.396718: - Your next charge slot will be in 10 hours where import rates will be cheap (24.1p).
2026-08-15 21:55:24.396735: 
2026-08-15 21:55:24.456186: Plan calculation took 20.89 seconds
2026-08-15 21:55:24.456708: Inverter 0: Type SK Sunsynk
2026-08-15 21:55:24.456784: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 21:55:24.457174: Reserve min: 7%, battery_min: 7%
2026-08-15 21:55:24.457280: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 21:55:24.457630: Inverter 0 SoC: 14.08kW 88%, current charge rate 5000W, current discharge rate 5250W, current battery power 304W, current battery voltage 51.2V, grid power -55W, load power 362W, PV Power 0W
2026-08-15 21:55:24.457889: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 21:55:24.458021: Inverter 0 scheduled charge enable is False
2026-08-15 21:55:24.458084: Inverter 0 charge windows currently []
2026-08-15 21:55:24.458127: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 21:55:24.458259: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 21:55:24.458297: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 21:55:24.458334: Inverter 0 scheduled discharge enable is False
2026-08-15 21:55:24.458464: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 21:55:24.458493: Inverter 0 discharge windows currently []
2026-08-15 21:55:24.458517: Note: Inverter does not support discharge freeze - disabled
2026-08-15 21:55:24.458543: Note: Inverter does not support charge freeze - disabled
2026-08-15 21:55:24.458561: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 21:55:24.515796: Inverter 0 Charge window will be: 2026-08-16 08:00:00+01:00 - 2026-08-16 08:30:00+01:00 - current SoC 88%, target 41%
2026-08-15 21:55:24.515970: Inverter 0 disabled charge window while waiting for schedule (now 08-15 21:55:00 target set_window_minutes 30 charge start time 08-16 08:00:00) original inverter start time 08-17 00:00:00
2026-08-15 21:55:24.516051: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 21:55:24.516246: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 21:55:24.516331: No export window planned
2026-08-15 21:55:24.516441: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 21:55:24.516476: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 21:55:24.516612: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 21:55:24.516776: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 21:55:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 21:55:24.516851: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 21:55:24.516973: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 21:55:24.517076: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 21:55:24.517122: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 21:55:24.517156: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 21:55:24.517185: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 21:55:24.517210: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 21:55:24.517234: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 21:55:24.517265: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 21:55:24.517322: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 21:55:24.517356: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 21:55:24.517381: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 21:55:24.517411: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 21:55:24.517435: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 21:55:24.517463: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 21:55:24.517487: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 21:55:24.517511: Inverter 0 count register writes 0
2026-08-15 21:55:24.537367: Total inverter register writes now 826
2026-08-15 21:55:24.573148: Info: Completed run status Demand
2026-08-15 21:55:24.578493: Info: record_status Demand
2026-08-15 21:55:24.585104: Saved current settings to /config/predbat_config.json
2026-08-15 21:55:24.585385: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 21:55:56.678521: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 21:55:56.678991: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 21:55:56.679073: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 21:55:56.679345: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 21:55:56.679412: Note: Inverter does not support discharge freeze - disabled
2026-08-15 21:55:56.679451: Note: Inverter does not support charge freeze - disabled
2026-08-15 21:55:56.679492: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 21:57:56.909477: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 21:57:56.909734: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 21:57:56.909776: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 21:57:56.910079: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 21:57:56.910144: Note: Inverter does not support discharge freeze - disabled
2026-08-15 21:57:56.910169: Note: Inverter does not support charge freeze - disabled
2026-08-15 21:57:56.910228: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 21:58:59.948843: TemperatureAPI: Using coordinates latitude 53.4, longitude -2.2
2026-08-15 21:59:00.102925: TemperatureAPI: Successfully fetched temperature data from Open-Meteo API
2026-08-15 21:59:57.138006: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 21:59:57.138294: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 21:59:57.138347: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 21:59:57.138498: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 21:59:57.138551: Note: Inverter does not support discharge freeze - disabled
2026-08-15 21:59:57.138568: Note: Inverter does not support charge freeze - disabled
2026-08-15 21:59:57.138582: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 22:00:00.216616: --------------- PredBat - update at 2026-08-15 22:00:00+01:00 with clock skew 0 minutes, minutes now 1320
2026-08-15 22:00:00.217577: Saved current settings to /config/predbat_config.json
2026-08-15 22:00:00.217975: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 90.0 minutes
2026-08-15 22:00:00.218083: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.2, latest beta is v8.48.2
2026-08-15 22:00:00.218160: Autoupdate: There is an update pending v8.48.2 PV90 and second pass enabled by default, bug fixes - auto update is off
2026-08-15 22:00:00.243563: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 22:00:00.243701: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 22:00:00.243874: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 22:00:00.244447: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 22:00:00.244575: Predbat mode is set to Control charge & discharge
2026-08-15 22:00:00.451057: Found 21602 load_today datapoints going back 28 days
2026-08-15 22:00:00.451204: Using load_power data to fill gaps in load_today data
2026-08-15 22:00:01.217263: Processing 721 30-minute periods for power integration
2026-08-15 22:00:01.398850: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 22:00:01.399003: Car charging hold False, threshold 6.0kWh
2026-08-15 22:00:01.399049: Current data so far today: load 10.53kWh, import 27.8kWh, export 0.0kWh, PV 0kWh
2026-08-15 22:00:01.415640: Cars: SoC: [8.79]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 22:00:01.416176: Standing charge is set to 49.98p
2026-08-15 22:00:01.475591: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 22:00:01.475728: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 22:00:01.476051: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 680.0 minutes
2026-08-15 22:00:01.476743: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 680.0 minutes
2026-08-15 22:00:01.488377: Loaded 95 datapoints of futurerate analysis
2026-08-15 22:00:01.686163: Predicted future rates: ['08-15 00:00:00 => 28.69 / 20.01', '08-15 01:00:00 => 27.33 / 19.31', '08-15 02:00:00 => 26.31 / 18.8', '08-15 03:00:00 => 25.78 / 18.53', '08-15 04:00:00 => 25.59 / 18.43', '08-15 05:00:00 => 25.75 / 18.51', '08-15 06:00:00 => 25.34 / 18.3', '08-15 07:00:00 => 24.12 / 17.68', '08-15 08:00:00 => 22.82 / 17.01', '08-15 09:00:00 => 21.84 / 16.51', '08-15 10:00:00 => 20.22 / 15.68', '08-15 11:00:00 => 17.8 / 14.45', '08-15 12:00:00 => 16.16 / 13.61', '08-15 13:00:00 => 15.55 / 13.3', '08-15 14:00:00 => 15.14 / 13.09', '08-15 15:00:00 => 15.65 / 13.35', '08-15 16:00:00 => 32.68 / 16.13', '08-15 17:00:00 => 37.81 / 18.75', '08-15 18:00:00 => 42.15 / 20.96', '08-15 19:00:00 => 30.88 / 21.13', '08-15 20:00:00 => 31.43 / 21.41', '08-15 21:00:00 => 31.43 / 21.41', '08-15 22:00:00 => 30.37 / 20.87', '08-15 23:00:00 => 29.16 / 20.25', '08-16 00:00:00 => 28.62 / 19.97', '08-16 01:00:00 => 27.52 / 19.41', '08-16 02:00:00 => 26.55 / 18.92', '08-16 03:00:00 => 26.18 / 18.73', '08-16 04:00:00 => 26.12 / 18.7', '08-16 05:00:00 => 26.02 / 18.65', '08-16 06:00:00 => 25.78 / 18.53', '08-16 07:00:00 => 25.43 / 18.35', '08-16 08:00:00 => 24.63 / 17.94', '08-16 09:00:00 => 24.05 / 17.64', '08-16 10:00:00 => 24.59 / 17.92', '08-16 11:00:00 => 24.5 / 17.87', '08-16 12:00:00 => 23.58 / 17.4', '08-16 13:00:00 => 22.93 / 17.07', '08-16 14:00:00 => 21.8 / 16.49', '08-16 15:00:00 => 21.8 / 16.49', '08-16 16:00:00 => 36.93 / 18.3', '08-16 17:00:00 => 39.92 / 19.83', '08-16 18:00:00 => 43.98 / 21.9', '08-16 19:00:00 => 32.83 / 22.13', '08-16 20:00:00 => 33.62 / 22.53', '08-16 21:00:00 => 33.52 / 22.48']
2026-08-15 22:00:01.731675: Rate min forward looking: now 21.41p at end of forecast 21.41p
2026-08-15 22:00:01.732122: Import rates: min 21.41p, max 45.28p, average 28.69p
2026-08-15 22:00:01.769176: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 22:00:01.769318: Rate thresholds (for charge/export) are import 44.78p (0.0p), export -0.1p (0.0p)
2026-08-15 22:00:01.770756: High export rate found rates in range 99p to -99p
2026-08-15 22:00:01.859571: Low Import rate found rates in range 21.41p to 44.34p
2026-08-15 22:00:01.859707: Car 0 charging is not planned as it is not plugged in
2026-08-15 22:00:01.872990: Battery level now 14.08kWh, -1hr ago 14.42kWh, at midnight 1.66kWh, battery value change in the last hour -6.18p, change today 228.52p, rate_forward 18.39p
2026-08-15 22:00:01.873368: Last hour: net energy 0.0kWh, import 0.0kWh, export 0.0kWh, car 0kWh, load 0.35kWh, net cost 0.0p, import 0.0p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 22:00:01.936410: Today's energy total net 27.8kWh, import 27.8kWh, export 0.0kWh, cost 573.42p, import 523.43p, export 0.0p, carbon 0.0kg
2026-08-15 22:00:01.936559: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 22:00:02.023476: Using weighted-bucket historical load forecast over 14 days
2026-08-15 22:00:02.057248: Today's load divergence 80.01%, in-day adjustment 86.24%, damping 0.95x, yesterday 143.77% today 81.01% blend 8.33%
2026-08-15 22:00:02.057354: Today's predicted so far 13.12kWh with 0.0kWh car/iBoost excluded, 20.77kWh import ignored, and 13.12kWh forecast extra.
2026-08-15 22:00:02.057385: Today's actual load so far 10.6kWh with 0.0kWh car/iBoost excluded, and 20.77kWh import ignored.
2026-08-15 22:00:02.093375: Inverter 0: Type SK Sunsynk
2026-08-15 22:00:02.093470: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 22:00:02.093658: Reserve min: 7%, battery_min: 7%
2026-08-15 22:00:02.093729: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 22:00:02.094020: Inverter 0 SoC: 14.08kW 88%, current charge rate 5000W, current discharge rate 5250W, current battery power 275W, current battery voltage 51.2V, grid power -54W, load power 333W, PV Power 0W
2026-08-15 22:00:02.094182: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 22:00:02.094297: Inverter 0 scheduled charge enable is False
2026-08-15 22:00:02.094333: Inverter 0 charge windows currently []
2026-08-15 22:00:02.094360: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 22:00:02.094470: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 22:00:02.094506: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 22:00:02.094541: Inverter 0 scheduled discharge enable is False
2026-08-15 22:00:02.094677: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 22:00:02.094714: Inverter 0 discharge windows currently []
2026-08-15 22:00:02.094736: Note: Inverter does not support discharge freeze - disabled
2026-08-15 22:00:02.094759: Note: Inverter does not support charge freeze - disabled
2026-08-15 22:00:02.094777: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 22:00:02.161471: Dynamic load last period 0.30kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 22:00:02.161585: Plan was last updated on 2026-08-15 21:55:00+01:00 and is now 5.0 minutes old
2026-08-15 22:00:02.161906: Best charge window [ 16-08 08:00:00 - 16-08 08:30:00 @ 24.06p 41%, 16-08 11:30:00 - 16-08 12:30:00 @ 23.46p 28%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 34%, 16-08 13:30:00 - 16-08 15:00:00 @ 21.75p 100%, 16-08 15:00:00 - 16-08 16:00:00 @ 22.89p 78%, 17-08 12:30:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 17-08 21:00:00 @ 35.25p 100% ]
2026-08-15 22:00:02.161951: Best export window [  ]
2026-08-15 22:00:02.162858: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 22:00:02.166082: Load divergence over 8.0 hours mean 788.22W, min 371.4W, max 1953.0W, std dev 440.72W, divergence 27.96%
2026-08-15 22:00:02.186533: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 22:00:02.186673: LoadML is_calculating False
2026-08-15 22:00:02.186745: Creating pool of 12 processes to match your CPU count
2026-08-15 22:00:02.319571: predict base end_record 08-17 12:35:00, final soc 1.12kWh, metric 1070.13p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 16:15:00, load 35.98kWh, PV 0.0kWh
2026-08-15 22:00:02.476906: Battery has 18.25 hours left - now at 14.08kWh
2026-08-15 22:00:02.532648: predict base10 end_record 08-17 12:35:00, final soc 1.12kWh, metric 1103.92p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 15:15:00, load 37.19kWh, PV 0.0kWh
2026-08-15 22:00:02.628362: predict best10 end_record 08-17 12:35:00, final soc 1.44kWh, metric 1038.17p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 07:05:00, load 37.19kWh, PV 0.0kWh
2026-08-15 22:00:02.719195: predict best end_record 08-17 12:35:00, final soc 1.51kWh, metric 1008.89p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 08:20:00, load 35.98kWh, PV 0.0kWh
2026-08-15 22:00:02.719300: Saving plan best values to HA entities
2026-08-15 22:00:02.900548: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 22:00:02.905925: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0.0
2026-08-15 22:00:02.911175: Best charging limit SoC's [6.5, 4.5, 5.5, 16.0, 12.5, 16.0, 16.0]kWh, export []kWh gives import battery 12.07kWh, house 2.84kWh, export 0.0kWh, metric 1008.89p, metric10 1038.17p
2026-08-15 22:00:02.984745: Marginal costs baseline metric (no standing charge): 908.9271
2026-08-15 22:00:03.217292: Marginal energy costs matrix computed: min=24.99 max=28.97
2026-08-15 22:00:03.291877: Rate array import [{'start': 1320, 'end': 1410, 'rate': 'expensive', 'range': '(29.8p - 31.8p)'}, {'start': 1410, 'end': 2400, 'rate': 'cheap', 'range': '(21.4p - 28.2p)'}, {'start': 2400, 'end': 2430, 'rate': 'expensive', 'range': '(36.8p)'}, {'start': 2430, 'end': 2580, 'rate': 'very expensive', 'range': '(37.5p - 45.3p)'}, {'start': 2580, 'end': 2850, 'rate': 'expensive', 'range': '(30.0p - 35.9p)'}, {'start': 2850, 'end': 3635, 'rate': 'cheap', 'range': '(22.3p - 28.2p)'}] export [{'start': 1320, 'end': 3635, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 22:00:03.292557: - Your estimated bill for today is £5.73 and tomorrow is £3.06
2026-08-15 22:00:03.292601: - Import rates are expensive (29.8p - 31.8p) for the next 1 and a half hours and then cheap (21.4p - 28.2p) for the next 16 hours.
2026-08-15 22:00:03.292619: - The battery is currently at 88% and is in eco mode for the next 10 hours.
2026-08-15 22:00:03.292634: - For the next 48 hours there will be no solar generation.
2026-08-15 22:00:03.292647: - You will run out of battery in 34 hours.
2026-08-15 22:00:03.292661: - Your next charge slot will be in 10 hours where import rates will be cheap (24.1p).
2026-08-15 22:00:03.292675: 
2026-08-15 22:00:03.357441: Plan calculation took 1.20 seconds
2026-08-15 22:00:03.361218: No high rate period found
2026-08-15 22:00:03.426586: Import threshold used for optimisation was 25.86p
2026-08-15 22:00:03.489107: Low import rate windows [0: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 1: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 2: 08-15 23:00:00 - 08-15 23:30:00 @ 30.02, 3: 08-15 23:30:00 - 08-16 00:00:00 @ 27.8, 4: 08-16 00:00:00 - 08-16 00:30:00 @ 28.18, 5: 08-16 00:30:00 - 08-16 01:00:00 @ 27.38, 6: 08-16 01:00:00 - 08-16 01:30:00 @ 26.7, 7: 08-16 01:30:00 - 08-16 02:00:00 @ 26.31, 8: 08-16 02:00:00 - 08-16 02:30:00 @ 25.79, 9: 08-16 02:30:00 - 08-16 03:00:00 @ 25.86, 10: 08-16 03:00:00 - 08-16 03:30:00 @ 26.13, 11: 08-16 03:30:00 - 08-16 04:00:00 @ 25.86, 12: 08-16 04:00:00 - 08-16 04:30:00 @ 26.27, 13: 08-16 04:30:00 - 08-16 05:00:00 @ 26.14, 14: 08-16 05:00:00 - 08-16 05:30:00 @ 27.03, 15: 08-16 05:30:00 - 08-16 06:00:00 @ 26.28, 16: 08-16 06:00:00 - 08-16 06:30:00 @ 25.68, 17: 08-16 06:30:00 - 08-16 07:00:00 @ 26.1, 18: 08-16 07:00:00 - 08-16 07:30:00 @ 24.28, 19: 08-16 07:30:00 - 08-16 08:00:00 @ 24.94, 20: 08-16 08:00:00 - 08-16 08:30:00 @ 24.06, 21: 08-16 08:30:00 - 08-16 09:00:00 @ 24.39, 22: 08-16 09:00:00 - 08-16 09:30:00 @ 24.66, 23: 08-16 09:30:00 - 08-16 10:00:00 @ 24.06, 24: 08-16 10:00:00 - 08-16 10:30:00 @ 25.5, 25: 08-16 10:30:00 - 08-16 11:00:00 @ 24.94, 26: 08-16 11:00:00 - 08-16 11:30:00 @ 24.25, 27: 08-16 11:30:00 - 08-16 12:00:00 @ 23.49, 28: 08-16 12:00:00 - 08-16 12:30:00 @ 23.43, 29: 08-16 12:30:00 - 08-16 13:00:00 @ 22.33, 30: 08-16 13:00:00 - 08-16 13:30:00 @ 22.76, 31: 08-16 13:30:00 - 08-16 14:00:00 @ 22.3, 32: 08-16 14:00:00 - 08-16 14:30:00 @ 21.41, 33: 08-16 14:30:00 - 08-16 15:00:00 @ 21.65, 34: 08-16 15:00:00 - 08-16 15:30:00 @ 22.95, 35: 08-16 15:30:00 - 08-16 16:00:00 @ 22.83, 36: 08-16 16:00:00 - 08-16 16:30:00 @ 36.84, 37: 08-16 16:30:00 - 08-16 17:00:00 @ 37.54, 38: 08-16 17:00:00 - 08-16 17:30:00 @ 41.79, 39: 08-16 17:30:00 - 08-16 18:00:00 @ 43.7, 40: 08-16 18:00:00 - 08-16 18:30:00 @ 44.34, 41: 08-16 19:00:00 - 08-16 19:30:00 @ 34.79, 42: 08-16 19:30:00 - 08-16 20:00:00 @ 34.76, 43: 08-16 20:00:00 - 08-16 20:30:00 @ 35.62, 44: 08-16 20:30:00 - 08-16 21:00:00 @ 35.3, 45: 08-16 21:00:00 - 08-16 21:30:00 @ 35.89, 46: 08-16 21:30:00 - 08-16 22:00:00 @ 35.71, 47: 08-16 22:00:00 - 08-16 22:30:00 @ 33.75, 48: 08-16 22:30:00 - 08-16 23:00:00 @ 32.0, 49: 08-16 23:00:00 - 08-16 23:30:00 @ 30.02, 50: 08-16 23:30:00 - 08-17 00:00:00 @ 27.8, 51: 08-17 00:00:00 - 08-17 00:30:00 @ 28.18, 52: 08-17 00:30:00 - 08-17 01:00:00 @ 27.38, 53: 08-17 01:00:00 - 08-17 01:30:00 @ 26.7, 54: 08-17 01:30:00 - 08-17 02:00:00 @ 26.31, 55: 08-17 02:00:00 - 08-17 02:30:00 @ 25.79, 56: 08-17 02:30:00 - 08-17 03:00:00 @ 25.86, 57: 08-17 03:00:00 - 08-17 03:30:00 @ 26.13, 58: 08-17 03:30:00 - 08-17 04:00:00 @ 25.86, 59: 08-17 04:00:00 - 08-17 04:30:00 @ 26.27, 60: 08-17 04:30:00 - 08-17 05:00:00 @ 26.14, 61: 08-17 05:00:00 - 08-17 05:30:00 @ 27.03, 62: 08-17 05:30:00 - 08-17 06:00:00 @ 26.28, 63: 08-17 06:00:00 - 08-17 06:30:00 @ 25.68, 64: 08-17 06:30:00 - 08-17 07:00:00 @ 26.1, 65: 08-17 07:00:00 - 08-17 07:30:00 @ 24.28, 66: 08-17 07:30:00 - 08-17 08:00:00 @ 24.94, 67: 08-17 08:00:00 - 08-17 08:30:00 @ 24.06, 68: 08-17 08:30:00 - 08-17 09:00:00 @ 24.39, 69: 08-17 09:00:00 - 08-17 09:30:00 @ 24.66, 70: 08-17 09:30:00 - 08-17 10:00:00 @ 24.06, 71: 08-17 10:00:00 - 08-17 10:30:00 @ 25.5, 72: 08-17 10:30:00 - 08-17 11:00:00 @ 24.94, 73: 08-17 11:00:00 - 08-17 11:30:00 @ 24.25, 74: 08-17 11:30:00 - 08-17 12:00:00 @ 23.49, 75: 08-17 12:00:00 - 08-17 12:30:00 @ 23.43, 76: 08-17 12:30:00 - 08-17 13:00:00 @ 22.33, 77: 08-17 13:00:00 - 08-17 13:30:00 @ 22.76, 78: 08-17 13:30:00 - 08-17 14:00:00 @ 22.3, 79: 08-17 14:00:00 - 08-17 14:30:00 @ 21.41, 80: 08-17 14:30:00 - 08-17 15:00:00 @ 21.65, 81: 08-17 15:00:00 - 08-17 15:30:00 @ 22.95, 82: 08-17 15:30:00 - 08-17 16:00:00 @ 22.83, 83: 08-17 16:00:00 - 08-17 16:30:00 @ 36.84, 84: 08-17 16:30:00 - 08-17 17:00:00 @ 37.54, 85: 08-17 17:00:00 - 08-17 17:30:00 @ 41.79, 86: 08-17 17:30:00 - 08-17 18:00:00 @ 43.7, 87: 08-17 18:00:00 - 08-17 18:30:00 @ 44.34, 88: 08-17 19:00:00 - 08-17 19:30:00 @ 34.79, 89: 08-17 19:30:00 - 08-17 20:00:00 @ 34.76, 90: 08-17 20:00:00 - 08-17 20:30:00 @ 35.62, 91: 08-17 20:30:00 - 08-17 21:00:00 @ 35.3, 92: 08-17 21:00:00 - 08-17 21:30:00 @ 35.89, 93: 08-17 21:30:00 - 08-17 22:00:00 @ 35.71]
2026-08-15 22:00:03.497468: Inverter 0 Charge window will be: 2026-08-16 08:00:00+01:00 - 2026-08-16 08:30:00+01:00 - current SoC 88%, target 41%
2026-08-15 22:00:03.497612: Inverter 0 disabled charge window while waiting for schedule (now 08-15 22:00:00 target set_window_minutes 30 charge start time 08-16 08:00:00) original inverter start time 08-17 00:00:00
2026-08-15 22:00:03.497734: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 22:00:03.498067: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 22:00:03.498171: No export window planned
2026-08-15 22:00:03.498299: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 22:00:03.498335: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 22:00:03.498467: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 22:00:03.498648: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 22:00:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 22:00:03.498710: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 22:00:03.498777: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 22:00:03.498870: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 22:00:03.498950: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 22:00:03.498985: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 22:00:03.499011: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 22:00:03.499037: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 22:00:03.499061: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 22:00:03.499088: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 22:00:03.499152: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 22:00:03.499188: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 22:00:03.499213: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 22:00:03.499259: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 22:00:03.499284: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 22:00:03.499311: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 22:00:03.499335: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 22:00:03.499355: Inverter 0 count register writes 0
2026-08-15 22:00:03.520827: Will not recompute the plan, it is 5.0 minutes old and max age is 10 minutes
2026-08-15 22:00:03.526515: Total inverter register writes now 826
2026-08-15 22:00:03.566824: Info: Completed run status Demand
2026-08-15 22:00:03.573424: Info: record_status Demand
2026-08-15 22:00:03.580643: Saved current settings to /config/predbat_config.json
2026-08-15 22:00:03.581110: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 22:00:41.702200: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 22:00:41.702449: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 22:00:41.702498: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 22:00:41.702652: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 22:00:41.702688: Note: Inverter does not support discharge freeze - disabled
2026-08-15 22:00:41.702710: Note: Inverter does not support charge freeze - disabled
2026-08-15 22:00:41.702727: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 22:02:41.945408: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 22:02:41.945698: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 22:02:41.945756: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 22:02:41.945981: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 22:02:41.946029: Note: Inverter does not support discharge freeze - disabled
2026-08-15 22:02:41.946051: Note: Inverter does not support charge freeze - disabled
2026-08-15 22:02:41.946069: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 22:03:32.504621: Info: HAHistory: Pruning history data started.
2026-08-15 22:03:32.508654: Info: HAHistory: Pruning history data completed.
2026-08-15 22:04:42.168677: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 22:04:42.168924: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 22:04:42.169033: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 22:04:42.169312: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 22:04:42.169361: Note: Inverter does not support discharge freeze - disabled
2026-08-15 22:04:42.169382: Note: Inverter does not support charge freeze - disabled
2026-08-15 22:04:42.169399: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 22:05:00.279707: --------------- PredBat - update at 2026-08-15 22:05:00+01:00 with clock skew 0 minutes, minutes now 1325
2026-08-15 22:05:00.280496: Saved current settings to /config/predbat_config.json
2026-08-15 22:05:00.280636: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 95.0 minutes
2026-08-15 22:05:00.280713: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.2, latest beta is v8.48.2
2026-08-15 22:05:00.280825: Autoupdate: There is an update pending v8.48.2 PV90 and second pass enabled by default, bug fixes - auto update is off
2026-08-15 22:05:00.304680: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 22:05:00.304826: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 22:05:00.305063: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 22:05:00.305610: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 22:05:00.305735: Predbat mode is set to Control charge & discharge
2026-08-15 22:05:00.520854: Found 21602 load_today datapoints going back 27 days
2026-08-15 22:05:00.521071: Using load_power data to fill gaps in load_today data
2026-08-15 22:05:01.459457: Processing 721 30-minute periods for power integration
2026-08-15 22:05:01.663771: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 22:05:01.663916: Car charging hold False, threshold 6.0kWh
2026-08-15 22:05:01.663965: Current data so far today: load 10.55kWh, import 27.8kWh, export 0.0kWh, PV 0kWh
2026-08-15 22:05:01.683815: Cars: SoC: [8.79]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 22:05:01.684369: Standing charge is set to 49.98p
2026-08-15 22:05:01.731601: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 22:05:01.731718: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 22:05:01.731959: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 685.0 minutes
2026-08-15 22:05:01.732539: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 685.0 minutes
2026-08-15 22:05:01.738757: Loaded 95 datapoints of futurerate analysis
2026-08-15 22:05:01.896861: Predicted future rates: ['08-15 00:00:00 => 28.69 / 20.01', '08-15 01:00:00 => 27.33 / 19.31', '08-15 02:00:00 => 26.31 / 18.8', '08-15 03:00:00 => 25.78 / 18.53', '08-15 04:00:00 => 25.59 / 18.43', '08-15 05:00:00 => 25.75 / 18.51', '08-15 06:00:00 => 25.34 / 18.3', '08-15 07:00:00 => 24.12 / 17.68', '08-15 08:00:00 => 22.82 / 17.01', '08-15 09:00:00 => 21.84 / 16.51', '08-15 10:00:00 => 20.22 / 15.68', '08-15 11:00:00 => 17.8 / 14.45', '08-15 12:00:00 => 16.16 / 13.61', '08-15 13:00:00 => 15.55 / 13.3', '08-15 14:00:00 => 15.14 / 13.09', '08-15 15:00:00 => 15.65 / 13.35', '08-15 16:00:00 => 32.68 / 16.13', '08-15 17:00:00 => 37.81 / 18.75', '08-15 18:00:00 => 42.15 / 20.96', '08-15 19:00:00 => 30.88 / 21.13', '08-15 20:00:00 => 31.43 / 21.41', '08-15 21:00:00 => 31.43 / 21.41', '08-15 22:00:00 => 30.37 / 20.87', '08-15 23:00:00 => 29.16 / 20.25', '08-16 00:00:00 => 28.62 / 19.97', '08-16 01:00:00 => 27.52 / 19.41', '08-16 02:00:00 => 26.55 / 18.92', '08-16 03:00:00 => 26.18 / 18.73', '08-16 04:00:00 => 26.12 / 18.7', '08-16 05:00:00 => 26.02 / 18.65', '08-16 06:00:00 => 25.78 / 18.53', '08-16 07:00:00 => 25.43 / 18.35', '08-16 08:00:00 => 24.63 / 17.94', '08-16 09:00:00 => 24.05 / 17.64', '08-16 10:00:00 => 24.59 / 17.92', '08-16 11:00:00 => 24.5 / 17.87', '08-16 12:00:00 => 23.58 / 17.4', '08-16 13:00:00 => 22.93 / 17.07', '08-16 14:00:00 => 21.8 / 16.49', '08-16 15:00:00 => 21.8 / 16.49', '08-16 16:00:00 => 36.93 / 18.3', '08-16 17:00:00 => 39.92 / 19.83', '08-16 18:00:00 => 43.98 / 21.9', '08-16 19:00:00 => 32.83 / 22.13', '08-16 20:00:00 => 33.62 / 22.53', '08-16 21:00:00 => 33.52 / 22.48']
2026-08-15 22:05:01.944125: Rate min forward looking: now 21.41p at end of forecast 21.41p
2026-08-15 22:05:01.944612: Import rates: min 21.41p, max 45.28p, average 28.69p
2026-08-15 22:05:01.988414: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 22:05:01.988546: Rate thresholds (for charge/export) are import 44.78p (0.0p), export -0.1p (0.0p)
2026-08-15 22:05:01.989968: High export rate found rates in range 99p to -99p
2026-08-15 22:05:02.100290: Low Import rate found rates in range 21.41p to 44.34p
2026-08-15 22:05:02.100439: Car 0 charging is not planned as it is not plugged in
2026-08-15 22:05:02.113656: Battery level now 14.08kWh, -1hr ago 14.4kWh, at midnight 1.66kWh, battery value change in the last hour -5.89p, change today 228.52p, rate_forward 18.39p
2026-08-15 22:05:02.114025: Last hour: net energy 0.0kWh, import 0.0kWh, export 0.0kWh, car 0kWh, load 0.35kWh, net cost 0.0p, import 0.0p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 22:05:02.178845: Today's energy total net 27.8kWh, import 27.8kWh, export 0.0kWh, cost 573.42p, import 523.44p, export 0.0p, carbon 0.0kg
2026-08-15 22:05:02.179007: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 22:05:02.261985: Using weighted-bucket historical load forecast over 14 days
2026-08-15 22:05:02.289847: Today's load divergence 79.83%, in-day adjustment 85.87%, damping 0.95x, yesterday 143.77% today 80.84% blend 7.99%
2026-08-15 22:05:02.289967: Today's predicted so far 13.24kWh with 0.0kWh car/iBoost excluded, 20.86kWh import ignored, and 13.24kWh forecast extra.
2026-08-15 22:05:02.290022: Today's actual load so far 10.71kWh with 0.0kWh car/iBoost excluded, and 20.86kWh import ignored.
2026-08-15 22:05:02.320773: Inverter 0: Type SK Sunsynk
2026-08-15 22:05:02.320855: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 22:05:02.321071: Reserve min: 7%, battery_min: 7%
2026-08-15 22:05:02.321147: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 22:05:02.321400: Inverter 0 SoC: 14.08kW 88%, current charge rate 5000W, current discharge rate 5250W, current battery power 288W, current battery voltage 51.2V, grid power -55W, load power 348W, PV Power 0W
2026-08-15 22:05:02.321536: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 22:05:02.321609: Inverter 0 scheduled charge enable is False
2026-08-15 22:05:02.321632: Inverter 0 charge windows currently []
2026-08-15 22:05:02.321654: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 22:05:02.321744: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 22:05:02.321768: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 22:05:02.321797: Inverter 0 scheduled discharge enable is False
2026-08-15 22:05:02.321894: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 22:05:02.321917: Inverter 0 discharge windows currently []
2026-08-15 22:05:02.321935: Note: Inverter does not support discharge freeze - disabled
2026-08-15 22:05:02.321950: Note: Inverter does not support charge freeze - disabled
2026-08-15 22:05:02.321963: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 22:05:02.384195: Dynamic load last period 0.30kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 22:05:02.384536: Plan was last updated on 2026-08-15 21:55:00+01:00 and is now 10.0 minutes old
2026-08-15 22:05:02.384876: Best charge window [ 16-08 08:00:00 - 16-08 08:30:00 @ 24.06p 41%, 16-08 11:30:00 - 16-08 12:30:00 @ 23.46p 28%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 34%, 16-08 13:30:00 - 16-08 15:00:00 @ 21.75p 100%, 16-08 15:00:00 - 16-08 16:00:00 @ 22.89p 78%, 17-08 12:30:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 17-08 21:00:00 @ 35.25p 100% ]
2026-08-15 22:05:02.384943: Best export window [  ]
2026-08-15 22:05:02.385844: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 22:05:02.389057: Load divergence over 8.0 hours mean 781.28W, min 342.6W, max 2423.4W, std dev 474.95W, divergence 30.4%
2026-08-15 22:05:02.407963: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 22:05:02.408093: LoadML is_calculating False
2026-08-15 22:05:02.408158: Creating pool of 12 processes to match your CPU count
2026-08-15 22:05:02.525470: predict base end_record 08-17 12:40:00, final soc 1.12kWh, metric 1068.35p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 16:25:00, load 35.98kWh, PV 0.0kWh
2026-08-15 22:05:02.643333: Battery has 18.33 hours left - now at 14.08kWh
2026-08-15 22:05:02.686811: predict base10 end_record 08-17 12:40:00, final soc 1.12kWh, metric 1102.91p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 15:20:00, load 37.18kWh, PV 0.0kWh
2026-08-15 22:05:02.770520: predict best10 end_record 08-17 12:40:00, final soc 1.77kWh, metric 1044.96p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 07:10:00, load 37.18kWh, PV 0.0kWh
2026-08-15 22:05:02.863517: predict best end_record 08-17 12:40:00, final soc 1.9kWh, metric 1017.56p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 08:20:00, load 35.98kWh, PV 0.0kWh
2026-08-15 22:05:02.863619: Saving plan best values to HA entities
2026-08-15 22:05:03.032750: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0
2026-08-15 22:05:03.038216: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 22:05:03.043611: Best charging limit SoC's [6.5, 4.5, 5.5, 16.0, 12.5, 16.0, 16.0]kWh, export []kWh gives import battery 12.5kWh, house 2.81kWh, export 0.0kWh, metric 1017.56p, metric10 1044.96p
2026-08-15 22:05:03.125350: Marginal costs baseline metric (no standing charge): 917.5903
2026-08-15 22:05:03.433089: Marginal energy costs matrix computed: min=25.11 max=28.85
2026-08-15 22:05:03.518608: Rate array import [{'start': 1325, 'end': 1410, 'rate': 'expensive', 'range': '(29.8p - 31.8p)'}, {'start': 1410, 'end': 2400, 'rate': 'cheap', 'range': '(21.4p - 28.2p)'}, {'start': 2400, 'end': 2430, 'rate': 'expensive', 'range': '(36.8p)'}, {'start': 2430, 'end': 2580, 'rate': 'very expensive', 'range': '(37.5p - 45.3p)'}, {'start': 2580, 'end': 2850, 'rate': 'expensive', 'range': '(30.0p - 35.9p)'}, {'start': 2850, 'end': 3640, 'rate': 'cheap', 'range': '(22.3p - 28.2p)'}] export [{'start': 1325, 'end': 3640, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 22:05:03.519497: - Your estimated bill for today is £5.73 and tomorrow is £3.04
2026-08-15 22:05:03.519551: - Import rates are expensive (29.8p - 31.8p) for the next 1 and a half hours and then cheap (21.4p - 28.2p) for the next 16 hours.
2026-08-15 22:05:03.519574: - The battery is currently at 88% and is in eco mode for the next 9 hours.
2026-08-15 22:05:03.519600: - For the next 48 hours there will be no solar generation.
2026-08-15 22:05:03.519623: - You will run out of battery in 34 hours.
2026-08-15 22:05:03.519648: - Your next charge slot will be in 9 hours where import rates will be cheap (24.1p).
2026-08-15 22:05:03.519681: 
2026-08-15 22:05:03.590232: Plan calculation took 1.21 seconds
2026-08-15 22:05:03.594246: No high rate period found
2026-08-15 22:05:03.649371: Import threshold used for optimisation was 25.86p
2026-08-15 22:05:03.705558: Low import rate windows [0: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 1: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 2: 08-15 23:00:00 - 08-15 23:30:00 @ 30.02, 3: 08-15 23:30:00 - 08-16 00:00:00 @ 27.8, 4: 08-16 00:00:00 - 08-16 00:30:00 @ 28.18, 5: 08-16 00:30:00 - 08-16 01:00:00 @ 27.38, 6: 08-16 01:00:00 - 08-16 01:30:00 @ 26.7, 7: 08-16 01:30:00 - 08-16 02:00:00 @ 26.31, 8: 08-16 02:00:00 - 08-16 02:30:00 @ 25.79, 9: 08-16 02:30:00 - 08-16 03:00:00 @ 25.86, 10: 08-16 03:00:00 - 08-16 03:30:00 @ 26.13, 11: 08-16 03:30:00 - 08-16 04:00:00 @ 25.86, 12: 08-16 04:00:00 - 08-16 04:30:00 @ 26.27, 13: 08-16 04:30:00 - 08-16 05:00:00 @ 26.14, 14: 08-16 05:00:00 - 08-16 05:30:00 @ 27.03, 15: 08-16 05:30:00 - 08-16 06:00:00 @ 26.28, 16: 08-16 06:00:00 - 08-16 06:30:00 @ 25.68, 17: 08-16 06:30:00 - 08-16 07:00:00 @ 26.1, 18: 08-16 07:00:00 - 08-16 07:30:00 @ 24.28, 19: 08-16 07:30:00 - 08-16 08:00:00 @ 24.94, 20: 08-16 08:00:00 - 08-16 08:30:00 @ 24.06, 21: 08-16 08:30:00 - 08-16 09:00:00 @ 24.39, 22: 08-16 09:00:00 - 08-16 09:30:00 @ 24.66, 23: 08-16 09:30:00 - 08-16 10:00:00 @ 24.06, 24: 08-16 10:00:00 - 08-16 10:30:00 @ 25.5, 25: 08-16 10:30:00 - 08-16 11:00:00 @ 24.94, 26: 08-16 11:00:00 - 08-16 11:30:00 @ 24.25, 27: 08-16 11:30:00 - 08-16 12:00:00 @ 23.49, 28: 08-16 12:00:00 - 08-16 12:30:00 @ 23.43, 29: 08-16 12:30:00 - 08-16 13:00:00 @ 22.33, 30: 08-16 13:00:00 - 08-16 13:30:00 @ 22.76, 31: 08-16 13:30:00 - 08-16 14:00:00 @ 22.3, 32: 08-16 14:00:00 - 08-16 14:30:00 @ 21.41, 33: 08-16 14:30:00 - 08-16 15:00:00 @ 21.65, 34: 08-16 15:00:00 - 08-16 15:30:00 @ 22.95, 35: 08-16 15:30:00 - 08-16 16:00:00 @ 22.83, 36: 08-16 16:00:00 - 08-16 16:30:00 @ 36.84, 37: 08-16 16:30:00 - 08-16 17:00:00 @ 37.54, 38: 08-16 17:00:00 - 08-16 17:30:00 @ 41.79, 39: 08-16 17:30:00 - 08-16 18:00:00 @ 43.7, 40: 08-16 18:00:00 - 08-16 18:30:00 @ 44.34, 41: 08-16 19:00:00 - 08-16 19:30:00 @ 34.79, 42: 08-16 19:30:00 - 08-16 20:00:00 @ 34.76, 43: 08-16 20:00:00 - 08-16 20:30:00 @ 35.62, 44: 08-16 20:30:00 - 08-16 21:00:00 @ 35.3, 45: 08-16 21:00:00 - 08-16 21:30:00 @ 35.89, 46: 08-16 21:30:00 - 08-16 22:00:00 @ 35.71, 47: 08-16 22:00:00 - 08-16 22:30:00 @ 33.75, 48: 08-16 22:30:00 - 08-16 23:00:00 @ 32.0, 49: 08-16 23:00:00 - 08-16 23:30:00 @ 30.02, 50: 08-16 23:30:00 - 08-17 00:00:00 @ 27.8, 51: 08-17 00:00:00 - 08-17 00:30:00 @ 28.18, 52: 08-17 00:30:00 - 08-17 01:00:00 @ 27.38, 53: 08-17 01:00:00 - 08-17 01:30:00 @ 26.7, 54: 08-17 01:30:00 - 08-17 02:00:00 @ 26.31, 55: 08-17 02:00:00 - 08-17 02:30:00 @ 25.79, 56: 08-17 02:30:00 - 08-17 03:00:00 @ 25.86, 57: 08-17 03:00:00 - 08-17 03:30:00 @ 26.13, 58: 08-17 03:30:00 - 08-17 04:00:00 @ 25.86, 59: 08-17 04:00:00 - 08-17 04:30:00 @ 26.27, 60: 08-17 04:30:00 - 08-17 05:00:00 @ 26.14, 61: 08-17 05:00:00 - 08-17 05:30:00 @ 27.03, 62: 08-17 05:30:00 - 08-17 06:00:00 @ 26.28, 63: 08-17 06:00:00 - 08-17 06:30:00 @ 25.68, 64: 08-17 06:30:00 - 08-17 07:00:00 @ 26.1, 65: 08-17 07:00:00 - 08-17 07:30:00 @ 24.28, 66: 08-17 07:30:00 - 08-17 08:00:00 @ 24.94, 67: 08-17 08:00:00 - 08-17 08:30:00 @ 24.06, 68: 08-17 08:30:00 - 08-17 09:00:00 @ 24.39, 69: 08-17 09:00:00 - 08-17 09:30:00 @ 24.66, 70: 08-17 09:30:00 - 08-17 10:00:00 @ 24.06, 71: 08-17 10:00:00 - 08-17 10:30:00 @ 25.5, 72: 08-17 10:30:00 - 08-17 11:00:00 @ 24.94, 73: 08-17 11:00:00 - 08-17 11:30:00 @ 24.25, 74: 08-17 11:30:00 - 08-17 12:00:00 @ 23.49, 75: 08-17 12:00:00 - 08-17 12:30:00 @ 23.43, 76: 08-17 12:30:00 - 08-17 13:00:00 @ 22.33, 77: 08-17 13:00:00 - 08-17 13:30:00 @ 22.76, 78: 08-17 13:30:00 - 08-17 14:00:00 @ 22.3, 79: 08-17 14:00:00 - 08-17 14:30:00 @ 21.41, 80: 08-17 14:30:00 - 08-17 15:00:00 @ 21.65, 81: 08-17 15:00:00 - 08-17 15:30:00 @ 22.95, 82: 08-17 15:30:00 - 08-17 16:00:00 @ 22.83, 83: 08-17 16:00:00 - 08-17 16:30:00 @ 36.84, 84: 08-17 16:30:00 - 08-17 17:00:00 @ 37.54, 85: 08-17 17:00:00 - 08-17 17:30:00 @ 41.79, 86: 08-17 17:30:00 - 08-17 18:00:00 @ 43.7, 87: 08-17 18:00:00 - 08-17 18:30:00 @ 44.34, 88: 08-17 19:00:00 - 08-17 19:30:00 @ 34.79, 89: 08-17 19:30:00 - 08-17 20:00:00 @ 34.76, 90: 08-17 20:00:00 - 08-17 20:30:00 @ 35.62, 91: 08-17 20:30:00 - 08-17 21:00:00 @ 35.3, 92: 08-17 21:00:00 - 08-17 21:30:00 @ 35.89, 93: 08-17 21:30:00 - 08-17 22:00:00 @ 35.71, 94: 08-17 22:00:00 - 08-17 22:30:00 @ 33.75]
2026-08-15 22:05:03.714187: Inverter 0 Charge window will be: 2026-08-16 08:00:00+01:00 - 2026-08-16 08:30:00+01:00 - current SoC 88%, target 41%
2026-08-15 22:05:03.714360: Inverter 0 disabled charge window while waiting for schedule (now 08-15 22:05:00 target set_window_minutes 30 charge start time 08-16 08:00:00) original inverter start time 08-17 00:00:00
2026-08-15 22:05:03.714509: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 22:05:03.714827: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 22:05:03.714933: No export window planned
2026-08-15 22:05:03.715061: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 22:05:03.715097: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 22:05:03.715232: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 22:05:03.715441: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 22:05:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 22:05:03.715508: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 22:05:03.715575: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 22:05:03.715668: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 22:05:03.715712: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 22:05:03.715755: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 22:05:03.715808: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 22:05:03.715839: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 22:05:03.715864: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 22:05:03.715889: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 22:05:03.715953: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 22:05:03.716086: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 22:05:03.716118: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 22:05:03.716149: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 22:05:03.716174: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 22:05:03.716203: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 22:05:03.716227: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 22:05:03.716247: Inverter 0 count register writes 0
2026-08-15 22:05:03.735202: Will recompute the plan as it is now 10.0 minutes old and will exceed the max age of 10 minutes before the next run
2026-08-15 22:05:03.735486: Recompute is saving previous plan...
2026-08-15 22:05:03.738971: Best charge window [ 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 30.02p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 27.8p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.18p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.38p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 26.7p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.31p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.79p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 25.86p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.13p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 25.86p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.27p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.14p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 27.03p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.28p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.68p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 26.1p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 24.28p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 24.94p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.06p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.39p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.66p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.06p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 25.5p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 24.94p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 24.25p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 23.49p 0%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.43p 0%, 16-08 12:30:00 - 16-08 13:00:00 @ 22.33p 0%, 16-08 13:00:00 - 16-08 13:30:00 @ 22.76p 0%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 0%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 0%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.65p 0%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.95p 0%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.83p 0%, 16-08 16:00:00 - 16-08 16:30:00 @ 36.84p 0%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.54p 0%, 16-08 17:00:00 - 16-08 17:30:00 @ 41.79p 0%, 16-08 17:30:00 - 16-08 18:00:00 @ 43.7p 0%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.34p 0%, 16-08 19:00:00 - 16-08 19:30:00 @ 34.79p 0%, 16-08 19:30:00 - 16-08 20:00:00 @ 34.76p 0%, 16-08 20:00:00 - 16-08 20:30:00 @ 35.62p 0%, 16-08 20:30:00 - 16-08 21:00:00 @ 35.3p 0%, 16-08 21:00:00 - 16-08 21:30:00 @ 35.89p 0%, 16-08 21:30:00 - 16-08 22:00:00 @ 35.71p 0%, 16-08 22:00:00 - 16-08 22:30:00 @ 33.75p 0%, 16-08 22:30:00 - 16-08 23:00:00 @ 32.0p 0%, 16-08 23:00:00 - 16-08 23:30:00 @ 30.02p 0%, 16-08 23:30:00 - 17-08 00:00:00 @ 27.8p 0%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.18p 0%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.38p 0%, 17-08 01:00:00 - 17-08 01:30:00 @ 26.7p 0%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.31p 0%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.79p 0%, 17-08 02:30:00 - 17-08 03:00:00 @ 25.86p 0%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.13p 0%, 17-08 03:30:00 - 17-08 04:00:00 @ 25.86p 0%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.27p 0%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.14p 0%, 17-08 05:00:00 - 17-08 05:30:00 @ 27.03p 0%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.28p 0%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.68p 0%, 17-08 06:30:00 - 17-08 07:00:00 @ 26.1p 0%, 17-08 07:00:00 - 17-08 07:30:00 @ 24.28p 0%, 17-08 07:30:00 - 17-08 08:00:00 @ 24.94p 0%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.06p 0%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.39p 0%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.66p 0%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.06p 0%, 17-08 10:00:00 - 17-08 10:30:00 @ 25.5p 0%, 17-08 10:30:00 - 17-08 11:00:00 @ 24.94p 0%, 17-08 11:00:00 - 17-08 11:30:00 @ 24.25p 0%, 17-08 11:30:00 - 17-08 12:00:00 @ 23.49p 0%, 17-08 12:00:00 - 17-08 12:30:00 @ 23.43p 0%, 17-08 12:30:00 - 17-08 13:00:00 @ 22.33p 0%, 17-08 13:00:00 - 17-08 13:30:00 @ 22.76p 0%, 17-08 13:30:00 - 17-08 14:00:00 @ 22.3p 0%, 17-08 14:00:00 - 17-08 14:30:00 @ 21.41p 0%, 17-08 14:30:00 - 17-08 15:00:00 @ 21.65p 0%, 17-08 15:00:00 - 17-08 15:30:00 @ 22.95p 0%, 17-08 15:30:00 - 17-08 16:00:00 @ 22.83p 0%, 17-08 16:00:00 - 17-08 16:30:00 @ 36.84p 0%, 17-08 16:30:00 - 17-08 17:00:00 @ 37.54p 0%, 17-08 17:00:00 - 17-08 17:30:00 @ 41.79p 0%, 17-08 17:30:00 - 17-08 18:00:00 @ 43.7p 0%, 17-08 18:00:00 - 17-08 18:30:00 @ 44.34p 0%, 17-08 19:00:00 - 17-08 19:30:00 @ 34.79p 0%, 17-08 19:30:00 - 17-08 20:00:00 @ 34.76p 0%, 17-08 20:00:00 - 17-08 20:30:00 @ 35.62p 0%, 17-08 20:30:00 - 17-08 21:00:00 @ 35.3p 0%, 17-08 21:00:00 - 17-08 21:30:00 @ 35.89p 0%, 17-08 21:30:00 - 17-08 22:00:00 @ 35.71p 0%, 17-08 22:00:00 - 17-08 22:30:00 @ 33.75p 0% ]
2026-08-15 22:05:03.739065: Best export window [  ]
2026-08-15 22:05:03.739911: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 22:05:03.743228: Load divergence over 8.0 hours mean 781.28W, min 342.6W, max 2423.4W, std dev 474.95W, divergence 30.4%
2026-08-15 22:05:03.761140: Calculating data from yesterday for savings calculation
2026-08-15 22:05:03.775622: Yesterday basic charge window best: [{'start': 840, 'end': 870, 'average': 21.7}] charge limit best: [16.0] based on max charge slots 1
2026-08-15 22:05:03.828571: predict yesterday end_record 08-16 00:00:00, final soc 1.12kWh, metric 843.63p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 00:00:00, load 26.2kWh, PV 0.0kWh
2026-08-15 22:05:03.843021: predict yesterday10 end_record 08-16 00:00:00, final soc 1.12kWh, metric 847.91p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 00:00:00, load 26.2kWh, PV 0.0kWh
2026-08-15 22:05:03.864854: predict yesterday end_record 08-16 00:00:00, final soc 1.12kWh, metric 843.63p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 00:00:00, load 26.2kWh, PV 0.0kWh
2026-08-15 22:05:03.910072: Yesterday: Predbat disabled was £8.44 (adjusted £8.23) vs £7.38 (adjusted £7.05), saving £1.05 (adjusted £1.18) with import 26.54kWh, export 0.0kWh, battery_cycle 4.66kWh, start_soc 1.12kWh,  final_soc 1.12kWh and battery_value 20.6kWh
2026-08-15 22:05:04.018827: predict yesterday end_record 08-16 00:00:00, final soc 0.0kWh, metric 849.84p, metric_keep 0kWh, min_soc 0kWh @ 08-15 00:00:00, load 26.2kWh, PV 0.0kWh
2026-08-15 22:05:04.019028: Yesterday: No Battery/PV system cost predicted was £8.5 (adjusted £8.5) vs £7.38 (adjusted £7.05), saving £1.12 (adjusted £1.45) with import 26.2kWh, export 0kWh and battery_value 0.0kWh
2026-08-15 22:05:04.030261: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 22:05:04.030417: LoadML is_calculating False
2026-08-15 22:05:04.030498: Creating pool of 12 processes to match your CPU count
2026-08-15 22:05:04.131641: Calculate Best options: mode(Control charge & discharge), calculate_export_oncharge(False), calculate_export_on_pv(True), set_export_freeze_only(False), set_discharge_during_charge(True), combine_charge_slots(False), combine_export_slots(False), combine_rate_threshold(0.0), best_soc_min(0.0 kWh), best_soc_max(0.0 kWh), best_soc_keep(0.0 kWh), inverter_loss(4%), battery_loss(3%), battery_loss_discharge (3%), inverter_hybrid(True), metric_min_improvement(0.0p), metric_min_improvement_export(0.1p), metric_min_improvement_export_freeze(0.1p), metric_battery_cycle(0.0p/kWh), metric_battery_value_scaling(1.0 x) 
2026-08-15 22:05:04.133838: Optimise levels pass started at 2026-08-15 22:05:04
2026-08-15 22:05:04.133929: Optimise all windows, total charge 94 export 1
2026-08-15 22:05:05.544916: >> Region optimisation pass width 960 gives best_metric 1031.55p, best_cost 1047.31p, best_cycle 32.67kWh, best_import 20.71kWh
2026-08-15 22:05:06.037003: >> Region optimisation pass width 480 gives best_metric 1031.55p, best_cost 1047.31p, best_cycle 32.67kWh, best_import 20.71kWh
2026-08-15 22:05:06.708202: >> Region optimisation pass width 240 gives best_metric 1031.55p, best_cost 1047.31p, best_cycle 32.67kWh, best_import 20.71kWh
2026-08-15 22:05:08.286592: >> Region optimisation pass width 120 gives best_metric 1031.55p, best_cost 1047.31p, best_cycle 32.67kWh, best_import 20.71kWh
2026-08-15 22:05:08.287490: Calculated end_record as 08-17 12:30:00 based on best_price 22.95p, next_charge_start 08-16 12:30:00, max_windows 76
2026-08-15 22:05:08.288199: Optimise levels pass ended at 2026-08-15 22:05:08, duration 4.2 seconds tried 321 combinations
2026-08-15 22:05:08.288338: Set best_price_charge_level 24.6p, best_price_export_level 0p, best_price_charge 22.95p, best_cost_export 0p, best_metric 1031.55p, best_keep 0kWh, best_cycle 32.67kWh, best_carbon 0kg, best_import 20.71kWh
2026-08-15 22:05:08.314596: Starting detailed optimisation end_record 08-17 12:30:00, best_price_charge 22.95p, best_price_export 0p. lowest_price_charge 21.41p with charge limits [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 0, 0, 16.0, 8.5, 8.5, 8.5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0]kWh and export limits []kWh
2026-08-15 22:05:14.373365: Tweak plan optimisation started metric 881.17p, cost 897.27p
2026-08-15 22:05:14.689489: Tweak optimisation finished metric 881.17p, cost 897.27p, metric_keep 0kWh, cycle 20.17kWh, carbon 0kg, import 13.77kWh, changed 8 window(s)
2026-08-15 22:05:14.711201: Swap charge optimisation started metric 881.17p, cost 897.27p, min_improvement_swap 0.1p
2026-08-15 22:05:22.925148: Swap charge optimisation finished metric 881.17p, cost 897.27p
2026-08-15 22:05:23.043518: Pruned 1 dead plan slot(s) in 12 trial(s), nominal metric 876.67p -> 876.67p, plan now metric 881.2p, cost 897.27p, cycle 20.17kWh, import 13.77kWh
2026-08-15 22:05:23.053936: Raw charge windows [ 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 30.02p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 27.8p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.18p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.38p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 26.7p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.31p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.79p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 25.86p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.13p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 25.86p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.27p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.14p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 27.03p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.28p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.68p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 26.1p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 24.28p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 24.94p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.06p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.39p 41%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.66p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.06p 38%, 16-08 10:00:00 - 16-08 10:30:00 @ 25.5p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 24.94p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 24.25p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 23.49p 31%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.43p 28%, 16-08 12:30:00 - 16-08 13:00:00 @ 22.33p 28%, 16-08 13:00:00 - 16-08 13:30:00 @ 22.76p 28%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 28%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 100%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.65p 53%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.95p 53%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.83p 53%, 16-08 16:00:00 - 16-08 16:30:00 @ 36.84p 0%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.54p 0%, 16-08 17:00:00 - 16-08 17:30:00 @ 41.79p 0%, 16-08 17:30:00 - 16-08 18:00:00 @ 43.7p 0%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.34p 0%, 16-08 19:00:00 - 16-08 19:30:00 @ 34.79p 0%, 16-08 19:30:00 - 16-08 20:00:00 @ 34.76p 0%, 16-08 20:00:00 - 16-08 20:30:00 @ 35.62p 0%, 16-08 20:30:00 - 16-08 21:00:00 @ 35.3p 0%, 16-08 21:00:00 - 16-08 21:30:00 @ 35.89p 0%, 16-08 21:30:00 - 16-08 22:00:00 @ 35.71p 0%, 16-08 22:00:00 - 16-08 22:30:00 @ 33.75p 0%, 16-08 22:30:00 - 16-08 23:00:00 @ 32.0p 0%, 16-08 23:00:00 - 16-08 23:30:00 @ 30.02p 0%, 16-08 23:30:00 - 17-08 00:00:00 @ 27.8p 0%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.18p 0%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.38p 0%, 17-08 01:00:00 - 17-08 01:30:00 @ 26.7p 0%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.31p 0%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.79p 0%, 17-08 02:30:00 - 17-08 03:00:00 @ 25.86p 0%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.13p 0%, 17-08 03:30:00 - 17-08 04:00:00 @ 25.86p 0%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.27p 0%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.14p 0%, 17-08 05:00:00 - 17-08 05:30:00 @ 27.03p 0%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.28p 0%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.68p 0%, 17-08 06:30:00 - 17-08 07:00:00 @ 26.1p 0%, 17-08 07:00:00 - 17-08 07:30:00 @ 24.28p 0%, 17-08 07:30:00 - 17-08 08:00:00 @ 24.94p 0%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.06p 0%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.39p 0%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.66p 0%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.06p 0%, 17-08 10:00:00 - 17-08 10:30:00 @ 25.5p 0%, 17-08 10:30:00 - 17-08 11:00:00 @ 24.94p 0%, 17-08 11:00:00 - 17-08 11:30:00 @ 24.25p 0%, 17-08 11:30:00 - 17-08 12:00:00 @ 23.49p 0%, 17-08 12:00:00 - 17-08 12:30:00 @ 23.43p 0%, 17-08 12:30:00 - 17-08 13:00:00 @ 22.33p 100%, 17-08 13:00:00 - 17-08 13:30:00 @ 22.76p 100%, 17-08 13:30:00 - 17-08 14:00:00 @ 22.3p 100%, 17-08 14:00:00 - 17-08 14:30:00 @ 21.41p 100%, 17-08 14:30:00 - 17-08 15:00:00 @ 21.65p 100%, 17-08 15:00:00 - 17-08 15:30:00 @ 22.95p 100%, 17-08 15:30:00 - 17-08 16:00:00 @ 22.83p 100%, 17-08 16:00:00 - 17-08 16:30:00 @ 36.84p 100%, 17-08 16:30:00 - 17-08 17:00:00 @ 37.54p 100%, 17-08 17:00:00 - 17-08 17:30:00 @ 41.79p 100%, 17-08 17:30:00 - 17-08 18:00:00 @ 43.7p 100%, 17-08 18:00:00 - 17-08 18:30:00 @ 44.34p 100%, 17-08 19:00:00 - 17-08 19:30:00 @ 34.79p 100%, 17-08 19:30:00 - 17-08 20:00:00 @ 34.76p 100%, 17-08 20:00:00 - 17-08 20:30:00 @ 35.62p 100%, 17-08 20:30:00 - 17-08 21:00:00 @ 35.3p 100%, 17-08 21:00:00 - 17-08 21:30:00 @ 35.89p 100%, 17-08 21:30:00 - 17-08 22:00:00 @ 35.71p 100%, 17-08 22:00:00 - 17-08 22:30:00 @ 33.75p 100% ] reserve 1.12
2026-08-15 22:05:23.054542: Unclipped charge windows [ 16-08 08:30:00 - 16-08 09:00:00 @ 24.39p 41%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.06p 38%, 16-08 11:30:00 - 16-08 12:00:00 @ 23.49p 31%, 16-08 12:00:00 - 16-08 14:00:00 @ 22.56p 28%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 100%, 16-08 14:30:00 - 16-08 16:00:00 @ 22.56p 53%, 17-08 12:30:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 17-08 22:30:00 @ 34.7p 100% ] reserve 1.12
2026-08-15 22:05:23.054895: Unfiltered charge windows [ 16-08 08:30:00 - 16-08 09:00:00 @ 24.39p 41%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.06p 38%, 16-08 11:30:00 - 16-08 12:00:00 @ 23.49p 31%, 16-08 12:00:00 - 16-08 14:00:00 @ 22.56p 28%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 100%, 16-08 14:30:00 - 16-08 16:00:00 @ 22.56p 53%, 17-08 12:30:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 17-08 22:30:00 @ 34.7p 100% ] reserve 1.12
2026-08-15 22:05:23.055156: Filtered charge windows [ 16-08 08:30:00 - 16-08 09:00:00 @ 24.39p 41%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.06p 38%, 16-08 11:30:00 - 16-08 12:00:00 @ 23.49p 31%, 16-08 12:00:00 - 16-08 14:00:00 @ 22.56p 28%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 100%, 16-08 14:30:00 - 16-08 16:00:00 @ 22.56p 53%, 17-08 12:30:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 17-08 22:30:00 @ 34.7p 100% ] reserve 1.12
2026-08-15 22:05:23.086881: Previous plan best metric is 880.07 (cost 896.09) and new plan best metric is 881.17 (cost 897.27)
2026-08-15 22:05:23.087083: New plan metric is not significantly better (metric_min_improvement_plan 2.0) than previous plan, using previous plan
2026-08-15 22:05:23.087271: Plan valid is now true after recompute was False
2026-08-15 22:05:23.112739: predict base end_record 08-17 12:30:00, final soc 1.12kWh, metric 1065.47p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 16:25:00, load 35.85kWh, PV 0.0kWh
2026-08-15 22:05:23.221821: Battery has 18.33 hours left - now at 14.08kWh
2026-08-15 22:05:23.268514: predict base10 end_record 08-17 12:30:00, final soc 1.12kWh, metric 1099.89p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 15:20:00, load 37.05kWh, PV 0.0kWh
2026-08-15 22:05:23.347196: predict best10 end_record 08-17 12:30:00, final soc 1.12kWh, metric 1026.43p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 07:10:00, load 37.05kWh, PV 0.0kWh
2026-08-15 22:05:23.434959: predict best end_record 08-17 12:30:00, final soc 1.12kWh, metric 996.06p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 08:20:00, load 35.85kWh, PV 0.0kWh
2026-08-15 22:05:23.435065: Saving plan best values to HA entities
2026-08-15 22:05:23.592410: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0
2026-08-15 22:05:23.598429: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 22:05:23.604227: Best charging limit SoC's [6.5, 4.5, 5.5, 16.0, 12.5, 16.0, 16.0]kWh, export []kWh gives import battery 11.54kWh, house 2.81kWh, export 0.0kWh, metric 996.06p, metric10 1026.43p
2026-08-15 22:05:23.689571: Marginal costs baseline metric (no standing charge): 896.0958
2026-08-15 22:05:23.983258: Marginal energy costs matrix computed: min=25.11 max=28.85
2026-08-15 22:05:24.063068: Rate array import [{'start': 1325, 'end': 1410, 'rate': 'expensive', 'range': '(29.8p - 31.8p)'}, {'start': 1410, 'end': 2400, 'rate': 'cheap', 'range': '(21.4p - 28.2p)'}, {'start': 2400, 'end': 2430, 'rate': 'expensive', 'range': '(36.8p)'}, {'start': 2430, 'end': 2580, 'rate': 'very expensive', 'range': '(37.5p - 45.3p)'}, {'start': 2580, 'end': 2850, 'rate': 'expensive', 'range': '(30.0p - 35.9p)'}, {'start': 2850, 'end': 3630, 'rate': 'cheap', 'range': '(23.4p - 28.2p)'}] export [{'start': 1325, 'end': 3630, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 22:05:24.063939: - Your estimated bill for today is £5.73 and tomorrow is £3.04
2026-08-15 22:05:24.064004: - Import rates are expensive (29.8p - 31.8p) for the next 1 and a half hours and then cheap (21.4p - 28.2p) for the next 16 hours.
2026-08-15 22:05:24.064030: - The battery is currently at 88% and is in eco mode for the next 9 hours.
2026-08-15 22:05:24.064048: - For the next 48 hours there will be no solar generation.
2026-08-15 22:05:24.064066: - You will run out of battery in 34 hours.
2026-08-15 22:05:24.064089: - Your next charge slot will be in 9 hours where import rates will be cheap (24.1p).
2026-08-15 22:05:24.064116: 
2026-08-15 22:05:24.135735: Plan calculation took 20.40 seconds
2026-08-15 22:05:24.136133: Inverter 0: Type SK Sunsynk
2026-08-15 22:05:24.136181: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 22:05:24.136436: Reserve min: 7%, battery_min: 7%
2026-08-15 22:05:24.136519: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 22:05:24.136861: Inverter 0 SoC: 14.08kW 88%, current charge rate 5000W, current discharge rate 5250W, current battery power 288W, current battery voltage 51.2V, grid power -55W, load power 348W, PV Power 0W
2026-08-15 22:05:24.138405: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 22:05:24.138542: Inverter 0 scheduled charge enable is False
2026-08-15 22:05:24.138577: Inverter 0 charge windows currently []
2026-08-15 22:05:24.138607: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 22:05:24.138838: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 22:05:24.138917: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 22:05:24.139003: Inverter 0 scheduled discharge enable is False
2026-08-15 22:05:24.139238: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 22:05:24.139293: Inverter 0 discharge windows currently []
2026-08-15 22:05:24.139319: Note: Inverter does not support discharge freeze - disabled
2026-08-15 22:05:24.139361: Note: Inverter does not support charge freeze - disabled
2026-08-15 22:05:24.139380: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 22:05:24.197030: Inverter 0 Charge window will be: 2026-08-16 08:00:00+01:00 - 2026-08-16 08:30:00+01:00 - current SoC 88%, target 41%
2026-08-15 22:05:24.197247: Inverter 0 disabled charge window while waiting for schedule (now 08-15 22:05:00 target set_window_minutes 30 charge start time 08-16 08:00:00) original inverter start time 08-17 00:00:00
2026-08-15 22:05:24.197388: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 22:05:24.197699: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 22:05:24.197838: No export window planned
2026-08-15 22:05:24.198048: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 22:05:24.198103: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 22:05:24.198342: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 22:05:24.198597: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 22:05:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 22:05:24.198659: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 22:05:24.198760: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 22:05:24.198911: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 22:05:24.198997: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 22:05:24.199081: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 22:05:24.199136: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 22:05:24.199181: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 22:05:24.199234: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 22:05:24.199296: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 22:05:24.199435: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 22:05:24.199489: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 22:05:24.199540: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 22:05:24.199590: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 22:05:24.199631: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 22:05:24.199683: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 22:05:24.199743: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 22:05:24.199794: Inverter 0 count register writes 0
2026-08-15 22:05:24.222457: Total inverter register writes now 826
2026-08-15 22:05:24.261446: Info: Completed run status Demand
2026-08-15 22:05:24.270605: Info: record_status Demand
2026-08-15 22:05:24.278209: Saved current settings to /config/predbat_config.json
2026-08-15 22:05:24.278635: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 22:05:57.393951: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 22:05:57.394257: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 22:05:57.394309: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 22:05:57.394500: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 22:05:57.394541: Note: Inverter does not support discharge freeze - disabled
2026-08-15 22:05:57.394563: Note: Inverter does not support charge freeze - disabled
2026-08-15 22:05:57.394580: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 22:08:11.656229: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 22:08:11.656475: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 22:08:11.656518: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 22:08:11.656754: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 22:08:11.656805: Note: Inverter does not support discharge freeze - disabled
2026-08-15 22:08:11.656827: Note: Inverter does not support charge freeze - disabled
2026-08-15 22:08:11.656845: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 22:10:00.857121: --------------- PredBat - update at 2026-08-15 22:10:00+01:00 with clock skew 0 minutes, minutes now 1330
2026-08-15 22:10:00.857923: Saved current settings to /config/predbat_config.json
2026-08-15 22:10:00.858067: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 100.0 minutes
2026-08-15 22:10:00.858160: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.2, latest beta is v8.48.2
2026-08-15 22:10:00.858295: Autoupdate: There is an update pending v8.48.2 PV90 and second pass enabled by default, bug fixes - auto update is off
2026-08-15 22:10:00.881916: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 22:10:00.882119: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 22:10:00.882303: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 22:10:00.883002: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 22:10:00.883143: Predbat mode is set to Control charge & discharge
2026-08-15 22:10:01.106659: Found 21602 load_today datapoints going back 28 days
2026-08-15 22:10:01.106859: Using load_power data to fill gaps in load_today data
2026-08-15 22:10:01.982053: Processing 721 30-minute periods for power integration
2026-08-15 22:10:02.178107: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 22:10:02.178299: Car charging hold False, threshold 6.0kWh
2026-08-15 22:10:02.178345: Current data so far today: load 10.5kWh, import 27.8kWh, export 0.0kWh, PV 0kWh
2026-08-15 22:10:02.197521: Cars: SoC: [8.79]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 22:10:02.198021: Standing charge is set to 49.98p
2026-08-15 22:10:02.244534: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 22:10:02.244639: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 22:10:02.244853: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 690.0 minutes
2026-08-15 22:10:02.245366: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 690.0 minutes
2026-08-15 22:10:02.251470: Loaded 95 datapoints of futurerate analysis
2026-08-15 22:10:02.412931: Predicted future rates: ['08-15 00:00:00 => 28.69 / 20.01', '08-15 01:00:00 => 27.33 / 19.31', '08-15 02:00:00 => 26.31 / 18.8', '08-15 03:00:00 => 25.78 / 18.53', '08-15 04:00:00 => 25.59 / 18.43', '08-15 05:00:00 => 25.75 / 18.51', '08-15 06:00:00 => 25.34 / 18.3', '08-15 07:00:00 => 24.12 / 17.68', '08-15 08:00:00 => 22.82 / 17.01', '08-15 09:00:00 => 21.84 / 16.51', '08-15 10:00:00 => 20.22 / 15.68', '08-15 11:00:00 => 17.8 / 14.45', '08-15 12:00:00 => 16.16 / 13.61', '08-15 13:00:00 => 15.55 / 13.3', '08-15 14:00:00 => 15.14 / 13.09', '08-15 15:00:00 => 15.65 / 13.35', '08-15 16:00:00 => 32.68 / 16.13', '08-15 17:00:00 => 37.81 / 18.75', '08-15 18:00:00 => 42.15 / 20.96', '08-15 19:00:00 => 30.88 / 21.13', '08-15 20:00:00 => 31.43 / 21.41', '08-15 21:00:00 => 31.43 / 21.41', '08-15 22:00:00 => 30.37 / 20.87', '08-15 23:00:00 => 29.16 / 20.25', '08-16 00:00:00 => 28.62 / 19.97', '08-16 01:00:00 => 27.52 / 19.41', '08-16 02:00:00 => 26.55 / 18.92', '08-16 03:00:00 => 26.18 / 18.73', '08-16 04:00:00 => 26.12 / 18.7', '08-16 05:00:00 => 26.02 / 18.65', '08-16 06:00:00 => 25.78 / 18.53', '08-16 07:00:00 => 25.43 / 18.35', '08-16 08:00:00 => 24.63 / 17.94', '08-16 09:00:00 => 24.05 / 17.64', '08-16 10:00:00 => 24.59 / 17.92', '08-16 11:00:00 => 24.5 / 17.87', '08-16 12:00:00 => 23.58 / 17.4', '08-16 13:00:00 => 22.93 / 17.07', '08-16 14:00:00 => 21.8 / 16.49', '08-16 15:00:00 => 21.8 / 16.49', '08-16 16:00:00 => 36.93 / 18.3', '08-16 17:00:00 => 39.92 / 19.83', '08-16 18:00:00 => 43.98 / 21.9', '08-16 19:00:00 => 32.83 / 22.13', '08-16 20:00:00 => 33.62 / 22.53', '08-16 21:00:00 => 33.52 / 22.48']
2026-08-15 22:10:02.460761: Rate min forward looking: now 21.41p at end of forecast 21.41p
2026-08-15 22:10:02.461268: Import rates: min 21.41p, max 45.28p, average 28.69p
2026-08-15 22:10:02.506063: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 22:10:02.506193: Rate thresholds (for charge/export) are import 44.78p (0.0p), export -0.1p (0.0p)
2026-08-15 22:10:02.507536: High export rate found rates in range 99p to -99p
2026-08-15 22:10:02.617996: Low Import rate found rates in range 21.41p to 44.34p
2026-08-15 22:10:02.618127: Car 0 charging is not planned as it is not plugged in
2026-08-15 22:10:02.631296: Battery level now 14.08kWh, -1hr ago 14.4kWh, at midnight 1.66kWh, battery value change in the last hour -5.89p, change today 228.52p, rate_forward 18.39p
2026-08-15 22:10:02.631677: Last hour: net energy 0.0kWh, import 0.0kWh, export 0.0kWh, car 0kWh, load 0.25kWh, net cost 0.0p, import 0.0p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 22:10:02.695718: Today's energy total net 27.8kWh, import 27.8kWh, export 0.0kWh, cost 573.42p, import 523.44p, export 0.0p, carbon 0.0kg
2026-08-15 22:10:02.695888: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 22:10:02.796064: Using weighted-bucket historical load forecast over 14 days
2026-08-15 22:10:02.828867: Today's load divergence 78.55%, in-day adjustment 84.53%, damping 0.95x, yesterday 143.77% today 79.63% blend 7.64%
2026-08-15 22:10:02.829006: Today's predicted so far 13.28kWh with 0.0kWh car/iBoost excluded, 20.92kWh import ignored, and 13.28kWh forecast extra.
2026-08-15 22:10:02.829047: Today's actual load so far 10.62kWh with 0.0kWh car/iBoost excluded, and 20.92kWh import ignored.
2026-08-15 22:10:02.865431: Inverter 0: Type SK Sunsynk
2026-08-15 22:10:02.865536: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 22:10:02.865797: Reserve min: 7%, battery_min: 7%
2026-08-15 22:10:02.865911: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 22:10:02.866285: Inverter 0 SoC: 14.08kW 88%, current charge rate 5000W, current discharge rate 5250W, current battery power 290W, current battery voltage 51.2V, grid power -55W, load power 351W, PV Power 0W
2026-08-15 22:10:02.866515: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 22:10:02.866646: Inverter 0 scheduled charge enable is False
2026-08-15 22:10:02.866697: Inverter 0 charge windows currently []
2026-08-15 22:10:02.866746: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 22:10:02.866924: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 22:10:02.867085: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 22:10:02.867141: Inverter 0 scheduled discharge enable is False
2026-08-15 22:10:02.867312: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 22:10:02.867375: Inverter 0 discharge windows currently []
2026-08-15 22:10:02.867400: Note: Inverter does not support discharge freeze - disabled
2026-08-15 22:10:02.867419: Note: Inverter does not support charge freeze - disabled
2026-08-15 22:10:02.867437: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 22:10:02.933223: Dynamic load last period 0.00kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 22:10:02.933355: Plan was last updated on 2026-08-15 22:05:00+01:00 and is now 5.0 minutes old
2026-08-15 22:10:02.933719: Best charge window [ 16-08 08:00:00 - 16-08 08:30:00 @ 24.06p 41%, 16-08 11:30:00 - 16-08 12:30:00 @ 23.46p 28%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 34%, 16-08 13:30:00 - 16-08 15:00:00 @ 21.75p 100%, 16-08 15:00:00 - 16-08 16:00:00 @ 22.89p 78%, 17-08 12:30:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 17-08 21:00:00 @ 35.25p 100% ]
2026-08-15 22:10:02.933779: Best export window [  ]
2026-08-15 22:10:02.934653: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 22:10:02.937789: Load divergence over 8.0 hours mean 781.34W, min 351.0W, max 2447.4W, std dev 454.3W, divergence 29.07%
2026-08-15 22:10:02.958275: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 22:10:02.958436: LoadML is_calculating False
2026-08-15 22:10:02.958546: Creating pool of 12 processes to match your CPU count
2026-08-15 22:10:03.087702: predict base end_record 08-17 12:35:00, final soc 1.12kWh, metric 1063.93p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 16:35:00, load 35.78kWh, PV 0.0kWh
2026-08-15 22:10:03.222922: Battery has 18.42 hours left - now at 14.08kWh
2026-08-15 22:10:03.271121: predict base10 end_record 08-17 12:35:00, final soc 1.12kWh, metric 1099.76p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 15:30:00, load 36.99kWh, PV 0.0kWh
2026-08-15 22:10:03.369632: predict best10 end_record 08-17 12:35:00, final soc 1.44kWh, metric 1033.67p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 07:05:00, load 36.99kWh, PV 0.0kWh
2026-08-15 22:10:03.441292: predict best end_record 08-17 12:35:00, final soc 1.51kWh, metric 1005.04p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 08:20:00, load 35.78kWh, PV 0.0kWh
2026-08-15 22:10:03.441377: Saving plan best values to HA entities
2026-08-15 22:10:03.598799: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 22:10:03.604234: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0.0
2026-08-15 22:10:03.609827: Best charging limit SoC's [6.5, 4.5, 5.5, 16.0, 12.5, 16.0, 16.0]kWh, export []kWh gives import battery 11.93kWh, house 2.83kWh, export 0.0kWh, metric 1005.04p, metric10 1033.67p
2026-08-15 22:10:03.690645: Marginal costs baseline metric (no standing charge): 905.0701
2026-08-15 22:10:03.993351: Marginal energy costs matrix computed: min=25.24 max=28.74
2026-08-15 22:10:04.083703: Rate array import [{'start': 1330, 'end': 1410, 'rate': 'expensive', 'range': '(29.8p - 31.8p)'}, {'start': 1410, 'end': 2400, 'rate': 'cheap', 'range': '(21.4p - 28.2p)'}, {'start': 2400, 'end': 2430, 'rate': 'expensive', 'range': '(36.8p)'}, {'start': 2430, 'end': 2580, 'rate': 'very expensive', 'range': '(37.5p - 45.3p)'}, {'start': 2580, 'end': 2850, 'rate': 'expensive', 'range': '(30.0p - 35.9p)'}, {'start': 2850, 'end': 3635, 'rate': 'cheap', 'range': '(22.3p - 28.2p)'}] export [{'start': 1330, 'end': 3635, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 22:10:04.084467: - Your estimated bill for today is £5.73 and tomorrow is £3.02
2026-08-15 22:10:04.084514: - Import rates are expensive (29.8p - 31.8p) for the next 1 and a quarter hours and then cheap (21.4p - 28.2p) for the next 16 hours.
2026-08-15 22:10:04.084537: - The battery is currently at 88% and is in eco mode for the next 9 hours.
2026-08-15 22:10:04.084580: - For the next 48 hours there will be no solar generation.
2026-08-15 22:10:04.084600: - You will run out of battery in 34 hours.
2026-08-15 22:10:04.084617: - Your next charge slot will be in 9 hours where import rates will be cheap (24.1p).
2026-08-15 22:10:04.084634: 
2026-08-15 22:10:04.147652: Plan calculation took 1.21 seconds
2026-08-15 22:10:04.151742: No high rate period found
2026-08-15 22:10:04.200897: Import threshold used for optimisation was 24.39p
2026-08-15 22:10:04.251991: Low import rate windows [0: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 1: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 2: 08-15 23:00:00 - 08-15 23:30:00 @ 30.02, 3: 08-15 23:30:00 - 08-16 00:00:00 @ 27.8, 4: 08-16 00:00:00 - 08-16 00:30:00 @ 28.18, 5: 08-16 00:30:00 - 08-16 01:00:00 @ 27.38, 6: 08-16 01:00:00 - 08-16 01:30:00 @ 26.7, 7: 08-16 01:30:00 - 08-16 02:00:00 @ 26.31, 8: 08-16 02:00:00 - 08-16 02:30:00 @ 25.79, 9: 08-16 02:30:00 - 08-16 03:00:00 @ 25.86, 10: 08-16 03:00:00 - 08-16 03:30:00 @ 26.13, 11: 08-16 03:30:00 - 08-16 04:00:00 @ 25.86, 12: 08-16 04:00:00 - 08-16 04:30:00 @ 26.27, 13: 08-16 04:30:00 - 08-16 05:00:00 @ 26.14, 14: 08-16 05:00:00 - 08-16 05:30:00 @ 27.03, 15: 08-16 05:30:00 - 08-16 06:00:00 @ 26.28, 16: 08-16 06:00:00 - 08-16 06:30:00 @ 25.68, 17: 08-16 06:30:00 - 08-16 07:00:00 @ 26.1, 18: 08-16 07:00:00 - 08-16 07:30:00 @ 24.28, 19: 08-16 07:30:00 - 08-16 08:00:00 @ 24.94, 20: 08-16 08:00:00 - 08-16 08:30:00 @ 24.06, 21: 08-16 08:30:00 - 08-16 09:00:00 @ 24.39, 22: 08-16 09:00:00 - 08-16 09:30:00 @ 24.66, 23: 08-16 09:30:00 - 08-16 10:00:00 @ 24.06, 24: 08-16 10:00:00 - 08-16 10:30:00 @ 25.5, 25: 08-16 10:30:00 - 08-16 11:00:00 @ 24.94, 26: 08-16 11:00:00 - 08-16 11:30:00 @ 24.25, 27: 08-16 11:30:00 - 08-16 12:00:00 @ 23.49, 28: 08-16 12:00:00 - 08-16 12:30:00 @ 23.43, 29: 08-16 12:30:00 - 08-16 13:00:00 @ 22.33, 30: 08-16 13:00:00 - 08-16 13:30:00 @ 22.76, 31: 08-16 13:30:00 - 08-16 14:00:00 @ 22.3, 32: 08-16 14:00:00 - 08-16 14:30:00 @ 21.41, 33: 08-16 14:30:00 - 08-16 15:00:00 @ 21.65, 34: 08-16 15:00:00 - 08-16 15:30:00 @ 22.95, 35: 08-16 15:30:00 - 08-16 16:00:00 @ 22.83, 36: 08-16 16:00:00 - 08-16 16:30:00 @ 36.84, 37: 08-16 16:30:00 - 08-16 17:00:00 @ 37.54, 38: 08-16 17:00:00 - 08-16 17:30:00 @ 41.79, 39: 08-16 17:30:00 - 08-16 18:00:00 @ 43.7, 40: 08-16 18:00:00 - 08-16 18:30:00 @ 44.34, 41: 08-16 19:00:00 - 08-16 19:30:00 @ 34.79, 42: 08-16 19:30:00 - 08-16 20:00:00 @ 34.76, 43: 08-16 20:00:00 - 08-16 20:30:00 @ 35.62, 44: 08-16 20:30:00 - 08-16 21:00:00 @ 35.3, 45: 08-16 21:00:00 - 08-16 21:30:00 @ 35.89, 46: 08-16 21:30:00 - 08-16 22:00:00 @ 35.71, 47: 08-16 22:00:00 - 08-16 22:30:00 @ 33.75, 48: 08-16 22:30:00 - 08-16 23:00:00 @ 32.0, 49: 08-16 23:00:00 - 08-16 23:30:00 @ 30.02, 50: 08-16 23:30:00 - 08-17 00:00:00 @ 27.8, 51: 08-17 00:00:00 - 08-17 00:30:00 @ 28.18, 52: 08-17 00:30:00 - 08-17 01:00:00 @ 27.38, 53: 08-17 01:00:00 - 08-17 01:30:00 @ 26.7, 54: 08-17 01:30:00 - 08-17 02:00:00 @ 26.31, 55: 08-17 02:00:00 - 08-17 02:30:00 @ 25.79, 56: 08-17 02:30:00 - 08-17 03:00:00 @ 25.86, 57: 08-17 03:00:00 - 08-17 03:30:00 @ 26.13, 58: 08-17 03:30:00 - 08-17 04:00:00 @ 25.86, 59: 08-17 04:00:00 - 08-17 04:30:00 @ 26.27, 60: 08-17 04:30:00 - 08-17 05:00:00 @ 26.14, 61: 08-17 05:00:00 - 08-17 05:30:00 @ 27.03, 62: 08-17 05:30:00 - 08-17 06:00:00 @ 26.28, 63: 08-17 06:00:00 - 08-17 06:30:00 @ 25.68, 64: 08-17 06:30:00 - 08-17 07:00:00 @ 26.1, 65: 08-17 07:00:00 - 08-17 07:30:00 @ 24.28, 66: 08-17 07:30:00 - 08-17 08:00:00 @ 24.94, 67: 08-17 08:00:00 - 08-17 08:30:00 @ 24.06, 68: 08-17 08:30:00 - 08-17 09:00:00 @ 24.39, 69: 08-17 09:00:00 - 08-17 09:30:00 @ 24.66, 70: 08-17 09:30:00 - 08-17 10:00:00 @ 24.06, 71: 08-17 10:00:00 - 08-17 10:30:00 @ 25.5, 72: 08-17 10:30:00 - 08-17 11:00:00 @ 24.94, 73: 08-17 11:00:00 - 08-17 11:30:00 @ 24.25, 74: 08-17 11:30:00 - 08-17 12:00:00 @ 23.49, 75: 08-17 12:00:00 - 08-17 12:30:00 @ 23.43, 76: 08-17 12:30:00 - 08-17 13:00:00 @ 22.33, 77: 08-17 13:00:00 - 08-17 13:30:00 @ 22.76, 78: 08-17 13:30:00 - 08-17 14:00:00 @ 22.3, 79: 08-17 14:00:00 - 08-17 14:30:00 @ 21.41, 80: 08-17 14:30:00 - 08-17 15:00:00 @ 21.65, 81: 08-17 15:00:00 - 08-17 15:30:00 @ 22.95, 82: 08-17 15:30:00 - 08-17 16:00:00 @ 22.83, 83: 08-17 16:00:00 - 08-17 16:30:00 @ 36.84, 84: 08-17 16:30:00 - 08-17 17:00:00 @ 37.54, 85: 08-17 17:00:00 - 08-17 17:30:00 @ 41.79, 86: 08-17 17:30:00 - 08-17 18:00:00 @ 43.7, 87: 08-17 18:00:00 - 08-17 18:30:00 @ 44.34, 88: 08-17 19:00:00 - 08-17 19:30:00 @ 34.79, 89: 08-17 19:30:00 - 08-17 20:00:00 @ 34.76, 90: 08-17 20:00:00 - 08-17 20:30:00 @ 35.62, 91: 08-17 20:30:00 - 08-17 21:00:00 @ 35.3, 92: 08-17 21:00:00 - 08-17 21:30:00 @ 35.89, 93: 08-17 21:30:00 - 08-17 22:00:00 @ 35.71, 94: 08-17 22:00:00 - 08-17 22:30:00 @ 33.75]
2026-08-15 22:10:04.260066: Inverter 0 Charge window will be: 2026-08-16 08:00:00+01:00 - 2026-08-16 08:30:00+01:00 - current SoC 88%, target 41%
2026-08-15 22:10:04.260209: Inverter 0 disabled charge window while waiting for schedule (now 08-15 22:10:00 target set_window_minutes 30 charge start time 08-16 08:00:00) original inverter start time 08-17 00:00:00
2026-08-15 22:10:04.260334: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 22:10:04.260589: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 22:10:04.260682: No export window planned
2026-08-15 22:10:04.260797: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 22:10:04.260863: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 22:10:04.261102: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 22:10:04.261288: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 22:10:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 22:10:04.261362: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 22:10:04.261438: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 22:10:04.261539: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 22:10:04.261587: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 22:10:04.261619: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 22:10:04.261645: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 22:10:04.261677: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 22:10:04.261716: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 22:10:04.261741: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 22:10:04.261824: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 22:10:04.261860: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 22:10:04.261886: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 22:10:04.261910: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 22:10:04.261934: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 22:10:04.261972: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 22:10:04.261999: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 22:10:04.262072: Inverter 0 count register writes 0
2026-08-15 22:10:04.277675: Will not recompute the plan, it is 5.0 minutes old and max age is 10 minutes
2026-08-15 22:10:04.284117: Total inverter register writes now 826
2026-08-15 22:10:04.338663: Info: Completed run status Demand
2026-08-15 22:10:04.345761: Info: record_status Demand
2026-08-15 22:10:04.353917: Saved current settings to /config/predbat_config.json
2026-08-15 22:10:04.354335: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 22:10:41.479194: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 22:10:41.479573: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 22:10:41.479640: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 22:10:41.479848: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 22:10:41.479903: Note: Inverter does not support discharge freeze - disabled
2026-08-15 22:10:41.479944: Note: Inverter does not support charge freeze - disabled
2026-08-15 22:10:41.480000: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 22:12:41.720157: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 22:12:41.720442: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 22:12:41.720500: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 22:12:41.720678: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 22:12:41.720717: Note: Inverter does not support discharge freeze - disabled
2026-08-15 22:12:41.720739: Note: Inverter does not support charge freeze - disabled
2026-08-15 22:12:41.720756: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 22:14:41.942797: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 22:14:41.943042: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 22:14:41.943081: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 22:14:41.943214: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 22:14:41.943253: Note: Inverter does not support discharge freeze - disabled
2026-08-15 22:14:41.943274: Note: Inverter does not support charge freeze - disabled
2026-08-15 22:14:41.943292: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 22:15:00.039859: --------------- PredBat - update at 2026-08-15 22:15:00+01:00 with clock skew 0 minutes, minutes now 1335
2026-08-15 22:15:00.040768: Saved current settings to /config/predbat_config.json
2026-08-15 22:15:00.040934: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 105.0 minutes
2026-08-15 22:15:00.041125: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.2, latest beta is v8.48.2
2026-08-15 22:15:00.041273: Autoupdate: There is an update pending v8.48.2 PV90 and second pass enabled by default, bug fixes - auto update is off
2026-08-15 22:15:00.068563: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 22:15:00.068730: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 22:15:00.069013: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 22:15:00.069636: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 22:15:00.070000: Predbat mode is set to Control charge & discharge
2026-08-15 22:15:00.287502: Found 21602 load_today datapoints going back 28 days
2026-08-15 22:15:00.287654: Using load_power data to fill gaps in load_today data
2026-08-15 22:15:00.989390: Processing 721 30-minute periods for power integration
2026-08-15 22:15:01.160278: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 22:15:01.160444: Car charging hold False, threshold 6.0kWh
2026-08-15 22:15:01.160496: Current data so far today: load 10.5kWh, import 27.8kWh, export 0.0kWh, PV 0kWh
2026-08-15 22:15:01.180450: Cars: SoC: [8.79]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 22:15:01.181091: Standing charge is set to 49.98p
2026-08-15 22:15:01.236069: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 22:15:01.236179: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 22:15:01.236386: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 695.0 minutes
2026-08-15 22:15:01.236797: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 695.0 minutes
2026-08-15 22:15:01.243464: Loaded 95 datapoints of futurerate analysis
2026-08-15 22:15:01.405883: Predicted future rates: ['08-15 00:00:00 => 28.69 / 20.01', '08-15 01:00:00 => 27.33 / 19.31', '08-15 02:00:00 => 26.31 / 18.8', '08-15 03:00:00 => 25.78 / 18.53', '08-15 04:00:00 => 25.59 / 18.43', '08-15 05:00:00 => 25.75 / 18.51', '08-15 06:00:00 => 25.34 / 18.3', '08-15 07:00:00 => 24.12 / 17.68', '08-15 08:00:00 => 22.82 / 17.01', '08-15 09:00:00 => 21.84 / 16.51', '08-15 10:00:00 => 20.22 / 15.68', '08-15 11:00:00 => 17.8 / 14.45', '08-15 12:00:00 => 16.16 / 13.61', '08-15 13:00:00 => 15.55 / 13.3', '08-15 14:00:00 => 15.14 / 13.09', '08-15 15:00:00 => 15.65 / 13.35', '08-15 16:00:00 => 32.68 / 16.13', '08-15 17:00:00 => 37.81 / 18.75', '08-15 18:00:00 => 42.15 / 20.96', '08-15 19:00:00 => 30.88 / 21.13', '08-15 20:00:00 => 31.43 / 21.41', '08-15 21:00:00 => 31.43 / 21.41', '08-15 22:00:00 => 30.37 / 20.87', '08-15 23:00:00 => 29.16 / 20.25', '08-16 00:00:00 => 28.62 / 19.97', '08-16 01:00:00 => 27.52 / 19.41', '08-16 02:00:00 => 26.55 / 18.92', '08-16 03:00:00 => 26.18 / 18.73', '08-16 04:00:00 => 26.12 / 18.7', '08-16 05:00:00 => 26.02 / 18.65', '08-16 06:00:00 => 25.78 / 18.53', '08-16 07:00:00 => 25.43 / 18.35', '08-16 08:00:00 => 24.63 / 17.94', '08-16 09:00:00 => 24.05 / 17.64', '08-16 10:00:00 => 24.59 / 17.92', '08-16 11:00:00 => 24.5 / 17.87', '08-16 12:00:00 => 23.58 / 17.4', '08-16 13:00:00 => 22.93 / 17.07', '08-16 14:00:00 => 21.8 / 16.49', '08-16 15:00:00 => 21.8 / 16.49', '08-16 16:00:00 => 36.93 / 18.3', '08-16 17:00:00 => 39.92 / 19.83', '08-16 18:00:00 => 43.98 / 21.9', '08-16 19:00:00 => 32.83 / 22.13', '08-16 20:00:00 => 33.62 / 22.53', '08-16 21:00:00 => 33.52 / 22.48']
2026-08-15 22:15:01.444904: Rate min forward looking: now 21.41p at end of forecast 21.41p
2026-08-15 22:15:01.445281: Import rates: min 21.41p, max 45.28p, average 28.7p
2026-08-15 22:15:01.480284: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 22:15:01.480394: Rate thresholds (for charge/export) are import 44.78p (0.0p), export -0.1p (0.0p)
2026-08-15 22:15:01.481578: High export rate found rates in range 99p to -99p
2026-08-15 22:15:01.569371: Low Import rate found rates in range 21.41p to 44.34p
2026-08-15 22:15:01.569512: Car 0 charging is not planned as it is not plugged in
2026-08-15 22:15:01.581742: Battery level now 14.08kWh, -1hr ago 14.4kWh, at midnight 1.66kWh, battery value change in the last hour -5.89p, change today 228.52p, rate_forward 18.39p
2026-08-15 22:15:01.582064: Last hour: net energy 0.0kWh, import 0.0kWh, export 0.0kWh, car 0kWh, load 0.2kWh, net cost 0.0p, import 0.0p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 22:15:01.651931: Today's energy total net 27.8kWh, import 27.8kWh, export 0.0kWh, cost 573.42p, import 523.44p, export 0.0p, carbon 0.0kg
2026-08-15 22:15:01.652092: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 22:15:01.741018: Using weighted-bucket historical load forecast over 14 days
2026-08-15 22:15:01.771407: Today's load divergence 77.83%, in-day adjustment 83.67%, damping 0.95x, yesterday 143.77% today 78.94% blend 7.29%
2026-08-15 22:15:01.771521: Today's predicted so far 13.31kWh with 0.0kWh car/iBoost excluded, 20.9kWh import ignored, and 13.31kWh forecast extra.
2026-08-15 22:15:01.771554: Today's actual load so far 10.57kWh with 0.0kWh car/iBoost excluded, and 20.9kWh import ignored.
2026-08-15 22:15:01.805224: Inverter 0: Type SK Sunsynk
2026-08-15 22:15:01.805307: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 22:15:01.805499: Reserve min: 7%, battery_min: 7%
2026-08-15 22:15:01.805571: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 22:15:01.805810: Inverter 0 SoC: 14.08kW 88%, current charge rate 5000W, current discharge rate 5250W, current battery power 275W, current battery voltage 51.2V, grid power -54W, load power 334W, PV Power 0W
2026-08-15 22:15:01.805947: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 22:15:01.806024: Inverter 0 scheduled charge enable is False
2026-08-15 22:15:01.806048: Inverter 0 charge windows currently []
2026-08-15 22:15:01.806069: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 22:15:01.806157: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 22:15:01.806187: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 22:15:01.806215: Inverter 0 scheduled discharge enable is False
2026-08-15 22:15:01.806315: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 22:15:01.806345: Inverter 0 discharge windows currently []
2026-08-15 22:15:01.806364: Note: Inverter does not support discharge freeze - disabled
2026-08-15 22:15:01.806379: Note: Inverter does not support charge freeze - disabled
2026-08-15 22:15:01.806392: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 22:15:01.861557: Dynamic load last period 0.00kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 22:15:01.861667: Plan was last updated on 2026-08-15 22:05:00+01:00 and is now 10.0 minutes old
2026-08-15 22:15:01.861996: Best charge window [ 16-08 08:00:00 - 16-08 08:30:00 @ 24.06p 41%, 16-08 11:30:00 - 16-08 12:30:00 @ 23.46p 28%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 34%, 16-08 13:30:00 - 16-08 15:00:00 @ 21.75p 100%, 16-08 15:00:00 - 16-08 16:00:00 @ 22.89p 78%, 17-08 12:30:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 17-08 21:00:00 @ 35.25p 100% ]
2026-08-15 22:15:01.862039: Best export window [  ]
2026-08-15 22:15:01.862876: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 22:15:01.865979: Load divergence over 8.0 hours mean 781.47W, min 362.4W, max 2127.6W, std dev 439.87W, divergence 28.14%
2026-08-15 22:15:01.884713: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 22:15:01.884840: LoadML is_calculating False
2026-08-15 22:15:01.884907: Creating pool of 12 processes to match your CPU count
2026-08-15 22:15:02.014380: predict base end_record 08-17 12:40:00, final soc 1.12kWh, metric 1062.8p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 16:45:00, load 35.78kWh, PV 0.0kWh
2026-08-15 22:15:02.138532: Battery has 18.5 hours left - now at 14.08kWh
2026-08-15 22:15:02.195122: predict base10 end_record 08-17 12:40:00, final soc 1.12kWh, metric 1099.77p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 15:40:00, load 36.99kWh, PV 0.0kWh
2026-08-15 22:15:02.271694: predict best10 end_record 08-17 12:40:00, final soc 1.77kWh, metric 1041.29p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 07:10:00, load 36.99kWh, PV 0.0kWh
2026-08-15 22:15:02.353220: predict best end_record 08-17 12:40:00, final soc 1.9kWh, metric 1014.09p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 08:20:00, load 35.78kWh, PV 0.0kWh
2026-08-15 22:15:02.353301: Saving plan best values to HA entities
2026-08-15 22:15:02.536985: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 22:15:02.543879: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0.0
2026-08-15 22:15:02.550157: Best charging limit SoC's [6.5, 4.5, 5.5, 16.0, 12.5, 16.0, 16.0]kWh, export []kWh gives import battery 12.33kWh, house 2.83kWh, export 0.0kWh, metric 1014.09p, metric10 1041.29p
2026-08-15 22:15:02.621779: Marginal costs baseline metric (no standing charge): 914.1243
2026-08-15 22:15:02.874034: Marginal energy costs matrix computed: min=25.38 max=28.64
2026-08-15 22:15:02.946185: Rate array import [{'start': 1335, 'end': 1410, 'rate': 'expensive', 'range': '(29.8p - 31.8p)'}, {'start': 1410, 'end': 2400, 'rate': 'cheap', 'range': '(21.4p - 28.2p)'}, {'start': 2400, 'end': 2430, 'rate': 'expensive', 'range': '(36.8p)'}, {'start': 2430, 'end': 2580, 'rate': 'very expensive', 'range': '(37.5p - 45.3p)'}, {'start': 2580, 'end': 2850, 'rate': 'expensive', 'range': '(30.0p - 35.9p)'}, {'start': 2850, 'end': 3640, 'rate': 'cheap', 'range': '(22.3p - 28.2p)'}] export [{'start': 1335, 'end': 3640, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 22:15:02.946863: - Your estimated bill for today is £5.73 and tomorrow is £3.00
2026-08-15 22:15:02.946933: - Import rates are expensive (29.8p - 31.8p) for the next 1 and a quarter hours and then cheap (21.4p - 28.2p) for the next 16 hours.
2026-08-15 22:15:02.946952: - The battery is currently at 88% and is in eco mode for the next 9 hours.
2026-08-15 22:15:02.946967: - For the next 48 hours there will be no solar generation.
2026-08-15 22:15:02.946981: - You will run out of battery in 34 hours.
2026-08-15 22:15:02.946995: - Your next charge slot will be in 9 hours where import rates will be cheap (24.1p).
2026-08-15 22:15:02.947011: 
2026-08-15 22:15:03.003178: Plan calculation took 1.14 seconds
2026-08-15 22:15:03.006327: No high rate period found
2026-08-15 22:15:03.056226: Import threshold used for optimisation was 24.39p
2026-08-15 22:15:03.103945: Low import rate windows [0: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 1: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 2: 08-15 23:00:00 - 08-15 23:30:00 @ 30.02, 3: 08-15 23:30:00 - 08-16 00:00:00 @ 27.8, 4: 08-16 00:00:00 - 08-16 00:30:00 @ 28.18, 5: 08-16 00:30:00 - 08-16 01:00:00 @ 27.38, 6: 08-16 01:00:00 - 08-16 01:30:00 @ 26.7, 7: 08-16 01:30:00 - 08-16 02:00:00 @ 26.31, 8: 08-16 02:00:00 - 08-16 02:30:00 @ 25.79, 9: 08-16 02:30:00 - 08-16 03:00:00 @ 25.86, 10: 08-16 03:00:00 - 08-16 03:30:00 @ 26.13, 11: 08-16 03:30:00 - 08-16 04:00:00 @ 25.86, 12: 08-16 04:00:00 - 08-16 04:30:00 @ 26.27, 13: 08-16 04:30:00 - 08-16 05:00:00 @ 26.14, 14: 08-16 05:00:00 - 08-16 05:30:00 @ 27.03, 15: 08-16 05:30:00 - 08-16 06:00:00 @ 26.28, 16: 08-16 06:00:00 - 08-16 06:30:00 @ 25.68, 17: 08-16 06:30:00 - 08-16 07:00:00 @ 26.1, 18: 08-16 07:00:00 - 08-16 07:30:00 @ 24.28, 19: 08-16 07:30:00 - 08-16 08:00:00 @ 24.94, 20: 08-16 08:00:00 - 08-16 08:30:00 @ 24.06, 21: 08-16 08:30:00 - 08-16 09:00:00 @ 24.39, 22: 08-16 09:00:00 - 08-16 09:30:00 @ 24.66, 23: 08-16 09:30:00 - 08-16 10:00:00 @ 24.06, 24: 08-16 10:00:00 - 08-16 10:30:00 @ 25.5, 25: 08-16 10:30:00 - 08-16 11:00:00 @ 24.94, 26: 08-16 11:00:00 - 08-16 11:30:00 @ 24.25, 27: 08-16 11:30:00 - 08-16 12:00:00 @ 23.49, 28: 08-16 12:00:00 - 08-16 12:30:00 @ 23.43, 29: 08-16 12:30:00 - 08-16 13:00:00 @ 22.33, 30: 08-16 13:00:00 - 08-16 13:30:00 @ 22.76, 31: 08-16 13:30:00 - 08-16 14:00:00 @ 22.3, 32: 08-16 14:00:00 - 08-16 14:30:00 @ 21.41, 33: 08-16 14:30:00 - 08-16 15:00:00 @ 21.65, 34: 08-16 15:00:00 - 08-16 15:30:00 @ 22.95, 35: 08-16 15:30:00 - 08-16 16:00:00 @ 22.83, 36: 08-16 16:00:00 - 08-16 16:30:00 @ 36.84, 37: 08-16 16:30:00 - 08-16 17:00:00 @ 37.54, 38: 08-16 17:00:00 - 08-16 17:30:00 @ 41.79, 39: 08-16 17:30:00 - 08-16 18:00:00 @ 43.7, 40: 08-16 18:00:00 - 08-16 18:30:00 @ 44.34, 41: 08-16 19:00:00 - 08-16 19:30:00 @ 34.79, 42: 08-16 19:30:00 - 08-16 20:00:00 @ 34.76, 43: 08-16 20:00:00 - 08-16 20:30:00 @ 35.62, 44: 08-16 20:30:00 - 08-16 21:00:00 @ 35.3, 45: 08-16 21:00:00 - 08-16 21:30:00 @ 35.89, 46: 08-16 21:30:00 - 08-16 22:00:00 @ 35.71, 47: 08-16 22:00:00 - 08-16 22:30:00 @ 33.75, 48: 08-16 22:30:00 - 08-16 23:00:00 @ 32.0, 49: 08-16 23:00:00 - 08-16 23:30:00 @ 30.02, 50: 08-16 23:30:00 - 08-17 00:00:00 @ 27.8, 51: 08-17 00:00:00 - 08-17 00:30:00 @ 28.18, 52: 08-17 00:30:00 - 08-17 01:00:00 @ 27.38, 53: 08-17 01:00:00 - 08-17 01:30:00 @ 26.7, 54: 08-17 01:30:00 - 08-17 02:00:00 @ 26.31, 55: 08-17 02:00:00 - 08-17 02:30:00 @ 25.79, 56: 08-17 02:30:00 - 08-17 03:00:00 @ 25.86, 57: 08-17 03:00:00 - 08-17 03:30:00 @ 26.13, 58: 08-17 03:30:00 - 08-17 04:00:00 @ 25.86, 59: 08-17 04:00:00 - 08-17 04:30:00 @ 26.27, 60: 08-17 04:30:00 - 08-17 05:00:00 @ 26.14, 61: 08-17 05:00:00 - 08-17 05:30:00 @ 27.03, 62: 08-17 05:30:00 - 08-17 06:00:00 @ 26.28, 63: 08-17 06:00:00 - 08-17 06:30:00 @ 25.68, 64: 08-17 06:30:00 - 08-17 07:00:00 @ 26.1, 65: 08-17 07:00:00 - 08-17 07:30:00 @ 24.28, 66: 08-17 07:30:00 - 08-17 08:00:00 @ 24.94, 67: 08-17 08:00:00 - 08-17 08:30:00 @ 24.06, 68: 08-17 08:30:00 - 08-17 09:00:00 @ 24.39, 69: 08-17 09:00:00 - 08-17 09:30:00 @ 24.66, 70: 08-17 09:30:00 - 08-17 10:00:00 @ 24.06, 71: 08-17 10:00:00 - 08-17 10:30:00 @ 25.5, 72: 08-17 10:30:00 - 08-17 11:00:00 @ 24.94, 73: 08-17 11:00:00 - 08-17 11:30:00 @ 24.25, 74: 08-17 11:30:00 - 08-17 12:00:00 @ 23.49, 75: 08-17 12:00:00 - 08-17 12:30:00 @ 23.43, 76: 08-17 12:30:00 - 08-17 13:00:00 @ 22.33, 77: 08-17 13:00:00 - 08-17 13:30:00 @ 22.76, 78: 08-17 13:30:00 - 08-17 14:00:00 @ 22.3, 79: 08-17 14:00:00 - 08-17 14:30:00 @ 21.41, 80: 08-17 14:30:00 - 08-17 15:00:00 @ 21.65, 81: 08-17 15:00:00 - 08-17 15:30:00 @ 22.95, 82: 08-17 15:30:00 - 08-17 16:00:00 @ 22.83, 83: 08-17 16:00:00 - 08-17 16:30:00 @ 36.84, 84: 08-17 16:30:00 - 08-17 17:00:00 @ 37.54, 85: 08-17 17:00:00 - 08-17 17:30:00 @ 41.79, 86: 08-17 17:30:00 - 08-17 18:00:00 @ 43.7, 87: 08-17 18:00:00 - 08-17 18:30:00 @ 44.34, 88: 08-17 19:00:00 - 08-17 19:30:00 @ 34.79, 89: 08-17 19:30:00 - 08-17 20:00:00 @ 34.76, 90: 08-17 20:00:00 - 08-17 20:30:00 @ 35.62, 91: 08-17 20:30:00 - 08-17 21:00:00 @ 35.3, 92: 08-17 21:00:00 - 08-17 21:30:00 @ 35.89, 93: 08-17 21:30:00 - 08-17 22:00:00 @ 35.71, 94: 08-17 22:00:00 - 08-17 22:30:00 @ 33.75]
2026-08-15 22:15:03.118789: Inverter 0 Charge window will be: 2026-08-16 08:00:00+01:00 - 2026-08-16 08:30:00+01:00 - current SoC 88%, target 41%
2026-08-15 22:15:03.118953: Inverter 0 disabled charge window while waiting for schedule (now 08-15 22:15:00 target set_window_minutes 30 charge start time 08-16 08:00:00) original inverter start time 08-17 00:00:00
2026-08-15 22:15:03.119099: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 22:15:03.119392: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 22:15:03.119524: No export window planned
2026-08-15 22:15:03.119706: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 22:15:03.119752: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 22:15:03.119929: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 22:15:03.120140: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 22:15:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 22:15:03.120239: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 22:15:03.120335: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 22:15:03.120443: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 22:15:03.120483: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 22:15:03.120506: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 22:15:03.120527: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 22:15:03.120548: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 22:15:03.120569: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 22:15:03.120589: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 22:15:03.120645: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 22:15:03.120672: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 22:15:03.120693: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 22:15:03.120712: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 22:15:03.120731: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 22:15:03.120750: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 22:15:03.120768: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 22:15:03.120785: Inverter 0 count register writes 0
2026-08-15 22:15:03.135677: Will recompute the plan as it is now 10.0 minutes old and will exceed the max age of 10 minutes before the next run
2026-08-15 22:15:03.135845: Recompute is saving previous plan...
2026-08-15 22:15:03.138528: Best charge window [ 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 30.02p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 27.8p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.18p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.38p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 26.7p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.31p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.79p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 25.86p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.13p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 25.86p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.27p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.14p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 27.03p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.28p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.68p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 26.1p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 24.28p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 24.94p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.06p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.39p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.66p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.06p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 25.5p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 24.94p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 24.25p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 23.49p 0%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.43p 0%, 16-08 12:30:00 - 16-08 13:00:00 @ 22.33p 0%, 16-08 13:00:00 - 16-08 13:30:00 @ 22.76p 0%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 0%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 0%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.65p 0%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.95p 0%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.83p 0%, 16-08 16:00:00 - 16-08 16:30:00 @ 36.84p 0%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.54p 0%, 16-08 17:00:00 - 16-08 17:30:00 @ 41.79p 0%, 16-08 17:30:00 - 16-08 18:00:00 @ 43.7p 0%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.34p 0%, 16-08 19:00:00 - 16-08 19:30:00 @ 34.79p 0%, 16-08 19:30:00 - 16-08 20:00:00 @ 34.76p 0%, 16-08 20:00:00 - 16-08 20:30:00 @ 35.62p 0%, 16-08 20:30:00 - 16-08 21:00:00 @ 35.3p 0%, 16-08 21:00:00 - 16-08 21:30:00 @ 35.89p 0%, 16-08 21:30:00 - 16-08 22:00:00 @ 35.71p 0%, 16-08 22:00:00 - 16-08 22:30:00 @ 33.75p 0%, 16-08 22:30:00 - 16-08 23:00:00 @ 32.0p 0%, 16-08 23:00:00 - 16-08 23:30:00 @ 30.02p 0%, 16-08 23:30:00 - 17-08 00:00:00 @ 27.8p 0%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.18p 0%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.38p 0%, 17-08 01:00:00 - 17-08 01:30:00 @ 26.7p 0%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.31p 0%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.79p 0%, 17-08 02:30:00 - 17-08 03:00:00 @ 25.86p 0%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.13p 0%, 17-08 03:30:00 - 17-08 04:00:00 @ 25.86p 0%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.27p 0%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.14p 0%, 17-08 05:00:00 - 17-08 05:30:00 @ 27.03p 0%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.28p 0%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.68p 0%, 17-08 06:30:00 - 17-08 07:00:00 @ 26.1p 0%, 17-08 07:00:00 - 17-08 07:30:00 @ 24.28p 0%, 17-08 07:30:00 - 17-08 08:00:00 @ 24.94p 0%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.06p 0%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.39p 0%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.66p 0%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.06p 0%, 17-08 10:00:00 - 17-08 10:30:00 @ 25.5p 0%, 17-08 10:30:00 - 17-08 11:00:00 @ 24.94p 0%, 17-08 11:00:00 - 17-08 11:30:00 @ 24.25p 0%, 17-08 11:30:00 - 17-08 12:00:00 @ 23.49p 0%, 17-08 12:00:00 - 17-08 12:30:00 @ 23.43p 0%, 17-08 12:30:00 - 17-08 13:00:00 @ 22.33p 0%, 17-08 13:00:00 - 17-08 13:30:00 @ 22.76p 0%, 17-08 13:30:00 - 17-08 14:00:00 @ 22.3p 0%, 17-08 14:00:00 - 17-08 14:30:00 @ 21.41p 0%, 17-08 14:30:00 - 17-08 15:00:00 @ 21.65p 0%, 17-08 15:00:00 - 17-08 15:30:00 @ 22.95p 0%, 17-08 15:30:00 - 17-08 16:00:00 @ 22.83p 0%, 17-08 16:00:00 - 17-08 16:30:00 @ 36.84p 0%, 17-08 16:30:00 - 17-08 17:00:00 @ 37.54p 0%, 17-08 17:00:00 - 17-08 17:30:00 @ 41.79p 0%, 17-08 17:30:00 - 17-08 18:00:00 @ 43.7p 0%, 17-08 18:00:00 - 17-08 18:30:00 @ 44.34p 0%, 17-08 19:00:00 - 17-08 19:30:00 @ 34.79p 0%, 17-08 19:30:00 - 17-08 20:00:00 @ 34.76p 0%, 17-08 20:00:00 - 17-08 20:30:00 @ 35.62p 0%, 17-08 20:30:00 - 17-08 21:00:00 @ 35.3p 0%, 17-08 21:00:00 - 17-08 21:30:00 @ 35.89p 0%, 17-08 21:30:00 - 17-08 22:00:00 @ 35.71p 0%, 17-08 22:00:00 - 17-08 22:30:00 @ 33.75p 0% ]
2026-08-15 22:15:03.138598: Best export window [  ]
2026-08-15 22:15:03.139241: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 22:15:03.141759: Load divergence over 8.0 hours mean 781.47W, min 362.4W, max 2127.6W, std dev 439.87W, divergence 28.14%
2026-08-15 22:15:03.156576: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 22:15:03.156658: LoadML is_calculating False
2026-08-15 22:15:03.156713: Creating pool of 12 processes to match your CPU count
2026-08-15 22:15:03.233213: Calculate Best options: mode(Control charge & discharge), calculate_export_oncharge(False), calculate_export_on_pv(True), set_export_freeze_only(False), set_discharge_during_charge(True), combine_charge_slots(False), combine_export_slots(False), combine_rate_threshold(0.0), best_soc_min(0.0 kWh), best_soc_max(0.0 kWh), best_soc_keep(0.0 kWh), inverter_loss(4%), battery_loss(3%), battery_loss_discharge (3%), inverter_hybrid(True), metric_min_improvement(0.0p), metric_min_improvement_export(0.1p), metric_min_improvement_export_freeze(0.1p), metric_battery_cycle(0.0p/kWh), metric_battery_value_scaling(1.0 x) 
2026-08-15 22:15:03.235093: Optimise levels pass started at 2026-08-15 22:15:03
2026-08-15 22:15:03.235163: Optimise all windows, total charge 94 export 1
2026-08-15 22:15:04.232144: >> Region optimisation pass width 960 gives best_metric 1031.59p, best_cost 1045.16p, best_cycle 32.42kWh, best_import 20.59kWh
2026-08-15 22:15:04.643188: >> Region optimisation pass width 480 gives best_metric 1031.59p, best_cost 1045.16p, best_cycle 32.42kWh, best_import 20.59kWh
2026-08-15 22:15:05.156858: >> Region optimisation pass width 240 gives best_metric 1031.59p, best_cost 1045.16p, best_cycle 32.42kWh, best_import 20.59kWh
2026-08-15 22:15:06.304659: >> Region optimisation pass width 120 gives best_metric 1031.59p, best_cost 1045.16p, best_cycle 32.42kWh, best_import 20.59kWh
2026-08-15 22:15:06.304940: Calculated end_record as 08-17 12:30:00 based on best_price 22.95p, next_charge_start 08-16 12:30:00, max_windows 76
2026-08-15 22:15:06.305067: Optimise levels pass ended at 2026-08-15 22:15:06, duration 3.1 seconds tried 321 combinations
2026-08-15 22:15:06.305134: Set best_price_charge_level 24.6p, best_price_export_level 0p, best_price_charge 22.95p, best_cost_export 0p, best_metric 1031.59p, best_keep 0kWh, best_cycle 32.42kWh, best_carbon 0kg, best_import 20.59kWh
2026-08-15 22:15:06.322593: Starting detailed optimisation end_record 08-17 12:30:00, best_price_charge 22.95p, best_price_export 0p. lowest_price_charge 21.41p with charge limits [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 0, 0, 16.0, 8.5, 8.5, 8.5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0]kWh and export limits []kWh
2026-08-15 22:15:11.953873: Tweak plan optimisation started metric 877.36p, cost 893.5p
2026-08-15 22:15:12.264815: Tweak optimisation finished metric 877.36p, cost 893.5p, metric_keep 0kWh, cycle 20.16kWh, carbon 0kg, import 13.62kWh, changed 8 window(s)
2026-08-15 22:15:12.283421: Swap charge optimisation started metric 877.36p, cost 893.5p, min_improvement_swap 0.1p
2026-08-15 22:15:18.605903: Swap charge optimisation finished metric 877.36p, cost 893.5p
2026-08-15 22:15:18.706069: Pruned 1 dead plan slot(s) in 10 trial(s), nominal metric 872.9p -> 872.9p, plan now metric 877.38p, cost 893.5p, cycle 20.16kWh, import 13.62kWh
2026-08-15 22:15:18.716149: Raw charge windows [ 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 30.02p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 27.8p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.18p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.38p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 26.7p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.31p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.79p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 25.86p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.13p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 25.86p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.27p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.14p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 27.03p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.28p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.68p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 26.1p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 24.28p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 24.94p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.06p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.39p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.66p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.06p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 25.5p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 24.94p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 24.25p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 23.49p 28%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.43p 28%, 16-08 12:30:00 - 16-08 13:00:00 @ 22.33p 28%, 16-08 13:00:00 - 16-08 13:30:00 @ 22.76p 28%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 28%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 100%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.65p 53%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.95p 53%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.83p 53%, 16-08 16:00:00 - 16-08 16:30:00 @ 36.84p 0%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.54p 0%, 16-08 17:00:00 - 16-08 17:30:00 @ 41.79p 0%, 16-08 17:30:00 - 16-08 18:00:00 @ 43.7p 0%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.34p 0%, 16-08 19:00:00 - 16-08 19:30:00 @ 34.79p 0%, 16-08 19:30:00 - 16-08 20:00:00 @ 34.76p 0%, 16-08 20:00:00 - 16-08 20:30:00 @ 35.62p 0%, 16-08 20:30:00 - 16-08 21:00:00 @ 35.3p 0%, 16-08 21:00:00 - 16-08 21:30:00 @ 35.89p 0%, 16-08 21:30:00 - 16-08 22:00:00 @ 35.71p 0%, 16-08 22:00:00 - 16-08 22:30:00 @ 33.75p 0%, 16-08 22:30:00 - 16-08 23:00:00 @ 32.0p 0%, 16-08 23:00:00 - 16-08 23:30:00 @ 30.02p 0%, 16-08 23:30:00 - 17-08 00:00:00 @ 27.8p 0%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.18p 0%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.38p 0%, 17-08 01:00:00 - 17-08 01:30:00 @ 26.7p 0%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.31p 0%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.79p 0%, 17-08 02:30:00 - 17-08 03:00:00 @ 25.86p 0%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.13p 0%, 17-08 03:30:00 - 17-08 04:00:00 @ 25.86p 0%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.27p 0%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.14p 0%, 17-08 05:00:00 - 17-08 05:30:00 @ 27.03p 0%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.28p 0%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.68p 0%, 17-08 06:30:00 - 17-08 07:00:00 @ 26.1p 0%, 17-08 07:00:00 - 17-08 07:30:00 @ 24.28p 0%, 17-08 07:30:00 - 17-08 08:00:00 @ 24.94p 0%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.06p 0%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.39p 0%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.66p 0%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.06p 0%, 17-08 10:00:00 - 17-08 10:30:00 @ 25.5p 0%, 17-08 10:30:00 - 17-08 11:00:00 @ 24.94p 0%, 17-08 11:00:00 - 17-08 11:30:00 @ 24.25p 0%, 17-08 11:30:00 - 17-08 12:00:00 @ 23.49p 0%, 17-08 12:00:00 - 17-08 12:30:00 @ 23.43p 0%, 17-08 12:30:00 - 17-08 13:00:00 @ 22.33p 100%, 17-08 13:00:00 - 17-08 13:30:00 @ 22.76p 100%, 17-08 13:30:00 - 17-08 14:00:00 @ 22.3p 100%, 17-08 14:00:00 - 17-08 14:30:00 @ 21.41p 100%, 17-08 14:30:00 - 17-08 15:00:00 @ 21.65p 100%, 17-08 15:00:00 - 17-08 15:30:00 @ 22.95p 100%, 17-08 15:30:00 - 17-08 16:00:00 @ 22.83p 100%, 17-08 16:00:00 - 17-08 16:30:00 @ 36.84p 100%, 17-08 16:30:00 - 17-08 17:00:00 @ 37.54p 100%, 17-08 17:00:00 - 17-08 17:30:00 @ 41.79p 100%, 17-08 17:30:00 - 17-08 18:00:00 @ 43.7p 100%, 17-08 18:00:00 - 17-08 18:30:00 @ 44.34p 100%, 17-08 19:00:00 - 17-08 19:30:00 @ 34.79p 100%, 17-08 19:30:00 - 17-08 20:00:00 @ 34.76p 100%, 17-08 20:00:00 - 17-08 20:30:00 @ 35.62p 100%, 17-08 20:30:00 - 17-08 21:00:00 @ 35.3p 100%, 17-08 21:00:00 - 17-08 21:30:00 @ 35.89p 100%, 17-08 21:30:00 - 17-08 22:00:00 @ 35.71p 100%, 17-08 22:00:00 - 17-08 22:30:00 @ 33.75p 100% ] reserve 1.12
2026-08-15 22:15:18.716673: Unclipped charge windows [ 16-08 11:30:00 - 16-08 14:00:00 @ 22.56p 28%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 100%, 16-08 14:30:00 - 16-08 16:00:00 @ 22.56p 53%, 17-08 12:30:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 17-08 22:30:00 @ 34.7p 100% ] reserve 1.12
2026-08-15 22:15:18.716914: Unfiltered charge windows [ 16-08 11:30:00 - 16-08 14:00:00 @ 22.56p 28%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 100%, 16-08 14:30:00 - 16-08 16:00:00 @ 22.56p 53%, 17-08 12:30:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 17-08 22:30:00 @ 34.7p 100% ] reserve 1.12
2026-08-15 22:15:18.717940: Filtered charge windows [ 16-08 11:30:00 - 16-08 14:00:00 @ 22.56p 28%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 100%, 16-08 14:30:00 - 16-08 16:00:00 @ 22.56p 53%, 17-08 12:30:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 17-08 22:30:00 @ 34.7p 100% ] reserve 1.12
2026-08-15 22:15:18.752624: Previous plan best metric is 876.42 (cost 892.48) and new plan best metric is 877.36 (cost 893.5)
2026-08-15 22:15:18.752861: New plan metric is not significantly better (metric_min_improvement_plan 2.0) than previous plan, using previous plan
2026-08-15 22:15:18.753123: Plan valid is now true after recompute was False
2026-08-15 22:15:18.778032: predict base end_record 08-17 12:30:00, final soc 1.12kWh, metric 1059.66p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 16:45:00, load 35.64kWh, PV 0.0kWh
2026-08-15 22:15:18.885577: Battery has 18.5 hours left - now at 14.08kWh
2026-08-15 22:15:18.929084: predict base10 end_record 08-17 12:30:00, final soc 1.12kWh, metric 1096.47p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 15:40:00, load 36.84kWh, PV 0.0kWh
2026-08-15 22:15:18.999460: predict best10 end_record 08-17 12:30:00, final soc 1.12kWh, metric 1022.48p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 07:10:00, load 36.84kWh, PV 0.0kWh
2026-08-15 22:15:19.089319: predict best end_record 08-17 12:30:00, final soc 1.12kWh, metric 992.34p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 08:20:00, load 35.64kWh, PV 0.0kWh
2026-08-15 22:15:19.089565: Saving plan best values to HA entities
2026-08-15 22:15:19.232834: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 22:15:19.238194: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0.0
2026-08-15 22:15:19.243601: Best charging limit SoC's [6.5, 4.5, 5.5, 16.0, 12.5, 16.0, 16.0]kWh, export []kWh gives import battery 11.36kWh, house 2.83kWh, export 0.0kWh, metric 992.34p, metric10 1022.48p
2026-08-15 22:15:19.320783: Marginal costs baseline metric (no standing charge): 892.3707
2026-08-15 22:15:19.558145: Marginal energy costs matrix computed: min=25.38 max=28.64
2026-08-15 22:15:19.628371: Rate array import [{'start': 1335, 'end': 1410, 'rate': 'expensive', 'range': '(29.8p - 31.8p)'}, {'start': 1410, 'end': 2400, 'rate': 'cheap', 'range': '(21.4p - 28.2p)'}, {'start': 2400, 'end': 2430, 'rate': 'expensive', 'range': '(36.8p)'}, {'start': 2430, 'end': 2580, 'rate': 'very expensive', 'range': '(37.5p - 45.3p)'}, {'start': 2580, 'end': 2850, 'rate': 'expensive', 'range': '(30.0p - 35.9p)'}, {'start': 2850, 'end': 3630, 'rate': 'cheap', 'range': '(23.4p - 28.2p)'}] export [{'start': 1335, 'end': 3630, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 22:15:19.629139: - Your estimated bill for today is £5.73 and tomorrow is £3.00
2026-08-15 22:15:19.629186: - Import rates are expensive (29.8p - 31.8p) for the next 1 and a quarter hours and then cheap (21.4p - 28.2p) for the next 16 hours.
2026-08-15 22:15:19.629205: - The battery is currently at 88% and is in eco mode for the next 9 hours.
2026-08-15 22:15:19.629221: - For the next 48 hours there will be no solar generation.
2026-08-15 22:15:19.629235: - You will run out of battery in 34 hours.
2026-08-15 22:15:19.629248: - Your next charge slot will be in 9 hours where import rates will be cheap (24.1p).
2026-08-15 22:15:19.629267: 
2026-08-15 22:15:19.694018: Plan calculation took 16.56 seconds
2026-08-15 22:15:19.694392: Inverter 0: Type SK Sunsynk
2026-08-15 22:15:19.694452: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 22:15:19.694703: Reserve min: 7%, battery_min: 7%
2026-08-15 22:15:19.694786: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 22:15:19.695126: Inverter 0 SoC: 14.08kW 88%, current charge rate 5000W, current discharge rate 5250W, current battery power 308W, current battery voltage 51.2V, grid power -56W, load power 366W, PV Power 0W
2026-08-15 22:15:19.695367: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 22:15:19.695495: Inverter 0 scheduled charge enable is False
2026-08-15 22:15:19.695540: Inverter 0 charge windows currently []
2026-08-15 22:15:19.695571: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 22:15:19.695690: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 22:15:19.695748: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 22:15:19.695785: Inverter 0 scheduled discharge enable is False
2026-08-15 22:15:19.695923: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 22:15:19.695961: Inverter 0 discharge windows currently []
2026-08-15 22:15:19.695983: Note: Inverter does not support discharge freeze - disabled
2026-08-15 22:15:19.696002: Note: Inverter does not support charge freeze - disabled
2026-08-15 22:15:19.696019: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 22:15:19.758721: Inverter 0 Charge window will be: 2026-08-16 08:00:00+01:00 - 2026-08-16 08:30:00+01:00 - current SoC 88%, target 41%
2026-08-15 22:15:19.758906: Inverter 0 disabled charge window while waiting for schedule (now 08-15 22:15:00 target set_window_minutes 30 charge start time 08-16 08:00:00) original inverter start time 08-17 00:00:00
2026-08-15 22:15:19.758993: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 22:15:19.759165: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 22:15:19.759233: No export window planned
2026-08-15 22:15:19.759325: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 22:15:19.759354: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 22:15:19.759482: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 22:15:19.759627: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 22:15:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 22:15:19.759674: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 22:15:19.759727: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 22:15:19.759816: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 22:15:19.759856: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 22:15:19.759879: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 22:15:19.759906: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 22:15:19.759928: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 22:15:19.759951: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 22:15:19.759972: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 22:15:19.760024: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 22:15:19.760051: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 22:15:19.760072: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 22:15:19.760092: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 22:15:19.760112: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 22:15:19.760131: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 22:15:19.760151: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 22:15:19.760167: Inverter 0 count register writes 0
2026-08-15 22:15:19.782317: Total inverter register writes now 826
2026-08-15 22:15:19.816771: Info: Completed run status Demand
2026-08-15 22:15:19.823344: Info: record_status Demand
2026-08-15 22:15:19.836638: Saved current settings to /config/predbat_config.json
2026-08-15 22:15:19.837013: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 22:15:56.249711: ML Component: Fetching 28 days of load history from ['sensor.sunsynk_day_load_energy']
2026-08-15 22:15:56.960039: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 22:15:56.965517: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 22:15:56.970719: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 22:15:56.976370: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 22:15:56.986872: Note: Inverter does not support discharge freeze - disabled
2026-08-15 22:15:56.992107: Note: Inverter does not support charge freeze - disabled
2026-08-15 22:15:56.997323: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 22:15:57.462332: Processing 1345 30-minute periods for power integration
2026-08-15 22:15:57.592320: ML Component: Car charging hold False, car energy reported load False
2026-08-15 22:15:57.711392: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 22:15:57.846223: ML Temperature data points: 49066
2026-08-15 22:15:58.168058: ML Component: Fetched 8064 load data points, 28.0 days of history
2026-08-15 22:15:58.214209: ML Component: Data fetch completed, load data age 57.0 days, 16531 data points
2026-08-15 22:15:58.214341: ML Component: No training needed, model age is 1.84 hours
2026-08-15 22:15:58.214611: ML Component: Generating predictions load data age 57.0 days, 16531 data points
2026-08-15 22:15:58.381358: ML Predictor: Starting autoregressive prediction loop for 576 steps (48.0 hours), prev_energy value 0.0254 max_dow {0: 0.10210624996256083, 1: 0.10689687554407865, 2: 0.11675312483031303, 3: 0.12371874963529408, 4: 0.16831249989941716, 5: 0.09602222218207186, 6: 0.10714375132601708}
2026-08-15 22:16:03.508880: ML Component: Generated 576 predictions (total 27.72 kWh over 48h)
2026-08-15 22:16:03.615958: ML Component: Prediction cycle completed
2026-08-15 22:16:03.719437: ML Component: Saved 16531 steps (57 days) of history to /config/predbat_ml_history.npz
2026-08-15 22:17:57.165506: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 22:17:57.165807: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 22:17:57.165856: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 22:17:57.166083: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 22:17:57.166140: Note: Inverter does not support discharge freeze - disabled
2026-08-15 22:17:57.166179: Note: Inverter does not support charge freeze - disabled
2026-08-15 22:17:57.166196: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 22:19:57.402412: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 22:19:57.402658: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 22:19:57.402715: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 22:19:57.402923: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 22:19:57.402964: Note: Inverter does not support discharge freeze - disabled
2026-08-15 22:19:57.402985: Note: Inverter does not support charge freeze - disabled
2026-08-15 22:19:57.403002: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 22:20:00.490355: --------------- PredBat - update at 2026-08-15 22:20:00+01:00 with clock skew 0 minutes, minutes now 1340
2026-08-15 22:20:00.491167: Saved current settings to /config/predbat_config.json
2026-08-15 22:20:00.491313: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 110.0 minutes
2026-08-15 22:20:00.491419: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.2, latest beta is v8.48.2
2026-08-15 22:20:00.491533: Autoupdate: There is an update pending v8.48.2 PV90 and second pass enabled by default, bug fixes - auto update is off
2026-08-15 22:20:00.510253: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 22:20:00.510382: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 22:20:00.510555: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 22:20:00.511143: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 22:20:00.511263: Predbat mode is set to Control charge & discharge
2026-08-15 22:20:00.711690: Found 21602 load_today datapoints going back 28 days
2026-08-15 22:20:00.711877: Using load_power data to fill gaps in load_today data
2026-08-15 22:20:01.455823: Processing 721 30-minute periods for power integration
2026-08-15 22:20:01.618913: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 22:20:01.619041: Car charging hold False, threshold 6.0kWh
2026-08-15 22:20:01.619083: Current data so far today: load 10.62kWh, import 27.8kWh, export 0.0kWh, PV 0kWh
2026-08-15 22:20:01.634626: Cars: SoC: [8.204]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 22:20:01.635052: Standing charge is set to 49.98p
2026-08-15 22:20:01.702837: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 22:20:01.702950: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 22:20:01.703165: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 700.0 minutes
2026-08-15 22:20:01.703578: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 700.0 minutes
2026-08-15 22:20:01.709945: Loaded 95 datapoints of futurerate analysis
2026-08-15 22:20:01.883276: Predicted future rates: ['08-15 00:00:00 => 28.69 / 20.01', '08-15 01:00:00 => 27.33 / 19.31', '08-15 02:00:00 => 26.31 / 18.8', '08-15 03:00:00 => 25.78 / 18.53', '08-15 04:00:00 => 25.59 / 18.43', '08-15 05:00:00 => 25.75 / 18.51', '08-15 06:00:00 => 25.34 / 18.3', '08-15 07:00:00 => 24.12 / 17.68', '08-15 08:00:00 => 22.82 / 17.01', '08-15 09:00:00 => 21.84 / 16.51', '08-15 10:00:00 => 20.22 / 15.68', '08-15 11:00:00 => 17.8 / 14.45', '08-15 12:00:00 => 16.16 / 13.61', '08-15 13:00:00 => 15.55 / 13.3', '08-15 14:00:00 => 15.14 / 13.09', '08-15 15:00:00 => 15.65 / 13.35', '08-15 16:00:00 => 32.68 / 16.13', '08-15 17:00:00 => 37.81 / 18.75', '08-15 18:00:00 => 42.15 / 20.96', '08-15 19:00:00 => 30.88 / 21.13', '08-15 20:00:00 => 31.43 / 21.41', '08-15 21:00:00 => 31.43 / 21.41', '08-15 22:00:00 => 30.37 / 20.87', '08-15 23:00:00 => 29.16 / 20.25', '08-16 00:00:00 => 28.62 / 19.97', '08-16 01:00:00 => 27.52 / 19.41', '08-16 02:00:00 => 26.55 / 18.92', '08-16 03:00:00 => 26.18 / 18.73', '08-16 04:00:00 => 26.12 / 18.7', '08-16 05:00:00 => 26.02 / 18.65', '08-16 06:00:00 => 25.78 / 18.53', '08-16 07:00:00 => 25.43 / 18.35', '08-16 08:00:00 => 24.63 / 17.94', '08-16 09:00:00 => 24.05 / 17.64', '08-16 10:00:00 => 24.59 / 17.92', '08-16 11:00:00 => 24.5 / 17.87', '08-16 12:00:00 => 23.58 / 17.4', '08-16 13:00:00 => 22.93 / 17.07', '08-16 14:00:00 => 21.8 / 16.49', '08-16 15:00:00 => 21.8 / 16.49', '08-16 16:00:00 => 36.93 / 18.3', '08-16 17:00:00 => 39.92 / 19.83', '08-16 18:00:00 => 43.98 / 21.9', '08-16 19:00:00 => 32.83 / 22.13', '08-16 20:00:00 => 33.62 / 22.53', '08-16 21:00:00 => 33.52 / 22.48']
2026-08-15 22:20:01.930851: Rate min forward looking: now 21.41p at end of forecast 21.41p
2026-08-15 22:20:01.931360: Import rates: min 21.41p, max 45.28p, average 28.7p
2026-08-15 22:20:01.976168: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 22:20:01.976324: Rate thresholds (for charge/export) are import 44.78p (0.0p), export -0.1p (0.0p)
2026-08-15 22:20:01.977898: High export rate found rates in range 99p to -99p
2026-08-15 22:20:02.089166: Low Import rate found rates in range 21.41p to 44.34p
2026-08-15 22:20:02.089320: Car 0 charging is not planned as it is not plugged in
2026-08-15 22:20:02.102365: Battery level now 14.08kWh, -1hr ago 14.38kWh, at midnight 1.66kWh, battery value change in the last hour -5.59p, change today 228.52p, rate_forward 18.39p
2026-08-15 22:20:02.102740: Last hour: net energy 0.0kWh, import 0.0kWh, export 0.0kWh, car 0kWh, load 0.3kWh, net cost 0.0p, import 0.0p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 22:20:02.177411: Today's energy total net 27.8kWh, import 27.8kWh, export 0.0kWh, cost 573.42p, import 523.44p, export 0.0p, carbon 0.0kg
2026-08-15 22:20:02.177617: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 22:20:02.278051: Using weighted-bucket historical load forecast over 14 days
2026-08-15 22:20:02.310717: Today's load divergence 77.98%, in-day adjustment 83.57%, damping 0.95x, yesterday 143.77% today 79.08% blend 6.94%
2026-08-15 22:20:02.310826: Today's predicted so far 13.36kWh with 0.0kWh car/iBoost excluded, 20.88kWh import ignored, and 13.36kWh forecast extra.
2026-08-15 22:20:02.310859: Today's actual load so far 10.63kWh with 0.0kWh car/iBoost excluded, and 20.88kWh import ignored.
2026-08-15 22:20:02.342080: Inverter 0: Type SK Sunsynk
2026-08-15 22:20:02.342174: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 22:20:02.342409: Reserve min: 7%, battery_min: 7%
2026-08-15 22:20:02.342486: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 22:20:02.342766: Inverter 0 SoC: 14.08kW 88%, current charge rate 5000W, current discharge rate 5250W, current battery power 275W, current battery voltage 51.2V, grid power -55W, load power 340W, PV Power 0W
2026-08-15 22:20:02.342928: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 22:20:02.343017: Inverter 0 scheduled charge enable is False
2026-08-15 22:20:02.343050: Inverter 0 charge windows currently []
2026-08-15 22:20:02.343077: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 22:20:02.343184: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 22:20:02.343219: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 22:20:02.343255: Inverter 0 scheduled discharge enable is False
2026-08-15 22:20:02.343378: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 22:20:02.343415: Inverter 0 discharge windows currently []
2026-08-15 22:20:02.343437: Note: Inverter does not support discharge freeze - disabled
2026-08-15 22:20:02.343456: Note: Inverter does not support charge freeze - disabled
2026-08-15 22:20:02.343482: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 22:20:02.407566: Dynamic load last period 0.30kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 22:20:02.407716: Plan was last updated on 2026-08-15 22:15:00+01:00 and is now 5.0 minutes old
2026-08-15 22:20:02.408113: Best charge window [ 16-08 08:00:00 - 16-08 08:30:00 @ 24.06p 41%, 16-08 11:30:00 - 16-08 12:30:00 @ 23.46p 28%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 34%, 16-08 13:30:00 - 16-08 15:00:00 @ 21.75p 100%, 16-08 15:00:00 - 16-08 16:00:00 @ 22.89p 78%, 17-08 12:30:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 17-08 21:00:00 @ 35.25p 100% ]
2026-08-15 22:20:02.408173: Best export window [  ]
2026-08-15 22:20:02.409095: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 22:20:02.412603: Load divergence over 8.0 hours mean 780.08W, min 362.4W, max 1997.4W, std dev 428.48W, divergence 27.46%
2026-08-15 22:20:02.432703: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 22:20:02.432856: LoadML is_calculating False
2026-08-15 22:20:02.432932: Creating pool of 12 processes to match your CPU count
2026-08-15 22:20:02.565900: predict base end_record 08-17 12:35:00, final soc 1.12kWh, metric 1059.4p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 16:50:00, load 35.79kWh, PV 0.0kWh
2026-08-15 22:20:02.697471: Battery has 18.5 hours left - now at 14.08kWh
2026-08-15 22:20:02.743624: predict base10 end_record 08-17 12:35:00, final soc 1.12kWh, metric 1097.12p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 15:45:00, load 36.99kWh, PV 0.0kWh
2026-08-15 22:20:02.832136: predict best10 end_record 08-17 12:35:00, final soc 1.44kWh, metric 1031.01p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 07:05:00, load 36.99kWh, PV 0.0kWh
2026-08-15 22:20:02.916779: predict best end_record 08-17 12:35:00, final soc 1.51kWh, metric 1002.23p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 08:15:00, load 35.79kWh, PV 0.0kWh
2026-08-15 22:20:02.916880: Saving plan best values to HA entities
2026-08-15 22:20:03.084078: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 22:20:03.089689: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0.0
2026-08-15 22:20:03.096632: Best charging limit SoC's [6.5, 4.5, 5.5, 16.0, 12.5, 16.0, 16.0]kWh, export []kWh gives import battery 11.79kWh, house 2.85kWh, export 0.0kWh, metric 1002.23p, metric10 1031.01p
2026-08-15 22:20:03.178775: Marginal costs baseline metric (no standing charge): 902.2664
2026-08-15 22:20:03.468560: Marginal energy costs matrix computed: min=25.13 max=28.54
2026-08-15 22:20:03.548790: Rate array import [{'start': 1340, 'end': 1410, 'rate': 'expensive', 'range': '(29.8p - 31.8p)'}, {'start': 1410, 'end': 2400, 'rate': 'cheap', 'range': '(21.4p - 28.2p)'}, {'start': 2400, 'end': 2430, 'rate': 'expensive', 'range': '(36.8p)'}, {'start': 2430, 'end': 2580, 'rate': 'very expensive', 'range': '(37.5p - 45.3p)'}, {'start': 2580, 'end': 2850, 'rate': 'expensive', 'range': '(30.0p - 35.9p)'}, {'start': 2850, 'end': 3635, 'rate': 'cheap', 'range': '(22.3p - 28.2p)'}] export [{'start': 1340, 'end': 3635, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 22:20:03.549462: - Your estimated bill for today is £5.73 and tomorrow is £2.99
2026-08-15 22:20:03.549508: - Import rates are expensive (29.8p - 31.8p) for the next 1 and a quarter hours and then cheap (21.4p - 28.2p) for the next 16 hours.
2026-08-15 22:20:03.549527: - The battery is currently at 88% and is in eco mode for the next 9 hours.
2026-08-15 22:20:03.549542: - For the next 48 hours there will be no solar generation.
2026-08-15 22:20:03.549556: - You will run out of battery in 33 hours.
2026-08-15 22:20:03.549572: - Your next charge slot will be in 9 hours where import rates will be cheap (24.1p).
2026-08-15 22:20:03.549586: 
2026-08-15 22:20:03.610908: Plan calculation took 1.20 seconds
2026-08-15 22:20:03.614881: No high rate period found
2026-08-15 22:20:03.663177: Import threshold used for optimisation was 24.06p
2026-08-15 22:20:03.722454: Low import rate windows [0: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 1: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 2: 08-15 23:00:00 - 08-15 23:30:00 @ 30.02, 3: 08-15 23:30:00 - 08-16 00:00:00 @ 27.8, 4: 08-16 00:00:00 - 08-16 00:30:00 @ 28.18, 5: 08-16 00:30:00 - 08-16 01:00:00 @ 27.38, 6: 08-16 01:00:00 - 08-16 01:30:00 @ 26.7, 7: 08-16 01:30:00 - 08-16 02:00:00 @ 26.31, 8: 08-16 02:00:00 - 08-16 02:30:00 @ 25.79, 9: 08-16 02:30:00 - 08-16 03:00:00 @ 25.86, 10: 08-16 03:00:00 - 08-16 03:30:00 @ 26.13, 11: 08-16 03:30:00 - 08-16 04:00:00 @ 25.86, 12: 08-16 04:00:00 - 08-16 04:30:00 @ 26.27, 13: 08-16 04:30:00 - 08-16 05:00:00 @ 26.14, 14: 08-16 05:00:00 - 08-16 05:30:00 @ 27.03, 15: 08-16 05:30:00 - 08-16 06:00:00 @ 26.28, 16: 08-16 06:00:00 - 08-16 06:30:00 @ 25.68, 17: 08-16 06:30:00 - 08-16 07:00:00 @ 26.1, 18: 08-16 07:00:00 - 08-16 07:30:00 @ 24.28, 19: 08-16 07:30:00 - 08-16 08:00:00 @ 24.94, 20: 08-16 08:00:00 - 08-16 08:30:00 @ 24.06, 21: 08-16 08:30:00 - 08-16 09:00:00 @ 24.39, 22: 08-16 09:00:00 - 08-16 09:30:00 @ 24.66, 23: 08-16 09:30:00 - 08-16 10:00:00 @ 24.06, 24: 08-16 10:00:00 - 08-16 10:30:00 @ 25.5, 25: 08-16 10:30:00 - 08-16 11:00:00 @ 24.94, 26: 08-16 11:00:00 - 08-16 11:30:00 @ 24.25, 27: 08-16 11:30:00 - 08-16 12:00:00 @ 23.49, 28: 08-16 12:00:00 - 08-16 12:30:00 @ 23.43, 29: 08-16 12:30:00 - 08-16 13:00:00 @ 22.33, 30: 08-16 13:00:00 - 08-16 13:30:00 @ 22.76, 31: 08-16 13:30:00 - 08-16 14:00:00 @ 22.3, 32: 08-16 14:00:00 - 08-16 14:30:00 @ 21.41, 33: 08-16 14:30:00 - 08-16 15:00:00 @ 21.65, 34: 08-16 15:00:00 - 08-16 15:30:00 @ 22.95, 35: 08-16 15:30:00 - 08-16 16:00:00 @ 22.83, 36: 08-16 16:00:00 - 08-16 16:30:00 @ 36.84, 37: 08-16 16:30:00 - 08-16 17:00:00 @ 37.54, 38: 08-16 17:00:00 - 08-16 17:30:00 @ 41.79, 39: 08-16 17:30:00 - 08-16 18:00:00 @ 43.7, 40: 08-16 18:00:00 - 08-16 18:30:00 @ 44.34, 41: 08-16 19:00:00 - 08-16 19:30:00 @ 34.79, 42: 08-16 19:30:00 - 08-16 20:00:00 @ 34.76, 43: 08-16 20:00:00 - 08-16 20:30:00 @ 35.62, 44: 08-16 20:30:00 - 08-16 21:00:00 @ 35.3, 45: 08-16 21:00:00 - 08-16 21:30:00 @ 35.89, 46: 08-16 21:30:00 - 08-16 22:00:00 @ 35.71, 47: 08-16 22:00:00 - 08-16 22:30:00 @ 33.75, 48: 08-16 22:30:00 - 08-16 23:00:00 @ 32.0, 49: 08-16 23:00:00 - 08-16 23:30:00 @ 30.02, 50: 08-16 23:30:00 - 08-17 00:00:00 @ 27.8, 51: 08-17 00:00:00 - 08-17 00:30:00 @ 28.18, 52: 08-17 00:30:00 - 08-17 01:00:00 @ 27.38, 53: 08-17 01:00:00 - 08-17 01:30:00 @ 26.7, 54: 08-17 01:30:00 - 08-17 02:00:00 @ 26.31, 55: 08-17 02:00:00 - 08-17 02:30:00 @ 25.79, 56: 08-17 02:30:00 - 08-17 03:00:00 @ 25.86, 57: 08-17 03:00:00 - 08-17 03:30:00 @ 26.13, 58: 08-17 03:30:00 - 08-17 04:00:00 @ 25.86, 59: 08-17 04:00:00 - 08-17 04:30:00 @ 26.27, 60: 08-17 04:30:00 - 08-17 05:00:00 @ 26.14, 61: 08-17 05:00:00 - 08-17 05:30:00 @ 27.03, 62: 08-17 05:30:00 - 08-17 06:00:00 @ 26.28, 63: 08-17 06:00:00 - 08-17 06:30:00 @ 25.68, 64: 08-17 06:30:00 - 08-17 07:00:00 @ 26.1, 65: 08-17 07:00:00 - 08-17 07:30:00 @ 24.28, 66: 08-17 07:30:00 - 08-17 08:00:00 @ 24.94, 67: 08-17 08:00:00 - 08-17 08:30:00 @ 24.06, 68: 08-17 08:30:00 - 08-17 09:00:00 @ 24.39, 69: 08-17 09:00:00 - 08-17 09:30:00 @ 24.66, 70: 08-17 09:30:00 - 08-17 10:00:00 @ 24.06, 71: 08-17 10:00:00 - 08-17 10:30:00 @ 25.5, 72: 08-17 10:30:00 - 08-17 11:00:00 @ 24.94, 73: 08-17 11:00:00 - 08-17 11:30:00 @ 24.25, 74: 08-17 11:30:00 - 08-17 12:00:00 @ 23.49, 75: 08-17 12:00:00 - 08-17 12:30:00 @ 23.43, 76: 08-17 12:30:00 - 08-17 13:00:00 @ 22.33, 77: 08-17 13:00:00 - 08-17 13:30:00 @ 22.76, 78: 08-17 13:30:00 - 08-17 14:00:00 @ 22.3, 79: 08-17 14:00:00 - 08-17 14:30:00 @ 21.41, 80: 08-17 14:30:00 - 08-17 15:00:00 @ 21.65, 81: 08-17 15:00:00 - 08-17 15:30:00 @ 22.95, 82: 08-17 15:30:00 - 08-17 16:00:00 @ 22.83, 83: 08-17 16:00:00 - 08-17 16:30:00 @ 36.84, 84: 08-17 16:30:00 - 08-17 17:00:00 @ 37.54, 85: 08-17 17:00:00 - 08-17 17:30:00 @ 41.79, 86: 08-17 17:30:00 - 08-17 18:00:00 @ 43.7, 87: 08-17 18:00:00 - 08-17 18:30:00 @ 44.34, 88: 08-17 19:00:00 - 08-17 19:30:00 @ 34.79, 89: 08-17 19:30:00 - 08-17 20:00:00 @ 34.76, 90: 08-17 20:00:00 - 08-17 20:30:00 @ 35.62, 91: 08-17 20:30:00 - 08-17 21:00:00 @ 35.3, 92: 08-17 21:00:00 - 08-17 21:30:00 @ 35.89, 93: 08-17 21:30:00 - 08-17 22:00:00 @ 35.71, 94: 08-17 22:00:00 - 08-17 22:30:00 @ 33.75]
2026-08-15 22:20:03.730462: Inverter 0 Charge window will be: 2026-08-16 08:00:00+01:00 - 2026-08-16 08:30:00+01:00 - current SoC 88%, target 41%
2026-08-15 22:20:03.730614: Inverter 0 disabled charge window while waiting for schedule (now 08-15 22:20:00 target set_window_minutes 30 charge start time 08-16 08:00:00) original inverter start time 08-17 00:00:00
2026-08-15 22:20:03.730736: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 22:20:03.731024: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 22:20:03.731123: No export window planned
2026-08-15 22:20:03.731245: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 22:20:03.731282: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 22:20:03.731418: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 22:20:03.731600: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 22:20:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 22:20:03.731664: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 22:20:03.731730: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 22:20:03.731847: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 22:20:03.731892: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 22:20:03.731920: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 22:20:03.731947: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 22:20:03.731976: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 22:20:03.732003: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 22:20:03.732029: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 22:20:03.732097: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 22:20:03.732127: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 22:20:03.732151: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 22:20:03.732175: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 22:20:03.732198: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 22:20:03.732222: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 22:20:03.732255: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 22:20:03.732276: Inverter 0 count register writes 0
2026-08-15 22:20:03.748579: Will not recompute the plan, it is 5.0 minutes old and max age is 10 minutes
2026-08-15 22:20:03.753866: Total inverter register writes now 826
2026-08-15 22:20:03.789373: Info: Completed run status Demand
2026-08-15 22:20:03.796428: Info: record_status Demand
2026-08-15 22:20:03.805603: Saved current settings to /config/predbat_config.json
2026-08-15 22:20:03.806035: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 22:20:41.916658: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 22:20:41.917107: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 22:20:41.917181: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 22:20:41.917347: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 22:20:41.917395: Note: Inverter does not support discharge freeze - disabled
2026-08-15 22:20:41.917418: Note: Inverter does not support charge freeze - disabled
2026-08-15 22:20:41.917436: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 22:22:42.145307: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 22:22:42.145677: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 22:22:42.145743: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 22:22:42.146014: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 22:22:42.146084: Note: Inverter does not support discharge freeze - disabled
2026-08-15 22:22:42.146123: Note: Inverter does not support charge freeze - disabled
2026-08-15 22:22:42.146161: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 22:24:56.972382: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 22:24:56.972681: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 22:24:56.972711: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 22:24:56.972823: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 22:24:56.972869: Note: Inverter does not support discharge freeze - disabled
2026-08-15 22:24:56.972900: Note: Inverter does not support charge freeze - disabled
2026-08-15 22:24:56.972915: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 22:25:00.041704: --------------- PredBat - update at 2026-08-15 22:25:00+01:00 with clock skew 0 minutes, minutes now 1345
2026-08-15 22:25:00.042559: Saved current settings to /config/predbat_config.json
2026-08-15 22:25:00.042707: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 115.0 minutes
2026-08-15 22:25:00.042816: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.2, latest beta is v8.48.2
2026-08-15 22:25:00.042901: Autoupdate: There is an update pending v8.48.2 PV90 and second pass enabled by default, bug fixes - auto update is off
2026-08-15 22:25:00.061299: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 22:25:00.061433: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 22:25:00.061601: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 22:25:00.062261: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 22:25:00.062398: Predbat mode is set to Control charge & discharge
2026-08-15 22:25:00.274138: Found 21602 load_today datapoints going back 28 days
2026-08-15 22:25:00.275026: Using load_power data to fill gaps in load_today data
2026-08-15 22:25:01.131740: Processing 721 30-minute periods for power integration
2026-08-15 22:25:01.332148: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 22:25:01.332304: Car charging hold False, threshold 6.0kWh
2026-08-15 22:25:01.332353: Current data so far today: load 10.65kWh, import 27.8kWh, export 0.0kWh, PV 0kWh
2026-08-15 22:25:01.350992: Cars: SoC: [8.204]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 22:25:01.351512: Standing charge is set to 49.98p
2026-08-15 22:25:01.405338: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 22:25:01.405447: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 22:25:01.405654: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 705.0 minutes
2026-08-15 22:25:01.406073: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 705.0 minutes
2026-08-15 22:25:01.411961: Loaded 95 datapoints of futurerate analysis
2026-08-15 22:25:01.567881: Predicted future rates: ['08-15 00:00:00 => 28.69 / 20.01', '08-15 01:00:00 => 27.33 / 19.31', '08-15 02:00:00 => 26.31 / 18.8', '08-15 03:00:00 => 25.78 / 18.53', '08-15 04:00:00 => 25.59 / 18.43', '08-15 05:00:00 => 25.75 / 18.51', '08-15 06:00:00 => 25.34 / 18.3', '08-15 07:00:00 => 24.12 / 17.68', '08-15 08:00:00 => 22.82 / 17.01', '08-15 09:00:00 => 21.84 / 16.51', '08-15 10:00:00 => 20.22 / 15.68', '08-15 11:00:00 => 17.8 / 14.45', '08-15 12:00:00 => 16.16 / 13.61', '08-15 13:00:00 => 15.55 / 13.3', '08-15 14:00:00 => 15.14 / 13.09', '08-15 15:00:00 => 15.65 / 13.35', '08-15 16:00:00 => 32.68 / 16.13', '08-15 17:00:00 => 37.81 / 18.75', '08-15 18:00:00 => 42.15 / 20.96', '08-15 19:00:00 => 30.88 / 21.13', '08-15 20:00:00 => 31.43 / 21.41', '08-15 21:00:00 => 31.43 / 21.41', '08-15 22:00:00 => 30.37 / 20.87', '08-15 23:00:00 => 29.16 / 20.25', '08-16 00:00:00 => 28.62 / 19.97', '08-16 01:00:00 => 27.52 / 19.41', '08-16 02:00:00 => 26.55 / 18.92', '08-16 03:00:00 => 26.18 / 18.73', '08-16 04:00:00 => 26.12 / 18.7', '08-16 05:00:00 => 26.02 / 18.65', '08-16 06:00:00 => 25.78 / 18.53', '08-16 07:00:00 => 25.43 / 18.35', '08-16 08:00:00 => 24.63 / 17.94', '08-16 09:00:00 => 24.05 / 17.64', '08-16 10:00:00 => 24.59 / 17.92', '08-16 11:00:00 => 24.5 / 17.87', '08-16 12:00:00 => 23.58 / 17.4', '08-16 13:00:00 => 22.93 / 17.07', '08-16 14:00:00 => 21.8 / 16.49', '08-16 15:00:00 => 21.8 / 16.49', '08-16 16:00:00 => 36.93 / 18.3', '08-16 17:00:00 => 39.92 / 19.83', '08-16 18:00:00 => 43.98 / 21.9', '08-16 19:00:00 => 32.83 / 22.13', '08-16 20:00:00 => 33.62 / 22.53', '08-16 21:00:00 => 33.52 / 22.48']
2026-08-15 22:25:01.614957: Rate min forward looking: now 21.41p at end of forecast 21.41p
2026-08-15 22:25:01.615484: Import rates: min 21.41p, max 45.28p, average 28.7p
2026-08-15 22:25:01.661306: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 22:25:01.661464: Rate thresholds (for charge/export) are import 44.78p (0.0p), export -0.1p (0.0p)
2026-08-15 22:25:01.662967: High export rate found rates in range 99p to -99p
2026-08-15 22:25:01.776209: Low Import rate found rates in range 21.41p to 44.34p
2026-08-15 22:25:01.776376: Car 0 charging is not planned as it is not plugged in
2026-08-15 22:25:01.791840: Battery level now 14.08kWh, -1hr ago 14.38kWh, at midnight 1.66kWh, battery value change in the last hour -5.59p, change today 228.52p, rate_forward 18.39p
2026-08-15 22:25:01.792348: Last hour: net energy 0.0kWh, import 0.0kWh, export 0.0kWh, car 0kWh, load 0.3kWh, net cost 0.0p, import 0.0p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 22:25:01.862038: Today's energy total net 27.8kWh, import 27.8kWh, export 0.0kWh, cost 573.42p, import 523.44p, export 0.0p, carbon 0.0kg
2026-08-15 22:25:01.862184: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 22:25:01.951514: Using weighted-bucket historical load forecast over 14 days
2026-08-15 22:25:01.985558: Today's load divergence 77.11%, in-day adjustment 82.58%, damping 0.95x, yesterday 143.77% today 78.26% blend 6.6%
2026-08-15 22:25:01.985819: Today's predicted so far 13.42kWh with 0.0kWh car/iBoost excluded, 20.85kWh import ignored, and 13.42kWh forecast extra.
2026-08-15 22:25:01.985883: Today's actual load so far 10.6kWh with 0.0kWh car/iBoost excluded, and 20.85kWh import ignored.
2026-08-15 22:25:02.020989: Inverter 0: Type SK Sunsynk
2026-08-15 22:25:02.021105: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 22:25:02.021381: Reserve min: 7%, battery_min: 7%
2026-08-15 22:25:02.021505: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 22:25:02.021841: Inverter 0 SoC: 14.08kW 88%, current charge rate 5000W, current discharge rate 5250W, current battery power 455W, current battery voltage 51.2V, grid power -53W, load power 513W, PV Power 0W
2026-08-15 22:25:02.022072: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 22:25:02.022200: Inverter 0 scheduled charge enable is False
2026-08-15 22:25:02.022252: Inverter 0 charge windows currently []
2026-08-15 22:25:02.022305: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 22:25:02.022475: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 22:25:02.022522: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 22:25:02.022576: Inverter 0 scheduled discharge enable is False
2026-08-15 22:25:02.022766: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 22:25:02.022814: Inverter 0 discharge windows currently []
2026-08-15 22:25:02.022850: Note: Inverter does not support discharge freeze - disabled
2026-08-15 22:25:02.022892: Note: Inverter does not support charge freeze - disabled
2026-08-15 22:25:02.022914: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 22:25:02.096046: Dynamic load last period 0.30kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 22:25:02.096169: Plan was last updated on 2026-08-15 22:15:00+01:00 and is now 10.0 minutes old
2026-08-15 22:25:02.096483: Best charge window [ 16-08 08:00:00 - 16-08 08:30:00 @ 24.06p 41%, 16-08 11:30:00 - 16-08 12:30:00 @ 23.46p 28%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 34%, 16-08 13:30:00 - 16-08 15:00:00 @ 21.75p 100%, 16-08 15:00:00 - 16-08 16:00:00 @ 22.89p 78%, 17-08 12:30:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 17-08 21:00:00 @ 35.25p 100% ]
2026-08-15 22:25:02.096526: Best export window [  ]
2026-08-15 22:25:02.097462: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 22:25:02.100806: Load divergence over 8.0 hours mean 778.13W, min 378.0W, max 1875.0W, std dev 429.87W, divergence 27.62%
2026-08-15 22:25:02.120520: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 22:25:02.121051: LoadML is_calculating False
2026-08-15 22:25:02.121149: Creating pool of 12 processes to match your CPU count
2026-08-15 22:25:02.252416: predict base end_record 08-17 12:40:00, final soc 1.12kWh, metric 1057.58p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 17:00:00, load 35.8kWh, PV 0.0kWh
2026-08-15 22:25:02.398969: Battery has 18.58 hours left - now at 14.08kWh
2026-08-15 22:25:02.461908: predict base10 end_record 08-17 12:40:00, final soc 1.12kWh, metric 1096.58p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 15:50:00, load 37.0kWh, PV 0.0kWh
2026-08-15 22:25:02.553239: predict best10 end_record 08-17 12:40:00, final soc 1.77kWh, metric 1038.13p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 07:05:00, load 37.0kWh, PV 0.0kWh
2026-08-15 22:25:02.639381: predict best end_record 08-17 12:40:00, final soc 1.9kWh, metric 1011.07p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 08:15:00, load 35.8kWh, PV 0.0kWh
2026-08-15 22:25:02.639482: Saving plan best values to HA entities
2026-08-15 22:25:02.826217: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 22:25:02.832499: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0.0
2026-08-15 22:25:02.838699: Best charging limit SoC's [6.5, 4.5, 5.5, 16.0, 12.5, 16.0, 16.0]kWh, export []kWh gives import battery 12.18kWh, house 2.85kWh, export 0.0kWh, metric 1011.07p, metric10 1038.13p
2026-08-15 22:25:02.930638: Marginal costs baseline metric (no standing charge): 911.1059
2026-08-15 22:25:03.233049: Marginal energy costs matrix computed: min=24.83 max=28.44
2026-08-15 22:25:03.323230: Rate array import [{'start': 1345, 'end': 1410, 'rate': 'expensive', 'range': '(29.8p - 31.8p)'}, {'start': 1410, 'end': 2400, 'rate': 'cheap', 'range': '(21.4p - 28.2p)'}, {'start': 2400, 'end': 2430, 'rate': 'expensive', 'range': '(36.8p)'}, {'start': 2430, 'end': 2580, 'rate': 'very expensive', 'range': '(37.5p - 45.3p)'}, {'start': 2580, 'end': 2850, 'rate': 'expensive', 'range': '(30.0p - 35.9p)'}, {'start': 2850, 'end': 3640, 'rate': 'cheap', 'range': '(22.3p - 28.2p)'}] export [{'start': 1345, 'end': 3640, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 22:25:03.323988: - Your estimated bill for today is £5.73 and tomorrow is £2.97
2026-08-15 22:25:03.324052: - Import rates are expensive (29.8p - 31.8p) for the next 1 hour and then cheap (21.4p - 28.2p) for the next 16 hours.
2026-08-15 22:25:03.324076: - The battery is currently at 88% and is in eco mode for the next 9 hours.
2026-08-15 22:25:03.324094: - For the next 48 hours there will be no solar generation.
2026-08-15 22:25:03.324112: - You will run out of battery in 33 hours.
2026-08-15 22:25:03.324129: - Your next charge slot will be in 9 hours where import rates will be cheap (24.1p).
2026-08-15 22:25:03.324146: 
2026-08-15 22:25:03.404688: Plan calculation took 1.31 seconds
2026-08-15 22:25:03.408649: No high rate period found
2026-08-15 22:25:03.461677: Import threshold used for optimisation was 24.06p
2026-08-15 22:25:03.518848: Low import rate windows [0: 08-15 22:00:00 - 08-15 22:30:00 @ 31.77, 1: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 2: 08-15 23:00:00 - 08-15 23:30:00 @ 30.02, 3: 08-15 23:30:00 - 08-16 00:00:00 @ 27.8, 4: 08-16 00:00:00 - 08-16 00:30:00 @ 28.18, 5: 08-16 00:30:00 - 08-16 01:00:00 @ 27.38, 6: 08-16 01:00:00 - 08-16 01:30:00 @ 26.7, 7: 08-16 01:30:00 - 08-16 02:00:00 @ 26.31, 8: 08-16 02:00:00 - 08-16 02:30:00 @ 25.79, 9: 08-16 02:30:00 - 08-16 03:00:00 @ 25.86, 10: 08-16 03:00:00 - 08-16 03:30:00 @ 26.13, 11: 08-16 03:30:00 - 08-16 04:00:00 @ 25.86, 12: 08-16 04:00:00 - 08-16 04:30:00 @ 26.27, 13: 08-16 04:30:00 - 08-16 05:00:00 @ 26.14, 14: 08-16 05:00:00 - 08-16 05:30:00 @ 27.03, 15: 08-16 05:30:00 - 08-16 06:00:00 @ 26.28, 16: 08-16 06:00:00 - 08-16 06:30:00 @ 25.68, 17: 08-16 06:30:00 - 08-16 07:00:00 @ 26.1, 18: 08-16 07:00:00 - 08-16 07:30:00 @ 24.28, 19: 08-16 07:30:00 - 08-16 08:00:00 @ 24.94, 20: 08-16 08:00:00 - 08-16 08:30:00 @ 24.06, 21: 08-16 08:30:00 - 08-16 09:00:00 @ 24.39, 22: 08-16 09:00:00 - 08-16 09:30:00 @ 24.66, 23: 08-16 09:30:00 - 08-16 10:00:00 @ 24.06, 24: 08-16 10:00:00 - 08-16 10:30:00 @ 25.5, 25: 08-16 10:30:00 - 08-16 11:00:00 @ 24.94, 26: 08-16 11:00:00 - 08-16 11:30:00 @ 24.25, 27: 08-16 11:30:00 - 08-16 12:00:00 @ 23.49, 28: 08-16 12:00:00 - 08-16 12:30:00 @ 23.43, 29: 08-16 12:30:00 - 08-16 13:00:00 @ 22.33, 30: 08-16 13:00:00 - 08-16 13:30:00 @ 22.76, 31: 08-16 13:30:00 - 08-16 14:00:00 @ 22.3, 32: 08-16 14:00:00 - 08-16 14:30:00 @ 21.41, 33: 08-16 14:30:00 - 08-16 15:00:00 @ 21.65, 34: 08-16 15:00:00 - 08-16 15:30:00 @ 22.95, 35: 08-16 15:30:00 - 08-16 16:00:00 @ 22.83, 36: 08-16 16:00:00 - 08-16 16:30:00 @ 36.84, 37: 08-16 16:30:00 - 08-16 17:00:00 @ 37.54, 38: 08-16 17:00:00 - 08-16 17:30:00 @ 41.79, 39: 08-16 17:30:00 - 08-16 18:00:00 @ 43.7, 40: 08-16 18:00:00 - 08-16 18:30:00 @ 44.34, 41: 08-16 19:00:00 - 08-16 19:30:00 @ 34.79, 42: 08-16 19:30:00 - 08-16 20:00:00 @ 34.76, 43: 08-16 20:00:00 - 08-16 20:30:00 @ 35.62, 44: 08-16 20:30:00 - 08-16 21:00:00 @ 35.3, 45: 08-16 21:00:00 - 08-16 21:30:00 @ 35.89, 46: 08-16 21:30:00 - 08-16 22:00:00 @ 35.71, 47: 08-16 22:00:00 - 08-16 22:30:00 @ 33.75, 48: 08-16 22:30:00 - 08-16 23:00:00 @ 32.0, 49: 08-16 23:00:00 - 08-16 23:30:00 @ 30.02, 50: 08-16 23:30:00 - 08-17 00:00:00 @ 27.8, 51: 08-17 00:00:00 - 08-17 00:30:00 @ 28.18, 52: 08-17 00:30:00 - 08-17 01:00:00 @ 27.38, 53: 08-17 01:00:00 - 08-17 01:30:00 @ 26.7, 54: 08-17 01:30:00 - 08-17 02:00:00 @ 26.31, 55: 08-17 02:00:00 - 08-17 02:30:00 @ 25.79, 56: 08-17 02:30:00 - 08-17 03:00:00 @ 25.86, 57: 08-17 03:00:00 - 08-17 03:30:00 @ 26.13, 58: 08-17 03:30:00 - 08-17 04:00:00 @ 25.86, 59: 08-17 04:00:00 - 08-17 04:30:00 @ 26.27, 60: 08-17 04:30:00 - 08-17 05:00:00 @ 26.14, 61: 08-17 05:00:00 - 08-17 05:30:00 @ 27.03, 62: 08-17 05:30:00 - 08-17 06:00:00 @ 26.28, 63: 08-17 06:00:00 - 08-17 06:30:00 @ 25.68, 64: 08-17 06:30:00 - 08-17 07:00:00 @ 26.1, 65: 08-17 07:00:00 - 08-17 07:30:00 @ 24.28, 66: 08-17 07:30:00 - 08-17 08:00:00 @ 24.94, 67: 08-17 08:00:00 - 08-17 08:30:00 @ 24.06, 68: 08-17 08:30:00 - 08-17 09:00:00 @ 24.39, 69: 08-17 09:00:00 - 08-17 09:30:00 @ 24.66, 70: 08-17 09:30:00 - 08-17 10:00:00 @ 24.06, 71: 08-17 10:00:00 - 08-17 10:30:00 @ 25.5, 72: 08-17 10:30:00 - 08-17 11:00:00 @ 24.94, 73: 08-17 11:00:00 - 08-17 11:30:00 @ 24.25, 74: 08-17 11:30:00 - 08-17 12:00:00 @ 23.49, 75: 08-17 12:00:00 - 08-17 12:30:00 @ 23.43, 76: 08-17 12:30:00 - 08-17 13:00:00 @ 22.33, 77: 08-17 13:00:00 - 08-17 13:30:00 @ 22.76, 78: 08-17 13:30:00 - 08-17 14:00:00 @ 22.3, 79: 08-17 14:00:00 - 08-17 14:30:00 @ 21.41, 80: 08-17 14:30:00 - 08-17 15:00:00 @ 21.65, 81: 08-17 15:00:00 - 08-17 15:30:00 @ 22.95, 82: 08-17 15:30:00 - 08-17 16:00:00 @ 22.83, 83: 08-17 16:00:00 - 08-17 16:30:00 @ 36.84, 84: 08-17 16:30:00 - 08-17 17:00:00 @ 37.54, 85: 08-17 17:00:00 - 08-17 17:30:00 @ 41.79, 86: 08-17 17:30:00 - 08-17 18:00:00 @ 43.7, 87: 08-17 18:00:00 - 08-17 18:30:00 @ 44.34, 88: 08-17 19:00:00 - 08-17 19:30:00 @ 34.79, 89: 08-17 19:30:00 - 08-17 20:00:00 @ 34.76, 90: 08-17 20:00:00 - 08-17 20:30:00 @ 35.62, 91: 08-17 20:30:00 - 08-17 21:00:00 @ 35.3, 92: 08-17 21:00:00 - 08-17 21:30:00 @ 35.89, 93: 08-17 21:30:00 - 08-17 22:00:00 @ 35.71, 94: 08-17 22:00:00 - 08-17 22:30:00 @ 33.75]
2026-08-15 22:25:03.525078: Inverter 0 Charge window will be: 2026-08-16 08:00:00+01:00 - 2026-08-16 08:30:00+01:00 - current SoC 88%, target 41%
2026-08-15 22:25:03.525231: Inverter 0 disabled charge window while waiting for schedule (now 08-15 22:25:00 target set_window_minutes 30 charge start time 08-16 08:00:00) original inverter start time 08-17 00:00:00
2026-08-15 22:25:03.525381: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 22:25:03.525656: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 22:25:03.525767: No export window planned
2026-08-15 22:25:03.525927: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 22:25:03.525965: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 22:25:03.526138: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 22:25:03.526354: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 22:25:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 22:25:03.526417: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 22:25:03.526514: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 22:25:03.526641: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 22:25:03.526690: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 22:25:03.526765: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 22:25:03.526820: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 22:25:03.526874: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 22:25:03.526918: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 22:25:03.526969: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 22:25:03.527087: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 22:25:03.527132: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 22:25:03.527200: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 22:25:03.527242: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 22:25:03.527286: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 22:25:03.527337: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 22:25:03.527388: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 22:25:03.527431: Inverter 0 count register writes 0
2026-08-15 22:25:03.542134: Will recompute the plan as it is now 10.0 minutes old and will exceed the max age of 10 minutes before the next run
2026-08-15 22:25:03.542339: Recompute is saving previous plan...
2026-08-15 22:25:03.544934: Best charge window [ 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 30.02p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 27.8p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.18p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.38p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 26.7p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.31p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.79p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 25.86p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.13p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 25.86p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.27p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.14p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 27.03p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.28p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.68p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 26.1p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 24.28p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 24.94p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.06p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.39p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.66p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.06p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 25.5p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 24.94p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 24.25p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 23.49p 0%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.43p 0%, 16-08 12:30:00 - 16-08 13:00:00 @ 22.33p 0%, 16-08 13:00:00 - 16-08 13:30:00 @ 22.76p 0%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 0%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 0%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.65p 0%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.95p 0%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.83p 0%, 16-08 16:00:00 - 16-08 16:30:00 @ 36.84p 0%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.54p 0%, 16-08 17:00:00 - 16-08 17:30:00 @ 41.79p 0%, 16-08 17:30:00 - 16-08 18:00:00 @ 43.7p 0%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.34p 0%, 16-08 19:00:00 - 16-08 19:30:00 @ 34.79p 0%, 16-08 19:30:00 - 16-08 20:00:00 @ 34.76p 0%, 16-08 20:00:00 - 16-08 20:30:00 @ 35.62p 0%, 16-08 20:30:00 - 16-08 21:00:00 @ 35.3p 0%, 16-08 21:00:00 - 16-08 21:30:00 @ 35.89p 0%, 16-08 21:30:00 - 16-08 22:00:00 @ 35.71p 0%, 16-08 22:00:00 - 16-08 22:30:00 @ 33.75p 0%, 16-08 22:30:00 - 16-08 23:00:00 @ 32.0p 0%, 16-08 23:00:00 - 16-08 23:30:00 @ 30.02p 0%, 16-08 23:30:00 - 17-08 00:00:00 @ 27.8p 0%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.18p 0%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.38p 0%, 17-08 01:00:00 - 17-08 01:30:00 @ 26.7p 0%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.31p 0%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.79p 0%, 17-08 02:30:00 - 17-08 03:00:00 @ 25.86p 0%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.13p 0%, 17-08 03:30:00 - 17-08 04:00:00 @ 25.86p 0%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.27p 0%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.14p 0%, 17-08 05:00:00 - 17-08 05:30:00 @ 27.03p 0%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.28p 0%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.68p 0%, 17-08 06:30:00 - 17-08 07:00:00 @ 26.1p 0%, 17-08 07:00:00 - 17-08 07:30:00 @ 24.28p 0%, 17-08 07:30:00 - 17-08 08:00:00 @ 24.94p 0%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.06p 0%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.39p 0%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.66p 0%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.06p 0%, 17-08 10:00:00 - 17-08 10:30:00 @ 25.5p 0%, 17-08 10:30:00 - 17-08 11:00:00 @ 24.94p 0%, 17-08 11:00:00 - 17-08 11:30:00 @ 24.25p 0%, 17-08 11:30:00 - 17-08 12:00:00 @ 23.49p 0%, 17-08 12:00:00 - 17-08 12:30:00 @ 23.43p 0%, 17-08 12:30:00 - 17-08 13:00:00 @ 22.33p 0%, 17-08 13:00:00 - 17-08 13:30:00 @ 22.76p 0%, 17-08 13:30:00 - 17-08 14:00:00 @ 22.3p 0%, 17-08 14:00:00 - 17-08 14:30:00 @ 21.41p 0%, 17-08 14:30:00 - 17-08 15:00:00 @ 21.65p 0%, 17-08 15:00:00 - 17-08 15:30:00 @ 22.95p 0%, 17-08 15:30:00 - 17-08 16:00:00 @ 22.83p 0%, 17-08 16:00:00 - 17-08 16:30:00 @ 36.84p 0%, 17-08 16:30:00 - 17-08 17:00:00 @ 37.54p 0%, 17-08 17:00:00 - 17-08 17:30:00 @ 41.79p 0%, 17-08 17:30:00 - 17-08 18:00:00 @ 43.7p 0%, 17-08 18:00:00 - 17-08 18:30:00 @ 44.34p 0%, 17-08 19:00:00 - 17-08 19:30:00 @ 34.79p 0%, 17-08 19:30:00 - 17-08 20:00:00 @ 34.76p 0%, 17-08 20:00:00 - 17-08 20:30:00 @ 35.62p 0%, 17-08 20:30:00 - 17-08 21:00:00 @ 35.3p 0%, 17-08 21:00:00 - 17-08 21:30:00 @ 35.89p 0%, 17-08 21:30:00 - 17-08 22:00:00 @ 35.71p 0%, 17-08 22:00:00 - 17-08 22:30:00 @ 33.75p 0% ]
2026-08-15 22:25:03.545117: Best export window [  ]
2026-08-15 22:25:03.546281: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 22:25:03.549556: Load divergence over 8.0 hours mean 778.13W, min 378.0W, max 1875.0W, std dev 429.87W, divergence 27.62%
2026-08-15 22:25:03.568234: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 22:25:03.568352: LoadML is_calculating False
2026-08-15 22:25:03.568420: Creating pool of 12 processes to match your CPU count
2026-08-15 22:25:03.652986: Calculate Best options: mode(Control charge & discharge), calculate_export_oncharge(False), calculate_export_on_pv(True), set_export_freeze_only(False), set_discharge_during_charge(True), combine_charge_slots(False), combine_export_slots(False), combine_rate_threshold(0.0), best_soc_min(0.0 kWh), best_soc_max(0.0 kWh), best_soc_keep(0.0 kWh), inverter_loss(4%), battery_loss(3%), battery_loss_discharge (3%), inverter_hybrid(True), metric_min_improvement(0.0p), metric_min_improvement_export(0.1p), metric_min_improvement_export_freeze(0.1p), metric_battery_cycle(0.0p/kWh), metric_battery_value_scaling(1.0 x) 
2026-08-15 22:25:03.654630: Optimise levels pass started at 2026-08-15 22:25:03
2026-08-15 22:25:03.654683: Optimise all windows, total charge 94 export 1
2026-08-15 22:25:04.302855: ML Component: Fetching 28 days of load history from ['sensor.sunsynk_day_load_energy']
2026-08-15 22:25:05.487680: >> Region optimisation pass width 960 gives best_metric 1033.35p, best_cost 1046.91p, best_cycle 32.16kWh, best_import 20.58kWh
2026-08-15 22:25:05.876091: Processing 1345 30-minute periods for power integration
2026-08-15 22:25:06.007992: ML Component: Car charging hold False, car energy reported load False
2026-08-15 22:25:06.135882: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 22:25:06.236428: ML Temperature data points: 49056
2026-08-15 22:25:06.554610: ML Component: Fetched 8064 load data points, 28.0 days of history
2026-08-15 22:25:06.593636: ML Component: Data fetch completed, load data age 57.0 days, 16533 data points
2026-08-15 22:25:06.593754: ML Component: Starting fine-tune training (2h interval), model age is 2.002623035 hours
2026-08-15 22:25:06.593790: ML Component: Waiting for current prediction cycle to complete before running ML work
2026-08-15 22:25:07.184156: >> Region optimisation pass width 480 gives best_metric 1032.11p, best_cost 1045.47p, best_cycle 39.62kWh, best_import 21.11kWh
2026-08-15 22:25:08.168507: >> Region optimisation pass width 240 gives best_metric 1032.07p, best_cost 1045.43p, best_cycle 39.96kWh, best_import 21.14kWh
2026-08-15 22:25:09.439242: >> Region optimisation pass width 120 gives best_metric 1032.07p, best_cost 1045.43p, best_cycle 39.96kWh, best_import 21.14kWh
2026-08-15 22:25:09.439685: Calculated end_record as 08-17 12:30:00 based on best_price 22.33p, next_charge_start 08-16 12:30:00, max_windows 76
2026-08-15 22:25:09.439755: Optimise levels pass ended at 2026-08-15 22:25:09, duration 5.8 seconds tried 387 combinations
2026-08-15 22:25:09.439810: Set best_price_charge_level 24.0p, best_price_export_level 0p, best_price_charge 22.33p, best_cost_export 0p, best_metric 1032.07p, best_keep 0kWh, best_cycle 39.96kWh, best_carbon 0kg, best_import 21.14kWh
2026-08-15 22:25:09.456400: Starting detailed optimisation end_record 08-17 12:30:00, best_price_charge 22.33p, best_price_export 0p. lowest_price_charge 21.41p with charge limits [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 0, 16.0, 16.0, 12.75, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0]kWh and export limits []kWh
2026-08-15 22:25:15.145701: Tweak plan optimisation started metric 872.53p, cost 888.67p
2026-08-15 22:25:15.451530: Tweak optimisation finished metric 872.53p, cost 888.67p, metric_keep 0kWh, cycle 27.24kWh, carbon 0kg, import 14.0kWh, changed 8 window(s)
2026-08-15 22:25:15.473530: Swap charge optimisation started metric 872.53p, cost 888.67p, min_improvement_swap 0.1p
2026-08-15 22:25:24.166647: Swap charge optimisation finished metric 872.53p, cost 888.67p
2026-08-15 22:25:24.310960: Pruned 2 dead plan slot(s) in 11 trial(s), nominal metric 868.07p -> 868.07p, plan now metric 872.67p, cost 888.67p, cycle 27.24kWh, import 14.0kWh
2026-08-15 22:25:24.323729: Raw charge windows [ 15-08 22:00:00 - 15-08 22:30:00 @ 31.77p 0%, 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 30.02p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 27.8p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.18p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.38p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 26.7p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.31p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.79p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 25.86p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.13p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 25.86p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.27p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.14p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 27.03p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.28p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.68p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 26.1p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 24.28p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 24.94p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.06p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.39p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.66p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.06p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 25.5p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 24.94p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 24.25p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 23.49p 31%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.43p 31%, 16-08 12:30:00 - 16-08 13:00:00 @ 22.33p 38%, 16-08 13:00:00 - 16-08 13:30:00 @ 22.76p 38%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 50%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 100%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.65p 78%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.95p 78%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.83p 78%, 16-08 16:00:00 - 16-08 16:30:00 @ 36.84p 0%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.54p 0%, 16-08 17:00:00 - 16-08 17:30:00 @ 41.79p 0%, 16-08 17:30:00 - 16-08 18:00:00 @ 43.7p 0%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.34p 0%, 16-08 19:00:00 - 16-08 19:30:00 @ 34.79p 0%, 16-08 19:30:00 - 16-08 20:00:00 @ 34.76p 0%, 16-08 20:00:00 - 16-08 20:30:00 @ 35.62p 0%, 16-08 20:30:00 - 16-08 21:00:00 @ 35.3p 0%, 16-08 21:00:00 - 16-08 21:30:00 @ 35.89p 0%, 16-08 21:30:00 - 16-08 22:00:00 @ 35.71p 0%, 16-08 22:00:00 - 16-08 22:30:00 @ 33.75p 0%, 16-08 22:30:00 - 16-08 23:00:00 @ 32.0p 0%, 16-08 23:00:00 - 16-08 23:30:00 @ 30.02p 0%, 16-08 23:30:00 - 17-08 00:00:00 @ 27.8p 0%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.18p 0%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.38p 0%, 17-08 01:00:00 - 17-08 01:30:00 @ 26.7p 0%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.31p 0%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.79p 0%, 17-08 02:30:00 - 17-08 03:00:00 @ 25.86p 0%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.13p 0%, 17-08 03:30:00 - 17-08 04:00:00 @ 25.86p 0%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.27p 0%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.14p 0%, 17-08 05:00:00 - 17-08 05:30:00 @ 27.03p 0%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.28p 0%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.68p 0%, 17-08 06:30:00 - 17-08 07:00:00 @ 26.1p 0%, 17-08 07:00:00 - 17-08 07:30:00 @ 24.28p 0%, 17-08 07:30:00 - 17-08 08:00:00 @ 24.94p 0%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.06p 0%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.39p 0%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.66p 0%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.06p 0%, 17-08 10:00:00 - 17-08 10:30:00 @ 25.5p 0%, 17-08 10:30:00 - 17-08 11:00:00 @ 24.94p 0%, 17-08 11:00:00 - 17-08 11:30:00 @ 24.25p 0%, 17-08 11:30:00 - 17-08 12:00:00 @ 23.49p 0%, 17-08 12:00:00 - 17-08 12:30:00 @ 23.43p 0%, 17-08 12:30:00 - 17-08 13:00:00 @ 22.33p 100%, 17-08 13:00:00 - 17-08 13:30:00 @ 22.76p 100%, 17-08 13:30:00 - 17-08 14:00:00 @ 22.3p 100%, 17-08 14:00:00 - 17-08 14:30:00 @ 21.41p 100%, 17-08 14:30:00 - 17-08 15:00:00 @ 21.65p 100%, 17-08 15:00:00 - 17-08 15:30:00 @ 22.95p 100%, 17-08 15:30:00 - 17-08 16:00:00 @ 22.83p 100%, 17-08 16:00:00 - 17-08 16:30:00 @ 36.84p 100%, 17-08 16:30:00 - 17-08 17:00:00 @ 37.54p 100%, 17-08 17:00:00 - 17-08 17:30:00 @ 41.79p 100%, 17-08 17:30:00 - 17-08 18:00:00 @ 43.7p 100%, 17-08 18:00:00 - 17-08 18:30:00 @ 44.34p 100%, 17-08 19:00:00 - 17-08 19:30:00 @ 34.79p 100%, 17-08 19:30:00 - 17-08 20:00:00 @ 34.76p 100%, 17-08 20:00:00 - 17-08 20:30:00 @ 35.62p 100%, 17-08 20:30:00 - 17-08 21:00:00 @ 35.3p 100%, 17-08 21:00:00 - 17-08 21:30:00 @ 35.89p 100%, 17-08 21:30:00 - 17-08 22:00:00 @ 35.71p 100%, 17-08 22:00:00 - 17-08 22:30:00 @ 33.75p 100% ] reserve 1.12
2026-08-15 22:25:24.324386: Unclipped charge windows [ 16-08 11:30:00 - 16-08 12:30:00 @ 23.46p 31%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 38%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 50%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 100%, 16-08 14:30:00 - 16-08 16:00:00 @ 22.56p 78%, 17-08 12:30:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 17-08 22:30:00 @ 34.7p 100% ] reserve 1.12
2026-08-15 22:25:24.324719: Unfiltered charge windows [ 16-08 11:30:00 - 16-08 12:30:00 @ 23.46p 31%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 38%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 50%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 100%, 16-08 14:30:00 - 16-08 16:00:00 @ 22.56p 78%, 17-08 12:30:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 17-08 22:30:00 @ 34.7p 100% ] reserve 1.12
2026-08-15 22:25:24.325082: Filtered charge windows [ 16-08 11:30:00 - 16-08 12:30:00 @ 23.46p 31%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 38%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 50%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 100%, 16-08 14:30:00 - 16-08 16:00:00 @ 22.56p 78%, 17-08 12:30:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 17-08 22:30:00 @ 34.7p 100% ] reserve 1.12
2026-08-15 22:25:24.366318: Previous plan best metric is 873.46 (cost 889.55) and new plan best metric is 872.53 (cost 888.67)
2026-08-15 22:25:24.366600: New plan is a cost-neutral improvement but less fragmented (4 vs 7 segments), using new plan
2026-08-15 22:25:24.366642: Plan valid is now true after recompute was False
2026-08-15 22:25:24.396423: predict base end_record 08-17 12:30:00, final soc 1.12kWh, metric 1054.64p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 17:00:00, load 35.67kWh, PV 0.0kWh
2026-08-15 22:25:24.515203: Battery has 18.58 hours left - now at 14.08kWh
2026-08-15 22:25:24.564048: predict base10 end_record 08-17 12:30:00, final soc 1.12kWh, metric 1093.5p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 15:50:00, load 36.86kWh, PV 0.0kWh
2026-08-15 22:25:24.657666: predict best10 end_record 08-17 12:30:00, final soc 1.12kWh, metric 1019.29p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 07:05:00, load 36.86kWh, PV 0.0kWh
2026-08-15 22:25:24.744425: predict best end_record 08-17 12:30:00, final soc 1.12kWh, metric 988.64p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 08:15:00, load 35.67kWh, PV 0.0kWh
2026-08-15 22:25:24.744534: Saving plan best values to HA entities
2026-08-15 22:25:24.940740: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 22:25:24.946400: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0.0
2026-08-15 22:25:24.951601: Best charging limit SoC's [5.0, 6.0, 8.0, 16.0, 12.5, 16.0, 16.0]kWh, export []kWh gives import battery 11.15kWh, house 2.85kWh, export 0.0kWh, metric 988.64p, metric10 1019.29p
2026-08-15 22:25:25.032124: Marginal costs baseline metric (no standing charge): 888.6747
2026-08-15 22:25:25.312111: Marginal energy costs matrix computed: min=25.67 max=28.44
2026-08-15 22:25:25.390928: Rate array import [{'start': 1345, 'end': 1410, 'rate': 'expensive', 'range': '(29.8p - 31.8p)'}, {'start': 1410, 'end': 2400, 'rate': 'cheap', 'range': '(21.4p - 28.2p)'}, {'start': 2400, 'end': 2430, 'rate': 'expensive', 'range': '(36.8p)'}, {'start': 2430, 'end': 2580, 'rate': 'very expensive', 'range': '(37.5p - 45.3p)'}, {'start': 2580, 'end': 2850, 'rate': 'expensive', 'range': '(30.0p - 35.9p)'}, {'start': 2850, 'end': 3630, 'rate': 'cheap', 'range': '(23.4p - 28.2p)'}] export [{'start': 1345, 'end': 3630, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 22:25:25.391665: - Your estimated bill for today is £5.73 and tomorrow is £2.96
2026-08-15 22:25:25.391712: - Import rates are expensive (29.8p - 31.8p) for the next 1 hour and then cheap (21.4p - 28.2p) for the next 16 hours.
2026-08-15 22:25:25.391734: - The battery is currently at 88% and is in eco mode for the next 13 hours.
2026-08-15 22:25:25.391752: - For the next 48 hours there will be no solar generation.
2026-08-15 22:25:25.391771: - You will run out of battery in 33 hours.
2026-08-15 22:25:25.391789: - Your next charge slot will be in 13 hours where import rates will be cheap (23.5p).
2026-08-15 22:25:25.391806: 
2026-08-15 22:25:25.462573: Plan calculation took 21.92 seconds
2026-08-15 22:25:25.462933: Inverter 0: Type SK Sunsynk
2026-08-15 22:25:25.462980: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 22:25:25.463207: Reserve min: 7%, battery_min: 7%
2026-08-15 22:25:25.463290: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 22:25:25.463625: Inverter 0 SoC: 13.94kW 87%, current charge rate 5000W, current discharge rate 5250W, current battery power 493W, current battery voltage 51.2V, grid power -55W, load power 553W, PV Power 0W
2026-08-15 22:25:25.463859: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 22:25:25.463964: Inverter 0 scheduled charge enable is False
2026-08-15 22:25:25.464003: Inverter 0 charge windows currently []
2026-08-15 22:25:25.464048: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 22:25:25.464162: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 22:25:25.464198: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 22:25:25.464234: Inverter 0 scheduled discharge enable is False
2026-08-15 22:25:25.464359: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 22:25:25.464396: Inverter 0 discharge windows currently []
2026-08-15 22:25:25.464418: Note: Inverter does not support discharge freeze - disabled
2026-08-15 22:25:25.464440: Note: Inverter does not support charge freeze - disabled
2026-08-15 22:25:25.464457: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 22:25:25.518931: Inverter 0 Charge window will be: 2026-08-16 11:30:00+01:00 - 2026-08-16 16:00:00+01:00 - current SoC 87%, target 31%
2026-08-15 22:25:25.519108: Inverter 0 disabled charge window while waiting for schedule (now 08-15 22:25:00 target set_window_minutes 30 charge start time 08-16 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 22:25:25.519192: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 22:25:25.519375: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 22:25:25.519456: No export window planned
2026-08-15 22:25:25.519570: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 22:25:25.519606: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 22:25:25.519741: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 22:25:25.519902: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 22:25:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 22:25:25.519955: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 22:25:25.520011: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 22:25:25.520115: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 22:25:25.520155: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 22:25:25.520182: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 22:25:25.520216: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 22:25:25.520241: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 22:25:25.520267: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 22:25:25.520291: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 22:25:25.520351: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 22:25:25.520379: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 22:25:25.520404: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 22:25:25.520451: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 22:25:25.520477: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 22:25:25.520501: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 22:25:25.520524: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 22:25:25.520544: Inverter 0 count register writes 0
2026-08-15 22:25:25.541404: Total inverter register writes now 826
2026-08-15 22:25:25.574956: Info: Completed run status Demand
2026-08-15 22:25:25.582358: Info: record_status Demand
2026-08-15 22:25:25.589190: Saved current settings to /config/predbat_config.json
2026-08-15 22:25:25.589452: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 22:25:25.744910: ML Component: Doing training...
2026-08-15 22:25:25.761457: ML Predictor: Curriculum training - capped to last 4 intermediate passes (starting at window=54.0 days)
2026-08-15 22:25:25.761571: ML Predictor: Curriculum training - 5 passes, window 54.0→57.0 days + final full pass (57.4 days)
2026-08-15 22:25:25.821001: ML Predictor: Curriculum pass 1/5: window=54.0 days (1296 hours of data)
2026-08-15 22:25:25.821142: ML Predictor: Starting initial training with 30 epochs
2026-08-15 22:25:26.375210: ML Predictor: Creating dataset with 1296 hours of training data, 48 hours validation
2026-08-15 22:25:30.939609: ML Predictor: Created 15264 training samples, 576 validation samples
2026-08-15 22:25:30.992365: ML Predictor: Normalization stats [fit] target(mean=0.0586 std=0.0467) load(mean=0.0587 std=0.0470) pv(mean=0.0000 std=0.0100) temp(mean=19.4998 std=4.4156) import_rate(mean=25.5254 std=2.4659) export_rate(mean=0.0000 std=1.0000) time(mean=-0.1882 std=0.5244)
2026-08-15 22:25:57.390074: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 22:25:57.390345: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 22:25:57.390392: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 22:25:57.390678: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 22:25:57.390737: Note: Inverter does not support discharge freeze - disabled
2026-08-15 22:25:57.390760: Note: Inverter does not support charge freeze - disabled
2026-08-15 22:25:57.390862: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 22:25:59.113700: ML Predictor: Epoch 1/30: lr=0.00100 huber_loss=0.0162 val_mae=0.0035 kWh val_bias=+0.0002 kWh (+0.4%) combined=0.0025 kWh ema_combined=0.0025 kWh
2026-08-15 22:26:31.167365: ML Predictor: Epoch 2/30: lr=0.00100 huber_loss=0.0146 val_mae=0.0032 kWh val_bias=-0.0006 kWh (-1.1%) combined=0.0017 kWh ema_combined=0.0023 kWh
2026-08-15 22:27:03.163679: ML Predictor: Epoch 3/30: lr=0.00099 huber_loss=0.0164 val_mae=0.0034 kWh val_bias=+0.0001 kWh (+0.2%) combined=0.0018 kWh ema_combined=0.0021 kWh
2026-08-15 22:27:35.352837: ML Predictor: Epoch 4/30: lr=0.00098 huber_loss=0.0137 val_mae=0.0033 kWh val_bias=+0.0001 kWh (+0.1%) combined=0.0020 kWh ema_combined=0.0021 kWh
2026-08-15 22:28:08.715852: ML Predictor: Epoch 5/30: lr=0.00096 huber_loss=0.0146 val_mae=0.0031 kWh val_bias=-0.0015 kWh (-2.9%) combined=0.0029 kWh ema_combined=0.0023 kWh
2026-08-15 22:28:11.938104: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 22:28:11.938404: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 22:28:11.938451: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 22:28:11.938606: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 22:28:11.938649: Note: Inverter does not support discharge freeze - disabled
2026-08-15 22:28:11.938692: Note: Inverter does not support charge freeze - disabled
2026-08-15 22:28:11.938712: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 22:28:40.223969: ML Predictor: Epoch 6/30: lr=0.00094 huber_loss=0.0117 val_mae=0.0031 kWh val_bias=-0.0019 kWh (-3.6%) combined=0.0033 kWh ema_combined=0.0026 kWh
2026-08-15 22:29:12.539477: ML Predictor: Epoch 7/30: lr=0.00091 huber_loss=0.0097 val_mae=0.0026 kWh val_bias=-0.0005 kWh (-1.0%) combined=0.0016 kWh ema_combined=0.0023 kWh
2026-08-15 22:29:42.965797: ML Predictor: Epoch 8/30: lr=0.00088 huber_loss=0.0120 val_mae=0.0029 kWh val_bias=-0.0006 kWh (-1.1%) combined=0.0024 kWh ema_combined=0.0023 kWh
2026-08-15 22:30:00.469425: --------------- PredBat - update at 2026-08-15 22:30:00+01:00 with clock skew 0 minutes, minutes now 1350
2026-08-15 22:30:00.470461: Saved current settings to /config/predbat_config.json
2026-08-15 22:30:00.470658: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 120.0 minutes
2026-08-15 22:30:00.470785: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.2, latest beta is v8.48.2
2026-08-15 22:30:00.470912: Autoupdate: There is an update pending v8.48.2 PV90 and second pass enabled by default, bug fixes - auto update is off
2026-08-15 22:30:00.512490: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 22:30:00.512859: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 22:30:00.513416: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 22:30:00.514577: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 22:30:00.514917: Predbat mode is set to Control charge & discharge
2026-08-15 22:30:01.028078: Found 21602 load_today datapoints going back 28 days
2026-08-15 22:30:01.028409: Using load_power data to fill gaps in load_today data
2026-08-15 22:30:02.763046: Processing 721 30-minute periods for power integration
2026-08-15 22:30:03.001108: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 22:30:03.001493: Car charging hold False, threshold 6.0kWh
2026-08-15 22:30:03.001578: Current data so far today: load 10.75kWh, import 27.8kWh, export 0.0kWh, PV 0kWh
2026-08-15 22:30:03.073576: Cars: SoC: [8.204]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 22:30:03.074904: Standing charge is set to 49.98p
2026-08-15 22:30:03.255750: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 22:30:03.256138: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 22:30:03.256619: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 710.0 minutes
2026-08-15 22:30:03.257508: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 710.0 minutes
2026-08-15 22:30:03.266539: Loaded 95 datapoints of futurerate analysis
2026-08-15 22:30:03.475040: Predicted future rates: ['08-15 00:00:00 => 28.69 / 20.01', '08-15 01:00:00 => 27.33 / 19.31', '08-15 02:00:00 => 26.31 / 18.8', '08-15 03:00:00 => 25.78 / 18.53', '08-15 04:00:00 => 25.59 / 18.43', '08-15 05:00:00 => 25.75 / 18.51', '08-15 06:00:00 => 25.34 / 18.3', '08-15 07:00:00 => 24.12 / 17.68', '08-15 08:00:00 => 22.82 / 17.01', '08-15 09:00:00 => 21.84 / 16.51', '08-15 10:00:00 => 20.22 / 15.68', '08-15 11:00:00 => 17.8 / 14.45', '08-15 12:00:00 => 16.16 / 13.61', '08-15 13:00:00 => 15.55 / 13.3', '08-15 14:00:00 => 15.14 / 13.09', '08-15 15:00:00 => 15.65 / 13.35', '08-15 16:00:00 => 32.68 / 16.13', '08-15 17:00:00 => 37.81 / 18.75', '08-15 18:00:00 => 42.15 / 20.96', '08-15 19:00:00 => 30.88 / 21.13', '08-15 20:00:00 => 31.43 / 21.41', '08-15 21:00:00 => 31.43 / 21.41', '08-15 22:00:00 => 30.37 / 20.87', '08-15 23:00:00 => 29.16 / 20.25', '08-16 00:00:00 => 28.62 / 19.97', '08-16 01:00:00 => 27.52 / 19.41', '08-16 02:00:00 => 26.55 / 18.92', '08-16 03:00:00 => 26.18 / 18.73', '08-16 04:00:00 => 26.12 / 18.7', '08-16 05:00:00 => 26.02 / 18.65', '08-16 06:00:00 => 25.78 / 18.53', '08-16 07:00:00 => 25.43 / 18.35', '08-16 08:00:00 => 24.63 / 17.94', '08-16 09:00:00 => 24.05 / 17.64', '08-16 10:00:00 => 24.59 / 17.92', '08-16 11:00:00 => 24.5 / 17.87', '08-16 12:00:00 => 23.58 / 17.4', '08-16 13:00:00 => 22.93 / 17.07', '08-16 14:00:00 => 21.8 / 16.49', '08-16 15:00:00 => 21.8 / 16.49', '08-16 16:00:00 => 36.93 / 18.3', '08-16 17:00:00 => 39.92 / 19.83', '08-16 18:00:00 => 43.98 / 21.9', '08-16 19:00:00 => 32.83 / 22.13', '08-16 20:00:00 => 33.62 / 22.53', '08-16 21:00:00 => 33.52 / 22.48']
2026-08-15 22:30:03.519312: Rate min forward looking: now 21.41p at end of forecast 21.41p
2026-08-15 22:30:03.520092: Import rates: min 21.41p, max 45.28p, average 28.71p
2026-08-15 22:30:03.565760: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 22:30:03.565888: Rate thresholds (for charge/export) are import 44.78p (0.0p), export -0.1p (0.0p)
2026-08-15 22:30:03.567180: High export rate found rates in range 99p to -99p
2026-08-15 22:30:03.799103: Low Import rate found rates in range 21.41p to 44.34p
2026-08-15 22:30:03.799404: Car 0 charging is not planned as it is not plugged in
2026-08-15 22:30:03.818927: Battery level now 14.08kWh, -1hr ago 14.24kWh, at midnight 1.66kWh, battery value change in the last hour -2.94p, change today 228.52p, rate_forward 18.39p
2026-08-15 22:30:03.819516: Last hour: net energy 0.0kWh, import 0.0kWh, export 0.0kWh, car 0kWh, load 0.38kWh, net cost 0.0p, import 0.0p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 22:30:04.036896: Today's energy total net 27.8kWh, import 27.8kWh, export 0.0kWh, cost 573.42p, import 523.44p, export 0.0p, carbon 0.0kg
2026-08-15 22:30:04.037127: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 22:30:04.178024: Using weighted-bucket historical load forecast over 14 days
2026-08-15 22:30:04.225734: Today's load divergence 77.77%, in-day adjustment 82.94%, damping 0.95x, yesterday 143.77% today 78.88% blend 6.25%
2026-08-15 22:30:04.226038: Today's predicted so far 13.55kWh with 0.0kWh car/iBoost excluded, 20.77kWh import ignored, and 13.55kWh forecast extra.
2026-08-15 22:30:04.226198: Today's actual load so far 10.8kWh with 0.0kWh car/iBoost excluded, and 20.77kWh import ignored.
2026-08-15 22:30:04.298857: Inverter 0: Type SK Sunsynk
2026-08-15 22:30:04.299294: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 22:30:04.299681: Reserve min: 7%, battery_min: 7%
2026-08-15 22:30:04.299895: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 22:30:04.300385: Inverter 0 SoC: 13.92kW 87%, current charge rate 5000W, current discharge rate 5250W, current battery power 582W, current battery voltage 51.2V, grid power -57W, load power 638W, PV Power 0W
2026-08-15 22:30:04.301472: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 22:30:04.301732: Inverter 0 scheduled charge enable is False
2026-08-15 22:30:04.301869: Inverter 0 charge windows currently []
2026-08-15 22:30:04.302030: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 22:30:04.302306: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 22:30:04.302456: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 22:30:04.302607: Inverter 0 scheduled discharge enable is False
2026-08-15 22:30:04.302893: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 22:30:04.303038: Inverter 0 discharge windows currently []
2026-08-15 22:30:04.303161: Note: Inverter does not support discharge freeze - disabled
2026-08-15 22:30:04.303298: Note: Inverter does not support charge freeze - disabled
2026-08-15 22:30:04.303422: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 22:30:04.459361: Dynamic load last period 0.60kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 22:30:04.459671: Plan was last updated on 2026-08-15 22:25:00+01:00 and is now 5.0 minutes old
2026-08-15 22:30:04.460245: Best charge window [ 16-08 11:30:00 - 16-08 12:30:00 @ 23.46p 31%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 38%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 50%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 100%, 16-08 14:30:00 - 16-08 16:00:00 @ 22.56p 78%, 17-08 12:30:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 17-08 22:30:00 @ 34.7p 100% ]
2026-08-15 22:30:04.460410: Best export window [  ]
2026-08-15 22:30:04.461854: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 22:30:04.481851: Load divergence over 8.0 hours mean 776.57W, min 364.2W, max 1953.0W, std dev 443.09W, divergence 28.53%
2026-08-15 22:30:04.528766: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 22:30:04.545823: LoadML is_calculating True
2026-08-15 22:30:04.547026: Not using thread pool as LoadML is calculating to avoid lockups
2026-08-15 22:30:04.589480: predict base end_record 08-17 12:35:00, final soc 1.12kWh, metric 1059.42p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 16:50:00, load 35.77kWh, PV 0.0kWh
2026-08-15 22:30:04.784133: Battery has 18.33 hours left - now at 13.92kWh
2026-08-15 22:30:04.854292: predict base10 end_record 08-17 12:35:00, final soc 1.12kWh, metric 1096.88p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 15:45:00, load 36.96kWh, PV 0.0kWh
2026-08-15 22:30:05.131120: predict best10 end_record 08-17 12:35:00, final soc 1.44kWh, metric 1030.71p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 07:05:00, load 36.96kWh, PV 0.0kWh
2026-08-15 22:30:05.295012: predict best end_record 08-17 12:35:00, final soc 1.51kWh, metric 1001.46p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 08:20:00, load 35.77kWh, PV 0.0kWh
2026-08-15 22:30:05.295119: Saving plan best values to HA entities
2026-08-15 22:30:05.758657: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 22:30:05.783401: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0.0
2026-08-15 22:30:05.791801: Best charging limit SoC's [5.0, 6.0, 8.0, 16.0, 12.5, 16.0, 16.0]kWh, export []kWh gives import battery 11.73kWh, house 2.84kWh, export 0.0kWh, metric 1001.46p, metric10 1030.71p
2026-08-15 22:30:05.996555: Marginal costs baseline metric (no standing charge): 901.4976
2026-08-15 22:30:06.628046: Marginal energy costs matrix computed: min=25.68 max=28.37
2026-08-15 22:30:06.800613: Rate array import [{'start': 1350, 'end': 1410, 'rate': 'expensive', 'range': '(29.8p - 30.0p)'}, {'start': 1410, 'end': 2400, 'rate': 'cheap', 'range': '(21.4p - 28.2p)'}, {'start': 2400, 'end': 2430, 'rate': 'expensive', 'range': '(36.8p)'}, {'start': 2430, 'end': 2580, 'rate': 'very expensive', 'range': '(37.5p - 45.3p)'}, {'start': 2580, 'end': 2850, 'rate': 'expensive', 'range': '(30.0p - 35.9p)'}, {'start': 2850, 'end': 3635, 'rate': 'cheap', 'range': '(22.3p - 28.2p)'}] export [{'start': 1350, 'end': 3635, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 22:30:06.801841: - Your estimated bill for today is £5.73 and tomorrow is £2.98
2026-08-15 22:30:06.801912: - Import rates are expensive (29.8p - 30.0p) for the next 1 hour and then cheap (21.4p - 28.2p) for the next 16 hours.
2026-08-15 22:30:06.801945: - The battery is currently at 87% and is in eco mode for the next 13 hours.
2026-08-15 22:30:06.801978: - For the next 48 hours there will be no solar generation.
2026-08-15 22:30:06.802006: - You will run out of battery in 33 hours.
2026-08-15 22:30:06.802035: - Your next charge slot will be in 13 hours where import rates will be cheap (23.5p).
2026-08-15 22:30:06.802062: 
2026-08-15 22:30:06.911204: Plan calculation took 2.45 seconds
2026-08-15 22:30:06.925265: No high rate period found
2026-08-15 22:30:07.092708: Import threshold used for optimisation was 24.25p
2026-08-15 22:30:07.222594: Low import rate windows [0: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 1: 08-15 23:00:00 - 08-15 23:30:00 @ 30.02, 2: 08-15 23:30:00 - 08-16 00:00:00 @ 27.8, 3: 08-16 00:00:00 - 08-16 00:30:00 @ 28.18, 4: 08-16 00:30:00 - 08-16 01:00:00 @ 27.38, 5: 08-16 01:00:00 - 08-16 01:30:00 @ 26.7, 6: 08-16 01:30:00 - 08-16 02:00:00 @ 26.31, 7: 08-16 02:00:00 - 08-16 02:30:00 @ 25.79, 8: 08-16 02:30:00 - 08-16 03:00:00 @ 25.86, 9: 08-16 03:00:00 - 08-16 03:30:00 @ 26.13, 10: 08-16 03:30:00 - 08-16 04:00:00 @ 25.86, 11: 08-16 04:00:00 - 08-16 04:30:00 @ 26.27, 12: 08-16 04:30:00 - 08-16 05:00:00 @ 26.14, 13: 08-16 05:00:00 - 08-16 05:30:00 @ 27.03, 14: 08-16 05:30:00 - 08-16 06:00:00 @ 26.28, 15: 08-16 06:00:00 - 08-16 06:30:00 @ 25.68, 16: 08-16 06:30:00 - 08-16 07:00:00 @ 26.1, 17: 08-16 07:00:00 - 08-16 07:30:00 @ 24.28, 18: 08-16 07:30:00 - 08-16 08:00:00 @ 24.94, 19: 08-16 08:00:00 - 08-16 08:30:00 @ 24.06, 20: 08-16 08:30:00 - 08-16 09:00:00 @ 24.39, 21: 08-16 09:00:00 - 08-16 09:30:00 @ 24.66, 22: 08-16 09:30:00 - 08-16 10:00:00 @ 24.06, 23: 08-16 10:00:00 - 08-16 10:30:00 @ 25.5, 24: 08-16 10:30:00 - 08-16 11:00:00 @ 24.94, 25: 08-16 11:00:00 - 08-16 11:30:00 @ 24.25, 26: 08-16 11:30:00 - 08-16 12:00:00 @ 23.49, 27: 08-16 12:00:00 - 08-16 12:30:00 @ 23.43, 28: 08-16 12:30:00 - 08-16 13:00:00 @ 22.33, 29: 08-16 13:00:00 - 08-16 13:30:00 @ 22.76, 30: 08-16 13:30:00 - 08-16 14:00:00 @ 22.3, 31: 08-16 14:00:00 - 08-16 14:30:00 @ 21.41, 32: 08-16 14:30:00 - 08-16 15:00:00 @ 21.65, 33: 08-16 15:00:00 - 08-16 15:30:00 @ 22.95, 34: 08-16 15:30:00 - 08-16 16:00:00 @ 22.83, 35: 08-16 16:00:00 - 08-16 16:30:00 @ 36.84, 36: 08-16 16:30:00 - 08-16 17:00:00 @ 37.54, 37: 08-16 17:00:00 - 08-16 17:30:00 @ 41.79, 38: 08-16 17:30:00 - 08-16 18:00:00 @ 43.7, 39: 08-16 18:00:00 - 08-16 18:30:00 @ 44.34, 40: 08-16 19:00:00 - 08-16 19:30:00 @ 34.79, 41: 08-16 19:30:00 - 08-16 20:00:00 @ 34.76, 42: 08-16 20:00:00 - 08-16 20:30:00 @ 35.62, 43: 08-16 20:30:00 - 08-16 21:00:00 @ 35.3, 44: 08-16 21:00:00 - 08-16 21:30:00 @ 35.89, 45: 08-16 21:30:00 - 08-16 22:00:00 @ 35.71, 46: 08-16 22:00:00 - 08-16 22:30:00 @ 33.75, 47: 08-16 22:30:00 - 08-16 23:00:00 @ 32.0, 48: 08-16 23:00:00 - 08-16 23:30:00 @ 30.02, 49: 08-16 23:30:00 - 08-17 00:00:00 @ 27.8, 50: 08-17 00:00:00 - 08-17 00:30:00 @ 28.18, 51: 08-17 00:30:00 - 08-17 01:00:00 @ 27.38, 52: 08-17 01:00:00 - 08-17 01:30:00 @ 26.7, 53: 08-17 01:30:00 - 08-17 02:00:00 @ 26.31, 54: 08-17 02:00:00 - 08-17 02:30:00 @ 25.79, 55: 08-17 02:30:00 - 08-17 03:00:00 @ 25.86, 56: 08-17 03:00:00 - 08-17 03:30:00 @ 26.13, 57: 08-17 03:30:00 - 08-17 04:00:00 @ 25.86, 58: 08-17 04:00:00 - 08-17 04:30:00 @ 26.27, 59: 08-17 04:30:00 - 08-17 05:00:00 @ 26.14, 60: 08-17 05:00:00 - 08-17 05:30:00 @ 27.03, 61: 08-17 05:30:00 - 08-17 06:00:00 @ 26.28, 62: 08-17 06:00:00 - 08-17 06:30:00 @ 25.68, 63: 08-17 06:30:00 - 08-17 07:00:00 @ 26.1, 64: 08-17 07:00:00 - 08-17 07:30:00 @ 24.28, 65: 08-17 07:30:00 - 08-17 08:00:00 @ 24.94, 66: 08-17 08:00:00 - 08-17 08:30:00 @ 24.06, 67: 08-17 08:30:00 - 08-17 09:00:00 @ 24.39, 68: 08-17 09:00:00 - 08-17 09:30:00 @ 24.66, 69: 08-17 09:30:00 - 08-17 10:00:00 @ 24.06, 70: 08-17 10:00:00 - 08-17 10:30:00 @ 25.5, 71: 08-17 10:30:00 - 08-17 11:00:00 @ 24.94, 72: 08-17 11:00:00 - 08-17 11:30:00 @ 24.25, 73: 08-17 11:30:00 - 08-17 12:00:00 @ 23.49, 74: 08-17 12:00:00 - 08-17 12:30:00 @ 23.43, 75: 08-17 12:30:00 - 08-17 13:00:00 @ 22.33, 76: 08-17 13:00:00 - 08-17 13:30:00 @ 22.76, 77: 08-17 13:30:00 - 08-17 14:00:00 @ 22.3, 78: 08-17 14:00:00 - 08-17 14:30:00 @ 21.41, 79: 08-17 14:30:00 - 08-17 15:00:00 @ 21.65, 80: 08-17 15:00:00 - 08-17 15:30:00 @ 22.95, 81: 08-17 15:30:00 - 08-17 16:00:00 @ 22.83, 82: 08-17 16:00:00 - 08-17 16:30:00 @ 36.84, 83: 08-17 16:30:00 - 08-17 17:00:00 @ 37.54, 84: 08-17 17:00:00 - 08-17 17:30:00 @ 41.79, 85: 08-17 17:30:00 - 08-17 18:00:00 @ 43.7, 86: 08-17 18:00:00 - 08-17 18:30:00 @ 44.34, 87: 08-17 19:00:00 - 08-17 19:30:00 @ 34.79, 88: 08-17 19:30:00 - 08-17 20:00:00 @ 34.76, 89: 08-17 20:00:00 - 08-17 20:30:00 @ 35.62, 90: 08-17 20:30:00 - 08-17 21:00:00 @ 35.3, 91: 08-17 21:00:00 - 08-17 21:30:00 @ 35.89, 92: 08-17 21:30:00 - 08-17 22:00:00 @ 35.71, 93: 08-17 22:00:00 - 08-17 22:30:00 @ 33.75]
2026-08-15 22:30:07.258893: Inverter 0 Charge window will be: 2026-08-16 11:30:00+01:00 - 2026-08-16 16:00:00+01:00 - current SoC 87%, target 31%
2026-08-15 22:30:07.259082: Inverter 0 disabled charge window while waiting for schedule (now 08-15 22:30:00 target set_window_minutes 30 charge start time 08-16 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 22:30:07.259177: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 22:30:07.259460: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 22:30:07.259580: No export window planned
2026-08-15 22:30:07.259744: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 22:30:07.259800: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 22:30:07.260018: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 22:30:07.260254: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 22:30:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 22:30:07.260339: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 22:30:07.260552: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 22:30:07.260796: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 22:30:07.260940: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 22:30:07.261035: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 22:30:07.261187: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 22:30:07.261311: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 22:30:07.261417: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 22:30:07.261527: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 22:30:07.261685: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 22:30:07.261796: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 22:30:07.261900: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 22:30:07.262007: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 22:30:07.262130: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 22:30:07.262251: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 22:30:07.262356: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 22:30:07.262414: Inverter 0 count register writes 0
2026-08-15 22:30:07.301431: Will not recompute the plan, it is 5.0 minutes old and max age is 10 minutes
2026-08-15 22:30:07.311397: Total inverter register writes now 826
2026-08-15 22:30:07.396905: Info: Completed run status Demand
2026-08-15 22:30:07.417960: Info: record_status Demand
2026-08-15 22:30:07.435657: Saved current settings to /config/predbat_config.json
2026-08-15 22:30:07.436064: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 22:30:24.295890: ML Predictor: Epoch 9/30: lr=0.00084 huber_loss=0.0096 val_mae=0.0028 kWh val_bias=+0.0009 kWh (+1.7%) combined=0.0025 kWh ema_combined=0.0024 kWh
2026-08-15 22:30:41.707441: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 22:30:41.707770: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 22:30:41.707835: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 22:30:41.708030: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 22:30:41.708081: Note: Inverter does not support discharge freeze - disabled
2026-08-15 22:30:41.708110: Note: Inverter does not support charge freeze - disabled
2026-08-15 22:30:41.708136: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 22:30:57.186320: ML Predictor: Epoch 10/30: lr=0.00080 huber_loss=0.0095 val_mae=0.0023 kWh val_bias=-0.0002 kWh (-0.4%) combined=0.0012 kWh ema_combined=0.0020 kWh
2026-08-15 22:31:25.419974: ML Predictor: Epoch 11/30: lr=0.00076 huber_loss=0.0087 val_mae=0.0024 kWh val_bias=+0.0000 kWh (+0.1%) combined=0.0012 kWh ema_combined=0.0018 kWh
2026-08-15 22:31:56.961492: ML Predictor: Epoch 12/30: lr=0.00072 huber_loss=0.0088 val_mae=0.0023 kWh val_bias=-0.0008 kWh (-1.6%) combined=0.0015 kWh ema_combined=0.0017 kWh
2026-08-15 22:32:24.943529: ML Predictor: Epoch 13/30: lr=0.00067 huber_loss=0.0079 val_mae=0.0021 kWh val_bias=-0.0001 kWh (-0.2%) combined=0.0011 kWh ema_combined=0.0015 kWh
2026-08-15 22:32:42.198959: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 22:32:42.200599: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 22:32:42.200665: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 22:32:42.200891: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 22:32:42.201009: Note: Inverter does not support discharge freeze - disabled
2026-08-15 22:32:42.201057: Note: Inverter does not support charge freeze - disabled
2026-08-15 22:32:42.201077: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 22:32:55.515645: ML Predictor: Epoch 14/30: lr=0.00062 huber_loss=0.0078 val_mae=0.0021 kWh val_bias=+0.0003 kWh (+0.6%) combined=0.0015 kWh ema_combined=0.0015 kWh
2026-08-15 22:33:30.192179: ML Predictor: Epoch 15/30: lr=0.00057 huber_loss=0.0075 val_mae=0.0021 kWh val_bias=-0.0006 kWh (-1.1%) combined=0.0016 kWh ema_combined=0.0015 kWh
2026-08-15 22:34:00.879501: ML Predictor: Epoch 16/30: lr=0.00053 huber_loss=0.0074 val_mae=0.0021 kWh val_bias=-0.0009 kWh (-1.8%) combined=0.0019 kWh ema_combined=0.0016 kWh
2026-08-15 22:34:29.841153: ML Predictor: Epoch 17/30: lr=0.00048 huber_loss=0.0060 val_mae=0.0019 kWh val_bias=+0.0003 kWh (+0.5%) combined=0.0013 kWh ema_combined=0.0015 kWh
2026-08-15 22:34:56.869926: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 22:34:56.870203: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 22:34:56.870372: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 22:34:56.870644: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 22:34:56.870771: Note: Inverter does not support discharge freeze - disabled
2026-08-15 22:34:56.870861: Note: Inverter does not support charge freeze - disabled
2026-08-15 22:34:56.870949: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 22:35:00.050110: --------------- PredBat - update at 2026-08-15 22:35:00+01:00 with clock skew 0 minutes, minutes now 1355
2026-08-15 22:35:00.051376: Saved current settings to /config/predbat_config.json
2026-08-15 22:35:00.723798: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.2, latest beta is v8.48.2
2026-08-15 22:35:00.724083: Autoupdate: There is an update pending v8.48.2 PV90 and second pass enabled by default, bug fixes - auto update is off
2026-08-15 22:35:00.758163: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 22:35:00.758479: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 22:35:00.758837: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 22:35:00.759592: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 22:35:00.759860: Predbat mode is set to Control charge & discharge
2026-08-15 22:35:01.102714: Found 21602 load_today datapoints going back 28 days
2026-08-15 22:35:01.102976: Using load_power data to fill gaps in load_today data
2026-08-15 22:35:02.312238: Processing 721 30-minute periods for power integration
2026-08-15 22:35:02.639195: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 22:35:02.639712: Car charging hold False, threshold 6.0kWh
2026-08-15 22:35:02.639798: Current data so far today: load 10.8kWh, import 27.8kWh, export 0.0kWh, PV 0kWh
2026-08-15 22:35:02.657400: Cars: SoC: [8.204]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 22:35:02.658344: Standing charge is set to 49.98p
2026-08-15 22:35:02.732008: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 22:35:02.732281: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 22:35:02.732646: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 715.0 minutes
2026-08-15 22:35:02.733342: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 715.0 minutes
2026-08-15 22:35:02.743598: Loaded 95 datapoints of futurerate analysis
2026-08-15 22:35:03.174831: Predicted future rates: ['08-15 00:00:00 => 28.69 / 20.01', '08-15 01:00:00 => 27.33 / 19.31', '08-15 02:00:00 => 26.31 / 18.8', '08-15 03:00:00 => 25.78 / 18.53', '08-15 04:00:00 => 25.59 / 18.43', '08-15 05:00:00 => 25.75 / 18.51', '08-15 06:00:00 => 25.34 / 18.3', '08-15 07:00:00 => 24.12 / 17.68', '08-15 08:00:00 => 22.82 / 17.01', '08-15 09:00:00 => 21.84 / 16.51', '08-15 10:00:00 => 20.22 / 15.68', '08-15 11:00:00 => 17.8 / 14.45', '08-15 12:00:00 => 16.16 / 13.61', '08-15 13:00:00 => 15.55 / 13.3', '08-15 14:00:00 => 15.14 / 13.09', '08-15 15:00:00 => 15.65 / 13.35', '08-15 16:00:00 => 32.68 / 16.13', '08-15 17:00:00 => 37.81 / 18.75', '08-15 18:00:00 => 42.15 / 20.96', '08-15 19:00:00 => 30.88 / 21.13', '08-15 20:00:00 => 31.43 / 21.41', '08-15 21:00:00 => 31.43 / 21.41', '08-15 22:00:00 => 30.37 / 20.87', '08-15 23:00:00 => 29.16 / 20.25', '08-16 00:00:00 => 28.62 / 19.97', '08-16 01:00:00 => 27.52 / 19.41', '08-16 02:00:00 => 26.55 / 18.92', '08-16 03:00:00 => 26.18 / 18.73', '08-16 04:00:00 => 26.12 / 18.7', '08-16 05:00:00 => 26.02 / 18.65', '08-16 06:00:00 => 25.78 / 18.53', '08-16 07:00:00 => 25.43 / 18.35', '08-16 08:00:00 => 24.63 / 17.94', '08-16 09:00:00 => 24.05 / 17.64', '08-16 10:00:00 => 24.59 / 17.92', '08-16 11:00:00 => 24.5 / 17.87', '08-16 12:00:00 => 23.58 / 17.4', '08-16 13:00:00 => 22.93 / 17.07', '08-16 14:00:00 => 21.8 / 16.49', '08-16 15:00:00 => 21.8 / 16.49', '08-16 16:00:00 => 36.93 / 18.3', '08-16 17:00:00 => 39.92 / 19.83', '08-16 18:00:00 => 43.98 / 21.9', '08-16 19:00:00 => 32.83 / 22.13', '08-16 20:00:00 => 33.62 / 22.53', '08-16 21:00:00 => 33.52 / 22.48']
2026-08-15 22:35:03.228075: Rate min forward looking: now 21.41p at end of forecast 21.41p
2026-08-15 22:35:03.229097: Import rates: min 21.41p, max 45.28p, average 28.71p
2026-08-15 22:35:03.282394: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 22:35:03.282655: Rate thresholds (for charge/export) are import 44.78p (0.0p), export -0.1p (0.0p)
2026-08-15 22:35:03.284155: High export rate found rates in range 99p to -99p
2026-08-15 22:35:03.620091: Low Import rate found rates in range 21.41p to 44.34p
2026-08-15 22:35:03.620241: Car 0 charging is not planned as it is not plugged in
2026-08-15 22:35:03.641009: Battery level now 13.92kWh, -1hr ago 14.24kWh, at midnight 1.66kWh, battery value change in the last hour -5.89p, change today 225.57p, rate_forward 18.39p
2026-08-15 22:35:03.641666: Last hour: net energy 0.0kWh, import 0.0kWh, export 0.0kWh, car 0kWh, load 0.4kWh, net cost 0.0p, import 0.0p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 22:35:03.755363: Today's energy total net 27.8kWh, import 27.8kWh, export 0.0kWh, cost 573.42p, import 523.44p, export 0.0p, carbon 0.0kg
2026-08-15 22:35:03.755662: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 22:35:03.941235: Using weighted-bucket historical load forecast over 14 days
2026-08-15 22:35:04.007925: Today's load divergence 78.01%, in-day adjustment 82.93%, damping 0.95x, yesterday 143.77% today 79.11% blend 5.9%
2026-08-15 22:35:04.008200: Today's predicted so far 13.66kWh with 0.0kWh car/iBoost excluded, 20.86kWh import ignored, and 13.66kWh forecast extra.
2026-08-15 22:35:04.008328: Today's actual load so far 10.94kWh with 0.0kWh car/iBoost excluded, and 20.86kWh import ignored.
2026-08-15 22:35:04.074261: Inverter 0: Type SK Sunsynk
2026-08-15 22:35:04.081054: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 22:35:04.081687: Reserve min: 7%, battery_min: 7%
2026-08-15 22:35:04.089128: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 22:35:04.089817: Inverter 0 SoC: 13.92kW 87%, current charge rate 5000W, current discharge rate 5250W, current battery power 511W, current battery voltage 51.2V, grid power -55W, load power 568W, PV Power 0W
2026-08-15 22:35:04.090252: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 22:35:04.090621: Inverter 0 scheduled charge enable is False
2026-08-15 22:35:04.090844: Inverter 0 charge windows currently []
2026-08-15 22:35:04.091086: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 22:35:04.091466: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 22:35:04.091686: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 22:35:04.091913: Inverter 0 scheduled discharge enable is False
2026-08-15 22:35:04.092329: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 22:35:04.092564: Inverter 0 discharge windows currently []
2026-08-15 22:35:04.092763: Note: Inverter does not support discharge freeze - disabled
2026-08-15 22:35:04.092990: Note: Inverter does not support charge freeze - disabled
2026-08-15 22:35:04.093223: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 22:35:04.213701: ML Predictor: Epoch 18/30: lr=0.00043 huber_loss=0.0063 val_mae=0.0019 kWh val_bias=-0.0004 kWh (-0.7%) combined=0.0012 kWh ema_combined=0.0014 kWh
2026-08-15 22:35:04.252059: Dynamic load last period 0.60kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 22:35:04.252354: Plan was last updated on 2026-08-15 22:25:00+01:00 and is now 10.0 minutes old
2026-08-15 22:35:04.252848: Best charge window [ 16-08 11:30:00 - 16-08 12:30:00 @ 23.46p 31%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 38%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 50%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 100%, 16-08 14:30:00 - 16-08 16:00:00 @ 22.56p 78%, 17-08 12:30:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 17-08 22:30:00 @ 34.7p 100% ]
2026-08-15 22:35:04.253013: Best export window [  ]
2026-08-15 22:35:04.254539: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 22:35:04.259034: Load divergence over 8.0 hours mean 775.11W, min 341.4W, max 2423.4W, std dev 479.52W, divergence 30.93%
2026-08-15 22:35:04.290461: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 22:35:04.290743: LoadML is_calculating True
2026-08-15 22:35:04.291994: Not using thread pool as LoadML is calculating to avoid lockups
2026-08-15 22:35:04.357642: predict base end_record 08-17 12:40:00, final soc 1.12kWh, metric 1058.39p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 16:55:00, load 35.81kWh, PV 0.0kWh
2026-08-15 22:35:04.607385: Battery has 18.33 hours left - now at 13.92kWh
2026-08-15 22:35:04.704168: predict base10 end_record 08-17 12:40:00, final soc 1.12kWh, metric 1096.38p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 15:50:00, load 37.0kWh, PV 0.0kWh
2026-08-15 22:35:04.844225: predict best10 end_record 08-17 12:40:00, final soc 1.77kWh, metric 1037.98p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 07:10:00, load 37.0kWh, PV 0.0kWh
2026-08-15 22:35:05.053290: predict best end_record 08-17 12:40:00, final soc 1.9kWh, metric 1010.41p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 08:20:00, load 35.81kWh, PV 0.0kWh
2026-08-15 22:35:05.054091: Saving plan best values to HA entities
2026-08-15 22:35:05.464887: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 22:35:05.480040: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0.0
2026-08-15 22:35:05.494005: Best charging limit SoC's [5.0, 6.0, 8.0, 16.0, 12.5, 16.0, 16.0]kWh, export []kWh gives import battery 12.16kWh, house 2.81kWh, export 0.0kWh, metric 1010.41p, metric10 1037.98p
2026-08-15 22:35:05.653250: Marginal costs baseline metric (no standing charge): 910.4401
2026-08-15 22:35:06.026607: Marginal energy costs matrix computed: min=25.59 max=28.32
2026-08-15 22:35:06.248416: Rate array import [{'start': 1355, 'end': 1410, 'rate': 'expensive', 'range': '(29.8p - 30.0p)'}, {'start': 1410, 'end': 2400, 'rate': 'cheap', 'range': '(21.4p - 28.2p)'}, {'start': 2400, 'end': 2430, 'rate': 'expensive', 'range': '(36.8p)'}, {'start': 2430, 'end': 2580, 'rate': 'very expensive', 'range': '(37.5p - 45.3p)'}, {'start': 2580, 'end': 2850, 'rate': 'expensive', 'range': '(30.0p - 35.9p)'}, {'start': 2850, 'end': 3640, 'rate': 'cheap', 'range': '(22.3p - 28.2p)'}] export [{'start': 1355, 'end': 3640, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 22:35:06.252698: - Your estimated bill for today is £5.73 and tomorrow is £2.97
2026-08-15 22:35:06.269671: - Import rates are expensive (29.8p - 30.0p) for the next 55 minutes and then cheap (21.4p - 28.2p) for the next 16 hours.
2026-08-15 22:35:06.269778: - The battery is currently at 87% and is in eco mode for the next 12 hours.
2026-08-15 22:35:06.269804: - For the next 48 hours there will be no solar generation.
2026-08-15 22:35:06.269871: - You will run out of battery in 33 hours.
2026-08-15 22:35:06.269899: - Your next charge slot will be in 12 hours where import rates will be cheap (23.5p).
2026-08-15 22:35:06.269959: 
2026-08-15 22:35:06.336464: Plan calculation took 2.08 seconds
2026-08-15 22:35:06.340368: No high rate period found
2026-08-15 22:35:06.427535: Import threshold used for optimisation was 24.25p
2026-08-15 22:35:06.521143: Low import rate windows [0: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 1: 08-15 23:00:00 - 08-15 23:30:00 @ 30.02, 2: 08-15 23:30:00 - 08-16 00:00:00 @ 27.8, 3: 08-16 00:00:00 - 08-16 00:30:00 @ 28.18, 4: 08-16 00:30:00 - 08-16 01:00:00 @ 27.38, 5: 08-16 01:00:00 - 08-16 01:30:00 @ 26.7, 6: 08-16 01:30:00 - 08-16 02:00:00 @ 26.31, 7: 08-16 02:00:00 - 08-16 02:30:00 @ 25.79, 8: 08-16 02:30:00 - 08-16 03:00:00 @ 25.86, 9: 08-16 03:00:00 - 08-16 03:30:00 @ 26.13, 10: 08-16 03:30:00 - 08-16 04:00:00 @ 25.86, 11: 08-16 04:00:00 - 08-16 04:30:00 @ 26.27, 12: 08-16 04:30:00 - 08-16 05:00:00 @ 26.14, 13: 08-16 05:00:00 - 08-16 05:30:00 @ 27.03, 14: 08-16 05:30:00 - 08-16 06:00:00 @ 26.28, 15: 08-16 06:00:00 - 08-16 06:30:00 @ 25.68, 16: 08-16 06:30:00 - 08-16 07:00:00 @ 26.1, 17: 08-16 07:00:00 - 08-16 07:30:00 @ 24.28, 18: 08-16 07:30:00 - 08-16 08:00:00 @ 24.94, 19: 08-16 08:00:00 - 08-16 08:30:00 @ 24.06, 20: 08-16 08:30:00 - 08-16 09:00:00 @ 24.39, 21: 08-16 09:00:00 - 08-16 09:30:00 @ 24.66, 22: 08-16 09:30:00 - 08-16 10:00:00 @ 24.06, 23: 08-16 10:00:00 - 08-16 10:30:00 @ 25.5, 24: 08-16 10:30:00 - 08-16 11:00:00 @ 24.94, 25: 08-16 11:00:00 - 08-16 11:30:00 @ 24.25, 26: 08-16 11:30:00 - 08-16 12:00:00 @ 23.49, 27: 08-16 12:00:00 - 08-16 12:30:00 @ 23.43, 28: 08-16 12:30:00 - 08-16 13:00:00 @ 22.33, 29: 08-16 13:00:00 - 08-16 13:30:00 @ 22.76, 30: 08-16 13:30:00 - 08-16 14:00:00 @ 22.3, 31: 08-16 14:00:00 - 08-16 14:30:00 @ 21.41, 32: 08-16 14:30:00 - 08-16 15:00:00 @ 21.65, 33: 08-16 15:00:00 - 08-16 15:30:00 @ 22.95, 34: 08-16 15:30:00 - 08-16 16:00:00 @ 22.83, 35: 08-16 16:00:00 - 08-16 16:30:00 @ 36.84, 36: 08-16 16:30:00 - 08-16 17:00:00 @ 37.54, 37: 08-16 17:00:00 - 08-16 17:30:00 @ 41.79, 38: 08-16 17:30:00 - 08-16 18:00:00 @ 43.7, 39: 08-16 18:00:00 - 08-16 18:30:00 @ 44.34, 40: 08-16 19:00:00 - 08-16 19:30:00 @ 34.79, 41: 08-16 19:30:00 - 08-16 20:00:00 @ 34.76, 42: 08-16 20:00:00 - 08-16 20:30:00 @ 35.62, 43: 08-16 20:30:00 - 08-16 21:00:00 @ 35.3, 44: 08-16 21:00:00 - 08-16 21:30:00 @ 35.89, 45: 08-16 21:30:00 - 08-16 22:00:00 @ 35.71, 46: 08-16 22:00:00 - 08-16 22:30:00 @ 33.75, 47: 08-16 22:30:00 - 08-16 23:00:00 @ 32.0, 48: 08-16 23:00:00 - 08-16 23:30:00 @ 30.02, 49: 08-16 23:30:00 - 08-17 00:00:00 @ 27.8, 50: 08-17 00:00:00 - 08-17 00:30:00 @ 28.18, 51: 08-17 00:30:00 - 08-17 01:00:00 @ 27.38, 52: 08-17 01:00:00 - 08-17 01:30:00 @ 26.7, 53: 08-17 01:30:00 - 08-17 02:00:00 @ 26.31, 54: 08-17 02:00:00 - 08-17 02:30:00 @ 25.79, 55: 08-17 02:30:00 - 08-17 03:00:00 @ 25.86, 56: 08-17 03:00:00 - 08-17 03:30:00 @ 26.13, 57: 08-17 03:30:00 - 08-17 04:00:00 @ 25.86, 58: 08-17 04:00:00 - 08-17 04:30:00 @ 26.27, 59: 08-17 04:30:00 - 08-17 05:00:00 @ 26.14, 60: 08-17 05:00:00 - 08-17 05:30:00 @ 27.03, 61: 08-17 05:30:00 - 08-17 06:00:00 @ 26.28, 62: 08-17 06:00:00 - 08-17 06:30:00 @ 25.68, 63: 08-17 06:30:00 - 08-17 07:00:00 @ 26.1, 64: 08-17 07:00:00 - 08-17 07:30:00 @ 24.28, 65: 08-17 07:30:00 - 08-17 08:00:00 @ 24.94, 66: 08-17 08:00:00 - 08-17 08:30:00 @ 24.06, 67: 08-17 08:30:00 - 08-17 09:00:00 @ 24.39, 68: 08-17 09:00:00 - 08-17 09:30:00 @ 24.66, 69: 08-17 09:30:00 - 08-17 10:00:00 @ 24.06, 70: 08-17 10:00:00 - 08-17 10:30:00 @ 25.5, 71: 08-17 10:30:00 - 08-17 11:00:00 @ 24.94, 72: 08-17 11:00:00 - 08-17 11:30:00 @ 24.25, 73: 08-17 11:30:00 - 08-17 12:00:00 @ 23.49, 74: 08-17 12:00:00 - 08-17 12:30:00 @ 23.43, 75: 08-17 12:30:00 - 08-17 13:00:00 @ 22.33, 76: 08-17 13:00:00 - 08-17 13:30:00 @ 22.76, 77: 08-17 13:30:00 - 08-17 14:00:00 @ 22.3, 78: 08-17 14:00:00 - 08-17 14:30:00 @ 21.41, 79: 08-17 14:30:00 - 08-17 15:00:00 @ 21.65, 80: 08-17 15:00:00 - 08-17 15:30:00 @ 22.95, 81: 08-17 15:30:00 - 08-17 16:00:00 @ 22.83, 82: 08-17 16:00:00 - 08-17 16:30:00 @ 36.84, 83: 08-17 16:30:00 - 08-17 17:00:00 @ 37.54, 84: 08-17 17:00:00 - 08-17 17:30:00 @ 41.79, 85: 08-17 17:30:00 - 08-17 18:00:00 @ 43.7, 86: 08-17 18:00:00 - 08-17 18:30:00 @ 44.34, 87: 08-17 19:00:00 - 08-17 19:30:00 @ 34.79, 88: 08-17 19:30:00 - 08-17 20:00:00 @ 34.76, 89: 08-17 20:00:00 - 08-17 20:30:00 @ 35.62, 90: 08-17 20:30:00 - 08-17 21:00:00 @ 35.3, 91: 08-17 21:00:00 - 08-17 21:30:00 @ 35.89, 92: 08-17 21:30:00 - 08-17 22:00:00 @ 35.71, 93: 08-17 22:00:00 - 08-17 22:30:00 @ 33.75, 94: 08-17 22:30:00 - 08-17 23:00:00 @ 32.0]
2026-08-15 22:35:06.535175: Inverter 0 Charge window will be: 2026-08-16 11:30:00+01:00 - 2026-08-16 16:00:00+01:00 - current SoC 87%, target 31%
2026-08-15 22:35:06.535360: Inverter 0 disabled charge window while waiting for schedule (now 08-15 22:35:00 target set_window_minutes 30 charge start time 08-16 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 22:35:06.535455: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 22:35:06.535674: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 22:35:06.535764: No export window planned
2026-08-15 22:35:06.535884: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 22:35:06.535926: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 22:35:06.536094: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 22:35:06.536271: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 22:35:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 22:35:06.536330: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 22:35:06.536384: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 22:35:06.536498: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 22:35:06.536551: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 22:35:06.536586: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 22:35:06.536619: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 22:35:06.536652: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 22:35:06.536685: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 22:35:06.536718: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 22:35:06.536790: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 22:35:06.536990: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 22:35:06.537156: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 22:35:06.537299: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 22:35:06.537456: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 22:35:06.537634: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 22:35:06.537776: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 22:35:06.537902: Inverter 0 count register writes 0
2026-08-15 22:35:06.562412: Will recompute the plan as it is now 10.0 minutes old and will exceed the max age of 10 minutes before the next run
2026-08-15 22:35:06.562852: Recompute is saving previous plan...
2026-08-15 22:35:06.566203: Best charge window [ 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 30.02p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 27.8p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.18p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.38p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 26.7p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.31p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.79p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 25.86p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.13p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 25.86p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.27p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.14p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 27.03p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.28p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.68p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 26.1p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 24.28p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 24.94p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.06p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.39p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.66p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.06p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 25.5p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 24.94p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 24.25p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 23.49p 0%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.43p 0%, 16-08 12:30:00 - 16-08 13:00:00 @ 22.33p 0%, 16-08 13:00:00 - 16-08 13:30:00 @ 22.76p 0%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 0%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 0%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.65p 0%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.95p 0%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.83p 0%, 16-08 16:00:00 - 16-08 16:30:00 @ 36.84p 0%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.54p 0%, 16-08 17:00:00 - 16-08 17:30:00 @ 41.79p 0%, 16-08 17:30:00 - 16-08 18:00:00 @ 43.7p 0%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.34p 0%, 16-08 19:00:00 - 16-08 19:30:00 @ 34.79p 0%, 16-08 19:30:00 - 16-08 20:00:00 @ 34.76p 0%, 16-08 20:00:00 - 16-08 20:30:00 @ 35.62p 0%, 16-08 20:30:00 - 16-08 21:00:00 @ 35.3p 0%, 16-08 21:00:00 - 16-08 21:30:00 @ 35.89p 0%, 16-08 21:30:00 - 16-08 22:00:00 @ 35.71p 0%, 16-08 22:00:00 - 16-08 22:30:00 @ 33.75p 0%, 16-08 22:30:00 - 16-08 23:00:00 @ 32.0p 0%, 16-08 23:00:00 - 16-08 23:30:00 @ 30.02p 0%, 16-08 23:30:00 - 17-08 00:00:00 @ 27.8p 0%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.18p 0%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.38p 0%, 17-08 01:00:00 - 17-08 01:30:00 @ 26.7p 0%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.31p 0%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.79p 0%, 17-08 02:30:00 - 17-08 03:00:00 @ 25.86p 0%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.13p 0%, 17-08 03:30:00 - 17-08 04:00:00 @ 25.86p 0%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.27p 0%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.14p 0%, 17-08 05:00:00 - 17-08 05:30:00 @ 27.03p 0%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.28p 0%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.68p 0%, 17-08 06:30:00 - 17-08 07:00:00 @ 26.1p 0%, 17-08 07:00:00 - 17-08 07:30:00 @ 24.28p 0%, 17-08 07:30:00 - 17-08 08:00:00 @ 24.94p 0%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.06p 0%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.39p 0%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.66p 0%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.06p 0%, 17-08 10:00:00 - 17-08 10:30:00 @ 25.5p 0%, 17-08 10:30:00 - 17-08 11:00:00 @ 24.94p 0%, 17-08 11:00:00 - 17-08 11:30:00 @ 24.25p 0%, 17-08 11:30:00 - 17-08 12:00:00 @ 23.49p 0%, 17-08 12:00:00 - 17-08 12:30:00 @ 23.43p 0%, 17-08 12:30:00 - 17-08 13:00:00 @ 22.33p 0%, 17-08 13:00:00 - 17-08 13:30:00 @ 22.76p 0%, 17-08 13:30:00 - 17-08 14:00:00 @ 22.3p 0%, 17-08 14:00:00 - 17-08 14:30:00 @ 21.41p 0%, 17-08 14:30:00 - 17-08 15:00:00 @ 21.65p 0%, 17-08 15:00:00 - 17-08 15:30:00 @ 22.95p 0%, 17-08 15:30:00 - 17-08 16:00:00 @ 22.83p 0%, 17-08 16:00:00 - 17-08 16:30:00 @ 36.84p 0%, 17-08 16:30:00 - 17-08 17:00:00 @ 37.54p 0%, 17-08 17:00:00 - 17-08 17:30:00 @ 41.79p 0%, 17-08 17:30:00 - 17-08 18:00:00 @ 43.7p 0%, 17-08 18:00:00 - 17-08 18:30:00 @ 44.34p 0%, 17-08 19:00:00 - 17-08 19:30:00 @ 34.79p 0%, 17-08 19:30:00 - 17-08 20:00:00 @ 34.76p 0%, 17-08 20:00:00 - 17-08 20:30:00 @ 35.62p 0%, 17-08 20:30:00 - 17-08 21:00:00 @ 35.3p 0%, 17-08 21:00:00 - 17-08 21:30:00 @ 35.89p 0%, 17-08 21:30:00 - 17-08 22:00:00 @ 35.71p 0%, 17-08 22:00:00 - 17-08 22:30:00 @ 33.75p 0%, 17-08 22:30:00 - 17-08 23:00:00 @ 32.0p 0% ]
2026-08-15 22:35:06.566387: Best export window [  ]
2026-08-15 22:35:06.567398: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 22:35:06.570823: Load divergence over 8.0 hours mean 775.11W, min 341.4W, max 2423.4W, std dev 479.52W, divergence 30.93%
2026-08-15 22:35:06.588703: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 22:35:06.588928: LoadML is_calculating True
2026-08-15 22:35:06.589073: Not using thread pool as LoadML is calculating to avoid lockups
2026-08-15 22:35:06.597987: Calculate Best options: mode(Control charge & discharge), calculate_export_oncharge(False), calculate_export_on_pv(True), set_export_freeze_only(False), set_discharge_during_charge(True), combine_charge_slots(False), combine_export_slots(False), combine_rate_threshold(0.0), best_soc_min(0.0 kWh), best_soc_max(0.0 kWh), best_soc_keep(0.0 kWh), inverter_loss(4%), battery_loss(3%), battery_loss_discharge (3%), inverter_hybrid(True), metric_min_improvement(0.0p), metric_min_improvement_export(0.1p), metric_min_improvement_export_freeze(0.1p), metric_battery_cycle(0.0p/kWh), metric_battery_value_scaling(1.0 x) 
2026-08-15 22:35:06.599160: Optimise levels pass started at 2026-08-15 22:35:06
2026-08-15 22:35:06.599295: Optimise all windows, total charge 94 export 1
2026-08-15 22:35:15.743480: >> Region optimisation pass width 960 gives best_metric 1036.55p, best_cost 1049.89p, best_cycle 39.32kWh, best_import 21.26kWh
2026-08-15 22:35:20.768464: >> Region optimisation pass width 480 gives best_metric 1036.91p, best_cost 1050.26p, best_cycle 39.33kWh, best_import 21.26kWh
2026-08-15 22:35:21.970245: >> Region optimisation pass width 240 gives best_metric 1036.91p, best_cost 1050.26p, best_cycle 39.33kWh, best_import 21.26kWh
2026-08-15 22:35:25.427220: >> Region optimisation pass width 120 gives best_metric 1036.91p, best_cost 1050.26p, best_cycle 39.33kWh, best_import 21.26kWh
2026-08-15 22:35:25.427698: Calculated end_record as 08-17 12:30:00 based on best_price 22.33p, next_charge_start 08-16 12:30:00, max_windows 75
2026-08-15 22:35:25.427852: Optimise levels pass ended at 2026-08-15 22:35:25, duration 18.8 seconds tried 341 combinations
2026-08-15 22:35:25.427988: Set best_price_charge_level 24.0p, best_price_export_level 0p, best_price_charge 22.33p, best_cost_export 0p, best_metric 1036.91p, best_keep 0kWh, best_cycle 39.33kWh, best_carbon 0kg, best_import 21.26kWh
2026-08-15 22:35:25.452741: Starting detailed optimisation end_record 08-17 12:30:00, best_price_charge 22.33p, best_price_export 0p. lowest_price_charge 21.41p with charge limits [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12.5, 0, 12.5, 12.5, 12.5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0]kWh and export limits []kWh
2026-08-15 22:35:58.341981: Tweak plan optimisation started metric 872.66p, cost 888.76p
2026-08-15 22:36:00.933442: Tweak optimisation finished metric 872.66p, cost 888.76p, metric_keep 0kWh, cycle 27.02kWh, carbon 0kg, import 14.0kWh, changed 8 window(s)
2026-08-15 22:36:01.011070: Swap charge optimisation started metric 872.66p, cost 888.76p, min_improvement_swap 0.1p
2026-08-15 22:36:07.990654: ML Predictor: Epoch 19/30: lr=0.00038 huber_loss=0.0062 val_mae=0.0018 kWh val_bias=-0.0003 kWh (-0.7%) combined=0.0011 kWh ema_combined=0.0013 kWh
2026-08-15 22:36:14.907184: Swap charge optimisation finished metric 872.66p, cost 888.76p
2026-08-15 22:36:15.100446: Pruned 1 dead plan slot(s) in 11 trial(s), nominal metric 868.16p -> 868.16p, plan now metric 872.72p, cost 888.76p, cycle 27.02kWh, import 14.0kWh
2026-08-15 22:36:15.111599: Raw charge windows [ 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 30.02p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 27.8p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.18p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.38p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 26.7p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.31p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.79p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 25.86p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.13p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 25.86p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.27p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.14p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 27.03p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.28p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.68p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 26.1p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 24.28p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 24.94p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.06p 44%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.39p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.66p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.06p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 25.5p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 24.94p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 24.25p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 23.49p 31%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.43p 31%, 16-08 12:30:00 - 16-08 13:00:00 @ 22.33p 34%, 16-08 13:00:00 - 16-08 13:30:00 @ 22.76p 34%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 100%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 78%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.65p 78%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.95p 78%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.83p 78%, 16-08 16:00:00 - 16-08 16:30:00 @ 36.84p 0%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.54p 0%, 16-08 17:00:00 - 16-08 17:30:00 @ 41.79p 0%, 16-08 17:30:00 - 16-08 18:00:00 @ 43.7p 0%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.34p 0%, 16-08 19:00:00 - 16-08 19:30:00 @ 34.79p 0%, 16-08 19:30:00 - 16-08 20:00:00 @ 34.76p 0%, 16-08 20:00:00 - 16-08 20:30:00 @ 35.62p 0%, 16-08 20:30:00 - 16-08 21:00:00 @ 35.3p 0%, 16-08 21:00:00 - 16-08 21:30:00 @ 35.89p 0%, 16-08 21:30:00 - 16-08 22:00:00 @ 35.71p 0%, 16-08 22:00:00 - 16-08 22:30:00 @ 33.75p 0%, 16-08 22:30:00 - 16-08 23:00:00 @ 32.0p 0%, 16-08 23:00:00 - 16-08 23:30:00 @ 30.02p 0%, 16-08 23:30:00 - 17-08 00:00:00 @ 27.8p 0%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.18p 0%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.38p 0%, 17-08 01:00:00 - 17-08 01:30:00 @ 26.7p 0%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.31p 0%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.79p 0%, 17-08 02:30:00 - 17-08 03:00:00 @ 25.86p 0%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.13p 0%, 17-08 03:30:00 - 17-08 04:00:00 @ 25.86p 0%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.27p 0%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.14p 0%, 17-08 05:00:00 - 17-08 05:30:00 @ 27.03p 0%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.28p 0%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.68p 0%, 17-08 06:30:00 - 17-08 07:00:00 @ 26.1p 0%, 17-08 07:00:00 - 17-08 07:30:00 @ 24.28p 0%, 17-08 07:30:00 - 17-08 08:00:00 @ 24.94p 0%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.06p 0%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.39p 0%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.66p 0%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.06p 0%, 17-08 10:00:00 - 17-08 10:30:00 @ 25.5p 0%, 17-08 10:30:00 - 17-08 11:00:00 @ 24.94p 0%, 17-08 11:00:00 - 17-08 11:30:00 @ 24.25p 0%, 17-08 11:30:00 - 17-08 12:00:00 @ 23.49p 0%, 17-08 12:00:00 - 17-08 12:30:00 @ 23.43p 0%, 17-08 12:30:00 - 17-08 13:00:00 @ 22.33p 100%, 17-08 13:00:00 - 17-08 13:30:00 @ 22.76p 100%, 17-08 13:30:00 - 17-08 14:00:00 @ 22.3p 100%, 17-08 14:00:00 - 17-08 14:30:00 @ 21.41p 100%, 17-08 14:30:00 - 17-08 15:00:00 @ 21.65p 100%, 17-08 15:00:00 - 17-08 15:30:00 @ 22.95p 100%, 17-08 15:30:00 - 17-08 16:00:00 @ 22.83p 100%, 17-08 16:00:00 - 17-08 16:30:00 @ 36.84p 100%, 17-08 16:30:00 - 17-08 17:00:00 @ 37.54p 100%, 17-08 17:00:00 - 17-08 17:30:00 @ 41.79p 100%, 17-08 17:30:00 - 17-08 18:00:00 @ 43.7p 100%, 17-08 18:00:00 - 17-08 18:30:00 @ 44.34p 100%, 17-08 19:00:00 - 17-08 19:30:00 @ 34.79p 100%, 17-08 19:30:00 - 17-08 20:00:00 @ 34.76p 100%, 17-08 20:00:00 - 17-08 20:30:00 @ 35.62p 100%, 17-08 20:30:00 - 17-08 21:00:00 @ 35.3p 100%, 17-08 21:00:00 - 17-08 21:30:00 @ 35.89p 100%, 17-08 21:30:00 - 17-08 22:00:00 @ 35.71p 100%, 17-08 22:00:00 - 17-08 22:30:00 @ 33.75p 100%, 17-08 22:30:00 - 17-08 23:00:00 @ 32.0p 100% ] reserve 1.12
2026-08-15 22:36:15.112205: Unclipped charge windows [ 16-08 08:00:00 - 16-08 08:30:00 @ 24.06p 44%, 16-08 11:30:00 - 16-08 12:30:00 @ 23.46p 31%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 34%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 100%, 16-08 14:00:00 - 16-08 16:00:00 @ 22.53p 78%, 17-08 12:30:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 17-08 23:00:00 @ 33.35p 100% ] reserve 1.12
2026-08-15 22:36:15.112631: Unfiltered charge windows [ 16-08 08:00:00 - 16-08 08:30:00 @ 24.06p 44%, 16-08 11:30:00 - 16-08 12:30:00 @ 23.46p 31%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 34%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 100%, 16-08 14:00:00 - 16-08 16:00:00 @ 22.53p 78%, 17-08 12:30:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 17-08 23:00:00 @ 33.35p 100% ] reserve 1.12
2026-08-15 22:36:15.112868: Filtered charge windows [ 16-08 08:00:00 - 16-08 08:30:00 @ 24.06p 44%, 16-08 11:30:00 - 16-08 12:30:00 @ 23.46p 31%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 34%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 100%, 16-08 14:00:00 - 16-08 16:00:00 @ 22.53p 78%, 17-08 12:30:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 17-08 23:00:00 @ 33.35p 100% ] reserve 1.12
2026-08-15 22:36:15.146613: Previous plan best metric is 872.76 (cost 888.95) and new plan best metric is 872.66 (cost 888.76)
2026-08-15 22:36:15.148700: New plan metric is not significantly better (metric_min_improvement_plan 2.0) than previous plan, using previous plan
2026-08-15 22:36:15.149007: Plan valid is now true after recompute was False
2026-08-15 22:36:15.188224: predict base end_record 08-17 12:30:00, final soc 1.12kWh, metric 1055.5p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 16:55:00, load 35.68kWh, PV 0.0kWh
2026-08-15 22:36:15.523174: Battery has 18.33 hours left - now at 13.92kWh
2026-08-15 22:36:15.617184: predict base10 end_record 08-17 12:30:00, final soc 1.12kWh, metric 1093.36p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 15:50:00, load 36.87kWh, PV 0.0kWh
2026-08-15 22:36:15.781582: predict best10 end_record 08-17 12:30:00, final soc 1.12kWh, metric 1019.45p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 07:10:00, load 36.87kWh, PV 0.0kWh
2026-08-15 22:36:15.978868: predict best end_record 08-17 12:30:00, final soc 1.12kWh, metric 988.91p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 08:20:00, load 35.68kWh, PV 0.0kWh
2026-08-15 22:36:15.983786: Saving plan best values to HA entities
2026-08-15 22:36:16.239424: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 22:36:16.247629: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0.0
2026-08-15 22:36:16.259492: Best charging limit SoC's [5.0, 6.0, 8.0, 16.0, 12.5, 16.0, 16.0]kWh, export []kWh gives import battery 11.2kWh, house 2.81kWh, export 0.0kWh, metric 988.91p, metric10 1019.45p
2026-08-15 22:36:16.387096: Marginal costs baseline metric (no standing charge): 888.9456
2026-08-15 22:36:16.870739: Marginal energy costs matrix computed: min=25.59 max=28.32
2026-08-15 22:36:17.092582: Rate array import [{'start': 1355, 'end': 1410, 'rate': 'expensive', 'range': '(29.8p - 30.0p)'}, {'start': 1410, 'end': 2400, 'rate': 'cheap', 'range': '(21.4p - 28.2p)'}, {'start': 2400, 'end': 2430, 'rate': 'expensive', 'range': '(36.8p)'}, {'start': 2430, 'end': 2580, 'rate': 'very expensive', 'range': '(37.5p - 45.3p)'}, {'start': 2580, 'end': 2850, 'rate': 'expensive', 'range': '(30.0p - 35.9p)'}, {'start': 2850, 'end': 3630, 'rate': 'cheap', 'range': '(23.4p - 28.2p)'}] export [{'start': 1355, 'end': 3630, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 22:36:17.094088: - Your estimated bill for today is £5.73 and tomorrow is £2.97
2026-08-15 22:36:17.094156: - Import rates are expensive (29.8p - 30.0p) for the next 55 minutes and then cheap (21.4p - 28.2p) for the next 16 hours.
2026-08-15 22:36:17.094182: - The battery is currently at 87% and is in eco mode for the next 12 hours.
2026-08-15 22:36:17.094200: - For the next 48 hours there will be no solar generation.
2026-08-15 22:36:17.094266: - You will run out of battery in 33 hours.
2026-08-15 22:36:17.094290: - Your next charge slot will be in 12 hours where import rates will be cheap (23.5p).
2026-08-15 22:36:17.094395: 
2026-08-15 22:36:17.152520: Plan calculation took 70.59 seconds
2026-08-15 22:36:17.152843: Inverter 0: Type SK Sunsynk
2026-08-15 22:36:17.153028: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 22:36:17.153246: Reserve min: 7%, battery_min: 7%
2026-08-15 22:36:17.153517: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 22:36:17.153812: Inverter 0 SoC: 13.92kW 87%, current charge rate 5000W, current discharge rate 5250W, current battery power 495W, current battery voltage 51.2V, grid power -55W, load power 551W, PV Power 0W
2026-08-15 22:36:17.154061: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 22:36:17.154223: Inverter 0 scheduled charge enable is False
2026-08-15 22:36:17.154305: Inverter 0 charge windows currently []
2026-08-15 22:36:17.154338: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 22:36:17.154457: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 22:36:17.154573: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 22:36:17.154619: Inverter 0 scheduled discharge enable is False
2026-08-15 22:36:17.154757: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 22:36:17.154884: Inverter 0 discharge windows currently []
2026-08-15 22:36:17.154924: Note: Inverter does not support discharge freeze - disabled
2026-08-15 22:36:17.154943: Note: Inverter does not support charge freeze - disabled
2026-08-15 22:36:17.154973: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 22:36:17.262994: Inverter 0 Charge window will be: 2026-08-16 11:30:00+01:00 - 2026-08-16 16:00:00+01:00 - current SoC 87%, target 31%
2026-08-15 22:36:17.263186: Inverter 0 disabled charge window while waiting for schedule (now 08-15 22:35:00 target set_window_minutes 30 charge start time 08-16 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 22:36:17.263272: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 22:36:17.263528: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 22:36:17.263626: No export window planned
2026-08-15 22:36:17.263758: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 22:36:17.263803: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 22:36:17.263975: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 22:36:17.264158: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 22:35:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 22:36:17.264244: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 22:36:17.264306: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 22:36:17.264536: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 22:36:17.264605: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 22:36:17.264642: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 22:36:17.264687: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 22:36:17.264724: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 22:36:17.264759: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 22:36:17.264802: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 22:36:17.264881: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 22:36:17.264929: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 22:36:17.265000: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 22:36:17.265041: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 22:36:17.265086: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 22:36:17.265120: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 22:36:17.265154: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 22:36:17.265192: Inverter 0 count register writes 0
2026-08-15 22:36:17.341943: Total inverter register writes now 826
2026-08-15 22:36:17.435159: Info: Completed run status Demand
2026-08-15 22:36:17.454010: Info: record_status Demand
2026-08-15 22:36:17.463810: Saved current settings to /config/predbat_config.json
2026-08-15 22:36:17.464102: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 22:36:46.236253: ML Predictor: Epoch 20/30: lr=0.00034 huber_loss=0.0055 val_mae=0.0018 kWh val_bias=-0.0003 kWh (-0.5%) combined=0.0012 kWh ema_combined=0.0013 kWh
2026-08-15 22:36:56.698656: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 22:36:56.698977: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 22:36:56.699036: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 22:36:56.699239: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 22:36:56.699293: Note: Inverter does not support discharge freeze - disabled
2026-08-15 22:36:56.700148: Note: Inverter does not support charge freeze - disabled
2026-08-15 22:36:56.700203: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 22:37:16.794125: ML Predictor: Epoch 21/30: lr=0.00030 huber_loss=0.0056 val_mae=0.0019 kWh val_bias=+0.0006 kWh (+1.1%) combined=0.0017 kWh ema_combined=0.0014 kWh
2026-08-15 22:37:48.332132: ML Predictor: Epoch 22/30: lr=0.00026 huber_loss=0.0060 val_mae=0.0017 kWh val_bias=-0.0005 kWh (-1.1%) combined=0.0013 kWh ema_combined=0.0014 kWh
2026-08-15 22:38:23.083600: ML Predictor: Epoch 23/30: lr=0.00022 huber_loss=0.0058 val_mae=0.0016 kWh val_bias=-0.0000 kWh (-0.1%) combined=0.0008 kWh ema_combined=0.0012 kWh
2026-08-15 22:38:55.411769: ML Predictor: Epoch 24/30: lr=0.00019 huber_loss=0.0056 val_mae=0.0016 kWh val_bias=+0.0001 kWh (+0.2%) combined=0.0010 kWh ema_combined=0.0011 kWh
2026-08-15 22:39:11.628643: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 22:39:11.629040: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 22:39:11.629114: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 22:39:11.629312: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 22:39:11.629367: Note: Inverter does not support discharge freeze - disabled
2026-08-15 22:39:11.629396: Note: Inverter does not support charge freeze - disabled
2026-08-15 22:39:11.629522: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 22:39:26.124410: ML Predictor: Epoch 25/30: lr=0.00016 huber_loss=0.0052 val_mae=0.0016 kWh val_bias=-0.0004 kWh (-0.7%) combined=0.0010 kWh ema_combined=0.0011 kWh
2026-08-15 22:39:58.048051: ML Predictor: Epoch 26/30: lr=0.00014 huber_loss=0.0050 val_mae=0.0017 kWh val_bias=+0.0001 kWh (+0.3%) combined=0.0012 kWh ema_combined=0.0011 kWh
2026-08-15 22:40:00.945377: --------------- PredBat - update at 2026-08-15 22:40:00+01:00 with clock skew 0 minutes, minutes now 1360
2026-08-15 22:40:00.946720: Saved current settings to /config/predbat_config.json
2026-08-15 22:40:00.946911: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 5.0 minutes
2026-08-15 22:40:00.946998: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.2, latest beta is v8.48.2
2026-08-15 22:40:00.947095: Autoupdate: There is an update pending v8.48.2 PV90 and second pass enabled by default, bug fixes - auto update is off
2026-08-15 22:40:00.986042: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 22:40:00.986188: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 22:40:00.986577: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 22:40:00.987140: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 22:40:00.987262: Predbat mode is set to Control charge & discharge
2026-08-15 22:40:01.371184: Found 21602 load_today datapoints going back 28 days
2026-08-15 22:40:01.371403: Using load_power data to fill gaps in load_today data
2026-08-15 22:40:02.738816: Processing 721 30-minute periods for power integration
2026-08-15 22:40:03.057727: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 22:40:03.058015: Car charging hold False, threshold 6.0kWh
2026-08-15 22:40:03.058141: Current data so far today: load 10.85kWh, import 27.8kWh, export 0.0kWh, PV 0kWh
2026-08-15 22:40:03.083901: Cars: SoC: [8.204]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 22:40:03.090996: Standing charge is set to 49.98p
2026-08-15 22:40:03.193825: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 22:40:03.194148: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 22:40:03.194559: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 720.0 minutes
2026-08-15 22:40:03.195436: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 720.0 minutes
2026-08-15 22:40:03.207692: Loaded 95 datapoints of futurerate analysis
2026-08-15 22:40:03.530340: Predicted future rates: ['08-15 00:00:00 => 28.69 / 20.01', '08-15 01:00:00 => 27.33 / 19.31', '08-15 02:00:00 => 26.31 / 18.8', '08-15 03:00:00 => 25.78 / 18.53', '08-15 04:00:00 => 25.59 / 18.43', '08-15 05:00:00 => 25.75 / 18.51', '08-15 06:00:00 => 25.34 / 18.3', '08-15 07:00:00 => 24.12 / 17.68', '08-15 08:00:00 => 22.82 / 17.01', '08-15 09:00:00 => 21.84 / 16.51', '08-15 10:00:00 => 20.22 / 15.68', '08-15 11:00:00 => 17.8 / 14.45', '08-15 12:00:00 => 16.16 / 13.61', '08-15 13:00:00 => 15.55 / 13.3', '08-15 14:00:00 => 15.14 / 13.09', '08-15 15:00:00 => 15.65 / 13.35', '08-15 16:00:00 => 32.68 / 16.13', '08-15 17:00:00 => 37.81 / 18.75', '08-15 18:00:00 => 42.15 / 20.96', '08-15 19:00:00 => 30.88 / 21.13', '08-15 20:00:00 => 31.43 / 21.41', '08-15 21:00:00 => 31.43 / 21.41', '08-15 22:00:00 => 30.37 / 20.87', '08-15 23:00:00 => 29.16 / 20.25', '08-16 00:00:00 => 28.62 / 19.97', '08-16 01:00:00 => 27.52 / 19.41', '08-16 02:00:00 => 26.55 / 18.92', '08-16 03:00:00 => 26.18 / 18.73', '08-16 04:00:00 => 26.12 / 18.7', '08-16 05:00:00 => 26.02 / 18.65', '08-16 06:00:00 => 25.78 / 18.53', '08-16 07:00:00 => 25.43 / 18.35', '08-16 08:00:00 => 24.63 / 17.94', '08-16 09:00:00 => 24.05 / 17.64', '08-16 10:00:00 => 24.59 / 17.92', '08-16 11:00:00 => 24.5 / 17.87', '08-16 12:00:00 => 23.58 / 17.4', '08-16 13:00:00 => 22.93 / 17.07', '08-16 14:00:00 => 21.8 / 16.49', '08-16 15:00:00 => 21.8 / 16.49', '08-16 16:00:00 => 36.93 / 18.3', '08-16 17:00:00 => 39.92 / 19.83', '08-16 18:00:00 => 43.98 / 21.9', '08-16 19:00:00 => 32.83 / 22.13', '08-16 20:00:00 => 33.62 / 22.53', '08-16 21:00:00 => 33.52 / 22.48']
2026-08-15 22:40:03.573057: Rate min forward looking: now 21.41p at end of forecast 21.41p
2026-08-15 22:40:03.573791: Import rates: min 21.41p, max 45.28p, average 28.72p
2026-08-15 22:40:03.612344: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 22:40:03.612507: Rate thresholds (for charge/export) are import 44.78p (0.0p), export -0.1p (0.0p)
2026-08-15 22:40:03.613687: High export rate found rates in range 99p to -99p
2026-08-15 22:40:03.776763: Low Import rate found rates in range 21.41p to 44.34p
2026-08-15 22:40:03.777100: Car 0 charging is not planned as it is not plugged in
2026-08-15 22:40:03.812553: Battery level now 13.92kWh, -1hr ago 14.24kWh, at midnight 1.66kWh, battery value change in the last hour -5.89p, change today 225.57p, rate_forward 18.39p
2026-08-15 22:40:03.813454: Last hour: net energy 0.0kWh, import 0.0kWh, export 0.0kWh, car 0kWh, load 0.42kWh, net cost 0.0p, import 0.0p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 22:40:03.972588: Today's energy total net 27.8kWh, import 27.8kWh, export 0.0kWh, cost 573.42p, import 523.44p, export 0.0p, carbon 0.0kg
2026-08-15 22:40:03.972804: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 22:40:04.176148: Using weighted-bucket historical load forecast over 14 days
2026-08-15 22:40:04.204064: Today's load divergence 77.28%, in-day adjustment 82.04%, damping 0.95x, yesterday 143.77% today 78.41% blend 5.56%
2026-08-15 22:40:04.204276: Today's predicted so far 13.69kWh with 0.0kWh car/iBoost excluded, 20.92kWh import ignored, and 13.69kWh forecast extra.
2026-08-15 22:40:04.204331: Today's actual load so far 10.9kWh with 0.0kWh car/iBoost excluded, and 20.92kWh import ignored.
2026-08-15 22:40:04.245741: Inverter 0: Type SK Sunsynk
2026-08-15 22:40:04.245851: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 22:40:04.246039: Reserve min: 7%, battery_min: 7%
2026-08-15 22:40:04.246136: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 22:40:04.246450: Inverter 0 SoC: 13.86kW 87%, current charge rate 5000W, current discharge rate 5250W, current battery power 1440W, current battery voltage 51.2V, grid power -54W, load power 1498W, PV Power 0W
2026-08-15 22:40:04.246618: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 22:40:04.246713: Inverter 0 scheduled charge enable is False
2026-08-15 22:40:04.246751: Inverter 0 charge windows currently []
2026-08-15 22:40:04.246794: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 22:40:04.246917: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 22:40:04.246956: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 22:40:04.246993: Inverter 0 scheduled discharge enable is False
2026-08-15 22:40:04.247137: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 22:40:04.247199: Inverter 0 discharge windows currently []
2026-08-15 22:40:04.247225: Note: Inverter does not support discharge freeze - disabled
2026-08-15 22:40:04.247244: Note: Inverter does not support charge freeze - disabled
2026-08-15 22:40:04.247270: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 22:40:04.340360: Dynamic load last period 0.60kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 22:40:04.340479: Plan was last updated on 2026-08-15 22:35:00+01:00 and is now 5.0 minutes old
2026-08-15 22:40:04.340812: Best charge window [ 16-08 11:30:00 - 16-08 12:30:00 @ 23.46p 31%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 38%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 50%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 100%, 16-08 14:30:00 - 16-08 16:00:00 @ 22.56p 78%, 17-08 12:30:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 17-08 22:30:00 @ 34.7p 100% ]
2026-08-15 22:40:04.340861: Best export window [  ]
2026-08-15 22:40:04.341710: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 22:40:04.345042: Load divergence over 8.0 hours mean 775.2W, min 342.6W, max 2447.4W, std dev 459.06W, divergence 29.61%
2026-08-15 22:40:04.379418: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 22:40:04.379722: LoadML is_calculating True
2026-08-15 22:40:04.379880: Not using thread pool as LoadML is calculating to avoid lockups
2026-08-15 22:40:04.465154: predict base end_record 08-17 12:35:00, final soc 1.12kWh, metric 1056.73p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 17:00:00, load 35.73kWh, PV 0.0kWh
2026-08-15 22:40:04.732862: Battery has 18.33 hours left - now at 13.86kWh
2026-08-15 22:40:04.798529: predict base10 end_record 08-17 12:35:00, final soc 1.12kWh, metric 1094.95p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 15:50:00, load 36.92kWh, PV 0.0kWh
2026-08-15 22:40:05.051529: predict best10 end_record 08-17 12:35:00, final soc 1.44kWh, metric 1028.6p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 07:05:00, load 36.92kWh, PV 0.0kWh
2026-08-15 22:40:05.251688: predict best end_record 08-17 12:35:00, final soc 1.51kWh, metric 999.6p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 08:20:00, load 35.73kWh, PV 0.0kWh
2026-08-15 22:40:05.252707: Saving plan best values to HA entities
2026-08-15 22:40:05.681870: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 22:40:05.692854: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 22:40:05.704394: Best charging limit SoC's [5.0, 6.0, 8.0, 16.0, 12.5, 16.0, 16.0]kWh, export []kWh gives import battery 11.66kWh, house 2.83kWh, export 0.0kWh, metric 999.6p, metric10 1028.6p
2026-08-15 22:40:05.839233: Marginal costs baseline metric (no standing charge): 899.6354
2026-08-15 22:40:06.420649: Marginal energy costs matrix computed: min=25.38 max=28.24
2026-08-15 22:40:06.577151: Rate array import [{'start': 1360, 'end': 1410, 'rate': 'expensive', 'range': '(29.8p - 30.0p)'}, {'start': 1410, 'end': 2400, 'rate': 'cheap', 'range': '(21.4p - 28.2p)'}, {'start': 2400, 'end': 2430, 'rate': 'expensive', 'range': '(36.8p)'}, {'start': 2430, 'end': 2580, 'rate': 'very expensive', 'range': '(37.5p - 45.3p)'}, {'start': 2580, 'end': 2850, 'rate': 'expensive', 'range': '(30.0p - 35.9p)'}, {'start': 2850, 'end': 3635, 'rate': 'cheap', 'range': '(22.3p - 28.2p)'}] export [{'start': 1360, 'end': 3635, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 22:40:06.578298: - Your estimated bill for today is £5.73 and tomorrow is £2.97
2026-08-15 22:40:06.578361: - Import rates are expensive (29.8p - 30.0p) for the next 50 minutes and then cheap (21.4p - 28.2p) for the next 16 hours.
2026-08-15 22:40:06.578390: - The battery is currently at 87% and is in eco mode for the next 12 hours.
2026-08-15 22:40:06.578515: - For the next 48 hours there will be no solar generation.
2026-08-15 22:40:06.578568: - You will run out of battery in 33 hours.
2026-08-15 22:40:06.578635: - Your next charge slot will be in 12 hours where import rates will be cheap (23.5p).
2026-08-15 22:40:06.578681: 
2026-08-15 22:40:06.646494: Plan calculation took 2.31 seconds
2026-08-15 22:40:06.652116: No high rate period found
2026-08-15 22:40:06.743891: Import threshold used for optimisation was 24.25p
2026-08-15 22:40:06.875839: Low import rate windows [0: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 1: 08-15 23:00:00 - 08-15 23:30:00 @ 30.02, 2: 08-15 23:30:00 - 08-16 00:00:00 @ 27.8, 3: 08-16 00:00:00 - 08-16 00:30:00 @ 28.18, 4: 08-16 00:30:00 - 08-16 01:00:00 @ 27.38, 5: 08-16 01:00:00 - 08-16 01:30:00 @ 26.7, 6: 08-16 01:30:00 - 08-16 02:00:00 @ 26.31, 7: 08-16 02:00:00 - 08-16 02:30:00 @ 25.79, 8: 08-16 02:30:00 - 08-16 03:00:00 @ 25.86, 9: 08-16 03:00:00 - 08-16 03:30:00 @ 26.13, 10: 08-16 03:30:00 - 08-16 04:00:00 @ 25.86, 11: 08-16 04:00:00 - 08-16 04:30:00 @ 26.27, 12: 08-16 04:30:00 - 08-16 05:00:00 @ 26.14, 13: 08-16 05:00:00 - 08-16 05:30:00 @ 27.03, 14: 08-16 05:30:00 - 08-16 06:00:00 @ 26.28, 15: 08-16 06:00:00 - 08-16 06:30:00 @ 25.68, 16: 08-16 06:30:00 - 08-16 07:00:00 @ 26.1, 17: 08-16 07:00:00 - 08-16 07:30:00 @ 24.28, 18: 08-16 07:30:00 - 08-16 08:00:00 @ 24.94, 19: 08-16 08:00:00 - 08-16 08:30:00 @ 24.06, 20: 08-16 08:30:00 - 08-16 09:00:00 @ 24.39, 21: 08-16 09:00:00 - 08-16 09:30:00 @ 24.66, 22: 08-16 09:30:00 - 08-16 10:00:00 @ 24.06, 23: 08-16 10:00:00 - 08-16 10:30:00 @ 25.5, 24: 08-16 10:30:00 - 08-16 11:00:00 @ 24.94, 25: 08-16 11:00:00 - 08-16 11:30:00 @ 24.25, 26: 08-16 11:30:00 - 08-16 12:00:00 @ 23.49, 27: 08-16 12:00:00 - 08-16 12:30:00 @ 23.43, 28: 08-16 12:30:00 - 08-16 13:00:00 @ 22.33, 29: 08-16 13:00:00 - 08-16 13:30:00 @ 22.76, 30: 08-16 13:30:00 - 08-16 14:00:00 @ 22.3, 31: 08-16 14:00:00 - 08-16 14:30:00 @ 21.41, 32: 08-16 14:30:00 - 08-16 15:00:00 @ 21.65, 33: 08-16 15:00:00 - 08-16 15:30:00 @ 22.95, 34: 08-16 15:30:00 - 08-16 16:00:00 @ 22.83, 35: 08-16 16:00:00 - 08-16 16:30:00 @ 36.84, 36: 08-16 16:30:00 - 08-16 17:00:00 @ 37.54, 37: 08-16 17:00:00 - 08-16 17:30:00 @ 41.79, 38: 08-16 17:30:00 - 08-16 18:00:00 @ 43.7, 39: 08-16 18:00:00 - 08-16 18:30:00 @ 44.34, 40: 08-16 19:00:00 - 08-16 19:30:00 @ 34.79, 41: 08-16 19:30:00 - 08-16 20:00:00 @ 34.76, 42: 08-16 20:00:00 - 08-16 20:30:00 @ 35.62, 43: 08-16 20:30:00 - 08-16 21:00:00 @ 35.3, 44: 08-16 21:00:00 - 08-16 21:30:00 @ 35.89, 45: 08-16 21:30:00 - 08-16 22:00:00 @ 35.71, 46: 08-16 22:00:00 - 08-16 22:30:00 @ 33.75, 47: 08-16 22:30:00 - 08-16 23:00:00 @ 32.0, 48: 08-16 23:00:00 - 08-16 23:30:00 @ 30.02, 49: 08-16 23:30:00 - 08-17 00:00:00 @ 27.8, 50: 08-17 00:00:00 - 08-17 00:30:00 @ 28.18, 51: 08-17 00:30:00 - 08-17 01:00:00 @ 27.38, 52: 08-17 01:00:00 - 08-17 01:30:00 @ 26.7, 53: 08-17 01:30:00 - 08-17 02:00:00 @ 26.31, 54: 08-17 02:00:00 - 08-17 02:30:00 @ 25.79, 55: 08-17 02:30:00 - 08-17 03:00:00 @ 25.86, 56: 08-17 03:00:00 - 08-17 03:30:00 @ 26.13, 57: 08-17 03:30:00 - 08-17 04:00:00 @ 25.86, 58: 08-17 04:00:00 - 08-17 04:30:00 @ 26.27, 59: 08-17 04:30:00 - 08-17 05:00:00 @ 26.14, 60: 08-17 05:00:00 - 08-17 05:30:00 @ 27.03, 61: 08-17 05:30:00 - 08-17 06:00:00 @ 26.28, 62: 08-17 06:00:00 - 08-17 06:30:00 @ 25.68, 63: 08-17 06:30:00 - 08-17 07:00:00 @ 26.1, 64: 08-17 07:00:00 - 08-17 07:30:00 @ 24.28, 65: 08-17 07:30:00 - 08-17 08:00:00 @ 24.94, 66: 08-17 08:00:00 - 08-17 08:30:00 @ 24.06, 67: 08-17 08:30:00 - 08-17 09:00:00 @ 24.39, 68: 08-17 09:00:00 - 08-17 09:30:00 @ 24.66, 69: 08-17 09:30:00 - 08-17 10:00:00 @ 24.06, 70: 08-17 10:00:00 - 08-17 10:30:00 @ 25.5, 71: 08-17 10:30:00 - 08-17 11:00:00 @ 24.94, 72: 08-17 11:00:00 - 08-17 11:30:00 @ 24.25, 73: 08-17 11:30:00 - 08-17 12:00:00 @ 23.49, 74: 08-17 12:00:00 - 08-17 12:30:00 @ 23.43, 75: 08-17 12:30:00 - 08-17 13:00:00 @ 22.33, 76: 08-17 13:00:00 - 08-17 13:30:00 @ 22.76, 77: 08-17 13:30:00 - 08-17 14:00:00 @ 22.3, 78: 08-17 14:00:00 - 08-17 14:30:00 @ 21.41, 79: 08-17 14:30:00 - 08-17 15:00:00 @ 21.65, 80: 08-17 15:00:00 - 08-17 15:30:00 @ 22.95, 81: 08-17 15:30:00 - 08-17 16:00:00 @ 22.83, 82: 08-17 16:00:00 - 08-17 16:30:00 @ 36.84, 83: 08-17 16:30:00 - 08-17 17:00:00 @ 37.54, 84: 08-17 17:00:00 - 08-17 17:30:00 @ 41.79, 85: 08-17 17:30:00 - 08-17 18:00:00 @ 43.7, 86: 08-17 18:00:00 - 08-17 18:30:00 @ 44.34, 87: 08-17 19:00:00 - 08-17 19:30:00 @ 34.79, 88: 08-17 19:30:00 - 08-17 20:00:00 @ 34.76, 89: 08-17 20:00:00 - 08-17 20:30:00 @ 35.62, 90: 08-17 20:30:00 - 08-17 21:00:00 @ 35.3, 91: 08-17 21:00:00 - 08-17 21:30:00 @ 35.89, 92: 08-17 21:30:00 - 08-17 22:00:00 @ 35.71, 93: 08-17 22:00:00 - 08-17 22:30:00 @ 33.75, 94: 08-17 22:30:00 - 08-17 23:00:00 @ 32.0]
2026-08-15 22:40:06.919242: Inverter 0 Charge window will be: 2026-08-16 11:30:00+01:00 - 2026-08-16 16:00:00+01:00 - current SoC 87%, target 31%
2026-08-15 22:40:06.919426: Inverter 0 disabled charge window while waiting for schedule (now 08-15 22:40:00 target set_window_minutes 30 charge start time 08-16 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 22:40:06.919515: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 22:40:06.919756: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 22:40:06.919869: No export window planned
2026-08-15 22:40:06.920006: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 22:40:06.920050: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 22:40:06.920227: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 22:40:06.920409: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 22:40:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 22:40:06.920473: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 22:40:06.922082: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 22:40:06.922287: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 22:40:06.922531: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 22:40:06.922597: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 22:40:06.922730: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 22:40:06.922807: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 22:40:06.922911: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 22:40:06.923012: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 22:40:06.923338: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 22:40:06.923732: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 22:40:06.923820: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 22:40:06.923949: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 22:40:06.924037: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 22:40:06.924133: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 22:40:06.924243: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 22:40:06.924298: Inverter 0 count register writes 0
2026-08-15 22:40:06.982712: Will not recompute the plan, it is 5.0 minutes old and max age is 10 minutes
2026-08-15 22:40:06.996236: Total inverter register writes now 826
2026-08-15 22:40:07.055675: Info: Completed run status Demand
2026-08-15 22:40:07.066721: Info: record_status Demand
2026-08-15 22:40:07.078882: Saved current settings to /config/predbat_config.json
2026-08-15 22:40:07.081483: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 22:40:30.573384: ML Predictor: Epoch 27/30: lr=0.00012 huber_loss=0.0055 val_mae=0.0016 kWh val_bias=-0.0004 kWh (-0.8%) combined=0.0010 kWh ema_combined=0.0011 kWh
2026-08-15 22:40:42.219148: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 22:40:42.219661: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 22:40:42.219822: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 22:40:42.220126: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 22:40:42.220268: Note: Inverter does not support discharge freeze - disabled
2026-08-15 22:40:42.220391: Note: Inverter does not support charge freeze - disabled
2026-08-15 22:40:42.220506: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 22:41:02.353930: ML Predictor: Epoch 28/30: lr=0.00011 huber_loss=0.0053 val_mae=0.0015 kWh val_bias=-0.0004 kWh (-0.7%) combined=0.0010 kWh ema_combined=0.0010 kWh
2026-08-15 22:41:34.184429: ML Predictor: Epoch 29/30: lr=0.00010 huber_loss=0.0056 val_mae=0.0016 kWh val_bias=-0.0004 kWh (-0.8%) combined=0.0011 kWh ema_combined=0.0011 kWh
2026-08-15 22:42:05.694577: ML Predictor: Epoch 30/30: lr=0.00010 huber_loss=0.0052 val_mae=0.0015 kWh val_bias=-0.0001 kWh (-0.2%) combined=0.0008 kWh ema_combined=0.0010 kWh
2026-08-15 22:42:05.701860: ML Predictor: Restored best weights from epoch with val_mae=0.0015 kWh val_bias=-0.0001 kWh (-0.2%)
2026-08-15 22:42:05.702197: ML Predictor: Training complete, final val_mae=0.0015 kWh val_bias=-0.0001 kWh (-0.2%)
2026-08-15 22:42:10.753824: ML Predictor: AR rollout over holdout: ar_mae=0.0016 kWh ar_bias=-0.0002 kWh (-0.3%) [drift vs teacher-forced: +0.0001 kWh]
2026-08-15 22:42:10.762310: ML Predictor: Curriculum pass 1/5 complete, val_mae=0.0015 kWh
2026-08-15 22:42:10.855513: ML Predictor: Curriculum pass 2/5: window=55.0 days (1320 hours of data)
2026-08-15 22:42:10.855875: ML Predictor: Starting fine-tune training with 30 epochs
2026-08-15 22:42:11.482763: ML Predictor: Creating dataset with 1320 hours of training data, 48 hours validation
2026-08-15 22:42:16.677350: ML Predictor: Created 15552 training samples, 576 validation samples
2026-08-15 22:42:16.725716: ML Predictor: Normalization stats [ema-update alpha=0.1] target(mean=0.0586 std=0.0470) load(mean=0.0587 std=0.0470) pv(mean=0.0000 std=0.0100) temp(mean=19.5093 std=4.4217) import_rate(mean=25.5284 std=2.4645) export_rate(mean=0.0000 std=1.0000) time(mean=-0.1882 std=0.5246)
2026-08-15 22:42:16.802018: ML Predictor: Applied EMA normalization update (alpha=0.1) to track feature drift
2026-08-15 22:42:16.817789: ML Predictor: Reset Adam optimiser state for fine-tuning
2026-08-15 22:42:16.867376: ML Predictor: Baseline (pre-finetune) val_mae=0.0045 kWh val_bias=-0.0019 kWh
2026-08-15 22:42:49.014437: ML Predictor: Epoch 1/30: lr=0.00100 huber_loss=0.0096 val_mae=0.0044 kWh val_bias=-0.0008 kWh (-1.1%) combined=0.0028 kWh ema_combined=0.0028 kWh
2026-08-15 22:42:57.188219: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 22:42:57.188692: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 22:42:57.188860: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 22:42:57.189205: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 22:42:57.189380: Note: Inverter does not support discharge freeze - disabled
2026-08-15 22:42:57.189514: Note: Inverter does not support charge freeze - disabled
2026-08-15 22:42:57.189639: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 22:43:22.894390: ML Predictor: Epoch 2/30: lr=0.00100 huber_loss=0.0117 val_mae=0.0038 kWh val_bias=-0.0003 kWh (-0.4%) combined=0.0026 kWh ema_combined=0.0027 kWh
2026-08-15 22:43:56.259220: ML Predictor: Epoch 3/30: lr=0.00099 huber_loss=0.0116 val_mae=0.0040 kWh val_bias=-0.0012 kWh (-1.7%) combined=0.0024 kWh ema_combined=0.0026 kWh
2026-08-15 22:44:30.368078: ML Predictor: Epoch 4/30: lr=0.00098 huber_loss=0.0117 val_mae=0.0054 kWh val_bias=-0.0032 kWh (-4.5%) combined=0.0038 kWh ema_combined=0.0030 kWh
2026-08-15 22:45:00.721196: --------------- PredBat - update at 2026-08-15 22:45:00+01:00 with clock skew 0 minutes, minutes now 1365
2026-08-15 22:45:00.723656: Saved current settings to /config/predbat_config.json
2026-08-15 22:45:00.724048: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 10.0 minutes
2026-08-15 22:45:00.724211: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.2, latest beta is v8.48.2
2026-08-15 22:45:00.724478: Autoupdate: There is an update pending v8.48.2 PV90 and second pass enabled by default, bug fixes - auto update is off
2026-08-15 22:45:00.775914: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 22:45:00.776070: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 22:45:00.776238: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 22:45:00.776776: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 22:45:00.776896: Predbat mode is set to Control charge & discharge
2026-08-15 22:45:01.241016: Found 21602 load_today datapoints going back 28 days
2026-08-15 22:45:01.241213: Using load_power data to fill gaps in load_today data
2026-08-15 22:45:02.929758: Processing 721 30-minute periods for power integration
2026-08-15 22:45:03.277988: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 22:45:03.278180: Car charging hold False, threshold 6.0kWh
2026-08-15 22:45:03.278234: Current data so far today: load 10.9kWh, import 27.8kWh, export 0.0kWh, PV 0kWh
2026-08-15 22:45:03.293303: Cars: SoC: [8.204]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 22:45:03.293887: Standing charge is set to 49.98p
2026-08-15 22:45:03.343516: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 22:45:03.343635: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 22:45:03.812811: Loaded 95 datapoints of futurerate analysis
2026-08-15 22:45:04.229721: Predicted future rates: ['08-15 00:00:00 => 28.69 / 20.01', '08-15 01:00:00 => 27.33 / 19.31', '08-15 02:00:00 => 26.31 / 18.8', '08-15 03:00:00 => 25.78 / 18.53', '08-15 04:00:00 => 25.59 / 18.43', '08-15 05:00:00 => 25.75 / 18.51', '08-15 06:00:00 => 25.34 / 18.3', '08-15 07:00:00 => 24.12 / 17.68', '08-15 08:00:00 => 22.82 / 17.01', '08-15 09:00:00 => 21.84 / 16.51', '08-15 10:00:00 => 20.22 / 15.68', '08-15 11:00:00 => 17.8 / 14.45', '08-15 12:00:00 => 16.16 / 13.61', '08-15 13:00:00 => 15.55 / 13.3', '08-15 14:00:00 => 15.14 / 13.09', '08-15 15:00:00 => 15.65 / 13.35', '08-15 16:00:00 => 32.68 / 16.13', '08-15 17:00:00 => 37.81 / 18.75', '08-15 18:00:00 => 42.15 / 20.96', '08-15 19:00:00 => 30.88 / 21.13', '08-15 20:00:00 => 31.43 / 21.41', '08-15 21:00:00 => 31.43 / 21.41', '08-15 22:00:00 => 30.37 / 20.87', '08-15 23:00:00 => 29.16 / 20.25', '08-16 00:00:00 => 28.62 / 19.97', '08-16 01:00:00 => 27.52 / 19.41', '08-16 02:00:00 => 26.55 / 18.92', '08-16 03:00:00 => 26.18 / 18.73', '08-16 04:00:00 => 26.12 / 18.7', '08-16 05:00:00 => 26.02 / 18.65', '08-16 06:00:00 => 25.78 / 18.53', '08-16 07:00:00 => 25.43 / 18.35', '08-16 08:00:00 => 24.63 / 17.94', '08-16 09:00:00 => 24.05 / 17.64', '08-16 10:00:00 => 24.59 / 17.92', '08-16 11:00:00 => 24.5 / 17.87', '08-16 12:00:00 => 23.58 / 17.4', '08-16 13:00:00 => 22.93 / 17.07', '08-16 14:00:00 => 21.8 / 16.49', '08-16 15:00:00 => 21.8 / 16.49', '08-16 16:00:00 => 36.93 / 18.3', '08-16 17:00:00 => 39.92 / 19.83', '08-16 18:00:00 => 43.98 / 21.9', '08-16 19:00:00 => 32.83 / 22.13', '08-16 20:00:00 => 33.62 / 22.53', '08-16 21:00:00 => 33.52 / 22.48']
2026-08-15 22:45:04.292770: Rate min forward looking: now 21.41p at end of forecast 21.41p
2026-08-15 22:45:04.293430: Import rates: min 21.41p, max 45.28p, average 28.72p
2026-08-15 22:45:04.358849: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 22:45:04.359092: Rate thresholds (for charge/export) are import 44.78p (0.0p), export -0.1p (0.0p)
2026-08-15 22:45:04.360883: High export rate found rates in range 99p to -99p
2026-08-15 22:45:04.557244: Low Import rate found rates in range 21.41p to 44.34p
2026-08-15 22:45:04.557386: Car 0 charging is not planned as it is not plugged in
2026-08-15 22:45:04.599102: Battery level now 13.86kWh, -1hr ago 14.24kWh, at midnight 1.66kWh, battery value change in the last hour -7.06p, change today 224.4p, rate_forward 18.39p
2026-08-15 22:45:04.599476: Last hour: net energy 0.0kWh, import 0.0kWh, export 0.0kWh, car 0kWh, load 0.45kWh, net cost 0.0p, import 0.0p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 22:45:04.742458: Today's energy total net 27.8kWh, import 27.8kWh, export 0.0kWh, cost 573.42p, import 523.44p, export 0.0p, carbon 0.0kg
2026-08-15 22:45:04.742624: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 22:45:04.959820: Using weighted-bucket historical load forecast over 14 days
2026-08-15 22:45:04.997107: Today's load divergence 76.79%, in-day adjustment 81.38%, damping 0.95x, yesterday 143.77% today 77.95% blend 5.21%
2026-08-15 22:45:04.997905: Today's predicted so far 13.73kWh with 0.0kWh car/iBoost excluded, 20.9kWh import ignored, and 13.73kWh forecast extra.
2026-08-15 22:45:04.997977: Today's actual load so far 10.89kWh with 0.0kWh car/iBoost excluded, and 20.9kWh import ignored.
2026-08-15 22:45:05.079256: Inverter 0: Type SK Sunsynk
2026-08-15 22:45:05.079372: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 22:45:05.079563: Reserve min: 7%, battery_min: 7%
2026-08-15 22:45:05.079634: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 22:45:05.080071: Inverter 0 SoC: 13.74kW 86%, current charge rate 5000W, current discharge rate 5250W, current battery power 1700W, current battery voltage 51.2V, grid power -55W, load power 1762W, PV Power 0W
2026-08-15 22:45:05.080314: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 22:45:05.080445: Inverter 0 scheduled charge enable is False
2026-08-15 22:45:05.080482: Inverter 0 charge windows currently []
2026-08-15 22:45:05.080509: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 22:45:05.080624: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 22:45:05.080652: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 22:45:05.080686: Inverter 0 scheduled discharge enable is False
2026-08-15 22:45:05.080810: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 22:45:05.080838: Inverter 0 discharge windows currently []
2026-08-15 22:45:05.080859: Note: Inverter does not support discharge freeze - disabled
2026-08-15 22:45:05.080877: Note: Inverter does not support charge freeze - disabled
2026-08-15 22:45:05.080894: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 22:45:05.285339: Dynamic load last period 0.60kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 22:45:05.285632: Plan was last updated on 2026-08-15 22:35:00+01:00 and is now 10.0 minutes old
2026-08-15 22:45:05.286184: Best charge window [ 16-08 11:30:00 - 16-08 12:30:00 @ 23.46p 31%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 38%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 50%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 100%, 16-08 14:30:00 - 16-08 16:00:00 @ 22.56p 78%, 17-08 12:30:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 17-08 22:30:00 @ 34.7p 100% ]
2026-08-15 22:45:05.286257: Best export window [  ]
2026-08-15 22:45:05.287714: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 22:45:05.293302: Load divergence over 8.0 hours mean 775.14W, min 344.4W, max 2127.6W, std dev 444.89W, divergence 28.7%
2026-08-15 22:45:05.386913: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 22:45:05.387080: LoadML is_calculating True
2026-08-15 22:45:05.387220: Not using thread pool as LoadML is calculating to avoid lockups
2026-08-15 22:45:05.470281: predict base end_record 08-17 12:40:00, final soc 1.12kWh, metric 1059.29p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 16:55:00, load 35.78kWh, PV 0.0kWh
2026-08-15 22:45:05.644181: Battery has 18.17 hours left - now at 13.74kWh
2026-08-15 22:45:05.725944: predict base10 end_record 08-17 12:40:00, final soc 1.12kWh, metric 1097.2p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 15:50:00, load 36.96kWh, PV 0.0kWh
2026-08-15 22:45:05.938194: predict best10 end_record 08-17 12:40:00, final soc 1.77kWh, metric 1038.58p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 07:10:00, load 36.96kWh, PV 0.0kWh
2026-08-15 22:45:06.073628: predict best end_record 08-17 12:40:00, final soc 1.9kWh, metric 1011.14p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 08:20:00, load 35.78kWh, PV 0.0kWh
2026-08-15 22:45:06.073916: Saving plan best values to HA entities
2026-08-15 22:45:06.466798: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 22:45:06.473124: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0.0
2026-08-15 22:45:06.480567: Best charging limit SoC's [5.0, 6.0, 8.0, 16.0, 12.5, 16.0, 16.0]kWh, export []kWh gives import battery 12.18kWh, house 2.83kWh, export 0.0kWh, metric 1011.14p, metric10 1038.58p
2026-08-15 22:45:06.662535: Marginal costs baseline metric (no standing charge): 911.1706
2026-08-15 22:45:07.186911: Marginal energy costs matrix computed: min=25.18 max=28.17
2026-08-15 22:45:07.190303: ML Predictor: Epoch 5/30: lr=0.00096 huber_loss=0.0098 val_mae=0.0037 kWh val_bias=+0.0007 kWh (+1.0%) combined=0.0019 kWh ema_combined=0.0027 kWh
2026-08-15 22:45:07.382801: Rate array import [{'start': 1365, 'end': 1410, 'rate': 'expensive', 'range': '(29.8p - 30.0p)'}, {'start': 1410, 'end': 2400, 'rate': 'cheap', 'range': '(21.4p - 28.2p)'}, {'start': 2400, 'end': 2430, 'rate': 'expensive', 'range': '(36.8p)'}, {'start': 2430, 'end': 2580, 'rate': 'very expensive', 'range': '(37.5p - 45.3p)'}, {'start': 2580, 'end': 2850, 'rate': 'expensive', 'range': '(30.0p - 35.9p)'}, {'start': 2850, 'end': 3640, 'rate': 'cheap', 'range': '(22.3p - 28.2p)'}] export [{'start': 1365, 'end': 3640, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 22:45:07.383592: - Your estimated bill for today is £5.73 and tomorrow is £2.97
2026-08-15 22:45:07.383659: - Import rates are expensive (29.8p - 30.0p) for the next 45 minutes and then cheap (21.4p - 28.2p) for the next 16 hours.
2026-08-15 22:45:07.383683: - The battery is currently at 86% and is in eco mode for the next 12 hours.
2026-08-15 22:45:07.383702: - For the next 48 hours there will be no solar generation.
2026-08-15 22:45:07.383719: - You will run out of battery in 33 hours.
2026-08-15 22:45:07.383736: - Your next charge slot will be in 12 hours where import rates will be cheap (23.5p).
2026-08-15 22:45:07.383754: 
2026-08-15 22:45:07.445023: Plan calculation took 2.16 seconds
2026-08-15 22:45:07.456185: No high rate period found
2026-08-15 22:45:07.619686: Import threshold used for optimisation was 24.25p
2026-08-15 22:45:07.727572: Low import rate windows [0: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 1: 08-15 23:00:00 - 08-15 23:30:00 @ 30.02, 2: 08-15 23:30:00 - 08-16 00:00:00 @ 27.8, 3: 08-16 00:00:00 - 08-16 00:30:00 @ 28.18, 4: 08-16 00:30:00 - 08-16 01:00:00 @ 27.38, 5: 08-16 01:00:00 - 08-16 01:30:00 @ 26.7, 6: 08-16 01:30:00 - 08-16 02:00:00 @ 26.31, 7: 08-16 02:00:00 - 08-16 02:30:00 @ 25.79, 8: 08-16 02:30:00 - 08-16 03:00:00 @ 25.86, 9: 08-16 03:00:00 - 08-16 03:30:00 @ 26.13, 10: 08-16 03:30:00 - 08-16 04:00:00 @ 25.86, 11: 08-16 04:00:00 - 08-16 04:30:00 @ 26.27, 12: 08-16 04:30:00 - 08-16 05:00:00 @ 26.14, 13: 08-16 05:00:00 - 08-16 05:30:00 @ 27.03, 14: 08-16 05:30:00 - 08-16 06:00:00 @ 26.28, 15: 08-16 06:00:00 - 08-16 06:30:00 @ 25.68, 16: 08-16 06:30:00 - 08-16 07:00:00 @ 26.1, 17: 08-16 07:00:00 - 08-16 07:30:00 @ 24.28, 18: 08-16 07:30:00 - 08-16 08:00:00 @ 24.94, 19: 08-16 08:00:00 - 08-16 08:30:00 @ 24.06, 20: 08-16 08:30:00 - 08-16 09:00:00 @ 24.39, 21: 08-16 09:00:00 - 08-16 09:30:00 @ 24.66, 22: 08-16 09:30:00 - 08-16 10:00:00 @ 24.06, 23: 08-16 10:00:00 - 08-16 10:30:00 @ 25.5, 24: 08-16 10:30:00 - 08-16 11:00:00 @ 24.94, 25: 08-16 11:00:00 - 08-16 11:30:00 @ 24.25, 26: 08-16 11:30:00 - 08-16 12:00:00 @ 23.49, 27: 08-16 12:00:00 - 08-16 12:30:00 @ 23.43, 28: 08-16 12:30:00 - 08-16 13:00:00 @ 22.33, 29: 08-16 13:00:00 - 08-16 13:30:00 @ 22.76, 30: 08-16 13:30:00 - 08-16 14:00:00 @ 22.3, 31: 08-16 14:00:00 - 08-16 14:30:00 @ 21.41, 32: 08-16 14:30:00 - 08-16 15:00:00 @ 21.65, 33: 08-16 15:00:00 - 08-16 15:30:00 @ 22.95, 34: 08-16 15:30:00 - 08-16 16:00:00 @ 22.83, 35: 08-16 16:00:00 - 08-16 16:30:00 @ 36.84, 36: 08-16 16:30:00 - 08-16 17:00:00 @ 37.54, 37: 08-16 17:00:00 - 08-16 17:30:00 @ 41.79, 38: 08-16 17:30:00 - 08-16 18:00:00 @ 43.7, 39: 08-16 18:00:00 - 08-16 18:30:00 @ 44.34, 40: 08-16 19:00:00 - 08-16 19:30:00 @ 34.79, 41: 08-16 19:30:00 - 08-16 20:00:00 @ 34.76, 42: 08-16 20:00:00 - 08-16 20:30:00 @ 35.62, 43: 08-16 20:30:00 - 08-16 21:00:00 @ 35.3, 44: 08-16 21:00:00 - 08-16 21:30:00 @ 35.89, 45: 08-16 21:30:00 - 08-16 22:00:00 @ 35.71, 46: 08-16 22:00:00 - 08-16 22:30:00 @ 33.75, 47: 08-16 22:30:00 - 08-16 23:00:00 @ 32.0, 48: 08-16 23:00:00 - 08-16 23:30:00 @ 30.02, 49: 08-16 23:30:00 - 08-17 00:00:00 @ 27.8, 50: 08-17 00:00:00 - 08-17 00:30:00 @ 28.18, 51: 08-17 00:30:00 - 08-17 01:00:00 @ 27.38, 52: 08-17 01:00:00 - 08-17 01:30:00 @ 26.7, 53: 08-17 01:30:00 - 08-17 02:00:00 @ 26.31, 54: 08-17 02:00:00 - 08-17 02:30:00 @ 25.79, 55: 08-17 02:30:00 - 08-17 03:00:00 @ 25.86, 56: 08-17 03:00:00 - 08-17 03:30:00 @ 26.13, 57: 08-17 03:30:00 - 08-17 04:00:00 @ 25.86, 58: 08-17 04:00:00 - 08-17 04:30:00 @ 26.27, 59: 08-17 04:30:00 - 08-17 05:00:00 @ 26.14, 60: 08-17 05:00:00 - 08-17 05:30:00 @ 27.03, 61: 08-17 05:30:00 - 08-17 06:00:00 @ 26.28, 62: 08-17 06:00:00 - 08-17 06:30:00 @ 25.68, 63: 08-17 06:30:00 - 08-17 07:00:00 @ 26.1, 64: 08-17 07:00:00 - 08-17 07:30:00 @ 24.28, 65: 08-17 07:30:00 - 08-17 08:00:00 @ 24.94, 66: 08-17 08:00:00 - 08-17 08:30:00 @ 24.06, 67: 08-17 08:30:00 - 08-17 09:00:00 @ 24.39, 68: 08-17 09:00:00 - 08-17 09:30:00 @ 24.66, 69: 08-17 09:30:00 - 08-17 10:00:00 @ 24.06, 70: 08-17 10:00:00 - 08-17 10:30:00 @ 25.5, 71: 08-17 10:30:00 - 08-17 11:00:00 @ 24.94, 72: 08-17 11:00:00 - 08-17 11:30:00 @ 24.25, 73: 08-17 11:30:00 - 08-17 12:00:00 @ 23.49, 74: 08-17 12:00:00 - 08-17 12:30:00 @ 23.43, 75: 08-17 12:30:00 - 08-17 13:00:00 @ 22.33, 76: 08-17 13:00:00 - 08-17 13:30:00 @ 22.76, 77: 08-17 13:30:00 - 08-17 14:00:00 @ 22.3, 78: 08-17 14:00:00 - 08-17 14:30:00 @ 21.41, 79: 08-17 14:30:00 - 08-17 15:00:00 @ 21.65, 80: 08-17 15:00:00 - 08-17 15:30:00 @ 22.95, 81: 08-17 15:30:00 - 08-17 16:00:00 @ 22.83, 82: 08-17 16:00:00 - 08-17 16:30:00 @ 36.84, 83: 08-17 16:30:00 - 08-17 17:00:00 @ 37.54, 84: 08-17 17:00:00 - 08-17 17:30:00 @ 41.79, 85: 08-17 17:30:00 - 08-17 18:00:00 @ 43.7, 86: 08-17 18:00:00 - 08-17 18:30:00 @ 44.34, 87: 08-17 19:00:00 - 08-17 19:30:00 @ 34.79, 88: 08-17 19:30:00 - 08-17 20:00:00 @ 34.76, 89: 08-17 20:00:00 - 08-17 20:30:00 @ 35.62, 90: 08-17 20:30:00 - 08-17 21:00:00 @ 35.3, 91: 08-17 21:00:00 - 08-17 21:30:00 @ 35.89, 92: 08-17 21:30:00 - 08-17 22:00:00 @ 35.71, 93: 08-17 22:00:00 - 08-17 22:30:00 @ 33.75, 94: 08-17 22:30:00 - 08-17 23:00:00 @ 32.0]
2026-08-15 22:45:07.742358: Inverter 0 Charge window will be: 2026-08-16 11:30:00+01:00 - 2026-08-16 16:00:00+01:00 - current SoC 86%, target 31%
2026-08-15 22:45:07.742648: Inverter 0 disabled charge window while waiting for schedule (now 08-15 22:45:00 target set_window_minutes 30 charge start time 08-16 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 22:45:07.743467: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 22:45:07.743816: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 22:45:07.743994: No export window planned
2026-08-15 22:45:07.744202: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 22:45:07.744255: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 22:45:07.744546: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 22:45:07.744803: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 22:45:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 22:45:07.744873: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 22:45:07.745102: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 22:45:07.745294: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 22:45:07.745421: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 22:45:07.745548: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 22:45:07.745656: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 22:45:07.745770: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 22:45:07.745877: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 22:45:07.746036: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 22:45:07.746217: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 22:45:07.746287: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 22:45:07.746442: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 22:45:07.746572: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 22:45:07.746708: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 22:45:07.746845: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 22:45:07.746998: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 22:45:07.747073: Inverter 0 count register writes 0
2026-08-15 22:45:07.778790: Will recompute the plan as it is now 10.0 minutes old and will exceed the max age of 10 minutes before the next run
2026-08-15 22:45:07.779119: Recompute is saving previous plan...
2026-08-15 22:45:07.783831: Best charge window [ 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 30.02p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 27.8p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.18p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.38p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 26.7p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.31p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.79p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 25.86p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.13p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 25.86p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.27p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.14p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 27.03p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.28p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.68p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 26.1p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 24.28p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 24.94p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.06p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.39p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.66p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.06p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 25.5p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 24.94p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 24.25p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 23.49p 0%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.43p 0%, 16-08 12:30:00 - 16-08 13:00:00 @ 22.33p 0%, 16-08 13:00:00 - 16-08 13:30:00 @ 22.76p 0%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 0%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 0%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.65p 0%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.95p 0%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.83p 0%, 16-08 16:00:00 - 16-08 16:30:00 @ 36.84p 0%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.54p 0%, 16-08 17:00:00 - 16-08 17:30:00 @ 41.79p 0%, 16-08 17:30:00 - 16-08 18:00:00 @ 43.7p 0%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.34p 0%, 16-08 19:00:00 - 16-08 19:30:00 @ 34.79p 0%, 16-08 19:30:00 - 16-08 20:00:00 @ 34.76p 0%, 16-08 20:00:00 - 16-08 20:30:00 @ 35.62p 0%, 16-08 20:30:00 - 16-08 21:00:00 @ 35.3p 0%, 16-08 21:00:00 - 16-08 21:30:00 @ 35.89p 0%, 16-08 21:30:00 - 16-08 22:00:00 @ 35.71p 0%, 16-08 22:00:00 - 16-08 22:30:00 @ 33.75p 0%, 16-08 22:30:00 - 16-08 23:00:00 @ 32.0p 0%, 16-08 23:00:00 - 16-08 23:30:00 @ 30.02p 0%, 16-08 23:30:00 - 17-08 00:00:00 @ 27.8p 0%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.18p 0%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.38p 0%, 17-08 01:00:00 - 17-08 01:30:00 @ 26.7p 0%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.31p 0%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.79p 0%, 17-08 02:30:00 - 17-08 03:00:00 @ 25.86p 0%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.13p 0%, 17-08 03:30:00 - 17-08 04:00:00 @ 25.86p 0%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.27p 0%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.14p 0%, 17-08 05:00:00 - 17-08 05:30:00 @ 27.03p 0%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.28p 0%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.68p 0%, 17-08 06:30:00 - 17-08 07:00:00 @ 26.1p 0%, 17-08 07:00:00 - 17-08 07:30:00 @ 24.28p 0%, 17-08 07:30:00 - 17-08 08:00:00 @ 24.94p 0%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.06p 0%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.39p 0%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.66p 0%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.06p 0%, 17-08 10:00:00 - 17-08 10:30:00 @ 25.5p 0%, 17-08 10:30:00 - 17-08 11:00:00 @ 24.94p 0%, 17-08 11:00:00 - 17-08 11:30:00 @ 24.25p 0%, 17-08 11:30:00 - 17-08 12:00:00 @ 23.49p 0%, 17-08 12:00:00 - 17-08 12:30:00 @ 23.43p 0%, 17-08 12:30:00 - 17-08 13:00:00 @ 22.33p 0%, 17-08 13:00:00 - 17-08 13:30:00 @ 22.76p 0%, 17-08 13:30:00 - 17-08 14:00:00 @ 22.3p 0%, 17-08 14:00:00 - 17-08 14:30:00 @ 21.41p 0%, 17-08 14:30:00 - 17-08 15:00:00 @ 21.65p 0%, 17-08 15:00:00 - 17-08 15:30:00 @ 22.95p 0%, 17-08 15:30:00 - 17-08 16:00:00 @ 22.83p 0%, 17-08 16:00:00 - 17-08 16:30:00 @ 36.84p 0%, 17-08 16:30:00 - 17-08 17:00:00 @ 37.54p 0%, 17-08 17:00:00 - 17-08 17:30:00 @ 41.79p 0%, 17-08 17:30:00 - 17-08 18:00:00 @ 43.7p 0%, 17-08 18:00:00 - 17-08 18:30:00 @ 44.34p 0%, 17-08 19:00:00 - 17-08 19:30:00 @ 34.79p 0%, 17-08 19:30:00 - 17-08 20:00:00 @ 34.76p 0%, 17-08 20:00:00 - 17-08 20:30:00 @ 35.62p 0%, 17-08 20:30:00 - 17-08 21:00:00 @ 35.3p 0%, 17-08 21:00:00 - 17-08 21:30:00 @ 35.89p 0%, 17-08 21:30:00 - 17-08 22:00:00 @ 35.71p 0%, 17-08 22:00:00 - 17-08 22:30:00 @ 33.75p 0%, 17-08 22:30:00 - 17-08 23:00:00 @ 32.0p 0% ]
2026-08-15 22:45:07.783940: Best export window [  ]
2026-08-15 22:45:07.785417: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 22:45:07.791384: Load divergence over 8.0 hours mean 775.14W, min 344.4W, max 2127.6W, std dev 444.89W, divergence 28.7%
2026-08-15 22:45:07.827069: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 22:45:07.843756: LoadML is_calculating True
2026-08-15 22:45:07.843837: Not using thread pool as LoadML is calculating to avoid lockups
2026-08-15 22:45:07.866683: Calculate Best options: mode(Control charge & discharge), calculate_export_oncharge(False), calculate_export_on_pv(True), set_export_freeze_only(False), set_discharge_during_charge(True), combine_charge_slots(False), combine_export_slots(False), combine_rate_threshold(0.0), best_soc_min(0.0 kWh), best_soc_max(0.0 kWh), best_soc_keep(0.0 kWh), inverter_loss(4%), battery_loss(3%), battery_loss_discharge (3%), inverter_hybrid(True), metric_min_improvement(0.0p), metric_min_improvement_export(0.1p), metric_min_improvement_export_freeze(0.1p), metric_battery_cycle(0.0p/kWh), metric_battery_value_scaling(1.0 x) 
2026-08-15 22:45:07.868444: Optimise levels pass started at 2026-08-15 22:45:07
2026-08-15 22:45:07.868533: Optimise all windows, total charge 94 export 1
2026-08-15 22:45:16.673933: >> Region optimisation pass width 960 gives best_metric 1041.61p, best_cost 1054.9p, best_cycle 39.52kWh, best_import 21.48kWh
2026-08-15 22:45:21.814841: >> Region optimisation pass width 480 gives best_metric 1042.56p, best_cost 1055.89p, best_cycle 39.16kWh, best_import 21.45kWh
2026-08-15 22:45:23.084763: >> Region optimisation pass width 240 gives best_metric 1042.56p, best_cost 1055.89p, best_cycle 39.16kWh, best_import 21.45kWh
2026-08-15 22:45:26.936447: >> Region optimisation pass width 120 gives best_metric 1042.56p, best_cost 1055.89p, best_cycle 39.16kWh, best_import 21.45kWh
2026-08-15 22:45:26.936968: Calculated end_record as 08-17 12:30:00 based on best_price 22.33p, next_charge_start 08-16 12:30:00, max_windows 75
2026-08-15 22:45:26.937269: Optimise levels pass ended at 2026-08-15 22:45:26, duration 19.1 seconds tried 341 combinations
2026-08-15 22:45:26.937323: Set best_price_charge_level 24.0p, best_price_export_level 0p, best_price_charge 22.33p, best_cost_export 0p, best_metric 1042.56p, best_keep 0kWh, best_cycle 39.16kWh, best_carbon 0kg, best_import 21.45kWh
2026-08-15 22:45:26.958789: Starting detailed optimisation end_record 08-17 12:30:00, best_price_charge 22.33p, best_price_export 0p. lowest_price_charge 21.41p with charge limits [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12.5, 0, 12.5, 12.5, 12.5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0]kWh and export limits []kWh
2026-08-15 22:45:58.226569: Tweak plan optimisation started metric 873.14p, cost 889.25p
2026-08-15 22:46:00.298925: Tweak optimisation finished metric 873.14p, cost 889.25p, metric_keep 0kWh, cycle 26.88kWh, carbon 0kg, import 14.03kWh, changed 8 window(s)
2026-08-15 22:46:00.335934: Swap charge optimisation started metric 873.14p, cost 889.25p, min_improvement_swap 0.1p
2026-08-15 22:46:14.667898: Swap charge optimisation finished metric 873.14p, cost 889.25p
2026-08-15 22:46:14.795610: Pruned 1 dead plan slot(s) in 11 trial(s), nominal metric 868.65p -> 868.65p, plan now metric 873.18p, cost 889.25p, cycle 26.88kWh, import 14.03kWh
2026-08-15 22:46:14.810590: Raw charge windows [ 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 30.02p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 27.8p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.18p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.38p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 26.7p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.31p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.79p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 25.86p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.13p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 25.86p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.27p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.14p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 27.03p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.28p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.68p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 26.1p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 24.28p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 24.94p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.06p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.39p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.66p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.06p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 25.5p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 24.94p 34%, 16-08 11:00:00 - 16-08 11:30:00 @ 24.25p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 23.49p 31%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.43p 31%, 16-08 12:30:00 - 16-08 13:00:00 @ 22.33p 34%, 16-08 13:00:00 - 16-08 13:30:00 @ 22.76p 34%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 100%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 78%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.65p 78%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.95p 78%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.83p 78%, 16-08 16:00:00 - 16-08 16:30:00 @ 36.84p 0%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.54p 0%, 16-08 17:00:00 - 16-08 17:30:00 @ 41.79p 0%, 16-08 17:30:00 - 16-08 18:00:00 @ 43.7p 0%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.34p 0%, 16-08 19:00:00 - 16-08 19:30:00 @ 34.79p 0%, 16-08 19:30:00 - 16-08 20:00:00 @ 34.76p 0%, 16-08 20:00:00 - 16-08 20:30:00 @ 35.62p 0%, 16-08 20:30:00 - 16-08 21:00:00 @ 35.3p 0%, 16-08 21:00:00 - 16-08 21:30:00 @ 35.89p 0%, 16-08 21:30:00 - 16-08 22:00:00 @ 35.71p 0%, 16-08 22:00:00 - 16-08 22:30:00 @ 33.75p 0%, 16-08 22:30:00 - 16-08 23:00:00 @ 32.0p 0%, 16-08 23:00:00 - 16-08 23:30:00 @ 30.02p 0%, 16-08 23:30:00 - 17-08 00:00:00 @ 27.8p 0%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.18p 0%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.38p 0%, 17-08 01:00:00 - 17-08 01:30:00 @ 26.7p 0%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.31p 0%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.79p 0%, 17-08 02:30:00 - 17-08 03:00:00 @ 25.86p 0%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.13p 0%, 17-08 03:30:00 - 17-08 04:00:00 @ 25.86p 0%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.27p 0%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.14p 0%, 17-08 05:00:00 - 17-08 05:30:00 @ 27.03p 0%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.28p 0%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.68p 0%, 17-08 06:30:00 - 17-08 07:00:00 @ 26.1p 0%, 17-08 07:00:00 - 17-08 07:30:00 @ 24.28p 0%, 17-08 07:30:00 - 17-08 08:00:00 @ 24.94p 0%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.06p 0%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.39p 0%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.66p 0%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.06p 0%, 17-08 10:00:00 - 17-08 10:30:00 @ 25.5p 0%, 17-08 10:30:00 - 17-08 11:00:00 @ 24.94p 0%, 17-08 11:00:00 - 17-08 11:30:00 @ 24.25p 0%, 17-08 11:30:00 - 17-08 12:00:00 @ 23.49p 0%, 17-08 12:00:00 - 17-08 12:30:00 @ 23.43p 0%, 17-08 12:30:00 - 17-08 13:00:00 @ 22.33p 100%, 17-08 13:00:00 - 17-08 13:30:00 @ 22.76p 100%, 17-08 13:30:00 - 17-08 14:00:00 @ 22.3p 100%, 17-08 14:00:00 - 17-08 14:30:00 @ 21.41p 100%, 17-08 14:30:00 - 17-08 15:00:00 @ 21.65p 100%, 17-08 15:00:00 - 17-08 15:30:00 @ 22.95p 100%, 17-08 15:30:00 - 17-08 16:00:00 @ 22.83p 100%, 17-08 16:00:00 - 17-08 16:30:00 @ 36.84p 100%, 17-08 16:30:00 - 17-08 17:00:00 @ 37.54p 100%, 17-08 17:00:00 - 17-08 17:30:00 @ 41.79p 100%, 17-08 17:30:00 - 17-08 18:00:00 @ 43.7p 100%, 17-08 18:00:00 - 17-08 18:30:00 @ 44.34p 100%, 17-08 19:00:00 - 17-08 19:30:00 @ 34.79p 100%, 17-08 19:30:00 - 17-08 20:00:00 @ 34.76p 100%, 17-08 20:00:00 - 17-08 20:30:00 @ 35.62p 100%, 17-08 20:30:00 - 17-08 21:00:00 @ 35.3p 100%, 17-08 21:00:00 - 17-08 21:30:00 @ 35.89p 100%, 17-08 21:30:00 - 17-08 22:00:00 @ 35.71p 100%, 17-08 22:00:00 - 17-08 22:30:00 @ 33.75p 100%, 17-08 22:30:00 - 17-08 23:00:00 @ 32.0p 100% ] reserve 1.12
2026-08-15 22:46:14.811485: Unclipped charge windows [ 16-08 10:30:00 - 16-08 11:00:00 @ 24.94p 34%, 16-08 11:30:00 - 16-08 12:30:00 @ 23.46p 31%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 34%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 100%, 16-08 14:00:00 - 16-08 16:00:00 @ 22.53p 78%, 17-08 12:30:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 17-08 23:00:00 @ 33.35p 100% ] reserve 1.12
2026-08-15 22:46:14.811940: Unfiltered charge windows [ 16-08 10:30:00 - 16-08 11:00:00 @ 24.94p 34%, 16-08 11:30:00 - 16-08 12:30:00 @ 23.46p 31%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 34%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 100%, 16-08 14:00:00 - 16-08 16:00:00 @ 22.53p 78%, 17-08 12:30:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 17-08 23:00:00 @ 33.35p 100% ] reserve 1.12
2026-08-15 22:46:14.812338: Filtered charge windows [ 16-08 10:30:00 - 16-08 11:00:00 @ 24.94p 34%, 16-08 11:30:00 - 16-08 12:30:00 @ 23.46p 31%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 34%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 100%, 16-08 14:00:00 - 16-08 16:00:00 @ 22.53p 78%, 17-08 12:30:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 17-08 23:00:00 @ 33.35p 100% ] reserve 1.12
2026-08-15 22:46:14.859875: Previous plan best metric is 873.21 (cost 889.42) and new plan best metric is 873.14 (cost 889.25)
2026-08-15 22:46:14.860216: New plan metric is not significantly better (metric_min_improvement_plan 2.0) than previous plan, using previous plan
2026-08-15 22:46:14.860454: Plan valid is now true after recompute was False
2026-08-15 22:46:14.918594: predict base end_record 08-17 12:30:00, final soc 1.12kWh, metric 1056.15p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 16:55:00, load 35.64kWh, PV 0.0kWh
2026-08-15 22:46:15.184178: Battery has 18.17 hours left - now at 13.74kWh
2026-08-15 22:46:15.238764: predict base10 end_record 08-17 12:30:00, final soc 1.12kWh, metric 1093.9p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 15:50:00, load 36.82kWh, PV 0.0kWh
2026-08-15 22:46:15.426436: predict best10 end_record 08-17 12:30:00, final soc 1.12kWh, metric 1019.78p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 07:10:00, load 36.82kWh, PV 0.0kWh
2026-08-15 22:46:15.669143: predict best end_record 08-17 12:30:00, final soc 1.12kWh, metric 989.38p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 08:20:00, load 35.64kWh, PV 0.0kWh
2026-08-15 22:46:15.669347: Saving plan best values to HA entities
2026-08-15 22:46:15.987956: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 22:46:16.013565: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0.0
2026-08-15 22:46:16.026556: Best charging limit SoC's [5.0, 6.0, 8.0, 16.0, 12.5, 16.0, 16.0]kWh, export []kWh gives import battery 11.2kWh, house 2.83kWh, export 0.0kWh, metric 989.38p, metric10 1019.78p
2026-08-15 22:46:16.175845: Marginal costs baseline metric (no standing charge): 889.417
2026-08-15 22:46:16.650921: Marginal energy costs matrix computed: min=25.18 max=28.17
2026-08-15 22:46:16.884100: Rate array import [{'start': 1365, 'end': 1410, 'rate': 'expensive', 'range': '(29.8p - 30.0p)'}, {'start': 1410, 'end': 2400, 'rate': 'cheap', 'range': '(21.4p - 28.2p)'}, {'start': 2400, 'end': 2430, 'rate': 'expensive', 'range': '(36.8p)'}, {'start': 2430, 'end': 2580, 'rate': 'very expensive', 'range': '(37.5p - 45.3p)'}, {'start': 2580, 'end': 2850, 'rate': 'expensive', 'range': '(30.0p - 35.9p)'}, {'start': 2850, 'end': 3630, 'rate': 'cheap', 'range': '(23.4p - 28.2p)'}] export [{'start': 1365, 'end': 3630, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 22:46:16.885074: - Your estimated bill for today is £5.73 and tomorrow is £2.97
2026-08-15 22:46:16.885200: - Import rates are expensive (29.8p - 30.0p) for the next 45 minutes and then cheap (21.4p - 28.2p) for the next 16 hours.
2026-08-15 22:46:16.885239: - The battery is currently at 86% and is in eco mode for the next 12 hours.
2026-08-15 22:46:16.885260: - For the next 48 hours there will be no solar generation.
2026-08-15 22:46:16.885278: - You will run out of battery in 33 hours.
2026-08-15 22:46:16.885327: - Your next charge slot will be in 12 hours where import rates will be cheap (23.5p).
2026-08-15 22:46:16.885440: 
2026-08-15 22:46:16.940875: Plan calculation took 69.16 seconds
2026-08-15 22:46:16.941216: Inverter 0: Type SK Sunsynk
2026-08-15 22:46:16.941275: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 22:46:16.941659: Reserve min: 7%, battery_min: 7%
2026-08-15 22:46:16.941848: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 22:46:16.942141: Inverter 0 SoC: 13.74kW 86%, current charge rate 5000W, current discharge rate 5250W, current battery power 1692W, current battery voltage 51.2V, grid power -55W, load power 1753W, PV Power 0W
2026-08-15 22:46:16.942496: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 22:46:16.942604: Inverter 0 scheduled charge enable is False
2026-08-15 22:46:16.942634: Inverter 0 charge windows currently []
2026-08-15 22:46:16.942859: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 22:46:16.943021: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 22:46:16.943058: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 22:46:16.943099: Inverter 0 scheduled discharge enable is False
2026-08-15 22:46:16.943234: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 22:46:16.943272: Inverter 0 discharge windows currently []
2026-08-15 22:46:16.943296: Note: Inverter does not support discharge freeze - disabled
2026-08-15 22:46:16.943314: Note: Inverter does not support charge freeze - disabled
2026-08-15 22:46:16.943333: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 22:46:17.046131: Inverter 0 Charge window will be: 2026-08-16 11:30:00+01:00 - 2026-08-16 16:00:00+01:00 - current SoC 86%, target 31%
2026-08-15 22:46:17.046397: Inverter 0 disabled charge window while waiting for schedule (now 08-15 22:45:00 target set_window_minutes 30 charge start time 08-16 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 22:46:17.046567: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 22:46:17.046888: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 22:46:17.047046: No export window planned
2026-08-15 22:46:17.047251: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 22:46:17.047305: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 22:46:17.047596: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 22:46:17.047871: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 22:45:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 22:46:17.047986: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 22:46:17.048108: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 22:46:17.048265: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 22:46:17.048326: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 22:46:17.048462: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 22:46:17.048515: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 22:46:17.048643: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 22:46:17.048731: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 22:46:17.048785: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 22:46:17.049012: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 22:46:17.049080: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 22:46:17.049215: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 22:46:17.049267: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 22:46:17.049390: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 22:46:17.049478: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 22:46:17.049565: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 22:46:17.049612: Inverter 0 count register writes 0
2026-08-15 22:46:17.094884: Total inverter register writes now 826
2026-08-15 22:46:17.165540: Info: Completed run status Demand
2026-08-15 22:46:17.176148: Info: record_status Demand
2026-08-15 22:46:17.187978: Saved current settings to /config/predbat_config.json
2026-08-15 22:46:17.188268: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 22:46:18.399967: ML Predictor: Epoch 6/30: lr=0.00094 huber_loss=0.0110 val_mae=0.0037 kWh val_bias=-0.0005 kWh (-0.6%) combined=0.0021 kWh ema_combined=0.0025 kWh
2026-08-15 22:46:48.475694: ML Predictor: Epoch 7/30: lr=0.00091 huber_loss=0.0109 val_mae=0.0040 kWh val_bias=+0.0001 kWh (+0.1%) combined=0.0024 kWh ema_combined=0.0025 kWh
2026-08-15 22:46:57.434079: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 22:46:57.434583: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 22:46:57.434744: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 22:46:57.435078: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 22:46:57.435238: Note: Inverter does not support discharge freeze - disabled
2026-08-15 22:46:57.435371: Note: Inverter does not support charge freeze - disabled
2026-08-15 22:46:57.435494: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 22:47:18.447623: ML Predictor: Epoch 8/30: lr=0.00088 huber_loss=0.0127 val_mae=0.0047 kWh val_bias=-0.0018 kWh (-2.6%) combined=0.0033 kWh ema_combined=0.0027 kWh
2026-08-15 22:47:49.711559: ML Predictor: Epoch 9/30: lr=0.00084 huber_loss=0.0109 val_mae=0.0038 kWh val_bias=-0.0011 kWh (-1.6%) combined=0.0024 kWh ema_combined=0.0026 kWh
2026-08-15 22:48:21.228144: ML Predictor: Epoch 10/30: lr=0.00080 huber_loss=0.0098 val_mae=0.0037 kWh val_bias=-0.0010 kWh (-1.4%) combined=0.0022 kWh ema_combined=0.0025 kWh
2026-08-15 22:48:55.329004: ML Predictor: Epoch 11/30: lr=0.00076 huber_loss=0.0085 val_mae=0.0030 kWh val_bias=-0.0005 kWh (-0.8%) combined=0.0018 kWh ema_combined=0.0023 kWh
2026-08-15 22:49:11.967985: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 22:49:11.968464: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 22:49:11.968712: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 22:49:11.969127: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 22:49:11.969338: Note: Inverter does not support discharge freeze - disabled
2026-08-15 22:49:11.969463: Note: Inverter does not support charge freeze - disabled
2026-08-15 22:49:11.969646: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 22:49:28.237043: ML Predictor: Epoch 12/30: lr=0.00072 huber_loss=0.0069 val_mae=0.0032 kWh val_bias=-0.0018 kWh (-2.6%) combined=0.0028 kWh ema_combined=0.0024 kWh
2026-08-15 22:49:59.459855: ML Predictor: Epoch 13/30: lr=0.00067 huber_loss=0.0071 val_mae=0.0029 kWh val_bias=+0.0002 kWh (+0.3%) combined=0.0016 kWh ema_combined=0.0022 kWh
2026-08-15 22:50:00.315958: --------------- PredBat - update at 2026-08-15 22:50:00+01:00 with clock skew 0 minutes, minutes now 1370
2026-08-15 22:50:00.317195: Saved current settings to /config/predbat_config.json
2026-08-15 22:50:00.317420: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 15.0 minutes
2026-08-15 22:50:00.317666: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.2, latest beta is v8.48.2
2026-08-15 22:50:00.317814: Autoupdate: There is an update pending v8.48.2 PV90 and second pass enabled by default, bug fixes - auto update is off
2026-08-15 22:50:00.355365: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 22:50:00.355682: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 22:50:00.356010: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 22:50:00.356691: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 22:50:00.356974: Predbat mode is set to Control charge & discharge
2026-08-15 22:50:00.731567: Found 21602 load_today datapoints going back 28 days
2026-08-15 22:50:00.732102: Using load_power data to fill gaps in load_today data
2026-08-15 22:50:02.019977: Processing 721 30-minute periods for power integration
2026-08-15 22:50:02.461065: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 22:50:02.461217: Car charging hold False, threshold 6.0kWh
2026-08-15 22:50:02.461270: Current data so far today: load 11.1kWh, import 27.9kWh, export 0.0kWh, PV 0kWh
2026-08-15 22:50:02.479872: Cars: SoC: [8.204]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 22:50:02.480379: Standing charge is set to 49.98p
2026-08-15 22:50:02.543136: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 22:50:02.543424: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 22:50:02.544014: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 5.0 minutes
2026-08-15 22:50:02.544473: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 5.0 minutes
2026-08-15 22:50:02.551391: Loaded 95 datapoints of futurerate analysis
2026-08-15 22:50:02.847565: Predicted future rates: ['08-15 00:00:00 => 28.69 / 20.01', '08-15 01:00:00 => 27.33 / 19.31', '08-15 02:00:00 => 26.31 / 18.8', '08-15 03:00:00 => 25.78 / 18.53', '08-15 04:00:00 => 25.59 / 18.43', '08-15 05:00:00 => 25.75 / 18.51', '08-15 06:00:00 => 25.34 / 18.3', '08-15 07:00:00 => 24.12 / 17.68', '08-15 08:00:00 => 22.82 / 17.01', '08-15 09:00:00 => 21.84 / 16.51', '08-15 10:00:00 => 20.22 / 15.68', '08-15 11:00:00 => 17.8 / 14.45', '08-15 12:00:00 => 16.16 / 13.61', '08-15 13:00:00 => 15.55 / 13.3', '08-15 14:00:00 => 15.14 / 13.09', '08-15 15:00:00 => 15.65 / 13.35', '08-15 16:00:00 => 32.68 / 16.13', '08-15 17:00:00 => 37.81 / 18.75', '08-15 18:00:00 => 42.15 / 20.96', '08-15 19:00:00 => 30.88 / 21.13', '08-15 20:00:00 => 31.43 / 21.41', '08-15 21:00:00 => 31.43 / 21.41', '08-15 22:00:00 => 30.37 / 20.87', '08-15 23:00:00 => 29.16 / 20.25', '08-16 00:00:00 => 28.62 / 19.97', '08-16 01:00:00 => 27.52 / 19.41', '08-16 02:00:00 => 26.55 / 18.92', '08-16 03:00:00 => 26.18 / 18.73', '08-16 04:00:00 => 26.12 / 18.7', '08-16 05:00:00 => 26.02 / 18.65', '08-16 06:00:00 => 25.78 / 18.53', '08-16 07:00:00 => 25.43 / 18.35', '08-16 08:00:00 => 24.63 / 17.94', '08-16 09:00:00 => 24.05 / 17.64', '08-16 10:00:00 => 24.59 / 17.92', '08-16 11:00:00 => 24.5 / 17.87', '08-16 12:00:00 => 23.58 / 17.4', '08-16 13:00:00 => 22.93 / 17.07', '08-16 14:00:00 => 21.8 / 16.49', '08-16 15:00:00 => 21.8 / 16.49', '08-16 16:00:00 => 36.93 / 18.3', '08-16 17:00:00 => 39.92 / 19.83', '08-16 18:00:00 => 43.98 / 21.9', '08-16 19:00:00 => 32.83 / 22.13', '08-16 20:00:00 => 33.62 / 22.53', '08-16 21:00:00 => 33.52 / 22.48']
2026-08-15 22:50:02.947159: Rate min forward looking: now 21.41p at end of forecast 21.41p
2026-08-15 22:50:02.947753: Import rates: min 21.41p, max 45.28p, average 28.72p
2026-08-15 22:50:03.041890: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 22:50:03.042056: Rate thresholds (for charge/export) are import 44.78p (0.0p), export -0.1p (0.0p)
2026-08-15 22:50:03.043538: High export rate found rates in range 99p to -99p
2026-08-15 22:50:03.177455: Low Import rate found rates in range 21.41p to 44.34p
2026-08-15 22:50:03.177592: Car 0 charging is not planned as it is not plugged in
2026-08-15 22:50:03.194895: Battery level now 13.74kWh, -1hr ago 14.24kWh, at midnight 1.66kWh, battery value change in the last hour -9.12p, change today 222.34p, rate_forward 18.39p
2026-08-15 22:50:03.195400: Last hour: net energy 0.05kWh, import 0.05kWh, export 0.0kWh, car 0kWh, load 0.62kWh, net cost 1.56p, import 1.56p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 22:50:03.282840: Today's energy total net 27.9kWh, import 27.9kWh, export 0.0kWh, cost 576.57p, import 526.58p, export 0.0p, carbon 0.0kg
2026-08-15 22:50:03.283053: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 22:50:03.488139: Using weighted-bucket historical load forecast over 14 days
2026-08-15 22:50:03.568435: Today's load divergence 77.57%, in-day adjustment 81.85%, damping 0.95x, yesterday 143.77% today 78.69% blend 4.86%
2026-08-15 22:50:03.581032: Today's predicted so far 13.79kWh with 0.0kWh car/iBoost excluded, 20.88kWh import ignored, and 13.79kWh forecast extra.
2026-08-15 22:50:03.581119: Today's actual load so far 11.03kWh with 0.0kWh car/iBoost excluded, and 20.88kWh import ignored.
2026-08-15 22:50:03.641332: Inverter 0: Type SK Sunsynk
2026-08-15 22:50:03.641597: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 22:50:03.641950: Reserve min: 7%, battery_min: 7%
2026-08-15 22:50:03.642119: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 22:50:03.642560: Inverter 0 SoC: 13.6kW 85%, current charge rate 5000W, current discharge rate 5250W, current battery power 1652W, current battery voltage 51.2V, grid power -55W, load power 1717W, PV Power 0W
2026-08-15 22:50:03.642840: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 22:50:03.643021: Inverter 0 scheduled charge enable is False
2026-08-15 22:50:03.643080: Inverter 0 charge windows currently []
2026-08-15 22:50:03.643216: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 22:50:03.643446: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 22:50:03.643505: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 22:50:03.643676: Inverter 0 scheduled discharge enable is False
2026-08-15 22:50:03.643933: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 22:50:03.643990: Inverter 0 discharge windows currently []
2026-08-15 22:50:03.644084: Note: Inverter does not support discharge freeze - disabled
2026-08-15 22:50:03.644168: Note: Inverter does not support charge freeze - disabled
2026-08-15 22:50:03.644278: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 22:50:03.789552: Dynamic load last period 1.20kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 22:50:03.789702: Plan was last updated on 2026-08-15 22:45:00+01:00 and is now 5.0 minutes old
2026-08-15 22:50:03.790131: Best charge window [ 16-08 11:30:00 - 16-08 12:30:00 @ 23.46p 31%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 38%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 50%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 100%, 16-08 14:30:00 - 16-08 16:00:00 @ 22.56p 78%, 17-08 12:30:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 17-08 22:30:00 @ 34.7p 100% ]
2026-08-15 22:50:03.790194: Best export window [  ]
2026-08-15 22:50:03.791763: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 22:50:03.796856: Load divergence over 8.0 hours mean 775.08W, min 362.4W, max 1997.4W, std dev 432.31W, divergence 27.89%
2026-08-15 22:50:03.864996: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 22:50:03.865150: LoadML is_calculating True
2026-08-15 22:50:03.865184: Not using thread pool as LoadML is calculating to avoid lockups
2026-08-15 22:50:03.981999: predict base end_record 08-17 12:35:00, final soc 1.12kWh, metric 1064.12p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 16:45:00, load 35.86kWh, PV 0.0kWh
2026-08-15 22:50:04.254336: Battery has 17.92 hours left - now at 13.6kWh
2026-08-15 22:50:04.348401: predict base10 end_record 08-17 12:35:00, final soc 1.12kWh, metric 1100.78p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 15:40:00, load 37.05kWh, PV 0.0kWh
2026-08-15 22:50:04.504233: predict best10 end_record 08-17 12:35:00, final soc 1.44kWh, metric 1034.74p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 07:05:00, load 37.05kWh, PV 0.0kWh
2026-08-15 22:50:04.674654: predict best end_record 08-17 12:35:00, final soc 1.51kWh, metric 1005.74p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 08:15:00, load 35.86kWh, PV 0.0kWh
2026-08-15 22:50:04.674760: Saving plan best values to HA entities
2026-08-15 22:50:05.082553: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0
2026-08-15 22:50:05.091169: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 22:50:05.098788: Best charging limit SoC's [5.0, 6.0, 8.0, 16.0, 12.5, 16.0, 16.0]kWh, export []kWh gives import battery 11.78kWh, house 2.85kWh, export 0.0kWh, metric 1005.74p, metric10 1034.74p
2026-08-15 22:50:05.294830: Marginal costs baseline metric (no standing charge): 905.772
2026-08-15 22:50:05.608550: Marginal energy costs matrix computed: min=24.98 max=28.07
2026-08-15 22:50:05.752671: Rate array import [{'start': 1370, 'end': 1410, 'rate': 'expensive', 'range': '(29.8p - 30.0p)'}, {'start': 1410, 'end': 2400, 'rate': 'cheap', 'range': '(21.4p - 28.2p)'}, {'start': 2400, 'end': 2430, 'rate': 'expensive', 'range': '(36.8p)'}, {'start': 2430, 'end': 2580, 'rate': 'very expensive', 'range': '(37.5p - 45.3p)'}, {'start': 2580, 'end': 2850, 'rate': 'expensive', 'range': '(30.0p - 35.9p)'}, {'start': 2850, 'end': 3635, 'rate': 'cheap', 'range': '(22.3p - 28.2p)'}] export [{'start': 1370, 'end': 3635, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 22:50:05.753636: - Your estimated bill for today is £5.77 and tomorrow is £2.99
2026-08-15 22:50:05.753919: - Import rates are expensive (29.8p - 30.0p) for the next 40 minutes and then cheap (21.4p - 28.2p) for the next 16 hours.
2026-08-15 22:50:05.754067: - The battery is currently at 85% and is in eco mode for the next 12 hours.
2026-08-15 22:50:05.754110: - For the next 48 hours there will be no solar generation.
2026-08-15 22:50:05.754130: - You will run out of battery in 33 hours.
2026-08-15 22:50:05.754170: - Your next charge slot will be in 12 hours where import rates will be cheap (23.5p).
2026-08-15 22:50:05.754196: 
2026-08-15 22:50:05.846591: Plan calculation took 2.06 seconds
2026-08-15 22:50:05.850408: No high rate period found
2026-08-15 22:50:05.985701: Import threshold used for optimisation was 24.94p
2026-08-15 22:50:06.101883: Low import rate windows [0: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 1: 08-15 23:00:00 - 08-15 23:30:00 @ 30.02, 2: 08-15 23:30:00 - 08-16 00:00:00 @ 27.8, 3: 08-16 00:00:00 - 08-16 00:30:00 @ 28.18, 4: 08-16 00:30:00 - 08-16 01:00:00 @ 27.38, 5: 08-16 01:00:00 - 08-16 01:30:00 @ 26.7, 6: 08-16 01:30:00 - 08-16 02:00:00 @ 26.31, 7: 08-16 02:00:00 - 08-16 02:30:00 @ 25.79, 8: 08-16 02:30:00 - 08-16 03:00:00 @ 25.86, 9: 08-16 03:00:00 - 08-16 03:30:00 @ 26.13, 10: 08-16 03:30:00 - 08-16 04:00:00 @ 25.86, 11: 08-16 04:00:00 - 08-16 04:30:00 @ 26.27, 12: 08-16 04:30:00 - 08-16 05:00:00 @ 26.14, 13: 08-16 05:00:00 - 08-16 05:30:00 @ 27.03, 14: 08-16 05:30:00 - 08-16 06:00:00 @ 26.28, 15: 08-16 06:00:00 - 08-16 06:30:00 @ 25.68, 16: 08-16 06:30:00 - 08-16 07:00:00 @ 26.1, 17: 08-16 07:00:00 - 08-16 07:30:00 @ 24.28, 18: 08-16 07:30:00 - 08-16 08:00:00 @ 24.94, 19: 08-16 08:00:00 - 08-16 08:30:00 @ 24.06, 20: 08-16 08:30:00 - 08-16 09:00:00 @ 24.39, 21: 08-16 09:00:00 - 08-16 09:30:00 @ 24.66, 22: 08-16 09:30:00 - 08-16 10:00:00 @ 24.06, 23: 08-16 10:00:00 - 08-16 10:30:00 @ 25.5, 24: 08-16 10:30:00 - 08-16 11:00:00 @ 24.94, 25: 08-16 11:00:00 - 08-16 11:30:00 @ 24.25, 26: 08-16 11:30:00 - 08-16 12:00:00 @ 23.49, 27: 08-16 12:00:00 - 08-16 12:30:00 @ 23.43, 28: 08-16 12:30:00 - 08-16 13:00:00 @ 22.33, 29: 08-16 13:00:00 - 08-16 13:30:00 @ 22.76, 30: 08-16 13:30:00 - 08-16 14:00:00 @ 22.3, 31: 08-16 14:00:00 - 08-16 14:30:00 @ 21.41, 32: 08-16 14:30:00 - 08-16 15:00:00 @ 21.65, 33: 08-16 15:00:00 - 08-16 15:30:00 @ 22.95, 34: 08-16 15:30:00 - 08-16 16:00:00 @ 22.83, 35: 08-16 16:00:00 - 08-16 16:30:00 @ 36.84, 36: 08-16 16:30:00 - 08-16 17:00:00 @ 37.54, 37: 08-16 17:00:00 - 08-16 17:30:00 @ 41.79, 38: 08-16 17:30:00 - 08-16 18:00:00 @ 43.7, 39: 08-16 18:00:00 - 08-16 18:30:00 @ 44.34, 40: 08-16 19:00:00 - 08-16 19:30:00 @ 34.79, 41: 08-16 19:30:00 - 08-16 20:00:00 @ 34.76, 42: 08-16 20:00:00 - 08-16 20:30:00 @ 35.62, 43: 08-16 20:30:00 - 08-16 21:00:00 @ 35.3, 44: 08-16 21:00:00 - 08-16 21:30:00 @ 35.89, 45: 08-16 21:30:00 - 08-16 22:00:00 @ 35.71, 46: 08-16 22:00:00 - 08-16 22:30:00 @ 33.75, 47: 08-16 22:30:00 - 08-16 23:00:00 @ 32.0, 48: 08-16 23:00:00 - 08-16 23:30:00 @ 30.02, 49: 08-16 23:30:00 - 08-17 00:00:00 @ 27.8, 50: 08-17 00:00:00 - 08-17 00:30:00 @ 28.18, 51: 08-17 00:30:00 - 08-17 01:00:00 @ 27.38, 52: 08-17 01:00:00 - 08-17 01:30:00 @ 26.7, 53: 08-17 01:30:00 - 08-17 02:00:00 @ 26.31, 54: 08-17 02:00:00 - 08-17 02:30:00 @ 25.79, 55: 08-17 02:30:00 - 08-17 03:00:00 @ 25.86, 56: 08-17 03:00:00 - 08-17 03:30:00 @ 26.13, 57: 08-17 03:30:00 - 08-17 04:00:00 @ 25.86, 58: 08-17 04:00:00 - 08-17 04:30:00 @ 26.27, 59: 08-17 04:30:00 - 08-17 05:00:00 @ 26.14, 60: 08-17 05:00:00 - 08-17 05:30:00 @ 27.03, 61: 08-17 05:30:00 - 08-17 06:00:00 @ 26.28, 62: 08-17 06:00:00 - 08-17 06:30:00 @ 25.68, 63: 08-17 06:30:00 - 08-17 07:00:00 @ 26.1, 64: 08-17 07:00:00 - 08-17 07:30:00 @ 24.28, 65: 08-17 07:30:00 - 08-17 08:00:00 @ 24.94, 66: 08-17 08:00:00 - 08-17 08:30:00 @ 24.06, 67: 08-17 08:30:00 - 08-17 09:00:00 @ 24.39, 68: 08-17 09:00:00 - 08-17 09:30:00 @ 24.66, 69: 08-17 09:30:00 - 08-17 10:00:00 @ 24.06, 70: 08-17 10:00:00 - 08-17 10:30:00 @ 25.5, 71: 08-17 10:30:00 - 08-17 11:00:00 @ 24.94, 72: 08-17 11:00:00 - 08-17 11:30:00 @ 24.25, 73: 08-17 11:30:00 - 08-17 12:00:00 @ 23.49, 74: 08-17 12:00:00 - 08-17 12:30:00 @ 23.43, 75: 08-17 12:30:00 - 08-17 13:00:00 @ 22.33, 76: 08-17 13:00:00 - 08-17 13:30:00 @ 22.76, 77: 08-17 13:30:00 - 08-17 14:00:00 @ 22.3, 78: 08-17 14:00:00 - 08-17 14:30:00 @ 21.41, 79: 08-17 14:30:00 - 08-17 15:00:00 @ 21.65, 80: 08-17 15:00:00 - 08-17 15:30:00 @ 22.95, 81: 08-17 15:30:00 - 08-17 16:00:00 @ 22.83, 82: 08-17 16:00:00 - 08-17 16:30:00 @ 36.84, 83: 08-17 16:30:00 - 08-17 17:00:00 @ 37.54, 84: 08-17 17:00:00 - 08-17 17:30:00 @ 41.79, 85: 08-17 17:30:00 - 08-17 18:00:00 @ 43.7, 86: 08-17 18:00:00 - 08-17 18:30:00 @ 44.34, 87: 08-17 19:00:00 - 08-17 19:30:00 @ 34.79, 88: 08-17 19:30:00 - 08-17 20:00:00 @ 34.76, 89: 08-17 20:00:00 - 08-17 20:30:00 @ 35.62, 90: 08-17 20:30:00 - 08-17 21:00:00 @ 35.3, 91: 08-17 21:00:00 - 08-17 21:30:00 @ 35.89, 92: 08-17 21:30:00 - 08-17 22:00:00 @ 35.71, 93: 08-17 22:00:00 - 08-17 22:30:00 @ 33.75, 94: 08-17 22:30:00 - 08-17 23:00:00 @ 32.0]
2026-08-15 22:50:06.127985: Inverter 0 Charge window will be: 2026-08-16 11:30:00+01:00 - 2026-08-16 16:00:00+01:00 - current SoC 85%, target 31%
2026-08-15 22:50:06.128329: Inverter 0 disabled charge window while waiting for schedule (now 08-15 22:50:00 target set_window_minutes 30 charge start time 08-16 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 22:50:06.128549: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 22:50:06.128900: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 22:50:06.129131: No export window planned
2026-08-15 22:50:06.129387: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 22:50:06.129553: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 22:50:06.129863: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 22:50:06.130172: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 22:50:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 22:50:06.130335: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 22:50:06.130520: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 22:50:06.130734: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 22:50:06.130919: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 22:50:06.131065: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 22:50:06.131210: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 22:50:06.131351: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 22:50:06.131495: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 22:50:06.131659: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 22:50:06.131853: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 22:50:06.132003: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 22:50:06.132147: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 22:50:06.132286: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 22:50:06.132427: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 22:50:06.132586: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 22:50:06.132731: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 22:50:06.132862: Inverter 0 count register writes 0
2026-08-15 22:50:06.157989: Will not recompute the plan, it is 5.0 minutes old and max age is 10 minutes
2026-08-15 22:50:06.167427: Total inverter register writes now 826
2026-08-15 22:50:06.243395: Info: Completed run status Demand
2026-08-15 22:50:06.260563: Info: record_status Demand
2026-08-15 22:50:06.268892: Saved current settings to /config/predbat_config.json
2026-08-15 22:50:06.269301: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 22:50:36.421164: ML Predictor: Epoch 14/30: lr=0.00062 huber_loss=0.0071 val_mae=0.0029 kWh val_bias=-0.0009 kWh (-1.3%) combined=0.0020 kWh ema_combined=0.0021 kWh
2026-08-15 22:50:41.535527: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 22:50:41.535905: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 22:50:41.535973: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 22:50:41.536213: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 22:50:41.536278: Note: Inverter does not support discharge freeze - disabled
2026-08-15 22:50:41.536316: Note: Inverter does not support charge freeze - disabled
2026-08-15 22:50:41.536347: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 22:51:08.784236: ML Predictor: Epoch 15/30: lr=0.00057 huber_loss=0.0070 val_mae=0.0025 kWh val_bias=-0.0001 kWh (-0.2%) combined=0.0016 kWh ema_combined=0.0020 kWh
2026-08-15 22:51:39.407650: ML Predictor: Epoch 16/30: lr=0.00053 huber_loss=0.0064 val_mae=0.0029 kWh val_bias=-0.0016 kWh (-2.3%) combined=0.0027 kWh ema_combined=0.0022 kWh
2026-08-15 22:52:11.150897: ML Predictor: Epoch 17/30: lr=0.00048 huber_loss=0.0063 val_mae=0.0024 kWh val_bias=-0.0007 kWh (-1.0%) combined=0.0016 kWh ema_combined=0.0020 kWh
2026-08-15 22:52:40.318987: ML Predictor: Epoch 18/30: lr=0.00043 huber_loss=0.0061 val_mae=0.0028 kWh val_bias=-0.0006 kWh (-0.9%) combined=0.0014 kWh ema_combined=0.0018 kWh
2026-08-15 22:52:42.057781: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 22:52:42.058238: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 22:52:42.058428: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 22:52:42.058785: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 22:52:42.058927: Note: Inverter does not support discharge freeze - disabled
2026-08-15 22:52:42.059083: Note: Inverter does not support charge freeze - disabled
2026-08-15 22:52:42.059207: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 22:53:12.740122: ML Predictor: Epoch 19/30: lr=0.00038 huber_loss=0.0066 val_mae=0.0023 kWh val_bias=+0.0000 kWh (+0.0%) combined=0.0013 kWh ema_combined=0.0017 kWh
2026-08-15 22:53:43.916009: ML Predictor: Epoch 20/30: lr=0.00034 huber_loss=0.0055 val_mae=0.0023 kWh val_bias=-0.0007 kWh (-1.0%) combined=0.0016 kWh ema_combined=0.0017 kWh
2026-08-15 22:54:18.744085: ML Predictor: Epoch 21/30: lr=0.00030 huber_loss=0.0061 val_mae=0.0022 kWh val_bias=-0.0008 kWh (-1.1%) combined=0.0016 kWh ema_combined=0.0016 kWh
2026-08-15 22:54:50.172144: ML Predictor: Epoch 22/30: lr=0.00026 huber_loss=0.0060 val_mae=0.0026 kWh val_bias=-0.0010 kWh (-1.4%) combined=0.0015 kWh ema_combined=0.0016 kWh
2026-08-15 22:54:56.591039: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 22:54:56.591653: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 22:54:56.592202: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 22:54:56.592609: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 22:54:56.592768: Note: Inverter does not support discharge freeze - disabled
2026-08-15 22:54:56.592896: Note: Inverter does not support charge freeze - disabled
2026-08-15 22:54:56.593051: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 22:55:00.813835: --------------- PredBat - update at 2026-08-15 22:55:00+01:00 with clock skew 0 minutes, minutes now 1375
2026-08-15 22:55:00.814920: Saved current settings to /config/predbat_config.json
2026-08-15 22:55:00.815174: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 20.0 minutes
2026-08-15 22:55:00.815394: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.2, latest beta is v8.48.2
2026-08-15 22:55:00.815607: Autoupdate: There is an update pending v8.48.2 PV90 and second pass enabled by default, bug fixes - auto update is off
2026-08-15 22:55:00.841658: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 22:55:00.841983: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 22:55:00.842299: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 22:55:00.842957: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 22:55:00.843203: Predbat mode is set to Control charge & discharge
2026-08-15 22:55:01.085044: Found 21602 load_today datapoints going back 28 days
2026-08-15 22:55:01.085371: Using load_power data to fill gaps in load_today data
2026-08-15 22:55:02.697132: Processing 721 30-minute periods for power integration
2026-08-15 22:55:03.056836: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 22:55:03.057033: Car charging hold False, threshold 6.0kWh
2026-08-15 22:55:03.057110: Current data so far today: load 11.2kWh, import 27.9kWh, export 0.0kWh, PV 0kWh
2026-08-15 22:55:03.087645: Cars: SoC: [8.204]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 22:55:03.088112: Standing charge is set to 49.98p
2026-08-15 22:55:03.268292: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 22:55:03.268435: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 22:55:03.268703: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 10.0 minutes
2026-08-15 22:55:03.269224: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 10.0 minutes
2026-08-15 22:55:03.275354: Loaded 95 datapoints of futurerate analysis
2026-08-15 22:55:03.459696: Predicted future rates: ['08-15 00:00:00 => 28.69 / 20.01', '08-15 01:00:00 => 27.33 / 19.31', '08-15 02:00:00 => 26.31 / 18.8', '08-15 03:00:00 => 25.78 / 18.53', '08-15 04:00:00 => 25.59 / 18.43', '08-15 05:00:00 => 25.75 / 18.51', '08-15 06:00:00 => 25.34 / 18.3', '08-15 07:00:00 => 24.12 / 17.68', '08-15 08:00:00 => 22.82 / 17.01', '08-15 09:00:00 => 21.84 / 16.51', '08-15 10:00:00 => 20.22 / 15.68', '08-15 11:00:00 => 17.8 / 14.45', '08-15 12:00:00 => 16.16 / 13.61', '08-15 13:00:00 => 15.55 / 13.3', '08-15 14:00:00 => 15.14 / 13.09', '08-15 15:00:00 => 15.65 / 13.35', '08-15 16:00:00 => 32.68 / 16.13', '08-15 17:00:00 => 37.81 / 18.75', '08-15 18:00:00 => 42.15 / 20.96', '08-15 19:00:00 => 30.88 / 21.13', '08-15 20:00:00 => 31.43 / 21.41', '08-15 21:00:00 => 31.43 / 21.41', '08-15 22:00:00 => 30.37 / 20.87', '08-15 23:00:00 => 29.16 / 20.25', '08-16 00:00:00 => 28.62 / 19.97', '08-16 01:00:00 => 27.52 / 19.41', '08-16 02:00:00 => 26.55 / 18.92', '08-16 03:00:00 => 26.18 / 18.73', '08-16 04:00:00 => 26.12 / 18.7', '08-16 05:00:00 => 26.02 / 18.65', '08-16 06:00:00 => 25.78 / 18.53', '08-16 07:00:00 => 25.43 / 18.35', '08-16 08:00:00 => 24.63 / 17.94', '08-16 09:00:00 => 24.05 / 17.64', '08-16 10:00:00 => 24.59 / 17.92', '08-16 11:00:00 => 24.5 / 17.87', '08-16 12:00:00 => 23.58 / 17.4', '08-16 13:00:00 => 22.93 / 17.07', '08-16 14:00:00 => 21.8 / 16.49', '08-16 15:00:00 => 21.8 / 16.49', '08-16 16:00:00 => 36.93 / 18.3', '08-16 17:00:00 => 39.92 / 19.83', '08-16 18:00:00 => 43.98 / 21.9', '08-16 19:00:00 => 32.83 / 22.13', '08-16 20:00:00 => 33.62 / 22.53', '08-16 21:00:00 => 33.52 / 22.48']
2026-08-15 22:55:03.565564: Rate min forward looking: now 21.41p at end of forecast 21.41p
2026-08-15 22:55:03.566287: Import rates: min 21.41p, max 45.28p, average 28.73p
2026-08-15 22:55:03.678031: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 22:55:03.678169: Rate thresholds (for charge/export) are import 44.78p (0.0p), export -0.1p (0.0p)
2026-08-15 22:55:03.679678: High export rate found rates in range 99p to -99p
2026-08-15 22:55:03.922519: Low Import rate found rates in range 21.41p to 44.34p
2026-08-15 22:55:03.923201: Car 0 charging is not planned as it is not plugged in
2026-08-15 22:55:03.938042: Battery level now 13.6kWh, -1hr ago 14.08kWh, at midnight 1.66kWh, battery value change in the last hour -8.83p, change today 219.69p, rate_forward 18.39p
2026-08-15 22:55:03.938448: Last hour: net energy 0.05kWh, import 0.05kWh, export 0.0kWh, car 0kWh, load 0.7kWh, net cost 1.42p, import 1.42p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 22:55:04.045341: Today's energy total net 27.9kWh, import 27.9kWh, export 0.0kWh, cost 576.57p, import 526.58p, export 0.0p, carbon 0.0kg
2026-08-15 22:55:04.045539: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 22:55:04.292803: Using weighted-bucket historical load forecast over 14 days
2026-08-15 22:55:04.412122: Today's load divergence 77.61%, in-day adjustment 81.67%, damping 0.95x, yesterday 143.77% today 78.73% blend 4.51%
2026-08-15 22:55:04.412375: Today's predicted so far 13.85kWh with 0.0kWh car/iBoost excluded, 20.85kWh import ignored, and 13.85kWh forecast extra.
2026-08-15 22:55:04.412867: Today's actual load so far 11.09kWh with 0.0kWh car/iBoost excluded, and 20.85kWh import ignored.
2026-08-15 22:55:04.485184: Inverter 0: Type SK Sunsynk
2026-08-15 22:55:04.485424: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 22:55:04.485768: Reserve min: 7%, battery_min: 7%
2026-08-15 22:55:04.485900: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 22:55:04.486362: Inverter 0 SoC: 13.6kW 85%, current charge rate 5000W, current discharge rate 5250W, current battery power 1594W, current battery voltage 51.2V, grid power -54W, load power 1656W, PV Power 0W
2026-08-15 22:55:04.486644: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 22:55:04.486797: Inverter 0 scheduled charge enable is False
2026-08-15 22:55:04.487152: Inverter 0 charge windows currently []
2026-08-15 22:55:04.487234: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 22:55:04.487498: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 22:55:04.487568: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 22:55:04.487644: Inverter 0 scheduled discharge enable is False
2026-08-15 22:55:04.487899: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 22:55:04.487971: Inverter 0 discharge windows currently []
2026-08-15 22:55:04.488018: Note: Inverter does not support discharge freeze - disabled
2026-08-15 22:55:04.488055: Note: Inverter does not support charge freeze - disabled
2026-08-15 22:55:04.488102: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 22:55:04.589440: Dynamic load last period 1.20kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 22:55:04.589574: Plan was last updated on 2026-08-15 22:45:00+01:00 and is now 10.0 minutes old
2026-08-15 22:55:04.589974: Best charge window [ 16-08 11:30:00 - 16-08 12:30:00 @ 23.46p 31%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 38%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 50%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 100%, 16-08 14:30:00 - 16-08 16:00:00 @ 22.56p 78%, 17-08 12:30:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 17-08 22:30:00 @ 34.7p 100% ]
2026-08-15 22:55:04.590027: Best export window [  ]
2026-08-15 22:55:04.591331: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 22:55:04.596140: Load divergence over 8.0 hours mean 775.16W, min 378.0W, max 1875.0W, std dev 432.3W, divergence 27.88%
2026-08-15 22:55:04.661716: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 22:55:04.661879: LoadML is_calculating True
2026-08-15 22:55:04.661915: Not using thread pool as LoadML is calculating to avoid lockups
2026-08-15 22:55:04.785687: predict base end_record 08-17 12:40:00, final soc 1.12kWh, metric 1063.1p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 16:55:00, load 35.96kWh, PV 0.0kWh
2026-08-15 22:55:05.071081: Battery has 18.0 hours left - now at 13.6kWh
2026-08-15 22:55:05.145158: predict base10 end_record 08-17 12:40:00, final soc 1.12kWh, metric 1100.66p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 15:50:00, load 37.14kWh, PV 0.0kWh
2026-08-15 22:55:05.297094: predict best10 end_record 08-17 12:40:00, final soc 1.77kWh, metric 1042.13p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 07:05:00, load 37.14kWh, PV 0.0kWh
2026-08-15 22:55:05.504232: predict best end_record 08-17 12:40:00, final soc 1.9kWh, metric 1014.86p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 08:15:00, load 35.96kWh, PV 0.0kWh
2026-08-15 22:55:05.505138: Saving plan best values to HA entities
2026-08-15 22:55:05.909583: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 22:55:05.916130: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0.0
2026-08-15 22:55:05.928342: Best charging limit SoC's [5.0, 6.0, 8.0, 16.0, 12.5, 16.0, 16.0]kWh, export []kWh gives import battery 12.18kWh, house 2.85kWh, export 0.0kWh, metric 1014.86p, metric10 1042.13p
2026-08-15 22:55:06.110447: Marginal costs baseline metric (no standing charge): 914.8962
2026-08-15 22:55:06.544434: Marginal energy costs matrix computed: min=24.76 max=28.01
2026-08-15 22:55:06.787564: Rate array import [{'start': 1375, 'end': 1410, 'rate': 'expensive', 'range': '(29.8p - 30.0p)'}, {'start': 1410, 'end': 2400, 'rate': 'cheap', 'range': '(21.4p - 28.2p)'}, {'start': 2400, 'end': 2430, 'rate': 'expensive', 'range': '(36.8p)'}, {'start': 2430, 'end': 2580, 'rate': 'very expensive', 'range': '(37.5p - 45.3p)'}, {'start': 2580, 'end': 2850, 'rate': 'expensive', 'range': '(30.0p - 35.9p)'}, {'start': 2850, 'end': 3640, 'rate': 'cheap', 'range': '(22.3p - 28.2p)'}] export [{'start': 1375, 'end': 3640, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 22:55:06.788749: - Your estimated bill for today is £5.77 and tomorrow is £2.98
2026-08-15 22:55:06.788863: - Import rates are expensive (29.8p - 30.0p) for the next 35 minutes and then cheap (21.4p - 28.2p) for the next 16 hours.
2026-08-15 22:55:06.788911: - The battery is currently at 85% and is in eco mode for the next 12 hours.
2026-08-15 22:55:06.789021: - For the next 48 hours there will be no solar generation.
2026-08-15 22:55:06.789096: - You will run out of battery in 33 hours.
2026-08-15 22:55:06.789196: - Your next charge slot will be in 12 hours where import rates will be cheap (23.5p).
2026-08-15 22:55:06.789241: 
2026-08-15 22:55:06.857765: Plan calculation took 2.27 seconds
2026-08-15 22:55:06.861561: No high rate period found
2026-08-15 22:55:06.978946: Import threshold used for optimisation was 24.94p
2026-08-15 22:55:07.124153: Low import rate windows [0: 08-15 22:30:00 - 08-15 23:00:00 @ 29.81, 1: 08-15 23:00:00 - 08-15 23:30:00 @ 30.02, 2: 08-15 23:30:00 - 08-16 00:00:00 @ 27.8, 3: 08-16 00:00:00 - 08-16 00:30:00 @ 28.18, 4: 08-16 00:30:00 - 08-16 01:00:00 @ 27.38, 5: 08-16 01:00:00 - 08-16 01:30:00 @ 26.7, 6: 08-16 01:30:00 - 08-16 02:00:00 @ 26.31, 7: 08-16 02:00:00 - 08-16 02:30:00 @ 25.79, 8: 08-16 02:30:00 - 08-16 03:00:00 @ 25.86, 9: 08-16 03:00:00 - 08-16 03:30:00 @ 26.13, 10: 08-16 03:30:00 - 08-16 04:00:00 @ 25.86, 11: 08-16 04:00:00 - 08-16 04:30:00 @ 26.27, 12: 08-16 04:30:00 - 08-16 05:00:00 @ 26.14, 13: 08-16 05:00:00 - 08-16 05:30:00 @ 27.03, 14: 08-16 05:30:00 - 08-16 06:00:00 @ 26.28, 15: 08-16 06:00:00 - 08-16 06:30:00 @ 25.68, 16: 08-16 06:30:00 - 08-16 07:00:00 @ 26.1, 17: 08-16 07:00:00 - 08-16 07:30:00 @ 24.28, 18: 08-16 07:30:00 - 08-16 08:00:00 @ 24.94, 19: 08-16 08:00:00 - 08-16 08:30:00 @ 24.06, 20: 08-16 08:30:00 - 08-16 09:00:00 @ 24.39, 21: 08-16 09:00:00 - 08-16 09:30:00 @ 24.66, 22: 08-16 09:30:00 - 08-16 10:00:00 @ 24.06, 23: 08-16 10:00:00 - 08-16 10:30:00 @ 25.5, 24: 08-16 10:30:00 - 08-16 11:00:00 @ 24.94, 25: 08-16 11:00:00 - 08-16 11:30:00 @ 24.25, 26: 08-16 11:30:00 - 08-16 12:00:00 @ 23.49, 27: 08-16 12:00:00 - 08-16 12:30:00 @ 23.43, 28: 08-16 12:30:00 - 08-16 13:00:00 @ 22.33, 29: 08-16 13:00:00 - 08-16 13:30:00 @ 22.76, 30: 08-16 13:30:00 - 08-16 14:00:00 @ 22.3, 31: 08-16 14:00:00 - 08-16 14:30:00 @ 21.41, 32: 08-16 14:30:00 - 08-16 15:00:00 @ 21.65, 33: 08-16 15:00:00 - 08-16 15:30:00 @ 22.95, 34: 08-16 15:30:00 - 08-16 16:00:00 @ 22.83, 35: 08-16 16:00:00 - 08-16 16:30:00 @ 36.84, 36: 08-16 16:30:00 - 08-16 17:00:00 @ 37.54, 37: 08-16 17:00:00 - 08-16 17:30:00 @ 41.79, 38: 08-16 17:30:00 - 08-16 18:00:00 @ 43.7, 39: 08-16 18:00:00 - 08-16 18:30:00 @ 44.34, 40: 08-16 19:00:00 - 08-16 19:30:00 @ 34.79, 41: 08-16 19:30:00 - 08-16 20:00:00 @ 34.76, 42: 08-16 20:00:00 - 08-16 20:30:00 @ 35.62, 43: 08-16 20:30:00 - 08-16 21:00:00 @ 35.3, 44: 08-16 21:00:00 - 08-16 21:30:00 @ 35.89, 45: 08-16 21:30:00 - 08-16 22:00:00 @ 35.71, 46: 08-16 22:00:00 - 08-16 22:30:00 @ 33.75, 47: 08-16 22:30:00 - 08-16 23:00:00 @ 32.0, 48: 08-16 23:00:00 - 08-16 23:30:00 @ 30.02, 49: 08-16 23:30:00 - 08-17 00:00:00 @ 27.8, 50: 08-17 00:00:00 - 08-17 00:30:00 @ 28.18, 51: 08-17 00:30:00 - 08-17 01:00:00 @ 27.38, 52: 08-17 01:00:00 - 08-17 01:30:00 @ 26.7, 53: 08-17 01:30:00 - 08-17 02:00:00 @ 26.31, 54: 08-17 02:00:00 - 08-17 02:30:00 @ 25.79, 55: 08-17 02:30:00 - 08-17 03:00:00 @ 25.86, 56: 08-17 03:00:00 - 08-17 03:30:00 @ 26.13, 57: 08-17 03:30:00 - 08-17 04:00:00 @ 25.86, 58: 08-17 04:00:00 - 08-17 04:30:00 @ 26.27, 59: 08-17 04:30:00 - 08-17 05:00:00 @ 26.14, 60: 08-17 05:00:00 - 08-17 05:30:00 @ 27.03, 61: 08-17 05:30:00 - 08-17 06:00:00 @ 26.28, 62: 08-17 06:00:00 - 08-17 06:30:00 @ 25.68, 63: 08-17 06:30:00 - 08-17 07:00:00 @ 26.1, 64: 08-17 07:00:00 - 08-17 07:30:00 @ 24.28, 65: 08-17 07:30:00 - 08-17 08:00:00 @ 24.94, 66: 08-17 08:00:00 - 08-17 08:30:00 @ 24.06, 67: 08-17 08:30:00 - 08-17 09:00:00 @ 24.39, 68: 08-17 09:00:00 - 08-17 09:30:00 @ 24.66, 69: 08-17 09:30:00 - 08-17 10:00:00 @ 24.06, 70: 08-17 10:00:00 - 08-17 10:30:00 @ 25.5, 71: 08-17 10:30:00 - 08-17 11:00:00 @ 24.94, 72: 08-17 11:00:00 - 08-17 11:30:00 @ 24.25, 73: 08-17 11:30:00 - 08-17 12:00:00 @ 23.49, 74: 08-17 12:00:00 - 08-17 12:30:00 @ 23.43, 75: 08-17 12:30:00 - 08-17 13:00:00 @ 22.33, 76: 08-17 13:00:00 - 08-17 13:30:00 @ 22.76, 77: 08-17 13:30:00 - 08-17 14:00:00 @ 22.3, 78: 08-17 14:00:00 - 08-17 14:30:00 @ 21.41, 79: 08-17 14:30:00 - 08-17 15:00:00 @ 21.65, 80: 08-17 15:00:00 - 08-17 15:30:00 @ 22.95, 81: 08-17 15:30:00 - 08-17 16:00:00 @ 22.83, 82: 08-17 16:00:00 - 08-17 16:30:00 @ 36.84, 83: 08-17 16:30:00 - 08-17 17:00:00 @ 37.54, 84: 08-17 17:00:00 - 08-17 17:30:00 @ 41.79, 85: 08-17 17:30:00 - 08-17 18:00:00 @ 43.7, 86: 08-17 18:00:00 - 08-17 18:30:00 @ 44.34, 87: 08-17 19:00:00 - 08-17 19:30:00 @ 34.79, 88: 08-17 19:30:00 - 08-17 20:00:00 @ 34.76, 89: 08-17 20:00:00 - 08-17 20:30:00 @ 35.62, 90: 08-17 20:30:00 - 08-17 21:00:00 @ 35.3, 91: 08-17 21:00:00 - 08-17 21:30:00 @ 35.89, 92: 08-17 21:30:00 - 08-17 22:00:00 @ 35.71, 93: 08-17 22:00:00 - 08-17 22:30:00 @ 33.75, 94: 08-17 22:30:00 - 08-17 23:00:00 @ 32.0]
2026-08-15 22:55:07.139843: Inverter 0 Charge window will be: 2026-08-16 11:30:00+01:00 - 2026-08-16 16:00:00+01:00 - current SoC 85%, target 31%
2026-08-15 22:55:07.140053: Inverter 0 disabled charge window while waiting for schedule (now 08-15 22:55:00 target set_window_minutes 30 charge start time 08-16 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 22:55:07.140150: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 22:55:07.140391: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 22:55:07.141774: No export window planned
2026-08-15 22:55:07.142183: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 22:55:07.143438: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 22:55:07.143846: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 22:55:07.144177: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 22:55:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 22:55:07.144399: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 22:55:07.144583: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 22:55:07.144870: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 22:55:07.145049: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 22:55:07.145296: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 22:55:07.145419: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 22:55:07.145577: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 22:55:07.145720: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 22:55:07.145857: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 22:55:07.146056: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 22:55:07.146190: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 22:55:07.146388: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 22:55:07.146529: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 22:55:07.146682: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 22:55:07.146797: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 22:55:07.146940: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 22:55:07.147043: Inverter 0 count register writes 0
2026-08-15 22:55:07.181278: Will recompute the plan as it is now 10.0 minutes old and will exceed the max age of 10 minutes before the next run
2026-08-15 22:55:07.181632: Recompute is saving previous plan...
2026-08-15 22:55:07.185632: Best charge window [ 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 30.02p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 27.8p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.18p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.38p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 26.7p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.31p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.79p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 25.86p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.13p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 25.86p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.27p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.14p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 27.03p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.28p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.68p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 26.1p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 24.28p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 24.94p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.06p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.39p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.66p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.06p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 25.5p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 24.94p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 24.25p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 23.49p 0%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.43p 0%, 16-08 12:30:00 - 16-08 13:00:00 @ 22.33p 0%, 16-08 13:00:00 - 16-08 13:30:00 @ 22.76p 0%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 0%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 0%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.65p 0%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.95p 0%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.83p 0%, 16-08 16:00:00 - 16-08 16:30:00 @ 36.84p 0%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.54p 0%, 16-08 17:00:00 - 16-08 17:30:00 @ 41.79p 0%, 16-08 17:30:00 - 16-08 18:00:00 @ 43.7p 0%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.34p 0%, 16-08 19:00:00 - 16-08 19:30:00 @ 34.79p 0%, 16-08 19:30:00 - 16-08 20:00:00 @ 34.76p 0%, 16-08 20:00:00 - 16-08 20:30:00 @ 35.62p 0%, 16-08 20:30:00 - 16-08 21:00:00 @ 35.3p 0%, 16-08 21:00:00 - 16-08 21:30:00 @ 35.89p 0%, 16-08 21:30:00 - 16-08 22:00:00 @ 35.71p 0%, 16-08 22:00:00 - 16-08 22:30:00 @ 33.75p 0%, 16-08 22:30:00 - 16-08 23:00:00 @ 32.0p 0%, 16-08 23:00:00 - 16-08 23:30:00 @ 30.02p 0%, 16-08 23:30:00 - 17-08 00:00:00 @ 27.8p 0%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.18p 0%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.38p 0%, 17-08 01:00:00 - 17-08 01:30:00 @ 26.7p 0%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.31p 0%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.79p 0%, 17-08 02:30:00 - 17-08 03:00:00 @ 25.86p 0%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.13p 0%, 17-08 03:30:00 - 17-08 04:00:00 @ 25.86p 0%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.27p 0%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.14p 0%, 17-08 05:00:00 - 17-08 05:30:00 @ 27.03p 0%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.28p 0%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.68p 0%, 17-08 06:30:00 - 17-08 07:00:00 @ 26.1p 0%, 17-08 07:00:00 - 17-08 07:30:00 @ 24.28p 0%, 17-08 07:30:00 - 17-08 08:00:00 @ 24.94p 0%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.06p 0%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.39p 0%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.66p 0%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.06p 0%, 17-08 10:00:00 - 17-08 10:30:00 @ 25.5p 0%, 17-08 10:30:00 - 17-08 11:00:00 @ 24.94p 0%, 17-08 11:00:00 - 17-08 11:30:00 @ 24.25p 0%, 17-08 11:30:00 - 17-08 12:00:00 @ 23.49p 0%, 17-08 12:00:00 - 17-08 12:30:00 @ 23.43p 0%, 17-08 12:30:00 - 17-08 13:00:00 @ 22.33p 0%, 17-08 13:00:00 - 17-08 13:30:00 @ 22.76p 0%, 17-08 13:30:00 - 17-08 14:00:00 @ 22.3p 0%, 17-08 14:00:00 - 17-08 14:30:00 @ 21.41p 0%, 17-08 14:30:00 - 17-08 15:00:00 @ 21.65p 0%, 17-08 15:00:00 - 17-08 15:30:00 @ 22.95p 0%, 17-08 15:30:00 - 17-08 16:00:00 @ 22.83p 0%, 17-08 16:00:00 - 17-08 16:30:00 @ 36.84p 0%, 17-08 16:30:00 - 17-08 17:00:00 @ 37.54p 0%, 17-08 17:00:00 - 17-08 17:30:00 @ 41.79p 0%, 17-08 17:30:00 - 17-08 18:00:00 @ 43.7p 0%, 17-08 18:00:00 - 17-08 18:30:00 @ 44.34p 0%, 17-08 19:00:00 - 17-08 19:30:00 @ 34.79p 0%, 17-08 19:30:00 - 17-08 20:00:00 @ 34.76p 0%, 17-08 20:00:00 - 17-08 20:30:00 @ 35.62p 0%, 17-08 20:30:00 - 17-08 21:00:00 @ 35.3p 0%, 17-08 21:00:00 - 17-08 21:30:00 @ 35.89p 0%, 17-08 21:30:00 - 17-08 22:00:00 @ 35.71p 0%, 17-08 22:00:00 - 17-08 22:30:00 @ 33.75p 0%, 17-08 22:30:00 - 17-08 23:00:00 @ 32.0p 0% ]
2026-08-15 22:55:07.185818: Best export window [  ]
2026-08-15 22:55:07.186792: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 22:55:07.191442: Load divergence over 8.0 hours mean 775.16W, min 378.0W, max 1875.0W, std dev 432.3W, divergence 27.88%
2026-08-15 22:55:07.226761: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 22:55:07.226888: LoadML is_calculating True
2026-08-15 22:55:07.226928: Not using thread pool as LoadML is calculating to avoid lockups
2026-08-15 22:55:07.258213: Calculate Best options: mode(Control charge & discharge), calculate_export_oncharge(False), calculate_export_on_pv(True), set_export_freeze_only(False), set_discharge_during_charge(True), combine_charge_slots(False), combine_export_slots(False), combine_rate_threshold(0.0), best_soc_min(0.0 kWh), best_soc_max(0.0 kWh), best_soc_keep(0.0 kWh), inverter_loss(4%), battery_loss(3%), battery_loss_discharge (3%), inverter_hybrid(True), metric_min_improvement(0.0p), metric_min_improvement_export(0.1p), metric_min_improvement_export_freeze(0.1p), metric_battery_cycle(0.0p/kWh), metric_battery_value_scaling(1.0 x) 
2026-08-15 22:55:07.261420: Optimise levels pass started at 2026-08-15 22:55:07
2026-08-15 22:55:07.261507: Optimise all windows, total charge 94 export 1
2026-08-15 22:55:16.488290: >> Region optimisation pass width 960 gives best_metric 1049.49p, best_cost 1062.78p, best_cycle 40.05kWh, best_import 21.69kWh
2026-08-15 22:55:21.910905: >> Region optimisation pass width 480 gives best_metric 1051.38p, best_cost 1064.7p, best_cycle 39.62kWh, best_import 21.66kWh
2026-08-15 22:55:23.211448: >> Region optimisation pass width 240 gives best_metric 1051.38p, best_cost 1064.7p, best_cycle 39.62kWh, best_import 21.66kWh
2026-08-15 22:55:26.700254: >> Region optimisation pass width 120 gives best_metric 1051.38p, best_cost 1064.7p, best_cycle 39.62kWh, best_import 21.66kWh
2026-08-15 22:55:26.700756: Calculated end_record as 08-17 12:30:00 based on best_price 22.33p, next_charge_start 08-16 12:30:00, max_windows 75
2026-08-15 22:55:26.700902: Optimise levels pass ended at 2026-08-15 22:55:26, duration 19.4 seconds tried 341 combinations
2026-08-15 22:55:26.701112: Set best_price_charge_level 24.0p, best_price_export_level 0p, best_price_charge 22.33p, best_cost_export 0p, best_metric 1051.38p, best_keep 0kWh, best_cycle 39.62kWh, best_carbon 0kg, best_import 21.66kWh
2026-08-15 22:55:26.737136: Starting detailed optimisation end_record 08-17 12:30:00, best_price_charge 22.33p, best_price_export 0p. lowest_price_charge 21.41p with charge limits [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12.75, 0, 12.75, 12.75, 12.75, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0]kWh and export limits []kWh
2026-08-15 22:55:47.924839: ML Predictor: Epoch 23/30: lr=0.00022 huber_loss=0.0057 val_mae=0.0026 kWh val_bias=-0.0013 kWh (-1.9%) combined=0.0020 kWh ema_combined=0.0017 kWh
2026-08-15 22:56:04.830843: Tweak plan optimisation started metric 877.02p, cost 893.23p
2026-08-15 22:56:07.362136: Tweak optimisation finished metric 877.02p, cost 893.23p, metric_keep 0kWh, cycle 26.74kWh, carbon 0kg, import 14.05kWh, changed 8 window(s)
2026-08-15 22:56:07.410733: Swap charge optimisation started metric 877.02p, cost 893.23p, min_improvement_swap 0.1p
2026-08-15 22:56:21.668274: Swap charge optimisation finished metric 877.02p, cost 893.23p
2026-08-15 22:56:21.985092: Pruned 1 dead plan slot(s) in 11 trial(s), nominal metric 872.63p -> 872.63p, plan now metric 877.02p, cost 893.23p, cycle 26.74kWh, import 14.05kWh
2026-08-15 22:56:22.027159: Raw charge windows [ 15-08 22:30:00 - 15-08 23:00:00 @ 29.81p 0%, 15-08 23:00:00 - 15-08 23:30:00 @ 30.02p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 27.8p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.18p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.38p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 26.7p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.31p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.79p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 25.86p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.13p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 25.86p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.27p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.14p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 27.03p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.28p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.68p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 26.1p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 24.28p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 24.94p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.06p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.39p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.66p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.06p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 25.5p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 24.94p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 24.25p 31%, 16-08 11:30:00 - 16-08 12:00:00 @ 23.49p 31%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.43p 31%, 16-08 12:30:00 - 16-08 13:00:00 @ 22.33p 38%, 16-08 13:00:00 - 16-08 13:30:00 @ 22.76p 38%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 50%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 100%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.65p 78%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.95p 78%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.83p 78%, 16-08 16:00:00 - 16-08 16:30:00 @ 36.84p 0%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.54p 0%, 16-08 17:00:00 - 16-08 17:30:00 @ 41.79p 0%, 16-08 17:30:00 - 16-08 18:00:00 @ 43.7p 0%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.34p 0%, 16-08 19:00:00 - 16-08 19:30:00 @ 34.79p 0%, 16-08 19:30:00 - 16-08 20:00:00 @ 34.76p 0%, 16-08 20:00:00 - 16-08 20:30:00 @ 35.62p 0%, 16-08 20:30:00 - 16-08 21:00:00 @ 35.3p 0%, 16-08 21:00:00 - 16-08 21:30:00 @ 35.89p 0%, 16-08 21:30:00 - 16-08 22:00:00 @ 35.71p 0%, 16-08 22:00:00 - 16-08 22:30:00 @ 33.75p 0%, 16-08 22:30:00 - 16-08 23:00:00 @ 32.0p 0%, 16-08 23:00:00 - 16-08 23:30:00 @ 30.02p 0%, 16-08 23:30:00 - 17-08 00:00:00 @ 27.8p 0%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.18p 0%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.38p 0%, 17-08 01:00:00 - 17-08 01:30:00 @ 26.7p 0%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.31p 0%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.79p 0%, 17-08 02:30:00 - 17-08 03:00:00 @ 25.86p 0%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.13p 0%, 17-08 03:30:00 - 17-08 04:00:00 @ 25.86p 0%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.27p 0%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.14p 0%, 17-08 05:00:00 - 17-08 05:30:00 @ 27.03p 0%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.28p 0%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.68p 0%, 17-08 06:30:00 - 17-08 07:00:00 @ 26.1p 0%, 17-08 07:00:00 - 17-08 07:30:00 @ 24.28p 0%, 17-08 07:30:00 - 17-08 08:00:00 @ 24.94p 0%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.06p 0%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.39p 0%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.66p 0%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.06p 0%, 17-08 10:00:00 - 17-08 10:30:00 @ 25.5p 0%, 17-08 10:30:00 - 17-08 11:00:00 @ 24.94p 0%, 17-08 11:00:00 - 17-08 11:30:00 @ 24.25p 0%, 17-08 11:30:00 - 17-08 12:00:00 @ 23.49p 0%, 17-08 12:00:00 - 17-08 12:30:00 @ 23.43p 0%, 17-08 12:30:00 - 17-08 13:00:00 @ 22.33p 100%, 17-08 13:00:00 - 17-08 13:30:00 @ 22.76p 100%, 17-08 13:30:00 - 17-08 14:00:00 @ 22.3p 100%, 17-08 14:00:00 - 17-08 14:30:00 @ 21.41p 100%, 17-08 14:30:00 - 17-08 15:00:00 @ 21.65p 100%, 17-08 15:00:00 - 17-08 15:30:00 @ 22.95p 100%, 17-08 15:30:00 - 17-08 16:00:00 @ 22.83p 100%, 17-08 16:00:00 - 17-08 16:30:00 @ 36.84p 100%, 17-08 16:30:00 - 17-08 17:00:00 @ 37.54p 100%, 17-08 17:00:00 - 17-08 17:30:00 @ 41.79p 100%, 17-08 17:30:00 - 17-08 18:00:00 @ 43.7p 100%, 17-08 18:00:00 - 17-08 18:30:00 @ 44.34p 100%, 17-08 19:00:00 - 17-08 19:30:00 @ 34.79p 100%, 17-08 19:30:00 - 17-08 20:00:00 @ 34.76p 100%, 17-08 20:00:00 - 17-08 20:30:00 @ 35.62p 100%, 17-08 20:30:00 - 17-08 21:00:00 @ 35.3p 100%, 17-08 21:00:00 - 17-08 21:30:00 @ 35.89p 100%, 17-08 21:30:00 - 17-08 22:00:00 @ 35.71p 100%, 17-08 22:00:00 - 17-08 22:30:00 @ 33.75p 100%, 17-08 22:30:00 - 17-08 23:00:00 @ 32.0p 100% ] reserve 1.12
2026-08-15 22:56:22.041891: Unclipped charge windows [ 16-08 11:00:00 - 16-08 12:30:00 @ 23.65p 31%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 38%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 50%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 100%, 16-08 14:30:00 - 16-08 16:00:00 @ 22.56p 78%, 17-08 12:30:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 17-08 23:00:00 @ 33.35p 100% ] reserve 1.12
2026-08-15 22:56:22.042525: Unfiltered charge windows [ 16-08 11:00:00 - 16-08 12:30:00 @ 23.65p 31%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 38%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 50%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 100%, 16-08 14:30:00 - 16-08 16:00:00 @ 22.56p 78%, 17-08 12:30:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 17-08 23:00:00 @ 33.35p 100% ] reserve 1.12
2026-08-15 22:56:22.042998: Filtered charge windows [ 16-08 11:00:00 - 16-08 12:30:00 @ 23.65p 31%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 38%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 50%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 100%, 16-08 14:30:00 - 16-08 16:00:00 @ 22.56p 78%, 17-08 12:30:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 17-08 23:00:00 @ 33.35p 100% ] reserve 1.12
2026-08-15 22:56:22.108076: Previous plan best metric is 877.02 (cost 893.23) and new plan best metric is 877.02 (cost 893.23)
2026-08-15 22:56:22.108548: New plan metric is not significantly better (metric_min_improvement_plan 2.0) than previous plan, using previous plan
2026-08-15 22:56:22.108735: Plan valid is now true after recompute was False
2026-08-15 22:56:22.137230: predict base end_record 08-17 12:30:00, final soc 1.12kWh, metric 1060.15p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 16:55:00, load 35.83kWh, PV 0.0kWh
2026-08-15 22:56:22.318028: Battery has 18.0 hours left - now at 13.6kWh
2026-08-15 22:56:22.384578: predict base10 end_record 08-17 12:30:00, final soc 1.12kWh, metric 1097.58p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 15:50:00, load 37.0kWh, PV 0.0kWh
2026-08-15 22:56:22.499426: predict best10 end_record 08-17 12:30:00, final soc 1.12kWh, metric 1023.54p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 07:05:00, load 37.0kWh, PV 0.0kWh
2026-08-15 22:56:22.713642: predict best end_record 08-17 12:30:00, final soc 1.12kWh, metric 993.31p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 08:15:00, load 35.83kWh, PV 0.0kWh
2026-08-15 22:56:22.713777: Saving plan best values to HA entities
2026-08-15 22:56:22.950581: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 22:56:22.958865: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0.0
2026-08-15 22:56:22.967327: Best charging limit SoC's [5.0, 6.0, 8.0, 16.0, 12.5, 16.0, 16.0]kWh, export []kWh gives import battery 11.21kWh, house 2.85kWh, export 0.0kWh, metric 993.31p, metric10 1023.54p
2026-08-15 22:56:23.171359: Marginal costs baseline metric (no standing charge): 893.3437
2026-08-15 22:56:23.563075: Marginal energy costs matrix computed: min=24.76 max=28.01
2026-08-15 22:56:23.703331: Rate array import [{'start': 1375, 'end': 1410, 'rate': 'expensive', 'range': '(29.8p - 30.0p)'}, {'start': 1410, 'end': 2400, 'rate': 'cheap', 'range': '(21.4p - 28.2p)'}, {'start': 2400, 'end': 2430, 'rate': 'expensive', 'range': '(36.8p)'}, {'start': 2430, 'end': 2580, 'rate': 'very expensive', 'range': '(37.5p - 45.3p)'}, {'start': 2580, 'end': 2850, 'rate': 'expensive', 'range': '(30.0p - 35.9p)'}, {'start': 2850, 'end': 3630, 'rate': 'cheap', 'range': '(23.4p - 28.2p)'}] export [{'start': 1375, 'end': 3630, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 22:56:23.710968: - Your estimated bill for today is £5.77 and tomorrow is £2.98
2026-08-15 22:56:23.711083: - Import rates are expensive (29.8p - 30.0p) for the next 35 minutes and then cheap (21.4p - 28.2p) for the next 16 hours.
2026-08-15 22:56:23.711122: - The battery is currently at 85% and is in eco mode for the next 12 hours.
2026-08-15 22:56:23.712074: - For the next 48 hours there will be no solar generation.
2026-08-15 22:56:23.712182: - You will run out of battery in 33 hours.
2026-08-15 22:56:23.712338: - Your next charge slot will be in 12 hours where import rates will be cheap (23.5p).
2026-08-15 22:56:23.712456: 
2026-08-15 22:56:23.797965: Plan calculation took 76.62 seconds
2026-08-15 22:56:23.798383: Inverter 0: Type SK Sunsynk
2026-08-15 22:56:23.811741: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 22:56:23.812142: Reserve min: 7%, battery_min: 7%
2026-08-15 22:56:23.812615: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 22:56:23.813156: Inverter 0 SoC: 13.44kW 84%, current charge rate 5000W, current discharge rate 5250W, current battery power 1603W, current battery voltage 51.2V, grid power -55W, load power 1661W, PV Power 0W
2026-08-15 22:56:23.813475: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 22:56:23.813673: Inverter 0 scheduled charge enable is False
2026-08-15 22:56:23.813798: Inverter 0 charge windows currently []
2026-08-15 22:56:23.813912: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 22:56:23.814129: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 22:56:23.814295: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 22:56:23.814430: Inverter 0 scheduled discharge enable is False
2026-08-15 22:56:23.814676: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 22:56:23.814804: Inverter 0 discharge windows currently []
2026-08-15 22:56:23.814911: Note: Inverter does not support discharge freeze - disabled
2026-08-15 22:56:23.815014: Note: Inverter does not support charge freeze - disabled
2026-08-15 22:56:23.815115: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 22:56:23.942164: Inverter 0 Charge window will be: 2026-08-16 11:30:00+01:00 - 2026-08-16 16:00:00+01:00 - current SoC 84%, target 31%
2026-08-15 22:56:23.942341: Inverter 0 disabled charge window while waiting for schedule (now 08-15 22:55:00 target set_window_minutes 30 charge start time 08-16 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 22:56:23.942409: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 22:56:23.942587: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 22:56:23.942659: No export window planned
2026-08-15 22:56:23.942753: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 22:56:23.942786: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 22:56:23.942957: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 22:56:23.943111: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 22:55:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 22:56:23.943158: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 22:56:23.943991: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 22:56:23.944175: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 22:56:23.944255: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 22:56:23.944378: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 22:56:23.944426: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 22:56:23.944505: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 22:56:23.944584: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 22:56:23.944662: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 22:56:23.944819: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 22:56:23.944867: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 22:56:23.944999: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 22:56:23.945054: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 22:56:23.945129: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 22:56:23.945170: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 22:56:23.945257: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 22:56:23.945299: Inverter 0 count register writes 0
2026-08-15 22:56:24.031951: Total inverter register writes now 826
2026-08-15 22:56:24.143995: Info: Completed run status Demand
2026-08-15 22:56:24.153834: Info: record_status Demand
2026-08-15 22:56:24.164852: Saved current settings to /config/predbat_config.json
2026-08-15 22:56:24.165164: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 22:56:41.359818: ML Predictor: Epoch 24/30: lr=0.00019 huber_loss=0.0053 val_mae=0.0022 kWh val_bias=-0.0008 kWh (-1.2%) combined=0.0016 kWh ema_combined=0.0017 kWh
2026-08-15 22:56:57.394256: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 22:56:57.394533: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 22:56:57.394604: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 22:56:57.394760: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 22:56:57.394823: Note: Inverter does not support discharge freeze - disabled
2026-08-15 22:56:57.394930: Note: Inverter does not support charge freeze - disabled
2026-08-15 22:56:57.394963: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 22:57:13.959532: ML Predictor: Epoch 25/30: lr=0.00016 huber_loss=0.0052 val_mae=0.0024 kWh val_bias=-0.0012 kWh (-1.7%) combined=0.0019 kWh ema_combined=0.0017 kWh
2026-08-15 22:57:48.259698: ML Predictor: Epoch 26/30: lr=0.00014 huber_loss=0.0051 val_mae=0.0020 kWh val_bias=-0.0004 kWh (-0.6%) combined=0.0013 kWh ema_combined=0.0016 kWh
2026-08-15 22:58:21.339421: ML Predictor: Epoch 27/30: lr=0.00012 huber_loss=0.0054 val_mae=0.0025 kWh val_bias=-0.0012 kWh (-1.6%) combined=0.0017 kWh ema_combined=0.0016 kWh
2026-08-15 22:58:52.118201: ML Predictor: Epoch 28/30: lr=0.00011 huber_loss=0.0053 val_mae=0.0019 kWh val_bias=+0.0004 kWh (+0.6%) combined=0.0012 kWh ema_combined=0.0015 kWh
2026-08-15 22:59:05.453352: TemperatureAPI: Using coordinates latitude 53.4, longitude -2.2
2026-08-15 22:59:06.130059: TemperatureAPI: Successfully fetched temperature data from Open-Meteo API
2026-08-15 22:59:11.926349: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 22:59:11.926979: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 22:59:11.927227: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 22:59:11.927704: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 22:59:11.927973: Note: Inverter does not support discharge freeze - disabled
2026-08-15 22:59:11.928209: Note: Inverter does not support charge freeze - disabled
2026-08-15 22:59:11.928419: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 22:59:26.660927: ML Predictor: Epoch 29/30: lr=0.00010 huber_loss=0.0053 val_mae=0.0021 kWh val_bias=-0.0008 kWh (-1.2%) combined=0.0016 kWh ema_combined=0.0015 kWh
2026-08-15 22:59:56.955327: ML Predictor: Epoch 30/30: lr=0.00010 huber_loss=0.0050 val_mae=0.0022 kWh val_bias=-0.0007 kWh (-1.0%) combined=0.0014 kWh ema_combined=0.0015 kWh
2026-08-15 22:59:56.960869: ML Predictor: Restored best weights from epoch with val_mae=0.0022 kWh val_bias=-0.0007 kWh (-1.0%)
2026-08-15 22:59:56.961258: ML Predictor: Training complete, final val_mae=0.0022 kWh val_bias=-0.0007 kWh (-1.0%)
2026-08-15 23:00:00.227037: --------------- PredBat - update at 2026-08-15 23:00:00+01:00 with clock skew 0 minutes, minutes now 1380
2026-08-15 23:00:00.227798: Saved current settings to /config/predbat_config.json
2026-08-15 23:00:00.227964: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 25.0 minutes
2026-08-15 23:00:00.228127: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.2, latest beta is v8.48.2
2026-08-15 23:00:00.228213: Autoupdate: There is an update pending v8.48.2 PV90 and second pass enabled by default, bug fixes - auto update is off
2026-08-15 23:00:00.251218: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 23:00:00.251498: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 23:00:00.251736: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 23:00:00.252513: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 23:00:00.252738: Predbat mode is set to Control charge & discharge
2026-08-15 23:00:00.854202: Found 21602 load_today datapoints going back 28 days
2026-08-15 23:00:00.877078: Using load_power data to fill gaps in load_today data
2026-08-15 23:00:03.764494: Processing 721 30-minute periods for power integration
2026-08-15 23:00:04.386383: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 23:00:04.388857: Car charging hold False, threshold 6.0kWh
2026-08-15 23:00:04.389520: Current data so far today: load 11.3kWh, import 27.9kWh, export 0.0kWh, PV 0kWh
2026-08-15 23:00:04.456081: Cars: SoC: [8.204]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 23:00:04.456824: Standing charge is set to 49.98p
2026-08-15 23:00:04.623809: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 23:00:04.624065: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 23:00:04.624449: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 15.0 minutes
2026-08-15 23:00:04.624997: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 15.0 minutes
2026-08-15 23:00:04.631806: Loaded 95 datapoints of futurerate analysis
2026-08-15 23:00:05.136432: Predicted future rates: ['08-15 00:00:00 => 28.69 / 20.01', '08-15 01:00:00 => 27.33 / 19.31', '08-15 02:00:00 => 26.31 / 18.8', '08-15 03:00:00 => 25.78 / 18.53', '08-15 04:00:00 => 25.59 / 18.43', '08-15 05:00:00 => 25.75 / 18.51', '08-15 06:00:00 => 25.34 / 18.3', '08-15 07:00:00 => 24.12 / 17.68', '08-15 08:00:00 => 22.82 / 17.01', '08-15 09:00:00 => 21.84 / 16.51', '08-15 10:00:00 => 20.22 / 15.68', '08-15 11:00:00 => 17.8 / 14.45', '08-15 12:00:00 => 16.16 / 13.61', '08-15 13:00:00 => 15.55 / 13.3', '08-15 14:00:00 => 15.14 / 13.09', '08-15 15:00:00 => 15.65 / 13.35', '08-15 16:00:00 => 32.68 / 16.13', '08-15 17:00:00 => 37.81 / 18.75', '08-15 18:00:00 => 42.15 / 20.96', '08-15 19:00:00 => 30.88 / 21.13', '08-15 20:00:00 => 31.43 / 21.41', '08-15 21:00:00 => 31.43 / 21.41', '08-15 22:00:00 => 30.37 / 20.87', '08-15 23:00:00 => 29.16 / 20.25', '08-16 00:00:00 => 28.62 / 19.97', '08-16 01:00:00 => 27.52 / 19.41', '08-16 02:00:00 => 26.55 / 18.92', '08-16 03:00:00 => 26.18 / 18.73', '08-16 04:00:00 => 26.12 / 18.7', '08-16 05:00:00 => 26.02 / 18.65', '08-16 06:00:00 => 25.78 / 18.53', '08-16 07:00:00 => 25.43 / 18.35', '08-16 08:00:00 => 24.63 / 17.94', '08-16 09:00:00 => 24.05 / 17.64', '08-16 10:00:00 => 24.59 / 17.92', '08-16 11:00:00 => 24.5 / 17.87', '08-16 12:00:00 => 23.58 / 17.4', '08-16 13:00:00 => 22.93 / 17.07', '08-16 14:00:00 => 21.8 / 16.49', '08-16 15:00:00 => 21.8 / 16.49', '08-16 16:00:00 => 36.93 / 18.3', '08-16 17:00:00 => 39.92 / 19.83', '08-16 18:00:00 => 43.98 / 21.9', '08-16 19:00:00 => 32.83 / 22.13', '08-16 20:00:00 => 33.62 / 22.53', '08-16 21:00:00 => 33.52 / 22.48', '08-16 22:00:00 => 32.15 / 21.78']
2026-08-15 23:00:05.267820: Rate min forward looking: now 21.41p at end of forecast 21.41p
2026-08-15 23:00:05.289381: Import rates: min 21.41p, max 45.28p, average 28.73p
2026-08-15 23:00:05.408653: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 23:00:05.408787: Rate thresholds (for charge/export) are import 44.78p (0.0p), export -0.1p (0.0p)
2026-08-15 23:00:05.410193: High export rate found rates in range 99p to -99p
2026-08-15 23:00:05.878774: Low Import rate found rates in range 21.41p to 44.34p
2026-08-15 23:00:05.878910: Car 0 charging is not planned as it is not plugged in
2026-08-15 23:00:05.903495: Battery level now 13.6kWh, -1hr ago 14.08kWh, at midnight 1.66kWh, battery value change in the last hour -8.83p, change today 219.69p, rate_forward 18.39p
2026-08-15 23:00:05.904004: Last hour: net energy 0.04kWh, import 0.04kWh, export 0.0kWh, car 0kWh, load 0.78kWh, net cost 1.27p, import 1.27p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 23:00:06.071687: Today's energy total net 27.9kWh, import 27.9kWh, export 0.0kWh, cost 576.57p, import 526.58p, export 0.0p, carbon 0.0kg
2026-08-15 23:00:06.072012: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 23:00:06.379242: Using weighted-bucket historical load forecast over 14 days
2026-08-15 23:00:06.461755: Today's load divergence 78.38%, in-day adjustment 82.14%, damping 0.95x, yesterday 143.77% today 79.46% blend 4.17%
2026-08-15 23:00:06.461907: Today's predicted so far 13.99kWh with 0.0kWh car/iBoost excluded, 20.77kWh import ignored, and 13.99kWh forecast extra.
2026-08-15 23:00:06.462130: Today's actual load so far 11.32kWh with 0.0kWh car/iBoost excluded, and 20.77kWh import ignored.
2026-08-15 23:00:06.537238: Inverter 0: Type SK Sunsynk
2026-08-15 23:00:06.537480: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 23:00:06.537862: Reserve min: 7%, battery_min: 7%
2026-08-15 23:00:06.538080: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 23:00:06.538558: Inverter 0 SoC: 13.31kW 83%, current charge rate 5000W, current discharge rate 5250W, current battery power 1527W, current battery voltage 51.2V, grid power -54W, load power 1587W, PV Power 0W
2026-08-15 23:00:06.538865: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 23:00:06.539087: Inverter 0 scheduled charge enable is False
2026-08-15 23:00:06.539255: Inverter 0 charge windows currently []
2026-08-15 23:00:06.539406: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 23:00:06.539675: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 23:00:06.539824: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 23:00:06.539980: Inverter 0 scheduled discharge enable is False
2026-08-15 23:00:06.540290: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 23:00:06.540444: Inverter 0 discharge windows currently []
2026-08-15 23:00:06.540578: Note: Inverter does not support discharge freeze - disabled
2026-08-15 23:00:06.540704: Note: Inverter does not support charge freeze - disabled
2026-08-15 23:00:06.540827: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 23:00:06.712600: Dynamic load last period 1.20kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 23:00:06.712753: Plan was last updated on 2026-08-15 22:55:00+01:00 and is now 5.0 minutes old
2026-08-15 23:00:06.713473: Best charge window [ 16-08 11:30:00 - 16-08 12:30:00 @ 23.46p 31%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 38%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 50%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 100%, 16-08 14:30:00 - 16-08 16:00:00 @ 22.56p 78%, 17-08 12:30:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 17-08 22:30:00 @ 34.7p 100% ]
2026-08-15 23:00:06.713589: Best export window [  ]
2026-08-15 23:00:06.714872: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 23:00:06.719501: Load divergence over 8.0 hours mean 773.57W, min 364.2W, max 1953.0W, std dev 445.45W, divergence 28.79%
2026-08-15 23:00:06.789003: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 23:00:06.789166: LoadML is_calculating True
2026-08-15 23:00:06.789205: Not using thread pool as LoadML is calculating to avoid lockups
2026-08-15 23:00:06.891485: predict base end_record 08-17 12:35:00, final soc 1.12kWh, metric 1068.88p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 16:30:00, load 35.92kWh, PV 0.0kWh
2026-08-15 23:00:07.246087: Battery has 17.5 hours left - now at 13.31kWh
2026-08-15 23:00:07.375329: predict base10 end_record 08-17 12:35:00, final soc 1.12kWh, metric 1103.42p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 15:30:00, load 37.09kWh, PV 0.0kWh
2026-08-15 23:00:07.627945: predict best10 end_record 08-17 12:35:00, final soc 1.44kWh, metric 1037.88p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 07:05:00, load 37.09kWh, PV 0.0kWh
2026-08-15 23:00:08.005883: predict best end_record 08-17 12:35:00, final soc 1.51kWh, metric 1009.08p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 08:20:00, load 35.92kWh, PV 0.0kWh
2026-08-15 23:00:08.006009: Saving plan best values to HA entities
2026-08-15 23:00:08.511598: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 23:00:08.519652: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 23:00:08.526717: Best charging limit SoC's [5.0, 6.0, 8.0, 16.0, 12.5, 16.0, 16.0]kWh, export []kWh gives import battery 11.93kWh, house 2.84kWh, export 0.0kWh, metric 1009.08p, metric10 1037.88p
2026-08-15 23:00:08.750265: Marginal costs baseline metric (no standing charge): 909.1148
2026-08-15 23:00:09.569769: Marginal energy costs matrix computed: min=24.56 max=27.86
2026-08-15 23:00:09.771668: Rate array import [{'start': 1380, 'end': 1410, 'rate': 'expensive', 'range': '(30.0p)'}, {'start': 1410, 'end': 2400, 'rate': 'cheap', 'range': '(21.4p - 28.2p)'}, {'start': 2400, 'end': 2430, 'rate': 'expensive', 'range': '(36.8p)'}, {'start': 2430, 'end': 2580, 'rate': 'very expensive', 'range': '(37.5p - 45.3p)'}, {'start': 2580, 'end': 2850, 'rate': 'expensive', 'range': '(30.0p - 35.9p)'}, {'start': 2850, 'end': 3635, 'rate': 'cheap', 'range': '(22.3p - 28.2p)'}] export [{'start': 1380, 'end': 3635, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 23:00:09.788644: - Your estimated bill for today is £5.77 and tomorrow is £3.03
2026-08-15 23:00:09.788835: - Import rates are expensive (30.0p) for the next 30 minutes and then cheap (21.4p - 28.2p) for the next 16 hours.
2026-08-15 23:00:09.789005: - The battery is currently at 83% and is in eco mode for the next 12 hours.
2026-08-15 23:00:09.789210: - For the next 48 hours there will be no solar generation.
2026-08-15 23:00:09.789347: - You will run out of battery in 33 hours.
2026-08-15 23:00:09.789472: - Your next charge slot will be in 12 hours where import rates will be cheap (23.5p).
2026-08-15 23:00:09.789595: 
2026-08-15 23:00:09.929971: Plan calculation took 3.22 seconds
2026-08-15 23:00:09.940178: No high rate period found
2026-08-15 23:00:10.164718: Import threshold used for optimisation was 24.25p
2026-08-15 23:00:10.389662: Low import rate windows [0: 08-15 23:00:00 - 08-15 23:30:00 @ 30.02, 1: 08-15 23:30:00 - 08-16 00:00:00 @ 27.8, 2: 08-16 00:00:00 - 08-16 00:30:00 @ 28.18, 3: 08-16 00:30:00 - 08-16 01:00:00 @ 27.38, 4: 08-16 01:00:00 - 08-16 01:30:00 @ 26.7, 5: 08-16 01:30:00 - 08-16 02:00:00 @ 26.31, 6: 08-16 02:00:00 - 08-16 02:30:00 @ 25.79, 7: 08-16 02:30:00 - 08-16 03:00:00 @ 25.86, 8: 08-16 03:00:00 - 08-16 03:30:00 @ 26.13, 9: 08-16 03:30:00 - 08-16 04:00:00 @ 25.86, 10: 08-16 04:00:00 - 08-16 04:30:00 @ 26.27, 11: 08-16 04:30:00 - 08-16 05:00:00 @ 26.14, 12: 08-16 05:00:00 - 08-16 05:30:00 @ 27.03, 13: 08-16 05:30:00 - 08-16 06:00:00 @ 26.28, 14: 08-16 06:00:00 - 08-16 06:30:00 @ 25.68, 15: 08-16 06:30:00 - 08-16 07:00:00 @ 26.1, 16: 08-16 07:00:00 - 08-16 07:30:00 @ 24.28, 17: 08-16 07:30:00 - 08-16 08:00:00 @ 24.94, 18: 08-16 08:00:00 - 08-16 08:30:00 @ 24.06, 19: 08-16 08:30:00 - 08-16 09:00:00 @ 24.39, 20: 08-16 09:00:00 - 08-16 09:30:00 @ 24.66, 21: 08-16 09:30:00 - 08-16 10:00:00 @ 24.06, 22: 08-16 10:00:00 - 08-16 10:30:00 @ 25.5, 23: 08-16 10:30:00 - 08-16 11:00:00 @ 24.94, 24: 08-16 11:00:00 - 08-16 11:30:00 @ 24.25, 25: 08-16 11:30:00 - 08-16 12:00:00 @ 23.49, 26: 08-16 12:00:00 - 08-16 12:30:00 @ 23.43, 27: 08-16 12:30:00 - 08-16 13:00:00 @ 22.33, 28: 08-16 13:00:00 - 08-16 13:30:00 @ 22.76, 29: 08-16 13:30:00 - 08-16 14:00:00 @ 22.3, 30: 08-16 14:00:00 - 08-16 14:30:00 @ 21.41, 31: 08-16 14:30:00 - 08-16 15:00:00 @ 21.65, 32: 08-16 15:00:00 - 08-16 15:30:00 @ 22.95, 33: 08-16 15:30:00 - 08-16 16:00:00 @ 22.83, 34: 08-16 16:00:00 - 08-16 16:30:00 @ 36.84, 35: 08-16 16:30:00 - 08-16 17:00:00 @ 37.54, 36: 08-16 17:00:00 - 08-16 17:30:00 @ 41.79, 37: 08-16 17:30:00 - 08-16 18:00:00 @ 43.7, 38: 08-16 18:00:00 - 08-16 18:30:00 @ 44.34, 39: 08-16 19:00:00 - 08-16 19:30:00 @ 34.79, 40: 08-16 19:30:00 - 08-16 20:00:00 @ 34.76, 41: 08-16 20:00:00 - 08-16 20:30:00 @ 35.62, 42: 08-16 20:30:00 - 08-16 21:00:00 @ 35.3, 43: 08-16 21:00:00 - 08-16 21:30:00 @ 35.89, 44: 08-16 21:30:00 - 08-16 22:00:00 @ 35.71, 45: 08-16 22:00:00 - 08-16 22:30:00 @ 33.75, 46: 08-16 22:30:00 - 08-16 23:00:00 @ 32.0, 47: 08-16 23:00:00 - 08-16 23:30:00 @ 30.02, 48: 08-16 23:30:00 - 08-17 00:00:00 @ 27.8, 49: 08-17 00:00:00 - 08-17 00:30:00 @ 28.18, 50: 08-17 00:30:00 - 08-17 01:00:00 @ 27.38, 51: 08-17 01:00:00 - 08-17 01:30:00 @ 26.7, 52: 08-17 01:30:00 - 08-17 02:00:00 @ 26.31, 53: 08-17 02:00:00 - 08-17 02:30:00 @ 25.79, 54: 08-17 02:30:00 - 08-17 03:00:00 @ 25.86, 55: 08-17 03:00:00 - 08-17 03:30:00 @ 26.13, 56: 08-17 03:30:00 - 08-17 04:00:00 @ 25.86, 57: 08-17 04:00:00 - 08-17 04:30:00 @ 26.27, 58: 08-17 04:30:00 - 08-17 05:00:00 @ 26.14, 59: 08-17 05:00:00 - 08-17 05:30:00 @ 27.03, 60: 08-17 05:30:00 - 08-17 06:00:00 @ 26.28, 61: 08-17 06:00:00 - 08-17 06:30:00 @ 25.68, 62: 08-17 06:30:00 - 08-17 07:00:00 @ 26.1, 63: 08-17 07:00:00 - 08-17 07:30:00 @ 24.28, 64: 08-17 07:30:00 - 08-17 08:00:00 @ 24.94, 65: 08-17 08:00:00 - 08-17 08:30:00 @ 24.06, 66: 08-17 08:30:00 - 08-17 09:00:00 @ 24.39, 67: 08-17 09:00:00 - 08-17 09:30:00 @ 24.66, 68: 08-17 09:30:00 - 08-17 10:00:00 @ 24.06, 69: 08-17 10:00:00 - 08-17 10:30:00 @ 25.5, 70: 08-17 10:30:00 - 08-17 11:00:00 @ 24.94, 71: 08-17 11:00:00 - 08-17 11:30:00 @ 24.25, 72: 08-17 11:30:00 - 08-17 12:00:00 @ 23.49, 73: 08-17 12:00:00 - 08-17 12:30:00 @ 23.43, 74: 08-17 12:30:00 - 08-17 13:00:00 @ 22.33, 75: 08-17 13:00:00 - 08-17 13:30:00 @ 22.76, 76: 08-17 13:30:00 - 08-17 14:00:00 @ 22.3, 77: 08-17 14:00:00 - 08-17 14:30:00 @ 21.41, 78: 08-17 14:30:00 - 08-17 15:00:00 @ 21.65, 79: 08-17 15:00:00 - 08-17 15:30:00 @ 22.95, 80: 08-17 15:30:00 - 08-17 16:00:00 @ 22.83, 81: 08-17 16:00:00 - 08-17 16:30:00 @ 36.84, 82: 08-17 16:30:00 - 08-17 17:00:00 @ 37.54, 83: 08-17 17:00:00 - 08-17 17:30:00 @ 41.79, 84: 08-17 17:30:00 - 08-17 18:00:00 @ 43.7, 85: 08-17 18:00:00 - 08-17 18:30:00 @ 44.34, 86: 08-17 19:00:00 - 08-17 19:30:00 @ 34.79, 87: 08-17 19:30:00 - 08-17 20:00:00 @ 34.76, 88: 08-17 20:00:00 - 08-17 20:30:00 @ 35.62, 89: 08-17 20:30:00 - 08-17 21:00:00 @ 35.3, 90: 08-17 21:00:00 - 08-17 21:30:00 @ 35.89, 91: 08-17 21:30:00 - 08-17 22:00:00 @ 35.71, 92: 08-17 22:00:00 - 08-17 22:30:00 @ 33.75, 93: 08-17 22:30:00 - 08-17 23:00:00 @ 32.0]
2026-08-15 23:00:10.443766: Inverter 0 Charge window will be: 2026-08-16 11:30:00+01:00 - 2026-08-16 16:00:00+01:00 - current SoC 83%, target 31%
2026-08-15 23:00:10.444309: Inverter 0 disabled charge window while waiting for schedule (now 08-15 23:00:00 target set_window_minutes 30 charge start time 08-16 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 23:00:10.444550: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 23:00:10.444935: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 23:00:10.445195: No export window planned
2026-08-15 23:00:10.445473: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 23:00:10.445602: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 23:00:10.445950: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 23:00:10.446328: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 23:00:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 23:00:10.446476: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 23:00:10.446657: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 23:00:10.446868: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 23:00:10.447023: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 23:00:10.447171: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 23:00:10.447322: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 23:00:10.447447: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 23:00:10.447581: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 23:00:10.447661: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 23:00:10.447906: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 23:00:10.448034: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 23:00:10.448191: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 23:00:10.448314: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 23:00:10.448448: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 23:00:10.448570: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 23:00:10.448703: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 23:00:10.448807: Inverter 0 count register writes 0
2026-08-15 23:00:10.541695: Will not recompute the plan, it is 5.0 minutes old and max age is 10 minutes
2026-08-15 23:00:10.597141: Total inverter register writes now 826
2026-08-15 23:00:10.843804: Info: Completed run status Demand
2026-08-15 23:00:10.855757: Info: record_status Demand
2026-08-15 23:00:10.890289: Saved current settings to /config/predbat_config.json
2026-08-15 23:00:10.891906: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 23:00:11.847062: ML Predictor: AR rollout over holdout: ar_mae=0.0024 kWh ar_bias=-0.0008 kWh (-1.1%) [drift vs teacher-forced: +0.0002 kWh]
2026-08-15 23:00:11.854456: ML Predictor: Curriculum pass 2/5 complete, val_mae=0.0022 kWh
2026-08-15 23:00:11.991387: ML Predictor: Curriculum pass 3/5: window=56.0 days (1344 hours of data)
2026-08-15 23:00:11.991503: ML Predictor: Starting fine-tune training with 30 epochs
2026-08-15 23:00:12.693329: ML Predictor: Creating dataset with 1344 hours of training data, 48 hours validation
2026-08-15 23:00:18.328492: ML Predictor: Created 15840 training samples, 576 validation samples
2026-08-15 23:00:18.387262: ML Predictor: Normalization stats [ema-update alpha=0.1] target(mean=0.0586 std=0.0470) load(mean=0.0588 std=0.0471) pv(mean=0.0000 std=0.0100) temp(mean=19.5307 std=4.4379) import_rate(mean=25.5337 std=2.4621) export_rate(mean=0.0000 std=1.0000) time(mean=-0.1887 std=0.5248)
2026-08-15 23:00:18.469872: ML Predictor: Applied EMA normalization update (alpha=0.1) to track feature drift
2026-08-15 23:00:18.489240: ML Predictor: Reset Adam optimiser state for fine-tuning
2026-08-15 23:00:18.559872: ML Predictor: Baseline (pre-finetune) val_mae=0.0057 kWh val_bias=-0.0017 kWh
2026-08-15 23:00:42.042885: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 23:00:42.043522: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 23:00:42.043811: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 23:00:42.044196: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 23:00:42.044363: Note: Inverter does not support discharge freeze - disabled
2026-08-15 23:00:42.044530: Note: Inverter does not support charge freeze - disabled
2026-08-15 23:00:42.044694: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 23:00:52.702299: ML Predictor: Epoch 1/30: lr=0.00100 huber_loss=0.0100 val_mae=0.0050 kWh val_bias=+0.0003 kWh (+0.3%) combined=0.0032 kWh ema_combined=0.0032 kWh
2026-08-15 23:01:25.659639: ML Predictor: Epoch 2/30: lr=0.00100 huber_loss=0.0099 val_mae=0.0065 kWh val_bias=-0.0008 kWh (-0.9%) combined=0.0040 kWh ema_combined=0.0034 kWh
2026-08-15 23:01:59.770981: ML Predictor: Epoch 3/30: lr=0.00099 huber_loss=0.0127 val_mae=0.0049 kWh val_bias=-0.0000 kWh (-0.0%) combined=0.0025 kWh ema_combined=0.0032 kWh
2026-08-15 23:02:30.787018: ML Predictor: Epoch 4/30: lr=0.00098 huber_loss=0.0122 val_mae=0.0059 kWh val_bias=-0.0009 kWh (-1.0%) combined=0.0031 kWh ema_combined=0.0032 kWh
2026-08-15 23:02:56.635758: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 23:02:56.636022: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 23:02:56.636180: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 23:02:56.636444: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 23:02:56.636498: Note: Inverter does not support discharge freeze - disabled
2026-08-15 23:02:56.636566: Note: Inverter does not support charge freeze - disabled
2026-08-15 23:02:56.636599: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 23:03:04.595737: ML Predictor: Epoch 5/30: lr=0.00096 huber_loss=0.0125 val_mae=0.0052 kWh val_bias=-0.0014 kWh (-1.6%) combined=0.0030 kWh ema_combined=0.0031 kWh
2026-08-15 23:03:34.579560: ML Predictor: Epoch 6/30: lr=0.00094 huber_loss=0.0102 val_mae=0.0045 kWh val_bias=+0.0004 kWh (+0.5%) combined=0.0031 kWh ema_combined=0.0031 kWh
2026-08-15 23:03:49.845067: Info: HAHistory: Pruning history data started.
2026-08-15 23:03:49.848467: Info: HAHistory: Pruning history data completed.
2026-08-15 23:04:05.677576: ML Predictor: Epoch 7/30: lr=0.00091 huber_loss=0.0105 val_mae=0.0043 kWh val_bias=-0.0013 kWh (-1.4%) combined=0.0032 kWh ema_combined=0.0031 kWh
2026-08-15 23:04:39.468631: ML Predictor: Epoch 8/30: lr=0.00088 huber_loss=0.0098 val_mae=0.0046 kWh val_bias=-0.0018 kWh (-2.1%) combined=0.0029 kWh ema_combined=0.0031 kWh
2026-08-15 23:04:57.149834: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 23:04:57.150107: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 23:04:57.150155: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 23:04:57.150324: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 23:04:57.150366: Note: Inverter does not support discharge freeze - disabled
2026-08-15 23:04:57.150387: Note: Inverter does not support charge freeze - disabled
2026-08-15 23:04:57.150417: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 23:05:00.389389: --------------- PredBat - update at 2026-08-15 23:05:00+01:00 with clock skew 0 minutes, minutes now 1385
2026-08-15 23:05:00.390352: Saved current settings to /config/predbat_config.json
2026-08-15 23:05:00.390486: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 30.0 minutes
2026-08-15 23:05:00.390573: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.2, latest beta is v8.48.2
2026-08-15 23:05:00.390699: Autoupdate: There is an update pending v8.48.2 PV90 and second pass enabled by default, bug fixes - auto update is off
2026-08-15 23:05:00.430575: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 23:05:00.430878: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 23:05:00.431500: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 23:05:00.432278: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 23:05:00.432601: Predbat mode is set to Control charge & discharge
2026-08-15 23:05:01.056521: Found 21602 load_today datapoints going back 27 days
2026-08-15 23:05:01.057403: Using load_power data to fill gaps in load_today data
2026-08-15 23:05:02.411559: Processing 721 30-minute periods for power integration
2026-08-15 23:05:02.659254: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 23:05:02.659526: Car charging hold False, threshold 6.0kWh
2026-08-15 23:05:02.659758: Current data so far today: load 11.4kWh, import 27.9kWh, export 0.0kWh, PV 0kWh
2026-08-15 23:05:02.678475: Cars: SoC: [8.204]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 23:05:02.679426: Standing charge is set to 49.98p
2026-08-15 23:05:02.854269: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 23:05:02.854568: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 23:05:02.854917: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 20.0 minutes
2026-08-15 23:05:02.855662: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 20.0 minutes
2026-08-15 23:05:02.865465: Loaded 95 datapoints of futurerate analysis
2026-08-15 23:05:03.210212: Predicted future rates: ['08-15 00:00:00 => 28.69 / 20.01', '08-15 01:00:00 => 27.33 / 19.31', '08-15 02:00:00 => 26.31 / 18.8', '08-15 03:00:00 => 25.78 / 18.53', '08-15 04:00:00 => 25.59 / 18.43', '08-15 05:00:00 => 25.75 / 18.51', '08-15 06:00:00 => 25.34 / 18.3', '08-15 07:00:00 => 24.12 / 17.68', '08-15 08:00:00 => 22.82 / 17.01', '08-15 09:00:00 => 21.84 / 16.51', '08-15 10:00:00 => 20.22 / 15.68', '08-15 11:00:00 => 17.8 / 14.45', '08-15 12:00:00 => 16.16 / 13.61', '08-15 13:00:00 => 15.55 / 13.3', '08-15 14:00:00 => 15.14 / 13.09', '08-15 15:00:00 => 15.65 / 13.35', '08-15 16:00:00 => 32.68 / 16.13', '08-15 17:00:00 => 37.81 / 18.75', '08-15 18:00:00 => 42.15 / 20.96', '08-15 19:00:00 => 30.88 / 21.13', '08-15 20:00:00 => 31.43 / 21.41', '08-15 21:00:00 => 31.43 / 21.41', '08-15 22:00:00 => 30.37 / 20.87', '08-15 23:00:00 => 29.16 / 20.25', '08-16 00:00:00 => 28.62 / 19.97', '08-16 01:00:00 => 27.52 / 19.41', '08-16 02:00:00 => 26.55 / 18.92', '08-16 03:00:00 => 26.18 / 18.73', '08-16 04:00:00 => 26.12 / 18.7', '08-16 05:00:00 => 26.02 / 18.65', '08-16 06:00:00 => 25.78 / 18.53', '08-16 07:00:00 => 25.43 / 18.35', '08-16 08:00:00 => 24.63 / 17.94', '08-16 09:00:00 => 24.05 / 17.64', '08-16 10:00:00 => 24.59 / 17.92', '08-16 11:00:00 => 24.5 / 17.87', '08-16 12:00:00 => 23.58 / 17.4', '08-16 13:00:00 => 22.93 / 17.07', '08-16 14:00:00 => 21.8 / 16.49', '08-16 15:00:00 => 21.8 / 16.49', '08-16 16:00:00 => 36.93 / 18.3', '08-16 17:00:00 => 39.92 / 19.83', '08-16 18:00:00 => 43.98 / 21.9', '08-16 19:00:00 => 32.83 / 22.13', '08-16 20:00:00 => 33.62 / 22.53', '08-16 21:00:00 => 33.52 / 22.48', '08-16 22:00:00 => 32.15 / 21.78']
2026-08-15 23:05:03.260685: Rate min forward looking: now 21.41p at end of forecast 21.41p
2026-08-15 23:05:03.261183: Import rates: min 21.41p, max 45.28p, average 28.73p
2026-08-15 23:05:03.307745: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 23:05:03.309309: Rate thresholds (for charge/export) are import 44.78p (0.0p), export -0.1p (0.0p)
2026-08-15 23:05:03.312113: High export rate found rates in range 99p to -99p
2026-08-15 23:05:03.514217: Low Import rate found rates in range 21.41p to 44.34p
2026-08-15 23:05:03.514506: Car 0 charging is not planned as it is not plugged in
2026-08-15 23:05:03.554342: Battery level now 13.31kWh, -1hr ago 14.08kWh, at midnight 1.66kWh, battery value change in the last hour -14.13p, change today 214.39p, rate_forward 18.39p
2026-08-15 23:05:03.554942: Last hour: net energy 0.04kWh, import 0.04kWh, export 0.0kWh, car 0kWh, load 0.85kWh, net cost 1.13p, import 1.13p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 23:05:03.761237: Today's energy total net 27.9kWh, import 27.9kWh, export 0.0kWh, cost 576.57p, import 526.58p, export 0.0p, carbon 0.0kg
2026-08-15 23:05:03.761414: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 23:05:03.996700: Using weighted-bucket historical load forecast over 14 days
2026-08-15 23:05:04.034419: Today's load divergence 79.47%, in-day adjustment 82.91%, damping 0.95x, yesterday 143.77% today 80.5% blend 3.82%
2026-08-15 23:05:04.034531: Today's predicted so far 14.11kWh with 0.0kWh car/iBoost excluded, 20.86kWh import ignored, and 14.11kWh forecast extra.
2026-08-15 23:05:04.034564: Today's actual load so far 11.55kWh with 0.0kWh car/iBoost excluded, and 20.86kWh import ignored.
2026-08-15 23:05:04.099236: Inverter 0: Type SK Sunsynk
2026-08-15 23:05:04.099467: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 23:05:04.099777: Reserve min: 7%, battery_min: 7%
2026-08-15 23:05:04.099923: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 23:05:04.100355: Inverter 0 SoC: 13.31kW 83%, current charge rate 5000W, current discharge rate 5250W, current battery power 1620W, current battery voltage 51.2V, grid power -54W, load power 1620W, PV Power 0W
2026-08-15 23:05:04.100610: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 23:05:04.100779: Inverter 0 scheduled charge enable is False
2026-08-15 23:05:04.100935: Inverter 0 charge windows currently []
2026-08-15 23:05:04.101147: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 23:05:04.101413: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 23:05:04.101560: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 23:05:04.101712: Inverter 0 scheduled discharge enable is False
2026-08-15 23:05:04.102051: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 23:05:04.102206: Inverter 0 discharge windows currently []
2026-08-15 23:05:04.102334: Note: Inverter does not support discharge freeze - disabled
2026-08-15 23:05:04.102455: Note: Inverter does not support charge freeze - disabled
2026-08-15 23:05:04.102575: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 23:05:04.209423: Dynamic load last period 1.20kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 23:05:04.209666: Plan was last updated on 2026-08-15 22:55:00+01:00 and is now 10.0 minutes old
2026-08-15 23:05:04.210112: Best charge window [ 16-08 11:30:00 - 16-08 12:30:00 @ 23.46p 31%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 38%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 50%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 100%, 16-08 14:30:00 - 16-08 16:00:00 @ 22.56p 78%, 17-08 12:30:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 17-08 22:30:00 @ 34.7p 100% ]
2026-08-15 23:05:04.210290: Best export window [  ]
2026-08-15 23:05:04.211267: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 23:05:04.214718: Load divergence over 8.0 hours mean 772.07W, min 341.4W, max 2423.4W, std dev 481.71W, divergence 31.2%
2026-08-15 23:05:04.261291: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 23:05:04.261554: LoadML is_calculating True
2026-08-15 23:05:04.261674: Not using thread pool as LoadML is calculating to avoid lockups
2026-08-15 23:05:04.380319: predict base end_record 08-17 12:40:00, final soc 1.12kWh, metric 1067.94p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 16:35:00, load 36.01kWh, PV 0.0kWh
2026-08-15 23:05:04.700751: Battery has 17.5 hours left - now at 13.31kWh
2026-08-15 23:05:04.754494: predict base10 end_record 08-17 12:40:00, final soc 1.12kWh, metric 1103.0p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 15:35:00, load 37.19kWh, PV 0.0kWh
2026-08-15 23:05:04.873169: predict best10 end_record 08-17 12:40:00, final soc 1.77kWh, metric 1045.24p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 07:10:00, load 37.19kWh, PV 0.0kWh
2026-08-15 23:05:05.087231: predict best end_record 08-17 12:40:00, final soc 1.9kWh, metric 1018.02p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 08:20:00, load 36.01kWh, PV 0.0kWh
2026-08-15 23:05:05.088098: Saving plan best values to HA entities
2026-08-15 23:05:05.428381: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 23:05:05.439670: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0.0
2026-08-15 23:05:05.446567: Best charging limit SoC's [5.0, 6.0, 8.0, 16.0, 12.5, 16.0, 16.0]kWh, export []kWh gives import battery 12.36kWh, house 2.81kWh, export 0.0kWh, metric 1018.02p, metric10 1045.24p
2026-08-15 23:05:05.644195: Marginal costs baseline metric (no standing charge): 918.0518
2026-08-15 23:05:06.048383: Marginal energy costs matrix computed: min=24.38 max=27.77
2026-08-15 23:05:06.241261: Rate array import [{'start': 1385, 'end': 1410, 'rate': 'expensive', 'range': '(30.0p)'}, {'start': 1410, 'end': 2400, 'rate': 'cheap', 'range': '(21.4p - 28.2p)'}, {'start': 2400, 'end': 2430, 'rate': 'expensive', 'range': '(36.8p)'}, {'start': 2430, 'end': 2580, 'rate': 'very expensive', 'range': '(37.5p - 45.3p)'}, {'start': 2580, 'end': 2850, 'rate': 'expensive', 'range': '(30.0p - 35.9p)'}, {'start': 2850, 'end': 3640, 'rate': 'cheap', 'range': '(22.3p - 28.2p)'}] export [{'start': 1385, 'end': 3640, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 23:05:06.241998: - Your estimated bill for today is £5.77 and tomorrow is £3.02
2026-08-15 23:05:06.242074: - Import rates are expensive (30.0p) for the next 25 minutes and then cheap (21.4p - 28.2p) for the next 16 hours.
2026-08-15 23:05:06.242180: - The battery is currently at 83% and is in eco mode for the next 12 hours.
2026-08-15 23:05:06.242252: - For the next 48 hours there will be no solar generation.
2026-08-15 23:05:06.242270: - You will run out of battery in 33 hours.
2026-08-15 23:05:06.242325: - Your next charge slot will be in 12 hours where import rates will be cheap (23.5p).
2026-08-15 23:05:06.242375: 
2026-08-15 23:05:06.309160: Plan calculation took 2.10 seconds
2026-08-15 23:05:06.312136: No high rate period found
2026-08-15 23:05:06.487604: Import threshold used for optimisation was 24.25p
2026-08-15 23:05:06.602566: Low import rate windows [0: 08-15 23:00:00 - 08-15 23:30:00 @ 30.02, 1: 08-15 23:30:00 - 08-16 00:00:00 @ 27.8, 2: 08-16 00:00:00 - 08-16 00:30:00 @ 28.18, 3: 08-16 00:30:00 - 08-16 01:00:00 @ 27.38, 4: 08-16 01:00:00 - 08-16 01:30:00 @ 26.7, 5: 08-16 01:30:00 - 08-16 02:00:00 @ 26.31, 6: 08-16 02:00:00 - 08-16 02:30:00 @ 25.79, 7: 08-16 02:30:00 - 08-16 03:00:00 @ 25.86, 8: 08-16 03:00:00 - 08-16 03:30:00 @ 26.13, 9: 08-16 03:30:00 - 08-16 04:00:00 @ 25.86, 10: 08-16 04:00:00 - 08-16 04:30:00 @ 26.27, 11: 08-16 04:30:00 - 08-16 05:00:00 @ 26.14, 12: 08-16 05:00:00 - 08-16 05:30:00 @ 27.03, 13: 08-16 05:30:00 - 08-16 06:00:00 @ 26.28, 14: 08-16 06:00:00 - 08-16 06:30:00 @ 25.68, 15: 08-16 06:30:00 - 08-16 07:00:00 @ 26.1, 16: 08-16 07:00:00 - 08-16 07:30:00 @ 24.28, 17: 08-16 07:30:00 - 08-16 08:00:00 @ 24.94, 18: 08-16 08:00:00 - 08-16 08:30:00 @ 24.06, 19: 08-16 08:30:00 - 08-16 09:00:00 @ 24.39, 20: 08-16 09:00:00 - 08-16 09:30:00 @ 24.66, 21: 08-16 09:30:00 - 08-16 10:00:00 @ 24.06, 22: 08-16 10:00:00 - 08-16 10:30:00 @ 25.5, 23: 08-16 10:30:00 - 08-16 11:00:00 @ 24.94, 24: 08-16 11:00:00 - 08-16 11:30:00 @ 24.25, 25: 08-16 11:30:00 - 08-16 12:00:00 @ 23.49, 26: 08-16 12:00:00 - 08-16 12:30:00 @ 23.43, 27: 08-16 12:30:00 - 08-16 13:00:00 @ 22.33, 28: 08-16 13:00:00 - 08-16 13:30:00 @ 22.76, 29: 08-16 13:30:00 - 08-16 14:00:00 @ 22.3, 30: 08-16 14:00:00 - 08-16 14:30:00 @ 21.41, 31: 08-16 14:30:00 - 08-16 15:00:00 @ 21.65, 32: 08-16 15:00:00 - 08-16 15:30:00 @ 22.95, 33: 08-16 15:30:00 - 08-16 16:00:00 @ 22.83, 34: 08-16 16:00:00 - 08-16 16:30:00 @ 36.84, 35: 08-16 16:30:00 - 08-16 17:00:00 @ 37.54, 36: 08-16 17:00:00 - 08-16 17:30:00 @ 41.79, 37: 08-16 17:30:00 - 08-16 18:00:00 @ 43.7, 38: 08-16 18:00:00 - 08-16 18:30:00 @ 44.34, 39: 08-16 19:00:00 - 08-16 19:30:00 @ 34.79, 40: 08-16 19:30:00 - 08-16 20:00:00 @ 34.76, 41: 08-16 20:00:00 - 08-16 20:30:00 @ 35.62, 42: 08-16 20:30:00 - 08-16 21:00:00 @ 35.3, 43: 08-16 21:00:00 - 08-16 21:30:00 @ 35.89, 44: 08-16 21:30:00 - 08-16 22:00:00 @ 35.71, 45: 08-16 22:00:00 - 08-16 22:30:00 @ 33.75, 46: 08-16 22:30:00 - 08-16 23:00:00 @ 32.0, 47: 08-16 23:00:00 - 08-16 23:30:00 @ 30.02, 48: 08-16 23:30:00 - 08-17 00:00:00 @ 27.8, 49: 08-17 00:00:00 - 08-17 00:30:00 @ 28.18, 50: 08-17 00:30:00 - 08-17 01:00:00 @ 27.38, 51: 08-17 01:00:00 - 08-17 01:30:00 @ 26.7, 52: 08-17 01:30:00 - 08-17 02:00:00 @ 26.31, 53: 08-17 02:00:00 - 08-17 02:30:00 @ 25.79, 54: 08-17 02:30:00 - 08-17 03:00:00 @ 25.86, 55: 08-17 03:00:00 - 08-17 03:30:00 @ 26.13, 56: 08-17 03:30:00 - 08-17 04:00:00 @ 25.86, 57: 08-17 04:00:00 - 08-17 04:30:00 @ 26.27, 58: 08-17 04:30:00 - 08-17 05:00:00 @ 26.14, 59: 08-17 05:00:00 - 08-17 05:30:00 @ 27.03, 60: 08-17 05:30:00 - 08-17 06:00:00 @ 26.28, 61: 08-17 06:00:00 - 08-17 06:30:00 @ 25.68, 62: 08-17 06:30:00 - 08-17 07:00:00 @ 26.1, 63: 08-17 07:00:00 - 08-17 07:30:00 @ 24.28, 64: 08-17 07:30:00 - 08-17 08:00:00 @ 24.94, 65: 08-17 08:00:00 - 08-17 08:30:00 @ 24.06, 66: 08-17 08:30:00 - 08-17 09:00:00 @ 24.39, 67: 08-17 09:00:00 - 08-17 09:30:00 @ 24.66, 68: 08-17 09:30:00 - 08-17 10:00:00 @ 24.06, 69: 08-17 10:00:00 - 08-17 10:30:00 @ 25.5, 70: 08-17 10:30:00 - 08-17 11:00:00 @ 24.94, 71: 08-17 11:00:00 - 08-17 11:30:00 @ 24.25, 72: 08-17 11:30:00 - 08-17 12:00:00 @ 23.49, 73: 08-17 12:00:00 - 08-17 12:30:00 @ 23.43, 74: 08-17 12:30:00 - 08-17 13:00:00 @ 22.33, 75: 08-17 13:00:00 - 08-17 13:30:00 @ 22.76, 76: 08-17 13:30:00 - 08-17 14:00:00 @ 22.3, 77: 08-17 14:00:00 - 08-17 14:30:00 @ 21.41, 78: 08-17 14:30:00 - 08-17 15:00:00 @ 21.65, 79: 08-17 15:00:00 - 08-17 15:30:00 @ 22.95, 80: 08-17 15:30:00 - 08-17 16:00:00 @ 22.83, 81: 08-17 16:00:00 - 08-17 16:30:00 @ 36.84, 82: 08-17 16:30:00 - 08-17 17:00:00 @ 37.54, 83: 08-17 17:00:00 - 08-17 17:30:00 @ 41.79, 84: 08-17 17:30:00 - 08-17 18:00:00 @ 43.7, 85: 08-17 18:00:00 - 08-17 18:30:00 @ 44.34, 86: 08-17 19:00:00 - 08-17 19:30:00 @ 34.79, 87: 08-17 19:30:00 - 08-17 20:00:00 @ 34.76, 88: 08-17 20:00:00 - 08-17 20:30:00 @ 35.62, 89: 08-17 20:30:00 - 08-17 21:00:00 @ 35.3, 90: 08-17 21:00:00 - 08-17 21:30:00 @ 35.89, 91: 08-17 21:30:00 - 08-17 22:00:00 @ 35.71, 92: 08-17 22:00:00 - 08-17 22:30:00 @ 33.75, 93: 08-17 22:30:00 - 08-17 23:00:00 @ 32.0, 94: 08-17 23:00:00 - 08-17 23:30:00 @ 30.02]
2026-08-15 23:05:06.617255: Inverter 0 Charge window will be: 2026-08-16 11:30:00+01:00 - 2026-08-16 16:00:00+01:00 - current SoC 83%, target 31%
2026-08-15 23:05:06.617507: Inverter 0 disabled charge window while waiting for schedule (now 08-15 23:05:00 target set_window_minutes 30 charge start time 08-16 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 23:05:06.617693: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 23:05:06.618002: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 23:05:06.618172: No export window planned
2026-08-15 23:05:06.618383: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 23:05:06.618439: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 23:05:06.619109: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 23:05:06.619394: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 23:05:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 23:05:06.619466: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 23:05:06.619739: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 23:05:06.620437: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 23:05:06.620523: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 23:05:06.620630: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 23:05:06.620683: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 23:05:06.620764: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 23:05:06.620929: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 23:05:06.621147: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 23:05:06.621615: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 23:05:06.621803: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 23:05:06.621960: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 23:05:06.622130: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 23:05:06.622283: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 23:05:06.623946: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 23:05:06.624035: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 23:05:06.624095: Inverter 0 count register writes 0
2026-08-15 23:05:06.656574: Will recompute the plan as it is now 10.0 minutes old and will exceed the max age of 10 minutes before the next run
2026-08-15 23:05:06.656815: Recompute is saving previous plan...
2026-08-15 23:05:06.661645: Best charge window [ 15-08 23:00:00 - 15-08 23:30:00 @ 30.02p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 27.8p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.18p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.38p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 26.7p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.31p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.79p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 25.86p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.13p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 25.86p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.27p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.14p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 27.03p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.28p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.68p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 26.1p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 24.28p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 24.94p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.06p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.39p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.66p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.06p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 25.5p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 24.94p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 24.25p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 23.49p 0%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.43p 0%, 16-08 12:30:00 - 16-08 13:00:00 @ 22.33p 0%, 16-08 13:00:00 - 16-08 13:30:00 @ 22.76p 0%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 0%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 0%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.65p 0%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.95p 0%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.83p 0%, 16-08 16:00:00 - 16-08 16:30:00 @ 36.84p 0%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.54p 0%, 16-08 17:00:00 - 16-08 17:30:00 @ 41.79p 0%, 16-08 17:30:00 - 16-08 18:00:00 @ 43.7p 0%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.34p 0%, 16-08 19:00:00 - 16-08 19:30:00 @ 34.79p 0%, 16-08 19:30:00 - 16-08 20:00:00 @ 34.76p 0%, 16-08 20:00:00 - 16-08 20:30:00 @ 35.62p 0%, 16-08 20:30:00 - 16-08 21:00:00 @ 35.3p 0%, 16-08 21:00:00 - 16-08 21:30:00 @ 35.89p 0%, 16-08 21:30:00 - 16-08 22:00:00 @ 35.71p 0%, 16-08 22:00:00 - 16-08 22:30:00 @ 33.75p 0%, 16-08 22:30:00 - 16-08 23:00:00 @ 32.0p 0%, 16-08 23:00:00 - 16-08 23:30:00 @ 30.02p 0%, 16-08 23:30:00 - 17-08 00:00:00 @ 27.8p 0%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.18p 0%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.38p 0%, 17-08 01:00:00 - 17-08 01:30:00 @ 26.7p 0%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.31p 0%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.79p 0%, 17-08 02:30:00 - 17-08 03:00:00 @ 25.86p 0%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.13p 0%, 17-08 03:30:00 - 17-08 04:00:00 @ 25.86p 0%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.27p 0%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.14p 0%, 17-08 05:00:00 - 17-08 05:30:00 @ 27.03p 0%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.28p 0%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.68p 0%, 17-08 06:30:00 - 17-08 07:00:00 @ 26.1p 0%, 17-08 07:00:00 - 17-08 07:30:00 @ 24.28p 0%, 17-08 07:30:00 - 17-08 08:00:00 @ 24.94p 0%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.06p 0%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.39p 0%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.66p 0%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.06p 0%, 17-08 10:00:00 - 17-08 10:30:00 @ 25.5p 0%, 17-08 10:30:00 - 17-08 11:00:00 @ 24.94p 0%, 17-08 11:00:00 - 17-08 11:30:00 @ 24.25p 0%, 17-08 11:30:00 - 17-08 12:00:00 @ 23.49p 0%, 17-08 12:00:00 - 17-08 12:30:00 @ 23.43p 0%, 17-08 12:30:00 - 17-08 13:00:00 @ 22.33p 0%, 17-08 13:00:00 - 17-08 13:30:00 @ 22.76p 0%, 17-08 13:30:00 - 17-08 14:00:00 @ 22.3p 0%, 17-08 14:00:00 - 17-08 14:30:00 @ 21.41p 0%, 17-08 14:30:00 - 17-08 15:00:00 @ 21.65p 0%, 17-08 15:00:00 - 17-08 15:30:00 @ 22.95p 0%, 17-08 15:30:00 - 17-08 16:00:00 @ 22.83p 0%, 17-08 16:00:00 - 17-08 16:30:00 @ 36.84p 0%, 17-08 16:30:00 - 17-08 17:00:00 @ 37.54p 0%, 17-08 17:00:00 - 17-08 17:30:00 @ 41.79p 0%, 17-08 17:30:00 - 17-08 18:00:00 @ 43.7p 0%, 17-08 18:00:00 - 17-08 18:30:00 @ 44.34p 0%, 17-08 19:00:00 - 17-08 19:30:00 @ 34.79p 0%, 17-08 19:30:00 - 17-08 20:00:00 @ 34.76p 0%, 17-08 20:00:00 - 17-08 20:30:00 @ 35.62p 0%, 17-08 20:30:00 - 17-08 21:00:00 @ 35.3p 0%, 17-08 21:00:00 - 17-08 21:30:00 @ 35.89p 0%, 17-08 21:30:00 - 17-08 22:00:00 @ 35.71p 0%, 17-08 22:00:00 - 17-08 22:30:00 @ 33.75p 0%, 17-08 22:30:00 - 17-08 23:00:00 @ 32.0p 0%, 17-08 23:00:00 - 17-08 23:30:00 @ 30.02p 0% ]
2026-08-15 23:05:06.661873: Best export window [  ]
2026-08-15 23:05:06.663172: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 23:05:06.668370: Load divergence over 8.0 hours mean 772.07W, min 341.4W, max 2423.4W, std dev 481.71W, divergence 31.2%
2026-08-15 23:05:06.701899: Calculating data from yesterday for savings calculation
2026-08-15 23:05:06.723915: Yesterday basic charge window best: [{'start': 840, 'end': 870, 'average': 21.7}] charge limit best: [16.0] based on max charge slots 1
2026-08-15 23:05:06.839754: predict yesterday end_record 08-16 00:00:00, final soc 1.12kWh, metric 843.63p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 00:00:00, load 26.2kWh, PV 0.0kWh
2026-08-15 23:05:06.874961: predict yesterday10 end_record 08-16 00:00:00, final soc 1.12kWh, metric 847.91p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 00:00:00, load 26.2kWh, PV 0.0kWh
2026-08-15 23:05:06.904529: predict yesterday end_record 08-16 00:00:00, final soc 1.12kWh, metric 843.63p, metric_keep 0kWh, min_soc 1.12kWh @ 08-15 00:00:00, load 26.2kWh, PV 0.0kWh
2026-08-15 23:05:07.017963: Yesterday: Predbat disabled was £8.44 (adjusted £8.23) vs £7.38 (adjusted £7.05), saving £1.05 (adjusted £1.18) with import 26.54kWh, export 0.0kWh, battery_cycle 4.66kWh, start_soc 1.12kWh,  final_soc 1.12kWh and battery_value 20.6kWh
2026-08-15 23:05:07.128188: predict yesterday end_record 08-16 00:00:00, final soc 0.0kWh, metric 849.84p, metric_keep 0kWh, min_soc 0kWh @ 08-15 00:00:00, load 26.2kWh, PV 0.0kWh
2026-08-15 23:05:07.128484: Yesterday: No Battery/PV system cost predicted was £8.5 (adjusted £8.5) vs £7.38 (adjusted £7.05), saving £1.12 (adjusted £1.45) with import 26.2kWh, export 0kWh and battery_value 0.0kWh
2026-08-15 23:05:07.149062: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 23:05:07.149413: LoadML is_calculating True
2026-08-15 23:05:07.149464: Not using thread pool as LoadML is calculating to avoid lockups
2026-08-15 23:05:07.163174: Calculate Best options: mode(Control charge & discharge), calculate_export_oncharge(False), calculate_export_on_pv(True), set_export_freeze_only(False), set_discharge_during_charge(True), combine_charge_slots(False), combine_export_slots(False), combine_rate_threshold(0.0), best_soc_min(0.0 kWh), best_soc_max(0.0 kWh), best_soc_keep(0.0 kWh), inverter_loss(4%), battery_loss(3%), battery_loss_discharge (3%), inverter_hybrid(True), metric_min_improvement(0.0p), metric_min_improvement_export(0.1p), metric_min_improvement_export_freeze(0.1p), metric_battery_cycle(0.0p/kWh), metric_battery_value_scaling(1.0 x) 
2026-08-15 23:05:07.164888: Optimise levels pass started at 2026-08-15 23:05:07
2026-08-15 23:05:07.165097: Optimise all windows, total charge 94 export 1
2026-08-15 23:05:12.342254: >> Region optimisation pass width 960 gives best_metric 1059.03p, best_cost 1086.16p, best_cycle 43.09kWh, best_import 22.9kWh
2026-08-15 23:05:13.314004: >> Region optimisation pass width 480 gives best_metric 1059.03p, best_cost 1086.16p, best_cycle 43.09kWh, best_import 22.9kWh
2026-08-15 23:05:14.779038: >> Region optimisation pass width 240 gives best_metric 1059.03p, best_cost 1086.16p, best_cycle 43.09kWh, best_import 22.9kWh
2026-08-15 23:05:18.712394: >> Region optimisation pass width 120 gives best_metric 1059.03p, best_cost 1086.16p, best_cycle 43.09kWh, best_import 22.9kWh
2026-08-15 23:05:18.712788: Calculated end_record as 08-17 12:30:00 based on best_price 22.33p, next_charge_start 08-16 12:30:00, max_windows 74
2026-08-15 23:05:18.712878: Optimise levels pass ended at 2026-08-15 23:05:18, duration 11.5 seconds tried 339 combinations
2026-08-15 23:05:18.713001: Set best_price_charge_level 24.0p, best_price_export_level 0p, best_price_charge 22.33p, best_cost_export 0p, best_metric 1059.03p, best_keep 0kWh, best_cycle 43.09kWh, best_carbon 0kg, best_import 22.9kWh
2026-08-15 23:05:18.735737: Starting detailed optimisation end_record 08-17 12:30:00, best_price_charge 22.33p, best_price_export 0p. lowest_price_charge 21.41p with charge limits [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12.5, 0, 12.5, 12.5, 12.5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0]kWh and export limits []kWh
2026-08-15 23:05:28.737039: ML Predictor: Epoch 9/30: lr=0.00084 huber_loss=0.0082 val_mae=0.0039 kWh val_bias=-0.0010 kWh (-1.2%) combined=0.0026 kWh ema_combined=0.0029 kWh
2026-08-15 23:05:51.206135: Tweak plan optimisation started metric 879.84p, cost 896.01p
2026-08-15 23:05:53.894859: Tweak optimisation finished metric 879.84p, cost 896.01p, metric_keep 0kWh, cycle 26.48kWh, carbon 0kg, import 14.18kWh, changed 8 window(s)
2026-08-15 23:05:53.919892: Swap charge optimisation started metric 879.84p, cost 896.01p, min_improvement_swap 0.1p
2026-08-15 23:06:09.330477: Swap charge optimisation finished metric 879.84p, cost 896.01p
2026-08-15 23:06:09.514391: Pruned 2 dead plan slot(s) in 12 trial(s), nominal metric 875.41p -> 875.41p, plan now metric 879.88p, cost 896.01p, cycle 26.44kWh, import 14.17kWh
2026-08-15 23:06:09.533940: Raw charge windows [ 15-08 23:00:00 - 15-08 23:30:00 @ 30.02p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 27.8p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.18p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.38p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 26.7p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.31p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.79p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 25.86p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.13p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 25.86p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.27p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.14p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 27.03p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.28p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.68p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 26.1p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 24.28p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 24.94p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.06p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.39p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.66p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.06p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 25.5p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 24.94p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 24.25p 31%, 16-08 11:30:00 - 16-08 12:00:00 @ 23.49p 31%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.43p 31%, 16-08 12:30:00 - 16-08 13:00:00 @ 22.33p 34%, 16-08 13:00:00 - 16-08 13:30:00 @ 22.76p 34%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 100%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 78%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.65p 78%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.95p 78%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.83p 78%, 16-08 16:00:00 - 16-08 16:30:00 @ 36.84p 0%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.54p 0%, 16-08 17:00:00 - 16-08 17:30:00 @ 41.79p 0%, 16-08 17:30:00 - 16-08 18:00:00 @ 43.7p 0%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.34p 0%, 16-08 19:00:00 - 16-08 19:30:00 @ 34.79p 0%, 16-08 19:30:00 - 16-08 20:00:00 @ 34.76p 0%, 16-08 20:00:00 - 16-08 20:30:00 @ 35.62p 0%, 16-08 20:30:00 - 16-08 21:00:00 @ 35.3p 0%, 16-08 21:00:00 - 16-08 21:30:00 @ 35.89p 0%, 16-08 21:30:00 - 16-08 22:00:00 @ 35.71p 0%, 16-08 22:00:00 - 16-08 22:30:00 @ 33.75p 0%, 16-08 22:30:00 - 16-08 23:00:00 @ 32.0p 0%, 16-08 23:00:00 - 16-08 23:30:00 @ 30.02p 0%, 16-08 23:30:00 - 17-08 00:00:00 @ 27.8p 0%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.18p 0%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.38p 0%, 17-08 01:00:00 - 17-08 01:30:00 @ 26.7p 0%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.31p 0%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.79p 0%, 17-08 02:30:00 - 17-08 03:00:00 @ 25.86p 0%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.13p 0%, 17-08 03:30:00 - 17-08 04:00:00 @ 25.86p 0%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.27p 0%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.14p 0%, 17-08 05:00:00 - 17-08 05:30:00 @ 27.03p 0%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.28p 0%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.68p 0%, 17-08 06:30:00 - 17-08 07:00:00 @ 26.1p 0%, 17-08 07:00:00 - 17-08 07:30:00 @ 24.28p 0%, 17-08 07:30:00 - 17-08 08:00:00 @ 24.94p 0%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.06p 0%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.39p 0%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.66p 0%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.06p 0%, 17-08 10:00:00 - 17-08 10:30:00 @ 25.5p 0%, 17-08 10:30:00 - 17-08 11:00:00 @ 24.94p 0%, 17-08 11:00:00 - 17-08 11:30:00 @ 24.25p 0%, 17-08 11:30:00 - 17-08 12:00:00 @ 23.49p 0%, 17-08 12:00:00 - 17-08 12:30:00 @ 23.43p 0%, 17-08 12:30:00 - 17-08 13:00:00 @ 22.33p 100%, 17-08 13:00:00 - 17-08 13:30:00 @ 22.76p 100%, 17-08 13:30:00 - 17-08 14:00:00 @ 22.3p 100%, 17-08 14:00:00 - 17-08 14:30:00 @ 21.41p 100%, 17-08 14:30:00 - 17-08 15:00:00 @ 21.65p 100%, 17-08 15:00:00 - 17-08 15:30:00 @ 22.95p 100%, 17-08 15:30:00 - 17-08 16:00:00 @ 22.83p 100%, 17-08 16:00:00 - 17-08 16:30:00 @ 36.84p 100%, 17-08 16:30:00 - 17-08 17:00:00 @ 37.54p 100%, 17-08 17:00:00 - 17-08 17:30:00 @ 41.79p 100%, 17-08 17:30:00 - 17-08 18:00:00 @ 43.7p 100%, 17-08 18:00:00 - 17-08 18:30:00 @ 44.34p 100%, 17-08 19:00:00 - 17-08 19:30:00 @ 34.79p 100%, 17-08 19:30:00 - 17-08 20:00:00 @ 34.76p 100%, 17-08 20:00:00 - 17-08 20:30:00 @ 35.62p 100%, 17-08 20:30:00 - 17-08 21:00:00 @ 35.3p 100%, 17-08 21:00:00 - 17-08 21:30:00 @ 35.89p 100%, 17-08 21:30:00 - 17-08 22:00:00 @ 35.71p 100%, 17-08 22:00:00 - 17-08 22:30:00 @ 33.75p 100%, 17-08 22:30:00 - 17-08 23:00:00 @ 32.0p 100%, 17-08 23:00:00 - 17-08 23:30:00 @ 30.02p 100% ] reserve 1.12
2026-08-15 23:06:09.535029: Unclipped charge windows [ 16-08 11:00:00 - 16-08 12:30:00 @ 23.65p 31%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 34%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 100%, 16-08 14:00:00 - 16-08 16:00:00 @ 22.53p 78%, 17-08 12:30:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 17-08 23:30:00 @ 31.69p 100% ] reserve 1.12
2026-08-15 23:06:09.535596: Unfiltered charge windows [ 16-08 11:00:00 - 16-08 12:30:00 @ 23.65p 31%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 34%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 100%, 16-08 14:00:00 - 16-08 16:00:00 @ 22.53p 78%, 17-08 12:30:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 17-08 23:30:00 @ 31.69p 100% ] reserve 1.12
2026-08-15 23:06:09.536129: Filtered charge windows [ 16-08 11:00:00 - 16-08 12:30:00 @ 23.65p 31%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 34%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 100%, 16-08 14:00:00 - 16-08 16:00:00 @ 22.53p 78%, 17-08 12:30:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 17-08 23:30:00 @ 31.69p 100% ] reserve 1.12
2026-08-15 23:06:09.595550: Previous plan best metric is 879.91 (cost 896.13) and new plan best metric is 879.84 (cost 896.01)
2026-08-15 23:06:09.596099: New plan metric is not significantly better (metric_min_improvement_plan 2.0) than previous plan, using previous plan
2026-08-15 23:06:09.596482: Plan valid is now true after recompute was False
2026-08-15 23:06:09.670064: predict base end_record 08-17 12:30:00, final soc 1.12kWh, metric 1065.05p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 16:35:00, load 35.89kWh, PV 0.0kWh
2026-08-15 23:06:09.978577: Battery has 17.5 hours left - now at 13.31kWh
2026-08-15 23:06:10.047814: predict base10 end_record 08-17 12:30:00, final soc 1.12kWh, metric 1099.98p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 15:35:00, load 37.05kWh, PV 0.0kWh
2026-08-15 23:06:10.180617: predict best10 end_record 08-17 12:30:00, final soc 1.12kWh, metric 1026.71p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 07:10:00, load 37.05kWh, PV 0.0kWh
2026-08-15 23:06:10.363847: predict best end_record 08-17 12:30:00, final soc 1.12kWh, metric 996.52p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 08:20:00, load 35.89kWh, PV 0.0kWh
2026-08-15 23:06:10.363965: Saving plan best values to HA entities
2026-08-15 23:06:10.733962: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 23:06:10.753446: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0.0
2026-08-15 23:06:10.763536: Best charging limit SoC's [5.0, 6.0, 8.0, 16.0, 12.5, 16.0, 16.0]kWh, export []kWh gives import battery 11.4kWh, house 2.81kWh, export 0.0kWh, metric 996.52p, metric10 1026.71p
2026-08-15 23:06:10.930031: Marginal costs baseline metric (no standing charge): 896.5572
2026-08-15 23:06:11.303447: Marginal energy costs matrix computed: min=24.38 max=27.77
2026-08-15 23:06:11.435694: Rate array import [{'start': 1385, 'end': 1410, 'rate': 'expensive', 'range': '(30.0p)'}, {'start': 1410, 'end': 2400, 'rate': 'cheap', 'range': '(21.4p - 28.2p)'}, {'start': 2400, 'end': 2430, 'rate': 'expensive', 'range': '(36.8p)'}, {'start': 2430, 'end': 2580, 'rate': 'very expensive', 'range': '(37.5p - 45.3p)'}, {'start': 2580, 'end': 2850, 'rate': 'expensive', 'range': '(30.0p - 35.9p)'}, {'start': 2850, 'end': 3630, 'rate': 'cheap', 'range': '(23.4p - 28.2p)'}] export [{'start': 1385, 'end': 3630, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 23:06:11.437024: - Your estimated bill for today is £5.77 and tomorrow is £3.02
2026-08-15 23:06:11.437303: - Import rates are expensive (30.0p) for the next 25 minutes and then cheap (21.4p - 28.2p) for the next 16 hours.
2026-08-15 23:06:11.437379: - The battery is currently at 83% and is in eco mode for the next 12 hours.
2026-08-15 23:06:11.437464: - For the next 48 hours there will be no solar generation.
2026-08-15 23:06:11.437599: - You will run out of battery in 33 hours.
2026-08-15 23:06:11.437659: - Your next charge slot will be in 12 hours where import rates will be cheap (23.5p).
2026-08-15 23:06:11.438027: 
2026-08-15 23:06:11.533651: Plan calculation took 64.88 seconds
2026-08-15 23:06:11.534071: Inverter 0: Type SK Sunsynk
2026-08-15 23:06:11.534233: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 23:06:11.534573: Reserve min: 7%, battery_min: 7%
2026-08-15 23:06:11.534749: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 23:06:11.535229: Inverter 0 SoC: 13.26kW 83%, current charge rate 5000W, current discharge rate 5250W, current battery power 1654W, current battery voltage 51.2V, grid power -54W, load power 1715W, PV Power 0W
2026-08-15 23:06:11.535543: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 23:06:11.535750: Inverter 0 scheduled charge enable is False
2026-08-15 23:06:11.535818: Inverter 0 charge windows currently []
2026-08-15 23:06:11.535958: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 23:06:11.536254: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 23:06:11.536320: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 23:06:11.536441: Inverter 0 scheduled discharge enable is False
2026-08-15 23:06:11.536736: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 23:06:11.536799: Inverter 0 discharge windows currently []
2026-08-15 23:06:11.536881: Note: Inverter does not support discharge freeze - disabled
2026-08-15 23:06:11.537065: Note: Inverter does not support charge freeze - disabled
2026-08-15 23:06:11.537214: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 23:06:11.735801: Inverter 0 Charge window will be: 2026-08-16 11:30:00+01:00 - 2026-08-16 16:00:00+01:00 - current SoC 83%, target 31%
2026-08-15 23:06:11.736142: Inverter 0 disabled charge window while waiting for schedule (now 08-15 23:05:00 target set_window_minutes 30 charge start time 08-16 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 23:06:11.736250: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 23:06:11.736505: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 23:06:11.736604: No export window planned
2026-08-15 23:06:11.736732: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 23:06:11.736776: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 23:06:11.737043: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 23:06:11.737258: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 23:05:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 23:06:11.737323: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 23:06:11.737389: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 23:06:11.737510: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 23:06:11.737566: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 23:06:11.737614: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 23:06:11.737656: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 23:06:11.737876: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 23:06:11.737945: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 23:06:11.737982: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 23:06:11.738097: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 23:06:11.738157: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 23:06:11.738225: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 23:06:11.738286: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 23:06:11.738324: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 23:06:11.738366: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 23:06:11.738400: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 23:06:11.738428: Inverter 0 count register writes 0
2026-08-15 23:06:11.779392: Total inverter register writes now 826
2026-08-15 23:06:11.912834: Info: Completed run status Demand
2026-08-15 23:06:11.948186: Info: record_status Demand
2026-08-15 23:06:11.974222: Saved current settings to /config/predbat_config.json
2026-08-15 23:06:11.974596: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 23:06:24.851983: ML Predictor: Epoch 10/30: lr=0.00080 huber_loss=0.0092 val_mae=0.0042 kWh val_bias=-0.0008 kWh (-0.9%) combined=0.0021 kWh ema_combined=0.0027 kWh
2026-08-15 23:06:42.186430: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 23:06:42.186873: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 23:06:42.187130: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 23:06:42.187492: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 23:06:42.187672: Note: Inverter does not support discharge freeze - disabled
2026-08-15 23:06:42.187782: Note: Inverter does not support charge freeze - disabled
2026-08-15 23:06:42.187934: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 23:06:57.983546: ML Predictor: Epoch 11/30: lr=0.00076 huber_loss=0.0095 val_mae=0.0041 kWh val_bias=-0.0021 kWh (-2.4%) combined=0.0034 kWh ema_combined=0.0029 kWh
2026-08-15 23:07:31.307577: ML Predictor: Epoch 12/30: lr=0.00072 huber_loss=0.0090 val_mae=0.0041 kWh val_bias=-0.0016 kWh (-1.8%) combined=0.0030 kWh ema_combined=0.0029 kWh
2026-08-15 23:08:04.625823: ML Predictor: Epoch 13/30: lr=0.00067 huber_loss=0.0079 val_mae=0.0044 kWh val_bias=-0.0014 kWh (-1.6%) combined=0.0024 kWh ema_combined=0.0028 kWh
2026-08-15 23:08:36.380020: ML Predictor: Epoch 14/30: lr=0.00062 huber_loss=0.0077 val_mae=0.0037 kWh val_bias=-0.0000 kWh (-0.0%) combined=0.0019 kWh ema_combined=0.0025 kWh
2026-08-15 23:08:56.775431: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 23:08:56.775912: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 23:08:56.776114: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 23:08:56.776450: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 23:08:56.776611: Note: Inverter does not support discharge freeze - disabled
2026-08-15 23:08:56.776756: Note: Inverter does not support charge freeze - disabled
2026-08-15 23:08:56.776893: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 23:09:06.427496: ML Predictor: Epoch 15/30: lr=0.00057 huber_loss=0.0066 val_mae=0.0039 kWh val_bias=-0.0024 kWh (-2.7%) combined=0.0036 kWh ema_combined=0.0028 kWh
2026-08-15 23:09:40.028077: ML Predictor: Epoch 16/30: lr=0.00053 huber_loss=0.0067 val_mae=0.0033 kWh val_bias=+0.0001 kWh (+0.1%) combined=0.0017 kWh ema_combined=0.0025 kWh
2026-08-15 23:10:00.071735: --------------- PredBat - update at 2026-08-15 23:10:00+01:00 with clock skew 0 minutes, minutes now 1390
2026-08-15 23:10:00.075993: Saved current settings to /config/predbat_config.json
2026-08-15 23:10:00.076176: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 35.0 minutes
2026-08-15 23:10:00.076259: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.2, latest beta is v8.48.2
2026-08-15 23:10:00.076379: Autoupdate: There is an update pending v8.48.2 PV90 and second pass enabled by default, bug fixes - auto update is off
2026-08-15 23:10:00.133404: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 23:10:00.133549: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 23:10:00.133718: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 23:10:00.134251: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 23:10:00.134370: Predbat mode is set to Control charge & discharge
2026-08-15 23:10:00.593016: Found 21602 load_today datapoints going back 28 days
2026-08-15 23:10:00.593211: Using load_power data to fill gaps in load_today data
2026-08-15 23:10:02.013276: Processing 721 30-minute periods for power integration
2026-08-15 23:10:02.401301: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 23:10:02.401541: Car charging hold False, threshold 6.0kWh
2026-08-15 23:10:02.401624: Current data so far today: load 11.65kWh, import 27.9kWh, export 0.0kWh, PV 0kWh
2026-08-15 23:10:02.418612: Cars: SoC: [8.204]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 23:10:02.419152: Standing charge is set to 49.98p
2026-08-15 23:10:02.535756: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 23:10:02.535886: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 23:10:02.536142: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 25.0 minutes
2026-08-15 23:10:02.536781: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 25.0 minutes
2026-08-15 23:10:02.545235: Loaded 95 datapoints of futurerate analysis
2026-08-15 23:10:02.979363: Predicted future rates: ['08-15 00:00:00 => 28.69 / 20.01', '08-15 01:00:00 => 27.33 / 19.31', '08-15 02:00:00 => 26.31 / 18.8', '08-15 03:00:00 => 25.78 / 18.53', '08-15 04:00:00 => 25.59 / 18.43', '08-15 05:00:00 => 25.75 / 18.51', '08-15 06:00:00 => 25.34 / 18.3', '08-15 07:00:00 => 24.12 / 17.68', '08-15 08:00:00 => 22.82 / 17.01', '08-15 09:00:00 => 21.84 / 16.51', '08-15 10:00:00 => 20.22 / 15.68', '08-15 11:00:00 => 17.8 / 14.45', '08-15 12:00:00 => 16.16 / 13.61', '08-15 13:00:00 => 15.55 / 13.3', '08-15 14:00:00 => 15.14 / 13.09', '08-15 15:00:00 => 15.65 / 13.35', '08-15 16:00:00 => 32.68 / 16.13', '08-15 17:00:00 => 37.81 / 18.75', '08-15 18:00:00 => 42.15 / 20.96', '08-15 19:00:00 => 30.88 / 21.13', '08-15 20:00:00 => 31.43 / 21.41', '08-15 21:00:00 => 31.43 / 21.41', '08-15 22:00:00 => 30.37 / 20.87', '08-15 23:00:00 => 29.16 / 20.25', '08-16 00:00:00 => 28.62 / 19.97', '08-16 01:00:00 => 27.52 / 19.41', '08-16 02:00:00 => 26.55 / 18.92', '08-16 03:00:00 => 26.18 / 18.73', '08-16 04:00:00 => 26.12 / 18.7', '08-16 05:00:00 => 26.02 / 18.65', '08-16 06:00:00 => 25.78 / 18.53', '08-16 07:00:00 => 25.43 / 18.35', '08-16 08:00:00 => 24.63 / 17.94', '08-16 09:00:00 => 24.05 / 17.64', '08-16 10:00:00 => 24.59 / 17.92', '08-16 11:00:00 => 24.5 / 17.87', '08-16 12:00:00 => 23.58 / 17.4', '08-16 13:00:00 => 22.93 / 17.07', '08-16 14:00:00 => 21.8 / 16.49', '08-16 15:00:00 => 21.8 / 16.49', '08-16 16:00:00 => 36.93 / 18.3', '08-16 17:00:00 => 39.92 / 19.83', '08-16 18:00:00 => 43.98 / 21.9', '08-16 19:00:00 => 32.83 / 22.13', '08-16 20:00:00 => 33.62 / 22.53', '08-16 21:00:00 => 33.52 / 22.48', '08-16 22:00:00 => 32.15 / 21.78']
2026-08-15 23:10:03.025821: Rate min forward looking: now 21.41p at end of forecast 21.41p
2026-08-15 23:10:03.027022: Import rates: min 21.41p, max 45.28p, average 28.73p
2026-08-15 23:10:03.072491: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 23:10:03.072673: Rate thresholds (for charge/export) are import 44.78p (0.0p), export -0.1p (0.0p)
2026-08-15 23:10:03.074046: High export rate found rates in range 99p to -99p
2026-08-15 23:10:03.191875: Low Import rate found rates in range 21.41p to 44.34p
2026-08-15 23:10:03.192096: Car 0 charging is not planned as it is not plugged in
2026-08-15 23:10:03.210121: Battery level now 13.31kWh, -1hr ago 14.08kWh, at midnight 1.66kWh, battery value change in the last hour -14.13p, change today 214.39p, rate_forward 18.39p
2026-08-15 23:10:03.210783: Last hour: net energy 0.03kWh, import 0.03kWh, export 0.0kWh, car 0kWh, load 1.07kWh, net cost 0.98p, import 0.98p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 23:10:03.334093: Today's energy total net 27.9kWh, import 27.9kWh, export 0.0kWh, cost 576.57p, import 526.58p, export 0.0p, carbon 0.0kg
2026-08-15 23:10:03.334313: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 23:10:03.484625: Using weighted-bucket historical load forecast over 14 days
2026-08-15 23:10:03.519781: Today's load divergence 80.22%, in-day adjustment 83.38%, damping 0.95x, yesterday 143.77% today 81.21% blend 3.47%
2026-08-15 23:10:03.519892: Today's predicted so far 14.15kWh with 0.0kWh car/iBoost excluded, 20.92kWh import ignored, and 14.15kWh forecast extra.
2026-08-15 23:10:03.519937: Today's actual load so far 11.67kWh with 0.0kWh car/iBoost excluded, and 20.92kWh import ignored.
2026-08-15 23:10:03.581077: Inverter 0: Type SK Sunsynk
2026-08-15 23:10:03.581172: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 23:10:03.581366: Reserve min: 7%, battery_min: 7%
2026-08-15 23:10:03.581439: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 23:10:03.581702: Inverter 0 SoC: 13.26kW 83%, current charge rate 5000W, current discharge rate 5250W, current battery power 1672W, current battery voltage 51.2V, grid power -54W, load power 1737W, PV Power 0W
2026-08-15 23:10:03.581908: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 23:10:03.582031: Inverter 0 scheduled charge enable is False
2026-08-15 23:10:03.582084: Inverter 0 charge windows currently []
2026-08-15 23:10:03.582114: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 23:10:03.582228: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 23:10:03.582266: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 23:10:03.582303: Inverter 0 scheduled discharge enable is False
2026-08-15 23:10:03.582429: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 23:10:03.582468: Inverter 0 discharge windows currently []
2026-08-15 23:10:03.582491: Note: Inverter does not support discharge freeze - disabled
2026-08-15 23:10:03.582510: Note: Inverter does not support charge freeze - disabled
2026-08-15 23:10:03.582527: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 23:10:03.762470: Dynamic load last period 1.80kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 23:10:03.762606: Plan was last updated on 2026-08-15 23:05:00+01:00 and is now 5.0 minutes old
2026-08-15 23:10:03.763397: Best charge window [ 16-08 11:30:00 - 16-08 12:30:00 @ 23.46p 31%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 38%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 50%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 100%, 16-08 14:30:00 - 16-08 16:00:00 @ 22.56p 78%, 17-08 12:30:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 17-08 22:30:00 @ 34.7p 100% ]
2026-08-15 23:10:03.763467: Best export window [  ]
2026-08-15 23:10:03.764890: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 23:10:03.770128: Load divergence over 8.0 hours mean 769.11W, min 342.6W, max 2447.4W, std dev 463.65W, divergence 30.14%
2026-08-15 23:10:03.825291: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 23:10:03.825609: LoadML is_calculating True
2026-08-15 23:10:03.825748: Not using thread pool as LoadML is calculating to avoid lockups
2026-08-15 23:10:03.937602: predict base end_record 08-17 12:35:00, final soc 1.12kWh, metric 1066.48p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 16:40:00, load 36.15kWh, PV 0.0kWh
2026-08-15 23:10:04.147082: Battery has 17.5 hours left - now at 13.26kWh
2026-08-15 23:10:04.205517: predict base10 end_record 08-17 12:35:00, final soc 1.12kWh, metric 1101.69p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 15:35:00, load 37.32kWh, PV 0.0kWh
2026-08-15 23:10:04.383772: predict best10 end_record 08-17 12:35:00, final soc 1.44kWh, metric 1036.01p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 07:05:00, load 37.32kWh, PV 0.0kWh
2026-08-15 23:10:04.540853: predict best end_record 08-17 12:35:00, final soc 1.51kWh, metric 1007.33p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 08:20:00, load 36.15kWh, PV 0.0kWh
2026-08-15 23:10:04.545786: Saving plan best values to HA entities
2026-08-15 23:10:04.973902: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 23:10:04.991179: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0.0
2026-08-15 23:10:05.005749: Best charging limit SoC's [5.0, 6.0, 8.0, 16.0, 12.5, 16.0, 16.0]kWh, export []kWh gives import battery 11.87kWh, house 2.83kWh, export 0.0kWh, metric 1007.33p, metric10 1036.01p
2026-08-15 23:10:05.154413: Marginal costs baseline metric (no standing charge): 907.3617
2026-08-15 23:10:05.697791: Marginal energy costs matrix computed: min=24.19 max=27.72
2026-08-15 23:10:05.855500: Rate array import [{'start': 1390, 'end': 1410, 'rate': 'expensive', 'range': '(30.0p)'}, {'start': 1410, 'end': 2400, 'rate': 'cheap', 'range': '(21.4p - 28.2p)'}, {'start': 2400, 'end': 2430, 'rate': 'expensive', 'range': '(36.8p)'}, {'start': 2430, 'end': 2580, 'rate': 'very expensive', 'range': '(37.5p - 45.3p)'}, {'start': 2580, 'end': 2850, 'rate': 'expensive', 'range': '(30.0p - 35.9p)'}, {'start': 2850, 'end': 3635, 'rate': 'cheap', 'range': '(22.3p - 28.2p)'}] export [{'start': 1390, 'end': 3635, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 23:10:05.856143: - Your estimated bill for today is £5.77 and tomorrow is £3.01
2026-08-15 23:10:05.856214: - Import rates are expensive (30.0p) for the next 20 minutes and then cheap (21.4p - 28.2p) for the next 16 hours.
2026-08-15 23:10:05.856234: - The battery is currently at 83% and is in eco mode for the next 12 hours.
2026-08-15 23:10:05.856248: - For the next 48 hours there will be no solar generation.
2026-08-15 23:10:05.856262: - You will run out of battery in 33 hours.
2026-08-15 23:10:05.856276: - Your next charge slot will be in 12 hours where import rates will be cheap (23.5p).
2026-08-15 23:10:05.869528: 
2026-08-15 23:10:05.934871: Plan calculation took 2.17 seconds
2026-08-15 23:10:05.942941: No high rate period found
2026-08-15 23:10:06.055671: Import threshold used for optimisation was 24.25p
2026-08-15 23:10:06.180594: Low import rate windows [0: 08-15 23:00:00 - 08-15 23:30:00 @ 30.02, 1: 08-15 23:30:00 - 08-16 00:00:00 @ 27.8, 2: 08-16 00:00:00 - 08-16 00:30:00 @ 28.18, 3: 08-16 00:30:00 - 08-16 01:00:00 @ 27.38, 4: 08-16 01:00:00 - 08-16 01:30:00 @ 26.7, 5: 08-16 01:30:00 - 08-16 02:00:00 @ 26.31, 6: 08-16 02:00:00 - 08-16 02:30:00 @ 25.79, 7: 08-16 02:30:00 - 08-16 03:00:00 @ 25.86, 8: 08-16 03:00:00 - 08-16 03:30:00 @ 26.13, 9: 08-16 03:30:00 - 08-16 04:00:00 @ 25.86, 10: 08-16 04:00:00 - 08-16 04:30:00 @ 26.27, 11: 08-16 04:30:00 - 08-16 05:00:00 @ 26.14, 12: 08-16 05:00:00 - 08-16 05:30:00 @ 27.03, 13: 08-16 05:30:00 - 08-16 06:00:00 @ 26.28, 14: 08-16 06:00:00 - 08-16 06:30:00 @ 25.68, 15: 08-16 06:30:00 - 08-16 07:00:00 @ 26.1, 16: 08-16 07:00:00 - 08-16 07:30:00 @ 24.28, 17: 08-16 07:30:00 - 08-16 08:00:00 @ 24.94, 18: 08-16 08:00:00 - 08-16 08:30:00 @ 24.06, 19: 08-16 08:30:00 - 08-16 09:00:00 @ 24.39, 20: 08-16 09:00:00 - 08-16 09:30:00 @ 24.66, 21: 08-16 09:30:00 - 08-16 10:00:00 @ 24.06, 22: 08-16 10:00:00 - 08-16 10:30:00 @ 25.5, 23: 08-16 10:30:00 - 08-16 11:00:00 @ 24.94, 24: 08-16 11:00:00 - 08-16 11:30:00 @ 24.25, 25: 08-16 11:30:00 - 08-16 12:00:00 @ 23.49, 26: 08-16 12:00:00 - 08-16 12:30:00 @ 23.43, 27: 08-16 12:30:00 - 08-16 13:00:00 @ 22.33, 28: 08-16 13:00:00 - 08-16 13:30:00 @ 22.76, 29: 08-16 13:30:00 - 08-16 14:00:00 @ 22.3, 30: 08-16 14:00:00 - 08-16 14:30:00 @ 21.41, 31: 08-16 14:30:00 - 08-16 15:00:00 @ 21.65, 32: 08-16 15:00:00 - 08-16 15:30:00 @ 22.95, 33: 08-16 15:30:00 - 08-16 16:00:00 @ 22.83, 34: 08-16 16:00:00 - 08-16 16:30:00 @ 36.84, 35: 08-16 16:30:00 - 08-16 17:00:00 @ 37.54, 36: 08-16 17:00:00 - 08-16 17:30:00 @ 41.79, 37: 08-16 17:30:00 - 08-16 18:00:00 @ 43.7, 38: 08-16 18:00:00 - 08-16 18:30:00 @ 44.34, 39: 08-16 19:00:00 - 08-16 19:30:00 @ 34.79, 40: 08-16 19:30:00 - 08-16 20:00:00 @ 34.76, 41: 08-16 20:00:00 - 08-16 20:30:00 @ 35.62, 42: 08-16 20:30:00 - 08-16 21:00:00 @ 35.3, 43: 08-16 21:00:00 - 08-16 21:30:00 @ 35.89, 44: 08-16 21:30:00 - 08-16 22:00:00 @ 35.71, 45: 08-16 22:00:00 - 08-16 22:30:00 @ 33.75, 46: 08-16 22:30:00 - 08-16 23:00:00 @ 32.0, 47: 08-16 23:00:00 - 08-16 23:30:00 @ 30.02, 48: 08-16 23:30:00 - 08-17 00:00:00 @ 27.8, 49: 08-17 00:00:00 - 08-17 00:30:00 @ 28.18, 50: 08-17 00:30:00 - 08-17 01:00:00 @ 27.38, 51: 08-17 01:00:00 - 08-17 01:30:00 @ 26.7, 52: 08-17 01:30:00 - 08-17 02:00:00 @ 26.31, 53: 08-17 02:00:00 - 08-17 02:30:00 @ 25.79, 54: 08-17 02:30:00 - 08-17 03:00:00 @ 25.86, 55: 08-17 03:00:00 - 08-17 03:30:00 @ 26.13, 56: 08-17 03:30:00 - 08-17 04:00:00 @ 25.86, 57: 08-17 04:00:00 - 08-17 04:30:00 @ 26.27, 58: 08-17 04:30:00 - 08-17 05:00:00 @ 26.14, 59: 08-17 05:00:00 - 08-17 05:30:00 @ 27.03, 60: 08-17 05:30:00 - 08-17 06:00:00 @ 26.28, 61: 08-17 06:00:00 - 08-17 06:30:00 @ 25.68, 62: 08-17 06:30:00 - 08-17 07:00:00 @ 26.1, 63: 08-17 07:00:00 - 08-17 07:30:00 @ 24.28, 64: 08-17 07:30:00 - 08-17 08:00:00 @ 24.94, 65: 08-17 08:00:00 - 08-17 08:30:00 @ 24.06, 66: 08-17 08:30:00 - 08-17 09:00:00 @ 24.39, 67: 08-17 09:00:00 - 08-17 09:30:00 @ 24.66, 68: 08-17 09:30:00 - 08-17 10:00:00 @ 24.06, 69: 08-17 10:00:00 - 08-17 10:30:00 @ 25.5, 70: 08-17 10:30:00 - 08-17 11:00:00 @ 24.94, 71: 08-17 11:00:00 - 08-17 11:30:00 @ 24.25, 72: 08-17 11:30:00 - 08-17 12:00:00 @ 23.49, 73: 08-17 12:00:00 - 08-17 12:30:00 @ 23.43, 74: 08-17 12:30:00 - 08-17 13:00:00 @ 22.33, 75: 08-17 13:00:00 - 08-17 13:30:00 @ 22.76, 76: 08-17 13:30:00 - 08-17 14:00:00 @ 22.3, 77: 08-17 14:00:00 - 08-17 14:30:00 @ 21.41, 78: 08-17 14:30:00 - 08-17 15:00:00 @ 21.65, 79: 08-17 15:00:00 - 08-17 15:30:00 @ 22.95, 80: 08-17 15:30:00 - 08-17 16:00:00 @ 22.83, 81: 08-17 16:00:00 - 08-17 16:30:00 @ 36.84, 82: 08-17 16:30:00 - 08-17 17:00:00 @ 37.54, 83: 08-17 17:00:00 - 08-17 17:30:00 @ 41.79, 84: 08-17 17:30:00 - 08-17 18:00:00 @ 43.7, 85: 08-17 18:00:00 - 08-17 18:30:00 @ 44.34, 86: 08-17 19:00:00 - 08-17 19:30:00 @ 34.79, 87: 08-17 19:30:00 - 08-17 20:00:00 @ 34.76, 88: 08-17 20:00:00 - 08-17 20:30:00 @ 35.62, 89: 08-17 20:30:00 - 08-17 21:00:00 @ 35.3, 90: 08-17 21:00:00 - 08-17 21:30:00 @ 35.89, 91: 08-17 21:30:00 - 08-17 22:00:00 @ 35.71, 92: 08-17 22:00:00 - 08-17 22:30:00 @ 33.75, 93: 08-17 22:30:00 - 08-17 23:00:00 @ 32.0, 94: 08-17 23:00:00 - 08-17 23:30:00 @ 30.02]
2026-08-15 23:10:06.189805: Inverter 0 Charge window will be: 2026-08-16 11:30:00+01:00 - 2026-08-16 16:00:00+01:00 - current SoC 83%, target 31%
2026-08-15 23:10:06.190019: Inverter 0 disabled charge window while waiting for schedule (now 08-15 23:10:00 target set_window_minutes 30 charge start time 08-16 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 23:10:06.190165: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 23:10:06.196770: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 23:10:06.197013: No export window planned
2026-08-15 23:10:06.198620: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 23:10:06.198690: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 23:10:06.199045: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 23:10:06.199326: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 23:10:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 23:10:06.199474: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 23:10:06.199700: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 23:10:06.199944: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 23:10:06.201590: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 23:10:06.201724: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 23:10:06.201825: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 23:10:06.201883: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 23:10:06.202030: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 23:10:06.202128: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 23:10:06.202284: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 23:10:06.202344: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 23:10:06.202481: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 23:10:06.202534: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 23:10:06.202808: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 23:10:06.202914: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 23:10:06.202992: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 23:10:06.203084: Inverter 0 count register writes 0
2026-08-15 23:10:06.284398: Will not recompute the plan, it is 5.0 minutes old and max age is 10 minutes
2026-08-15 23:10:06.300272: Total inverter register writes now 826
2026-08-15 23:10:06.357935: Info: Completed run status Demand
2026-08-15 23:10:06.375301: Info: record_status Demand
2026-08-15 23:10:06.393899: Saved current settings to /config/predbat_config.json
2026-08-15 23:10:06.394241: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 23:10:16.952896: ML Predictor: Epoch 17/30: lr=0.00048 huber_loss=0.0069 val_mae=0.0032 kWh val_bias=+0.0005 kWh (+0.6%) combined=0.0024 kWh ema_combined=0.0025 kWh
2026-08-15 23:10:41.603190: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 23:10:41.603704: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 23:10:41.603853: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 23:10:41.604203: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 23:10:41.604346: Note: Inverter does not support discharge freeze - disabled
2026-08-15 23:10:41.604488: Note: Inverter does not support charge freeze - disabled
2026-08-15 23:10:41.604601: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 23:10:47.795429: ML Predictor: Epoch 18/30: lr=0.00043 huber_loss=0.0065 val_mae=0.0033 kWh val_bias=-0.0008 kWh (-0.9%) combined=0.0017 kWh ema_combined=0.0022 kWh
2026-08-15 23:11:20.319933: ML Predictor: Epoch 19/30: lr=0.00038 huber_loss=0.0066 val_mae=0.0030 kWh val_bias=-0.0006 kWh (-0.6%) combined=0.0016 kWh ema_combined=0.0020 kWh
2026-08-15 23:11:50.790163: ML Predictor: Epoch 20/30: lr=0.00034 huber_loss=0.0058 val_mae=0.0028 kWh val_bias=+0.0001 kWh (+0.1%) combined=0.0015 kWh ema_combined=0.0019 kWh
2026-08-15 23:12:24.232115: ML Predictor: Epoch 21/30: lr=0.00030 huber_loss=0.0057 val_mae=0.0028 kWh val_bias=-0.0003 kWh (-0.3%) combined=0.0016 kWh ema_combined=0.0018 kWh
2026-08-15 23:12:42.141619: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 23:12:42.142082: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 23:12:42.142254: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 23:12:42.142540: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 23:12:42.142697: Note: Inverter does not support discharge freeze - disabled
2026-08-15 23:12:42.142809: Note: Inverter does not support charge freeze - disabled
2026-08-15 23:12:42.142950: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 23:12:56.549259: ML Predictor: Epoch 22/30: lr=0.00026 huber_loss=0.0060 val_mae=0.0030 kWh val_bias=-0.0014 kWh (-1.5%) combined=0.0023 kWh ema_combined=0.0020 kWh
2026-08-15 23:13:26.974553: ML Predictor: Epoch 23/30: lr=0.00022 huber_loss=0.0061 val_mae=0.0034 kWh val_bias=-0.0019 kWh (-2.2%) combined=0.0029 kWh ema_combined=0.0022 kWh
2026-08-15 23:14:00.408167: ML Predictor: Epoch 24/30: lr=0.00019 huber_loss=0.0061 val_mae=0.0025 kWh val_bias=+0.0003 kWh (+0.3%) combined=0.0016 kWh ema_combined=0.0020 kWh
2026-08-15 23:14:32.304136: ML Predictor: Epoch 25/30: lr=0.00016 huber_loss=0.0051 val_mae=0.0034 kWh val_bias=-0.0023 kWh (-2.5%) combined=0.0032 kWh ema_combined=0.0024 kWh
2026-08-15 23:14:56.576028: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 23:14:56.576517: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 23:14:56.576677: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 23:14:56.577026: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 23:14:56.577335: Note: Inverter does not support discharge freeze - disabled
2026-08-15 23:14:56.577463: Note: Inverter does not support charge freeze - disabled
2026-08-15 23:14:56.577581: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 23:15:00.764882: --------------- PredBat - update at 2026-08-15 23:15:00+01:00 with clock skew 0 minutes, minutes now 1395
2026-08-15 23:15:00.766326: Saved current settings to /config/predbat_config.json
2026-08-15 23:15:00.766509: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 40.0 minutes
2026-08-15 23:15:00.766768: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.2, latest beta is v8.48.2
2026-08-15 23:15:00.766884: Autoupdate: There is an update pending v8.48.2 PV90 and second pass enabled by default, bug fixes - auto update is off
2026-08-15 23:15:00.815026: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 23:15:00.815205: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 23:15:00.815427: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 23:15:00.816268: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 23:15:00.816530: Predbat mode is set to Control charge & discharge
2026-08-15 23:15:01.274349: Found 21602 load_today datapoints going back 28 days
2026-08-15 23:15:01.274549: Using load_power data to fill gaps in load_today data
2026-08-15 23:15:02.524471: Processing 721 30-minute periods for power integration
2026-08-15 23:15:02.926515: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 23:15:02.926687: Car charging hold False, threshold 6.0kWh
2026-08-15 23:15:02.926749: Current data so far today: load 11.8kWh, import 27.9kWh, export 0.0kWh, PV 0kWh
2026-08-15 23:15:02.948423: Cars: SoC: [8.204]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 23:15:02.949910: Standing charge is set to 49.98p
2026-08-15 23:15:03.005394: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 23:15:03.005547: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 23:15:03.005750: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 30.0 minutes
2026-08-15 23:15:03.006186: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 30.0 minutes
2026-08-15 23:15:03.012696: Loaded 95 datapoints of futurerate analysis
2026-08-15 23:15:03.238618: Predicted future rates: ['08-15 00:00:00 => 28.69 / 20.01', '08-15 01:00:00 => 27.33 / 19.31', '08-15 02:00:00 => 26.31 / 18.8', '08-15 03:00:00 => 25.78 / 18.53', '08-15 04:00:00 => 25.59 / 18.43', '08-15 05:00:00 => 25.75 / 18.51', '08-15 06:00:00 => 25.34 / 18.3', '08-15 07:00:00 => 24.12 / 17.68', '08-15 08:00:00 => 22.82 / 17.01', '08-15 09:00:00 => 21.84 / 16.51', '08-15 10:00:00 => 20.22 / 15.68', '08-15 11:00:00 => 17.8 / 14.45', '08-15 12:00:00 => 16.16 / 13.61', '08-15 13:00:00 => 15.55 / 13.3', '08-15 14:00:00 => 15.14 / 13.09', '08-15 15:00:00 => 15.65 / 13.35', '08-15 16:00:00 => 32.68 / 16.13', '08-15 17:00:00 => 37.81 / 18.75', '08-15 18:00:00 => 42.15 / 20.96', '08-15 19:00:00 => 30.88 / 21.13', '08-15 20:00:00 => 31.43 / 21.41', '08-15 21:00:00 => 31.43 / 21.41', '08-15 22:00:00 => 30.37 / 20.87', '08-15 23:00:00 => 29.16 / 20.25', '08-16 00:00:00 => 28.62 / 19.97', '08-16 01:00:00 => 27.52 / 19.41', '08-16 02:00:00 => 26.55 / 18.92', '08-16 03:00:00 => 26.18 / 18.73', '08-16 04:00:00 => 26.12 / 18.7', '08-16 05:00:00 => 26.02 / 18.65', '08-16 06:00:00 => 25.78 / 18.53', '08-16 07:00:00 => 25.43 / 18.35', '08-16 08:00:00 => 24.63 / 17.94', '08-16 09:00:00 => 24.05 / 17.64', '08-16 10:00:00 => 24.59 / 17.92', '08-16 11:00:00 => 24.5 / 17.87', '08-16 12:00:00 => 23.58 / 17.4', '08-16 13:00:00 => 22.93 / 17.07', '08-16 14:00:00 => 21.8 / 16.49', '08-16 15:00:00 => 21.8 / 16.49', '08-16 16:00:00 => 36.93 / 18.3', '08-16 17:00:00 => 39.92 / 19.83', '08-16 18:00:00 => 43.98 / 21.9', '08-16 19:00:00 => 32.83 / 22.13', '08-16 20:00:00 => 33.62 / 22.53', '08-16 21:00:00 => 33.52 / 22.48', '08-16 22:00:00 => 32.15 / 21.78']
2026-08-15 23:15:03.342185: Rate min forward looking: now 21.41p at end of forecast 21.41p
2026-08-15 23:15:03.356523: Import rates: min 21.41p, max 45.28p, average 28.73p
2026-08-15 23:15:03.451405: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 23:15:03.451545: Rate thresholds (for charge/export) are import 44.78p (0.0p), export -0.1p (0.0p)
2026-08-15 23:15:03.452994: High export rate found rates in range 99p to -99p
2026-08-15 23:15:03.663545: Low Import rate found rates in range 21.41p to 44.34p
2026-08-15 23:15:03.663841: Car 0 charging is not planned as it is not plugged in
2026-08-15 23:15:03.678609: Battery level now 13.26kWh, -1hr ago 14.08kWh, at midnight 1.66kWh, battery value change in the last hour -15.16p, change today 213.36p, rate_forward 18.39p
2026-08-15 23:15:03.679122: Last hour: net energy 0.03kWh, import 0.03kWh, export 0.0kWh, car 0kWh, load 1.2kWh, net cost 0.84p, import 0.84p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 23:15:03.803172: Today's energy total net 27.9kWh, import 27.9kWh, export 0.0kWh, cost 576.57p, import 526.58p, export 0.0p, carbon 0.0kg
2026-08-15 23:15:03.803770: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 23:15:04.043803: Using weighted-bucket historical load forecast over 14 days
2026-08-15 23:15:04.080159: Today's load divergence 80.77%, in-day adjustment 83.67%, damping 0.95x, yesterday 143.77% today 81.73% blend 3.12%
2026-08-15 23:15:04.080506: Today's predicted so far 14.19kWh with 0.0kWh car/iBoost excluded, 20.9kWh import ignored, and 14.19kWh forecast extra.
2026-08-15 23:15:04.080576: Today's actual load so far 11.76kWh with 0.0kWh car/iBoost excluded, and 20.9kWh import ignored.
2026-08-15 23:15:04.161864: Inverter 0: Type SK Sunsynk
2026-08-15 23:15:04.162122: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 23:15:04.162439: Reserve min: 7%, battery_min: 7%
2026-08-15 23:15:04.162586: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 23:15:04.163015: Inverter 0 SoC: 12.97kW 81%, current charge rate 5000W, current discharge rate 5250W, current battery power 557W, current battery voltage 51.2V, grid power -56W, load power 615W, PV Power 0W
2026-08-15 23:15:04.163279: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 23:15:04.163452: Inverter 0 scheduled charge enable is False
2026-08-15 23:15:04.163507: Inverter 0 charge windows currently []
2026-08-15 23:15:04.163626: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 23:15:04.163844: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 23:15:04.163898: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 23:15:04.164055: Inverter 0 scheduled discharge enable is False
2026-08-15 23:15:04.164303: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 23:15:04.164360: Inverter 0 discharge windows currently []
2026-08-15 23:15:04.164473: Note: Inverter does not support discharge freeze - disabled
2026-08-15 23:15:04.164517: Note: Inverter does not support charge freeze - disabled
2026-08-15 23:15:04.164588: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 23:15:04.320884: Dynamic load last period 1.80kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 23:15:04.321071: Plan was last updated on 2026-08-15 23:05:00+01:00 and is now 10.0 minutes old
2026-08-15 23:15:04.321550: Best charge window [ 16-08 11:30:00 - 16-08 12:30:00 @ 23.46p 31%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 38%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 50%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 100%, 16-08 14:30:00 - 16-08 16:00:00 @ 22.56p 78%, 17-08 12:30:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 17-08 22:30:00 @ 34.7p 100% ]
2026-08-15 23:15:04.321699: Best export window [  ]
2026-08-15 23:15:04.323102: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 23:15:04.327092: Load divergence over 8.0 hours mean 765.98W, min 334.8W, max 2127.6W, std dev 451.94W, divergence 29.5%
2026-08-15 23:15:04.348157: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 23:15:04.348493: LoadML is_calculating True
2026-08-15 23:15:04.348547: Not using thread pool as LoadML is calculating to avoid lockups
2026-08-15 23:15:04.398334: predict base end_record 08-17 12:40:00, final soc 1.12kWh, metric 1075.65p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 16:10:00, load 36.31kWh, PV 0.0kWh
2026-08-15 23:15:04.636413: Battery has 16.92 hours left - now at 12.97kWh
2026-08-15 23:15:04.800862: predict base10 end_record 08-17 12:40:00, final soc 1.12kWh, metric 1108.04p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 15:15:00, load 37.48kWh, PV 0.0kWh
2026-08-15 23:15:04.983780: predict best10 end_record 08-17 12:40:00, final soc 1.77kWh, metric 1050.84p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 07:10:00, load 37.48kWh, PV 0.0kWh
2026-08-15 23:15:05.199971: predict best end_record 08-17 12:40:00, final soc 1.9kWh, metric 1023.72p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 08:20:00, load 36.31kWh, PV 0.0kWh
2026-08-15 23:15:05.201205: Saving plan best values to HA entities
2026-08-15 23:15:05.492784: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 23:15:05.504827: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 23:15:05.514906: Best charging limit SoC's [5.0, 6.0, 8.0, 16.0, 12.5, 16.0, 16.0]kWh, export []kWh gives import battery 12.59kWh, house 2.83kWh, export 0.0kWh, metric 1023.72p, metric10 1050.84p
2026-08-15 23:15:05.794816: Marginal costs baseline metric (no standing charge): 923.7562
2026-08-15 23:15:06.234727: Marginal energy costs matrix computed: min=24.0 max=27.6
2026-08-15 23:15:06.450767: Rate array import [{'start': 1395, 'end': 1410, 'rate': 'expensive', 'range': '(30.0p)'}, {'start': 1410, 'end': 2400, 'rate': 'cheap', 'range': '(21.4p - 28.2p)'}, {'start': 2400, 'end': 2430, 'rate': 'expensive', 'range': '(36.8p)'}, {'start': 2430, 'end': 2580, 'rate': 'very expensive', 'range': '(37.5p - 45.3p)'}, {'start': 2580, 'end': 2850, 'rate': 'expensive', 'range': '(30.0p - 35.9p)'}, {'start': 2850, 'end': 3640, 'rate': 'cheap', 'range': '(22.3p - 28.2p)'}] export [{'start': 1395, 'end': 3640, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 23:15:06.453050: - Your estimated bill for today is £5.77 and tomorrow is £3.07
2026-08-15 23:15:06.453246: - Import rates are expensive (30.0p) for the next 15 minutes and then cheap (21.4p - 28.2p) for the next 16 hours.
2026-08-15 23:15:06.453401: - The battery is currently at 81% and is in eco mode for the next 12 hours.
2026-08-15 23:15:06.453540: - For the next 48 hours there will be no solar generation.
2026-08-15 23:15:06.453656: - You will run out of battery in 33 hours.
2026-08-15 23:15:06.453692: - Your next charge slot will be in 12 hours where import rates will be cheap (23.5p).
2026-08-15 23:15:06.453857: 
2026-08-15 23:15:06.515262: Plan calculation took 2.19 seconds
2026-08-15 23:15:06.520377: No high rate period found
2026-08-15 23:15:06.631910: Import threshold used for optimisation was 24.25p
2026-08-15 23:15:06.759706: Low import rate windows [0: 08-15 23:00:00 - 08-15 23:30:00 @ 30.02, 1: 08-15 23:30:00 - 08-16 00:00:00 @ 27.8, 2: 08-16 00:00:00 - 08-16 00:30:00 @ 28.18, 3: 08-16 00:30:00 - 08-16 01:00:00 @ 27.38, 4: 08-16 01:00:00 - 08-16 01:30:00 @ 26.7, 5: 08-16 01:30:00 - 08-16 02:00:00 @ 26.31, 6: 08-16 02:00:00 - 08-16 02:30:00 @ 25.79, 7: 08-16 02:30:00 - 08-16 03:00:00 @ 25.86, 8: 08-16 03:00:00 - 08-16 03:30:00 @ 26.13, 9: 08-16 03:30:00 - 08-16 04:00:00 @ 25.86, 10: 08-16 04:00:00 - 08-16 04:30:00 @ 26.27, 11: 08-16 04:30:00 - 08-16 05:00:00 @ 26.14, 12: 08-16 05:00:00 - 08-16 05:30:00 @ 27.03, 13: 08-16 05:30:00 - 08-16 06:00:00 @ 26.28, 14: 08-16 06:00:00 - 08-16 06:30:00 @ 25.68, 15: 08-16 06:30:00 - 08-16 07:00:00 @ 26.1, 16: 08-16 07:00:00 - 08-16 07:30:00 @ 24.28, 17: 08-16 07:30:00 - 08-16 08:00:00 @ 24.94, 18: 08-16 08:00:00 - 08-16 08:30:00 @ 24.06, 19: 08-16 08:30:00 - 08-16 09:00:00 @ 24.39, 20: 08-16 09:00:00 - 08-16 09:30:00 @ 24.66, 21: 08-16 09:30:00 - 08-16 10:00:00 @ 24.06, 22: 08-16 10:00:00 - 08-16 10:30:00 @ 25.5, 23: 08-16 10:30:00 - 08-16 11:00:00 @ 24.94, 24: 08-16 11:00:00 - 08-16 11:30:00 @ 24.25, 25: 08-16 11:30:00 - 08-16 12:00:00 @ 23.49, 26: 08-16 12:00:00 - 08-16 12:30:00 @ 23.43, 27: 08-16 12:30:00 - 08-16 13:00:00 @ 22.33, 28: 08-16 13:00:00 - 08-16 13:30:00 @ 22.76, 29: 08-16 13:30:00 - 08-16 14:00:00 @ 22.3, 30: 08-16 14:00:00 - 08-16 14:30:00 @ 21.41, 31: 08-16 14:30:00 - 08-16 15:00:00 @ 21.65, 32: 08-16 15:00:00 - 08-16 15:30:00 @ 22.95, 33: 08-16 15:30:00 - 08-16 16:00:00 @ 22.83, 34: 08-16 16:00:00 - 08-16 16:30:00 @ 36.84, 35: 08-16 16:30:00 - 08-16 17:00:00 @ 37.54, 36: 08-16 17:00:00 - 08-16 17:30:00 @ 41.79, 37: 08-16 17:30:00 - 08-16 18:00:00 @ 43.7, 38: 08-16 18:00:00 - 08-16 18:30:00 @ 44.34, 39: 08-16 19:00:00 - 08-16 19:30:00 @ 34.79, 40: 08-16 19:30:00 - 08-16 20:00:00 @ 34.76, 41: 08-16 20:00:00 - 08-16 20:30:00 @ 35.62, 42: 08-16 20:30:00 - 08-16 21:00:00 @ 35.3, 43: 08-16 21:00:00 - 08-16 21:30:00 @ 35.89, 44: 08-16 21:30:00 - 08-16 22:00:00 @ 35.71, 45: 08-16 22:00:00 - 08-16 22:30:00 @ 33.75, 46: 08-16 22:30:00 - 08-16 23:00:00 @ 32.0, 47: 08-16 23:00:00 - 08-16 23:30:00 @ 30.02, 48: 08-16 23:30:00 - 08-17 00:00:00 @ 27.8, 49: 08-17 00:00:00 - 08-17 00:30:00 @ 28.18, 50: 08-17 00:30:00 - 08-17 01:00:00 @ 27.38, 51: 08-17 01:00:00 - 08-17 01:30:00 @ 26.7, 52: 08-17 01:30:00 - 08-17 02:00:00 @ 26.31, 53: 08-17 02:00:00 - 08-17 02:30:00 @ 25.79, 54: 08-17 02:30:00 - 08-17 03:00:00 @ 25.86, 55: 08-17 03:00:00 - 08-17 03:30:00 @ 26.13, 56: 08-17 03:30:00 - 08-17 04:00:00 @ 25.86, 57: 08-17 04:00:00 - 08-17 04:30:00 @ 26.27, 58: 08-17 04:30:00 - 08-17 05:00:00 @ 26.14, 59: 08-17 05:00:00 - 08-17 05:30:00 @ 27.03, 60: 08-17 05:30:00 - 08-17 06:00:00 @ 26.28, 61: 08-17 06:00:00 - 08-17 06:30:00 @ 25.68, 62: 08-17 06:30:00 - 08-17 07:00:00 @ 26.1, 63: 08-17 07:00:00 - 08-17 07:30:00 @ 24.28, 64: 08-17 07:30:00 - 08-17 08:00:00 @ 24.94, 65: 08-17 08:00:00 - 08-17 08:30:00 @ 24.06, 66: 08-17 08:30:00 - 08-17 09:00:00 @ 24.39, 67: 08-17 09:00:00 - 08-17 09:30:00 @ 24.66, 68: 08-17 09:30:00 - 08-17 10:00:00 @ 24.06, 69: 08-17 10:00:00 - 08-17 10:30:00 @ 25.5, 70: 08-17 10:30:00 - 08-17 11:00:00 @ 24.94, 71: 08-17 11:00:00 - 08-17 11:30:00 @ 24.25, 72: 08-17 11:30:00 - 08-17 12:00:00 @ 23.49, 73: 08-17 12:00:00 - 08-17 12:30:00 @ 23.43, 74: 08-17 12:30:00 - 08-17 13:00:00 @ 22.33, 75: 08-17 13:00:00 - 08-17 13:30:00 @ 22.76, 76: 08-17 13:30:00 - 08-17 14:00:00 @ 22.3, 77: 08-17 14:00:00 - 08-17 14:30:00 @ 21.41, 78: 08-17 14:30:00 - 08-17 15:00:00 @ 21.65, 79: 08-17 15:00:00 - 08-17 15:30:00 @ 22.95, 80: 08-17 15:30:00 - 08-17 16:00:00 @ 22.83, 81: 08-17 16:00:00 - 08-17 16:30:00 @ 36.84, 82: 08-17 16:30:00 - 08-17 17:00:00 @ 37.54, 83: 08-17 17:00:00 - 08-17 17:30:00 @ 41.79, 84: 08-17 17:30:00 - 08-17 18:00:00 @ 43.7, 85: 08-17 18:00:00 - 08-17 18:30:00 @ 44.34, 86: 08-17 19:00:00 - 08-17 19:30:00 @ 34.79, 87: 08-17 19:30:00 - 08-17 20:00:00 @ 34.76, 88: 08-17 20:00:00 - 08-17 20:30:00 @ 35.62, 89: 08-17 20:30:00 - 08-17 21:00:00 @ 35.3, 90: 08-17 21:00:00 - 08-17 21:30:00 @ 35.89, 91: 08-17 21:30:00 - 08-17 22:00:00 @ 35.71, 92: 08-17 22:00:00 - 08-17 22:30:00 @ 33.75, 93: 08-17 22:30:00 - 08-17 23:00:00 @ 32.0, 94: 08-17 23:00:00 - 08-17 23:30:00 @ 30.02]
2026-08-15 23:15:06.777491: Inverter 0 Charge window will be: 2026-08-16 11:30:00+01:00 - 2026-08-16 16:00:00+01:00 - current SoC 81%, target 31%
2026-08-15 23:15:06.779287: Inverter 0 disabled charge window while waiting for schedule (now 08-15 23:15:00 target set_window_minutes 30 charge start time 08-16 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 23:15:06.779395: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 23:15:06.779635: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 23:15:06.779724: No export window planned
2026-08-15 23:15:06.779871: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 23:15:06.780167: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 23:15:06.780407: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 23:15:06.780622: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 23:15:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 23:15:06.780689: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 23:15:06.780747: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 23:15:06.780852: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 23:15:06.780968: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 23:15:06.781029: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 23:15:06.784675: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 23:15:06.784748: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 23:15:06.785571: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 23:15:06.785705: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 23:15:06.785881: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 23:15:06.786021: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 23:15:06.786123: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 23:15:06.786180: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 23:15:06.786303: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 23:15:06.786411: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 23:15:06.786470: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 23:15:06.786539: Inverter 0 count register writes 0
2026-08-15 23:15:06.851094: Will recompute the plan as it is now 10.0 minutes old and will exceed the max age of 10 minutes before the next run
2026-08-15 23:15:06.851692: Recompute is saving previous plan...
2026-08-15 23:15:06.858537: Best charge window [ 15-08 23:00:00 - 15-08 23:30:00 @ 30.02p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 27.8p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.18p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.38p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 26.7p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.31p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.79p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 25.86p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.13p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 25.86p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.27p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.14p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 27.03p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.28p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.68p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 26.1p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 24.28p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 24.94p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.06p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.39p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.66p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.06p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 25.5p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 24.94p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 24.25p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 23.49p 0%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.43p 0%, 16-08 12:30:00 - 16-08 13:00:00 @ 22.33p 0%, 16-08 13:00:00 - 16-08 13:30:00 @ 22.76p 0%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 0%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 0%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.65p 0%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.95p 0%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.83p 0%, 16-08 16:00:00 - 16-08 16:30:00 @ 36.84p 0%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.54p 0%, 16-08 17:00:00 - 16-08 17:30:00 @ 41.79p 0%, 16-08 17:30:00 - 16-08 18:00:00 @ 43.7p 0%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.34p 0%, 16-08 19:00:00 - 16-08 19:30:00 @ 34.79p 0%, 16-08 19:30:00 - 16-08 20:00:00 @ 34.76p 0%, 16-08 20:00:00 - 16-08 20:30:00 @ 35.62p 0%, 16-08 20:30:00 - 16-08 21:00:00 @ 35.3p 0%, 16-08 21:00:00 - 16-08 21:30:00 @ 35.89p 0%, 16-08 21:30:00 - 16-08 22:00:00 @ 35.71p 0%, 16-08 22:00:00 - 16-08 22:30:00 @ 33.75p 0%, 16-08 22:30:00 - 16-08 23:00:00 @ 32.0p 0%, 16-08 23:00:00 - 16-08 23:30:00 @ 30.02p 0%, 16-08 23:30:00 - 17-08 00:00:00 @ 27.8p 0%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.18p 0%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.38p 0%, 17-08 01:00:00 - 17-08 01:30:00 @ 26.7p 0%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.31p 0%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.79p 0%, 17-08 02:30:00 - 17-08 03:00:00 @ 25.86p 0%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.13p 0%, 17-08 03:30:00 - 17-08 04:00:00 @ 25.86p 0%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.27p 0%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.14p 0%, 17-08 05:00:00 - 17-08 05:30:00 @ 27.03p 0%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.28p 0%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.68p 0%, 17-08 06:30:00 - 17-08 07:00:00 @ 26.1p 0%, 17-08 07:00:00 - 17-08 07:30:00 @ 24.28p 0%, 17-08 07:30:00 - 17-08 08:00:00 @ 24.94p 0%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.06p 0%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.39p 0%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.66p 0%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.06p 0%, 17-08 10:00:00 - 17-08 10:30:00 @ 25.5p 0%, 17-08 10:30:00 - 17-08 11:00:00 @ 24.94p 0%, 17-08 11:00:00 - 17-08 11:30:00 @ 24.25p 0%, 17-08 11:30:00 - 17-08 12:00:00 @ 23.49p 0%, 17-08 12:00:00 - 17-08 12:30:00 @ 23.43p 0%, 17-08 12:30:00 - 17-08 13:00:00 @ 22.33p 0%, 17-08 13:00:00 - 17-08 13:30:00 @ 22.76p 0%, 17-08 13:30:00 - 17-08 14:00:00 @ 22.3p 0%, 17-08 14:00:00 - 17-08 14:30:00 @ 21.41p 0%, 17-08 14:30:00 - 17-08 15:00:00 @ 21.65p 0%, 17-08 15:00:00 - 17-08 15:30:00 @ 22.95p 0%, 17-08 15:30:00 - 17-08 16:00:00 @ 22.83p 0%, 17-08 16:00:00 - 17-08 16:30:00 @ 36.84p 0%, 17-08 16:30:00 - 17-08 17:00:00 @ 37.54p 0%, 17-08 17:00:00 - 17-08 17:30:00 @ 41.79p 0%, 17-08 17:30:00 - 17-08 18:00:00 @ 43.7p 0%, 17-08 18:00:00 - 17-08 18:30:00 @ 44.34p 0%, 17-08 19:00:00 - 17-08 19:30:00 @ 34.79p 0%, 17-08 19:30:00 - 17-08 20:00:00 @ 34.76p 0%, 17-08 20:00:00 - 17-08 20:30:00 @ 35.62p 0%, 17-08 20:30:00 - 17-08 21:00:00 @ 35.3p 0%, 17-08 21:00:00 - 17-08 21:30:00 @ 35.89p 0%, 17-08 21:30:00 - 17-08 22:00:00 @ 35.71p 0%, 17-08 22:00:00 - 17-08 22:30:00 @ 33.75p 0%, 17-08 22:30:00 - 17-08 23:00:00 @ 32.0p 0%, 17-08 23:00:00 - 17-08 23:30:00 @ 30.02p 0% ]
2026-08-15 23:15:06.858658: Best export window [  ]
2026-08-15 23:15:06.863057: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 23:15:06.874769: Load divergence over 8.0 hours mean 765.98W, min 334.8W, max 2127.6W, std dev 451.94W, divergence 29.5%
2026-08-15 23:15:06.922572: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 23:15:06.923892: LoadML is_calculating True
2026-08-15 23:15:06.923961: Not using thread pool as LoadML is calculating to avoid lockups
2026-08-15 23:15:06.945475: Calculate Best options: mode(Control charge & discharge), calculate_export_oncharge(False), calculate_export_on_pv(True), set_export_freeze_only(False), set_discharge_during_charge(True), combine_charge_slots(False), combine_export_slots(False), combine_rate_threshold(0.0), best_soc_min(0.0 kWh), best_soc_max(0.0 kWh), best_soc_keep(0.0 kWh), inverter_loss(4%), battery_loss(3%), battery_loss_discharge (3%), inverter_hybrid(True), metric_min_improvement(0.0p), metric_min_improvement_export(0.1p), metric_min_improvement_export_freeze(0.1p), metric_battery_cycle(0.0p/kWh), metric_battery_value_scaling(1.0 x) 
2026-08-15 23:15:06.947568: Optimise levels pass started at 2026-08-15 23:15:06
2026-08-15 23:15:06.947652: Optimise all windows, total charge 94 export 1
2026-08-15 23:15:10.984384: ML Predictor: Epoch 26/30: lr=0.00014 huber_loss=0.0054 val_mae=0.0027 kWh val_bias=-0.0011 kWh (-1.3%) combined=0.0020 kWh ema_combined=0.0023 kWh
2026-08-15 23:15:11.973827: >> Region optimisation pass width 960 gives best_metric 1067.71p, best_cost 1091.46p, best_cycle 43.6kWh, best_import 23.17kWh
2026-08-15 23:15:12.997363: >> Region optimisation pass width 480 gives best_metric 1067.71p, best_cost 1091.46p, best_cycle 43.6kWh, best_import 23.17kWh
2026-08-15 23:15:14.188374: >> Region optimisation pass width 240 gives best_metric 1067.71p, best_cost 1091.46p, best_cycle 43.6kWh, best_import 23.17kWh
2026-08-15 23:15:18.206244: >> Region optimisation pass width 120 gives best_metric 1067.71p, best_cost 1091.46p, best_cycle 43.6kWh, best_import 23.17kWh
2026-08-15 23:15:18.206826: Calculated end_record as 08-17 12:30:00 based on best_price 22.33p, next_charge_start 08-16 12:30:00, max_windows 74
2026-08-15 23:15:18.207050: Optimise levels pass ended at 2026-08-15 23:15:18, duration 11.3 seconds tried 331 combinations
2026-08-15 23:15:18.207190: Set best_price_charge_level 24.0p, best_price_export_level 0p, best_price_charge 22.33p, best_cost_export 0p, best_metric 1067.71p, best_keep 0kWh, best_cycle 43.6kWh, best_carbon 0kg, best_import 23.17kWh
2026-08-15 23:15:18.227477: Starting detailed optimisation end_record 08-17 12:30:00, best_price_charge 22.33p, best_price_export 0p. lowest_price_charge 21.41p with charge limits [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 0, 16.0, 16.0, 16.0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0]kWh and export limits []kWh
2026-08-15 23:15:47.441807: Tweak plan optimisation started metric 886.18p, cost 902.38p
2026-08-15 23:15:48.635797: Tweak optimisation finished metric 886.18p, cost 902.38p, metric_keep 0kWh, cycle 28.08kWh, carbon 0kg, import 14.52kWh, changed 8 window(s)
2026-08-15 23:15:48.665795: Swap charge optimisation started metric 886.18p, cost 902.38p, min_improvement_swap 0.1p
2026-08-15 23:16:04.095702: Swap charge optimisation finished metric 886.18p, cost 902.38p
2026-08-15 23:16:04.301270: Pruned 2 dead plan slot(s) in 11 trial(s), nominal metric 881.78p -> 881.79p, plan now metric 886.29p, cost 902.39p, cycle 28.23kWh, import 14.53kWh
2026-08-15 23:16:04.322479: Raw charge windows [ 15-08 23:00:00 - 15-08 23:30:00 @ 30.02p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 27.8p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.18p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.38p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 26.7p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.31p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.79p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 25.86p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.13p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 25.86p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.27p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.14p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 27.03p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.28p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.68p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 26.1p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 24.28p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 24.94p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.06p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.39p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.66p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.06p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 25.5p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 24.94p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 24.25p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 23.49p 28%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.43p 28%, 16-08 12:30:00 - 16-08 13:00:00 @ 22.33p 38%, 16-08 13:00:00 - 16-08 13:30:00 @ 22.76p 38%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 100%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 100%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.65p 100%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.95p 81%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.83p 81%, 16-08 16:00:00 - 16-08 16:30:00 @ 36.84p 0%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.54p 0%, 16-08 17:00:00 - 16-08 17:30:00 @ 41.79p 0%, 16-08 17:30:00 - 16-08 18:00:00 @ 43.7p 0%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.34p 0%, 16-08 19:00:00 - 16-08 19:30:00 @ 34.79p 0%, 16-08 19:30:00 - 16-08 20:00:00 @ 34.76p 0%, 16-08 20:00:00 - 16-08 20:30:00 @ 35.62p 0%, 16-08 20:30:00 - 16-08 21:00:00 @ 35.3p 0%, 16-08 21:00:00 - 16-08 21:30:00 @ 35.89p 0%, 16-08 21:30:00 - 16-08 22:00:00 @ 35.71p 0%, 16-08 22:00:00 - 16-08 22:30:00 @ 33.75p 0%, 16-08 22:30:00 - 16-08 23:00:00 @ 32.0p 0%, 16-08 23:00:00 - 16-08 23:30:00 @ 30.02p 0%, 16-08 23:30:00 - 17-08 00:00:00 @ 27.8p 0%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.18p 0%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.38p 0%, 17-08 01:00:00 - 17-08 01:30:00 @ 26.7p 0%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.31p 0%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.79p 0%, 17-08 02:30:00 - 17-08 03:00:00 @ 25.86p 0%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.13p 0%, 17-08 03:30:00 - 17-08 04:00:00 @ 25.86p 0%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.27p 0%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.14p 0%, 17-08 05:00:00 - 17-08 05:30:00 @ 27.03p 0%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.28p 0%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.68p 0%, 17-08 06:30:00 - 17-08 07:00:00 @ 26.1p 0%, 17-08 07:00:00 - 17-08 07:30:00 @ 24.28p 0%, 17-08 07:30:00 - 17-08 08:00:00 @ 24.94p 0%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.06p 0%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.39p 0%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.66p 0%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.06p 0%, 17-08 10:00:00 - 17-08 10:30:00 @ 25.5p 0%, 17-08 10:30:00 - 17-08 11:00:00 @ 24.94p 0%, 17-08 11:00:00 - 17-08 11:30:00 @ 24.25p 0%, 17-08 11:30:00 - 17-08 12:00:00 @ 23.49p 0%, 17-08 12:00:00 - 17-08 12:30:00 @ 23.43p 0%, 17-08 12:30:00 - 17-08 13:00:00 @ 22.33p 100%, 17-08 13:00:00 - 17-08 13:30:00 @ 22.76p 100%, 17-08 13:30:00 - 17-08 14:00:00 @ 22.3p 100%, 17-08 14:00:00 - 17-08 14:30:00 @ 21.41p 100%, 17-08 14:30:00 - 17-08 15:00:00 @ 21.65p 100%, 17-08 15:00:00 - 17-08 15:30:00 @ 22.95p 100%, 17-08 15:30:00 - 17-08 16:00:00 @ 22.83p 100%, 17-08 16:00:00 - 17-08 16:30:00 @ 36.84p 100%, 17-08 16:30:00 - 17-08 17:00:00 @ 37.54p 100%, 17-08 17:00:00 - 17-08 17:30:00 @ 41.79p 100%, 17-08 17:30:00 - 17-08 18:00:00 @ 43.7p 100%, 17-08 18:00:00 - 17-08 18:30:00 @ 44.34p 100%, 17-08 19:00:00 - 17-08 19:30:00 @ 34.79p 100%, 17-08 19:30:00 - 17-08 20:00:00 @ 34.76p 100%, 17-08 20:00:00 - 17-08 20:30:00 @ 35.62p 100%, 17-08 20:30:00 - 17-08 21:00:00 @ 35.3p 100%, 17-08 21:00:00 - 17-08 21:30:00 @ 35.89p 100%, 17-08 21:30:00 - 17-08 22:00:00 @ 35.71p 100%, 17-08 22:00:00 - 17-08 22:30:00 @ 33.75p 100%, 17-08 22:30:00 - 17-08 23:00:00 @ 32.0p 100%, 17-08 23:00:00 - 17-08 23:30:00 @ 30.02p 100% ] reserve 1.12
2026-08-15 23:16:04.323410: Unclipped charge windows [ 16-08 11:30:00 - 16-08 12:30:00 @ 23.46p 28%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 38%, 16-08 13:30:00 - 16-08 15:00:00 @ 21.75p 100%, 16-08 15:00:00 - 16-08 16:00:00 @ 22.89p 81%, 17-08 12:30:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 17-08 23:30:00 @ 31.69p 100% ] reserve 1.12
2026-08-15 23:16:04.323918: Unfiltered charge windows [ 16-08 11:30:00 - 16-08 12:30:00 @ 23.46p 28%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 38%, 16-08 13:30:00 - 16-08 15:00:00 @ 21.75p 100%, 16-08 15:00:00 - 16-08 16:00:00 @ 22.89p 81%, 17-08 12:30:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 17-08 23:30:00 @ 31.69p 100% ] reserve 1.12
2026-08-15 23:16:04.324399: Filtered charge windows [ 16-08 11:30:00 - 16-08 12:30:00 @ 23.46p 28%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 38%, 16-08 13:30:00 - 16-08 15:00:00 @ 21.75p 100%, 16-08 15:00:00 - 16-08 16:00:00 @ 22.89p 81%, 17-08 12:30:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 17-08 23:30:00 @ 31.69p 100% ] reserve 1.12
2026-08-15 23:16:04.435687: Previous plan best metric is 884.9 (cost 901.11) and new plan best metric is 886.18 (cost 902.38)
2026-08-15 23:16:04.435996: New plan metric is not significantly better (metric_min_improvement_plan 2.0) than previous plan, using previous plan
2026-08-15 23:16:04.436207: Plan valid is now true after recompute was False
2026-08-15 23:16:04.515874: predict base end_record 08-17 12:30:00, final soc 1.12kWh, metric 1072.5p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 16:10:00, load 36.17kWh, PV 0.0kWh
2026-08-15 23:16:04.788729: Battery has 16.92 hours left - now at 12.97kWh
2026-08-15 23:16:04.857115: predict base10 end_record 08-17 12:30:00, final soc 1.12kWh, metric 1104.74p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 15:15:00, load 37.33kWh, PV 0.0kWh
2026-08-15 23:16:05.096845: predict best10 end_record 08-17 12:30:00, final soc 1.12kWh, metric 1032.04p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 07:10:00, load 37.33kWh, PV 0.0kWh
2026-08-15 23:16:05.280358: predict best end_record 08-17 12:30:00, final soc 1.12kWh, metric 1001.97p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 08:20:00, load 36.17kWh, PV 0.0kWh
2026-08-15 23:16:05.280505: Saving plan best values to HA entities
2026-08-15 23:16:05.766134: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 23:16:05.774397: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 23:16:05.795664: Best charging limit SoC's [5.0, 6.0, 8.0, 16.0, 12.5, 16.0, 16.0]kWh, export []kWh gives import battery 11.61kWh, house 2.83kWh, export 0.0kWh, metric 1001.97p, metric10 1032.04p
2026-08-15 23:16:05.969893: Marginal costs baseline metric (no standing charge): 902.0026
2026-08-15 23:16:06.491534: Marginal energy costs matrix computed: min=24.0 max=27.6
2026-08-15 23:16:06.757636: Rate array import [{'start': 1395, 'end': 1410, 'rate': 'expensive', 'range': '(30.0p)'}, {'start': 1410, 'end': 2400, 'rate': 'cheap', 'range': '(21.4p - 28.2p)'}, {'start': 2400, 'end': 2430, 'rate': 'expensive', 'range': '(36.8p)'}, {'start': 2430, 'end': 2580, 'rate': 'very expensive', 'range': '(37.5p - 45.3p)'}, {'start': 2580, 'end': 2850, 'rate': 'expensive', 'range': '(30.0p - 35.9p)'}, {'start': 2850, 'end': 3630, 'rate': 'cheap', 'range': '(23.4p - 28.2p)'}] export [{'start': 1395, 'end': 3630, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 23:16:06.758847: - Your estimated bill for today is £5.77 and tomorrow is £3.07
2026-08-15 23:16:06.769035: - Import rates are expensive (30.0p) for the next 15 minutes and then cheap (21.4p - 28.2p) for the next 16 hours.
2026-08-15 23:16:06.769277: - The battery is currently at 81% and is in eco mode for the next 12 hours.
2026-08-15 23:16:06.769395: - For the next 48 hours there will be no solar generation.
2026-08-15 23:16:06.769510: - You will run out of battery in 33 hours.
2026-08-15 23:16:06.769644: - Your next charge slot will be in 12 hours where import rates will be cheap (23.5p).
2026-08-15 23:16:06.769820: 
2026-08-15 23:16:06.907502: Plan calculation took 60.06 seconds
2026-08-15 23:16:06.907835: Inverter 0: Type SK Sunsynk
2026-08-15 23:16:06.907897: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 23:16:06.908156: Reserve min: 7%, battery_min: 7%
2026-08-15 23:16:06.908253: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 23:16:06.908628: Inverter 0 SoC: 12.97kW 81%, current charge rate 5000W, current discharge rate 5250W, current battery power 576W, current battery voltage 51.2V, grid power -54W, load power 632W, PV Power 0W
2026-08-15 23:16:06.908847: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 23:16:06.909020: Inverter 0 scheduled charge enable is False
2026-08-15 23:16:06.909077: Inverter 0 charge windows currently []
2026-08-15 23:16:06.909116: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 23:16:06.909281: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 23:16:06.909363: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 23:16:06.909418: Inverter 0 scheduled discharge enable is False
2026-08-15 23:16:06.909612: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 23:16:06.909662: Inverter 0 discharge windows currently []
2026-08-15 23:16:06.909696: Note: Inverter does not support discharge freeze - disabled
2026-08-15 23:16:06.909725: Note: Inverter does not support charge freeze - disabled
2026-08-15 23:16:06.909866: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 23:16:07.023993: Inverter 0 Charge window will be: 2026-08-16 11:30:00+01:00 - 2026-08-16 16:00:00+01:00 - current SoC 81%, target 31%
2026-08-15 23:16:07.024251: Inverter 0 disabled charge window while waiting for schedule (now 08-15 23:15:00 target set_window_minutes 30 charge start time 08-16 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 23:16:07.024380: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 23:16:07.024712: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 23:16:07.024852: No export window planned
2026-08-15 23:16:07.025117: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 23:16:07.025199: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 23:16:07.025709: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 23:16:07.026370: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 23:15:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 23:16:07.026467: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 23:16:07.026549: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 23:16:07.026695: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 23:16:07.026782: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 23:16:07.026863: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 23:16:07.026945: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 23:16:07.027852: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 23:16:07.027950: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 23:16:07.027988: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 23:16:07.028084: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 23:16:07.028126: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 23:16:07.028153: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 23:16:07.028186: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 23:16:07.028218: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 23:16:07.028251: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 23:16:07.028275: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 23:16:07.028307: Inverter 0 count register writes 0
2026-08-15 23:16:07.079199: Total inverter register writes now 826
2026-08-15 23:16:07.162131: Info: Completed run status Demand
2026-08-15 23:16:07.192784: Info: record_status Demand
2026-08-15 23:16:07.213610: Saved current settings to /config/predbat_config.json
2026-08-15 23:16:07.213912: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 23:16:14.815889: ML Predictor: Epoch 27/30: lr=0.00012 huber_loss=0.0056 val_mae=0.0027 kWh val_bias=-0.0010 kWh (-1.2%) combined=0.0019 kWh ema_combined=0.0022 kWh
2026-08-15 23:16:42.418369: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 23:16:42.418810: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 23:16:42.418958: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 23:16:42.419214: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 23:16:42.419372: Note: Inverter does not support discharge freeze - disabled
2026-08-15 23:16:42.419523: Note: Inverter does not support charge freeze - disabled
2026-08-15 23:16:42.419674: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 23:16:48.259517: ML Predictor: Epoch 28/30: lr=0.00011 huber_loss=0.0052 val_mae=0.0028 kWh val_bias=-0.0011 kWh (-1.2%) combined=0.0020 kWh ema_combined=0.0021 kWh
2026-08-15 23:17:23.681265: ML Predictor: Epoch 29/30: lr=0.00010 huber_loss=0.0057 val_mae=0.0026 kWh val_bias=-0.0011 kWh (-1.2%) combined=0.0020 kWh ema_combined=0.0021 kWh
2026-08-15 23:17:56.072857: ML Predictor: Epoch 30/30: lr=0.00010 huber_loss=0.0054 val_mae=0.0025 kWh val_bias=-0.0008 kWh (-0.9%) combined=0.0017 kWh ema_combined=0.0020 kWh
2026-08-15 23:17:56.073876: ML Predictor: Restored best weights from epoch with val_mae=0.0028 kWh val_bias=-0.0003 kWh (-0.3%)
2026-08-15 23:17:56.074045: ML Predictor: Training complete, final val_mae=0.0028 kWh val_bias=-0.0003 kWh (-0.3%)
2026-08-15 23:18:00.865750: ML Predictor: AR rollout over holdout: ar_mae=0.0032 kWh ar_bias=-0.0003 kWh (-0.3%) [drift vs teacher-forced: +0.0004 kWh]
2026-08-15 23:18:00.871444: ML Predictor: Curriculum pass 3/5 complete, val_mae=0.0028 kWh
2026-08-15 23:18:00.945364: ML Predictor: Curriculum pass 4/5: window=57.0 days (1368 hours of data)
2026-08-15 23:18:00.945670: ML Predictor: Starting fine-tune training with 30 epochs
2026-08-15 23:18:01.703026: ML Predictor: Creating dataset with 1368 hours of training data, 48 hours validation
2026-08-15 23:18:07.271087: ML Predictor: Created 16128 training samples, 576 validation samples
2026-08-15 23:18:07.330426: ML Predictor: Normalization stats [ema-update alpha=0.1] target(mean=0.0586 std=0.0470) load(mean=0.0589 std=0.0473) pv(mean=0.0000 std=0.0100) temp(mean=19.5525 std=4.4514) import_rate(mean=25.5437 std=2.4792) export_rate(mean=0.0000 std=1.0000) time(mean=-0.1895 std=0.5252)
2026-08-15 23:18:07.412931: ML Predictor: Applied EMA normalization update (alpha=0.1) to track feature drift
2026-08-15 23:18:07.432101: ML Predictor: Reset Adam optimiser state for fine-tuning
2026-08-15 23:18:07.623929: ML Predictor: Baseline (pre-finetune) val_mae=0.0069 kWh val_bias=-0.0014 kWh
2026-08-15 23:18:42.271878: ML Predictor: Epoch 1/30: lr=0.00100 huber_loss=0.0109 val_mae=0.0064 kWh val_bias=+0.0016 kWh (+2.0%) combined=0.0043 kWh ema_combined=0.0043 kWh
2026-08-15 23:18:57.056565: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 23:18:57.057043: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 23:18:57.057194: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 23:18:57.057485: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 23:18:57.057617: Note: Inverter does not support discharge freeze - disabled
2026-08-15 23:18:57.057727: Note: Inverter does not support charge freeze - disabled
2026-08-15 23:18:57.057829: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 23:19:15.077331: ML Predictor: Epoch 2/30: lr=0.00100 huber_loss=0.0102 val_mae=0.0059 kWh val_bias=+0.0006 kWh (+0.7%) combined=0.0039 kWh ema_combined=0.0041 kWh
2026-08-15 23:19:49.988497: ML Predictor: Epoch 3/30: lr=0.00099 huber_loss=0.0113 val_mae=0.0067 kWh val_bias=+0.0011 kWh (+1.4%) combined=0.0038 kWh ema_combined=0.0041 kWh
2026-08-15 23:20:00.401310: --------------- PredBat - update at 2026-08-15 23:20:00+01:00 with clock skew 0 minutes, minutes now 1400
2026-08-15 23:20:00.402474: Saved current settings to /config/predbat_config.json
2026-08-15 23:20:00.402622: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 45.0 minutes
2026-08-15 23:20:00.402710: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.2, latest beta is v8.48.2
2026-08-15 23:20:00.402786: Autoupdate: There is an update pending v8.48.2 PV90 and second pass enabled by default, bug fixes - auto update is off
2026-08-15 23:20:00.462974: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 23:20:00.463150: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 23:20:00.463366: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 23:20:00.464022: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 23:20:00.464169: Predbat mode is set to Control charge & discharge
2026-08-15 23:20:00.877278: Found 21602 load_today datapoints going back 28 days
2026-08-15 23:20:00.877443: Using load_power data to fill gaps in load_today data
2026-08-15 23:20:02.211282: Processing 721 30-minute periods for power integration
2026-08-15 23:20:02.585025: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 23:20:02.585675: Car charging hold False, threshold 6.0kWh
2026-08-15 23:20:02.585769: Current data so far today: load 11.95kWh, import 27.9kWh, export 0.0kWh, PV 0kWh
2026-08-15 23:20:02.607418: Cars: SoC: [8.204]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 23:20:02.607933: Standing charge is set to 49.98p
2026-08-15 23:20:02.765296: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 23:20:02.765581: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 23:20:02.766000: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 35.0 minutes
2026-08-15 23:20:02.766759: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 35.0 minutes
2026-08-15 23:20:02.775545: Loaded 95 datapoints of futurerate analysis
2026-08-15 23:20:03.249237: Predicted future rates: ['08-15 00:00:00 => 28.69 / 20.01', '08-15 01:00:00 => 27.33 / 19.31', '08-15 02:00:00 => 26.31 / 18.8', '08-15 03:00:00 => 25.78 / 18.53', '08-15 04:00:00 => 25.59 / 18.43', '08-15 05:00:00 => 25.75 / 18.51', '08-15 06:00:00 => 25.34 / 18.3', '08-15 07:00:00 => 24.12 / 17.68', '08-15 08:00:00 => 22.82 / 17.01', '08-15 09:00:00 => 21.84 / 16.51', '08-15 10:00:00 => 20.22 / 15.68', '08-15 11:00:00 => 17.8 / 14.45', '08-15 12:00:00 => 16.16 / 13.61', '08-15 13:00:00 => 15.55 / 13.3', '08-15 14:00:00 => 15.14 / 13.09', '08-15 15:00:00 => 15.65 / 13.35', '08-15 16:00:00 => 32.68 / 16.13', '08-15 17:00:00 => 37.81 / 18.75', '08-15 18:00:00 => 42.15 / 20.96', '08-15 19:00:00 => 30.88 / 21.13', '08-15 20:00:00 => 31.43 / 21.41', '08-15 21:00:00 => 31.43 / 21.41', '08-15 22:00:00 => 30.37 / 20.87', '08-15 23:00:00 => 29.16 / 20.25', '08-16 00:00:00 => 28.62 / 19.97', '08-16 01:00:00 => 27.52 / 19.41', '08-16 02:00:00 => 26.55 / 18.92', '08-16 03:00:00 => 26.18 / 18.73', '08-16 04:00:00 => 26.12 / 18.7', '08-16 05:00:00 => 26.02 / 18.65', '08-16 06:00:00 => 25.78 / 18.53', '08-16 07:00:00 => 25.43 / 18.35', '08-16 08:00:00 => 24.63 / 17.94', '08-16 09:00:00 => 24.05 / 17.64', '08-16 10:00:00 => 24.59 / 17.92', '08-16 11:00:00 => 24.5 / 17.87', '08-16 12:00:00 => 23.58 / 17.4', '08-16 13:00:00 => 22.93 / 17.07', '08-16 14:00:00 => 21.8 / 16.49', '08-16 15:00:00 => 21.8 / 16.49', '08-16 16:00:00 => 36.93 / 18.3', '08-16 17:00:00 => 39.92 / 19.83', '08-16 18:00:00 => 43.98 / 21.9', '08-16 19:00:00 => 32.83 / 22.13', '08-16 20:00:00 => 33.62 / 22.53', '08-16 21:00:00 => 33.52 / 22.48', '08-16 22:00:00 => 32.15 / 21.78']
2026-08-15 23:20:03.298676: Rate min forward looking: now 21.41p at end of forecast 21.41p
2026-08-15 23:20:03.299121: Import rates: min 21.41p, max 45.28p, average 28.73p
2026-08-15 23:20:03.342502: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 23:20:03.342731: Rate thresholds (for charge/export) are import 44.78p (0.0p), export -0.1p (0.0p)
2026-08-15 23:20:03.344155: High export rate found rates in range 99p to -99p
2026-08-15 23:20:03.484571: Low Import rate found rates in range 21.41p to 44.34p
2026-08-15 23:20:03.484817: Car 0 charging is not planned as it is not plugged in
2026-08-15 23:20:03.501849: Battery level now 12.97kWh, -1hr ago 14.08kWh, at midnight 1.66kWh, battery value change in the last hour -20.45p, change today 208.06p, rate_forward 18.39p
2026-08-15 23:20:03.502439: Last hour: net energy 0.02kWh, import 0.02kWh, export 0.0kWh, car 0kWh, load 1.3kWh, net cost 0.69p, import 0.69p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 23:20:03.592257: Today's energy total net 27.9kWh, import 27.9kWh, export 0.0kWh, cost 576.57p, import 526.58p, export 0.0p, carbon 0.0kg
2026-08-15 23:20:03.592627: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 23:20:03.760096: Using weighted-bucket historical load forecast over 14 days
2026-08-15 23:20:03.797998: Today's load divergence 81.04%, in-day adjustment 83.71%, damping 0.95x, yesterday 143.77% today 81.99% blend 2.78%
2026-08-15 23:20:03.798560: Today's predicted so far 14.25kWh with 0.0kWh car/iBoost excluded, 20.88kWh import ignored, and 14.25kWh forecast extra.
2026-08-15 23:20:03.798719: Today's actual load so far 11.85kWh with 0.0kWh car/iBoost excluded, and 20.88kWh import ignored.
2026-08-15 23:20:03.879923: Inverter 0: Type SK Sunsynk
2026-08-15 23:20:03.880209: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 23:20:03.880566: Reserve min: 7%, battery_min: 7%
2026-08-15 23:20:03.880768: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 23:20:03.881329: Inverter 0 SoC: 12.97kW 81%, current charge rate 5000W, current discharge rate 5250W, current battery power 1616W, current battery voltage 51.2V, grid power -55W, load power 1678W, PV Power 0W
2026-08-15 23:20:03.881727: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 23:20:03.882024: Inverter 0 scheduled charge enable is False
2026-08-15 23:20:03.882203: Inverter 0 charge windows currently []
2026-08-15 23:20:03.882374: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 23:20:03.882699: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 23:20:03.882883: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 23:20:03.883099: Inverter 0 scheduled discharge enable is False
2026-08-15 23:20:03.883499: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 23:20:03.883669: Inverter 0 discharge windows currently []
2026-08-15 23:20:03.883803: Note: Inverter does not support discharge freeze - disabled
2026-08-15 23:20:03.883950: Note: Inverter does not support charge freeze - disabled
2026-08-15 23:20:03.884079: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 23:20:04.026819: Dynamic load last period 1.80kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 23:20:04.026983: Plan was last updated on 2026-08-15 23:15:00+01:00 and is now 5.0 minutes old
2026-08-15 23:20:04.027489: Best charge window [ 16-08 11:30:00 - 16-08 12:30:00 @ 23.46p 31%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 38%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 50%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 100%, 16-08 14:30:00 - 16-08 16:00:00 @ 22.56p 78%, 17-08 12:30:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 17-08 22:30:00 @ 34.7p 100% ]
2026-08-15 23:20:04.027559: Best export window [  ]
2026-08-15 23:20:04.029178: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 23:20:04.034493: Load divergence over 8.0 hours mean 762.47W, min 313.8W, max 1997.4W, std dev 441.17W, divergence 28.93%
2026-08-15 23:20:04.071292: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 23:20:04.071658: LoadML is_calculating True
2026-08-15 23:20:04.071852: Not using thread pool as LoadML is calculating to avoid lockups
2026-08-15 23:20:04.188635: predict base end_record 08-17 12:35:00, final soc 1.12kWh, metric 1072.04p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 16:20:00, load 36.34kWh, PV 0.0kWh
2026-08-15 23:20:04.421655: Battery has 17.0 hours left - now at 12.97kWh
2026-08-15 23:20:04.467561: predict base10 end_record 08-17 12:35:00, final soc 1.12kWh, metric 1105.24p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 15:20:00, load 37.5kWh, PV 0.0kWh
2026-08-15 23:20:04.565816: predict best10 end_record 08-17 12:35:00, final soc 1.44kWh, metric 1040.02p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 07:05:00, load 37.5kWh, PV 0.0kWh
2026-08-15 23:20:04.733827: predict best end_record 08-17 12:35:00, final soc 1.51kWh, metric 1011.44p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 08:15:00, load 36.34kWh, PV 0.0kWh
2026-08-15 23:20:04.746162: Saving plan best values to HA entities
2026-08-15 23:20:05.056422: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 23:20:05.073300: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 23:20:05.094026: Best charging limit SoC's [5.0, 6.0, 8.0, 16.0, 12.5, 16.0, 16.0]kWh, export []kWh gives import battery 12.02kWh, house 2.85kWh, export 0.0kWh, metric 1011.44p, metric10 1040.02p
2026-08-15 23:20:05.247535: Marginal costs baseline metric (no standing charge): 911.4782
2026-08-15 23:20:05.672753: Marginal energy costs matrix computed: min=23.82 max=27.55
2026-08-15 23:20:05.841463: Rate array import [{'start': 1400, 'end': 1410, 'rate': 'expensive', 'range': '(30.0p)'}, {'start': 1410, 'end': 2400, 'rate': 'cheap', 'range': '(21.4p - 28.2p)'}, {'start': 2400, 'end': 2430, 'rate': 'expensive', 'range': '(36.8p)'}, {'start': 2430, 'end': 2580, 'rate': 'very expensive', 'range': '(37.5p - 45.3p)'}, {'start': 2580, 'end': 2850, 'rate': 'expensive', 'range': '(30.0p - 35.9p)'}, {'start': 2850, 'end': 3635, 'rate': 'cheap', 'range': '(22.3p - 28.2p)'}] export [{'start': 1400, 'end': 3635, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 23:20:05.842333: - Your estimated bill for today is £5.77 and tomorrow is £3.05
2026-08-15 23:20:05.842394: - Import rates are expensive (30.0p) for the next 10 minutes and then cheap (21.4p - 28.2p) for the next 16 hours.
2026-08-15 23:20:05.842442: - The battery is currently at 81% and is in eco mode for the next 12 hours.
2026-08-15 23:20:05.842478: - For the next 48 hours there will be no solar generation.
2026-08-15 23:20:05.842512: - You will run out of battery in 32 hours.
2026-08-15 23:20:05.842539: - Your next charge slot will be in 12 hours where import rates will be cheap (23.5p).
2026-08-15 23:20:05.842563: 
2026-08-15 23:20:05.955136: Plan calculation took 1.93 seconds
2026-08-15 23:20:05.961428: No high rate period found
2026-08-15 23:20:06.109817: Import threshold used for optimisation was 26.14p
2026-08-15 23:20:06.236101: Low import rate windows [0: 08-15 23:00:00 - 08-15 23:30:00 @ 30.02, 1: 08-15 23:30:00 - 08-16 00:00:00 @ 27.8, 2: 08-16 00:00:00 - 08-16 00:30:00 @ 28.18, 3: 08-16 00:30:00 - 08-16 01:00:00 @ 27.38, 4: 08-16 01:00:00 - 08-16 01:30:00 @ 26.7, 5: 08-16 01:30:00 - 08-16 02:00:00 @ 26.31, 6: 08-16 02:00:00 - 08-16 02:30:00 @ 25.79, 7: 08-16 02:30:00 - 08-16 03:00:00 @ 25.86, 8: 08-16 03:00:00 - 08-16 03:30:00 @ 26.13, 9: 08-16 03:30:00 - 08-16 04:00:00 @ 25.86, 10: 08-16 04:00:00 - 08-16 04:30:00 @ 26.27, 11: 08-16 04:30:00 - 08-16 05:00:00 @ 26.14, 12: 08-16 05:00:00 - 08-16 05:30:00 @ 27.03, 13: 08-16 05:30:00 - 08-16 06:00:00 @ 26.28, 14: 08-16 06:00:00 - 08-16 06:30:00 @ 25.68, 15: 08-16 06:30:00 - 08-16 07:00:00 @ 26.1, 16: 08-16 07:00:00 - 08-16 07:30:00 @ 24.28, 17: 08-16 07:30:00 - 08-16 08:00:00 @ 24.94, 18: 08-16 08:00:00 - 08-16 08:30:00 @ 24.06, 19: 08-16 08:30:00 - 08-16 09:00:00 @ 24.39, 20: 08-16 09:00:00 - 08-16 09:30:00 @ 24.66, 21: 08-16 09:30:00 - 08-16 10:00:00 @ 24.06, 22: 08-16 10:00:00 - 08-16 10:30:00 @ 25.5, 23: 08-16 10:30:00 - 08-16 11:00:00 @ 24.94, 24: 08-16 11:00:00 - 08-16 11:30:00 @ 24.25, 25: 08-16 11:30:00 - 08-16 12:00:00 @ 23.49, 26: 08-16 12:00:00 - 08-16 12:30:00 @ 23.43, 27: 08-16 12:30:00 - 08-16 13:00:00 @ 22.33, 28: 08-16 13:00:00 - 08-16 13:30:00 @ 22.76, 29: 08-16 13:30:00 - 08-16 14:00:00 @ 22.3, 30: 08-16 14:00:00 - 08-16 14:30:00 @ 21.41, 31: 08-16 14:30:00 - 08-16 15:00:00 @ 21.65, 32: 08-16 15:00:00 - 08-16 15:30:00 @ 22.95, 33: 08-16 15:30:00 - 08-16 16:00:00 @ 22.83, 34: 08-16 16:00:00 - 08-16 16:30:00 @ 36.84, 35: 08-16 16:30:00 - 08-16 17:00:00 @ 37.54, 36: 08-16 17:00:00 - 08-16 17:30:00 @ 41.79, 37: 08-16 17:30:00 - 08-16 18:00:00 @ 43.7, 38: 08-16 18:00:00 - 08-16 18:30:00 @ 44.34, 39: 08-16 19:00:00 - 08-16 19:30:00 @ 34.79, 40: 08-16 19:30:00 - 08-16 20:00:00 @ 34.76, 41: 08-16 20:00:00 - 08-16 20:30:00 @ 35.62, 42: 08-16 20:30:00 - 08-16 21:00:00 @ 35.3, 43: 08-16 21:00:00 - 08-16 21:30:00 @ 35.89, 44: 08-16 21:30:00 - 08-16 22:00:00 @ 35.71, 45: 08-16 22:00:00 - 08-16 22:30:00 @ 33.75, 46: 08-16 22:30:00 - 08-16 23:00:00 @ 32.0, 47: 08-16 23:00:00 - 08-16 23:30:00 @ 30.02, 48: 08-16 23:30:00 - 08-17 00:00:00 @ 27.8, 49: 08-17 00:00:00 - 08-17 00:30:00 @ 28.18, 50: 08-17 00:30:00 - 08-17 01:00:00 @ 27.38, 51: 08-17 01:00:00 - 08-17 01:30:00 @ 26.7, 52: 08-17 01:30:00 - 08-17 02:00:00 @ 26.31, 53: 08-17 02:00:00 - 08-17 02:30:00 @ 25.79, 54: 08-17 02:30:00 - 08-17 03:00:00 @ 25.86, 55: 08-17 03:00:00 - 08-17 03:30:00 @ 26.13, 56: 08-17 03:30:00 - 08-17 04:00:00 @ 25.86, 57: 08-17 04:00:00 - 08-17 04:30:00 @ 26.27, 58: 08-17 04:30:00 - 08-17 05:00:00 @ 26.14, 59: 08-17 05:00:00 - 08-17 05:30:00 @ 27.03, 60: 08-17 05:30:00 - 08-17 06:00:00 @ 26.28, 61: 08-17 06:00:00 - 08-17 06:30:00 @ 25.68, 62: 08-17 06:30:00 - 08-17 07:00:00 @ 26.1, 63: 08-17 07:00:00 - 08-17 07:30:00 @ 24.28, 64: 08-17 07:30:00 - 08-17 08:00:00 @ 24.94, 65: 08-17 08:00:00 - 08-17 08:30:00 @ 24.06, 66: 08-17 08:30:00 - 08-17 09:00:00 @ 24.39, 67: 08-17 09:00:00 - 08-17 09:30:00 @ 24.66, 68: 08-17 09:30:00 - 08-17 10:00:00 @ 24.06, 69: 08-17 10:00:00 - 08-17 10:30:00 @ 25.5, 70: 08-17 10:30:00 - 08-17 11:00:00 @ 24.94, 71: 08-17 11:00:00 - 08-17 11:30:00 @ 24.25, 72: 08-17 11:30:00 - 08-17 12:00:00 @ 23.49, 73: 08-17 12:00:00 - 08-17 12:30:00 @ 23.43, 74: 08-17 12:30:00 - 08-17 13:00:00 @ 22.33, 75: 08-17 13:00:00 - 08-17 13:30:00 @ 22.76, 76: 08-17 13:30:00 - 08-17 14:00:00 @ 22.3, 77: 08-17 14:00:00 - 08-17 14:30:00 @ 21.41, 78: 08-17 14:30:00 - 08-17 15:00:00 @ 21.65, 79: 08-17 15:00:00 - 08-17 15:30:00 @ 22.95, 80: 08-17 15:30:00 - 08-17 16:00:00 @ 22.83, 81: 08-17 16:00:00 - 08-17 16:30:00 @ 36.84, 82: 08-17 16:30:00 - 08-17 17:00:00 @ 37.54, 83: 08-17 17:00:00 - 08-17 17:30:00 @ 41.79, 84: 08-17 17:30:00 - 08-17 18:00:00 @ 43.7, 85: 08-17 18:00:00 - 08-17 18:30:00 @ 44.34, 86: 08-17 19:00:00 - 08-17 19:30:00 @ 34.79, 87: 08-17 19:30:00 - 08-17 20:00:00 @ 34.76, 88: 08-17 20:00:00 - 08-17 20:30:00 @ 35.62, 89: 08-17 20:30:00 - 08-17 21:00:00 @ 35.3, 90: 08-17 21:00:00 - 08-17 21:30:00 @ 35.89, 91: 08-17 21:30:00 - 08-17 22:00:00 @ 35.71, 92: 08-17 22:00:00 - 08-17 22:30:00 @ 33.75, 93: 08-17 22:30:00 - 08-17 23:00:00 @ 32.0, 94: 08-17 23:00:00 - 08-17 23:30:00 @ 30.02]
2026-08-15 23:20:06.246817: Inverter 0 Charge window will be: 2026-08-16 11:30:00+01:00 - 2026-08-16 16:00:00+01:00 - current SoC 81%, target 31%
2026-08-15 23:20:06.247768: Inverter 0 disabled charge window while waiting for schedule (now 08-15 23:20:00 target set_window_minutes 30 charge start time 08-16 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 23:20:06.247864: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 23:20:06.248216: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 23:20:06.248315: No export window planned
2026-08-15 23:20:06.248420: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 23:20:06.248455: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 23:20:06.248597: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 23:20:06.248740: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 23:20:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 23:20:06.248792: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 23:20:06.248837: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 23:20:06.248925: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 23:20:06.249021: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 23:20:06.249069: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 23:20:06.249093: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 23:20:06.249114: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 23:20:06.249134: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 23:20:06.249158: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 23:20:06.249218: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 23:20:06.249250: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 23:20:06.249285: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 23:20:06.249393: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 23:20:06.249430: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 23:20:06.249451: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 23:20:06.249495: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 23:20:06.249685: Inverter 0 count register writes 0
2026-08-15 23:20:06.275578: Will not recompute the plan, it is 5.0 minutes old and max age is 10 minutes
2026-08-15 23:20:06.283593: Total inverter register writes now 826
2026-08-15 23:20:06.350422: Info: Completed run status Demand
2026-08-15 23:20:06.373774: Info: record_status Demand
2026-08-15 23:20:06.394450: Saved current settings to /config/predbat_config.json
2026-08-15 23:20:06.394790: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 23:20:29.730153: ML Predictor: Epoch 4/30: lr=0.00098 huber_loss=0.0135 val_mae=0.0060 kWh val_bias=-0.0021 kWh (-2.6%) combined=0.0040 kWh ema_combined=0.0040 kWh
2026-08-15 23:20:41.651973: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 23:20:41.652449: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 23:20:41.652520: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 23:20:41.652741: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 23:20:41.652799: Note: Inverter does not support discharge freeze - disabled
2026-08-15 23:20:41.652833: Note: Inverter does not support charge freeze - disabled
2026-08-15 23:20:41.652860: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 23:21:02.995484: ML Predictor: Epoch 5/30: lr=0.00096 huber_loss=0.0137 val_mae=0.0051 kWh val_bias=-0.0009 kWh (-1.1%) combined=0.0030 kWh ema_combined=0.0037 kWh
2026-08-15 23:21:35.408403: ML Predictor: Epoch 6/30: lr=0.00094 huber_loss=0.0140 val_mae=0.0069 kWh val_bias=-0.0028 kWh (-3.5%) combined=0.0049 kWh ema_combined=0.0041 kWh
2026-08-15 23:22:06.976061: ML Predictor: Epoch 7/30: lr=0.00091 huber_loss=0.0127 val_mae=0.0053 kWh val_bias=-0.0004 kWh (-0.5%) combined=0.0028 kWh ema_combined=0.0037 kWh
2026-08-15 23:22:40.219176: ML Predictor: Epoch 8/30: lr=0.00088 huber_loss=0.0119 val_mae=0.0064 kWh val_bias=-0.0013 kWh (-1.6%) combined=0.0035 kWh ema_combined=0.0037 kWh
2026-08-15 23:22:42.167023: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 23:22:42.167498: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 23:22:42.167674: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 23:22:42.168120: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 23:22:42.168255: Note: Inverter does not support discharge freeze - disabled
2026-08-15 23:22:42.168351: Note: Inverter does not support charge freeze - disabled
2026-08-15 23:22:42.168430: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 23:23:11.938495: ML Predictor: Epoch 9/30: lr=0.00084 huber_loss=0.0102 val_mae=0.0046 kWh val_bias=-0.0015 kWh (-1.9%) combined=0.0031 kWh ema_combined=0.0035 kWh
2026-08-15 23:23:45.231874: ML Predictor: Epoch 10/30: lr=0.00080 huber_loss=0.0104 val_mae=0.0042 kWh val_bias=-0.0006 kWh (-0.7%) combined=0.0027 kWh ema_combined=0.0033 kWh
2026-08-15 23:24:21.949958: ML Predictor: Epoch 11/30: lr=0.00076 huber_loss=0.0085 val_mae=0.0060 kWh val_bias=+0.0039 kWh (+4.8%) combined=0.0062 kWh ema_combined=0.0041 kWh
2026-08-15 23:24:55.664120: ML Predictor: Epoch 12/30: lr=0.00072 huber_loss=0.0091 val_mae=0.0043 kWh val_bias=-0.0011 kWh (-1.4%) combined=0.0030 kWh ema_combined=0.0038 kWh
2026-08-15 23:24:56.787383: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 23:24:56.788450: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 23:24:56.788603: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 23:24:56.791375: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 23:24:56.791540: Note: Inverter does not support discharge freeze - disabled
2026-08-15 23:24:56.791689: Note: Inverter does not support charge freeze - disabled
2026-08-15 23:24:56.791809: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 23:25:00.991188: --------------- PredBat - update at 2026-08-15 23:25:00+01:00 with clock skew 0 minutes, minutes now 1405
2026-08-15 23:25:00.992158: Saved current settings to /config/predbat_config.json
2026-08-15 23:25:00.992298: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 50.0 minutes
2026-08-15 23:25:00.992385: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.2, latest beta is v8.48.2
2026-08-15 23:25:00.992637: Autoupdate: There is an update pending v8.48.2 PV90 and second pass enabled by default, bug fixes - auto update is off
2026-08-15 23:25:01.052253: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 23:25:01.052420: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 23:25:01.052644: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 23:25:01.053346: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 23:25:01.053511: Predbat mode is set to Control charge & discharge
2026-08-15 23:25:01.453637: Found 21602 load_today datapoints going back 28 days
2026-08-15 23:25:01.453807: Using load_power data to fill gaps in load_today data
2026-08-15 23:25:02.907223: Processing 721 30-minute periods for power integration
2026-08-15 23:25:03.308779: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 23:25:03.309136: Car charging hold False, threshold 6.0kWh
2026-08-15 23:25:03.309251: Current data so far today: load 12.1kWh, import 27.9kWh, export 0.0kWh, PV 0kWh
2026-08-15 23:25:03.362622: Cars: SoC: [8.204]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 23:25:03.363257: Standing charge is set to 49.98p
2026-08-15 23:25:03.574390: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 23:25:03.574510: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 23:25:03.574828: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 40.0 minutes
2026-08-15 23:25:03.575425: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 40.0 minutes
2026-08-15 23:25:03.582973: Loaded 95 datapoints of futurerate analysis
2026-08-15 23:25:03.785730: Predicted future rates: ['08-15 00:00:00 => 28.69 / 20.01', '08-15 01:00:00 => 27.33 / 19.31', '08-15 02:00:00 => 26.31 / 18.8', '08-15 03:00:00 => 25.78 / 18.53', '08-15 04:00:00 => 25.59 / 18.43', '08-15 05:00:00 => 25.75 / 18.51', '08-15 06:00:00 => 25.34 / 18.3', '08-15 07:00:00 => 24.12 / 17.68', '08-15 08:00:00 => 22.82 / 17.01', '08-15 09:00:00 => 21.84 / 16.51', '08-15 10:00:00 => 20.22 / 15.68', '08-15 11:00:00 => 17.8 / 14.45', '08-15 12:00:00 => 16.16 / 13.61', '08-15 13:00:00 => 15.55 / 13.3', '08-15 14:00:00 => 15.14 / 13.09', '08-15 15:00:00 => 15.65 / 13.35', '08-15 16:00:00 => 32.68 / 16.13', '08-15 17:00:00 => 37.81 / 18.75', '08-15 18:00:00 => 42.15 / 20.96', '08-15 19:00:00 => 30.88 / 21.13', '08-15 20:00:00 => 31.43 / 21.41', '08-15 21:00:00 => 31.43 / 21.41', '08-15 22:00:00 => 30.37 / 20.87', '08-15 23:00:00 => 29.16 / 20.25', '08-16 00:00:00 => 28.62 / 19.97', '08-16 01:00:00 => 27.52 / 19.41', '08-16 02:00:00 => 26.55 / 18.92', '08-16 03:00:00 => 26.18 / 18.73', '08-16 04:00:00 => 26.12 / 18.7', '08-16 05:00:00 => 26.02 / 18.65', '08-16 06:00:00 => 25.78 / 18.53', '08-16 07:00:00 => 25.43 / 18.35', '08-16 08:00:00 => 24.63 / 17.94', '08-16 09:00:00 => 24.05 / 17.64', '08-16 10:00:00 => 24.59 / 17.92', '08-16 11:00:00 => 24.5 / 17.87', '08-16 12:00:00 => 23.58 / 17.4', '08-16 13:00:00 => 22.93 / 17.07', '08-16 14:00:00 => 21.8 / 16.49', '08-16 15:00:00 => 21.8 / 16.49', '08-16 16:00:00 => 36.93 / 18.3', '08-16 17:00:00 => 39.92 / 19.83', '08-16 18:00:00 => 43.98 / 21.9', '08-16 19:00:00 => 32.83 / 22.13', '08-16 20:00:00 => 33.62 / 22.53', '08-16 21:00:00 => 33.52 / 22.48', '08-16 22:00:00 => 32.15 / 21.78']
2026-08-15 23:25:03.834678: Rate min forward looking: now 21.41p at end of forecast 21.41p
2026-08-15 23:25:03.836197: Import rates: min 21.41p, max 45.28p, average 28.73p
2026-08-15 23:25:03.883255: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 23:25:03.883396: Rate thresholds (for charge/export) are import 44.78p (0.0p), export -0.1p (0.0p)
2026-08-15 23:25:03.884750: High export rate found rates in range 99p to -99p
2026-08-15 23:25:04.025553: Low Import rate found rates in range 21.41p to 44.34p
2026-08-15 23:25:04.033950: Car 0 charging is not planned as it is not plugged in
2026-08-15 23:25:04.071946: Battery level now 12.97kWh, -1hr ago 14.08kWh, at midnight 1.66kWh, battery value change in the last hour -20.45p, change today 208.06p, rate_forward 18.39p
2026-08-15 23:25:04.072400: Last hour: net energy 0.02kWh, import 0.02kWh, export 0.0kWh, car 0kWh, load 1.4kWh, net cost 0.55p, import 0.55p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 23:25:04.255597: Today's energy total net 27.9kWh, import 27.9kWh, export 0.0kWh, cost 576.57p, import 526.58p, export 0.0p, carbon 0.0kg
2026-08-15 23:25:04.255929: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 23:25:04.355102: Using weighted-bucket historical load forecast over 14 days
2026-08-15 23:25:04.449285: Today's load divergence 82.06%, in-day adjustment 84.43%, damping 0.95x, yesterday 143.77% today 82.96% blend 2.43%
2026-08-15 23:25:04.449414: Today's predicted so far 14.32kWh with 0.0kWh car/iBoost excluded, 20.85kWh import ignored, and 14.32kWh forecast extra.
2026-08-15 23:25:04.465027: Today's actual load so far 12.03kWh with 0.0kWh car/iBoost excluded, and 20.85kWh import ignored.
2026-08-15 23:25:04.535389: Inverter 0: Type SK Sunsynk
2026-08-15 23:25:04.535494: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 23:25:04.535690: Reserve min: 7%, battery_min: 7%
2026-08-15 23:25:04.535766: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 23:25:04.536074: Inverter 0 SoC: 12.8kW 80%, current charge rate 5000W, current discharge rate 5250W, current battery power 539W, current battery voltage 51.2V, grid power -53W, load power 591W, PV Power 0W
2026-08-15 23:25:04.536248: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 23:25:04.536344: Inverter 0 scheduled charge enable is False
2026-08-15 23:25:04.536386: Inverter 0 charge windows currently []
2026-08-15 23:25:04.536414: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 23:25:04.536530: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 23:25:04.536567: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 23:25:04.536607: Inverter 0 scheduled discharge enable is False
2026-08-15 23:25:04.536759: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 23:25:04.536823: Inverter 0 discharge windows currently []
2026-08-15 23:25:04.536849: Note: Inverter does not support discharge freeze - disabled
2026-08-15 23:25:04.536879: Note: Inverter does not support charge freeze - disabled
2026-08-15 23:25:04.536912: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 23:25:04.716162: Dynamic load last period 1.80kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 23:25:04.716535: Plan was last updated on 2026-08-15 23:15:00+01:00 and is now 10.0 minutes old
2026-08-15 23:25:04.716875: Best charge window [ 16-08 11:30:00 - 16-08 12:30:00 @ 23.46p 31%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 38%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 50%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 100%, 16-08 14:30:00 - 16-08 16:00:00 @ 22.56p 78%, 17-08 12:30:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 17-08 22:30:00 @ 34.7p 100% ]
2026-08-15 23:25:04.716993: Best export window [  ]
2026-08-15 23:25:04.718232: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 23:25:04.721696: Load divergence over 8.0 hours mean 757.79W, min 293.4W, max 1875.0W, std dev 442.24W, divergence 29.18%
2026-08-15 23:25:04.743502: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 23:25:04.743690: LoadML is_calculating True
2026-08-15 23:25:04.743726: Not using thread pool as LoadML is calculating to avoid lockups
2026-08-15 23:25:04.781496: predict base end_record 08-17 12:40:00, final soc 1.12kWh, metric 1076.6p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 16:05:00, load 36.48kWh, PV 0.0kWh
2026-08-15 23:25:05.110195: Battery has 16.67 hours left - now at 12.8kWh
2026-08-15 23:25:05.180858: predict base10 end_record 08-17 12:40:00, final soc 1.12kWh, metric 1108.53p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 15:15:00, load 37.64kWh, PV 0.0kWh
2026-08-15 23:25:05.363842: predict best10 end_record 08-17 12:40:00, final soc 1.77kWh, metric 1051.45p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 07:05:00, load 37.64kWh, PV 0.0kWh
2026-08-15 23:25:05.594176: predict best end_record 08-17 12:40:00, final soc 1.9kWh, metric 1024.55p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 08:15:00, load 36.48kWh, PV 0.0kWh
2026-08-15 23:25:05.594373: Saving plan best values to HA entities
2026-08-15 23:25:05.831080: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 23:25:05.839122: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0.0
2026-08-15 23:25:05.847546: Best charging limit SoC's [5.0, 6.0, 8.0, 16.0, 12.5, 16.0, 16.0]kWh, export []kWh gives import battery 12.6kWh, house 2.85kWh, export 0.0kWh, metric 1024.55p, metric10 1051.45p
2026-08-15 23:25:05.995466: Marginal costs baseline metric (no standing charge): 924.5829
2026-08-15 23:25:06.394606: Marginal energy costs matrix computed: min=23.64 max=27.45
2026-08-15 23:25:06.618364: Rate array import [{'start': 1405, 'end': 1410, 'rate': 'expensive', 'range': '(30.0p)'}, {'start': 1410, 'end': 2400, 'rate': 'cheap', 'range': '(21.4p - 28.2p)'}, {'start': 2400, 'end': 2430, 'rate': 'expensive', 'range': '(36.8p)'}, {'start': 2430, 'end': 2580, 'rate': 'very expensive', 'range': '(37.5p - 45.3p)'}, {'start': 2580, 'end': 2850, 'rate': 'expensive', 'range': '(30.0p - 35.9p)'}, {'start': 2850, 'end': 3640, 'rate': 'cheap', 'range': '(22.3p - 28.2p)'}] export [{'start': 1405, 'end': 3640, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 23:25:06.634435: - Your estimated bill for today is £5.77 and tomorrow is £3.07
2026-08-15 23:25:06.634635: - Import rates are expensive (30.0p) for the next 5 minutes and then cheap (21.4p - 28.2p) for the next 16 hours.
2026-08-15 23:25:06.634774: - The battery is currently at 80% and is in eco mode for the next 12 hours.
2026-08-15 23:25:06.634918: - For the next 48 hours there will be no solar generation.
2026-08-15 23:25:06.635078: - You will run out of battery in 32 hours.
2026-08-15 23:25:06.635207: - Your next charge slot will be in 12 hours where import rates will be cheap (23.5p).
2026-08-15 23:25:06.635343: 
2026-08-15 23:25:06.686202: Plan calculation took 1.97 seconds
2026-08-15 23:25:06.692685: No high rate period found
2026-08-15 23:25:06.801567: Import threshold used for optimisation was 26.14p
2026-08-15 23:25:06.970745: Low import rate windows [0: 08-15 23:00:00 - 08-15 23:30:00 @ 30.02, 1: 08-15 23:30:00 - 08-16 00:00:00 @ 27.8, 2: 08-16 00:00:00 - 08-16 00:30:00 @ 28.18, 3: 08-16 00:30:00 - 08-16 01:00:00 @ 27.38, 4: 08-16 01:00:00 - 08-16 01:30:00 @ 26.7, 5: 08-16 01:30:00 - 08-16 02:00:00 @ 26.31, 6: 08-16 02:00:00 - 08-16 02:30:00 @ 25.79, 7: 08-16 02:30:00 - 08-16 03:00:00 @ 25.86, 8: 08-16 03:00:00 - 08-16 03:30:00 @ 26.13, 9: 08-16 03:30:00 - 08-16 04:00:00 @ 25.86, 10: 08-16 04:00:00 - 08-16 04:30:00 @ 26.27, 11: 08-16 04:30:00 - 08-16 05:00:00 @ 26.14, 12: 08-16 05:00:00 - 08-16 05:30:00 @ 27.03, 13: 08-16 05:30:00 - 08-16 06:00:00 @ 26.28, 14: 08-16 06:00:00 - 08-16 06:30:00 @ 25.68, 15: 08-16 06:30:00 - 08-16 07:00:00 @ 26.1, 16: 08-16 07:00:00 - 08-16 07:30:00 @ 24.28, 17: 08-16 07:30:00 - 08-16 08:00:00 @ 24.94, 18: 08-16 08:00:00 - 08-16 08:30:00 @ 24.06, 19: 08-16 08:30:00 - 08-16 09:00:00 @ 24.39, 20: 08-16 09:00:00 - 08-16 09:30:00 @ 24.66, 21: 08-16 09:30:00 - 08-16 10:00:00 @ 24.06, 22: 08-16 10:00:00 - 08-16 10:30:00 @ 25.5, 23: 08-16 10:30:00 - 08-16 11:00:00 @ 24.94, 24: 08-16 11:00:00 - 08-16 11:30:00 @ 24.25, 25: 08-16 11:30:00 - 08-16 12:00:00 @ 23.49, 26: 08-16 12:00:00 - 08-16 12:30:00 @ 23.43, 27: 08-16 12:30:00 - 08-16 13:00:00 @ 22.33, 28: 08-16 13:00:00 - 08-16 13:30:00 @ 22.76, 29: 08-16 13:30:00 - 08-16 14:00:00 @ 22.3, 30: 08-16 14:00:00 - 08-16 14:30:00 @ 21.41, 31: 08-16 14:30:00 - 08-16 15:00:00 @ 21.65, 32: 08-16 15:00:00 - 08-16 15:30:00 @ 22.95, 33: 08-16 15:30:00 - 08-16 16:00:00 @ 22.83, 34: 08-16 16:00:00 - 08-16 16:30:00 @ 36.84, 35: 08-16 16:30:00 - 08-16 17:00:00 @ 37.54, 36: 08-16 17:00:00 - 08-16 17:30:00 @ 41.79, 37: 08-16 17:30:00 - 08-16 18:00:00 @ 43.7, 38: 08-16 18:00:00 - 08-16 18:30:00 @ 44.34, 39: 08-16 19:00:00 - 08-16 19:30:00 @ 34.79, 40: 08-16 19:30:00 - 08-16 20:00:00 @ 34.76, 41: 08-16 20:00:00 - 08-16 20:30:00 @ 35.62, 42: 08-16 20:30:00 - 08-16 21:00:00 @ 35.3, 43: 08-16 21:00:00 - 08-16 21:30:00 @ 35.89, 44: 08-16 21:30:00 - 08-16 22:00:00 @ 35.71, 45: 08-16 22:00:00 - 08-16 22:30:00 @ 33.75, 46: 08-16 22:30:00 - 08-16 23:00:00 @ 32.0, 47: 08-16 23:00:00 - 08-16 23:30:00 @ 30.02, 48: 08-16 23:30:00 - 08-17 00:00:00 @ 27.8, 49: 08-17 00:00:00 - 08-17 00:30:00 @ 28.18, 50: 08-17 00:30:00 - 08-17 01:00:00 @ 27.38, 51: 08-17 01:00:00 - 08-17 01:30:00 @ 26.7, 52: 08-17 01:30:00 - 08-17 02:00:00 @ 26.31, 53: 08-17 02:00:00 - 08-17 02:30:00 @ 25.79, 54: 08-17 02:30:00 - 08-17 03:00:00 @ 25.86, 55: 08-17 03:00:00 - 08-17 03:30:00 @ 26.13, 56: 08-17 03:30:00 - 08-17 04:00:00 @ 25.86, 57: 08-17 04:00:00 - 08-17 04:30:00 @ 26.27, 58: 08-17 04:30:00 - 08-17 05:00:00 @ 26.14, 59: 08-17 05:00:00 - 08-17 05:30:00 @ 27.03, 60: 08-17 05:30:00 - 08-17 06:00:00 @ 26.28, 61: 08-17 06:00:00 - 08-17 06:30:00 @ 25.68, 62: 08-17 06:30:00 - 08-17 07:00:00 @ 26.1, 63: 08-17 07:00:00 - 08-17 07:30:00 @ 24.28, 64: 08-17 07:30:00 - 08-17 08:00:00 @ 24.94, 65: 08-17 08:00:00 - 08-17 08:30:00 @ 24.06, 66: 08-17 08:30:00 - 08-17 09:00:00 @ 24.39, 67: 08-17 09:00:00 - 08-17 09:30:00 @ 24.66, 68: 08-17 09:30:00 - 08-17 10:00:00 @ 24.06, 69: 08-17 10:00:00 - 08-17 10:30:00 @ 25.5, 70: 08-17 10:30:00 - 08-17 11:00:00 @ 24.94, 71: 08-17 11:00:00 - 08-17 11:30:00 @ 24.25, 72: 08-17 11:30:00 - 08-17 12:00:00 @ 23.49, 73: 08-17 12:00:00 - 08-17 12:30:00 @ 23.43, 74: 08-17 12:30:00 - 08-17 13:00:00 @ 22.33, 75: 08-17 13:00:00 - 08-17 13:30:00 @ 22.76, 76: 08-17 13:30:00 - 08-17 14:00:00 @ 22.3, 77: 08-17 14:00:00 - 08-17 14:30:00 @ 21.41, 78: 08-17 14:30:00 - 08-17 15:00:00 @ 21.65, 79: 08-17 15:00:00 - 08-17 15:30:00 @ 22.95, 80: 08-17 15:30:00 - 08-17 16:00:00 @ 22.83, 81: 08-17 16:00:00 - 08-17 16:30:00 @ 36.84, 82: 08-17 16:30:00 - 08-17 17:00:00 @ 37.54, 83: 08-17 17:00:00 - 08-17 17:30:00 @ 41.79, 84: 08-17 17:30:00 - 08-17 18:00:00 @ 43.7, 85: 08-17 18:00:00 - 08-17 18:30:00 @ 44.34, 86: 08-17 19:00:00 - 08-17 19:30:00 @ 34.79, 87: 08-17 19:30:00 - 08-17 20:00:00 @ 34.76, 88: 08-17 20:00:00 - 08-17 20:30:00 @ 35.62, 89: 08-17 20:30:00 - 08-17 21:00:00 @ 35.3, 90: 08-17 21:00:00 - 08-17 21:30:00 @ 35.89, 91: 08-17 21:30:00 - 08-17 22:00:00 @ 35.71, 92: 08-17 22:00:00 - 08-17 22:30:00 @ 33.75, 93: 08-17 22:30:00 - 08-17 23:00:00 @ 32.0, 94: 08-17 23:00:00 - 08-17 23:30:00 @ 30.02]
2026-08-15 23:25:06.998299: Inverter 0 Charge window will be: 2026-08-16 11:30:00+01:00 - 2026-08-16 16:00:00+01:00 - current SoC 80%, target 31%
2026-08-15 23:25:06.998504: Inverter 0 disabled charge window while waiting for schedule (now 08-15 23:25:00 target set_window_minutes 30 charge start time 08-16 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 23:25:06.998611: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 23:25:06.998878: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 23:25:06.999002: No export window planned
2026-08-15 23:25:06.999155: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 23:25:07.006226: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 23:25:07.006587: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 23:25:07.006847: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 23:25:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 23:25:07.007071: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 23:25:07.007244: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 23:25:07.007432: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 23:25:07.007544: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 23:25:07.007653: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 23:25:07.007760: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 23:25:07.007865: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 23:25:07.007947: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 23:25:07.008093: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 23:25:07.008257: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 23:25:07.008359: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 23:25:07.008463: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 23:25:07.008569: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 23:25:07.008673: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 23:25:07.008774: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 23:25:07.008878: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 23:25:07.009002: Inverter 0 count register writes 0
2026-08-15 23:25:07.067202: Will recompute the plan as it is now 10.0 minutes old and will exceed the max age of 10 minutes before the next run
2026-08-15 23:25:07.067470: Recompute is saving previous plan...
2026-08-15 23:25:07.073239: Best charge window [ 15-08 23:00:00 - 15-08 23:30:00 @ 30.02p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 27.8p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.18p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.38p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 26.7p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.31p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.79p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 25.86p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.13p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 25.86p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.27p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.14p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 27.03p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.28p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.68p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 26.1p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 24.28p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 24.94p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.06p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.39p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.66p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.06p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 25.5p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 24.94p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 24.25p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 23.49p 0%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.43p 0%, 16-08 12:30:00 - 16-08 13:00:00 @ 22.33p 0%, 16-08 13:00:00 - 16-08 13:30:00 @ 22.76p 0%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 0%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 0%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.65p 0%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.95p 0%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.83p 0%, 16-08 16:00:00 - 16-08 16:30:00 @ 36.84p 0%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.54p 0%, 16-08 17:00:00 - 16-08 17:30:00 @ 41.79p 0%, 16-08 17:30:00 - 16-08 18:00:00 @ 43.7p 0%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.34p 0%, 16-08 19:00:00 - 16-08 19:30:00 @ 34.79p 0%, 16-08 19:30:00 - 16-08 20:00:00 @ 34.76p 0%, 16-08 20:00:00 - 16-08 20:30:00 @ 35.62p 0%, 16-08 20:30:00 - 16-08 21:00:00 @ 35.3p 0%, 16-08 21:00:00 - 16-08 21:30:00 @ 35.89p 0%, 16-08 21:30:00 - 16-08 22:00:00 @ 35.71p 0%, 16-08 22:00:00 - 16-08 22:30:00 @ 33.75p 0%, 16-08 22:30:00 - 16-08 23:00:00 @ 32.0p 0%, 16-08 23:00:00 - 16-08 23:30:00 @ 30.02p 0%, 16-08 23:30:00 - 17-08 00:00:00 @ 27.8p 0%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.18p 0%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.38p 0%, 17-08 01:00:00 - 17-08 01:30:00 @ 26.7p 0%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.31p 0%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.79p 0%, 17-08 02:30:00 - 17-08 03:00:00 @ 25.86p 0%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.13p 0%, 17-08 03:30:00 - 17-08 04:00:00 @ 25.86p 0%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.27p 0%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.14p 0%, 17-08 05:00:00 - 17-08 05:30:00 @ 27.03p 0%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.28p 0%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.68p 0%, 17-08 06:30:00 - 17-08 07:00:00 @ 26.1p 0%, 17-08 07:00:00 - 17-08 07:30:00 @ 24.28p 0%, 17-08 07:30:00 - 17-08 08:00:00 @ 24.94p 0%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.06p 0%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.39p 0%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.66p 0%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.06p 0%, 17-08 10:00:00 - 17-08 10:30:00 @ 25.5p 0%, 17-08 10:30:00 - 17-08 11:00:00 @ 24.94p 0%, 17-08 11:00:00 - 17-08 11:30:00 @ 24.25p 0%, 17-08 11:30:00 - 17-08 12:00:00 @ 23.49p 0%, 17-08 12:00:00 - 17-08 12:30:00 @ 23.43p 0%, 17-08 12:30:00 - 17-08 13:00:00 @ 22.33p 0%, 17-08 13:00:00 - 17-08 13:30:00 @ 22.76p 0%, 17-08 13:30:00 - 17-08 14:00:00 @ 22.3p 0%, 17-08 14:00:00 - 17-08 14:30:00 @ 21.41p 0%, 17-08 14:30:00 - 17-08 15:00:00 @ 21.65p 0%, 17-08 15:00:00 - 17-08 15:30:00 @ 22.95p 0%, 17-08 15:30:00 - 17-08 16:00:00 @ 22.83p 0%, 17-08 16:00:00 - 17-08 16:30:00 @ 36.84p 0%, 17-08 16:30:00 - 17-08 17:00:00 @ 37.54p 0%, 17-08 17:00:00 - 17-08 17:30:00 @ 41.79p 0%, 17-08 17:30:00 - 17-08 18:00:00 @ 43.7p 0%, 17-08 18:00:00 - 17-08 18:30:00 @ 44.34p 0%, 17-08 19:00:00 - 17-08 19:30:00 @ 34.79p 0%, 17-08 19:30:00 - 17-08 20:00:00 @ 34.76p 0%, 17-08 20:00:00 - 17-08 20:30:00 @ 35.62p 0%, 17-08 20:30:00 - 17-08 21:00:00 @ 35.3p 0%, 17-08 21:00:00 - 17-08 21:30:00 @ 35.89p 0%, 17-08 21:30:00 - 17-08 22:00:00 @ 35.71p 0%, 17-08 22:00:00 - 17-08 22:30:00 @ 33.75p 0%, 17-08 22:30:00 - 17-08 23:00:00 @ 32.0p 0%, 17-08 23:00:00 - 17-08 23:30:00 @ 30.02p 0% ]
2026-08-15 23:25:07.073378: Best export window [  ]
2026-08-15 23:25:07.074669: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 23:25:07.079549: Load divergence over 8.0 hours mean 757.79W, min 293.4W, max 1875.0W, std dev 442.24W, divergence 29.18%
2026-08-15 23:25:07.133931: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 23:25:07.134082: LoadML is_calculating True
2026-08-15 23:25:07.134116: Not using thread pool as LoadML is calculating to avoid lockups
2026-08-15 23:25:07.256345: Calculate Best options: mode(Control charge & discharge), calculate_export_oncharge(False), calculate_export_on_pv(True), set_export_freeze_only(False), set_discharge_during_charge(True), combine_charge_slots(False), combine_export_slots(False), combine_rate_threshold(0.0), best_soc_min(0.0 kWh), best_soc_max(0.0 kWh), best_soc_keep(0.0 kWh), inverter_loss(4%), battery_loss(3%), battery_loss_discharge (3%), inverter_hybrid(True), metric_min_improvement(0.0p), metric_min_improvement_export(0.1p), metric_min_improvement_export_freeze(0.1p), metric_battery_cycle(0.0p/kWh), metric_battery_value_scaling(1.0 x) 
2026-08-15 23:25:07.257992: Optimise levels pass started at 2026-08-15 23:25:07
2026-08-15 23:25:07.258059: Optimise all windows, total charge 94 export 1
2026-08-15 23:25:12.590609: >> Region optimisation pass width 960 gives best_metric 1072.11p, best_cost 1091.66p, best_cycle 43.64kWh, best_import 23.17kWh
2026-08-15 23:25:13.696385: >> Region optimisation pass width 480 gives best_metric 1072.11p, best_cost 1091.66p, best_cycle 43.64kWh, best_import 23.17kWh
2026-08-15 23:25:15.016241: >> Region optimisation pass width 240 gives best_metric 1072.11p, best_cost 1091.66p, best_cycle 43.64kWh, best_import 23.17kWh
2026-08-15 23:25:18.686820: >> Region optimisation pass width 120 gives best_metric 1072.11p, best_cost 1091.66p, best_cycle 43.64kWh, best_import 23.17kWh
2026-08-15 23:25:18.687170: Calculated end_record as 08-17 12:30:00 based on best_price 22.33p, next_charge_start 08-16 12:30:00, max_windows 74
2026-08-15 23:25:18.687334: Optimise levels pass ended at 2026-08-15 23:25:18, duration 11.4 seconds tried 331 combinations
2026-08-15 23:25:18.687399: Set best_price_charge_level 24.0p, best_price_export_level 0p, best_price_charge 22.33p, best_cost_export 0p, best_metric 1072.11p, best_keep 0kWh, best_cycle 43.64kWh, best_carbon 0kg, best_import 23.17kWh
2026-08-15 23:25:18.709981: Starting detailed optimisation end_record 08-17 12:30:00, best_price_charge 22.33p, best_price_export 0p. lowest_price_charge 21.41p with charge limits [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 0, 16.0, 16.0, 16.0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0]kWh and export limits []kWh
2026-08-15 23:25:50.621523: Tweak plan optimisation started metric 887.06p, cost 903.16p
2026-08-15 23:25:53.016844: Tweak optimisation finished metric 887.05p, cost 903.16p, metric_keep 0kWh, cycle 27.9kWh, carbon 0kg, import 14.56kWh, changed 8 window(s)
2026-08-15 23:25:53.049384: Swap charge optimisation started metric 887.05p, cost 903.16p, min_improvement_swap 0.1p
2026-08-15 23:26:01.437306: ML Predictor: Epoch 13/30: lr=0.00067 huber_loss=0.0078 val_mae=0.0045 kWh val_bias=-0.0008 kWh (-1.0%) combined=0.0025 kWh ema_combined=0.0034 kWh
2026-08-15 23:26:06.043663: Swap charge optimisation finished metric 887.05p, cost 903.16p
2026-08-15 23:26:06.217940: Pruned 1 dead plan slot(s) in 10 trial(s), nominal metric 882.56p -> 882.56p, plan now metric 887.06p, cost 903.16p, cycle 27.9kWh, import 14.56kWh
2026-08-15 23:26:06.236596: Raw charge windows [ 15-08 23:00:00 - 15-08 23:30:00 @ 30.02p 0%, 15-08 23:30:00 - 16-08 00:00:00 @ 27.8p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.18p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.38p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 26.7p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.31p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.79p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 25.86p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.13p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 25.86p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.27p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.14p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 27.03p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.28p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.68p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 26.1p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 24.28p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 24.94p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.06p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.39p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.66p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.06p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 25.5p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 24.94p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 24.25p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 23.49p 28%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.43p 28%, 16-08 12:30:00 - 16-08 13:00:00 @ 22.33p 38%, 16-08 13:00:00 - 16-08 13:30:00 @ 22.76p 38%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 100%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 100%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.65p 100%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.95p 81%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.83p 81%, 16-08 16:00:00 - 16-08 16:30:00 @ 36.84p 0%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.54p 0%, 16-08 17:00:00 - 16-08 17:30:00 @ 41.79p 0%, 16-08 17:30:00 - 16-08 18:00:00 @ 43.7p 0%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.34p 0%, 16-08 19:00:00 - 16-08 19:30:00 @ 34.79p 0%, 16-08 19:30:00 - 16-08 20:00:00 @ 34.76p 0%, 16-08 20:00:00 - 16-08 20:30:00 @ 35.62p 0%, 16-08 20:30:00 - 16-08 21:00:00 @ 35.3p 0%, 16-08 21:00:00 - 16-08 21:30:00 @ 35.89p 0%, 16-08 21:30:00 - 16-08 22:00:00 @ 35.71p 0%, 16-08 22:00:00 - 16-08 22:30:00 @ 33.75p 0%, 16-08 22:30:00 - 16-08 23:00:00 @ 32.0p 0%, 16-08 23:00:00 - 16-08 23:30:00 @ 30.02p 0%, 16-08 23:30:00 - 17-08 00:00:00 @ 27.8p 0%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.18p 0%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.38p 0%, 17-08 01:00:00 - 17-08 01:30:00 @ 26.7p 0%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.31p 0%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.79p 0%, 17-08 02:30:00 - 17-08 03:00:00 @ 25.86p 0%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.13p 0%, 17-08 03:30:00 - 17-08 04:00:00 @ 25.86p 0%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.27p 0%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.14p 0%, 17-08 05:00:00 - 17-08 05:30:00 @ 27.03p 0%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.28p 0%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.68p 0%, 17-08 06:30:00 - 17-08 07:00:00 @ 26.1p 0%, 17-08 07:00:00 - 17-08 07:30:00 @ 24.28p 0%, 17-08 07:30:00 - 17-08 08:00:00 @ 24.94p 0%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.06p 0%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.39p 0%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.66p 0%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.06p 0%, 17-08 10:00:00 - 17-08 10:30:00 @ 25.5p 0%, 17-08 10:30:00 - 17-08 11:00:00 @ 24.94p 0%, 17-08 11:00:00 - 17-08 11:30:00 @ 24.25p 0%, 17-08 11:30:00 - 17-08 12:00:00 @ 23.49p 0%, 17-08 12:00:00 - 17-08 12:30:00 @ 23.43p 0%, 17-08 12:30:00 - 17-08 13:00:00 @ 22.33p 100%, 17-08 13:00:00 - 17-08 13:30:00 @ 22.76p 100%, 17-08 13:30:00 - 17-08 14:00:00 @ 22.3p 100%, 17-08 14:00:00 - 17-08 14:30:00 @ 21.41p 100%, 17-08 14:30:00 - 17-08 15:00:00 @ 21.65p 100%, 17-08 15:00:00 - 17-08 15:30:00 @ 22.95p 100%, 17-08 15:30:00 - 17-08 16:00:00 @ 22.83p 100%, 17-08 16:00:00 - 17-08 16:30:00 @ 36.84p 100%, 17-08 16:30:00 - 17-08 17:00:00 @ 37.54p 100%, 17-08 17:00:00 - 17-08 17:30:00 @ 41.79p 100%, 17-08 17:30:00 - 17-08 18:00:00 @ 43.7p 100%, 17-08 18:00:00 - 17-08 18:30:00 @ 44.34p 100%, 17-08 19:00:00 - 17-08 19:30:00 @ 34.79p 100%, 17-08 19:30:00 - 17-08 20:00:00 @ 34.76p 100%, 17-08 20:00:00 - 17-08 20:30:00 @ 35.62p 100%, 17-08 20:30:00 - 17-08 21:00:00 @ 35.3p 100%, 17-08 21:00:00 - 17-08 21:30:00 @ 35.89p 100%, 17-08 21:30:00 - 17-08 22:00:00 @ 35.71p 100%, 17-08 22:00:00 - 17-08 22:30:00 @ 33.75p 100%, 17-08 22:30:00 - 17-08 23:00:00 @ 32.0p 100%, 17-08 23:00:00 - 17-08 23:30:00 @ 30.02p 100% ] reserve 1.12
2026-08-15 23:26:06.238073: Unclipped charge windows [ 16-08 11:30:00 - 16-08 12:30:00 @ 23.46p 28%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 38%, 16-08 13:30:00 - 16-08 15:00:00 @ 21.75p 100%, 16-08 15:00:00 - 16-08 16:00:00 @ 22.89p 81%, 17-08 12:30:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 17-08 23:30:00 @ 31.69p 100% ] reserve 1.12
2026-08-15 23:26:06.238652: Unfiltered charge windows [ 16-08 11:30:00 - 16-08 12:30:00 @ 23.46p 28%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 38%, 16-08 13:30:00 - 16-08 15:00:00 @ 21.75p 100%, 16-08 15:00:00 - 16-08 16:00:00 @ 22.89p 81%, 17-08 12:30:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 17-08 23:30:00 @ 31.69p 100% ] reserve 1.12
2026-08-15 23:26:06.239168: Filtered charge windows [ 16-08 11:30:00 - 16-08 12:30:00 @ 23.46p 28%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 38%, 16-08 13:30:00 - 16-08 15:00:00 @ 21.75p 100%, 16-08 15:00:00 - 16-08 16:00:00 @ 22.89p 81%, 17-08 12:30:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 17-08 23:30:00 @ 31.69p 100% ] reserve 1.12
2026-08-15 23:26:06.301186: Previous plan best metric is 885.75 (cost 901.98) and new plan best metric is 887.05 (cost 903.16)
2026-08-15 23:26:06.301663: New plan metric is not significantly better (metric_min_improvement_plan 2.0) than previous plan, using previous plan
2026-08-15 23:26:06.302012: Plan valid is now true after recompute was False
2026-08-15 23:26:06.364010: predict base end_record 08-17 12:30:00, final soc 1.12kWh, metric 1073.66p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 16:05:00, load 36.35kWh, PV 0.0kWh
2026-08-15 23:26:06.560620: Battery has 16.67 hours left - now at 12.8kWh
2026-08-15 23:26:06.664825: predict base10 end_record 08-17 12:30:00, final soc 1.12kWh, metric 1105.45p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 15:15:00, load 37.5kWh, PV 0.0kWh
2026-08-15 23:26:06.855313: predict best10 end_record 08-17 12:30:00, final soc 1.12kWh, metric 1032.86p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 07:05:00, load 37.5kWh, PV 0.0kWh
2026-08-15 23:26:07.045386: predict best end_record 08-17 12:30:00, final soc 1.12kWh, metric 1003.0p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 08:15:00, load 36.35kWh, PV 0.0kWh
2026-08-15 23:26:07.053042: Saving plan best values to HA entities
2026-08-15 23:26:07.461315: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 23:26:07.470940: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0.0
2026-08-15 23:26:07.486929: Best charging limit SoC's [5.0, 6.0, 8.0, 16.0, 12.5, 16.0, 16.0]kWh, export []kWh gives import battery 11.63kWh, house 2.85kWh, export 0.0kWh, metric 1003.0p, metric10 1032.86p
2026-08-15 23:26:07.750956: Marginal costs baseline metric (no standing charge): 903.0303
2026-08-15 23:26:08.132854: Marginal energy costs matrix computed: min=23.64 max=27.45
2026-08-15 23:26:08.328685: Rate array import [{'start': 1405, 'end': 1410, 'rate': 'expensive', 'range': '(30.0p)'}, {'start': 1410, 'end': 2400, 'rate': 'cheap', 'range': '(21.4p - 28.2p)'}, {'start': 2400, 'end': 2430, 'rate': 'expensive', 'range': '(36.8p)'}, {'start': 2430, 'end': 2580, 'rate': 'very expensive', 'range': '(37.5p - 45.3p)'}, {'start': 2580, 'end': 2850, 'rate': 'expensive', 'range': '(30.0p - 35.9p)'}, {'start': 2850, 'end': 3630, 'rate': 'cheap', 'range': '(23.4p - 28.2p)'}] export [{'start': 1405, 'end': 3630, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 23:26:08.345645: - Your estimated bill for today is £5.77 and tomorrow is £3.07
2026-08-15 23:26:08.345754: - Import rates are expensive (30.0p) for the next 5 minutes and then cheap (21.4p - 28.2p) for the next 16 hours.
2026-08-15 23:26:08.345793: - The battery is currently at 80% and is in eco mode for the next 12 hours.
2026-08-15 23:26:08.345875: - For the next 48 hours there will be no solar generation.
2026-08-15 23:26:08.346018: - You will run out of battery in 32 hours.
2026-08-15 23:26:08.346065: - Your next charge slot will be in 12 hours where import rates will be cheap (23.5p).
2026-08-15 23:26:08.346091: 
2026-08-15 23:26:08.449709: Plan calculation took 61.38 seconds
2026-08-15 23:26:08.450073: Inverter 0: Type SK Sunsynk
2026-08-15 23:26:08.450142: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 23:26:08.450405: Reserve min: 7%, battery_min: 7%
2026-08-15 23:26:08.450521: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 23:26:08.450865: Inverter 0 SoC: 12.8kW 80%, current charge rate 5000W, current discharge rate 5250W, current battery power 1625W, current battery voltage 51.2V, grid power -57W, load power 1688W, PV Power 0W
2026-08-15 23:26:08.451133: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 23:26:08.451287: Inverter 0 scheduled charge enable is False
2026-08-15 23:26:08.451349: Inverter 0 charge windows currently []
2026-08-15 23:26:08.451400: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 23:26:08.451580: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 23:26:08.451757: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 23:26:08.451837: Inverter 0 scheduled discharge enable is False
2026-08-15 23:26:08.452069: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 23:26:08.452126: Inverter 0 discharge windows currently []
2026-08-15 23:26:08.452172: Note: Inverter does not support discharge freeze - disabled
2026-08-15 23:26:08.452339: Note: Inverter does not support charge freeze - disabled
2026-08-15 23:26:08.452491: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 23:26:08.573598: Inverter 0 Charge window will be: 2026-08-16 11:30:00+01:00 - 2026-08-16 16:00:00+01:00 - current SoC 80%, target 31%
2026-08-15 23:26:08.573804: Inverter 0 disabled charge window while waiting for schedule (now 08-15 23:25:00 target set_window_minutes 30 charge start time 08-16 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 23:26:08.573909: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 23:26:08.574171: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 23:26:08.574266: No export window planned
2026-08-15 23:26:08.574531: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 23:26:08.574591: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 23:26:08.574850: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 23:26:08.575125: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 23:25:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 23:26:08.575196: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 23:26:08.575331: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 23:26:08.575514: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 23:26:08.575578: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 23:26:08.575715: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 23:26:08.575854: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 23:26:08.575927: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 23:26:08.576059: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 23:26:08.576152: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 23:26:08.576300: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 23:26:08.576359: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 23:26:08.576488: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 23:26:08.576544: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 23:26:08.576667: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 23:26:08.576725: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 23:26:08.576816: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 23:26:08.576915: Inverter 0 count register writes 0
2026-08-15 23:26:08.619812: Total inverter register writes now 826
2026-08-15 23:26:08.677790: Info: Completed run status Demand
2026-08-15 23:26:08.689182: Info: record_status Demand
2026-08-15 23:26:08.714352: Saved current settings to /config/predbat_config.json
2026-08-15 23:26:08.714687: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 23:26:38.800737: ML Predictor: Epoch 14/30: lr=0.00062 huber_loss=0.0078 val_mae=0.0047 kWh val_bias=-0.0024 kWh (-3.0%) combined=0.0039 kWh ema_combined=0.0036 kWh
2026-08-15 23:26:41.889572: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 23:26:41.890082: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 23:26:41.890275: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 23:26:41.890599: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 23:26:41.890736: Note: Inverter does not support discharge freeze - disabled
2026-08-15 23:26:41.890908: Note: Inverter does not support charge freeze - disabled
2026-08-15 23:26:41.891058: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 23:27:13.779491: ML Predictor: Epoch 15/30: lr=0.00057 huber_loss=0.0074 val_mae=0.0040 kWh val_bias=+0.0001 kWh (+0.2%) combined=0.0022 kWh ema_combined=0.0032 kWh
2026-08-15 23:27:47.983517: ML Predictor: Epoch 16/30: lr=0.00053 huber_loss=0.0074 val_mae=0.0039 kWh val_bias=-0.0006 kWh (-0.8%) combined=0.0021 kWh ema_combined=0.0029 kWh
2026-08-15 23:28:21.818380: ML Predictor: Epoch 17/30: lr=0.00048 huber_loss=0.0066 val_mae=0.0034 kWh val_bias=-0.0004 kWh (-0.6%) combined=0.0019 kWh ema_combined=0.0026 kWh
2026-08-15 23:28:42.472931: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 23:28:42.473254: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 23:28:42.473309: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 23:28:42.473537: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 23:28:42.473590: Note: Inverter does not support discharge freeze - disabled
2026-08-15 23:28:42.474079: Note: Inverter does not support charge freeze - disabled
2026-08-15 23:28:42.474134: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 23:28:54.581894: ML Predictor: Epoch 18/30: lr=0.00043 huber_loss=0.0069 val_mae=0.0033 kWh val_bias=+0.0001 kWh (+0.2%) combined=0.0019 kWh ema_combined=0.0024 kWh
2026-08-15 23:29:28.766265: ML Predictor: Epoch 19/30: lr=0.00038 huber_loss=0.0063 val_mae=0.0033 kWh val_bias=-0.0001 kWh (-0.1%) combined=0.0019 kWh ema_combined=0.0022 kWh
2026-08-15 23:30:00.820819: --------------- PredBat - update at 2026-08-15 23:30:00+01:00 with clock skew 0 minutes, minutes now 1410
2026-08-15 23:30:00.821832: Saved current settings to /config/predbat_config.json
2026-08-15 23:30:00.822054: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 55.0 minutes
2026-08-15 23:30:00.822248: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.2, latest beta is v8.48.2
2026-08-15 23:30:00.822376: Autoupdate: There is an update pending v8.48.2 PV90 and second pass enabled by default, bug fixes - auto update is off
2026-08-15 23:30:00.862140: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 23:30:00.862346: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 23:30:00.862762: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 23:30:00.863840: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 23:30:00.869373: Predbat mode is set to Control charge & discharge
2026-08-15 23:30:01.465648: Found 21602 load_today datapoints going back 28 days
2026-08-15 23:30:01.466038: Using load_power data to fill gaps in load_today data
2026-08-15 23:30:03.223817: Processing 721 30-minute periods for power integration
2026-08-15 23:30:03.472210: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 23:30:03.472438: Car charging hold False, threshold 6.0kWh
2026-08-15 23:30:03.472673: Current data so far today: load 12.1kWh, import 27.9kWh, export 0.0kWh, PV 0kWh
2026-08-15 23:30:03.502913: Cars: SoC: [8.204]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 23:30:03.503568: Standing charge is set to 49.98p
2026-08-15 23:30:03.619509: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 23:30:03.619641: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 23:30:03.619912: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 45.0 minutes
2026-08-15 23:30:03.620505: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 45.0 minutes
2026-08-15 23:30:03.651454: Loaded 95 datapoints of futurerate analysis
2026-08-15 23:30:04.063260: Predicted future rates: ['08-15 00:00:00 => 28.69 / 20.01', '08-15 01:00:00 => 27.33 / 19.31', '08-15 02:00:00 => 26.31 / 18.8', '08-15 03:00:00 => 25.78 / 18.53', '08-15 04:00:00 => 25.59 / 18.43', '08-15 05:00:00 => 25.75 / 18.51', '08-15 06:00:00 => 25.34 / 18.3', '08-15 07:00:00 => 24.12 / 17.68', '08-15 08:00:00 => 22.82 / 17.01', '08-15 09:00:00 => 21.84 / 16.51', '08-15 10:00:00 => 20.22 / 15.68', '08-15 11:00:00 => 17.8 / 14.45', '08-15 12:00:00 => 16.16 / 13.61', '08-15 13:00:00 => 15.55 / 13.3', '08-15 14:00:00 => 15.14 / 13.09', '08-15 15:00:00 => 15.65 / 13.35', '08-15 16:00:00 => 32.68 / 16.13', '08-15 17:00:00 => 37.81 / 18.75', '08-15 18:00:00 => 42.15 / 20.96', '08-15 19:00:00 => 30.88 / 21.13', '08-15 20:00:00 => 31.43 / 21.41', '08-15 21:00:00 => 31.43 / 21.41', '08-15 22:00:00 => 30.37 / 20.87', '08-15 23:00:00 => 29.16 / 20.25', '08-16 00:00:00 => 28.62 / 19.97', '08-16 01:00:00 => 27.52 / 19.41', '08-16 02:00:00 => 26.55 / 18.92', '08-16 03:00:00 => 26.18 / 18.73', '08-16 04:00:00 => 26.12 / 18.7', '08-16 05:00:00 => 26.02 / 18.65', '08-16 06:00:00 => 25.78 / 18.53', '08-16 07:00:00 => 25.43 / 18.35', '08-16 08:00:00 => 24.63 / 17.94', '08-16 09:00:00 => 24.05 / 17.64', '08-16 10:00:00 => 24.59 / 17.92', '08-16 11:00:00 => 24.5 / 17.87', '08-16 12:00:00 => 23.58 / 17.4', '08-16 13:00:00 => 22.93 / 17.07', '08-16 14:00:00 => 21.8 / 16.49', '08-16 15:00:00 => 21.8 / 16.49', '08-16 16:00:00 => 36.93 / 18.3', '08-16 17:00:00 => 39.92 / 19.83', '08-16 18:00:00 => 43.98 / 21.9', '08-16 19:00:00 => 32.83 / 22.13', '08-16 20:00:00 => 33.62 / 22.53', '08-16 21:00:00 => 33.52 / 22.48', '08-16 22:00:00 => 32.15 / 21.78']
2026-08-15 23:30:04.119150: Rate min forward looking: now 21.41p at end of forecast 21.41p
2026-08-15 23:30:04.119560: Import rates: min 21.41p, max 45.28p, average 28.73p
2026-08-15 23:30:04.167578: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 23:30:04.167716: Rate thresholds (for charge/export) are import 44.78p (0.0p), export -0.1p (0.0p)
2026-08-15 23:30:04.169174: High export rate found rates in range 99p to -99p
2026-08-15 23:30:04.406247: Low Import rate found rates in range 21.41p to 44.34p
2026-08-15 23:30:04.418728: Car 0 charging is not planned as it is not plugged in
2026-08-15 23:30:04.483277: Battery level now 12.8kWh, -1hr ago 13.92kWh, at midnight 1.66kWh, battery value change in the last hour -20.6p, change today 204.97p, rate_forward 18.39p
2026-08-15 23:30:04.483719: Last hour: net energy 0.01kWh, import 0.01kWh, export 0.0kWh, car 0kWh, load 1.35kWh, net cost 0.41p, import 0.41p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 23:30:04.641207: Today's energy total net 27.9kWh, import 27.9kWh, export 0.0kWh, cost 576.57p, import 526.58p, export 0.0p, carbon 0.0kg
2026-08-15 23:30:04.641587: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 23:30:04.803010: Using weighted-bucket historical load forecast over 14 days
2026-08-15 23:30:04.839844: Today's load divergence 81.13%, in-day adjustment 83.36%, damping 0.95x, yesterday 143.77% today 82.08% blend 2.08%
2026-08-15 23:30:04.840117: Today's predicted so far 14.48kWh with 0.0kWh car/iBoost excluded, 20.77kWh import ignored, and 14.48kWh forecast extra.
2026-08-15 23:30:04.840258: Today's actual load so far 12.09kWh with 0.0kWh car/iBoost excluded, and 20.77kWh import ignored.
2026-08-15 23:30:04.910155: Inverter 0: Type SK Sunsynk
2026-08-15 23:30:04.910399: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 23:30:04.910717: Reserve min: 7%, battery_min: 7%
2026-08-15 23:30:04.910943: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 23:30:04.911371: Inverter 0 SoC: 12.68kW 79%, current charge rate 5000W, current discharge rate 5250W, current battery power 481W, current battery voltage 51.2V, grid power -52W, load power 532W, PV Power 0W
2026-08-15 23:30:04.911688: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 23:30:04.911953: Inverter 0 scheduled charge enable is False
2026-08-15 23:30:04.912087: Inverter 0 charge windows currently []
2026-08-15 23:30:04.912268: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 23:30:04.912515: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 23:30:04.912649: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 23:30:04.912797: Inverter 0 scheduled discharge enable is False
2026-08-15 23:30:04.913107: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 23:30:04.913246: Inverter 0 discharge windows currently []
2026-08-15 23:30:04.913379: Note: Inverter does not support discharge freeze - disabled
2026-08-15 23:30:04.913490: Note: Inverter does not support charge freeze - disabled
2026-08-15 23:30:04.913610: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 23:30:05.034829: Dynamic load last period 1.20kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 23:30:05.035167: Plan was last updated on 2026-08-15 23:25:00+01:00 and is now 5.0 minutes old
2026-08-15 23:30:05.035632: Best charge window [ 16-08 11:30:00 - 16-08 12:30:00 @ 23.46p 31%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 38%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 50%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 100%, 16-08 14:30:00 - 16-08 16:00:00 @ 22.56p 78%, 17-08 12:30:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 17-08 22:30:00 @ 34.7p 100% ]
2026-08-15 23:30:05.035774: Best export window [  ]
2026-08-15 23:30:05.036756: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 23:30:05.040264: Load divergence over 8.0 hours mean 745.54W, min 292.8W, max 1953.0W, std dev 449.08W, divergence 30.12%
2026-08-15 23:30:05.068106: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 23:30:05.068400: LoadML is_calculating True
2026-08-15 23:30:05.068632: Not using thread pool as LoadML is calculating to avoid lockups
2026-08-15 23:30:05.110580: predict base end_record 08-17 12:35:00, final soc 1.12kWh, metric 1075.31p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 16:05:00, load 36.3kWh, PV 0.0kWh
2026-08-15 23:30:05.360679: Battery has 16.58 hours left - now at 12.68kWh
2026-08-15 23:30:05.491383: predict base10 end_record 08-17 12:35:00, final soc 1.12kWh, metric 1106.98p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 15:15:00, load 37.46kWh, PV 0.0kWh
2026-08-15 23:30:05.676087: predict best10 end_record 08-17 12:35:00, final soc 1.44kWh, metric 1042.08p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 07:05:00, load 37.46kWh, PV 0.0kWh
2026-08-15 23:30:05.895402: predict best end_record 08-17 12:35:00, final soc 1.51kWh, metric 1013.8p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 08:20:00, load 36.3kWh, PV 0.0kWh
2026-08-15 23:30:05.895522: Saving plan best values to HA entities
2026-08-15 23:30:06.363615: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 23:30:06.393204: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0.0
2026-08-15 23:30:06.419101: Best charging limit SoC's [5.0, 6.0, 8.0, 16.0, 12.5, 16.0, 16.0]kWh, export []kWh gives import battery 12.13kWh, house 2.84kWh, export 0.0kWh, metric 1013.8p, metric10 1042.08p
2026-08-15 23:30:06.736384: Marginal costs baseline metric (no standing charge): 913.8366
2026-08-15 23:30:07.453436: Marginal energy costs matrix computed: min=23.46 max=27.36
2026-08-15 23:30:07.649728: Rate array import [{'start': 1410, 'end': 2400, 'rate': 'cheap', 'range': '(21.4p - 28.2p)'}, {'start': 2400, 'end': 2430, 'rate': 'expensive', 'range': '(36.8p)'}, {'start': 2430, 'end': 2580, 'rate': 'very expensive', 'range': '(37.5p - 45.3p)'}, {'start': 2580, 'end': 2850, 'rate': 'expensive', 'range': '(30.0p - 35.9p)'}, {'start': 2850, 'end': 3635, 'rate': 'cheap', 'range': '(22.3p - 28.2p)'}] export [{'start': 1410, 'end': 3635, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 23:30:07.650591: - Your estimated bill for today is £5.77 and tomorrow is £3.08
2026-08-15 23:30:07.650646: - Import rates are cheap (21.4p - 28.2p) for the next 16 hours and then expensive (36.8p) for the next 30 minutes.
2026-08-15 23:30:07.650670: - The battery is currently at 79% and is in eco mode for the next 12 hours.
2026-08-15 23:30:07.650806: - For the next 48 hours there will be no solar generation.
2026-08-15 23:30:07.650945: - You will run out of battery in 32 hours.
2026-08-15 23:30:07.651098: - Your next charge slot will be in 12 hours where import rates will be cheap (23.5p).
2026-08-15 23:30:07.651269: 
2026-08-15 23:30:07.743329: Plan calculation took 2.71 seconds
2026-08-15 23:30:07.747160: No high rate period found
2026-08-15 23:30:07.752255: ML Predictor: Epoch 20/30: lr=0.00034 huber_loss=0.0062 val_mae=0.0035 kWh val_bias=+0.0001 kWh (+0.2%) combined=0.0018 kWh ema_combined=0.0021 kWh
2026-08-15 23:30:07.880073: Import threshold used for optimisation was 23.49p
2026-08-15 23:30:08.028905: Low import rate windows [0: 08-15 23:30:00 - 08-16 00:00:00 @ 27.8, 1: 08-16 00:00:00 - 08-16 00:30:00 @ 28.18, 2: 08-16 00:30:00 - 08-16 01:00:00 @ 27.38, 3: 08-16 01:00:00 - 08-16 01:30:00 @ 26.7, 4: 08-16 01:30:00 - 08-16 02:00:00 @ 26.31, 5: 08-16 02:00:00 - 08-16 02:30:00 @ 25.79, 6: 08-16 02:30:00 - 08-16 03:00:00 @ 25.86, 7: 08-16 03:00:00 - 08-16 03:30:00 @ 26.13, 8: 08-16 03:30:00 - 08-16 04:00:00 @ 25.86, 9: 08-16 04:00:00 - 08-16 04:30:00 @ 26.27, 10: 08-16 04:30:00 - 08-16 05:00:00 @ 26.14, 11: 08-16 05:00:00 - 08-16 05:30:00 @ 27.03, 12: 08-16 05:30:00 - 08-16 06:00:00 @ 26.28, 13: 08-16 06:00:00 - 08-16 06:30:00 @ 25.68, 14: 08-16 06:30:00 - 08-16 07:00:00 @ 26.1, 15: 08-16 07:00:00 - 08-16 07:30:00 @ 24.28, 16: 08-16 07:30:00 - 08-16 08:00:00 @ 24.94, 17: 08-16 08:00:00 - 08-16 08:30:00 @ 24.06, 18: 08-16 08:30:00 - 08-16 09:00:00 @ 24.39, 19: 08-16 09:00:00 - 08-16 09:30:00 @ 24.66, 20: 08-16 09:30:00 - 08-16 10:00:00 @ 24.06, 21: 08-16 10:00:00 - 08-16 10:30:00 @ 25.5, 22: 08-16 10:30:00 - 08-16 11:00:00 @ 24.94, 23: 08-16 11:00:00 - 08-16 11:30:00 @ 24.25, 24: 08-16 11:30:00 - 08-16 12:00:00 @ 23.49, 25: 08-16 12:00:00 - 08-16 12:30:00 @ 23.43, 26: 08-16 12:30:00 - 08-16 13:00:00 @ 22.33, 27: 08-16 13:00:00 - 08-16 13:30:00 @ 22.76, 28: 08-16 13:30:00 - 08-16 14:00:00 @ 22.3, 29: 08-16 14:00:00 - 08-16 14:30:00 @ 21.41, 30: 08-16 14:30:00 - 08-16 15:00:00 @ 21.65, 31: 08-16 15:00:00 - 08-16 15:30:00 @ 22.95, 32: 08-16 15:30:00 - 08-16 16:00:00 @ 22.83, 33: 08-16 16:00:00 - 08-16 16:30:00 @ 36.84, 34: 08-16 16:30:00 - 08-16 17:00:00 @ 37.54, 35: 08-16 17:00:00 - 08-16 17:30:00 @ 41.79, 36: 08-16 17:30:00 - 08-16 18:00:00 @ 43.7, 37: 08-16 18:00:00 - 08-16 18:30:00 @ 44.34, 38: 08-16 19:00:00 - 08-16 19:30:00 @ 34.79, 39: 08-16 19:30:00 - 08-16 20:00:00 @ 34.76, 40: 08-16 20:00:00 - 08-16 20:30:00 @ 35.62, 41: 08-16 20:30:00 - 08-16 21:00:00 @ 35.3, 42: 08-16 21:00:00 - 08-16 21:30:00 @ 35.89, 43: 08-16 21:30:00 - 08-16 22:00:00 @ 35.71, 44: 08-16 22:00:00 - 08-16 22:30:00 @ 33.75, 45: 08-16 22:30:00 - 08-16 23:00:00 @ 32.0, 46: 08-16 23:00:00 - 08-16 23:30:00 @ 30.02, 47: 08-16 23:30:00 - 08-17 00:00:00 @ 27.8, 48: 08-17 00:00:00 - 08-17 00:30:00 @ 28.18, 49: 08-17 00:30:00 - 08-17 01:00:00 @ 27.38, 50: 08-17 01:00:00 - 08-17 01:30:00 @ 26.7, 51: 08-17 01:30:00 - 08-17 02:00:00 @ 26.31, 52: 08-17 02:00:00 - 08-17 02:30:00 @ 25.79, 53: 08-17 02:30:00 - 08-17 03:00:00 @ 25.86, 54: 08-17 03:00:00 - 08-17 03:30:00 @ 26.13, 55: 08-17 03:30:00 - 08-17 04:00:00 @ 25.86, 56: 08-17 04:00:00 - 08-17 04:30:00 @ 26.27, 57: 08-17 04:30:00 - 08-17 05:00:00 @ 26.14, 58: 08-17 05:00:00 - 08-17 05:30:00 @ 27.03, 59: 08-17 05:30:00 - 08-17 06:00:00 @ 26.28, 60: 08-17 06:00:00 - 08-17 06:30:00 @ 25.68, 61: 08-17 06:30:00 - 08-17 07:00:00 @ 26.1, 62: 08-17 07:00:00 - 08-17 07:30:00 @ 24.28, 63: 08-17 07:30:00 - 08-17 08:00:00 @ 24.94, 64: 08-17 08:00:00 - 08-17 08:30:00 @ 24.06, 65: 08-17 08:30:00 - 08-17 09:00:00 @ 24.39, 66: 08-17 09:00:00 - 08-17 09:30:00 @ 24.66, 67: 08-17 09:30:00 - 08-17 10:00:00 @ 24.06, 68: 08-17 10:00:00 - 08-17 10:30:00 @ 25.5, 69: 08-17 10:30:00 - 08-17 11:00:00 @ 24.94, 70: 08-17 11:00:00 - 08-17 11:30:00 @ 24.25, 71: 08-17 11:30:00 - 08-17 12:00:00 @ 23.49, 72: 08-17 12:00:00 - 08-17 12:30:00 @ 23.43, 73: 08-17 12:30:00 - 08-17 13:00:00 @ 22.33, 74: 08-17 13:00:00 - 08-17 13:30:00 @ 22.76, 75: 08-17 13:30:00 - 08-17 14:00:00 @ 22.3, 76: 08-17 14:00:00 - 08-17 14:30:00 @ 21.41, 77: 08-17 14:30:00 - 08-17 15:00:00 @ 21.65, 78: 08-17 15:00:00 - 08-17 15:30:00 @ 22.95, 79: 08-17 15:30:00 - 08-17 16:00:00 @ 22.83, 80: 08-17 16:00:00 - 08-17 16:30:00 @ 36.84, 81: 08-17 16:30:00 - 08-17 17:00:00 @ 37.54, 82: 08-17 17:00:00 - 08-17 17:30:00 @ 41.79, 83: 08-17 17:30:00 - 08-17 18:00:00 @ 43.7, 84: 08-17 18:00:00 - 08-17 18:30:00 @ 44.34, 85: 08-17 19:00:00 - 08-17 19:30:00 @ 34.79, 86: 08-17 19:30:00 - 08-17 20:00:00 @ 34.76, 87: 08-17 20:00:00 - 08-17 20:30:00 @ 35.62, 88: 08-17 20:30:00 - 08-17 21:00:00 @ 35.3, 89: 08-17 21:00:00 - 08-17 21:30:00 @ 35.89, 90: 08-17 21:30:00 - 08-17 22:00:00 @ 35.71, 91: 08-17 22:00:00 - 08-17 22:30:00 @ 33.75, 92: 08-17 22:30:00 - 08-17 23:00:00 @ 32.0, 93: 08-17 23:00:00 - 08-17 23:30:00 @ 30.02]
2026-08-15 23:30:08.056427: Inverter 0 Charge window will be: 2026-08-16 11:30:00+01:00 - 2026-08-16 16:00:00+01:00 - current SoC 79%, target 31%
2026-08-15 23:30:08.056588: Inverter 0 disabled charge window while waiting for schedule (now 08-15 23:30:00 target set_window_minutes 30 charge start time 08-16 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 23:30:08.056662: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 23:30:08.056862: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 23:30:08.056977: No export window planned
2026-08-15 23:30:08.057090: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 23:30:08.057119: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 23:30:08.057259: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 23:30:08.057415: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 23:30:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 23:30:08.057468: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 23:30:08.057515: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 23:30:08.057600: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 23:30:08.057633: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 23:30:08.057660: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 23:30:08.057687: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 23:30:08.057725: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 23:30:08.057750: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 23:30:08.057774: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 23:30:08.057841: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 23:30:08.057926: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 23:30:08.058000: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 23:30:08.058039: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 23:30:08.058097: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 23:30:08.058124: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 23:30:08.058148: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 23:30:08.058182: Inverter 0 count register writes 0
2026-08-15 23:30:08.084182: Will not recompute the plan, it is 5.0 minutes old and max age is 10 minutes
2026-08-15 23:30:08.106537: Total inverter register writes now 826
2026-08-15 23:30:08.217942: Info: Completed run status Demand
2026-08-15 23:30:08.247417: Info: record_status Demand
2026-08-15 23:30:08.269642: Saved current settings to /config/predbat_config.json
2026-08-15 23:30:08.269989: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 23:30:42.462071: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 23:30:42.462439: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 23:30:42.462512: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 23:30:42.462750: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 23:30:42.462815: Note: Inverter does not support discharge freeze - disabled
2026-08-15 23:30:42.462850: Note: Inverter does not support charge freeze - disabled
2026-08-15 23:30:42.463030: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 23:30:45.375480: ML Predictor: Epoch 21/30: lr=0.00030 huber_loss=0.0064 val_mae=0.0033 kWh val_bias=-0.0003 kWh (-0.4%) combined=0.0017 kWh ema_combined=0.0020 kWh
2026-08-15 23:31:20.227991: ML Predictor: Epoch 22/30: lr=0.00026 huber_loss=0.0063 val_mae=0.0033 kWh val_bias=-0.0010 kWh (-1.2%) combined=0.0025 kWh ema_combined=0.0021 kWh
2026-08-15 23:31:54.318206: ML Predictor: Epoch 23/30: lr=0.00022 huber_loss=0.0060 val_mae=0.0031 kWh val_bias=+0.0001 kWh (+0.2%) combined=0.0016 kWh ema_combined=0.0020 kWh
2026-08-15 23:32:27.368241: ML Predictor: Epoch 24/30: lr=0.00019 huber_loss=0.0058 val_mae=0.0031 kWh val_bias=-0.0006 kWh (-0.8%) combined=0.0021 kWh ema_combined=0.0020 kWh
2026-08-15 23:32:57.039418: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 23:32:57.039673: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 23:32:57.039717: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 23:32:57.039880: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 23:32:57.039922: Note: Inverter does not support discharge freeze - disabled
2026-08-15 23:32:57.039945: Note: Inverter does not support charge freeze - disabled
2026-08-15 23:32:57.040050: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 23:33:03.015493: ML Predictor: Epoch 25/30: lr=0.00016 huber_loss=0.0058 val_mae=0.0030 kWh val_bias=-0.0006 kWh (-0.8%) combined=0.0018 kWh ema_combined=0.0019 kWh
2026-08-15 23:33:38.157261: ML Predictor: Epoch 26/30: lr=0.00014 huber_loss=0.0053 val_mae=0.0030 kWh val_bias=-0.0005 kWh (-0.6%) combined=0.0019 kWh ema_combined=0.0019 kWh
2026-08-15 23:34:12.695528: ML Predictor: Epoch 27/30: lr=0.00012 huber_loss=0.0060 val_mae=0.0036 kWh val_bias=-0.0020 kWh (-2.5%) combined=0.0033 kWh ema_combined=0.0023 kWh
2026-08-15 23:34:43.808423: ML Predictor: Epoch 28/30: lr=0.00011 huber_loss=0.0056 val_mae=0.0027 kWh val_bias=-0.0003 kWh (-0.4%) combined=0.0015 kWh ema_combined=0.0021 kWh
2026-08-15 23:35:00.565548: --------------- PredBat - update at 2026-08-15 23:35:00+01:00 with clock skew 0 minutes, minutes now 1415
2026-08-15 23:35:00.566521: Saved current settings to /config/predbat_config.json
2026-08-15 23:35:00.566701: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 60.0 minutes
2026-08-15 23:35:00.566865: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.2, latest beta is v8.48.2
2026-08-15 23:35:00.566958: Autoupdate: There is an update pending v8.48.2 PV90 and second pass enabled by default, bug fixes - auto update is off
2026-08-15 23:35:00.605205: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 23:35:00.605385: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 23:35:00.606155: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 23:35:00.606929: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 23:35:00.607141: Predbat mode is set to Control charge & discharge
2026-08-15 23:35:01.116722: Found 21602 load_today datapoints going back 28 days
2026-08-15 23:35:01.117105: Using load_power data to fill gaps in load_today data
2026-08-15 23:35:02.672404: Processing 721 30-minute periods for power integration
2026-08-15 23:35:02.931021: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 23:35:02.931302: Car charging hold False, threshold 6.0kWh
2026-08-15 23:35:02.931518: Current data so far today: load 12.2kWh, import 27.9kWh, export 0.0kWh, PV 0kWh
2026-08-15 23:35:02.959767: Cars: SoC: [8.204]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 23:35:02.960705: Standing charge is set to 49.98p
2026-08-15 23:35:03.062276: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 23:35:03.062585: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 23:35:03.062971: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 50.0 minutes
2026-08-15 23:35:03.063670: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 50.0 minutes
2026-08-15 23:35:03.072115: Loaded 95 datapoints of futurerate analysis
2026-08-15 23:35:03.489603: Predicted future rates: ['08-15 00:00:00 => 28.69 / 20.01', '08-15 01:00:00 => 27.33 / 19.31', '08-15 02:00:00 => 26.31 / 18.8', '08-15 03:00:00 => 25.78 / 18.53', '08-15 04:00:00 => 25.59 / 18.43', '08-15 05:00:00 => 25.75 / 18.51', '08-15 06:00:00 => 25.34 / 18.3', '08-15 07:00:00 => 24.12 / 17.68', '08-15 08:00:00 => 22.82 / 17.01', '08-15 09:00:00 => 21.84 / 16.51', '08-15 10:00:00 => 20.22 / 15.68', '08-15 11:00:00 => 17.8 / 14.45', '08-15 12:00:00 => 16.16 / 13.61', '08-15 13:00:00 => 15.55 / 13.3', '08-15 14:00:00 => 15.14 / 13.09', '08-15 15:00:00 => 15.65 / 13.35', '08-15 16:00:00 => 32.68 / 16.13', '08-15 17:00:00 => 37.81 / 18.75', '08-15 18:00:00 => 42.15 / 20.96', '08-15 19:00:00 => 30.88 / 21.13', '08-15 20:00:00 => 31.43 / 21.41', '08-15 21:00:00 => 31.43 / 21.41', '08-15 22:00:00 => 30.37 / 20.87', '08-15 23:00:00 => 29.16 / 20.25', '08-16 00:00:00 => 28.62 / 19.97', '08-16 01:00:00 => 27.52 / 19.41', '08-16 02:00:00 => 26.55 / 18.92', '08-16 03:00:00 => 26.18 / 18.73', '08-16 04:00:00 => 26.12 / 18.7', '08-16 05:00:00 => 26.02 / 18.65', '08-16 06:00:00 => 25.78 / 18.53', '08-16 07:00:00 => 25.43 / 18.35', '08-16 08:00:00 => 24.63 / 17.94', '08-16 09:00:00 => 24.05 / 17.64', '08-16 10:00:00 => 24.59 / 17.92', '08-16 11:00:00 => 24.5 / 17.87', '08-16 12:00:00 => 23.58 / 17.4', '08-16 13:00:00 => 22.93 / 17.07', '08-16 14:00:00 => 21.8 / 16.49', '08-16 15:00:00 => 21.8 / 16.49', '08-16 16:00:00 => 36.93 / 18.3', '08-16 17:00:00 => 39.92 / 19.83', '08-16 18:00:00 => 43.98 / 21.9', '08-16 19:00:00 => 32.83 / 22.13', '08-16 20:00:00 => 33.62 / 22.53', '08-16 21:00:00 => 33.52 / 22.48', '08-16 22:00:00 => 32.15 / 21.78']
2026-08-15 23:35:03.545115: Rate min forward looking: now 21.41p at end of forecast 21.41p
2026-08-15 23:35:03.545697: Import rates: min 21.41p, max 45.28p, average 28.73p
2026-08-15 23:35:03.584587: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 23:35:03.584919: Rate thresholds (for charge/export) are import 44.78p (0.0p), export -0.1p (0.0p)
2026-08-15 23:35:03.586720: High export rate found rates in range 99p to -99p
2026-08-15 23:35:03.709469: Low Import rate found rates in range 21.41p to 44.34p
2026-08-15 23:35:03.709704: Car 0 charging is not planned as it is not plugged in
2026-08-15 23:35:03.731316: Battery level now 12.68kWh, -1hr ago 13.92kWh, at midnight 1.66kWh, battery value change in the last hour -22.81p, change today 202.76p, rate_forward 18.39p
2026-08-15 23:35:03.731880: Last hour: net energy 0.01kWh, import 0.01kWh, export 0.0kWh, car 0kWh, load 1.4kWh, net cost 0.27p, import 0.27p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 23:35:03.831750: Today's energy total net 27.9kWh, import 27.9kWh, export 0.0kWh, cost 576.57p, import 526.58p, export 0.0p, carbon 0.0kg
2026-08-15 23:35:03.831992: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 23:35:03.975710: Using weighted-bucket historical load forecast over 14 days
2026-08-15 23:35:04.029850: Today's load divergence 81.38%, in-day adjustment 83.38%, damping 0.95x, yesterday 143.77% today 82.31% blend 1.74%
2026-08-15 23:35:04.030373: Today's predicted so far 14.63kWh with 0.0kWh car/iBoost excluded, 20.86kWh import ignored, and 14.63kWh forecast extra.
2026-08-15 23:35:04.030562: Today's actual load so far 12.27kWh with 0.0kWh car/iBoost excluded, and 20.86kWh import ignored.
2026-08-15 23:35:04.107450: Inverter 0: Type SK Sunsynk
2026-08-15 23:35:04.107715: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 23:35:04.108060: Reserve min: 7%, battery_min: 7%
2026-08-15 23:35:04.108261: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 23:35:04.108690: Inverter 0 SoC: 12.62kW 79%, current charge rate 5000W, current discharge rate 5250W, current battery power 1632W, current battery voltage 51.2V, grid power -54W, load power 1694W, PV Power 0W
2026-08-15 23:35:04.109064: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 23:35:04.109478: Inverter 0 scheduled charge enable is False
2026-08-15 23:35:04.109636: Inverter 0 charge windows currently []
2026-08-15 23:35:04.109757: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 23:35:04.110046: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 23:35:04.110173: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 23:35:04.110333: Inverter 0 scheduled discharge enable is False
2026-08-15 23:35:04.110601: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 23:35:04.110749: Inverter 0 discharge windows currently []
2026-08-15 23:35:04.110880: Note: Inverter does not support discharge freeze - disabled
2026-08-15 23:35:04.111010: Note: Inverter does not support charge freeze - disabled
2026-08-15 23:35:04.111113: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 23:35:04.286059: Dynamic load last period 1.20kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 23:35:04.286316: Plan was last updated on 2026-08-15 23:25:00+01:00 and is now 10.0 minutes old
2026-08-15 23:35:04.286664: Best charge window [ 16-08 11:30:00 - 16-08 12:30:00 @ 23.46p 31%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 38%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 50%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 100%, 16-08 14:30:00 - 16-08 16:00:00 @ 22.56p 78%, 17-08 12:30:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 17-08 22:30:00 @ 34.7p 100% ]
2026-08-15 23:35:04.286708: Best export window [  ]
2026-08-15 23:35:04.287542: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 23:35:04.290736: Load divergence over 8.0 hours mean 731.27W, min 292.2W, max 2423.4W, std dev 474.46W, divergence 32.44%
2026-08-15 23:35:04.314173: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 23:35:04.314383: LoadML is_calculating True
2026-08-15 23:35:04.314430: Not using thread pool as LoadML is calculating to avoid lockups
2026-08-15 23:35:04.351674: predict base end_record 08-17 12:40:00, final soc 1.12kWh, metric 1075.15p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 16:05:00, load 36.37kWh, PV 0.0kWh
2026-08-15 23:35:04.553327: Battery has 16.5 hours left - now at 12.62kWh
2026-08-15 23:35:04.631399: predict base10 end_record 08-17 12:40:00, final soc 1.12kWh, metric 1106.97p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 15:15:00, load 37.52kWh, PV 0.0kWh
2026-08-15 23:35:04.769768: predict best10 end_record 08-17 12:40:00, final soc 1.77kWh, metric 1049.93p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 07:10:00, load 37.52kWh, PV 0.0kWh
2026-08-15 23:35:04.931707: predict best end_record 08-17 12:40:00, final soc 1.9kWh, metric 1023.29p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 08:20:00, load 36.37kWh, PV 0.0kWh
2026-08-15 23:35:04.932660: Saving plan best values to HA entities
2026-08-15 23:35:05.287492: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 23:35:05.303610: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 23:35:05.312996: Best charging limit SoC's [5.0, 6.0, 8.0, 16.0, 12.5, 16.0, 16.0]kWh, export []kWh gives import battery 12.59kWh, house 2.81kWh, export 0.0kWh, metric 1023.29p, metric10 1049.93p
2026-08-15 23:35:05.537039: Marginal costs baseline metric (no standing charge): 923.3193
2026-08-15 23:35:05.861232: Marginal energy costs matrix computed: min=23.36 max=27.35
2026-08-15 23:35:05.982121: Rate array import [{'start': 1415, 'end': 2400, 'rate': 'cheap', 'range': '(21.4p - 28.2p)'}, {'start': 2400, 'end': 2430, 'rate': 'expensive', 'range': '(36.8p)'}, {'start': 2430, 'end': 2580, 'rate': 'very expensive', 'range': '(37.5p - 45.3p)'}, {'start': 2580, 'end': 2850, 'rate': 'expensive', 'range': '(30.0p - 35.9p)'}, {'start': 2850, 'end': 3640, 'rate': 'cheap', 'range': '(22.3p - 28.2p)'}] export [{'start': 1415, 'end': 3640, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 23:35:05.983482: - Your estimated bill for today is £5.77 and tomorrow is £3.07
2026-08-15 23:35:05.996982: - Import rates are cheap (21.4p - 28.2p) for the next 16 hours and then expensive (36.8p) for the next 30 minutes.
2026-08-15 23:35:05.997160: - The battery is currently at 79% and is in eco mode for the next 11 hours.
2026-08-15 23:35:05.997286: - For the next 48 hours there will be no solar generation.
2026-08-15 23:35:05.997337: - You will run out of battery in 32 hours.
2026-08-15 23:35:05.997400: - Your next charge slot will be in 11 hours where import rates will be cheap (23.5p).
2026-08-15 23:35:05.997482: 
2026-08-15 23:35:06.100778: Plan calculation took 1.81 seconds
2026-08-15 23:35:06.106456: No high rate period found
2026-08-15 23:35:06.237358: Import threshold used for optimisation was 23.49p
2026-08-15 23:35:06.334078: Low import rate windows [0: 08-15 23:30:00 - 08-16 00:00:00 @ 27.8, 1: 08-16 00:00:00 - 08-16 00:30:00 @ 28.18, 2: 08-16 00:30:00 - 08-16 01:00:00 @ 27.38, 3: 08-16 01:00:00 - 08-16 01:30:00 @ 26.7, 4: 08-16 01:30:00 - 08-16 02:00:00 @ 26.31, 5: 08-16 02:00:00 - 08-16 02:30:00 @ 25.79, 6: 08-16 02:30:00 - 08-16 03:00:00 @ 25.86, 7: 08-16 03:00:00 - 08-16 03:30:00 @ 26.13, 8: 08-16 03:30:00 - 08-16 04:00:00 @ 25.86, 9: 08-16 04:00:00 - 08-16 04:30:00 @ 26.27, 10: 08-16 04:30:00 - 08-16 05:00:00 @ 26.14, 11: 08-16 05:00:00 - 08-16 05:30:00 @ 27.03, 12: 08-16 05:30:00 - 08-16 06:00:00 @ 26.28, 13: 08-16 06:00:00 - 08-16 06:30:00 @ 25.68, 14: 08-16 06:30:00 - 08-16 07:00:00 @ 26.1, 15: 08-16 07:00:00 - 08-16 07:30:00 @ 24.28, 16: 08-16 07:30:00 - 08-16 08:00:00 @ 24.94, 17: 08-16 08:00:00 - 08-16 08:30:00 @ 24.06, 18: 08-16 08:30:00 - 08-16 09:00:00 @ 24.39, 19: 08-16 09:00:00 - 08-16 09:30:00 @ 24.66, 20: 08-16 09:30:00 - 08-16 10:00:00 @ 24.06, 21: 08-16 10:00:00 - 08-16 10:30:00 @ 25.5, 22: 08-16 10:30:00 - 08-16 11:00:00 @ 24.94, 23: 08-16 11:00:00 - 08-16 11:30:00 @ 24.25, 24: 08-16 11:30:00 - 08-16 12:00:00 @ 23.49, 25: 08-16 12:00:00 - 08-16 12:30:00 @ 23.43, 26: 08-16 12:30:00 - 08-16 13:00:00 @ 22.33, 27: 08-16 13:00:00 - 08-16 13:30:00 @ 22.76, 28: 08-16 13:30:00 - 08-16 14:00:00 @ 22.3, 29: 08-16 14:00:00 - 08-16 14:30:00 @ 21.41, 30: 08-16 14:30:00 - 08-16 15:00:00 @ 21.65, 31: 08-16 15:00:00 - 08-16 15:30:00 @ 22.95, 32: 08-16 15:30:00 - 08-16 16:00:00 @ 22.83, 33: 08-16 16:00:00 - 08-16 16:30:00 @ 36.84, 34: 08-16 16:30:00 - 08-16 17:00:00 @ 37.54, 35: 08-16 17:00:00 - 08-16 17:30:00 @ 41.79, 36: 08-16 17:30:00 - 08-16 18:00:00 @ 43.7, 37: 08-16 18:00:00 - 08-16 18:30:00 @ 44.34, 38: 08-16 19:00:00 - 08-16 19:30:00 @ 34.79, 39: 08-16 19:30:00 - 08-16 20:00:00 @ 34.76, 40: 08-16 20:00:00 - 08-16 20:30:00 @ 35.62, 41: 08-16 20:30:00 - 08-16 21:00:00 @ 35.3, 42: 08-16 21:00:00 - 08-16 21:30:00 @ 35.89, 43: 08-16 21:30:00 - 08-16 22:00:00 @ 35.71, 44: 08-16 22:00:00 - 08-16 22:30:00 @ 33.75, 45: 08-16 22:30:00 - 08-16 23:00:00 @ 32.0, 46: 08-16 23:00:00 - 08-16 23:30:00 @ 30.02, 47: 08-16 23:30:00 - 08-17 00:00:00 @ 27.8, 48: 08-17 00:00:00 - 08-17 00:30:00 @ 28.18, 49: 08-17 00:30:00 - 08-17 01:00:00 @ 27.38, 50: 08-17 01:00:00 - 08-17 01:30:00 @ 26.7, 51: 08-17 01:30:00 - 08-17 02:00:00 @ 26.31, 52: 08-17 02:00:00 - 08-17 02:30:00 @ 25.79, 53: 08-17 02:30:00 - 08-17 03:00:00 @ 25.86, 54: 08-17 03:00:00 - 08-17 03:30:00 @ 26.13, 55: 08-17 03:30:00 - 08-17 04:00:00 @ 25.86, 56: 08-17 04:00:00 - 08-17 04:30:00 @ 26.27, 57: 08-17 04:30:00 - 08-17 05:00:00 @ 26.14, 58: 08-17 05:00:00 - 08-17 05:30:00 @ 27.03, 59: 08-17 05:30:00 - 08-17 06:00:00 @ 26.28, 60: 08-17 06:00:00 - 08-17 06:30:00 @ 25.68, 61: 08-17 06:30:00 - 08-17 07:00:00 @ 26.1, 62: 08-17 07:00:00 - 08-17 07:30:00 @ 24.28, 63: 08-17 07:30:00 - 08-17 08:00:00 @ 24.94, 64: 08-17 08:00:00 - 08-17 08:30:00 @ 24.06, 65: 08-17 08:30:00 - 08-17 09:00:00 @ 24.39, 66: 08-17 09:00:00 - 08-17 09:30:00 @ 24.66, 67: 08-17 09:30:00 - 08-17 10:00:00 @ 24.06, 68: 08-17 10:00:00 - 08-17 10:30:00 @ 25.5, 69: 08-17 10:30:00 - 08-17 11:00:00 @ 24.94, 70: 08-17 11:00:00 - 08-17 11:30:00 @ 24.25, 71: 08-17 11:30:00 - 08-17 12:00:00 @ 23.49, 72: 08-17 12:00:00 - 08-17 12:30:00 @ 23.43, 73: 08-17 12:30:00 - 08-17 13:00:00 @ 22.33, 74: 08-17 13:00:00 - 08-17 13:30:00 @ 22.76, 75: 08-17 13:30:00 - 08-17 14:00:00 @ 22.3, 76: 08-17 14:00:00 - 08-17 14:30:00 @ 21.41, 77: 08-17 14:30:00 - 08-17 15:00:00 @ 21.65, 78: 08-17 15:00:00 - 08-17 15:30:00 @ 22.95, 79: 08-17 15:30:00 - 08-17 16:00:00 @ 22.83, 80: 08-17 16:00:00 - 08-17 16:30:00 @ 36.84, 81: 08-17 16:30:00 - 08-17 17:00:00 @ 37.54, 82: 08-17 17:00:00 - 08-17 17:30:00 @ 41.79, 83: 08-17 17:30:00 - 08-17 18:00:00 @ 43.7, 84: 08-17 18:00:00 - 08-17 18:30:00 @ 44.34, 85: 08-17 19:00:00 - 08-17 19:30:00 @ 34.79, 86: 08-17 19:30:00 - 08-17 20:00:00 @ 34.76, 87: 08-17 20:00:00 - 08-17 20:30:00 @ 35.62, 88: 08-17 20:30:00 - 08-17 21:00:00 @ 35.3, 89: 08-17 21:00:00 - 08-17 21:30:00 @ 35.89, 90: 08-17 21:30:00 - 08-17 22:00:00 @ 35.71, 91: 08-17 22:00:00 - 08-17 22:30:00 @ 33.75, 92: 08-17 22:30:00 - 08-17 23:00:00 @ 32.0, 93: 08-17 23:00:00 - 08-17 23:30:00 @ 30.02, 94: 08-17 23:30:00 - 08-18 00:00:00 @ 27.8]
2026-08-15 23:35:06.353546: Inverter 0 Charge window will be: 2026-08-16 11:30:00+01:00 - 2026-08-16 16:00:00+01:00 - current SoC 79%, target 31%
2026-08-15 23:35:06.353691: Inverter 0 disabled charge window while waiting for schedule (now 08-15 23:35:00 target set_window_minutes 30 charge start time 08-16 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 23:35:06.353759: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 23:35:06.353964: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 23:35:06.354043: No export window planned
2026-08-15 23:35:06.354177: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 23:35:06.354221: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 23:35:06.354363: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 23:35:06.354513: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 23:35:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 23:35:06.354565: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 23:35:06.354623: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 23:35:06.354708: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 23:35:06.354750: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 23:35:06.354779: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 23:35:06.354822: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 23:35:06.354859: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 23:35:06.354884: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 23:35:06.354909: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 23:35:06.354969: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 23:35:06.355086: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 23:35:06.355163: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 23:35:06.355265: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 23:35:06.355365: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 23:35:06.355415: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 23:35:06.355482: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 23:35:06.355554: Inverter 0 count register writes 0
2026-08-15 23:35:06.384590: Will recompute the plan as it is now 10.0 minutes old and will exceed the max age of 10 minutes before the next run
2026-08-15 23:35:06.384925: Recompute is saving previous plan...
2026-08-15 23:35:06.388324: Best charge window [ 15-08 23:30:00 - 16-08 00:00:00 @ 27.8p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.18p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.38p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 26.7p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.31p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.79p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 25.86p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.13p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 25.86p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.27p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.14p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 27.03p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.28p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.68p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 26.1p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 24.28p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 24.94p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.06p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.39p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.66p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.06p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 25.5p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 24.94p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 24.25p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 23.49p 0%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.43p 0%, 16-08 12:30:00 - 16-08 13:00:00 @ 22.33p 0%, 16-08 13:00:00 - 16-08 13:30:00 @ 22.76p 0%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 0%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 0%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.65p 0%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.95p 0%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.83p 0%, 16-08 16:00:00 - 16-08 16:30:00 @ 36.84p 0%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.54p 0%, 16-08 17:00:00 - 16-08 17:30:00 @ 41.79p 0%, 16-08 17:30:00 - 16-08 18:00:00 @ 43.7p 0%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.34p 0%, 16-08 19:00:00 - 16-08 19:30:00 @ 34.79p 0%, 16-08 19:30:00 - 16-08 20:00:00 @ 34.76p 0%, 16-08 20:00:00 - 16-08 20:30:00 @ 35.62p 0%, 16-08 20:30:00 - 16-08 21:00:00 @ 35.3p 0%, 16-08 21:00:00 - 16-08 21:30:00 @ 35.89p 0%, 16-08 21:30:00 - 16-08 22:00:00 @ 35.71p 0%, 16-08 22:00:00 - 16-08 22:30:00 @ 33.75p 0%, 16-08 22:30:00 - 16-08 23:00:00 @ 32.0p 0%, 16-08 23:00:00 - 16-08 23:30:00 @ 30.02p 0%, 16-08 23:30:00 - 17-08 00:00:00 @ 27.8p 0%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.18p 0%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.38p 0%, 17-08 01:00:00 - 17-08 01:30:00 @ 26.7p 0%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.31p 0%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.79p 0%, 17-08 02:30:00 - 17-08 03:00:00 @ 25.86p 0%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.13p 0%, 17-08 03:30:00 - 17-08 04:00:00 @ 25.86p 0%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.27p 0%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.14p 0%, 17-08 05:00:00 - 17-08 05:30:00 @ 27.03p 0%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.28p 0%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.68p 0%, 17-08 06:30:00 - 17-08 07:00:00 @ 26.1p 0%, 17-08 07:00:00 - 17-08 07:30:00 @ 24.28p 0%, 17-08 07:30:00 - 17-08 08:00:00 @ 24.94p 0%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.06p 0%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.39p 0%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.66p 0%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.06p 0%, 17-08 10:00:00 - 17-08 10:30:00 @ 25.5p 0%, 17-08 10:30:00 - 17-08 11:00:00 @ 24.94p 0%, 17-08 11:00:00 - 17-08 11:30:00 @ 24.25p 0%, 17-08 11:30:00 - 17-08 12:00:00 @ 23.49p 0%, 17-08 12:00:00 - 17-08 12:30:00 @ 23.43p 0%, 17-08 12:30:00 - 17-08 13:00:00 @ 22.33p 0%, 17-08 13:00:00 - 17-08 13:30:00 @ 22.76p 0%, 17-08 13:30:00 - 17-08 14:00:00 @ 22.3p 0%, 17-08 14:00:00 - 17-08 14:30:00 @ 21.41p 0%, 17-08 14:30:00 - 17-08 15:00:00 @ 21.65p 0%, 17-08 15:00:00 - 17-08 15:30:00 @ 22.95p 0%, 17-08 15:30:00 - 17-08 16:00:00 @ 22.83p 0%, 17-08 16:00:00 - 17-08 16:30:00 @ 36.84p 0%, 17-08 16:30:00 - 17-08 17:00:00 @ 37.54p 0%, 17-08 17:00:00 - 17-08 17:30:00 @ 41.79p 0%, 17-08 17:30:00 - 17-08 18:00:00 @ 43.7p 0%, 17-08 18:00:00 - 17-08 18:30:00 @ 44.34p 0%, 17-08 19:00:00 - 17-08 19:30:00 @ 34.79p 0%, 17-08 19:30:00 - 17-08 20:00:00 @ 34.76p 0%, 17-08 20:00:00 - 17-08 20:30:00 @ 35.62p 0%, 17-08 20:30:00 - 17-08 21:00:00 @ 35.3p 0%, 17-08 21:00:00 - 17-08 21:30:00 @ 35.89p 0%, 17-08 21:30:00 - 17-08 22:00:00 @ 35.71p 0%, 17-08 22:00:00 - 17-08 22:30:00 @ 33.75p 0%, 17-08 22:30:00 - 17-08 23:00:00 @ 32.0p 0%, 17-08 23:00:00 - 17-08 23:30:00 @ 30.02p 0%, 17-08 23:30:00 - 18-08 00:00:00 @ 27.8p 0% ]
2026-08-15 23:35:06.388411: Best export window [  ]
2026-08-15 23:35:06.389455: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 23:35:06.392693: Load divergence over 8.0 hours mean 731.27W, min 292.2W, max 2423.4W, std dev 474.46W, divergence 32.44%
2026-08-15 23:35:06.416229: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 23:35:06.416543: LoadML is_calculating True
2026-08-15 23:35:06.416654: Not using thread pool as LoadML is calculating to avoid lockups
2026-08-15 23:35:06.426103: Calculate Best options: mode(Control charge & discharge), calculate_export_oncharge(False), calculate_export_on_pv(True), set_export_freeze_only(False), set_discharge_during_charge(True), combine_charge_slots(False), combine_export_slots(False), combine_rate_threshold(0.0), best_soc_min(0.0 kWh), best_soc_max(0.0 kWh), best_soc_keep(0.0 kWh), inverter_loss(4%), battery_loss(3%), battery_loss_discharge (3%), inverter_hybrid(True), metric_min_improvement(0.0p), metric_min_improvement_export(0.1p), metric_min_improvement_export_freeze(0.1p), metric_battery_cycle(0.0p/kWh), metric_battery_value_scaling(1.0 x) 
2026-08-15 23:35:06.427679: Optimise levels pass started at 2026-08-15 23:35:06
2026-08-15 23:35:06.427858: Optimise all windows, total charge 94 export 1
2026-08-15 23:35:13.630915: >> Region optimisation pass width 960 gives best_metric 1075.4p, best_cost 1090.96p, best_cycle 43.67kWh, best_import 23.15kWh
2026-08-15 23:35:14.830985: >> Region optimisation pass width 480 gives best_metric 1075.4p, best_cost 1090.96p, best_cycle 43.67kWh, best_import 23.15kWh
2026-08-15 23:35:16.142966: >> Region optimisation pass width 240 gives best_metric 1075.4p, best_cost 1090.96p, best_cycle 43.67kWh, best_import 23.15kWh
2026-08-15 23:35:19.615007: >> Region optimisation pass width 120 gives best_metric 1075.4p, best_cost 1090.96p, best_cycle 43.67kWh, best_import 23.15kWh
2026-08-15 23:35:19.615497: Calculated end_record as 08-17 12:30:00 based on best_price 22.33p, next_charge_start 08-16 12:30:00, max_windows 73
2026-08-15 23:35:19.615576: Optimise levels pass ended at 2026-08-15 23:35:19, duration 13.2 seconds tried 333 combinations
2026-08-15 23:35:19.621221: Set best_price_charge_level 24.0p, best_price_export_level 0p, best_price_charge 22.33p, best_cost_export 0p, best_metric 1075.4p, best_keep 0kWh, best_cycle 43.67kWh, best_carbon 0kg, best_import 23.15kWh
2026-08-15 23:35:19.663593: Starting detailed optimisation end_record 08-17 12:30:00, best_price_charge 22.33p, best_price_export 0p. lowest_price_charge 21.41p with charge limits [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 0, 16.0, 16.0, 16.0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0]kWh and export limits []kWh
2026-08-15 23:35:37.627648: ML Predictor: Epoch 29/30: lr=0.00010 huber_loss=0.0059 val_mae=0.0028 kWh val_bias=-0.0005 kWh (-0.7%) combined=0.0016 kWh ema_combined=0.0020 kWh
2026-08-15 23:35:47.867857: Tweak plan optimisation started metric 885.81p, cost 902.06p
2026-08-15 23:35:48.589206: Tweak optimisation finished metric 885.81p, cost 902.06p, metric_keep 0kWh, cycle 27.76kWh, carbon 0kg, import 14.51kWh, changed 8 window(s)
2026-08-15 23:35:48.628066: Swap charge optimisation started metric 885.81p, cost 902.06p, min_improvement_swap 0.1p
2026-08-15 23:36:04.139544: Swap charge optimisation finished metric 885.81p, cost 902.06p
2026-08-15 23:36:04.447836: Pruned 1 dead plan slot(s) in 11 trial(s), nominal metric 881.46p -> 881.46p, plan now metric 885.83p, cost 902.06p, cycle 27.76kWh, import 14.51kWh
2026-08-15 23:36:04.464614: Raw charge windows [ 15-08 23:30:00 - 16-08 00:00:00 @ 27.8p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.18p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.38p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 26.7p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.31p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.79p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 25.86p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.13p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 25.86p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.27p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.14p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 27.03p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.28p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.68p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 26.1p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 24.28p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 24.94p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.06p 41%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.39p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.66p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.06p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 25.5p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 24.94p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 24.25p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 23.49p 28%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.43p 28%, 16-08 12:30:00 - 16-08 13:00:00 @ 22.33p 38%, 16-08 13:00:00 - 16-08 13:30:00 @ 22.76p 38%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 100%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 100%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.65p 100%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.95p 81%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.83p 81%, 16-08 16:00:00 - 16-08 16:30:00 @ 36.84p 0%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.54p 0%, 16-08 17:00:00 - 16-08 17:30:00 @ 41.79p 0%, 16-08 17:30:00 - 16-08 18:00:00 @ 43.7p 0%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.34p 0%, 16-08 19:00:00 - 16-08 19:30:00 @ 34.79p 0%, 16-08 19:30:00 - 16-08 20:00:00 @ 34.76p 0%, 16-08 20:00:00 - 16-08 20:30:00 @ 35.62p 0%, 16-08 20:30:00 - 16-08 21:00:00 @ 35.3p 0%, 16-08 21:00:00 - 16-08 21:30:00 @ 35.89p 0%, 16-08 21:30:00 - 16-08 22:00:00 @ 35.71p 0%, 16-08 22:00:00 - 16-08 22:30:00 @ 33.75p 0%, 16-08 22:30:00 - 16-08 23:00:00 @ 32.0p 0%, 16-08 23:00:00 - 16-08 23:30:00 @ 30.02p 0%, 16-08 23:30:00 - 17-08 00:00:00 @ 27.8p 0%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.18p 0%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.38p 0%, 17-08 01:00:00 - 17-08 01:30:00 @ 26.7p 0%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.31p 0%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.79p 0%, 17-08 02:30:00 - 17-08 03:00:00 @ 25.86p 0%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.13p 0%, 17-08 03:30:00 - 17-08 04:00:00 @ 25.86p 0%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.27p 0%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.14p 0%, 17-08 05:00:00 - 17-08 05:30:00 @ 27.03p 0%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.28p 0%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.68p 0%, 17-08 06:30:00 - 17-08 07:00:00 @ 26.1p 0%, 17-08 07:00:00 - 17-08 07:30:00 @ 24.28p 0%, 17-08 07:30:00 - 17-08 08:00:00 @ 24.94p 0%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.06p 0%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.39p 0%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.66p 0%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.06p 0%, 17-08 10:00:00 - 17-08 10:30:00 @ 25.5p 0%, 17-08 10:30:00 - 17-08 11:00:00 @ 24.94p 0%, 17-08 11:00:00 - 17-08 11:30:00 @ 24.25p 0%, 17-08 11:30:00 - 17-08 12:00:00 @ 23.49p 0%, 17-08 12:00:00 - 17-08 12:30:00 @ 23.43p 0%, 17-08 12:30:00 - 17-08 13:00:00 @ 22.33p 100%, 17-08 13:00:00 - 17-08 13:30:00 @ 22.76p 100%, 17-08 13:30:00 - 17-08 14:00:00 @ 22.3p 100%, 17-08 14:00:00 - 17-08 14:30:00 @ 21.41p 100%, 17-08 14:30:00 - 17-08 15:00:00 @ 21.65p 100%, 17-08 15:00:00 - 17-08 15:30:00 @ 22.95p 100%, 17-08 15:30:00 - 17-08 16:00:00 @ 22.83p 100%, 17-08 16:00:00 - 17-08 16:30:00 @ 36.84p 100%, 17-08 16:30:00 - 17-08 17:00:00 @ 37.54p 100%, 17-08 17:00:00 - 17-08 17:30:00 @ 41.79p 100%, 17-08 17:30:00 - 17-08 18:00:00 @ 43.7p 100%, 17-08 18:00:00 - 17-08 18:30:00 @ 44.34p 100%, 17-08 19:00:00 - 17-08 19:30:00 @ 34.79p 100%, 17-08 19:30:00 - 17-08 20:00:00 @ 34.76p 100%, 17-08 20:00:00 - 17-08 20:30:00 @ 35.62p 100%, 17-08 20:30:00 - 17-08 21:00:00 @ 35.3p 100%, 17-08 21:00:00 - 17-08 21:30:00 @ 35.89p 100%, 17-08 21:30:00 - 17-08 22:00:00 @ 35.71p 100%, 17-08 22:00:00 - 17-08 22:30:00 @ 33.75p 100%, 17-08 22:30:00 - 17-08 23:00:00 @ 32.0p 100%, 17-08 23:00:00 - 17-08 23:30:00 @ 30.02p 100%, 17-08 23:30:00 - 18-08 00:00:00 @ 27.8p 100% ] reserve 1.12
2026-08-15 23:36:04.478031: Unclipped charge windows [ 16-08 08:00:00 - 16-08 08:30:00 @ 24.06p 41%, 16-08 11:30:00 - 16-08 12:30:00 @ 23.46p 28%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 38%, 16-08 13:30:00 - 16-08 15:00:00 @ 21.75p 100%, 16-08 15:00:00 - 16-08 16:00:00 @ 22.89p 81%, 17-08 12:30:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 18-08 00:00:00 @ 29.75p 100% ] reserve 1.12
2026-08-15 23:36:04.478511: Unfiltered charge windows [ 16-08 08:00:00 - 16-08 08:30:00 @ 24.06p 41%, 16-08 11:30:00 - 16-08 12:30:00 @ 23.46p 28%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 38%, 16-08 13:30:00 - 16-08 15:00:00 @ 21.75p 100%, 16-08 15:00:00 - 16-08 16:00:00 @ 22.89p 81%, 17-08 12:30:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 18-08 00:00:00 @ 29.75p 100% ] reserve 1.12
2026-08-15 23:36:04.478886: Filtered charge windows [ 16-08 08:00:00 - 16-08 08:30:00 @ 24.06p 41%, 16-08 11:30:00 - 16-08 12:30:00 @ 23.46p 28%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 38%, 16-08 13:30:00 - 16-08 15:00:00 @ 21.75p 100%, 16-08 15:00:00 - 16-08 16:00:00 @ 22.89p 81%, 17-08 12:30:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 18-08 00:00:00 @ 29.75p 100% ] reserve 1.12
2026-08-15 23:36:04.589944: Previous plan best metric is 884.52 (cost 900.79) and new plan best metric is 885.81 (cost 902.06)
2026-08-15 23:36:04.590237: New plan metric is not significantly better (metric_min_improvement_plan 2.0) than previous plan, using previous plan
2026-08-15 23:36:04.590499: Plan valid is now true after recompute was False
2026-08-15 23:36:04.654649: predict base end_record 08-17 12:30:00, final soc 1.12kWh, metric 1072.26p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 16:05:00, load 36.24kWh, PV 0.0kWh
2026-08-15 23:36:04.883433: Battery has 16.5 hours left - now at 12.62kWh
2026-08-15 23:36:04.991612: predict base10 end_record 08-17 12:30:00, final soc 1.12kWh, metric 1103.95p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 15:15:00, load 37.38kWh, PV 0.0kWh
2026-08-15 23:36:05.268873: predict best10 end_record 08-17 12:30:00, final soc 1.12kWh, metric 1031.4p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 07:10:00, load 37.38kWh, PV 0.0kWh
2026-08-15 23:36:05.447211: predict best end_record 08-17 12:30:00, final soc 1.12kWh, metric 1001.79p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 08:20:00, load 36.24kWh, PV 0.0kWh
2026-08-15 23:36:05.447316: Saving plan best values to HA entities
2026-08-15 23:36:05.840094: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 23:36:05.848355: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 23:36:05.857761: Best charging limit SoC's [5.0, 6.0, 8.0, 16.0, 12.5, 16.0, 16.0]kWh, export []kWh gives import battery 11.62kWh, house 2.81kWh, export 0.0kWh, metric 1001.79p, metric10 1031.4p
2026-08-15 23:36:06.171599: Marginal costs baseline metric (no standing charge): 901.8248
2026-08-15 23:36:06.686278: Marginal energy costs matrix computed: min=23.36 max=27.35
2026-08-15 23:36:06.869850: Rate array import [{'start': 1415, 'end': 2400, 'rate': 'cheap', 'range': '(21.4p - 28.2p)'}, {'start': 2400, 'end': 2430, 'rate': 'expensive', 'range': '(36.8p)'}, {'start': 2430, 'end': 2580, 'rate': 'very expensive', 'range': '(37.5p - 45.3p)'}, {'start': 2580, 'end': 2850, 'rate': 'expensive', 'range': '(30.0p - 35.9p)'}, {'start': 2850, 'end': 3630, 'rate': 'cheap', 'range': '(23.4p - 28.2p)'}] export [{'start': 1415, 'end': 3630, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 23:36:06.871016: - Your estimated bill for today is £5.77 and tomorrow is £3.07
2026-08-15 23:36:06.871084: - Import rates are cheap (21.4p - 28.2p) for the next 16 hours and then expensive (36.8p) for the next 30 minutes.
2026-08-15 23:36:06.871115: - The battery is currently at 79% and is in eco mode for the next 11 hours.
2026-08-15 23:36:06.871141: - For the next 48 hours there will be no solar generation.
2026-08-15 23:36:06.874089: - You will run out of battery in 32 hours.
2026-08-15 23:36:06.874179: - Your next charge slot will be in 11 hours where import rates will be cheap (23.5p).
2026-08-15 23:36:06.874327: 
2026-08-15 23:36:06.974869: Plan calculation took 60.59 seconds
2026-08-15 23:36:06.975516: Inverter 0: Type SK Sunsynk
2026-08-15 23:36:06.975784: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 23:36:06.976151: Reserve min: 7%, battery_min: 7%
2026-08-15 23:36:06.976300: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 23:36:06.976784: Inverter 0 SoC: 12.62kW 79%, current charge rate 5000W, current discharge rate 5250W, current battery power 1689W, current battery voltage 51.2V, grid power -54W, load power 1749W, PV Power 0W
2026-08-15 23:36:06.977259: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 23:36:06.977528: Inverter 0 scheduled charge enable is False
2026-08-15 23:36:06.977586: Inverter 0 charge windows currently []
2026-08-15 23:36:06.977639: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 23:36:06.977881: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 23:36:06.977939: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 23:36:06.978014: Inverter 0 scheduled discharge enable is False
2026-08-15 23:36:06.978228: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 23:36:06.978274: Inverter 0 discharge windows currently []
2026-08-15 23:36:06.978300: Note: Inverter does not support discharge freeze - disabled
2026-08-15 23:36:06.978327: Note: Inverter does not support charge freeze - disabled
2026-08-15 23:36:06.978372: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 23:36:07.085719: Inverter 0 Charge window will be: 2026-08-16 11:30:00+01:00 - 2026-08-16 16:00:00+01:00 - current SoC 79%, target 31%
2026-08-15 23:36:07.085922: Inverter 0 disabled charge window while waiting for schedule (now 08-15 23:35:00 target set_window_minutes 30 charge start time 08-16 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 23:36:07.086018: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 23:36:07.086253: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 23:36:07.086346: No export window planned
2026-08-15 23:36:07.086478: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 23:36:07.086523: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 23:36:07.086694: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 23:36:07.086897: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 23:35:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 23:36:07.086962: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 23:36:07.087030: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 23:36:07.087126: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 23:36:07.087177: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 23:36:07.087215: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 23:36:07.087259: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 23:36:07.087295: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 23:36:07.087365: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 23:36:07.087410: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 23:36:07.087496: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 23:36:07.087545: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 23:36:07.087590: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 23:36:07.087628: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 23:36:07.087670: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 23:36:07.087708: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 23:36:07.087750: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 23:36:07.087807: Inverter 0 count register writes 0
2026-08-15 23:36:07.124711: Total inverter register writes now 826
2026-08-15 23:36:07.181822: Info: Completed run status Demand
2026-08-15 23:36:07.193286: Info: record_status Demand
2026-08-15 23:36:07.206644: Saved current settings to /config/predbat_config.json
2026-08-15 23:36:07.207076: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 23:36:29.040874: ML Predictor: Epoch 30/30: lr=0.00010 huber_loss=0.0054 val_mae=0.0030 kWh val_bias=-0.0013 kWh (-1.6%) combined=0.0025 kWh ema_combined=0.0021 kWh
2026-08-15 23:36:29.042100: ML Predictor: Restored best weights from epoch with val_mae=0.0030 kWh val_bias=-0.0005 kWh (-0.6%)
2026-08-15 23:36:29.042386: ML Predictor: Training complete, final val_mae=0.0030 kWh val_bias=-0.0005 kWh (-0.6%)
2026-08-15 23:36:38.023814: ML Predictor: AR rollout over holdout: ar_mae=0.0030 kWh ar_bias=-0.0006 kWh (-0.7%) [drift vs teacher-forced: +0.0000 kWh]
2026-08-15 23:36:38.035622: ML Predictor: Curriculum pass 4/5 complete, val_mae=0.0030 kWh
2026-08-15 23:36:38.035737: ML Predictor: Curriculum final pass 5/5: full dataset (57.4 days)
2026-08-15 23:36:38.035794: ML Predictor: Starting fine-tune training with 30 epochs
2026-08-15 23:36:38.716566: ML Predictor: Creating dataset with 1377 hours of training data, 48 hours validation
2026-08-15 23:36:42.581439: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 23:36:42.582048: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 23:36:42.582120: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 23:36:42.582302: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 23:36:42.592607: Note: Inverter does not support discharge freeze - disabled
2026-08-15 23:36:42.597835: Note: Inverter does not support charge freeze - disabled
2026-08-15 23:36:42.603056: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 23:36:43.899314: ML Predictor: Created 16244 training samples, 576 validation samples
2026-08-15 23:36:43.956852: ML Predictor: Normalization stats [ema-update alpha=0.1] target(mean=0.0586 std=0.0470) load(mean=0.0590 std=0.0474) pv(mean=0.0000 std=0.0100) temp(mean=19.5708 std=4.4625) import_rate(mean=25.5539 std=2.5044) export_rate(mean=0.0000 std=1.0000) time(mean=-0.1905 std=0.5255)
2026-08-15 23:36:44.049976: ML Predictor: Applied EMA normalization update (alpha=0.1) to track feature drift
2026-08-15 23:36:44.067174: ML Predictor: Reset Adam optimiser state for fine-tuning
2026-08-15 23:36:44.184064: ML Predictor: Baseline (pre-finetune) val_mae=0.0045 kWh val_bias=+0.0016 kWh
2026-08-15 23:37:17.780287: ML Predictor: Epoch 1/30: lr=0.00100 huber_loss=0.0105 val_mae=0.0055 kWh val_bias=+0.0003 kWh (+0.5%) combined=0.0042 kWh ema_combined=0.0042 kWh
2026-08-15 23:37:49.179913: ML Predictor: Epoch 2/30: lr=0.00100 huber_loss=0.0102 val_mae=0.0047 kWh val_bias=-0.0001 kWh (-0.2%) combined=0.0024 kWh ema_combined=0.0037 kWh
2026-08-15 23:38:21.506503: ML Predictor: Epoch 3/30: lr=0.00099 huber_loss=0.0124 val_mae=0.0046 kWh val_bias=-0.0009 kWh (-1.4%) combined=0.0024 kWh ema_combined=0.0033 kWh
2026-08-15 23:38:53.557663: ML Predictor: Epoch 4/30: lr=0.00098 huber_loss=0.0113 val_mae=0.0045 kWh val_bias=+0.0015 kWh (+2.1%) combined=0.0040 kWh ema_combined=0.0035 kWh
2026-08-15 23:38:56.781734: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 23:38:56.781988: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 23:38:56.782035: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 23:38:56.782173: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 23:38:56.782214: Note: Inverter does not support discharge freeze - disabled
2026-08-15 23:38:56.782235: Note: Inverter does not support charge freeze - disabled
2026-08-15 23:38:56.782253: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 23:39:25.761493: ML Predictor: Epoch 5/30: lr=0.00096 huber_loss=0.0087 val_mae=0.0043 kWh val_bias=+0.0005 kWh (+0.8%) combined=0.0034 kWh ema_combined=0.0035 kWh
2026-08-15 23:39:57.291723: ML Predictor: Epoch 6/30: lr=0.00094 huber_loss=0.0114 val_mae=0.0041 kWh val_bias=+0.0007 kWh (+1.0%) combined=0.0031 kWh ema_combined=0.0034 kWh
2026-08-15 23:40:00.103864: --------------- PredBat - update at 2026-08-15 23:40:00+01:00 with clock skew 0 minutes, minutes now 1420
2026-08-15 23:40:00.105338: Saved current settings to /config/predbat_config.json
2026-08-15 23:40:00.105489: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 65.0 minutes
2026-08-15 23:40:00.105642: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.2, latest beta is v8.48.2
2026-08-15 23:40:00.105745: Autoupdate: There is an update pending v8.48.2 PV90 and second pass enabled by default, bug fixes - auto update is off
2026-08-15 23:40:00.158301: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 23:40:00.158460: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 23:40:00.159613: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 23:40:00.160299: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 23:40:00.160449: Predbat mode is set to Control charge & discharge
2026-08-15 23:40:00.624757: Found 21602 load_today datapoints going back 28 days
2026-08-15 23:40:00.625127: Using load_power data to fill gaps in load_today data
2026-08-15 23:40:02.072640: Processing 721 30-minute periods for power integration
2026-08-15 23:40:02.375452: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 23:40:02.382419: Car charging hold False, threshold 6.0kWh
2026-08-15 23:40:02.382507: Current data so far today: load 12.15kWh, import 27.9kWh, export 0.0kWh, PV 0kWh
2026-08-15 23:40:02.410540: Cars: SoC: [8.204]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 23:40:02.414589: Standing charge is set to 49.98p
2026-08-15 23:40:02.590374: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 23:40:02.590490: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 23:40:02.590769: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 55.0 minutes
2026-08-15 23:40:02.591282: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 55.0 minutes
2026-08-15 23:40:02.598534: Loaded 95 datapoints of futurerate analysis
2026-08-15 23:40:02.777595: Predicted future rates: ['08-15 00:00:00 => 28.69 / 20.01', '08-15 01:00:00 => 27.33 / 19.31', '08-15 02:00:00 => 26.31 / 18.8', '08-15 03:00:00 => 25.78 / 18.53', '08-15 04:00:00 => 25.59 / 18.43', '08-15 05:00:00 => 25.75 / 18.51', '08-15 06:00:00 => 25.34 / 18.3', '08-15 07:00:00 => 24.12 / 17.68', '08-15 08:00:00 => 22.82 / 17.01', '08-15 09:00:00 => 21.84 / 16.51', '08-15 10:00:00 => 20.22 / 15.68', '08-15 11:00:00 => 17.8 / 14.45', '08-15 12:00:00 => 16.16 / 13.61', '08-15 13:00:00 => 15.55 / 13.3', '08-15 14:00:00 => 15.14 / 13.09', '08-15 15:00:00 => 15.65 / 13.35', '08-15 16:00:00 => 32.68 / 16.13', '08-15 17:00:00 => 37.81 / 18.75', '08-15 18:00:00 => 42.15 / 20.96', '08-15 19:00:00 => 30.88 / 21.13', '08-15 20:00:00 => 31.43 / 21.41', '08-15 21:00:00 => 31.43 / 21.41', '08-15 22:00:00 => 30.37 / 20.87', '08-15 23:00:00 => 29.16 / 20.25', '08-16 00:00:00 => 28.62 / 19.97', '08-16 01:00:00 => 27.52 / 19.41', '08-16 02:00:00 => 26.55 / 18.92', '08-16 03:00:00 => 26.18 / 18.73', '08-16 04:00:00 => 26.12 / 18.7', '08-16 05:00:00 => 26.02 / 18.65', '08-16 06:00:00 => 25.78 / 18.53', '08-16 07:00:00 => 25.43 / 18.35', '08-16 08:00:00 => 24.63 / 17.94', '08-16 09:00:00 => 24.05 / 17.64', '08-16 10:00:00 => 24.59 / 17.92', '08-16 11:00:00 => 24.5 / 17.87', '08-16 12:00:00 => 23.58 / 17.4', '08-16 13:00:00 => 22.93 / 17.07', '08-16 14:00:00 => 21.8 / 16.49', '08-16 15:00:00 => 21.8 / 16.49', '08-16 16:00:00 => 36.93 / 18.3', '08-16 17:00:00 => 39.92 / 19.83', '08-16 18:00:00 => 43.98 / 21.9', '08-16 19:00:00 => 32.83 / 22.13', '08-16 20:00:00 => 33.62 / 22.53', '08-16 21:00:00 => 33.52 / 22.48', '08-16 22:00:00 => 32.15 / 21.78']
2026-08-15 23:40:02.876230: Rate min forward looking: now 21.41p at end of forecast 21.41p
2026-08-15 23:40:02.881959: Import rates: min 21.41p, max 45.28p, average 28.73p
2026-08-15 23:40:02.958635: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 23:40:02.968628: Rate thresholds (for charge/export) are import 44.78p (0.0p), export -0.1p (0.0p)
2026-08-15 23:40:02.972470: High export rate found rates in range 99p to -99p
2026-08-15 23:40:03.140126: Low Import rate found rates in range 21.41p to 44.34p
2026-08-15 23:40:03.140499: Car 0 charging is not planned as it is not plugged in
2026-08-15 23:40:03.178332: Battery level now 12.62kWh, -1hr ago 13.86kWh, at midnight 1.66kWh, battery value change in the last hour -22.66p, change today 201.73p, rate_forward 18.39p
2026-08-15 23:40:03.179159: Last hour: net energy 0.0kWh, import 0.0kWh, export 0.0kWh, car 0kWh, load 1.25kWh, net cost 0.13p, import 0.13p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 23:40:03.398118: Today's energy total net 27.9kWh, import 27.9kWh, export 0.0kWh, cost 576.57p, import 526.58p, export 0.0p, carbon 0.0kg
2026-08-15 23:40:03.398393: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 23:40:03.576025: Using weighted-bucket historical load forecast over 14 days
2026-08-15 23:40:03.610829: Today's load divergence 79.96%, in-day adjustment 81.84%, damping 0.95x, yesterday 143.77% today 80.97% blend 1.39%
2026-08-15 23:40:03.611170: Today's predicted so far 14.7kWh with 0.0kWh car/iBoost excluded, 20.92kWh import ignored, and 14.7kWh forecast extra.
2026-08-15 23:40:03.611247: Today's actual load so far 12.19kWh with 0.0kWh car/iBoost excluded, and 20.92kWh import ignored.
2026-08-15 23:40:03.656762: Inverter 0: Type SK Sunsynk
2026-08-15 23:40:03.656862: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 23:40:03.657089: Reserve min: 7%, battery_min: 7%
2026-08-15 23:40:03.657170: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 23:40:03.657436: Inverter 0 SoC: 12.62kW 79%, current charge rate 5000W, current discharge rate 5250W, current battery power 536W, current battery voltage 51.2V, grid power -55W, load power 590W, PV Power 0W
2026-08-15 23:40:03.657601: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 23:40:03.657712: Inverter 0 scheduled charge enable is False
2026-08-15 23:40:03.657753: Inverter 0 charge windows currently []
2026-08-15 23:40:03.657780: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 23:40:03.657891: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 23:40:03.657929: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 23:40:03.657965: Inverter 0 scheduled discharge enable is False
2026-08-15 23:40:03.658090: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 23:40:03.658130: Inverter 0 discharge windows currently []
2026-08-15 23:40:03.658153: Note: Inverter does not support discharge freeze - disabled
2026-08-15 23:40:03.658171: Note: Inverter does not support charge freeze - disabled
2026-08-15 23:40:03.658195: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 23:40:03.742489: Dynamic load last period 0.60kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 23:40:03.742627: Plan was last updated on 2026-08-15 23:35:00+01:00 and is now 5.0 minutes old
2026-08-15 23:40:03.743096: Best charge window [ 16-08 11:30:00 - 16-08 12:30:00 @ 23.46p 31%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 38%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 50%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 100%, 16-08 14:30:00 - 16-08 16:00:00 @ 22.56p 78%, 17-08 12:30:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 17-08 22:30:00 @ 34.7p 100% ]
2026-08-15 23:40:03.743154: Best export window [  ]
2026-08-15 23:40:03.744451: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 23:40:03.749504: Load divergence over 8.0 hours mean 713.91W, min 293.4W, max 2447.4W, std dev 444.32W, divergence 31.12%
2026-08-15 23:40:03.784222: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 23:40:03.784590: LoadML is_calculating True
2026-08-15 23:40:03.784796: Not using thread pool as LoadML is calculating to avoid lockups
2026-08-15 23:40:03.862560: predict base end_record 08-17 12:35:00, final soc 1.12kWh, metric 1070.42p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 16:25:00, load 36.17kWh, PV 0.0kWh
2026-08-15 23:40:04.206688: Battery has 16.75 hours left - now at 12.62kWh
2026-08-15 23:40:04.338661: predict base10 end_record 08-17 12:35:00, final soc 1.12kWh, metric 1103.59p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 15:25:00, load 37.31kWh, PV 0.0kWh
2026-08-15 23:40:04.530793: predict best10 end_record 08-17 12:35:00, final soc 1.44kWh, metric 1038.26p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 07:05:00, load 37.31kWh, PV 0.0kWh
2026-08-15 23:40:04.692842: predict best end_record 08-17 12:35:00, final soc 1.51kWh, metric 1010.19p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 08:20:00, load 36.17kWh, PV 0.0kWh
2026-08-15 23:40:04.693092: Saving plan best values to HA entities
2026-08-15 23:40:05.116524: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 23:40:05.128309: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 23:40:05.145731: Best charging limit SoC's [5.0, 6.0, 8.0, 16.0, 12.5, 16.0, 16.0]kWh, export []kWh gives import battery 11.99kWh, house 2.83kWh, export 0.0kWh, metric 1010.19p, metric10 1038.26p
2026-08-15 23:40:05.297543: Marginal costs baseline metric (no standing charge): 910.2253
2026-08-15 23:40:05.751745: Marginal energy costs matrix computed: min=23.26 max=27.34
2026-08-15 23:40:05.927955: Rate array import [{'start': 1420, 'end': 2400, 'rate': 'cheap', 'range': '(21.4p - 28.2p)'}, {'start': 2400, 'end': 2430, 'rate': 'expensive', 'range': '(36.8p)'}, {'start': 2430, 'end': 2580, 'rate': 'very expensive', 'range': '(37.5p - 45.3p)'}, {'start': 2580, 'end': 2850, 'rate': 'expensive', 'range': '(30.0p - 35.9p)'}, {'start': 2850, 'end': 3635, 'rate': 'cheap', 'range': '(22.3p - 28.2p)'}] export [{'start': 1420, 'end': 3635, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 23:40:05.929203: - Your estimated bill for today is £5.77 and tomorrow is £3.04
2026-08-15 23:40:05.929593: - Import rates are cheap (21.4p - 28.2p) for the next 16 hours and then expensive (36.8p) for the next 30 minutes.
2026-08-15 23:40:05.929652: - The battery is currently at 79% and is in eco mode for the next 11 hours.
2026-08-15 23:40:05.929745: - For the next 48 hours there will be no solar generation.
2026-08-15 23:40:05.929791: - You will run out of battery in 32 hours.
2026-08-15 23:40:05.929817: - Your next charge slot will be in 11 hours where import rates will be cheap (23.5p).
2026-08-15 23:40:05.930020: 
2026-08-15 23:40:06.037434: Plan calculation took 2.29 seconds
2026-08-15 23:40:06.053124: No high rate period found
2026-08-15 23:40:06.169476: Import threshold used for optimisation was 24.25p
2026-08-15 23:40:06.288131: Low import rate windows [0: 08-15 23:30:00 - 08-16 00:00:00 @ 27.8, 1: 08-16 00:00:00 - 08-16 00:30:00 @ 28.18, 2: 08-16 00:30:00 - 08-16 01:00:00 @ 27.38, 3: 08-16 01:00:00 - 08-16 01:30:00 @ 26.7, 4: 08-16 01:30:00 - 08-16 02:00:00 @ 26.31, 5: 08-16 02:00:00 - 08-16 02:30:00 @ 25.79, 6: 08-16 02:30:00 - 08-16 03:00:00 @ 25.86, 7: 08-16 03:00:00 - 08-16 03:30:00 @ 26.13, 8: 08-16 03:30:00 - 08-16 04:00:00 @ 25.86, 9: 08-16 04:00:00 - 08-16 04:30:00 @ 26.27, 10: 08-16 04:30:00 - 08-16 05:00:00 @ 26.14, 11: 08-16 05:00:00 - 08-16 05:30:00 @ 27.03, 12: 08-16 05:30:00 - 08-16 06:00:00 @ 26.28, 13: 08-16 06:00:00 - 08-16 06:30:00 @ 25.68, 14: 08-16 06:30:00 - 08-16 07:00:00 @ 26.1, 15: 08-16 07:00:00 - 08-16 07:30:00 @ 24.28, 16: 08-16 07:30:00 - 08-16 08:00:00 @ 24.94, 17: 08-16 08:00:00 - 08-16 08:30:00 @ 24.06, 18: 08-16 08:30:00 - 08-16 09:00:00 @ 24.39, 19: 08-16 09:00:00 - 08-16 09:30:00 @ 24.66, 20: 08-16 09:30:00 - 08-16 10:00:00 @ 24.06, 21: 08-16 10:00:00 - 08-16 10:30:00 @ 25.5, 22: 08-16 10:30:00 - 08-16 11:00:00 @ 24.94, 23: 08-16 11:00:00 - 08-16 11:30:00 @ 24.25, 24: 08-16 11:30:00 - 08-16 12:00:00 @ 23.49, 25: 08-16 12:00:00 - 08-16 12:30:00 @ 23.43, 26: 08-16 12:30:00 - 08-16 13:00:00 @ 22.33, 27: 08-16 13:00:00 - 08-16 13:30:00 @ 22.76, 28: 08-16 13:30:00 - 08-16 14:00:00 @ 22.3, 29: 08-16 14:00:00 - 08-16 14:30:00 @ 21.41, 30: 08-16 14:30:00 - 08-16 15:00:00 @ 21.65, 31: 08-16 15:00:00 - 08-16 15:30:00 @ 22.95, 32: 08-16 15:30:00 - 08-16 16:00:00 @ 22.83, 33: 08-16 16:00:00 - 08-16 16:30:00 @ 36.84, 34: 08-16 16:30:00 - 08-16 17:00:00 @ 37.54, 35: 08-16 17:00:00 - 08-16 17:30:00 @ 41.79, 36: 08-16 17:30:00 - 08-16 18:00:00 @ 43.7, 37: 08-16 18:00:00 - 08-16 18:30:00 @ 44.34, 38: 08-16 19:00:00 - 08-16 19:30:00 @ 34.79, 39: 08-16 19:30:00 - 08-16 20:00:00 @ 34.76, 40: 08-16 20:00:00 - 08-16 20:30:00 @ 35.62, 41: 08-16 20:30:00 - 08-16 21:00:00 @ 35.3, 42: 08-16 21:00:00 - 08-16 21:30:00 @ 35.89, 43: 08-16 21:30:00 - 08-16 22:00:00 @ 35.71, 44: 08-16 22:00:00 - 08-16 22:30:00 @ 33.75, 45: 08-16 22:30:00 - 08-16 23:00:00 @ 32.0, 46: 08-16 23:00:00 - 08-16 23:30:00 @ 30.02, 47: 08-16 23:30:00 - 08-17 00:00:00 @ 27.8, 48: 08-17 00:00:00 - 08-17 00:30:00 @ 28.18, 49: 08-17 00:30:00 - 08-17 01:00:00 @ 27.38, 50: 08-17 01:00:00 - 08-17 01:30:00 @ 26.7, 51: 08-17 01:30:00 - 08-17 02:00:00 @ 26.31, 52: 08-17 02:00:00 - 08-17 02:30:00 @ 25.79, 53: 08-17 02:30:00 - 08-17 03:00:00 @ 25.86, 54: 08-17 03:00:00 - 08-17 03:30:00 @ 26.13, 55: 08-17 03:30:00 - 08-17 04:00:00 @ 25.86, 56: 08-17 04:00:00 - 08-17 04:30:00 @ 26.27, 57: 08-17 04:30:00 - 08-17 05:00:00 @ 26.14, 58: 08-17 05:00:00 - 08-17 05:30:00 @ 27.03, 59: 08-17 05:30:00 - 08-17 06:00:00 @ 26.28, 60: 08-17 06:00:00 - 08-17 06:30:00 @ 25.68, 61: 08-17 06:30:00 - 08-17 07:00:00 @ 26.1, 62: 08-17 07:00:00 - 08-17 07:30:00 @ 24.28, 63: 08-17 07:30:00 - 08-17 08:00:00 @ 24.94, 64: 08-17 08:00:00 - 08-17 08:30:00 @ 24.06, 65: 08-17 08:30:00 - 08-17 09:00:00 @ 24.39, 66: 08-17 09:00:00 - 08-17 09:30:00 @ 24.66, 67: 08-17 09:30:00 - 08-17 10:00:00 @ 24.06, 68: 08-17 10:00:00 - 08-17 10:30:00 @ 25.5, 69: 08-17 10:30:00 - 08-17 11:00:00 @ 24.94, 70: 08-17 11:00:00 - 08-17 11:30:00 @ 24.25, 71: 08-17 11:30:00 - 08-17 12:00:00 @ 23.49, 72: 08-17 12:00:00 - 08-17 12:30:00 @ 23.43, 73: 08-17 12:30:00 - 08-17 13:00:00 @ 22.33, 74: 08-17 13:00:00 - 08-17 13:30:00 @ 22.76, 75: 08-17 13:30:00 - 08-17 14:00:00 @ 22.3, 76: 08-17 14:00:00 - 08-17 14:30:00 @ 21.41, 77: 08-17 14:30:00 - 08-17 15:00:00 @ 21.65, 78: 08-17 15:00:00 - 08-17 15:30:00 @ 22.95, 79: 08-17 15:30:00 - 08-17 16:00:00 @ 22.83, 80: 08-17 16:00:00 - 08-17 16:30:00 @ 36.84, 81: 08-17 16:30:00 - 08-17 17:00:00 @ 37.54, 82: 08-17 17:00:00 - 08-17 17:30:00 @ 41.79, 83: 08-17 17:30:00 - 08-17 18:00:00 @ 43.7, 84: 08-17 18:00:00 - 08-17 18:30:00 @ 44.34, 85: 08-17 19:00:00 - 08-17 19:30:00 @ 34.79, 86: 08-17 19:30:00 - 08-17 20:00:00 @ 34.76, 87: 08-17 20:00:00 - 08-17 20:30:00 @ 35.62, 88: 08-17 20:30:00 - 08-17 21:00:00 @ 35.3, 89: 08-17 21:00:00 - 08-17 21:30:00 @ 35.89, 90: 08-17 21:30:00 - 08-17 22:00:00 @ 35.71, 91: 08-17 22:00:00 - 08-17 22:30:00 @ 33.75, 92: 08-17 22:30:00 - 08-17 23:00:00 @ 32.0, 93: 08-17 23:00:00 - 08-17 23:30:00 @ 30.02, 94: 08-17 23:30:00 - 08-18 00:00:00 @ 27.8]
2026-08-15 23:40:06.304894: Inverter 0 Charge window will be: 2026-08-16 11:30:00+01:00 - 2026-08-16 16:00:00+01:00 - current SoC 79%, target 31%
2026-08-15 23:40:06.306462: Inverter 0 disabled charge window while waiting for schedule (now 08-15 23:40:00 target set_window_minutes 30 charge start time 08-16 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 23:40:06.306877: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 23:40:06.313299: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 23:40:06.313485: No export window planned
2026-08-15 23:40:06.313640: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 23:40:06.313683: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 23:40:06.313925: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 23:40:06.314107: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 23:40:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 23:40:06.314163: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 23:40:06.314214: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 23:40:06.314306: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 23:40:06.314347: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 23:40:06.314375: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 23:40:06.314523: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 23:40:06.314616: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 23:40:06.314761: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 23:40:06.314840: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 23:40:06.314924: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 23:40:06.314956: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 23:40:06.314982: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 23:40:06.315082: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 23:40:06.315125: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 23:40:06.315216: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 23:40:06.315257: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 23:40:06.315340: Inverter 0 count register writes 0
2026-08-15 23:40:06.354245: Will not recompute the plan, it is 5.0 minutes old and max age is 10 minutes
2026-08-15 23:40:06.362448: Total inverter register writes now 826
2026-08-15 23:40:06.407157: Info: Completed run status Demand
2026-08-15 23:40:06.418891: Info: record_status Demand
2026-08-15 23:40:06.433427: Saved current settings to /config/predbat_config.json
2026-08-15 23:40:06.433877: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 23:40:31.990042: ML Predictor: Epoch 7/30: lr=0.00091 huber_loss=0.0111 val_mae=0.0043 kWh val_bias=-0.0019 kWh (-2.7%) combined=0.0035 kWh ema_combined=0.0034 kWh
2026-08-15 23:40:41.591756: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 23:40:41.592099: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 23:40:41.592176: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 23:40:41.592394: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 23:40:41.592461: Note: Inverter does not support discharge freeze - disabled
2026-08-15 23:40:41.592497: Note: Inverter does not support charge freeze - disabled
2026-08-15 23:40:41.592657: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 23:41:06.205090: ML Predictor: Epoch 8/30: lr=0.00088 huber_loss=0.0096 val_mae=0.0041 kWh val_bias=-0.0011 kWh (-1.6%) combined=0.0028 kWh ema_combined=0.0032 kWh
2026-08-15 23:41:42.905963: ML Predictor: Epoch 9/30: lr=0.00084 huber_loss=0.0099 val_mae=0.0038 kWh val_bias=+0.0006 kWh (+0.9%) combined=0.0023 kWh ema_combined=0.0029 kWh
2026-08-15 23:42:15.183116: ML Predictor: Epoch 10/30: lr=0.00080 huber_loss=0.0084 val_mae=0.0043 kWh val_bias=-0.0001 kWh (-0.1%) combined=0.0031 kWh ema_combined=0.0030 kWh
2026-08-15 23:42:42.156234: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 23:42:42.156535: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 23:42:42.156588: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 23:42:42.156781: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 23:42:42.156832: Note: Inverter does not support discharge freeze - disabled
2026-08-15 23:42:42.156860: Note: Inverter does not support charge freeze - disabled
2026-08-15 23:42:42.156908: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 23:42:47.870788: ML Predictor: Epoch 11/30: lr=0.00076 huber_loss=0.0082 val_mae=0.0041 kWh val_bias=-0.0017 kWh (-2.5%) combined=0.0029 kWh ema_combined=0.0030 kWh
2026-08-15 23:43:21.187484: ML Predictor: Epoch 12/30: lr=0.00072 huber_loss=0.0072 val_mae=0.0036 kWh val_bias=+0.0001 kWh (+0.1%) combined=0.0019 kWh ema_combined=0.0027 kWh
2026-08-15 23:43:53.139560: ML Predictor: Epoch 13/30: lr=0.00067 huber_loss=0.0089 val_mae=0.0036 kWh val_bias=+0.0008 kWh (+1.2%) combined=0.0032 kWh ema_combined=0.0028 kWh
2026-08-15 23:44:26.923579: ML Predictor: Epoch 14/30: lr=0.00062 huber_loss=0.0082 val_mae=0.0035 kWh val_bias=-0.0007 kWh (-1.0%) combined=0.0019 kWh ema_combined=0.0026 kWh
2026-08-15 23:44:56.668246: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 23:44:56.668498: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 23:44:56.668544: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 23:44:56.668703: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 23:44:56.668748: Note: Inverter does not support discharge freeze - disabled
2026-08-15 23:44:56.668769: Note: Inverter does not support charge freeze - disabled
2026-08-15 23:44:56.668787: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 23:44:58.780991: ML Predictor: Epoch 15/30: lr=0.00057 huber_loss=0.0071 val_mae=0.0030 kWh val_bias=-0.0003 kWh (-0.4%) combined=0.0015 kWh ema_combined=0.0023 kWh
2026-08-15 23:45:00.828862: --------------- PredBat - update at 2026-08-15 23:45:00+01:00 with clock skew 0 minutes, minutes now 1425
2026-08-15 23:45:00.830368: Saved current settings to /config/predbat_config.json
2026-08-15 23:45:00.830706: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 70.0 minutes
2026-08-15 23:45:00.830915: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.2, latest beta is v8.48.2
2026-08-15 23:45:00.831146: Autoupdate: There is an update pending v8.48.2 PV90 and second pass enabled by default, bug fixes - auto update is off
2026-08-15 23:45:00.894855: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 23:45:00.895231: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 23:45:00.895683: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 23:45:00.909819: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 23:45:00.910218: Predbat mode is set to Control charge & discharge
2026-08-15 23:45:01.259744: Found 21602 load_today datapoints going back 28 days
2026-08-15 23:45:01.259998: Using load_power data to fill gaps in load_today data
2026-08-15 23:45:02.664129: Processing 721 30-minute periods for power integration
2026-08-15 23:45:02.984234: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 23:45:02.984540: Car charging hold False, threshold 6.0kWh
2026-08-15 23:45:02.984733: Current data so far today: load 12.2kWh, import 27.9kWh, export 0.0kWh, PV 0kWh
2026-08-15 23:45:03.010730: Cars: SoC: [8.204]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 23:45:03.012524: Standing charge is set to 49.98p
2026-08-15 23:45:03.134256: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 23:45:03.134521: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 23:45:03.135177: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 60.0 minutes
2026-08-15 23:45:03.136888: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 60.0 minutes
2026-08-15 23:45:03.146191: Loaded 95 datapoints of futurerate analysis
2026-08-15 23:45:03.372486: Predicted future rates: ['08-15 00:00:00 => 28.69 / 20.01', '08-15 01:00:00 => 27.33 / 19.31', '08-15 02:00:00 => 26.31 / 18.8', '08-15 03:00:00 => 25.78 / 18.53', '08-15 04:00:00 => 25.59 / 18.43', '08-15 05:00:00 => 25.75 / 18.51', '08-15 06:00:00 => 25.34 / 18.3', '08-15 07:00:00 => 24.12 / 17.68', '08-15 08:00:00 => 22.82 / 17.01', '08-15 09:00:00 => 21.84 / 16.51', '08-15 10:00:00 => 20.22 / 15.68', '08-15 11:00:00 => 17.8 / 14.45', '08-15 12:00:00 => 16.16 / 13.61', '08-15 13:00:00 => 15.55 / 13.3', '08-15 14:00:00 => 15.14 / 13.09', '08-15 15:00:00 => 15.65 / 13.35', '08-15 16:00:00 => 32.68 / 16.13', '08-15 17:00:00 => 37.81 / 18.75', '08-15 18:00:00 => 42.15 / 20.96', '08-15 19:00:00 => 30.88 / 21.13', '08-15 20:00:00 => 31.43 / 21.41', '08-15 21:00:00 => 31.43 / 21.41', '08-15 22:00:00 => 30.37 / 20.87', '08-15 23:00:00 => 29.16 / 20.25', '08-16 00:00:00 => 28.62 / 19.97', '08-16 01:00:00 => 27.52 / 19.41', '08-16 02:00:00 => 26.55 / 18.92', '08-16 03:00:00 => 26.18 / 18.73', '08-16 04:00:00 => 26.12 / 18.7', '08-16 05:00:00 => 26.02 / 18.65', '08-16 06:00:00 => 25.78 / 18.53', '08-16 07:00:00 => 25.43 / 18.35', '08-16 08:00:00 => 24.63 / 17.94', '08-16 09:00:00 => 24.05 / 17.64', '08-16 10:00:00 => 24.59 / 17.92', '08-16 11:00:00 => 24.5 / 17.87', '08-16 12:00:00 => 23.58 / 17.4', '08-16 13:00:00 => 22.93 / 17.07', '08-16 14:00:00 => 21.8 / 16.49', '08-16 15:00:00 => 21.8 / 16.49', '08-16 16:00:00 => 36.93 / 18.3', '08-16 17:00:00 => 39.92 / 19.83', '08-16 18:00:00 => 43.98 / 21.9', '08-16 19:00:00 => 32.83 / 22.13', '08-16 20:00:00 => 33.62 / 22.53', '08-16 21:00:00 => 33.52 / 22.48', '08-16 22:00:00 => 32.15 / 21.78']
2026-08-15 23:45:03.410590: Rate min forward looking: now 21.41p at end of forecast 21.41p
2026-08-15 23:45:03.411082: Import rates: min 21.41p, max 45.28p, average 28.73p
2026-08-15 23:45:03.447581: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 23:45:03.448033: Rate thresholds (for charge/export) are import 44.78p (0.0p), export -0.1p (0.0p)
2026-08-15 23:45:03.449337: High export rate found rates in range 99p to -99p
2026-08-15 23:45:03.545222: Low Import rate found rates in range 21.41p to 44.34p
2026-08-15 23:45:03.545356: Car 0 charging is not planned as it is not plugged in
2026-08-15 23:45:03.560305: Battery level now 12.62kWh, -1hr ago 13.74kWh, at midnight 1.66kWh, battery value change in the last hour -20.6p, change today 201.73p, rate_forward 18.39p
2026-08-15 23:45:03.560642: Last hour: net energy 0.0kWh, import 0.0kWh, export 0.0kWh, car 0kWh, load 1.2kWh, net cost 0.0p, import 0.0p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 23:45:03.680407: Today's energy total net 27.9kWh, import 27.9kWh, export 0.0kWh, cost 576.57p, import 526.58p, export 0.0p, carbon 0.0kg
2026-08-15 23:45:03.680634: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 23:45:03.847084: Using weighted-bucket historical load forecast over 14 days
2026-08-15 23:45:03.874049: Today's load divergence 79.4%, in-day adjustment 81.09%, damping 0.95x, yesterday 143.77% today 80.43% blend 1.04%
2026-08-15 23:45:03.874146: Today's predicted so far 14.77kWh with 0.0kWh car/iBoost excluded, 20.9kWh import ignored, and 14.77kWh forecast extra.
2026-08-15 23:45:03.874177: Today's actual load so far 12.2kWh with 0.0kWh car/iBoost excluded, and 20.9kWh import ignored.
2026-08-15 23:45:03.955966: Inverter 0: Type SK Sunsynk
2026-08-15 23:45:03.956077: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 23:45:03.956404: Reserve min: 7%, battery_min: 7%
2026-08-15 23:45:03.956625: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 23:45:03.965223: Inverter 0 SoC: 12.4kW 78%, current charge rate 5000W, current discharge rate 5250W, current battery power 528W, current battery voltage 51.2V, grid power -52W, load power 582W, PV Power 0W
2026-08-15 23:45:03.965510: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 23:45:03.965723: Inverter 0 scheduled charge enable is False
2026-08-15 23:45:03.965795: Inverter 0 charge windows currently []
2026-08-15 23:45:03.965868: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 23:45:03.966146: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 23:45:03.966196: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 23:45:03.966274: Inverter 0 scheduled discharge enable is False
2026-08-15 23:45:03.966515: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 23:45:03.966566: Inverter 0 discharge windows currently []
2026-08-15 23:45:03.966640: Note: Inverter does not support discharge freeze - disabled
2026-08-15 23:45:03.966669: Note: Inverter does not support charge freeze - disabled
2026-08-15 23:45:03.966726: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 23:45:04.159454: Dynamic load last period 0.60kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 23:45:04.159577: Plan was last updated on 2026-08-15 23:35:00+01:00 and is now 10.0 minutes old
2026-08-15 23:45:04.160052: Best charge window [ 16-08 11:30:00 - 16-08 12:30:00 @ 23.46p 31%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 38%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 50%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 100%, 16-08 14:30:00 - 16-08 16:00:00 @ 22.56p 78%, 17-08 12:30:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 17-08 22:30:00 @ 34.7p 100% ]
2026-08-15 23:45:04.160113: Best export window [  ]
2026-08-15 23:45:04.161167: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 23:45:04.164547: Load divergence over 8.0 hours mean 698.36W, min 294.0W, max 2127.6W, std dev 420.57W, divergence 30.11%
2026-08-15 23:45:04.229014: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 23:45:04.229155: LoadML is_calculating True
2026-08-15 23:45:04.229230: Not using thread pool as LoadML is calculating to avoid lockups
2026-08-15 23:45:04.324565: predict base end_record 08-17 12:40:00, final soc 1.12kWh, metric 1075.93p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 16:10:00, load 36.19kWh, PV 0.0kWh
2026-08-15 23:45:04.630130: Battery has 16.42 hours left - now at 12.4kWh
2026-08-15 23:45:04.700310: predict base10 end_record 08-17 12:40:00, final soc 1.12kWh, metric 1107.65p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 15:15:00, load 37.33kWh, PV 0.0kWh
2026-08-15 23:45:04.835847: predict best10 end_record 08-17 12:40:00, final soc 1.77kWh, metric 1050.39p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 07:10:00, load 37.33kWh, PV 0.0kWh
2026-08-15 23:45:04.973674: predict best end_record 08-17 12:40:00, final soc 1.9kWh, metric 1023.93p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 08:20:00, load 36.19kWh, PV 0.0kWh
2026-08-15 23:45:04.973785: Saving plan best values to HA entities
2026-08-15 23:45:05.465726: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 23:45:05.482106: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 23:45:05.493658: Best charging limit SoC's [5.0, 6.0, 8.0, 16.0, 12.5, 16.0, 16.0]kWh, export []kWh gives import battery 12.59kWh, house 2.83kWh, export 0.0kWh, metric 1023.93p, metric10 1050.39p
2026-08-15 23:45:05.682768: Marginal costs baseline metric (no standing charge): 923.968
2026-08-15 23:45:06.264999: Marginal energy costs matrix computed: min=23.17 max=27.29
2026-08-15 23:45:06.383139: Rate array import [{'start': 1425, 'end': 2400, 'rate': 'cheap', 'range': '(21.4p - 28.2p)'}, {'start': 2400, 'end': 2430, 'rate': 'expensive', 'range': '(36.8p)'}, {'start': 2430, 'end': 2580, 'rate': 'very expensive', 'range': '(37.5p - 45.3p)'}, {'start': 2580, 'end': 2850, 'rate': 'expensive', 'range': '(30.0p - 35.9p)'}, {'start': 2850, 'end': 3640, 'rate': 'cheap', 'range': '(22.3p - 28.2p)'}] export [{'start': 1425, 'end': 3640, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 23:45:06.384129: - Your estimated bill for today is £5.77 and tomorrow is £3.07
2026-08-15 23:45:06.384190: - Import rates are cheap (21.4p - 28.2p) for the next 16 hours and then expensive (36.8p) for the next 30 minutes.
2026-08-15 23:45:06.384215: - The battery is currently at 78% and is in eco mode for the next 11 hours.
2026-08-15 23:45:06.384283: - For the next 48 hours there will be no solar generation.
2026-08-15 23:45:06.384360: - You will run out of battery in 32 hours.
2026-08-15 23:45:06.384445: - Your next charge slot will be in 11 hours where import rates will be cheap (23.5p).
2026-08-15 23:45:06.384481: 
2026-08-15 23:45:06.438261: Plan calculation took 2.28 seconds
2026-08-15 23:45:06.442779: No high rate period found
2026-08-15 23:45:06.580298: Import threshold used for optimisation was 24.25p
2026-08-15 23:45:06.737419: Low import rate windows [0: 08-15 23:30:00 - 08-16 00:00:00 @ 27.8, 1: 08-16 00:00:00 - 08-16 00:30:00 @ 28.18, 2: 08-16 00:30:00 - 08-16 01:00:00 @ 27.38, 3: 08-16 01:00:00 - 08-16 01:30:00 @ 26.7, 4: 08-16 01:30:00 - 08-16 02:00:00 @ 26.31, 5: 08-16 02:00:00 - 08-16 02:30:00 @ 25.79, 6: 08-16 02:30:00 - 08-16 03:00:00 @ 25.86, 7: 08-16 03:00:00 - 08-16 03:30:00 @ 26.13, 8: 08-16 03:30:00 - 08-16 04:00:00 @ 25.86, 9: 08-16 04:00:00 - 08-16 04:30:00 @ 26.27, 10: 08-16 04:30:00 - 08-16 05:00:00 @ 26.14, 11: 08-16 05:00:00 - 08-16 05:30:00 @ 27.03, 12: 08-16 05:30:00 - 08-16 06:00:00 @ 26.28, 13: 08-16 06:00:00 - 08-16 06:30:00 @ 25.68, 14: 08-16 06:30:00 - 08-16 07:00:00 @ 26.1, 15: 08-16 07:00:00 - 08-16 07:30:00 @ 24.28, 16: 08-16 07:30:00 - 08-16 08:00:00 @ 24.94, 17: 08-16 08:00:00 - 08-16 08:30:00 @ 24.06, 18: 08-16 08:30:00 - 08-16 09:00:00 @ 24.39, 19: 08-16 09:00:00 - 08-16 09:30:00 @ 24.66, 20: 08-16 09:30:00 - 08-16 10:00:00 @ 24.06, 21: 08-16 10:00:00 - 08-16 10:30:00 @ 25.5, 22: 08-16 10:30:00 - 08-16 11:00:00 @ 24.94, 23: 08-16 11:00:00 - 08-16 11:30:00 @ 24.25, 24: 08-16 11:30:00 - 08-16 12:00:00 @ 23.49, 25: 08-16 12:00:00 - 08-16 12:30:00 @ 23.43, 26: 08-16 12:30:00 - 08-16 13:00:00 @ 22.33, 27: 08-16 13:00:00 - 08-16 13:30:00 @ 22.76, 28: 08-16 13:30:00 - 08-16 14:00:00 @ 22.3, 29: 08-16 14:00:00 - 08-16 14:30:00 @ 21.41, 30: 08-16 14:30:00 - 08-16 15:00:00 @ 21.65, 31: 08-16 15:00:00 - 08-16 15:30:00 @ 22.95, 32: 08-16 15:30:00 - 08-16 16:00:00 @ 22.83, 33: 08-16 16:00:00 - 08-16 16:30:00 @ 36.84, 34: 08-16 16:30:00 - 08-16 17:00:00 @ 37.54, 35: 08-16 17:00:00 - 08-16 17:30:00 @ 41.79, 36: 08-16 17:30:00 - 08-16 18:00:00 @ 43.7, 37: 08-16 18:00:00 - 08-16 18:30:00 @ 44.34, 38: 08-16 19:00:00 - 08-16 19:30:00 @ 34.79, 39: 08-16 19:30:00 - 08-16 20:00:00 @ 34.76, 40: 08-16 20:00:00 - 08-16 20:30:00 @ 35.62, 41: 08-16 20:30:00 - 08-16 21:00:00 @ 35.3, 42: 08-16 21:00:00 - 08-16 21:30:00 @ 35.89, 43: 08-16 21:30:00 - 08-16 22:00:00 @ 35.71, 44: 08-16 22:00:00 - 08-16 22:30:00 @ 33.75, 45: 08-16 22:30:00 - 08-16 23:00:00 @ 32.0, 46: 08-16 23:00:00 - 08-16 23:30:00 @ 30.02, 47: 08-16 23:30:00 - 08-17 00:00:00 @ 27.8, 48: 08-17 00:00:00 - 08-17 00:30:00 @ 28.18, 49: 08-17 00:30:00 - 08-17 01:00:00 @ 27.38, 50: 08-17 01:00:00 - 08-17 01:30:00 @ 26.7, 51: 08-17 01:30:00 - 08-17 02:00:00 @ 26.31, 52: 08-17 02:00:00 - 08-17 02:30:00 @ 25.79, 53: 08-17 02:30:00 - 08-17 03:00:00 @ 25.86, 54: 08-17 03:00:00 - 08-17 03:30:00 @ 26.13, 55: 08-17 03:30:00 - 08-17 04:00:00 @ 25.86, 56: 08-17 04:00:00 - 08-17 04:30:00 @ 26.27, 57: 08-17 04:30:00 - 08-17 05:00:00 @ 26.14, 58: 08-17 05:00:00 - 08-17 05:30:00 @ 27.03, 59: 08-17 05:30:00 - 08-17 06:00:00 @ 26.28, 60: 08-17 06:00:00 - 08-17 06:30:00 @ 25.68, 61: 08-17 06:30:00 - 08-17 07:00:00 @ 26.1, 62: 08-17 07:00:00 - 08-17 07:30:00 @ 24.28, 63: 08-17 07:30:00 - 08-17 08:00:00 @ 24.94, 64: 08-17 08:00:00 - 08-17 08:30:00 @ 24.06, 65: 08-17 08:30:00 - 08-17 09:00:00 @ 24.39, 66: 08-17 09:00:00 - 08-17 09:30:00 @ 24.66, 67: 08-17 09:30:00 - 08-17 10:00:00 @ 24.06, 68: 08-17 10:00:00 - 08-17 10:30:00 @ 25.5, 69: 08-17 10:30:00 - 08-17 11:00:00 @ 24.94, 70: 08-17 11:00:00 - 08-17 11:30:00 @ 24.25, 71: 08-17 11:30:00 - 08-17 12:00:00 @ 23.49, 72: 08-17 12:00:00 - 08-17 12:30:00 @ 23.43, 73: 08-17 12:30:00 - 08-17 13:00:00 @ 22.33, 74: 08-17 13:00:00 - 08-17 13:30:00 @ 22.76, 75: 08-17 13:30:00 - 08-17 14:00:00 @ 22.3, 76: 08-17 14:00:00 - 08-17 14:30:00 @ 21.41, 77: 08-17 14:30:00 - 08-17 15:00:00 @ 21.65, 78: 08-17 15:00:00 - 08-17 15:30:00 @ 22.95, 79: 08-17 15:30:00 - 08-17 16:00:00 @ 22.83, 80: 08-17 16:00:00 - 08-17 16:30:00 @ 36.84, 81: 08-17 16:30:00 - 08-17 17:00:00 @ 37.54, 82: 08-17 17:00:00 - 08-17 17:30:00 @ 41.79, 83: 08-17 17:30:00 - 08-17 18:00:00 @ 43.7, 84: 08-17 18:00:00 - 08-17 18:30:00 @ 44.34, 85: 08-17 19:00:00 - 08-17 19:30:00 @ 34.79, 86: 08-17 19:30:00 - 08-17 20:00:00 @ 34.76, 87: 08-17 20:00:00 - 08-17 20:30:00 @ 35.62, 88: 08-17 20:30:00 - 08-17 21:00:00 @ 35.3, 89: 08-17 21:00:00 - 08-17 21:30:00 @ 35.89, 90: 08-17 21:30:00 - 08-17 22:00:00 @ 35.71, 91: 08-17 22:00:00 - 08-17 22:30:00 @ 33.75, 92: 08-17 22:30:00 - 08-17 23:00:00 @ 32.0, 93: 08-17 23:00:00 - 08-17 23:30:00 @ 30.02, 94: 08-17 23:30:00 - 08-18 00:00:00 @ 27.8]
2026-08-15 23:45:06.751225: Inverter 0 Charge window will be: 2026-08-16 11:30:00+01:00 - 2026-08-16 16:00:00+01:00 - current SoC 78%, target 31%
2026-08-15 23:45:06.751498: Inverter 0 disabled charge window while waiting for schedule (now 08-15 23:45:00 target set_window_minutes 30 charge start time 08-16 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 23:45:06.751629: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 23:45:06.751908: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 23:45:06.752010: No export window planned
2026-08-15 23:45:06.752155: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 23:45:06.752193: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 23:45:06.752389: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 23:45:06.752615: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 23:45:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 23:45:06.752796: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 23:45:06.752992: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 23:45:06.753204: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 23:45:06.753318: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 23:45:06.753384: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 23:45:06.753512: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 23:45:06.753621: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 23:45:06.753733: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 23:45:06.753939: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 23:45:06.754183: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 23:45:06.755988: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 23:45:06.756067: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 23:45:06.756109: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 23:45:06.756160: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 23:45:06.756217: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 23:45:06.756900: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 23:45:06.757100: Inverter 0 count register writes 0
2026-08-15 23:45:06.786394: Will recompute the plan as it is now 10.0 minutes old and will exceed the max age of 10 minutes before the next run
2026-08-15 23:45:06.786816: Recompute is saving previous plan...
2026-08-15 23:45:06.791314: Best charge window [ 15-08 23:30:00 - 16-08 00:00:00 @ 27.8p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.18p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.38p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 26.7p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.31p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.79p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 25.86p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.13p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 25.86p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.27p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.14p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 27.03p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.28p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.68p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 26.1p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 24.28p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 24.94p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.06p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.39p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.66p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.06p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 25.5p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 24.94p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 24.25p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 23.49p 0%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.43p 0%, 16-08 12:30:00 - 16-08 13:00:00 @ 22.33p 0%, 16-08 13:00:00 - 16-08 13:30:00 @ 22.76p 0%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 0%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 0%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.65p 0%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.95p 0%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.83p 0%, 16-08 16:00:00 - 16-08 16:30:00 @ 36.84p 0%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.54p 0%, 16-08 17:00:00 - 16-08 17:30:00 @ 41.79p 0%, 16-08 17:30:00 - 16-08 18:00:00 @ 43.7p 0%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.34p 0%, 16-08 19:00:00 - 16-08 19:30:00 @ 34.79p 0%, 16-08 19:30:00 - 16-08 20:00:00 @ 34.76p 0%, 16-08 20:00:00 - 16-08 20:30:00 @ 35.62p 0%, 16-08 20:30:00 - 16-08 21:00:00 @ 35.3p 0%, 16-08 21:00:00 - 16-08 21:30:00 @ 35.89p 0%, 16-08 21:30:00 - 16-08 22:00:00 @ 35.71p 0%, 16-08 22:00:00 - 16-08 22:30:00 @ 33.75p 0%, 16-08 22:30:00 - 16-08 23:00:00 @ 32.0p 0%, 16-08 23:00:00 - 16-08 23:30:00 @ 30.02p 0%, 16-08 23:30:00 - 17-08 00:00:00 @ 27.8p 0%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.18p 0%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.38p 0%, 17-08 01:00:00 - 17-08 01:30:00 @ 26.7p 0%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.31p 0%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.79p 0%, 17-08 02:30:00 - 17-08 03:00:00 @ 25.86p 0%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.13p 0%, 17-08 03:30:00 - 17-08 04:00:00 @ 25.86p 0%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.27p 0%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.14p 0%, 17-08 05:00:00 - 17-08 05:30:00 @ 27.03p 0%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.28p 0%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.68p 0%, 17-08 06:30:00 - 17-08 07:00:00 @ 26.1p 0%, 17-08 07:00:00 - 17-08 07:30:00 @ 24.28p 0%, 17-08 07:30:00 - 17-08 08:00:00 @ 24.94p 0%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.06p 0%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.39p 0%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.66p 0%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.06p 0%, 17-08 10:00:00 - 17-08 10:30:00 @ 25.5p 0%, 17-08 10:30:00 - 17-08 11:00:00 @ 24.94p 0%, 17-08 11:00:00 - 17-08 11:30:00 @ 24.25p 0%, 17-08 11:30:00 - 17-08 12:00:00 @ 23.49p 0%, 17-08 12:00:00 - 17-08 12:30:00 @ 23.43p 0%, 17-08 12:30:00 - 17-08 13:00:00 @ 22.33p 0%, 17-08 13:00:00 - 17-08 13:30:00 @ 22.76p 0%, 17-08 13:30:00 - 17-08 14:00:00 @ 22.3p 0%, 17-08 14:00:00 - 17-08 14:30:00 @ 21.41p 0%, 17-08 14:30:00 - 17-08 15:00:00 @ 21.65p 0%, 17-08 15:00:00 - 17-08 15:30:00 @ 22.95p 0%, 17-08 15:30:00 - 17-08 16:00:00 @ 22.83p 0%, 17-08 16:00:00 - 17-08 16:30:00 @ 36.84p 0%, 17-08 16:30:00 - 17-08 17:00:00 @ 37.54p 0%, 17-08 17:00:00 - 17-08 17:30:00 @ 41.79p 0%, 17-08 17:30:00 - 17-08 18:00:00 @ 43.7p 0%, 17-08 18:00:00 - 17-08 18:30:00 @ 44.34p 0%, 17-08 19:00:00 - 17-08 19:30:00 @ 34.79p 0%, 17-08 19:30:00 - 17-08 20:00:00 @ 34.76p 0%, 17-08 20:00:00 - 17-08 20:30:00 @ 35.62p 0%, 17-08 20:30:00 - 17-08 21:00:00 @ 35.3p 0%, 17-08 21:00:00 - 17-08 21:30:00 @ 35.89p 0%, 17-08 21:30:00 - 17-08 22:00:00 @ 35.71p 0%, 17-08 22:00:00 - 17-08 22:30:00 @ 33.75p 0%, 17-08 22:30:00 - 17-08 23:00:00 @ 32.0p 0%, 17-08 23:00:00 - 17-08 23:30:00 @ 30.02p 0%, 17-08 23:30:00 - 18-08 00:00:00 @ 27.8p 0% ]
2026-08-15 23:45:06.791538: Best export window [  ]
2026-08-15 23:45:06.792450: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 23:45:06.796155: Load divergence over 8.0 hours mean 698.36W, min 294.0W, max 2127.6W, std dev 420.57W, divergence 30.11%
2026-08-15 23:45:06.830925: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 23:45:06.831173: LoadML is_calculating True
2026-08-15 23:45:06.831218: Not using thread pool as LoadML is calculating to avoid lockups
2026-08-15 23:45:06.844086: Calculate Best options: mode(Control charge & discharge), calculate_export_oncharge(False), calculate_export_on_pv(True), set_export_freeze_only(False), set_discharge_during_charge(True), combine_charge_slots(False), combine_export_slots(False), combine_rate_threshold(0.0), best_soc_min(0.0 kWh), best_soc_max(0.0 kWh), best_soc_keep(0.0 kWh), inverter_loss(4%), battery_loss(3%), battery_loss_discharge (3%), inverter_hybrid(True), metric_min_improvement(0.0p), metric_min_improvement_export(0.1p), metric_min_improvement_export_freeze(0.1p), metric_battery_cycle(0.0p/kWh), metric_battery_value_scaling(1.0 x) 
2026-08-15 23:45:06.845547: Optimise levels pass started at 2026-08-15 23:45:06
2026-08-15 23:45:06.845702: Optimise all windows, total charge 94 export 1
2026-08-15 23:45:13.412962: >> Region optimisation pass width 960 gives best_metric 1081.75p, best_cost 1095.27p, best_cycle 43.55kWh, best_import 23.31kWh
2026-08-15 23:45:14.344553: >> Region optimisation pass width 480 gives best_metric 1081.75p, best_cost 1095.27p, best_cycle 43.55kWh, best_import 23.31kWh
2026-08-15 23:45:15.580665: >> Region optimisation pass width 240 gives best_metric 1081.75p, best_cost 1095.27p, best_cycle 43.55kWh, best_import 23.31kWh
2026-08-15 23:45:19.422895: >> Region optimisation pass width 120 gives best_metric 1081.75p, best_cost 1095.27p, best_cycle 43.55kWh, best_import 23.31kWh
2026-08-15 23:45:19.423330: Calculated end_record as 08-17 12:30:00 based on best_price 22.33p, next_charge_start 08-16 12:30:00, max_windows 73
2026-08-15 23:45:19.423471: Optimise levels pass ended at 2026-08-15 23:45:19, duration 12.6 seconds tried 333 combinations
2026-08-15 23:45:19.423521: Set best_price_charge_level 24.0p, best_price_export_level 0p, best_price_charge 22.33p, best_cost_export 0p, best_metric 1081.75p, best_keep 0kWh, best_cycle 43.55kWh, best_carbon 0kg, best_import 23.31kWh
2026-08-15 23:45:19.440982: Starting detailed optimisation end_record 08-17 12:30:00, best_price_charge 22.33p, best_price_export 0p. lowest_price_charge 21.41p with charge limits [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 0, 16.0, 16.0, 16.0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0]kWh and export limits []kWh
2026-08-15 23:45:47.486919: Tweak plan optimisation started metric 886.29p, cost 902.58p
2026-08-15 23:45:48.061969: Tweak optimisation finished metric 886.29p, cost 902.58p, metric_keep 0kWh, cycle 27.54kWh, carbon 0kg, import 14.53kWh, changed 8 window(s)
2026-08-15 23:45:48.184523: Swap charge optimisation started metric 886.29p, cost 902.58p, min_improvement_swap 0.1p
2026-08-15 23:46:00.574396: Swap charge optimisation finished metric 886.29p, cost 902.58p
2026-08-15 23:46:00.842433: Pruned 1 dead plan slot(s) in 10 trial(s), nominal metric 881.98p -> 881.99p, plan now metric 886.39p, cost 902.59p, cycle 27.7kWh, import 14.54kWh
2026-08-15 23:46:00.855609: Raw charge windows [ 15-08 23:30:00 - 16-08 00:00:00 @ 27.8p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.18p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.38p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 26.7p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.31p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.79p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 25.86p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.13p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 25.86p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.27p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.14p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 27.03p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.28p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.68p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 26.1p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 24.28p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 24.94p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.06p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.39p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.66p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.06p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 25.5p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 24.94p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 24.25p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 23.49p 28%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.43p 28%, 16-08 12:30:00 - 16-08 13:00:00 @ 22.33p 38%, 16-08 13:00:00 - 16-08 13:30:00 @ 22.76p 38%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 100%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 100%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.65p 100%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.95p 81%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.83p 81%, 16-08 16:00:00 - 16-08 16:30:00 @ 36.84p 0%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.54p 0%, 16-08 17:00:00 - 16-08 17:30:00 @ 41.79p 0%, 16-08 17:30:00 - 16-08 18:00:00 @ 43.7p 0%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.34p 0%, 16-08 19:00:00 - 16-08 19:30:00 @ 34.79p 0%, 16-08 19:30:00 - 16-08 20:00:00 @ 34.76p 0%, 16-08 20:00:00 - 16-08 20:30:00 @ 35.62p 0%, 16-08 20:30:00 - 16-08 21:00:00 @ 35.3p 0%, 16-08 21:00:00 - 16-08 21:30:00 @ 35.89p 0%, 16-08 21:30:00 - 16-08 22:00:00 @ 35.71p 0%, 16-08 22:00:00 - 16-08 22:30:00 @ 33.75p 0%, 16-08 22:30:00 - 16-08 23:00:00 @ 32.0p 0%, 16-08 23:00:00 - 16-08 23:30:00 @ 30.02p 0%, 16-08 23:30:00 - 17-08 00:00:00 @ 27.8p 0%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.18p 0%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.38p 0%, 17-08 01:00:00 - 17-08 01:30:00 @ 26.7p 0%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.31p 0%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.79p 0%, 17-08 02:30:00 - 17-08 03:00:00 @ 25.86p 0%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.13p 0%, 17-08 03:30:00 - 17-08 04:00:00 @ 25.86p 0%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.27p 0%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.14p 0%, 17-08 05:00:00 - 17-08 05:30:00 @ 27.03p 0%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.28p 0%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.68p 0%, 17-08 06:30:00 - 17-08 07:00:00 @ 26.1p 0%, 17-08 07:00:00 - 17-08 07:30:00 @ 24.28p 0%, 17-08 07:30:00 - 17-08 08:00:00 @ 24.94p 0%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.06p 0%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.39p 0%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.66p 0%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.06p 0%, 17-08 10:00:00 - 17-08 10:30:00 @ 25.5p 0%, 17-08 10:30:00 - 17-08 11:00:00 @ 24.94p 0%, 17-08 11:00:00 - 17-08 11:30:00 @ 24.25p 0%, 17-08 11:30:00 - 17-08 12:00:00 @ 23.49p 0%, 17-08 12:00:00 - 17-08 12:30:00 @ 23.43p 0%, 17-08 12:30:00 - 17-08 13:00:00 @ 22.33p 100%, 17-08 13:00:00 - 17-08 13:30:00 @ 22.76p 100%, 17-08 13:30:00 - 17-08 14:00:00 @ 22.3p 100%, 17-08 14:00:00 - 17-08 14:30:00 @ 21.41p 100%, 17-08 14:30:00 - 17-08 15:00:00 @ 21.65p 100%, 17-08 15:00:00 - 17-08 15:30:00 @ 22.95p 100%, 17-08 15:30:00 - 17-08 16:00:00 @ 22.83p 100%, 17-08 16:00:00 - 17-08 16:30:00 @ 36.84p 100%, 17-08 16:30:00 - 17-08 17:00:00 @ 37.54p 100%, 17-08 17:00:00 - 17-08 17:30:00 @ 41.79p 100%, 17-08 17:30:00 - 17-08 18:00:00 @ 43.7p 100%, 17-08 18:00:00 - 17-08 18:30:00 @ 44.34p 100%, 17-08 19:00:00 - 17-08 19:30:00 @ 34.79p 100%, 17-08 19:30:00 - 17-08 20:00:00 @ 34.76p 100%, 17-08 20:00:00 - 17-08 20:30:00 @ 35.62p 100%, 17-08 20:30:00 - 17-08 21:00:00 @ 35.3p 100%, 17-08 21:00:00 - 17-08 21:30:00 @ 35.89p 100%, 17-08 21:30:00 - 17-08 22:00:00 @ 35.71p 100%, 17-08 22:00:00 - 17-08 22:30:00 @ 33.75p 100%, 17-08 22:30:00 - 17-08 23:00:00 @ 32.0p 100%, 17-08 23:00:00 - 17-08 23:30:00 @ 30.02p 100%, 17-08 23:30:00 - 18-08 00:00:00 @ 27.8p 100% ] reserve 1.12
2026-08-15 23:46:00.856328: Unclipped charge windows [ 16-08 11:30:00 - 16-08 12:30:00 @ 23.46p 28%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 38%, 16-08 13:30:00 - 16-08 15:00:00 @ 21.75p 100%, 16-08 15:00:00 - 16-08 16:00:00 @ 22.89p 81%, 17-08 12:30:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 18-08 00:00:00 @ 29.75p 100% ] reserve 1.12
2026-08-15 23:46:00.856716: Unfiltered charge windows [ 16-08 11:30:00 - 16-08 12:30:00 @ 23.46p 28%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 38%, 16-08 13:30:00 - 16-08 15:00:00 @ 21.75p 100%, 16-08 15:00:00 - 16-08 16:00:00 @ 22.89p 81%, 17-08 12:30:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 18-08 00:00:00 @ 29.75p 100% ] reserve 1.12
2026-08-15 23:46:00.857103: Filtered charge windows [ 16-08 11:30:00 - 16-08 12:30:00 @ 23.46p 28%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 38%, 16-08 13:30:00 - 16-08 15:00:00 @ 21.75p 100%, 16-08 15:00:00 - 16-08 16:00:00 @ 22.89p 81%, 17-08 12:30:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 18-08 00:00:00 @ 29.75p 100% ] reserve 1.12
2026-08-15 23:46:00.957738: Previous plan best metric is 884.89 (cost 901.19) and new plan best metric is 886.29 (cost 902.58)
2026-08-15 23:46:00.970532: New plan metric is not significantly better (metric_min_improvement_plan 2.0) than previous plan, using previous plan
2026-08-15 23:46:00.985244: Plan valid is now true after recompute was False
2026-08-15 23:46:01.036253: predict base end_record 08-17 12:30:00, final soc 1.12kWh, metric 1072.79p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 16:10:00, load 36.05kWh, PV 0.0kWh
2026-08-15 23:46:01.260163: Battery has 16.42 hours left - now at 12.4kWh
2026-08-15 23:46:01.390872: predict base10 end_record 08-17 12:30:00, final soc 1.12kWh, metric 1104.36p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 15:15:00, load 37.18kWh, PV 0.0kWh
2026-08-15 23:46:01.552507: predict best10 end_record 08-17 12:30:00, final soc 1.12kWh, metric 1031.58p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 07:10:00, load 37.18kWh, PV 0.0kWh
2026-08-15 23:46:01.759341: predict best end_record 08-17 12:30:00, final soc 1.12kWh, metric 1002.18p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 08:20:00, load 36.05kWh, PV 0.0kWh
2026-08-15 23:46:01.759690: Saving plan best values to HA entities
2026-08-15 23:46:02.177866: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 23:46:02.193848: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-15 23:46:02.203138: Best charging limit SoC's [5.0, 6.0, 8.0, 16.0, 12.5, 16.0, 16.0]kWh, export []kWh gives import battery 11.62kWh, house 2.83kWh, export 0.0kWh, metric 1002.18p, metric10 1031.58p
2026-08-15 23:46:02.407102: Marginal costs baseline metric (no standing charge): 902.2145
2026-08-15 23:46:02.986998: Marginal energy costs matrix computed: min=23.17 max=27.29
2026-08-15 23:46:03.127289: Rate array import [{'start': 1425, 'end': 2400, 'rate': 'cheap', 'range': '(21.4p - 28.2p)'}, {'start': 2400, 'end': 2430, 'rate': 'expensive', 'range': '(36.8p)'}, {'start': 2430, 'end': 2580, 'rate': 'very expensive', 'range': '(37.5p - 45.3p)'}, {'start': 2580, 'end': 2850, 'rate': 'expensive', 'range': '(30.0p - 35.9p)'}, {'start': 2850, 'end': 3630, 'rate': 'cheap', 'range': '(23.4p - 28.2p)'}] export [{'start': 1425, 'end': 3630, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 23:46:03.128351: - Your estimated bill for today is £5.77 and tomorrow is £3.07
2026-08-15 23:46:03.128407: - Import rates are cheap (21.4p - 28.2p) for the next 16 hours and then expensive (36.8p) for the next 30 minutes.
2026-08-15 23:46:03.128436: - The battery is currently at 78% and is in eco mode for the next 11 hours.
2026-08-15 23:46:03.153046: - For the next 48 hours there will be no solar generation.
2026-08-15 23:46:03.153164: - You will run out of battery in 32 hours.
2026-08-15 23:46:03.153197: - Your next charge slot will be in 11 hours where import rates will be cheap (23.5p).
2026-08-15 23:46:03.153277: 
2026-08-15 23:46:03.328082: Plan calculation took 56.54 seconds
2026-08-15 23:46:03.328349: Inverter 0: Type SK Sunsynk
2026-08-15 23:46:03.328393: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 23:46:03.328567: Reserve min: 7%, battery_min: 7%
2026-08-15 23:46:03.328665: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 23:46:03.328936: Inverter 0 SoC: 12.4kW 78%, current charge rate 5000W, current discharge rate 5250W, current battery power 519W, current battery voltage 51.2V, grid power -55W, load power 572W, PV Power 0W
2026-08-15 23:46:03.329136: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 23:46:03.332190: Inverter 0 scheduled charge enable is False
2026-08-15 23:46:03.332247: Inverter 0 charge windows currently []
2026-08-15 23:46:03.332279: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 23:46:03.332509: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 23:46:03.332678: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 23:46:03.332834: Inverter 0 scheduled discharge enable is False
2026-08-15 23:46:03.333258: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 23:46:03.333384: Inverter 0 discharge windows currently []
2026-08-15 23:46:03.333486: Note: Inverter does not support discharge freeze - disabled
2026-08-15 23:46:03.333576: Note: Inverter does not support charge freeze - disabled
2026-08-15 23:46:03.333703: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 23:46:03.539124: Inverter 0 Charge window will be: 2026-08-16 11:30:00+01:00 - 2026-08-16 16:00:00+01:00 - current SoC 78%, target 31%
2026-08-15 23:46:03.539453: Inverter 0 disabled charge window while waiting for schedule (now 08-15 23:45:00 target set_window_minutes 30 charge start time 08-16 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 23:46:03.539696: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 23:46:03.540027: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 23:46:03.540212: No export window planned
2026-08-15 23:46:03.540424: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 23:46:03.540571: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 23:46:03.540879: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 23:46:03.541236: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 23:45:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 23:46:03.541392: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 23:46:03.541566: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 23:46:03.541784: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 23:46:03.541941: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 23:46:03.542068: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 23:46:03.542213: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 23:46:03.542336: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 23:46:03.542477: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 23:46:03.542616: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 23:46:03.542820: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 23:46:03.542953: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 23:46:03.543179: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 23:46:03.543309: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 23:46:03.543451: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 23:46:03.543572: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 23:46:03.543737: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 23:46:03.543852: Inverter 0 count register writes 0
2026-08-15 23:46:03.626656: Total inverter register writes now 826
2026-08-15 23:46:03.770890: Info: Completed run status Demand
2026-08-15 23:46:03.793286: Info: record_status Demand
2026-08-15 23:46:03.804797: Saved current settings to /config/predbat_config.json
2026-08-15 23:46:03.805148: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 23:46:06.229792: ML Predictor: Epoch 16/30: lr=0.00053 huber_loss=0.0074 val_mae=0.0045 kWh val_bias=-0.0026 kWh (-3.7%) combined=0.0038 kWh ema_combined=0.0027 kWh
2026-08-15 23:46:37.571807: ML Predictor: Epoch 17/30: lr=0.00048 huber_loss=0.0070 val_mae=0.0031 kWh val_bias=+0.0006 kWh (+0.9%) combined=0.0022 kWh ema_combined=0.0026 kWh
2026-08-15 23:46:41.999479: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 23:46:41.999750: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 23:46:41.999907: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 23:46:42.000187: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 23:46:42.000319: Note: Inverter does not support discharge freeze - disabled
2026-08-15 23:46:42.000435: Note: Inverter does not support charge freeze - disabled
2026-08-15 23:46:42.000562: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 23:47:10.559628: ML Predictor: Epoch 18/30: lr=0.00043 huber_loss=0.0064 val_mae=0.0035 kWh val_bias=-0.0015 kWh (-2.2%) combined=0.0029 kWh ema_combined=0.0027 kWh
2026-08-15 23:47:43.390928: ML Predictor: Epoch 19/30: lr=0.00038 huber_loss=0.0067 val_mae=0.0028 kWh val_bias=+0.0002 kWh (+0.3%) combined=0.0017 kWh ema_combined=0.0024 kWh
2026-08-15 23:48:15.586996: ML Predictor: Epoch 20/30: lr=0.00034 huber_loss=0.0058 val_mae=0.0027 kWh val_bias=+0.0003 kWh (+0.4%) combined=0.0016 kWh ema_combined=0.0021 kWh
2026-08-15 23:48:42.453123: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 23:48:42.453616: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 23:48:42.453703: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 23:48:42.454037: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 23:48:42.454145: Note: Inverter does not support discharge freeze - disabled
2026-08-15 23:48:42.454256: Note: Inverter does not support charge freeze - disabled
2026-08-15 23:48:42.454361: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 23:48:46.835938: ML Predictor: Epoch 21/30: lr=0.00030 huber_loss=0.0058 val_mae=0.0029 kWh val_bias=-0.0011 kWh (-1.6%) combined=0.0025 kWh ema_combined=0.0023 kWh
2026-08-15 23:49:20.188158: ML Predictor: Epoch 22/30: lr=0.00026 huber_loss=0.0064 val_mae=0.0026 kWh val_bias=+0.0002 kWh (+0.4%) combined=0.0017 kWh ema_combined=0.0021 kWh
2026-08-15 23:49:53.159583: ML Predictor: Epoch 23/30: lr=0.00022 huber_loss=0.0058 val_mae=0.0025 kWh val_bias=-0.0003 kWh (-0.5%) combined=0.0013 kWh ema_combined=0.0018 kWh
2026-08-15 23:50:00.841763: --------------- PredBat - update at 2026-08-15 23:50:00+01:00 with clock skew 0 minutes, minutes now 1430
2026-08-15 23:50:00.842666: Saved current settings to /config/predbat_config.json
2026-08-15 23:50:00.842849: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 75.0 minutes
2026-08-15 23:50:00.843075: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.2, latest beta is v8.48.2
2026-08-15 23:50:00.843237: Autoupdate: There is an update pending v8.48.2 PV90 and second pass enabled by default, bug fixes - auto update is off
2026-08-15 23:50:00.874039: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 23:50:00.874389: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 23:50:00.874754: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 23:50:00.876120: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 23:50:00.876414: Predbat mode is set to Control charge & discharge
2026-08-15 23:50:01.250032: Found 21602 load_today datapoints going back 28 days
2026-08-15 23:50:01.250179: Using load_power data to fill gaps in load_today data
2026-08-15 23:50:02.415961: Processing 721 30-minute periods for power integration
2026-08-15 23:50:02.864840: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 23:50:02.878124: Car charging hold False, threshold 6.0kWh
2026-08-15 23:50:02.878398: Current data so far today: load 12.55kWh, import 27.9kWh, export 0.0kWh, PV 0kWh
2026-08-15 23:50:02.908575: Cars: SoC: [8.204]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 23:50:02.909508: Standing charge is set to 49.98p
2026-08-15 23:50:02.972813: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 23:50:02.972923: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 23:50:02.973158: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 65.0 minutes
2026-08-15 23:50:02.973566: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 65.0 minutes
2026-08-15 23:50:02.981540: Loaded 95 datapoints of futurerate analysis
2026-08-15 23:50:03.159068: Predicted future rates: ['08-15 00:00:00 => 28.69 / 20.01', '08-15 01:00:00 => 27.33 / 19.31', '08-15 02:00:00 => 26.31 / 18.8', '08-15 03:00:00 => 25.78 / 18.53', '08-15 04:00:00 => 25.59 / 18.43', '08-15 05:00:00 => 25.75 / 18.51', '08-15 06:00:00 => 25.34 / 18.3', '08-15 07:00:00 => 24.12 / 17.68', '08-15 08:00:00 => 22.82 / 17.01', '08-15 09:00:00 => 21.84 / 16.51', '08-15 10:00:00 => 20.22 / 15.68', '08-15 11:00:00 => 17.8 / 14.45', '08-15 12:00:00 => 16.16 / 13.61', '08-15 13:00:00 => 15.55 / 13.3', '08-15 14:00:00 => 15.14 / 13.09', '08-15 15:00:00 => 15.65 / 13.35', '08-15 16:00:00 => 32.68 / 16.13', '08-15 17:00:00 => 37.81 / 18.75', '08-15 18:00:00 => 42.15 / 20.96', '08-15 19:00:00 => 30.88 / 21.13', '08-15 20:00:00 => 31.43 / 21.41', '08-15 21:00:00 => 31.43 / 21.41', '08-15 22:00:00 => 30.37 / 20.87', '08-15 23:00:00 => 29.16 / 20.25', '08-16 00:00:00 => 28.62 / 19.97', '08-16 01:00:00 => 27.52 / 19.41', '08-16 02:00:00 => 26.55 / 18.92', '08-16 03:00:00 => 26.18 / 18.73', '08-16 04:00:00 => 26.12 / 18.7', '08-16 05:00:00 => 26.02 / 18.65', '08-16 06:00:00 => 25.78 / 18.53', '08-16 07:00:00 => 25.43 / 18.35', '08-16 08:00:00 => 24.63 / 17.94', '08-16 09:00:00 => 24.05 / 17.64', '08-16 10:00:00 => 24.59 / 17.92', '08-16 11:00:00 => 24.5 / 17.87', '08-16 12:00:00 => 23.58 / 17.4', '08-16 13:00:00 => 22.93 / 17.07', '08-16 14:00:00 => 21.8 / 16.49', '08-16 15:00:00 => 21.8 / 16.49', '08-16 16:00:00 => 36.93 / 18.3', '08-16 17:00:00 => 39.92 / 19.83', '08-16 18:00:00 => 43.98 / 21.9', '08-16 19:00:00 => 32.83 / 22.13', '08-16 20:00:00 => 33.62 / 22.53', '08-16 21:00:00 => 33.52 / 22.48', '08-16 22:00:00 => 32.15 / 21.78']
2026-08-15 23:50:03.219513: Rate min forward looking: now 21.41p at end of forecast 21.41p
2026-08-15 23:50:03.220089: Import rates: min 21.41p, max 45.28p, average 28.73p
2026-08-15 23:50:03.261410: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 23:50:03.261569: Rate thresholds (for charge/export) are import 44.78p (0.0p), export -0.1p (0.0p)
2026-08-15 23:50:03.263640: High export rate found rates in range 99p to -99p
2026-08-15 23:50:03.573074: Low Import rate found rates in range 21.41p to 44.34p
2026-08-15 23:50:03.574212: Car 0 charging is not planned as it is not plugged in
2026-08-15 23:50:03.593030: Battery level now 12.4kWh, -1hr ago 13.6kWh, at midnight 1.66kWh, battery value change in the last hour -22.07p, change today 197.61p, rate_forward 18.39p
2026-08-15 23:50:03.593417: Last hour: net energy 0.0kWh, import 0.0kWh, export 0.0kWh, car 0kWh, load 1.45kWh, net cost 0.0p, import 0.0p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 23:50:03.700018: Today's energy total net 27.9kWh, import 27.9kWh, export 0.0kWh, cost 576.57p, import 526.58p, export 0.0p, carbon 0.0kg
2026-08-15 23:50:03.700376: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 23:50:03.865760: Using weighted-bucket historical load forecast over 14 days
2026-08-15 23:50:03.915124: Today's load divergence 81.67%, in-day adjustment 83.01%, damping 0.95x, yesterday 143.77% today 82.58% blend 0.69%
2026-08-15 23:50:03.915553: Today's predicted so far 14.84kWh with 0.0kWh car/iBoost excluded, 20.88kWh import ignored, and 14.84kWh forecast extra.
2026-08-15 23:50:03.915817: Today's actual load so far 12.51kWh with 0.0kWh car/iBoost excluded, and 20.88kWh import ignored.
2026-08-15 23:50:03.983377: Inverter 0: Type SK Sunsynk
2026-08-15 23:50:03.983657: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 23:50:03.984171: Reserve min: 7%, battery_min: 7%
2026-08-15 23:50:03.984445: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 23:50:03.985061: Inverter 0 SoC: 12.4kW 78%, current charge rate 5000W, current discharge rate 5250W, current battery power 1591W, current battery voltage 51.2V, grid power -55W, load power 1652W, PV Power 0W
2026-08-15 23:50:03.985454: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 23:50:03.985753: Inverter 0 scheduled charge enable is False
2026-08-15 23:50:03.985915: Inverter 0 charge windows currently []
2026-08-15 23:50:03.986107: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 23:50:03.986483: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 23:50:03.986646: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 23:50:03.986904: Inverter 0 scheduled discharge enable is False
2026-08-15 23:50:03.987279: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 23:50:03.987439: Inverter 0 discharge windows currently []
2026-08-15 23:50:03.987616: Note: Inverter does not support discharge freeze - disabled
2026-08-15 23:50:03.987804: Note: Inverter does not support charge freeze - disabled
2026-08-15 23:50:03.987975: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 23:50:04.122144: Dynamic load last period 1.80kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 23:50:04.122459: Plan was last updated on 2026-08-15 23:45:00+01:00 and is now 5.0 minutes old
2026-08-15 23:50:04.123004: Best charge window [ 16-08 11:30:00 - 16-08 12:30:00 @ 23.46p 31%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 38%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 50%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 100%, 16-08 14:30:00 - 16-08 16:00:00 @ 22.56p 78%, 17-08 12:30:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 17-08 22:30:00 @ 34.7p 100% ]
2026-08-15 23:50:04.123168: Best export window [  ]
2026-08-15 23:50:04.124571: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 23:50:04.129762: Load divergence over 8.0 hours mean 687.68W, min 297.0W, max 1997.4W, std dev 402.13W, divergence 29.24%
2026-08-15 23:50:04.188077: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 23:50:04.208710: LoadML is_calculating True
2026-08-15 23:50:04.208900: Not using thread pool as LoadML is calculating to avoid lockups
2026-08-15 23:50:04.256595: predict base end_record 08-17 12:35:00, final soc 1.12kWh, metric 1072.31p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 16:15:00, load 36.42kWh, PV 0.0kWh
2026-08-15 23:50:04.464980: Battery has 16.42 hours left - now at 12.4kWh
2026-08-15 23:50:04.587911: predict base10 end_record 08-17 12:35:00, final soc 1.12kWh, metric 1104.84p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 15:25:00, load 37.56kWh, PV 0.0kWh
2026-08-15 23:50:04.787858: predict best10 end_record 08-17 12:35:00, final soc 1.44kWh, metric 1039.54p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 07:05:00, load 37.56kWh, PV 0.0kWh
2026-08-15 23:50:05.005950: predict best end_record 08-17 12:35:00, final soc 1.51kWh, metric 1011.64p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 08:15:00, load 36.42kWh, PV 0.0kWh
2026-08-15 23:50:05.006061: Saving plan best values to HA entities
2026-08-15 23:50:05.360138: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 23:50:05.381287: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0.0
2026-08-15 23:50:05.389188: Best charging limit SoC's [5.0, 6.0, 8.0, 16.0, 12.5, 16.0, 16.0]kWh, export []kWh gives import battery 12.03kWh, house 2.85kWh, export 0.0kWh, metric 1011.64p, metric10 1039.54p
2026-08-15 23:50:05.584801: Marginal costs baseline metric (no standing charge): 911.6738
2026-08-15 23:50:06.154409: Marginal energy costs matrix computed: min=23.07 max=27.29
2026-08-15 23:50:06.370274: Rate array import [{'start': 1430, 'end': 2400, 'rate': 'cheap', 'range': '(21.4p - 28.2p)'}, {'start': 2400, 'end': 2430, 'rate': 'expensive', 'range': '(36.8p)'}, {'start': 2430, 'end': 2580, 'rate': 'very expensive', 'range': '(37.5p - 45.3p)'}, {'start': 2580, 'end': 2850, 'rate': 'expensive', 'range': '(30.0p - 35.9p)'}, {'start': 2850, 'end': 3635, 'rate': 'cheap', 'range': '(22.3p - 28.2p)'}] export [{'start': 1430, 'end': 3635, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 23:50:06.382015: - Your estimated bill for today is £5.77 and tomorrow is £3.05
2026-08-15 23:50:06.383731: - Import rates are cheap (21.4p - 28.2p) for the next 16 hours and then expensive (36.8p) for the next 30 minutes.
2026-08-15 23:50:06.383785: - The battery is currently at 78% and is in eco mode for the next 11 hours.
2026-08-15 23:50:06.383808: - For the next 48 hours there will be no solar generation.
2026-08-15 23:50:06.383901: - You will run out of battery in 32 hours.
2026-08-15 23:50:06.384009: - Your next charge slot will be in 11 hours where import rates will be cheap (23.5p).
2026-08-15 23:50:06.384047: 
2026-08-15 23:50:06.488450: Plan calculation took 2.37 seconds
2026-08-15 23:50:06.494584: No high rate period found
2026-08-15 23:50:06.609338: Import threshold used for optimisation was 24.06p
2026-08-15 23:50:06.736104: Low import rate windows [0: 08-15 23:30:00 - 08-16 00:00:00 @ 27.8, 1: 08-16 00:00:00 - 08-16 00:30:00 @ 28.18, 2: 08-16 00:30:00 - 08-16 01:00:00 @ 27.38, 3: 08-16 01:00:00 - 08-16 01:30:00 @ 26.7, 4: 08-16 01:30:00 - 08-16 02:00:00 @ 26.31, 5: 08-16 02:00:00 - 08-16 02:30:00 @ 25.79, 6: 08-16 02:30:00 - 08-16 03:00:00 @ 25.86, 7: 08-16 03:00:00 - 08-16 03:30:00 @ 26.13, 8: 08-16 03:30:00 - 08-16 04:00:00 @ 25.86, 9: 08-16 04:00:00 - 08-16 04:30:00 @ 26.27, 10: 08-16 04:30:00 - 08-16 05:00:00 @ 26.14, 11: 08-16 05:00:00 - 08-16 05:30:00 @ 27.03, 12: 08-16 05:30:00 - 08-16 06:00:00 @ 26.28, 13: 08-16 06:00:00 - 08-16 06:30:00 @ 25.68, 14: 08-16 06:30:00 - 08-16 07:00:00 @ 26.1, 15: 08-16 07:00:00 - 08-16 07:30:00 @ 24.28, 16: 08-16 07:30:00 - 08-16 08:00:00 @ 24.94, 17: 08-16 08:00:00 - 08-16 08:30:00 @ 24.06, 18: 08-16 08:30:00 - 08-16 09:00:00 @ 24.39, 19: 08-16 09:00:00 - 08-16 09:30:00 @ 24.66, 20: 08-16 09:30:00 - 08-16 10:00:00 @ 24.06, 21: 08-16 10:00:00 - 08-16 10:30:00 @ 25.5, 22: 08-16 10:30:00 - 08-16 11:00:00 @ 24.94, 23: 08-16 11:00:00 - 08-16 11:30:00 @ 24.25, 24: 08-16 11:30:00 - 08-16 12:00:00 @ 23.49, 25: 08-16 12:00:00 - 08-16 12:30:00 @ 23.43, 26: 08-16 12:30:00 - 08-16 13:00:00 @ 22.33, 27: 08-16 13:00:00 - 08-16 13:30:00 @ 22.76, 28: 08-16 13:30:00 - 08-16 14:00:00 @ 22.3, 29: 08-16 14:00:00 - 08-16 14:30:00 @ 21.41, 30: 08-16 14:30:00 - 08-16 15:00:00 @ 21.65, 31: 08-16 15:00:00 - 08-16 15:30:00 @ 22.95, 32: 08-16 15:30:00 - 08-16 16:00:00 @ 22.83, 33: 08-16 16:00:00 - 08-16 16:30:00 @ 36.84, 34: 08-16 16:30:00 - 08-16 17:00:00 @ 37.54, 35: 08-16 17:00:00 - 08-16 17:30:00 @ 41.79, 36: 08-16 17:30:00 - 08-16 18:00:00 @ 43.7, 37: 08-16 18:00:00 - 08-16 18:30:00 @ 44.34, 38: 08-16 19:00:00 - 08-16 19:30:00 @ 34.79, 39: 08-16 19:30:00 - 08-16 20:00:00 @ 34.76, 40: 08-16 20:00:00 - 08-16 20:30:00 @ 35.62, 41: 08-16 20:30:00 - 08-16 21:00:00 @ 35.3, 42: 08-16 21:00:00 - 08-16 21:30:00 @ 35.89, 43: 08-16 21:30:00 - 08-16 22:00:00 @ 35.71, 44: 08-16 22:00:00 - 08-16 22:30:00 @ 33.75, 45: 08-16 22:30:00 - 08-16 23:00:00 @ 32.0, 46: 08-16 23:00:00 - 08-16 23:30:00 @ 30.02, 47: 08-16 23:30:00 - 08-17 00:00:00 @ 27.8, 48: 08-17 00:00:00 - 08-17 00:30:00 @ 28.18, 49: 08-17 00:30:00 - 08-17 01:00:00 @ 27.38, 50: 08-17 01:00:00 - 08-17 01:30:00 @ 26.7, 51: 08-17 01:30:00 - 08-17 02:00:00 @ 26.31, 52: 08-17 02:00:00 - 08-17 02:30:00 @ 25.79, 53: 08-17 02:30:00 - 08-17 03:00:00 @ 25.86, 54: 08-17 03:00:00 - 08-17 03:30:00 @ 26.13, 55: 08-17 03:30:00 - 08-17 04:00:00 @ 25.86, 56: 08-17 04:00:00 - 08-17 04:30:00 @ 26.27, 57: 08-17 04:30:00 - 08-17 05:00:00 @ 26.14, 58: 08-17 05:00:00 - 08-17 05:30:00 @ 27.03, 59: 08-17 05:30:00 - 08-17 06:00:00 @ 26.28, 60: 08-17 06:00:00 - 08-17 06:30:00 @ 25.68, 61: 08-17 06:30:00 - 08-17 07:00:00 @ 26.1, 62: 08-17 07:00:00 - 08-17 07:30:00 @ 24.28, 63: 08-17 07:30:00 - 08-17 08:00:00 @ 24.94, 64: 08-17 08:00:00 - 08-17 08:30:00 @ 24.06, 65: 08-17 08:30:00 - 08-17 09:00:00 @ 24.39, 66: 08-17 09:00:00 - 08-17 09:30:00 @ 24.66, 67: 08-17 09:30:00 - 08-17 10:00:00 @ 24.06, 68: 08-17 10:00:00 - 08-17 10:30:00 @ 25.5, 69: 08-17 10:30:00 - 08-17 11:00:00 @ 24.94, 70: 08-17 11:00:00 - 08-17 11:30:00 @ 24.25, 71: 08-17 11:30:00 - 08-17 12:00:00 @ 23.49, 72: 08-17 12:00:00 - 08-17 12:30:00 @ 23.43, 73: 08-17 12:30:00 - 08-17 13:00:00 @ 22.33, 74: 08-17 13:00:00 - 08-17 13:30:00 @ 22.76, 75: 08-17 13:30:00 - 08-17 14:00:00 @ 22.3, 76: 08-17 14:00:00 - 08-17 14:30:00 @ 21.41, 77: 08-17 14:30:00 - 08-17 15:00:00 @ 21.65, 78: 08-17 15:00:00 - 08-17 15:30:00 @ 22.95, 79: 08-17 15:30:00 - 08-17 16:00:00 @ 22.83, 80: 08-17 16:00:00 - 08-17 16:30:00 @ 36.84, 81: 08-17 16:30:00 - 08-17 17:00:00 @ 37.54, 82: 08-17 17:00:00 - 08-17 17:30:00 @ 41.79, 83: 08-17 17:30:00 - 08-17 18:00:00 @ 43.7, 84: 08-17 18:00:00 - 08-17 18:30:00 @ 44.34, 85: 08-17 19:00:00 - 08-17 19:30:00 @ 34.79, 86: 08-17 19:30:00 - 08-17 20:00:00 @ 34.76, 87: 08-17 20:00:00 - 08-17 20:30:00 @ 35.62, 88: 08-17 20:30:00 - 08-17 21:00:00 @ 35.3, 89: 08-17 21:00:00 - 08-17 21:30:00 @ 35.89, 90: 08-17 21:30:00 - 08-17 22:00:00 @ 35.71, 91: 08-17 22:00:00 - 08-17 22:30:00 @ 33.75, 92: 08-17 22:30:00 - 08-17 23:00:00 @ 32.0, 93: 08-17 23:00:00 - 08-17 23:30:00 @ 30.02, 94: 08-17 23:30:00 - 08-18 00:00:00 @ 27.8]
2026-08-15 23:50:06.753560: Inverter 0 Charge window will be: 2026-08-16 11:30:00+01:00 - 2026-08-16 16:00:00+01:00 - current SoC 78%, target 31%
2026-08-15 23:50:06.753790: Inverter 0 disabled charge window while waiting for schedule (now 08-15 23:50:00 target set_window_minutes 30 charge start time 08-16 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 23:50:06.753906: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 23:50:06.754196: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 23:50:06.754323: No export window planned
2026-08-15 23:50:06.754507: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 23:50:06.754561: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 23:50:06.754817: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 23:50:06.755060: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 23:50:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 23:50:06.755139: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 23:50:06.755221: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 23:50:06.755475: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 23:50:06.755707: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 23:50:06.755986: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 23:50:06.756208: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 23:50:06.756413: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 23:50:06.756609: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 23:50:06.756815: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 23:50:06.757365: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 23:50:06.757612: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 23:50:06.757839: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 23:50:06.758035: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 23:50:06.758215: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 23:50:06.758441: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 23:50:06.758735: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 23:50:06.758924: Inverter 0 count register writes 0
2026-08-15 23:50:06.788680: Will not recompute the plan, it is 5.0 minutes old and max age is 10 minutes
2026-08-15 23:50:06.798505: Total inverter register writes now 826
2026-08-15 23:50:06.856107: Info: Completed run status Demand
2026-08-15 23:50:06.868841: Info: record_status Demand
2026-08-15 23:50:06.880781: Saved current settings to /config/predbat_config.json
2026-08-15 23:50:06.881227: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 23:50:29.209550: ML Predictor: Epoch 24/30: lr=0.00019 huber_loss=0.0058 val_mae=0.0028 kWh val_bias=-0.0013 kWh (-1.9%) combined=0.0024 kWh ema_combined=0.0020 kWh
2026-08-15 23:50:42.036676: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 23:50:42.037110: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 23:50:42.037190: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 23:50:42.037882: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 23:50:42.038020: Note: Inverter does not support discharge freeze - disabled
2026-08-15 23:50:42.038224: Note: Inverter does not support charge freeze - disabled
2026-08-15 23:50:42.038399: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 23:51:05.245160: ML Predictor: Epoch 25/30: lr=0.00016 huber_loss=0.0050 val_mae=0.0027 kWh val_bias=-0.0002 kWh (-0.3%) combined=0.0014 kWh ema_combined=0.0018 kWh
2026-08-15 23:51:36.571644: ML Predictor: Epoch 26/30: lr=0.00014 huber_loss=0.0053 val_mae=0.0028 kWh val_bias=-0.0007 kWh (-1.1%) combined=0.0018 kWh ema_combined=0.0018 kWh
2026-08-15 23:52:12.444021: ML Predictor: Epoch 27/30: lr=0.00012 huber_loss=0.0056 val_mae=0.0026 kWh val_bias=-0.0009 kWh (-1.3%) combined=0.0020 kWh ema_combined=0.0019 kWh
2026-08-15 23:52:44.351383: ML Predictor: Epoch 28/30: lr=0.00011 huber_loss=0.0052 val_mae=0.0025 kWh val_bias=-0.0001 kWh (-0.2%) combined=0.0013 kWh ema_combined=0.0017 kWh
2026-08-15 23:52:56.739084: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 23:52:56.739396: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 23:52:56.739447: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 23:52:56.739590: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 23:52:56.739630: Note: Inverter does not support discharge freeze - disabled
2026-08-15 23:52:56.739652: Note: Inverter does not support charge freeze - disabled
2026-08-15 23:52:56.739669: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 23:53:18.023101: ML Predictor: Epoch 29/30: lr=0.00010 huber_loss=0.0048 val_mae=0.0025 kWh val_bias=-0.0003 kWh (-0.5%) combined=0.0014 kWh ema_combined=0.0016 kWh
2026-08-15 23:53:51.423970: ML Predictor: Epoch 30/30: lr=0.00010 huber_loss=0.0055 val_mae=0.0025 kWh val_bias=-0.0006 kWh (-0.9%) combined=0.0017 kWh ema_combined=0.0016 kWh
2026-08-15 23:53:51.425173: ML Predictor: Restored best weights from epoch with val_mae=0.0025 kWh val_bias=-0.0003 kWh (-0.5%)
2026-08-15 23:53:51.425537: ML Predictor: Training complete, final val_mae=0.0025 kWh val_bias=-0.0003 kWh (-0.5%)
2026-08-15 23:54:01.029975: ML Predictor: AR rollout over holdout: ar_mae=0.0025 kWh ar_bias=-0.0004 kWh (-0.6%) [drift vs teacher-forced: +0.0001 kWh]
2026-08-15 23:54:01.035482: ML Predictor: Curriculum training complete, final val_mae=0.0025 kWh
2026-08-15 23:54:01.046266: ML Component: Training successful, val_mae=0.0025 kWh
2026-08-15 23:54:01.181451: ML Predictor: Model saved to /config/predbat_ml_model.npz
2026-08-15 23:54:01.186577: ML Component: Generating predictions load data age 57.0 days, 16533 data points
2026-08-15 23:54:01.328052: ML Predictor: Starting autoregressive prediction loop for 576 steps (48.0 hours), prev_energy value 0.0327 max_dow {0: 0.10069374996256084, 1: 0.10970312486607581, 2: 0.11695312483347953, 3: 0.11357499942630528, 4: 0.16304062489941715, 5: 0.09685277773762743, 6: 0.10905937461592256}
2026-08-15 23:54:05.759562: ML Component: Generated 576 predictions (total 23.81 kWh over 48h)
2026-08-15 23:54:05.826202: ML Component: Prediction cycle completed
2026-08-15 23:54:05.936373: ML Component: Saved 16533 steps (57 days) of history to /config/predbat_ml_history.npz
2026-08-15 23:54:57.274470: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 23:54:57.275144: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 23:54:57.275210: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 23:54:57.275356: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 23:54:57.275425: Note: Inverter does not support discharge freeze - disabled
2026-08-15 23:54:57.275445: Note: Inverter does not support charge freeze - disabled
2026-08-15 23:54:57.275463: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 23:55:00.371804: --------------- PredBat - update at 2026-08-15 23:55:00+01:00 with clock skew 0 minutes, minutes now 1435
2026-08-15 23:55:00.372639: Saved current settings to /config/predbat_config.json
2026-08-15 23:55:00.372758: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 80.0 minutes
2026-08-15 23:55:00.372877: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.2, latest beta is v8.48.2
2026-08-15 23:55:00.372987: Autoupdate: There is an update pending v8.48.2 PV90 and second pass enabled by default, bug fixes - auto update is off
2026-08-15 23:55:00.394628: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 23:55:00.394759: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 23:55:00.394942: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 23:55:00.395559: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 23:55:00.395681: Predbat mode is set to Control charge & discharge
2026-08-15 23:55:00.599573: Found 21602 load_today datapoints going back 28 days
2026-08-15 23:55:00.599900: Using load_power data to fill gaps in load_today data
2026-08-15 23:55:01.350983: Processing 721 30-minute periods for power integration
2026-08-15 23:55:01.546418: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 23:55:01.546552: Car charging hold False, threshold 6.0kWh
2026-08-15 23:55:01.546600: Current data so far today: load 12.7kWh, import 27.9kWh, export 0.0kWh, PV 0kWh
2026-08-15 23:55:01.564306: Cars: SoC: [8.204]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 23:55:01.564881: Standing charge is set to 49.98p
2026-08-15 23:55:01.612910: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 23:55:01.613040: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 23:55:01.613227: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 70.0 minutes
2026-08-15 23:55:01.613554: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 70.0 minutes
2026-08-15 23:55:01.618510: Loaded 95 datapoints of futurerate analysis
2026-08-15 23:55:01.784399: Predicted future rates: ['08-15 00:00:00 => 28.69 / 20.01', '08-15 01:00:00 => 27.33 / 19.31', '08-15 02:00:00 => 26.31 / 18.8', '08-15 03:00:00 => 25.78 / 18.53', '08-15 04:00:00 => 25.59 / 18.43', '08-15 05:00:00 => 25.75 / 18.51', '08-15 06:00:00 => 25.34 / 18.3', '08-15 07:00:00 => 24.12 / 17.68', '08-15 08:00:00 => 22.82 / 17.01', '08-15 09:00:00 => 21.84 / 16.51', '08-15 10:00:00 => 20.22 / 15.68', '08-15 11:00:00 => 17.8 / 14.45', '08-15 12:00:00 => 16.16 / 13.61', '08-15 13:00:00 => 15.55 / 13.3', '08-15 14:00:00 => 15.14 / 13.09', '08-15 15:00:00 => 15.65 / 13.35', '08-15 16:00:00 => 32.68 / 16.13', '08-15 17:00:00 => 37.81 / 18.75', '08-15 18:00:00 => 42.15 / 20.96', '08-15 19:00:00 => 30.88 / 21.13', '08-15 20:00:00 => 31.43 / 21.41', '08-15 21:00:00 => 31.43 / 21.41', '08-15 22:00:00 => 30.37 / 20.87', '08-15 23:00:00 => 29.16 / 20.25', '08-16 00:00:00 => 28.62 / 19.97', '08-16 01:00:00 => 27.52 / 19.41', '08-16 02:00:00 => 26.55 / 18.92', '08-16 03:00:00 => 26.18 / 18.73', '08-16 04:00:00 => 26.12 / 18.7', '08-16 05:00:00 => 26.02 / 18.65', '08-16 06:00:00 => 25.78 / 18.53', '08-16 07:00:00 => 25.43 / 18.35', '08-16 08:00:00 => 24.63 / 17.94', '08-16 09:00:00 => 24.05 / 17.64', '08-16 10:00:00 => 24.59 / 17.92', '08-16 11:00:00 => 24.5 / 17.87', '08-16 12:00:00 => 23.58 / 17.4', '08-16 13:00:00 => 22.93 / 17.07', '08-16 14:00:00 => 21.8 / 16.49', '08-16 15:00:00 => 21.8 / 16.49', '08-16 16:00:00 => 36.93 / 18.3', '08-16 17:00:00 => 39.92 / 19.83', '08-16 18:00:00 => 43.98 / 21.9', '08-16 19:00:00 => 32.83 / 22.13', '08-16 20:00:00 => 33.62 / 22.53', '08-16 21:00:00 => 33.52 / 22.48', '08-16 22:00:00 => 32.15 / 21.78']
2026-08-15 23:55:01.835911: Rate min forward looking: now 21.41p at end of forecast 21.41p
2026-08-15 23:55:01.836224: Import rates: min 21.41p, max 45.28p, average 28.73p
2026-08-15 23:55:01.882951: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 23:55:01.883074: Rate thresholds (for charge/export) are import 44.78p (0.0p), export -0.1p (0.0p)
2026-08-15 23:55:01.884460: High export rate found rates in range 99p to -99p
2026-08-15 23:55:01.999170: Low Import rate found rates in range 21.41p to 44.34p
2026-08-15 23:55:01.999332: Car 0 charging is not planned as it is not plugged in
2026-08-15 23:55:02.011938: Battery level now 12.4kWh, -1hr ago 13.6kWh, at midnight 1.66kWh, battery value change in the last hour -22.07p, change today 197.61p, rate_forward 18.39p
2026-08-15 23:55:02.012399: Last hour: net energy 0.0kWh, import 0.0kWh, export 0.0kWh, car 0kWh, load 1.5kWh, net cost 0.0p, import 0.0p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 23:55:02.075491: Today's energy total net 27.9kWh, import 27.9kWh, export 0.0kWh, cost 576.57p, import 526.58p, export 0.0p, carbon 0.0kg
2026-08-15 23:55:02.075686: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 23:55:02.156012: Using weighted-bucket historical load forecast over 14 days
2026-08-15 23:55:02.183157: Today's load divergence 81.85%, in-day adjustment 82.97%, damping 0.95x, yesterday 143.77% today 82.76% blend 0.35%
2026-08-15 23:55:02.183253: Today's predicted so far 14.93kWh with 0.0kWh car/iBoost excluded, 20.85kWh import ignored, and 14.93kWh forecast extra.
2026-08-15 23:55:02.183279: Today's actual load so far 12.62kWh with 0.0kWh car/iBoost excluded, and 20.85kWh import ignored.
2026-08-15 23:55:02.218934: Inverter 0: Type SK Sunsynk
2026-08-15 23:55:02.219023: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 23:55:02.219178: Reserve min: 7%, battery_min: 7%
2026-08-15 23:55:02.219237: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 23:55:02.219460: Inverter 0 SoC: 12.32kW 77%, current charge rate 5000W, current discharge rate 5250W, current battery power 1495W, current battery voltage 51.2V, grid power -54W, load power 1556W, PV Power 0W
2026-08-15 23:55:02.219595: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 23:55:02.219669: Inverter 0 scheduled charge enable is False
2026-08-15 23:55:02.219698: Inverter 0 charge windows currently []
2026-08-15 23:55:02.219720: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 23:55:02.219822: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 23:55:02.219860: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 23:55:02.219892: Inverter 0 scheduled discharge enable is False
2026-08-15 23:55:02.219999: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 23:55:02.220023: Inverter 0 discharge windows currently []
2026-08-15 23:55:02.220042: Note: Inverter does not support discharge freeze - disabled
2026-08-15 23:55:02.220057: Note: Inverter does not support charge freeze - disabled
2026-08-15 23:55:02.220071: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 23:55:02.273964: Dynamic load last period 1.80kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 23:55:02.274084: Plan was last updated on 2026-08-15 23:45:00+01:00 and is now 10.0 minutes old
2026-08-15 23:55:02.274399: Best charge window [ 16-08 11:30:00 - 16-08 12:30:00 @ 23.46p 31%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 38%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 50%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 100%, 16-08 14:30:00 - 16-08 16:00:00 @ 22.56p 78%, 17-08 12:30:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 17-08 22:30:00 @ 34.7p 100% ]
2026-08-15 23:55:02.274442: Best export window [  ]
2026-08-15 23:55:02.275352: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 23:55:02.278482: Load divergence over 8.0 hours mean 675.12W, min 293.4W, max 1602.0W, std dev 388.77W, divergence 28.79%
2026-08-15 23:55:02.295706: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 23:55:02.295824: LoadML is_calculating False
2026-08-15 23:55:02.295885: Creating pool of 12 processes to match your CPU count
2026-08-15 23:55:02.410310: predict base end_record 08-17 12:40:00, final soc 1.12kWh, metric 1073.18p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 16:20:00, load 36.54kWh, PV 0.0kWh
2026-08-15 23:55:02.539686: Battery has 16.42 hours left - now at 12.32kWh
2026-08-15 23:55:02.583769: predict base10 end_record 08-17 12:40:00, final soc 1.12kWh, metric 1105.81p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 15:25:00, load 37.68kWh, PV 0.0kWh
2026-08-15 23:55:02.664550: predict best10 end_record 08-17 12:40:00, final soc 1.77kWh, metric 1048.24p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 07:05:00, load 37.68kWh, PV 0.0kWh
2026-08-15 23:55:02.743928: predict best end_record 08-17 12:40:00, final soc 1.9kWh, metric 1022.03p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 08:15:00, load 36.54kWh, PV 0.0kWh
2026-08-15 23:55:02.744014: Saving plan best values to HA entities
2026-08-15 23:55:02.920705: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 23:55:02.932061: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0.0
2026-08-15 23:55:02.938598: Best charging limit SoC's [5.0, 6.0, 8.0, 16.0, 12.5, 16.0, 16.0]kWh, export []kWh gives import battery 12.49kWh, house 2.85kWh, export 0.0kWh, metric 1022.03p, metric10 1048.24p
2026-08-15 23:55:03.027518: Marginal costs baseline metric (no standing charge): 922.0658
2026-08-15 23:55:03.305322: Marginal energy costs matrix computed: min=22.98 max=27.27
2026-08-15 23:55:03.384646: Rate array import [{'start': 1435, 'end': 2400, 'rate': 'cheap', 'range': '(21.4p - 28.2p)'}, {'start': 2400, 'end': 2430, 'rate': 'expensive', 'range': '(36.8p)'}, {'start': 2430, 'end': 2580, 'rate': 'very expensive', 'range': '(37.5p - 45.3p)'}, {'start': 2580, 'end': 2850, 'rate': 'expensive', 'range': '(30.0p - 35.9p)'}, {'start': 2850, 'end': 3640, 'rate': 'cheap', 'range': '(22.3p - 28.2p)'}] export [{'start': 1435, 'end': 3640, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 23:55:03.385440: - Your estimated bill for today is £5.77 and tomorrow is £3.05
2026-08-15 23:55:03.385497: - Import rates are cheap (21.4p - 28.2p) for the next 16 hours and then expensive (36.8p) for the next 30 minutes.
2026-08-15 23:55:03.385521: - The battery is currently at 77% and is in eco mode for the next 11 hours.
2026-08-15 23:55:03.385539: - For the next 48 hours there will be no solar generation.
2026-08-15 23:55:03.385557: - You will run out of battery in 32 hours.
2026-08-15 23:55:03.385574: - Your next charge slot will be in 11 hours where import rates will be cheap (23.5p).
2026-08-15 23:55:03.385592: 
2026-08-15 23:55:03.455287: Plan calculation took 1.18 seconds
2026-08-15 23:55:03.459437: No high rate period found
2026-08-15 23:55:03.513510: Import threshold used for optimisation was 24.06p
2026-08-15 23:55:03.575649: Low import rate windows [0: 08-15 23:30:00 - 08-16 00:00:00 @ 27.8, 1: 08-16 00:00:00 - 08-16 00:30:00 @ 28.18, 2: 08-16 00:30:00 - 08-16 01:00:00 @ 27.38, 3: 08-16 01:00:00 - 08-16 01:30:00 @ 26.7, 4: 08-16 01:30:00 - 08-16 02:00:00 @ 26.31, 5: 08-16 02:00:00 - 08-16 02:30:00 @ 25.79, 6: 08-16 02:30:00 - 08-16 03:00:00 @ 25.86, 7: 08-16 03:00:00 - 08-16 03:30:00 @ 26.13, 8: 08-16 03:30:00 - 08-16 04:00:00 @ 25.86, 9: 08-16 04:00:00 - 08-16 04:30:00 @ 26.27, 10: 08-16 04:30:00 - 08-16 05:00:00 @ 26.14, 11: 08-16 05:00:00 - 08-16 05:30:00 @ 27.03, 12: 08-16 05:30:00 - 08-16 06:00:00 @ 26.28, 13: 08-16 06:00:00 - 08-16 06:30:00 @ 25.68, 14: 08-16 06:30:00 - 08-16 07:00:00 @ 26.1, 15: 08-16 07:00:00 - 08-16 07:30:00 @ 24.28, 16: 08-16 07:30:00 - 08-16 08:00:00 @ 24.94, 17: 08-16 08:00:00 - 08-16 08:30:00 @ 24.06, 18: 08-16 08:30:00 - 08-16 09:00:00 @ 24.39, 19: 08-16 09:00:00 - 08-16 09:30:00 @ 24.66, 20: 08-16 09:30:00 - 08-16 10:00:00 @ 24.06, 21: 08-16 10:00:00 - 08-16 10:30:00 @ 25.5, 22: 08-16 10:30:00 - 08-16 11:00:00 @ 24.94, 23: 08-16 11:00:00 - 08-16 11:30:00 @ 24.25, 24: 08-16 11:30:00 - 08-16 12:00:00 @ 23.49, 25: 08-16 12:00:00 - 08-16 12:30:00 @ 23.43, 26: 08-16 12:30:00 - 08-16 13:00:00 @ 22.33, 27: 08-16 13:00:00 - 08-16 13:30:00 @ 22.76, 28: 08-16 13:30:00 - 08-16 14:00:00 @ 22.3, 29: 08-16 14:00:00 - 08-16 14:30:00 @ 21.41, 30: 08-16 14:30:00 - 08-16 15:00:00 @ 21.65, 31: 08-16 15:00:00 - 08-16 15:30:00 @ 22.95, 32: 08-16 15:30:00 - 08-16 16:00:00 @ 22.83, 33: 08-16 16:00:00 - 08-16 16:30:00 @ 36.84, 34: 08-16 16:30:00 - 08-16 17:00:00 @ 37.54, 35: 08-16 17:00:00 - 08-16 17:30:00 @ 41.79, 36: 08-16 17:30:00 - 08-16 18:00:00 @ 43.7, 37: 08-16 18:00:00 - 08-16 18:30:00 @ 44.34, 38: 08-16 19:00:00 - 08-16 19:30:00 @ 34.79, 39: 08-16 19:30:00 - 08-16 20:00:00 @ 34.76, 40: 08-16 20:00:00 - 08-16 20:30:00 @ 35.62, 41: 08-16 20:30:00 - 08-16 21:00:00 @ 35.3, 42: 08-16 21:00:00 - 08-16 21:30:00 @ 35.89, 43: 08-16 21:30:00 - 08-16 22:00:00 @ 35.71, 44: 08-16 22:00:00 - 08-16 22:30:00 @ 33.75, 45: 08-16 22:30:00 - 08-16 23:00:00 @ 32.0, 46: 08-16 23:00:00 - 08-16 23:30:00 @ 30.02, 47: 08-16 23:30:00 - 08-17 00:00:00 @ 27.8, 48: 08-17 00:00:00 - 08-17 00:30:00 @ 28.18, 49: 08-17 00:30:00 - 08-17 01:00:00 @ 27.38, 50: 08-17 01:00:00 - 08-17 01:30:00 @ 26.7, 51: 08-17 01:30:00 - 08-17 02:00:00 @ 26.31, 52: 08-17 02:00:00 - 08-17 02:30:00 @ 25.79, 53: 08-17 02:30:00 - 08-17 03:00:00 @ 25.86, 54: 08-17 03:00:00 - 08-17 03:30:00 @ 26.13, 55: 08-17 03:30:00 - 08-17 04:00:00 @ 25.86, 56: 08-17 04:00:00 - 08-17 04:30:00 @ 26.27, 57: 08-17 04:30:00 - 08-17 05:00:00 @ 26.14, 58: 08-17 05:00:00 - 08-17 05:30:00 @ 27.03, 59: 08-17 05:30:00 - 08-17 06:00:00 @ 26.28, 60: 08-17 06:00:00 - 08-17 06:30:00 @ 25.68, 61: 08-17 06:30:00 - 08-17 07:00:00 @ 26.1, 62: 08-17 07:00:00 - 08-17 07:30:00 @ 24.28, 63: 08-17 07:30:00 - 08-17 08:00:00 @ 24.94, 64: 08-17 08:00:00 - 08-17 08:30:00 @ 24.06, 65: 08-17 08:30:00 - 08-17 09:00:00 @ 24.39, 66: 08-17 09:00:00 - 08-17 09:30:00 @ 24.66, 67: 08-17 09:30:00 - 08-17 10:00:00 @ 24.06, 68: 08-17 10:00:00 - 08-17 10:30:00 @ 25.5, 69: 08-17 10:30:00 - 08-17 11:00:00 @ 24.94, 70: 08-17 11:00:00 - 08-17 11:30:00 @ 24.25, 71: 08-17 11:30:00 - 08-17 12:00:00 @ 23.49, 72: 08-17 12:00:00 - 08-17 12:30:00 @ 23.43, 73: 08-17 12:30:00 - 08-17 13:00:00 @ 22.33, 74: 08-17 13:00:00 - 08-17 13:30:00 @ 22.76, 75: 08-17 13:30:00 - 08-17 14:00:00 @ 22.3, 76: 08-17 14:00:00 - 08-17 14:30:00 @ 21.41, 77: 08-17 14:30:00 - 08-17 15:00:00 @ 21.65, 78: 08-17 15:00:00 - 08-17 15:30:00 @ 22.95, 79: 08-17 15:30:00 - 08-17 16:00:00 @ 22.83, 80: 08-17 16:00:00 - 08-17 16:30:00 @ 36.84, 81: 08-17 16:30:00 - 08-17 17:00:00 @ 37.54, 82: 08-17 17:00:00 - 08-17 17:30:00 @ 41.79, 83: 08-17 17:30:00 - 08-17 18:00:00 @ 43.7, 84: 08-17 18:00:00 - 08-17 18:30:00 @ 44.34, 85: 08-17 19:00:00 - 08-17 19:30:00 @ 34.79, 86: 08-17 19:30:00 - 08-17 20:00:00 @ 34.76, 87: 08-17 20:00:00 - 08-17 20:30:00 @ 35.62, 88: 08-17 20:30:00 - 08-17 21:00:00 @ 35.3, 89: 08-17 21:00:00 - 08-17 21:30:00 @ 35.89, 90: 08-17 21:30:00 - 08-17 22:00:00 @ 35.71, 91: 08-17 22:00:00 - 08-17 22:30:00 @ 33.75, 92: 08-17 22:30:00 - 08-17 23:00:00 @ 32.0, 93: 08-17 23:00:00 - 08-17 23:30:00 @ 30.02, 94: 08-17 23:30:00 - 08-18 00:00:00 @ 27.8]
2026-08-15 23:55:03.582904: Inverter 0 Charge window will be: 2026-08-16 11:30:00+01:00 - 2026-08-16 16:00:00+01:00 - current SoC 77%, target 31%
2026-08-15 23:55:03.583069: Inverter 0 disabled charge window while waiting for schedule (now 08-15 23:55:00 target set_window_minutes 30 charge start time 08-16 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 23:55:03.583202: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 23:55:03.583470: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 23:55:03.583570: No export window planned
2026-08-15 23:55:03.583685: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 23:55:03.583720: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 23:55:03.583898: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 23:55:03.584123: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 23:55:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 23:55:03.584195: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 23:55:03.584268: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 23:55:03.584361: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 23:55:03.584406: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 23:55:03.584435: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 23:55:03.584460: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 23:55:03.584485: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 23:55:03.584510: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 23:55:03.584534: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 23:55:03.584597: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 23:55:03.584626: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 23:55:03.584651: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 23:55:03.584675: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 23:55:03.584698: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 23:55:03.584721: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 23:55:03.584745: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 23:55:03.584766: Inverter 0 count register writes 0
2026-08-15 23:55:03.600679: Will recompute the plan as it is now 10.0 minutes old and will exceed the max age of 10 minutes before the next run
2026-08-15 23:55:03.600903: Recompute is saving previous plan...
2026-08-15 23:55:03.604074: Best charge window [ 15-08 23:30:00 - 16-08 00:00:00 @ 27.8p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.18p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.38p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 26.7p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.31p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.79p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 25.86p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.13p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 25.86p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.27p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.14p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 27.03p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.28p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.68p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 26.1p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 24.28p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 24.94p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.06p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.39p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.66p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.06p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 25.5p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 24.94p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 24.25p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 23.49p 0%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.43p 0%, 16-08 12:30:00 - 16-08 13:00:00 @ 22.33p 0%, 16-08 13:00:00 - 16-08 13:30:00 @ 22.76p 0%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 0%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 0%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.65p 0%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.95p 0%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.83p 0%, 16-08 16:00:00 - 16-08 16:30:00 @ 36.84p 0%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.54p 0%, 16-08 17:00:00 - 16-08 17:30:00 @ 41.79p 0%, 16-08 17:30:00 - 16-08 18:00:00 @ 43.7p 0%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.34p 0%, 16-08 19:00:00 - 16-08 19:30:00 @ 34.79p 0%, 16-08 19:30:00 - 16-08 20:00:00 @ 34.76p 0%, 16-08 20:00:00 - 16-08 20:30:00 @ 35.62p 0%, 16-08 20:30:00 - 16-08 21:00:00 @ 35.3p 0%, 16-08 21:00:00 - 16-08 21:30:00 @ 35.89p 0%, 16-08 21:30:00 - 16-08 22:00:00 @ 35.71p 0%, 16-08 22:00:00 - 16-08 22:30:00 @ 33.75p 0%, 16-08 22:30:00 - 16-08 23:00:00 @ 32.0p 0%, 16-08 23:00:00 - 16-08 23:30:00 @ 30.02p 0%, 16-08 23:30:00 - 17-08 00:00:00 @ 27.8p 0%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.18p 0%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.38p 0%, 17-08 01:00:00 - 17-08 01:30:00 @ 26.7p 0%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.31p 0%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.79p 0%, 17-08 02:30:00 - 17-08 03:00:00 @ 25.86p 0%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.13p 0%, 17-08 03:30:00 - 17-08 04:00:00 @ 25.86p 0%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.27p 0%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.14p 0%, 17-08 05:00:00 - 17-08 05:30:00 @ 27.03p 0%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.28p 0%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.68p 0%, 17-08 06:30:00 - 17-08 07:00:00 @ 26.1p 0%, 17-08 07:00:00 - 17-08 07:30:00 @ 24.28p 0%, 17-08 07:30:00 - 17-08 08:00:00 @ 24.94p 0%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.06p 0%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.39p 0%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.66p 0%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.06p 0%, 17-08 10:00:00 - 17-08 10:30:00 @ 25.5p 0%, 17-08 10:30:00 - 17-08 11:00:00 @ 24.94p 0%, 17-08 11:00:00 - 17-08 11:30:00 @ 24.25p 0%, 17-08 11:30:00 - 17-08 12:00:00 @ 23.49p 0%, 17-08 12:00:00 - 17-08 12:30:00 @ 23.43p 0%, 17-08 12:30:00 - 17-08 13:00:00 @ 22.33p 0%, 17-08 13:00:00 - 17-08 13:30:00 @ 22.76p 0%, 17-08 13:30:00 - 17-08 14:00:00 @ 22.3p 0%, 17-08 14:00:00 - 17-08 14:30:00 @ 21.41p 0%, 17-08 14:30:00 - 17-08 15:00:00 @ 21.65p 0%, 17-08 15:00:00 - 17-08 15:30:00 @ 22.95p 0%, 17-08 15:30:00 - 17-08 16:00:00 @ 22.83p 0%, 17-08 16:00:00 - 17-08 16:30:00 @ 36.84p 0%, 17-08 16:30:00 - 17-08 17:00:00 @ 37.54p 0%, 17-08 17:00:00 - 17-08 17:30:00 @ 41.79p 0%, 17-08 17:30:00 - 17-08 18:00:00 @ 43.7p 0%, 17-08 18:00:00 - 17-08 18:30:00 @ 44.34p 0%, 17-08 19:00:00 - 17-08 19:30:00 @ 34.79p 0%, 17-08 19:30:00 - 17-08 20:00:00 @ 34.76p 0%, 17-08 20:00:00 - 17-08 20:30:00 @ 35.62p 0%, 17-08 20:30:00 - 17-08 21:00:00 @ 35.3p 0%, 17-08 21:00:00 - 17-08 21:30:00 @ 35.89p 0%, 17-08 21:30:00 - 17-08 22:00:00 @ 35.71p 0%, 17-08 22:00:00 - 17-08 22:30:00 @ 33.75p 0%, 17-08 22:30:00 - 17-08 23:00:00 @ 32.0p 0%, 17-08 23:00:00 - 17-08 23:30:00 @ 30.02p 0%, 17-08 23:30:00 - 18-08 00:00:00 @ 27.8p 0% ]
2026-08-15 23:55:03.604170: Best export window [  ]
2026-08-15 23:55:03.605058: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 23:55:03.608353: Load divergence over 8.0 hours mean 675.12W, min 293.4W, max 1602.0W, std dev 388.77W, divergence 28.79%
2026-08-15 23:55:03.627982: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 23:55:03.628249: LoadML is_calculating False
2026-08-15 23:55:03.628341: Creating pool of 12 processes to match your CPU count
2026-08-15 23:55:03.727749: Calculate Best options: mode(Control charge & discharge), calculate_export_oncharge(False), calculate_export_on_pv(True), set_export_freeze_only(False), set_discharge_during_charge(True), combine_charge_slots(False), combine_export_slots(False), combine_rate_threshold(0.0), best_soc_min(0.0 kWh), best_soc_max(0.0 kWh), best_soc_keep(0.0 kWh), inverter_loss(4%), battery_loss(3%), battery_loss_discharge (3%), inverter_hybrid(True), metric_min_improvement(0.0p), metric_min_improvement_export(0.1p), metric_min_improvement_export_freeze(0.1p), metric_battery_cycle(0.0p/kWh), metric_battery_value_scaling(1.0 x) 
2026-08-15 23:55:03.730616: Optimise levels pass started at 2026-08-15 23:55:03
2026-08-15 23:55:03.730730: Optimise all windows, total charge 94 export 1
2026-08-15 23:55:04.790470: >> Region optimisation pass width 960 gives best_metric 1085.61p, best_cost 1099.11p, best_cycle 43.47kWh, best_import 23.42kWh
2026-08-15 23:55:05.175342: >> Region optimisation pass width 480 gives best_metric 1085.61p, best_cost 1099.11p, best_cycle 43.47kWh, best_import 23.42kWh
2026-08-15 23:55:05.665542: >> Region optimisation pass width 240 gives best_metric 1085.61p, best_cost 1099.11p, best_cycle 43.47kWh, best_import 23.42kWh
2026-08-15 23:55:06.751521: >> Region optimisation pass width 120 gives best_metric 1085.61p, best_cost 1099.11p, best_cycle 43.47kWh, best_import 23.42kWh
2026-08-15 23:55:06.752159: Calculated end_record as 08-17 12:30:00 based on best_price 22.33p, next_charge_start 08-16 12:30:00, max_windows 73
2026-08-15 23:55:06.752250: Optimise levels pass ended at 2026-08-15 23:55:06, duration 3.0 seconds tried 333 combinations
2026-08-15 23:55:06.752335: Set best_price_charge_level 24.0p, best_price_export_level 0p, best_price_charge 22.33p, best_cost_export 0p, best_metric 1085.61p, best_keep 0kWh, best_cycle 43.47kWh, best_carbon 0kg, best_import 23.42kWh
2026-08-15 23:55:06.774003: Starting detailed optimisation end_record 08-17 12:30:00, best_price_charge 22.33p, best_price_export 0p. lowest_price_charge 21.41p with charge limits [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 0, 16.0, 16.0, 16.0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0]kWh and export limits []kWh
2026-08-15 23:55:11.192921: Tweak plan optimisation started metric 884.67p, cost 900.99p
2026-08-15 23:55:11.533116: Tweak optimisation finished metric 884.67p, cost 900.99p, metric_keep 0kWh, cycle 27.45kWh, carbon 0kg, import 14.46kWh, changed 8 window(s)
2026-08-15 23:55:11.551893: Swap charge optimisation started metric 884.67p, cost 900.99p, min_improvement_swap 0.1p
2026-08-15 23:55:19.476543: Swap charge optimisation finished metric 884.67p, cost 900.99p
2026-08-15 23:55:19.598559: Pruned 1 dead plan slot(s) in 10 trial(s), nominal metric 880.39p -> 880.39p, plan now metric 884.73p, cost 900.99p, cycle 27.45kWh, import 14.46kWh
2026-08-15 23:55:19.610706: Raw charge windows [ 15-08 23:30:00 - 16-08 00:00:00 @ 27.8p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.18p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.38p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 26.7p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.31p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.79p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 25.86p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.13p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 25.86p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.27p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.14p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 27.03p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.28p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.68p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 26.1p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 24.28p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 24.94p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.06p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.39p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.66p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.06p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 25.5p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 24.94p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 24.25p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 23.49p 28%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.43p 28%, 16-08 12:30:00 - 16-08 13:00:00 @ 22.33p 38%, 16-08 13:00:00 - 16-08 13:30:00 @ 22.76p 38%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 100%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 100%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.65p 100%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.95p 81%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.83p 81%, 16-08 16:00:00 - 16-08 16:30:00 @ 36.84p 0%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.54p 0%, 16-08 17:00:00 - 16-08 17:30:00 @ 41.79p 0%, 16-08 17:30:00 - 16-08 18:00:00 @ 43.7p 0%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.34p 0%, 16-08 19:00:00 - 16-08 19:30:00 @ 34.79p 0%, 16-08 19:30:00 - 16-08 20:00:00 @ 34.76p 0%, 16-08 20:00:00 - 16-08 20:30:00 @ 35.62p 0%, 16-08 20:30:00 - 16-08 21:00:00 @ 35.3p 0%, 16-08 21:00:00 - 16-08 21:30:00 @ 35.89p 0%, 16-08 21:30:00 - 16-08 22:00:00 @ 35.71p 0%, 16-08 22:00:00 - 16-08 22:30:00 @ 33.75p 0%, 16-08 22:30:00 - 16-08 23:00:00 @ 32.0p 0%, 16-08 23:00:00 - 16-08 23:30:00 @ 30.02p 0%, 16-08 23:30:00 - 17-08 00:00:00 @ 27.8p 0%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.18p 0%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.38p 0%, 17-08 01:00:00 - 17-08 01:30:00 @ 26.7p 0%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.31p 0%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.79p 0%, 17-08 02:30:00 - 17-08 03:00:00 @ 25.86p 0%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.13p 0%, 17-08 03:30:00 - 17-08 04:00:00 @ 25.86p 0%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.27p 0%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.14p 0%, 17-08 05:00:00 - 17-08 05:30:00 @ 27.03p 0%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.28p 0%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.68p 0%, 17-08 06:30:00 - 17-08 07:00:00 @ 26.1p 0%, 17-08 07:00:00 - 17-08 07:30:00 @ 24.28p 0%, 17-08 07:30:00 - 17-08 08:00:00 @ 24.94p 0%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.06p 0%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.39p 0%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.66p 0%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.06p 0%, 17-08 10:00:00 - 17-08 10:30:00 @ 25.5p 0%, 17-08 10:30:00 - 17-08 11:00:00 @ 24.94p 0%, 17-08 11:00:00 - 17-08 11:30:00 @ 24.25p 0%, 17-08 11:30:00 - 17-08 12:00:00 @ 23.49p 0%, 17-08 12:00:00 - 17-08 12:30:00 @ 23.43p 0%, 17-08 12:30:00 - 17-08 13:00:00 @ 22.33p 100%, 17-08 13:00:00 - 17-08 13:30:00 @ 22.76p 100%, 17-08 13:30:00 - 17-08 14:00:00 @ 22.3p 100%, 17-08 14:00:00 - 17-08 14:30:00 @ 21.41p 100%, 17-08 14:30:00 - 17-08 15:00:00 @ 21.65p 100%, 17-08 15:00:00 - 17-08 15:30:00 @ 22.95p 100%, 17-08 15:30:00 - 17-08 16:00:00 @ 22.83p 100%, 17-08 16:00:00 - 17-08 16:30:00 @ 36.84p 100%, 17-08 16:30:00 - 17-08 17:00:00 @ 37.54p 100%, 17-08 17:00:00 - 17-08 17:30:00 @ 41.79p 100%, 17-08 17:30:00 - 17-08 18:00:00 @ 43.7p 100%, 17-08 18:00:00 - 17-08 18:30:00 @ 44.34p 100%, 17-08 19:00:00 - 17-08 19:30:00 @ 34.79p 100%, 17-08 19:30:00 - 17-08 20:00:00 @ 34.76p 100%, 17-08 20:00:00 - 17-08 20:30:00 @ 35.62p 100%, 17-08 20:30:00 - 17-08 21:00:00 @ 35.3p 100%, 17-08 21:00:00 - 17-08 21:30:00 @ 35.89p 100%, 17-08 21:30:00 - 17-08 22:00:00 @ 35.71p 100%, 17-08 22:00:00 - 17-08 22:30:00 @ 33.75p 100%, 17-08 22:30:00 - 17-08 23:00:00 @ 32.0p 100%, 17-08 23:00:00 - 17-08 23:30:00 @ 30.02p 100%, 17-08 23:30:00 - 18-08 00:00:00 @ 27.8p 100% ] reserve 1.12
2026-08-15 23:55:19.611306: Unclipped charge windows [ 16-08 11:30:00 - 16-08 12:30:00 @ 23.46p 28%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 38%, 16-08 13:30:00 - 16-08 15:00:00 @ 21.75p 100%, 16-08 15:00:00 - 16-08 16:00:00 @ 22.89p 81%, 17-08 12:30:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 18-08 00:00:00 @ 29.75p 100% ] reserve 1.12
2026-08-15 23:55:19.611612: Unfiltered charge windows [ 16-08 11:30:00 - 16-08 12:30:00 @ 23.46p 28%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 38%, 16-08 13:30:00 - 16-08 15:00:00 @ 21.75p 100%, 16-08 15:00:00 - 16-08 16:00:00 @ 22.89p 81%, 17-08 12:30:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 18-08 00:00:00 @ 29.75p 100% ] reserve 1.12
2026-08-15 23:55:19.611896: Filtered charge windows [ 16-08 11:30:00 - 16-08 12:30:00 @ 23.46p 28%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 38%, 16-08 13:30:00 - 16-08 15:00:00 @ 21.75p 100%, 16-08 15:00:00 - 16-08 16:00:00 @ 22.89p 81%, 17-08 12:30:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 18-08 00:00:00 @ 29.75p 100% ] reserve 1.12
2026-08-15 23:55:19.649168: Previous plan best metric is 883.4 (cost 899.78) and new plan best metric is 884.67 (cost 900.99)
2026-08-15 23:55:19.649423: New plan metric is not significantly better (metric_min_improvement_plan 2.0) than previous plan, using previous plan
2026-08-15 23:55:19.649680: Plan valid is now true after recompute was False
2026-08-15 23:55:19.678086: predict base end_record 08-17 12:30:00, final soc 1.12kWh, metric 1070.23p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 16:20:00, load 36.41kWh, PV 0.0kWh
2026-08-15 23:55:19.780558: Battery has 16.42 hours left - now at 12.32kWh
2026-08-15 23:55:19.824912: predict base10 end_record 08-17 12:30:00, final soc 1.12kWh, metric 1102.73p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 15:25:00, load 37.54kWh, PV 0.0kWh
2026-08-15 23:55:19.903655: predict best10 end_record 08-17 12:30:00, final soc 1.12kWh, metric 1029.65p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 07:05:00, load 37.54kWh, PV 0.0kWh
2026-08-15 23:55:19.985783: predict best end_record 08-17 12:30:00, final soc 1.12kWh, metric 1000.48p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 08:15:00, load 36.41kWh, PV 0.0kWh
2026-08-15 23:55:19.985898: Saving plan best values to HA entities
2026-08-15 23:55:20.162321: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 23:55:20.168223: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0.0
2026-08-15 23:55:20.174019: Best charging limit SoC's [5.0, 6.0, 8.0, 16.0, 12.5, 16.0, 16.0]kWh, export []kWh gives import battery 11.53kWh, house 2.85kWh, export 0.0kWh, metric 1000.48p, metric10 1029.65p
2026-08-15 23:55:20.257781: Marginal costs baseline metric (no standing charge): 900.5132
2026-08-15 23:55:20.534667: Marginal energy costs matrix computed: min=22.98 max=27.27
2026-08-15 23:55:20.607363: Rate array import [{'start': 1435, 'end': 2400, 'rate': 'cheap', 'range': '(21.4p - 28.2p)'}, {'start': 2400, 'end': 2430, 'rate': 'expensive', 'range': '(36.8p)'}, {'start': 2430, 'end': 2580, 'rate': 'very expensive', 'range': '(37.5p - 45.3p)'}, {'start': 2580, 'end': 2850, 'rate': 'expensive', 'range': '(30.0p - 35.9p)'}, {'start': 2850, 'end': 3630, 'rate': 'cheap', 'range': '(23.4p - 28.2p)'}] export [{'start': 1435, 'end': 3630, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 23:55:20.608083: - Your estimated bill for today is £5.77 and tomorrow is £3.05
2026-08-15 23:55:20.608129: - Import rates are cheap (21.4p - 28.2p) for the next 16 hours and then expensive (36.8p) for the next 30 minutes.
2026-08-15 23:55:20.608152: - The battery is currently at 77% and is in eco mode for the next 11 hours.
2026-08-15 23:55:20.608183: - For the next 48 hours there will be no solar generation.
2026-08-15 23:55:20.608220: - You will run out of battery in 32 hours.
2026-08-15 23:55:20.608238: - Your next charge slot will be in 11 hours where import rates will be cheap (23.5p).
2026-08-15 23:55:20.608253: 
2026-08-15 23:55:20.673910: Plan calculation took 17.07 seconds
2026-08-15 23:55:20.674347: Inverter 0: Type SK Sunsynk
2026-08-15 23:55:20.674410: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 23:55:20.674638: Reserve min: 7%, battery_min: 7%
2026-08-15 23:55:20.674721: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 23:55:20.675080: Inverter 0 SoC: 12.21kW 76%, current charge rate 5000W, current discharge rate 5250W, current battery power 1554W, current battery voltage 51.2V, grid power -54W, load power 1616W, PV Power 0W
2026-08-15 23:55:20.675321: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 23:55:20.675431: Inverter 0 scheduled charge enable is False
2026-08-15 23:55:20.675493: Inverter 0 charge windows currently []
2026-08-15 23:55:20.675525: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 23:55:20.675635: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 23:55:20.675670: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 23:55:20.675705: Inverter 0 scheduled discharge enable is False
2026-08-15 23:55:20.675927: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 23:55:20.675995: Inverter 0 discharge windows currently []
2026-08-15 23:55:20.676025: Note: Inverter does not support discharge freeze - disabled
2026-08-15 23:55:20.676051: Note: Inverter does not support charge freeze - disabled
2026-08-15 23:55:20.676069: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 23:55:20.749062: Inverter 0 Charge window will be: 2026-08-16 11:30:00+01:00 - 2026-08-16 16:00:00+01:00 - current SoC 76%, target 31%
2026-08-15 23:55:20.749220: Inverter 0 disabled charge window while waiting for schedule (now 08-15 23:55:00 target set_window_minutes 30 charge start time 08-16 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 23:55:20.749293: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 23:55:20.749474: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 23:55:20.749557: No export window planned
2026-08-15 23:55:20.749663: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 23:55:20.749700: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 23:55:20.749912: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 23:55:20.750088: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 23:55:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 23:55:20.750143: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 23:55:20.750210: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 23:55:20.750303: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 23:55:20.750349: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 23:55:20.750377: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 23:55:20.750403: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 23:55:20.750429: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 23:55:20.750453: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 23:55:20.750478: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 23:55:20.750541: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 23:55:20.750577: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 23:55:20.750603: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 23:55:20.750628: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 23:55:20.750651: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 23:55:20.750675: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 23:55:20.750723: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 23:55:20.750750: Inverter 0 count register writes 0
2026-08-15 23:55:20.777220: Total inverter register writes now 826
2026-08-15 23:55:20.813678: Info: Completed run status Demand
2026-08-15 23:55:20.821229: Info: record_status Demand
2026-08-15 23:55:20.828937: Saved current settings to /config/predbat_config.json
2026-08-15 23:55:20.829296: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 23:55:21.899987: Info: Refresh config entities due to their age of 480.0 minutes
2026-08-15 23:55:21.900153: Refreshing Predbat configuration
2026-08-15 23:55:22.550791: Saved current settings to /config/predbat_config.json
2026-08-15 23:55:22.553910: Validation of apps.yaml was successful
2026-08-15 23:55:22.554107: --------------- PredBat - update at 2026-08-15 23:55:00+01:00 with clock skew 0 minutes, minutes now 1435
2026-08-15 23:55:22.554670: Saved current settings to /config/predbat_config.json
2026-08-15 23:55:22.554785: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 80.4 minutes
2026-08-15 23:55:22.554909: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.2, latest beta is v8.48.2
2026-08-15 23:55:22.555003: Autoupdate: There is an update pending v8.48.2 PV90 and second pass enabled by default, bug fixes - auto update is off
2026-08-15 23:55:22.572924: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-15 23:55:22.573087: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-15 23:55:22.573257: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-15 23:55:22.573779: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-15 23:55:22.573917: Predbat mode is set to Control charge & discharge
2026-08-15 23:55:22.764316: Found 21602 load_today datapoints going back 28 days
2026-08-15 23:55:22.764478: Using load_power data to fill gaps in load_today data
2026-08-15 23:55:23.604868: Processing 721 30-minute periods for power integration
2026-08-15 23:55:23.788840: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-15 23:55:23.789007: Car charging hold False, threshold 6.0kWh
2026-08-15 23:55:23.789059: Current data so far today: load 12.7kWh, import 27.9kWh, export 0.0kWh, PV 0kWh
2026-08-15 23:55:23.806606: Cars: SoC: [8.204]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-15 23:55:23.807126: Standing charge is set to 49.98p
2026-08-15 23:55:23.857030: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-15 23:55:23.857135: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-15 23:55:23.857346: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-15&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 70.3 minutes
2026-08-15 23:55:23.857730: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 70.3 minutes
2026-08-15 23:55:23.863688: Loaded 95 datapoints of futurerate analysis
2026-08-15 23:55:24.017447: Predicted future rates: ['08-15 00:00:00 => 28.69 / 20.01', '08-15 01:00:00 => 27.33 / 19.31', '08-15 02:00:00 => 26.31 / 18.8', '08-15 03:00:00 => 25.78 / 18.53', '08-15 04:00:00 => 25.59 / 18.43', '08-15 05:00:00 => 25.75 / 18.51', '08-15 06:00:00 => 25.34 / 18.3', '08-15 07:00:00 => 24.12 / 17.68', '08-15 08:00:00 => 22.82 / 17.01', '08-15 09:00:00 => 21.84 / 16.51', '08-15 10:00:00 => 20.22 / 15.68', '08-15 11:00:00 => 17.8 / 14.45', '08-15 12:00:00 => 16.16 / 13.61', '08-15 13:00:00 => 15.55 / 13.3', '08-15 14:00:00 => 15.14 / 13.09', '08-15 15:00:00 => 15.65 / 13.35', '08-15 16:00:00 => 32.68 / 16.13', '08-15 17:00:00 => 37.81 / 18.75', '08-15 18:00:00 => 42.15 / 20.96', '08-15 19:00:00 => 30.88 / 21.13', '08-15 20:00:00 => 31.43 / 21.41', '08-15 21:00:00 => 31.43 / 21.41', '08-15 22:00:00 => 30.37 / 20.87', '08-15 23:00:00 => 29.16 / 20.25', '08-16 00:00:00 => 28.62 / 19.97', '08-16 01:00:00 => 27.52 / 19.41', '08-16 02:00:00 => 26.55 / 18.92', '08-16 03:00:00 => 26.18 / 18.73', '08-16 04:00:00 => 26.12 / 18.7', '08-16 05:00:00 => 26.02 / 18.65', '08-16 06:00:00 => 25.78 / 18.53', '08-16 07:00:00 => 25.43 / 18.35', '08-16 08:00:00 => 24.63 / 17.94', '08-16 09:00:00 => 24.05 / 17.64', '08-16 10:00:00 => 24.59 / 17.92', '08-16 11:00:00 => 24.5 / 17.87', '08-16 12:00:00 => 23.58 / 17.4', '08-16 13:00:00 => 22.93 / 17.07', '08-16 14:00:00 => 21.8 / 16.49', '08-16 15:00:00 => 21.8 / 16.49', '08-16 16:00:00 => 36.93 / 18.3', '08-16 17:00:00 => 39.92 / 19.83', '08-16 18:00:00 => 43.98 / 21.9', '08-16 19:00:00 => 32.83 / 22.13', '08-16 20:00:00 => 33.62 / 22.53', '08-16 21:00:00 => 33.52 / 22.48', '08-16 22:00:00 => 32.15 / 21.78']
2026-08-15 23:55:24.063592: Rate min forward looking: now 21.41p at end of forecast 21.41p
2026-08-15 23:55:24.064120: Import rates: min 21.41p, max 45.28p, average 28.73p
2026-08-15 23:55:24.106895: Export rates: min 0p, max 0p, average 0.0p
2026-08-15 23:55:24.107049: Rate thresholds (for charge/export) are import 44.78p (0.0p), export -0.1p (0.0p)
2026-08-15 23:55:24.108460: High export rate found rates in range 99p to -99p
2026-08-15 23:55:24.223714: Low Import rate found rates in range 21.41p to 44.34p
2026-08-15 23:55:24.223890: Car 0 charging is not planned as it is not plugged in
2026-08-15 23:55:24.236611: Battery level now 12.4kWh, -1hr ago 13.6kWh, at midnight 1.66kWh, battery value change in the last hour -22.07p, change today 197.61p, rate_forward 18.39p
2026-08-15 23:55:24.237026: Last hour: net energy 0.0kWh, import 0.0kWh, export 0.0kWh, car 0kWh, load 1.5kWh, net cost 0.0p, import 0.0p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-15 23:55:24.294460: Today's energy total net 27.9kWh, import 27.9kWh, export 0.0kWh, cost 576.57p, import 526.58p, export 0.0p, carbon 0.0kg
2026-08-15 23:55:24.294623: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-15 23:55:24.395687: Using weighted-bucket historical load forecast over 14 days
2026-08-15 23:55:24.428893: Today's load divergence 81.85%, in-day adjustment 82.97%, damping 0.95x, yesterday 143.77% today 82.76% blend 0.35%
2026-08-15 23:55:24.429014: Today's predicted so far 14.93kWh with 0.0kWh car/iBoost excluded, 20.85kWh import ignored, and 14.93kWh forecast extra.
2026-08-15 23:55:24.429051: Today's actual load so far 12.62kWh with 0.0kWh car/iBoost excluded, and 20.85kWh import ignored.
2026-08-15 23:55:24.456987: Inverter 0: Type SK Sunsynk
2026-08-15 23:55:24.457076: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 23:55:24.457299: Reserve min: 7%, battery_min: 7%
2026-08-15 23:55:24.457397: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 23:55:24.457754: Inverter 0 SoC: 12.21kW 76%, current charge rate 5000W, current discharge rate 5250W, current battery power 1554W, current battery voltage 51.2V, grid power -54W, load power 1616W, PV Power 0W
2026-08-15 23:55:24.457930: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 23:55:24.458096: Inverter 0 scheduled charge enable is False
2026-08-15 23:55:24.458126: Inverter 0 charge windows currently []
2026-08-15 23:55:24.458152: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 23:55:24.458284: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 23:55:24.458321: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 23:55:24.458356: Inverter 0 scheduled discharge enable is False
2026-08-15 23:55:24.458521: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 23:55:24.458550: Inverter 0 discharge windows currently []
2026-08-15 23:55:24.458572: Note: Inverter does not support discharge freeze - disabled
2026-08-15 23:55:24.458590: Note: Inverter does not support charge freeze - disabled
2026-08-15 23:55:24.458614: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 23:55:24.518504: Dynamic load last period 1.80kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-15 23:55:24.518592: Will recompute the plan as it is invalid
2026-08-15 23:55:24.518716: Recompute is saving previous plan...
2026-08-15 23:55:24.521875: Best charge window [ 15-08 23:30:00 - 16-08 00:00:00 @ 27.8p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.18p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.38p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 26.7p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.31p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.79p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 25.86p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.13p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 25.86p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.27p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.14p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 27.03p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.28p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.68p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 26.1p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 24.28p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 24.94p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.06p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.39p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.66p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.06p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 25.5p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 24.94p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 24.25p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 23.49p 0%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.43p 0%, 16-08 12:30:00 - 16-08 13:00:00 @ 22.33p 0%, 16-08 13:00:00 - 16-08 13:30:00 @ 22.76p 0%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 0%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 0%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.65p 0%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.95p 0%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.83p 0%, 16-08 16:00:00 - 16-08 16:30:00 @ 36.84p 0%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.54p 0%, 16-08 17:00:00 - 16-08 17:30:00 @ 41.79p 0%, 16-08 17:30:00 - 16-08 18:00:00 @ 43.7p 0%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.34p 0%, 16-08 19:00:00 - 16-08 19:30:00 @ 34.79p 0%, 16-08 19:30:00 - 16-08 20:00:00 @ 34.76p 0%, 16-08 20:00:00 - 16-08 20:30:00 @ 35.62p 0%, 16-08 20:30:00 - 16-08 21:00:00 @ 35.3p 0%, 16-08 21:00:00 - 16-08 21:30:00 @ 35.89p 0%, 16-08 21:30:00 - 16-08 22:00:00 @ 35.71p 0%, 16-08 22:00:00 - 16-08 22:30:00 @ 33.75p 0%, 16-08 22:30:00 - 16-08 23:00:00 @ 32.0p 0%, 16-08 23:00:00 - 16-08 23:30:00 @ 30.02p 0%, 16-08 23:30:00 - 17-08 00:00:00 @ 27.8p 0%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.18p 0%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.38p 0%, 17-08 01:00:00 - 17-08 01:30:00 @ 26.7p 0%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.31p 0%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.79p 0%, 17-08 02:30:00 - 17-08 03:00:00 @ 25.86p 0%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.13p 0%, 17-08 03:30:00 - 17-08 04:00:00 @ 25.86p 0%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.27p 0%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.14p 0%, 17-08 05:00:00 - 17-08 05:30:00 @ 27.03p 0%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.28p 0%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.68p 0%, 17-08 06:30:00 - 17-08 07:00:00 @ 26.1p 0%, 17-08 07:00:00 - 17-08 07:30:00 @ 24.28p 0%, 17-08 07:30:00 - 17-08 08:00:00 @ 24.94p 0%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.06p 0%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.39p 0%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.66p 0%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.06p 0%, 17-08 10:00:00 - 17-08 10:30:00 @ 25.5p 0%, 17-08 10:30:00 - 17-08 11:00:00 @ 24.94p 0%, 17-08 11:00:00 - 17-08 11:30:00 @ 24.25p 0%, 17-08 11:30:00 - 17-08 12:00:00 @ 23.49p 0%, 17-08 12:00:00 - 17-08 12:30:00 @ 23.43p 0%, 17-08 12:30:00 - 17-08 13:00:00 @ 22.33p 0%, 17-08 13:00:00 - 17-08 13:30:00 @ 22.76p 0%, 17-08 13:30:00 - 17-08 14:00:00 @ 22.3p 0%, 17-08 14:00:00 - 17-08 14:30:00 @ 21.41p 0%, 17-08 14:30:00 - 17-08 15:00:00 @ 21.65p 0%, 17-08 15:00:00 - 17-08 15:30:00 @ 22.95p 0%, 17-08 15:30:00 - 17-08 16:00:00 @ 22.83p 0%, 17-08 16:00:00 - 17-08 16:30:00 @ 36.84p 0%, 17-08 16:30:00 - 17-08 17:00:00 @ 37.54p 0%, 17-08 17:00:00 - 17-08 17:30:00 @ 41.79p 0%, 17-08 17:30:00 - 17-08 18:00:00 @ 43.7p 0%, 17-08 18:00:00 - 17-08 18:30:00 @ 44.34p 0%, 17-08 19:00:00 - 17-08 19:30:00 @ 34.79p 0%, 17-08 19:30:00 - 17-08 20:00:00 @ 34.76p 0%, 17-08 20:00:00 - 17-08 20:30:00 @ 35.62p 0%, 17-08 20:30:00 - 17-08 21:00:00 @ 35.3p 0%, 17-08 21:00:00 - 17-08 21:30:00 @ 35.89p 0%, 17-08 21:30:00 - 17-08 22:00:00 @ 35.71p 0%, 17-08 22:00:00 - 17-08 22:30:00 @ 33.75p 0%, 17-08 22:30:00 - 17-08 23:00:00 @ 32.0p 0%, 17-08 23:00:00 - 17-08 23:30:00 @ 30.02p 0%, 17-08 23:30:00 - 18-08 00:00:00 @ 27.8p 0% ]
2026-08-15 23:55:24.521954: Best export window [  ]
2026-08-15 23:55:24.522718: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-15 23:55:24.525746: Load divergence over 8.0 hours mean 675.12W, min 293.4W, max 1602.0W, std dev 388.77W, divergence 28.79%
2026-08-15 23:55:24.544445: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-15 23:55:24.544596: LoadML is_calculating False
2026-08-15 23:55:24.544660: Creating pool of 12 processes to match your CPU count
2026-08-15 23:55:24.636221: Calculate Best options: mode(Control charge & discharge), calculate_export_oncharge(False), calculate_export_on_pv(True), set_export_freeze_only(False), set_discharge_during_charge(True), combine_charge_slots(False), combine_export_slots(False), combine_rate_threshold(0.0), best_soc_min(0.0 kWh), best_soc_max(0.0 kWh), best_soc_keep(0.0 kWh), inverter_loss(4%), battery_loss(3%), battery_loss_discharge (3%), inverter_hybrid(True), metric_min_improvement(0.0p), metric_min_improvement_export(0.1p), metric_min_improvement_export_freeze(0.1p), metric_battery_cycle(0.0p/kWh), metric_battery_value_scaling(1.0 x) 
2026-08-15 23:55:24.638172: Optimise levels pass started at 2026-08-15 23:55:24
2026-08-15 23:55:24.638243: Optimise all windows, total charge 94 export 1
2026-08-15 23:55:25.679216: >> Region optimisation pass width 960 gives best_metric 1088.22p, best_cost 1101.7p, best_cycle 43.36kWh, best_import 23.53kWh
2026-08-15 23:55:26.073409: >> Region optimisation pass width 480 gives best_metric 1088.22p, best_cost 1101.7p, best_cycle 43.36kWh, best_import 23.53kWh
2026-08-15 23:55:26.577089: >> Region optimisation pass width 240 gives best_metric 1088.22p, best_cost 1101.7p, best_cycle 43.36kWh, best_import 23.53kWh
2026-08-15 23:55:27.689452: >> Region optimisation pass width 120 gives best_metric 1088.22p, best_cost 1101.7p, best_cycle 43.36kWh, best_import 23.53kWh
2026-08-15 23:55:27.689995: Calculated end_record as 08-17 12:30:00 based on best_price 22.33p, next_charge_start 08-16 12:30:00, max_windows 73
2026-08-15 23:55:27.690081: Optimise levels pass ended at 2026-08-15 23:55:27, duration 3.1 seconds tried 333 combinations
2026-08-15 23:55:27.690148: Set best_price_charge_level 24.0p, best_price_export_level 0p, best_price_charge 22.33p, best_cost_export 0p, best_metric 1088.22p, best_keep 0kWh, best_cycle 43.36kWh, best_carbon 0kg, best_import 23.53kWh
2026-08-15 23:55:27.710350: Starting detailed optimisation end_record 08-17 12:30:00, best_price_charge 22.33p, best_price_export 0p. lowest_price_charge 21.41p with charge limits [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 0, 16.0, 16.0, 16.0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0]kWh and export limits []kWh
2026-08-15 23:55:32.620186: Tweak plan optimisation started metric 888.11p, cost 904.45p
2026-08-15 23:55:32.961605: Tweak optimisation finished metric 888.11p, cost 904.45p, metric_keep 0kWh, cycle 28.3kWh, carbon 0kg, import 14.64kWh, changed 8 window(s)
2026-08-15 23:55:32.985335: Swap charge optimisation started metric 888.11p, cost 904.45p, min_improvement_swap 0.1p
2026-08-15 23:55:39.896501: Swap charge optimisation finished metric 888.11p, cost 904.45p
2026-08-15 23:55:40.007831: Raw charge windows [ 15-08 23:30:00 - 16-08 00:00:00 @ 27.8p 0%, 16-08 00:00:00 - 16-08 00:30:00 @ 28.18p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.38p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 26.7p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.31p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.79p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 25.86p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.13p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 25.86p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.27p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.14p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 27.03p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.28p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.68p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 26.1p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 24.28p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 24.94p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.06p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.39p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.66p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.06p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 25.5p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 24.94p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 24.25p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 23.49p 25%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.43p 25%, 16-08 12:30:00 - 16-08 13:00:00 @ 22.33p 38%, 16-08 13:00:00 - 16-08 13:30:00 @ 22.76p 38%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 100%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 100%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.65p 100%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.95p 81%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.83p 81%, 16-08 16:00:00 - 16-08 16:30:00 @ 36.84p 0%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.54p 0%, 16-08 17:00:00 - 16-08 17:30:00 @ 41.79p 0%, 16-08 17:30:00 - 16-08 18:00:00 @ 43.7p 0%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.34p 0%, 16-08 19:00:00 - 16-08 19:30:00 @ 34.79p 0%, 16-08 19:30:00 - 16-08 20:00:00 @ 34.76p 0%, 16-08 20:00:00 - 16-08 20:30:00 @ 35.62p 0%, 16-08 20:30:00 - 16-08 21:00:00 @ 35.3p 0%, 16-08 21:00:00 - 16-08 21:30:00 @ 35.89p 0%, 16-08 21:30:00 - 16-08 22:00:00 @ 35.71p 0%, 16-08 22:00:00 - 16-08 22:30:00 @ 33.75p 0%, 16-08 22:30:00 - 16-08 23:00:00 @ 32.0p 0%, 16-08 23:00:00 - 16-08 23:30:00 @ 30.02p 0%, 16-08 23:30:00 - 17-08 00:00:00 @ 27.8p 0%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.18p 0%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.38p 0%, 17-08 01:00:00 - 17-08 01:30:00 @ 26.7p 0%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.31p 0%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.79p 0%, 17-08 02:30:00 - 17-08 03:00:00 @ 25.86p 0%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.13p 0%, 17-08 03:30:00 - 17-08 04:00:00 @ 25.86p 0%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.27p 0%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.14p 0%, 17-08 05:00:00 - 17-08 05:30:00 @ 27.03p 0%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.28p 0%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.68p 0%, 17-08 06:30:00 - 17-08 07:00:00 @ 26.1p 0%, 17-08 07:00:00 - 17-08 07:30:00 @ 24.28p 0%, 17-08 07:30:00 - 17-08 08:00:00 @ 24.94p 0%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.06p 0%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.39p 0%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.66p 0%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.06p 0%, 17-08 10:00:00 - 17-08 10:30:00 @ 25.5p 0%, 17-08 10:30:00 - 17-08 11:00:00 @ 24.94p 0%, 17-08 11:00:00 - 17-08 11:30:00 @ 24.25p 0%, 17-08 11:30:00 - 17-08 12:00:00 @ 23.49p 0%, 17-08 12:00:00 - 17-08 12:30:00 @ 23.43p 0%, 17-08 12:30:00 - 17-08 13:00:00 @ 22.33p 100%, 17-08 13:00:00 - 17-08 13:30:00 @ 22.76p 100%, 17-08 13:30:00 - 17-08 14:00:00 @ 22.3p 100%, 17-08 14:00:00 - 17-08 14:30:00 @ 21.41p 100%, 17-08 14:30:00 - 17-08 15:00:00 @ 21.65p 100%, 17-08 15:00:00 - 17-08 15:30:00 @ 22.95p 100%, 17-08 15:30:00 - 17-08 16:00:00 @ 22.83p 100%, 17-08 16:00:00 - 17-08 16:30:00 @ 36.84p 100%, 17-08 16:30:00 - 17-08 17:00:00 @ 37.54p 100%, 17-08 17:00:00 - 17-08 17:30:00 @ 41.79p 100%, 17-08 17:30:00 - 17-08 18:00:00 @ 43.7p 100%, 17-08 18:00:00 - 17-08 18:30:00 @ 44.34p 100%, 17-08 19:00:00 - 17-08 19:30:00 @ 34.79p 100%, 17-08 19:30:00 - 17-08 20:00:00 @ 34.76p 100%, 17-08 20:00:00 - 17-08 20:30:00 @ 35.62p 100%, 17-08 20:30:00 - 17-08 21:00:00 @ 35.3p 100%, 17-08 21:00:00 - 17-08 21:30:00 @ 35.89p 100%, 17-08 21:30:00 - 17-08 22:00:00 @ 35.71p 100%, 17-08 22:00:00 - 17-08 22:30:00 @ 33.75p 100%, 17-08 22:30:00 - 17-08 23:00:00 @ 32.0p 100%, 17-08 23:00:00 - 17-08 23:30:00 @ 30.02p 100%, 17-08 23:30:00 - 18-08 00:00:00 @ 27.8p 100% ] reserve 1.12
2026-08-15 23:55:40.009040: Unclipped charge windows [ 16-08 11:30:00 - 16-08 12:30:00 @ 23.46p 25%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 38%, 16-08 13:30:00 - 16-08 15:00:00 @ 21.75p 100%, 16-08 15:00:00 - 16-08 16:00:00 @ 22.89p 81%, 17-08 12:30:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 18-08 00:00:00 @ 29.75p 100% ] reserve 1.12
2026-08-15 23:55:40.009358: Unfiltered charge windows [ 16-08 11:30:00 - 16-08 12:30:00 @ 23.46p 25%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 38%, 16-08 13:30:00 - 16-08 15:00:00 @ 21.75p 100%, 16-08 15:00:00 - 16-08 16:00:00 @ 22.89p 81%, 17-08 12:30:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 18-08 00:00:00 @ 29.75p 100% ] reserve 1.12
2026-08-15 23:55:40.009593: Filtered charge windows [ 16-08 11:30:00 - 16-08 12:30:00 @ 23.46p 25%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 38%, 16-08 13:30:00 - 16-08 15:00:00 @ 21.75p 100%, 16-08 15:00:00 - 16-08 16:00:00 @ 22.89p 81%, 17-08 12:30:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 18-08 00:00:00 @ 29.75p 100% ] reserve 1.12
2026-08-15 23:55:40.048001: Previous plan best metric is 885.94 (cost 902.27) and new plan best metric is 888.11 (cost 904.45)
2026-08-15 23:55:40.048281: New plan metric is not significantly better (metric_min_improvement_plan 2.0) than previous plan, using previous plan
2026-08-15 23:55:40.048593: Plan valid is now true after recompute was False
2026-08-15 23:55:40.078906: predict base end_record 08-17 12:30:00, final soc 1.12kWh, metric 1074.08p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 16:05:00, load 36.41kWh, PV 0.0kWh
2026-08-15 23:55:40.216400: Battery has 16.17 hours left - now at 12.21kWh
2026-08-15 23:55:40.262041: predict base10 end_record 08-17 12:30:00, final soc 1.12kWh, metric 1105.12p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 15:15:00, load 37.54kWh, PV 0.0kWh
2026-08-15 23:55:40.346653: predict best10 end_record 08-17 12:30:00, final soc 1.12kWh, metric 1032.48p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 07:05:00, load 37.54kWh, PV 0.0kWh
2026-08-15 23:55:40.432756: predict best end_record 08-17 12:30:00, final soc 1.12kWh, metric 1003.3p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 08:15:00, load 36.41kWh, PV 0.0kWh
2026-08-15 23:55:40.432878: Saving plan best values to HA entities
2026-08-15 23:55:40.612729: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-15 23:55:40.619134: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0.0
2026-08-15 23:55:40.625532: Best charging limit SoC's [5.0, 6.0, 8.0, 16.0, 12.5, 16.0, 16.0]kWh, export []kWh gives import battery 11.65kWh, house 2.85kWh, export 0.0kWh, metric 1003.3p, metric10 1032.48p
2026-08-15 23:55:40.708703: Marginal costs baseline metric (no standing charge): 903.3383
2026-08-15 23:55:40.990670: Marginal energy costs matrix computed: min=22.98 max=27.24
2026-08-15 23:55:41.072809: Rate array import [{'start': 1435, 'end': 2400, 'rate': 'cheap', 'range': '(21.4p - 28.2p)'}, {'start': 2400, 'end': 2430, 'rate': 'expensive', 'range': '(36.8p)'}, {'start': 2430, 'end': 2580, 'rate': 'very expensive', 'range': '(37.5p - 45.3p)'}, {'start': 2580, 'end': 2850, 'rate': 'expensive', 'range': '(30.0p - 35.9p)'}, {'start': 2850, 'end': 3630, 'rate': 'cheap', 'range': '(23.4p - 28.2p)'}] export [{'start': 1435, 'end': 3630, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-15 23:55:41.073582: - Your estimated bill for today is £5.77 and tomorrow is £3.08
2026-08-15 23:55:41.073635: - Import rates are cheap (21.4p - 28.2p) for the next 16 hours and then expensive (36.8p) for the next 30 minutes.
2026-08-15 23:55:41.073657: - The battery is currently at 76% and is in eco mode for the next 11 hours.
2026-08-15 23:55:41.073675: - For the next 48 hours there will be no solar generation.
2026-08-15 23:55:41.073695: - You will run out of battery in 32 hours.
2026-08-15 23:55:41.073714: - Your next charge slot will be in 11 hours where import rates will be cheap (23.5p).
2026-08-15 23:55:41.073739: 
2026-08-15 23:55:41.141507: Plan calculation took 16.62 seconds
2026-08-15 23:55:41.147391: Saved plan to storage
2026-08-15 23:55:41.151662: No high rate period found
2026-08-15 23:55:41.206013: Import threshold used for optimisation was 23.49p
2026-08-15 23:55:41.258015: Low import rate windows [0: 08-15 23:30:00 - 08-16 00:00:00 @ 27.8, 1: 08-16 00:00:00 - 08-16 00:30:00 @ 28.18, 2: 08-16 00:30:00 - 08-16 01:00:00 @ 27.38, 3: 08-16 01:00:00 - 08-16 01:30:00 @ 26.7, 4: 08-16 01:30:00 - 08-16 02:00:00 @ 26.31, 5: 08-16 02:00:00 - 08-16 02:30:00 @ 25.79, 6: 08-16 02:30:00 - 08-16 03:00:00 @ 25.86, 7: 08-16 03:00:00 - 08-16 03:30:00 @ 26.13, 8: 08-16 03:30:00 - 08-16 04:00:00 @ 25.86, 9: 08-16 04:00:00 - 08-16 04:30:00 @ 26.27, 10: 08-16 04:30:00 - 08-16 05:00:00 @ 26.14, 11: 08-16 05:00:00 - 08-16 05:30:00 @ 27.03, 12: 08-16 05:30:00 - 08-16 06:00:00 @ 26.28, 13: 08-16 06:00:00 - 08-16 06:30:00 @ 25.68, 14: 08-16 06:30:00 - 08-16 07:00:00 @ 26.1, 15: 08-16 07:00:00 - 08-16 07:30:00 @ 24.28, 16: 08-16 07:30:00 - 08-16 08:00:00 @ 24.94, 17: 08-16 08:00:00 - 08-16 08:30:00 @ 24.06, 18: 08-16 08:30:00 - 08-16 09:00:00 @ 24.39, 19: 08-16 09:00:00 - 08-16 09:30:00 @ 24.66, 20: 08-16 09:30:00 - 08-16 10:00:00 @ 24.06, 21: 08-16 10:00:00 - 08-16 10:30:00 @ 25.5, 22: 08-16 10:30:00 - 08-16 11:00:00 @ 24.94, 23: 08-16 11:00:00 - 08-16 11:30:00 @ 24.25, 24: 08-16 11:30:00 - 08-16 12:00:00 @ 23.49, 25: 08-16 12:00:00 - 08-16 12:30:00 @ 23.43, 26: 08-16 12:30:00 - 08-16 13:00:00 @ 22.33, 27: 08-16 13:00:00 - 08-16 13:30:00 @ 22.76, 28: 08-16 13:30:00 - 08-16 14:00:00 @ 22.3, 29: 08-16 14:00:00 - 08-16 14:30:00 @ 21.41, 30: 08-16 14:30:00 - 08-16 15:00:00 @ 21.65, 31: 08-16 15:00:00 - 08-16 15:30:00 @ 22.95, 32: 08-16 15:30:00 - 08-16 16:00:00 @ 22.83, 33: 08-16 16:00:00 - 08-16 16:30:00 @ 36.84, 34: 08-16 16:30:00 - 08-16 17:00:00 @ 37.54, 35: 08-16 17:00:00 - 08-16 17:30:00 @ 41.79, 36: 08-16 17:30:00 - 08-16 18:00:00 @ 43.7, 37: 08-16 18:00:00 - 08-16 18:30:00 @ 44.34, 38: 08-16 19:00:00 - 08-16 19:30:00 @ 34.79, 39: 08-16 19:30:00 - 08-16 20:00:00 @ 34.76, 40: 08-16 20:00:00 - 08-16 20:30:00 @ 35.62, 41: 08-16 20:30:00 - 08-16 21:00:00 @ 35.3, 42: 08-16 21:00:00 - 08-16 21:30:00 @ 35.89, 43: 08-16 21:30:00 - 08-16 22:00:00 @ 35.71, 44: 08-16 22:00:00 - 08-16 22:30:00 @ 33.75, 45: 08-16 22:30:00 - 08-16 23:00:00 @ 32.0, 46: 08-16 23:00:00 - 08-16 23:30:00 @ 30.02, 47: 08-16 23:30:00 - 08-17 00:00:00 @ 27.8, 48: 08-17 00:00:00 - 08-17 00:30:00 @ 28.18, 49: 08-17 00:30:00 - 08-17 01:00:00 @ 27.38, 50: 08-17 01:00:00 - 08-17 01:30:00 @ 26.7, 51: 08-17 01:30:00 - 08-17 02:00:00 @ 26.31, 52: 08-17 02:00:00 - 08-17 02:30:00 @ 25.79, 53: 08-17 02:30:00 - 08-17 03:00:00 @ 25.86, 54: 08-17 03:00:00 - 08-17 03:30:00 @ 26.13, 55: 08-17 03:30:00 - 08-17 04:00:00 @ 25.86, 56: 08-17 04:00:00 - 08-17 04:30:00 @ 26.27, 57: 08-17 04:30:00 - 08-17 05:00:00 @ 26.14, 58: 08-17 05:00:00 - 08-17 05:30:00 @ 27.03, 59: 08-17 05:30:00 - 08-17 06:00:00 @ 26.28, 60: 08-17 06:00:00 - 08-17 06:30:00 @ 25.68, 61: 08-17 06:30:00 - 08-17 07:00:00 @ 26.1, 62: 08-17 07:00:00 - 08-17 07:30:00 @ 24.28, 63: 08-17 07:30:00 - 08-17 08:00:00 @ 24.94, 64: 08-17 08:00:00 - 08-17 08:30:00 @ 24.06, 65: 08-17 08:30:00 - 08-17 09:00:00 @ 24.39, 66: 08-17 09:00:00 - 08-17 09:30:00 @ 24.66, 67: 08-17 09:30:00 - 08-17 10:00:00 @ 24.06, 68: 08-17 10:00:00 - 08-17 10:30:00 @ 25.5, 69: 08-17 10:30:00 - 08-17 11:00:00 @ 24.94, 70: 08-17 11:00:00 - 08-17 11:30:00 @ 24.25, 71: 08-17 11:30:00 - 08-17 12:00:00 @ 23.49, 72: 08-17 12:00:00 - 08-17 12:30:00 @ 23.43, 73: 08-17 12:30:00 - 08-17 13:00:00 @ 22.33, 74: 08-17 13:00:00 - 08-17 13:30:00 @ 22.76, 75: 08-17 13:30:00 - 08-17 14:00:00 @ 22.3, 76: 08-17 14:00:00 - 08-17 14:30:00 @ 21.41, 77: 08-17 14:30:00 - 08-17 15:00:00 @ 21.65, 78: 08-17 15:00:00 - 08-17 15:30:00 @ 22.95, 79: 08-17 15:30:00 - 08-17 16:00:00 @ 22.83, 80: 08-17 16:00:00 - 08-17 16:30:00 @ 36.84, 81: 08-17 16:30:00 - 08-17 17:00:00 @ 37.54, 82: 08-17 17:00:00 - 08-17 17:30:00 @ 41.79, 83: 08-17 17:30:00 - 08-17 18:00:00 @ 43.7, 84: 08-17 18:00:00 - 08-17 18:30:00 @ 44.34, 85: 08-17 19:00:00 - 08-17 19:30:00 @ 34.79, 86: 08-17 19:30:00 - 08-17 20:00:00 @ 34.76, 87: 08-17 20:00:00 - 08-17 20:30:00 @ 35.62, 88: 08-17 20:30:00 - 08-17 21:00:00 @ 35.3, 89: 08-17 21:00:00 - 08-17 21:30:00 @ 35.89, 90: 08-17 21:30:00 - 08-17 22:00:00 @ 35.71, 91: 08-17 22:00:00 - 08-17 22:30:00 @ 33.75, 92: 08-17 22:30:00 - 08-17 23:00:00 @ 32.0, 93: 08-17 23:00:00 - 08-17 23:30:00 @ 30.02, 94: 08-17 23:30:00 - 08-18 00:00:00 @ 27.8]
2026-08-15 23:55:41.266018: Inverter 0: Type SK Sunsynk
2026-08-15 23:55:41.266100: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-15 23:55:41.266343: Reserve min: 7%, battery_min: 7%
2026-08-15 23:55:41.266424: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-15 23:55:41.266786: Inverter 0 SoC: 12.21kW 76%, current charge rate 5000W, current discharge rate 5250W, current battery power 1554W, current battery voltage 51.2V, grid power -54W, load power 1616W, PV Power 0W
2026-08-15 23:55:41.267058: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 23:55:41.267164: Inverter 0 scheduled charge enable is False
2026-08-15 23:55:41.267197: Inverter 0 charge windows currently []
2026-08-15 23:55:41.267236: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-15 23:55:41.267378: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 23:55:41.267415: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 23:55:41.267452: Inverter 0 scheduled discharge enable is False
2026-08-15 23:55:41.267613: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 23:55:41.267651: Inverter 0 discharge windows currently []
2026-08-15 23:55:41.267675: Note: Inverter does not support discharge freeze - disabled
2026-08-15 23:55:41.267695: Note: Inverter does not support charge freeze - disabled
2026-08-15 23:55:41.267717: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 23:55:41.326130: Inverter 0 Charge window will be: 2026-08-16 11:30:00+01:00 - 2026-08-16 16:00:00+01:00 - current SoC 76%, target 31%
2026-08-15 23:55:41.326280: Inverter 0 disabled charge window while waiting for schedule (now 08-15 23:55:00 target set_window_minutes 30 charge start time 08-16 11:30:00) original inverter start time 08-17 00:00:00
2026-08-15 23:55:41.326353: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 23:55:41.326599: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 23:55:41.326706: No export window planned
2026-08-15 23:55:41.326899: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-15 23:55:41.326979: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-15 23:55:41.327222: Adjust demand (idle) time computed is 16:00:00-23:59:00
2026-08-15 23:55:41.327523: Inverter 0 not setting charging SoC as we are not within the window (now 08-15 23:55:00 target set_soc_minutes 30 charge start time 08-17 00:00:00)
2026-08-15 23:55:41.327600: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-15 23:55:41.327664: Inverter 0 Current Target SoC is 7%, already at target
2026-08-15 23:55:41.327762: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 23:55:41.327857: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 23:55:41.327893: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 23:55:41.327924: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 23:55:41.327951: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 23:55:41.327985: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 23:55:41.328014: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-15 23:55:41.328082: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 23:55:41.328112: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 23:55:41.328158: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 23:55:41.328184: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 23:55:41.328208: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 23:55:41.328239: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 23:55:41.328265: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-15 23:55:41.328290: Inverter 0 count register writes 0
2026-08-15 23:55:41.352856: Total inverter register writes now 826
2026-08-15 23:55:41.389131: Info: Completed run status Demand
2026-08-15 23:55:41.395687: Info: record_status Demand
2026-08-15 23:55:41.403067: Saved current settings to /config/predbat_config.json
2026-08-15 23:55:41.403390: Compare, best tariff: igo_fixed metric 270.76p
2026-08-15 23:55:41.476275: Creating predbat dashboard at /config/predbat_dashboard.yaml
2026-08-15 23:56:11.512039: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 23:56:11.512282: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 23:56:11.512317: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 23:56:11.512472: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 23:56:11.512511: Note: Inverter does not support discharge freeze - disabled
2026-08-15 23:56:11.512533: Note: Inverter does not support charge freeze - disabled
2026-08-15 23:56:11.512551: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 23:58:11.738434: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-15 23:58:11.738678: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-15 23:58:11.738721: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-15 23:58:11.738875: Inverter 0 idle time is 08-15 16:00:00-08-15 23:59:00
2026-08-15 23:58:11.738916: Note: Inverter does not support discharge freeze - disabled
2026-08-15 23:58:11.738937: Note: Inverter does not support charge freeze - disabled
2026-08-15 23:58:11.738955: Note: Inverter does not support reserve - disabling reserve functions
2026-08-15 23:59:11.413086: TemperatureAPI: Using coordinates latitude 53.4, longitude -2.2
2026-08-15 23:59:11.572435: TemperatureAPI: Successfully fetched temperature data from Open-Meteo API
2026-08-16 00:00:00.972873: --------------- PredBat - update at 2026-08-16 00:00:00+01:00 with clock skew 0 minutes, minutes now 0
2026-08-16 00:00:00.973910: Saved current settings to /config/predbat_config.json
2026-08-16 00:00:00.974151: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 85.0 minutes
2026-08-16 00:00:00.974287: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.2, latest beta is v8.48.2
2026-08-16 00:00:00.974415: Autoupdate: There is an update pending v8.48.2 PV90 and second pass enabled by default, bug fixes - auto update is off
2026-08-16 00:00:01.004464: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-16 00:00:01.004617: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-16 00:00:01.004823: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-16 00:00:01.005524: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-16 00:00:01.005681: Predbat mode is set to Control charge & discharge
2026-08-16 00:00:02.211659: Found 21602 load_today datapoints going back 28 days
2026-08-16 00:00:02.211865: Using load_power data to fill gaps in load_today data
2026-08-16 00:00:03.372903: Processing 721 30-minute periods for power integration
2026-08-16 00:00:03.572349: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-16 00:00:03.572516: Car charging hold False, threshold 6.0kWh
2026-08-16 00:00:03.572563: Current data so far today: load 0.0kWh, import 0.0kWh, export 0.0kWh, PV 0kWh
2026-08-16 00:00:03.592975: Cars: SoC: [8.204]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-16 00:00:03.593505: Standing charge is set to 49.98p
2026-08-16 00:00:03.651560: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-16 00:00:03.651674: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-16 00:00:47.748814: Loaded 47 datapoints of futurerate analysis
2026-08-16 00:00:47.858341: Predicted future rates: ['08-16 00:00:00 => 28.52 / 19.97', '08-16 01:00:00 => 27.43 / 19.41', '08-16 02:00:00 => 26.47 / 18.92', '08-16 03:00:00 => 26.1 / 18.73', '08-16 04:00:00 => 26.04 / 18.7', '08-16 05:00:00 => 25.95 / 18.65', '08-16 06:00:00 => 25.71 / 18.53', '08-16 07:00:00 => 25.37 / 18.35', '08-16 08:00:00 => 24.58 / 17.94', '08-16 09:00:00 => 24.0 / 17.64', '08-16 10:00:00 => 24.54 / 17.92', '08-16 11:00:00 => 24.44 / 17.87', '08-16 12:00:00 => 23.53 / 17.4', '08-16 13:00:00 => 22.89 / 17.07', '08-16 14:00:00 => 21.77 / 16.49', '08-16 15:00:00 => 21.77 / 16.49', '08-16 16:00:00 => 36.89 / 18.3', '08-16 17:00:00 => 39.85 / 19.83', '08-16 18:00:00 => 43.87 / 21.9', '08-16 19:00:00 => 32.69 / 22.13', '08-16 20:00:00 => 33.46 / 22.53', '08-16 21:00:00 => 33.37 / 22.48', '08-16 22:00:00 => 32.01 / 21.78']
2026-08-16 00:00:47.922005: Rate min forward looking: now 21.41p at end of forecast 21.41p
2026-08-16 00:00:47.922534: Import rates: min 21.41p, max 45.28p, average 28.73p
2026-08-16 00:00:47.966200: Export rates: min 0p, max 0p, average 0.0p
2026-08-16 00:00:47.966329: Rate thresholds (for charge/export) are import 44.78p (0.0p), export -0.1p (0.0p)
2026-08-16 00:00:47.967641: High export rate found rates in range 99p to -99p
2026-08-16 00:00:48.042165: Low Import rate found rates in range 21.41p to 44.34p
2026-08-16 00:00:48.042326: Car 0 charging is not planned as it is not plugged in
2026-08-16 00:00:48.311262: Battery level now 12.32kWh, -1hr ago 13.31kWh, at midnight 12.32kWh, battery value change in the last hour -18.25p, change today 0.0p, rate_forward 18.39p
2026-08-16 00:00:48.311637: Last hour: net energy 0.0kWh, import 0.0kWh, export 0.0kWh, car 0kWh, load 1.2kWh, net cost 0.0p, import 0.0p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-16 00:00:48.383528: Today's energy total net 0kWh, import 0kWh, export 0kWh, cost 0p, import 0p, export 0p, carbon 0.0kg
2026-08-16 00:00:48.383650: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-16 00:00:48.466437: Using weighted-bucket historical load forecast over 14 days
2026-08-16 00:00:48.489045: Today's load divergence 100.0%, in-day adjustment 82.97%, damping 0.95x, yesterday 82.97% today 100.0% blend 100.0%
2026-08-16 00:00:48.489138: Today's predicted so far 0kWh with 0kWh car/iBoost excluded, 0kWh import ignored, and 0kWh forecast extra.
2026-08-16 00:00:48.489166: Today's actual load so far 0kWh with 0kWh car/iBoost excluded, and 0kWh import ignored.
2026-08-16 00:00:49.423313: Inverter 0: Type SK Sunsynk
2026-08-16 00:00:49.423411: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-16 00:00:49.906398: Find battery size has 15 days of data, max days 15
2026-08-16 00:00:49.906815: Charge start 20880 soc 35.0 end 20848 soc 47.1
2026-08-16 00:00:49.906895: Charging clipped start at 20875 with SoC 36%, end at 20850 with SoC 47%; SoC change 11%
2026-08-16 00:00:49.906964:   Power added over 26 samples is 2.0kWh
2026-08-16 00:00:49.907011:   Battery size sample accepted raw 17.74kWh adjusted 16.52kWh from 11% SoC over 26 minutes
2026-08-16 00:00:49.907102: Charge start 20820 soc 50.0 end 20757 soc 74.45
2026-08-16 00:00:49.907160: Charging clipped start at 20810 with SoC 52%, end at 20760 with SoC 74%; SoC change 22%
2026-08-16 00:00:49.907232:   Power added over 51 samples is 3.9kWh
2026-08-16 00:00:49.907283:   Battery size sample accepted raw 17.53kWh adjusted 16.32kWh from 22% SoC over 51 minutes
2026-08-16 00:00:49.907346: Charge start 20730 soc 78.0 end 20724 soc 78.45
2026-08-16 00:00:49.907419: Charge start 20700 soc 81.0 end 20647 soc 100.0
2026-08-16 00:00:49.907499: Charging clipped start at 20690 with SoC 83%, end at 20675 with SoC 90%; SoC change 7%
2026-08-16 00:00:49.907790: Charge start 19800 soc 71.0 end 19799 soc 71.0
2026-08-16 00:00:49.908339: Charge start 18090 soc 22.0 end 18070 soc 29.05
2026-08-16 00:00:49.908391: Charging clipped start at 18080 with SoC 24%, end at 18070 with SoC 29%; SoC change 5%
2026-08-16 00:00:49.908499: Charge start 18030 soc 31.0 end 17862 soc 100.0
2026-08-16 00:00:49.908589: Charging clipped start at 18020 with SoC 33%, end at 17890 with SoC 90%; SoC change 57%
2026-08-16 00:00:49.908682:   Power added over 131 samples is 9.9kWh
2026-08-16 00:00:49.908737:   Battery size sample accepted raw 17.43kWh adjusted 16.23kWh from 57% SoC over 131 minutes
2026-08-16 00:00:49.909521: Charge start 15120 soc 15.0 end 14941 soc 89.65
2026-08-16 00:00:49.909576: Charging clipped start at 15110 with SoC 17%, end at 14945 with SoC 89%; SoC change 72%
2026-08-16 00:00:49.909696:   Power added over 166 samples is 12.5kWh
2026-08-16 00:00:49.909764:   Battery size sample accepted raw 17.43kWh adjusted 16.23kWh from 72% SoC over 166 minutes
2026-08-16 00:00:49.909831: Charge start 14910 soc 92.0 end 14883 soc 100.0
2026-08-16 00:00:49.910160: Charge start 13823 soc 68.0 end 13822 soc 68.0
2026-08-16 00:00:49.910241: Charge start 13800 soc 69.0 end 13724 soc 99.5
2026-08-16 00:00:49.910304: Charging clipped start at 13790 with SoC 71%, end at 13750 with SoC 88%; SoC change 17%
2026-08-16 00:00:49.910358:   Power added over 41 samples is 3.1kWh
2026-08-16 00:00:49.910413:   Battery size sample accepted raw 18.13kWh adjusted 16.89kWh from 17% SoC over 41 minutes
2026-08-16 00:00:49.910877: Charge start 12150 soc 42.0 end 12126 soc 49.25
2026-08-16 00:00:49.910929: Charging clipped start at 12140 with SoC 44%, end at 12130 with SoC 49%; SoC change 5%
2026-08-16 00:00:49.910996: Charge start 12060 soc 52.0 end 12058 soc 52.0
2026-08-16 00:00:49.911056: Charge start 12030 soc 53.0 end 12001 soc 62.05
2026-08-16 00:00:49.911114: Charging clipped start at 12020 with SoC 55%, end at 12005 with SoC 62%; SoC change 7%
2026-08-16 00:00:49.911476: Charge start 10844 soc 9.0 end 10835 soc 11.15
2026-08-16 00:00:49.911536: Charge start 10818 soc 9.35 end 10809 soc 10.65
2026-08-16 00:00:49.911659: Charge start 10800 soc 11.8 end 10587 soc 100.0
2026-08-16 00:00:49.911732: Charging clipped start at 10800 with SoC 11%, end at 10615 with SoC 90%; SoC change 79%
2026-08-16 00:00:49.911832:   Power added over 186 samples is 14.1kWh
2026-08-16 00:00:49.911908:   Battery size sample accepted raw 17.84kWh adjusted 16.61kWh from 79% SoC over 186 minutes
2026-08-16 00:00:49.912279: Charge start 9450 soc 13.0 end 9361 soc 49.25
2026-08-16 00:00:49.912332: Charging clipped start at 9445 with SoC 14%, end at 9365 with SoC 49%; SoC change 35%
2026-08-16 00:00:49.912409:   Power added over 81 samples is 6.1kWh
2026-08-16 00:00:49.912454:   Battery size sample accepted raw 17.47kWh adjusted 16.27kWh from 35% SoC over 81 minutes
2026-08-16 00:00:49.912518: Charge start 9330 soc 53.0 end 9317 soc 55.75
2026-08-16 00:00:49.912578: Charge start 9300 soc 59.0 end 9278 soc 65.842
2026-08-16 00:00:49.912632: Charging clipped start at 9290 with SoC 61%, end at 9280 with SoC 65%; SoC change 4%
2026-08-16 00:00:49.912694: Charge start 9270 soc 69.0 end 9194 soc 99.65
2026-08-16 00:00:49.912771: Charging clipped start at 9270 with SoC 69%, end at 9220 with SoC 89%; SoC change 20%
2026-08-16 00:00:49.912822:   Power added over 51 samples is 3.9kWh
2026-08-16 00:00:49.912879:   Battery size sample accepted raw 19.33kWh adjusted 18.0kWh from 20% SoC over 51 minutes
2026-08-16 00:00:49.913269: Charge start 8040 soc 25.1 end 8026 soc 28.421
2026-08-16 00:00:49.913317: Charging clipped start at 8040 with SoC 25%, end at 8030 with SoC 28%; SoC change 3%
2026-08-16 00:00:49.913396: Charge start 7950 soc 31.0 end 7935 soc 35.75
2026-08-16 00:00:49.913447: Charging clipped start at 7940 with SoC 33%, end at 7935 with SoC 35%; SoC change 2%
2026-08-16 00:00:49.913541: Charge start 7860 soc 37.95 end 7762 soc 77.8
2026-08-16 00:00:49.913599: Charging clipped start at 7860 with SoC 37%, end at 7765 with SoC 77%; SoC change 40%
2026-08-16 00:00:49.913672:   Power added over 96 samples is 7.3kWh
2026-08-16 00:00:49.913718:   Battery size sample accepted raw 18.13kWh adjusted 16.88kWh from 40% SoC over 96 minutes
2026-08-16 00:00:49.914186: Charge start 6420 soc 10.85 end 6267 soc 74.55
2026-08-16 00:00:49.914231: Charging clipped start at 6420 with SoC 10%, end at 6270 with SoC 74%; SoC change 64%
2026-08-16 00:00:49.914319:   Power added over 151 samples is 11.4kWh
2026-08-16 00:00:49.914375:   Battery size sample accepted raw 17.86kWh adjusted 16.63kWh from 64% SoC over 151 minutes
2026-08-16 00:00:49.914688: Charge start 5270 soc 9.0 end 5261 soc 9.25
2026-08-16 00:00:49.914774: Charge start 5171 soc 9.0 end 5162 soc 9.75
2026-08-16 00:00:49.914893: Charge start 5100 soc 13.0 end 5030 soc 41.95
2026-08-16 00:00:49.914976: Charging clipped start at 5090 with SoC 15%, end at 5030 with SoC 41%; SoC change 26%
2026-08-16 00:00:49.915051:   Power added over 61 samples is 4.6kWh
2026-08-16 00:00:49.915094:   Battery size sample accepted raw 17.73kWh adjusted 16.51kWh from 26% SoC over 61 minutes
2026-08-16 00:00:49.915200: Charge start 5010 soc 44.0 end 4868 soc 100.0
2026-08-16 00:00:49.915280: Charging clipped start at 5000 with SoC 46%, end at 4900 with SoC 90%; SoC change 44%
2026-08-16 00:00:49.915359:   Power added over 101 samples is 7.7kWh
2026-08-16 00:00:49.915416:   Battery size sample accepted raw 17.44kWh adjusted 16.24kWh from 44% SoC over 101 minutes
2026-08-16 00:00:49.915624: Charge start 4290 soc 45.65 end 4287 soc 45.65
2026-08-16 00:00:49.915712: Charge start 4200 soc 42.0 end 4196 soc 42.0
2026-08-16 00:00:49.915939: Charge start 3615 soc 19.0 end 3603 soc 22.05
2026-08-16 00:00:49.916041: Charge start 3510 soc 22.0 end 3492 soc 27.55
2026-08-16 00:00:49.916088: Charging clipped start at 3505 with SoC 23%, end at 3495 with SoC 27%; SoC change 4%
2026-08-16 00:00:49.916181: Charge start 3480 soc 31.0 end 3387 soc 68.55
2026-08-16 00:00:49.916229: Charging clipped start at 3470 with SoC 33%, end at 3390 with SoC 68%; SoC change 35%
2026-08-16 00:00:49.916308:   Power added over 81 samples is 6.2kWh
2026-08-16 00:00:49.916343:   Battery size sample accepted raw 17.58kWh adjusted 16.37kWh from 35% SoC over 81 minutes
2026-08-16 00:00:49.916571: Charge start 2846 soc 9.8 end 2837 soc 9.65
2026-08-16 00:00:49.916634: Charge start 2812 soc 9.45 end 2804 soc 10.3
2026-08-16 00:00:49.916698: Charge start 2776 soc 9.65 end 2767 soc 9.8
2026-08-16 00:00:49.916752: Charge start 2740 soc 9.0 end 2731 soc 9.3
2026-08-16 00:00:49.916818: Charge start 2729 soc 11.55 end 2710 soc 19.9
2026-08-16 00:00:49.916877: Charging clipped start at 2725 with SoC 13%, end at 2710 with SoC 19%; SoC change 6%
2026-08-16 00:00:49.917086: Charge start 2330 soc 8.9 end 2322 soc 9.6
2026-08-16 00:00:49.917153: Charge start 2287 soc 9.05 end 2278 soc 10.05
2026-08-16 00:00:49.917223: Charge start 2242 soc 9.0 end 2234 soc 10.3
2026-08-16 00:00:49.917279: Charge start 2204 soc 9.05 end 2195 soc 11.05
2026-08-16 00:00:49.917353: Charge start 2152 soc 9.0 end 2144 soc 10.211
2026-08-16 00:00:49.917411: Charge start 2134 soc 12.1 end 2133 soc 12.1
2026-08-16 00:00:49.917501: Charge start 2100 soc 13.0 end 1981 soc 61.65
2026-08-16 00:00:49.917554: Charging clipped start at 2090 with SoC 15%, end at 1985 with SoC 61%; SoC change 46%
2026-08-16 00:00:49.917631:   Power added over 106 samples is 8.0kWh
2026-08-16 00:00:49.917681:   Battery size sample accepted raw 17.48kWh adjusted 16.27kWh from 46% SoC over 106 minutes
2026-08-16 00:00:49.917761: Charge start 1950 soc 63.0 end 1922 soc 72.85
2026-08-16 00:00:49.917809: Charging clipped start at 1945 with SoC 64%, end at 1925 with SoC 72%; SoC change 8%
2026-08-16 00:00:49.918001: Charge start 1432 soc 9.5 end 1424 soc 10.25
2026-08-16 00:00:49.918067: Charge start 1393 soc 9.0 end 1384 soc 10.7
2026-08-16 00:00:49.918134: Charge start 1349 soc 9.0 end 1340 soc 10.9
2026-08-16 00:00:49.918192: Charge start 1291 soc 10.3 end 1282 soc 9.7
2026-08-16 00:00:49.918278: Charge start 1202 soc 9.0 end 1193 soc 10.1
2026-08-16 00:00:49.918350: Charge start 1146 soc 9.0 end 1137 soc 9.7
2026-08-16 00:00:49.918450: Charge start 1046 soc 9.0 end 1038 soc 10.0
2026-08-16 00:00:49.918557: Charge start 911 soc 9.0 end 902 soc 9.75
2026-08-16 00:00:49.918655: Charge start 804 soc 9.0 end 795 soc 11.1
2026-08-16 00:00:49.918726: Charge start 750 soc 13.0 end 726 soc 20.15
2026-08-16 00:00:49.918780: Charging clipped start at 740 with SoC 15%, end at 730 with SoC 20%; SoC change 5%
2026-08-16 00:00:49.918819: Charge start 690 soc 22.7 end 686 soc 22.7
2026-08-16 00:00:49.918944: Charge start 660 soc 25.0 end 481 soc 99.45
2026-08-16 00:00:49.919029: Charging clipped start at 650 with SoC 27%, end at 505 with SoC 90%; SoC change 63%
2026-08-16 00:00:49.919106:   Power added over 146 samples is 11.1kWh
2026-08-16 00:00:49.919193:   Battery size sample accepted raw 17.55kWh adjusted 16.34kWh from 63% SoC over 146 minutes
2026-08-16 00:00:49.919430: Estimated battery size is 16.39kWh from 11 selected samples, 15 accepted samples, 11 rejected samples, median 16.34kWh (assumed charging loss factor 0.9, rejects {'soc_change_too_small': 11})
2026-08-16 00:00:49.932928: Inverter 0 battery size tracking: found_size 16.39 kWh, history {'2026-08-16': 16.39, '2026-08-15': 16.39, '2026-08-14': 16.42, '2026-08-13': 16.48, '2026-08-12': 16.49, '2026-08-11': 16.47, '2026-08-10': 16.37}, trimmed_mean 16.43 kWh, degradation -2.69%, configured battery_scaling 100% (configured degradation 0%)
2026-08-16 00:00:50.146478: Reserve min: 7%, battery_min: 7%
2026-08-16 00:00:50.146626: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-16 00:00:50.146936: Inverter 0 SoC: 12.16kW 76%, current charge rate 5000W, current discharge rate 5250W, current battery power 1521W, current battery voltage 51.2V, grid power -53W, load power 1581W, PV Power 0W
2026-08-16 00:00:50.147102: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-16 00:00:50.147196: Inverter 0 scheduled charge enable is False
2026-08-16 00:00:50.147226: Inverter 0 charge windows currently []
2026-08-16 00:00:50.147254: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-16 00:00:50.147362: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-16 00:00:50.147398: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-16 00:00:50.147434: Inverter 0 scheduled discharge enable is False
2026-08-16 00:00:50.147564: Inverter 0 idle time is 08-16 16:00:00-08-16 23:59:00
2026-08-16 00:00:50.147601: Inverter 0 discharge windows currently []
2026-08-16 00:00:50.147625: Note: Inverter does not support discharge freeze - disabled
2026-08-16 00:00:50.147645: Note: Inverter does not support charge freeze - disabled
2026-08-16 00:00:50.147688: Note: Inverter does not support reserve - disabling reserve functions
2026-08-16 00:00:50.219526: Dynamic load last period 0.60kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-16 00:00:50.219642: Plan was last updated on 2026-08-15 23:55:00+01:00 and is now 5.0 minutes old
2026-08-16 00:00:50.219677: Force recompute due to start of day
2026-08-16 00:00:50.219706: Recompute, previous plan is invalid...
2026-08-16 00:00:50.222837: Best charge window [ 16-08 00:00:00 - 16-08 00:30:00 @ 28.18p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.38p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 26.7p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.31p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.79p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 25.86p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.13p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 25.86p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.27p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.14p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 27.03p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.28p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.68p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 26.1p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 24.28p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 24.94p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.06p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.39p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.66p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.06p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 25.5p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 24.94p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 24.25p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 23.49p 0%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.43p 0%, 16-08 12:30:00 - 16-08 13:00:00 @ 22.33p 0%, 16-08 13:00:00 - 16-08 13:30:00 @ 22.76p 0%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 0%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 0%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.65p 0%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.95p 0%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.83p 0%, 16-08 16:00:00 - 16-08 16:30:00 @ 36.84p 0%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.54p 0%, 16-08 17:00:00 - 16-08 17:30:00 @ 41.79p 0%, 16-08 17:30:00 - 16-08 18:00:00 @ 43.7p 0%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.34p 0%, 16-08 19:00:00 - 16-08 19:30:00 @ 34.79p 0%, 16-08 19:30:00 - 16-08 20:00:00 @ 34.76p 0%, 16-08 20:00:00 - 16-08 20:30:00 @ 35.62p 0%, 16-08 20:30:00 - 16-08 21:00:00 @ 35.3p 0%, 16-08 21:00:00 - 16-08 21:30:00 @ 35.89p 0%, 16-08 21:30:00 - 16-08 22:00:00 @ 35.71p 0%, 16-08 22:00:00 - 16-08 22:30:00 @ 33.75p 0%, 16-08 22:30:00 - 16-08 23:00:00 @ 32.0p 0%, 16-08 23:00:00 - 16-08 23:30:00 @ 30.02p 0%, 16-08 23:30:00 - 17-08 00:00:00 @ 27.8p 0%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.18p 0%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.38p 0%, 17-08 01:00:00 - 17-08 01:30:00 @ 26.7p 0%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.31p 0%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.79p 0%, 17-08 02:30:00 - 17-08 03:00:00 @ 25.86p 0%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.13p 0%, 17-08 03:30:00 - 17-08 04:00:00 @ 25.86p 0%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.27p 0%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.14p 0%, 17-08 05:00:00 - 17-08 05:30:00 @ 27.03p 0%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.28p 0%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.68p 0%, 17-08 06:30:00 - 17-08 07:00:00 @ 26.1p 0%, 17-08 07:00:00 - 17-08 07:30:00 @ 24.28p 0%, 17-08 07:30:00 - 17-08 08:00:00 @ 24.94p 0%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.06p 0%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.39p 0%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.66p 0%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.06p 0%, 17-08 10:00:00 - 17-08 10:30:00 @ 25.5p 0%, 17-08 10:30:00 - 17-08 11:00:00 @ 24.94p 0%, 17-08 11:00:00 - 17-08 11:30:00 @ 24.25p 0%, 17-08 11:30:00 - 17-08 12:00:00 @ 23.49p 0%, 17-08 12:00:00 - 17-08 12:30:00 @ 23.43p 0%, 17-08 12:30:00 - 17-08 13:00:00 @ 22.33p 0%, 17-08 13:00:00 - 17-08 13:30:00 @ 22.76p 0%, 17-08 13:30:00 - 17-08 14:00:00 @ 22.3p 0%, 17-08 14:00:00 - 17-08 14:30:00 @ 21.41p 0%, 17-08 14:30:00 - 17-08 15:00:00 @ 21.65p 0%, 17-08 15:00:00 - 17-08 15:30:00 @ 22.95p 0%, 17-08 15:30:00 - 17-08 16:00:00 @ 22.83p 0%, 17-08 16:00:00 - 17-08 16:30:00 @ 36.84p 0%, 17-08 16:30:00 - 17-08 17:00:00 @ 37.54p 0%, 17-08 17:00:00 - 17-08 17:30:00 @ 41.79p 0%, 17-08 17:30:00 - 17-08 18:00:00 @ 43.7p 0%, 17-08 18:00:00 - 17-08 18:30:00 @ 44.34p 0%, 17-08 19:00:00 - 17-08 19:30:00 @ 34.79p 0%, 17-08 19:30:00 - 17-08 20:00:00 @ 34.76p 0%, 17-08 20:00:00 - 17-08 20:30:00 @ 35.62p 0%, 17-08 20:30:00 - 17-08 21:00:00 @ 35.3p 0%, 17-08 21:00:00 - 17-08 21:30:00 @ 35.89p 0%, 17-08 21:30:00 - 17-08 22:00:00 @ 35.71p 0%, 17-08 22:00:00 - 17-08 22:30:00 @ 33.75p 0%, 17-08 22:30:00 - 17-08 23:00:00 @ 32.0p 0%, 17-08 23:00:00 - 17-08 23:30:00 @ 30.02p 0%, 17-08 23:30:00 - 18-08 00:00:00 @ 27.8p 0% ]
2026-08-16 00:00:50.222968: Best export window [  ]
2026-08-16 00:00:50.223742: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-16 00:00:50.226822: Load divergence over 8.0 hours mean 676.77W, min 292.8W, max 1953.0W, std dev 423.7W, divergence 31.3%
2026-08-16 00:00:50.244100: Calculating data from yesterday for savings calculation
2026-08-16 00:00:50.255807: Yesterday basic charge window best: [{'start': 870, 'end': 900, 'average': 13.77}] charge limit best: [16.0] based on max charge slots 1
2026-08-16 00:00:50.299658: predict yesterday end_record 08-17 00:00:00, final soc 1.12kWh, metric 347.02p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 00:00:00, load 12.55kWh, PV 0.0kWh
2026-08-16 00:00:50.313515: predict yesterday10 end_record 08-17 00:00:00, final soc 1.12kWh, metric 352.77p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 00:00:00, load 12.55kWh, PV 0.0kWh
2026-08-16 00:00:50.332368: predict yesterday end_record 08-17 00:00:00, final soc 1.12kWh, metric 347.02p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 00:00:00, load 12.55kWh, PV 0.0kWh
2026-08-16 00:00:50.365902: Yesterday: Predbat disabled was £3.47 (adjusted £3.26) vs £5.77 (adjusted £3.5), saving £-2.3 (adjusted £-0.24) with import 12.88kWh, export 0.0kWh, battery_cycle 4.66kWh, start_soc 1.12kWh,  final_soc 1.12kWh and battery_value 20.6kWh
2026-08-16 00:00:50.441708: predict yesterday end_record 08-17 00:00:00, final soc 0.0kWh, metric 384.81p, metric_keep 0kWh, min_soc 0kWh @ 08-16 00:00:00, load 12.55kWh, PV 0.0kWh
2026-08-16 00:00:50.441922: Yesterday: No Battery/PV system cost predicted was £3.85 (adjusted £3.85) vs £5.77 (adjusted £3.5), saving £-1.92 (adjusted £0.35) with import 12.55kWh, export 0kWh and battery_value 0.0kWh
2026-08-16 00:00:50.485559: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-16 00:00:50.485744: LoadML is_calculating False
2026-08-16 00:00:50.485849: Creating pool of 12 processes to match your CPU count
2026-08-16 00:00:50.581696: Calculate Best options: mode(Control charge & discharge), calculate_export_oncharge(False), calculate_export_on_pv(True), set_export_freeze_only(False), set_discharge_during_charge(True), combine_charge_slots(False), combine_export_slots(False), combine_rate_threshold(0.0), best_soc_min(0.0 kWh), best_soc_max(0.0 kWh), best_soc_keep(0.0 kWh), inverter_loss(4%), battery_loss(3%), battery_loss_discharge (3%), inverter_hybrid(True), metric_min_improvement(0.0p), metric_min_improvement_export(0.1p), metric_min_improvement_export_freeze(0.1p), metric_battery_cycle(0.0p/kWh), metric_battery_value_scaling(1.0 x) 
2026-08-16 00:00:50.583973: Optimise levels pass started at 2026-08-16 00:00:50
2026-08-16 00:00:50.584059: Optimise all windows, total charge 94 export 1
2026-08-16 00:00:51.151878: >> Region optimisation pass width 960 gives best_metric 453.05p, best_cost 467.07p, best_cycle 38.66kWh, best_import 20.85kWh
2026-08-16 00:00:51.467343: >> Region optimisation pass width 480 gives best_metric 453.05p, best_cost 467.07p, best_cycle 38.66kWh, best_import 20.85kWh
2026-08-16 00:00:51.973308: >> Region optimisation pass width 240 gives best_metric 453.05p, best_cost 467.07p, best_cycle 38.66kWh, best_import 20.85kWh
2026-08-16 00:00:53.166944: >> Region optimisation pass width 120 gives best_metric 453.05p, best_cost 467.07p, best_cycle 38.66kWh, best_import 20.85kWh
2026-08-16 00:00:53.167382: Calculated end_record as 08-17 12:30:00 based on best_price 22.33p, next_charge_start 08-16 12:30:00, max_windows 72
2026-08-16 00:00:53.167461: Optimise levels pass ended at 2026-08-16 00:00:53, duration 2.6 seconds tried 289 combinations
2026-08-16 00:00:53.167527: Set best_price_charge_level 24.0p, best_price_export_level 0p, best_price_charge 22.33p, best_cost_export 0p, best_metric 453.05p, best_keep 0kWh, best_cycle 38.66kWh, best_carbon 0kg, best_import 20.85kWh
2026-08-16 00:00:53.187813: Starting detailed optimisation end_record 08-17 12:30:00, best_price_charge 22.33p, best_price_export 0p. lowest_price_charge 21.41p with charge limits [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 0, 0, 16.0, 16.0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0]kWh and export limits []kWh
2026-08-16 00:00:58.708156: Tweak plan optimisation started metric 253.75p, cost 270.43p
2026-08-16 00:00:59.079427: Tweak optimisation finished metric 253.75p, cost 270.43p, metric_keep 0kWh, cycle 22.37kWh, carbon 0kg, import 11.96kWh, changed 8 window(s)
2026-08-16 00:00:59.100219: Swap charge optimisation started metric 253.75p, cost 270.43p, min_improvement_swap 0.1p
2026-08-16 00:01:06.544614: Swap charge optimisation finished metric 253.75p, cost 270.43p
2026-08-16 00:01:06.657954: Pruned 1 dead plan slot(s) in 11 trial(s), nominal metric 249.83p -> 249.83p, plan now metric 253.75p, cost 270.43p, cycle 22.37kWh, import 11.96kWh
2026-08-16 00:01:06.667884: Raw charge windows [ 16-08 00:00:00 - 16-08 00:30:00 @ 28.18p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.38p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 26.7p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.31p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.79p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 25.86p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.13p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 25.86p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.27p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.14p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 27.03p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.28p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.68p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 26.1p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 24.28p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 24.94p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.06p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.39p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.66p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.06p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 25.5p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 24.94p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 24.25p 34%, 16-08 11:30:00 - 16-08 12:00:00 @ 23.49p 34%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.43p 34%, 16-08 12:30:00 - 16-08 13:00:00 @ 22.33p 34%, 16-08 13:00:00 - 16-08 13:30:00 @ 22.76p 34%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 44%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 100%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.65p 72%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.95p 72%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.83p 72%, 16-08 16:00:00 - 16-08 16:30:00 @ 36.84p 0%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.54p 0%, 16-08 17:00:00 - 16-08 17:30:00 @ 41.79p 0%, 16-08 17:30:00 - 16-08 18:00:00 @ 43.7p 0%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.34p 0%, 16-08 19:00:00 - 16-08 19:30:00 @ 34.79p 0%, 16-08 19:30:00 - 16-08 20:00:00 @ 34.76p 0%, 16-08 20:00:00 - 16-08 20:30:00 @ 35.62p 0%, 16-08 20:30:00 - 16-08 21:00:00 @ 35.3p 0%, 16-08 21:00:00 - 16-08 21:30:00 @ 35.89p 0%, 16-08 21:30:00 - 16-08 22:00:00 @ 35.71p 0%, 16-08 22:00:00 - 16-08 22:30:00 @ 33.75p 0%, 16-08 22:30:00 - 16-08 23:00:00 @ 32.0p 0%, 16-08 23:00:00 - 16-08 23:30:00 @ 30.02p 0%, 16-08 23:30:00 - 17-08 00:00:00 @ 27.8p 0%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.18p 0%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.38p 0%, 17-08 01:00:00 - 17-08 01:30:00 @ 26.7p 0%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.31p 0%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.79p 0%, 17-08 02:30:00 - 17-08 03:00:00 @ 25.86p 0%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.13p 0%, 17-08 03:30:00 - 17-08 04:00:00 @ 25.86p 0%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.27p 0%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.14p 0%, 17-08 05:00:00 - 17-08 05:30:00 @ 27.03p 0%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.28p 0%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.68p 0%, 17-08 06:30:00 - 17-08 07:00:00 @ 26.1p 0%, 17-08 07:00:00 - 17-08 07:30:00 @ 24.28p 0%, 17-08 07:30:00 - 17-08 08:00:00 @ 24.94p 0%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.06p 0%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.39p 0%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.66p 0%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.06p 0%, 17-08 10:00:00 - 17-08 10:30:00 @ 25.5p 0%, 17-08 10:30:00 - 17-08 11:00:00 @ 24.94p 0%, 17-08 11:00:00 - 17-08 11:30:00 @ 24.25p 0%, 17-08 11:30:00 - 17-08 12:00:00 @ 23.49p 0%, 17-08 12:00:00 - 17-08 12:30:00 @ 23.43p 0%, 17-08 12:30:00 - 17-08 13:00:00 @ 22.33p 100%, 17-08 13:00:00 - 17-08 13:30:00 @ 22.76p 100%, 17-08 13:30:00 - 17-08 14:00:00 @ 22.3p 100%, 17-08 14:00:00 - 17-08 14:30:00 @ 21.41p 100%, 17-08 14:30:00 - 17-08 15:00:00 @ 21.65p 100%, 17-08 15:00:00 - 17-08 15:30:00 @ 22.95p 100%, 17-08 15:30:00 - 17-08 16:00:00 @ 22.83p 100%, 17-08 16:00:00 - 17-08 16:30:00 @ 36.84p 100%, 17-08 16:30:00 - 17-08 17:00:00 @ 37.54p 100%, 17-08 17:00:00 - 17-08 17:30:00 @ 41.79p 100%, 17-08 17:30:00 - 17-08 18:00:00 @ 43.7p 100%, 17-08 18:00:00 - 17-08 18:30:00 @ 44.34p 100%, 17-08 19:00:00 - 17-08 19:30:00 @ 34.79p 100%, 17-08 19:30:00 - 17-08 20:00:00 @ 34.76p 100%, 17-08 20:00:00 - 17-08 20:30:00 @ 35.62p 100%, 17-08 20:30:00 - 17-08 21:00:00 @ 35.3p 100%, 17-08 21:00:00 - 17-08 21:30:00 @ 35.89p 100%, 17-08 21:30:00 - 17-08 22:00:00 @ 35.71p 100%, 17-08 22:00:00 - 17-08 22:30:00 @ 33.75p 100%, 17-08 22:30:00 - 17-08 23:00:00 @ 32.0p 100%, 17-08 23:00:00 - 17-08 23:30:00 @ 30.02p 100%, 17-08 23:30:00 - 18-08 00:00:00 @ 27.8p 100% ] reserve 1.12
2026-08-16 00:01:06.668380: Unclipped charge windows [ 16-08 11:00:00 - 16-08 13:30:00 @ 22.88p 34%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 44%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 100%, 16-08 14:30:00 - 16-08 16:00:00 @ 22.56p 72%, 17-08 12:30:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 18-08 00:00:00 @ 29.75p 100% ] reserve 1.12
2026-08-16 00:01:06.668613: Unfiltered charge windows [ 16-08 11:00:00 - 16-08 13:30:00 @ 22.88p 34%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 44%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 100%, 16-08 14:30:00 - 16-08 16:00:00 @ 22.56p 72%, 17-08 12:30:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 18-08 00:00:00 @ 29.75p 100% ] reserve 1.12
2026-08-16 00:01:06.668814: Filtered charge windows [ 16-08 11:00:00 - 16-08 13:30:00 @ 22.88p 34%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 44%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 100%, 16-08 14:30:00 - 16-08 16:00:00 @ 22.56p 72%, 17-08 12:30:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 18-08 00:00:00 @ 29.75p 100% ] reserve 1.12
2026-08-16 00:01:06.669277: Plan valid is now true after recompute was False
2026-08-16 00:01:06.693806: predict base end_record 08-17 12:30:00, final soc 1.12kWh, metric 405.99p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 19:30:00, load 21.41kWh, PV 0.0kWh
2026-08-16 00:01:06.878177: Battery has 19.5 hours left - now at 12.16kWh
2026-08-16 00:01:06.940293: predict base10 end_record 08-17 12:30:00, final soc 1.12kWh, metric 439.78p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 18:35:00, load 22.43kWh, PV 0.0kWh
2026-08-16 00:01:08.214649: predict best10 end_record 08-17 12:30:00, final soc 1.12kWh, metric 396.54p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 06:20:00, load 22.43kWh, PV 0.0kWh
2026-08-16 00:01:08.769180: predict best end_record 08-17 12:30:00, final soc 1.12kWh, metric 370.4p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 07:15:00, load 21.41kWh, PV 0.0kWh
2026-08-16 00:01:08.769278: Saving plan best values to HA entities
2026-08-16 00:01:09.470117: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0
2026-08-16 00:01:09.475033: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-16 00:01:09.479891: Best charging limit SoC's [5.5, 7.0, 16.0, 11.5, 16.0, 16.0]kWh, export []kWh gives import battery 8.81kWh, house 3.15kWh, export 0.0kWh, metric 370.4p, metric10 396.54p
2026-08-16 00:01:09.594568: Marginal costs baseline metric (no standing charge): 270.4311
2026-08-16 00:01:09.875162: Marginal energy costs matrix computed: min=22.88 max=27.55
2026-08-16 00:01:10.238348: Rate array import [{'start': 0, 'end': 960, 'rate': 'cheap', 'range': '(21.4p - 28.2p)'}, {'start': 960, 'end': 990, 'rate': 'expensive', 'range': '(36.8p)'}, {'start': 990, 'end': 1140, 'rate': 'very expensive', 'range': '(37.5p - 45.3p)'}, {'start': 1140, 'end': 1410, 'rate': 'expensive', 'range': '(30.0p - 35.9p)'}, {'start': 1410, 'end': 2190, 'rate': 'cheap', 'range': '(23.4p - 28.2p)'}] export [{'start': 0, 'end': 2190, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-16 00:01:10.239136: - Your estimated bill for today is £2.44
2026-08-16 00:01:10.239187: - Import rates are cheap (21.4p - 28.2p) for the next 16 hours and then expensive (36.8p) for the next 30 minutes.
2026-08-16 00:01:10.239210: - The battery is currently at 76% and is in eco mode for the next 11 hours.
2026-08-16 00:01:10.239228: - For the next 48 hours there will be no solar generation.
2026-08-16 00:01:10.239251: - You will run out of battery in 31 hours.
2026-08-16 00:01:10.239268: - Your next charge slot will be in 11 hours where import rates will be cheap (24.3p).
2026-08-16 00:01:10.239285: 
2026-08-16 00:01:10.951000: Plan calculation took 20.73 seconds
2026-08-16 00:01:10.955928: Saved plan to storage
2026-08-16 00:01:10.959060: No high rate period found
2026-08-16 00:01:11.009701: Import threshold used for optimisation was 25.86p
2026-08-16 00:01:11.067210: Low import rate windows [0: 08-16 00:00:00 - 08-16 00:30:00 @ 28.18, 1: 08-16 00:30:00 - 08-16 01:00:00 @ 27.38, 2: 08-16 01:00:00 - 08-16 01:30:00 @ 26.7, 3: 08-16 01:30:00 - 08-16 02:00:00 @ 26.31, 4: 08-16 02:00:00 - 08-16 02:30:00 @ 25.79, 5: 08-16 02:30:00 - 08-16 03:00:00 @ 25.86, 6: 08-16 03:00:00 - 08-16 03:30:00 @ 26.13, 7: 08-16 03:30:00 - 08-16 04:00:00 @ 25.86, 8: 08-16 04:00:00 - 08-16 04:30:00 @ 26.27, 9: 08-16 04:30:00 - 08-16 05:00:00 @ 26.14, 10: 08-16 05:00:00 - 08-16 05:30:00 @ 27.03, 11: 08-16 05:30:00 - 08-16 06:00:00 @ 26.28, 12: 08-16 06:00:00 - 08-16 06:30:00 @ 25.68, 13: 08-16 06:30:00 - 08-16 07:00:00 @ 26.1, 14: 08-16 07:00:00 - 08-16 07:30:00 @ 24.28, 15: 08-16 07:30:00 - 08-16 08:00:00 @ 24.94, 16: 08-16 08:00:00 - 08-16 08:30:00 @ 24.06, 17: 08-16 08:30:00 - 08-16 09:00:00 @ 24.39, 18: 08-16 09:00:00 - 08-16 09:30:00 @ 24.66, 19: 08-16 09:30:00 - 08-16 10:00:00 @ 24.06, 20: 08-16 10:00:00 - 08-16 10:30:00 @ 25.5, 21: 08-16 10:30:00 - 08-16 11:00:00 @ 24.94, 22: 08-16 11:00:00 - 08-16 11:30:00 @ 24.25, 23: 08-16 11:30:00 - 08-16 12:00:00 @ 23.49, 24: 08-16 12:00:00 - 08-16 12:30:00 @ 23.43, 25: 08-16 12:30:00 - 08-16 13:00:00 @ 22.33, 26: 08-16 13:00:00 - 08-16 13:30:00 @ 22.76, 27: 08-16 13:30:00 - 08-16 14:00:00 @ 22.3, 28: 08-16 14:00:00 - 08-16 14:30:00 @ 21.41, 29: 08-16 14:30:00 - 08-16 15:00:00 @ 21.65, 30: 08-16 15:00:00 - 08-16 15:30:00 @ 22.95, 31: 08-16 15:30:00 - 08-16 16:00:00 @ 22.83, 32: 08-16 16:00:00 - 08-16 16:30:00 @ 36.84, 33: 08-16 16:30:00 - 08-16 17:00:00 @ 37.54, 34: 08-16 17:00:00 - 08-16 17:30:00 @ 41.79, 35: 08-16 17:30:00 - 08-16 18:00:00 @ 43.7, 36: 08-16 18:00:00 - 08-16 18:30:00 @ 44.34, 37: 08-16 19:00:00 - 08-16 19:30:00 @ 34.79, 38: 08-16 19:30:00 - 08-16 20:00:00 @ 34.76, 39: 08-16 20:00:00 - 08-16 20:30:00 @ 35.62, 40: 08-16 20:30:00 - 08-16 21:00:00 @ 35.3, 41: 08-16 21:00:00 - 08-16 21:30:00 @ 35.89, 42: 08-16 21:30:00 - 08-16 22:00:00 @ 35.71, 43: 08-16 22:00:00 - 08-16 22:30:00 @ 33.75, 44: 08-16 22:30:00 - 08-16 23:00:00 @ 32.0, 45: 08-16 23:00:00 - 08-16 23:30:00 @ 30.02, 46: 08-16 23:30:00 - 08-17 00:00:00 @ 27.8, 47: 08-17 00:00:00 - 08-17 00:30:00 @ 28.18, 48: 08-17 00:30:00 - 08-17 01:00:00 @ 27.38, 49: 08-17 01:00:00 - 08-17 01:30:00 @ 26.7, 50: 08-17 01:30:00 - 08-17 02:00:00 @ 26.31, 51: 08-17 02:00:00 - 08-17 02:30:00 @ 25.79, 52: 08-17 02:30:00 - 08-17 03:00:00 @ 25.86, 53: 08-17 03:00:00 - 08-17 03:30:00 @ 26.13, 54: 08-17 03:30:00 - 08-17 04:00:00 @ 25.86, 55: 08-17 04:00:00 - 08-17 04:30:00 @ 26.27, 56: 08-17 04:30:00 - 08-17 05:00:00 @ 26.14, 57: 08-17 05:00:00 - 08-17 05:30:00 @ 27.03, 58: 08-17 05:30:00 - 08-17 06:00:00 @ 26.28, 59: 08-17 06:00:00 - 08-17 06:30:00 @ 25.68, 60: 08-17 06:30:00 - 08-17 07:00:00 @ 26.1, 61: 08-17 07:00:00 - 08-17 07:30:00 @ 24.28, 62: 08-17 07:30:00 - 08-17 08:00:00 @ 24.94, 63: 08-17 08:00:00 - 08-17 08:30:00 @ 24.06, 64: 08-17 08:30:00 - 08-17 09:00:00 @ 24.39, 65: 08-17 09:00:00 - 08-17 09:30:00 @ 24.66, 66: 08-17 09:30:00 - 08-17 10:00:00 @ 24.06, 67: 08-17 10:00:00 - 08-17 10:30:00 @ 25.5, 68: 08-17 10:30:00 - 08-17 11:00:00 @ 24.94, 69: 08-17 11:00:00 - 08-17 11:30:00 @ 24.25, 70: 08-17 11:30:00 - 08-17 12:00:00 @ 23.49, 71: 08-17 12:00:00 - 08-17 12:30:00 @ 23.43, 72: 08-17 12:30:00 - 08-17 13:00:00 @ 22.33, 73: 08-17 13:00:00 - 08-17 13:30:00 @ 22.76, 74: 08-17 13:30:00 - 08-17 14:00:00 @ 22.3, 75: 08-17 14:00:00 - 08-17 14:30:00 @ 21.41, 76: 08-17 14:30:00 - 08-17 15:00:00 @ 21.65, 77: 08-17 15:00:00 - 08-17 15:30:00 @ 22.95, 78: 08-17 15:30:00 - 08-17 16:00:00 @ 22.83, 79: 08-17 16:00:00 - 08-17 16:30:00 @ 36.84, 80: 08-17 16:30:00 - 08-17 17:00:00 @ 37.54, 81: 08-17 17:00:00 - 08-17 17:30:00 @ 41.79, 82: 08-17 17:30:00 - 08-17 18:00:00 @ 43.7, 83: 08-17 18:00:00 - 08-17 18:30:00 @ 44.34, 84: 08-17 19:00:00 - 08-17 19:30:00 @ 34.79, 85: 08-17 19:30:00 - 08-17 20:00:00 @ 34.76, 86: 08-17 20:00:00 - 08-17 20:30:00 @ 35.62, 87: 08-17 20:30:00 - 08-17 21:00:00 @ 35.3, 88: 08-17 21:00:00 - 08-17 21:30:00 @ 35.89, 89: 08-17 21:30:00 - 08-17 22:00:00 @ 35.71, 90: 08-17 22:00:00 - 08-17 22:30:00 @ 33.75, 91: 08-17 22:30:00 - 08-17 23:00:00 @ 32.0, 92: 08-17 23:00:00 - 08-17 23:30:00 @ 30.02, 93: 08-17 23:30:00 - 08-18 00:00:00 @ 27.8]
2026-08-16 00:01:11.075241: Inverter 0: Type SK Sunsynk
2026-08-16 00:01:11.075331: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-16 00:01:11.075556: Reserve min: 7%, battery_min: 7%
2026-08-16 00:01:11.075636: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-16 00:01:11.075988: Inverter 0 SoC: 12.16kW 76%, current charge rate 5000W, current discharge rate 5250W, current battery power 1546W, current battery voltage 51.2V, grid power -54W, load power 1601W, PV Power 0W
2026-08-16 00:01:11.076217: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-16 00:01:11.076325: Inverter 0 scheduled charge enable is False
2026-08-16 00:01:11.076359: Inverter 0 charge windows currently []
2026-08-16 00:01:11.076388: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-16 00:01:11.076497: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-16 00:01:11.076533: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-16 00:01:11.076567: Inverter 0 scheduled discharge enable is False
2026-08-16 00:01:11.076701: Inverter 0 idle time is 08-16 16:00:00-08-16 23:59:00
2026-08-16 00:01:11.076740: Inverter 0 discharge windows currently []
2026-08-16 00:01:11.076763: Note: Inverter does not support discharge freeze - disabled
2026-08-16 00:01:11.076781: Note: Inverter does not support charge freeze - disabled
2026-08-16 00:01:11.076802: Note: Inverter does not support reserve - disabling reserve functions
2026-08-16 00:01:11.128924: Inverter 0 Charge window will be: 2026-08-16 11:00:00+01:00 - 2026-08-16 16:00:00+01:00 - current SoC 76%, target 34%
2026-08-16 00:01:11.129104: Inverter 0 disabled charge window while waiting for schedule (now 08-16 00:00:00 target set_window_minutes 30 charge start time 08-16 11:00:00) original inverter start time 08-18 00:00:00
2026-08-16 00:01:11.129177: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-16 00:01:11.129360: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-16 00:01:11.129436: Inverter 0 set new demand (idle) start time to 00:00:00 was 16:00:00
2026-08-16 00:01:16.135385: Inverter 0 write_and_poll_value: Wrote 00:00:00 to idle_start_time, successfully now 00:00:00
2026-08-16 00:01:16.135532: No export window planned
2026-08-16 00:01:16.135721: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-16 00:01:16.135764: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-16 00:01:16.135998: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-16 00:01:16.136191: Inverter 0 not setting charging SoC as we are not within the window (now 08-16 00:00:00 target set_soc_minutes 30 charge start time 08-18 00:00:00)
2026-08-16 00:01:16.136251: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-16 00:01:16.136321: Inverter 0 Current Target SoC is 7%, already at target
2026-08-16 00:01:16.136424: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 00:01:16.136470: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 00:01:16.136499: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 00:01:16.136525: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 00:01:16.136581: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 00:01:16.136609: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 00:01:16.136634: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 00:01:16.136693: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 00:01:16.136728: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 00:01:16.136753: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 00:01:16.136777: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 00:01:16.136805: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 00:01:16.136833: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 00:01:16.136878: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 00:01:16.136910: Inverter 0 count register writes 0
2026-08-16 00:01:16.242233: Total inverter register writes now 826
2026-08-16 00:01:17.214487: Info: Completed run status Demand
2026-08-16 00:01:17.220924: Info: record_status Demand
2026-08-16 00:01:17.228246: Saved current settings to /config/predbat_config.json
2026-08-16 00:01:17.253190: Starting comparison of tariffs
2026-08-16 00:01:17.253312: Compare tariff current starting SoC: 7.47 kWh
2026-08-16 00:01:17.253351: Compare Tariff: Current Tariff
2026-08-16 00:01:17.253465: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-16 00:01:17.253548: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-16 00:01:17.253739: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-16 00:01:17.254308: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-16 00:01:17.254443: Predbat mode is set to Control charge & discharge
2026-08-16 00:01:18.239492: Found 21602 load_today datapoints going back 28 days
2026-08-16 00:01:18.239633: Using load_power data to fill gaps in load_today data
2026-08-16 00:01:19.061261: Processing 721 30-minute periods for power integration
2026-08-16 00:01:19.254037: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-16 00:01:19.254195: Car charging hold False, threshold 6.0kWh
2026-08-16 00:01:19.254244: Current data so far today: load 0.0kWh, import 0.0kWh, export 0.0kWh, PV 0kWh
2026-08-16 00:01:19.273182: Cars: SoC: [8.204]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-16 00:01:19.273716: Standing charge is set to 49.98p
2026-08-16 00:01:19.297137: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-16 00:01:19.297245: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-16 00:01:19.297457: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 1.2 minutes
2026-08-16 00:01:19.297962: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-17&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 1.1 minutes
2026-08-16 00:01:19.300436: Loaded 47 datapoints of futurerate analysis
2026-08-16 00:01:19.385722: Predicted future rates: ['08-16 00:00:00 => 28.52 / 19.97', '08-16 01:00:00 => 27.43 / 19.41', '08-16 02:00:00 => 26.47 / 18.92', '08-16 03:00:00 => 26.1 / 18.73', '08-16 04:00:00 => 26.04 / 18.7', '08-16 05:00:00 => 25.95 / 18.65', '08-16 06:00:00 => 25.71 / 18.53', '08-16 07:00:00 => 25.37 / 18.35', '08-16 08:00:00 => 24.58 / 17.94', '08-16 09:00:00 => 24.0 / 17.64', '08-16 10:00:00 => 24.54 / 17.92', '08-16 11:00:00 => 24.44 / 17.87', '08-16 12:00:00 => 23.53 / 17.4', '08-16 13:00:00 => 22.89 / 17.07', '08-16 14:00:00 => 21.77 / 16.49', '08-16 15:00:00 => 21.77 / 16.49', '08-16 16:00:00 => 36.89 / 18.3', '08-16 17:00:00 => 39.85 / 19.83', '08-16 18:00:00 => 43.87 / 21.9', '08-16 19:00:00 => 32.69 / 22.13', '08-16 20:00:00 => 33.46 / 22.53', '08-16 21:00:00 => 33.37 / 22.48', '08-16 22:00:00 => 32.01 / 21.78']
2026-08-16 00:01:19.434590: Rate min forward looking: now 21.41p at end of forecast 21.41p
2026-08-16 00:01:19.434973: Import rates: min 21.41p, max 45.28p, average 28.73p
2026-08-16 00:01:19.469069: Export rates: min 0p, max 0p, average 0.0p
2026-08-16 00:01:19.469193: Rate thresholds (for charge/export) are import 44.78p (0.0p), export -0.1p (0.0p)
2026-08-16 00:01:19.470295: High export rate found rates in range 99p to -99p
2026-08-16 00:01:19.540021: Low Import rate found rates in range 21.41p to 44.34p
2026-08-16 00:01:19.540156: Car 0 charging is not planned as it is not plugged in
2026-08-16 00:01:19.606062: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-16 00:01:19.680618: Using weighted-bucket historical load forecast over 14 days
2026-08-16 00:01:19.724918: Using existing rate import data
2026-08-16 00:01:19.725079: Using existing rate export data
2026-08-16 00:01:19.733032: Rate min forward looking: now 21.41p at end of forecast 21.41p
2026-08-16 00:01:19.733350: Import rates: min 21.41p, max 45.28p, average 28.73p
2026-08-16 00:01:19.737760: Export rates: min 0p, max 0p, average 0.0p
2026-08-16 00:01:19.737839: Rate thresholds (for charge/export) are import 44.78p (0p), export -0.1p (0p)
2026-08-16 00:01:19.747847: Running scenario for tariff: Current Tariff
2026-08-16 00:01:19.748017: Recompute is saving previous plan...
2026-08-16 00:01:19.751074: Best charge window [ 16-08 00:00:00 - 16-08 00:30:00 @ 28.18p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.38p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 26.7p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.31p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.79p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 25.86p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.13p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 25.86p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.27p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.14p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 27.03p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.28p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.68p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 26.1p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 24.28p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 24.94p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.06p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.39p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.66p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.06p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 25.5p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 24.94p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 24.25p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 23.49p 0%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.43p 0%, 16-08 12:30:00 - 16-08 13:00:00 @ 22.33p 0%, 16-08 13:00:00 - 16-08 13:30:00 @ 22.76p 0%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 0%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 0%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.65p 0%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.95p 0%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.83p 0%, 16-08 16:00:00 - 16-08 16:30:00 @ 36.84p 0%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.54p 0%, 16-08 17:00:00 - 16-08 17:30:00 @ 41.79p 0%, 16-08 17:30:00 - 16-08 18:00:00 @ 43.7p 0%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.34p 0%, 16-08 19:00:00 - 16-08 19:30:00 @ 34.79p 0%, 16-08 19:30:00 - 16-08 20:00:00 @ 34.76p 0%, 16-08 20:00:00 - 16-08 20:30:00 @ 35.62p 0%, 16-08 20:30:00 - 16-08 21:00:00 @ 35.3p 0%, 16-08 21:00:00 - 16-08 21:30:00 @ 35.89p 0%, 16-08 21:30:00 - 16-08 22:00:00 @ 35.71p 0%, 16-08 22:00:00 - 16-08 22:30:00 @ 33.75p 0%, 16-08 22:30:00 - 16-08 23:00:00 @ 32.0p 0%, 16-08 23:00:00 - 16-08 23:30:00 @ 30.02p 0%, 16-08 23:30:00 - 17-08 00:00:00 @ 27.8p 0%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.18p 0%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.38p 0%, 17-08 01:00:00 - 17-08 01:30:00 @ 26.7p 0%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.31p 0%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.79p 0%, 17-08 02:30:00 - 17-08 03:00:00 @ 25.86p 0%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.13p 0%, 17-08 03:30:00 - 17-08 04:00:00 @ 25.86p 0%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.27p 0%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.14p 0%, 17-08 05:00:00 - 17-08 05:30:00 @ 27.03p 0%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.28p 0%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.68p 0%, 17-08 06:30:00 - 17-08 07:00:00 @ 26.1p 0%, 17-08 07:00:00 - 17-08 07:30:00 @ 24.28p 0%, 17-08 07:30:00 - 17-08 08:00:00 @ 24.94p 0%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.06p 0%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.39p 0%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.66p 0%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.06p 0%, 17-08 10:00:00 - 17-08 10:30:00 @ 25.5p 0%, 17-08 10:30:00 - 17-08 11:00:00 @ 24.94p 0%, 17-08 11:00:00 - 17-08 11:30:00 @ 24.25p 0%, 17-08 11:30:00 - 17-08 12:00:00 @ 23.49p 0%, 17-08 12:00:00 - 17-08 12:30:00 @ 23.43p 0%, 17-08 12:30:00 - 17-08 13:00:00 @ 22.33p 0%, 17-08 13:00:00 - 17-08 13:30:00 @ 22.76p 0%, 17-08 13:30:00 - 17-08 14:00:00 @ 22.3p 0%, 17-08 14:00:00 - 17-08 14:30:00 @ 21.41p 0%, 17-08 14:30:00 - 17-08 15:00:00 @ 21.65p 0%, 17-08 15:00:00 - 17-08 15:30:00 @ 22.95p 0%, 17-08 15:30:00 - 17-08 16:00:00 @ 22.83p 0%, 17-08 16:00:00 - 17-08 16:30:00 @ 36.84p 0%, 17-08 16:30:00 - 17-08 17:00:00 @ 37.54p 0%, 17-08 17:00:00 - 17-08 17:30:00 @ 41.79p 0%, 17-08 17:30:00 - 17-08 18:00:00 @ 43.7p 0%, 17-08 18:00:00 - 17-08 18:30:00 @ 44.34p 0%, 17-08 19:00:00 - 17-08 19:30:00 @ 34.79p 0%, 17-08 19:30:00 - 17-08 20:00:00 @ 34.76p 0%, 17-08 20:00:00 - 17-08 20:30:00 @ 35.62p 0%, 17-08 20:30:00 - 17-08 21:00:00 @ 35.3p 0%, 17-08 21:00:00 - 17-08 21:30:00 @ 35.89p 0%, 17-08 21:30:00 - 17-08 22:00:00 @ 35.71p 0%, 17-08 22:00:00 - 17-08 22:30:00 @ 33.75p 0%, 17-08 22:30:00 - 17-08 23:00:00 @ 32.0p 0%, 17-08 23:00:00 - 17-08 23:30:00 @ 30.02p 0%, 17-08 23:30:00 - 18-08 00:00:00 @ 27.8p 0% ]
2026-08-16 00:01:19.751384: Best export window [  ]
2026-08-16 00:01:19.752203: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-16 00:01:19.755215: Load divergence over 8.0 hours mean 676.77W, min 292.8W, max 1953.0W, std dev 423.7W, divergence 31.3%
2026-08-16 00:01:19.769802: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-16 00:01:19.769947: LoadML is_calculating False
2026-08-16 00:01:19.770010: Creating pool of 12 processes to match your CPU count
2026-08-16 00:01:19.854212: Calculate Best options: mode(Control charge & discharge), calculate_export_oncharge(False), calculate_export_on_pv(True), set_export_freeze_only(False), set_discharge_during_charge(True), combine_charge_slots(False), combine_export_slots(False), combine_rate_threshold(0.0), best_soc_min(0.0 kWh), best_soc_max(0.0 kWh), best_soc_keep(0.0 kWh), inverter_loss(4%), battery_loss(3%), battery_loss_discharge (3%), inverter_hybrid(True), metric_min_improvement(0.0p), metric_min_improvement_export(0.1p), metric_min_improvement_export_freeze(0.1p), metric_battery_cycle(0.0p/kWh), metric_battery_value_scaling(1.0 x) 
2026-08-16 00:01:19.858046: Optimise levels pass started at 2026-08-16 00:01:19
2026-08-16 00:01:19.858109: Optimise all windows, total charge 94 export 1
2026-08-16 00:01:20.926445: >> Region optimisation pass width 960 gives best_metric 564.91p, best_cost 578.7p, best_cycle 34.11kWh, best_import 25.22kWh
2026-08-16 00:01:22.041906: >> Region optimisation pass width 480 gives best_metric 561.3p, best_cost 576.22p, best_cycle 38.77kWh, best_import 25.55kWh
2026-08-16 00:01:23.593173: >> Region optimisation pass width 240 gives best_metric 560.53p, best_cost 575.46p, best_cycle 38.77kWh, best_import 25.55kWh
2026-08-16 00:01:25.306917: >> Region optimisation pass width 120 gives best_metric 559.23p, best_cost 574.05p, best_cycle 37.22kWh, best_import 25.44kWh
2026-08-16 00:01:25.307407: Calculated end_record as 08-18 00:00:00 based on best_price 22.83p, next_charge_start 08-16 12:30:00, max_windows 94
2026-08-16 00:01:25.307486: Optimise levels pass ended at 2026-08-16 00:01:25, duration 5.4 seconds tried 501 combinations
2026-08-16 00:01:25.307559: Set best_price_charge_level 24.6p, best_price_export_level 0p, best_price_charge 22.83p, best_cost_export 0p, best_metric 559.23p, best_keep 0kWh, best_cycle 37.22kWh, best_carbon 0kg, best_import 25.44kWh
2026-08-16 00:01:25.328786: Starting detailed optimisation end_record 08-18 00:00:00, best_price_charge 22.83p, best_price_export 0p. lowest_price_charge 21.41p with charge limits [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 0, 16.0, 16.0, 16.0, 0, 1.12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.12, 1.12, 1.12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 16.0, 0, 7.0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]kWh and export limits []kWh
2026-08-16 00:01:38.983001: Tweak plan optimisation started metric 555.41p, cost 571.23p
2026-08-16 00:01:39.376421: Tweak optimisation finished metric 555.41p, cost 571.23p, metric_keep 0kWh, cycle 36.83kWh, carbon 0kg, import 25.46kWh, changed 8 window(s)
2026-08-16 00:01:39.401133: Swap charge optimisation started metric 555.41p, cost 571.23p, min_improvement_swap 0.1p
2026-08-16 00:01:50.627847: Swap charge optimisation finished metric 555.41p, cost 571.23p
2026-08-16 00:01:50.796117: Pruned 2 dead plan slot(s) in 15 trial(s), nominal metric 549.8p -> 549.82p, plan now metric 555.46p, cost 571.25p, cycle 36.83kWh, import 25.46kWh
2026-08-16 00:01:50.809029: Raw charge windows [ 16-08 00:00:00 - 16-08 00:30:00 @ 28.18p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.38p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 26.7p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.31p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.79p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 25.86p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.13p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 25.86p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.27p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.14p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 27.03p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.28p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.68p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 26.1p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 24.28p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 24.94p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.06p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.39p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.66p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.06p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 25.5p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 24.94p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 24.25p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 23.49p 0%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.43p 0%, 16-08 12:30:00 - 16-08 13:00:00 @ 22.33p 100%, 16-08 13:00:00 - 16-08 13:30:00 @ 22.76p 7%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 100%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 100%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.65p 100%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.95p 7%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.83p 7%, 16-08 16:00:00 - 16-08 16:30:00 @ 36.84p 0%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.54p 0%, 16-08 17:00:00 - 16-08 17:30:00 @ 41.79p 0%, 16-08 17:30:00 - 16-08 18:00:00 @ 43.7p 0%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.34p 0%, 16-08 19:00:00 - 16-08 19:30:00 @ 34.79p 0%, 16-08 19:30:00 - 16-08 20:00:00 @ 34.76p 0%, 16-08 20:00:00 - 16-08 20:30:00 @ 35.62p 0%, 16-08 20:30:00 - 16-08 21:00:00 @ 35.3p 0%, 16-08 21:00:00 - 16-08 21:30:00 @ 35.89p 0%, 16-08 21:30:00 - 16-08 22:00:00 @ 35.71p 0%, 16-08 22:00:00 - 16-08 22:30:00 @ 33.75p 0%, 16-08 22:30:00 - 16-08 23:00:00 @ 32.0p 0%, 16-08 23:00:00 - 16-08 23:30:00 @ 30.02p 0%, 16-08 23:30:00 - 17-08 00:00:00 @ 27.8p 0%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.18p 0%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.38p 0%, 17-08 01:00:00 - 17-08 01:30:00 @ 26.7p 0%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.31p 0%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.79p 7%, 17-08 02:30:00 - 17-08 03:00:00 @ 25.86p 0%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.13p 0%, 17-08 03:30:00 - 17-08 04:00:00 @ 25.86p 0%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.27p 0%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.14p 0%, 17-08 05:00:00 - 17-08 05:30:00 @ 27.03p 0%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.28p 0%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.68p 0%, 17-08 06:30:00 - 17-08 07:00:00 @ 26.1p 0%, 17-08 07:00:00 - 17-08 07:30:00 @ 24.28p 0%, 17-08 07:30:00 - 17-08 08:00:00 @ 24.94p 0%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.06p 0%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.39p 0%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.66p 0%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.06p 0%, 17-08 10:00:00 - 17-08 10:30:00 @ 25.5p 0%, 17-08 10:30:00 - 17-08 11:00:00 @ 24.94p 0%, 17-08 11:00:00 - 17-08 11:30:00 @ 24.25p 0%, 17-08 11:30:00 - 17-08 12:00:00 @ 23.49p 0%, 17-08 12:00:00 - 17-08 12:30:00 @ 23.43p 0%, 17-08 12:30:00 - 17-08 13:00:00 @ 22.33p 0%, 17-08 13:00:00 - 17-08 13:30:00 @ 22.76p 0%, 17-08 13:30:00 - 17-08 14:00:00 @ 22.3p 16%, 17-08 14:00:00 - 17-08 14:30:00 @ 21.41p 100%, 17-08 14:30:00 - 17-08 15:00:00 @ 21.65p 100%, 17-08 15:00:00 - 17-08 15:30:00 @ 22.95p 7%, 17-08 15:30:00 - 17-08 16:00:00 @ 22.83p 44%, 17-08 16:00:00 - 17-08 16:30:00 @ 36.84p 0%, 17-08 16:30:00 - 17-08 17:00:00 @ 37.54p 0%, 17-08 17:00:00 - 17-08 17:30:00 @ 41.79p 0%, 17-08 17:30:00 - 17-08 18:00:00 @ 43.7p 0%, 17-08 18:00:00 - 17-08 18:30:00 @ 44.34p 0%, 17-08 19:00:00 - 17-08 19:30:00 @ 34.79p 0%, 17-08 19:30:00 - 17-08 20:00:00 @ 34.76p 0%, 17-08 20:00:00 - 17-08 20:30:00 @ 35.62p 0%, 17-08 20:30:00 - 17-08 21:00:00 @ 35.3p 0%, 17-08 21:00:00 - 17-08 21:30:00 @ 35.89p 0%, 17-08 21:30:00 - 17-08 22:00:00 @ 35.71p 0%, 17-08 22:00:00 - 17-08 22:30:00 @ 33.75p 0%, 17-08 22:30:00 - 17-08 23:00:00 @ 32.0p 0%, 17-08 23:00:00 - 17-08 23:30:00 @ 30.02p 0%, 17-08 23:30:00 - 18-08 00:00:00 @ 27.8p 0% ] reserve 1.12
2026-08-16 00:01:50.809657: Unclipped charge windows [ 16-08 12:30:00 - 16-08 13:00:00 @ 22.33p 100%, 16-08 13:00:00 - 16-08 13:30:00 @ 22.76p 7%, 16-08 13:30:00 - 16-08 15:00:00 @ 21.75p 100%, 16-08 15:00:00 - 16-08 16:00:00 @ 22.89p 7%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.79p 7%, 17-08 13:30:00 - 17-08 14:00:00 @ 22.3p 16%, 17-08 14:00:00 - 17-08 15:00:00 @ 21.53p 100%, 17-08 15:00:00 - 17-08 15:30:00 @ 22.95p 7%, 17-08 15:30:00 - 17-08 16:00:00 @ 22.83p 44% ] reserve 1.12
2026-08-16 00:01:50.810185: Unfiltered charge windows [ 16-08 12:30:00 - 16-08 13:00:00 @ 22.33p 100%, 16-08 13:00:00 - 16-08 13:30:00 @ 22.76p 7%, 16-08 13:30:00 - 16-08 15:00:00 @ 21.75p 100%, 16-08 15:00:00 - 16-08 16:00:00 @ 22.89p 7%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.79p 7%, 17-08 13:30:00 - 17-08 14:00:00 @ 22.3p 16%, 17-08 14:00:00 - 17-08 15:00:00 @ 21.53p 100%, 17-08 15:00:00 - 17-08 15:30:00 @ 22.95p 7%, 17-08 15:30:00 - 17-08 16:00:00 @ 22.83p 44% ] reserve 1.12
2026-08-16 00:01:50.810688: Filtered charge windows [ 16-08 12:30:00 - 16-08 13:00:00 @ 22.33p 100%, 16-08 13:00:00 - 16-08 13:30:00 @ 22.76p 7%, 16-08 13:30:00 - 16-08 15:00:00 @ 21.75p 100%, 16-08 15:00:00 - 16-08 16:00:00 @ 22.89p 7%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.79p 7%, 17-08 13:30:00 - 17-08 14:00:00 @ 22.3p 16%, 17-08 14:00:00 - 17-08 15:00:00 @ 21.53p 100%, 17-08 15:00:00 - 17-08 15:30:00 @ 22.95p 7%, 17-08 15:30:00 - 17-08 16:00:00 @ 22.83p 44% ] reserve 1.12
2026-08-16 00:01:50.851242: Previous plan best metric is 705.2 (cost 990.64) and new plan best metric is 555.41 (cost 571.23)
2026-08-16 00:01:50.851502: New plan metric is significantly better from previous plan, using new plan
2026-08-16 00:01:50.851540: Plan valid is now true after recompute was False
2026-08-16 00:01:50.887239: Best charging limit SoC's [16.0, 1.12, 16.0, 1.12, 1.12, 2.5, 16.0, 1.12, 7.0]kWh, export []kWh gives import battery 20.07kWh, house 5.39kWh, export 0.0kWh, metric 571.25p, metric10 608.01p
2026-08-16 00:01:50.909747: Plan calculation took 31.16 seconds
2026-08-16 00:01:50.940993: predict compare end_record 08-17 00:00:00, final soc 5.46kWh, metric 280.39p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 11:10:00, load 13.22kWh, PV 0.0kWh
2026-08-16 00:01:50.958708: Scenario complete for tariff: Current Tariff, cost 280.39p, metric 318.25p
2026-08-16 00:01:50.958838: Compare, best tariff: igo_fixed metric 270.76p
2026-08-16 00:01:51.423593: Compare tariff igo_fixed starting SoC: 1.12 kWh
2026-08-16 00:01:51.423693: Compare Tariff: Intelligent GO
2026-08-16 00:01:51.423845: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-16 00:01:51.423950: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-16 00:01:51.424140: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-16 00:01:51.424786: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-16 00:01:51.424974: Predbat mode is set to Control charge & discharge
2026-08-16 00:01:52.188545: Found 21602 load_today datapoints going back 28 days
2026-08-16 00:01:52.188680: Using load_power data to fill gaps in load_today data
2026-08-16 00:01:52.926198: Processing 721 30-minute periods for power integration
2026-08-16 00:01:53.080016: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-16 00:01:53.080138: Car charging hold False, threshold 6.0kWh
2026-08-16 00:01:53.080172: Current data so far today: load 0.0kWh, import 0.0kWh, export 0.0kWh, PV 0kWh
2026-08-16 00:01:53.094151: Cars: SoC: [8.204]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-16 00:01:53.094518: Standing charge is set to 49.98p
2026-08-16 00:01:53.117120: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-16 00:01:53.117260: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-16 00:01:53.117590: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 1.8 minutes
2026-08-16 00:01:53.118351: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-17&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 1.6 minutes
2026-08-16 00:01:53.124562: Loaded 47 datapoints of futurerate analysis
2026-08-16 00:01:53.232415: Predicted future rates: ['08-16 00:00:00 => 28.52 / 19.97', '08-16 01:00:00 => 27.43 / 19.41', '08-16 02:00:00 => 26.47 / 18.92', '08-16 03:00:00 => 26.1 / 18.73', '08-16 04:00:00 => 26.04 / 18.7', '08-16 05:00:00 => 25.95 / 18.65', '08-16 06:00:00 => 25.71 / 18.53', '08-16 07:00:00 => 25.37 / 18.35', '08-16 08:00:00 => 24.58 / 17.94', '08-16 09:00:00 => 24.0 / 17.64', '08-16 10:00:00 => 24.54 / 17.92', '08-16 11:00:00 => 24.44 / 17.87', '08-16 12:00:00 => 23.53 / 17.4', '08-16 13:00:00 => 22.89 / 17.07', '08-16 14:00:00 => 21.77 / 16.49', '08-16 15:00:00 => 21.77 / 16.49', '08-16 16:00:00 => 36.89 / 18.3', '08-16 17:00:00 => 39.85 / 19.83', '08-16 18:00:00 => 43.87 / 21.9', '08-16 19:00:00 => 32.69 / 22.13', '08-16 20:00:00 => 33.46 / 22.53', '08-16 21:00:00 => 33.37 / 22.48', '08-16 22:00:00 => 32.01 / 21.78']
2026-08-16 00:01:53.295760: Rate min forward looking: now 21.41p at end of forecast 21.41p
2026-08-16 00:01:53.296190: Import rates: min 21.41p, max 45.28p, average 28.73p
2026-08-16 00:01:53.340281: Export rates: min 0p, max 0p, average 0.0p
2026-08-16 00:01:53.340411: Rate thresholds (for charge/export) are import 44.78p (0.0p), export -0.1p (0.0p)
2026-08-16 00:01:53.341815: High export rate found rates in range 99p to -99p
2026-08-16 00:01:53.430777: Low Import rate found rates in range 21.41p to 44.34p
2026-08-16 00:01:53.430965: Car 0 charging is not planned as it is not plugged in
2026-08-16 00:01:53.527193: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-16 00:01:53.599616: Using weighted-bucket historical load forecast over 14 days
2026-08-16 00:01:53.647187: Octopus: Download Octopus rates from https://api.octopus.energy/v1/products/INTELLI-FIX-12M-26-06-13/electricity-tariffs/E-1R-INTELLI-FIX-12M-26-06-13-G/standard-unit-rates/
2026-08-16 00:01:53.647375: Octopus: Cached octopus data for https://api.octopus.energy/v1/products/INTELLI-FIX-12M-26-06-13/electricity-tariffs/E-1R-INTELLI-FIX-12M-26-06-13-G/standard-unit-rates/ is stale (midnight crossed), re-downloading
2026-08-16 00:01:54.389026: Using existing rate export data
2026-08-16 00:01:54.427993: Rate min forward looking: now 8.0p at end of forecast 8.0p
2026-08-16 00:01:54.428440: Import rates: min 8.0p, max 33.75p, average 27.31p
2026-08-16 00:01:54.433672: Export rates: min 0p, max 0p, average 0.0p
2026-08-16 00:01:54.433798: Rate thresholds (for charge/export) are import 33.25p (0p), export -0.1p (0p)
2026-08-16 00:01:54.434830: Compare rate import is different, minute 0 changed from 28.182 to 8.0
2026-08-16 00:01:54.434905: Running scenario for tariff: Intelligent GO
2026-08-16 00:01:54.435050: Recompute is saving previous plan...
2026-08-16 00:01:54.435933: Best charge window [ 16-08 00:00:00 - 16-08 00:30:00 @ 8.0p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 8.0p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 8.0p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 8.0p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 8.0p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 8.0p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 8.0p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 8.0p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 8.0p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 8.0p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 8.0p 0%, 16-08 23:30:00 - 17-08 00:00:00 @ 8.0p 0%, 17-08 00:00:00 - 17-08 00:30:00 @ 8.0p 0%, 17-08 00:30:00 - 17-08 01:00:00 @ 8.0p 0%, 17-08 01:00:00 - 17-08 01:30:00 @ 8.0p 0%, 17-08 01:30:00 - 17-08 02:00:00 @ 8.0p 0%, 17-08 02:00:00 - 17-08 02:30:00 @ 8.0p 0%, 17-08 02:30:00 - 17-08 03:00:00 @ 8.0p 0%, 17-08 03:00:00 - 17-08 03:30:00 @ 8.0p 0%, 17-08 03:30:00 - 17-08 04:00:00 @ 8.0p 0%, 17-08 04:00:00 - 17-08 04:30:00 @ 8.0p 0%, 17-08 04:30:00 - 17-08 05:00:00 @ 8.0p 0%, 17-08 05:00:00 - 17-08 05:30:00 @ 8.0p 0%, 17-08 23:30:00 - 18-08 00:00:00 @ 8.0p 0% ]
2026-08-16 00:01:54.435985: Best export window [  ]
2026-08-16 00:01:54.436773: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-16 00:01:54.439908: Load divergence over 8.0 hours mean 676.77W, min 292.8W, max 1953.0W, std dev 423.7W, divergence 31.3%
2026-08-16 00:01:54.459066: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-16 00:01:54.459253: LoadML is_calculating False
2026-08-16 00:01:54.459350: Creating pool of 12 processes to match your CPU count
2026-08-16 00:01:54.557533: Calculate Best options: mode(Control charge & discharge), calculate_export_oncharge(False), calculate_export_on_pv(True), set_export_freeze_only(False), set_discharge_during_charge(True), combine_charge_slots(False), combine_export_slots(False), combine_rate_threshold(0.0), best_soc_min(0.0 kWh), best_soc_max(0.0 kWh), best_soc_keep(0.0 kWh), inverter_loss(4%), battery_loss(3%), battery_loss_discharge (3%), inverter_hybrid(True), metric_min_improvement(0.0p), metric_min_improvement_export(0.1p), metric_min_improvement_export_freeze(0.1p), metric_battery_cycle(0.0p/kWh), metric_battery_value_scaling(1.0 x) 
2026-08-16 00:01:54.558747: Optimise levels pass started at 2026-08-16 00:01:54
2026-08-16 00:01:54.558811: Optimise all windows, total charge 24 export 1
2026-08-16 00:01:54.913932: >> Region optimisation pass width 960 gives best_metric 252.96p, best_cost 259.42p, best_cycle 45.03kWh, best_import 32.43kWh
2026-08-16 00:01:55.045647: >> Region optimisation pass width 480 gives best_metric 252.96p, best_cost 259.42p, best_cycle 45.03kWh, best_import 32.43kWh
2026-08-16 00:01:55.325398: >> Region optimisation pass width 240 gives best_metric 252.96p, best_cost 259.42p, best_cycle 45.03kWh, best_import 32.43kWh
2026-08-16 00:01:55.915928: >> Region optimisation pass width 120 gives best_metric 252.96p, best_cost 259.42p, best_cycle 45.03kWh, best_import 32.43kWh
2026-08-16 00:01:55.916201: Calculated end_record as 08-18 00:00:00 based on best_price 8.0p, next_charge_start 08-16 00:00:00, max_windows 24
2026-08-16 00:01:55.916271: Optimise levels pass ended at 2026-08-16 00:01:55, duration 1.4 seconds tried 48 combinations
2026-08-16 00:01:55.916333: Set best_price_charge_level 8.6p, best_price_export_level 0p, best_price_charge 8.0p, best_cost_export 0p, best_metric 252.96p, best_keep 0kWh, best_cycle 45.03kWh, best_carbon 0kg, best_import 32.43kWh
2026-08-16 00:01:55.933406: Starting detailed optimisation end_record 08-18 00:00:00, best_price_charge 8.0p, best_price_export 0p. lowest_price_charge 8.0p with charge limits [13.75, 13.75, 13.75, 13.75, 13.75, 13.75, 13.75, 13.75, 13.75, 13.75, 13.75, 13.75, 13.75, 13.75, 13.75, 13.75, 13.75, 13.75, 13.75, 13.75, 13.75, 13.75, 13.75, 0]kWh and export limits []kWh
2026-08-16 00:02:03.661609: Tweak plan optimisation started metric 252.92p, cost 258.87p
2026-08-16 00:02:03.984134: Tweak optimisation finished metric 252.92p, cost 258.87p, metric_keep 0kWh, cycle 45.11kWh, carbon 0kg, import 32.36kWh, changed 8 window(s)
2026-08-16 00:02:04.010497: Swap charge optimisation started metric 252.92p, cost 258.87p, min_improvement_swap 0.1p
2026-08-16 00:02:05.481397: Swap charge optimisation finished metric 252.92p, cost 258.87p
2026-08-16 00:02:05.679395: Pruned 2 dead plan slot(s) in 18 trial(s), nominal metric 251.18p -> 251.18p, plan now metric 255.88p, cost 258.87p, cycle 45.11kWh, import 32.36kWh
2026-08-16 00:02:05.689840: Raw charge windows [ 16-08 00:00:00 - 16-08 00:30:00 @ 8.0p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 8.0p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 8.0p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 8.0p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 8.0p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 8.0p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 8.0p 100%, 16-08 03:30:00 - 16-08 04:00:00 @ 8.0p 100%, 16-08 04:00:00 - 16-08 04:30:00 @ 8.0p 86%, 16-08 04:30:00 - 16-08 05:00:00 @ 8.0p 86%, 16-08 05:00:00 - 16-08 05:30:00 @ 8.0p 86%, 16-08 23:30:00 - 17-08 00:00:00 @ 8.0p 86%, 17-08 00:00:00 - 17-08 00:30:00 @ 8.0p 86%, 17-08 00:30:00 - 17-08 01:00:00 @ 8.0p 86%, 17-08 01:00:00 - 17-08 01:30:00 @ 8.0p 100%, 17-08 01:30:00 - 17-08 02:00:00 @ 8.0p 86%, 17-08 02:00:00 - 17-08 02:30:00 @ 8.0p 86%, 17-08 02:30:00 - 17-08 03:00:00 @ 8.0p 86%, 17-08 03:00:00 - 17-08 03:30:00 @ 8.0p 86%, 17-08 03:30:00 - 17-08 04:00:00 @ 8.0p 86%, 17-08 04:00:00 - 17-08 04:30:00 @ 8.0p 86%, 17-08 04:30:00 - 17-08 05:00:00 @ 8.0p 86%, 17-08 05:00:00 - 17-08 05:30:00 @ 8.0p 0%, 17-08 23:30:00 - 18-08 00:00:00 @ 8.0p 0% ] reserve 1.12
2026-08-16 00:02:05.690207: Unclipped charge windows [ 16-08 03:00:00 - 16-08 04:00:00 @ 8.0p 100%, 16-08 04:00:00 - 16-08 05:30:00 @ 8.0p 86%, 16-08 23:30:00 - 17-08 01:30:00 @ 8.0p 100%, 17-08 01:30:00 - 17-08 05:00:00 @ 8.0p 86% ] reserve 1.12
2026-08-16 00:02:05.690555: Unfiltered charge windows [ 16-08 03:00:00 - 16-08 04:00:00 @ 8.0p 100%, 16-08 04:00:00 - 16-08 05:30:00 @ 8.0p 100%, 16-08 23:30:00 - 17-08 01:30:00 @ 8.0p 100%, 17-08 01:30:00 - 17-08 05:00:00 @ 8.0p 86% ] reserve 1.12
2026-08-16 00:02:05.690734: Filtered charge windows [ 16-08 03:00:00 - 16-08 05:30:00 @ 8.0p 100%, 16-08 23:30:00 - 17-08 01:30:00 @ 8.0p 100%, 17-08 01:30:00 - 17-08 05:00:00 @ 8.0p 86% ] reserve 1.12
2026-08-16 00:02:05.727615: Previous plan best metric is 937.51 (cost 946.64) and new plan best metric is 252.92 (cost 258.87)
2026-08-16 00:02:05.727841: New plan metric is significantly better from previous plan, using new plan
2026-08-16 00:02:05.727893: Plan valid is now true after recompute was False
2026-08-16 00:02:05.764299: Best charging limit SoC's [16.0, 16.0, 13.75]kWh, export []kWh gives import battery 29.89kWh, house 2.47kWh, export 0.0kWh, metric 258.87p, metric10 290.23p
2026-08-16 00:02:05.785781: Plan calculation took 11.35 seconds
2026-08-16 00:02:05.816640: predict compare end_record 08-17 00:00:00, final soc 5.18kWh, metric 151.96p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 00:00:00, load 13.22kWh, PV 0.0kWh
2026-08-16 00:02:05.831986: Scenario complete for tariff: Intelligent GO, cost 151.96p, metric 126.72p
2026-08-16 00:02:05.832102: Compare, best tariff: igo_fixed metric 126.72p
2026-08-16 00:02:42.331740: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-16 00:02:42.332052: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-16 00:02:42.332102: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-16 00:02:42.332246: Inverter 0 idle time is 08-16 00:00:00-08-16 23:59:00
2026-08-16 00:02:42.332291: Note: Inverter does not support discharge freeze - disabled
2026-08-16 00:02:42.332313: Note: Inverter does not support charge freeze - disabled
2026-08-16 00:02:42.332335: Note: Inverter does not support reserve - disabling reserve functions
2026-08-16 00:04:14.871073: Info: HAHistory: Pruning history data started.
2026-08-16 00:04:14.875211: Info: HAHistory: Pruning history data completed.
2026-08-16 00:04:56.615512: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-16 00:04:56.615802: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-16 00:04:56.615852: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-16 00:04:56.616050: Inverter 0 idle time is 08-16 00:00:00-08-16 23:59:00
2026-08-16 00:04:56.616097: Note: Inverter does not support discharge freeze - disabled
2026-08-16 00:04:56.616125: Note: Inverter does not support charge freeze - disabled
2026-08-16 00:04:56.616169: Note: Inverter does not support reserve - disabling reserve functions
2026-08-16 00:05:00.704328: --------------- PredBat - update at 2026-08-16 00:05:00+01:00 with clock skew 0 minutes, minutes now 5
2026-08-16 00:05:00.705243: Saved current settings to /config/predbat_config.json
2026-08-16 00:05:00.705408: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 90.0 minutes
2026-08-16 00:05:00.705547: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.2, latest beta is v8.48.2
2026-08-16 00:05:00.705659: Autoupdate: There is an update pending v8.48.2 PV90 and second pass enabled by default, bug fixes - auto update is off
2026-08-16 00:05:00.728068: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-16 00:05:00.728253: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-16 00:05:00.728489: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-16 00:05:00.729298: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-16 00:05:00.729440: Predbat mode is set to Control charge & discharge
2026-08-16 00:05:00.934476: Found 21602 load_today datapoints going back 27 days
2026-08-16 00:05:00.934648: Using load_power data to fill gaps in load_today data
2026-08-16 00:05:01.861477: Processing 721 30-minute periods for power integration
2026-08-16 00:05:02.050684: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-16 00:05:02.050830: Car charging hold False, threshold 6.0kWh
2026-08-16 00:05:02.050895: Current data so far today: load 0.05kWh, import 0.0kWh, export 0.0kWh, PV 0kWh
2026-08-16 00:05:02.068467: Cars: SoC: [8.204]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-16 00:05:02.068903: Standing charge is set to 49.98p
2026-08-16 00:05:02.097151: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-16 00:05:02.097258: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-16 00:05:02.097461: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 5.0 minutes
2026-08-16 00:05:02.097845: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-17&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 4.8 minutes
2026-08-16 00:05:02.100848: Loaded 47 datapoints of futurerate analysis
2026-08-16 00:05:02.218665: Predicted future rates: ['08-16 00:00:00 => 28.52 / 19.97', '08-16 01:00:00 => 27.43 / 19.41', '08-16 02:00:00 => 26.47 / 18.92', '08-16 03:00:00 => 26.1 / 18.73', '08-16 04:00:00 => 26.04 / 18.7', '08-16 05:00:00 => 25.95 / 18.65', '08-16 06:00:00 => 25.71 / 18.53', '08-16 07:00:00 => 25.37 / 18.35', '08-16 08:00:00 => 24.58 / 17.94', '08-16 09:00:00 => 24.0 / 17.64', '08-16 10:00:00 => 24.54 / 17.92', '08-16 11:00:00 => 24.44 / 17.87', '08-16 12:00:00 => 23.53 / 17.4', '08-16 13:00:00 => 22.89 / 17.07', '08-16 14:00:00 => 21.77 / 16.49', '08-16 15:00:00 => 21.77 / 16.49', '08-16 16:00:00 => 36.89 / 18.3', '08-16 17:00:00 => 39.85 / 19.83', '08-16 18:00:00 => 43.87 / 21.9', '08-16 19:00:00 => 32.69 / 22.13', '08-16 20:00:00 => 33.46 / 22.53', '08-16 21:00:00 => 33.37 / 22.48', '08-16 22:00:00 => 32.01 / 21.78']
2026-08-16 00:05:02.299254: Rate min forward looking: now 21.41p at end of forecast 21.41p
2026-08-16 00:05:02.299685: Import rates: min 21.41p, max 45.28p, average 28.73p
2026-08-16 00:05:02.345512: Export rates: min 0p, max 0p, average 0.0p
2026-08-16 00:05:02.345651: Rate thresholds (for charge/export) are import 44.78p (0.0p), export -0.1p (0.0p)
2026-08-16 00:05:02.347168: High export rate found rates in range 99p to -99p
2026-08-16 00:05:02.425821: Low Import rate found rates in range 21.41p to 44.34p
2026-08-16 00:05:02.426204: Car 0 charging is not planned as it is not plugged in
2026-08-16 00:05:02.441600: Battery level now 12.16kWh, -1hr ago 13.31kWh, at midnight 12.21kWh, battery value change in the last hour -21.19p, change today -0.88p, rate_forward 18.39p
2026-08-16 00:05:02.442101: Last hour: net energy 0.0kWh, import 0.0kWh, export 0.0kWh, car 0kWh, load 1.1kWh, net cost 0.0p, import 0.0p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-16 00:05:02.489627: Today's energy total net 0.0kWh, import 0.0kWh, export 0.0kWh, cost 49.98p, import 0.0p, export 0.0p, carbon 0.0kg
2026-08-16 00:05:02.489770: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-16 00:05:02.563316: Using weighted-bucket historical load forecast over 14 days
2026-08-16 00:05:02.586461: Today's load divergence 100.0%, in-day adjustment 82.97%, damping 0.95x, yesterday 82.97% today 100.0% blend 100.0%
2026-08-16 00:05:02.586607: Today's predicted so far 0.07kWh with 0.0kWh car/iBoost excluded, 0kWh import ignored, and 0.07kWh forecast extra.
2026-08-16 00:05:02.586644: Today's actual load so far 0.07kWh with 0.0kWh car/iBoost excluded, and 0kWh import ignored.
2026-08-16 00:05:02.627233: Inverter 0: Type SK Sunsynk
2026-08-16 00:05:02.627330: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-16 00:05:02.627544: Reserve min: 7%, battery_min: 7%
2026-08-16 00:05:02.627627: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-16 00:05:02.627925: Inverter 0 SoC: 12.16kW 76%, current charge rate 5000W, current discharge rate 5250W, current battery power 524W, current battery voltage 51.2V, grid power -54W, load power 585W, PV Power 0W
2026-08-16 00:05:02.628093: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-16 00:05:02.628192: Inverter 0 scheduled charge enable is False
2026-08-16 00:05:02.628222: Inverter 0 charge windows currently []
2026-08-16 00:05:02.628248: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-16 00:05:02.628370: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-16 00:05:02.628407: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-16 00:05:02.628443: Inverter 0 scheduled discharge enable is False
2026-08-16 00:05:02.628576: Inverter 0 idle time is 08-16 00:00:00-08-16 23:59:00
2026-08-16 00:05:02.628613: Inverter 0 discharge windows currently []
2026-08-16 00:05:02.628636: Note: Inverter does not support discharge freeze - disabled
2026-08-16 00:05:02.628659: Note: Inverter does not support charge freeze - disabled
2026-08-16 00:05:02.628677: Note: Inverter does not support reserve - disabling reserve functions
2026-08-16 00:05:02.694939: Dynamic load last period 0.60kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-16 00:05:02.695074: Plan was last updated on 2026-08-16 00:00:00+01:00 and is now 5.0 minutes old
2026-08-16 00:05:02.695377: Best charge window [ 16-08 11:00:00 - 16-08 13:30:00 @ 22.88p 34%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 44%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 100%, 16-08 14:30:00 - 16-08 16:00:00 @ 22.56p 72%, 17-08 12:30:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 18-08 00:00:00 @ 29.75p 100% ]
2026-08-16 00:05:02.695425: Best export window [  ]
2026-08-16 00:05:02.696270: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-16 00:05:02.699509: Load divergence over 8.0 hours mean 680.1W, min 292.2W, max 2423.4W, std dev 472.24W, divergence 34.72%
2026-08-16 00:05:02.718232: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-16 00:05:02.718368: LoadML is_calculating False
2026-08-16 00:05:02.718436: Creating pool of 12 processes to match your CPU count
2026-08-16 00:05:02.845466: predict base end_record 08-18 00:05:00, final soc 1.12kWh, metric 703.39p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 19:30:00, load 29.22kWh, PV 0.0kWh
2026-08-16 00:05:02.981998: Battery has 19.42 hours left - now at 12.16kWh
2026-08-16 00:05:03.026522: predict base10 end_record 08-18 00:05:00, final soc 1.12kWh, metric 748.76p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 18:35:00, load 30.6kWh, PV 0.0kWh
2026-08-16 00:05:03.105778: predict best10 end_record 08-18 00:05:00, final soc 15.92kWh, metric 1078.83p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 06:15:00, load 30.6kWh, PV 0.0kWh
2026-08-16 00:05:03.204277: predict best end_record 08-18 00:05:00, final soc 15.93kWh, metric 1020.12p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 07:15:00, load 29.22kWh, PV 0.0kWh
2026-08-16 00:05:03.204400: Saving plan best values to HA entities
2026-08-16 00:05:03.439356: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-16 00:05:03.445197: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-16 00:05:03.451460: Best charging limit SoC's [5.5, 7.0, 16.0, 11.5, 16.0, 16.0]kWh, export []kWh gives import battery 32.52kWh, house 3.16kWh, export 0.0kWh, metric 1020.12p, metric10 1078.83p
2026-08-16 00:05:03.544402: Marginal costs baseline metric (no standing charge): 920.1539
2026-08-16 00:05:03.836488: Marginal energy costs matrix computed: min=22.82 max=27.48
2026-08-16 00:05:03.924716: Rate array import [{'start': 5, 'end': 960, 'rate': 'cheap', 'range': '(21.4p - 28.2p)'}, {'start': 960, 'end': 990, 'rate': 'expensive', 'range': '(36.8p)'}, {'start': 990, 'end': 1140, 'rate': 'very expensive', 'range': '(37.5p - 45.3p)'}, {'start': 1140, 'end': 1410, 'rate': 'expensive', 'range': '(30.0p - 35.9p)'}, {'start': 1410, 'end': 2400, 'rate': 'cheap', 'range': '(21.4p - 28.2p)'}, {'start': 2400, 'end': 2430, 'rate': 'expensive', 'range': '(36.8p)'}, {'start': 2430, 'end': 2580, 'rate': 'very expensive', 'range': '(37.5p - 45.3p)'}, {'start': 2580, 'end': 2850, 'rate': 'expensive', 'range': '(30.0p - 35.9p)'}, {'start': 2850, 'end': 2885, 'rate': 'cheap', 'range': '(27.8p - 28.2p)'}] export [{'start': 5, 'end': 2885, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-16 00:05:03.925619: - Your estimated bill for today is £2.44 and tomorrow is £7.26
2026-08-16 00:05:03.925685: - Import rates are cheap (21.4p - 28.2p) for the next 15 hours and then expensive (36.8p) for the next 30 minutes.
2026-08-16 00:05:03.925710: - The battery is currently at 76% and is in eco mode for the next 10 hours.
2026-08-16 00:05:03.925729: - For the next 48 hours there will be no solar generation.
2026-08-16 00:05:03.925745: - You will run out of battery in 31 hours.
2026-08-16 00:05:03.925763: - Your next charge slot will be in 10 hours where import rates will be cheap (24.3p).
2026-08-16 00:05:03.925780: 
2026-08-16 00:05:04.006161: Plan calculation took 1.31 seconds
2026-08-16 00:05:04.009611: No high rate period found
2026-08-16 00:05:04.063196: Import threshold used for optimisation was 8.0p
2026-08-16 00:05:04.114994: Low import rate windows [0: 08-16 00:00:00 - 08-16 00:30:00 @ 28.18, 1: 08-16 00:30:00 - 08-16 01:00:00 @ 27.38, 2: 08-16 01:00:00 - 08-16 01:30:00 @ 26.7, 3: 08-16 01:30:00 - 08-16 02:00:00 @ 26.31, 4: 08-16 02:00:00 - 08-16 02:30:00 @ 25.79, 5: 08-16 02:30:00 - 08-16 03:00:00 @ 25.86, 6: 08-16 03:00:00 - 08-16 03:30:00 @ 26.13, 7: 08-16 03:30:00 - 08-16 04:00:00 @ 25.86, 8: 08-16 04:00:00 - 08-16 04:30:00 @ 26.27, 9: 08-16 04:30:00 - 08-16 05:00:00 @ 26.14, 10: 08-16 05:00:00 - 08-16 05:30:00 @ 27.03, 11: 08-16 05:30:00 - 08-16 06:00:00 @ 26.28, 12: 08-16 06:00:00 - 08-16 06:30:00 @ 25.68, 13: 08-16 06:30:00 - 08-16 07:00:00 @ 26.1, 14: 08-16 07:00:00 - 08-16 07:30:00 @ 24.28, 15: 08-16 07:30:00 - 08-16 08:00:00 @ 24.94, 16: 08-16 08:00:00 - 08-16 08:30:00 @ 24.06, 17: 08-16 08:30:00 - 08-16 09:00:00 @ 24.39, 18: 08-16 09:00:00 - 08-16 09:30:00 @ 24.66, 19: 08-16 09:30:00 - 08-16 10:00:00 @ 24.06, 20: 08-16 10:00:00 - 08-16 10:30:00 @ 25.5, 21: 08-16 10:30:00 - 08-16 11:00:00 @ 24.94, 22: 08-16 11:00:00 - 08-16 11:30:00 @ 24.25, 23: 08-16 11:30:00 - 08-16 12:00:00 @ 23.49, 24: 08-16 12:00:00 - 08-16 12:30:00 @ 23.43, 25: 08-16 12:30:00 - 08-16 13:00:00 @ 22.33, 26: 08-16 13:00:00 - 08-16 13:30:00 @ 22.76, 27: 08-16 13:30:00 - 08-16 14:00:00 @ 22.3, 28: 08-16 14:00:00 - 08-16 14:30:00 @ 21.41, 29: 08-16 14:30:00 - 08-16 15:00:00 @ 21.65, 30: 08-16 15:00:00 - 08-16 15:30:00 @ 22.95, 31: 08-16 15:30:00 - 08-16 16:00:00 @ 22.83, 32: 08-16 16:00:00 - 08-16 16:30:00 @ 36.84, 33: 08-16 16:30:00 - 08-16 17:00:00 @ 37.54, 34: 08-16 17:00:00 - 08-16 17:30:00 @ 41.79, 35: 08-16 17:30:00 - 08-16 18:00:00 @ 43.7, 36: 08-16 18:00:00 - 08-16 18:30:00 @ 44.34, 37: 08-16 19:00:00 - 08-16 19:30:00 @ 34.79, 38: 08-16 19:30:00 - 08-16 20:00:00 @ 34.76, 39: 08-16 20:00:00 - 08-16 20:30:00 @ 35.62, 40: 08-16 20:30:00 - 08-16 21:00:00 @ 35.3, 41: 08-16 21:00:00 - 08-16 21:30:00 @ 35.89, 42: 08-16 21:30:00 - 08-16 22:00:00 @ 35.71, 43: 08-16 22:00:00 - 08-16 22:30:00 @ 33.75, 44: 08-16 22:30:00 - 08-16 23:00:00 @ 32.0, 45: 08-16 23:00:00 - 08-16 23:30:00 @ 30.02, 46: 08-16 23:30:00 - 08-17 00:00:00 @ 27.8, 47: 08-17 00:00:00 - 08-17 00:30:00 @ 28.18, 48: 08-17 00:30:00 - 08-17 01:00:00 @ 27.38, 49: 08-17 01:00:00 - 08-17 01:30:00 @ 26.7, 50: 08-17 01:30:00 - 08-17 02:00:00 @ 26.31, 51: 08-17 02:00:00 - 08-17 02:30:00 @ 25.79, 52: 08-17 02:30:00 - 08-17 03:00:00 @ 25.86, 53: 08-17 03:00:00 - 08-17 03:30:00 @ 26.13, 54: 08-17 03:30:00 - 08-17 04:00:00 @ 25.86, 55: 08-17 04:00:00 - 08-17 04:30:00 @ 26.27, 56: 08-17 04:30:00 - 08-17 05:00:00 @ 26.14, 57: 08-17 05:00:00 - 08-17 05:30:00 @ 27.03, 58: 08-17 05:30:00 - 08-17 06:00:00 @ 26.28, 59: 08-17 06:00:00 - 08-17 06:30:00 @ 25.68, 60: 08-17 06:30:00 - 08-17 07:00:00 @ 26.1, 61: 08-17 07:00:00 - 08-17 07:30:00 @ 24.28, 62: 08-17 07:30:00 - 08-17 08:00:00 @ 24.94, 63: 08-17 08:00:00 - 08-17 08:30:00 @ 24.06, 64: 08-17 08:30:00 - 08-17 09:00:00 @ 24.39, 65: 08-17 09:00:00 - 08-17 09:30:00 @ 24.66, 66: 08-17 09:30:00 - 08-17 10:00:00 @ 24.06, 67: 08-17 10:00:00 - 08-17 10:30:00 @ 25.5, 68: 08-17 10:30:00 - 08-17 11:00:00 @ 24.94, 69: 08-17 11:00:00 - 08-17 11:30:00 @ 24.25, 70: 08-17 11:30:00 - 08-17 12:00:00 @ 23.49, 71: 08-17 12:00:00 - 08-17 12:30:00 @ 23.43, 72: 08-17 12:30:00 - 08-17 13:00:00 @ 22.33, 73: 08-17 13:00:00 - 08-17 13:30:00 @ 22.76, 74: 08-17 13:30:00 - 08-17 14:00:00 @ 22.3, 75: 08-17 14:00:00 - 08-17 14:30:00 @ 21.41, 76: 08-17 14:30:00 - 08-17 15:00:00 @ 21.65, 77: 08-17 15:00:00 - 08-17 15:30:00 @ 22.95, 78: 08-17 15:30:00 - 08-17 16:00:00 @ 22.83, 79: 08-17 16:00:00 - 08-17 16:30:00 @ 36.84, 80: 08-17 16:30:00 - 08-17 17:00:00 @ 37.54, 81: 08-17 17:00:00 - 08-17 17:30:00 @ 41.79, 82: 08-17 17:30:00 - 08-17 18:00:00 @ 43.7, 83: 08-17 18:00:00 - 08-17 18:30:00 @ 44.34, 84: 08-17 19:00:00 - 08-17 19:30:00 @ 34.79, 85: 08-17 19:30:00 - 08-17 20:00:00 @ 34.76, 86: 08-17 20:00:00 - 08-17 20:30:00 @ 35.62, 87: 08-17 20:30:00 - 08-17 21:00:00 @ 35.3, 88: 08-17 21:00:00 - 08-17 21:30:00 @ 35.89, 89: 08-17 21:30:00 - 08-17 22:00:00 @ 35.71, 90: 08-17 22:00:00 - 08-17 22:30:00 @ 33.75, 91: 08-17 22:30:00 - 08-17 23:00:00 @ 32.0, 92: 08-17 23:00:00 - 08-17 23:30:00 @ 30.02, 93: 08-17 23:30:00 - 08-18 00:00:00 @ 27.8, 94: 08-18 00:00:00 - 08-18 00:30:00 @ 28.18]
2026-08-16 00:05:04.122403: Inverter 0 Charge window will be: 2026-08-16 11:00:00+01:00 - 2026-08-16 16:00:00+01:00 - current SoC 76%, target 34%
2026-08-16 00:05:04.122549: Inverter 0 disabled charge window while waiting for schedule (now 08-16 00:05:00 target set_window_minutes 30 charge start time 08-16 11:00:00) original inverter start time 08-18 00:00:00
2026-08-16 00:05:04.122670: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-16 00:05:04.122954: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-16 00:05:04.123047: No export window planned
2026-08-16 00:05:04.123156: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-16 00:05:04.123192: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-16 00:05:04.123330: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-16 00:05:04.123519: Inverter 0 not setting charging SoC as we are not within the window (now 08-16 00:05:00 target set_soc_minutes 30 charge start time 08-18 00:00:00)
2026-08-16 00:05:04.123582: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-16 00:05:04.123643: Inverter 0 Current Target SoC is 7%, already at target
2026-08-16 00:05:04.123746: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 00:05:04.123814: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 00:05:04.123845: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 00:05:04.123886: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 00:05:04.123915: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 00:05:04.123939: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 00:05:04.123964: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 00:05:04.124027: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 00:05:04.124063: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 00:05:04.124089: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 00:05:04.124115: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 00:05:04.124139: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 00:05:04.124162: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 00:05:04.124189: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 00:05:04.124209: Inverter 0 count register writes 0
2026-08-16 00:05:04.139974: Will not recompute the plan, it is 5.0 minutes old and max age is 10 minutes
2026-08-16 00:05:04.145611: Total inverter register writes now 826
2026-08-16 00:05:04.181349: Info: Completed run status Demand
2026-08-16 00:05:04.188525: Info: record_status Demand
2026-08-16 00:05:04.195596: Saved current settings to /config/predbat_config.json
2026-08-16 00:05:04.195919: Compare, best tariff: igo_fixed metric 126.72p
2026-08-16 00:05:42.321301: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-16 00:05:42.321548: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-16 00:05:42.321598: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-16 00:05:42.321764: Inverter 0 idle time is 08-16 00:00:00-08-16 23:59:00
2026-08-16 00:05:42.321808: Note: Inverter does not support discharge freeze - disabled
2026-08-16 00:05:42.321830: Note: Inverter does not support charge freeze - disabled
2026-08-16 00:05:42.321848: Note: Inverter does not support reserve - disabling reserve functions
2026-08-16 00:07:56.575258: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-16 00:07:56.575515: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-16 00:07:56.575551: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-16 00:07:56.575723: Inverter 0 idle time is 08-16 00:00:00-08-16 23:59:00
2026-08-16 00:07:56.575764: Note: Inverter does not support discharge freeze - disabled
2026-08-16 00:07:56.575785: Note: Inverter does not support charge freeze - disabled
2026-08-16 00:07:56.575803: Note: Inverter does not support reserve - disabling reserve functions
2026-08-16 00:09:56.798093: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-16 00:09:56.798350: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-16 00:09:56.798413: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-16 00:09:56.798536: Inverter 0 idle time is 08-16 00:00:00-08-16 23:59:00
2026-08-16 00:09:56.798568: Note: Inverter does not support discharge freeze - disabled
2026-08-16 00:09:56.798585: Note: Inverter does not support charge freeze - disabled
2026-08-16 00:09:56.798600: Note: Inverter does not support reserve - disabling reserve functions
2026-08-16 00:10:00.875839: --------------- PredBat - update at 2026-08-16 00:10:00+01:00 with clock skew 0 minutes, minutes now 10
2026-08-16 00:10:00.876634: Saved current settings to /config/predbat_config.json
2026-08-16 00:10:00.876759: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 95.0 minutes
2026-08-16 00:10:00.876857: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.2, latest beta is v8.48.2
2026-08-16 00:10:00.877014: Autoupdate: There is an update pending v8.48.2 PV90 and second pass enabled by default, bug fixes - auto update is off
2026-08-16 00:10:00.897193: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-16 00:10:00.897325: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-16 00:10:00.897500: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-16 00:10:00.898043: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-16 00:10:00.898172: Predbat mode is set to Control charge & discharge
2026-08-16 00:10:01.097902: Found 21602 load_today datapoints going back 28 days
2026-08-16 00:10:01.098055: Using load_power data to fill gaps in load_today data
2026-08-16 00:10:01.998033: Processing 721 30-minute periods for power integration
2026-08-16 00:10:02.177319: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-16 00:10:02.177454: Car charging hold False, threshold 6.0kWh
2026-08-16 00:10:02.177495: Current data so far today: load 0.0kWh, import 0.0kWh, export 0.0kWh, PV 0kWh
2026-08-16 00:10:02.194698: Cars: SoC: [8.204]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-16 00:10:02.195173: Standing charge is set to 49.98p
2026-08-16 00:10:02.223339: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-16 00:10:02.223439: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-16 00:10:02.223677: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 10.0 minutes
2026-08-16 00:10:02.224075: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-17&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 9.8 minutes
2026-08-16 00:10:02.227005: Loaded 47 datapoints of futurerate analysis
2026-08-16 00:10:02.336483: Predicted future rates: ['08-16 00:00:00 => 28.52 / 19.97', '08-16 01:00:00 => 27.43 / 19.41', '08-16 02:00:00 => 26.47 / 18.92', '08-16 03:00:00 => 26.1 / 18.73', '08-16 04:00:00 => 26.04 / 18.7', '08-16 05:00:00 => 25.95 / 18.65', '08-16 06:00:00 => 25.71 / 18.53', '08-16 07:00:00 => 25.37 / 18.35', '08-16 08:00:00 => 24.58 / 17.94', '08-16 09:00:00 => 24.0 / 17.64', '08-16 10:00:00 => 24.54 / 17.92', '08-16 11:00:00 => 24.44 / 17.87', '08-16 12:00:00 => 23.53 / 17.4', '08-16 13:00:00 => 22.89 / 17.07', '08-16 14:00:00 => 21.77 / 16.49', '08-16 15:00:00 => 21.77 / 16.49', '08-16 16:00:00 => 36.89 / 18.3', '08-16 17:00:00 => 39.85 / 19.83', '08-16 18:00:00 => 43.87 / 21.9', '08-16 19:00:00 => 32.69 / 22.13', '08-16 20:00:00 => 33.46 / 22.53', '08-16 21:00:00 => 33.37 / 22.48', '08-16 22:00:00 => 32.01 / 21.78']
2026-08-16 00:10:02.397724: Rate min forward looking: now 21.41p at end of forecast 21.41p
2026-08-16 00:10:02.398163: Import rates: min 21.41p, max 45.28p, average 28.73p
2026-08-16 00:10:02.440859: Export rates: min 0p, max 0p, average 0.0p
2026-08-16 00:10:02.441113: Rate thresholds (for charge/export) are import 44.78p (0.0p), export -0.1p (0.0p)
2026-08-16 00:10:02.442395: High export rate found rates in range 99p to -99p
2026-08-16 00:10:02.503772: Low Import rate found rates in range 21.41p to 44.34p
2026-08-16 00:10:02.503887: Car 0 charging is not planned as it is not plugged in
2026-08-16 00:10:02.516469: Battery level now 12.16kWh, -1hr ago 13.26kWh, at midnight 12.21kWh, battery value change in the last hour -20.16p, change today -0.88p, rate_forward 18.39p
2026-08-16 00:10:02.516975: Last hour: net energy 0.0kWh, import 0.0kWh, export 0.0kWh, car 0kWh, load 0.85kWh, net cost 0.0p, import 0.0p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-16 00:10:02.558600: Today's energy total net 0.0kWh, import 0.0kWh, export 0.0kWh, cost 49.98p, import 0.0p, export 0.0p, carbon 0.0kg
2026-08-16 00:10:02.558723: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-16 00:10:02.636486: Using weighted-bucket historical load forecast over 14 days
2026-08-16 00:10:02.657188: Today's load divergence 100.0%, in-day adjustment 82.97%, damping 0.95x, yesterday 82.97% today 100.0% blend 100.0%
2026-08-16 00:10:02.657528: Today's predicted so far 0.14kWh with 0.0kWh car/iBoost excluded, 0kWh import ignored, and 0.14kWh forecast extra.
2026-08-16 00:10:02.657568: Today's actual load so far 0.07kWh with 0.0kWh car/iBoost excluded, and 0kWh import ignored.
2026-08-16 00:10:02.697801: Inverter 0: Type SK Sunsynk
2026-08-16 00:10:02.697956: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-16 00:10:02.698236: Reserve min: 7%, battery_min: 7%
2026-08-16 00:10:02.698329: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-16 00:10:02.698743: Inverter 0 SoC: 12.05kW 75%, current charge rate 5000W, current discharge rate 5250W, current battery power 1641W, current battery voltage 51.2V, grid power -54W, load power 1705W, PV Power 0W
2026-08-16 00:10:02.698976: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-16 00:10:02.699068: Inverter 0 scheduled charge enable is False
2026-08-16 00:10:02.699097: Inverter 0 charge windows currently []
2026-08-16 00:10:02.699125: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-16 00:10:02.699259: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-16 00:10:02.699292: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-16 00:10:02.699324: Inverter 0 scheduled discharge enable is False
2026-08-16 00:10:02.699467: Inverter 0 idle time is 08-16 00:00:00-08-16 23:59:00
2026-08-16 00:10:02.699504: Inverter 0 discharge windows currently []
2026-08-16 00:10:02.699524: Note: Inverter does not support discharge freeze - disabled
2026-08-16 00:10:02.699539: Note: Inverter does not support charge freeze - disabled
2026-08-16 00:10:02.699561: Note: Inverter does not support reserve - disabling reserve functions
2026-08-16 00:10:02.755100: Dynamic load last period 0.00kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-16 00:10:02.755214: Plan was last updated on 2026-08-16 00:00:00+01:00 and is now 10.0 minutes old
2026-08-16 00:10:02.755513: Best charge window [ 16-08 11:00:00 - 16-08 13:30:00 @ 22.88p 34%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 44%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 100%, 16-08 14:30:00 - 16-08 16:00:00 @ 22.56p 72%, 17-08 12:30:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 18-08 00:00:00 @ 29.75p 100% ]
2026-08-16 00:10:02.755559: Best export window [  ]
2026-08-16 00:10:02.756391: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-16 00:10:02.759551: Load divergence over 8.0 hours mean 658.36W, min 292.2W, max 2447.4W, std dev 435.28W, divergence 33.06%
2026-08-16 00:10:02.776668: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-16 00:10:02.776762: LoadML is_calculating False
2026-08-16 00:10:02.776821: Creating pool of 12 processes to match your CPU count
2026-08-16 00:10:02.893665: predict base end_record 08-18 00:10:00, final soc 1.12kWh, metric 705.75p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 19:30:00, load 29.15kWh, PV 0.0kWh
2026-08-16 00:10:03.019084: Battery has 19.33 hours left - now at 12.05kWh
2026-08-16 00:10:03.058345: predict base10 end_record 08-18 00:10:00, final soc 1.12kWh, metric 751.0p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 18:35:00, load 30.53kWh, PV 0.0kWh
2026-08-16 00:10:03.142308: predict best10 end_record 08-18 00:10:00, final soc 15.84kWh, metric 1079.03p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 06:15:00, load 30.53kWh, PV 0.0kWh
2026-08-16 00:10:03.226238: predict best end_record 08-18 00:10:00, final soc 15.84kWh, metric 1020.42p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 07:15:00, load 29.15kWh, PV 0.0kWh
2026-08-16 00:10:03.226339: Saving plan best values to HA entities
2026-08-16 00:10:03.421515: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-16 00:10:03.427641: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-16 00:10:03.435350: Best charging limit SoC's [5.5, 7.0, 16.0, 11.5, 16.0, 16.0]kWh, export []kWh gives import battery 32.54kWh, house 3.15kWh, export 0.0kWh, metric 1020.42p, metric10 1079.03p
2026-08-16 00:10:03.513177: Marginal costs baseline metric (no standing charge): 920.4544
2026-08-16 00:10:03.755418: Marginal energy costs matrix computed: min=22.77 max=27.42
2026-08-16 00:10:03.859762: Rate array import [{'start': 10, 'end': 960, 'rate': 'cheap', 'range': '(21.4p - 28.2p)'}, {'start': 960, 'end': 990, 'rate': 'expensive', 'range': '(36.8p)'}, {'start': 990, 'end': 1140, 'rate': 'very expensive', 'range': '(37.5p - 45.3p)'}, {'start': 1140, 'end': 1410, 'rate': 'expensive', 'range': '(30.0p - 35.9p)'}, {'start': 1410, 'end': 2400, 'rate': 'cheap', 'range': '(21.4p - 28.2p)'}, {'start': 2400, 'end': 2430, 'rate': 'expensive', 'range': '(36.8p)'}, {'start': 2430, 'end': 2580, 'rate': 'very expensive', 'range': '(37.5p - 45.3p)'}, {'start': 2580, 'end': 2850, 'rate': 'expensive', 'range': '(30.0p - 35.9p)'}, {'start': 2850, 'end': 2890, 'rate': 'cheap', 'range': '(27.8p - 28.2p)'}] export [{'start': 10, 'end': 2890, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-16 00:10:03.860596: - Your estimated bill for today is £2.44 and tomorrow is £7.27
2026-08-16 00:10:03.860649: - Import rates are cheap (21.4p - 28.2p) for the next 15 hours and then expensive (36.8p) for the next 30 minutes.
2026-08-16 00:10:03.860673: - The battery is currently at 75% and is in eco mode for the next 10 hours.
2026-08-16 00:10:03.860691: - For the next 48 hours there will be no solar generation.
2026-08-16 00:10:03.860709: - You will run out of battery in 31 hours.
2026-08-16 00:10:03.860732: - Your next charge slot will be in 10 hours where import rates will be cheap (24.3p).
2026-08-16 00:10:03.860750: 
2026-08-16 00:10:03.935608: Plan calculation took 1.18 seconds
2026-08-16 00:10:03.939020: No high rate period found
2026-08-16 00:10:03.992998: Import threshold used for optimisation was 8.0p
2026-08-16 00:10:04.054846: Low import rate windows [0: 08-16 00:00:00 - 08-16 00:30:00 @ 28.18, 1: 08-16 00:30:00 - 08-16 01:00:00 @ 27.38, 2: 08-16 01:00:00 - 08-16 01:30:00 @ 26.7, 3: 08-16 01:30:00 - 08-16 02:00:00 @ 26.31, 4: 08-16 02:00:00 - 08-16 02:30:00 @ 25.79, 5: 08-16 02:30:00 - 08-16 03:00:00 @ 25.86, 6: 08-16 03:00:00 - 08-16 03:30:00 @ 26.13, 7: 08-16 03:30:00 - 08-16 04:00:00 @ 25.86, 8: 08-16 04:00:00 - 08-16 04:30:00 @ 26.27, 9: 08-16 04:30:00 - 08-16 05:00:00 @ 26.14, 10: 08-16 05:00:00 - 08-16 05:30:00 @ 27.03, 11: 08-16 05:30:00 - 08-16 06:00:00 @ 26.28, 12: 08-16 06:00:00 - 08-16 06:30:00 @ 25.68, 13: 08-16 06:30:00 - 08-16 07:00:00 @ 26.1, 14: 08-16 07:00:00 - 08-16 07:30:00 @ 24.28, 15: 08-16 07:30:00 - 08-16 08:00:00 @ 24.94, 16: 08-16 08:00:00 - 08-16 08:30:00 @ 24.06, 17: 08-16 08:30:00 - 08-16 09:00:00 @ 24.39, 18: 08-16 09:00:00 - 08-16 09:30:00 @ 24.66, 19: 08-16 09:30:00 - 08-16 10:00:00 @ 24.06, 20: 08-16 10:00:00 - 08-16 10:30:00 @ 25.5, 21: 08-16 10:30:00 - 08-16 11:00:00 @ 24.94, 22: 08-16 11:00:00 - 08-16 11:30:00 @ 24.25, 23: 08-16 11:30:00 - 08-16 12:00:00 @ 23.49, 24: 08-16 12:00:00 - 08-16 12:30:00 @ 23.43, 25: 08-16 12:30:00 - 08-16 13:00:00 @ 22.33, 26: 08-16 13:00:00 - 08-16 13:30:00 @ 22.76, 27: 08-16 13:30:00 - 08-16 14:00:00 @ 22.3, 28: 08-16 14:00:00 - 08-16 14:30:00 @ 21.41, 29: 08-16 14:30:00 - 08-16 15:00:00 @ 21.65, 30: 08-16 15:00:00 - 08-16 15:30:00 @ 22.95, 31: 08-16 15:30:00 - 08-16 16:00:00 @ 22.83, 32: 08-16 16:00:00 - 08-16 16:30:00 @ 36.84, 33: 08-16 16:30:00 - 08-16 17:00:00 @ 37.54, 34: 08-16 17:00:00 - 08-16 17:30:00 @ 41.79, 35: 08-16 17:30:00 - 08-16 18:00:00 @ 43.7, 36: 08-16 18:00:00 - 08-16 18:30:00 @ 44.34, 37: 08-16 19:00:00 - 08-16 19:30:00 @ 34.79, 38: 08-16 19:30:00 - 08-16 20:00:00 @ 34.76, 39: 08-16 20:00:00 - 08-16 20:30:00 @ 35.62, 40: 08-16 20:30:00 - 08-16 21:00:00 @ 35.3, 41: 08-16 21:00:00 - 08-16 21:30:00 @ 35.89, 42: 08-16 21:30:00 - 08-16 22:00:00 @ 35.71, 43: 08-16 22:00:00 - 08-16 22:30:00 @ 33.75, 44: 08-16 22:30:00 - 08-16 23:00:00 @ 32.0, 45: 08-16 23:00:00 - 08-16 23:30:00 @ 30.02, 46: 08-16 23:30:00 - 08-17 00:00:00 @ 27.8, 47: 08-17 00:00:00 - 08-17 00:30:00 @ 28.18, 48: 08-17 00:30:00 - 08-17 01:00:00 @ 27.38, 49: 08-17 01:00:00 - 08-17 01:30:00 @ 26.7, 50: 08-17 01:30:00 - 08-17 02:00:00 @ 26.31, 51: 08-17 02:00:00 - 08-17 02:30:00 @ 25.79, 52: 08-17 02:30:00 - 08-17 03:00:00 @ 25.86, 53: 08-17 03:00:00 - 08-17 03:30:00 @ 26.13, 54: 08-17 03:30:00 - 08-17 04:00:00 @ 25.86, 55: 08-17 04:00:00 - 08-17 04:30:00 @ 26.27, 56: 08-17 04:30:00 - 08-17 05:00:00 @ 26.14, 57: 08-17 05:00:00 - 08-17 05:30:00 @ 27.03, 58: 08-17 05:30:00 - 08-17 06:00:00 @ 26.28, 59: 08-17 06:00:00 - 08-17 06:30:00 @ 25.68, 60: 08-17 06:30:00 - 08-17 07:00:00 @ 26.1, 61: 08-17 07:00:00 - 08-17 07:30:00 @ 24.28, 62: 08-17 07:30:00 - 08-17 08:00:00 @ 24.94, 63: 08-17 08:00:00 - 08-17 08:30:00 @ 24.06, 64: 08-17 08:30:00 - 08-17 09:00:00 @ 24.39, 65: 08-17 09:00:00 - 08-17 09:30:00 @ 24.66, 66: 08-17 09:30:00 - 08-17 10:00:00 @ 24.06, 67: 08-17 10:00:00 - 08-17 10:30:00 @ 25.5, 68: 08-17 10:30:00 - 08-17 11:00:00 @ 24.94, 69: 08-17 11:00:00 - 08-17 11:30:00 @ 24.25, 70: 08-17 11:30:00 - 08-17 12:00:00 @ 23.49, 71: 08-17 12:00:00 - 08-17 12:30:00 @ 23.43, 72: 08-17 12:30:00 - 08-17 13:00:00 @ 22.33, 73: 08-17 13:00:00 - 08-17 13:30:00 @ 22.76, 74: 08-17 13:30:00 - 08-17 14:00:00 @ 22.3, 75: 08-17 14:00:00 - 08-17 14:30:00 @ 21.41, 76: 08-17 14:30:00 - 08-17 15:00:00 @ 21.65, 77: 08-17 15:00:00 - 08-17 15:30:00 @ 22.95, 78: 08-17 15:30:00 - 08-17 16:00:00 @ 22.83, 79: 08-17 16:00:00 - 08-17 16:30:00 @ 36.84, 80: 08-17 16:30:00 - 08-17 17:00:00 @ 37.54, 81: 08-17 17:00:00 - 08-17 17:30:00 @ 41.79, 82: 08-17 17:30:00 - 08-17 18:00:00 @ 43.7, 83: 08-17 18:00:00 - 08-17 18:30:00 @ 44.34, 84: 08-17 19:00:00 - 08-17 19:30:00 @ 34.79, 85: 08-17 19:30:00 - 08-17 20:00:00 @ 34.76, 86: 08-17 20:00:00 - 08-17 20:30:00 @ 35.62, 87: 08-17 20:30:00 - 08-17 21:00:00 @ 35.3, 88: 08-17 21:00:00 - 08-17 21:30:00 @ 35.89, 89: 08-17 21:30:00 - 08-17 22:00:00 @ 35.71, 90: 08-17 22:00:00 - 08-17 22:30:00 @ 33.75, 91: 08-17 22:30:00 - 08-17 23:00:00 @ 32.0, 92: 08-17 23:00:00 - 08-17 23:30:00 @ 30.02, 93: 08-17 23:30:00 - 08-18 00:00:00 @ 27.8, 94: 08-18 00:00:00 - 08-18 00:30:00 @ 28.18]
2026-08-16 00:10:04.061485: Inverter 0 Charge window will be: 2026-08-16 11:00:00+01:00 - 2026-08-16 16:00:00+01:00 - current SoC 75%, target 34%
2026-08-16 00:10:04.061632: Inverter 0 disabled charge window while waiting for schedule (now 08-16 00:10:00 target set_window_minutes 30 charge start time 08-16 11:00:00) original inverter start time 08-18 00:00:00
2026-08-16 00:10:04.061778: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-16 00:10:04.062172: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-16 00:10:04.062256: No export window planned
2026-08-16 00:10:04.062398: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-16 00:10:04.062462: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-16 00:10:04.062667: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-16 00:10:04.062898: Inverter 0 not setting charging SoC as we are not within the window (now 08-16 00:10:00 target set_soc_minutes 30 charge start time 08-18 00:00:00)
2026-08-16 00:10:04.062993: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-16 00:10:04.063067: Inverter 0 Current Target SoC is 7%, already at target
2026-08-16 00:10:04.063199: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 00:10:04.063262: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 00:10:04.063303: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 00:10:04.063328: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 00:10:04.063374: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 00:10:04.063418: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 00:10:04.063456: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 00:10:04.063536: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 00:10:04.063575: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 00:10:04.063615: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 00:10:04.063649: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 00:10:04.063675: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 00:10:04.063710: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 00:10:04.063753: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 00:10:04.063782: Inverter 0 count register writes 0
2026-08-16 00:10:04.079444: Will recompute the plan as it is now 10.0 minutes old and will exceed the max age of 10 minutes before the next run
2026-08-16 00:10:04.079634: Recompute is saving previous plan...
2026-08-16 00:10:04.083490: Best charge window [ 16-08 00:00:00 - 16-08 00:30:00 @ 28.18p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.38p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 26.7p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.31p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.79p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 25.86p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.13p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 25.86p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.27p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.14p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 27.03p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.28p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.68p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 26.1p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 24.28p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 24.94p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.06p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.39p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.66p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.06p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 25.5p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 24.94p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 24.25p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 23.49p 0%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.43p 0%, 16-08 12:30:00 - 16-08 13:00:00 @ 22.33p 0%, 16-08 13:00:00 - 16-08 13:30:00 @ 22.76p 0%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 0%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 0%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.65p 0%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.95p 0%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.83p 0%, 16-08 16:00:00 - 16-08 16:30:00 @ 36.84p 0%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.54p 0%, 16-08 17:00:00 - 16-08 17:30:00 @ 41.79p 0%, 16-08 17:30:00 - 16-08 18:00:00 @ 43.7p 0%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.34p 0%, 16-08 19:00:00 - 16-08 19:30:00 @ 34.79p 0%, 16-08 19:30:00 - 16-08 20:00:00 @ 34.76p 0%, 16-08 20:00:00 - 16-08 20:30:00 @ 35.62p 0%, 16-08 20:30:00 - 16-08 21:00:00 @ 35.3p 0%, 16-08 21:00:00 - 16-08 21:30:00 @ 35.89p 0%, 16-08 21:30:00 - 16-08 22:00:00 @ 35.71p 0%, 16-08 22:00:00 - 16-08 22:30:00 @ 33.75p 0%, 16-08 22:30:00 - 16-08 23:00:00 @ 32.0p 0%, 16-08 23:00:00 - 16-08 23:30:00 @ 30.02p 0%, 16-08 23:30:00 - 17-08 00:00:00 @ 27.8p 0%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.18p 0%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.38p 0%, 17-08 01:00:00 - 17-08 01:30:00 @ 26.7p 0%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.31p 0%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.79p 0%, 17-08 02:30:00 - 17-08 03:00:00 @ 25.86p 0%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.13p 0%, 17-08 03:30:00 - 17-08 04:00:00 @ 25.86p 0%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.27p 0%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.14p 0%, 17-08 05:00:00 - 17-08 05:30:00 @ 27.03p 0%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.28p 0%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.68p 0%, 17-08 06:30:00 - 17-08 07:00:00 @ 26.1p 0%, 17-08 07:00:00 - 17-08 07:30:00 @ 24.28p 0%, 17-08 07:30:00 - 17-08 08:00:00 @ 24.94p 0%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.06p 0%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.39p 0%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.66p 0%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.06p 0%, 17-08 10:00:00 - 17-08 10:30:00 @ 25.5p 0%, 17-08 10:30:00 - 17-08 11:00:00 @ 24.94p 0%, 17-08 11:00:00 - 17-08 11:30:00 @ 24.25p 0%, 17-08 11:30:00 - 17-08 12:00:00 @ 23.49p 0%, 17-08 12:00:00 - 17-08 12:30:00 @ 23.43p 0%, 17-08 12:30:00 - 17-08 13:00:00 @ 22.33p 0%, 17-08 13:00:00 - 17-08 13:30:00 @ 22.76p 0%, 17-08 13:30:00 - 17-08 14:00:00 @ 22.3p 0%, 17-08 14:00:00 - 17-08 14:30:00 @ 21.41p 0%, 17-08 14:30:00 - 17-08 15:00:00 @ 21.65p 0%, 17-08 15:00:00 - 17-08 15:30:00 @ 22.95p 0%, 17-08 15:30:00 - 17-08 16:00:00 @ 22.83p 0%, 17-08 16:00:00 - 17-08 16:30:00 @ 36.84p 0%, 17-08 16:30:00 - 17-08 17:00:00 @ 37.54p 0%, 17-08 17:00:00 - 17-08 17:30:00 @ 41.79p 0%, 17-08 17:30:00 - 17-08 18:00:00 @ 43.7p 0%, 17-08 18:00:00 - 17-08 18:30:00 @ 44.34p 0%, 17-08 19:00:00 - 17-08 19:30:00 @ 34.79p 0%, 17-08 19:30:00 - 17-08 20:00:00 @ 34.76p 0%, 17-08 20:00:00 - 17-08 20:30:00 @ 35.62p 0%, 17-08 20:30:00 - 17-08 21:00:00 @ 35.3p 0%, 17-08 21:00:00 - 17-08 21:30:00 @ 35.89p 0%, 17-08 21:30:00 - 17-08 22:00:00 @ 35.71p 0%, 17-08 22:00:00 - 17-08 22:30:00 @ 33.75p 0%, 17-08 22:30:00 - 17-08 23:00:00 @ 32.0p 0%, 17-08 23:00:00 - 17-08 23:30:00 @ 30.02p 0%, 17-08 23:30:00 - 18-08 00:00:00 @ 27.8p 0%, 18-08 00:00:00 - 18-08 00:30:00 @ 28.18p 0% ]
2026-08-16 00:10:04.083600: Best export window [  ]
2026-08-16 00:10:04.084483: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-16 00:10:04.087514: Load divergence over 8.0 hours mean 658.36W, min 292.2W, max 2447.4W, std dev 435.28W, divergence 33.06%
2026-08-16 00:10:04.103071: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-16 00:10:04.103191: LoadML is_calculating False
2026-08-16 00:10:04.103273: Creating pool of 12 processes to match your CPU count
2026-08-16 00:10:04.190408: Calculate Best options: mode(Control charge & discharge), calculate_export_oncharge(False), calculate_export_on_pv(True), set_export_freeze_only(False), set_discharge_during_charge(True), combine_charge_slots(False), combine_export_slots(False), combine_rate_threshold(0.0), best_soc_min(0.0 kWh), best_soc_max(0.0 kWh), best_soc_keep(0.0 kWh), inverter_loss(4%), battery_loss(3%), battery_loss_discharge (3%), inverter_hybrid(True), metric_min_improvement(0.0p), metric_min_improvement_export(0.1p), metric_min_improvement_export_freeze(0.1p), metric_battery_cycle(0.0p/kWh), metric_battery_value_scaling(1.0 x) 
2026-08-16 00:10:04.192546: Optimise levels pass started at 2026-08-16 00:10:04
2026-08-16 00:10:04.192645: Optimise all windows, total charge 94 export 1
2026-08-16 00:10:04.884713: >> Region optimisation pass width 960 gives best_metric 506.22p, best_cost 520.24p, best_cycle 38.55kWh, best_import 20.96kWh
2026-08-16 00:10:05.243049: >> Region optimisation pass width 480 gives best_metric 506.22p, best_cost 520.24p, best_cycle 38.55kWh, best_import 20.96kWh
2026-08-16 00:10:05.758232: >> Region optimisation pass width 240 gives best_metric 506.22p, best_cost 520.24p, best_cycle 38.55kWh, best_import 20.96kWh
2026-08-16 00:10:06.967062: >> Region optimisation pass width 120 gives best_metric 506.22p, best_cost 520.24p, best_cycle 38.55kWh, best_import 20.96kWh
2026-08-16 00:10:06.967491: Calculated end_record as 08-17 12:30:00 based on best_price 22.33p, next_charge_start 08-16 12:30:00, max_windows 72
2026-08-16 00:10:06.967568: Optimise levels pass ended at 2026-08-16 00:10:06, duration 2.8 seconds tried 304 combinations
2026-08-16 00:10:06.967633: Set best_price_charge_level 24.0p, best_price_export_level 0p, best_price_charge 22.33p, best_cost_export 0p, best_metric 506.22p, best_keep 0kWh, best_cycle 38.55kWh, best_carbon 0kg, best_import 20.96kWh
2026-08-16 00:10:06.988234: Starting detailed optimisation end_record 08-17 12:30:00, best_price_charge 22.33p, best_price_export 0p. lowest_price_charge 21.41p with charge limits [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 0, 0, 16.0, 16.0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0]kWh and export limits []kWh
2026-08-16 00:10:12.293192: Tweak plan optimisation started metric 303.36p, cost 320.05p
2026-08-16 00:10:12.560692: Tweak optimisation finished metric 303.36p, cost 320.05p, metric_keep 0kWh, cycle 22.3kWh, carbon 0kg, import 11.95kWh, changed 8 window(s)
2026-08-16 00:10:12.580470: Swap charge optimisation started metric 303.36p, cost 320.05p, min_improvement_swap 0.1p
2026-08-16 00:10:19.635866: Swap charge optimisation finished metric 303.36p, cost 320.05p
2026-08-16 00:10:19.741573: Pruned 1 dead plan slot(s) in 11 trial(s), nominal metric 299.45p -> 299.45p, plan now metric 303.37p, cost 320.05p, cycle 22.3kWh, import 11.95kWh
2026-08-16 00:10:19.751204: Raw charge windows [ 16-08 00:00:00 - 16-08 00:30:00 @ 28.18p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.38p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 26.7p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.31p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.79p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 25.86p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.13p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 25.86p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.27p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.14p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 27.03p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.28p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.68p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 26.1p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 24.28p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 24.94p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.06p 44%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.39p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.66p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.06p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 25.5p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 24.94p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 24.25p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 23.49p 34%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.43p 34%, 16-08 12:30:00 - 16-08 13:00:00 @ 22.33p 34%, 16-08 13:00:00 - 16-08 13:30:00 @ 22.76p 34%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 44%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 100%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.65p 72%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.95p 72%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.83p 72%, 16-08 16:00:00 - 16-08 16:30:00 @ 36.84p 0%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.54p 0%, 16-08 17:00:00 - 16-08 17:30:00 @ 41.79p 0%, 16-08 17:30:00 - 16-08 18:00:00 @ 43.7p 0%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.34p 0%, 16-08 19:00:00 - 16-08 19:30:00 @ 34.79p 0%, 16-08 19:30:00 - 16-08 20:00:00 @ 34.76p 0%, 16-08 20:00:00 - 16-08 20:30:00 @ 35.62p 0%, 16-08 20:30:00 - 16-08 21:00:00 @ 35.3p 0%, 16-08 21:00:00 - 16-08 21:30:00 @ 35.89p 0%, 16-08 21:30:00 - 16-08 22:00:00 @ 35.71p 0%, 16-08 22:00:00 - 16-08 22:30:00 @ 33.75p 0%, 16-08 22:30:00 - 16-08 23:00:00 @ 32.0p 0%, 16-08 23:00:00 - 16-08 23:30:00 @ 30.02p 0%, 16-08 23:30:00 - 17-08 00:00:00 @ 27.8p 0%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.18p 0%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.38p 0%, 17-08 01:00:00 - 17-08 01:30:00 @ 26.7p 0%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.31p 0%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.79p 0%, 17-08 02:30:00 - 17-08 03:00:00 @ 25.86p 0%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.13p 0%, 17-08 03:30:00 - 17-08 04:00:00 @ 25.86p 0%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.27p 0%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.14p 0%, 17-08 05:00:00 - 17-08 05:30:00 @ 27.03p 0%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.28p 0%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.68p 0%, 17-08 06:30:00 - 17-08 07:00:00 @ 26.1p 0%, 17-08 07:00:00 - 17-08 07:30:00 @ 24.28p 0%, 17-08 07:30:00 - 17-08 08:00:00 @ 24.94p 0%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.06p 0%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.39p 0%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.66p 0%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.06p 0%, 17-08 10:00:00 - 17-08 10:30:00 @ 25.5p 0%, 17-08 10:30:00 - 17-08 11:00:00 @ 24.94p 0%, 17-08 11:00:00 - 17-08 11:30:00 @ 24.25p 0%, 17-08 11:30:00 - 17-08 12:00:00 @ 23.49p 0%, 17-08 12:00:00 - 17-08 12:30:00 @ 23.43p 0%, 17-08 12:30:00 - 17-08 13:00:00 @ 22.33p 100%, 17-08 13:00:00 - 17-08 13:30:00 @ 22.76p 100%, 17-08 13:30:00 - 17-08 14:00:00 @ 22.3p 100%, 17-08 14:00:00 - 17-08 14:30:00 @ 21.41p 100%, 17-08 14:30:00 - 17-08 15:00:00 @ 21.65p 100%, 17-08 15:00:00 - 17-08 15:30:00 @ 22.95p 100%, 17-08 15:30:00 - 17-08 16:00:00 @ 22.83p 100%, 17-08 16:00:00 - 17-08 16:30:00 @ 36.84p 100%, 17-08 16:30:00 - 17-08 17:00:00 @ 37.54p 100%, 17-08 17:00:00 - 17-08 17:30:00 @ 41.79p 100%, 17-08 17:30:00 - 17-08 18:00:00 @ 43.7p 100%, 17-08 18:00:00 - 17-08 18:30:00 @ 44.34p 100%, 17-08 19:00:00 - 17-08 19:30:00 @ 34.79p 100%, 17-08 19:30:00 - 17-08 20:00:00 @ 34.76p 100%, 17-08 20:00:00 - 17-08 20:30:00 @ 35.62p 100%, 17-08 20:30:00 - 17-08 21:00:00 @ 35.3p 100%, 17-08 21:00:00 - 17-08 21:30:00 @ 35.89p 100%, 17-08 21:30:00 - 17-08 22:00:00 @ 35.71p 100%, 17-08 22:00:00 - 17-08 22:30:00 @ 33.75p 100%, 17-08 22:30:00 - 17-08 23:00:00 @ 32.0p 100%, 17-08 23:00:00 - 17-08 23:30:00 @ 30.02p 100%, 17-08 23:30:00 - 18-08 00:00:00 @ 27.8p 100%, 18-08 00:00:00 - 18-08 00:30:00 @ 28.18p 100% ] reserve 1.12
2026-08-16 00:10:19.751718: Unclipped charge windows [ 16-08 08:00:00 - 16-08 08:30:00 @ 24.06p 44%, 16-08 11:30:00 - 16-08 13:30:00 @ 22.83p 34%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 44%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 100%, 16-08 14:30:00 - 16-08 16:00:00 @ 22.56p 72%, 17-08 12:30:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 18-08 00:30:00 @ 28.96p 100% ] reserve 1.12
2026-08-16 00:10:19.751990: Unfiltered charge windows [ 16-08 08:00:00 - 16-08 08:30:00 @ 24.06p 44%, 16-08 11:30:00 - 16-08 13:30:00 @ 22.83p 34%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 44%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 100%, 16-08 14:30:00 - 16-08 16:00:00 @ 22.56p 72%, 17-08 12:30:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 18-08 00:30:00 @ 28.96p 100% ] reserve 1.12
2026-08-16 00:10:19.752200: Filtered charge windows [ 16-08 08:00:00 - 16-08 08:30:00 @ 24.06p 44%, 16-08 11:30:00 - 16-08 13:30:00 @ 22.83p 34%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 44%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 100%, 16-08 14:30:00 - 16-08 16:00:00 @ 22.56p 72%, 17-08 12:30:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 18-08 00:30:00 @ 28.96p 100% ] reserve 1.12
2026-08-16 00:10:19.781748: Previous plan best metric is 444.45 (cost 614.11) and new plan best metric is 303.36 (cost 320.05)
2026-08-16 00:10:19.781965: New plan metric is significantly better from previous plan, using new plan
2026-08-16 00:10:19.782005: Plan valid is now true after recompute was False
2026-08-16 00:10:19.805119: predict base end_record 08-17 12:30:00, final soc 1.12kWh, metric 405.45p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 19:30:00, load 21.29kWh, PV 0.0kWh
2026-08-16 00:10:19.927391: Battery has 19.33 hours left - now at 12.05kWh
2026-08-16 00:10:19.976177: predict base10 end_record 08-17 12:30:00, final soc 1.12kWh, metric 438.77p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 18:35:00, load 22.31kWh, PV 0.0kWh
2026-08-16 00:10:20.049154: predict best10 end_record 08-17 12:30:00, final soc 1.12kWh, metric 396.18p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 06:15:00, load 22.31kWh, PV 0.0kWh
2026-08-16 00:10:20.127833: predict best end_record 08-17 12:30:00, final soc 1.12kWh, metric 370.03p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 07:15:00, load 21.29kWh, PV 0.0kWh
2026-08-16 00:10:20.127943: Saving plan best values to HA entities
2026-08-16 00:10:20.273912: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-16 00:10:20.278746: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-16 00:10:20.284316: Best charging limit SoC's [7.0, 5.5, 7.0, 16.0, 11.5, 16.0, 16.0]kWh, export []kWh gives import battery 8.8kWh, house 3.15kWh, export 0.0kWh, metric 370.03p, metric10 396.18p
2026-08-16 00:10:20.354004: Marginal costs baseline metric (no standing charge): 320.0472
2026-08-16 00:10:20.588308: Marginal energy costs matrix computed: min=22.77 max=27.43
2026-08-16 00:10:20.663107: Rate array import [{'start': 10, 'end': 960, 'rate': 'cheap', 'range': '(21.4p - 28.2p)'}, {'start': 960, 'end': 990, 'rate': 'expensive', 'range': '(36.8p)'}, {'start': 990, 'end': 1140, 'rate': 'very expensive', 'range': '(37.5p - 45.3p)'}, {'start': 1140, 'end': 1410, 'rate': 'expensive', 'range': '(30.0p - 35.9p)'}, {'start': 1410, 'end': 2190, 'rate': 'cheap', 'range': '(23.4p - 28.2p)'}] export [{'start': 10, 'end': 2190, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-16 00:10:20.663804: - Your estimated bill for today is £2.43 and tomorrow is £7.27
2026-08-16 00:10:20.663856: - Import rates are cheap (21.4p - 28.2p) for the next 15 hours and then expensive (36.8p) for the next 30 minutes.
2026-08-16 00:10:20.663904: - The battery is currently at 75% and is in eco mode for the next 7 and three quarters hours.
2026-08-16 00:10:20.663936: - For the next 48 hours there will be no solar generation.
2026-08-16 00:10:20.663965: - You will run out of battery in 31 hours.
2026-08-16 00:10:20.664019: - Your next charge slot will be in 7 and three quarters hours where import rates will be cheap (24.1p).
2026-08-16 00:10:20.664050: 
2026-08-16 00:10:20.731053: Plan calculation took 16.65 seconds
2026-08-16 00:10:20.731561: Inverter 0: Type SK Sunsynk
2026-08-16 00:10:20.731648: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-16 00:10:20.732069: Reserve min: 7%, battery_min: 7%
2026-08-16 00:10:20.732247: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-16 00:10:20.732823: Inverter 0 SoC: 11.98kW 75%, current charge rate 5000W, current discharge rate 5250W, current battery power 1646W, current battery voltage 51.2V, grid power -55W, load power 1710W, PV Power 0W
2026-08-16 00:10:20.733271: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-16 00:10:20.733426: Inverter 0 scheduled charge enable is False
2026-08-16 00:10:20.733483: Inverter 0 charge windows currently []
2026-08-16 00:10:20.733540: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-16 00:10:20.733705: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-16 00:10:20.733754: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-16 00:10:20.733805: Inverter 0 scheduled discharge enable is False
2026-08-16 00:10:20.734069: Inverter 0 idle time is 08-16 00:00:00-08-16 23:59:00
2026-08-16 00:10:20.734129: Inverter 0 discharge windows currently []
2026-08-16 00:10:20.734175: Note: Inverter does not support discharge freeze - disabled
2026-08-16 00:10:20.734218: Note: Inverter does not support charge freeze - disabled
2026-08-16 00:10:20.734249: Note: Inverter does not support reserve - disabling reserve functions
2026-08-16 00:10:20.785454: Inverter 0 Charge window will be: 2026-08-16 08:00:00+01:00 - 2026-08-16 08:30:00+01:00 - current SoC 75%, target 44%
2026-08-16 00:10:20.785611: Inverter 0 disabled charge window while waiting for schedule (now 08-16 00:10:00 target set_window_minutes 30 charge start time 08-16 08:00:00) original inverter start time 08-18 00:00:00
2026-08-16 00:10:20.785691: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-16 00:10:20.785917: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-16 00:10:20.786003: No export window planned
2026-08-16 00:10:20.786175: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-16 00:10:20.786214: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-16 00:10:20.786370: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-16 00:10:20.786539: Inverter 0 not setting charging SoC as we are not within the window (now 08-16 00:10:00 target set_soc_minutes 30 charge start time 08-18 00:00:00)
2026-08-16 00:10:20.786593: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-16 00:10:20.786658: Inverter 0 Current Target SoC is 7%, already at target
2026-08-16 00:10:20.786791: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 00:10:20.786846: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 00:10:20.786894: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 00:10:20.786930: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 00:10:20.786960: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 00:10:20.787015: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 00:10:20.787041: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 00:10:20.787103: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 00:10:20.787132: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 00:10:20.787161: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 00:10:20.787186: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 00:10:20.787209: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 00:10:20.787232: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 00:10:20.787256: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 00:10:20.787276: Inverter 0 count register writes 0
2026-08-16 00:10:20.808402: Total inverter register writes now 826
2026-08-16 00:10:20.843232: Info: Completed run status Demand
2026-08-16 00:10:20.849471: Info: record_status Demand
2026-08-16 00:10:20.856563: Saved current settings to /config/predbat_config.json
2026-08-16 00:10:20.856847: Compare, best tariff: igo_fixed metric 126.72p
2026-08-16 00:10:56.973649: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-16 00:10:56.973995: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-16 00:10:56.974061: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-16 00:10:56.974196: Inverter 0 idle time is 08-16 00:00:00-08-16 23:59:00
2026-08-16 00:10:56.974235: Note: Inverter does not support discharge freeze - disabled
2026-08-16 00:10:56.974255: Note: Inverter does not support charge freeze - disabled
2026-08-16 00:10:56.974272: Note: Inverter does not support reserve - disabling reserve functions
2026-08-16 00:12:57.192104: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-16 00:12:57.192352: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-16 00:12:57.192397: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-16 00:12:57.192579: Inverter 0 idle time is 08-16 00:00:00-08-16 23:59:00
2026-08-16 00:12:57.192632: Note: Inverter does not support discharge freeze - disabled
2026-08-16 00:12:57.192652: Note: Inverter does not support charge freeze - disabled
2026-08-16 00:12:57.192670: Note: Inverter does not support reserve - disabling reserve functions
2026-08-16 00:14:57.411890: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-16 00:14:57.412144: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-16 00:14:57.412186: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-16 00:14:57.412342: Inverter 0 idle time is 08-16 00:00:00-08-16 23:59:00
2026-08-16 00:14:57.412382: Note: Inverter does not support discharge freeze - disabled
2026-08-16 00:14:57.412403: Note: Inverter does not support charge freeze - disabled
2026-08-16 00:14:57.412421: Note: Inverter does not support reserve - disabling reserve functions
2026-08-16 00:15:00.483707: --------------- PredBat - update at 2026-08-16 00:15:00+01:00 with clock skew 0 minutes, minutes now 15
2026-08-16 00:15:00.484771: Saved current settings to /config/predbat_config.json
2026-08-16 00:15:00.485077: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 100.0 minutes
2026-08-16 00:15:00.485189: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.2, latest beta is v8.48.2
2026-08-16 00:15:00.485307: Autoupdate: There is an update pending v8.48.2 PV90 and second pass enabled by default, bug fixes - auto update is off
2026-08-16 00:15:00.507070: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-16 00:15:00.507213: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-16 00:15:00.507383: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-16 00:15:00.507926: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-16 00:15:00.508049: Predbat mode is set to Control charge & discharge
2026-08-16 00:15:00.725404: Found 21602 load_today datapoints going back 28 days
2026-08-16 00:15:00.725578: Using load_power data to fill gaps in load_today data
2026-08-16 00:15:01.466977: Processing 721 30-minute periods for power integration
2026-08-16 00:15:01.618656: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-16 00:15:01.618828: Car charging hold False, threshold 6.0kWh
2026-08-16 00:15:01.618902: Current data so far today: load 0.0kWh, import 0.0kWh, export 0.0kWh, PV 0kWh
2026-08-16 00:15:01.631177: Cars: SoC: [8.204]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-16 00:15:01.631588: Standing charge is set to 49.98p
2026-08-16 00:15:01.655654: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-16 00:15:01.655762: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-16 00:15:01.656062: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 15.0 minutes
2026-08-16 00:15:01.656473: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-17&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 14.8 minutes
2026-08-16 00:15:01.659312: Loaded 47 datapoints of futurerate analysis
2026-08-16 00:15:01.731259: Predicted future rates: ['08-16 00:00:00 => 28.52 / 19.97', '08-16 01:00:00 => 27.43 / 19.41', '08-16 02:00:00 => 26.47 / 18.92', '08-16 03:00:00 => 26.1 / 18.73', '08-16 04:00:00 => 26.04 / 18.7', '08-16 05:00:00 => 25.95 / 18.65', '08-16 06:00:00 => 25.71 / 18.53', '08-16 07:00:00 => 25.37 / 18.35', '08-16 08:00:00 => 24.58 / 17.94', '08-16 09:00:00 => 24.0 / 17.64', '08-16 10:00:00 => 24.54 / 17.92', '08-16 11:00:00 => 24.44 / 17.87', '08-16 12:00:00 => 23.53 / 17.4', '08-16 13:00:00 => 22.89 / 17.07', '08-16 14:00:00 => 21.77 / 16.49', '08-16 15:00:00 => 21.77 / 16.49', '08-16 16:00:00 => 36.89 / 18.3', '08-16 17:00:00 => 39.85 / 19.83', '08-16 18:00:00 => 43.87 / 21.9', '08-16 19:00:00 => 32.69 / 22.13', '08-16 20:00:00 => 33.46 / 22.53', '08-16 21:00:00 => 33.37 / 22.48', '08-16 22:00:00 => 32.01 / 21.78']
2026-08-16 00:15:01.805280: Rate min forward looking: now 21.41p at end of forecast 21.41p
2026-08-16 00:15:01.805737: Import rates: min 21.41p, max 45.28p, average 28.73p
2026-08-16 00:15:01.873676: Export rates: min 0p, max 0p, average 0.0p
2026-08-16 00:15:01.874160: Rate thresholds (for charge/export) are import 44.78p (0.0p), export -0.1p (0.0p)
2026-08-16 00:15:01.875519: High export rate found rates in range 99p to -99p
2026-08-16 00:15:01.963299: Low Import rate found rates in range 21.41p to 44.34p
2026-08-16 00:15:01.963463: Car 0 charging is not planned as it is not plugged in
2026-08-16 00:15:01.977789: Battery level now 12.05kWh, -1hr ago 12.97kWh, at midnight 12.21kWh, battery value change in the last hour -16.92p, change today -2.94p, rate_forward 18.39p
2026-08-16 00:15:01.978127: Last hour: net energy 0.0kWh, import 0.0kWh, export 0.0kWh, car 0kWh, load 0.7kWh, net cost 0.0p, import 0.0p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-16 00:15:02.020783: Today's energy total net 0.0kWh, import 0.0kWh, export 0.0kWh, cost 49.98p, import 0.0p, export 0.0p, carbon 0.0kg
2026-08-16 00:15:02.020910: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-16 00:15:02.078490: Using weighted-bucket historical load forecast over 14 days
2026-08-16 00:15:02.096656: Today's load divergence 100.0%, in-day adjustment 82.97%, damping 0.95x, yesterday 82.97% today 100.0% blend 100.0%
2026-08-16 00:15:02.096761: Today's predicted so far 0.22kWh with 0.0kWh car/iBoost excluded, 0kWh import ignored, and 0.22kWh forecast extra.
2026-08-16 00:15:02.096806: Today's actual load so far 0.05kWh with 0.0kWh car/iBoost excluded, and 0kWh import ignored.
2026-08-16 00:15:02.133442: Inverter 0: Type SK Sunsynk
2026-08-16 00:15:02.133527: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-16 00:15:02.133685: Reserve min: 7%, battery_min: 7%
2026-08-16 00:15:02.133767: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-16 00:15:02.134040: Inverter 0 SoC: 11.98kW 75%, current charge rate 5000W, current discharge rate 5250W, current battery power 506W, current battery voltage 51.2V, grid power -54W, load power 563W, PV Power 0W
2026-08-16 00:15:02.134211: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-16 00:15:02.134294: Inverter 0 scheduled charge enable is False
2026-08-16 00:15:02.134323: Inverter 0 charge windows currently []
2026-08-16 00:15:02.134346: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-16 00:15:02.134453: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-16 00:15:02.134495: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-16 00:15:02.134528: Inverter 0 scheduled discharge enable is False
2026-08-16 00:15:02.134646: Inverter 0 idle time is 08-16 00:00:00-08-16 23:59:00
2026-08-16 00:15:02.134677: Inverter 0 discharge windows currently []
2026-08-16 00:15:02.134696: Note: Inverter does not support discharge freeze - disabled
2026-08-16 00:15:02.134714: Note: Inverter does not support charge freeze - disabled
2026-08-16 00:15:02.134746: Note: Inverter does not support reserve - disabling reserve functions
2026-08-16 00:15:02.192590: Dynamic load last period 0.00kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-16 00:15:02.192700: Plan was last updated on 2026-08-16 00:10:00+01:00 and is now 5.0 minutes old
2026-08-16 00:15:02.193048: Best charge window [ 16-08 08:00:00 - 16-08 08:30:00 @ 24.06p 44%, 16-08 11:30:00 - 16-08 13:30:00 @ 22.83p 34%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 44%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 100%, 16-08 14:30:00 - 16-08 16:00:00 @ 22.56p 72%, 17-08 12:30:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 18-08 00:30:00 @ 28.96p 100% ]
2026-08-16 00:15:02.193091: Best export window [  ]
2026-08-16 00:15:02.193781: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-16 00:15:02.196370: Load divergence over 8.0 hours mean 636.56W, min 288.0W, max 2127.6W, std dev 401.16W, divergence 31.51%
2026-08-16 00:15:02.212143: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-16 00:15:02.212271: LoadML is_calculating False
2026-08-16 00:15:02.212330: Creating pool of 12 processes to match your CPU count
2026-08-16 00:15:02.321504: predict base end_record 08-17 12:35:00, final soc 1.12kWh, metric 405.22p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 19:35:00, load 21.24kWh, PV 0.0kWh
2026-08-16 00:15:02.447605: Battery has 19.33 hours left - now at 11.98kWh
2026-08-16 00:15:02.487529: predict base10 end_record 08-17 12:35:00, final soc 1.12kWh, metric 437.89p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 18:40:00, load 22.25kWh, PV 0.0kWh
2026-08-16 00:15:02.569924: predict best10 end_record 08-17 12:35:00, final soc 1.44kWh, metric 403.94p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 06:20:00, load 22.25kWh, PV 0.0kWh
2026-08-16 00:15:02.641779: predict best end_record 08-17 12:35:00, final soc 1.51kWh, metric 379.51p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 07:20:00, load 21.24kWh, PV 0.0kWh
2026-08-16 00:15:02.641885: Saving plan best values to HA entities
2026-08-16 00:15:02.799538: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-16 00:15:02.805468: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-16 00:15:02.810522: Best charging limit SoC's [7.0, 5.5, 7.0, 16.0, 11.5, 16.0, 16.0]kWh, export []kWh gives import battery 9.24kWh, house 3.14kWh, export 0.0kWh, metric 379.51p, metric10 403.94p
2026-08-16 00:15:02.882650: Marginal costs baseline metric (no standing charge): 329.5288
2026-08-16 00:15:03.158593: Marginal energy costs matrix computed: min=22.71 max=27.35
2026-08-16 00:15:03.269530: Rate array import [{'start': 15, 'end': 960, 'rate': 'cheap', 'range': '(21.4p - 28.2p)'}, {'start': 960, 'end': 990, 'rate': 'expensive', 'range': '(36.8p)'}, {'start': 990, 'end': 1140, 'rate': 'very expensive', 'range': '(37.5p - 45.3p)'}, {'start': 1140, 'end': 1410, 'rate': 'expensive', 'range': '(30.0p - 35.9p)'}, {'start': 1410, 'end': 2195, 'rate': 'cheap', 'range': '(22.3p - 28.2p)'}] export [{'start': 15, 'end': 2195, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-16 00:15:03.270256: - Your estimated bill for today is £2.42 and tomorrow is £7.28
2026-08-16 00:15:03.270315: - Import rates are cheap (21.4p - 28.2p) for the next 15 hours and then expensive (36.8p) for the next 30 minutes.
2026-08-16 00:15:03.270344: - The battery is currently at 75% and is in eco mode for the next 7 and three quarters hours.
2026-08-16 00:15:03.270360: - For the next 48 hours there will be no solar generation.
2026-08-16 00:15:03.270374: - You will run out of battery in 31 hours.
2026-08-16 00:15:03.270388: - Your next charge slot will be in 7 and three quarters hours where import rates will be cheap (24.1p).
2026-08-16 00:15:03.270408: 
2026-08-16 00:15:03.332306: Plan calculation took 1.14 seconds
2026-08-16 00:15:03.335594: No high rate period found
2026-08-16 00:15:03.382779: Import threshold used for optimisation was 25.86p
2026-08-16 00:15:03.444690: Low import rate windows [0: 08-16 00:00:00 - 08-16 00:30:00 @ 28.18, 1: 08-16 00:30:00 - 08-16 01:00:00 @ 27.38, 2: 08-16 01:00:00 - 08-16 01:30:00 @ 26.7, 3: 08-16 01:30:00 - 08-16 02:00:00 @ 26.31, 4: 08-16 02:00:00 - 08-16 02:30:00 @ 25.79, 5: 08-16 02:30:00 - 08-16 03:00:00 @ 25.86, 6: 08-16 03:00:00 - 08-16 03:30:00 @ 26.13, 7: 08-16 03:30:00 - 08-16 04:00:00 @ 25.86, 8: 08-16 04:00:00 - 08-16 04:30:00 @ 26.27, 9: 08-16 04:30:00 - 08-16 05:00:00 @ 26.14, 10: 08-16 05:00:00 - 08-16 05:30:00 @ 27.03, 11: 08-16 05:30:00 - 08-16 06:00:00 @ 26.28, 12: 08-16 06:00:00 - 08-16 06:30:00 @ 25.68, 13: 08-16 06:30:00 - 08-16 07:00:00 @ 26.1, 14: 08-16 07:00:00 - 08-16 07:30:00 @ 24.28, 15: 08-16 07:30:00 - 08-16 08:00:00 @ 24.94, 16: 08-16 08:00:00 - 08-16 08:30:00 @ 24.06, 17: 08-16 08:30:00 - 08-16 09:00:00 @ 24.39, 18: 08-16 09:00:00 - 08-16 09:30:00 @ 24.66, 19: 08-16 09:30:00 - 08-16 10:00:00 @ 24.06, 20: 08-16 10:00:00 - 08-16 10:30:00 @ 25.5, 21: 08-16 10:30:00 - 08-16 11:00:00 @ 24.94, 22: 08-16 11:00:00 - 08-16 11:30:00 @ 24.25, 23: 08-16 11:30:00 - 08-16 12:00:00 @ 23.49, 24: 08-16 12:00:00 - 08-16 12:30:00 @ 23.43, 25: 08-16 12:30:00 - 08-16 13:00:00 @ 22.33, 26: 08-16 13:00:00 - 08-16 13:30:00 @ 22.76, 27: 08-16 13:30:00 - 08-16 14:00:00 @ 22.3, 28: 08-16 14:00:00 - 08-16 14:30:00 @ 21.41, 29: 08-16 14:30:00 - 08-16 15:00:00 @ 21.65, 30: 08-16 15:00:00 - 08-16 15:30:00 @ 22.95, 31: 08-16 15:30:00 - 08-16 16:00:00 @ 22.83, 32: 08-16 16:00:00 - 08-16 16:30:00 @ 36.84, 33: 08-16 16:30:00 - 08-16 17:00:00 @ 37.54, 34: 08-16 17:00:00 - 08-16 17:30:00 @ 41.79, 35: 08-16 17:30:00 - 08-16 18:00:00 @ 43.7, 36: 08-16 18:00:00 - 08-16 18:30:00 @ 44.34, 37: 08-16 19:00:00 - 08-16 19:30:00 @ 34.79, 38: 08-16 19:30:00 - 08-16 20:00:00 @ 34.76, 39: 08-16 20:00:00 - 08-16 20:30:00 @ 35.62, 40: 08-16 20:30:00 - 08-16 21:00:00 @ 35.3, 41: 08-16 21:00:00 - 08-16 21:30:00 @ 35.89, 42: 08-16 21:30:00 - 08-16 22:00:00 @ 35.71, 43: 08-16 22:00:00 - 08-16 22:30:00 @ 33.75, 44: 08-16 22:30:00 - 08-16 23:00:00 @ 32.0, 45: 08-16 23:00:00 - 08-16 23:30:00 @ 30.02, 46: 08-16 23:30:00 - 08-17 00:00:00 @ 27.8, 47: 08-17 00:00:00 - 08-17 00:30:00 @ 28.18, 48: 08-17 00:30:00 - 08-17 01:00:00 @ 27.38, 49: 08-17 01:00:00 - 08-17 01:30:00 @ 26.7, 50: 08-17 01:30:00 - 08-17 02:00:00 @ 26.31, 51: 08-17 02:00:00 - 08-17 02:30:00 @ 25.79, 52: 08-17 02:30:00 - 08-17 03:00:00 @ 25.86, 53: 08-17 03:00:00 - 08-17 03:30:00 @ 26.13, 54: 08-17 03:30:00 - 08-17 04:00:00 @ 25.86, 55: 08-17 04:00:00 - 08-17 04:30:00 @ 26.27, 56: 08-17 04:30:00 - 08-17 05:00:00 @ 26.14, 57: 08-17 05:00:00 - 08-17 05:30:00 @ 27.03, 58: 08-17 05:30:00 - 08-17 06:00:00 @ 26.28, 59: 08-17 06:00:00 - 08-17 06:30:00 @ 25.68, 60: 08-17 06:30:00 - 08-17 07:00:00 @ 26.1, 61: 08-17 07:00:00 - 08-17 07:30:00 @ 24.28, 62: 08-17 07:30:00 - 08-17 08:00:00 @ 24.94, 63: 08-17 08:00:00 - 08-17 08:30:00 @ 24.06, 64: 08-17 08:30:00 - 08-17 09:00:00 @ 24.39, 65: 08-17 09:00:00 - 08-17 09:30:00 @ 24.66, 66: 08-17 09:30:00 - 08-17 10:00:00 @ 24.06, 67: 08-17 10:00:00 - 08-17 10:30:00 @ 25.5, 68: 08-17 10:30:00 - 08-17 11:00:00 @ 24.94, 69: 08-17 11:00:00 - 08-17 11:30:00 @ 24.25, 70: 08-17 11:30:00 - 08-17 12:00:00 @ 23.49, 71: 08-17 12:00:00 - 08-17 12:30:00 @ 23.43, 72: 08-17 12:30:00 - 08-17 13:00:00 @ 22.33, 73: 08-17 13:00:00 - 08-17 13:30:00 @ 22.76, 74: 08-17 13:30:00 - 08-17 14:00:00 @ 22.3, 75: 08-17 14:00:00 - 08-17 14:30:00 @ 21.41, 76: 08-17 14:30:00 - 08-17 15:00:00 @ 21.65, 77: 08-17 15:00:00 - 08-17 15:30:00 @ 22.95, 78: 08-17 15:30:00 - 08-17 16:00:00 @ 22.83, 79: 08-17 16:00:00 - 08-17 16:30:00 @ 36.84, 80: 08-17 16:30:00 - 08-17 17:00:00 @ 37.54, 81: 08-17 17:00:00 - 08-17 17:30:00 @ 41.79, 82: 08-17 17:30:00 - 08-17 18:00:00 @ 43.7, 83: 08-17 18:00:00 - 08-17 18:30:00 @ 44.34, 84: 08-17 19:00:00 - 08-17 19:30:00 @ 34.79, 85: 08-17 19:30:00 - 08-17 20:00:00 @ 34.76, 86: 08-17 20:00:00 - 08-17 20:30:00 @ 35.62, 87: 08-17 20:30:00 - 08-17 21:00:00 @ 35.3, 88: 08-17 21:00:00 - 08-17 21:30:00 @ 35.89, 89: 08-17 21:30:00 - 08-17 22:00:00 @ 35.71, 90: 08-17 22:00:00 - 08-17 22:30:00 @ 33.75, 91: 08-17 22:30:00 - 08-17 23:00:00 @ 32.0, 92: 08-17 23:00:00 - 08-17 23:30:00 @ 30.02, 93: 08-17 23:30:00 - 08-18 00:00:00 @ 27.8, 94: 08-18 00:00:00 - 08-18 00:30:00 @ 28.18]
2026-08-16 00:15:03.453758: Inverter 0 Charge window will be: 2026-08-16 08:00:00+01:00 - 2026-08-16 08:30:00+01:00 - current SoC 75%, target 44%
2026-08-16 00:15:03.453941: Inverter 0 disabled charge window while waiting for schedule (now 08-16 00:15:00 target set_window_minutes 30 charge start time 08-16 08:00:00) original inverter start time 08-18 00:00:00
2026-08-16 00:15:03.454081: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-16 00:15:03.454354: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-16 00:15:03.454453: No export window planned
2026-08-16 00:15:03.454569: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-16 00:15:03.454624: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-16 00:15:03.454785: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-16 00:15:03.455103: Inverter 0 not setting charging SoC as we are not within the window (now 08-16 00:15:00 target set_soc_minutes 30 charge start time 08-18 00:00:00)
2026-08-16 00:15:03.455193: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-16 00:15:03.455259: Inverter 0 Current Target SoC is 7%, already at target
2026-08-16 00:15:03.455374: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 00:15:03.455416: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 00:15:03.455443: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 00:15:03.455469: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 00:15:03.455494: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 00:15:03.455518: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 00:15:03.455546: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 00:15:03.455611: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 00:15:03.455646: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 00:15:03.455672: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 00:15:03.455696: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 00:15:03.455719: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 00:15:03.455743: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 00:15:03.455768: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 00:15:03.455796: Inverter 0 count register writes 0
2026-08-16 00:15:03.477345: Will not recompute the plan, it is 5.0 minutes old and max age is 10 minutes
2026-08-16 00:15:03.484832: Total inverter register writes now 826
2026-08-16 00:15:03.522024: Info: Completed run status Demand
2026-08-16 00:15:03.528803: Info: record_status Demand
2026-08-16 00:15:03.535848: Saved current settings to /config/predbat_config.json
2026-08-16 00:15:03.536282: Compare, best tariff: igo_fixed metric 126.72p
2026-08-16 00:15:07.153595: ML Component: Fetching 28 days of load history from ['sensor.sunsynk_day_load_energy']
2026-08-16 00:15:08.131255: Processing 1345 30-minute periods for power integration
2026-08-16 00:15:08.226736: ML Component: Car charging hold False, car energy reported load False
2026-08-16 00:15:08.308481: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-16 00:15:08.393940: ML Temperature data points: 48946
2026-08-16 00:15:08.623978: ML Component: Fetched 8064 load data points, 28.0 days of history
2026-08-16 00:15:08.670673: ML Component: Data fetch completed, load data age 57.0 days, 16555 data points
2026-08-16 00:15:08.670964: ML Component: No training needed, model age is 0.35 hours
2026-08-16 00:15:08.671049: ML Component: Generating predictions load data age 57.0 days, 16555 data points
2026-08-16 00:15:08.793492: ML Predictor: Starting autoregressive prediction loop for 576 steps (48.0 hours), prev_energy value 0.0084 max_dow {0: 0.10210624996256083, 1: 0.10689687554407865, 2: 0.11675312483031303, 3: 0.12371874963529408, 4: 0.16831249989941716, 5: 0.09602222218207186, 6: 0.10714375132601708}
2026-08-16 00:15:16.814317: ML Component: Generated 576 predictions (total 24.23 kWh over 48h)
2026-08-16 00:15:16.868765: ML Component: Prediction cycle completed
2026-08-16 00:15:17.024149: ML Component: Saved 16555 steps (57 days) of history to /config/predbat_ml_history.npz
2026-08-16 00:15:41.852159: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-16 00:15:41.852528: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-16 00:15:41.852602: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-16 00:15:41.852902: Inverter 0 idle time is 08-16 00:00:00-08-16 23:59:00
2026-08-16 00:15:41.853058: Note: Inverter does not support discharge freeze - disabled
2026-08-16 00:15:41.853110: Note: Inverter does not support charge freeze - disabled
2026-08-16 00:15:41.853133: Note: Inverter does not support reserve - disabling reserve functions
2026-08-16 00:17:42.090294: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-16 00:17:42.090561: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-16 00:17:42.090608: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-16 00:17:42.090784: Inverter 0 idle time is 08-16 00:00:00-08-16 23:59:00
2026-08-16 00:17:42.090830: Note: Inverter does not support discharge freeze - disabled
2026-08-16 00:17:42.090857: Note: Inverter does not support charge freeze - disabled
2026-08-16 00:17:42.090898: Note: Inverter does not support reserve - disabling reserve functions
2026-08-16 00:19:42.330805: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-16 00:19:42.331077: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-16 00:19:42.331121: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-16 00:19:42.331260: Inverter 0 idle time is 08-16 00:00:00-08-16 23:59:00
2026-08-16 00:19:42.331299: Note: Inverter does not support discharge freeze - disabled
2026-08-16 00:19:42.331321: Note: Inverter does not support charge freeze - disabled
2026-08-16 00:19:42.331338: Note: Inverter does not support reserve - disabling reserve functions
2026-08-16 00:20:00.448683: --------------- PredBat - update at 2026-08-16 00:20:00+01:00 with clock skew 0 minutes, minutes now 20
2026-08-16 00:20:00.449535: Saved current settings to /config/predbat_config.json
2026-08-16 00:20:00.449675: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 105.0 minutes
2026-08-16 00:20:00.449765: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.2, latest beta is v8.48.2
2026-08-16 00:20:00.449845: Autoupdate: There is an update pending v8.48.2 PV90 and second pass enabled by default, bug fixes - auto update is off
2026-08-16 00:20:00.472833: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-16 00:20:00.473012: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-16 00:20:00.473188: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-16 00:20:00.473717: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-16 00:20:00.473867: Predbat mode is set to Control charge & discharge
2026-08-16 00:20:00.673158: Found 21602 load_today datapoints going back 28 days
2026-08-16 00:20:00.673322: Using load_power data to fill gaps in load_today data
2026-08-16 00:20:01.445977: Processing 721 30-minute periods for power integration
2026-08-16 00:20:01.604928: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-16 00:20:01.605084: Car charging hold False, threshold 6.0kWh
2026-08-16 00:20:01.605140: Current data so far today: load 0.3kWh, import 0.0kWh, export 0.0kWh, PV 0kWh
2026-08-16 00:20:01.616775: Cars: SoC: [8.204]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-16 00:20:01.617434: Standing charge is set to 49.98p
2026-08-16 00:20:01.640758: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-16 00:20:01.640860: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-16 00:20:01.641145: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 19.9 minutes
2026-08-16 00:20:01.641526: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-17&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 19.8 minutes
2026-08-16 00:20:01.644628: Loaded 47 datapoints of futurerate analysis
2026-08-16 00:20:01.719699: Predicted future rates: ['08-16 00:00:00 => 28.52 / 19.97', '08-16 01:00:00 => 27.43 / 19.41', '08-16 02:00:00 => 26.47 / 18.92', '08-16 03:00:00 => 26.1 / 18.73', '08-16 04:00:00 => 26.04 / 18.7', '08-16 05:00:00 => 25.95 / 18.65', '08-16 06:00:00 => 25.71 / 18.53', '08-16 07:00:00 => 25.37 / 18.35', '08-16 08:00:00 => 24.58 / 17.94', '08-16 09:00:00 => 24.0 / 17.64', '08-16 10:00:00 => 24.54 / 17.92', '08-16 11:00:00 => 24.44 / 17.87', '08-16 12:00:00 => 23.53 / 17.4', '08-16 13:00:00 => 22.89 / 17.07', '08-16 14:00:00 => 21.77 / 16.49', '08-16 15:00:00 => 21.77 / 16.49', '08-16 16:00:00 => 36.89 / 18.3', '08-16 17:00:00 => 39.85 / 19.83', '08-16 18:00:00 => 43.87 / 21.9', '08-16 19:00:00 => 32.69 / 22.13', '08-16 20:00:00 => 33.46 / 22.53', '08-16 21:00:00 => 33.37 / 22.48', '08-16 22:00:00 => 32.01 / 21.78']
2026-08-16 00:20:01.781167: Rate min forward looking: now 21.41p at end of forecast 21.41p
2026-08-16 00:20:01.781506: Import rates: min 21.41p, max 45.28p, average 28.73p
2026-08-16 00:20:01.825560: Export rates: min 0p, max 0p, average 0.0p
2026-08-16 00:20:01.825704: Rate thresholds (for charge/export) are import 44.78p (0.0p), export -0.1p (0.0p)
2026-08-16 00:20:01.826919: High export rate found rates in range 99p to -99p
2026-08-16 00:20:01.904348: Low Import rate found rates in range 21.41p to 44.34p
2026-08-16 00:20:01.905008: Car 0 charging is not planned as it is not plugged in
2026-08-16 00:20:01.918161: Battery level now 11.98kWh, -1hr ago 12.97kWh, at midnight 12.21kWh, battery value change in the last hour -18.25p, change today -4.27p, rate_forward 18.39p
2026-08-16 00:20:01.918544: Last hour: net energy 0.0kWh, import 0.0kWh, export 0.0kWh, car 0kWh, load 0.9kWh, net cost 0.0p, import 0.0p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-16 00:20:01.976297: Today's energy total net 0.0kWh, import 0.0kWh, export 0.0kWh, cost 49.98p, import 0.0p, export 0.0p, carbon 0.0kg
2026-08-16 00:20:01.976424: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-16 00:20:02.035522: Using weighted-bucket historical load forecast over 14 days
2026-08-16 00:20:02.054846: Today's load divergence 100.0%, in-day adjustment 82.97%, damping 0.95x, yesterday 82.97% today 100.0% blend 100.0%
2026-08-16 00:20:02.054951: Today's predicted so far 0.3kWh with 0.0kWh car/iBoost excluded, 0kWh import ignored, and 0.3kWh forecast extra.
2026-08-16 00:20:02.055005: Today's actual load so far 0.25kWh with 0.0kWh car/iBoost excluded, and 0kWh import ignored.
2026-08-16 00:20:02.092589: Inverter 0: Type SK Sunsynk
2026-08-16 00:20:02.092677: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-16 00:20:02.092917: Reserve min: 7%, battery_min: 7%
2026-08-16 00:20:02.093042: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-16 00:20:02.093364: Inverter 0 SoC: 11.84kW 74%, current charge rate 5000W, current discharge rate 5250W, current battery power 451W, current battery voltage 51.2V, grid power -55W, load power 508W, PV Power 0W
2026-08-16 00:20:02.093565: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-16 00:20:02.093675: Inverter 0 scheduled charge enable is False
2026-08-16 00:20:02.093713: Inverter 0 charge windows currently []
2026-08-16 00:20:02.093740: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-16 00:20:02.093908: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-16 00:20:02.093954: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-16 00:20:02.094004: Inverter 0 scheduled discharge enable is False
2026-08-16 00:20:02.094166: Inverter 0 idle time is 08-16 00:00:00-08-16 23:59:00
2026-08-16 00:20:02.094205: Inverter 0 discharge windows currently []
2026-08-16 00:20:02.094233: Note: Inverter does not support discharge freeze - disabled
2026-08-16 00:20:02.094262: Note: Inverter does not support charge freeze - disabled
2026-08-16 00:20:02.094284: Note: Inverter does not support reserve - disabling reserve functions
2026-08-16 00:20:02.161515: Dynamic load last period 1.20kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-16 00:20:02.161628: Plan was last updated on 2026-08-16 00:10:00+01:00 and is now 10.0 minutes old
2026-08-16 00:20:02.161975: Best charge window [ 16-08 08:00:00 - 16-08 08:30:00 @ 24.06p 44%, 16-08 11:30:00 - 16-08 13:30:00 @ 22.83p 34%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 44%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 100%, 16-08 14:30:00 - 16-08 16:00:00 @ 22.56p 72%, 17-08 12:30:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 18-08 00:30:00 @ 28.96p 100% ]
2026-08-16 00:20:02.162026: Best export window [  ]
2026-08-16 00:20:02.162798: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-16 00:20:02.165887: Load divergence over 8.0 hours mean 621.12W, min 297.0W, max 1997.4W, std dev 366.29W, divergence 29.49%
2026-08-16 00:20:02.187207: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-16 00:20:02.187364: LoadML is_calculating False
2026-08-16 00:20:02.187468: Creating pool of 12 processes to match your CPU count
2026-08-16 00:20:02.306831: predict base end_record 08-17 12:40:00, final soc 1.12kWh, metric 407.99p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 19:30:00, load 21.52kWh, PV 0.0kWh
2026-08-16 00:20:02.426185: Battery has 19.17 hours left - now at 11.84kWh
2026-08-16 00:20:02.466270: predict base10 end_record 08-17 12:40:00, final soc 1.12kWh, metric 441.06p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 18:35:00, load 22.53kWh, PV 0.0kWh
2026-08-16 00:20:02.541926: predict best10 end_record 08-17 12:40:00, final soc 1.77kWh, metric 414.11p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 06:20:00, load 22.53kWh, PV 0.0kWh
2026-08-16 00:20:02.629762: predict best end_record 08-17 12:40:00, final soc 1.9kWh, metric 391.24p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 07:20:00, load 21.52kWh, PV 0.0kWh
2026-08-16 00:20:02.629902: Saving plan best values to HA entities
2026-08-16 00:20:02.791589: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-16 00:20:02.796478: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-16 00:20:02.801208: Best charging limit SoC's [7.0, 5.5, 7.0, 16.0, 11.5, 16.0, 16.0]kWh, export []kWh gives import battery 9.76kWh, house 3.14kWh, export 0.0kWh, metric 391.24p, metric10 414.11p
2026-08-16 00:20:02.870133: Marginal costs baseline metric (no standing charge): 341.2522
2026-08-16 00:20:03.092861: Marginal energy costs matrix computed: min=22.66 max=27.31
2026-08-16 00:20:03.172295: Rate array import [{'start': 20, 'end': 960, 'rate': 'cheap', 'range': '(21.4p - 28.2p)'}, {'start': 960, 'end': 990, 'rate': 'expensive', 'range': '(36.8p)'}, {'start': 990, 'end': 1140, 'rate': 'very expensive', 'range': '(37.5p - 45.3p)'}, {'start': 1140, 'end': 1410, 'rate': 'expensive', 'range': '(30.0p - 35.9p)'}, {'start': 1410, 'end': 2200, 'rate': 'cheap', 'range': '(22.3p - 28.2p)'}] export [{'start': 20, 'end': 2200, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-16 00:20:03.172923: - Your estimated bill for today is £2.44 and tomorrow is £7.29
2026-08-16 00:20:03.173010: - Import rates are cheap (21.4p - 28.2p) for the next 15 hours and then expensive (36.8p) for the next 30 minutes.
2026-08-16 00:20:03.173065: - The battery is currently at 74% and is in eco mode for the next 7 and three quarters hours.
2026-08-16 00:20:03.173083: - For the next 48 hours there will be no solar generation.
2026-08-16 00:20:03.173097: - You will run out of battery in 31 hours.
2026-08-16 00:20:03.173112: - Your next charge slot will be in 7 and three quarters hours where import rates will be cheap (24.1p).
2026-08-16 00:20:03.173126: 
2026-08-16 00:20:03.239357: Plan calculation took 1.08 seconds
2026-08-16 00:20:03.242636: No high rate period found
2026-08-16 00:20:03.313382: Import threshold used for optimisation was 25.86p
2026-08-16 00:20:03.383095: Low import rate windows [0: 08-16 00:00:00 - 08-16 00:30:00 @ 28.18, 1: 08-16 00:30:00 - 08-16 01:00:00 @ 27.38, 2: 08-16 01:00:00 - 08-16 01:30:00 @ 26.7, 3: 08-16 01:30:00 - 08-16 02:00:00 @ 26.31, 4: 08-16 02:00:00 - 08-16 02:30:00 @ 25.79, 5: 08-16 02:30:00 - 08-16 03:00:00 @ 25.86, 6: 08-16 03:00:00 - 08-16 03:30:00 @ 26.13, 7: 08-16 03:30:00 - 08-16 04:00:00 @ 25.86, 8: 08-16 04:00:00 - 08-16 04:30:00 @ 26.27, 9: 08-16 04:30:00 - 08-16 05:00:00 @ 26.14, 10: 08-16 05:00:00 - 08-16 05:30:00 @ 27.03, 11: 08-16 05:30:00 - 08-16 06:00:00 @ 26.28, 12: 08-16 06:00:00 - 08-16 06:30:00 @ 25.68, 13: 08-16 06:30:00 - 08-16 07:00:00 @ 26.1, 14: 08-16 07:00:00 - 08-16 07:30:00 @ 24.28, 15: 08-16 07:30:00 - 08-16 08:00:00 @ 24.94, 16: 08-16 08:00:00 - 08-16 08:30:00 @ 24.06, 17: 08-16 08:30:00 - 08-16 09:00:00 @ 24.39, 18: 08-16 09:00:00 - 08-16 09:30:00 @ 24.66, 19: 08-16 09:30:00 - 08-16 10:00:00 @ 24.06, 20: 08-16 10:00:00 - 08-16 10:30:00 @ 25.5, 21: 08-16 10:30:00 - 08-16 11:00:00 @ 24.94, 22: 08-16 11:00:00 - 08-16 11:30:00 @ 24.25, 23: 08-16 11:30:00 - 08-16 12:00:00 @ 23.49, 24: 08-16 12:00:00 - 08-16 12:30:00 @ 23.43, 25: 08-16 12:30:00 - 08-16 13:00:00 @ 22.33, 26: 08-16 13:00:00 - 08-16 13:30:00 @ 22.76, 27: 08-16 13:30:00 - 08-16 14:00:00 @ 22.3, 28: 08-16 14:00:00 - 08-16 14:30:00 @ 21.41, 29: 08-16 14:30:00 - 08-16 15:00:00 @ 21.65, 30: 08-16 15:00:00 - 08-16 15:30:00 @ 22.95, 31: 08-16 15:30:00 - 08-16 16:00:00 @ 22.83, 32: 08-16 16:00:00 - 08-16 16:30:00 @ 36.84, 33: 08-16 16:30:00 - 08-16 17:00:00 @ 37.54, 34: 08-16 17:00:00 - 08-16 17:30:00 @ 41.79, 35: 08-16 17:30:00 - 08-16 18:00:00 @ 43.7, 36: 08-16 18:00:00 - 08-16 18:30:00 @ 44.34, 37: 08-16 19:00:00 - 08-16 19:30:00 @ 34.79, 38: 08-16 19:30:00 - 08-16 20:00:00 @ 34.76, 39: 08-16 20:00:00 - 08-16 20:30:00 @ 35.62, 40: 08-16 20:30:00 - 08-16 21:00:00 @ 35.3, 41: 08-16 21:00:00 - 08-16 21:30:00 @ 35.89, 42: 08-16 21:30:00 - 08-16 22:00:00 @ 35.71, 43: 08-16 22:00:00 - 08-16 22:30:00 @ 33.75, 44: 08-16 22:30:00 - 08-16 23:00:00 @ 32.0, 45: 08-16 23:00:00 - 08-16 23:30:00 @ 30.02, 46: 08-16 23:30:00 - 08-17 00:00:00 @ 27.8, 47: 08-17 00:00:00 - 08-17 00:30:00 @ 28.18, 48: 08-17 00:30:00 - 08-17 01:00:00 @ 27.38, 49: 08-17 01:00:00 - 08-17 01:30:00 @ 26.7, 50: 08-17 01:30:00 - 08-17 02:00:00 @ 26.31, 51: 08-17 02:00:00 - 08-17 02:30:00 @ 25.79, 52: 08-17 02:30:00 - 08-17 03:00:00 @ 25.86, 53: 08-17 03:00:00 - 08-17 03:30:00 @ 26.13, 54: 08-17 03:30:00 - 08-17 04:00:00 @ 25.86, 55: 08-17 04:00:00 - 08-17 04:30:00 @ 26.27, 56: 08-17 04:30:00 - 08-17 05:00:00 @ 26.14, 57: 08-17 05:00:00 - 08-17 05:30:00 @ 27.03, 58: 08-17 05:30:00 - 08-17 06:00:00 @ 26.28, 59: 08-17 06:00:00 - 08-17 06:30:00 @ 25.68, 60: 08-17 06:30:00 - 08-17 07:00:00 @ 26.1, 61: 08-17 07:00:00 - 08-17 07:30:00 @ 24.28, 62: 08-17 07:30:00 - 08-17 08:00:00 @ 24.94, 63: 08-17 08:00:00 - 08-17 08:30:00 @ 24.06, 64: 08-17 08:30:00 - 08-17 09:00:00 @ 24.39, 65: 08-17 09:00:00 - 08-17 09:30:00 @ 24.66, 66: 08-17 09:30:00 - 08-17 10:00:00 @ 24.06, 67: 08-17 10:00:00 - 08-17 10:30:00 @ 25.5, 68: 08-17 10:30:00 - 08-17 11:00:00 @ 24.94, 69: 08-17 11:00:00 - 08-17 11:30:00 @ 24.25, 70: 08-17 11:30:00 - 08-17 12:00:00 @ 23.49, 71: 08-17 12:00:00 - 08-17 12:30:00 @ 23.43, 72: 08-17 12:30:00 - 08-17 13:00:00 @ 22.33, 73: 08-17 13:00:00 - 08-17 13:30:00 @ 22.76, 74: 08-17 13:30:00 - 08-17 14:00:00 @ 22.3, 75: 08-17 14:00:00 - 08-17 14:30:00 @ 21.41, 76: 08-17 14:30:00 - 08-17 15:00:00 @ 21.65, 77: 08-17 15:00:00 - 08-17 15:30:00 @ 22.95, 78: 08-17 15:30:00 - 08-17 16:00:00 @ 22.83, 79: 08-17 16:00:00 - 08-17 16:30:00 @ 36.84, 80: 08-17 16:30:00 - 08-17 17:00:00 @ 37.54, 81: 08-17 17:00:00 - 08-17 17:30:00 @ 41.79, 82: 08-17 17:30:00 - 08-17 18:00:00 @ 43.7, 83: 08-17 18:00:00 - 08-17 18:30:00 @ 44.34, 84: 08-17 19:00:00 - 08-17 19:30:00 @ 34.79, 85: 08-17 19:30:00 - 08-17 20:00:00 @ 34.76, 86: 08-17 20:00:00 - 08-17 20:30:00 @ 35.62, 87: 08-17 20:30:00 - 08-17 21:00:00 @ 35.3, 88: 08-17 21:00:00 - 08-17 21:30:00 @ 35.89, 89: 08-17 21:30:00 - 08-17 22:00:00 @ 35.71, 90: 08-17 22:00:00 - 08-17 22:30:00 @ 33.75, 91: 08-17 22:30:00 - 08-17 23:00:00 @ 32.0, 92: 08-17 23:00:00 - 08-17 23:30:00 @ 30.02, 93: 08-17 23:30:00 - 08-18 00:00:00 @ 27.8, 94: 08-18 00:00:00 - 08-18 00:30:00 @ 28.18]
2026-08-16 00:20:03.391443: Inverter 0 Charge window will be: 2026-08-16 08:00:00+01:00 - 2026-08-16 08:30:00+01:00 - current SoC 74%, target 44%
2026-08-16 00:20:03.391655: Inverter 0 disabled charge window while waiting for schedule (now 08-16 00:20:00 target set_window_minutes 30 charge start time 08-16 08:00:00) original inverter start time 08-18 00:00:00
2026-08-16 00:20:03.391803: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-16 00:20:03.392103: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-16 00:20:03.392208: No export window planned
2026-08-16 00:20:03.392322: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-16 00:20:03.392359: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-16 00:20:03.392498: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-16 00:20:03.392689: Inverter 0 not setting charging SoC as we are not within the window (now 08-16 00:20:00 target set_soc_minutes 30 charge start time 08-18 00:00:00)
2026-08-16 00:20:03.392754: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-16 00:20:03.392817: Inverter 0 Current Target SoC is 7%, already at target
2026-08-16 00:20:03.392980: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 00:20:03.393034: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 00:20:03.393068: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 00:20:03.393103: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 00:20:03.393158: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 00:20:03.393186: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 00:20:03.393212: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 00:20:03.393307: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 00:20:03.393377: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 00:20:03.393412: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 00:20:03.393438: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 00:20:03.393470: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 00:20:03.393525: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 00:20:03.393561: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 00:20:03.393583: Inverter 0 count register writes 0
2026-08-16 00:20:03.410904: Will recompute the plan as it is now 10.0 minutes old and will exceed the max age of 10 minutes before the next run
2026-08-16 00:20:03.411103: Recompute is saving previous plan...
2026-08-16 00:20:03.414297: Best charge window [ 16-08 00:00:00 - 16-08 00:30:00 @ 28.18p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.38p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 26.7p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.31p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.79p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 25.86p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.13p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 25.86p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.27p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.14p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 27.03p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.28p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.68p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 26.1p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 24.28p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 24.94p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.06p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.39p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.66p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.06p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 25.5p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 24.94p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 24.25p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 23.49p 0%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.43p 0%, 16-08 12:30:00 - 16-08 13:00:00 @ 22.33p 0%, 16-08 13:00:00 - 16-08 13:30:00 @ 22.76p 0%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 0%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 0%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.65p 0%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.95p 0%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.83p 0%, 16-08 16:00:00 - 16-08 16:30:00 @ 36.84p 0%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.54p 0%, 16-08 17:00:00 - 16-08 17:30:00 @ 41.79p 0%, 16-08 17:30:00 - 16-08 18:00:00 @ 43.7p 0%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.34p 0%, 16-08 19:00:00 - 16-08 19:30:00 @ 34.79p 0%, 16-08 19:30:00 - 16-08 20:00:00 @ 34.76p 0%, 16-08 20:00:00 - 16-08 20:30:00 @ 35.62p 0%, 16-08 20:30:00 - 16-08 21:00:00 @ 35.3p 0%, 16-08 21:00:00 - 16-08 21:30:00 @ 35.89p 0%, 16-08 21:30:00 - 16-08 22:00:00 @ 35.71p 0%, 16-08 22:00:00 - 16-08 22:30:00 @ 33.75p 0%, 16-08 22:30:00 - 16-08 23:00:00 @ 32.0p 0%, 16-08 23:00:00 - 16-08 23:30:00 @ 30.02p 0%, 16-08 23:30:00 - 17-08 00:00:00 @ 27.8p 0%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.18p 0%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.38p 0%, 17-08 01:00:00 - 17-08 01:30:00 @ 26.7p 0%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.31p 0%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.79p 0%, 17-08 02:30:00 - 17-08 03:00:00 @ 25.86p 0%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.13p 0%, 17-08 03:30:00 - 17-08 04:00:00 @ 25.86p 0%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.27p 0%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.14p 0%, 17-08 05:00:00 - 17-08 05:30:00 @ 27.03p 0%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.28p 0%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.68p 0%, 17-08 06:30:00 - 17-08 07:00:00 @ 26.1p 0%, 17-08 07:00:00 - 17-08 07:30:00 @ 24.28p 0%, 17-08 07:30:00 - 17-08 08:00:00 @ 24.94p 0%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.06p 0%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.39p 0%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.66p 0%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.06p 0%, 17-08 10:00:00 - 17-08 10:30:00 @ 25.5p 0%, 17-08 10:30:00 - 17-08 11:00:00 @ 24.94p 0%, 17-08 11:00:00 - 17-08 11:30:00 @ 24.25p 0%, 17-08 11:30:00 - 17-08 12:00:00 @ 23.49p 0%, 17-08 12:00:00 - 17-08 12:30:00 @ 23.43p 0%, 17-08 12:30:00 - 17-08 13:00:00 @ 22.33p 0%, 17-08 13:00:00 - 17-08 13:30:00 @ 22.76p 0%, 17-08 13:30:00 - 17-08 14:00:00 @ 22.3p 0%, 17-08 14:00:00 - 17-08 14:30:00 @ 21.41p 0%, 17-08 14:30:00 - 17-08 15:00:00 @ 21.65p 0%, 17-08 15:00:00 - 17-08 15:30:00 @ 22.95p 0%, 17-08 15:30:00 - 17-08 16:00:00 @ 22.83p 0%, 17-08 16:00:00 - 17-08 16:30:00 @ 36.84p 0%, 17-08 16:30:00 - 17-08 17:00:00 @ 37.54p 0%, 17-08 17:00:00 - 17-08 17:30:00 @ 41.79p 0%, 17-08 17:30:00 - 17-08 18:00:00 @ 43.7p 0%, 17-08 18:00:00 - 17-08 18:30:00 @ 44.34p 0%, 17-08 19:00:00 - 17-08 19:30:00 @ 34.79p 0%, 17-08 19:30:00 - 17-08 20:00:00 @ 34.76p 0%, 17-08 20:00:00 - 17-08 20:30:00 @ 35.62p 0%, 17-08 20:30:00 - 17-08 21:00:00 @ 35.3p 0%, 17-08 21:00:00 - 17-08 21:30:00 @ 35.89p 0%, 17-08 21:30:00 - 17-08 22:00:00 @ 35.71p 0%, 17-08 22:00:00 - 17-08 22:30:00 @ 33.75p 0%, 17-08 22:30:00 - 17-08 23:00:00 @ 32.0p 0%, 17-08 23:00:00 - 17-08 23:30:00 @ 30.02p 0%, 17-08 23:30:00 - 18-08 00:00:00 @ 27.8p 0%, 18-08 00:00:00 - 18-08 00:30:00 @ 28.18p 0% ]
2026-08-16 00:20:03.414384: Best export window [  ]
2026-08-16 00:20:03.415280: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-16 00:20:03.418426: Load divergence over 8.0 hours mean 621.12W, min 297.0W, max 1997.4W, std dev 366.29W, divergence 29.49%
2026-08-16 00:20:03.435962: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-16 00:20:03.436120: LoadML is_calculating False
2026-08-16 00:20:03.436224: Creating pool of 12 processes to match your CPU count
2026-08-16 00:20:03.533590: Calculate Best options: mode(Control charge & discharge), calculate_export_oncharge(False), calculate_export_on_pv(True), set_export_freeze_only(False), set_discharge_during_charge(True), combine_charge_slots(False), combine_export_slots(False), combine_rate_threshold(0.0), best_soc_min(0.0 kWh), best_soc_max(0.0 kWh), best_soc_keep(0.0 kWh), inverter_loss(4%), battery_loss(3%), battery_loss_discharge (3%), inverter_hybrid(True), metric_min_improvement(0.0p), metric_min_improvement_export(0.1p), metric_min_improvement_export_freeze(0.1p), metric_battery_cycle(0.0p/kWh), metric_battery_value_scaling(1.0 x) 
2026-08-16 00:20:03.535714: Optimise levels pass started at 2026-08-16 00:20:03
2026-08-16 00:20:03.535783: Optimise all windows, total charge 94 export 1
2026-08-16 00:20:04.409960: >> Region optimisation pass width 960 gives best_metric 512.76p, best_cost 527.15p, best_cycle 39.31kWh, best_import 21.26kWh
2026-08-16 00:20:04.853055: >> Region optimisation pass width 480 gives best_metric 512.76p, best_cost 527.15p, best_cycle 39.31kWh, best_import 21.26kWh
2026-08-16 00:20:05.335126: >> Region optimisation pass width 240 gives best_metric 512.76p, best_cost 527.15p, best_cycle 39.31kWh, best_import 21.26kWh
2026-08-16 00:20:06.623416: >> Region optimisation pass width 120 gives best_metric 512.61p, best_cost 526.64p, best_cycle 38.35kWh, best_import 21.19kWh
2026-08-16 00:20:06.623773: Calculated end_record as 08-17 12:30:00 based on best_price 22.33p, next_charge_start 08-16 12:30:00, max_windows 72
2026-08-16 00:20:06.623838: Optimise levels pass ended at 2026-08-16 00:20:06, duration 3.1 seconds tried 331 combinations
2026-08-16 00:20:06.623912: Set best_price_charge_level 24.0p, best_price_export_level 0p, best_price_charge 22.33p, best_cost_export 0p, best_metric 512.61p, best_keep 0kWh, best_cycle 38.35kWh, best_carbon 0kg, best_import 21.19kWh
2026-08-16 00:20:06.639975: Starting detailed optimisation end_record 08-17 12:30:00, best_price_charge 22.33p, best_price_export 0p. lowest_price_charge 21.41p with charge limits [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 0, 0, 16.0, 12.0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0]kWh and export limits []kWh
2026-08-16 00:20:12.112580: Tweak plan optimisation started metric 303.11p, cost 319.87p
2026-08-16 00:20:12.428205: Tweak optimisation finished metric 303.11p, cost 319.87p, metric_keep 0kWh, cycle 22.05kWh, carbon 0kg, import 11.94kWh, changed 8 window(s)
2026-08-16 00:20:12.449270: Swap charge optimisation started metric 303.11p, cost 319.87p, min_improvement_swap 0.1p
2026-08-16 00:20:19.933602: Swap charge optimisation finished metric 303.11p, cost 319.87p
2026-08-16 00:20:20.056998: Pruned 2 dead plan slot(s) in 12 trial(s), nominal metric 299.27p -> 299.27p, plan now metric 303.13p, cost 319.87p, cycle 22.05kWh, import 11.94kWh
2026-08-16 00:20:20.066756: Raw charge windows [ 16-08 00:00:00 - 16-08 00:30:00 @ 28.18p 0%, 16-08 00:30:00 - 16-08 01:00:00 @ 27.38p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 26.7p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.31p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.79p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 25.86p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.13p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 25.86p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.27p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.14p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 27.03p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.28p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.68p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 26.1p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 24.28p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 24.94p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.06p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.39p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.66p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.06p 41%, 16-08 10:00:00 - 16-08 10:30:00 @ 25.5p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 24.94p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 24.25p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 23.49p 34%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.43p 34%, 16-08 12:30:00 - 16-08 13:00:00 @ 22.33p 34%, 16-08 13:00:00 - 16-08 13:30:00 @ 22.76p 34%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 44%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 100%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.65p 72%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.95p 72%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.83p 72%, 16-08 16:00:00 - 16-08 16:30:00 @ 36.84p 0%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.54p 0%, 16-08 17:00:00 - 16-08 17:30:00 @ 41.79p 0%, 16-08 17:30:00 - 16-08 18:00:00 @ 43.7p 0%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.34p 0%, 16-08 19:00:00 - 16-08 19:30:00 @ 34.79p 0%, 16-08 19:30:00 - 16-08 20:00:00 @ 34.76p 0%, 16-08 20:00:00 - 16-08 20:30:00 @ 35.62p 0%, 16-08 20:30:00 - 16-08 21:00:00 @ 35.3p 0%, 16-08 21:00:00 - 16-08 21:30:00 @ 35.89p 0%, 16-08 21:30:00 - 16-08 22:00:00 @ 35.71p 0%, 16-08 22:00:00 - 16-08 22:30:00 @ 33.75p 0%, 16-08 22:30:00 - 16-08 23:00:00 @ 32.0p 0%, 16-08 23:00:00 - 16-08 23:30:00 @ 30.02p 0%, 16-08 23:30:00 - 17-08 00:00:00 @ 27.8p 0%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.18p 0%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.38p 0%, 17-08 01:00:00 - 17-08 01:30:00 @ 26.7p 0%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.31p 0%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.79p 0%, 17-08 02:30:00 - 17-08 03:00:00 @ 25.86p 0%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.13p 0%, 17-08 03:30:00 - 17-08 04:00:00 @ 25.86p 0%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.27p 0%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.14p 0%, 17-08 05:00:00 - 17-08 05:30:00 @ 27.03p 0%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.28p 0%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.68p 0%, 17-08 06:30:00 - 17-08 07:00:00 @ 26.1p 0%, 17-08 07:00:00 - 17-08 07:30:00 @ 24.28p 0%, 17-08 07:30:00 - 17-08 08:00:00 @ 24.94p 0%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.06p 0%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.39p 0%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.66p 0%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.06p 0%, 17-08 10:00:00 - 17-08 10:30:00 @ 25.5p 0%, 17-08 10:30:00 - 17-08 11:00:00 @ 24.94p 0%, 17-08 11:00:00 - 17-08 11:30:00 @ 24.25p 0%, 17-08 11:30:00 - 17-08 12:00:00 @ 23.49p 0%, 17-08 12:00:00 - 17-08 12:30:00 @ 23.43p 0%, 17-08 12:30:00 - 17-08 13:00:00 @ 22.33p 100%, 17-08 13:00:00 - 17-08 13:30:00 @ 22.76p 100%, 17-08 13:30:00 - 17-08 14:00:00 @ 22.3p 100%, 17-08 14:00:00 - 17-08 14:30:00 @ 21.41p 100%, 17-08 14:30:00 - 17-08 15:00:00 @ 21.65p 100%, 17-08 15:00:00 - 17-08 15:30:00 @ 22.95p 100%, 17-08 15:30:00 - 17-08 16:00:00 @ 22.83p 100%, 17-08 16:00:00 - 17-08 16:30:00 @ 36.84p 100%, 17-08 16:30:00 - 17-08 17:00:00 @ 37.54p 100%, 17-08 17:00:00 - 17-08 17:30:00 @ 41.79p 100%, 17-08 17:30:00 - 17-08 18:00:00 @ 43.7p 100%, 17-08 18:00:00 - 17-08 18:30:00 @ 44.34p 100%, 17-08 19:00:00 - 17-08 19:30:00 @ 34.79p 100%, 17-08 19:30:00 - 17-08 20:00:00 @ 34.76p 100%, 17-08 20:00:00 - 17-08 20:30:00 @ 35.62p 100%, 17-08 20:30:00 - 17-08 21:00:00 @ 35.3p 100%, 17-08 21:00:00 - 17-08 21:30:00 @ 35.89p 100%, 17-08 21:30:00 - 17-08 22:00:00 @ 35.71p 100%, 17-08 22:00:00 - 17-08 22:30:00 @ 33.75p 100%, 17-08 22:30:00 - 17-08 23:00:00 @ 32.0p 100%, 17-08 23:00:00 - 17-08 23:30:00 @ 30.02p 100%, 17-08 23:30:00 - 18-08 00:00:00 @ 27.8p 100%, 18-08 00:00:00 - 18-08 00:30:00 @ 28.18p 100% ] reserve 1.12
2026-08-16 00:20:20.067374: Unclipped charge windows [ 16-08 09:30:00 - 16-08 10:00:00 @ 24.06p 41%, 16-08 11:30:00 - 16-08 13:30:00 @ 22.83p 34%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 44%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 100%, 16-08 14:30:00 - 16-08 16:00:00 @ 22.56p 72%, 17-08 12:30:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 18-08 00:30:00 @ 28.96p 100% ] reserve 1.12
2026-08-16 00:20:20.067789: Unfiltered charge windows [ 16-08 09:30:00 - 16-08 10:00:00 @ 24.06p 41%, 16-08 11:30:00 - 16-08 13:30:00 @ 22.83p 34%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 44%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 100%, 16-08 14:30:00 - 16-08 16:00:00 @ 22.56p 72%, 17-08 12:30:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 18-08 00:30:00 @ 28.96p 100% ] reserve 1.12
2026-08-16 00:20:20.068080: Filtered charge windows [ 16-08 09:30:00 - 16-08 10:00:00 @ 24.06p 41%, 16-08 11:30:00 - 16-08 13:30:00 @ 22.83p 34%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 44%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 100%, 16-08 14:30:00 - 16-08 16:00:00 @ 22.56p 72%, 17-08 12:30:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 18-08 00:30:00 @ 28.96p 100% ] reserve 1.12
2026-08-16 00:20:20.100170: Previous plan best metric is 303.13 (cost 319.86) and new plan best metric is 303.11 (cost 319.87)
2026-08-16 00:20:20.100411: New plan metric is not significantly better (metric_min_improvement_plan 2.0) than previous plan, using previous plan
2026-08-16 00:20:20.100635: Plan valid is now true after recompute was False
2026-08-16 00:20:20.124328: predict base end_record 08-17 12:30:00, final soc 1.12kWh, metric 405.21p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 19:30:00, load 21.39kWh, PV 0.0kWh
2026-08-16 00:20:20.240751: Battery has 19.17 hours left - now at 11.84kWh
2026-08-16 00:20:20.305354: predict base10 end_record 08-17 12:30:00, final soc 1.12kWh, metric 438.15p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 18:35:00, load 22.4kWh, PV 0.0kWh
2026-08-16 00:20:20.378040: predict best10 end_record 08-17 12:30:00, final soc 1.12kWh, metric 395.69p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 06:20:00, load 22.4kWh, PV 0.0kWh
2026-08-16 00:20:20.482248: predict best end_record 08-17 12:30:00, final soc 1.12kWh, metric 369.85p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 07:20:00, load 21.39kWh, PV 0.0kWh
2026-08-16 00:20:20.482354: Saving plan best values to HA entities
2026-08-16 00:20:20.669550: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-16 00:20:20.674718: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-16 00:20:20.680611: Best charging limit SoC's [7.0, 5.5, 7.0, 16.0, 11.5, 16.0, 16.0]kWh, export []kWh gives import battery 8.8kWh, house 3.14kWh, export 0.0kWh, metric 369.85p, metric10 395.69p
2026-08-16 00:20:20.752618: Marginal costs baseline metric (no standing charge): 319.8626
2026-08-16 00:20:20.974329: Marginal energy costs matrix computed: min=22.66 max=27.31
2026-08-16 00:20:21.044536: Rate array import [{'start': 20, 'end': 960, 'rate': 'cheap', 'range': '(21.4p - 28.2p)'}, {'start': 960, 'end': 990, 'rate': 'expensive', 'range': '(36.8p)'}, {'start': 990, 'end': 1140, 'rate': 'very expensive', 'range': '(37.5p - 45.3p)'}, {'start': 1140, 'end': 1410, 'rate': 'expensive', 'range': '(30.0p - 35.9p)'}, {'start': 1410, 'end': 2190, 'rate': 'cheap', 'range': '(23.4p - 28.2p)'}] export [{'start': 20, 'end': 2190, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-16 00:20:21.045275: - Your estimated bill for today is £2.44 and tomorrow is £7.29
2026-08-16 00:20:21.045328: - Import rates are cheap (21.4p - 28.2p) for the next 15 hours and then expensive (36.8p) for the next 30 minutes.
2026-08-16 00:20:21.045351: - The battery is currently at 74% and is in eco mode for the next 7 and three quarters hours.
2026-08-16 00:20:21.045369: - For the next 48 hours there will be no solar generation.
2026-08-16 00:20:21.045386: - You will run out of battery in 31 hours.
2026-08-16 00:20:21.045408: - Your next charge slot will be in 7 and three quarters hours where import rates will be cheap (24.1p).
2026-08-16 00:20:21.045426: 
2026-08-16 00:20:21.109978: Plan calculation took 17.70 seconds
2026-08-16 00:20:21.110418: Inverter 0: Type SK Sunsynk
2026-08-16 00:20:21.110478: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-16 00:20:21.110771: Reserve min: 7%, battery_min: 7%
2026-08-16 00:20:21.110894: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-16 00:20:21.111316: Inverter 0 SoC: 11.78kW 74%, current charge rate 5000W, current discharge rate 5250W, current battery power 1502W, current battery voltage 51.2V, grid power -54W, load power 1566W, PV Power 0W
2026-08-16 00:20:21.111611: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-16 00:20:21.111786: Inverter 0 scheduled charge enable is False
2026-08-16 00:20:21.111849: Inverter 0 charge windows currently []
2026-08-16 00:20:21.111920: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-16 00:20:21.112107: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-16 00:20:21.112161: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-16 00:20:21.112222: Inverter 0 scheduled discharge enable is False
2026-08-16 00:20:21.112408: Inverter 0 idle time is 08-16 00:00:00-08-16 23:59:00
2026-08-16 00:20:21.112454: Inverter 0 discharge windows currently []
2026-08-16 00:20:21.112490: Note: Inverter does not support discharge freeze - disabled
2026-08-16 00:20:21.112534: Note: Inverter does not support charge freeze - disabled
2026-08-16 00:20:21.112556: Note: Inverter does not support reserve - disabling reserve functions
2026-08-16 00:20:21.169680: Inverter 0 Charge window will be: 2026-08-16 08:00:00+01:00 - 2026-08-16 08:30:00+01:00 - current SoC 74%, target 44%
2026-08-16 00:20:21.169832: Inverter 0 disabled charge window while waiting for schedule (now 08-16 00:20:00 target set_window_minutes 30 charge start time 08-16 08:00:00) original inverter start time 08-18 00:00:00
2026-08-16 00:20:21.169922: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-16 00:20:21.170122: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-16 00:20:21.170207: No export window planned
2026-08-16 00:20:21.170324: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-16 00:20:21.170361: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-16 00:20:21.170499: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-16 00:20:21.170666: Inverter 0 not setting charging SoC as we are not within the window (now 08-16 00:20:00 target set_soc_minutes 30 charge start time 08-18 00:00:00)
2026-08-16 00:20:21.170720: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-16 00:20:21.170774: Inverter 0 Current Target SoC is 7%, already at target
2026-08-16 00:20:21.170886: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 00:20:21.170930: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 00:20:21.170958: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 00:20:21.170990: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 00:20:21.171016: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 00:20:21.171044: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 00:20:21.171068: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 00:20:21.171134: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 00:20:21.171163: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 00:20:21.171192: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 00:20:21.171223: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 00:20:21.171248: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 00:20:21.171279: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 00:20:21.171303: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 00:20:21.171324: Inverter 0 count register writes 0
2026-08-16 00:20:21.194893: Total inverter register writes now 826
2026-08-16 00:20:21.227733: Info: Completed run status Demand
2026-08-16 00:20:21.234315: Info: record_status Demand
2026-08-16 00:20:21.240498: Saved current settings to /config/predbat_config.json
2026-08-16 00:20:21.240818: Compare, best tariff: igo_fixed metric 126.72p
2026-08-16 00:20:57.348844: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-16 00:20:57.349181: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-16 00:20:57.349274: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-16 00:20:57.349454: Inverter 0 idle time is 08-16 00:00:00-08-16 23:59:00
2026-08-16 00:20:57.349493: Note: Inverter does not support discharge freeze - disabled
2026-08-16 00:20:57.349513: Note: Inverter does not support charge freeze - disabled
2026-08-16 00:20:57.349530: Note: Inverter does not support reserve - disabling reserve functions
2026-08-16 00:23:11.592223: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-16 00:23:11.592467: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-16 00:23:11.592540: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-16 00:23:11.592720: Inverter 0 idle time is 08-16 00:00:00-08-16 23:59:00
2026-08-16 00:23:11.592797: Note: Inverter does not support discharge freeze - disabled
2026-08-16 00:23:11.592819: Note: Inverter does not support charge freeze - disabled
2026-08-16 00:23:11.592837: Note: Inverter does not support reserve - disabling reserve functions
2026-08-16 00:25:00.802047: --------------- PredBat - update at 2026-08-16 00:25:00+01:00 with clock skew 0 minutes, minutes now 25
2026-08-16 00:25:00.802831: Saved current settings to /config/predbat_config.json
2026-08-16 00:25:00.802984: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 110.0 minutes
2026-08-16 00:25:00.803106: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.2, latest beta is v8.48.2
2026-08-16 00:25:00.803196: Autoupdate: There is an update pending v8.48.2 PV90 and second pass enabled by default, bug fixes - auto update is off
2026-08-16 00:25:00.820696: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-16 00:25:00.820806: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-16 00:25:00.821043: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-16 00:25:00.821552: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-16 00:25:00.821683: Predbat mode is set to Control charge & discharge
2026-08-16 00:25:00.999650: Found 21602 load_today datapoints going back 28 days
2026-08-16 00:25:00.999793: Using load_power data to fill gaps in load_today data
2026-08-16 00:25:01.708320: Processing 721 30-minute periods for power integration
2026-08-16 00:25:01.866075: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-16 00:25:01.866211: Car charging hold False, threshold 6.0kWh
2026-08-16 00:25:01.866251: Current data so far today: load 0.4kWh, import 0.0kWh, export 0.0kWh, PV 0kWh
2026-08-16 00:25:01.878284: Cars: SoC: [8.204]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-16 00:25:01.878609: Standing charge is set to 49.98p
2026-08-16 00:25:01.905402: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-16 00:25:01.905493: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-16 00:25:01.905665: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 25.0 minutes
2026-08-16 00:25:01.905994: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-17&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 24.8 minutes
2026-08-16 00:25:01.908493: Loaded 47 datapoints of futurerate analysis
2026-08-16 00:25:01.977697: Predicted future rates: ['08-16 00:00:00 => 28.52 / 19.97', '08-16 01:00:00 => 27.43 / 19.41', '08-16 02:00:00 => 26.47 / 18.92', '08-16 03:00:00 => 26.1 / 18.73', '08-16 04:00:00 => 26.04 / 18.7', '08-16 05:00:00 => 25.95 / 18.65', '08-16 06:00:00 => 25.71 / 18.53', '08-16 07:00:00 => 25.37 / 18.35', '08-16 08:00:00 => 24.58 / 17.94', '08-16 09:00:00 => 24.0 / 17.64', '08-16 10:00:00 => 24.54 / 17.92', '08-16 11:00:00 => 24.44 / 17.87', '08-16 12:00:00 => 23.53 / 17.4', '08-16 13:00:00 => 22.89 / 17.07', '08-16 14:00:00 => 21.77 / 16.49', '08-16 15:00:00 => 21.77 / 16.49', '08-16 16:00:00 => 36.89 / 18.3', '08-16 17:00:00 => 39.85 / 19.83', '08-16 18:00:00 => 43.87 / 21.9', '08-16 19:00:00 => 32.69 / 22.13', '08-16 20:00:00 => 33.46 / 22.53', '08-16 21:00:00 => 33.37 / 22.48', '08-16 22:00:00 => 32.01 / 21.78']
2026-08-16 00:25:02.027964: Rate min forward looking: now 21.41p at end of forecast 21.41p
2026-08-16 00:25:02.028853: Import rates: min 21.41p, max 45.28p, average 28.73p
2026-08-16 00:25:02.064164: Export rates: min 0p, max 0p, average 0.0p
2026-08-16 00:25:02.064284: Rate thresholds (for charge/export) are import 44.78p (0.0p), export -0.1p (0.0p)
2026-08-16 00:25:02.065324: High export rate found rates in range 99p to -99p
2026-08-16 00:25:02.127332: Low Import rate found rates in range 21.41p to 44.34p
2026-08-16 00:25:02.127476: Car 0 charging is not planned as it is not plugged in
2026-08-16 00:25:02.141396: Battery level now 11.84kWh, -1hr ago 12.8kWh, at midnight 12.21kWh, battery value change in the last hour -17.66p, change today -6.77p, rate_forward 18.39p
2026-08-16 00:25:02.141710: Last hour: net energy 0.0kWh, import 0.0kWh, export 0.0kWh, car 0kWh, load 0.9kWh, net cost 0.0p, import 0.0p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-16 00:25:02.185177: Today's energy total net 0.0kWh, import 0.0kWh, export 0.0kWh, cost 49.98p, import 0.0p, export 0.0p, carbon 0.0kg
2026-08-16 00:25:02.185291: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-16 00:25:02.249592: Using weighted-bucket historical load forecast over 14 days
2026-08-16 00:25:02.268293: Today's load divergence 100.0%, in-day adjustment 82.97%, damping 0.95x, yesterday 82.97% today 100.0% blend 100.0%
2026-08-16 00:25:02.268390: Today's predicted so far 0.39kWh with 0.0kWh car/iBoost excluded, 0kWh import ignored, and 0.39kWh forecast extra.
2026-08-16 00:25:02.268417: Today's actual load so far 0.34kWh with 0.0kWh car/iBoost excluded, and 0kWh import ignored.
2026-08-16 00:25:02.302076: Inverter 0: Type SK Sunsynk
2026-08-16 00:25:02.302156: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-16 00:25:02.302313: Reserve min: 7%, battery_min: 7%
2026-08-16 00:25:02.302373: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-16 00:25:02.302593: Inverter 0 SoC: 11.78kW 74%, current charge rate 5000W, current discharge rate 5250W, current battery power 511W, current battery voltage 51.2V, grid power -53W, load power 566W, PV Power 0W
2026-08-16 00:25:02.302727: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-16 00:25:02.302803: Inverter 0 scheduled charge enable is False
2026-08-16 00:25:02.302832: Inverter 0 charge windows currently []
2026-08-16 00:25:02.302854: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-16 00:25:02.302958: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-16 00:25:02.302990: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-16 00:25:02.303020: Inverter 0 scheduled discharge enable is False
2026-08-16 00:25:02.303123: Inverter 0 idle time is 08-16 00:00:00-08-16 23:59:00
2026-08-16 00:25:02.303171: Inverter 0 discharge windows currently []
2026-08-16 00:25:02.303190: Note: Inverter does not support discharge freeze - disabled
2026-08-16 00:25:02.303205: Note: Inverter does not support charge freeze - disabled
2026-08-16 00:25:02.303219: Note: Inverter does not support reserve - disabling reserve functions
2026-08-16 00:25:02.355795: Dynamic load last period 1.20kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-16 00:25:02.355957: Plan was last updated on 2026-08-16 00:20:00+01:00 and is now 5.0 minutes old
2026-08-16 00:25:02.356236: Best charge window [ 16-08 08:00:00 - 16-08 08:30:00 @ 24.06p 44%, 16-08 11:30:00 - 16-08 13:30:00 @ 22.83p 34%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 44%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 100%, 16-08 14:30:00 - 16-08 16:00:00 @ 22.56p 72%, 17-08 12:30:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 18-08 00:30:00 @ 28.96p 100% ]
2026-08-16 00:25:02.356274: Best export window [  ]
2026-08-16 00:25:02.356985: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-16 00:25:02.359486: Load divergence over 8.0 hours mean 603.31W, min 293.4W, max 1572.0W, std dev 331.43W, divergence 27.47%
2026-08-16 00:25:02.374623: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-16 00:25:02.374717: LoadML is_calculating False
2026-08-16 00:25:02.374781: Creating pool of 12 processes to match your CPU count
2026-08-16 00:25:02.486581: predict base end_record 08-17 12:35:00, final soc 1.12kWh, metric 404.58p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 19:35:00, load 21.44kWh, PV 0.0kWh
2026-08-16 00:25:02.618518: Battery has 19.17 hours left - now at 11.78kWh
2026-08-16 00:25:02.668413: predict base10 end_record 08-17 12:35:00, final soc 1.12kWh, metric 436.85p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 18:45:00, load 22.45kWh, PV 0.0kWh
2026-08-16 00:25:02.750708: predict best10 end_record 08-17 12:35:00, final soc 1.44kWh, metric 403.32p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 06:20:00, load 22.45kWh, PV 0.0kWh
2026-08-16 00:25:02.842547: predict best end_record 08-17 12:35:00, final soc 1.51kWh, metric 379.12p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 07:20:00, load 21.44kWh, PV 0.0kWh
2026-08-16 00:25:02.842633: Saving plan best values to HA entities
2026-08-16 00:25:02.991536: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-16 00:25:02.997244: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0.0
2026-08-16 00:25:03.003466: Best charging limit SoC's [7.0, 5.5, 7.0, 16.0, 11.5, 16.0, 16.0]kWh, export []kWh gives import battery 9.23kWh, house 3.13kWh, export 0.0kWh, metric 379.12p, metric10 403.32p
2026-08-16 00:25:03.066547: Marginal costs baseline metric (no standing charge): 329.1331
2026-08-16 00:25:03.342857: Marginal energy costs matrix computed: min=22.6 max=27.27
2026-08-16 00:25:03.423663: Rate array import [{'start': 25, 'end': 960, 'rate': 'cheap', 'range': '(21.4p - 28.2p)'}, {'start': 960, 'end': 990, 'rate': 'expensive', 'range': '(36.8p)'}, {'start': 990, 'end': 1140, 'rate': 'very expensive', 'range': '(37.5p - 45.3p)'}, {'start': 1140, 'end': 1410, 'rate': 'expensive', 'range': '(30.0p - 35.9p)'}, {'start': 1410, 'end': 2195, 'rate': 'cheap', 'range': '(22.3p - 28.2p)'}] export [{'start': 25, 'end': 2195, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-16 00:25:03.424555: - Your estimated bill for today is £2.42 and tomorrow is £7.29
2026-08-16 00:25:03.424618: - Import rates are cheap (21.4p - 28.2p) for the next 15 hours and then expensive (36.8p) for the next 30 minutes.
2026-08-16 00:25:03.424681: - The battery is currently at 74% and is in eco mode for the next 7 and a half hours.
2026-08-16 00:25:03.424714: - For the next 48 hours there will be no solar generation.
2026-08-16 00:25:03.424783: - You will run out of battery in 30 hours.
2026-08-16 00:25:03.424844: - Your next charge slot will be in 7 and a half hours where import rates will be cheap (24.1p).
2026-08-16 00:25:03.424885: 
2026-08-16 00:25:03.483288: Plan calculation took 1.13 seconds
2026-08-16 00:25:03.485959: No high rate period found
2026-08-16 00:25:03.538561: Import threshold used for optimisation was 25.86p
2026-08-16 00:25:03.593204: Low import rate windows [0: 08-16 00:00:00 - 08-16 00:30:00 @ 28.18, 1: 08-16 00:30:00 - 08-16 01:00:00 @ 27.38, 2: 08-16 01:00:00 - 08-16 01:30:00 @ 26.7, 3: 08-16 01:30:00 - 08-16 02:00:00 @ 26.31, 4: 08-16 02:00:00 - 08-16 02:30:00 @ 25.79, 5: 08-16 02:30:00 - 08-16 03:00:00 @ 25.86, 6: 08-16 03:00:00 - 08-16 03:30:00 @ 26.13, 7: 08-16 03:30:00 - 08-16 04:00:00 @ 25.86, 8: 08-16 04:00:00 - 08-16 04:30:00 @ 26.27, 9: 08-16 04:30:00 - 08-16 05:00:00 @ 26.14, 10: 08-16 05:00:00 - 08-16 05:30:00 @ 27.03, 11: 08-16 05:30:00 - 08-16 06:00:00 @ 26.28, 12: 08-16 06:00:00 - 08-16 06:30:00 @ 25.68, 13: 08-16 06:30:00 - 08-16 07:00:00 @ 26.1, 14: 08-16 07:00:00 - 08-16 07:30:00 @ 24.28, 15: 08-16 07:30:00 - 08-16 08:00:00 @ 24.94, 16: 08-16 08:00:00 - 08-16 08:30:00 @ 24.06, 17: 08-16 08:30:00 - 08-16 09:00:00 @ 24.39, 18: 08-16 09:00:00 - 08-16 09:30:00 @ 24.66, 19: 08-16 09:30:00 - 08-16 10:00:00 @ 24.06, 20: 08-16 10:00:00 - 08-16 10:30:00 @ 25.5, 21: 08-16 10:30:00 - 08-16 11:00:00 @ 24.94, 22: 08-16 11:00:00 - 08-16 11:30:00 @ 24.25, 23: 08-16 11:30:00 - 08-16 12:00:00 @ 23.49, 24: 08-16 12:00:00 - 08-16 12:30:00 @ 23.43, 25: 08-16 12:30:00 - 08-16 13:00:00 @ 22.33, 26: 08-16 13:00:00 - 08-16 13:30:00 @ 22.76, 27: 08-16 13:30:00 - 08-16 14:00:00 @ 22.3, 28: 08-16 14:00:00 - 08-16 14:30:00 @ 21.41, 29: 08-16 14:30:00 - 08-16 15:00:00 @ 21.65, 30: 08-16 15:00:00 - 08-16 15:30:00 @ 22.95, 31: 08-16 15:30:00 - 08-16 16:00:00 @ 22.83, 32: 08-16 16:00:00 - 08-16 16:30:00 @ 36.84, 33: 08-16 16:30:00 - 08-16 17:00:00 @ 37.54, 34: 08-16 17:00:00 - 08-16 17:30:00 @ 41.79, 35: 08-16 17:30:00 - 08-16 18:00:00 @ 43.7, 36: 08-16 18:00:00 - 08-16 18:30:00 @ 44.34, 37: 08-16 19:00:00 - 08-16 19:30:00 @ 34.79, 38: 08-16 19:30:00 - 08-16 20:00:00 @ 34.76, 39: 08-16 20:00:00 - 08-16 20:30:00 @ 35.62, 40: 08-16 20:30:00 - 08-16 21:00:00 @ 35.3, 41: 08-16 21:00:00 - 08-16 21:30:00 @ 35.89, 42: 08-16 21:30:00 - 08-16 22:00:00 @ 35.71, 43: 08-16 22:00:00 - 08-16 22:30:00 @ 33.75, 44: 08-16 22:30:00 - 08-16 23:00:00 @ 32.0, 45: 08-16 23:00:00 - 08-16 23:30:00 @ 30.02, 46: 08-16 23:30:00 - 08-17 00:00:00 @ 27.8, 47: 08-17 00:00:00 - 08-17 00:30:00 @ 28.18, 48: 08-17 00:30:00 - 08-17 01:00:00 @ 27.38, 49: 08-17 01:00:00 - 08-17 01:30:00 @ 26.7, 50: 08-17 01:30:00 - 08-17 02:00:00 @ 26.31, 51: 08-17 02:00:00 - 08-17 02:30:00 @ 25.79, 52: 08-17 02:30:00 - 08-17 03:00:00 @ 25.86, 53: 08-17 03:00:00 - 08-17 03:30:00 @ 26.13, 54: 08-17 03:30:00 - 08-17 04:00:00 @ 25.86, 55: 08-17 04:00:00 - 08-17 04:30:00 @ 26.27, 56: 08-17 04:30:00 - 08-17 05:00:00 @ 26.14, 57: 08-17 05:00:00 - 08-17 05:30:00 @ 27.03, 58: 08-17 05:30:00 - 08-17 06:00:00 @ 26.28, 59: 08-17 06:00:00 - 08-17 06:30:00 @ 25.68, 60: 08-17 06:30:00 - 08-17 07:00:00 @ 26.1, 61: 08-17 07:00:00 - 08-17 07:30:00 @ 24.28, 62: 08-17 07:30:00 - 08-17 08:00:00 @ 24.94, 63: 08-17 08:00:00 - 08-17 08:30:00 @ 24.06, 64: 08-17 08:30:00 - 08-17 09:00:00 @ 24.39, 65: 08-17 09:00:00 - 08-17 09:30:00 @ 24.66, 66: 08-17 09:30:00 - 08-17 10:00:00 @ 24.06, 67: 08-17 10:00:00 - 08-17 10:30:00 @ 25.5, 68: 08-17 10:30:00 - 08-17 11:00:00 @ 24.94, 69: 08-17 11:00:00 - 08-17 11:30:00 @ 24.25, 70: 08-17 11:30:00 - 08-17 12:00:00 @ 23.49, 71: 08-17 12:00:00 - 08-17 12:30:00 @ 23.43, 72: 08-17 12:30:00 - 08-17 13:00:00 @ 22.33, 73: 08-17 13:00:00 - 08-17 13:30:00 @ 22.76, 74: 08-17 13:30:00 - 08-17 14:00:00 @ 22.3, 75: 08-17 14:00:00 - 08-17 14:30:00 @ 21.41, 76: 08-17 14:30:00 - 08-17 15:00:00 @ 21.65, 77: 08-17 15:00:00 - 08-17 15:30:00 @ 22.95, 78: 08-17 15:30:00 - 08-17 16:00:00 @ 22.83, 79: 08-17 16:00:00 - 08-17 16:30:00 @ 36.84, 80: 08-17 16:30:00 - 08-17 17:00:00 @ 37.54, 81: 08-17 17:00:00 - 08-17 17:30:00 @ 41.79, 82: 08-17 17:30:00 - 08-17 18:00:00 @ 43.7, 83: 08-17 18:00:00 - 08-17 18:30:00 @ 44.34, 84: 08-17 19:00:00 - 08-17 19:30:00 @ 34.79, 85: 08-17 19:30:00 - 08-17 20:00:00 @ 34.76, 86: 08-17 20:00:00 - 08-17 20:30:00 @ 35.62, 87: 08-17 20:30:00 - 08-17 21:00:00 @ 35.3, 88: 08-17 21:00:00 - 08-17 21:30:00 @ 35.89, 89: 08-17 21:30:00 - 08-17 22:00:00 @ 35.71, 90: 08-17 22:00:00 - 08-17 22:30:00 @ 33.75, 91: 08-17 22:30:00 - 08-17 23:00:00 @ 32.0, 92: 08-17 23:00:00 - 08-17 23:30:00 @ 30.02, 93: 08-17 23:30:00 - 08-18 00:00:00 @ 27.8, 94: 08-18 00:00:00 - 08-18 00:30:00 @ 28.18]
2026-08-16 00:25:03.599369: Inverter 0 Charge window will be: 2026-08-16 08:00:00+01:00 - 2026-08-16 08:30:00+01:00 - current SoC 74%, target 44%
2026-08-16 00:25:03.599481: Inverter 0 disabled charge window while waiting for schedule (now 08-16 00:25:00 target set_window_minutes 30 charge start time 08-16 08:00:00) original inverter start time 08-18 00:00:00
2026-08-16 00:25:03.599584: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-16 00:25:03.599806: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-16 00:25:03.599886: No export window planned
2026-08-16 00:25:03.600005: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-16 00:25:03.600036: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-16 00:25:03.600147: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-16 00:25:03.600306: Inverter 0 not setting charging SoC as we are not within the window (now 08-16 00:25:00 target set_soc_minutes 30 charge start time 08-18 00:00:00)
2026-08-16 00:25:03.600361: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-16 00:25:03.600413: Inverter 0 Current Target SoC is 7%, already at target
2026-08-16 00:25:03.600498: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 00:25:03.600532: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 00:25:03.600554: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 00:25:03.600578: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 00:25:03.600600: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 00:25:03.600619: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 00:25:03.600639: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 00:25:03.600701: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 00:25:03.600731: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 00:25:03.600752: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 00:25:03.600771: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 00:25:03.600790: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 00:25:03.600808: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 00:25:03.600827: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 00:25:03.600861: Inverter 0 count register writes 0
2026-08-16 00:25:03.614862: Will not recompute the plan, it is 5.0 minutes old and max age is 10 minutes
2026-08-16 00:25:03.620429: Total inverter register writes now 826
2026-08-16 00:25:03.651891: Info: Completed run status Demand
2026-08-16 00:25:03.659317: Info: record_status Demand
2026-08-16 00:25:03.666547: Saved current settings to /config/predbat_config.json
2026-08-16 00:25:03.666831: Compare, best tariff: igo_fixed metric 126.72p
2026-08-16 00:25:41.782435: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-16 00:25:41.782785: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-16 00:25:41.782854: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-16 00:25:41.783083: Inverter 0 idle time is 08-16 00:00:00-08-16 23:59:00
2026-08-16 00:25:41.783137: Note: Inverter does not support discharge freeze - disabled
2026-08-16 00:25:41.783162: Note: Inverter does not support charge freeze - disabled
2026-08-16 00:25:41.783202: Note: Inverter does not support reserve - disabling reserve functions
2026-08-16 00:27:42.013847: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-16 00:27:42.014121: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-16 00:27:42.014164: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-16 00:27:42.014301: Inverter 0 idle time is 08-16 00:00:00-08-16 23:59:00
2026-08-16 00:27:42.014340: Note: Inverter does not support discharge freeze - disabled
2026-08-16 00:27:42.014361: Note: Inverter does not support charge freeze - disabled
2026-08-16 00:27:42.014379: Note: Inverter does not support reserve - disabling reserve functions
2026-08-16 00:29:42.240401: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-16 00:29:42.240645: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-16 00:29:42.240688: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-16 00:29:42.240822: Inverter 0 idle time is 08-16 00:00:00-08-16 23:59:00
2026-08-16 00:29:42.240861: Note: Inverter does not support discharge freeze - disabled
2026-08-16 00:29:42.240883: Note: Inverter does not support charge freeze - disabled
2026-08-16 00:29:42.240900: Note: Inverter does not support reserve - disabling reserve functions
2026-08-16 00:30:00.345693: --------------- PredBat - update at 2026-08-16 00:30:00+01:00 with clock skew 0 minutes, minutes now 30
2026-08-16 00:30:00.346447: Saved current settings to /config/predbat_config.json
2026-08-16 00:30:00.346578: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 115.0 minutes
2026-08-16 00:30:00.346717: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.2, latest beta is v8.48.2
2026-08-16 00:30:00.346835: Autoupdate: There is an update pending v8.48.2 PV90 and second pass enabled by default, bug fixes - auto update is off
2026-08-16 00:30:00.371349: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-16 00:30:00.371466: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-16 00:30:00.371607: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-16 00:30:00.372085: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-16 00:30:00.372189: Predbat mode is set to Control charge & discharge
2026-08-16 00:30:00.581608: Found 21602 load_today datapoints going back 28 days
2026-08-16 00:30:00.581773: Using load_power data to fill gaps in load_today data
2026-08-16 00:30:01.440652: Processing 721 30-minute periods for power integration
2026-08-16 00:30:01.596303: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-16 00:30:01.596433: Car charging hold False, threshold 6.0kWh
2026-08-16 00:30:01.596476: Current data so far today: load 0.35kWh, import 0.0kWh, export 0.0kWh, PV 0kWh
2026-08-16 00:30:01.608779: Cars: SoC: [8.204]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-16 00:30:01.609173: Standing charge is set to 49.98p
2026-08-16 00:30:01.638917: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-16 00:30:01.639075: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-16 00:30:01.639310: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 29.9 minutes
2026-08-16 00:30:01.639690: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-17&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 29.8 minutes
2026-08-16 00:30:01.642429: Loaded 47 datapoints of futurerate analysis
2026-08-16 00:30:01.745782: Predicted future rates: ['08-16 00:00:00 => 28.52 / 19.97', '08-16 01:00:00 => 27.43 / 19.41', '08-16 02:00:00 => 26.47 / 18.92', '08-16 03:00:00 => 26.1 / 18.73', '08-16 04:00:00 => 26.04 / 18.7', '08-16 05:00:00 => 25.95 / 18.65', '08-16 06:00:00 => 25.71 / 18.53', '08-16 07:00:00 => 25.37 / 18.35', '08-16 08:00:00 => 24.58 / 17.94', '08-16 09:00:00 => 24.0 / 17.64', '08-16 10:00:00 => 24.54 / 17.92', '08-16 11:00:00 => 24.44 / 17.87', '08-16 12:00:00 => 23.53 / 17.4', '08-16 13:00:00 => 22.89 / 17.07', '08-16 14:00:00 => 21.77 / 16.49', '08-16 15:00:00 => 21.77 / 16.49', '08-16 16:00:00 => 36.89 / 18.3', '08-16 17:00:00 => 39.85 / 19.83', '08-16 18:00:00 => 43.87 / 21.9', '08-16 19:00:00 => 32.69 / 22.13', '08-16 20:00:00 => 33.46 / 22.53', '08-16 21:00:00 => 33.37 / 22.48', '08-16 22:00:00 => 32.01 / 21.78']
2026-08-16 00:30:01.832730: Rate min forward looking: now 21.41p at end of forecast 21.41p
2026-08-16 00:30:01.833298: Import rates: min 21.41p, max 45.28p, average 28.73p
2026-08-16 00:30:01.898579: Export rates: min 0p, max 0p, average 0.0p
2026-08-16 00:30:01.898848: Rate thresholds (for charge/export) are import 44.78p (0.0p), export -0.1p (0.0p)
2026-08-16 00:30:01.900114: High export rate found rates in range 99p to -99p
2026-08-16 00:30:01.975735: Low Import rate found rates in range 21.41p to 44.34p
2026-08-16 00:30:01.975882: Car 0 charging is not planned as it is not plugged in
2026-08-16 00:30:01.990565: Battery level now 11.78kWh, -1hr ago 12.68kWh, at midnight 12.21kWh, battery value change in the last hour -16.48p, change today -7.8p, rate_forward 18.39p
2026-08-16 00:30:01.991224: 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-16 00:30:02.047915: Today's energy total net 0.0kWh, import 0.0kWh, export 0.0kWh, cost 49.98p, import 0.0p, export 0.0p, carbon 0.0kg
2026-08-16 00:30:02.048061: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-16 00:30:02.124094: Using weighted-bucket historical load forecast over 14 days
2026-08-16 00:30:02.146636: Today's load divergence 100.0%, in-day adjustment 82.97%, damping 0.95x, yesterday 82.97% today 100.0% blend 100.0%
2026-08-16 00:30:02.147033: Today's predicted so far 0.55kWh with 0.0kWh car/iBoost excluded, 0kWh import ignored, and 0.55kWh forecast extra.
2026-08-16 00:30:02.147086: Today's actual load so far 0.33kWh with 0.0kWh car/iBoost excluded, and 0kWh import ignored.
2026-08-16 00:30:02.189839: Inverter 0: Type SK Sunsynk
2026-08-16 00:30:02.189954: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-16 00:30:02.190165: Reserve min: 7%, battery_min: 7%
2026-08-16 00:30:02.190246: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-16 00:30:02.190533: Inverter 0 SoC: 11.68kW 73%, current charge rate 5000W, current discharge rate 5250W, current battery power 474W, current battery voltage 51.2V, grid power -55W, load power 525W, PV Power 0W
2026-08-16 00:30:02.190698: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-16 00:30:02.190786: Inverter 0 scheduled charge enable is False
2026-08-16 00:30:02.190816: Inverter 0 charge windows currently []
2026-08-16 00:30:02.190842: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-16 00:30:02.190977: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-16 00:30:02.191016: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-16 00:30:02.191055: Inverter 0 scheduled discharge enable is False
2026-08-16 00:30:02.191183: Inverter 0 idle time is 08-16 00:00:00-08-16 23:59:00
2026-08-16 00:30:02.191220: Inverter 0 discharge windows currently []
2026-08-16 00:30:02.191244: Note: Inverter does not support discharge freeze - disabled
2026-08-16 00:30:02.191263: Note: Inverter does not support charge freeze - disabled
2026-08-16 00:30:02.191285: Note: Inverter does not support reserve - disabling reserve functions
2026-08-16 00:30:02.253517: Dynamic load last period 0.60kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-16 00:30:02.253624: Plan was last updated on 2026-08-16 00:20:00+01:00 and is now 10.0 minutes old
2026-08-16 00:30:02.253892: Best charge window [ 16-08 08:00:00 - 16-08 08:30:00 @ 24.06p 44%, 16-08 11:30:00 - 16-08 13:30:00 @ 22.83p 34%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 44%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 100%, 16-08 14:30:00 - 16-08 16:00:00 @ 22.56p 72%, 17-08 12:30:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 18-08 00:30:00 @ 28.96p 100% ]
2026-08-16 00:30:02.253946: Best export window [  ]
2026-08-16 00:30:02.254608: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-16 00:30:02.257286: Load divergence over 8.0 hours mean 597.09W, min 292.8W, max 1698.0W, std dev 334.89W, divergence 28.04%
2026-08-16 00:30:02.272826: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-16 00:30:02.273014: LoadML is_calculating False
2026-08-16 00:30:02.273121: Creating pool of 12 processes to match your CPU count
2026-08-16 00:30:02.391130: predict base end_record 08-17 12:40:00, final soc 1.12kWh, metric 407.57p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 19:35:00, load 21.41kWh, PV 0.0kWh
2026-08-16 00:30:02.541322: Battery has 19.08 hours left - now at 11.68kWh
2026-08-16 00:30:02.599714: predict base10 end_record 08-17 12:40:00, final soc 1.12kWh, metric 440.11p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 18:40:00, load 22.41kWh, PV 0.0kWh
2026-08-16 00:30:02.678881: predict best10 end_record 08-17 12:40:00, final soc 1.77kWh, metric 413.69p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 06:20:00, load 22.41kWh, PV 0.0kWh
2026-08-16 00:30:02.770269: predict best end_record 08-17 12:40:00, final soc 1.9kWh, metric 390.98p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 07:15:00, load 21.41kWh, PV 0.0kWh
2026-08-16 00:30:02.770363: Saving plan best values to HA entities
2026-08-16 00:30:02.988196: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-16 00:30:02.995102: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-16 00:30:03.001195: Best charging limit SoC's [7.0, 5.5, 7.0, 16.0, 11.5, 16.0, 16.0]kWh, export []kWh gives import battery 9.74kWh, house 3.15kWh, export 0.0kWh, metric 390.98p, metric10 413.69p
2026-08-16 00:30:03.075644: Marginal costs baseline metric (no standing charge): 340.9993
2026-08-16 00:30:03.362125: Marginal energy costs matrix computed: min=22.55 max=27.28
2026-08-16 00:30:03.448745: Rate array import [{'start': 30, 'end': 960, 'rate': 'cheap', 'range': '(21.4p - 27.4p)'}, {'start': 960, 'end': 990, 'rate': 'expensive', 'range': '(36.8p)'}, {'start': 990, 'end': 1140, 'rate': 'very expensive', 'range': '(37.5p - 45.3p)'}, {'start': 1140, 'end': 1410, 'rate': 'expensive', 'range': '(30.0p - 35.9p)'}, {'start': 1410, 'end': 2200, 'rate': 'cheap', 'range': '(22.3p - 28.2p)'}] export [{'start': 30, 'end': 2200, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-16 00:30:03.449524: - Your estimated bill for today is £2.43 and tomorrow is £7.27
2026-08-16 00:30:03.449578: - Import rates are cheap (21.4p - 27.4p) for the next 15 hours and then expensive (36.8p) for the next 30 minutes.
2026-08-16 00:30:03.449602: - The battery is currently at 73% and is in eco mode for the next 7 and a half hours.
2026-08-16 00:30:03.449621: - For the next 48 hours there will be no solar generation.
2026-08-16 00:30:03.449638: - You will run out of battery in 30 hours.
2026-08-16 00:30:03.449655: - Your next charge slot will be in 7 and a half hours where import rates will be cheap (24.1p).
2026-08-16 00:30:03.449680: 
2026-08-16 00:30:03.516670: Plan calculation took 1.26 seconds
2026-08-16 00:30:03.519823: No high rate period found
2026-08-16 00:30:03.575244: Import threshold used for optimisation was 25.86p
2026-08-16 00:30:03.630323: Low import rate windows [0: 08-16 00:30:00 - 08-16 01:00:00 @ 27.38, 1: 08-16 01:00:00 - 08-16 01:30:00 @ 26.7, 2: 08-16 01:30:00 - 08-16 02:00:00 @ 26.31, 3: 08-16 02:00:00 - 08-16 02:30:00 @ 25.79, 4: 08-16 02:30:00 - 08-16 03:00:00 @ 25.86, 5: 08-16 03:00:00 - 08-16 03:30:00 @ 26.13, 6: 08-16 03:30:00 - 08-16 04:00:00 @ 25.86, 7: 08-16 04:00:00 - 08-16 04:30:00 @ 26.27, 8: 08-16 04:30:00 - 08-16 05:00:00 @ 26.14, 9: 08-16 05:00:00 - 08-16 05:30:00 @ 27.03, 10: 08-16 05:30:00 - 08-16 06:00:00 @ 26.28, 11: 08-16 06:00:00 - 08-16 06:30:00 @ 25.68, 12: 08-16 06:30:00 - 08-16 07:00:00 @ 26.1, 13: 08-16 07:00:00 - 08-16 07:30:00 @ 24.28, 14: 08-16 07:30:00 - 08-16 08:00:00 @ 24.94, 15: 08-16 08:00:00 - 08-16 08:30:00 @ 24.06, 16: 08-16 08:30:00 - 08-16 09:00:00 @ 24.39, 17: 08-16 09:00:00 - 08-16 09:30:00 @ 24.66, 18: 08-16 09:30:00 - 08-16 10:00:00 @ 24.06, 19: 08-16 10:00:00 - 08-16 10:30:00 @ 25.5, 20: 08-16 10:30:00 - 08-16 11:00:00 @ 24.94, 21: 08-16 11:00:00 - 08-16 11:30:00 @ 24.25, 22: 08-16 11:30:00 - 08-16 12:00:00 @ 23.49, 23: 08-16 12:00:00 - 08-16 12:30:00 @ 23.43, 24: 08-16 12:30:00 - 08-16 13:00:00 @ 22.33, 25: 08-16 13:00:00 - 08-16 13:30:00 @ 22.76, 26: 08-16 13:30:00 - 08-16 14:00:00 @ 22.3, 27: 08-16 14:00:00 - 08-16 14:30:00 @ 21.41, 28: 08-16 14:30:00 - 08-16 15:00:00 @ 21.65, 29: 08-16 15:00:00 - 08-16 15:30:00 @ 22.95, 30: 08-16 15:30:00 - 08-16 16:00:00 @ 22.83, 31: 08-16 16:00:00 - 08-16 16:30:00 @ 36.84, 32: 08-16 16:30:00 - 08-16 17:00:00 @ 37.54, 33: 08-16 17:00:00 - 08-16 17:30:00 @ 41.79, 34: 08-16 17:30:00 - 08-16 18:00:00 @ 43.7, 35: 08-16 18:00:00 - 08-16 18:30:00 @ 44.34, 36: 08-16 19:00:00 - 08-16 19:30:00 @ 34.79, 37: 08-16 19:30:00 - 08-16 20:00:00 @ 34.76, 38: 08-16 20:00:00 - 08-16 20:30:00 @ 35.62, 39: 08-16 20:30:00 - 08-16 21:00:00 @ 35.3, 40: 08-16 21:00:00 - 08-16 21:30:00 @ 35.89, 41: 08-16 21:30:00 - 08-16 22:00:00 @ 35.71, 42: 08-16 22:00:00 - 08-16 22:30:00 @ 33.75, 43: 08-16 22:30:00 - 08-16 23:00:00 @ 32.0, 44: 08-16 23:00:00 - 08-16 23:30:00 @ 30.02, 45: 08-16 23:30:00 - 08-17 00:00:00 @ 27.8, 46: 08-17 00:00:00 - 08-17 00:30:00 @ 28.18, 47: 08-17 00:30:00 - 08-17 01:00:00 @ 27.38, 48: 08-17 01:00:00 - 08-17 01:30:00 @ 26.7, 49: 08-17 01:30:00 - 08-17 02:00:00 @ 26.31, 50: 08-17 02:00:00 - 08-17 02:30:00 @ 25.79, 51: 08-17 02:30:00 - 08-17 03:00:00 @ 25.86, 52: 08-17 03:00:00 - 08-17 03:30:00 @ 26.13, 53: 08-17 03:30:00 - 08-17 04:00:00 @ 25.86, 54: 08-17 04:00:00 - 08-17 04:30:00 @ 26.27, 55: 08-17 04:30:00 - 08-17 05:00:00 @ 26.14, 56: 08-17 05:00:00 - 08-17 05:30:00 @ 27.03, 57: 08-17 05:30:00 - 08-17 06:00:00 @ 26.28, 58: 08-17 06:00:00 - 08-17 06:30:00 @ 25.68, 59: 08-17 06:30:00 - 08-17 07:00:00 @ 26.1, 60: 08-17 07:00:00 - 08-17 07:30:00 @ 24.28, 61: 08-17 07:30:00 - 08-17 08:00:00 @ 24.94, 62: 08-17 08:00:00 - 08-17 08:30:00 @ 24.06, 63: 08-17 08:30:00 - 08-17 09:00:00 @ 24.39, 64: 08-17 09:00:00 - 08-17 09:30:00 @ 24.66, 65: 08-17 09:30:00 - 08-17 10:00:00 @ 24.06, 66: 08-17 10:00:00 - 08-17 10:30:00 @ 25.5, 67: 08-17 10:30:00 - 08-17 11:00:00 @ 24.94, 68: 08-17 11:00:00 - 08-17 11:30:00 @ 24.25, 69: 08-17 11:30:00 - 08-17 12:00:00 @ 23.49, 70: 08-17 12:00:00 - 08-17 12:30:00 @ 23.43, 71: 08-17 12:30:00 - 08-17 13:00:00 @ 22.33, 72: 08-17 13:00:00 - 08-17 13:30:00 @ 22.76, 73: 08-17 13:30:00 - 08-17 14:00:00 @ 22.3, 74: 08-17 14:00:00 - 08-17 14:30:00 @ 21.41, 75: 08-17 14:30:00 - 08-17 15:00:00 @ 21.65, 76: 08-17 15:00:00 - 08-17 15:30:00 @ 22.95, 77: 08-17 15:30:00 - 08-17 16:00:00 @ 22.83, 78: 08-17 16:00:00 - 08-17 16:30:00 @ 36.84, 79: 08-17 16:30:00 - 08-17 17:00:00 @ 37.54, 80: 08-17 17:00:00 - 08-17 17:30:00 @ 41.79, 81: 08-17 17:30:00 - 08-17 18:00:00 @ 43.7, 82: 08-17 18:00:00 - 08-17 18:30:00 @ 44.34, 83: 08-17 19:00:00 - 08-17 19:30:00 @ 34.79, 84: 08-17 19:30:00 - 08-17 20:00:00 @ 34.76, 85: 08-17 20:00:00 - 08-17 20:30:00 @ 35.62, 86: 08-17 20:30:00 - 08-17 21:00:00 @ 35.3, 87: 08-17 21:00:00 - 08-17 21:30:00 @ 35.89, 88: 08-17 21:30:00 - 08-17 22:00:00 @ 35.71, 89: 08-17 22:00:00 - 08-17 22:30:00 @ 33.75, 90: 08-17 22:30:00 - 08-17 23:00:00 @ 32.0, 91: 08-17 23:00:00 - 08-17 23:30:00 @ 30.02, 92: 08-17 23:30:00 - 08-18 00:00:00 @ 27.8, 93: 08-18 00:00:00 - 08-18 00:30:00 @ 28.18]
2026-08-16 00:30:03.637851: Inverter 0 Charge window will be: 2026-08-16 08:00:00+01:00 - 2026-08-16 08:30:00+01:00 - current SoC 73%, target 44%
2026-08-16 00:30:03.638012: Inverter 0 disabled charge window while waiting for schedule (now 08-16 00:30:00 target set_window_minutes 30 charge start time 08-16 08:00:00) original inverter start time 08-18 00:00:00
2026-08-16 00:30:03.638141: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-16 00:30:03.638411: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-16 00:30:03.638510: No export window planned
2026-08-16 00:30:03.638629: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-16 00:30:03.638666: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-16 00:30:03.638802: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-16 00:30:03.639011: Inverter 0 not setting charging SoC as we are not within the window (now 08-16 00:30:00 target set_soc_minutes 30 charge start time 08-18 00:00:00)
2026-08-16 00:30:03.639078: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-16 00:30:03.639141: Inverter 0 Current Target SoC is 7%, already at target
2026-08-16 00:30:03.639245: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 00:30:03.639289: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 00:30:03.639317: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 00:30:03.639342: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 00:30:03.639368: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 00:30:03.639415: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 00:30:03.639447: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 00:30:03.639511: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 00:30:03.639547: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 00:30:03.639573: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 00:30:03.639598: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 00:30:03.639622: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 00:30:03.639651: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 00:30:03.639676: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 00:30:03.639697: Inverter 0 count register writes 0
2026-08-16 00:30:03.656529: Will recompute the plan as it is now 10.0 minutes old and will exceed the max age of 10 minutes before the next run
2026-08-16 00:30:03.656726: Recompute is saving previous plan...
2026-08-16 00:30:03.659866: Best charge window [ 16-08 00:30:00 - 16-08 01:00:00 @ 27.38p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 26.7p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.31p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.79p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 25.86p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.13p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 25.86p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.27p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.14p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 27.03p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.28p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.68p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 26.1p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 24.28p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 24.94p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.06p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.39p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.66p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.06p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 25.5p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 24.94p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 24.25p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 23.49p 0%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.43p 0%, 16-08 12:30:00 - 16-08 13:00:00 @ 22.33p 0%, 16-08 13:00:00 - 16-08 13:30:00 @ 22.76p 0%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 0%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 0%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.65p 0%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.95p 0%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.83p 0%, 16-08 16:00:00 - 16-08 16:30:00 @ 36.84p 0%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.54p 0%, 16-08 17:00:00 - 16-08 17:30:00 @ 41.79p 0%, 16-08 17:30:00 - 16-08 18:00:00 @ 43.7p 0%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.34p 0%, 16-08 19:00:00 - 16-08 19:30:00 @ 34.79p 0%, 16-08 19:30:00 - 16-08 20:00:00 @ 34.76p 0%, 16-08 20:00:00 - 16-08 20:30:00 @ 35.62p 0%, 16-08 20:30:00 - 16-08 21:00:00 @ 35.3p 0%, 16-08 21:00:00 - 16-08 21:30:00 @ 35.89p 0%, 16-08 21:30:00 - 16-08 22:00:00 @ 35.71p 0%, 16-08 22:00:00 - 16-08 22:30:00 @ 33.75p 0%, 16-08 22:30:00 - 16-08 23:00:00 @ 32.0p 0%, 16-08 23:00:00 - 16-08 23:30:00 @ 30.02p 0%, 16-08 23:30:00 - 17-08 00:00:00 @ 27.8p 0%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.18p 0%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.38p 0%, 17-08 01:00:00 - 17-08 01:30:00 @ 26.7p 0%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.31p 0%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.79p 0%, 17-08 02:30:00 - 17-08 03:00:00 @ 25.86p 0%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.13p 0%, 17-08 03:30:00 - 17-08 04:00:00 @ 25.86p 0%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.27p 0%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.14p 0%, 17-08 05:00:00 - 17-08 05:30:00 @ 27.03p 0%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.28p 0%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.68p 0%, 17-08 06:30:00 - 17-08 07:00:00 @ 26.1p 0%, 17-08 07:00:00 - 17-08 07:30:00 @ 24.28p 0%, 17-08 07:30:00 - 17-08 08:00:00 @ 24.94p 0%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.06p 0%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.39p 0%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.66p 0%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.06p 0%, 17-08 10:00:00 - 17-08 10:30:00 @ 25.5p 0%, 17-08 10:30:00 - 17-08 11:00:00 @ 24.94p 0%, 17-08 11:00:00 - 17-08 11:30:00 @ 24.25p 0%, 17-08 11:30:00 - 17-08 12:00:00 @ 23.49p 0%, 17-08 12:00:00 - 17-08 12:30:00 @ 23.43p 0%, 17-08 12:30:00 - 17-08 13:00:00 @ 22.33p 0%, 17-08 13:00:00 - 17-08 13:30:00 @ 22.76p 0%, 17-08 13:30:00 - 17-08 14:00:00 @ 22.3p 0%, 17-08 14:00:00 - 17-08 14:30:00 @ 21.41p 0%, 17-08 14:30:00 - 17-08 15:00:00 @ 21.65p 0%, 17-08 15:00:00 - 17-08 15:30:00 @ 22.95p 0%, 17-08 15:30:00 - 17-08 16:00:00 @ 22.83p 0%, 17-08 16:00:00 - 17-08 16:30:00 @ 36.84p 0%, 17-08 16:30:00 - 17-08 17:00:00 @ 37.54p 0%, 17-08 17:00:00 - 17-08 17:30:00 @ 41.79p 0%, 17-08 17:30:00 - 17-08 18:00:00 @ 43.7p 0%, 17-08 18:00:00 - 17-08 18:30:00 @ 44.34p 0%, 17-08 19:00:00 - 17-08 19:30:00 @ 34.79p 0%, 17-08 19:30:00 - 17-08 20:00:00 @ 34.76p 0%, 17-08 20:00:00 - 17-08 20:30:00 @ 35.62p 0%, 17-08 20:30:00 - 17-08 21:00:00 @ 35.3p 0%, 17-08 21:00:00 - 17-08 21:30:00 @ 35.89p 0%, 17-08 21:30:00 - 17-08 22:00:00 @ 35.71p 0%, 17-08 22:00:00 - 17-08 22:30:00 @ 33.75p 0%, 17-08 22:30:00 - 17-08 23:00:00 @ 32.0p 0%, 17-08 23:00:00 - 17-08 23:30:00 @ 30.02p 0%, 17-08 23:30:00 - 18-08 00:00:00 @ 27.8p 0%, 18-08 00:00:00 - 18-08 00:30:00 @ 28.18p 0% ]
2026-08-16 00:30:03.659974: Best export window [  ]
2026-08-16 00:30:03.660759: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-16 00:30:03.663861: Load divergence over 8.0 hours mean 597.09W, min 292.8W, max 1698.0W, std dev 334.89W, divergence 28.04%
2026-08-16 00:30:03.681509: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-16 00:30:03.681639: LoadML is_calculating False
2026-08-16 00:30:03.681709: Creating pool of 12 processes to match your CPU count
2026-08-16 00:30:03.774306: Calculate Best options: mode(Control charge & discharge), calculate_export_oncharge(False), calculate_export_on_pv(True), set_export_freeze_only(False), set_discharge_during_charge(True), combine_charge_slots(False), combine_export_slots(False), combine_rate_threshold(0.0), best_soc_min(0.0 kWh), best_soc_max(0.0 kWh), best_soc_keep(0.0 kWh), inverter_loss(4%), battery_loss(3%), battery_loss_discharge (3%), inverter_hybrid(True), metric_min_improvement(0.0p), metric_min_improvement_export(0.1p), metric_min_improvement_export_freeze(0.1p), metric_battery_cycle(0.0p/kWh), metric_battery_value_scaling(1.0 x) 
2026-08-16 00:30:03.776477: Optimise levels pass started at 2026-08-16 00:30:03
2026-08-16 00:30:03.776543: Optimise all windows, total charge 94 export 1
2026-08-16 00:30:04.552624: >> Region optimisation pass width 960 gives best_metric 518.54p, best_cost 532.52p, best_cycle 38.19kWh, best_import 21.39kWh
2026-08-16 00:30:04.880397: >> Region optimisation pass width 480 gives best_metric 518.54p, best_cost 532.52p, best_cycle 38.19kWh, best_import 21.39kWh
2026-08-16 00:30:05.450560: >> Region optimisation pass width 240 gives best_metric 518.54p, best_cost 532.52p, best_cycle 38.19kWh, best_import 21.39kWh
2026-08-16 00:30:06.648229: >> Region optimisation pass width 120 gives best_metric 518.54p, best_cost 532.52p, best_cycle 38.19kWh, best_import 21.39kWh
2026-08-16 00:30:06.648659: Calculated end_record as 08-17 12:30:00 based on best_price 22.33p, next_charge_start 08-16 12:30:00, max_windows 71
2026-08-16 00:30:06.648797: Optimise levels pass ended at 2026-08-16 00:30:06, duration 2.9 seconds tried 303 combinations
2026-08-16 00:30:06.648891: Set best_price_charge_level 24.0p, best_price_export_level 0p, best_price_charge 22.33p, best_cost_export 0p, best_metric 518.54p, best_keep 0kWh, best_cycle 38.19kWh, best_carbon 0kg, best_import 21.39kWh
2026-08-16 00:30:06.669526: Starting detailed optimisation end_record 08-17 12:30:00, best_price_charge 22.33p, best_price_export 0p. lowest_price_charge 21.41p with charge limits [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 0, 0, 16.0, 16.0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0]kWh and export limits []kWh
2026-08-16 00:30:12.526552: Tweak plan optimisation started metric 302.84p, cost 319.62p
2026-08-16 00:30:12.884465: Tweak optimisation finished metric 302.84p, cost 319.62p, metric_keep 0kWh, cycle 21.97kWh, carbon 0kg, import 11.93kWh, changed 8 window(s)
2026-08-16 00:30:12.901142: Swap charge optimisation started metric 302.84p, cost 319.62p, min_improvement_swap 0.1p
2026-08-16 00:30:20.122236: Swap charge optimisation finished metric 302.84p, cost 319.62p
2026-08-16 00:30:20.282123: Pruned 3 dead plan slot(s) in 12 trial(s), nominal metric 299.02p -> 299.02p, plan now metric 302.94p, cost 319.62p, cycle 21.97kWh, import 11.93kWh
2026-08-16 00:30:20.295634: Raw charge windows [ 16-08 00:30:00 - 16-08 01:00:00 @ 27.38p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 26.7p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.31p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.79p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 25.86p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.13p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 25.86p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.27p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.14p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 27.03p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.28p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.68p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 26.1p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 24.28p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 24.94p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.06p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.39p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.66p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.06p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 25.5p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 24.94p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 24.25p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 23.49p 34%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.43p 34%, 16-08 12:30:00 - 16-08 13:00:00 @ 22.33p 34%, 16-08 13:00:00 - 16-08 13:30:00 @ 22.76p 34%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 44%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 100%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.65p 72%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.95p 72%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.83p 72%, 16-08 16:00:00 - 16-08 16:30:00 @ 36.84p 0%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.54p 0%, 16-08 17:00:00 - 16-08 17:30:00 @ 41.79p 0%, 16-08 17:30:00 - 16-08 18:00:00 @ 43.7p 0%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.34p 0%, 16-08 19:00:00 - 16-08 19:30:00 @ 34.79p 0%, 16-08 19:30:00 - 16-08 20:00:00 @ 34.76p 0%, 16-08 20:00:00 - 16-08 20:30:00 @ 35.62p 0%, 16-08 20:30:00 - 16-08 21:00:00 @ 35.3p 0%, 16-08 21:00:00 - 16-08 21:30:00 @ 35.89p 0%, 16-08 21:30:00 - 16-08 22:00:00 @ 35.71p 0%, 16-08 22:00:00 - 16-08 22:30:00 @ 33.75p 0%, 16-08 22:30:00 - 16-08 23:00:00 @ 32.0p 0%, 16-08 23:00:00 - 16-08 23:30:00 @ 30.02p 0%, 16-08 23:30:00 - 17-08 00:00:00 @ 27.8p 0%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.18p 0%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.38p 0%, 17-08 01:00:00 - 17-08 01:30:00 @ 26.7p 0%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.31p 0%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.79p 0%, 17-08 02:30:00 - 17-08 03:00:00 @ 25.86p 0%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.13p 0%, 17-08 03:30:00 - 17-08 04:00:00 @ 25.86p 0%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.27p 0%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.14p 0%, 17-08 05:00:00 - 17-08 05:30:00 @ 27.03p 0%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.28p 0%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.68p 0%, 17-08 06:30:00 - 17-08 07:00:00 @ 26.1p 0%, 17-08 07:00:00 - 17-08 07:30:00 @ 24.28p 0%, 17-08 07:30:00 - 17-08 08:00:00 @ 24.94p 0%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.06p 0%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.39p 0%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.66p 0%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.06p 0%, 17-08 10:00:00 - 17-08 10:30:00 @ 25.5p 0%, 17-08 10:30:00 - 17-08 11:00:00 @ 24.94p 0%, 17-08 11:00:00 - 17-08 11:30:00 @ 24.25p 0%, 17-08 11:30:00 - 17-08 12:00:00 @ 23.49p 0%, 17-08 12:00:00 - 17-08 12:30:00 @ 23.43p 0%, 17-08 12:30:00 - 17-08 13:00:00 @ 22.33p 100%, 17-08 13:00:00 - 17-08 13:30:00 @ 22.76p 100%, 17-08 13:30:00 - 17-08 14:00:00 @ 22.3p 100%, 17-08 14:00:00 - 17-08 14:30:00 @ 21.41p 100%, 17-08 14:30:00 - 17-08 15:00:00 @ 21.65p 100%, 17-08 15:00:00 - 17-08 15:30:00 @ 22.95p 100%, 17-08 15:30:00 - 17-08 16:00:00 @ 22.83p 100%, 17-08 16:00:00 - 17-08 16:30:00 @ 36.84p 100%, 17-08 16:30:00 - 17-08 17:00:00 @ 37.54p 100%, 17-08 17:00:00 - 17-08 17:30:00 @ 41.79p 100%, 17-08 17:30:00 - 17-08 18:00:00 @ 43.7p 100%, 17-08 18:00:00 - 17-08 18:30:00 @ 44.34p 100%, 17-08 19:00:00 - 17-08 19:30:00 @ 34.79p 100%, 17-08 19:30:00 - 17-08 20:00:00 @ 34.76p 100%, 17-08 20:00:00 - 17-08 20:30:00 @ 35.62p 100%, 17-08 20:30:00 - 17-08 21:00:00 @ 35.3p 100%, 17-08 21:00:00 - 17-08 21:30:00 @ 35.89p 100%, 17-08 21:30:00 - 17-08 22:00:00 @ 35.71p 100%, 17-08 22:00:00 - 17-08 22:30:00 @ 33.75p 100%, 17-08 22:30:00 - 17-08 23:00:00 @ 32.0p 100%, 17-08 23:00:00 - 17-08 23:30:00 @ 30.02p 100%, 17-08 23:30:00 - 18-08 00:00:00 @ 27.8p 100%, 18-08 00:00:00 - 18-08 00:30:00 @ 28.18p 100% ] reserve 1.12
2026-08-16 00:30:20.296314: Unclipped charge windows [ 16-08 11:30:00 - 16-08 13:30:00 @ 22.83p 34%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 44%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 100%, 16-08 14:30:00 - 16-08 16:00:00 @ 22.56p 72%, 17-08 12:30:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 18-08 00:30:00 @ 28.96p 100% ] reserve 1.12
2026-08-16 00:30:20.296745: Unfiltered charge windows [ 16-08 11:30:00 - 16-08 13:30:00 @ 22.83p 34%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 44%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 100%, 16-08 14:30:00 - 16-08 16:00:00 @ 22.56p 72%, 17-08 12:30:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 18-08 00:30:00 @ 28.96p 100% ] reserve 1.12
2026-08-16 00:30:20.297150: Filtered charge windows [ 16-08 11:30:00 - 16-08 13:30:00 @ 22.83p 34%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 44%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 100%, 16-08 14:30:00 - 16-08 16:00:00 @ 22.56p 72%, 17-08 12:30:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 18-08 00:30:00 @ 28.96p 100% ] reserve 1.12
2026-08-16 00:30:20.329003: Previous plan best metric is 302.87 (cost 319.62) and new plan best metric is 302.84 (cost 319.62)
2026-08-16 00:30:20.329250: New plan metric is not significantly better (metric_min_improvement_plan 2.0) than previous plan, using previous plan
2026-08-16 00:30:20.329438: Plan valid is now true after recompute was False
2026-08-16 00:30:20.352550: predict base end_record 08-17 12:30:00, final soc 1.12kWh, metric 404.8p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 19:35:00, load 21.28kWh, PV 0.0kWh
2026-08-16 00:30:20.462200: Battery has 19.08 hours left - now at 11.68kWh
2026-08-16 00:30:20.502215: predict base10 end_record 08-17 12:30:00, final soc 1.12kWh, metric 437.2p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 18:40:00, load 22.28kWh, PV 0.0kWh
2026-08-16 00:30:20.578470: predict best10 end_record 08-17 12:30:00, final soc 1.12kWh, metric 395.28p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 06:20:00, load 22.28kWh, PV 0.0kWh
2026-08-16 00:30:20.656043: predict best end_record 08-17 12:30:00, final soc 1.12kWh, metric 369.6p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 07:15:00, load 21.28kWh, PV 0.0kWh
2026-08-16 00:30:20.656161: Saving plan best values to HA entities
2026-08-16 00:30:20.810653: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-16 00:30:20.815485: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-16 00:30:20.820217: Best charging limit SoC's [7.0, 5.5, 7.0, 16.0, 11.5, 16.0, 16.0]kWh, export []kWh gives import battery 8.78kWh, house 3.15kWh, export 0.0kWh, metric 369.6p, metric10 395.28p
2026-08-16 00:30:20.884315: Marginal costs baseline metric (no standing charge): 319.6209
2026-08-16 00:30:21.123879: Marginal energy costs matrix computed: min=22.55 max=27.28
2026-08-16 00:30:21.202694: Rate array import [{'start': 30, 'end': 960, 'rate': 'cheap', 'range': '(21.4p - 27.4p)'}, {'start': 960, 'end': 990, 'rate': 'expensive', 'range': '(36.8p)'}, {'start': 990, 'end': 1140, 'rate': 'very expensive', 'range': '(37.5p - 45.3p)'}, {'start': 1140, 'end': 1410, 'rate': 'expensive', 'range': '(30.0p - 35.9p)'}, {'start': 1410, 'end': 2190, 'rate': 'cheap', 'range': '(23.4p - 28.2p)'}] export [{'start': 30, 'end': 2190, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-16 00:30:21.203452: - Your estimated bill for today is £2.43 and tomorrow is £7.27
2026-08-16 00:30:21.203509: - Import rates are cheap (21.4p - 27.4p) for the next 15 hours and then expensive (36.8p) for the next 30 minutes.
2026-08-16 00:30:21.203533: - The battery is currently at 73% and is in eco mode for the next 7 and a half hours.
2026-08-16 00:30:21.203551: - For the next 48 hours there will be no solar generation.
2026-08-16 00:30:21.203569: - You will run out of battery in 30 hours.
2026-08-16 00:30:21.203595: - Your next charge slot will be in 7 and a half hours where import rates will be cheap (24.1p).
2026-08-16 00:30:21.203620: 
2026-08-16 00:30:21.272013: Plan calculation took 17.62 seconds
2026-08-16 00:30:21.272413: Inverter 0: Type SK Sunsynk
2026-08-16 00:30:21.272466: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-16 00:30:21.272703: Reserve min: 7%, battery_min: 7%
2026-08-16 00:30:21.272784: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-16 00:30:21.273185: Inverter 0 SoC: 11.61kW 73%, current charge rate 5000W, current discharge rate 5250W, current battery power 463W, current battery voltage 51.2V, grid power -54W, load power 514W, PV Power 0W
2026-08-16 00:30:21.273442: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-16 00:30:21.273555: Inverter 0 scheduled charge enable is False
2026-08-16 00:30:21.273595: Inverter 0 charge windows currently []
2026-08-16 00:30:21.273627: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-16 00:30:21.273824: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-16 00:30:21.273870: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-16 00:30:21.273910: Inverter 0 scheduled discharge enable is False
2026-08-16 00:30:21.274081: Inverter 0 idle time is 08-16 00:00:00-08-16 23:59:00
2026-08-16 00:30:21.274123: Inverter 0 discharge windows currently []
2026-08-16 00:30:21.274146: Note: Inverter does not support discharge freeze - disabled
2026-08-16 00:30:21.274165: Note: Inverter does not support charge freeze - disabled
2026-08-16 00:30:21.274182: Note: Inverter does not support reserve - disabling reserve functions
2026-08-16 00:30:21.343589: Inverter 0 Charge window will be: 2026-08-16 08:00:00+01:00 - 2026-08-16 08:30:00+01:00 - current SoC 73%, target 44%
2026-08-16 00:30:21.343734: Inverter 0 disabled charge window while waiting for schedule (now 08-16 00:30:00 target set_window_minutes 30 charge start time 08-16 08:00:00) original inverter start time 08-18 00:00:00
2026-08-16 00:30:21.343805: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-16 00:30:21.344013: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-16 00:30:21.344104: No export window planned
2026-08-16 00:30:21.344251: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-16 00:30:21.344290: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-16 00:30:21.344454: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-16 00:30:21.344657: Inverter 0 not setting charging SoC as we are not within the window (now 08-16 00:30:00 target set_soc_minutes 30 charge start time 08-18 00:00:00)
2026-08-16 00:30:21.344728: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-16 00:30:21.344799: Inverter 0 Current Target SoC is 7%, already at target
2026-08-16 00:30:21.344914: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 00:30:21.345024: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 00:30:21.345058: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 00:30:21.345081: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 00:30:21.345103: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 00:30:21.345128: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 00:30:21.345151: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 00:30:21.345209: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 00:30:21.345242: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 00:30:21.345266: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 00:30:21.345290: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 00:30:21.345314: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 00:30:21.345333: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 00:30:21.345352: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 00:30:21.345369: Inverter 0 count register writes 0
2026-08-16 00:30:21.374737: Total inverter register writes now 826
2026-08-16 00:30:21.412894: Info: Completed run status Demand
2026-08-16 00:30:21.423400: Info: record_status Demand
2026-08-16 00:30:21.430249: Saved current settings to /config/predbat_config.json
2026-08-16 00:30:21.430616: Compare, best tariff: igo_fixed metric 126.72p
2026-08-16 00:30:56.535818: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-16 00:30:56.536084: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-16 00:30:56.536135: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-16 00:30:56.536331: Inverter 0 idle time is 08-16 00:00:00-08-16 23:59:00
2026-08-16 00:30:56.536389: Note: Inverter does not support discharge freeze - disabled
2026-08-16 00:30:56.536410: Note: Inverter does not support charge freeze - disabled
2026-08-16 00:30:56.536427: Note: Inverter does not support reserve - disabling reserve functions
2026-08-16 00:32:56.750684: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-16 00:32:56.750947: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-16 00:32:56.750991: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-16 00:32:56.751191: Inverter 0 idle time is 08-16 00:00:00-08-16 23:59:00
2026-08-16 00:32:56.751257: Note: Inverter does not support discharge freeze - disabled
2026-08-16 00:32:56.751279: Note: Inverter does not support charge freeze - disabled
2026-08-16 00:32:56.751296: Note: Inverter does not support reserve - disabling reserve functions
2026-08-16 00:34:56.976639: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-16 00:34:56.976885: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-16 00:34:56.976929: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-16 00:34:56.977153: Inverter 0 idle time is 08-16 00:00:00-08-16 23:59:00
2026-08-16 00:34:56.977195: Note: Inverter does not support discharge freeze - disabled
2026-08-16 00:34:56.977217: Note: Inverter does not support charge freeze - disabled
2026-08-16 00:34:56.977235: Note: Inverter does not support reserve - disabling reserve functions
2026-08-16 00:35:00.092008: --------------- PredBat - update at 2026-08-16 00:35:00+01:00 with clock skew 0 minutes, minutes now 35
2026-08-16 00:35:00.092734: Saved current settings to /config/predbat_config.json
2026-08-16 00:35:00.592350: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.2, latest beta is v8.48.2
2026-08-16 00:35:00.592479: Autoupdate: There is an update pending v8.48.2 PV90 and second pass enabled by default, bug fixes - auto update is off
2026-08-16 00:35:00.612650: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-16 00:35:00.612783: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-16 00:35:00.612989: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-16 00:35:00.613748: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-16 00:35:00.613873: Predbat mode is set to Control charge & discharge
2026-08-16 00:35:00.806387: Found 21602 load_today datapoints going back 28 days
2026-08-16 00:35:00.806547: Using load_power data to fill gaps in load_today data
2026-08-16 00:35:01.686703: Processing 721 30-minute periods for power integration
2026-08-16 00:35:01.886336: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-16 00:35:01.886493: Car charging hold False, threshold 6.0kWh
2026-08-16 00:35:01.886542: Current data so far today: load 0.4kWh, import 0.0kWh, export 0.0kWh, PV 0kWh
2026-08-16 00:35:01.903087: Cars: SoC: [8.204]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-16 00:35:01.903531: Standing charge is set to 49.98p
2026-08-16 00:35:01.929901: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-16 00:35:01.930030: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-16 00:35:01.930288: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 35.0 minutes
2026-08-16 00:35:01.930799: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-17&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 34.8 minutes
2026-08-16 00:35:01.934211: Loaded 47 datapoints of futurerate analysis
2026-08-16 00:35:02.020502: Predicted future rates: ['08-16 00:00:00 => 28.52 / 19.97', '08-16 01:00:00 => 27.43 / 19.41', '08-16 02:00:00 => 26.47 / 18.92', '08-16 03:00:00 => 26.1 / 18.73', '08-16 04:00:00 => 26.04 / 18.7', '08-16 05:00:00 => 25.95 / 18.65', '08-16 06:00:00 => 25.71 / 18.53', '08-16 07:00:00 => 25.37 / 18.35', '08-16 08:00:00 => 24.58 / 17.94', '08-16 09:00:00 => 24.0 / 17.64', '08-16 10:00:00 => 24.54 / 17.92', '08-16 11:00:00 => 24.44 / 17.87', '08-16 12:00:00 => 23.53 / 17.4', '08-16 13:00:00 => 22.89 / 17.07', '08-16 14:00:00 => 21.77 / 16.49', '08-16 15:00:00 => 21.77 / 16.49', '08-16 16:00:00 => 36.89 / 18.3', '08-16 17:00:00 => 39.85 / 19.83', '08-16 18:00:00 => 43.87 / 21.9', '08-16 19:00:00 => 32.69 / 22.13', '08-16 20:00:00 => 33.46 / 22.53', '08-16 21:00:00 => 33.37 / 22.48', '08-16 22:00:00 => 32.01 / 21.78']
2026-08-16 00:35:02.083084: Rate min forward looking: now 21.41p at end of forecast 21.41p
2026-08-16 00:35:02.083483: Import rates: min 21.41p, max 45.28p, average 28.73p
2026-08-16 00:35:02.128069: Export rates: min 0p, max 0p, average 0.0p
2026-08-16 00:35:02.128203: Rate thresholds (for charge/export) are import 44.78p (0.0p), export -0.1p (0.0p)
2026-08-16 00:35:02.129385: High export rate found rates in range 99p to -99p
2026-08-16 00:35:02.206517: Low Import rate found rates in range 21.41p to 44.34p
2026-08-16 00:35:02.206691: Car 0 charging is not planned as it is not plugged in
2026-08-16 00:35:02.219706: Battery level now 11.68kWh, -1hr ago 12.62kWh, at midnight 12.21kWh, battery value change in the last hour -17.36p, change today -9.71p, rate_forward 18.39p
2026-08-16 00:35:02.220091: 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-16 00:35:02.272812: Today's energy total net 0.0kWh, import 0.0kWh, export 0.0kWh, cost 49.98p, import 0.0p, export 0.0p, carbon 0.0kg
2026-08-16 00:35:02.273036: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-16 00:35:02.346202: Using weighted-bucket historical load forecast over 14 days
2026-08-16 00:35:02.368085: Today's load divergence 100.0%, in-day adjustment 82.97%, damping 0.95x, yesterday 82.97% today 100.0% blend 100.0%
2026-08-16 00:35:02.368187: Today's predicted so far 0.67kWh with 0.0kWh car/iBoost excluded, 0kWh import ignored, and 0.67kWh forecast extra.
2026-08-16 00:35:02.368219: Today's actual load so far 0.44kWh with 0.0kWh car/iBoost excluded, and 0kWh import ignored.
2026-08-16 00:35:02.406523: Inverter 0: Type SK Sunsynk
2026-08-16 00:35:02.406616: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-16 00:35:02.406798: Reserve min: 7%, battery_min: 7%
2026-08-16 00:35:02.406866: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-16 00:35:02.407150: Inverter 0 SoC: 11.61kW 73%, current charge rate 5000W, current discharge rate 5250W, current battery power 1618W, current battery voltage 51.2V, grid power -55W, load power 1676W, PV Power 0W
2026-08-16 00:35:02.407312: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-16 00:35:02.407400: Inverter 0 scheduled charge enable is False
2026-08-16 00:35:02.407434: Inverter 0 charge windows currently []
2026-08-16 00:35:02.407461: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-16 00:35:02.407571: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-16 00:35:02.407607: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-16 00:35:02.407663: Inverter 0 scheduled discharge enable is False
2026-08-16 00:35:02.407795: Inverter 0 idle time is 08-16 00:00:00-08-16 23:59:00
2026-08-16 00:35:02.407832: Inverter 0 discharge windows currently []
2026-08-16 00:35:02.407856: Note: Inverter does not support discharge freeze - disabled
2026-08-16 00:35:02.407878: Note: Inverter does not support charge freeze - disabled
2026-08-16 00:35:02.407904: Note: Inverter does not support reserve - disabling reserve functions
2026-08-16 00:35:02.481418: Dynamic load last period 0.60kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-16 00:35:02.481586: Plan was last updated on 2026-08-16 00:30:00+01:00 and is now 5.0 minutes old
2026-08-16 00:35:02.482031: Best charge window [ 16-08 08:00:00 - 16-08 08:30:00 @ 24.06p 44%, 16-08 11:30:00 - 16-08 13:30:00 @ 22.83p 34%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 44%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 100%, 16-08 14:30:00 - 16-08 16:00:00 @ 22.56p 72%, 17-08 12:30:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 18-08 00:30:00 @ 28.96p 100% ]
2026-08-16 00:35:02.482087: Best export window [  ]
2026-08-16 00:35:02.482978: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-16 00:35:02.486343: Load divergence over 8.0 hours mean 592.36W, min 292.2W, max 1692.0W, std dev 345.53W, divergence 29.17%
2026-08-16 00:35:02.508841: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-16 00:35:02.509022: LoadML is_calculating False
2026-08-16 00:35:02.509124: Creating pool of 12 processes to match your CPU count
2026-08-16 00:35:02.644631: predict base end_record 08-17 12:35:00, final soc 1.12kWh, metric 406.89p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 19:30:00, load 21.35kWh, PV 0.0kWh
2026-08-16 00:35:02.800493: Battery has 18.92 hours left - now at 11.61kWh
2026-08-16 00:35:02.852602: predict base10 end_record 08-17 12:35:00, final soc 1.12kWh, metric 439.32p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 18:40:00, load 22.35kWh, PV 0.0kWh
2026-08-16 00:35:02.929436: predict best10 end_record 08-17 12:35:00, final soc 1.44kWh, metric 404.97p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 06:15:00, load 22.35kWh, PV 0.0kWh
2026-08-16 00:35:03.014042: predict best end_record 08-17 12:35:00, final soc 1.51kWh, metric 380.86p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 07:15:00, load 21.35kWh, PV 0.0kWh
2026-08-16 00:35:03.014134: Saving plan best values to HA entities
2026-08-16 00:35:03.180132: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-16 00:35:03.185568: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-16 00:35:03.190841: Best charging limit SoC's [7.0, 5.5, 7.0, 16.0, 11.5, 16.0, 16.0]kWh, export []kWh gives import battery 9.28kWh, house 3.16kWh, export 0.0kWh, metric 380.86p, metric10 404.97p
2026-08-16 00:35:03.291879: Marginal costs baseline metric (no standing charge): 330.873
2026-08-16 00:35:03.554304: Marginal energy costs matrix computed: min=22.55 max=27.29
2026-08-16 00:35:03.622693: Rate array import [{'start': 35, 'end': 960, 'rate': 'cheap', 'range': '(21.4p - 27.4p)'}, {'start': 960, 'end': 990, 'rate': 'expensive', 'range': '(36.8p)'}, {'start': 990, 'end': 1140, 'rate': 'very expensive', 'range': '(37.5p - 45.3p)'}, {'start': 1140, 'end': 1410, 'rate': 'expensive', 'range': '(30.0p - 35.9p)'}, {'start': 1410, 'end': 2195, 'rate': 'cheap', 'range': '(22.3p - 28.2p)'}] export [{'start': 35, 'end': 2195, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-16 00:35:03.623465: - Your estimated bill for today is £2.43 and tomorrow is £7.26
2026-08-16 00:35:03.623514: - Import rates are cheap (21.4p - 27.4p) for the next 15 hours and then expensive (36.8p) for the next 30 minutes.
2026-08-16 00:35:03.623534: - The battery is currently at 73% and is in eco mode for the next 7 and a half hours.
2026-08-16 00:35:03.623567: - For the next 48 hours there will be no solar generation.
2026-08-16 00:35:03.623582: - You will run out of battery in 30 hours.
2026-08-16 00:35:03.623596: - Your next charge slot will be in 7 and a half hours where import rates will be cheap (24.1p).
2026-08-16 00:35:03.623610: 
2026-08-16 00:35:03.686409: Plan calculation took 1.20 seconds
2026-08-16 00:35:03.689758: No high rate period found
2026-08-16 00:35:03.744269: Import threshold used for optimisation was 25.86p
2026-08-16 00:35:03.799897: Low import rate windows [0: 08-16 00:30:00 - 08-16 01:00:00 @ 27.38, 1: 08-16 01:00:00 - 08-16 01:30:00 @ 26.7, 2: 08-16 01:30:00 - 08-16 02:00:00 @ 26.31, 3: 08-16 02:00:00 - 08-16 02:30:00 @ 25.79, 4: 08-16 02:30:00 - 08-16 03:00:00 @ 25.86, 5: 08-16 03:00:00 - 08-16 03:30:00 @ 26.13, 6: 08-16 03:30:00 - 08-16 04:00:00 @ 25.86, 7: 08-16 04:00:00 - 08-16 04:30:00 @ 26.27, 8: 08-16 04:30:00 - 08-16 05:00:00 @ 26.14, 9: 08-16 05:00:00 - 08-16 05:30:00 @ 27.03, 10: 08-16 05:30:00 - 08-16 06:00:00 @ 26.28, 11: 08-16 06:00:00 - 08-16 06:30:00 @ 25.68, 12: 08-16 06:30:00 - 08-16 07:00:00 @ 26.1, 13: 08-16 07:00:00 - 08-16 07:30:00 @ 24.28, 14: 08-16 07:30:00 - 08-16 08:00:00 @ 24.94, 15: 08-16 08:00:00 - 08-16 08:30:00 @ 24.06, 16: 08-16 08:30:00 - 08-16 09:00:00 @ 24.39, 17: 08-16 09:00:00 - 08-16 09:30:00 @ 24.66, 18: 08-16 09:30:00 - 08-16 10:00:00 @ 24.06, 19: 08-16 10:00:00 - 08-16 10:30:00 @ 25.5, 20: 08-16 10:30:00 - 08-16 11:00:00 @ 24.94, 21: 08-16 11:00:00 - 08-16 11:30:00 @ 24.25, 22: 08-16 11:30:00 - 08-16 12:00:00 @ 23.49, 23: 08-16 12:00:00 - 08-16 12:30:00 @ 23.43, 24: 08-16 12:30:00 - 08-16 13:00:00 @ 22.33, 25: 08-16 13:00:00 - 08-16 13:30:00 @ 22.76, 26: 08-16 13:30:00 - 08-16 14:00:00 @ 22.3, 27: 08-16 14:00:00 - 08-16 14:30:00 @ 21.41, 28: 08-16 14:30:00 - 08-16 15:00:00 @ 21.65, 29: 08-16 15:00:00 - 08-16 15:30:00 @ 22.95, 30: 08-16 15:30:00 - 08-16 16:00:00 @ 22.83, 31: 08-16 16:00:00 - 08-16 16:30:00 @ 36.84, 32: 08-16 16:30:00 - 08-16 17:00:00 @ 37.54, 33: 08-16 17:00:00 - 08-16 17:30:00 @ 41.79, 34: 08-16 17:30:00 - 08-16 18:00:00 @ 43.7, 35: 08-16 18:00:00 - 08-16 18:30:00 @ 44.34, 36: 08-16 19:00:00 - 08-16 19:30:00 @ 34.79, 37: 08-16 19:30:00 - 08-16 20:00:00 @ 34.76, 38: 08-16 20:00:00 - 08-16 20:30:00 @ 35.62, 39: 08-16 20:30:00 - 08-16 21:00:00 @ 35.3, 40: 08-16 21:00:00 - 08-16 21:30:00 @ 35.89, 41: 08-16 21:30:00 - 08-16 22:00:00 @ 35.71, 42: 08-16 22:00:00 - 08-16 22:30:00 @ 33.75, 43: 08-16 22:30:00 - 08-16 23:00:00 @ 32.0, 44: 08-16 23:00:00 - 08-16 23:30:00 @ 30.02, 45: 08-16 23:30:00 - 08-17 00:00:00 @ 27.8, 46: 08-17 00:00:00 - 08-17 00:30:00 @ 28.18, 47: 08-17 00:30:00 - 08-17 01:00:00 @ 27.38, 48: 08-17 01:00:00 - 08-17 01:30:00 @ 26.7, 49: 08-17 01:30:00 - 08-17 02:00:00 @ 26.31, 50: 08-17 02:00:00 - 08-17 02:30:00 @ 25.79, 51: 08-17 02:30:00 - 08-17 03:00:00 @ 25.86, 52: 08-17 03:00:00 - 08-17 03:30:00 @ 26.13, 53: 08-17 03:30:00 - 08-17 04:00:00 @ 25.86, 54: 08-17 04:00:00 - 08-17 04:30:00 @ 26.27, 55: 08-17 04:30:00 - 08-17 05:00:00 @ 26.14, 56: 08-17 05:00:00 - 08-17 05:30:00 @ 27.03, 57: 08-17 05:30:00 - 08-17 06:00:00 @ 26.28, 58: 08-17 06:00:00 - 08-17 06:30:00 @ 25.68, 59: 08-17 06:30:00 - 08-17 07:00:00 @ 26.1, 60: 08-17 07:00:00 - 08-17 07:30:00 @ 24.28, 61: 08-17 07:30:00 - 08-17 08:00:00 @ 24.94, 62: 08-17 08:00:00 - 08-17 08:30:00 @ 24.06, 63: 08-17 08:30:00 - 08-17 09:00:00 @ 24.39, 64: 08-17 09:00:00 - 08-17 09:30:00 @ 24.66, 65: 08-17 09:30:00 - 08-17 10:00:00 @ 24.06, 66: 08-17 10:00:00 - 08-17 10:30:00 @ 25.5, 67: 08-17 10:30:00 - 08-17 11:00:00 @ 24.94, 68: 08-17 11:00:00 - 08-17 11:30:00 @ 24.25, 69: 08-17 11:30:00 - 08-17 12:00:00 @ 23.49, 70: 08-17 12:00:00 - 08-17 12:30:00 @ 23.43, 71: 08-17 12:30:00 - 08-17 13:00:00 @ 22.33, 72: 08-17 13:00:00 - 08-17 13:30:00 @ 22.76, 73: 08-17 13:30:00 - 08-17 14:00:00 @ 22.3, 74: 08-17 14:00:00 - 08-17 14:30:00 @ 21.41, 75: 08-17 14:30:00 - 08-17 15:00:00 @ 21.65, 76: 08-17 15:00:00 - 08-17 15:30:00 @ 22.95, 77: 08-17 15:30:00 - 08-17 16:00:00 @ 22.83, 78: 08-17 16:00:00 - 08-17 16:30:00 @ 36.84, 79: 08-17 16:30:00 - 08-17 17:00:00 @ 37.54, 80: 08-17 17:00:00 - 08-17 17:30:00 @ 41.79, 81: 08-17 17:30:00 - 08-17 18:00:00 @ 43.7, 82: 08-17 18:00:00 - 08-17 18:30:00 @ 44.34, 83: 08-17 19:00:00 - 08-17 19:30:00 @ 34.79, 84: 08-17 19:30:00 - 08-17 20:00:00 @ 34.76, 85: 08-17 20:00:00 - 08-17 20:30:00 @ 35.62, 86: 08-17 20:30:00 - 08-17 21:00:00 @ 35.3, 87: 08-17 21:00:00 - 08-17 21:30:00 @ 35.89, 88: 08-17 21:30:00 - 08-17 22:00:00 @ 35.71, 89: 08-17 22:00:00 - 08-17 22:30:00 @ 33.75, 90: 08-17 22:30:00 - 08-17 23:00:00 @ 32.0, 91: 08-17 23:00:00 - 08-17 23:30:00 @ 30.02, 92: 08-17 23:30:00 - 08-18 00:00:00 @ 27.8, 93: 08-18 00:00:00 - 08-18 00:30:00 @ 28.18, 94: 08-18 00:30:00 - 08-18 01:00:00 @ 27.38]
2026-08-16 00:35:03.808214: Inverter 0 Charge window will be: 2026-08-16 08:00:00+01:00 - 2026-08-16 08:30:00+01:00 - current SoC 73%, target 44%
2026-08-16 00:35:03.808366: Inverter 0 disabled charge window while waiting for schedule (now 08-16 00:35:00 target set_window_minutes 30 charge start time 08-16 08:00:00) original inverter start time 08-18 00:00:00
2026-08-16 00:35:03.808486: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-16 00:35:03.808754: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-16 00:35:03.808850: No export window planned
2026-08-16 00:35:03.809053: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-16 00:35:03.809115: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-16 00:35:03.809274: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-16 00:35:03.809472: Inverter 0 not setting charging SoC as we are not within the window (now 08-16 00:35:00 target set_soc_minutes 30 charge start time 08-18 00:00:00)
2026-08-16 00:35:03.809538: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-16 00:35:03.809604: Inverter 0 Current Target SoC is 7%, already at target
2026-08-16 00:35:03.809706: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 00:35:03.809751: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 00:35:03.809783: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 00:35:03.809809: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 00:35:03.809833: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 00:35:03.809857: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 00:35:03.809887: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 00:35:03.809967: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 00:35:03.810007: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 00:35:03.810033: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 00:35:03.810062: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 00:35:03.810087: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 00:35:03.810115: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 00:35:03.810139: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 00:35:03.810180: Inverter 0 count register writes 0
2026-08-16 00:35:03.827156: Will not recompute the plan, it is 5.0 minutes old and max age is 10 minutes
2026-08-16 00:35:03.832982: Total inverter register writes now 826
2026-08-16 00:35:03.874101: Info: Completed run status Demand
2026-08-16 00:35:03.883314: Info: record_status Demand
2026-08-16 00:35:03.892522: Saved current settings to /config/predbat_config.json
2026-08-16 00:35:03.892915: Compare, best tariff: igo_fixed metric 126.72p
2026-08-16 00:35:42.018758: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-16 00:35:42.019046: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-16 00:35:42.019111: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-16 00:35:42.019294: Inverter 0 idle time is 08-16 00:00:00-08-16 23:59:00
2026-08-16 00:35:42.019339: Note: Inverter does not support discharge freeze - disabled
2026-08-16 00:35:42.019362: Note: Inverter does not support charge freeze - disabled
2026-08-16 00:35:42.019380: Note: Inverter does not support reserve - disabling reserve functions
2026-08-16 00:37:42.247655: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-16 00:37:42.247929: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-16 00:37:42.247993: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-16 00:37:42.248192: Inverter 0 idle time is 08-16 00:00:00-08-16 23:59:00
2026-08-16 00:37:42.248239: Note: Inverter does not support discharge freeze - disabled
2026-08-16 00:37:42.248261: Note: Inverter does not support charge freeze - disabled
2026-08-16 00:37:42.248278: Note: Inverter does not support reserve - disabling reserve functions
2026-08-16 00:39:56.503463: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-16 00:39:56.503684: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-16 00:39:56.503739: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-16 00:39:56.503975: Inverter 0 idle time is 08-16 00:00:00-08-16 23:59:00
2026-08-16 00:39:56.504014: Note: Inverter does not support discharge freeze - disabled
2026-08-16 00:39:56.504032: Note: Inverter does not support charge freeze - disabled
2026-08-16 00:39:56.504046: Note: Inverter does not support reserve - disabling reserve functions
2026-08-16 00:40:00.572454: --------------- PredBat - update at 2026-08-16 00:40:00+01:00 with clock skew 0 minutes, minutes now 40
2026-08-16 00:40:00.573465: Saved current settings to /config/predbat_config.json
2026-08-16 00:40:00.573637: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 5.0 minutes
2026-08-16 00:40:00.573786: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.2, latest beta is v8.48.2
2026-08-16 00:40:00.573919: Autoupdate: There is an update pending v8.48.2 PV90 and second pass enabled by default, bug fixes - auto update is off
2026-08-16 00:40:00.597270: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-16 00:40:00.597406: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-16 00:40:00.597575: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-16 00:40:00.598132: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-16 00:40:00.598285: Predbat mode is set to Control charge & discharge
2026-08-16 00:40:00.780089: Found 21602 load_today datapoints going back 28 days
2026-08-16 00:40:00.780224: Using load_power data to fill gaps in load_today data
2026-08-16 00:40:01.552075: Processing 721 30-minute periods for power integration
2026-08-16 00:40:01.757359: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-16 00:40:01.757828: Car charging hold False, threshold 6.0kWh
2026-08-16 00:40:01.757930: Current data so far today: load 0.6kWh, import 0.0kWh, export 0.0kWh, PV 0kWh
2026-08-16 00:40:01.775656: Cars: SoC: [8.204]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-16 00:40:01.776180: Standing charge is set to 49.98p
2026-08-16 00:40:01.808245: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-16 00:40:01.808345: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-16 00:40:01.808530: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 40.0 minutes
2026-08-16 00:40:01.808850: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-17&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 39.8 minutes
2026-08-16 00:40:01.811383: Loaded 47 datapoints of futurerate analysis
2026-08-16 00:40:01.890263: Predicted future rates: ['08-16 00:00:00 => 28.52 / 19.97', '08-16 01:00:00 => 27.43 / 19.41', '08-16 02:00:00 => 26.47 / 18.92', '08-16 03:00:00 => 26.1 / 18.73', '08-16 04:00:00 => 26.04 / 18.7', '08-16 05:00:00 => 25.95 / 18.65', '08-16 06:00:00 => 25.71 / 18.53', '08-16 07:00:00 => 25.37 / 18.35', '08-16 08:00:00 => 24.58 / 17.94', '08-16 09:00:00 => 24.0 / 17.64', '08-16 10:00:00 => 24.54 / 17.92', '08-16 11:00:00 => 24.44 / 17.87', '08-16 12:00:00 => 23.53 / 17.4', '08-16 13:00:00 => 22.89 / 17.07', '08-16 14:00:00 => 21.77 / 16.49', '08-16 15:00:00 => 21.77 / 16.49', '08-16 16:00:00 => 36.89 / 18.3', '08-16 17:00:00 => 39.85 / 19.83', '08-16 18:00:00 => 43.87 / 21.9', '08-16 19:00:00 => 32.69 / 22.13', '08-16 20:00:00 => 33.46 / 22.53', '08-16 21:00:00 => 33.37 / 22.48', '08-16 22:00:00 => 32.01 / 21.78']
2026-08-16 00:40:01.954746: Rate min forward looking: now 21.41p at end of forecast 21.41p
2026-08-16 00:40:01.955454: Import rates: min 21.41p, max 45.28p, average 28.73p
2026-08-16 00:40:01.998172: Export rates: min 0p, max 0p, average 0.0p
2026-08-16 00:40:01.998291: Rate thresholds (for charge/export) are import 44.78p (0.0p), export -0.1p (0.0p)
2026-08-16 00:40:01.999365: High export rate found rates in range 99p to -99p
2026-08-16 00:40:02.062253: Low Import rate found rates in range 21.41p to 44.34p
2026-08-16 00:40:02.062385: Car 0 charging is not planned as it is not plugged in
2026-08-16 00:40:02.075884: Battery level now 11.61kWh, -1hr ago 12.62kWh, at midnight 12.21kWh, battery value change in the last hour -18.69p, change today -11.04p, rate_forward 18.39p
2026-08-16 00:40:02.076267: Last hour: net energy 0.0kWh, import 0.0kWh, export 0.0kWh, car 0kWh, load 0.85kWh, net cost 0.0p, import 0.0p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-16 00:40:02.125040: Today's energy total net 0.0kWh, import 0.0kWh, export 0.0kWh, cost 49.98p, import 0.0p, export 0.0p, carbon 0.0kg
2026-08-16 00:40:02.125166: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-16 00:40:02.182507: Using weighted-bucket historical load forecast over 14 days
2026-08-16 00:40:02.200549: Today's load divergence 100.0%, in-day adjustment 82.97%, damping 0.95x, yesterday 82.97% today 100.0% blend 100.0%
2026-08-16 00:40:02.200626: Today's predicted so far 0.72kWh with 0.0kWh car/iBoost excluded, 0kWh import ignored, and 0.72kWh forecast extra.
2026-08-16 00:40:02.200676: Today's actual load so far 0.63kWh with 0.0kWh car/iBoost excluded, and 0kWh import ignored.
2026-08-16 00:40:02.234087: Inverter 0: Type SK Sunsynk
2026-08-16 00:40:02.234182: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-16 00:40:02.234395: Reserve min: 7%, battery_min: 7%
2026-08-16 00:40:02.234472: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-16 00:40:02.234799: Inverter 0 SoC: 11.39kW 71%, current charge rate 5000W, current discharge rate 5250W, current battery power 476W, current battery voltage 51.2V, grid power -55W, load power 530W, PV Power 0W
2026-08-16 00:40:02.234978: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-16 00:40:02.235071: Inverter 0 scheduled charge enable is False
2026-08-16 00:40:02.235106: Inverter 0 charge windows currently []
2026-08-16 00:40:02.235133: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-16 00:40:02.235239: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-16 00:40:02.235275: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-16 00:40:02.235310: Inverter 0 scheduled discharge enable is False
2026-08-16 00:40:02.235439: Inverter 0 idle time is 08-16 00:00:00-08-16 23:59:00
2026-08-16 00:40:02.235475: Inverter 0 discharge windows currently []
2026-08-16 00:40:02.235497: Note: Inverter does not support discharge freeze - disabled
2026-08-16 00:40:02.235520: Note: Inverter does not support charge freeze - disabled
2026-08-16 00:40:02.235542: Note: Inverter does not support reserve - disabling reserve functions
2026-08-16 00:40:02.291975: Dynamic load last period 1.20kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-16 00:40:02.292074: Plan was last updated on 2026-08-16 00:30:00+01:00 and is now 10.0 minutes old
2026-08-16 00:40:02.292337: Best charge window [ 16-08 08:00:00 - 16-08 08:30:00 @ 24.06p 44%, 16-08 11:30:00 - 16-08 13:30:00 @ 22.83p 34%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 44%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 100%, 16-08 14:30:00 - 16-08 16:00:00 @ 22.56p 72%, 17-08 12:30:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 18-08 00:30:00 @ 28.96p 100% ]
2026-08-16 00:40:02.292374: Best export window [  ]
2026-08-16 00:40:02.293061: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-16 00:40:02.295673: Load divergence over 8.0 hours mean 584.8W, min 292.2W, max 1733.4W, std dev 334.31W, divergence 28.58%
2026-08-16 00:40:02.310568: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-16 00:40:02.310675: LoadML is_calculating False
2026-08-16 00:40:02.310734: Creating pool of 12 processes to match your CPU count
2026-08-16 00:40:02.417880: predict base end_record 08-17 12:40:00, final soc 1.12kWh, metric 411.94p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 19:20:00, load 21.51kWh, PV 0.0kWh
2026-08-16 00:40:02.547537: Battery has 18.67 hours left - now at 11.39kWh
2026-08-16 00:40:02.592040: predict base10 end_record 08-17 12:40:00, final soc 1.12kWh, metric 445.41p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 18:30:00, load 22.51kWh, PV 0.0kWh
2026-08-16 00:40:02.677849: predict best10 end_record 08-17 12:40:00, final soc 1.77kWh, metric 416.81p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 06:15:00, load 22.51kWh, PV 0.0kWh
2026-08-16 00:40:02.761344: predict best end_record 08-17 12:40:00, final soc 1.9kWh, metric 393.97p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 07:15:00, load 21.51kWh, PV 0.0kWh
2026-08-16 00:40:02.761426: Saving plan best values to HA entities
2026-08-16 00:40:02.955605: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-16 00:40:02.960721: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0.0
2026-08-16 00:40:02.965637: Best charging limit SoC's [7.0, 5.5, 7.0, 16.0, 11.5, 16.0, 16.0]kWh, export []kWh gives import battery 9.86kWh, house 3.15kWh, export 0.0kWh, metric 393.97p, metric10 416.81p
2026-08-16 00:40:03.041349: Marginal costs baseline metric (no standing charge): 343.989
2026-08-16 00:40:03.277426: Marginal energy costs matrix computed: min=22.54 max=27.51
2026-08-16 00:40:03.358709: Rate array import [{'start': 40, 'end': 960, 'rate': 'cheap', 'range': '(21.4p - 27.4p)'}, {'start': 960, 'end': 990, 'rate': 'expensive', 'range': '(36.8p)'}, {'start': 990, 'end': 1140, 'rate': 'very expensive', 'range': '(37.5p - 45.3p)'}, {'start': 1140, 'end': 1410, 'rate': 'expensive', 'range': '(30.0p - 35.9p)'}, {'start': 1410, 'end': 2200, 'rate': 'cheap', 'range': '(22.3p - 28.2p)'}] export [{'start': 40, 'end': 2200, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-16 00:40:03.359374: - Your estimated bill for today is £2.46 and tomorrow is £7.27
2026-08-16 00:40:03.359415: - Import rates are cheap (21.4p - 27.4p) for the next 15 hours and then expensive (36.8p) for the next 30 minutes.
2026-08-16 00:40:03.359434: - The battery is currently at 71% and is in eco mode for the next 7 and a quarter hours.
2026-08-16 00:40:03.359449: - For the next 48 hours there will be no solar generation.
2026-08-16 00:40:03.359462: - You will run out of battery in 30 hours.
2026-08-16 00:40:03.359476: - Your next charge slot will be in 7 and a quarter hours where import rates will be cheap (24.1p).
2026-08-16 00:40:03.359490: 
2026-08-16 00:40:03.414982: Plan calculation took 1.12 seconds
2026-08-16 00:40:03.417585: No high rate period found
2026-08-16 00:40:03.466136: Import threshold used for optimisation was 25.86p
2026-08-16 00:40:03.520468: Low import rate windows [0: 08-16 00:30:00 - 08-16 01:00:00 @ 27.38, 1: 08-16 01:00:00 - 08-16 01:30:00 @ 26.7, 2: 08-16 01:30:00 - 08-16 02:00:00 @ 26.31, 3: 08-16 02:00:00 - 08-16 02:30:00 @ 25.79, 4: 08-16 02:30:00 - 08-16 03:00:00 @ 25.86, 5: 08-16 03:00:00 - 08-16 03:30:00 @ 26.13, 6: 08-16 03:30:00 - 08-16 04:00:00 @ 25.86, 7: 08-16 04:00:00 - 08-16 04:30:00 @ 26.27, 8: 08-16 04:30:00 - 08-16 05:00:00 @ 26.14, 9: 08-16 05:00:00 - 08-16 05:30:00 @ 27.03, 10: 08-16 05:30:00 - 08-16 06:00:00 @ 26.28, 11: 08-16 06:00:00 - 08-16 06:30:00 @ 25.68, 12: 08-16 06:30:00 - 08-16 07:00:00 @ 26.1, 13: 08-16 07:00:00 - 08-16 07:30:00 @ 24.28, 14: 08-16 07:30:00 - 08-16 08:00:00 @ 24.94, 15: 08-16 08:00:00 - 08-16 08:30:00 @ 24.06, 16: 08-16 08:30:00 - 08-16 09:00:00 @ 24.39, 17: 08-16 09:00:00 - 08-16 09:30:00 @ 24.66, 18: 08-16 09:30:00 - 08-16 10:00:00 @ 24.06, 19: 08-16 10:00:00 - 08-16 10:30:00 @ 25.5, 20: 08-16 10:30:00 - 08-16 11:00:00 @ 24.94, 21: 08-16 11:00:00 - 08-16 11:30:00 @ 24.25, 22: 08-16 11:30:00 - 08-16 12:00:00 @ 23.49, 23: 08-16 12:00:00 - 08-16 12:30:00 @ 23.43, 24: 08-16 12:30:00 - 08-16 13:00:00 @ 22.33, 25: 08-16 13:00:00 - 08-16 13:30:00 @ 22.76, 26: 08-16 13:30:00 - 08-16 14:00:00 @ 22.3, 27: 08-16 14:00:00 - 08-16 14:30:00 @ 21.41, 28: 08-16 14:30:00 - 08-16 15:00:00 @ 21.65, 29: 08-16 15:00:00 - 08-16 15:30:00 @ 22.95, 30: 08-16 15:30:00 - 08-16 16:00:00 @ 22.83, 31: 08-16 16:00:00 - 08-16 16:30:00 @ 36.84, 32: 08-16 16:30:00 - 08-16 17:00:00 @ 37.54, 33: 08-16 17:00:00 - 08-16 17:30:00 @ 41.79, 34: 08-16 17:30:00 - 08-16 18:00:00 @ 43.7, 35: 08-16 18:00:00 - 08-16 18:30:00 @ 44.34, 36: 08-16 19:00:00 - 08-16 19:30:00 @ 34.79, 37: 08-16 19:30:00 - 08-16 20:00:00 @ 34.76, 38: 08-16 20:00:00 - 08-16 20:30:00 @ 35.62, 39: 08-16 20:30:00 - 08-16 21:00:00 @ 35.3, 40: 08-16 21:00:00 - 08-16 21:30:00 @ 35.89, 41: 08-16 21:30:00 - 08-16 22:00:00 @ 35.71, 42: 08-16 22:00:00 - 08-16 22:30:00 @ 33.75, 43: 08-16 22:30:00 - 08-16 23:00:00 @ 32.0, 44: 08-16 23:00:00 - 08-16 23:30:00 @ 30.02, 45: 08-16 23:30:00 - 08-17 00:00:00 @ 27.8, 46: 08-17 00:00:00 - 08-17 00:30:00 @ 28.18, 47: 08-17 00:30:00 - 08-17 01:00:00 @ 27.38, 48: 08-17 01:00:00 - 08-17 01:30:00 @ 26.7, 49: 08-17 01:30:00 - 08-17 02:00:00 @ 26.31, 50: 08-17 02:00:00 - 08-17 02:30:00 @ 25.79, 51: 08-17 02:30:00 - 08-17 03:00:00 @ 25.86, 52: 08-17 03:00:00 - 08-17 03:30:00 @ 26.13, 53: 08-17 03:30:00 - 08-17 04:00:00 @ 25.86, 54: 08-17 04:00:00 - 08-17 04:30:00 @ 26.27, 55: 08-17 04:30:00 - 08-17 05:00:00 @ 26.14, 56: 08-17 05:00:00 - 08-17 05:30:00 @ 27.03, 57: 08-17 05:30:00 - 08-17 06:00:00 @ 26.28, 58: 08-17 06:00:00 - 08-17 06:30:00 @ 25.68, 59: 08-17 06:30:00 - 08-17 07:00:00 @ 26.1, 60: 08-17 07:00:00 - 08-17 07:30:00 @ 24.28, 61: 08-17 07:30:00 - 08-17 08:00:00 @ 24.94, 62: 08-17 08:00:00 - 08-17 08:30:00 @ 24.06, 63: 08-17 08:30:00 - 08-17 09:00:00 @ 24.39, 64: 08-17 09:00:00 - 08-17 09:30:00 @ 24.66, 65: 08-17 09:30:00 - 08-17 10:00:00 @ 24.06, 66: 08-17 10:00:00 - 08-17 10:30:00 @ 25.5, 67: 08-17 10:30:00 - 08-17 11:00:00 @ 24.94, 68: 08-17 11:00:00 - 08-17 11:30:00 @ 24.25, 69: 08-17 11:30:00 - 08-17 12:00:00 @ 23.49, 70: 08-17 12:00:00 - 08-17 12:30:00 @ 23.43, 71: 08-17 12:30:00 - 08-17 13:00:00 @ 22.33, 72: 08-17 13:00:00 - 08-17 13:30:00 @ 22.76, 73: 08-17 13:30:00 - 08-17 14:00:00 @ 22.3, 74: 08-17 14:00:00 - 08-17 14:30:00 @ 21.41, 75: 08-17 14:30:00 - 08-17 15:00:00 @ 21.65, 76: 08-17 15:00:00 - 08-17 15:30:00 @ 22.95, 77: 08-17 15:30:00 - 08-17 16:00:00 @ 22.83, 78: 08-17 16:00:00 - 08-17 16:30:00 @ 36.84, 79: 08-17 16:30:00 - 08-17 17:00:00 @ 37.54, 80: 08-17 17:00:00 - 08-17 17:30:00 @ 41.79, 81: 08-17 17:30:00 - 08-17 18:00:00 @ 43.7, 82: 08-17 18:00:00 - 08-17 18:30:00 @ 44.34, 83: 08-17 19:00:00 - 08-17 19:30:00 @ 34.79, 84: 08-17 19:30:00 - 08-17 20:00:00 @ 34.76, 85: 08-17 20:00:00 - 08-17 20:30:00 @ 35.62, 86: 08-17 20:30:00 - 08-17 21:00:00 @ 35.3, 87: 08-17 21:00:00 - 08-17 21:30:00 @ 35.89, 88: 08-17 21:30:00 - 08-17 22:00:00 @ 35.71, 89: 08-17 22:00:00 - 08-17 22:30:00 @ 33.75, 90: 08-17 22:30:00 - 08-17 23:00:00 @ 32.0, 91: 08-17 23:00:00 - 08-17 23:30:00 @ 30.02, 92: 08-17 23:30:00 - 08-18 00:00:00 @ 27.8, 93: 08-18 00:00:00 - 08-18 00:30:00 @ 28.18, 94: 08-18 00:30:00 - 08-18 01:00:00 @ 27.38]
2026-08-16 00:40:03.526743: Inverter 0 Charge window will be: 2026-08-16 08:00:00+01:00 - 2026-08-16 08:30:00+01:00 - current SoC 71%, target 44%
2026-08-16 00:40:03.526865: Inverter 0 disabled charge window while waiting for schedule (now 08-16 00:40:00 target set_window_minutes 30 charge start time 08-16 08:00:00) original inverter start time 08-18 00:00:00
2026-08-16 00:40:03.527005: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-16 00:40:03.527276: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-16 00:40:03.527369: No export window planned
2026-08-16 00:40:03.527532: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-16 00:40:03.527570: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-16 00:40:03.527726: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-16 00:40:03.527928: Inverter 0 not setting charging SoC as we are not within the window (now 08-16 00:40:00 target set_soc_minutes 30 charge start time 08-18 00:00:00)
2026-08-16 00:40:03.528003: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-16 00:40:03.528065: Inverter 0 Current Target SoC is 7%, already at target
2026-08-16 00:40:03.528211: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 00:40:03.528269: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 00:40:03.528320: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 00:40:03.528368: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 00:40:03.528444: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 00:40:03.528496: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 00:40:03.528542: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 00:40:03.528630: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 00:40:03.528681: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 00:40:03.528732: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 00:40:03.528774: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 00:40:03.528814: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 00:40:03.528857: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 00:40:03.528882: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 00:40:03.528917: Inverter 0 count register writes 0
2026-08-16 00:40:03.545493: Will recompute the plan as it is now 10.0 minutes old and will exceed the max age of 10 minutes before the next run
2026-08-16 00:40:03.545709: Recompute is saving previous plan...
2026-08-16 00:40:03.548871: Best charge window [ 16-08 00:30:00 - 16-08 01:00:00 @ 27.38p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 26.7p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.31p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.79p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 25.86p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.13p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 25.86p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.27p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.14p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 27.03p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.28p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.68p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 26.1p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 24.28p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 24.94p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.06p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.39p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.66p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.06p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 25.5p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 24.94p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 24.25p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 23.49p 0%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.43p 0%, 16-08 12:30:00 - 16-08 13:00:00 @ 22.33p 0%, 16-08 13:00:00 - 16-08 13:30:00 @ 22.76p 0%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 0%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 0%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.65p 0%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.95p 0%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.83p 0%, 16-08 16:00:00 - 16-08 16:30:00 @ 36.84p 0%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.54p 0%, 16-08 17:00:00 - 16-08 17:30:00 @ 41.79p 0%, 16-08 17:30:00 - 16-08 18:00:00 @ 43.7p 0%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.34p 0%, 16-08 19:00:00 - 16-08 19:30:00 @ 34.79p 0%, 16-08 19:30:00 - 16-08 20:00:00 @ 34.76p 0%, 16-08 20:00:00 - 16-08 20:30:00 @ 35.62p 0%, 16-08 20:30:00 - 16-08 21:00:00 @ 35.3p 0%, 16-08 21:00:00 - 16-08 21:30:00 @ 35.89p 0%, 16-08 21:30:00 - 16-08 22:00:00 @ 35.71p 0%, 16-08 22:00:00 - 16-08 22:30:00 @ 33.75p 0%, 16-08 22:30:00 - 16-08 23:00:00 @ 32.0p 0%, 16-08 23:00:00 - 16-08 23:30:00 @ 30.02p 0%, 16-08 23:30:00 - 17-08 00:00:00 @ 27.8p 0%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.18p 0%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.38p 0%, 17-08 01:00:00 - 17-08 01:30:00 @ 26.7p 0%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.31p 0%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.79p 0%, 17-08 02:30:00 - 17-08 03:00:00 @ 25.86p 0%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.13p 0%, 17-08 03:30:00 - 17-08 04:00:00 @ 25.86p 0%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.27p 0%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.14p 0%, 17-08 05:00:00 - 17-08 05:30:00 @ 27.03p 0%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.28p 0%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.68p 0%, 17-08 06:30:00 - 17-08 07:00:00 @ 26.1p 0%, 17-08 07:00:00 - 17-08 07:30:00 @ 24.28p 0%, 17-08 07:30:00 - 17-08 08:00:00 @ 24.94p 0%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.06p 0%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.39p 0%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.66p 0%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.06p 0%, 17-08 10:00:00 - 17-08 10:30:00 @ 25.5p 0%, 17-08 10:30:00 - 17-08 11:00:00 @ 24.94p 0%, 17-08 11:00:00 - 17-08 11:30:00 @ 24.25p 0%, 17-08 11:30:00 - 17-08 12:00:00 @ 23.49p 0%, 17-08 12:00:00 - 17-08 12:30:00 @ 23.43p 0%, 17-08 12:30:00 - 17-08 13:00:00 @ 22.33p 0%, 17-08 13:00:00 - 17-08 13:30:00 @ 22.76p 0%, 17-08 13:30:00 - 17-08 14:00:00 @ 22.3p 0%, 17-08 14:00:00 - 17-08 14:30:00 @ 21.41p 0%, 17-08 14:30:00 - 17-08 15:00:00 @ 21.65p 0%, 17-08 15:00:00 - 17-08 15:30:00 @ 22.95p 0%, 17-08 15:30:00 - 17-08 16:00:00 @ 22.83p 0%, 17-08 16:00:00 - 17-08 16:30:00 @ 36.84p 0%, 17-08 16:30:00 - 17-08 17:00:00 @ 37.54p 0%, 17-08 17:00:00 - 17-08 17:30:00 @ 41.79p 0%, 17-08 17:30:00 - 17-08 18:00:00 @ 43.7p 0%, 17-08 18:00:00 - 17-08 18:30:00 @ 44.34p 0%, 17-08 19:00:00 - 17-08 19:30:00 @ 34.79p 0%, 17-08 19:30:00 - 17-08 20:00:00 @ 34.76p 0%, 17-08 20:00:00 - 17-08 20:30:00 @ 35.62p 0%, 17-08 20:30:00 - 17-08 21:00:00 @ 35.3p 0%, 17-08 21:00:00 - 17-08 21:30:00 @ 35.89p 0%, 17-08 21:30:00 - 17-08 22:00:00 @ 35.71p 0%, 17-08 22:00:00 - 17-08 22:30:00 @ 33.75p 0%, 17-08 22:30:00 - 17-08 23:00:00 @ 32.0p 0%, 17-08 23:00:00 - 17-08 23:30:00 @ 30.02p 0%, 17-08 23:30:00 - 18-08 00:00:00 @ 27.8p 0%, 18-08 00:00:00 - 18-08 00:30:00 @ 28.18p 0%, 18-08 00:30:00 - 18-08 01:00:00 @ 27.38p 0% ]
2026-08-16 00:40:03.548986: Best export window [  ]
2026-08-16 00:40:03.549825: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-16 00:40:03.553203: Load divergence over 8.0 hours mean 584.8W, min 292.2W, max 1733.4W, std dev 334.31W, divergence 28.58%
2026-08-16 00:40:03.569560: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-16 00:40:03.569716: LoadML is_calculating False
2026-08-16 00:40:03.569778: Creating pool of 12 processes to match your CPU count
2026-08-16 00:40:03.658677: Calculate Best options: mode(Control charge & discharge), calculate_export_oncharge(False), calculate_export_on_pv(True), set_export_freeze_only(False), set_discharge_during_charge(True), combine_charge_slots(False), combine_export_slots(False), combine_rate_threshold(0.0), best_soc_min(0.0 kWh), best_soc_max(0.0 kWh), best_soc_keep(0.0 kWh), inverter_loss(4%), battery_loss(3%), battery_loss_discharge (3%), inverter_hybrid(True), metric_min_improvement(0.0p), metric_min_improvement_export(0.1p), metric_min_improvement_export_freeze(0.1p), metric_battery_cycle(0.0p/kWh), metric_battery_value_scaling(1.0 x) 
2026-08-16 00:40:03.660285: Optimise levels pass started at 2026-08-16 00:40:03
2026-08-16 00:40:03.660338: Optimise all windows, total charge 94 export 1
2026-08-16 00:40:04.355755: >> Region optimisation pass width 960 gives best_metric 526.19p, best_cost 540.19p, best_cycle 37.91kWh, best_import 21.68kWh
2026-08-16 00:40:04.668261: >> Region optimisation pass width 480 gives best_metric 526.19p, best_cost 540.19p, best_cycle 37.91kWh, best_import 21.68kWh
2026-08-16 00:40:05.171975: >> Region optimisation pass width 240 gives best_metric 526.19p, best_cost 540.19p, best_cycle 37.91kWh, best_import 21.68kWh
2026-08-16 00:40:06.239646: >> Region optimisation pass width 120 gives best_metric 526.19p, best_cost 540.19p, best_cycle 37.91kWh, best_import 21.68kWh
2026-08-16 00:40:06.240164: Calculated end_record as 08-17 12:30:00 based on best_price 22.33p, next_charge_start 08-16 12:30:00, max_windows 71
2026-08-16 00:40:06.240257: Optimise levels pass ended at 2026-08-16 00:40:06, duration 2.6 seconds tried 296 combinations
2026-08-16 00:40:06.240355: Set best_price_charge_level 24.0p, best_price_export_level 0p, best_price_charge 22.33p, best_cost_export 0p, best_metric 526.19p, best_keep 0kWh, best_cycle 37.91kWh, best_carbon 0kg, best_import 21.68kWh
2026-08-16 00:40:06.263904: Starting detailed optimisation end_record 08-17 12:30:00, best_price_charge 22.33p, best_price_export 0p. lowest_price_charge 21.41p with charge limits [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 0, 0, 16.0, 16.0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0]kWh and export limits []kWh
2026-08-16 00:40:11.666748: Tweak plan optimisation started metric 305.91p, cost 322.64p
2026-08-16 00:40:12.028713: Tweak optimisation finished metric 305.9p, cost 322.64p, metric_keep 0kWh, cycle 21.67kWh, carbon 0kg, import 12.06kWh, changed 8 window(s)
2026-08-16 00:40:12.052869: Swap charge optimisation started metric 305.9p, cost 322.64p, min_improvement_swap 0.1p
2026-08-16 00:40:20.336165: Swap charge optimisation finished metric 305.9p, cost 322.64p
2026-08-16 00:40:20.476746: Pruned 2 dead plan slot(s) in 12 trial(s), nominal metric 302.04p -> 302.04p, plan now metric 305.91p, cost 322.64p, cycle 21.67kWh, import 12.06kWh
2026-08-16 00:40:20.488730: Raw charge windows [ 16-08 00:30:00 - 16-08 01:00:00 @ 27.38p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 26.7p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.31p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.79p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 25.86p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.13p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 25.86p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.27p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.14p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 27.03p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.28p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.68p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 26.1p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 24.28p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 24.94p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.06p 44%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.39p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.66p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.06p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 25.5p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 24.94p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 24.25p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 23.49p 34%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.43p 34%, 16-08 12:30:00 - 16-08 13:00:00 @ 22.33p 34%, 16-08 13:00:00 - 16-08 13:30:00 @ 22.76p 34%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 44%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 100%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.65p 72%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.95p 72%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.83p 72%, 16-08 16:00:00 - 16-08 16:30:00 @ 36.84p 0%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.54p 0%, 16-08 17:00:00 - 16-08 17:30:00 @ 41.79p 0%, 16-08 17:30:00 - 16-08 18:00:00 @ 43.7p 0%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.34p 0%, 16-08 19:00:00 - 16-08 19:30:00 @ 34.79p 0%, 16-08 19:30:00 - 16-08 20:00:00 @ 34.76p 0%, 16-08 20:00:00 - 16-08 20:30:00 @ 35.62p 0%, 16-08 20:30:00 - 16-08 21:00:00 @ 35.3p 0%, 16-08 21:00:00 - 16-08 21:30:00 @ 35.89p 0%, 16-08 21:30:00 - 16-08 22:00:00 @ 35.71p 0%, 16-08 22:00:00 - 16-08 22:30:00 @ 33.75p 0%, 16-08 22:30:00 - 16-08 23:00:00 @ 32.0p 0%, 16-08 23:00:00 - 16-08 23:30:00 @ 30.02p 0%, 16-08 23:30:00 - 17-08 00:00:00 @ 27.8p 0%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.18p 0%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.38p 0%, 17-08 01:00:00 - 17-08 01:30:00 @ 26.7p 0%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.31p 0%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.79p 0%, 17-08 02:30:00 - 17-08 03:00:00 @ 25.86p 0%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.13p 0%, 17-08 03:30:00 - 17-08 04:00:00 @ 25.86p 0%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.27p 0%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.14p 0%, 17-08 05:00:00 - 17-08 05:30:00 @ 27.03p 0%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.28p 0%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.68p 0%, 17-08 06:30:00 - 17-08 07:00:00 @ 26.1p 0%, 17-08 07:00:00 - 17-08 07:30:00 @ 24.28p 0%, 17-08 07:30:00 - 17-08 08:00:00 @ 24.94p 0%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.06p 0%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.39p 0%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.66p 0%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.06p 0%, 17-08 10:00:00 - 17-08 10:30:00 @ 25.5p 0%, 17-08 10:30:00 - 17-08 11:00:00 @ 24.94p 0%, 17-08 11:00:00 - 17-08 11:30:00 @ 24.25p 0%, 17-08 11:30:00 - 17-08 12:00:00 @ 23.49p 0%, 17-08 12:00:00 - 17-08 12:30:00 @ 23.43p 0%, 17-08 12:30:00 - 17-08 13:00:00 @ 22.33p 100%, 17-08 13:00:00 - 17-08 13:30:00 @ 22.76p 100%, 17-08 13:30:00 - 17-08 14:00:00 @ 22.3p 100%, 17-08 14:00:00 - 17-08 14:30:00 @ 21.41p 100%, 17-08 14:30:00 - 17-08 15:00:00 @ 21.65p 100%, 17-08 15:00:00 - 17-08 15:30:00 @ 22.95p 100%, 17-08 15:30:00 - 17-08 16:00:00 @ 22.83p 100%, 17-08 16:00:00 - 17-08 16:30:00 @ 36.84p 100%, 17-08 16:30:00 - 17-08 17:00:00 @ 37.54p 100%, 17-08 17:00:00 - 17-08 17:30:00 @ 41.79p 100%, 17-08 17:30:00 - 17-08 18:00:00 @ 43.7p 100%, 17-08 18:00:00 - 17-08 18:30:00 @ 44.34p 100%, 17-08 19:00:00 - 17-08 19:30:00 @ 34.79p 100%, 17-08 19:30:00 - 17-08 20:00:00 @ 34.76p 100%, 17-08 20:00:00 - 17-08 20:30:00 @ 35.62p 100%, 17-08 20:30:00 - 17-08 21:00:00 @ 35.3p 100%, 17-08 21:00:00 - 17-08 21:30:00 @ 35.89p 100%, 17-08 21:30:00 - 17-08 22:00:00 @ 35.71p 100%, 17-08 22:00:00 - 17-08 22:30:00 @ 33.75p 100%, 17-08 22:30:00 - 17-08 23:00:00 @ 32.0p 100%, 17-08 23:00:00 - 17-08 23:30:00 @ 30.02p 100%, 17-08 23:30:00 - 18-08 00:00:00 @ 27.8p 100%, 18-08 00:00:00 - 18-08 00:30:00 @ 28.18p 100%, 18-08 00:30:00 - 18-08 01:00:00 @ 27.38p 100% ] reserve 1.12
2026-08-16 00:40:20.489423: Unclipped charge windows [ 16-08 08:00:00 - 16-08 08:30:00 @ 24.06p 44%, 16-08 11:30:00 - 16-08 13:30:00 @ 22.83p 34%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 44%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 100%, 16-08 14:30:00 - 16-08 16:00:00 @ 22.56p 72%, 17-08 12:30:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 18-08 01:00:00 @ 28.17p 100% ] reserve 1.12
2026-08-16 00:40:20.489768: Unfiltered charge windows [ 16-08 08:00:00 - 16-08 08:30:00 @ 24.06p 44%, 16-08 11:30:00 - 16-08 13:30:00 @ 22.83p 34%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 44%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 100%, 16-08 14:30:00 - 16-08 16:00:00 @ 22.56p 72%, 17-08 12:30:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 18-08 01:00:00 @ 28.17p 100% ] reserve 1.12
2026-08-16 00:40:20.490065: Filtered charge windows [ 16-08 08:00:00 - 16-08 08:30:00 @ 24.06p 44%, 16-08 11:30:00 - 16-08 13:30:00 @ 22.83p 34%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 44%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 100%, 16-08 14:30:00 - 16-08 16:00:00 @ 22.56p 72%, 17-08 12:30:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 18-08 01:00:00 @ 28.17p 100% ] reserve 1.12
2026-08-16 00:40:20.527407: Previous plan best metric is 305.91 (cost 322.64) and new plan best metric is 305.9 (cost 322.64)
2026-08-16 00:40:20.527673: New plan metric is not significantly better (metric_min_improvement_plan 2.0) than previous plan, using previous plan
2026-08-16 00:40:20.527927: Plan valid is now true after recompute was False
2026-08-16 00:40:20.556391: predict base end_record 08-17 12:30:00, final soc 1.12kWh, metric 409.2p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 19:20:00, load 21.39kWh, PV 0.0kWh
2026-08-16 00:40:20.667266: Battery has 18.67 hours left - now at 11.39kWh
2026-08-16 00:40:20.713575: predict base10 end_record 08-17 12:30:00, final soc 1.12kWh, metric 442.54p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 18:30:00, load 22.38kWh, PV 0.0kWh
2026-08-16 00:40:20.796892: predict best10 end_record 08-17 12:30:00, final soc 1.12kWh, metric 398.43p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 06:15:00, load 22.38kWh, PV 0.0kWh
2026-08-16 00:40:20.883289: predict best end_record 08-17 12:30:00, final soc 1.12kWh, metric 372.63p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 07:15:00, load 21.39kWh, PV 0.0kWh
2026-08-16 00:40:20.884105: Saving plan best values to HA entities
2026-08-16 00:40:21.059612: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-16 00:40:21.067739: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0.0
2026-08-16 00:40:21.075974: Best charging limit SoC's [7.0, 5.5, 7.0, 16.0, 11.5, 16.0, 16.0]kWh, export []kWh gives import battery 8.91kWh, house 3.15kWh, export 0.0kWh, metric 372.63p, metric10 398.43p
2026-08-16 00:40:21.164797: Marginal costs baseline metric (no standing charge): 322.6441
2026-08-16 00:40:21.449888: Marginal energy costs matrix computed: min=22.54 max=27.51
2026-08-16 00:40:21.528510: Rate array import [{'start': 40, 'end': 960, 'rate': 'cheap', 'range': '(21.4p - 27.4p)'}, {'start': 960, 'end': 990, 'rate': 'expensive', 'range': '(36.8p)'}, {'start': 990, 'end': 1140, 'rate': 'very expensive', 'range': '(37.5p - 45.3p)'}, {'start': 1140, 'end': 1410, 'rate': 'expensive', 'range': '(30.0p - 35.9p)'}, {'start': 1410, 'end': 2190, 'rate': 'cheap', 'range': '(23.4p - 28.2p)'}] export [{'start': 40, 'end': 2190, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-16 00:40:21.529546: - Your estimated bill for today is £2.46 and tomorrow is £7.27
2026-08-16 00:40:21.529617: - Import rates are cheap (21.4p - 27.4p) for the next 15 hours and then expensive (36.8p) for the next 30 minutes.
2026-08-16 00:40:21.529653: - The battery is currently at 71% and is in eco mode for the next 7 and a quarter hours.
2026-08-16 00:40:21.529674: - For the next 48 hours there will be no solar generation.
2026-08-16 00:40:21.529706: - You will run out of battery in 30 hours.
2026-08-16 00:40:21.529769: - Your next charge slot will be in 7 and a quarter hours where import rates will be cheap (24.1p).
2026-08-16 00:40:21.529818: 
2026-08-16 00:40:21.600413: Plan calculation took 18.05 seconds
2026-08-16 00:40:21.600837: Inverter 0: Type SK Sunsynk
2026-08-16 00:40:21.600897: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-16 00:40:21.601233: Reserve min: 7%, battery_min: 7%
2026-08-16 00:40:21.601325: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-16 00:40:21.601801: Inverter 0 SoC: 11.39kW 71%, current charge rate 5000W, current discharge rate 5250W, current battery power 476W, current battery voltage 51.2V, grid power -55W, load power 530W, PV Power 0W
2026-08-16 00:40:21.602145: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-16 00:40:21.602298: Inverter 0 scheduled charge enable is False
2026-08-16 00:40:21.602363: Inverter 0 charge windows currently []
2026-08-16 00:40:21.602445: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-16 00:40:21.602637: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-16 00:40:21.602681: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-16 00:40:21.602735: Inverter 0 scheduled discharge enable is False
2026-08-16 00:40:21.602927: Inverter 0 idle time is 08-16 00:00:00-08-16 23:59:00
2026-08-16 00:40:21.602987: Inverter 0 discharge windows currently []
2026-08-16 00:40:21.603021: Note: Inverter does not support discharge freeze - disabled
2026-08-16 00:40:21.603059: Note: Inverter does not support charge freeze - disabled
2026-08-16 00:40:21.603087: Note: Inverter does not support reserve - disabling reserve functions
2026-08-16 00:40:21.657673: Inverter 0 Charge window will be: 2026-08-16 08:00:00+01:00 - 2026-08-16 08:30:00+01:00 - current SoC 71%, target 44%
2026-08-16 00:40:21.657875: Inverter 0 disabled charge window while waiting for schedule (now 08-16 00:40:00 target set_window_minutes 30 charge start time 08-16 08:00:00) original inverter start time 08-18 00:00:00
2026-08-16 00:40:21.658004: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-16 00:40:21.658256: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-16 00:40:21.658375: No export window planned
2026-08-16 00:40:21.658549: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-16 00:40:21.658595: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-16 00:40:21.658812: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-16 00:40:21.659067: Inverter 0 not setting charging SoC as we are not within the window (now 08-16 00:40:00 target set_soc_minutes 30 charge start time 08-18 00:00:00)
2026-08-16 00:40:21.659139: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-16 00:40:21.659224: Inverter 0 Current Target SoC is 7%, already at target
2026-08-16 00:40:21.659432: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 00:40:21.659505: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 00:40:21.659539: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 00:40:21.659566: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 00:40:21.659592: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 00:40:21.659623: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 00:40:21.659648: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 00:40:21.659712: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 00:40:21.659747: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 00:40:21.659772: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 00:40:21.659800: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 00:40:21.659824: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 00:40:21.659849: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 00:40:21.659873: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 00:40:21.659893: Inverter 0 count register writes 0
2026-08-16 00:40:21.684126: Total inverter register writes now 826
2026-08-16 00:40:21.718926: Info: Completed run status Demand
2026-08-16 00:40:21.734930: Info: record_status Demand
2026-08-16 00:40:21.745294: Saved current settings to /config/predbat_config.json
2026-08-16 00:40:21.745734: Compare, best tariff: igo_fixed metric 126.72p
2026-08-16 00:40:56.868513: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-16 00:40:56.868778: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-16 00:40:56.868831: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-16 00:40:56.869072: Inverter 0 idle time is 08-16 00:00:00-08-16 23:59:00
2026-08-16 00:40:56.869138: Note: Inverter does not support discharge freeze - disabled
2026-08-16 00:40:56.869159: Note: Inverter does not support charge freeze - disabled
2026-08-16 00:40:56.869192: Note: Inverter does not support reserve - disabling reserve functions
2026-08-16 00:42:57.083299: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-16 00:42:57.083566: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-16 00:42:57.083612: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-16 00:42:57.083763: Inverter 0 idle time is 08-16 00:00:00-08-16 23:59:00
2026-08-16 00:42:57.083803: Note: Inverter does not support discharge freeze - disabled
2026-08-16 00:42:57.083821: Note: Inverter does not support charge freeze - disabled
2026-08-16 00:42:57.083841: Note: Inverter does not support reserve - disabling reserve functions
2026-08-16 00:44:57.299014: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-16 00:44:57.299294: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-16 00:44:57.299330: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-16 00:44:57.299492: Inverter 0 idle time is 08-16 00:00:00-08-16 23:59:00
2026-08-16 00:44:57.299542: Note: Inverter does not support discharge freeze - disabled
2026-08-16 00:44:57.299582: Note: Inverter does not support charge freeze - disabled
2026-08-16 00:44:57.299600: Note: Inverter does not support reserve - disabling reserve functions
2026-08-16 00:45:00.382217: --------------- PredBat - update at 2026-08-16 00:45:00+01:00 with clock skew 0 minutes, minutes now 45
2026-08-16 00:45:00.384234: Saved current settings to /config/predbat_config.json
2026-08-16 00:45:00.384722: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 10.0 minutes
2026-08-16 00:45:00.385234: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.2, latest beta is v8.48.2
2026-08-16 00:45:00.385527: Autoupdate: There is an update pending v8.48.2 PV90 and second pass enabled by default, bug fixes - auto update is off
2026-08-16 00:45:00.411001: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-16 00:45:00.411166: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-16 00:45:00.411408: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-16 00:45:00.412115: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-16 00:45:00.412258: Predbat mode is set to Control charge & discharge
2026-08-16 00:45:00.611049: Found 21602 load_today datapoints going back 28 days
2026-08-16 00:45:00.611191: Using load_power data to fill gaps in load_today data
2026-08-16 00:45:01.308540: Processing 721 30-minute periods for power integration
2026-08-16 00:45:01.465461: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-16 00:45:01.466031: Car charging hold False, threshold 6.0kWh
2026-08-16 00:45:01.466091: Current data so far today: load 0.7kWh, import 0.0kWh, export 0.0kWh, PV 0kWh
2026-08-16 00:45:01.478296: Cars: SoC: [8.204]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-16 00:45:01.478725: Standing charge is set to 49.98p
2026-08-16 00:45:01.513587: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-16 00:45:01.513715: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-16 00:45:01.514003: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 45.0 minutes
2026-08-16 00:45:01.514457: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-17&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 44.8 minutes
2026-08-16 00:45:01.518834: Loaded 47 datapoints of futurerate analysis
2026-08-16 00:45:01.618112: Predicted future rates: ['08-16 00:00:00 => 28.52 / 19.97', '08-16 01:00:00 => 27.43 / 19.41', '08-16 02:00:00 => 26.47 / 18.92', '08-16 03:00:00 => 26.1 / 18.73', '08-16 04:00:00 => 26.04 / 18.7', '08-16 05:00:00 => 25.95 / 18.65', '08-16 06:00:00 => 25.71 / 18.53', '08-16 07:00:00 => 25.37 / 18.35', '08-16 08:00:00 => 24.58 / 17.94', '08-16 09:00:00 => 24.0 / 17.64', '08-16 10:00:00 => 24.54 / 17.92', '08-16 11:00:00 => 24.44 / 17.87', '08-16 12:00:00 => 23.53 / 17.4', '08-16 13:00:00 => 22.89 / 17.07', '08-16 14:00:00 => 21.77 / 16.49', '08-16 15:00:00 => 21.77 / 16.49', '08-16 16:00:00 => 36.89 / 18.3', '08-16 17:00:00 => 39.85 / 19.83', '08-16 18:00:00 => 43.87 / 21.9', '08-16 19:00:00 => 32.69 / 22.13', '08-16 20:00:00 => 33.46 / 22.53', '08-16 21:00:00 => 33.37 / 22.48', '08-16 22:00:00 => 32.01 / 21.78']
2026-08-16 00:45:01.671227: Rate min forward looking: now 21.41p at end of forecast 21.41p
2026-08-16 00:45:01.671737: Import rates: min 21.41p, max 45.28p, average 28.73p
2026-08-16 00:45:01.715847: Export rates: min 0p, max 0p, average 0.0p
2026-08-16 00:45:01.715981: Rate thresholds (for charge/export) are import 44.78p (0.0p), export -0.1p (0.0p)
2026-08-16 00:45:01.717061: High export rate found rates in range 99p to -99p
2026-08-16 00:45:01.798092: Low Import rate found rates in range 21.41p to 44.34p
2026-08-16 00:45:01.798251: Car 0 charging is not planned as it is not plugged in
2026-08-16 00:45:01.814603: Battery level now 11.39kWh, -1hr ago 12.4kWh, at midnight 12.21kWh, battery value change in the last hour -18.54p, change today -15.01p, rate_forward 18.39p
2026-08-16 00:45:01.815007: 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-16 00:45:01.871656: Today's energy total net 0.0kWh, import 0.0kWh, export 0.0kWh, cost 49.98p, import 0.0p, export 0.0p, carbon 0.0kg
2026-08-16 00:45:01.871785: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-16 00:45:01.936157: Using weighted-bucket historical load forecast over 14 days
2026-08-16 00:45:01.954938: Today's load divergence 100.0%, in-day adjustment 82.97%, damping 0.95x, yesterday 82.97% today 100.0% blend 100.0%
2026-08-16 00:45:01.955038: Today's predicted so far 0.75kWh with 0.0kWh car/iBoost excluded, 0kWh import ignored, and 0.75kWh forecast extra.
2026-08-16 00:45:01.955101: Today's actual load so far 0.64kWh with 0.0kWh car/iBoost excluded, and 0kWh import ignored.
2026-08-16 00:45:01.995044: Inverter 0: Type SK Sunsynk
2026-08-16 00:45:01.995132: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-16 00:45:01.995351: Reserve min: 7%, battery_min: 7%
2026-08-16 00:45:01.995456: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-16 00:45:01.995747: Inverter 0 SoC: 11.39kW 71%, current charge rate 5000W, current discharge rate 5250W, current battery power 559W, current battery voltage 51.2V, grid power -53W, load power 611W, PV Power 0W
2026-08-16 00:45:01.995967: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-16 00:45:01.996103: Inverter 0 scheduled charge enable is False
2026-08-16 00:45:01.996151: Inverter 0 charge windows currently []
2026-08-16 00:45:01.996198: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-16 00:45:01.996327: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-16 00:45:01.996368: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-16 00:45:01.996425: Inverter 0 scheduled discharge enable is False
2026-08-16 00:45:01.996595: Inverter 0 idle time is 08-16 00:00:00-08-16 23:59:00
2026-08-16 00:45:01.996641: Inverter 0 discharge windows currently []
2026-08-16 00:45:01.996677: Note: Inverter does not support discharge freeze - disabled
2026-08-16 00:45:01.996707: Note: Inverter does not support charge freeze - disabled
2026-08-16 00:45:01.996746: Note: Inverter does not support reserve - disabling reserve functions
2026-08-16 00:45:02.057356: Dynamic load last period 1.20kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-16 00:45:02.057493: Plan was last updated on 2026-08-16 00:40:00+01:00 and is now 5.0 minutes old
2026-08-16 00:45:02.057793: Best charge window [ 16-08 08:00:00 - 16-08 08:30:00 @ 24.06p 44%, 16-08 11:30:00 - 16-08 13:30:00 @ 22.83p 34%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 44%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 100%, 16-08 14:30:00 - 16-08 16:00:00 @ 22.56p 72%, 17-08 12:30:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 18-08 00:30:00 @ 28.96p 100% ]
2026-08-16 00:45:02.057835: Best export window [  ]
2026-08-16 00:45:02.058690: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-16 00:45:02.061784: Load divergence over 8.0 hours mean 578.46W, min 288.0W, max 1631.4W, std dev 334.74W, divergence 28.93%
2026-08-16 00:45:02.080931: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-16 00:45:02.081098: LoadML is_calculating False
2026-08-16 00:45:02.081169: Creating pool of 12 processes to match your CPU count
2026-08-16 00:45:02.208065: predict base end_record 08-17 12:35:00, final soc 1.12kWh, metric 408.31p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 19:30:00, load 21.49kWh, PV 0.0kWh
2026-08-16 00:45:02.345783: Battery has 18.75 hours left - now at 11.39kWh
2026-08-16 00:45:02.392717: predict base10 end_record 08-17 12:35:00, final soc 1.12kWh, metric 440.84p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 18:35:00, load 22.48kWh, PV 0.0kWh
2026-08-16 00:45:02.477367: predict best10 end_record 08-17 12:35:00, final soc 1.44kWh, metric 405.74p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 06:15:00, load 22.48kWh, PV 0.0kWh
2026-08-16 00:45:02.565481: predict best end_record 08-17 12:35:00, final soc 1.51kWh, metric 381.75p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 07:15:00, load 21.49kWh, PV 0.0kWh
2026-08-16 00:45:02.566065: Saving plan best values to HA entities
2026-08-16 00:45:02.763142: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-16 00:45:02.768761: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-16 00:45:02.774357: Best charging limit SoC's [7.0, 5.5, 7.0, 16.0, 11.5, 16.0, 16.0]kWh, export []kWh gives import battery 9.32kWh, house 3.15kWh, export 0.0kWh, metric 381.75p, metric10 405.74p
2026-08-16 00:45:02.842435: Marginal costs baseline metric (no standing charge): 331.7706
2026-08-16 00:45:03.080150: Marginal energy costs matrix computed: min=22.54 max=27.37
2026-08-16 00:45:03.156135: Rate array import [{'start': 45, 'end': 960, 'rate': 'cheap', 'range': '(21.4p - 27.4p)'}, {'start': 960, 'end': 990, 'rate': 'expensive', 'range': '(36.8p)'}, {'start': 990, 'end': 1140, 'rate': 'very expensive', 'range': '(37.5p - 45.3p)'}, {'start': 1140, 'end': 1410, 'rate': 'expensive', 'range': '(30.0p - 35.9p)'}, {'start': 1410, 'end': 2195, 'rate': 'cheap', 'range': '(22.3p - 28.2p)'}] export [{'start': 45, 'end': 2195, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-16 00:45:03.156812: - Your estimated bill for today is £2.44 and tomorrow is £7.29
2026-08-16 00:45:03.156856: - Import rates are cheap (21.4p - 27.4p) for the next 15 hours and then expensive (36.8p) for the next 30 minutes.
2026-08-16 00:45:03.156875: - The battery is currently at 71% and is in eco mode for the next 7 and a quarter hours.
2026-08-16 00:45:03.156913: - For the next 48 hours there will be no solar generation.
2026-08-16 00:45:03.156976: - You will run out of battery in 30 hours.
2026-08-16 00:45:03.157019: - Your next charge slot will be in 7 and a quarter hours where import rates will be cheap (24.1p).
2026-08-16 00:45:03.157047: 
2026-08-16 00:45:03.215119: Plan calculation took 1.16 seconds
2026-08-16 00:45:03.218367: No high rate period found
2026-08-16 00:45:03.278195: Import threshold used for optimisation was 25.86p
2026-08-16 00:45:03.342931: Low import rate windows [0: 08-16 00:30:00 - 08-16 01:00:00 @ 27.38, 1: 08-16 01:00:00 - 08-16 01:30:00 @ 26.7, 2: 08-16 01:30:00 - 08-16 02:00:00 @ 26.31, 3: 08-16 02:00:00 - 08-16 02:30:00 @ 25.79, 4: 08-16 02:30:00 - 08-16 03:00:00 @ 25.86, 5: 08-16 03:00:00 - 08-16 03:30:00 @ 26.13, 6: 08-16 03:30:00 - 08-16 04:00:00 @ 25.86, 7: 08-16 04:00:00 - 08-16 04:30:00 @ 26.27, 8: 08-16 04:30:00 - 08-16 05:00:00 @ 26.14, 9: 08-16 05:00:00 - 08-16 05:30:00 @ 27.03, 10: 08-16 05:30:00 - 08-16 06:00:00 @ 26.28, 11: 08-16 06:00:00 - 08-16 06:30:00 @ 25.68, 12: 08-16 06:30:00 - 08-16 07:00:00 @ 26.1, 13: 08-16 07:00:00 - 08-16 07:30:00 @ 24.28, 14: 08-16 07:30:00 - 08-16 08:00:00 @ 24.94, 15: 08-16 08:00:00 - 08-16 08:30:00 @ 24.06, 16: 08-16 08:30:00 - 08-16 09:00:00 @ 24.39, 17: 08-16 09:00:00 - 08-16 09:30:00 @ 24.66, 18: 08-16 09:30:00 - 08-16 10:00:00 @ 24.06, 19: 08-16 10:00:00 - 08-16 10:30:00 @ 25.5, 20: 08-16 10:30:00 - 08-16 11:00:00 @ 24.94, 21: 08-16 11:00:00 - 08-16 11:30:00 @ 24.25, 22: 08-16 11:30:00 - 08-16 12:00:00 @ 23.49, 23: 08-16 12:00:00 - 08-16 12:30:00 @ 23.43, 24: 08-16 12:30:00 - 08-16 13:00:00 @ 22.33, 25: 08-16 13:00:00 - 08-16 13:30:00 @ 22.76, 26: 08-16 13:30:00 - 08-16 14:00:00 @ 22.3, 27: 08-16 14:00:00 - 08-16 14:30:00 @ 21.41, 28: 08-16 14:30:00 - 08-16 15:00:00 @ 21.65, 29: 08-16 15:00:00 - 08-16 15:30:00 @ 22.95, 30: 08-16 15:30:00 - 08-16 16:00:00 @ 22.83, 31: 08-16 16:00:00 - 08-16 16:30:00 @ 36.84, 32: 08-16 16:30:00 - 08-16 17:00:00 @ 37.54, 33: 08-16 17:00:00 - 08-16 17:30:00 @ 41.79, 34: 08-16 17:30:00 - 08-16 18:00:00 @ 43.7, 35: 08-16 18:00:00 - 08-16 18:30:00 @ 44.34, 36: 08-16 19:00:00 - 08-16 19:30:00 @ 34.79, 37: 08-16 19:30:00 - 08-16 20:00:00 @ 34.76, 38: 08-16 20:00:00 - 08-16 20:30:00 @ 35.62, 39: 08-16 20:30:00 - 08-16 21:00:00 @ 35.3, 40: 08-16 21:00:00 - 08-16 21:30:00 @ 35.89, 41: 08-16 21:30:00 - 08-16 22:00:00 @ 35.71, 42: 08-16 22:00:00 - 08-16 22:30:00 @ 33.75, 43: 08-16 22:30:00 - 08-16 23:00:00 @ 32.0, 44: 08-16 23:00:00 - 08-16 23:30:00 @ 30.02, 45: 08-16 23:30:00 - 08-17 00:00:00 @ 27.8, 46: 08-17 00:00:00 - 08-17 00:30:00 @ 28.18, 47: 08-17 00:30:00 - 08-17 01:00:00 @ 27.38, 48: 08-17 01:00:00 - 08-17 01:30:00 @ 26.7, 49: 08-17 01:30:00 - 08-17 02:00:00 @ 26.31, 50: 08-17 02:00:00 - 08-17 02:30:00 @ 25.79, 51: 08-17 02:30:00 - 08-17 03:00:00 @ 25.86, 52: 08-17 03:00:00 - 08-17 03:30:00 @ 26.13, 53: 08-17 03:30:00 - 08-17 04:00:00 @ 25.86, 54: 08-17 04:00:00 - 08-17 04:30:00 @ 26.27, 55: 08-17 04:30:00 - 08-17 05:00:00 @ 26.14, 56: 08-17 05:00:00 - 08-17 05:30:00 @ 27.03, 57: 08-17 05:30:00 - 08-17 06:00:00 @ 26.28, 58: 08-17 06:00:00 - 08-17 06:30:00 @ 25.68, 59: 08-17 06:30:00 - 08-17 07:00:00 @ 26.1, 60: 08-17 07:00:00 - 08-17 07:30:00 @ 24.28, 61: 08-17 07:30:00 - 08-17 08:00:00 @ 24.94, 62: 08-17 08:00:00 - 08-17 08:30:00 @ 24.06, 63: 08-17 08:30:00 - 08-17 09:00:00 @ 24.39, 64: 08-17 09:00:00 - 08-17 09:30:00 @ 24.66, 65: 08-17 09:30:00 - 08-17 10:00:00 @ 24.06, 66: 08-17 10:00:00 - 08-17 10:30:00 @ 25.5, 67: 08-17 10:30:00 - 08-17 11:00:00 @ 24.94, 68: 08-17 11:00:00 - 08-17 11:30:00 @ 24.25, 69: 08-17 11:30:00 - 08-17 12:00:00 @ 23.49, 70: 08-17 12:00:00 - 08-17 12:30:00 @ 23.43, 71: 08-17 12:30:00 - 08-17 13:00:00 @ 22.33, 72: 08-17 13:00:00 - 08-17 13:30:00 @ 22.76, 73: 08-17 13:30:00 - 08-17 14:00:00 @ 22.3, 74: 08-17 14:00:00 - 08-17 14:30:00 @ 21.41, 75: 08-17 14:30:00 - 08-17 15:00:00 @ 21.65, 76: 08-17 15:00:00 - 08-17 15:30:00 @ 22.95, 77: 08-17 15:30:00 - 08-17 16:00:00 @ 22.83, 78: 08-17 16:00:00 - 08-17 16:30:00 @ 36.84, 79: 08-17 16:30:00 - 08-17 17:00:00 @ 37.54, 80: 08-17 17:00:00 - 08-17 17:30:00 @ 41.79, 81: 08-17 17:30:00 - 08-17 18:00:00 @ 43.7, 82: 08-17 18:00:00 - 08-17 18:30:00 @ 44.34, 83: 08-17 19:00:00 - 08-17 19:30:00 @ 34.79, 84: 08-17 19:30:00 - 08-17 20:00:00 @ 34.76, 85: 08-17 20:00:00 - 08-17 20:30:00 @ 35.62, 86: 08-17 20:30:00 - 08-17 21:00:00 @ 35.3, 87: 08-17 21:00:00 - 08-17 21:30:00 @ 35.89, 88: 08-17 21:30:00 - 08-17 22:00:00 @ 35.71, 89: 08-17 22:00:00 - 08-17 22:30:00 @ 33.75, 90: 08-17 22:30:00 - 08-17 23:00:00 @ 32.0, 91: 08-17 23:00:00 - 08-17 23:30:00 @ 30.02, 92: 08-17 23:30:00 - 08-18 00:00:00 @ 27.8, 93: 08-18 00:00:00 - 08-18 00:30:00 @ 28.18, 94: 08-18 00:30:00 - 08-18 01:00:00 @ 27.38]
2026-08-16 00:45:03.350275: Inverter 0 Charge window will be: 2026-08-16 08:00:00+01:00 - 2026-08-16 08:30:00+01:00 - current SoC 71%, target 44%
2026-08-16 00:45:03.350471: Inverter 0 disabled charge window while waiting for schedule (now 08-16 00:45:00 target set_window_minutes 30 charge start time 08-16 08:00:00) original inverter start time 08-18 00:00:00
2026-08-16 00:45:03.350647: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-16 00:45:03.350975: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-16 00:45:03.351076: No export window planned
2026-08-16 00:45:03.351187: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-16 00:45:03.351224: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-16 00:45:03.351361: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-16 00:45:03.351575: Inverter 0 not setting charging SoC as we are not within the window (now 08-16 00:45:00 target set_soc_minutes 30 charge start time 08-18 00:00:00)
2026-08-16 00:45:03.351640: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-16 00:45:03.351704: Inverter 0 Current Target SoC is 7%, already at target
2026-08-16 00:45:03.351800: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 00:45:03.351845: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 00:45:03.351873: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 00:45:03.351914: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 00:45:03.351941: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 00:45:03.351967: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 00:45:03.351991: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 00:45:03.352054: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 00:45:03.352083: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 00:45:03.352111: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 00:45:03.352165: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 00:45:03.352191: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 00:45:03.352215: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 00:45:03.352238: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 00:45:03.352258: Inverter 0 count register writes 0
2026-08-16 00:45:03.367599: Will not recompute the plan, it is 5.0 minutes old and max age is 10 minutes
2026-08-16 00:45:03.372297: Total inverter register writes now 826
2026-08-16 00:45:03.404335: Info: Completed run status Demand
2026-08-16 00:45:03.411462: Info: record_status Demand
2026-08-16 00:45:03.418603: Saved current settings to /config/predbat_config.json
2026-08-16 00:45:03.418940: Compare, best tariff: igo_fixed metric 126.72p
2026-08-16 00:45:18.670582: ML Component: Fetching 28 days of load history from ['sensor.sunsynk_day_load_energy']
2026-08-16 00:45:19.759892: Processing 1345 30-minute periods for power integration
2026-08-16 00:45:19.873317: ML Component: Car charging hold False, car energy reported load False
2026-08-16 00:45:19.974028: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-16 00:45:20.081320: ML Temperature data points: 48916
2026-08-16 00:45:20.367299: ML Component: Fetched 8064 load data points, 28.0 days of history
2026-08-16 00:45:20.412334: ML Component: Data fetch completed, load data age 57.0 days, 16561 data points
2026-08-16 00:45:20.412467: ML Component: No training needed, model age is 0.85 hours
2026-08-16 00:45:20.412533: ML Component: Generating predictions load data age 57.0 days, 16561 data points
2026-08-16 00:45:20.563268: ML Predictor: Starting autoregressive prediction loop for 576 steps (48.0 hours), prev_energy value 0.0662 max_dow {0: 0.10210624996256083, 1: 0.10689687554407865, 2: 0.11675312483031303, 3: 0.12371874963529408, 4: 0.16831249989941716, 5: 0.09602222218207186, 6: 0.10714375132601708}
2026-08-16 00:45:27.204008: ML Component: Generated 576 predictions (total 24.07 kWh over 48h)
2026-08-16 00:45:27.237758: ML Component: Prediction cycle completed
2026-08-16 00:45:27.343437: ML Component: Saved 16561 steps (57 days) of history to /config/predbat_ml_history.npz
2026-08-16 00:45:41.598620: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-16 00:45:41.598921: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-16 00:45:41.598973: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-16 00:45:41.599121: Inverter 0 idle time is 08-16 00:00:00-08-16 23:59:00
2026-08-16 00:45:41.599168: Note: Inverter does not support discharge freeze - disabled
2026-08-16 00:45:41.599190: Note: Inverter does not support charge freeze - disabled
2026-08-16 00:45:41.599210: Note: Inverter does not support reserve - disabling reserve functions
2026-08-16 00:47:41.822441: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-16 00:47:41.822755: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-16 00:47:41.822818: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-16 00:47:41.823066: Inverter 0 idle time is 08-16 00:00:00-08-16 23:59:00
2026-08-16 00:47:41.823114: Note: Inverter does not support discharge freeze - disabled
2026-08-16 00:47:41.823143: Note: Inverter does not support charge freeze - disabled
2026-08-16 00:47:41.823179: Note: Inverter does not support reserve - disabling reserve functions
2026-08-16 00:49:42.062379: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-16 00:49:42.062605: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-16 00:49:42.062634: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-16 00:49:42.062766: Inverter 0 idle time is 08-16 00:00:00-08-16 23:59:00
2026-08-16 00:49:42.062799: Note: Inverter does not support discharge freeze - disabled
2026-08-16 00:49:42.062816: Note: Inverter does not support charge freeze - disabled
2026-08-16 00:49:42.062830: Note: Inverter does not support reserve - disabling reserve functions
2026-08-16 00:50:00.155083: --------------- PredBat - update at 2026-08-16 00:50:00+01:00 with clock skew 0 minutes, minutes now 50
2026-08-16 00:50:00.155894: Saved current settings to /config/predbat_config.json
2026-08-16 00:50:00.156047: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 15.0 minutes
2026-08-16 00:50:00.156152: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.2, latest beta is v8.48.2
2026-08-16 00:50:00.156294: Autoupdate: There is an update pending v8.48.2 PV90 and second pass enabled by default, bug fixes - auto update is off
2026-08-16 00:50:00.175602: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-16 00:50:00.175735: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-16 00:50:00.175922: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-16 00:50:00.176455: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-16 00:50:00.176575: Predbat mode is set to Control charge & discharge
2026-08-16 00:50:00.367068: Found 21602 load_today datapoints going back 28 days
2026-08-16 00:50:00.367263: Using load_power data to fill gaps in load_today data
2026-08-16 00:50:01.243772: Processing 721 30-minute periods for power integration
2026-08-16 00:50:01.438807: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-16 00:50:01.438974: Car charging hold False, threshold 6.0kWh
2026-08-16 00:50:01.439021: Current data so far today: load 0.8kWh, import 0.0kWh, export 0.0kWh, PV 0kWh
2026-08-16 00:50:01.454602: Cars: SoC: [8.204]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-16 00:50:01.455199: Standing charge is set to 49.98p
2026-08-16 00:50:01.484427: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-16 00:50:01.484535: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-16 00:50:01.484748: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 50.0 minutes
2026-08-16 00:50:01.485345: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-17&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 49.8 minutes
2026-08-16 00:50:01.489320: Loaded 47 datapoints of futurerate analysis
2026-08-16 00:50:01.575125: Predicted future rates: ['08-16 00:00:00 => 28.52 / 19.97', '08-16 01:00:00 => 27.43 / 19.41', '08-16 02:00:00 => 26.47 / 18.92', '08-16 03:00:00 => 26.1 / 18.73', '08-16 04:00:00 => 26.04 / 18.7', '08-16 05:00:00 => 25.95 / 18.65', '08-16 06:00:00 => 25.71 / 18.53', '08-16 07:00:00 => 25.37 / 18.35', '08-16 08:00:00 => 24.58 / 17.94', '08-16 09:00:00 => 24.0 / 17.64', '08-16 10:00:00 => 24.54 / 17.92', '08-16 11:00:00 => 24.44 / 17.87', '08-16 12:00:00 => 23.53 / 17.4', '08-16 13:00:00 => 22.89 / 17.07', '08-16 14:00:00 => 21.77 / 16.49', '08-16 15:00:00 => 21.77 / 16.49', '08-16 16:00:00 => 36.89 / 18.3', '08-16 17:00:00 => 39.85 / 19.83', '08-16 18:00:00 => 43.87 / 21.9', '08-16 19:00:00 => 32.69 / 22.13', '08-16 20:00:00 => 33.46 / 22.53', '08-16 21:00:00 => 33.37 / 22.48', '08-16 22:00:00 => 32.01 / 21.78']
2026-08-16 00:50:01.637762: Rate min forward looking: now 21.41p at end of forecast 21.41p
2026-08-16 00:50:01.638151: Import rates: min 21.41p, max 45.28p, average 28.73p
2026-08-16 00:50:01.681484: Export rates: min 0p, max 0p, average 0.0p
2026-08-16 00:50:01.681959: Rate thresholds (for charge/export) are import 44.78p (0.0p), export -0.1p (0.0p)
2026-08-16 00:50:01.683333: High export rate found rates in range 99p to -99p
2026-08-16 00:50:01.759586: Low Import rate found rates in range 21.41p to 44.34p
2026-08-16 00:50:01.759729: Car 0 charging is not planned as it is not plugged in
2026-08-16 00:50:01.773531: Battery level now 11.39kWh, -1hr ago 12.4kWh, at midnight 12.21kWh, battery value change in the last hour -18.54p, change today -15.01p, rate_forward 18.39p
2026-08-16 00:50:01.773917: Last hour: net energy 0.0kWh, import 0.0kWh, export 0.0kWh, car 0kWh, load 0.85kWh, net cost 0.0p, import 0.0p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-16 00:50:01.830206: Today's energy total net 0.0kWh, import 0.0kWh, export 0.0kWh, cost 49.98p, import 0.0p, export 0.0p, carbon 0.0kg
2026-08-16 00:50:01.830339: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-16 00:50:01.904659: Using weighted-bucket historical load forecast over 14 days
2026-08-16 00:50:01.925887: Today's load divergence 100.0%, in-day adjustment 82.97%, damping 0.95x, yesterday 82.97% today 100.0% blend 100.0%
2026-08-16 00:50:01.925987: Today's predicted so far 0.81kWh with 0.0kWh car/iBoost excluded, 0kWh import ignored, and 0.81kWh forecast extra.
2026-08-16 00:50:01.926020: Today's actual load so far 0.68kWh with 0.0kWh car/iBoost excluded, and 0kWh import ignored.
2026-08-16 00:50:01.966025: Inverter 0: Type SK Sunsynk
2026-08-16 00:50:01.966131: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-16 00:50:01.966404: Reserve min: 7%, battery_min: 7%
2026-08-16 00:50:01.966526: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-16 00:50:01.966897: Inverter 0 SoC: 11.24kW 70%, current charge rate 5000W, current discharge rate 5250W, current battery power 455W, current battery voltage 51.2V, grid power -54W, load power 508W, PV Power 0W
2026-08-16 00:50:01.967131: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-16 00:50:01.967265: Inverter 0 scheduled charge enable is False
2026-08-16 00:50:01.967327: Inverter 0 charge windows currently []
2026-08-16 00:50:01.967378: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-16 00:50:01.967560: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-16 00:50:01.967604: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-16 00:50:01.967648: Inverter 0 scheduled discharge enable is False
2026-08-16 00:50:01.967885: Inverter 0 idle time is 08-16 00:00:00-08-16 23:59:00
2026-08-16 00:50:01.967930: Inverter 0 discharge windows currently []
2026-08-16 00:50:01.967954: Note: Inverter does not support discharge freeze - disabled
2026-08-16 00:50:01.967986: Note: Inverter does not support charge freeze - disabled
2026-08-16 00:50:01.968032: Note: Inverter does not support reserve - disabling reserve functions
2026-08-16 00:50:02.035972: Dynamic load last period 1.20kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-16 00:50:02.036086: Plan was last updated on 2026-08-16 00:40:00+01:00 and is now 10.0 minutes old
2026-08-16 00:50:02.036513: Best charge window [ 16-08 08:00:00 - 16-08 08:30:00 @ 24.06p 44%, 16-08 11:30:00 - 16-08 13:30:00 @ 22.83p 34%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 44%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 100%, 16-08 14:30:00 - 16-08 16:00:00 @ 22.56p 72%, 17-08 12:30:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 18-08 00:30:00 @ 28.96p 100% ]
2026-08-16 00:50:02.036572: Best export window [  ]
2026-08-16 00:50:02.037531: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-16 00:50:02.040788: Load divergence over 8.0 hours mean 576.96W, min 297.0W, max 1545.0W, std dev 332.56W, divergence 28.82%
2026-08-16 00:50:02.059118: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-16 00:50:02.059263: LoadML is_calculating False
2026-08-16 00:50:02.059334: Creating pool of 12 processes to match your CPU count
2026-08-16 00:50:02.190168: predict base end_record 08-17 12:40:00, final soc 1.12kWh, metric 411.9p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 19:20:00, load 21.57kWh, PV 0.0kWh
2026-08-16 00:50:02.324593: Battery has 18.5 hours left - now at 11.24kWh
2026-08-16 00:50:02.371706: predict base10 end_record 08-17 12:40:00, final soc 1.12kWh, metric 445.22p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 18:30:00, load 22.56kWh, PV 0.0kWh
2026-08-16 00:50:02.456901: predict best10 end_record 08-17 12:40:00, final soc 1.77kWh, metric 416.58p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 06:20:00, load 22.56kWh, PV 0.0kWh
2026-08-16 00:50:02.556659: predict best end_record 08-17 12:40:00, final soc 1.9kWh, metric 393.95p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 07:20:00, load 21.57kWh, PV 0.0kWh
2026-08-16 00:50:02.556768: Saving plan best values to HA entities
2026-08-16 00:50:02.763742: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-16 00:50:02.769652: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-16 00:50:02.775969: Best charging limit SoC's [7.0, 5.5, 7.0, 16.0, 11.5, 16.0, 16.0]kWh, export []kWh gives import battery 9.88kWh, house 3.14kWh, export 0.0kWh, metric 393.95p, metric10 416.58p
2026-08-16 00:50:02.850870: Marginal costs baseline metric (no standing charge): 343.968
2026-08-16 00:50:03.136016: Marginal energy costs matrix computed: min=22.54 max=27.52
2026-08-16 00:50:03.216896: Rate array import [{'start': 50, 'end': 960, 'rate': 'cheap', 'range': '(21.4p - 27.4p)'}, {'start': 960, 'end': 990, 'rate': 'expensive', 'range': '(36.8p)'}, {'start': 990, 'end': 1140, 'rate': 'very expensive', 'range': '(37.5p - 45.3p)'}, {'start': 1140, 'end': 1410, 'rate': 'expensive', 'range': '(30.0p - 35.9p)'}, {'start': 1410, 'end': 2200, 'rate': 'cheap', 'range': '(22.3p - 28.2p)'}] export [{'start': 50, 'end': 2200, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-16 00:50:03.217742: - Your estimated bill for today is £2.46 and tomorrow is £7.29
2026-08-16 00:50:03.217800: - Import rates are cheap (21.4p - 27.4p) for the next 15 hours and then expensive (36.8p) for the next 30 minutes.
2026-08-16 00:50:03.217829: - The battery is currently at 70% and is in eco mode for the next 7 and a quarter hours.
2026-08-16 00:50:03.217889: - For the next 48 hours there will be no solar generation.
2026-08-16 00:50:03.217917: - You will run out of battery in 30 hours.
2026-08-16 00:50:03.217935: - Your next charge slot will be in 7 and a quarter hours where import rates will be cheap (24.1p).
2026-08-16 00:50:03.217969: 
2026-08-16 00:50:03.281720: Plan calculation took 1.25 seconds
2026-08-16 00:50:03.284917: No high rate period found
2026-08-16 00:50:03.352046: Import threshold used for optimisation was 25.86p
2026-08-16 00:50:03.412873: Low import rate windows [0: 08-16 00:30:00 - 08-16 01:00:00 @ 27.38, 1: 08-16 01:00:00 - 08-16 01:30:00 @ 26.7, 2: 08-16 01:30:00 - 08-16 02:00:00 @ 26.31, 3: 08-16 02:00:00 - 08-16 02:30:00 @ 25.79, 4: 08-16 02:30:00 - 08-16 03:00:00 @ 25.86, 5: 08-16 03:00:00 - 08-16 03:30:00 @ 26.13, 6: 08-16 03:30:00 - 08-16 04:00:00 @ 25.86, 7: 08-16 04:00:00 - 08-16 04:30:00 @ 26.27, 8: 08-16 04:30:00 - 08-16 05:00:00 @ 26.14, 9: 08-16 05:00:00 - 08-16 05:30:00 @ 27.03, 10: 08-16 05:30:00 - 08-16 06:00:00 @ 26.28, 11: 08-16 06:00:00 - 08-16 06:30:00 @ 25.68, 12: 08-16 06:30:00 - 08-16 07:00:00 @ 26.1, 13: 08-16 07:00:00 - 08-16 07:30:00 @ 24.28, 14: 08-16 07:30:00 - 08-16 08:00:00 @ 24.94, 15: 08-16 08:00:00 - 08-16 08:30:00 @ 24.06, 16: 08-16 08:30:00 - 08-16 09:00:00 @ 24.39, 17: 08-16 09:00:00 - 08-16 09:30:00 @ 24.66, 18: 08-16 09:30:00 - 08-16 10:00:00 @ 24.06, 19: 08-16 10:00:00 - 08-16 10:30:00 @ 25.5, 20: 08-16 10:30:00 - 08-16 11:00:00 @ 24.94, 21: 08-16 11:00:00 - 08-16 11:30:00 @ 24.25, 22: 08-16 11:30:00 - 08-16 12:00:00 @ 23.49, 23: 08-16 12:00:00 - 08-16 12:30:00 @ 23.43, 24: 08-16 12:30:00 - 08-16 13:00:00 @ 22.33, 25: 08-16 13:00:00 - 08-16 13:30:00 @ 22.76, 26: 08-16 13:30:00 - 08-16 14:00:00 @ 22.3, 27: 08-16 14:00:00 - 08-16 14:30:00 @ 21.41, 28: 08-16 14:30:00 - 08-16 15:00:00 @ 21.65, 29: 08-16 15:00:00 - 08-16 15:30:00 @ 22.95, 30: 08-16 15:30:00 - 08-16 16:00:00 @ 22.83, 31: 08-16 16:00:00 - 08-16 16:30:00 @ 36.84, 32: 08-16 16:30:00 - 08-16 17:00:00 @ 37.54, 33: 08-16 17:00:00 - 08-16 17:30:00 @ 41.79, 34: 08-16 17:30:00 - 08-16 18:00:00 @ 43.7, 35: 08-16 18:00:00 - 08-16 18:30:00 @ 44.34, 36: 08-16 19:00:00 - 08-16 19:30:00 @ 34.79, 37: 08-16 19:30:00 - 08-16 20:00:00 @ 34.76, 38: 08-16 20:00:00 - 08-16 20:30:00 @ 35.62, 39: 08-16 20:30:00 - 08-16 21:00:00 @ 35.3, 40: 08-16 21:00:00 - 08-16 21:30:00 @ 35.89, 41: 08-16 21:30:00 - 08-16 22:00:00 @ 35.71, 42: 08-16 22:00:00 - 08-16 22:30:00 @ 33.75, 43: 08-16 22:30:00 - 08-16 23:00:00 @ 32.0, 44: 08-16 23:00:00 - 08-16 23:30:00 @ 30.02, 45: 08-16 23:30:00 - 08-17 00:00:00 @ 27.8, 46: 08-17 00:00:00 - 08-17 00:30:00 @ 28.18, 47: 08-17 00:30:00 - 08-17 01:00:00 @ 27.38, 48: 08-17 01:00:00 - 08-17 01:30:00 @ 26.7, 49: 08-17 01:30:00 - 08-17 02:00:00 @ 26.31, 50: 08-17 02:00:00 - 08-17 02:30:00 @ 25.79, 51: 08-17 02:30:00 - 08-17 03:00:00 @ 25.86, 52: 08-17 03:00:00 - 08-17 03:30:00 @ 26.13, 53: 08-17 03:30:00 - 08-17 04:00:00 @ 25.86, 54: 08-17 04:00:00 - 08-17 04:30:00 @ 26.27, 55: 08-17 04:30:00 - 08-17 05:00:00 @ 26.14, 56: 08-17 05:00:00 - 08-17 05:30:00 @ 27.03, 57: 08-17 05:30:00 - 08-17 06:00:00 @ 26.28, 58: 08-17 06:00:00 - 08-17 06:30:00 @ 25.68, 59: 08-17 06:30:00 - 08-17 07:00:00 @ 26.1, 60: 08-17 07:00:00 - 08-17 07:30:00 @ 24.28, 61: 08-17 07:30:00 - 08-17 08:00:00 @ 24.94, 62: 08-17 08:00:00 - 08-17 08:30:00 @ 24.06, 63: 08-17 08:30:00 - 08-17 09:00:00 @ 24.39, 64: 08-17 09:00:00 - 08-17 09:30:00 @ 24.66, 65: 08-17 09:30:00 - 08-17 10:00:00 @ 24.06, 66: 08-17 10:00:00 - 08-17 10:30:00 @ 25.5, 67: 08-17 10:30:00 - 08-17 11:00:00 @ 24.94, 68: 08-17 11:00:00 - 08-17 11:30:00 @ 24.25, 69: 08-17 11:30:00 - 08-17 12:00:00 @ 23.49, 70: 08-17 12:00:00 - 08-17 12:30:00 @ 23.43, 71: 08-17 12:30:00 - 08-17 13:00:00 @ 22.33, 72: 08-17 13:00:00 - 08-17 13:30:00 @ 22.76, 73: 08-17 13:30:00 - 08-17 14:00:00 @ 22.3, 74: 08-17 14:00:00 - 08-17 14:30:00 @ 21.41, 75: 08-17 14:30:00 - 08-17 15:00:00 @ 21.65, 76: 08-17 15:00:00 - 08-17 15:30:00 @ 22.95, 77: 08-17 15:30:00 - 08-17 16:00:00 @ 22.83, 78: 08-17 16:00:00 - 08-17 16:30:00 @ 36.84, 79: 08-17 16:30:00 - 08-17 17:00:00 @ 37.54, 80: 08-17 17:00:00 - 08-17 17:30:00 @ 41.79, 81: 08-17 17:30:00 - 08-17 18:00:00 @ 43.7, 82: 08-17 18:00:00 - 08-17 18:30:00 @ 44.34, 83: 08-17 19:00:00 - 08-17 19:30:00 @ 34.79, 84: 08-17 19:30:00 - 08-17 20:00:00 @ 34.76, 85: 08-17 20:00:00 - 08-17 20:30:00 @ 35.62, 86: 08-17 20:30:00 - 08-17 21:00:00 @ 35.3, 87: 08-17 21:00:00 - 08-17 21:30:00 @ 35.89, 88: 08-17 21:30:00 - 08-17 22:00:00 @ 35.71, 89: 08-17 22:00:00 - 08-17 22:30:00 @ 33.75, 90: 08-17 22:30:00 - 08-17 23:00:00 @ 32.0, 91: 08-17 23:00:00 - 08-17 23:30:00 @ 30.02, 92: 08-17 23:30:00 - 08-18 00:00:00 @ 27.8, 93: 08-18 00:00:00 - 08-18 00:30:00 @ 28.18, 94: 08-18 00:30:00 - 08-18 01:00:00 @ 27.38]
2026-08-16 00:50:03.419450: Inverter 0 Charge window will be: 2026-08-16 08:00:00+01:00 - 2026-08-16 08:30:00+01:00 - current SoC 70%, target 44%
2026-08-16 00:50:03.419587: Inverter 0 disabled charge window while waiting for schedule (now 08-16 00:50:00 target set_window_minutes 30 charge start time 08-16 08:00:00) original inverter start time 08-18 00:00:00
2026-08-16 00:50:03.419709: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-16 00:50:03.419996: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-16 00:50:03.420090: No export window planned
2026-08-16 00:50:03.420201: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-16 00:50:03.420264: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-16 00:50:03.420402: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-16 00:50:03.420587: Inverter 0 not setting charging SoC as we are not within the window (now 08-16 00:50:00 target set_soc_minutes 30 charge start time 08-18 00:00:00)
2026-08-16 00:50:03.420650: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-16 00:50:03.420711: Inverter 0 Current Target SoC is 7%, already at target
2026-08-16 00:50:03.420814: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 00:50:03.420876: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 00:50:03.420908: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 00:50:03.420939: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 00:50:03.421013: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 00:50:03.421043: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 00:50:03.421071: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 00:50:03.421136: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 00:50:03.421172: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 00:50:03.421198: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 00:50:03.421223: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 00:50:03.421247: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 00:50:03.421276: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 00:50:03.421300: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 00:50:03.421321: Inverter 0 count register writes 0
2026-08-16 00:50:03.437426: Will recompute the plan as it is now 10.0 minutes old and will exceed the max age of 10 minutes before the next run
2026-08-16 00:50:03.437606: Recompute is saving previous plan...
2026-08-16 00:50:03.440121: Best charge window [ 16-08 00:30:00 - 16-08 01:00:00 @ 27.38p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 26.7p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.31p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.79p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 25.86p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.13p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 25.86p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.27p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.14p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 27.03p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.28p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.68p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 26.1p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 24.28p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 24.94p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.06p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.39p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.66p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.06p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 25.5p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 24.94p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 24.25p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 23.49p 0%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.43p 0%, 16-08 12:30:00 - 16-08 13:00:00 @ 22.33p 0%, 16-08 13:00:00 - 16-08 13:30:00 @ 22.76p 0%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 0%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 0%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.65p 0%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.95p 0%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.83p 0%, 16-08 16:00:00 - 16-08 16:30:00 @ 36.84p 0%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.54p 0%, 16-08 17:00:00 - 16-08 17:30:00 @ 41.79p 0%, 16-08 17:30:00 - 16-08 18:00:00 @ 43.7p 0%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.34p 0%, 16-08 19:00:00 - 16-08 19:30:00 @ 34.79p 0%, 16-08 19:30:00 - 16-08 20:00:00 @ 34.76p 0%, 16-08 20:00:00 - 16-08 20:30:00 @ 35.62p 0%, 16-08 20:30:00 - 16-08 21:00:00 @ 35.3p 0%, 16-08 21:00:00 - 16-08 21:30:00 @ 35.89p 0%, 16-08 21:30:00 - 16-08 22:00:00 @ 35.71p 0%, 16-08 22:00:00 - 16-08 22:30:00 @ 33.75p 0%, 16-08 22:30:00 - 16-08 23:00:00 @ 32.0p 0%, 16-08 23:00:00 - 16-08 23:30:00 @ 30.02p 0%, 16-08 23:30:00 - 17-08 00:00:00 @ 27.8p 0%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.18p 0%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.38p 0%, 17-08 01:00:00 - 17-08 01:30:00 @ 26.7p 0%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.31p 0%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.79p 0%, 17-08 02:30:00 - 17-08 03:00:00 @ 25.86p 0%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.13p 0%, 17-08 03:30:00 - 17-08 04:00:00 @ 25.86p 0%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.27p 0%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.14p 0%, 17-08 05:00:00 - 17-08 05:30:00 @ 27.03p 0%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.28p 0%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.68p 0%, 17-08 06:30:00 - 17-08 07:00:00 @ 26.1p 0%, 17-08 07:00:00 - 17-08 07:30:00 @ 24.28p 0%, 17-08 07:30:00 - 17-08 08:00:00 @ 24.94p 0%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.06p 0%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.39p 0%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.66p 0%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.06p 0%, 17-08 10:00:00 - 17-08 10:30:00 @ 25.5p 0%, 17-08 10:30:00 - 17-08 11:00:00 @ 24.94p 0%, 17-08 11:00:00 - 17-08 11:30:00 @ 24.25p 0%, 17-08 11:30:00 - 17-08 12:00:00 @ 23.49p 0%, 17-08 12:00:00 - 17-08 12:30:00 @ 23.43p 0%, 17-08 12:30:00 - 17-08 13:00:00 @ 22.33p 0%, 17-08 13:00:00 - 17-08 13:30:00 @ 22.76p 0%, 17-08 13:30:00 - 17-08 14:00:00 @ 22.3p 0%, 17-08 14:00:00 - 17-08 14:30:00 @ 21.41p 0%, 17-08 14:30:00 - 17-08 15:00:00 @ 21.65p 0%, 17-08 15:00:00 - 17-08 15:30:00 @ 22.95p 0%, 17-08 15:30:00 - 17-08 16:00:00 @ 22.83p 0%, 17-08 16:00:00 - 17-08 16:30:00 @ 36.84p 0%, 17-08 16:30:00 - 17-08 17:00:00 @ 37.54p 0%, 17-08 17:00:00 - 17-08 17:30:00 @ 41.79p 0%, 17-08 17:30:00 - 17-08 18:00:00 @ 43.7p 0%, 17-08 18:00:00 - 17-08 18:30:00 @ 44.34p 0%, 17-08 19:00:00 - 17-08 19:30:00 @ 34.79p 0%, 17-08 19:30:00 - 17-08 20:00:00 @ 34.76p 0%, 17-08 20:00:00 - 17-08 20:30:00 @ 35.62p 0%, 17-08 20:30:00 - 17-08 21:00:00 @ 35.3p 0%, 17-08 21:00:00 - 17-08 21:30:00 @ 35.89p 0%, 17-08 21:30:00 - 17-08 22:00:00 @ 35.71p 0%, 17-08 22:00:00 - 17-08 22:30:00 @ 33.75p 0%, 17-08 22:30:00 - 17-08 23:00:00 @ 32.0p 0%, 17-08 23:00:00 - 17-08 23:30:00 @ 30.02p 0%, 17-08 23:30:00 - 18-08 00:00:00 @ 27.8p 0%, 18-08 00:00:00 - 18-08 00:30:00 @ 28.18p 0%, 18-08 00:30:00 - 18-08 01:00:00 @ 27.38p 0% ]
2026-08-16 00:50:03.440186: Best export window [  ]
2026-08-16 00:50:03.440859: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-16 00:50:03.443439: Load divergence over 8.0 hours mean 576.96W, min 297.0W, max 1545.0W, std dev 332.56W, divergence 28.82%
2026-08-16 00:50:03.457717: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-16 00:50:03.457852: LoadML is_calculating False
2026-08-16 00:50:03.457922: Creating pool of 12 processes to match your CPU count
2026-08-16 00:50:03.544358: Calculate Best options: mode(Control charge & discharge), calculate_export_oncharge(False), calculate_export_on_pv(True), set_export_freeze_only(False), set_discharge_during_charge(True), combine_charge_slots(False), combine_export_slots(False), combine_rate_threshold(0.0), best_soc_min(0.0 kWh), best_soc_max(0.0 kWh), best_soc_keep(0.0 kWh), inverter_loss(4%), battery_loss(3%), battery_loss_discharge (3%), inverter_hybrid(True), metric_min_improvement(0.0p), metric_min_improvement_export(0.1p), metric_min_improvement_export_freeze(0.1p), metric_battery_cycle(0.0p/kWh), metric_battery_value_scaling(1.0 x) 
2026-08-16 00:50:03.546563: Optimise levels pass started at 2026-08-16 00:50:03
2026-08-16 00:50:03.546626: Optimise all windows, total charge 94 export 1
2026-08-16 00:50:04.469531: >> Region optimisation pass width 960 gives best_metric 530.35p, best_cost 544.7p, best_cycle 38.97kWh, best_import 21.92kWh
2026-08-16 00:50:04.858356: >> Region optimisation pass width 480 gives best_metric 530.35p, best_cost 544.7p, best_cycle 38.97kWh, best_import 21.92kWh
2026-08-16 00:50:05.572092: >> Region optimisation pass width 240 gives best_metric 529.26p, best_cost 543.28p, best_cycle 38.3kWh, best_import 21.87kWh
2026-08-16 00:50:06.760072: >> Region optimisation pass width 120 gives best_metric 529.26p, best_cost 543.28p, best_cycle 38.3kWh, best_import 21.87kWh
2026-08-16 00:50:06.760547: Calculated end_record as 08-17 12:30:00 based on best_price 22.33p, next_charge_start 08-16 12:30:00, max_windows 71
2026-08-16 00:50:06.760626: Optimise levels pass ended at 2026-08-16 00:50:06, duration 3.2 seconds tried 348 combinations
2026-08-16 00:50:06.760691: Set best_price_charge_level 24.0p, best_price_export_level 0p, best_price_charge 22.33p, best_cost_export 0p, best_metric 529.26p, best_keep 0kWh, best_cycle 38.3kWh, best_carbon 0kg, best_import 21.87kWh
2026-08-16 00:50:06.781014: Starting detailed optimisation end_record 08-17 12:30:00, best_price_charge 22.33p, best_price_export 0p. lowest_price_charge 21.41p with charge limits [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5.0, 0, 12.0, 12.0, 12.0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0]kWh and export limits []kWh
2026-08-16 00:50:11.651231: Tweak plan optimisation started metric 307.3p, cost 324.09p
2026-08-16 00:50:12.014532: Tweak optimisation finished metric 307.3p, cost 324.09p, metric_keep 0kWh, cycle 23.49kWh, carbon 0kg, import 12.2kWh, changed 8 window(s)
2026-08-16 00:50:12.034264: Swap charge optimisation started metric 307.3p, cost 324.09p, min_improvement_swap 0.1p
2026-08-16 00:50:18.910424: Swap charge optimisation finished metric 307.3p, cost 324.09p
2026-08-16 00:50:19.001874: Pruned 1 dead plan slot(s) in 9 trial(s), nominal metric 303.49p -> 303.49p, plan now metric 307.35p, cost 324.09p, cycle 23.49kWh, import 12.2kWh
2026-08-16 00:50:19.011452: Raw charge windows [ 16-08 00:30:00 - 16-08 01:00:00 @ 27.38p 0%, 16-08 01:00:00 - 16-08 01:30:00 @ 26.7p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.31p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.79p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 25.86p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.13p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 25.86p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.27p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.14p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 27.03p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.28p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.68p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 26.1p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 24.28p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 24.94p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.06p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.39p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.66p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.06p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 25.5p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 24.94p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 24.25p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 23.49p 34%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.43p 0%, 16-08 12:30:00 - 16-08 13:00:00 @ 22.33p 31%, 16-08 13:00:00 - 16-08 13:30:00 @ 22.76p 31%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 47%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 100%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.65p 75%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.95p 75%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.83p 75%, 16-08 16:00:00 - 16-08 16:30:00 @ 36.84p 0%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.54p 0%, 16-08 17:00:00 - 16-08 17:30:00 @ 41.79p 0%, 16-08 17:30:00 - 16-08 18:00:00 @ 43.7p 0%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.34p 0%, 16-08 19:00:00 - 16-08 19:30:00 @ 34.79p 0%, 16-08 19:30:00 - 16-08 20:00:00 @ 34.76p 0%, 16-08 20:00:00 - 16-08 20:30:00 @ 35.62p 0%, 16-08 20:30:00 - 16-08 21:00:00 @ 35.3p 0%, 16-08 21:00:00 - 16-08 21:30:00 @ 35.89p 0%, 16-08 21:30:00 - 16-08 22:00:00 @ 35.71p 0%, 16-08 22:00:00 - 16-08 22:30:00 @ 33.75p 0%, 16-08 22:30:00 - 16-08 23:00:00 @ 32.0p 0%, 16-08 23:00:00 - 16-08 23:30:00 @ 30.02p 0%, 16-08 23:30:00 - 17-08 00:00:00 @ 27.8p 0%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.18p 0%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.38p 0%, 17-08 01:00:00 - 17-08 01:30:00 @ 26.7p 0%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.31p 0%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.79p 0%, 17-08 02:30:00 - 17-08 03:00:00 @ 25.86p 0%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.13p 0%, 17-08 03:30:00 - 17-08 04:00:00 @ 25.86p 0%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.27p 0%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.14p 0%, 17-08 05:00:00 - 17-08 05:30:00 @ 27.03p 0%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.28p 0%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.68p 0%, 17-08 06:30:00 - 17-08 07:00:00 @ 26.1p 0%, 17-08 07:00:00 - 17-08 07:30:00 @ 24.28p 0%, 17-08 07:30:00 - 17-08 08:00:00 @ 24.94p 0%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.06p 0%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.39p 0%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.66p 0%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.06p 0%, 17-08 10:00:00 - 17-08 10:30:00 @ 25.5p 0%, 17-08 10:30:00 - 17-08 11:00:00 @ 24.94p 0%, 17-08 11:00:00 - 17-08 11:30:00 @ 24.25p 0%, 17-08 11:30:00 - 17-08 12:00:00 @ 23.49p 0%, 17-08 12:00:00 - 17-08 12:30:00 @ 23.43p 0%, 17-08 12:30:00 - 17-08 13:00:00 @ 22.33p 100%, 17-08 13:00:00 - 17-08 13:30:00 @ 22.76p 100%, 17-08 13:30:00 - 17-08 14:00:00 @ 22.3p 100%, 17-08 14:00:00 - 17-08 14:30:00 @ 21.41p 100%, 17-08 14:30:00 - 17-08 15:00:00 @ 21.65p 100%, 17-08 15:00:00 - 17-08 15:30:00 @ 22.95p 100%, 17-08 15:30:00 - 17-08 16:00:00 @ 22.83p 100%, 17-08 16:00:00 - 17-08 16:30:00 @ 36.84p 100%, 17-08 16:30:00 - 17-08 17:00:00 @ 37.54p 100%, 17-08 17:00:00 - 17-08 17:30:00 @ 41.79p 100%, 17-08 17:30:00 - 17-08 18:00:00 @ 43.7p 100%, 17-08 18:00:00 - 17-08 18:30:00 @ 44.34p 100%, 17-08 19:00:00 - 17-08 19:30:00 @ 34.79p 100%, 17-08 19:30:00 - 17-08 20:00:00 @ 34.76p 100%, 17-08 20:00:00 - 17-08 20:30:00 @ 35.62p 100%, 17-08 20:30:00 - 17-08 21:00:00 @ 35.3p 100%, 17-08 21:00:00 - 17-08 21:30:00 @ 35.89p 100%, 17-08 21:30:00 - 17-08 22:00:00 @ 35.71p 100%, 17-08 22:00:00 - 17-08 22:30:00 @ 33.75p 100%, 17-08 22:30:00 - 17-08 23:00:00 @ 32.0p 100%, 17-08 23:00:00 - 17-08 23:30:00 @ 30.02p 100%, 17-08 23:30:00 - 18-08 00:00:00 @ 27.8p 100%, 18-08 00:00:00 - 18-08 00:30:00 @ 28.18p 100%, 18-08 00:30:00 - 18-08 01:00:00 @ 27.38p 100% ] reserve 1.12
2026-08-16 00:50:19.012029: Unclipped charge windows [ 16-08 11:30:00 - 16-08 12:00:00 @ 23.49p 34%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 31%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 47%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 100%, 16-08 14:30:00 - 16-08 16:00:00 @ 22.56p 75%, 17-08 12:30:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 18-08 01:00:00 @ 28.17p 100% ] reserve 1.12
2026-08-16 00:50:19.012320: Unfiltered charge windows [ 16-08 11:30:00 - 16-08 12:00:00 @ 23.49p 34%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 31%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 47%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 100%, 16-08 14:30:00 - 16-08 16:00:00 @ 22.56p 75%, 17-08 12:30:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 18-08 01:00:00 @ 28.17p 100% ] reserve 1.12
2026-08-16 00:50:19.012569: Filtered charge windows [ 16-08 11:30:00 - 16-08 12:00:00 @ 23.49p 34%, 16-08 12:30:00 - 16-08 13:30:00 @ 22.55p 31%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 47%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 100%, 16-08 14:30:00 - 16-08 16:00:00 @ 22.56p 75%, 17-08 12:30:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 18-08 01:00:00 @ 28.17p 100% ] reserve 1.12
2026-08-16 00:50:19.043544: Previous plan best metric is 305.81 (cost 322.58) and new plan best metric is 307.3 (cost 324.09)
2026-08-16 00:50:19.043771: New plan metric is not significantly better (metric_min_improvement_plan 2.0) than previous plan, using previous plan
2026-08-16 00:50:19.043970: Plan valid is now true after recompute was False
2026-08-16 00:50:19.066864: predict base end_record 08-17 12:30:00, final soc 1.12kWh, metric 409.13p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 19:20:00, load 21.45kWh, PV 0.0kWh
2026-08-16 00:50:19.180053: Battery has 18.5 hours left - now at 11.24kWh
2026-08-16 00:50:19.219943: predict base10 end_record 08-17 12:30:00, final soc 1.12kWh, metric 442.3p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 18:30:00, load 22.43kWh, PV 0.0kWh
2026-08-16 00:50:19.298586: predict best10 end_record 08-17 12:30:00, final soc 1.12kWh, metric 398.16p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 06:20:00, load 22.43kWh, PV 0.0kWh
2026-08-16 00:50:19.380402: predict best end_record 08-17 12:30:00, final soc 1.12kWh, metric 372.56p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 07:20:00, load 21.45kWh, PV 0.0kWh
2026-08-16 00:50:19.380495: Saving plan best values to HA entities
2026-08-16 00:50:19.550433: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-16 00:50:19.556396: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-16 00:50:19.562718: Best charging limit SoC's [7.0, 5.5, 7.0, 16.0, 11.5, 16.0, 16.0]kWh, export []kWh gives import battery 8.92kWh, house 3.14kWh, export 0.0kWh, metric 372.56p, metric10 398.16p
2026-08-16 00:50:19.636632: Marginal costs baseline metric (no standing charge): 322.5784
2026-08-16 00:50:19.891188: Marginal energy costs matrix computed: min=22.54 max=27.52
2026-08-16 00:50:19.964094: Rate array import [{'start': 50, 'end': 960, 'rate': 'cheap', 'range': '(21.4p - 27.4p)'}, {'start': 960, 'end': 990, 'rate': 'expensive', 'range': '(36.8p)'}, {'start': 990, 'end': 1140, 'rate': 'very expensive', 'range': '(37.5p - 45.3p)'}, {'start': 1140, 'end': 1410, 'rate': 'expensive', 'range': '(30.0p - 35.9p)'}, {'start': 1410, 'end': 2190, 'rate': 'cheap', 'range': '(23.4p - 28.2p)'}] export [{'start': 50, 'end': 2190, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-16 00:50:19.964824: - Your estimated bill for today is £2.46 and tomorrow is £7.29
2026-08-16 00:50:19.965666: - Import rates are cheap (21.4p - 27.4p) for the next 15 hours and then expensive (36.8p) for the next 30 minutes.
2026-08-16 00:50:19.965712: - The battery is currently at 70% and is in eco mode for the next 7 and a quarter hours.
2026-08-16 00:50:19.965730: - For the next 48 hours there will be no solar generation.
2026-08-16 00:50:19.965744: - You will run out of battery in 30 hours.
2026-08-16 00:50:19.965758: - Your next charge slot will be in 7 and a quarter hours where import rates will be cheap (24.1p).
2026-08-16 00:50:19.965794: 
2026-08-16 00:50:20.021492: Plan calculation took 16.58 seconds
2026-08-16 00:50:20.021861: Inverter 0: Type SK Sunsynk
2026-08-16 00:50:20.021910: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-16 00:50:20.022113: Reserve min: 7%, battery_min: 7%
2026-08-16 00:50:20.022182: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-16 00:50:20.022464: Inverter 0 SoC: 11.24kW 70%, current charge rate 5000W, current discharge rate 5250W, current battery power 455W, current battery voltage 51.2V, grid power -54W, load power 508W, PV Power 0W
2026-08-16 00:50:20.022676: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-16 00:50:20.022773: Inverter 0 scheduled charge enable is False
2026-08-16 00:50:20.022807: Inverter 0 charge windows currently []
2026-08-16 00:50:20.022849: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-16 00:50:20.022949: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-16 00:50:20.022978: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-16 00:50:20.023010: Inverter 0 scheduled discharge enable is False
2026-08-16 00:50:20.023145: Inverter 0 idle time is 08-16 00:00:00-08-16 23:59:00
2026-08-16 00:50:20.023178: Inverter 0 discharge windows currently []
2026-08-16 00:50:20.023199: Note: Inverter does not support discharge freeze - disabled
2026-08-16 00:50:20.023218: Note: Inverter does not support charge freeze - disabled
2026-08-16 00:50:20.023232: Note: Inverter does not support reserve - disabling reserve functions
2026-08-16 00:50:20.101064: Inverter 0 Charge window will be: 2026-08-16 08:00:00+01:00 - 2026-08-16 08:30:00+01:00 - current SoC 70%, target 44%
2026-08-16 00:50:20.101225: Inverter 0 disabled charge window while waiting for schedule (now 08-16 00:50:00 target set_window_minutes 30 charge start time 08-16 08:00:00) original inverter start time 08-18 00:00:00
2026-08-16 00:50:20.101330: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-16 00:50:20.101585: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-16 00:50:20.101694: No export window planned
2026-08-16 00:50:20.101887: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-16 00:50:20.101934: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-16 00:50:20.102131: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-16 00:50:20.102345: Inverter 0 not setting charging SoC as we are not within the window (now 08-16 00:50:00 target set_soc_minutes 30 charge start time 08-18 00:00:00)
2026-08-16 00:50:20.102407: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-16 00:50:20.102506: Inverter 0 Current Target SoC is 7%, already at target
2026-08-16 00:50:20.102751: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 00:50:20.102813: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 00:50:20.102884: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 00:50:20.102941: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 00:50:20.102986: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 00:50:20.103039: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 00:50:20.103124: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 00:50:20.103242: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 00:50:20.103295: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 00:50:20.103341: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 00:50:20.103395: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 00:50:20.103449: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 00:50:20.103510: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 00:50:20.103573: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 00:50:20.103622: Inverter 0 count register writes 0
2026-08-16 00:50:20.132600: Total inverter register writes now 826
2026-08-16 00:50:20.168166: Info: Completed run status Demand
2026-08-16 00:50:20.174524: Info: record_status Demand
2026-08-16 00:50:20.181016: Saved current settings to /config/predbat_config.json
2026-08-16 00:50:20.181389: Compare, best tariff: igo_fixed metric 126.72p
2026-08-16 00:50:57.295271: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-16 00:50:57.295520: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-16 00:50:57.295561: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-16 00:50:57.295737: Inverter 0 idle time is 08-16 00:00:00-08-16 23:59:00
2026-08-16 00:50:57.295787: Note: Inverter does not support discharge freeze - disabled
2026-08-16 00:50:57.295856: Note: Inverter does not support charge freeze - disabled
2026-08-16 00:50:57.295887: Note: Inverter does not support reserve - disabling reserve functions
2026-08-16 00:53:11.530356: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-16 00:53:11.530597: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-16 00:53:11.531116: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-16 00:53:11.531303: Inverter 0 idle time is 08-16 00:00:00-08-16 23:59:00
2026-08-16 00:53:11.531339: Note: Inverter does not support discharge freeze - disabled
2026-08-16 00:53:11.531357: Note: Inverter does not support charge freeze - disabled
2026-08-16 00:53:11.531371: Note: Inverter does not support reserve - disabling reserve functions
2026-08-16 00:55:00.735047: --------------- PredBat - update at 2026-08-16 00:55:00+01:00 with clock skew 0 minutes, minutes now 55
2026-08-16 00:55:00.735949: Saved current settings to /config/predbat_config.json
2026-08-16 00:55:00.736135: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 20.0 minutes
2026-08-16 00:55:00.736288: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.2, latest beta is v8.48.2
2026-08-16 00:55:00.736409: Autoupdate: There is an update pending v8.48.2 PV90 and second pass enabled by default, bug fixes - auto update is off
2026-08-16 00:55:00.756228: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-16 00:55:00.756364: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-16 00:55:00.756560: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-16 00:55:00.757171: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-16 00:55:00.757300: Predbat mode is set to Control charge & discharge
2026-08-16 00:55:00.943266: Found 21602 load_today datapoints going back 28 days
2026-08-16 00:55:00.943409: Using load_power data to fill gaps in load_today data
2026-08-16 00:55:01.793227: Processing 721 30-minute periods for power integration
2026-08-16 00:55:01.981732: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-16 00:55:01.981872: Car charging hold False, threshold 6.0kWh
2026-08-16 00:55:01.981937: Current data so far today: load 0.9kWh, import 0.0kWh, export 0.0kWh, PV 0kWh
2026-08-16 00:55:01.996666: Cars: SoC: [8.204]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-16 00:55:01.997112: Standing charge is set to 49.98p
2026-08-16 00:55:02.024272: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-16 00:55:02.024376: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-16 00:55:02.024584: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 55.0 minutes
2026-08-16 00:55:02.025106: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-17&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 54.8 minutes
2026-08-16 00:55:02.028098: Loaded 47 datapoints of futurerate analysis
2026-08-16 00:55:02.114051: Predicted future rates: ['08-16 00:00:00 => 28.52 / 19.97', '08-16 01:00:00 => 27.43 / 19.41', '08-16 02:00:00 => 26.47 / 18.92', '08-16 03:00:00 => 26.1 / 18.73', '08-16 04:00:00 => 26.04 / 18.7', '08-16 05:00:00 => 25.95 / 18.65', '08-16 06:00:00 => 25.71 / 18.53', '08-16 07:00:00 => 25.37 / 18.35', '08-16 08:00:00 => 24.58 / 17.94', '08-16 09:00:00 => 24.0 / 17.64', '08-16 10:00:00 => 24.54 / 17.92', '08-16 11:00:00 => 24.44 / 17.87', '08-16 12:00:00 => 23.53 / 17.4', '08-16 13:00:00 => 22.89 / 17.07', '08-16 14:00:00 => 21.77 / 16.49', '08-16 15:00:00 => 21.77 / 16.49', '08-16 16:00:00 => 36.89 / 18.3', '08-16 17:00:00 => 39.85 / 19.83', '08-16 18:00:00 => 43.87 / 21.9', '08-16 19:00:00 => 32.69 / 22.13', '08-16 20:00:00 => 33.46 / 22.53', '08-16 21:00:00 => 33.37 / 22.48', '08-16 22:00:00 => 32.01 / 21.78']
2026-08-16 00:55:02.175795: Rate min forward looking: now 21.41p at end of forecast 21.41p
2026-08-16 00:55:02.176292: Import rates: min 21.41p, max 45.28p, average 28.73p
2026-08-16 00:55:02.219190: Export rates: min 0p, max 0p, average 0.0p
2026-08-16 00:55:02.219321: Rate thresholds (for charge/export) are import 44.78p (0.0p), export -0.1p (0.0p)
2026-08-16 00:55:02.220510: High export rate found rates in range 99p to -99p
2026-08-16 00:55:02.297258: Low Import rate found rates in range 21.41p to 44.34p
2026-08-16 00:55:02.297405: Car 0 charging is not planned as it is not plugged in
2026-08-16 00:55:02.313045: Battery level now 11.24kWh, -1hr ago 12.21kWh, at midnight 12.21kWh, battery value change in the last hour -17.8p, change today -17.8p, rate_forward 18.39p
2026-08-16 00:55:02.313405: Last hour: net energy 0.0kWh, import 0.0kWh, export 0.0kWh, car 0kWh, load 0.9kWh, net cost 0.0p, import 0.0p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-16 00:55:02.371225: Today's energy total net 0.0kWh, import 0.0kWh, export 0.0kWh, cost 49.98p, import 0.0p, export 0.0p, carbon 0.0kg
2026-08-16 00:55:02.371376: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-16 00:55:02.448975: Using weighted-bucket historical load forecast over 14 days
2026-08-16 00:55:02.470881: Today's load divergence 100.0%, in-day adjustment 82.97%, damping 0.95x, yesterday 82.97% today 100.0% blend 100.0%
2026-08-16 00:55:02.470985: Today's predicted so far 0.86kWh with 0.0kWh car/iBoost excluded, 0kWh import ignored, and 0.86kWh forecast extra.
2026-08-16 00:55:02.471025: Today's actual load so far 0.79kWh with 0.0kWh car/iBoost excluded, and 0kWh import ignored.
2026-08-16 00:55:02.510186: Inverter 0: Type SK Sunsynk
2026-08-16 00:55:02.510275: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-16 00:55:02.510461: Reserve min: 7%, battery_min: 7%
2026-08-16 00:55:02.510530: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-16 00:55:02.510795: Inverter 0 SoC: 11.2kW 70%, current charge rate 5000W, current discharge rate 5250W, current battery power 510W, current battery voltage 51.2V, grid power -55W, load power 562W, PV Power 0W
2026-08-16 00:55:02.510977: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-16 00:55:02.511071: Inverter 0 scheduled charge enable is False
2026-08-16 00:55:02.511104: Inverter 0 charge windows currently []
2026-08-16 00:55:02.511130: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-16 00:55:02.511234: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-16 00:55:02.511269: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-16 00:55:02.511303: Inverter 0 scheduled discharge enable is False
2026-08-16 00:55:02.511427: Inverter 0 idle time is 08-16 00:00:00-08-16 23:59:00
2026-08-16 00:55:02.511464: Inverter 0 discharge windows currently []
2026-08-16 00:55:02.511486: Note: Inverter does not support discharge freeze - disabled
2026-08-16 00:55:02.511505: Note: Inverter does not support charge freeze - disabled
2026-08-16 00:55:02.511523: Note: Inverter does not support reserve - disabling reserve functions
2026-08-16 00:55:02.572756: Dynamic load last period 1.20kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-16 00:55:02.572895: Plan was last updated on 2026-08-16 00:50:00+01:00 and is now 5.0 minutes old
2026-08-16 00:55:02.573301: Best charge window [ 16-08 08:00:00 - 16-08 08:30:00 @ 24.06p 44%, 16-08 11:30:00 - 16-08 13:30:00 @ 22.83p 34%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 44%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 100%, 16-08 14:30:00 - 16-08 16:00:00 @ 22.56p 72%, 17-08 12:30:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 18-08 00:30:00 @ 28.96p 100% ]
2026-08-16 00:55:02.573378: Best export window [  ]
2026-08-16 00:55:02.574280: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-16 00:55:02.577544: Load divergence over 8.0 hours mean 575.26W, min 293.4W, max 1572.0W, std dev 329.34W, divergence 28.63%
2026-08-16 00:55:02.599161: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-16 00:55:02.599339: LoadML is_calculating False
2026-08-16 00:55:02.599439: Creating pool of 12 processes to match your CPU count
2026-08-16 00:55:02.728491: predict base end_record 08-17 12:35:00, final soc 1.12kWh, metric 409.28p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 19:25:00, load 21.53kWh, PV 0.0kWh
2026-08-16 00:55:02.857293: Battery has 18.5 hours left - now at 11.2kWh
2026-08-16 00:55:02.911718: predict base10 end_record 08-17 12:35:00, final soc 1.12kWh, metric 442.09p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 18:30:00, load 22.52kWh, PV 0.0kWh
2026-08-16 00:55:02.996580: predict best10 end_record 08-17 12:35:00, final soc 1.44kWh, metric 406.38p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 06:20:00, load 22.52kWh, PV 0.0kWh
2026-08-16 00:55:03.088855: predict best end_record 08-17 12:35:00, final soc 1.51kWh, metric 382.42p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 07:20:00, load 21.53kWh, PV 0.0kWh
2026-08-16 00:55:03.089008: Saving plan best values to HA entities
2026-08-16 00:55:03.267403: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-16 00:55:03.281443: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0.0
2026-08-16 00:55:03.287191: Best charging limit SoC's [7.0, 5.5, 7.0, 16.0, 11.5, 16.0, 16.0]kWh, export []kWh gives import battery 9.37kWh, house 3.13kWh, export 0.0kWh, metric 382.42p, metric10 406.38p
2026-08-16 00:55:03.375903: Marginal costs baseline metric (no standing charge): 332.4361
2026-08-16 00:55:03.682731: Marginal energy costs matrix computed: min=22.54 max=27.47
2026-08-16 00:55:03.765222: Rate array import [{'start': 55, 'end': 960, 'rate': 'cheap', 'range': '(21.4p - 27.4p)'}, {'start': 960, 'end': 990, 'rate': 'expensive', 'range': '(36.8p)'}, {'start': 990, 'end': 1140, 'rate': 'very expensive', 'range': '(37.5p - 45.3p)'}, {'start': 1140, 'end': 1410, 'rate': 'expensive', 'range': '(30.0p - 35.9p)'}, {'start': 1410, 'end': 2195, 'rate': 'cheap', 'range': '(22.3p - 28.2p)'}] export [{'start': 55, 'end': 2195, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-16 00:55:03.765943: - Your estimated bill for today is £2.46 and tomorrow is £7.29
2026-08-16 00:55:03.765991: - Import rates are cheap (21.4p - 27.4p) for the next 15 hours and then expensive (36.8p) for the next 30 minutes.
2026-08-16 00:55:03.766013: - The battery is currently at 70% and is in eco mode for the next 7 hours.
2026-08-16 00:55:03.766031: - For the next 48 hours there will be no solar generation.
2026-08-16 00:55:03.766052: - You will run out of battery in 30 hours.
2026-08-16 00:55:03.766074: - Your next charge slot will be in 7 hours where import rates will be cheap (24.1p).
2026-08-16 00:55:03.766091: 
2026-08-16 00:55:03.835052: Plan calculation took 1.26 seconds
2026-08-16 00:55:03.838199: No high rate period found
2026-08-16 00:55:03.893711: Import threshold used for optimisation was 24.94p
2026-08-16 00:55:03.950400: Low import rate windows [0: 08-16 00:30:00 - 08-16 01:00:00 @ 27.38, 1: 08-16 01:00:00 - 08-16 01:30:00 @ 26.7, 2: 08-16 01:30:00 - 08-16 02:00:00 @ 26.31, 3: 08-16 02:00:00 - 08-16 02:30:00 @ 25.79, 4: 08-16 02:30:00 - 08-16 03:00:00 @ 25.86, 5: 08-16 03:00:00 - 08-16 03:30:00 @ 26.13, 6: 08-16 03:30:00 - 08-16 04:00:00 @ 25.86, 7: 08-16 04:00:00 - 08-16 04:30:00 @ 26.27, 8: 08-16 04:30:00 - 08-16 05:00:00 @ 26.14, 9: 08-16 05:00:00 - 08-16 05:30:00 @ 27.03, 10: 08-16 05:30:00 - 08-16 06:00:00 @ 26.28, 11: 08-16 06:00:00 - 08-16 06:30:00 @ 25.68, 12: 08-16 06:30:00 - 08-16 07:00:00 @ 26.1, 13: 08-16 07:00:00 - 08-16 07:30:00 @ 24.28, 14: 08-16 07:30:00 - 08-16 08:00:00 @ 24.94, 15: 08-16 08:00:00 - 08-16 08:30:00 @ 24.06, 16: 08-16 08:30:00 - 08-16 09:00:00 @ 24.39, 17: 08-16 09:00:00 - 08-16 09:30:00 @ 24.66, 18: 08-16 09:30:00 - 08-16 10:00:00 @ 24.06, 19: 08-16 10:00:00 - 08-16 10:30:00 @ 25.5, 20: 08-16 10:30:00 - 08-16 11:00:00 @ 24.94, 21: 08-16 11:00:00 - 08-16 11:30:00 @ 24.25, 22: 08-16 11:30:00 - 08-16 12:00:00 @ 23.49, 23: 08-16 12:00:00 - 08-16 12:30:00 @ 23.43, 24: 08-16 12:30:00 - 08-16 13:00:00 @ 22.33, 25: 08-16 13:00:00 - 08-16 13:30:00 @ 22.76, 26: 08-16 13:30:00 - 08-16 14:00:00 @ 22.3, 27: 08-16 14:00:00 - 08-16 14:30:00 @ 21.41, 28: 08-16 14:30:00 - 08-16 15:00:00 @ 21.65, 29: 08-16 15:00:00 - 08-16 15:30:00 @ 22.95, 30: 08-16 15:30:00 - 08-16 16:00:00 @ 22.83, 31: 08-16 16:00:00 - 08-16 16:30:00 @ 36.84, 32: 08-16 16:30:00 - 08-16 17:00:00 @ 37.54, 33: 08-16 17:00:00 - 08-16 17:30:00 @ 41.79, 34: 08-16 17:30:00 - 08-16 18:00:00 @ 43.7, 35: 08-16 18:00:00 - 08-16 18:30:00 @ 44.34, 36: 08-16 19:00:00 - 08-16 19:30:00 @ 34.79, 37: 08-16 19:30:00 - 08-16 20:00:00 @ 34.76, 38: 08-16 20:00:00 - 08-16 20:30:00 @ 35.62, 39: 08-16 20:30:00 - 08-16 21:00:00 @ 35.3, 40: 08-16 21:00:00 - 08-16 21:30:00 @ 35.89, 41: 08-16 21:30:00 - 08-16 22:00:00 @ 35.71, 42: 08-16 22:00:00 - 08-16 22:30:00 @ 33.75, 43: 08-16 22:30:00 - 08-16 23:00:00 @ 32.0, 44: 08-16 23:00:00 - 08-16 23:30:00 @ 30.02, 45: 08-16 23:30:00 - 08-17 00:00:00 @ 27.8, 46: 08-17 00:00:00 - 08-17 00:30:00 @ 28.18, 47: 08-17 00:30:00 - 08-17 01:00:00 @ 27.38, 48: 08-17 01:00:00 - 08-17 01:30:00 @ 26.7, 49: 08-17 01:30:00 - 08-17 02:00:00 @ 26.31, 50: 08-17 02:00:00 - 08-17 02:30:00 @ 25.79, 51: 08-17 02:30:00 - 08-17 03:00:00 @ 25.86, 52: 08-17 03:00:00 - 08-17 03:30:00 @ 26.13, 53: 08-17 03:30:00 - 08-17 04:00:00 @ 25.86, 54: 08-17 04:00:00 - 08-17 04:30:00 @ 26.27, 55: 08-17 04:30:00 - 08-17 05:00:00 @ 26.14, 56: 08-17 05:00:00 - 08-17 05:30:00 @ 27.03, 57: 08-17 05:30:00 - 08-17 06:00:00 @ 26.28, 58: 08-17 06:00:00 - 08-17 06:30:00 @ 25.68, 59: 08-17 06:30:00 - 08-17 07:00:00 @ 26.1, 60: 08-17 07:00:00 - 08-17 07:30:00 @ 24.28, 61: 08-17 07:30:00 - 08-17 08:00:00 @ 24.94, 62: 08-17 08:00:00 - 08-17 08:30:00 @ 24.06, 63: 08-17 08:30:00 - 08-17 09:00:00 @ 24.39, 64: 08-17 09:00:00 - 08-17 09:30:00 @ 24.66, 65: 08-17 09:30:00 - 08-17 10:00:00 @ 24.06, 66: 08-17 10:00:00 - 08-17 10:30:00 @ 25.5, 67: 08-17 10:30:00 - 08-17 11:00:00 @ 24.94, 68: 08-17 11:00:00 - 08-17 11:30:00 @ 24.25, 69: 08-17 11:30:00 - 08-17 12:00:00 @ 23.49, 70: 08-17 12:00:00 - 08-17 12:30:00 @ 23.43, 71: 08-17 12:30:00 - 08-17 13:00:00 @ 22.33, 72: 08-17 13:00:00 - 08-17 13:30:00 @ 22.76, 73: 08-17 13:30:00 - 08-17 14:00:00 @ 22.3, 74: 08-17 14:00:00 - 08-17 14:30:00 @ 21.41, 75: 08-17 14:30:00 - 08-17 15:00:00 @ 21.65, 76: 08-17 15:00:00 - 08-17 15:30:00 @ 22.95, 77: 08-17 15:30:00 - 08-17 16:00:00 @ 22.83, 78: 08-17 16:00:00 - 08-17 16:30:00 @ 36.84, 79: 08-17 16:30:00 - 08-17 17:00:00 @ 37.54, 80: 08-17 17:00:00 - 08-17 17:30:00 @ 41.79, 81: 08-17 17:30:00 - 08-17 18:00:00 @ 43.7, 82: 08-17 18:00:00 - 08-17 18:30:00 @ 44.34, 83: 08-17 19:00:00 - 08-17 19:30:00 @ 34.79, 84: 08-17 19:30:00 - 08-17 20:00:00 @ 34.76, 85: 08-17 20:00:00 - 08-17 20:30:00 @ 35.62, 86: 08-17 20:30:00 - 08-17 21:00:00 @ 35.3, 87: 08-17 21:00:00 - 08-17 21:30:00 @ 35.89, 88: 08-17 21:30:00 - 08-17 22:00:00 @ 35.71, 89: 08-17 22:00:00 - 08-17 22:30:00 @ 33.75, 90: 08-17 22:30:00 - 08-17 23:00:00 @ 32.0, 91: 08-17 23:00:00 - 08-17 23:30:00 @ 30.02, 92: 08-17 23:30:00 - 08-18 00:00:00 @ 27.8, 93: 08-18 00:00:00 - 08-18 00:30:00 @ 28.18, 94: 08-18 00:30:00 - 08-18 01:00:00 @ 27.38]
2026-08-16 00:55:03.958376: Inverter 0 Charge window will be: 2026-08-16 08:00:00+01:00 - 2026-08-16 08:30:00+01:00 - current SoC 70%, target 44%
2026-08-16 00:55:03.958526: Inverter 0 disabled charge window while waiting for schedule (now 08-16 00:55:00 target set_window_minutes 30 charge start time 08-16 08:00:00) original inverter start time 08-18 00:00:00
2026-08-16 00:55:03.958637: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-16 00:55:03.958906: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-16 00:55:03.959025: No export window planned
2026-08-16 00:55:03.959152: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-16 00:55:03.959188: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-16 00:55:03.959327: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-16 00:55:03.959512: Inverter 0 not setting charging SoC as we are not within the window (now 08-16 00:55:00 target set_soc_minutes 30 charge start time 08-18 00:00:00)
2026-08-16 00:55:03.959576: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-16 00:55:03.959645: Inverter 0 Current Target SoC is 7%, already at target
2026-08-16 00:55:03.959748: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 00:55:03.959791: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 00:55:03.959849: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 00:55:03.959878: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 00:55:03.959908: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 00:55:03.959967: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 00:55:03.960004: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 00:55:03.960070: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 00:55:03.960101: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 00:55:03.960126: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 00:55:03.960151: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 00:55:03.960174: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 00:55:03.960290: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 00:55:03.960460: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 00:55:03.960570: Inverter 0 count register writes 0
2026-08-16 00:55:03.982130: Will not recompute the plan, it is 5.0 minutes old and max age is 10 minutes
2026-08-16 00:55:03.988069: Total inverter register writes now 826
2026-08-16 00:55:04.023184: Info: Completed run status Demand
2026-08-16 00:55:04.029764: Info: record_status Demand
2026-08-16 00:55:04.037259: Saved current settings to /config/predbat_config.json
2026-08-16 00:55:04.037634: Compare, best tariff: igo_fixed metric 126.72p
2026-08-16 00:55:42.152385: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-16 00:55:42.152635: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-16 00:55:42.152676: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-16 00:55:42.152835: Inverter 0 idle time is 08-16 00:00:00-08-16 23:59:00
2026-08-16 00:55:42.152880: Note: Inverter does not support discharge freeze - disabled
2026-08-16 00:55:42.152902: Note: Inverter does not support charge freeze - disabled
2026-08-16 00:55:42.152920: Note: Inverter does not support reserve - disabling reserve functions
2026-08-16 00:57:42.389362: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-16 00:57:42.389621: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-16 00:57:42.389665: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-16 00:57:42.389825: Inverter 0 idle time is 08-16 00:00:00-08-16 23:59:00
2026-08-16 00:57:42.389890: Note: Inverter does not support discharge freeze - disabled
2026-08-16 00:57:42.389912: Note: Inverter does not support charge freeze - disabled
2026-08-16 00:57:42.389930: Note: Inverter does not support reserve - disabling reserve functions
2026-08-16 00:59:17.354565: TemperatureAPI: Using coordinates latitude 53.4, longitude -2.2
2026-08-16 00:59:17.512519: TemperatureAPI: Successfully fetched temperature data from Open-Meteo API
2026-08-16 00:59:56.633874: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-16 00:59:56.634140: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-16 00:59:56.634176: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-16 00:59:56.634327: Inverter 0 idle time is 08-16 00:00:00-08-16 23:59:00
2026-08-16 00:59:56.634367: Note: Inverter does not support discharge freeze - disabled
2026-08-16 00:59:56.634403: Note: Inverter does not support charge freeze - disabled
2026-08-16 00:59:56.634422: Note: Inverter does not support reserve - disabling reserve functions
2026-08-16 01:00:00.707575: --------------- PredBat - update at 2026-08-16 01:00:00+01:00 with clock skew 0 minutes, minutes now 60
2026-08-16 01:00:00.708591: Saved current settings to /config/predbat_config.json
2026-08-16 01:00:00.708788: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 25.0 minutes
2026-08-16 01:00:00.708893: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.2, latest beta is v8.48.2
2026-08-16 01:00:00.709063: Autoupdate: There is an update pending v8.48.2 PV90 and second pass enabled by default, bug fixes - auto update is off
2026-08-16 01:00:00.738002: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-16 01:00:00.738318: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-16 01:00:00.738685: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-16 01:00:00.739432: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-16 01:00:00.739719: Predbat mode is set to Control charge & discharge
2026-08-16 01:00:00.971829: Found 21602 load_today datapoints going back 28 days
2026-08-16 01:00:00.971997: Using load_power data to fill gaps in load_today data
2026-08-16 01:00:01.922396: Processing 721 30-minute periods for power integration
2026-08-16 01:00:02.137571: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-16 01:00:02.137704: Car charging hold False, threshold 6.0kWh
2026-08-16 01:00:02.137745: Current data so far today: load 1.0kWh, import 0.0kWh, export 0.0kWh, PV 0kWh
2026-08-16 01:00:02.153973: Cars: SoC: [8.204]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-16 01:00:02.154504: Standing charge is set to 49.98p
2026-08-16 01:00:02.181914: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-16 01:00:02.182035: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-16 01:00:02.182336: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 60.0 minutes
2026-08-16 01:00:02.182886: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-17&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 59.8 minutes
2026-08-16 01:00:02.187589: Loaded 47 datapoints of futurerate analysis
2026-08-16 01:00:02.277805: Predicted future rates: ['08-16 00:00:00 => 28.52 / 19.97', '08-16 01:00:00 => 27.43 / 19.41', '08-16 02:00:00 => 26.47 / 18.92', '08-16 03:00:00 => 26.1 / 18.73', '08-16 04:00:00 => 26.04 / 18.7', '08-16 05:00:00 => 25.95 / 18.65', '08-16 06:00:00 => 25.71 / 18.53', '08-16 07:00:00 => 25.37 / 18.35', '08-16 08:00:00 => 24.58 / 17.94', '08-16 09:00:00 => 24.0 / 17.64', '08-16 10:00:00 => 24.54 / 17.92', '08-16 11:00:00 => 24.44 / 17.87', '08-16 12:00:00 => 23.53 / 17.4', '08-16 13:00:00 => 22.89 / 17.07', '08-16 14:00:00 => 21.77 / 16.49', '08-16 15:00:00 => 21.77 / 16.49', '08-16 16:00:00 => 36.89 / 18.3', '08-16 17:00:00 => 39.85 / 19.83', '08-16 18:00:00 => 43.87 / 21.9', '08-16 19:00:00 => 32.69 / 22.13', '08-16 20:00:00 => 33.46 / 22.53', '08-16 21:00:00 => 33.37 / 22.48', '08-16 22:00:00 => 32.01 / 21.78']
2026-08-16 01:00:02.341770: Rate min forward looking: now 21.41p at end of forecast 21.41p
2026-08-16 01:00:02.342176: Import rates: min 21.41p, max 45.28p, average 28.73p
2026-08-16 01:00:02.385003: Export rates: min 0p, max 0p, average 0.0p
2026-08-16 01:00:02.385143: Rate thresholds (for charge/export) are import 44.78p (0.0p), export -0.1p (0.0p)
2026-08-16 01:00:02.386361: High export rate found rates in range 99p to -99p
2026-08-16 01:00:02.466945: Low Import rate found rates in range 21.41p to 44.34p
2026-08-16 01:00:02.467100: Car 0 charging is not planned as it is not plugged in
2026-08-16 01:00:02.480453: Battery level now 11.2kWh, -1hr ago 12.21kWh, at midnight 12.21kWh, battery value change in the last hour -18.54p, change today -18.54p, rate_forward 18.39p
2026-08-16 01:00:02.480805: Last hour: net energy 0.0kWh, import 0.0kWh, export 0.0kWh, car 0kWh, load 1.0kWh, net cost 0.0p, import 0.0p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-16 01:00:02.537510: Today's energy total net 0.0kWh, import 0.0kWh, export 0.0kWh, cost 49.98p, import 0.0p, export 0.0p, carbon 0.0kg
2026-08-16 01:00:02.537656: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-16 01:00:02.608415: Using weighted-bucket historical load forecast over 14 days
2026-08-16 01:00:02.631360: Today's load divergence 100.0%, in-day adjustment 82.97%, damping 0.95x, yesterday 82.97% today 100.0% blend 100.0%
2026-08-16 01:00:02.631661: Today's predicted so far 1.01kWh with 0.0kWh car/iBoost excluded, 0kWh import ignored, and 1.01kWh forecast extra.
2026-08-16 01:00:02.631712: Today's actual load so far 0.93kWh with 0.0kWh car/iBoost excluded, and 0kWh import ignored.
2026-08-16 01:00:02.675219: Inverter 0: Type SK Sunsynk
2026-08-16 01:00:02.675325: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-16 01:00:02.675549: Reserve min: 7%, battery_min: 7%
2026-08-16 01:00:02.675639: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-16 01:00:02.675930: Inverter 0 SoC: 11.2kW 70%, current charge rate 5000W, current discharge rate 5250W, current battery power 428W, current battery voltage 51.2V, grid power -55W, load power 476W, PV Power 0W
2026-08-16 01:00:02.676097: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-16 01:00:02.676193: Inverter 0 scheduled charge enable is False
2026-08-16 01:00:02.676223: Inverter 0 charge windows currently []
2026-08-16 01:00:02.676249: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-16 01:00:02.676370: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-16 01:00:02.676421: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-16 01:00:02.676461: Inverter 0 scheduled discharge enable is False
2026-08-16 01:00:02.676603: Inverter 0 idle time is 08-16 00:00:00-08-16 23:59:00
2026-08-16 01:00:02.676640: Inverter 0 discharge windows currently []
2026-08-16 01:00:02.676663: Note: Inverter does not support discharge freeze - disabled
2026-08-16 01:00:02.676682: Note: Inverter does not support charge freeze - disabled
2026-08-16 01:00:02.676702: Note: Inverter does not support reserve - disabling reserve functions
2026-08-16 01:00:02.753636: Dynamic load last period 1.20kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-16 01:00:02.753751: Plan was last updated on 2026-08-16 00:50:00+01:00 and is now 10.0 minutes old
2026-08-16 01:00:02.754084: Best charge window [ 16-08 08:00:00 - 16-08 08:30:00 @ 24.06p 44%, 16-08 11:30:00 - 16-08 13:30:00 @ 22.83p 34%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 44%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 100%, 16-08 14:30:00 - 16-08 16:00:00 @ 22.56p 72%, 17-08 12:30:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 18-08 00:30:00 @ 28.96p 100% ]
2026-08-16 01:00:02.754130: Best export window [  ]
2026-08-16 01:00:02.754929: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-16 01:00:02.758094: Load divergence over 8.0 hours mean 573.86W, min 292.8W, max 1698.0W, std dev 336.77W, divergence 29.34%
2026-08-16 01:00:02.776524: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-16 01:00:02.776669: LoadML is_calculating False
2026-08-16 01:00:02.776753: Creating pool of 12 processes to match your CPU count
2026-08-16 01:00:02.908639: predict base end_record 08-17 12:40:00, final soc 1.12kWh, metric 409.16p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 19:30:00, load 21.65kWh, PV 0.0kWh
2026-08-16 01:00:03.084207: Battery has 18.5 hours left - now at 11.2kWh
2026-08-16 01:00:03.136335: predict base10 end_record 08-17 12:40:00, final soc 1.12kWh, metric 441.31p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 18:40:00, load 22.64kWh, PV 0.0kWh
2026-08-16 01:00:03.238212: predict best10 end_record 08-17 12:40:00, final soc 1.77kWh, metric 414.37p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 06:20:00, load 22.64kWh, PV 0.0kWh
2026-08-16 01:00:03.396227: predict best end_record 08-17 12:40:00, final soc 1.9kWh, metric 392.07p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 07:15:00, load 21.65kWh, PV 0.0kWh
2026-08-16 01:00:03.396355: Saving plan best values to HA entities
2026-08-16 01:00:03.635660: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-16 01:00:03.642244: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-16 01:00:03.648794: Best charging limit SoC's [7.0, 5.5, 7.0, 16.0, 11.5, 16.0, 16.0]kWh, export []kWh gives import battery 9.79kWh, house 3.15kWh, export 0.0kWh, metric 392.07p, metric10 414.37p
2026-08-16 01:00:03.753937: Marginal costs baseline metric (no standing charge): 342.0896
2026-08-16 01:00:04.076297: Marginal energy costs matrix computed: min=22.53 max=27.37
2026-08-16 01:00:04.193624: Rate array import [{'start': 60, 'end': 960, 'rate': 'cheap', 'range': '(21.4p - 27.0p)'}, {'start': 960, 'end': 990, 'rate': 'expensive', 'range': '(36.8p)'}, {'start': 990, 'end': 1140, 'rate': 'very expensive', 'range': '(37.5p - 45.3p)'}, {'start': 1140, 'end': 1410, 'rate': 'expensive', 'range': '(30.0p - 35.9p)'}, {'start': 1410, 'end': 2200, 'rate': 'cheap', 'range': '(22.3p - 28.2p)'}] export [{'start': 60, 'end': 2200, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-16 01:00:04.194349: - Your estimated bill for today is £2.44 and tomorrow is £7.27
2026-08-16 01:00:04.194417: - Import rates are cheap (21.4p - 27.0p) for the next 15 hours and then expensive (36.8p) for the next 30 minutes.
2026-08-16 01:00:04.194443: - The battery is currently at 70% and is in eco mode for the next 7 hours.
2026-08-16 01:00:04.194462: - For the next 48 hours there will be no solar generation.
2026-08-16 01:00:04.194479: - You will run out of battery in 30 hours.
2026-08-16 01:00:04.194506: - Your next charge slot will be in 7 hours where import rates will be cheap (24.1p).
2026-08-16 01:00:04.194525: 
2026-08-16 01:00:04.267738: Plan calculation took 1.51 seconds
2026-08-16 01:00:04.270992: No high rate period found
2026-08-16 01:00:04.363735: Import threshold used for optimisation was 24.94p
2026-08-16 01:00:04.501325: Low import rate windows [0: 08-16 01:00:00 - 08-16 01:30:00 @ 26.7, 1: 08-16 01:30:00 - 08-16 02:00:00 @ 26.31, 2: 08-16 02:00:00 - 08-16 02:30:00 @ 25.79, 3: 08-16 02:30:00 - 08-16 03:00:00 @ 25.86, 4: 08-16 03:00:00 - 08-16 03:30:00 @ 26.13, 5: 08-16 03:30:00 - 08-16 04:00:00 @ 25.86, 6: 08-16 04:00:00 - 08-16 04:30:00 @ 26.27, 7: 08-16 04:30:00 - 08-16 05:00:00 @ 26.14, 8: 08-16 05:00:00 - 08-16 05:30:00 @ 27.03, 9: 08-16 05:30:00 - 08-16 06:00:00 @ 26.28, 10: 08-16 06:00:00 - 08-16 06:30:00 @ 25.68, 11: 08-16 06:30:00 - 08-16 07:00:00 @ 26.1, 12: 08-16 07:00:00 - 08-16 07:30:00 @ 24.28, 13: 08-16 07:30:00 - 08-16 08:00:00 @ 24.94, 14: 08-16 08:00:00 - 08-16 08:30:00 @ 24.06, 15: 08-16 08:30:00 - 08-16 09:00:00 @ 24.39, 16: 08-16 09:00:00 - 08-16 09:30:00 @ 24.66, 17: 08-16 09:30:00 - 08-16 10:00:00 @ 24.06, 18: 08-16 10:00:00 - 08-16 10:30:00 @ 25.5, 19: 08-16 10:30:00 - 08-16 11:00:00 @ 24.94, 20: 08-16 11:00:00 - 08-16 11:30:00 @ 24.25, 21: 08-16 11:30:00 - 08-16 12:00:00 @ 23.49, 22: 08-16 12:00:00 - 08-16 12:30:00 @ 23.43, 23: 08-16 12:30:00 - 08-16 13:00:00 @ 22.33, 24: 08-16 13:00:00 - 08-16 13:30:00 @ 22.76, 25: 08-16 13:30:00 - 08-16 14:00:00 @ 22.3, 26: 08-16 14:00:00 - 08-16 14:30:00 @ 21.41, 27: 08-16 14:30:00 - 08-16 15:00:00 @ 21.65, 28: 08-16 15:00:00 - 08-16 15:30:00 @ 22.95, 29: 08-16 15:30:00 - 08-16 16:00:00 @ 22.83, 30: 08-16 16:00:00 - 08-16 16:30:00 @ 36.84, 31: 08-16 16:30:00 - 08-16 17:00:00 @ 37.54, 32: 08-16 17:00:00 - 08-16 17:30:00 @ 41.79, 33: 08-16 17:30:00 - 08-16 18:00:00 @ 43.7, 34: 08-16 18:00:00 - 08-16 18:30:00 @ 44.34, 35: 08-16 19:00:00 - 08-16 19:30:00 @ 34.79, 36: 08-16 19:30:00 - 08-16 20:00:00 @ 34.76, 37: 08-16 20:00:00 - 08-16 20:30:00 @ 35.62, 38: 08-16 20:30:00 - 08-16 21:00:00 @ 35.3, 39: 08-16 21:00:00 - 08-16 21:30:00 @ 35.89, 40: 08-16 21:30:00 - 08-16 22:00:00 @ 35.71, 41: 08-16 22:00:00 - 08-16 22:30:00 @ 33.75, 42: 08-16 22:30:00 - 08-16 23:00:00 @ 32.0, 43: 08-16 23:00:00 - 08-16 23:30:00 @ 30.02, 44: 08-16 23:30:00 - 08-17 00:00:00 @ 27.8, 45: 08-17 00:00:00 - 08-17 00:30:00 @ 28.18, 46: 08-17 00:30:00 - 08-17 01:00:00 @ 27.38, 47: 08-17 01:00:00 - 08-17 01:30:00 @ 26.7, 48: 08-17 01:30:00 - 08-17 02:00:00 @ 26.31, 49: 08-17 02:00:00 - 08-17 02:30:00 @ 25.79, 50: 08-17 02:30:00 - 08-17 03:00:00 @ 25.86, 51: 08-17 03:00:00 - 08-17 03:30:00 @ 26.13, 52: 08-17 03:30:00 - 08-17 04:00:00 @ 25.86, 53: 08-17 04:00:00 - 08-17 04:30:00 @ 26.27, 54: 08-17 04:30:00 - 08-17 05:00:00 @ 26.14, 55: 08-17 05:00:00 - 08-17 05:30:00 @ 27.03, 56: 08-17 05:30:00 - 08-17 06:00:00 @ 26.28, 57: 08-17 06:00:00 - 08-17 06:30:00 @ 25.68, 58: 08-17 06:30:00 - 08-17 07:00:00 @ 26.1, 59: 08-17 07:00:00 - 08-17 07:30:00 @ 24.28, 60: 08-17 07:30:00 - 08-17 08:00:00 @ 24.94, 61: 08-17 08:00:00 - 08-17 08:30:00 @ 24.06, 62: 08-17 08:30:00 - 08-17 09:00:00 @ 24.39, 63: 08-17 09:00:00 - 08-17 09:30:00 @ 24.66, 64: 08-17 09:30:00 - 08-17 10:00:00 @ 24.06, 65: 08-17 10:00:00 - 08-17 10:30:00 @ 25.5, 66: 08-17 10:30:00 - 08-17 11:00:00 @ 24.94, 67: 08-17 11:00:00 - 08-17 11:30:00 @ 24.25, 68: 08-17 11:30:00 - 08-17 12:00:00 @ 23.49, 69: 08-17 12:00:00 - 08-17 12:30:00 @ 23.43, 70: 08-17 12:30:00 - 08-17 13:00:00 @ 22.33, 71: 08-17 13:00:00 - 08-17 13:30:00 @ 22.76, 72: 08-17 13:30:00 - 08-17 14:00:00 @ 22.3, 73: 08-17 14:00:00 - 08-17 14:30:00 @ 21.41, 74: 08-17 14:30:00 - 08-17 15:00:00 @ 21.65, 75: 08-17 15:00:00 - 08-17 15:30:00 @ 22.95, 76: 08-17 15:30:00 - 08-17 16:00:00 @ 22.83, 77: 08-17 16:00:00 - 08-17 16:30:00 @ 36.84, 78: 08-17 16:30:00 - 08-17 17:00:00 @ 37.54, 79: 08-17 17:00:00 - 08-17 17:30:00 @ 41.79, 80: 08-17 17:30:00 - 08-17 18:00:00 @ 43.7, 81: 08-17 18:00:00 - 08-17 18:30:00 @ 44.34, 82: 08-17 19:00:00 - 08-17 19:30:00 @ 34.79, 83: 08-17 19:30:00 - 08-17 20:00:00 @ 34.76, 84: 08-17 20:00:00 - 08-17 20:30:00 @ 35.62, 85: 08-17 20:30:00 - 08-17 21:00:00 @ 35.3, 86: 08-17 21:00:00 - 08-17 21:30:00 @ 35.89, 87: 08-17 21:30:00 - 08-17 22:00:00 @ 35.71, 88: 08-17 22:00:00 - 08-17 22:30:00 @ 33.75, 89: 08-17 22:30:00 - 08-17 23:00:00 @ 32.0, 90: 08-17 23:00:00 - 08-17 23:30:00 @ 30.02, 91: 08-17 23:30:00 - 08-18 00:00:00 @ 27.8, 92: 08-18 00:00:00 - 08-18 00:30:00 @ 28.18, 93: 08-18 00:30:00 - 08-18 01:00:00 @ 27.38]
2026-08-16 01:00:04.512865: Inverter 0 Charge window will be: 2026-08-16 08:00:00+01:00 - 2026-08-16 08:30:00+01:00 - current SoC 70%, target 44%
2026-08-16 01:00:04.513149: Inverter 0 disabled charge window while waiting for schedule (now 08-16 01:00:00 target set_window_minutes 30 charge start time 08-16 08:00:00) original inverter start time 08-18 00:00:00
2026-08-16 01:00:04.513345: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-16 01:00:04.513766: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-16 01:00:04.513924: No export window planned
2026-08-16 01:00:04.514141: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-16 01:00:04.514211: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-16 01:00:04.514509: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-16 01:00:04.514807: Inverter 0 not setting charging SoC as we are not within the window (now 08-16 01:00:00 target set_soc_minutes 30 charge start time 08-18 00:00:00)
2026-08-16 01:00:04.514921: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-16 01:00:04.515023: Inverter 0 Current Target SoC is 7%, already at target
2026-08-16 01:00:04.515195: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 01:00:04.515282: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 01:00:04.515348: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 01:00:04.515423: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 01:00:04.515489: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 01:00:04.515540: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 01:00:04.515603: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 01:00:04.515725: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 01:00:04.515799: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 01:00:04.515851: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 01:00:04.515915: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 01:00:04.515965: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 01:00:04.516025: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 01:00:04.516077: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 01:00:04.516125: Inverter 0 count register writes 0
2026-08-16 01:00:04.539088: Will recompute the plan as it is now 10.0 minutes old and will exceed the max age of 10 minutes before the next run
2026-08-16 01:00:04.539309: Recompute is saving previous plan...
2026-08-16 01:00:04.542635: Best charge window [ 16-08 01:00:00 - 16-08 01:30:00 @ 26.7p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.31p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.79p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 25.86p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.13p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 25.86p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.27p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.14p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 27.03p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.28p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.68p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 26.1p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 24.28p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 24.94p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.06p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.39p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.66p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.06p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 25.5p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 24.94p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 24.25p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 23.49p 0%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.43p 0%, 16-08 12:30:00 - 16-08 13:00:00 @ 22.33p 0%, 16-08 13:00:00 - 16-08 13:30:00 @ 22.76p 0%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 0%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 0%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.65p 0%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.95p 0%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.83p 0%, 16-08 16:00:00 - 16-08 16:30:00 @ 36.84p 0%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.54p 0%, 16-08 17:00:00 - 16-08 17:30:00 @ 41.79p 0%, 16-08 17:30:00 - 16-08 18:00:00 @ 43.7p 0%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.34p 0%, 16-08 19:00:00 - 16-08 19:30:00 @ 34.79p 0%, 16-08 19:30:00 - 16-08 20:00:00 @ 34.76p 0%, 16-08 20:00:00 - 16-08 20:30:00 @ 35.62p 0%, 16-08 20:30:00 - 16-08 21:00:00 @ 35.3p 0%, 16-08 21:00:00 - 16-08 21:30:00 @ 35.89p 0%, 16-08 21:30:00 - 16-08 22:00:00 @ 35.71p 0%, 16-08 22:00:00 - 16-08 22:30:00 @ 33.75p 0%, 16-08 22:30:00 - 16-08 23:00:00 @ 32.0p 0%, 16-08 23:00:00 - 16-08 23:30:00 @ 30.02p 0%, 16-08 23:30:00 - 17-08 00:00:00 @ 27.8p 0%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.18p 0%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.38p 0%, 17-08 01:00:00 - 17-08 01:30:00 @ 26.7p 0%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.31p 0%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.79p 0%, 17-08 02:30:00 - 17-08 03:00:00 @ 25.86p 0%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.13p 0%, 17-08 03:30:00 - 17-08 04:00:00 @ 25.86p 0%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.27p 0%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.14p 0%, 17-08 05:00:00 - 17-08 05:30:00 @ 27.03p 0%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.28p 0%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.68p 0%, 17-08 06:30:00 - 17-08 07:00:00 @ 26.1p 0%, 17-08 07:00:00 - 17-08 07:30:00 @ 24.28p 0%, 17-08 07:30:00 - 17-08 08:00:00 @ 24.94p 0%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.06p 0%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.39p 0%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.66p 0%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.06p 0%, 17-08 10:00:00 - 17-08 10:30:00 @ 25.5p 0%, 17-08 10:30:00 - 17-08 11:00:00 @ 24.94p 0%, 17-08 11:00:00 - 17-08 11:30:00 @ 24.25p 0%, 17-08 11:30:00 - 17-08 12:00:00 @ 23.49p 0%, 17-08 12:00:00 - 17-08 12:30:00 @ 23.43p 0%, 17-08 12:30:00 - 17-08 13:00:00 @ 22.33p 0%, 17-08 13:00:00 - 17-08 13:30:00 @ 22.76p 0%, 17-08 13:30:00 - 17-08 14:00:00 @ 22.3p 0%, 17-08 14:00:00 - 17-08 14:30:00 @ 21.41p 0%, 17-08 14:30:00 - 17-08 15:00:00 @ 21.65p 0%, 17-08 15:00:00 - 17-08 15:30:00 @ 22.95p 0%, 17-08 15:30:00 - 17-08 16:00:00 @ 22.83p 0%, 17-08 16:00:00 - 17-08 16:30:00 @ 36.84p 0%, 17-08 16:30:00 - 17-08 17:00:00 @ 37.54p 0%, 17-08 17:00:00 - 17-08 17:30:00 @ 41.79p 0%, 17-08 17:30:00 - 17-08 18:00:00 @ 43.7p 0%, 17-08 18:00:00 - 17-08 18:30:00 @ 44.34p 0%, 17-08 19:00:00 - 17-08 19:30:00 @ 34.79p 0%, 17-08 19:30:00 - 17-08 20:00:00 @ 34.76p 0%, 17-08 20:00:00 - 17-08 20:30:00 @ 35.62p 0%, 17-08 20:30:00 - 17-08 21:00:00 @ 35.3p 0%, 17-08 21:00:00 - 17-08 21:30:00 @ 35.89p 0%, 17-08 21:30:00 - 17-08 22:00:00 @ 35.71p 0%, 17-08 22:00:00 - 17-08 22:30:00 @ 33.75p 0%, 17-08 22:30:00 - 17-08 23:00:00 @ 32.0p 0%, 17-08 23:00:00 - 17-08 23:30:00 @ 30.02p 0%, 17-08 23:30:00 - 18-08 00:00:00 @ 27.8p 0%, 18-08 00:00:00 - 18-08 00:30:00 @ 28.18p 0%, 18-08 00:30:00 - 18-08 01:00:00 @ 27.38p 0% ]
2026-08-16 01:00:04.542729: Best export window [  ]
2026-08-16 01:00:04.543573: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-16 01:00:04.546896: Load divergence over 8.0 hours mean 573.86W, min 292.8W, max 1698.0W, std dev 336.77W, divergence 29.34%
2026-08-16 01:00:04.564054: Calculating data from yesterday for savings calculation
2026-08-16 01:00:04.575793: Yesterday basic charge window best: [{'start': 870, 'end': 900, 'average': 13.77}] charge limit best: [16.0] based on max charge slots 1
2026-08-16 01:00:04.623843: predict yesterday end_record 08-17 00:00:00, final soc 1.12kWh, metric 345.67p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 00:00:00, load 12.5kWh, PV 0.0kWh
2026-08-16 01:00:04.638557: predict yesterday10 end_record 08-17 00:00:00, final soc 1.12kWh, metric 351.42p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 00:00:00, load 12.5kWh, PV 0.0kWh
2026-08-16 01:00:04.658149: predict yesterday end_record 08-17 00:00:00, final soc 1.12kWh, metric 345.67p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 00:00:00, load 12.5kWh, PV 0.0kWh
2026-08-16 01:00:04.692342: Yesterday: Predbat disabled was £3.46 (adjusted £3.25) vs £5.77 (adjusted £3.52), saving £-2.31 (adjusted £-0.27) with import 12.84kWh, export 0.0kWh, battery_cycle 4.66kWh, start_soc 1.12kWh,  final_soc 1.12kWh and battery_value 20.6kWh
2026-08-16 01:00:04.765549: predict yesterday end_record 08-17 00:00:00, final soc 0.0kWh, metric 383.46p, metric_keep 0kWh, min_soc 0kWh @ 08-16 00:00:00, load 12.5kWh, PV 0.0kWh
2026-08-16 01:00:04.765717: Yesterday: No Battery/PV system cost predicted was £3.83 (adjusted £3.83) vs £5.77 (adjusted £3.52), saving £-1.93 (adjusted £0.31) with import 12.5kWh, export 0kWh and battery_value 0.0kWh
2026-08-16 01:00:04.778749: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-16 01:00:04.778903: LoadML is_calculating False
2026-08-16 01:00:04.779014: Creating pool of 12 processes to match your CPU count
2026-08-16 01:00:04.878209: Calculate Best options: mode(Control charge & discharge), calculate_export_oncharge(False), calculate_export_on_pv(True), set_export_freeze_only(False), set_discharge_during_charge(True), combine_charge_slots(False), combine_export_slots(False), combine_rate_threshold(0.0), best_soc_min(0.0 kWh), best_soc_max(0.0 kWh), best_soc_keep(0.0 kWh), inverter_loss(4%), battery_loss(3%), battery_loss_discharge (3%), inverter_hybrid(True), metric_min_improvement(0.0p), metric_min_improvement_export(0.1p), metric_min_improvement_export_freeze(0.1p), metric_battery_cycle(0.0p/kWh), metric_battery_value_scaling(1.0 x) 
2026-08-16 01:00:04.882342: Optimise levels pass started at 2026-08-16 01:00:04
2026-08-16 01:00:04.882505: Optimise all windows, total charge 94 export 1
2026-08-16 01:00:05.775850: >> Region optimisation pass width 960 gives best_metric 533.01p, best_cost 546.98p, best_cycle 37.73kWh, best_import 21.92kWh
2026-08-16 01:00:06.233864: >> Region optimisation pass width 480 gives best_metric 533.01p, best_cost 546.98p, best_cycle 37.73kWh, best_import 21.92kWh
2026-08-16 01:00:06.848505: >> Region optimisation pass width 240 gives best_metric 533.01p, best_cost 546.98p, best_cycle 37.73kWh, best_import 21.92kWh
2026-08-16 01:00:08.042601: >> Region optimisation pass width 120 gives best_metric 533.01p, best_cost 546.98p, best_cycle 37.73kWh, best_import 21.92kWh
2026-08-16 01:00:08.043059: Calculated end_record as 08-17 12:30:00 based on best_price 22.33p, next_charge_start 08-16 12:30:00, max_windows 70
2026-08-16 01:00:08.043141: Optimise levels pass ended at 2026-08-16 01:00:08, duration 3.2 seconds tried 294 combinations
2026-08-16 01:00:08.043208: Set best_price_charge_level 24.0p, best_price_export_level 0p, best_price_charge 22.33p, best_cost_export 0p, best_metric 533.01p, best_keep 0kWh, best_cycle 37.73kWh, best_carbon 0kg, best_import 21.92kWh
2026-08-16 01:00:08.064368: Starting detailed optimisation end_record 08-17 12:30:00, best_price_charge 22.33p, best_price_export 0p. lowest_price_charge 21.41p with charge limits [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 0, 0, 16.0, 16.0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0]kWh and export limits []kWh
2026-08-16 01:00:13.846647: Tweak plan optimisation started metric 303.9p, cost 320.71p
2026-08-16 01:00:14.195400: Tweak optimisation finished metric 303.9p, cost 320.71p, metric_keep 0kWh, cycle 21.49kWh, carbon 0kg, import 11.98kWh, changed 8 window(s)
2026-08-16 01:00:14.215535: Swap charge optimisation started metric 303.9p, cost 320.71p, min_improvement_swap 0.1p
2026-08-16 01:00:21.228150: Swap charge optimisation finished metric 303.9p, cost 320.71p
2026-08-16 01:00:21.329991: Pruned 1 dead plan slot(s) in 11 trial(s), nominal metric 300.11p -> 300.11p, plan now metric 303.9p, cost 320.71p, cycle 21.49kWh, import 11.98kWh
2026-08-16 01:00:21.339334: Raw charge windows [ 16-08 01:00:00 - 16-08 01:30:00 @ 26.7p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.31p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.79p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 25.86p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.13p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 25.86p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.27p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.14p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 27.03p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.28p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.68p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 26.1p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 24.28p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 24.94p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.06p 44%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.39p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.66p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.06p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 25.5p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 24.94p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 24.25p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 23.49p 34%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.43p 34%, 16-08 12:30:00 - 16-08 13:00:00 @ 22.33p 34%, 16-08 13:00:00 - 16-08 13:30:00 @ 22.76p 34%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 44%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 100%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.65p 72%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.95p 72%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.83p 72%, 16-08 16:00:00 - 16-08 16:30:00 @ 36.84p 0%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.54p 0%, 16-08 17:00:00 - 16-08 17:30:00 @ 41.79p 0%, 16-08 17:30:00 - 16-08 18:00:00 @ 43.7p 0%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.34p 0%, 16-08 19:00:00 - 16-08 19:30:00 @ 34.79p 0%, 16-08 19:30:00 - 16-08 20:00:00 @ 34.76p 0%, 16-08 20:00:00 - 16-08 20:30:00 @ 35.62p 0%, 16-08 20:30:00 - 16-08 21:00:00 @ 35.3p 0%, 16-08 21:00:00 - 16-08 21:30:00 @ 35.89p 0%, 16-08 21:30:00 - 16-08 22:00:00 @ 35.71p 0%, 16-08 22:00:00 - 16-08 22:30:00 @ 33.75p 0%, 16-08 22:30:00 - 16-08 23:00:00 @ 32.0p 0%, 16-08 23:00:00 - 16-08 23:30:00 @ 30.02p 0%, 16-08 23:30:00 - 17-08 00:00:00 @ 27.8p 0%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.18p 0%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.38p 0%, 17-08 01:00:00 - 17-08 01:30:00 @ 26.7p 0%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.31p 0%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.79p 0%, 17-08 02:30:00 - 17-08 03:00:00 @ 25.86p 0%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.13p 0%, 17-08 03:30:00 - 17-08 04:00:00 @ 25.86p 0%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.27p 0%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.14p 0%, 17-08 05:00:00 - 17-08 05:30:00 @ 27.03p 0%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.28p 0%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.68p 0%, 17-08 06:30:00 - 17-08 07:00:00 @ 26.1p 0%, 17-08 07:00:00 - 17-08 07:30:00 @ 24.28p 0%, 17-08 07:30:00 - 17-08 08:00:00 @ 24.94p 0%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.06p 0%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.39p 0%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.66p 0%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.06p 0%, 17-08 10:00:00 - 17-08 10:30:00 @ 25.5p 0%, 17-08 10:30:00 - 17-08 11:00:00 @ 24.94p 0%, 17-08 11:00:00 - 17-08 11:30:00 @ 24.25p 0%, 17-08 11:30:00 - 17-08 12:00:00 @ 23.49p 0%, 17-08 12:00:00 - 17-08 12:30:00 @ 23.43p 0%, 17-08 12:30:00 - 17-08 13:00:00 @ 22.33p 100%, 17-08 13:00:00 - 17-08 13:30:00 @ 22.76p 100%, 17-08 13:30:00 - 17-08 14:00:00 @ 22.3p 100%, 17-08 14:00:00 - 17-08 14:30:00 @ 21.41p 100%, 17-08 14:30:00 - 17-08 15:00:00 @ 21.65p 100%, 17-08 15:00:00 - 17-08 15:30:00 @ 22.95p 100%, 17-08 15:30:00 - 17-08 16:00:00 @ 22.83p 100%, 17-08 16:00:00 - 17-08 16:30:00 @ 36.84p 100%, 17-08 16:30:00 - 17-08 17:00:00 @ 37.54p 100%, 17-08 17:00:00 - 17-08 17:30:00 @ 41.79p 100%, 17-08 17:30:00 - 17-08 18:00:00 @ 43.7p 100%, 17-08 18:00:00 - 17-08 18:30:00 @ 44.34p 100%, 17-08 19:00:00 - 17-08 19:30:00 @ 34.79p 100%, 17-08 19:30:00 - 17-08 20:00:00 @ 34.76p 100%, 17-08 20:00:00 - 17-08 20:30:00 @ 35.62p 100%, 17-08 20:30:00 - 17-08 21:00:00 @ 35.3p 100%, 17-08 21:00:00 - 17-08 21:30:00 @ 35.89p 100%, 17-08 21:30:00 - 17-08 22:00:00 @ 35.71p 100%, 17-08 22:00:00 - 17-08 22:30:00 @ 33.75p 100%, 17-08 22:30:00 - 17-08 23:00:00 @ 32.0p 100%, 17-08 23:00:00 - 17-08 23:30:00 @ 30.02p 100%, 17-08 23:30:00 - 18-08 00:00:00 @ 27.8p 100%, 18-08 00:00:00 - 18-08 00:30:00 @ 28.18p 100%, 18-08 00:30:00 - 18-08 01:00:00 @ 27.38p 100% ] reserve 1.12
2026-08-16 01:00:21.339889: Unclipped charge windows [ 16-08 08:00:00 - 16-08 08:30:00 @ 24.06p 44%, 16-08 11:30:00 - 16-08 13:30:00 @ 22.83p 34%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 44%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 100%, 16-08 14:30:00 - 16-08 16:00:00 @ 22.56p 72%, 17-08 12:30:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 18-08 01:00:00 @ 28.17p 100% ] reserve 1.12
2026-08-16 01:00:21.340186: Unfiltered charge windows [ 16-08 08:00:00 - 16-08 08:30:00 @ 24.06p 44%, 16-08 11:30:00 - 16-08 13:30:00 @ 22.83p 34%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 44%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 100%, 16-08 14:30:00 - 16-08 16:00:00 @ 22.56p 72%, 17-08 12:30:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 18-08 01:00:00 @ 28.17p 100% ] reserve 1.12
2026-08-16 01:00:21.340430: Filtered charge windows [ 16-08 08:00:00 - 16-08 08:30:00 @ 24.06p 44%, 16-08 11:30:00 - 16-08 13:30:00 @ 22.83p 34%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 44%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 100%, 16-08 14:30:00 - 16-08 16:00:00 @ 22.56p 72%, 17-08 12:30:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 18-08 01:00:00 @ 28.17p 100% ] reserve 1.12
2026-08-16 01:00:21.369968: Previous plan best metric is 303.9 (cost 320.71) and new plan best metric is 303.9 (cost 320.71)
2026-08-16 01:00:21.370184: New plan metric is not significantly better (metric_min_improvement_plan 2.0) than previous plan, using previous plan
2026-08-16 01:00:21.370334: Plan valid is now true after recompute was False
2026-08-16 01:00:21.392823: predict base end_record 08-17 12:30:00, final soc 1.12kWh, metric 406.39p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 19:30:00, load 21.53kWh, PV 0.0kWh
2026-08-16 01:00:21.493272: Battery has 18.5 hours left - now at 11.2kWh
2026-08-16 01:00:21.547211: predict base10 end_record 08-17 12:30:00, final soc 1.12kWh, metric 438.41p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 18:40:00, load 22.51kWh, PV 0.0kWh
2026-08-16 01:00:21.634032: predict best10 end_record 08-17 12:30:00, final soc 1.12kWh, metric 395.96p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 06:20:00, load 22.51kWh, PV 0.0kWh
2026-08-16 01:00:21.707103: predict best end_record 08-17 12:30:00, final soc 1.12kWh, metric 370.69p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 07:15:00, load 21.53kWh, PV 0.0kWh
2026-08-16 01:00:21.707401: Saving plan best values to HA entities
2026-08-16 01:00:21.872587: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-16 01:00:21.879444: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-16 01:00:21.886766: Best charging limit SoC's [7.0, 5.5, 7.0, 16.0, 11.5, 16.0, 16.0]kWh, export []kWh gives import battery 8.83kWh, house 3.15kWh, export 0.0kWh, metric 370.69p, metric10 395.96p
2026-08-16 01:00:21.961860: Marginal costs baseline metric (no standing charge): 320.7113
2026-08-16 01:00:22.181468: Marginal energy costs matrix computed: min=22.53 max=27.37
2026-08-16 01:00:22.257864: Rate array import [{'start': 60, 'end': 960, 'rate': 'cheap', 'range': '(21.4p - 27.0p)'}, {'start': 960, 'end': 990, 'rate': 'expensive', 'range': '(36.8p)'}, {'start': 990, 'end': 1140, 'rate': 'very expensive', 'range': '(37.5p - 45.3p)'}, {'start': 1140, 'end': 1410, 'rate': 'expensive', 'range': '(30.0p - 35.9p)'}, {'start': 1410, 'end': 2190, 'rate': 'cheap', 'range': '(23.4p - 28.2p)'}] export [{'start': 60, 'end': 2190, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-16 01:00:22.258627: - Your estimated bill for today is £2.44 and tomorrow is £7.27
2026-08-16 01:00:22.258682: - Import rates are cheap (21.4p - 27.0p) for the next 15 hours and then expensive (36.8p) for the next 30 minutes.
2026-08-16 01:00:22.258708: - The battery is currently at 70% and is in eco mode for the next 7 hours.
2026-08-16 01:00:22.258753: - For the next 48 hours there will be no solar generation.
2026-08-16 01:00:22.258789: - You will run out of battery in 30 hours.
2026-08-16 01:00:22.258822: - Your next charge slot will be in 7 hours where import rates will be cheap (24.1p).
2026-08-16 01:00:22.258857: 
2026-08-16 01:00:22.319467: Plan calculation took 17.78 seconds
2026-08-16 01:00:22.319909: Inverter 0: Type SK Sunsynk
2026-08-16 01:00:22.319964: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-16 01:00:22.320232: Reserve min: 7%, battery_min: 7%
2026-08-16 01:00:22.320342: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-16 01:00:22.320742: Inverter 0 SoC: 11.06kW 69%, current charge rate 5000W, current discharge rate 5250W, current battery power 420W, current battery voltage 51.2V, grid power -55W, load power 471W, PV Power 0W
2026-08-16 01:00:22.321065: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-16 01:00:22.321213: Inverter 0 scheduled charge enable is False
2026-08-16 01:00:22.321265: Inverter 0 charge windows currently []
2026-08-16 01:00:22.321310: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-16 01:00:22.321495: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-16 01:00:22.321539: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-16 01:00:22.321590: Inverter 0 scheduled discharge enable is False
2026-08-16 01:00:22.321771: Inverter 0 idle time is 08-16 00:00:00-08-16 23:59:00
2026-08-16 01:00:22.321815: Inverter 0 discharge windows currently []
2026-08-16 01:00:22.321843: Note: Inverter does not support discharge freeze - disabled
2026-08-16 01:00:22.321886: Note: Inverter does not support charge freeze - disabled
2026-08-16 01:00:22.321922: Note: Inverter does not support reserve - disabling reserve functions
2026-08-16 01:00:22.374498: Inverter 0 Charge window will be: 2026-08-16 08:00:00+01:00 - 2026-08-16 08:30:00+01:00 - current SoC 69%, target 44%
2026-08-16 01:00:22.374680: Inverter 0 disabled charge window while waiting for schedule (now 08-16 01:00:00 target set_window_minutes 30 charge start time 08-16 08:00:00) original inverter start time 08-18 00:00:00
2026-08-16 01:00:22.374763: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-16 01:00:22.374952: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-16 01:00:22.375038: No export window planned
2026-08-16 01:00:22.375148: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-16 01:00:22.375184: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-16 01:00:22.375319: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-16 01:00:22.375526: Inverter 0 not setting charging SoC as we are not within the window (now 08-16 01:00:00 target set_soc_minutes 30 charge start time 08-18 00:00:00)
2026-08-16 01:00:22.375575: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-16 01:00:22.375625: Inverter 0 Current Target SoC is 7%, already at target
2026-08-16 01:00:22.375760: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 01:00:22.375820: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 01:00:22.375886: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 01:00:22.375949: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 01:00:22.376008: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 01:00:22.376071: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 01:00:22.376125: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 01:00:22.376240: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 01:00:22.376290: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 01:00:22.376332: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 01:00:22.376384: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 01:00:22.376463: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 01:00:22.376501: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 01:00:22.376550: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 01:00:22.376597: Inverter 0 count register writes 0
2026-08-16 01:00:22.400187: Total inverter register writes now 826
2026-08-16 01:00:22.433815: Info: Completed run status Demand
2026-08-16 01:00:22.439772: Info: record_status Demand
2026-08-16 01:00:22.446529: Saved current settings to /config/predbat_config.json
2026-08-16 01:00:22.446862: Compare, best tariff: igo_fixed metric 126.72p
2026-08-16 01:00:56.551349: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-16 01:00:56.551686: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-16 01:00:56.551781: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-16 01:00:56.552021: Inverter 0 idle time is 08-16 00:00:00-08-16 23:59:00
2026-08-16 01:00:56.552069: Note: Inverter does not support discharge freeze - disabled
2026-08-16 01:00:56.552098: Note: Inverter does not support charge freeze - disabled
2026-08-16 01:00:56.552142: Note: Inverter does not support reserve - disabling reserve functions
2026-08-16 01:02:56.779858: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-16 01:02:56.780114: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-16 01:02:56.780152: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-16 01:02:56.780323: Inverter 0 idle time is 08-16 00:00:00-08-16 23:59:00
2026-08-16 01:02:56.780405: Note: Inverter does not support discharge freeze - disabled
2026-08-16 01:02:56.780428: Note: Inverter does not support charge freeze - disabled
2026-08-16 01:02:56.780446: Note: Inverter does not support reserve - disabling reserve functions
2026-08-16 01:04:28.663610: Info: HAHistory: Pruning history data started.
2026-08-16 01:04:28.666993: Info: HAHistory: Pruning history data completed.
2026-08-16 01:04:56.998068: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-16 01:04:56.998391: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-16 01:04:56.998435: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-16 01:04:56.998593: Inverter 0 idle time is 08-16 00:00:00-08-16 23:59:00
2026-08-16 01:04:56.998641: Note: Inverter does not support discharge freeze - disabled
2026-08-16 01:04:56.998673: Note: Inverter does not support charge freeze - disabled
2026-08-16 01:04:56.998710: Note: Inverter does not support reserve - disabling reserve functions
2026-08-16 01:05:00.084340: --------------- PredBat - update at 2026-08-16 01:05:00+01:00 with clock skew 0 minutes, minutes now 65
2026-08-16 01:05:00.085275: Saved current settings to /config/predbat_config.json
2026-08-16 01:05:00.085461: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 30.0 minutes
2026-08-16 01:05:00.085621: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.2, latest beta is v8.48.2
2026-08-16 01:05:00.085784: Autoupdate: There is an update pending v8.48.2 PV90 and second pass enabled by default, bug fixes - auto update is off
2026-08-16 01:05:00.105914: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-16 01:05:00.106043: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-16 01:05:00.106208: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-16 01:05:00.106761: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-16 01:05:00.106883: Predbat mode is set to Control charge & discharge
2026-08-16 01:05:00.277721: Found 21602 load_today datapoints going back 27 days
2026-08-16 01:05:00.277889: Using load_power data to fill gaps in load_today data
2026-08-16 01:05:01.134788: Processing 721 30-minute periods for power integration
2026-08-16 01:05:01.339754: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-16 01:05:01.339896: Car charging hold False, threshold 6.0kWh
2026-08-16 01:05:01.339945: Current data so far today: load 1.1kWh, import 0.0kWh, export 0.0kWh, PV 0kWh
2026-08-16 01:05:01.356527: Cars: SoC: [8.204]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-16 01:05:01.357709: Standing charge is set to 49.98p
2026-08-16 01:05:01.384744: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-16 01:05:01.384853: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-16 01:05:01.385149: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 65.0 minutes
2026-08-16 01:05:01.385572: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-17&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 64.8 minutes
2026-08-16 01:05:01.388531: Loaded 47 datapoints of futurerate analysis
2026-08-16 01:05:01.478267: Predicted future rates: ['08-16 00:00:00 => 28.52 / 19.97', '08-16 01:00:00 => 27.43 / 19.41', '08-16 02:00:00 => 26.47 / 18.92', '08-16 03:00:00 => 26.1 / 18.73', '08-16 04:00:00 => 26.04 / 18.7', '08-16 05:00:00 => 25.95 / 18.65', '08-16 06:00:00 => 25.71 / 18.53', '08-16 07:00:00 => 25.37 / 18.35', '08-16 08:00:00 => 24.58 / 17.94', '08-16 09:00:00 => 24.0 / 17.64', '08-16 10:00:00 => 24.54 / 17.92', '08-16 11:00:00 => 24.44 / 17.87', '08-16 12:00:00 => 23.53 / 17.4', '08-16 13:00:00 => 22.89 / 17.07', '08-16 14:00:00 => 21.77 / 16.49', '08-16 15:00:00 => 21.77 / 16.49', '08-16 16:00:00 => 36.89 / 18.3', '08-16 17:00:00 => 39.85 / 19.83', '08-16 18:00:00 => 43.87 / 21.9', '08-16 19:00:00 => 32.69 / 22.13', '08-16 20:00:00 => 33.46 / 22.53', '08-16 21:00:00 => 33.37 / 22.48', '08-16 22:00:00 => 32.01 / 21.78']
2026-08-16 01:05:01.541244: Rate min forward looking: now 21.41p at end of forecast 21.41p
2026-08-16 01:05:01.541590: Import rates: min 21.41p, max 45.28p, average 28.73p
2026-08-16 01:05:01.584414: Export rates: min 0p, max 0p, average 0.0p
2026-08-16 01:05:01.584551: Rate thresholds (for charge/export) are import 44.78p (0.0p), export -0.1p (0.0p)
2026-08-16 01:05:01.585762: High export rate found rates in range 99p to -99p
2026-08-16 01:05:01.661604: Low Import rate found rates in range 21.41p to 44.34p
2026-08-16 01:05:01.661757: Car 0 charging is not planned as it is not plugged in
2026-08-16 01:05:01.674636: Battery level now 11.2kWh, -1hr ago 12.16kWh, at midnight 12.21kWh, battery value change in the last hour -17.66p, change today -18.54p, rate_forward 18.39p
2026-08-16 01:05:01.675019: Last hour: net energy 0.0kWh, import 0.0kWh, export 0.0kWh, car 0kWh, load 1.1kWh, net cost 0.0p, import 0.0p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-16 01:05:01.729240: Today's energy total net 0.0kWh, import 0.0kWh, export 0.0kWh, cost 49.98p, import 0.0p, export 0.0p, carbon 0.0kg
2026-08-16 01:05:01.729365: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-16 01:05:01.829533: Using weighted-bucket historical load forecast over 14 days
2026-08-16 01:05:01.867843: Today's load divergence 100.0%, in-day adjustment 82.97%, damping 0.95x, yesterday 82.97% today 100.0% blend 100.0%
2026-08-16 01:05:01.873097: Today's predicted so far 1.13kWh with 0.0kWh car/iBoost excluded, 0kWh import ignored, and 1.13kWh forecast extra.
2026-08-16 01:05:01.873201: Today's actual load so far 1.08kWh with 0.0kWh car/iBoost excluded, and 0kWh import ignored.
2026-08-16 01:05:01.924209: Inverter 0: Type SK Sunsynk
2026-08-16 01:05:01.924309: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-16 01:05:01.924529: Reserve min: 7%, battery_min: 7%
2026-08-16 01:05:01.924878: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-16 01:05:01.925314: Inverter 0 SoC: 11.04kW 69%, current charge rate 5000W, current discharge rate 5250W, current battery power 454W, current battery voltage 51.2V, grid power -55W, load power 507W, PV Power 0W
2026-08-16 01:05:01.925612: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-16 01:05:01.925793: Inverter 0 scheduled charge enable is False
2026-08-16 01:05:01.925835: Inverter 0 charge windows currently []
2026-08-16 01:05:01.925874: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-16 01:05:01.926139: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-16 01:05:01.926185: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-16 01:05:01.926238: Inverter 0 scheduled discharge enable is False
2026-08-16 01:05:01.926449: Inverter 0 idle time is 08-16 00:00:00-08-16 23:59:00
2026-08-16 01:05:01.926554: Inverter 0 discharge windows currently []
2026-08-16 01:05:01.926590: Note: Inverter does not support discharge freeze - disabled
2026-08-16 01:05:01.926626: Note: Inverter does not support charge freeze - disabled
2026-08-16 01:05:01.926660: Note: Inverter does not support reserve - disabling reserve functions
2026-08-16 01:05:01.997188: Dynamic load last period 1.20kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-16 01:05:01.997345: Plan was last updated on 2026-08-16 01:00:00+01:00 and is now 5.0 minutes old
2026-08-16 01:05:01.997729: Best charge window [ 16-08 08:00:00 - 16-08 08:30:00 @ 24.06p 44%, 16-08 11:30:00 - 16-08 13:30:00 @ 22.83p 34%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 44%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 100%, 16-08 14:30:00 - 16-08 16:00:00 @ 22.56p 72%, 17-08 12:30:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 18-08 00:30:00 @ 28.96p 100% ]
2026-08-16 01:05:01.997783: Best export window [  ]
2026-08-16 01:05:01.998619: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-16 01:05:02.001806: Load divergence over 8.0 hours mean 572.17W, min 292.2W, max 1692.0W, std dev 349.39W, divergence 30.53%
2026-08-16 01:05:02.020670: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-16 01:05:02.020803: LoadML is_calculating False
2026-08-16 01:05:02.020868: Creating pool of 12 processes to match your CPU count
2026-08-16 01:05:02.157775: predict base end_record 08-17 12:35:00, final soc 1.12kWh, metric 411.43p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 19:20:00, load 21.65kWh, PV 0.0kWh
2026-08-16 01:05:02.337350: Battery has 18.25 hours left - now at 11.04kWh
2026-08-16 01:05:02.386013: predict base10 end_record 08-17 12:35:00, final soc 1.12kWh, metric 444.35p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 18:30:00, load 22.63kWh, PV 0.0kWh
2026-08-16 01:05:02.468529: predict best10 end_record 08-17 12:35:00, final soc 1.44kWh, metric 407.95p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 06:15:00, load 22.63kWh, PV 0.0kWh
2026-08-16 01:05:02.563990: predict best end_record 08-17 12:35:00, final soc 1.51kWh, metric 383.99p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 07:15:00, load 21.65kWh, PV 0.0kWh
2026-08-16 01:05:02.564081: Saving plan best values to HA entities
2026-08-16 01:05:02.752507: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-16 01:05:02.759059: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0.0
2026-08-16 01:05:02.765591: Best charging limit SoC's [7.0, 5.5, 7.0, 16.0, 11.5, 16.0, 16.0]kWh, export []kWh gives import battery 9.41kWh, house 3.16kWh, export 0.0kWh, metric 383.99p, metric10 407.95p
2026-08-16 01:05:02.847133: Marginal costs baseline metric (no standing charge): 334.0099
2026-08-16 01:05:03.137560: Marginal energy costs matrix computed: min=22.42 max=27.53
2026-08-16 01:05:03.220991: Rate array import [{'start': 65, 'end': 960, 'rate': 'cheap', 'range': '(21.4p - 27.0p)'}, {'start': 960, 'end': 990, 'rate': 'expensive', 'range': '(36.8p)'}, {'start': 990, 'end': 1140, 'rate': 'very expensive', 'range': '(37.5p - 45.3p)'}, {'start': 1140, 'end': 1410, 'rate': 'expensive', 'range': '(30.0p - 35.9p)'}, {'start': 1410, 'end': 2195, 'rate': 'cheap', 'range': '(22.3p - 28.2p)'}] export [{'start': 65, 'end': 2195, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-16 01:05:03.221819: - Your estimated bill for today is £2.47 and tomorrow is £7.26
2026-08-16 01:05:03.221876: - Import rates are cheap (21.4p - 27.0p) for the next 14 hours and then expensive (36.8p) for the next 30 minutes.
2026-08-16 01:05:03.221900: - The battery is currently at 69% and is in eco mode for the next 6  hours.
2026-08-16 01:05:03.221919: - For the next 48 hours there will be no solar generation.
2026-08-16 01:05:03.221961: - You will run out of battery in 30 hours.
2026-08-16 01:05:03.221981: - Your next charge slot will be in 6  hours where import rates will be cheap (24.1p).
2026-08-16 01:05:03.221998: 
2026-08-16 01:05:03.284449: Plan calculation took 1.29 seconds
2026-08-16 01:05:03.288222: No high rate period found
2026-08-16 01:05:03.385686: Import threshold used for optimisation was 25.86p
2026-08-16 01:05:03.450532: Low import rate windows [0: 08-16 01:00:00 - 08-16 01:30:00 @ 26.7, 1: 08-16 01:30:00 - 08-16 02:00:00 @ 26.31, 2: 08-16 02:00:00 - 08-16 02:30:00 @ 25.79, 3: 08-16 02:30:00 - 08-16 03:00:00 @ 25.86, 4: 08-16 03:00:00 - 08-16 03:30:00 @ 26.13, 5: 08-16 03:30:00 - 08-16 04:00:00 @ 25.86, 6: 08-16 04:00:00 - 08-16 04:30:00 @ 26.27, 7: 08-16 04:30:00 - 08-16 05:00:00 @ 26.14, 8: 08-16 05:00:00 - 08-16 05:30:00 @ 27.03, 9: 08-16 05:30:00 - 08-16 06:00:00 @ 26.28, 10: 08-16 06:00:00 - 08-16 06:30:00 @ 25.68, 11: 08-16 06:30:00 - 08-16 07:00:00 @ 26.1, 12: 08-16 07:00:00 - 08-16 07:30:00 @ 24.28, 13: 08-16 07:30:00 - 08-16 08:00:00 @ 24.94, 14: 08-16 08:00:00 - 08-16 08:30:00 @ 24.06, 15: 08-16 08:30:00 - 08-16 09:00:00 @ 24.39, 16: 08-16 09:00:00 - 08-16 09:30:00 @ 24.66, 17: 08-16 09:30:00 - 08-16 10:00:00 @ 24.06, 18: 08-16 10:00:00 - 08-16 10:30:00 @ 25.5, 19: 08-16 10:30:00 - 08-16 11:00:00 @ 24.94, 20: 08-16 11:00:00 - 08-16 11:30:00 @ 24.25, 21: 08-16 11:30:00 - 08-16 12:00:00 @ 23.49, 22: 08-16 12:00:00 - 08-16 12:30:00 @ 23.43, 23: 08-16 12:30:00 - 08-16 13:00:00 @ 22.33, 24: 08-16 13:00:00 - 08-16 13:30:00 @ 22.76, 25: 08-16 13:30:00 - 08-16 14:00:00 @ 22.3, 26: 08-16 14:00:00 - 08-16 14:30:00 @ 21.41, 27: 08-16 14:30:00 - 08-16 15:00:00 @ 21.65, 28: 08-16 15:00:00 - 08-16 15:30:00 @ 22.95, 29: 08-16 15:30:00 - 08-16 16:00:00 @ 22.83, 30: 08-16 16:00:00 - 08-16 16:30:00 @ 36.84, 31: 08-16 16:30:00 - 08-16 17:00:00 @ 37.54, 32: 08-16 17:00:00 - 08-16 17:30:00 @ 41.79, 33: 08-16 17:30:00 - 08-16 18:00:00 @ 43.7, 34: 08-16 18:00:00 - 08-16 18:30:00 @ 44.34, 35: 08-16 19:00:00 - 08-16 19:30:00 @ 34.79, 36: 08-16 19:30:00 - 08-16 20:00:00 @ 34.76, 37: 08-16 20:00:00 - 08-16 20:30:00 @ 35.62, 38: 08-16 20:30:00 - 08-16 21:00:00 @ 35.3, 39: 08-16 21:00:00 - 08-16 21:30:00 @ 35.89, 40: 08-16 21:30:00 - 08-16 22:00:00 @ 35.71, 41: 08-16 22:00:00 - 08-16 22:30:00 @ 33.75, 42: 08-16 22:30:00 - 08-16 23:00:00 @ 32.0, 43: 08-16 23:00:00 - 08-16 23:30:00 @ 30.02, 44: 08-16 23:30:00 - 08-17 00:00:00 @ 27.8, 45: 08-17 00:00:00 - 08-17 00:30:00 @ 28.18, 46: 08-17 00:30:00 - 08-17 01:00:00 @ 27.38, 47: 08-17 01:00:00 - 08-17 01:30:00 @ 26.7, 48: 08-17 01:30:00 - 08-17 02:00:00 @ 26.31, 49: 08-17 02:00:00 - 08-17 02:30:00 @ 25.79, 50: 08-17 02:30:00 - 08-17 03:00:00 @ 25.86, 51: 08-17 03:00:00 - 08-17 03:30:00 @ 26.13, 52: 08-17 03:30:00 - 08-17 04:00:00 @ 25.86, 53: 08-17 04:00:00 - 08-17 04:30:00 @ 26.27, 54: 08-17 04:30:00 - 08-17 05:00:00 @ 26.14, 55: 08-17 05:00:00 - 08-17 05:30:00 @ 27.03, 56: 08-17 05:30:00 - 08-17 06:00:00 @ 26.28, 57: 08-17 06:00:00 - 08-17 06:30:00 @ 25.68, 58: 08-17 06:30:00 - 08-17 07:00:00 @ 26.1, 59: 08-17 07:00:00 - 08-17 07:30:00 @ 24.28, 60: 08-17 07:30:00 - 08-17 08:00:00 @ 24.94, 61: 08-17 08:00:00 - 08-17 08:30:00 @ 24.06, 62: 08-17 08:30:00 - 08-17 09:00:00 @ 24.39, 63: 08-17 09:00:00 - 08-17 09:30:00 @ 24.66, 64: 08-17 09:30:00 - 08-17 10:00:00 @ 24.06, 65: 08-17 10:00:00 - 08-17 10:30:00 @ 25.5, 66: 08-17 10:30:00 - 08-17 11:00:00 @ 24.94, 67: 08-17 11:00:00 - 08-17 11:30:00 @ 24.25, 68: 08-17 11:30:00 - 08-17 12:00:00 @ 23.49, 69: 08-17 12:00:00 - 08-17 12:30:00 @ 23.43, 70: 08-17 12:30:00 - 08-17 13:00:00 @ 22.33, 71: 08-17 13:00:00 - 08-17 13:30:00 @ 22.76, 72: 08-17 13:30:00 - 08-17 14:00:00 @ 22.3, 73: 08-17 14:00:00 - 08-17 14:30:00 @ 21.41, 74: 08-17 14:30:00 - 08-17 15:00:00 @ 21.65, 75: 08-17 15:00:00 - 08-17 15:30:00 @ 22.95, 76: 08-17 15:30:00 - 08-17 16:00:00 @ 22.83, 77: 08-17 16:00:00 - 08-17 16:30:00 @ 36.84, 78: 08-17 16:30:00 - 08-17 17:00:00 @ 37.54, 79: 08-17 17:00:00 - 08-17 17:30:00 @ 41.79, 80: 08-17 17:30:00 - 08-17 18:00:00 @ 43.7, 81: 08-17 18:00:00 - 08-17 18:30:00 @ 44.34, 82: 08-17 19:00:00 - 08-17 19:30:00 @ 34.79, 83: 08-17 19:30:00 - 08-17 20:00:00 @ 34.76, 84: 08-17 20:00:00 - 08-17 20:30:00 @ 35.62, 85: 08-17 20:30:00 - 08-17 21:00:00 @ 35.3, 86: 08-17 21:00:00 - 08-17 21:30:00 @ 35.89, 87: 08-17 21:30:00 - 08-17 22:00:00 @ 35.71, 88: 08-17 22:00:00 - 08-17 22:30:00 @ 33.75, 89: 08-17 22:30:00 - 08-17 23:00:00 @ 32.0, 90: 08-17 23:00:00 - 08-17 23:30:00 @ 30.02, 91: 08-17 23:30:00 - 08-18 00:00:00 @ 27.8, 92: 08-18 00:00:00 - 08-18 00:30:00 @ 28.18, 93: 08-18 00:30:00 - 08-18 01:00:00 @ 27.38, 94: 08-18 01:00:00 - 08-18 01:30:00 @ 26.7]
2026-08-16 01:05:03.458916: Inverter 0 Charge window will be: 2026-08-16 08:00:00+01:00 - 2026-08-16 08:30:00+01:00 - current SoC 69%, target 44%
2026-08-16 01:05:03.459067: Inverter 0 disabled charge window while waiting for schedule (now 08-16 01:05:00 target set_window_minutes 30 charge start time 08-16 08:00:00) original inverter start time 08-18 00:00:00
2026-08-16 01:05:03.459191: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-16 01:05:03.459451: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-16 01:05:03.459543: No export window planned
2026-08-16 01:05:03.459663: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-16 01:05:03.459714: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-16 01:05:03.459858: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-16 01:05:03.460048: Inverter 0 not setting charging SoC as we are not within the window (now 08-16 01:05:00 target set_soc_minutes 30 charge start time 08-18 00:00:00)
2026-08-16 01:05:03.460114: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-16 01:05:03.460175: Inverter 0 Current Target SoC is 7%, already at target
2026-08-16 01:05:03.460273: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 01:05:03.460340: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 01:05:03.460398: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 01:05:03.460443: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 01:05:03.460471: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 01:05:03.460500: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 01:05:03.460525: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 01:05:03.460633: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 01:05:03.460674: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 01:05:03.460719: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 01:05:03.460753: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 01:05:03.460778: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 01:05:03.460802: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 01:05:03.460831: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 01:05:03.460852: Inverter 0 count register writes 0
2026-08-16 01:05:03.480127: Will not recompute the plan, it is 5.0 minutes old and max age is 10 minutes
2026-08-16 01:05:03.485985: Total inverter register writes now 826
2026-08-16 01:05:03.532219: Info: Completed run status Demand
2026-08-16 01:05:03.540445: Info: record_status Demand
2026-08-16 01:05:03.548770: Saved current settings to /config/predbat_config.json
2026-08-16 01:05:03.549157: Compare, best tariff: igo_fixed metric 126.72p
2026-08-16 01:05:41.663547: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-16 01:05:41.663970: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-16 01:05:41.664048: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-16 01:05:41.664277: Inverter 0 idle time is 08-16 00:00:00-08-16 23:59:00
2026-08-16 01:05:41.664327: Note: Inverter does not support discharge freeze - disabled
2026-08-16 01:05:41.664381: Note: Inverter does not support charge freeze - disabled
2026-08-16 01:05:41.664421: Note: Inverter does not support reserve - disabling reserve functions
2026-08-16 01:07:41.889800: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-16 01:07:41.890168: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-16 01:07:41.890223: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-16 01:07:41.890408: Inverter 0 idle time is 08-16 00:00:00-08-16 23:59:00
2026-08-16 01:07:41.890454: Note: Inverter does not support discharge freeze - disabled
2026-08-16 01:07:41.890503: Note: Inverter does not support charge freeze - disabled
2026-08-16 01:07:41.890542: Note: Inverter does not support reserve - disabling reserve functions
2026-08-16 01:09:42.152528: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-16 01:09:42.152803: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-16 01:09:42.152846: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-16 01:09:42.153140: Inverter 0 idle time is 08-16 00:00:00-08-16 23:59:00
2026-08-16 01:09:42.153212: Note: Inverter does not support discharge freeze - disabled
2026-08-16 01:09:42.153234: Note: Inverter does not support charge freeze - disabled
2026-08-16 01:09:42.153252: Note: Inverter does not support reserve - disabling reserve functions
2026-08-16 01:10:00.253413: --------------- PredBat - update at 2026-08-16 01:10:00+01:00 with clock skew 0 minutes, minutes now 70
2026-08-16 01:10:00.254315: Saved current settings to /config/predbat_config.json
2026-08-16 01:10:00.254560: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 35.0 minutes
2026-08-16 01:10:00.254660: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.2, latest beta is v8.48.2
2026-08-16 01:10:00.254751: Autoupdate: There is an update pending v8.48.2 PV90 and second pass enabled by default, bug fixes - auto update is off
2026-08-16 01:10:00.280619: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-16 01:10:00.280815: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-16 01:10:00.281165: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-16 01:10:00.281756: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-16 01:10:00.281907: Predbat mode is set to Control charge & discharge
2026-08-16 01:10:00.523962: Found 21602 load_today datapoints going back 28 days
2026-08-16 01:10:00.524144: Using load_power data to fill gaps in load_today data
2026-08-16 01:10:01.382253: Processing 721 30-minute periods for power integration
2026-08-16 01:10:01.602844: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-16 01:10:01.603018: Car charging hold False, threshold 6.0kWh
2026-08-16 01:10:01.603067: Current data so far today: load 1.05kWh, import 0.0kWh, export 0.0kWh, PV 0kWh
2026-08-16 01:10:01.617770: Cars: SoC: [8.204]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-16 01:10:01.618214: Standing charge is set to 49.98p
2026-08-16 01:10:01.645724: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-16 01:10:01.645865: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-16 01:10:01.646196: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 70.0 minutes
2026-08-16 01:10:01.646906: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-17&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 69.8 minutes
2026-08-16 01:10:01.651073: Loaded 47 datapoints of futurerate analysis
2026-08-16 01:10:01.739710: Predicted future rates: ['08-16 00:00:00 => 28.52 / 19.97', '08-16 01:00:00 => 27.43 / 19.41', '08-16 02:00:00 => 26.47 / 18.92', '08-16 03:00:00 => 26.1 / 18.73', '08-16 04:00:00 => 26.04 / 18.7', '08-16 05:00:00 => 25.95 / 18.65', '08-16 06:00:00 => 25.71 / 18.53', '08-16 07:00:00 => 25.37 / 18.35', '08-16 08:00:00 => 24.58 / 17.94', '08-16 09:00:00 => 24.0 / 17.64', '08-16 10:00:00 => 24.54 / 17.92', '08-16 11:00:00 => 24.44 / 17.87', '08-16 12:00:00 => 23.53 / 17.4', '08-16 13:00:00 => 22.89 / 17.07', '08-16 14:00:00 => 21.77 / 16.49', '08-16 15:00:00 => 21.77 / 16.49', '08-16 16:00:00 => 36.89 / 18.3', '08-16 17:00:00 => 39.85 / 19.83', '08-16 18:00:00 => 43.87 / 21.9', '08-16 19:00:00 => 32.69 / 22.13', '08-16 20:00:00 => 33.46 / 22.53', '08-16 21:00:00 => 33.37 / 22.48', '08-16 22:00:00 => 32.01 / 21.78']
2026-08-16 01:10:01.801908: Rate min forward looking: now 21.41p at end of forecast 21.41p
2026-08-16 01:10:01.802555: Import rates: min 21.41p, max 45.28p, average 28.73p
2026-08-16 01:10:01.845563: Export rates: min 0p, max 0p, average 0.0p
2026-08-16 01:10:01.845704: Rate thresholds (for charge/export) are import 44.78p (0.0p), export -0.1p (0.0p)
2026-08-16 01:10:01.846846: High export rate found rates in range 99p to -99p
2026-08-16 01:10:01.923281: Low Import rate found rates in range 21.41p to 44.34p
2026-08-16 01:10:01.923424: Car 0 charging is not planned as it is not plugged in
2026-08-16 01:10:01.937040: Battery level now 11.04kWh, -1hr ago 12.05kWh, at midnight 12.21kWh, battery value change in the last hour -18.54p, change today -21.48p, rate_forward 18.39p
2026-08-16 01:10:01.937396: Last hour: net energy 0.0kWh, import 0.0kWh, export 0.0kWh, car 0kWh, load 0.95kWh, net cost 0.0p, import 0.0p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-16 01:10:01.985488: Today's energy total net 0.0kWh, import 0.0kWh, export 0.0kWh, cost 49.98p, import 0.0p, export 0.0p, carbon 0.0kg
2026-08-16 01:10:01.985616: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-16 01:10:02.056473: Using weighted-bucket historical load forecast over 14 days
2026-08-16 01:10:02.079065: Today's load divergence 100.0%, in-day adjustment 82.97%, damping 0.95x, yesterday 82.97% today 100.0% blend 100.0%
2026-08-16 01:10:02.079164: Today's predicted so far 1.16kWh with 0.0kWh car/iBoost excluded, 0kWh import ignored, and 1.16kWh forecast extra.
2026-08-16 01:10:02.079197: Today's actual load so far 1.04kWh with 0.0kWh car/iBoost excluded, and 0kWh import ignored.
2026-08-16 01:10:02.118970: Inverter 0: Type SK Sunsynk
2026-08-16 01:10:02.119085: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-16 01:10:02.119290: Reserve min: 7%, battery_min: 7%
2026-08-16 01:10:02.119371: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-16 01:10:02.119659: Inverter 0 SoC: 11.04kW 69%, current charge rate 5000W, current discharge rate 5250W, current battery power 1503W, current battery voltage 51.2V, grid power -55W, load power 1564W, PV Power 0W
2026-08-16 01:10:02.119823: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-16 01:10:02.119934: Inverter 0 scheduled charge enable is False
2026-08-16 01:10:02.119972: Inverter 0 charge windows currently []
2026-08-16 01:10:02.119999: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-16 01:10:02.120112: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-16 01:10:02.120147: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-16 01:10:02.120184: Inverter 0 scheduled discharge enable is False
2026-08-16 01:10:02.120307: Inverter 0 idle time is 08-16 00:00:00-08-16 23:59:00
2026-08-16 01:10:02.120344: Inverter 0 discharge windows currently []
2026-08-16 01:10:02.120366: Note: Inverter does not support discharge freeze - disabled
2026-08-16 01:10:02.120385: Note: Inverter does not support charge freeze - disabled
2026-08-16 01:10:02.120402: Note: Inverter does not support reserve - disabling reserve functions
2026-08-16 01:10:02.186023: Dynamic load last period 0.60kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-16 01:10:02.186135: Plan was last updated on 2026-08-16 01:00:00+01:00 and is now 10.0 minutes old
2026-08-16 01:10:02.186491: Best charge window [ 16-08 08:00:00 - 16-08 08:30:00 @ 24.06p 44%, 16-08 11:30:00 - 16-08 13:30:00 @ 22.83p 34%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 44%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 100%, 16-08 14:30:00 - 16-08 16:00:00 @ 22.56p 72%, 17-08 12:30:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 18-08 00:30:00 @ 28.96p 100% ]
2026-08-16 01:10:02.186570: Best export window [  ]
2026-08-16 01:10:02.187406: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-16 01:10:02.190541: Load divergence over 8.0 hours mean 566.24W, min 292.2W, max 1733.4W, std dev 338.88W, divergence 29.92%
2026-08-16 01:10:02.209041: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-16 01:10:02.209175: LoadML is_calculating False
2026-08-16 01:10:02.209243: Creating pool of 12 processes to match your CPU count
2026-08-16 01:10:02.339206: predict base end_record 08-17 12:40:00, final soc 1.12kWh, metric 409.79p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 19:25:00, load 21.57kWh, PV 0.0kWh
2026-08-16 01:10:02.480482: Battery has 18.25 hours left - now at 11.04kWh
2026-08-16 01:10:02.525916: predict base10 end_record 08-17 12:40:00, final soc 1.12kWh, metric 441.78p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 18:35:00, load 22.55kWh, PV 0.0kWh
2026-08-16 01:10:02.621714: predict best10 end_record 08-17 12:40:00, final soc 1.77kWh, metric 414.64p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 06:15:00, load 22.55kWh, PV 0.0kWh
2026-08-16 01:10:02.709927: predict best end_record 08-17 12:40:00, final soc 1.9kWh, metric 392.52p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 07:15:00, load 21.57kWh, PV 0.0kWh
2026-08-16 01:10:02.710019: Saving plan best values to HA entities
2026-08-16 01:10:02.880912: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-16 01:10:02.888065: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0.0
2026-08-16 01:10:02.895023: Best charging limit SoC's [7.0, 5.5, 7.0, 16.0, 11.5, 16.0, 16.0]kWh, export []kWh gives import battery 9.81kWh, house 3.15kWh, export 0.0kWh, metric 392.52p, metric10 414.64p
2026-08-16 01:10:02.976712: Marginal costs baseline metric (no standing charge): 342.534
2026-08-16 01:10:03.275512: Marginal energy costs matrix computed: min=22.31 max=27.39
2026-08-16 01:10:03.380580: Rate array import [{'start': 70, 'end': 960, 'rate': 'cheap', 'range': '(21.4p - 27.0p)'}, {'start': 960, 'end': 990, 'rate': 'expensive', 'range': '(36.8p)'}, {'start': 990, 'end': 1140, 'rate': 'very expensive', 'range': '(37.5p - 45.3p)'}, {'start': 1140, 'end': 1410, 'rate': 'expensive', 'range': '(30.0p - 35.9p)'}, {'start': 1410, 'end': 2200, 'rate': 'cheap', 'range': '(22.3p - 28.2p)'}] export [{'start': 70, 'end': 2200, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-16 01:10:03.381449: - Your estimated bill for today is £2.45 and tomorrow is £7.27
2026-08-16 01:10:03.381506: - Import rates are cheap (21.4p - 27.0p) for the next 14 hours and then expensive (36.8p) for the next 30 minutes.
2026-08-16 01:10:03.381529: - The battery is currently at 69% and is in eco mode for the next 6 and three quarters hours.
2026-08-16 01:10:03.381548: - For the next 48 hours there will be no solar generation.
2026-08-16 01:10:03.381567: - You will run out of battery in 30 hours.
2026-08-16 01:10:03.381600: - Your next charge slot will be in 6 and three quarters hours where import rates will be cheap (24.1p).
2026-08-16 01:10:03.381642: 
2026-08-16 01:10:03.449192: Plan calculation took 1.26 seconds
2026-08-16 01:10:03.452364: No high rate period found
2026-08-16 01:10:03.505076: Import threshold used for optimisation was 25.86p
2026-08-16 01:10:03.564542: Low import rate windows [0: 08-16 01:00:00 - 08-16 01:30:00 @ 26.7, 1: 08-16 01:30:00 - 08-16 02:00:00 @ 26.31, 2: 08-16 02:00:00 - 08-16 02:30:00 @ 25.79, 3: 08-16 02:30:00 - 08-16 03:00:00 @ 25.86, 4: 08-16 03:00:00 - 08-16 03:30:00 @ 26.13, 5: 08-16 03:30:00 - 08-16 04:00:00 @ 25.86, 6: 08-16 04:00:00 - 08-16 04:30:00 @ 26.27, 7: 08-16 04:30:00 - 08-16 05:00:00 @ 26.14, 8: 08-16 05:00:00 - 08-16 05:30:00 @ 27.03, 9: 08-16 05:30:00 - 08-16 06:00:00 @ 26.28, 10: 08-16 06:00:00 - 08-16 06:30:00 @ 25.68, 11: 08-16 06:30:00 - 08-16 07:00:00 @ 26.1, 12: 08-16 07:00:00 - 08-16 07:30:00 @ 24.28, 13: 08-16 07:30:00 - 08-16 08:00:00 @ 24.94, 14: 08-16 08:00:00 - 08-16 08:30:00 @ 24.06, 15: 08-16 08:30:00 - 08-16 09:00:00 @ 24.39, 16: 08-16 09:00:00 - 08-16 09:30:00 @ 24.66, 17: 08-16 09:30:00 - 08-16 10:00:00 @ 24.06, 18: 08-16 10:00:00 - 08-16 10:30:00 @ 25.5, 19: 08-16 10:30:00 - 08-16 11:00:00 @ 24.94, 20: 08-16 11:00:00 - 08-16 11:30:00 @ 24.25, 21: 08-16 11:30:00 - 08-16 12:00:00 @ 23.49, 22: 08-16 12:00:00 - 08-16 12:30:00 @ 23.43, 23: 08-16 12:30:00 - 08-16 13:00:00 @ 22.33, 24: 08-16 13:00:00 - 08-16 13:30:00 @ 22.76, 25: 08-16 13:30:00 - 08-16 14:00:00 @ 22.3, 26: 08-16 14:00:00 - 08-16 14:30:00 @ 21.41, 27: 08-16 14:30:00 - 08-16 15:00:00 @ 21.65, 28: 08-16 15:00:00 - 08-16 15:30:00 @ 22.95, 29: 08-16 15:30:00 - 08-16 16:00:00 @ 22.83, 30: 08-16 16:00:00 - 08-16 16:30:00 @ 36.84, 31: 08-16 16:30:00 - 08-16 17:00:00 @ 37.54, 32: 08-16 17:00:00 - 08-16 17:30:00 @ 41.79, 33: 08-16 17:30:00 - 08-16 18:00:00 @ 43.7, 34: 08-16 18:00:00 - 08-16 18:30:00 @ 44.34, 35: 08-16 19:00:00 - 08-16 19:30:00 @ 34.79, 36: 08-16 19:30:00 - 08-16 20:00:00 @ 34.76, 37: 08-16 20:00:00 - 08-16 20:30:00 @ 35.62, 38: 08-16 20:30:00 - 08-16 21:00:00 @ 35.3, 39: 08-16 21:00:00 - 08-16 21:30:00 @ 35.89, 40: 08-16 21:30:00 - 08-16 22:00:00 @ 35.71, 41: 08-16 22:00:00 - 08-16 22:30:00 @ 33.75, 42: 08-16 22:30:00 - 08-16 23:00:00 @ 32.0, 43: 08-16 23:00:00 - 08-16 23:30:00 @ 30.02, 44: 08-16 23:30:00 - 08-17 00:00:00 @ 27.8, 45: 08-17 00:00:00 - 08-17 00:30:00 @ 28.18, 46: 08-17 00:30:00 - 08-17 01:00:00 @ 27.38, 47: 08-17 01:00:00 - 08-17 01:30:00 @ 26.7, 48: 08-17 01:30:00 - 08-17 02:00:00 @ 26.31, 49: 08-17 02:00:00 - 08-17 02:30:00 @ 25.79, 50: 08-17 02:30:00 - 08-17 03:00:00 @ 25.86, 51: 08-17 03:00:00 - 08-17 03:30:00 @ 26.13, 52: 08-17 03:30:00 - 08-17 04:00:00 @ 25.86, 53: 08-17 04:00:00 - 08-17 04:30:00 @ 26.27, 54: 08-17 04:30:00 - 08-17 05:00:00 @ 26.14, 55: 08-17 05:00:00 - 08-17 05:30:00 @ 27.03, 56: 08-17 05:30:00 - 08-17 06:00:00 @ 26.28, 57: 08-17 06:00:00 - 08-17 06:30:00 @ 25.68, 58: 08-17 06:30:00 - 08-17 07:00:00 @ 26.1, 59: 08-17 07:00:00 - 08-17 07:30:00 @ 24.28, 60: 08-17 07:30:00 - 08-17 08:00:00 @ 24.94, 61: 08-17 08:00:00 - 08-17 08:30:00 @ 24.06, 62: 08-17 08:30:00 - 08-17 09:00:00 @ 24.39, 63: 08-17 09:00:00 - 08-17 09:30:00 @ 24.66, 64: 08-17 09:30:00 - 08-17 10:00:00 @ 24.06, 65: 08-17 10:00:00 - 08-17 10:30:00 @ 25.5, 66: 08-17 10:30:00 - 08-17 11:00:00 @ 24.94, 67: 08-17 11:00:00 - 08-17 11:30:00 @ 24.25, 68: 08-17 11:30:00 - 08-17 12:00:00 @ 23.49, 69: 08-17 12:00:00 - 08-17 12:30:00 @ 23.43, 70: 08-17 12:30:00 - 08-17 13:00:00 @ 22.33, 71: 08-17 13:00:00 - 08-17 13:30:00 @ 22.76, 72: 08-17 13:30:00 - 08-17 14:00:00 @ 22.3, 73: 08-17 14:00:00 - 08-17 14:30:00 @ 21.41, 74: 08-17 14:30:00 - 08-17 15:00:00 @ 21.65, 75: 08-17 15:00:00 - 08-17 15:30:00 @ 22.95, 76: 08-17 15:30:00 - 08-17 16:00:00 @ 22.83, 77: 08-17 16:00:00 - 08-17 16:30:00 @ 36.84, 78: 08-17 16:30:00 - 08-17 17:00:00 @ 37.54, 79: 08-17 17:00:00 - 08-17 17:30:00 @ 41.79, 80: 08-17 17:30:00 - 08-17 18:00:00 @ 43.7, 81: 08-17 18:00:00 - 08-17 18:30:00 @ 44.34, 82: 08-17 19:00:00 - 08-17 19:30:00 @ 34.79, 83: 08-17 19:30:00 - 08-17 20:00:00 @ 34.76, 84: 08-17 20:00:00 - 08-17 20:30:00 @ 35.62, 85: 08-17 20:30:00 - 08-17 21:00:00 @ 35.3, 86: 08-17 21:00:00 - 08-17 21:30:00 @ 35.89, 87: 08-17 21:30:00 - 08-17 22:00:00 @ 35.71, 88: 08-17 22:00:00 - 08-17 22:30:00 @ 33.75, 89: 08-17 22:30:00 - 08-17 23:00:00 @ 32.0, 90: 08-17 23:00:00 - 08-17 23:30:00 @ 30.02, 91: 08-17 23:30:00 - 08-18 00:00:00 @ 27.8, 92: 08-18 00:00:00 - 08-18 00:30:00 @ 28.18, 93: 08-18 00:30:00 - 08-18 01:00:00 @ 27.38, 94: 08-18 01:00:00 - 08-18 01:30:00 @ 26.7]
2026-08-16 01:10:03.571516: Inverter 0 Charge window will be: 2026-08-16 08:00:00+01:00 - 2026-08-16 08:30:00+01:00 - current SoC 69%, target 44%
2026-08-16 01:10:03.571659: Inverter 0 disabled charge window while waiting for schedule (now 08-16 01:10:00 target set_window_minutes 30 charge start time 08-16 08:00:00) original inverter start time 08-18 00:00:00
2026-08-16 01:10:03.571783: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-16 01:10:03.572081: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-16 01:10:03.572176: No export window planned
2026-08-16 01:10:03.572295: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-16 01:10:03.572331: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-16 01:10:03.572466: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-16 01:10:03.572652: Inverter 0 not setting charging SoC as we are not within the window (now 08-16 01:10:00 target set_soc_minutes 30 charge start time 08-18 00:00:00)
2026-08-16 01:10:03.572715: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-16 01:10:03.572781: Inverter 0 Current Target SoC is 7%, already at target
2026-08-16 01:10:03.572879: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 01:10:03.572989: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 01:10:03.573036: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 01:10:03.573095: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 01:10:03.573125: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 01:10:03.573169: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 01:10:03.573204: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 01:10:03.573270: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 01:10:03.573331: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 01:10:03.573361: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 01:10:03.573390: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 01:10:03.573417: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 01:10:03.573440: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 01:10:03.573468: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 01:10:03.573494: Inverter 0 count register writes 0
2026-08-16 01:10:03.588677: Will recompute the plan as it is now 10.0 minutes old and will exceed the max age of 10 minutes before the next run
2026-08-16 01:10:03.588916: Recompute is saving previous plan...
2026-08-16 01:10:03.591627: Best charge window [ 16-08 01:00:00 - 16-08 01:30:00 @ 26.7p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.31p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.79p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 25.86p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.13p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 25.86p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.27p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.14p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 27.03p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.28p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.68p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 26.1p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 24.28p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 24.94p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.06p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.39p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.66p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.06p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 25.5p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 24.94p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 24.25p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 23.49p 0%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.43p 0%, 16-08 12:30:00 - 16-08 13:00:00 @ 22.33p 0%, 16-08 13:00:00 - 16-08 13:30:00 @ 22.76p 0%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 0%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 0%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.65p 0%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.95p 0%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.83p 0%, 16-08 16:00:00 - 16-08 16:30:00 @ 36.84p 0%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.54p 0%, 16-08 17:00:00 - 16-08 17:30:00 @ 41.79p 0%, 16-08 17:30:00 - 16-08 18:00:00 @ 43.7p 0%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.34p 0%, 16-08 19:00:00 - 16-08 19:30:00 @ 34.79p 0%, 16-08 19:30:00 - 16-08 20:00:00 @ 34.76p 0%, 16-08 20:00:00 - 16-08 20:30:00 @ 35.62p 0%, 16-08 20:30:00 - 16-08 21:00:00 @ 35.3p 0%, 16-08 21:00:00 - 16-08 21:30:00 @ 35.89p 0%, 16-08 21:30:00 - 16-08 22:00:00 @ 35.71p 0%, 16-08 22:00:00 - 16-08 22:30:00 @ 33.75p 0%, 16-08 22:30:00 - 16-08 23:00:00 @ 32.0p 0%, 16-08 23:00:00 - 16-08 23:30:00 @ 30.02p 0%, 16-08 23:30:00 - 17-08 00:00:00 @ 27.8p 0%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.18p 0%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.38p 0%, 17-08 01:00:00 - 17-08 01:30:00 @ 26.7p 0%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.31p 0%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.79p 0%, 17-08 02:30:00 - 17-08 03:00:00 @ 25.86p 0%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.13p 0%, 17-08 03:30:00 - 17-08 04:00:00 @ 25.86p 0%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.27p 0%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.14p 0%, 17-08 05:00:00 - 17-08 05:30:00 @ 27.03p 0%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.28p 0%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.68p 0%, 17-08 06:30:00 - 17-08 07:00:00 @ 26.1p 0%, 17-08 07:00:00 - 17-08 07:30:00 @ 24.28p 0%, 17-08 07:30:00 - 17-08 08:00:00 @ 24.94p 0%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.06p 0%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.39p 0%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.66p 0%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.06p 0%, 17-08 10:00:00 - 17-08 10:30:00 @ 25.5p 0%, 17-08 10:30:00 - 17-08 11:00:00 @ 24.94p 0%, 17-08 11:00:00 - 17-08 11:30:00 @ 24.25p 0%, 17-08 11:30:00 - 17-08 12:00:00 @ 23.49p 0%, 17-08 12:00:00 - 17-08 12:30:00 @ 23.43p 0%, 17-08 12:30:00 - 17-08 13:00:00 @ 22.33p 0%, 17-08 13:00:00 - 17-08 13:30:00 @ 22.76p 0%, 17-08 13:30:00 - 17-08 14:00:00 @ 22.3p 0%, 17-08 14:00:00 - 17-08 14:30:00 @ 21.41p 0%, 17-08 14:30:00 - 17-08 15:00:00 @ 21.65p 0%, 17-08 15:00:00 - 17-08 15:30:00 @ 22.95p 0%, 17-08 15:30:00 - 17-08 16:00:00 @ 22.83p 0%, 17-08 16:00:00 - 17-08 16:30:00 @ 36.84p 0%, 17-08 16:30:00 - 17-08 17:00:00 @ 37.54p 0%, 17-08 17:00:00 - 17-08 17:30:00 @ 41.79p 0%, 17-08 17:30:00 - 17-08 18:00:00 @ 43.7p 0%, 17-08 18:00:00 - 17-08 18:30:00 @ 44.34p 0%, 17-08 19:00:00 - 17-08 19:30:00 @ 34.79p 0%, 17-08 19:30:00 - 17-08 20:00:00 @ 34.76p 0%, 17-08 20:00:00 - 17-08 20:30:00 @ 35.62p 0%, 17-08 20:30:00 - 17-08 21:00:00 @ 35.3p 0%, 17-08 21:00:00 - 17-08 21:30:00 @ 35.89p 0%, 17-08 21:30:00 - 17-08 22:00:00 @ 35.71p 0%, 17-08 22:00:00 - 17-08 22:30:00 @ 33.75p 0%, 17-08 22:30:00 - 17-08 23:00:00 @ 32.0p 0%, 17-08 23:00:00 - 17-08 23:30:00 @ 30.02p 0%, 17-08 23:30:00 - 18-08 00:00:00 @ 27.8p 0%, 18-08 00:00:00 - 18-08 00:30:00 @ 28.18p 0%, 18-08 00:30:00 - 18-08 01:00:00 @ 27.38p 0%, 18-08 01:00:00 - 18-08 01:30:00 @ 26.7p 0% ]
2026-08-16 01:10:03.591711: Best export window [  ]
2026-08-16 01:10:03.592436: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-16 01:10:03.595008: Load divergence over 8.0 hours mean 566.24W, min 292.2W, max 1733.4W, std dev 338.88W, divergence 29.92%
2026-08-16 01:10:03.610049: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-16 01:10:03.610169: LoadML is_calculating False
2026-08-16 01:10:03.610256: Creating pool of 12 processes to match your CPU count
2026-08-16 01:10:03.707760: Calculate Best options: mode(Control charge & discharge), calculate_export_oncharge(False), calculate_export_on_pv(True), set_export_freeze_only(False), set_discharge_during_charge(True), combine_charge_slots(False), combine_export_slots(False), combine_rate_threshold(0.0), best_soc_min(0.0 kWh), best_soc_max(0.0 kWh), best_soc_keep(0.0 kWh), inverter_loss(4%), battery_loss(3%), battery_loss_discharge (3%), inverter_hybrid(True), metric_min_improvement(0.0p), metric_min_improvement_export(0.1p), metric_min_improvement_export_freeze(0.1p), metric_battery_cycle(0.0p/kWh), metric_battery_value_scaling(1.0 x) 
2026-08-16 01:10:03.709657: Optimise levels pass started at 2026-08-16 01:10:03
2026-08-16 01:10:03.709723: Optimise all windows, total charge 94 export 1
2026-08-16 01:10:04.396565: >> Region optimisation pass width 960 gives best_metric 537.32p, best_cost 551.3p, best_cycle 37.57kWh, best_import 22.09kWh
2026-08-16 01:10:04.717229: >> Region optimisation pass width 480 gives best_metric 537.32p, best_cost 551.3p, best_cycle 37.57kWh, best_import 22.09kWh
2026-08-16 01:10:05.263897: >> Region optimisation pass width 240 gives best_metric 537.32p, best_cost 551.3p, best_cycle 37.57kWh, best_import 22.09kWh
2026-08-16 01:10:06.310188: >> Region optimisation pass width 120 gives best_metric 537.32p, best_cost 551.3p, best_cycle 37.57kWh, best_import 22.09kWh
2026-08-16 01:10:06.310455: Calculated end_record as 08-17 12:30:00 based on best_price 22.33p, next_charge_start 08-16 12:30:00, max_windows 70
2026-08-16 01:10:06.310534: Optimise levels pass ended at 2026-08-16 01:10:06, duration 2.6 seconds tried 293 combinations
2026-08-16 01:10:06.310590: Set best_price_charge_level 24.0p, best_price_export_level 0p, best_price_charge 22.33p, best_cost_export 0p, best_metric 537.32p, best_keep 0kWh, best_cycle 37.57kWh, best_carbon 0kg, best_import 22.09kWh
2026-08-16 01:10:06.326636: Starting detailed optimisation end_record 08-17 12:30:00, best_price_charge 22.33p, best_price_export 0p. lowest_price_charge 21.41p with charge limits [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 0, 0, 16.0, 16.0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0]kWh and export limits []kWh
2026-08-16 01:10:11.304723: Tweak plan optimisation started metric 304.31p, cost 321.19p
2026-08-16 01:10:11.621544: Tweak optimisation finished metric 304.31p, cost 321.19p, metric_keep 0kWh, cycle 21.34kWh, carbon 0kg, import 12.0kWh, changed 8 window(s)
2026-08-16 01:10:11.641940: Swap charge optimisation started metric 304.31p, cost 321.19p, min_improvement_swap 0.1p
2026-08-16 01:10:18.631567: Swap charge optimisation finished metric 304.31p, cost 321.19p
2026-08-16 01:10:18.747042: Pruned 1 dead plan slot(s) in 11 trial(s), nominal metric 300.59p -> 300.59p, plan now metric 304.32p, cost 321.19p, cycle 21.34kWh, import 12.0kWh
2026-08-16 01:10:18.756782: Raw charge windows [ 16-08 01:00:00 - 16-08 01:30:00 @ 26.7p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.31p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.79p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 25.86p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.13p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 25.86p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.27p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.14p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 27.03p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.28p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.68p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 26.1p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 24.28p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 24.94p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.06p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.39p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.66p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.06p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 25.5p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 24.94p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 24.25p 34%, 16-08 11:30:00 - 16-08 12:00:00 @ 23.49p 34%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.43p 34%, 16-08 12:30:00 - 16-08 13:00:00 @ 22.33p 34%, 16-08 13:00:00 - 16-08 13:30:00 @ 22.76p 34%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 44%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 100%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.65p 72%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.95p 72%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.83p 72%, 16-08 16:00:00 - 16-08 16:30:00 @ 36.84p 0%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.54p 0%, 16-08 17:00:00 - 16-08 17:30:00 @ 41.79p 0%, 16-08 17:30:00 - 16-08 18:00:00 @ 43.7p 0%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.34p 0%, 16-08 19:00:00 - 16-08 19:30:00 @ 34.79p 0%, 16-08 19:30:00 - 16-08 20:00:00 @ 34.76p 0%, 16-08 20:00:00 - 16-08 20:30:00 @ 35.62p 0%, 16-08 20:30:00 - 16-08 21:00:00 @ 35.3p 0%, 16-08 21:00:00 - 16-08 21:30:00 @ 35.89p 0%, 16-08 21:30:00 - 16-08 22:00:00 @ 35.71p 0%, 16-08 22:00:00 - 16-08 22:30:00 @ 33.75p 0%, 16-08 22:30:00 - 16-08 23:00:00 @ 32.0p 0%, 16-08 23:00:00 - 16-08 23:30:00 @ 30.02p 0%, 16-08 23:30:00 - 17-08 00:00:00 @ 27.8p 0%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.18p 0%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.38p 0%, 17-08 01:00:00 - 17-08 01:30:00 @ 26.7p 0%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.31p 0%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.79p 0%, 17-08 02:30:00 - 17-08 03:00:00 @ 25.86p 0%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.13p 0%, 17-08 03:30:00 - 17-08 04:00:00 @ 25.86p 0%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.27p 0%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.14p 0%, 17-08 05:00:00 - 17-08 05:30:00 @ 27.03p 0%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.28p 0%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.68p 0%, 17-08 06:30:00 - 17-08 07:00:00 @ 26.1p 0%, 17-08 07:00:00 - 17-08 07:30:00 @ 24.28p 0%, 17-08 07:30:00 - 17-08 08:00:00 @ 24.94p 0%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.06p 0%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.39p 0%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.66p 0%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.06p 0%, 17-08 10:00:00 - 17-08 10:30:00 @ 25.5p 0%, 17-08 10:30:00 - 17-08 11:00:00 @ 24.94p 0%, 17-08 11:00:00 - 17-08 11:30:00 @ 24.25p 0%, 17-08 11:30:00 - 17-08 12:00:00 @ 23.49p 0%, 17-08 12:00:00 - 17-08 12:30:00 @ 23.43p 0%, 17-08 12:30:00 - 17-08 13:00:00 @ 22.33p 100%, 17-08 13:00:00 - 17-08 13:30:00 @ 22.76p 100%, 17-08 13:30:00 - 17-08 14:00:00 @ 22.3p 100%, 17-08 14:00:00 - 17-08 14:30:00 @ 21.41p 100%, 17-08 14:30:00 - 17-08 15:00:00 @ 21.65p 100%, 17-08 15:00:00 - 17-08 15:30:00 @ 22.95p 100%, 17-08 15:30:00 - 17-08 16:00:00 @ 22.83p 100%, 17-08 16:00:00 - 17-08 16:30:00 @ 36.84p 100%, 17-08 16:30:00 - 17-08 17:00:00 @ 37.54p 100%, 17-08 17:00:00 - 17-08 17:30:00 @ 41.79p 100%, 17-08 17:30:00 - 17-08 18:00:00 @ 43.7p 100%, 17-08 18:00:00 - 17-08 18:30:00 @ 44.34p 100%, 17-08 19:00:00 - 17-08 19:30:00 @ 34.79p 100%, 17-08 19:30:00 - 17-08 20:00:00 @ 34.76p 100%, 17-08 20:00:00 - 17-08 20:30:00 @ 35.62p 100%, 17-08 20:30:00 - 17-08 21:00:00 @ 35.3p 100%, 17-08 21:00:00 - 17-08 21:30:00 @ 35.89p 100%, 17-08 21:30:00 - 17-08 22:00:00 @ 35.71p 100%, 17-08 22:00:00 - 17-08 22:30:00 @ 33.75p 100%, 17-08 22:30:00 - 17-08 23:00:00 @ 32.0p 100%, 17-08 23:00:00 - 17-08 23:30:00 @ 30.02p 100%, 17-08 23:30:00 - 18-08 00:00:00 @ 27.8p 100%, 18-08 00:00:00 - 18-08 00:30:00 @ 28.18p 100%, 18-08 00:30:00 - 18-08 01:00:00 @ 27.38p 100%, 18-08 01:00:00 - 18-08 01:30:00 @ 26.7p 100% ] reserve 1.12
2026-08-16 01:10:18.757354: Unclipped charge windows [ 16-08 11:00:00 - 16-08 13:30:00 @ 22.88p 34%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 44%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 100%, 16-08 14:30:00 - 16-08 16:00:00 @ 22.56p 72%, 17-08 12:30:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 18-08 01:30:00 @ 27.44p 100% ] reserve 1.12
2026-08-16 01:10:18.757594: Unfiltered charge windows [ 16-08 11:00:00 - 16-08 13:30:00 @ 22.88p 34%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 44%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 100%, 16-08 14:30:00 - 16-08 16:00:00 @ 22.56p 72%, 17-08 12:30:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 18-08 01:30:00 @ 27.44p 100% ] reserve 1.12
2026-08-16 01:10:18.757780: Filtered charge windows [ 16-08 11:00:00 - 16-08 13:30:00 @ 22.88p 34%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 44%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 100%, 16-08 14:30:00 - 16-08 16:00:00 @ 22.56p 72%, 17-08 12:30:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 18-08 01:30:00 @ 27.44p 100% ] reserve 1.12
2026-08-16 01:10:18.788123: Previous plan best metric is 304.35 (cost 321.19) and new plan best metric is 304.31 (cost 321.19)
2026-08-16 01:10:18.788329: New plan is a cost-neutral improvement but less fragmented (4 vs 5 segments), using new plan
2026-08-16 01:10:18.788364: Plan valid is now true after recompute was False
2026-08-16 01:10:18.812364: predict base end_record 08-17 12:30:00, final soc 1.12kWh, metric 407.06p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 19:25:00, load 21.45kWh, PV 0.0kWh
2026-08-16 01:10:18.913225: Battery has 18.25 hours left - now at 11.04kWh
2026-08-16 01:10:18.951428: predict base10 end_record 08-17 12:30:00, final soc 1.12kWh, metric 438.92p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 18:35:00, load 22.42kWh, PV 0.0kWh
2026-08-16 01:10:19.044684: predict best10 end_record 08-17 12:30:00, final soc 1.12kWh, metric 396.06p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 06:15:00, load 22.42kWh, PV 0.0kWh
2026-08-16 01:10:19.128702: predict best end_record 08-17 12:30:00, final soc 1.12kWh, metric 371.17p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 07:15:00, load 21.45kWh, PV 0.0kWh
2026-08-16 01:10:19.128818: Saving plan best values to HA entities
2026-08-16 01:10:19.288631: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-16 01:10:19.294193: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0.0
2026-08-16 01:10:19.299786: Best charging limit SoC's [5.5, 7.0, 16.0, 11.5, 16.0, 16.0]kWh, export []kWh gives import battery 8.85kWh, house 3.15kWh, export 0.0kWh, metric 371.17p, metric10 396.06p
2026-08-16 01:10:19.377785: Marginal costs baseline metric (no standing charge): 321.1855
2026-08-16 01:10:19.610479: Marginal energy costs matrix computed: min=22.31 max=27.31
2026-08-16 01:10:19.700941: Rate array import [{'start': 70, 'end': 960, 'rate': 'cheap', 'range': '(21.4p - 27.0p)'}, {'start': 960, 'end': 990, 'rate': 'expensive', 'range': '(36.8p)'}, {'start': 990, 'end': 1140, 'rate': 'very expensive', 'range': '(37.5p - 45.3p)'}, {'start': 1140, 'end': 1410, 'rate': 'expensive', 'range': '(30.0p - 35.9p)'}, {'start': 1410, 'end': 2190, 'rate': 'cheap', 'range': '(23.4p - 28.2p)'}] export [{'start': 70, 'end': 2190, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-16 01:10:19.701567: - Your estimated bill for today is £2.45 and tomorrow is £7.27
2026-08-16 01:10:19.701615: - Import rates are cheap (21.4p - 27.0p) for the next 14 hours and then expensive (36.8p) for the next 30 minutes.
2026-08-16 01:10:19.701634: - The battery is currently at 69% and is in eco mode for the next 9 hours.
2026-08-16 01:10:19.701649: - For the next 48 hours there will be no solar generation.
2026-08-16 01:10:19.701663: - You will run out of battery in 30 hours.
2026-08-16 01:10:19.701676: - Your next charge slot will be in 9 hours where import rates will be cheap (24.3p).
2026-08-16 01:10:19.701690: 
2026-08-16 01:10:19.764255: Plan calculation took 16.18 seconds
2026-08-16 01:10:19.764770: Inverter 0: Type SK Sunsynk
2026-08-16 01:10:19.764821: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-16 01:10:19.765135: Reserve min: 7%, battery_min: 7%
2026-08-16 01:10:19.765268: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-16 01:10:19.765765: Inverter 0 SoC: 10.92kW 68%, current charge rate 5000W, current discharge rate 5250W, current battery power 1541W, current battery voltage 51.2V, grid power -55W, load power 1602W, PV Power 0W
2026-08-16 01:10:19.766209: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-16 01:10:19.766346: Inverter 0 scheduled charge enable is False
2026-08-16 01:10:19.766382: Inverter 0 charge windows currently []
2026-08-16 01:10:19.766413: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-16 01:10:19.766530: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-16 01:10:19.766568: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-16 01:10:19.766605: Inverter 0 scheduled discharge enable is False
2026-08-16 01:10:19.766740: Inverter 0 idle time is 08-16 00:00:00-08-16 23:59:00
2026-08-16 01:10:19.766778: Inverter 0 discharge windows currently []
2026-08-16 01:10:19.766801: Note: Inverter does not support discharge freeze - disabled
2026-08-16 01:10:19.766823: Note: Inverter does not support charge freeze - disabled
2026-08-16 01:10:19.766841: Note: Inverter does not support reserve - disabling reserve functions
2026-08-16 01:10:19.819042: Inverter 0 Charge window will be: 2026-08-16 11:00:00+01:00 - 2026-08-16 16:00:00+01:00 - current SoC 68%, target 34%
2026-08-16 01:10:19.819175: Inverter 0 disabled charge window while waiting for schedule (now 08-16 01:10:00 target set_window_minutes 30 charge start time 08-16 11:00:00) original inverter start time 08-18 00:00:00
2026-08-16 01:10:19.819254: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-16 01:10:19.819449: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-16 01:10:19.819521: No export window planned
2026-08-16 01:10:19.819638: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-16 01:10:19.819664: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-16 01:10:19.819776: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-16 01:10:19.819982: Inverter 0 not setting charging SoC as we are not within the window (now 08-16 01:10:00 target set_soc_minutes 30 charge start time 08-18 00:00:00)
2026-08-16 01:10:19.820031: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-16 01:10:19.820075: Inverter 0 Current Target SoC is 7%, already at target
2026-08-16 01:10:19.820154: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 01:10:19.820193: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 01:10:19.820216: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 01:10:19.820238: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 01:10:19.820258: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 01:10:19.820279: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 01:10:19.820299: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 01:10:19.820347: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 01:10:19.820370: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 01:10:19.820390: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 01:10:19.820412: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 01:10:19.820431: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 01:10:19.820450: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 01:10:19.820470: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 01:10:19.820486: Inverter 0 count register writes 0
2026-08-16 01:10:19.840053: Total inverter register writes now 826
2026-08-16 01:10:19.870967: Info: Completed run status Demand
2026-08-16 01:10:19.877597: Info: record_status Demand
2026-08-16 01:10:19.883973: Saved current settings to /config/predbat_config.json
2026-08-16 01:10:19.884263: Compare, best tariff: igo_fixed metric 126.72p
2026-08-16 01:10:56.987936: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-16 01:10:56.988151: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-16 01:10:56.988185: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-16 01:10:56.988326: Inverter 0 idle time is 08-16 00:00:00-08-16 23:59:00
2026-08-16 01:10:56.988359: Note: Inverter does not support discharge freeze - disabled
2026-08-16 01:10:56.988376: Note: Inverter does not support charge freeze - disabled
2026-08-16 01:10:56.988391: Note: Inverter does not support reserve - disabling reserve functions
2026-08-16 01:12:57.197057: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-16 01:12:57.197328: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-16 01:12:57.197371: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-16 01:12:57.197532: Inverter 0 idle time is 08-16 00:00:00-08-16 23:59:00
2026-08-16 01:12:57.197563: Note: Inverter does not support discharge freeze - disabled
2026-08-16 01:12:57.197582: Note: Inverter does not support charge freeze - disabled
2026-08-16 01:12:57.197599: Note: Inverter does not support reserve - disabling reserve functions
2026-08-16 01:14:57.416539: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-16 01:14:57.416758: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-16 01:14:57.416789: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-16 01:14:57.416988: Inverter 0 idle time is 08-16 00:00:00-08-16 23:59:00
2026-08-16 01:14:57.417021: Note: Inverter does not support discharge freeze - disabled
2026-08-16 01:14:57.417049: Note: Inverter does not support charge freeze - disabled
2026-08-16 01:14:57.417064: Note: Inverter does not support reserve - disabling reserve functions
2026-08-16 01:15:00.496104: --------------- PredBat - update at 2026-08-16 01:15:00+01:00 with clock skew 0 minutes, minutes now 75
2026-08-16 01:15:00.496895: Saved current settings to /config/predbat_config.json
2026-08-16 01:15:00.497199: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 40.0 minutes
2026-08-16 01:15:00.497307: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.2, latest beta is v8.48.2
2026-08-16 01:15:00.497404: Autoupdate: There is an update pending v8.48.2 PV90 and second pass enabled by default, bug fixes - auto update is off
2026-08-16 01:15:00.514202: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-16 01:15:00.514355: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-16 01:15:00.514552: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-16 01:15:00.515204: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-16 01:15:00.515356: Predbat mode is set to Control charge & discharge
2026-08-16 01:15:00.707767: Found 21602 load_today datapoints going back 28 days
2026-08-16 01:15:00.707922: Using load_power data to fill gaps in load_today data
2026-08-16 01:15:01.618767: Processing 721 30-minute periods for power integration
2026-08-16 01:15:01.817817: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-16 01:15:01.818017: Car charging hold False, threshold 6.0kWh
2026-08-16 01:15:01.818162: Current data so far today: load 1.1kWh, import 0.0kWh, export 0.0kWh, PV 0kWh
2026-08-16 01:15:01.836124: Cars: SoC: [8.204]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-16 01:15:01.836713: Standing charge is set to 49.98p
2026-08-16 01:15:01.865118: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-16 01:15:01.865240: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-16 01:15:01.865468: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 75.0 minutes
2026-08-16 01:15:01.865916: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-17&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 74.8 minutes
2026-08-16 01:15:01.869346: Loaded 47 datapoints of futurerate analysis
2026-08-16 01:15:01.965571: Predicted future rates: ['08-16 00:00:00 => 28.52 / 19.97', '08-16 01:00:00 => 27.43 / 19.41', '08-16 02:00:00 => 26.47 / 18.92', '08-16 03:00:00 => 26.1 / 18.73', '08-16 04:00:00 => 26.04 / 18.7', '08-16 05:00:00 => 25.95 / 18.65', '08-16 06:00:00 => 25.71 / 18.53', '08-16 07:00:00 => 25.37 / 18.35', '08-16 08:00:00 => 24.58 / 17.94', '08-16 09:00:00 => 24.0 / 17.64', '08-16 10:00:00 => 24.54 / 17.92', '08-16 11:00:00 => 24.44 / 17.87', '08-16 12:00:00 => 23.53 / 17.4', '08-16 13:00:00 => 22.89 / 17.07', '08-16 14:00:00 => 21.77 / 16.49', '08-16 15:00:00 => 21.77 / 16.49', '08-16 16:00:00 => 36.89 / 18.3', '08-16 17:00:00 => 39.85 / 19.83', '08-16 18:00:00 => 43.87 / 21.9', '08-16 19:00:00 => 32.69 / 22.13', '08-16 20:00:00 => 33.46 / 22.53', '08-16 21:00:00 => 33.37 / 22.48', '08-16 22:00:00 => 32.01 / 21.78']
2026-08-16 01:15:02.028114: Rate min forward looking: now 21.41p at end of forecast 21.41p
2026-08-16 01:15:02.028546: Import rates: min 21.41p, max 45.28p, average 28.73p
2026-08-16 01:15:02.071173: Export rates: min 0p, max 0p, average 0.0p
2026-08-16 01:15:02.071658: Rate thresholds (for charge/export) are import 44.78p (0.0p), export -0.1p (0.0p)
2026-08-16 01:15:02.072983: High export rate found rates in range 99p to -99p
2026-08-16 01:15:02.151324: Low Import rate found rates in range 21.41p to 44.34p
2026-08-16 01:15:02.152623: Car 0 charging is not planned as it is not plugged in
2026-08-16 01:15:02.163923: Battery level now 11.04kWh, -1hr ago 11.98kWh, at midnight 12.21kWh, battery value change in the last hour -17.22p, change today -21.48p, rate_forward 18.39p
2026-08-16 01:15:02.164279: Last hour: net energy 0.0kWh, import 0.0kWh, export 0.0kWh, car 0kWh, load 0.9kWh, net cost 0.0p, import 0.0p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-16 01:15:02.213899: Today's energy total net 0.0kWh, import 0.0kWh, export 0.0kWh, cost 49.98p, import 0.0p, export 0.0p, carbon 0.0kg
2026-08-16 01:15:02.214026: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-16 01:15:02.272390: Using weighted-bucket historical load forecast over 14 days
2026-08-16 01:15:02.291219: Today's load divergence 100.0%, in-day adjustment 82.97%, damping 0.95x, yesterday 82.97% today 100.0% blend 100.0%
2026-08-16 01:15:02.291290: Today's predicted so far 1.2kWh with 0.0kWh car/iBoost excluded, 0kWh import ignored, and 1.2kWh forecast extra.
2026-08-16 01:15:02.291319: Today's actual load so far 1.01kWh with 0.0kWh car/iBoost excluded, and 0kWh import ignored.
2026-08-16 01:15:02.329101: Inverter 0: Type SK Sunsynk
2026-08-16 01:15:02.329193: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-16 01:15:02.329371: Reserve min: 7%, battery_min: 7%
2026-08-16 01:15:02.329440: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-16 01:15:02.329699: Inverter 0 SoC: 10.88kW 68%, current charge rate 5000W, current discharge rate 5250W, current battery power 1596W, current battery voltage 51.2V, grid power -54W, load power 1655W, PV Power 0W
2026-08-16 01:15:02.329854: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-16 01:15:02.329943: Inverter 0 scheduled charge enable is False
2026-08-16 01:15:02.329978: Inverter 0 charge windows currently []
2026-08-16 01:15:02.330004: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-16 01:15:02.330129: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-16 01:15:02.330190: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-16 01:15:02.330229: Inverter 0 scheduled discharge enable is False
2026-08-16 01:15:02.330356: Inverter 0 idle time is 08-16 00:00:00-08-16 23:59:00
2026-08-16 01:15:02.330392: Inverter 0 discharge windows currently []
2026-08-16 01:15:02.330414: Note: Inverter does not support discharge freeze - disabled
2026-08-16 01:15:02.330436: Note: Inverter does not support charge freeze - disabled
2026-08-16 01:15:02.330453: Note: Inverter does not support reserve - disabling reserve functions
2026-08-16 01:15:02.389348: Dynamic load last period 0.60kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-16 01:15:02.389463: Plan was last updated on 2026-08-16 01:10:00+01:00 and is now 5.0 minutes old
2026-08-16 01:15:02.389734: Best charge window [ 16-08 11:00:00 - 16-08 13:30:00 @ 22.88p 34%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 44%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 100%, 16-08 14:30:00 - 16-08 16:00:00 @ 22.56p 72%, 17-08 12:30:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 18-08 01:30:00 @ 27.44p 100% ]
2026-08-16 01:15:02.389776: Best export window [  ]
2026-08-16 01:15:02.390640: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-16 01:15:02.393790: Load divergence over 8.0 hours mean 559.92W, min 288.0W, max 1631.4W, std dev 341.12W, divergence 30.46%
2026-08-16 01:15:02.412276: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-16 01:15:02.412398: LoadML is_calculating False
2026-08-16 01:15:02.412462: Creating pool of 12 processes to match your CPU count
2026-08-16 01:15:02.532782: predict base end_record 08-17 12:35:00, final soc 1.12kWh, metric 411.18p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 19:20:00, load 21.49kWh, PV 0.0kWh
2026-08-16 01:15:02.674598: Battery has 18.08 hours left - now at 10.88kWh
2026-08-16 01:15:02.718642: predict base10 end_record 08-17 12:35:00, final soc 1.12kWh, metric 443.72p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 18:30:00, load 22.46kWh, PV 0.0kWh
2026-08-16 01:15:02.791520: predict best10 end_record 08-17 12:35:00, final soc 1.44kWh, metric 407.09p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 06:15:00, load 22.46kWh, PV 0.0kWh
2026-08-16 01:15:02.865147: predict best end_record 08-17 12:35:00, final soc 1.51kWh, metric 383.78p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 07:15:00, load 21.49kWh, PV 0.0kWh
2026-08-16 01:15:02.865233: Saving plan best values to HA entities
2026-08-16 01:15:03.021558: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-16 01:15:03.026862: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0.0
2026-08-16 01:15:03.032275: Best charging limit SoC's [5.5, 7.0, 16.0, 11.5, 16.0, 16.0]kWh, export []kWh gives import battery 9.41kWh, house 3.15kWh, export 0.0kWh, metric 383.78p, metric10 407.09p
2026-08-16 01:15:03.105251: Marginal costs baseline metric (no standing charge): 333.7931
2026-08-16 01:15:03.361363: Marginal energy costs matrix computed: min=22.19 max=27.4
2026-08-16 01:15:03.439172: Rate array import [{'start': 75, 'end': 960, 'rate': 'cheap', 'range': '(21.4p - 27.0p)'}, {'start': 960, 'end': 990, 'rate': 'expensive', 'range': '(36.8p)'}, {'start': 990, 'end': 1140, 'rate': 'very expensive', 'range': '(37.5p - 45.3p)'}, {'start': 1140, 'end': 1410, 'rate': 'expensive', 'range': '(30.0p - 35.9p)'}, {'start': 1410, 'end': 2195, 'rate': 'cheap', 'range': '(22.3p - 28.2p)'}] export [{'start': 75, 'end': 2195, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-16 01:15:03.440016: - Your estimated bill for today is £2.46 and tomorrow is £7.29
2026-08-16 01:15:03.440096: - Import rates are cheap (21.4p - 27.0p) for the next 14 hours and then expensive (36.8p) for the next 30 minutes.
2026-08-16 01:15:03.440143: - The battery is currently at 68% and is in eco mode for the next 9 hours.
2026-08-16 01:15:03.440171: - For the next 48 hours there will be no solar generation.
2026-08-16 01:15:03.440205: - You will run out of battery in 30 hours.
2026-08-16 01:15:03.440244: - Your next charge slot will be in 9 hours where import rates will be cheap (24.3p).
2026-08-16 01:15:03.440268: 
2026-08-16 01:15:03.503642: Plan calculation took 1.11 seconds
2026-08-16 01:15:03.506323: No high rate period found
2026-08-16 01:15:03.551614: Import threshold used for optimisation was 25.86p
2026-08-16 01:15:03.602394: Low import rate windows [0: 08-16 01:00:00 - 08-16 01:30:00 @ 26.7, 1: 08-16 01:30:00 - 08-16 02:00:00 @ 26.31, 2: 08-16 02:00:00 - 08-16 02:30:00 @ 25.79, 3: 08-16 02:30:00 - 08-16 03:00:00 @ 25.86, 4: 08-16 03:00:00 - 08-16 03:30:00 @ 26.13, 5: 08-16 03:30:00 - 08-16 04:00:00 @ 25.86, 6: 08-16 04:00:00 - 08-16 04:30:00 @ 26.27, 7: 08-16 04:30:00 - 08-16 05:00:00 @ 26.14, 8: 08-16 05:00:00 - 08-16 05:30:00 @ 27.03, 9: 08-16 05:30:00 - 08-16 06:00:00 @ 26.28, 10: 08-16 06:00:00 - 08-16 06:30:00 @ 25.68, 11: 08-16 06:30:00 - 08-16 07:00:00 @ 26.1, 12: 08-16 07:00:00 - 08-16 07:30:00 @ 24.28, 13: 08-16 07:30:00 - 08-16 08:00:00 @ 24.94, 14: 08-16 08:00:00 - 08-16 08:30:00 @ 24.06, 15: 08-16 08:30:00 - 08-16 09:00:00 @ 24.39, 16: 08-16 09:00:00 - 08-16 09:30:00 @ 24.66, 17: 08-16 09:30:00 - 08-16 10:00:00 @ 24.06, 18: 08-16 10:00:00 - 08-16 10:30:00 @ 25.5, 19: 08-16 10:30:00 - 08-16 11:00:00 @ 24.94, 20: 08-16 11:00:00 - 08-16 11:30:00 @ 24.25, 21: 08-16 11:30:00 - 08-16 12:00:00 @ 23.49, 22: 08-16 12:00:00 - 08-16 12:30:00 @ 23.43, 23: 08-16 12:30:00 - 08-16 13:00:00 @ 22.33, 24: 08-16 13:00:00 - 08-16 13:30:00 @ 22.76, 25: 08-16 13:30:00 - 08-16 14:00:00 @ 22.3, 26: 08-16 14:00:00 - 08-16 14:30:00 @ 21.41, 27: 08-16 14:30:00 - 08-16 15:00:00 @ 21.65, 28: 08-16 15:00:00 - 08-16 15:30:00 @ 22.95, 29: 08-16 15:30:00 - 08-16 16:00:00 @ 22.83, 30: 08-16 16:00:00 - 08-16 16:30:00 @ 36.84, 31: 08-16 16:30:00 - 08-16 17:00:00 @ 37.54, 32: 08-16 17:00:00 - 08-16 17:30:00 @ 41.79, 33: 08-16 17:30:00 - 08-16 18:00:00 @ 43.7, 34: 08-16 18:00:00 - 08-16 18:30:00 @ 44.34, 35: 08-16 19:00:00 - 08-16 19:30:00 @ 34.79, 36: 08-16 19:30:00 - 08-16 20:00:00 @ 34.76, 37: 08-16 20:00:00 - 08-16 20:30:00 @ 35.62, 38: 08-16 20:30:00 - 08-16 21:00:00 @ 35.3, 39: 08-16 21:00:00 - 08-16 21:30:00 @ 35.89, 40: 08-16 21:30:00 - 08-16 22:00:00 @ 35.71, 41: 08-16 22:00:00 - 08-16 22:30:00 @ 33.75, 42: 08-16 22:30:00 - 08-16 23:00:00 @ 32.0, 43: 08-16 23:00:00 - 08-16 23:30:00 @ 30.02, 44: 08-16 23:30:00 - 08-17 00:00:00 @ 27.8, 45: 08-17 00:00:00 - 08-17 00:30:00 @ 28.18, 46: 08-17 00:30:00 - 08-17 01:00:00 @ 27.38, 47: 08-17 01:00:00 - 08-17 01:30:00 @ 26.7, 48: 08-17 01:30:00 - 08-17 02:00:00 @ 26.31, 49: 08-17 02:00:00 - 08-17 02:30:00 @ 25.79, 50: 08-17 02:30:00 - 08-17 03:00:00 @ 25.86, 51: 08-17 03:00:00 - 08-17 03:30:00 @ 26.13, 52: 08-17 03:30:00 - 08-17 04:00:00 @ 25.86, 53: 08-17 04:00:00 - 08-17 04:30:00 @ 26.27, 54: 08-17 04:30:00 - 08-17 05:00:00 @ 26.14, 55: 08-17 05:00:00 - 08-17 05:30:00 @ 27.03, 56: 08-17 05:30:00 - 08-17 06:00:00 @ 26.28, 57: 08-17 06:00:00 - 08-17 06:30:00 @ 25.68, 58: 08-17 06:30:00 - 08-17 07:00:00 @ 26.1, 59: 08-17 07:00:00 - 08-17 07:30:00 @ 24.28, 60: 08-17 07:30:00 - 08-17 08:00:00 @ 24.94, 61: 08-17 08:00:00 - 08-17 08:30:00 @ 24.06, 62: 08-17 08:30:00 - 08-17 09:00:00 @ 24.39, 63: 08-17 09:00:00 - 08-17 09:30:00 @ 24.66, 64: 08-17 09:30:00 - 08-17 10:00:00 @ 24.06, 65: 08-17 10:00:00 - 08-17 10:30:00 @ 25.5, 66: 08-17 10:30:00 - 08-17 11:00:00 @ 24.94, 67: 08-17 11:00:00 - 08-17 11:30:00 @ 24.25, 68: 08-17 11:30:00 - 08-17 12:00:00 @ 23.49, 69: 08-17 12:00:00 - 08-17 12:30:00 @ 23.43, 70: 08-17 12:30:00 - 08-17 13:00:00 @ 22.33, 71: 08-17 13:00:00 - 08-17 13:30:00 @ 22.76, 72: 08-17 13:30:00 - 08-17 14:00:00 @ 22.3, 73: 08-17 14:00:00 - 08-17 14:30:00 @ 21.41, 74: 08-17 14:30:00 - 08-17 15:00:00 @ 21.65, 75: 08-17 15:00:00 - 08-17 15:30:00 @ 22.95, 76: 08-17 15:30:00 - 08-17 16:00:00 @ 22.83, 77: 08-17 16:00:00 - 08-17 16:30:00 @ 36.84, 78: 08-17 16:30:00 - 08-17 17:00:00 @ 37.54, 79: 08-17 17:00:00 - 08-17 17:30:00 @ 41.79, 80: 08-17 17:30:00 - 08-17 18:00:00 @ 43.7, 81: 08-17 18:00:00 - 08-17 18:30:00 @ 44.34, 82: 08-17 19:00:00 - 08-17 19:30:00 @ 34.79, 83: 08-17 19:30:00 - 08-17 20:00:00 @ 34.76, 84: 08-17 20:00:00 - 08-17 20:30:00 @ 35.62, 85: 08-17 20:30:00 - 08-17 21:00:00 @ 35.3, 86: 08-17 21:00:00 - 08-17 21:30:00 @ 35.89, 87: 08-17 21:30:00 - 08-17 22:00:00 @ 35.71, 88: 08-17 22:00:00 - 08-17 22:30:00 @ 33.75, 89: 08-17 22:30:00 - 08-17 23:00:00 @ 32.0, 90: 08-17 23:00:00 - 08-17 23:30:00 @ 30.02, 91: 08-17 23:30:00 - 08-18 00:00:00 @ 27.8, 92: 08-18 00:00:00 - 08-18 00:30:00 @ 28.18, 93: 08-18 00:30:00 - 08-18 01:00:00 @ 27.38, 94: 08-18 01:00:00 - 08-18 01:30:00 @ 26.7]
2026-08-16 01:15:03.608147: Inverter 0 Charge window will be: 2026-08-16 11:00:00+01:00 - 2026-08-16 16:00:00+01:00 - current SoC 68%, target 34%
2026-08-16 01:15:03.608286: Inverter 0 disabled charge window while waiting for schedule (now 08-16 01:15:00 target set_window_minutes 30 charge start time 08-16 11:00:00) original inverter start time 08-18 00:00:00
2026-08-16 01:15:03.608394: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-16 01:15:03.608613: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-16 01:15:03.608690: No export window planned
2026-08-16 01:15:03.608784: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-16 01:15:03.608815: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-16 01:15:03.608925: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-16 01:15:03.609173: Inverter 0 not setting charging SoC as we are not within the window (now 08-16 01:15:00 target set_soc_minutes 30 charge start time 08-18 00:00:00)
2026-08-16 01:15:03.609236: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-16 01:15:03.609314: Inverter 0 Current Target SoC is 7%, already at target
2026-08-16 01:15:03.609405: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 01:15:03.609461: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 01:15:03.609513: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 01:15:03.609555: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 01:15:03.609598: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 01:15:03.609644: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 01:15:03.609700: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 01:15:03.609821: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 01:15:03.609895: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 01:15:03.609967: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 01:15:03.610011: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 01:15:03.610075: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 01:15:03.610113: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 01:15:03.610182: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 01:15:03.610227: Inverter 0 count register writes 0
2026-08-16 01:15:03.630506: Will not recompute the plan, it is 5.0 minutes old and max age is 10 minutes
2026-08-16 01:15:03.639742: Total inverter register writes now 826
2026-08-16 01:15:03.685661: Info: Completed run status Demand
2026-08-16 01:15:03.694338: Info: record_status Demand
2026-08-16 01:15:03.703229: Saved current settings to /config/predbat_config.json
2026-08-16 01:15:03.703542: Compare, best tariff: igo_fixed metric 126.72p
2026-08-16 01:15:28.957718: ML Component: Fetching 28 days of load history from ['sensor.sunsynk_day_load_energy']
2026-08-16 01:15:30.053146: Processing 1345 30-minute periods for power integration
2026-08-16 01:15:30.165163: ML Component: Car charging hold False, car energy reported load False
2026-08-16 01:15:30.268621: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-16 01:15:30.375833: ML Temperature data points: 48886
2026-08-16 01:15:30.650828: ML Component: Fetched 8064 load data points, 28.0 days of history
2026-08-16 01:15:30.686607: ML Component: Data fetch completed, load data age 57.0 days, 16567 data points
2026-08-16 01:15:30.686730: ML Component: No training needed, model age is 1.35 hours
2026-08-16 01:15:30.686790: ML Component: Generating predictions load data age 57.0 days, 16567 data points
2026-08-16 01:15:30.821176: ML Predictor: Starting autoregressive prediction loop for 576 steps (48.0 hours), prev_energy value 0.077 max_dow {0: 0.10210624996256083, 1: 0.10689687554407865, 2: 0.11675312483031303, 3: 0.12371874963529408, 4: 0.16831249989941716, 5: 0.09602222218207186, 6: 0.10714375132601708}
2026-08-16 01:15:33.490723: ML Component: Generated 576 predictions (total 24.34 kWh over 48h)
2026-08-16 01:15:33.532299: ML Component: Prediction cycle completed
2026-08-16 01:15:33.631967: ML Component: Saved 16567 steps (57 days) of history to /config/predbat_ml_history.npz
2026-08-16 01:15:41.856334: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-16 01:15:41.856684: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-16 01:15:41.856738: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-16 01:15:41.856920: Inverter 0 idle time is 08-16 00:00:00-08-16 23:59:00
2026-08-16 01:15:41.857040: Note: Inverter does not support discharge freeze - disabled
2026-08-16 01:15:41.857088: Note: Inverter does not support charge freeze - disabled
2026-08-16 01:15:41.857119: Note: Inverter does not support reserve - disabling reserve functions
2026-08-16 01:17:42.112283: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-16 01:17:42.112524: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-16 01:17:42.112997: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-16 01:17:42.113297: Inverter 0 idle time is 08-16 00:00:00-08-16 23:59:00
2026-08-16 01:17:42.113347: Note: Inverter does not support discharge freeze - disabled
2026-08-16 01:17:42.113370: Note: Inverter does not support charge freeze - disabled
2026-08-16 01:17:42.113387: Note: Inverter does not support reserve - disabling reserve functions
2026-08-16 01:19:42.340489: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-16 01:19:42.340701: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-16 01:19:42.340731: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-16 01:19:42.340842: Inverter 0 idle time is 08-16 00:00:00-08-16 23:59:00
2026-08-16 01:19:42.340876: Note: Inverter does not support discharge freeze - disabled
2026-08-16 01:19:42.340912: Note: Inverter does not support charge freeze - disabled
2026-08-16 01:19:42.340937: Note: Inverter does not support reserve - disabling reserve functions
2026-08-16 01:20:00.471697: --------------- PredBat - update at 2026-08-16 01:20:00+01:00 with clock skew 0 minutes, minutes now 80
2026-08-16 01:20:00.472759: Saved current settings to /config/predbat_config.json
2026-08-16 01:20:00.473050: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 45.0 minutes
2026-08-16 01:20:00.473184: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.2, latest beta is v8.48.2
2026-08-16 01:20:00.473347: Autoupdate: There is an update pending v8.48.2 PV90 and second pass enabled by default, bug fixes - auto update is off
2026-08-16 01:20:00.500182: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-16 01:20:00.500405: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-16 01:20:00.500653: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-16 01:20:00.501403: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-16 01:20:00.501598: Predbat mode is set to Control charge & discharge
2026-08-16 01:20:00.715258: Found 21602 load_today datapoints going back 28 days
2026-08-16 01:20:00.715417: Using load_power data to fill gaps in load_today data
2026-08-16 01:20:01.564142: Processing 721 30-minute periods for power integration
2026-08-16 01:20:01.764471: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-16 01:20:01.764614: Car charging hold False, threshold 6.0kWh
2026-08-16 01:20:01.764659: Current data so far today: load 1.3kWh, import 0.0kWh, export 0.0kWh, PV 0kWh
2026-08-16 01:20:01.779242: Cars: SoC: [8.204]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-16 01:20:01.779653: Standing charge is set to 49.98p
2026-08-16 01:20:01.807630: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-16 01:20:01.807767: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-16 01:20:01.808031: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 80.0 minutes
2026-08-16 01:20:01.808446: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-17&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 79.8 minutes
2026-08-16 01:20:01.811832: Loaded 47 datapoints of futurerate analysis
2026-08-16 01:20:01.910755: Predicted future rates: ['08-16 00:00:00 => 28.52 / 19.97', '08-16 01:00:00 => 27.43 / 19.41', '08-16 02:00:00 => 26.47 / 18.92', '08-16 03:00:00 => 26.1 / 18.73', '08-16 04:00:00 => 26.04 / 18.7', '08-16 05:00:00 => 25.95 / 18.65', '08-16 06:00:00 => 25.71 / 18.53', '08-16 07:00:00 => 25.37 / 18.35', '08-16 08:00:00 => 24.58 / 17.94', '08-16 09:00:00 => 24.0 / 17.64', '08-16 10:00:00 => 24.54 / 17.92', '08-16 11:00:00 => 24.44 / 17.87', '08-16 12:00:00 => 23.53 / 17.4', '08-16 13:00:00 => 22.89 / 17.07', '08-16 14:00:00 => 21.77 / 16.49', '08-16 15:00:00 => 21.77 / 16.49', '08-16 16:00:00 => 36.89 / 18.3', '08-16 17:00:00 => 39.85 / 19.83', '08-16 18:00:00 => 43.87 / 21.9', '08-16 19:00:00 => 32.69 / 22.13', '08-16 20:00:00 => 33.46 / 22.53', '08-16 21:00:00 => 33.37 / 22.48', '08-16 22:00:00 => 32.01 / 21.78']
2026-08-16 01:20:01.974938: Rate min forward looking: now 21.41p at end of forecast 21.41p
2026-08-16 01:20:01.975324: Import rates: min 21.41p, max 45.28p, average 28.73p
2026-08-16 01:20:02.019844: Export rates: min 0p, max 0p, average 0.0p
2026-08-16 01:20:02.019980: Rate thresholds (for charge/export) are import 44.78p (0.0p), export -0.1p (0.0p)
2026-08-16 01:20:02.021325: High export rate found rates in range 99p to -99p
2026-08-16 01:20:02.102320: Low Import rate found rates in range 21.41p to 44.34p
2026-08-16 01:20:02.102488: Car 0 charging is not planned as it is not plugged in
2026-08-16 01:20:02.118533: Battery level now 10.88kWh, -1hr ago 11.84kWh, at midnight 12.21kWh, battery value change in the last hour -17.66p, change today -24.43p, rate_forward 18.39p
2026-08-16 01:20:02.118978: Last hour: net energy 0.0kWh, import 0.0kWh, export 0.0kWh, car 0kWh, load 1.05kWh, net cost 0.0p, import 0.0p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-16 01:20:02.181460: Today's energy total net 0.0kWh, import 0.0kWh, export 0.0kWh, cost 49.98p, import 0.0p, export 0.0p, carbon 0.0kg
2026-08-16 01:20:02.181587: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-16 01:20:02.254054: Using weighted-bucket historical load forecast over 14 days
2026-08-16 01:20:02.276179: Today's load divergence 100.0%, in-day adjustment 82.97%, damping 0.95x, yesterday 82.97% today 100.0% blend 100.0%
2026-08-16 01:20:02.276292: Today's predicted so far 1.25kWh with 0.0kWh car/iBoost excluded, 0kWh import ignored, and 1.25kWh forecast extra.
2026-08-16 01:20:02.276325: Today's actual load so far 1.25kWh with 0.0kWh car/iBoost excluded, and 0kWh import ignored.
2026-08-16 01:20:02.315626: Inverter 0: Type SK Sunsynk
2026-08-16 01:20:02.315819: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-16 01:20:02.316034: Reserve min: 7%, battery_min: 7%
2026-08-16 01:20:02.316555: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-16 01:20:02.316865: Inverter 0 SoC: 10.75kW 67%, current charge rate 5000W, current discharge rate 5250W, current battery power 364W, current battery voltage 51.2V, grid power -55W, load power 422W, PV Power 0W
2026-08-16 01:20:02.317059: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-16 01:20:02.317156: Inverter 0 scheduled charge enable is False
2026-08-16 01:20:02.317193: Inverter 0 charge windows currently []
2026-08-16 01:20:02.317239: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-16 01:20:02.317353: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-16 01:20:02.317389: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-16 01:20:02.317425: Inverter 0 scheduled discharge enable is False
2026-08-16 01:20:02.317558: Inverter 0 idle time is 08-16 00:00:00-08-16 23:59:00
2026-08-16 01:20:02.317596: Inverter 0 discharge windows currently []
2026-08-16 01:20:02.317618: Note: Inverter does not support discharge freeze - disabled
2026-08-16 01:20:02.317641: Note: Inverter does not support charge freeze - disabled
2026-08-16 01:20:02.317659: Note: Inverter does not support reserve - disabling reserve functions
2026-08-16 01:20:02.385782: Dynamic load last period 1.20kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-16 01:20:02.385947: Plan was last updated on 2026-08-16 01:10:00+01:00 and is now 10.0 minutes old
2026-08-16 01:20:02.386460: Best charge window [ 16-08 11:00:00 - 16-08 13:30:00 @ 22.88p 34%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 44%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 100%, 16-08 14:30:00 - 16-08 16:00:00 @ 22.56p 72%, 17-08 12:30:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 18-08 01:30:00 @ 27.44p 100% ]
2026-08-16 01:20:02.386559: Best export window [  ]
2026-08-16 01:20:02.387957: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-16 01:20:02.392160: Load divergence over 8.0 hours mean 558.4W, min 290.4W, max 1545.0W, std dev 338.93W, divergence 30.35%
2026-08-16 01:20:02.413314: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-16 01:20:02.413850: LoadML is_calculating False
2026-08-16 01:20:02.413962: Creating pool of 12 processes to match your CPU count
2026-08-16 01:20:02.542630: predict base end_record 08-17 12:40:00, final soc 1.12kWh, metric 414.36p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 19:10:00, load 21.69kWh, PV 0.0kWh
2026-08-16 01:20:02.663652: Battery has 17.83 hours left - now at 10.75kWh
2026-08-16 01:20:02.709476: predict base10 end_record 08-17 12:40:00, final soc 1.12kWh, metric 447.56p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 18:25:00, load 22.66kWh, PV 0.0kWh
2026-08-16 01:20:02.817427: predict best10 end_record 08-17 12:40:00, final soc 1.77kWh, metric 417.55p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 06:20:00, load 22.66kWh, PV 0.0kWh
2026-08-16 01:20:02.899542: predict best end_record 08-17 12:40:00, final soc 1.9kWh, metric 395.71p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 07:20:00, load 21.69kWh, PV 0.0kWh
2026-08-16 01:20:02.899629: Saving plan best values to HA entities
2026-08-16 01:20:03.085010: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-16 01:20:03.091813: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0.0
2026-08-16 01:20:03.098302: Best charging limit SoC's [5.5, 7.0, 16.0, 11.5, 16.0, 16.0]kWh, export []kWh gives import battery 9.95kWh, house 3.14kWh, export 0.0kWh, metric 395.71p, metric10 417.55p
2026-08-16 01:20:03.177785: Marginal costs baseline metric (no standing charge): 345.7305
2026-08-16 01:20:03.459268: Marginal energy costs matrix computed: min=22.08 max=27.52
2026-08-16 01:20:03.540895: Rate array import [{'start': 80, 'end': 960, 'rate': 'cheap', 'range': '(21.4p - 27.0p)'}, {'start': 960, 'end': 990, 'rate': 'expensive', 'range': '(36.8p)'}, {'start': 990, 'end': 1140, 'rate': 'very expensive', 'range': '(37.5p - 45.3p)'}, {'start': 1140, 'end': 1410, 'rate': 'expensive', 'range': '(30.0p - 35.9p)'}, {'start': 1410, 'end': 2200, 'rate': 'cheap', 'range': '(22.3p - 28.2p)'}] export [{'start': 80, 'end': 2200, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-16 01:20:03.541694: - Your estimated bill for today is £2.48 and tomorrow is £7.29
2026-08-16 01:20:03.541745: - Import rates are cheap (21.4p - 27.0p) for the next 14 hours and then expensive (36.8p) for the next 30 minutes.
2026-08-16 01:20:03.541768: - The battery is currently at 67% and is in eco mode for the next 9 hours.
2026-08-16 01:20:03.541786: - For the next 48 hours there will be no solar generation.
2026-08-16 01:20:03.541803: - You will run out of battery in 30 hours.
2026-08-16 01:20:03.541820: - Your next charge slot will be in 9 hours where import rates will be cheap (24.3p).
2026-08-16 01:20:03.541838: 
2026-08-16 01:20:03.609145: Plan calculation took 1.22 seconds
2026-08-16 01:20:03.612365: No high rate period found
2026-08-16 01:20:03.664117: Import threshold used for optimisation was 25.86p
2026-08-16 01:20:03.721001: Low import rate windows [0: 08-16 01:00:00 - 08-16 01:30:00 @ 26.7, 1: 08-16 01:30:00 - 08-16 02:00:00 @ 26.31, 2: 08-16 02:00:00 - 08-16 02:30:00 @ 25.79, 3: 08-16 02:30:00 - 08-16 03:00:00 @ 25.86, 4: 08-16 03:00:00 - 08-16 03:30:00 @ 26.13, 5: 08-16 03:30:00 - 08-16 04:00:00 @ 25.86, 6: 08-16 04:00:00 - 08-16 04:30:00 @ 26.27, 7: 08-16 04:30:00 - 08-16 05:00:00 @ 26.14, 8: 08-16 05:00:00 - 08-16 05:30:00 @ 27.03, 9: 08-16 05:30:00 - 08-16 06:00:00 @ 26.28, 10: 08-16 06:00:00 - 08-16 06:30:00 @ 25.68, 11: 08-16 06:30:00 - 08-16 07:00:00 @ 26.1, 12: 08-16 07:00:00 - 08-16 07:30:00 @ 24.28, 13: 08-16 07:30:00 - 08-16 08:00:00 @ 24.94, 14: 08-16 08:00:00 - 08-16 08:30:00 @ 24.06, 15: 08-16 08:30:00 - 08-16 09:00:00 @ 24.39, 16: 08-16 09:00:00 - 08-16 09:30:00 @ 24.66, 17: 08-16 09:30:00 - 08-16 10:00:00 @ 24.06, 18: 08-16 10:00:00 - 08-16 10:30:00 @ 25.5, 19: 08-16 10:30:00 - 08-16 11:00:00 @ 24.94, 20: 08-16 11:00:00 - 08-16 11:30:00 @ 24.25, 21: 08-16 11:30:00 - 08-16 12:00:00 @ 23.49, 22: 08-16 12:00:00 - 08-16 12:30:00 @ 23.43, 23: 08-16 12:30:00 - 08-16 13:00:00 @ 22.33, 24: 08-16 13:00:00 - 08-16 13:30:00 @ 22.76, 25: 08-16 13:30:00 - 08-16 14:00:00 @ 22.3, 26: 08-16 14:00:00 - 08-16 14:30:00 @ 21.41, 27: 08-16 14:30:00 - 08-16 15:00:00 @ 21.65, 28: 08-16 15:00:00 - 08-16 15:30:00 @ 22.95, 29: 08-16 15:30:00 - 08-16 16:00:00 @ 22.83, 30: 08-16 16:00:00 - 08-16 16:30:00 @ 36.84, 31: 08-16 16:30:00 - 08-16 17:00:00 @ 37.54, 32: 08-16 17:00:00 - 08-16 17:30:00 @ 41.79, 33: 08-16 17:30:00 - 08-16 18:00:00 @ 43.7, 34: 08-16 18:00:00 - 08-16 18:30:00 @ 44.34, 35: 08-16 19:00:00 - 08-16 19:30:00 @ 34.79, 36: 08-16 19:30:00 - 08-16 20:00:00 @ 34.76, 37: 08-16 20:00:00 - 08-16 20:30:00 @ 35.62, 38: 08-16 20:30:00 - 08-16 21:00:00 @ 35.3, 39: 08-16 21:00:00 - 08-16 21:30:00 @ 35.89, 40: 08-16 21:30:00 - 08-16 22:00:00 @ 35.71, 41: 08-16 22:00:00 - 08-16 22:30:00 @ 33.75, 42: 08-16 22:30:00 - 08-16 23:00:00 @ 32.0, 43: 08-16 23:00:00 - 08-16 23:30:00 @ 30.02, 44: 08-16 23:30:00 - 08-17 00:00:00 @ 27.8, 45: 08-17 00:00:00 - 08-17 00:30:00 @ 28.18, 46: 08-17 00:30:00 - 08-17 01:00:00 @ 27.38, 47: 08-17 01:00:00 - 08-17 01:30:00 @ 26.7, 48: 08-17 01:30:00 - 08-17 02:00:00 @ 26.31, 49: 08-17 02:00:00 - 08-17 02:30:00 @ 25.79, 50: 08-17 02:30:00 - 08-17 03:00:00 @ 25.86, 51: 08-17 03:00:00 - 08-17 03:30:00 @ 26.13, 52: 08-17 03:30:00 - 08-17 04:00:00 @ 25.86, 53: 08-17 04:00:00 - 08-17 04:30:00 @ 26.27, 54: 08-17 04:30:00 - 08-17 05:00:00 @ 26.14, 55: 08-17 05:00:00 - 08-17 05:30:00 @ 27.03, 56: 08-17 05:30:00 - 08-17 06:00:00 @ 26.28, 57: 08-17 06:00:00 - 08-17 06:30:00 @ 25.68, 58: 08-17 06:30:00 - 08-17 07:00:00 @ 26.1, 59: 08-17 07:00:00 - 08-17 07:30:00 @ 24.28, 60: 08-17 07:30:00 - 08-17 08:00:00 @ 24.94, 61: 08-17 08:00:00 - 08-17 08:30:00 @ 24.06, 62: 08-17 08:30:00 - 08-17 09:00:00 @ 24.39, 63: 08-17 09:00:00 - 08-17 09:30:00 @ 24.66, 64: 08-17 09:30:00 - 08-17 10:00:00 @ 24.06, 65: 08-17 10:00:00 - 08-17 10:30:00 @ 25.5, 66: 08-17 10:30:00 - 08-17 11:00:00 @ 24.94, 67: 08-17 11:00:00 - 08-17 11:30:00 @ 24.25, 68: 08-17 11:30:00 - 08-17 12:00:00 @ 23.49, 69: 08-17 12:00:00 - 08-17 12:30:00 @ 23.43, 70: 08-17 12:30:00 - 08-17 13:00:00 @ 22.33, 71: 08-17 13:00:00 - 08-17 13:30:00 @ 22.76, 72: 08-17 13:30:00 - 08-17 14:00:00 @ 22.3, 73: 08-17 14:00:00 - 08-17 14:30:00 @ 21.41, 74: 08-17 14:30:00 - 08-17 15:00:00 @ 21.65, 75: 08-17 15:00:00 - 08-17 15:30:00 @ 22.95, 76: 08-17 15:30:00 - 08-17 16:00:00 @ 22.83, 77: 08-17 16:00:00 - 08-17 16:30:00 @ 36.84, 78: 08-17 16:30:00 - 08-17 17:00:00 @ 37.54, 79: 08-17 17:00:00 - 08-17 17:30:00 @ 41.79, 80: 08-17 17:30:00 - 08-17 18:00:00 @ 43.7, 81: 08-17 18:00:00 - 08-17 18:30:00 @ 44.34, 82: 08-17 19:00:00 - 08-17 19:30:00 @ 34.79, 83: 08-17 19:30:00 - 08-17 20:00:00 @ 34.76, 84: 08-17 20:00:00 - 08-17 20:30:00 @ 35.62, 85: 08-17 20:30:00 - 08-17 21:00:00 @ 35.3, 86: 08-17 21:00:00 - 08-17 21:30:00 @ 35.89, 87: 08-17 21:30:00 - 08-17 22:00:00 @ 35.71, 88: 08-17 22:00:00 - 08-17 22:30:00 @ 33.75, 89: 08-17 22:30:00 - 08-17 23:00:00 @ 32.0, 90: 08-17 23:00:00 - 08-17 23:30:00 @ 30.02, 91: 08-17 23:30:00 - 08-18 00:00:00 @ 27.8, 92: 08-18 00:00:00 - 08-18 00:30:00 @ 28.18, 93: 08-18 00:30:00 - 08-18 01:00:00 @ 27.38, 94: 08-18 01:00:00 - 08-18 01:30:00 @ 26.7]
2026-08-16 01:20:03.727961: Inverter 0 Charge window will be: 2026-08-16 11:00:00+01:00 - 2026-08-16 16:00:00+01:00 - current SoC 67%, target 34%
2026-08-16 01:20:03.728144: Inverter 0 disabled charge window while waiting for schedule (now 08-16 01:20:00 target set_window_minutes 30 charge start time 08-16 11:00:00) original inverter start time 08-18 00:00:00
2026-08-16 01:20:03.728364: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-16 01:20:03.728684: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-16 01:20:03.728806: No export window planned
2026-08-16 01:20:03.729034: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-16 01:20:03.729086: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-16 01:20:03.729378: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-16 01:20:03.729605: Inverter 0 not setting charging SoC as we are not within the window (now 08-16 01:20:00 target set_soc_minutes 30 charge start time 08-18 00:00:00)
2026-08-16 01:20:03.729667: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-16 01:20:03.729726: Inverter 0 Current Target SoC is 7%, already at target
2026-08-16 01:20:03.729830: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 01:20:03.729867: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 01:20:03.729894: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 01:20:03.729918: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 01:20:03.729943: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 01:20:03.729967: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 01:20:03.729991: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 01:20:03.730050: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 01:20:03.730078: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 01:20:03.730102: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 01:20:03.730125: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 01:20:03.730149: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 01:20:03.730172: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 01:20:03.730195: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 01:20:03.730310: Inverter 0 count register writes 0
2026-08-16 01:20:03.749445: Will recompute the plan as it is now 10.0 minutes old and will exceed the max age of 10 minutes before the next run
2026-08-16 01:20:03.749668: Recompute is saving previous plan...
2026-08-16 01:20:03.754396: Best charge window [ 16-08 01:00:00 - 16-08 01:30:00 @ 26.7p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.31p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.79p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 25.86p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.13p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 25.86p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.27p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.14p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 27.03p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.28p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.68p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 26.1p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 24.28p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 24.94p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.06p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.39p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.66p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.06p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 25.5p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 24.94p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 24.25p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 23.49p 0%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.43p 0%, 16-08 12:30:00 - 16-08 13:00:00 @ 22.33p 0%, 16-08 13:00:00 - 16-08 13:30:00 @ 22.76p 0%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 0%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 0%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.65p 0%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.95p 0%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.83p 0%, 16-08 16:00:00 - 16-08 16:30:00 @ 36.84p 0%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.54p 0%, 16-08 17:00:00 - 16-08 17:30:00 @ 41.79p 0%, 16-08 17:30:00 - 16-08 18:00:00 @ 43.7p 0%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.34p 0%, 16-08 19:00:00 - 16-08 19:30:00 @ 34.79p 0%, 16-08 19:30:00 - 16-08 20:00:00 @ 34.76p 0%, 16-08 20:00:00 - 16-08 20:30:00 @ 35.62p 0%, 16-08 20:30:00 - 16-08 21:00:00 @ 35.3p 0%, 16-08 21:00:00 - 16-08 21:30:00 @ 35.89p 0%, 16-08 21:30:00 - 16-08 22:00:00 @ 35.71p 0%, 16-08 22:00:00 - 16-08 22:30:00 @ 33.75p 0%, 16-08 22:30:00 - 16-08 23:00:00 @ 32.0p 0%, 16-08 23:00:00 - 16-08 23:30:00 @ 30.02p 0%, 16-08 23:30:00 - 17-08 00:00:00 @ 27.8p 0%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.18p 0%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.38p 0%, 17-08 01:00:00 - 17-08 01:30:00 @ 26.7p 0%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.31p 0%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.79p 0%, 17-08 02:30:00 - 17-08 03:00:00 @ 25.86p 0%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.13p 0%, 17-08 03:30:00 - 17-08 04:00:00 @ 25.86p 0%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.27p 0%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.14p 0%, 17-08 05:00:00 - 17-08 05:30:00 @ 27.03p 0%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.28p 0%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.68p 0%, 17-08 06:30:00 - 17-08 07:00:00 @ 26.1p 0%, 17-08 07:00:00 - 17-08 07:30:00 @ 24.28p 0%, 17-08 07:30:00 - 17-08 08:00:00 @ 24.94p 0%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.06p 0%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.39p 0%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.66p 0%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.06p 0%, 17-08 10:00:00 - 17-08 10:30:00 @ 25.5p 0%, 17-08 10:30:00 - 17-08 11:00:00 @ 24.94p 0%, 17-08 11:00:00 - 17-08 11:30:00 @ 24.25p 0%, 17-08 11:30:00 - 17-08 12:00:00 @ 23.49p 0%, 17-08 12:00:00 - 17-08 12:30:00 @ 23.43p 0%, 17-08 12:30:00 - 17-08 13:00:00 @ 22.33p 0%, 17-08 13:00:00 - 17-08 13:30:00 @ 22.76p 0%, 17-08 13:30:00 - 17-08 14:00:00 @ 22.3p 0%, 17-08 14:00:00 - 17-08 14:30:00 @ 21.41p 0%, 17-08 14:30:00 - 17-08 15:00:00 @ 21.65p 0%, 17-08 15:00:00 - 17-08 15:30:00 @ 22.95p 0%, 17-08 15:30:00 - 17-08 16:00:00 @ 22.83p 0%, 17-08 16:00:00 - 17-08 16:30:00 @ 36.84p 0%, 17-08 16:30:00 - 17-08 17:00:00 @ 37.54p 0%, 17-08 17:00:00 - 17-08 17:30:00 @ 41.79p 0%, 17-08 17:30:00 - 17-08 18:00:00 @ 43.7p 0%, 17-08 18:00:00 - 17-08 18:30:00 @ 44.34p 0%, 17-08 19:00:00 - 17-08 19:30:00 @ 34.79p 0%, 17-08 19:30:00 - 17-08 20:00:00 @ 34.76p 0%, 17-08 20:00:00 - 17-08 20:30:00 @ 35.62p 0%, 17-08 20:30:00 - 17-08 21:00:00 @ 35.3p 0%, 17-08 21:00:00 - 17-08 21:30:00 @ 35.89p 0%, 17-08 21:30:00 - 17-08 22:00:00 @ 35.71p 0%, 17-08 22:00:00 - 17-08 22:30:00 @ 33.75p 0%, 17-08 22:30:00 - 17-08 23:00:00 @ 32.0p 0%, 17-08 23:00:00 - 17-08 23:30:00 @ 30.02p 0%, 17-08 23:30:00 - 18-08 00:00:00 @ 27.8p 0%, 18-08 00:00:00 - 18-08 00:30:00 @ 28.18p 0%, 18-08 00:30:00 - 18-08 01:00:00 @ 27.38p 0%, 18-08 01:00:00 - 18-08 01:30:00 @ 26.7p 0% ]
2026-08-16 01:20:03.754506: Best export window [  ]
2026-08-16 01:20:03.755807: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-16 01:20:03.759057: Load divergence over 8.0 hours mean 558.4W, min 290.4W, max 1545.0W, std dev 338.93W, divergence 30.35%
2026-08-16 01:20:03.776837: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-16 01:20:03.777030: LoadML is_calculating False
2026-08-16 01:20:03.777128: Creating pool of 12 processes to match your CPU count
2026-08-16 01:20:03.886438: Calculate Best options: mode(Control charge & discharge), calculate_export_oncharge(False), calculate_export_on_pv(True), set_export_freeze_only(False), set_discharge_during_charge(True), combine_charge_slots(False), combine_export_slots(False), combine_rate_threshold(0.0), best_soc_min(0.0 kWh), best_soc_max(0.0 kWh), best_soc_keep(0.0 kWh), inverter_loss(4%), battery_loss(3%), battery_loss_discharge (3%), inverter_hybrid(True), metric_min_improvement(0.0p), metric_min_improvement_export(0.1p), metric_min_improvement_export_freeze(0.1p), metric_battery_cycle(0.0p/kWh), metric_battery_value_scaling(1.0 x) 
2026-08-16 01:20:03.889450: Optimise levels pass started at 2026-08-16 01:20:03
2026-08-16 01:20:03.889567: Optimise all windows, total charge 94 export 1
2026-08-16 01:20:04.784708: >> Region optimisation pass width 960 gives best_metric 544.59p, best_cost 558.91p, best_cycle 38.65kWh, best_import 22.47kWh
2026-08-16 01:20:05.224866: >> Region optimisation pass width 480 gives best_metric 544.59p, best_cost 558.91p, best_cycle 38.65kWh, best_import 22.47kWh
2026-08-16 01:20:05.991793: >> Region optimisation pass width 240 gives best_metric 544.68p, best_cost 558.67p, best_cycle 37.29kWh, best_import 22.37kWh
2026-08-16 01:20:07.587407: >> Region optimisation pass width 120 gives best_metric 540.58p, best_cost 555.46p, best_cycle 39.85kWh, best_import 22.55kWh
2026-08-16 01:20:07.587873: Calculated end_record as 08-17 12:30:00 based on best_price 22.33p, next_charge_start 08-16 12:30:00, max_windows 70
2026-08-16 01:20:07.587969: Optimise levels pass ended at 2026-08-16 01:20:07, duration 3.7 seconds tried 373 combinations
2026-08-16 01:20:07.588067: Set best_price_charge_level 24.0p, best_price_export_level 0p, best_price_charge 22.33p, best_cost_export 0p, best_metric 540.58p, best_keep 0kWh, best_cycle 39.85kWh, best_carbon 0kg, best_import 22.55kWh
2026-08-16 01:20:07.606762: Starting detailed optimisation end_record 08-17 12:30:00, best_price_charge 22.33p, best_price_export 0p. lowest_price_charge 21.41p with charge limits [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12.0, 0, 0, 16.0, 16.0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0]kWh and export limits []kWh
2026-08-16 01:20:12.827075: Tweak plan optimisation started metric 307.35p, cost 324.24p
2026-08-16 01:20:13.157044: Tweak optimisation finished metric 307.35p, cost 324.24p, metric_keep 0kWh, cycle 21.01kWh, carbon 0kg, import 12.12kWh, changed 8 window(s)
2026-08-16 01:20:13.178114: Swap charge optimisation started metric 307.35p, cost 324.24p, min_improvement_swap 0.1p
2026-08-16 01:20:20.472937: Swap charge optimisation finished metric 307.35p, cost 324.24p
2026-08-16 01:20:20.598963: Pruned 3 dead plan slot(s) in 13 trial(s), nominal metric 303.64p -> 303.64p, plan now metric 307.42p, cost 324.24p, cycle 21.01kWh, import 12.12kWh
2026-08-16 01:20:20.608777: Raw charge windows [ 16-08 01:00:00 - 16-08 01:30:00 @ 26.7p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.31p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.79p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 25.86p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.13p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 25.86p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.27p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.14p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 27.03p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.28p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.68p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 26.1p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 24.28p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 24.94p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.06p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.39p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.66p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.06p 41%, 16-08 10:00:00 - 16-08 10:30:00 @ 25.5p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 24.94p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 24.25p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 23.49p 34%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.43p 34%, 16-08 12:30:00 - 16-08 13:00:00 @ 22.33p 34%, 16-08 13:00:00 - 16-08 13:30:00 @ 22.76p 34%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 44%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 100%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.65p 72%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.95p 72%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.83p 72%, 16-08 16:00:00 - 16-08 16:30:00 @ 36.84p 0%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.54p 0%, 16-08 17:00:00 - 16-08 17:30:00 @ 41.79p 0%, 16-08 17:30:00 - 16-08 18:00:00 @ 43.7p 0%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.34p 0%, 16-08 19:00:00 - 16-08 19:30:00 @ 34.79p 0%, 16-08 19:30:00 - 16-08 20:00:00 @ 34.76p 0%, 16-08 20:00:00 - 16-08 20:30:00 @ 35.62p 0%, 16-08 20:30:00 - 16-08 21:00:00 @ 35.3p 0%, 16-08 21:00:00 - 16-08 21:30:00 @ 35.89p 0%, 16-08 21:30:00 - 16-08 22:00:00 @ 35.71p 0%, 16-08 22:00:00 - 16-08 22:30:00 @ 33.75p 0%, 16-08 22:30:00 - 16-08 23:00:00 @ 32.0p 0%, 16-08 23:00:00 - 16-08 23:30:00 @ 30.02p 0%, 16-08 23:30:00 - 17-08 00:00:00 @ 27.8p 0%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.18p 0%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.38p 0%, 17-08 01:00:00 - 17-08 01:30:00 @ 26.7p 0%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.31p 0%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.79p 0%, 17-08 02:30:00 - 17-08 03:00:00 @ 25.86p 0%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.13p 0%, 17-08 03:30:00 - 17-08 04:00:00 @ 25.86p 0%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.27p 0%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.14p 0%, 17-08 05:00:00 - 17-08 05:30:00 @ 27.03p 0%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.28p 0%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.68p 0%, 17-08 06:30:00 - 17-08 07:00:00 @ 26.1p 0%, 17-08 07:00:00 - 17-08 07:30:00 @ 24.28p 0%, 17-08 07:30:00 - 17-08 08:00:00 @ 24.94p 0%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.06p 0%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.39p 0%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.66p 0%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.06p 0%, 17-08 10:00:00 - 17-08 10:30:00 @ 25.5p 0%, 17-08 10:30:00 - 17-08 11:00:00 @ 24.94p 0%, 17-08 11:00:00 - 17-08 11:30:00 @ 24.25p 0%, 17-08 11:30:00 - 17-08 12:00:00 @ 23.49p 0%, 17-08 12:00:00 - 17-08 12:30:00 @ 23.43p 0%, 17-08 12:30:00 - 17-08 13:00:00 @ 22.33p 100%, 17-08 13:00:00 - 17-08 13:30:00 @ 22.76p 100%, 17-08 13:30:00 - 17-08 14:00:00 @ 22.3p 100%, 17-08 14:00:00 - 17-08 14:30:00 @ 21.41p 100%, 17-08 14:30:00 - 17-08 15:00:00 @ 21.65p 100%, 17-08 15:00:00 - 17-08 15:30:00 @ 22.95p 100%, 17-08 15:30:00 - 17-08 16:00:00 @ 22.83p 100%, 17-08 16:00:00 - 17-08 16:30:00 @ 36.84p 100%, 17-08 16:30:00 - 17-08 17:00:00 @ 37.54p 100%, 17-08 17:00:00 - 17-08 17:30:00 @ 41.79p 100%, 17-08 17:30:00 - 17-08 18:00:00 @ 43.7p 100%, 17-08 18:00:00 - 17-08 18:30:00 @ 44.34p 100%, 17-08 19:00:00 - 17-08 19:30:00 @ 34.79p 100%, 17-08 19:30:00 - 17-08 20:00:00 @ 34.76p 100%, 17-08 20:00:00 - 17-08 20:30:00 @ 35.62p 100%, 17-08 20:30:00 - 17-08 21:00:00 @ 35.3p 100%, 17-08 21:00:00 - 17-08 21:30:00 @ 35.89p 100%, 17-08 21:30:00 - 17-08 22:00:00 @ 35.71p 100%, 17-08 22:00:00 - 17-08 22:30:00 @ 33.75p 100%, 17-08 22:30:00 - 17-08 23:00:00 @ 32.0p 100%, 17-08 23:00:00 - 17-08 23:30:00 @ 30.02p 100%, 17-08 23:30:00 - 18-08 00:00:00 @ 27.8p 100%, 18-08 00:00:00 - 18-08 00:30:00 @ 28.18p 100%, 18-08 00:30:00 - 18-08 01:00:00 @ 27.38p 100%, 18-08 01:00:00 - 18-08 01:30:00 @ 26.7p 100% ] reserve 1.12
2026-08-16 01:20:20.609351: Unclipped charge windows [ 16-08 09:30:00 - 16-08 10:00:00 @ 24.06p 41%, 16-08 11:30:00 - 16-08 13:30:00 @ 22.83p 34%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 44%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 100%, 16-08 14:30:00 - 16-08 16:00:00 @ 22.56p 72%, 17-08 12:30:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 18-08 01:30:00 @ 27.44p 100% ] reserve 1.12
2026-08-16 01:20:20.609621: Unfiltered charge windows [ 16-08 09:30:00 - 16-08 10:00:00 @ 24.06p 41%, 16-08 11:30:00 - 16-08 13:30:00 @ 22.83p 34%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 44%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 100%, 16-08 14:30:00 - 16-08 16:00:00 @ 22.56p 72%, 17-08 12:30:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 18-08 01:30:00 @ 27.44p 100% ] reserve 1.12
2026-08-16 01:20:20.609845: Filtered charge windows [ 16-08 09:30:00 - 16-08 10:00:00 @ 24.06p 41%, 16-08 11:30:00 - 16-08 13:30:00 @ 22.83p 34%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 44%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 100%, 16-08 14:30:00 - 16-08 16:00:00 @ 22.56p 72%, 17-08 12:30:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 18-08 01:30:00 @ 27.44p 100% ] reserve 1.12
2026-08-16 01:20:20.639906: Previous plan best metric is 307.45 (cost 324.34) and new plan best metric is 307.35 (cost 324.24)
2026-08-16 01:20:20.640134: New plan metric is not significantly better (metric_min_improvement_plan 2.0) than previous plan, using previous plan
2026-08-16 01:20:20.640306: Plan valid is now true after recompute was False
2026-08-16 01:20:20.663149: predict base end_record 08-17 12:30:00, final soc 1.12kWh, metric 411.58p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 19:10:00, load 21.56kWh, PV 0.0kWh
2026-08-16 01:20:20.774283: Battery has 17.83 hours left - now at 10.75kWh
2026-08-16 01:20:20.820666: predict base10 end_record 08-17 12:30:00, final soc 1.12kWh, metric 444.65p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 18:25:00, load 22.53kWh, PV 0.0kWh
2026-08-16 01:20:20.888674: predict best10 end_record 08-17 12:30:00, final soc 1.12kWh, metric 399.12p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 06:20:00, load 22.53kWh, PV 0.0kWh
2026-08-16 01:20:20.960153: predict best end_record 08-17 12:30:00, final soc 1.12kWh, metric 374.32p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 07:20:00, load 21.56kWh, PV 0.0kWh
2026-08-16 01:20:20.960253: Saving plan best values to HA entities
2026-08-16 01:20:21.127791: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-16 01:20:21.132590: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0.0
2026-08-16 01:20:21.137383: Best charging limit SoC's [5.5, 7.0, 16.0, 11.5, 16.0, 16.0]kWh, export []kWh gives import battery 8.99kWh, house 3.14kWh, export 0.0kWh, metric 374.32p, metric10 399.12p
2026-08-16 01:20:21.204994: Marginal costs baseline metric (no standing charge): 324.341
2026-08-16 01:20:21.429408: Marginal energy costs matrix computed: min=22.08 max=27.52
2026-08-16 01:20:21.493026: Rate array import [{'start': 80, 'end': 960, 'rate': 'cheap', 'range': '(21.4p - 27.0p)'}, {'start': 960, 'end': 990, 'rate': 'expensive', 'range': '(36.8p)'}, {'start': 990, 'end': 1140, 'rate': 'very expensive', 'range': '(37.5p - 45.3p)'}, {'start': 1140, 'end': 1410, 'rate': 'expensive', 'range': '(30.0p - 35.9p)'}, {'start': 1410, 'end': 2190, 'rate': 'cheap', 'range': '(23.4p - 28.2p)'}] export [{'start': 80, 'end': 2190, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-16 01:20:21.493726: - Your estimated bill for today is £2.48 and tomorrow is £7.29
2026-08-16 01:20:21.493784: - Import rates are cheap (21.4p - 27.0p) for the next 14 hours and then expensive (36.8p) for the next 30 minutes.
2026-08-16 01:20:21.493806: - The battery is currently at 67% and is in eco mode for the next 9 hours.
2026-08-16 01:20:21.493822: - For the next 48 hours there will be no solar generation.
2026-08-16 01:20:21.493836: - You will run out of battery in 30 hours.
2026-08-16 01:20:21.493849: - Your next charge slot will be in 9 hours where import rates will be cheap (24.3p).
2026-08-16 01:20:21.493868: 
2026-08-16 01:20:21.557436: Plan calculation took 17.81 seconds
2026-08-16 01:20:21.557851: Inverter 0: Type SK Sunsynk
2026-08-16 01:20:21.557906: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-16 01:20:21.558144: Reserve min: 7%, battery_min: 7%
2026-08-16 01:20:21.558243: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-16 01:20:21.558665: Inverter 0 SoC: 10.75kW 67%, current charge rate 5000W, current discharge rate 5250W, current battery power 364W, current battery voltage 51.2V, grid power -55W, load power 422W, PV Power 0W
2026-08-16 01:20:21.558916: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-16 01:20:21.559024: Inverter 0 scheduled charge enable is False
2026-08-16 01:20:21.559064: Inverter 0 charge windows currently []
2026-08-16 01:20:21.559100: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-16 01:20:21.559235: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-16 01:20:21.559275: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-16 01:20:21.559313: Inverter 0 scheduled discharge enable is False
2026-08-16 01:20:21.559446: Inverter 0 idle time is 08-16 00:00:00-08-16 23:59:00
2026-08-16 01:20:21.559484: Inverter 0 discharge windows currently []
2026-08-16 01:20:21.559507: Note: Inverter does not support discharge freeze - disabled
2026-08-16 01:20:21.559530: Note: Inverter does not support charge freeze - disabled
2026-08-16 01:20:21.559548: Note: Inverter does not support reserve - disabling reserve functions
2026-08-16 01:20:21.611558: Inverter 0 Charge window will be: 2026-08-16 11:00:00+01:00 - 2026-08-16 16:00:00+01:00 - current SoC 67%, target 34%
2026-08-16 01:20:21.611716: Inverter 0 disabled charge window while waiting for schedule (now 08-16 01:20:00 target set_window_minutes 30 charge start time 08-16 11:00:00) original inverter start time 08-18 00:00:00
2026-08-16 01:20:21.611789: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-16 01:20:21.611977: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-16 01:20:21.612062: No export window planned
2026-08-16 01:20:21.612181: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-16 01:20:21.612232: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-16 01:20:21.612373: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-16 01:20:21.612544: Inverter 0 not setting charging SoC as we are not within the window (now 08-16 01:20:00 target set_soc_minutes 30 charge start time 08-18 00:00:00)
2026-08-16 01:20:21.612598: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-16 01:20:21.612654: Inverter 0 Current Target SoC is 7%, already at target
2026-08-16 01:20:21.612750: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 01:20:21.612794: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 01:20:21.612822: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 01:20:21.612854: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 01:20:21.612884: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 01:20:21.612908: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 01:20:21.612932: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 01:20:21.613035: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 01:20:21.613071: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 01:20:21.613126: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 01:20:21.613154: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 01:20:21.613188: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 01:20:21.613212: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 01:20:21.613255: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 01:20:21.613277: Inverter 0 count register writes 0
2026-08-16 01:20:21.643045: Total inverter register writes now 826
2026-08-16 01:20:21.679699: Info: Completed run status Demand
2026-08-16 01:20:21.686988: Info: record_status Demand
2026-08-16 01:20:21.694538: Saved current settings to /config/predbat_config.json
2026-08-16 01:20:21.694838: Compare, best tariff: igo_fixed metric 126.72p
2026-08-16 01:20:56.808599: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-16 01:20:56.808854: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-16 01:20:56.808898: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-16 01:20:56.809137: Inverter 0 idle time is 08-16 00:00:00-08-16 23:59:00
2026-08-16 01:20:56.809216: Note: Inverter does not support discharge freeze - disabled
2026-08-16 01:20:56.809268: Note: Inverter does not support charge freeze - disabled
2026-08-16 01:20:56.809291: Note: Inverter does not support reserve - disabling reserve functions
2026-08-16 01:22:57.032770: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-16 01:22:57.033029: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-16 01:22:57.033066: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-16 01:22:57.033201: Inverter 0 idle time is 08-16 00:00:00-08-16 23:59:00
2026-08-16 01:22:57.033235: Note: Inverter does not support discharge freeze - disabled
2026-08-16 01:22:57.033252: Note: Inverter does not support charge freeze - disabled
2026-08-16 01:22:57.033266: Note: Inverter does not support reserve - disabling reserve functions
2026-08-16 01:23:16.767547: Rate override requested: Set Import at Sun 11:00 value 0.0
2026-08-16 01:23:16.830182: Rate override processed successfully
2026-08-16 01:23:27.142415: Refreshing Predbat configuration
2026-08-16 01:23:27.832404: Saved current settings to /config/predbat_config.json
2026-08-16 01:23:27.833635: Validation of apps.yaml was successful
2026-08-16 01:23:27.833803: --------------- PredBat - update at 2026-08-16 01:20:00+01:00 with clock skew 0 minutes, minutes now 80
2026-08-16 01:23:27.834363: Saved current settings to /config/predbat_config.json
2026-08-16 01:23:27.834478: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 48.5 minutes
2026-08-16 01:23:27.834588: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.2, latest beta is v8.48.2
2026-08-16 01:23:27.834679: Autoupdate: There is an update pending v8.48.2 PV90 and second pass enabled by default, bug fixes - auto update is off
2026-08-16 01:23:27.854727: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-16 01:23:27.854859: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-16 01:23:27.855028: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-16 01:23:27.855617: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-16 01:23:27.855740: Predbat mode is set to Control charge & discharge
2026-08-16 01:23:28.066248: Found 21602 load_today datapoints going back 28 days
2026-08-16 01:23:28.066414: Using load_power data to fill gaps in load_today data
2026-08-16 01:23:28.953189: Processing 721 30-minute periods for power integration
2026-08-16 01:23:29.148748: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-16 01:23:29.148943: Car charging hold False, threshold 6.0kWh
2026-08-16 01:23:29.149053: Current data so far today: load 1.3kWh, import 0.0kWh, export 0.0kWh, PV 0kWh
2026-08-16 01:23:29.165706: Cars: SoC: [8.204]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-16 01:23:29.166179: Standing charge is set to 49.98p
2026-08-16 01:23:29.195446: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-16 01:23:29.195566: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-16 01:23:29.195830: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 83.4 minutes
2026-08-16 01:23:29.196294: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-17&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 83.2 minutes
2026-08-16 01:23:29.201736: Loaded 47 datapoints of futurerate analysis
2026-08-16 01:23:29.291023: Predicted future rates: ['08-16 00:00:00 => 28.52 / 19.97', '08-16 01:00:00 => 27.43 / 19.41', '08-16 02:00:00 => 26.47 / 18.92', '08-16 03:00:00 => 26.1 / 18.73', '08-16 04:00:00 => 26.04 / 18.7', '08-16 05:00:00 => 25.95 / 18.65', '08-16 06:00:00 => 25.71 / 18.53', '08-16 07:00:00 => 25.37 / 18.35', '08-16 08:00:00 => 24.58 / 17.94', '08-16 09:00:00 => 24.0 / 17.64', '08-16 10:00:00 => 24.54 / 17.92', '08-16 11:00:00 => 24.44 / 17.87', '08-16 12:00:00 => 23.53 / 17.4', '08-16 13:00:00 => 22.89 / 17.07', '08-16 14:00:00 => 21.77 / 16.49', '08-16 15:00:00 => 21.77 / 16.49', '08-16 16:00:00 => 36.89 / 18.3', '08-16 17:00:00 => 39.85 / 19.83', '08-16 18:00:00 => 43.87 / 21.9', '08-16 19:00:00 => 32.69 / 22.13', '08-16 20:00:00 => 33.46 / 22.53', '08-16 21:00:00 => 33.37 / 22.48', '08-16 22:00:00 => 32.01 / 21.78']
2026-08-16 01:23:29.351792: Rate min forward looking: now 0.0p at end of forecast 21.41p
2026-08-16 01:23:29.352285: Import rates: min 0.0p, max 45.28p, average 28.48p
2026-08-16 01:23:29.395157: Export rates: min 0p, max 0p, average 0.0p
2026-08-16 01:23:29.395439: Rate thresholds (for charge/export) are import 44.78p (0.0p), export -0.1p (0.0p)
2026-08-16 01:23:29.396676: High export rate found rates in range 99p to -99p
2026-08-16 01:23:29.474175: Low Import rate found rates in range 0.0p to 44.34p
2026-08-16 01:23:29.474291: Car 0 charging is not planned as it is not plugged in
2026-08-16 01:23:29.486816: Battery level now 10.75kWh, -1hr ago 11.84kWh, at midnight 12.21kWh, battery value change in the last hour -1.09p, change today -1.46p, rate_forward 1.0p
2026-08-16 01:23:29.487180: Last hour: net energy 0.0kWh, import 0.0kWh, export 0.0kWh, car 0kWh, load 1.05kWh, net cost 0.0p, import 0.0p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-16 01:23:29.532563: Today's energy total net 0.0kWh, import 0.0kWh, export 0.0kWh, cost 49.98p, import 0.0p, export 0.0p, carbon 0.0kg
2026-08-16 01:23:29.532711: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-16 01:23:29.604173: Using weighted-bucket historical load forecast over 14 days
2026-08-16 01:23:29.626569: Today's load divergence 100.0%, in-day adjustment 82.97%, damping 0.95x, yesterday 82.97% today 100.0% blend 100.0%
2026-08-16 01:23:29.626692: Today's predicted so far 1.25kWh with 0.0kWh car/iBoost excluded, 0kWh import ignored, and 1.25kWh forecast extra.
2026-08-16 01:23:29.626726: Today's actual load so far 1.25kWh with 0.0kWh car/iBoost excluded, and 0kWh import ignored.
2026-08-16 01:23:29.659365: Inverter 0: Type SK Sunsynk
2026-08-16 01:23:29.659470: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-16 01:23:29.659647: Reserve min: 7%, battery_min: 7%
2026-08-16 01:23:29.659708: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-16 01:23:29.659970: Inverter 0 SoC: 10.75kW 67%, current charge rate 5000W, current discharge rate 5250W, current battery power 403W, current battery voltage 51.2V, grid power -55W, load power 458W, PV Power 0W
2026-08-16 01:23:29.660130: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-16 01:23:29.660220: Inverter 0 scheduled charge enable is False
2026-08-16 01:23:29.660250: Inverter 0 charge windows currently []
2026-08-16 01:23:29.660281: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-16 01:23:29.660406: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-16 01:23:29.660445: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-16 01:23:29.660481: Inverter 0 scheduled discharge enable is False
2026-08-16 01:23:29.660606: Inverter 0 idle time is 08-16 00:00:00-08-16 23:59:00
2026-08-16 01:23:29.660643: Inverter 0 discharge windows currently []
2026-08-16 01:23:29.660665: Note: Inverter does not support discharge freeze - disabled
2026-08-16 01:23:29.660684: Note: Inverter does not support charge freeze - disabled
2026-08-16 01:23:29.660702: Note: Inverter does not support reserve - disabling reserve functions
2026-08-16 01:23:29.720743: Dynamic load last period 1.20kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-16 01:23:29.720828: Will recompute the plan as it is invalid
2026-08-16 01:23:29.720863: Recompute, previous plan is invalid...
2026-08-16 01:23:29.724181: Best charge window [ 16-08 01:00:00 - 16-08 01:30:00 @ 26.7p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.31p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.79p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 25.86p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.13p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 25.86p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.27p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.14p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 27.03p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.28p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.68p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 26.1p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 24.28p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 24.94p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.06p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.39p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.66p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.06p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 25.5p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 24.94p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 0.0p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 23.49p 0%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.43p 0%, 16-08 12:30:00 - 16-08 13:00:00 @ 22.33p 0%, 16-08 13:00:00 - 16-08 13:30:00 @ 22.76p 0%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 0%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 0%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.65p 0%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.95p 0%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.83p 0%, 16-08 16:00:00 - 16-08 16:30:00 @ 36.84p 0%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.54p 0%, 16-08 17:00:00 - 16-08 17:30:00 @ 41.79p 0%, 16-08 17:30:00 - 16-08 18:00:00 @ 43.7p 0%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.34p 0%, 16-08 19:00:00 - 16-08 19:30:00 @ 34.79p 0%, 16-08 19:30:00 - 16-08 20:00:00 @ 34.76p 0%, 16-08 20:00:00 - 16-08 20:30:00 @ 35.62p 0%, 16-08 20:30:00 - 16-08 21:00:00 @ 35.3p 0%, 16-08 21:00:00 - 16-08 21:30:00 @ 35.89p 0%, 16-08 21:30:00 - 16-08 22:00:00 @ 35.71p 0%, 16-08 22:00:00 - 16-08 22:30:00 @ 33.75p 0%, 16-08 22:30:00 - 16-08 23:00:00 @ 32.0p 0%, 16-08 23:00:00 - 16-08 23:30:00 @ 30.02p 0%, 16-08 23:30:00 - 17-08 00:00:00 @ 27.8p 0%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.18p 0%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.38p 0%, 17-08 01:00:00 - 17-08 01:30:00 @ 26.7p 0%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.31p 0%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.79p 0%, 17-08 02:30:00 - 17-08 03:00:00 @ 25.86p 0%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.13p 0%, 17-08 03:30:00 - 17-08 04:00:00 @ 25.86p 0%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.27p 0%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.14p 0%, 17-08 05:00:00 - 17-08 05:30:00 @ 27.03p 0%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.28p 0%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.68p 0%, 17-08 06:30:00 - 17-08 07:00:00 @ 26.1p 0%, 17-08 07:00:00 - 17-08 07:30:00 @ 24.28p 0%, 17-08 07:30:00 - 17-08 08:00:00 @ 24.94p 0%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.06p 0%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.39p 0%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.66p 0%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.06p 0%, 17-08 10:00:00 - 17-08 10:30:00 @ 25.5p 0%, 17-08 10:30:00 - 17-08 11:00:00 @ 24.94p 0%, 17-08 11:00:00 - 17-08 11:30:00 @ 24.25p 0%, 17-08 11:30:00 - 17-08 12:00:00 @ 23.49p 0%, 17-08 12:00:00 - 17-08 12:30:00 @ 23.43p 0%, 17-08 12:30:00 - 17-08 13:00:00 @ 22.33p 0%, 17-08 13:00:00 - 17-08 13:30:00 @ 22.76p 0%, 17-08 13:30:00 - 17-08 14:00:00 @ 22.3p 0%, 17-08 14:00:00 - 17-08 14:30:00 @ 21.41p 0%, 17-08 14:30:00 - 17-08 15:00:00 @ 21.65p 0%, 17-08 15:00:00 - 17-08 15:30:00 @ 22.95p 0%, 17-08 15:30:00 - 17-08 16:00:00 @ 22.83p 0%, 17-08 16:00:00 - 17-08 16:30:00 @ 36.84p 0%, 17-08 16:30:00 - 17-08 17:00:00 @ 37.54p 0%, 17-08 17:00:00 - 17-08 17:30:00 @ 41.79p 0%, 17-08 17:30:00 - 17-08 18:00:00 @ 43.7p 0%, 17-08 18:00:00 - 17-08 18:30:00 @ 44.34p 0%, 17-08 19:00:00 - 17-08 19:30:00 @ 34.79p 0%, 17-08 19:30:00 - 17-08 20:00:00 @ 34.76p 0%, 17-08 20:00:00 - 17-08 20:30:00 @ 35.62p 0%, 17-08 20:30:00 - 17-08 21:00:00 @ 35.3p 0%, 17-08 21:00:00 - 17-08 21:30:00 @ 35.89p 0%, 17-08 21:30:00 - 17-08 22:00:00 @ 35.71p 0%, 17-08 22:00:00 - 17-08 22:30:00 @ 33.75p 0%, 17-08 22:30:00 - 17-08 23:00:00 @ 32.0p 0%, 17-08 23:00:00 - 17-08 23:30:00 @ 30.02p 0%, 17-08 23:30:00 - 18-08 00:00:00 @ 27.8p 0%, 18-08 00:00:00 - 18-08 00:30:00 @ 28.18p 0%, 18-08 00:30:00 - 18-08 01:00:00 @ 27.38p 0%, 18-08 01:00:00 - 18-08 01:30:00 @ 26.7p 0% ]
2026-08-16 01:23:29.724267: Best export window [  ]
2026-08-16 01:23:29.725098: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-16 01:23:29.728389: Load divergence over 8.0 hours mean 558.4W, min 290.4W, max 1545.0W, std dev 338.93W, divergence 30.35%
2026-08-16 01:23:29.747396: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-16 01:23:29.747548: LoadML is_calculating False
2026-08-16 01:23:29.747641: Creating pool of 12 processes to match your CPU count
2026-08-16 01:23:29.855440: Calculate Best options: mode(Control charge & discharge), calculate_export_oncharge(False), calculate_export_on_pv(True), set_export_freeze_only(False), set_discharge_during_charge(True), combine_charge_slots(False), combine_export_slots(False), combine_rate_threshold(0.0), best_soc_min(0.0 kWh), best_soc_max(0.0 kWh), best_soc_keep(0.0 kWh), inverter_loss(4%), battery_loss(3%), battery_loss_discharge (3%), inverter_hybrid(True), metric_min_improvement(0.0p), metric_min_improvement_export(0.1p), metric_min_improvement_export_freeze(0.1p), metric_battery_cycle(0.0p/kWh), metric_battery_value_scaling(1.0 x) 
2026-08-16 01:23:29.857360: Optimise levels pass started at 2026-08-16 01:23:29
2026-08-16 01:23:29.857443: Optimise all windows, total charge 94 export 1
2026-08-16 01:23:30.979978: >> Region optimisation pass width 960 gives best_metric 477.77p, best_cost 491.65p, best_cycle 40.97kWh, best_import 22.63kWh
2026-08-16 01:23:31.393511: >> Region optimisation pass width 480 gives best_metric 477.77p, best_cost 491.65p, best_cycle 40.97kWh, best_import 22.63kWh
2026-08-16 01:23:32.573131: >> Region optimisation pass width 240 gives best_metric 476.5p, best_cost 489.91p, best_cycle 40.95kWh, best_import 22.63kWh
2026-08-16 01:23:34.287515: >> Region optimisation pass width 120 gives best_metric 476.35p, best_cost 489.73p, best_cycle 41.17kWh, best_import 22.65kWh
2026-08-16 01:23:34.288008: Calculated end_record as 08-17 11:00:00 based on best_price 22.33p, next_charge_start 08-16 11:00:00, max_windows 67
2026-08-16 01:23:34.288126: Optimise levels pass ended at 2026-08-16 01:23:34, duration 4.4 seconds tried 403 combinations
2026-08-16 01:23:34.288203: Set best_price_charge_level 24.0p, best_price_export_level 0p, best_price_charge 22.33p, best_cost_export 0p, best_metric 476.35p, best_keep 0kWh, best_cycle 41.17kWh, best_carbon 0kg, best_import 22.65kWh
2026-08-16 01:23:34.308679: Starting detailed optimisation end_record 08-17 11:00:00, best_price_charge 22.33p, best_price_export 0p. lowest_price_charge 0.0p with charge limits [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8.25, 0, 0, 8.25, 0, 0, 12.0, 12.0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0]kWh and export limits []kWh
2026-08-16 01:23:35.044606: Rate override requested: Set Import at Sun 11:30 value 0.0
2026-08-16 01:23:35.127726: Rate override processed successfully
2026-08-16 01:23:39.443421: Tweak plan optimisation started metric 214.44p, cost 230.42p
2026-08-16 01:23:39.728976: Tweak optimisation finished metric 214.44p, cost 230.42p, metric_keep 0kWh, cycle 22.6kWh, carbon 0kg, import 10.94kWh, changed 8 window(s)
2026-08-16 01:23:39.748505: Swap charge optimisation started metric 214.44p, cost 230.42p, min_improvement_swap 0.1p
2026-08-16 01:23:46.698215: Swap charge optimisation finished metric 214.44p, cost 230.42p
2026-08-16 01:23:46.831599: Pruned 2 dead plan slot(s) in 11 trial(s), nominal metric 209.82p -> 209.82p, plan now metric 214.69p, cost 230.42p, cycle 22.6kWh, import 10.94kWh
2026-08-16 01:23:46.843721: Raw charge windows [ 16-08 01:00:00 - 16-08 01:30:00 @ 26.7p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.31p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.79p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 25.86p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.13p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 25.86p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.27p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.14p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 27.03p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.28p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.68p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 26.1p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 24.28p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 24.94p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.06p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.39p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.66p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.06p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 25.5p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 24.94p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 0.0p 52%, 16-08 11:30:00 - 16-08 12:00:00 @ 23.49p 0%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.43p 47%, 16-08 12:30:00 - 16-08 13:00:00 @ 22.33p 47%, 16-08 13:00:00 - 16-08 13:30:00 @ 22.76p 47%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 47%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 100%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.65p 75%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.95p 75%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.83p 75%, 16-08 16:00:00 - 16-08 16:30:00 @ 36.84p 0%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.54p 0%, 16-08 17:00:00 - 16-08 17:30:00 @ 41.79p 0%, 16-08 17:30:00 - 16-08 18:00:00 @ 43.7p 0%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.34p 0%, 16-08 19:00:00 - 16-08 19:30:00 @ 34.79p 0%, 16-08 19:30:00 - 16-08 20:00:00 @ 34.76p 0%, 16-08 20:00:00 - 16-08 20:30:00 @ 35.62p 0%, 16-08 20:30:00 - 16-08 21:00:00 @ 35.3p 0%, 16-08 21:00:00 - 16-08 21:30:00 @ 35.89p 0%, 16-08 21:30:00 - 16-08 22:00:00 @ 35.71p 0%, 16-08 22:00:00 - 16-08 22:30:00 @ 33.75p 0%, 16-08 22:30:00 - 16-08 23:00:00 @ 32.0p 0%, 16-08 23:00:00 - 16-08 23:30:00 @ 30.02p 0%, 16-08 23:30:00 - 17-08 00:00:00 @ 27.8p 0%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.18p 0%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.38p 0%, 17-08 01:00:00 - 17-08 01:30:00 @ 26.7p 0%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.31p 0%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.79p 0%, 17-08 02:30:00 - 17-08 03:00:00 @ 25.86p 0%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.13p 0%, 17-08 03:30:00 - 17-08 04:00:00 @ 25.86p 0%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.27p 0%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.14p 0%, 17-08 05:00:00 - 17-08 05:30:00 @ 27.03p 0%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.28p 0%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.68p 0%, 17-08 06:30:00 - 17-08 07:00:00 @ 26.1p 0%, 17-08 07:00:00 - 17-08 07:30:00 @ 24.28p 0%, 17-08 07:30:00 - 17-08 08:00:00 @ 24.94p 0%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.06p 0%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.39p 0%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.66p 0%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.06p 0%, 17-08 10:00:00 - 17-08 10:30:00 @ 25.5p 0%, 17-08 10:30:00 - 17-08 11:00:00 @ 24.94p 0%, 17-08 11:00:00 - 17-08 11:30:00 @ 24.25p 100%, 17-08 11:30:00 - 17-08 12:00:00 @ 23.49p 100%, 17-08 12:00:00 - 17-08 12:30:00 @ 23.43p 100%, 17-08 12:30:00 - 17-08 13:00:00 @ 22.33p 100%, 17-08 13:00:00 - 17-08 13:30:00 @ 22.76p 100%, 17-08 13:30:00 - 17-08 14:00:00 @ 22.3p 100%, 17-08 14:00:00 - 17-08 14:30:00 @ 21.41p 100%, 17-08 14:30:00 - 17-08 15:00:00 @ 21.65p 100%, 17-08 15:00:00 - 17-08 15:30:00 @ 22.95p 100%, 17-08 15:30:00 - 17-08 16:00:00 @ 22.83p 100%, 17-08 16:00:00 - 17-08 16:30:00 @ 36.84p 100%, 17-08 16:30:00 - 17-08 17:00:00 @ 37.54p 100%, 17-08 17:00:00 - 17-08 17:30:00 @ 41.79p 100%, 17-08 17:30:00 - 17-08 18:00:00 @ 43.7p 100%, 17-08 18:00:00 - 17-08 18:30:00 @ 44.34p 100%, 17-08 19:00:00 - 17-08 19:30:00 @ 34.79p 100%, 17-08 19:30:00 - 17-08 20:00:00 @ 34.76p 100%, 17-08 20:00:00 - 17-08 20:30:00 @ 35.62p 100%, 17-08 20:30:00 - 17-08 21:00:00 @ 35.3p 100%, 17-08 21:00:00 - 17-08 21:30:00 @ 35.89p 100%, 17-08 21:30:00 - 17-08 22:00:00 @ 35.71p 100%, 17-08 22:00:00 - 17-08 22:30:00 @ 33.75p 100%, 17-08 22:30:00 - 17-08 23:00:00 @ 32.0p 100%, 17-08 23:00:00 - 17-08 23:30:00 @ 30.02p 100%, 17-08 23:30:00 - 18-08 00:00:00 @ 27.8p 100%, 18-08 00:00:00 - 18-08 00:30:00 @ 28.18p 100%, 18-08 00:30:00 - 18-08 01:00:00 @ 27.38p 100%, 18-08 01:00:00 - 18-08 01:30:00 @ 26.7p 100% ] reserve 1.12
2026-08-16 01:23:46.844356: Unclipped charge windows [ 16-08 11:00:00 - 16-08 11:30:00 @ 0.0p 52%, 16-08 12:00:00 - 16-08 14:00:00 @ 22.56p 47%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 100%, 16-08 14:30:00 - 16-08 16:00:00 @ 22.56p 75%, 17-08 11:00:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 18-08 01:30:00 @ 27.44p 100% ] reserve 1.12
2026-08-16 01:23:46.844640: Unfiltered charge windows [ 16-08 11:00:00 - 16-08 11:30:00 @ 0.0p 52%, 16-08 12:00:00 - 16-08 14:00:00 @ 22.56p 47%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 100%, 16-08 14:30:00 - 16-08 16:00:00 @ 22.56p 75%, 17-08 11:00:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 18-08 01:30:00 @ 27.44p 100% ] reserve 1.12
2026-08-16 01:23:46.844865: Filtered charge windows [ 16-08 11:00:00 - 16-08 11:30:00 @ 0.0p 52%, 16-08 12:00:00 - 16-08 14:00:00 @ 22.56p 47%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 100%, 16-08 14:30:00 - 16-08 16:00:00 @ 22.56p 75%, 17-08 11:00:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 18-08 01:30:00 @ 27.44p 100% ] reserve 1.12
2026-08-16 01:23:46.845398: Plan valid is now true after recompute was False
2026-08-16 01:23:46.845490: Plan is not valid as update is pending, will re-compute on next run...
2026-08-16 01:23:46.875399: predict base end_record 08-17 11:00:00, final soc 1.12kWh, metric 380.74p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 19:10:00, load 20.26kWh, PV 0.0kWh
2026-08-16 01:23:46.984608: Battery has 17.83 hours left - now at 10.75kWh
2026-08-16 01:23:47.024210: predict base10 end_record 08-17 11:00:00, final soc 1.12kWh, metric 412.35p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 18:25:00, load 21.17kWh, PV 0.0kWh
2026-08-16 01:23:47.094718: predict best10 end_record 08-17 11:00:00, final soc 1.12kWh, metric 312.87p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 07:20:00, load 21.17kWh, PV 0.0kWh
2026-08-16 01:23:47.168127: predict best end_record 08-17 11:00:00, final soc 1.12kWh, metric 280.41p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 08:30:00, load 20.26kWh, PV 0.0kWh
2026-08-16 01:23:47.168207: Saving plan best values to HA entities
2026-08-16 01:23:47.357684: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-16 01:23:47.365873: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0.0
2026-08-16 01:23:47.373188: Best charging limit SoC's [8.25, 7.5, 16.0, 12.0, 16.0, 16.0]kWh, export []kWh gives import battery 9.57kWh, house 1.37kWh, export 0.0kWh, metric 280.41p, metric10 312.87p
2026-08-16 01:23:47.460423: Marginal costs baseline metric (no standing charge): 230.4229
2026-08-16 01:23:47.717820: Marginal energy costs matrix computed: min=20.38 max=26.83
2026-08-16 01:23:47.785401: Rate array import [{'start': 80, 'end': 660, 'rate': 'expensive', 'range': '(24.1p - 27.0p)'}, {'start': 660, 'end': 690, 'rate': 'free', 'range': '(0.0p)'}, {'start': 690, 'end': 960, 'rate': 'expensive', 'range': '(21.4p - 23.5p)'}, {'start': 960, 'end': 1380, 'rate': 'very expensive', 'range': '(32.0p - 45.3p)'}, {'start': 1380, 'end': 2100, 'rate': 'expensive', 'range': '(24.1p - 30.0p)'}] export [{'start': 80, 'end': 2100, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-16 01:23:47.785991: - Your estimated bill for today is £1.96 and tomorrow is £7.29
2026-08-16 01:23:47.786036: - Import rates are expensive (24.1p - 27.0p) for the next 9 hours and then free (0.0p) for the next 30 minutes.
2026-08-16 01:23:47.786054: - The battery is currently at 67% and is in eco mode for the next 9 hours.
2026-08-16 01:23:47.788245: - For the next 48 hours there will be no solar generation.
2026-08-16 01:23:47.789613: - You will run out of battery in 31 hours.
2026-08-16 01:23:47.789681: - Your next charge slot will be in 9 hours where import rates will be free (0.0p).
2026-08-16 01:23:47.789702: 
2026-08-16 01:23:47.855832: Plan calculation took 18.13 seconds
2026-08-16 01:23:47.859093: No high rate period found
2026-08-16 01:23:47.945271: Import threshold used for optimisation was 24.06p
2026-08-16 01:23:47.998249: Low import rate windows [0: 08-16 01:00:00 - 08-16 01:30:00 @ 26.7, 1: 08-16 01:30:00 - 08-16 02:00:00 @ 26.31, 2: 08-16 02:00:00 - 08-16 02:30:00 @ 25.79, 3: 08-16 02:30:00 - 08-16 03:00:00 @ 25.86, 4: 08-16 03:00:00 - 08-16 03:30:00 @ 26.13, 5: 08-16 03:30:00 - 08-16 04:00:00 @ 25.86, 6: 08-16 04:00:00 - 08-16 04:30:00 @ 26.27, 7: 08-16 04:30:00 - 08-16 05:00:00 @ 26.14, 8: 08-16 05:00:00 - 08-16 05:30:00 @ 27.03, 9: 08-16 05:30:00 - 08-16 06:00:00 @ 26.28, 10: 08-16 06:00:00 - 08-16 06:30:00 @ 25.68, 11: 08-16 06:30:00 - 08-16 07:00:00 @ 26.1, 12: 08-16 07:00:00 - 08-16 07:30:00 @ 24.28, 13: 08-16 07:30:00 - 08-16 08:00:00 @ 24.94, 14: 08-16 08:00:00 - 08-16 08:30:00 @ 24.06, 15: 08-16 08:30:00 - 08-16 09:00:00 @ 24.39, 16: 08-16 09:00:00 - 08-16 09:30:00 @ 24.66, 17: 08-16 09:30:00 - 08-16 10:00:00 @ 24.06, 18: 08-16 10:00:00 - 08-16 10:30:00 @ 25.5, 19: 08-16 10:30:00 - 08-16 11:00:00 @ 24.94, 20: 08-16 11:00:00 - 08-16 11:30:00 @ 0.0, 21: 08-16 11:30:00 - 08-16 12:00:00 @ 23.49, 22: 08-16 12:00:00 - 08-16 12:30:00 @ 23.43, 23: 08-16 12:30:00 - 08-16 13:00:00 @ 22.33, 24: 08-16 13:00:00 - 08-16 13:30:00 @ 22.76, 25: 08-16 13:30:00 - 08-16 14:00:00 @ 22.3, 26: 08-16 14:00:00 - 08-16 14:30:00 @ 21.41, 27: 08-16 14:30:00 - 08-16 15:00:00 @ 21.65, 28: 08-16 15:00:00 - 08-16 15:30:00 @ 22.95, 29: 08-16 15:30:00 - 08-16 16:00:00 @ 22.83, 30: 08-16 16:00:00 - 08-16 16:30:00 @ 36.84, 31: 08-16 16:30:00 - 08-16 17:00:00 @ 37.54, 32: 08-16 17:00:00 - 08-16 17:30:00 @ 41.79, 33: 08-16 17:30:00 - 08-16 18:00:00 @ 43.7, 34: 08-16 18:00:00 - 08-16 18:30:00 @ 44.34, 35: 08-16 19:00:00 - 08-16 19:30:00 @ 34.79, 36: 08-16 19:30:00 - 08-16 20:00:00 @ 34.76, 37: 08-16 20:00:00 - 08-16 20:30:00 @ 35.62, 38: 08-16 20:30:00 - 08-16 21:00:00 @ 35.3, 39: 08-16 21:00:00 - 08-16 21:30:00 @ 35.89, 40: 08-16 21:30:00 - 08-16 22:00:00 @ 35.71, 41: 08-16 22:00:00 - 08-16 22:30:00 @ 33.75, 42: 08-16 22:30:00 - 08-16 23:00:00 @ 32.0, 43: 08-16 23:00:00 - 08-16 23:30:00 @ 30.02, 44: 08-16 23:30:00 - 08-17 00:00:00 @ 27.8, 45: 08-17 00:00:00 - 08-17 00:30:00 @ 28.18, 46: 08-17 00:30:00 - 08-17 01:00:00 @ 27.38, 47: 08-17 01:00:00 - 08-17 01:30:00 @ 26.7, 48: 08-17 01:30:00 - 08-17 02:00:00 @ 26.31, 49: 08-17 02:00:00 - 08-17 02:30:00 @ 25.79, 50: 08-17 02:30:00 - 08-17 03:00:00 @ 25.86, 51: 08-17 03:00:00 - 08-17 03:30:00 @ 26.13, 52: 08-17 03:30:00 - 08-17 04:00:00 @ 25.86, 53: 08-17 04:00:00 - 08-17 04:30:00 @ 26.27, 54: 08-17 04:30:00 - 08-17 05:00:00 @ 26.14, 55: 08-17 05:00:00 - 08-17 05:30:00 @ 27.03, 56: 08-17 05:30:00 - 08-17 06:00:00 @ 26.28, 57: 08-17 06:00:00 - 08-17 06:30:00 @ 25.68, 58: 08-17 06:30:00 - 08-17 07:00:00 @ 26.1, 59: 08-17 07:00:00 - 08-17 07:30:00 @ 24.28, 60: 08-17 07:30:00 - 08-17 08:00:00 @ 24.94, 61: 08-17 08:00:00 - 08-17 08:30:00 @ 24.06, 62: 08-17 08:30:00 - 08-17 09:00:00 @ 24.39, 63: 08-17 09:00:00 - 08-17 09:30:00 @ 24.66, 64: 08-17 09:30:00 - 08-17 10:00:00 @ 24.06, 65: 08-17 10:00:00 - 08-17 10:30:00 @ 25.5, 66: 08-17 10:30:00 - 08-17 11:00:00 @ 24.94, 67: 08-17 11:00:00 - 08-17 11:30:00 @ 24.25, 68: 08-17 11:30:00 - 08-17 12:00:00 @ 23.49, 69: 08-17 12:00:00 - 08-17 12:30:00 @ 23.43, 70: 08-17 12:30:00 - 08-17 13:00:00 @ 22.33, 71: 08-17 13:00:00 - 08-17 13:30:00 @ 22.76, 72: 08-17 13:30:00 - 08-17 14:00:00 @ 22.3, 73: 08-17 14:00:00 - 08-17 14:30:00 @ 21.41, 74: 08-17 14:30:00 - 08-17 15:00:00 @ 21.65, 75: 08-17 15:00:00 - 08-17 15:30:00 @ 22.95, 76: 08-17 15:30:00 - 08-17 16:00:00 @ 22.83, 77: 08-17 16:00:00 - 08-17 16:30:00 @ 36.84, 78: 08-17 16:30:00 - 08-17 17:00:00 @ 37.54, 79: 08-17 17:00:00 - 08-17 17:30:00 @ 41.79, 80: 08-17 17:30:00 - 08-17 18:00:00 @ 43.7, 81: 08-17 18:00:00 - 08-17 18:30:00 @ 44.34, 82: 08-17 19:00:00 - 08-17 19:30:00 @ 34.79, 83: 08-17 19:30:00 - 08-17 20:00:00 @ 34.76, 84: 08-17 20:00:00 - 08-17 20:30:00 @ 35.62, 85: 08-17 20:30:00 - 08-17 21:00:00 @ 35.3, 86: 08-17 21:00:00 - 08-17 21:30:00 @ 35.89, 87: 08-17 21:30:00 - 08-17 22:00:00 @ 35.71, 88: 08-17 22:00:00 - 08-17 22:30:00 @ 33.75, 89: 08-17 22:30:00 - 08-17 23:00:00 @ 32.0, 90: 08-17 23:00:00 - 08-17 23:30:00 @ 30.02, 91: 08-17 23:30:00 - 08-18 00:00:00 @ 27.8, 92: 08-18 00:00:00 - 08-18 00:30:00 @ 28.18, 93: 08-18 00:30:00 - 08-18 01:00:00 @ 27.38, 94: 08-18 01:00:00 - 08-18 01:30:00 @ 26.7]
2026-08-16 01:23:48.007453: Inverter 0: Type SK Sunsynk
2026-08-16 01:23:48.007546: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-16 01:23:48.007753: Reserve min: 7%, battery_min: 7%
2026-08-16 01:23:48.007860: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-16 01:23:48.008212: Inverter 0 SoC: 10.75kW 67%, current charge rate 5000W, current discharge rate 5250W, current battery power 403W, current battery voltage 51.2V, grid power -55W, load power 458W, PV Power 0W
2026-08-16 01:23:48.008406: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-16 01:23:48.008523: Inverter 0 scheduled charge enable is False
2026-08-16 01:23:48.008557: Inverter 0 charge windows currently []
2026-08-16 01:23:48.008586: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-16 01:23:48.008731: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-16 01:23:48.008764: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-16 01:23:48.008798: Inverter 0 scheduled discharge enable is False
2026-08-16 01:23:48.009011: Inverter 0 idle time is 08-16 00:00:00-08-16 23:59:00
2026-08-16 01:23:48.009055: Inverter 0 discharge windows currently []
2026-08-16 01:23:48.009079: Note: Inverter does not support discharge freeze - disabled
2026-08-16 01:23:48.009099: Note: Inverter does not support charge freeze - disabled
2026-08-16 01:23:48.009116: Note: Inverter does not support reserve - disabling reserve functions
2026-08-16 01:23:48.064878: Inverter 0 Charge window will be: 2026-08-16 11:00:00+01:00 - 2026-08-16 11:30:00+01:00 - current SoC 67%, target 52%
2026-08-16 01:23:48.065076: Inverter 0 disabled charge window while waiting for schedule (now 08-16 01:20:00 target set_window_minutes 30 charge start time 08-16 11:00:00) original inverter start time 08-18 00:00:00
2026-08-16 01:23:48.065169: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-16 01:23:48.065386: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-16 01:23:48.065474: No export window planned
2026-08-16 01:23:48.065595: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-16 01:23:48.065631: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-16 01:23:48.065775: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-16 01:23:48.065948: Inverter 0 not setting charging SoC as we are not within the window (now 08-16 01:20:00 target set_soc_minutes 30 charge start time 08-18 00:00:00)
2026-08-16 01:23:48.066002: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-16 01:23:48.066054: Inverter 0 Current Target SoC is 7%, already at target
2026-08-16 01:23:48.066155: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 01:23:48.066199: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 01:23:48.066233: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 01:23:48.066264: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 01:23:48.066290: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 01:23:48.066333: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 01:23:48.066364: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 01:23:48.066426: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 01:23:48.066462: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 01:23:48.066488: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 01:23:48.066526: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 01:23:48.066563: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 01:23:48.066588: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 01:23:48.066612: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 01:23:48.066661: Inverter 0 count register writes 0
2026-08-16 01:23:48.087693: Total inverter register writes now 826
2026-08-16 01:23:48.119917: Info: Completed run status Demand
2026-08-16 01:23:48.125481: Info: record_status Demand
2026-08-16 01:23:48.131211: Saved current settings to /config/predbat_config.json
2026-08-16 01:23:48.131460: Compare, best tariff: igo_fixed metric 126.72p
2026-08-16 01:23:48.196187: Creating predbat dashboard at /config/predbat_dashboard.yaml
2026-08-16 01:23:49.196820: Refreshing Predbat configuration
2026-08-16 01:23:49.863038: Saved current settings to /config/predbat_config.json
2026-08-16 01:23:49.864206: Validation of apps.yaml was successful
2026-08-16 01:23:49.864431: --------------- PredBat - update at 2026-08-16 01:20:00+01:00 with clock skew 0 minutes, minutes now 80
2026-08-16 01:23:49.865141: Saved current settings to /config/predbat_config.json
2026-08-16 01:23:49.865281: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 48.8 minutes
2026-08-16 01:23:49.865422: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.2, latest beta is v8.48.2
2026-08-16 01:23:49.865542: Autoupdate: There is an update pending v8.48.2 PV90 and second pass enabled by default, bug fixes - auto update is off
2026-08-16 01:23:49.883982: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-16 01:23:49.884123: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-16 01:23:49.884301: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-16 01:23:49.884854: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-16 01:23:49.885011: Predbat mode is set to Control charge & discharge
2026-08-16 01:23:50.066708: Found 21602 load_today datapoints going back 28 days
2026-08-16 01:23:50.066847: Using load_power data to fill gaps in load_today data
2026-08-16 01:23:50.823746: Processing 721 30-minute periods for power integration
2026-08-16 01:23:51.000924: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-16 01:23:51.001091: Car charging hold False, threshold 6.0kWh
2026-08-16 01:23:51.001131: Current data so far today: load 1.3kWh, import 0.0kWh, export 0.0kWh, PV 0kWh
2026-08-16 01:23:51.014925: Cars: SoC: [8.204]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-16 01:23:51.015359: Standing charge is set to 49.98p
2026-08-16 01:23:51.038757: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-16 01:23:51.038863: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-16 01:23:51.039067: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 83.8 minutes
2026-08-16 01:23:51.039512: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-17&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 83.6 minutes
2026-08-16 01:23:51.042042: Loaded 47 datapoints of futurerate analysis
2026-08-16 01:23:51.110405: Predicted future rates: ['08-16 00:00:00 => 28.52 / 19.97', '08-16 01:00:00 => 27.43 / 19.41', '08-16 02:00:00 => 26.47 / 18.92', '08-16 03:00:00 => 26.1 / 18.73', '08-16 04:00:00 => 26.04 / 18.7', '08-16 05:00:00 => 25.95 / 18.65', '08-16 06:00:00 => 25.71 / 18.53', '08-16 07:00:00 => 25.37 / 18.35', '08-16 08:00:00 => 24.58 / 17.94', '08-16 09:00:00 => 24.0 / 17.64', '08-16 10:00:00 => 24.54 / 17.92', '08-16 11:00:00 => 24.44 / 17.87', '08-16 12:00:00 => 23.53 / 17.4', '08-16 13:00:00 => 22.89 / 17.07', '08-16 14:00:00 => 21.77 / 16.49', '08-16 15:00:00 => 21.77 / 16.49', '08-16 16:00:00 => 36.89 / 18.3', '08-16 17:00:00 => 39.85 / 19.83', '08-16 18:00:00 => 43.87 / 21.9', '08-16 19:00:00 => 32.69 / 22.13', '08-16 20:00:00 => 33.46 / 22.53', '08-16 21:00:00 => 33.37 / 22.48', '08-16 22:00:00 => 32.01 / 21.78']
2026-08-16 01:23:51.163557: Rate min forward looking: now 0.0p at end of forecast 21.41p
2026-08-16 01:23:51.163988: Import rates: min 0.0p, max 45.28p, average 28.23p
2026-08-16 01:23:51.198366: Export rates: min 0p, max 0p, average 0.0p
2026-08-16 01:23:51.198484: Rate thresholds (for charge/export) are import 44.78p (0.0p), export -0.1p (0.0p)
2026-08-16 01:23:51.199550: High export rate found rates in range 99p to -99p
2026-08-16 01:23:51.263233: Low Import rate found rates in range 0.0p to 44.34p
2026-08-16 01:23:51.263381: Car 0 charging is not planned as it is not plugged in
2026-08-16 01:23:51.276178: Battery level now 10.75kWh, -1hr ago 11.84kWh, at midnight 12.21kWh, battery value change in the last hour -1.09p, change today -1.46p, rate_forward 1.0p
2026-08-16 01:23:51.276557: Last hour: net energy 0.0kWh, import 0.0kWh, export 0.0kWh, car 0kWh, load 1.05kWh, net cost 0.0p, import 0.0p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-16 01:23:51.310703: Today's energy total net 0.0kWh, import 0.0kWh, export 0.0kWh, cost 49.98p, import 0.0p, export 0.0p, carbon 0.0kg
2026-08-16 01:23:51.310813: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-16 01:23:51.369838: Using weighted-bucket historical load forecast over 14 days
2026-08-16 01:23:51.388118: Today's load divergence 100.0%, in-day adjustment 82.97%, damping 0.95x, yesterday 82.97% today 100.0% blend 100.0%
2026-08-16 01:23:51.388267: Today's predicted so far 1.25kWh with 0.0kWh car/iBoost excluded, 0kWh import ignored, and 1.25kWh forecast extra.
2026-08-16 01:23:51.388304: Today's actual load so far 1.25kWh with 0.0kWh car/iBoost excluded, and 0kWh import ignored.
2026-08-16 01:23:51.419808: Inverter 0: Type SK Sunsynk
2026-08-16 01:23:51.419897: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-16 01:23:51.420113: Reserve min: 7%, battery_min: 7%
2026-08-16 01:23:51.420184: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-16 01:23:51.420496: Inverter 0 SoC: 10.75kW 67%, current charge rate 5000W, current discharge rate 5250W, current battery power 403W, current battery voltage 51.2V, grid power -55W, load power 458W, PV Power 0W
2026-08-16 01:23:51.420699: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-16 01:23:51.420825: Inverter 0 scheduled charge enable is False
2026-08-16 01:23:51.420872: Inverter 0 charge windows currently []
2026-08-16 01:23:51.420914: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-16 01:23:51.421104: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-16 01:23:51.421146: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-16 01:23:51.421180: Inverter 0 scheduled discharge enable is False
2026-08-16 01:23:51.421295: Inverter 0 idle time is 08-16 00:00:00-08-16 23:59:00
2026-08-16 01:23:51.421340: Inverter 0 discharge windows currently []
2026-08-16 01:23:51.421362: Note: Inverter does not support discharge freeze - disabled
2026-08-16 01:23:51.421377: Note: Inverter does not support charge freeze - disabled
2026-08-16 01:23:51.421391: Note: Inverter does not support reserve - disabling reserve functions
2026-08-16 01:23:51.475397: Dynamic load last period 1.20kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-16 01:23:51.475524: Will recompute the plan as it is invalid
2026-08-16 01:23:51.475584: Recompute, previous plan is invalid...
2026-08-16 01:23:51.478301: Best charge window [ 16-08 01:00:00 - 16-08 01:30:00 @ 26.7p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.31p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.79p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 25.86p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.13p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 25.86p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.27p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.14p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 27.03p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.28p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.68p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 26.1p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 24.28p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 24.94p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.06p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.39p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.66p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.06p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 25.5p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 24.94p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 0.0p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 0.0p 0%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.43p 0%, 16-08 12:30:00 - 16-08 13:00:00 @ 22.33p 0%, 16-08 13:00:00 - 16-08 13:30:00 @ 22.76p 0%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 0%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 0%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.65p 0%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.95p 0%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.83p 0%, 16-08 16:00:00 - 16-08 16:30:00 @ 36.84p 0%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.54p 0%, 16-08 17:00:00 - 16-08 17:30:00 @ 41.79p 0%, 16-08 17:30:00 - 16-08 18:00:00 @ 43.7p 0%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.34p 0%, 16-08 19:00:00 - 16-08 19:30:00 @ 34.79p 0%, 16-08 19:30:00 - 16-08 20:00:00 @ 34.76p 0%, 16-08 20:00:00 - 16-08 20:30:00 @ 35.62p 0%, 16-08 20:30:00 - 16-08 21:00:00 @ 35.3p 0%, 16-08 21:00:00 - 16-08 21:30:00 @ 35.89p 0%, 16-08 21:30:00 - 16-08 22:00:00 @ 35.71p 0%, 16-08 22:00:00 - 16-08 22:30:00 @ 33.75p 0%, 16-08 22:30:00 - 16-08 23:00:00 @ 32.0p 0%, 16-08 23:00:00 - 16-08 23:30:00 @ 30.02p 0%, 16-08 23:30:00 - 17-08 00:00:00 @ 27.8p 0%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.18p 0%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.38p 0%, 17-08 01:00:00 - 17-08 01:30:00 @ 26.7p 0%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.31p 0%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.79p 0%, 17-08 02:30:00 - 17-08 03:00:00 @ 25.86p 0%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.13p 0%, 17-08 03:30:00 - 17-08 04:00:00 @ 25.86p 0%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.27p 0%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.14p 0%, 17-08 05:00:00 - 17-08 05:30:00 @ 27.03p 0%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.28p 0%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.68p 0%, 17-08 06:30:00 - 17-08 07:00:00 @ 26.1p 0%, 17-08 07:00:00 - 17-08 07:30:00 @ 24.28p 0%, 17-08 07:30:00 - 17-08 08:00:00 @ 24.94p 0%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.06p 0%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.39p 0%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.66p 0%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.06p 0%, 17-08 10:00:00 - 17-08 10:30:00 @ 25.5p 0%, 17-08 10:30:00 - 17-08 11:00:00 @ 24.94p 0%, 17-08 11:00:00 - 17-08 11:30:00 @ 24.25p 0%, 17-08 11:30:00 - 17-08 12:00:00 @ 23.49p 0%, 17-08 12:00:00 - 17-08 12:30:00 @ 23.43p 0%, 17-08 12:30:00 - 17-08 13:00:00 @ 22.33p 0%, 17-08 13:00:00 - 17-08 13:30:00 @ 22.76p 0%, 17-08 13:30:00 - 17-08 14:00:00 @ 22.3p 0%, 17-08 14:00:00 - 17-08 14:30:00 @ 21.41p 0%, 17-08 14:30:00 - 17-08 15:00:00 @ 21.65p 0%, 17-08 15:00:00 - 17-08 15:30:00 @ 22.95p 0%, 17-08 15:30:00 - 17-08 16:00:00 @ 22.83p 0%, 17-08 16:00:00 - 17-08 16:30:00 @ 36.84p 0%, 17-08 16:30:00 - 17-08 17:00:00 @ 37.54p 0%, 17-08 17:00:00 - 17-08 17:30:00 @ 41.79p 0%, 17-08 17:30:00 - 17-08 18:00:00 @ 43.7p 0%, 17-08 18:00:00 - 17-08 18:30:00 @ 44.34p 0%, 17-08 19:00:00 - 17-08 19:30:00 @ 34.79p 0%, 17-08 19:30:00 - 17-08 20:00:00 @ 34.76p 0%, 17-08 20:00:00 - 17-08 20:30:00 @ 35.62p 0%, 17-08 20:30:00 - 17-08 21:00:00 @ 35.3p 0%, 17-08 21:00:00 - 17-08 21:30:00 @ 35.89p 0%, 17-08 21:30:00 - 17-08 22:00:00 @ 35.71p 0%, 17-08 22:00:00 - 17-08 22:30:00 @ 33.75p 0%, 17-08 22:30:00 - 17-08 23:00:00 @ 32.0p 0%, 17-08 23:00:00 - 17-08 23:30:00 @ 30.02p 0%, 17-08 23:30:00 - 18-08 00:00:00 @ 27.8p 0%, 18-08 00:00:00 - 18-08 00:30:00 @ 28.18p 0%, 18-08 00:30:00 - 18-08 01:00:00 @ 27.38p 0%, 18-08 01:00:00 - 18-08 01:30:00 @ 26.7p 0% ]
2026-08-16 01:23:51.478423: Best export window [  ]
2026-08-16 01:23:51.479017: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-16 01:23:51.481560: Load divergence over 8.0 hours mean 558.4W, min 290.4W, max 1545.0W, std dev 338.93W, divergence 30.35%
2026-08-16 01:23:51.496670: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-16 01:23:51.496762: LoadML is_calculating False
2026-08-16 01:23:51.496816: Creating pool of 12 processes to match your CPU count
2026-08-16 01:23:51.580638: Calculate Best options: mode(Control charge & discharge), calculate_export_oncharge(False), calculate_export_on_pv(True), set_export_freeze_only(False), set_discharge_during_charge(True), combine_charge_slots(False), combine_export_slots(False), combine_rate_threshold(0.0), best_soc_min(0.0 kWh), best_soc_max(0.0 kWh), best_soc_keep(0.0 kWh), inverter_loss(4%), battery_loss(3%), battery_loss_discharge (3%), inverter_hybrid(True), metric_min_improvement(0.0p), metric_min_improvement_export(0.1p), metric_min_improvement_export_freeze(0.1p), metric_battery_cycle(0.0p/kWh), metric_battery_value_scaling(1.0 x) 
2026-08-16 01:23:51.582613: Optimise levels pass started at 2026-08-16 01:23:51
2026-08-16 01:23:51.582684: Optimise all windows, total charge 94 export 1
2026-08-16 01:23:52.618288: >> Region optimisation pass width 960 gives best_metric 418.04p, best_cost 429.71p, best_cycle 38.24kWh, best_import 22.44kWh
2026-08-16 01:23:53.102708: >> Region optimisation pass width 480 gives best_metric 418.04p, best_cost 429.71p, best_cycle 38.24kWh, best_import 22.44kWh
2026-08-16 01:23:53.718443: >> Region optimisation pass width 240 gives best_metric 418.04p, best_cost 429.71p, best_cycle 38.24kWh, best_import 22.44kWh
2026-08-16 01:23:54.725083: >> Region optimisation pass width 120 gives best_metric 418.04p, best_cost 429.71p, best_cycle 38.24kWh, best_import 22.44kWh
2026-08-16 01:23:54.725418: Calculated end_record as 08-17 11:00:00 based on best_price 22.33p, next_charge_start 08-16 11:00:00, max_windows 67
2026-08-16 01:23:54.725539: Optimise levels pass ended at 2026-08-16 01:23:54, duration 3.1 seconds tried 338 combinations
2026-08-16 01:23:54.725598: Set best_price_charge_level 24.0p, best_price_export_level 0p, best_price_charge 22.33p, best_cost_export 0p, best_metric 418.04p, best_keep 0kWh, best_cycle 38.24kWh, best_carbon 0kg, best_import 22.44kWh
2026-08-16 01:23:54.741626: Starting detailed optimisation end_record 08-17 11:00:00, best_price_charge 22.33p, best_price_export 0p. lowest_price_charge 0.0p with charge limits [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12.0, 12.0, 0, 0, 0, 0, 12.0, 12.0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0]kWh and export limits []kWh
2026-08-16 01:23:59.845948: Tweak plan optimisation started metric 151.86p, cost 166.51p
2026-08-16 01:24:00.159545: Tweak optimisation finished metric 151.86p, cost 166.51p, metric_keep 0kWh, cycle 22.06kWh, carbon 0kg, import 10.9kWh, changed 8 window(s)
2026-08-16 01:24:00.177707: Swap charge optimisation started metric 151.86p, cost 166.51p, min_improvement_swap 0.1p
2026-08-16 01:24:07.389375: Swap charge optimisation finished metric 151.86p, cost 166.51p
2026-08-16 01:24:07.557322: Pruned 1 dead plan slot(s) in 11 trial(s), nominal metric 145.91p -> 145.91p, plan now metric 151.9p, cost 166.51p, cycle 22.06kWh, import 10.9kWh
2026-08-16 01:24:07.571795: Raw charge windows [ 16-08 01:00:00 - 16-08 01:30:00 @ 26.7p 0%, 16-08 01:30:00 - 16-08 02:00:00 @ 26.31p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.79p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 25.86p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.13p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 25.86p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.27p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.14p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 27.03p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.28p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.68p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 26.1p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 24.28p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 24.94p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.06p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.39p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.66p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.06p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 25.5p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 24.94p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 0.0p 100%, 16-08 11:30:00 - 16-08 12:00:00 @ 0.0p 100%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.43p 63%, 16-08 12:30:00 - 16-08 13:00:00 @ 22.33p 63%, 16-08 13:00:00 - 16-08 13:30:00 @ 22.76p 63%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 63%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 75%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.65p 75%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.95p 75%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.83p 75%, 16-08 16:00:00 - 16-08 16:30:00 @ 36.84p 0%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.54p 0%, 16-08 17:00:00 - 16-08 17:30:00 @ 41.79p 0%, 16-08 17:30:00 - 16-08 18:00:00 @ 43.7p 0%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.34p 0%, 16-08 19:00:00 - 16-08 19:30:00 @ 34.79p 0%, 16-08 19:30:00 - 16-08 20:00:00 @ 34.76p 0%, 16-08 20:00:00 - 16-08 20:30:00 @ 35.62p 0%, 16-08 20:30:00 - 16-08 21:00:00 @ 35.3p 0%, 16-08 21:00:00 - 16-08 21:30:00 @ 35.89p 0%, 16-08 21:30:00 - 16-08 22:00:00 @ 35.71p 0%, 16-08 22:00:00 - 16-08 22:30:00 @ 33.75p 0%, 16-08 22:30:00 - 16-08 23:00:00 @ 32.0p 0%, 16-08 23:00:00 - 16-08 23:30:00 @ 30.02p 0%, 16-08 23:30:00 - 17-08 00:00:00 @ 27.8p 0%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.18p 0%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.38p 0%, 17-08 01:00:00 - 17-08 01:30:00 @ 26.7p 0%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.31p 0%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.79p 0%, 17-08 02:30:00 - 17-08 03:00:00 @ 25.86p 0%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.13p 0%, 17-08 03:30:00 - 17-08 04:00:00 @ 25.86p 0%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.27p 0%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.14p 0%, 17-08 05:00:00 - 17-08 05:30:00 @ 27.03p 0%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.28p 0%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.68p 0%, 17-08 06:30:00 - 17-08 07:00:00 @ 26.1p 0%, 17-08 07:00:00 - 17-08 07:30:00 @ 24.28p 0%, 17-08 07:30:00 - 17-08 08:00:00 @ 24.94p 0%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.06p 0%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.39p 0%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.66p 0%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.06p 0%, 17-08 10:00:00 - 17-08 10:30:00 @ 25.5p 0%, 17-08 10:30:00 - 17-08 11:00:00 @ 24.94p 0%, 17-08 11:00:00 - 17-08 11:30:00 @ 24.25p 100%, 17-08 11:30:00 - 17-08 12:00:00 @ 23.49p 100%, 17-08 12:00:00 - 17-08 12:30:00 @ 23.43p 100%, 17-08 12:30:00 - 17-08 13:00:00 @ 22.33p 100%, 17-08 13:00:00 - 17-08 13:30:00 @ 22.76p 100%, 17-08 13:30:00 - 17-08 14:00:00 @ 22.3p 100%, 17-08 14:00:00 - 17-08 14:30:00 @ 21.41p 100%, 17-08 14:30:00 - 17-08 15:00:00 @ 21.65p 100%, 17-08 15:00:00 - 17-08 15:30:00 @ 22.95p 100%, 17-08 15:30:00 - 17-08 16:00:00 @ 22.83p 100%, 17-08 16:00:00 - 17-08 16:30:00 @ 36.84p 100%, 17-08 16:30:00 - 17-08 17:00:00 @ 37.54p 100%, 17-08 17:00:00 - 17-08 17:30:00 @ 41.79p 100%, 17-08 17:30:00 - 17-08 18:00:00 @ 43.7p 100%, 17-08 18:00:00 - 17-08 18:30:00 @ 44.34p 100%, 17-08 19:00:00 - 17-08 19:30:00 @ 34.79p 100%, 17-08 19:30:00 - 17-08 20:00:00 @ 34.76p 100%, 17-08 20:00:00 - 17-08 20:30:00 @ 35.62p 100%, 17-08 20:30:00 - 17-08 21:00:00 @ 35.3p 100%, 17-08 21:00:00 - 17-08 21:30:00 @ 35.89p 100%, 17-08 21:30:00 - 17-08 22:00:00 @ 35.71p 100%, 17-08 22:00:00 - 17-08 22:30:00 @ 33.75p 100%, 17-08 22:30:00 - 17-08 23:00:00 @ 32.0p 100%, 17-08 23:00:00 - 17-08 23:30:00 @ 30.02p 100%, 17-08 23:30:00 - 18-08 00:00:00 @ 27.8p 100%, 18-08 00:00:00 - 18-08 00:30:00 @ 28.18p 100%, 18-08 00:30:00 - 18-08 01:00:00 @ 27.38p 100%, 18-08 01:00:00 - 18-08 01:30:00 @ 26.7p 100% ] reserve 1.12
2026-08-16 01:24:07.572481: Unclipped charge windows [ 16-08 11:00:00 - 16-08 12:00:00 @ 0.0p 100%, 16-08 12:00:00 - 16-08 14:00:00 @ 22.56p 63%, 16-08 14:00:00 - 16-08 16:00:00 @ 22.53p 75%, 17-08 11:00:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 18-08 01:30:00 @ 27.44p 100% ] reserve 1.12
2026-08-16 01:24:07.572810: Unfiltered charge windows [ 16-08 11:00:00 - 16-08 12:00:00 @ 0.0p 100%, 16-08 12:00:00 - 16-08 14:00:00 @ 22.56p 63%, 16-08 14:00:00 - 16-08 16:00:00 @ 22.53p 75%, 17-08 11:00:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 18-08 01:30:00 @ 27.44p 100% ] reserve 1.12
2026-08-16 01:24:07.573141: Filtered charge windows [ 16-08 11:00:00 - 16-08 12:00:00 @ 0.0p 100%, 16-08 12:00:00 - 16-08 14:00:00 @ 22.56p 63%, 16-08 14:00:00 - 16-08 16:00:00 @ 22.53p 75%, 17-08 11:00:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 18-08 01:30:00 @ 27.44p 100% ] reserve 1.12
2026-08-16 01:24:07.573391: Plan valid is now true after recompute was False
2026-08-16 01:24:07.606007: predict base end_record 08-17 11:00:00, final soc 1.12kWh, metric 380.74p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 19:10:00, load 20.26kWh, PV 0.0kWh
2026-08-16 01:24:07.737671: Battery has 17.83 hours left - now at 10.75kWh
2026-08-16 01:24:07.788280: predict base10 end_record 08-17 11:00:00, final soc 1.12kWh, metric 412.35p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 18:25:00, load 21.17kWh, PV 0.0kWh
2026-08-16 01:24:07.874699: predict best10 end_record 08-17 11:00:00, final soc 1.12kWh, metric 256.41p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 07:20:00, load 21.17kWh, PV 0.0kWh
2026-08-16 01:24:07.977645: predict best end_record 08-17 11:00:00, final soc 1.12kWh, metric 216.5p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 08:30:00, load 20.26kWh, PV 0.0kWh
2026-08-16 01:24:07.977766: Saving plan best values to HA entities
2026-08-16 01:24:08.226949: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-16 01:24:08.239704: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0.0
2026-08-16 01:24:08.258004: Best charging limit SoC's [16.0, 10.0, 12.0, 16.0, 16.0]kWh, export []kWh gives import battery 9.53kWh, house 1.37kWh, export 0.0kWh, metric 216.5p, metric10 256.41p
2026-08-16 01:24:08.380239: Marginal costs baseline metric (no standing charge): 166.5135
2026-08-16 01:24:08.691527: Marginal energy costs matrix computed: min=7.79 max=26.41
2026-08-16 01:24:08.773567: Rate array import [{'start': 80, 'end': 660, 'rate': 'expensive', 'range': '(24.1p - 27.0p)'}, {'start': 660, 'end': 720, 'rate': 'free', 'range': '(0.0p)'}, {'start': 720, 'end': 960, 'rate': 'expensive', 'range': '(21.4p - 23.4p)'}, {'start': 960, 'end': 1380, 'rate': 'very expensive', 'range': '(32.0p - 45.3p)'}, {'start': 1380, 'end': 2100, 'rate': 'expensive', 'range': '(24.1p - 30.0p)'}] export [{'start': 80, 'end': 2100, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-16 01:24:08.774737: - Your estimated bill for today is £1.32 and tomorrow is £7.29
2026-08-16 01:24:08.774807: - Import rates are expensive (24.1p - 27.0p) for the next 9 hours and then free (0.0p) for the next 1 hour.
2026-08-16 01:24:08.774839: - The battery is currently at 67% and is in eco mode for the next 9 hours.
2026-08-16 01:24:08.774866: - For the next 48 hours there will be no solar generation.
2026-08-16 01:24:08.774896: - You will run out of battery in 31 hours.
2026-08-16 01:24:08.774922: - Your next charge slot will be in 9 hours where import rates will be free (0.0p).
2026-08-16 01:24:08.774960: 
2026-08-16 01:24:08.840235: Plan calculation took 17.36 seconds
2026-08-16 01:24:08.845769: Saved plan to storage
2026-08-16 01:24:08.848886: No high rate period found
2026-08-16 01:24:08.909943: Import threshold used for optimisation was 24.06p
2026-08-16 01:24:08.966885: Low import rate windows [0: 08-16 01:00:00 - 08-16 01:30:00 @ 26.7, 1: 08-16 01:30:00 - 08-16 02:00:00 @ 26.31, 2: 08-16 02:00:00 - 08-16 02:30:00 @ 25.79, 3: 08-16 02:30:00 - 08-16 03:00:00 @ 25.86, 4: 08-16 03:00:00 - 08-16 03:30:00 @ 26.13, 5: 08-16 03:30:00 - 08-16 04:00:00 @ 25.86, 6: 08-16 04:00:00 - 08-16 04:30:00 @ 26.27, 7: 08-16 04:30:00 - 08-16 05:00:00 @ 26.14, 8: 08-16 05:00:00 - 08-16 05:30:00 @ 27.03, 9: 08-16 05:30:00 - 08-16 06:00:00 @ 26.28, 10: 08-16 06:00:00 - 08-16 06:30:00 @ 25.68, 11: 08-16 06:30:00 - 08-16 07:00:00 @ 26.1, 12: 08-16 07:00:00 - 08-16 07:30:00 @ 24.28, 13: 08-16 07:30:00 - 08-16 08:00:00 @ 24.94, 14: 08-16 08:00:00 - 08-16 08:30:00 @ 24.06, 15: 08-16 08:30:00 - 08-16 09:00:00 @ 24.39, 16: 08-16 09:00:00 - 08-16 09:30:00 @ 24.66, 17: 08-16 09:30:00 - 08-16 10:00:00 @ 24.06, 18: 08-16 10:00:00 - 08-16 10:30:00 @ 25.5, 19: 08-16 10:30:00 - 08-16 11:00:00 @ 24.94, 20: 08-16 11:00:00 - 08-16 11:30:00 @ 0.0, 21: 08-16 11:30:00 - 08-16 12:00:00 @ 0.0, 22: 08-16 12:00:00 - 08-16 12:30:00 @ 23.43, 23: 08-16 12:30:00 - 08-16 13:00:00 @ 22.33, 24: 08-16 13:00:00 - 08-16 13:30:00 @ 22.76, 25: 08-16 13:30:00 - 08-16 14:00:00 @ 22.3, 26: 08-16 14:00:00 - 08-16 14:30:00 @ 21.41, 27: 08-16 14:30:00 - 08-16 15:00:00 @ 21.65, 28: 08-16 15:00:00 - 08-16 15:30:00 @ 22.95, 29: 08-16 15:30:00 - 08-16 16:00:00 @ 22.83, 30: 08-16 16:00:00 - 08-16 16:30:00 @ 36.84, 31: 08-16 16:30:00 - 08-16 17:00:00 @ 37.54, 32: 08-16 17:00:00 - 08-16 17:30:00 @ 41.79, 33: 08-16 17:30:00 - 08-16 18:00:00 @ 43.7, 34: 08-16 18:00:00 - 08-16 18:30:00 @ 44.34, 35: 08-16 19:00:00 - 08-16 19:30:00 @ 34.79, 36: 08-16 19:30:00 - 08-16 20:00:00 @ 34.76, 37: 08-16 20:00:00 - 08-16 20:30:00 @ 35.62, 38: 08-16 20:30:00 - 08-16 21:00:00 @ 35.3, 39: 08-16 21:00:00 - 08-16 21:30:00 @ 35.89, 40: 08-16 21:30:00 - 08-16 22:00:00 @ 35.71, 41: 08-16 22:00:00 - 08-16 22:30:00 @ 33.75, 42: 08-16 22:30:00 - 08-16 23:00:00 @ 32.0, 43: 08-16 23:00:00 - 08-16 23:30:00 @ 30.02, 44: 08-16 23:30:00 - 08-17 00:00:00 @ 27.8, 45: 08-17 00:00:00 - 08-17 00:30:00 @ 28.18, 46: 08-17 00:30:00 - 08-17 01:00:00 @ 27.38, 47: 08-17 01:00:00 - 08-17 01:30:00 @ 26.7, 48: 08-17 01:30:00 - 08-17 02:00:00 @ 26.31, 49: 08-17 02:00:00 - 08-17 02:30:00 @ 25.79, 50: 08-17 02:30:00 - 08-17 03:00:00 @ 25.86, 51: 08-17 03:00:00 - 08-17 03:30:00 @ 26.13, 52: 08-17 03:30:00 - 08-17 04:00:00 @ 25.86, 53: 08-17 04:00:00 - 08-17 04:30:00 @ 26.27, 54: 08-17 04:30:00 - 08-17 05:00:00 @ 26.14, 55: 08-17 05:00:00 - 08-17 05:30:00 @ 27.03, 56: 08-17 05:30:00 - 08-17 06:00:00 @ 26.28, 57: 08-17 06:00:00 - 08-17 06:30:00 @ 25.68, 58: 08-17 06:30:00 - 08-17 07:00:00 @ 26.1, 59: 08-17 07:00:00 - 08-17 07:30:00 @ 24.28, 60: 08-17 07:30:00 - 08-17 08:00:00 @ 24.94, 61: 08-17 08:00:00 - 08-17 08:30:00 @ 24.06, 62: 08-17 08:30:00 - 08-17 09:00:00 @ 24.39, 63: 08-17 09:00:00 - 08-17 09:30:00 @ 24.66, 64: 08-17 09:30:00 - 08-17 10:00:00 @ 24.06, 65: 08-17 10:00:00 - 08-17 10:30:00 @ 25.5, 66: 08-17 10:30:00 - 08-17 11:00:00 @ 24.94, 67: 08-17 11:00:00 - 08-17 11:30:00 @ 24.25, 68: 08-17 11:30:00 - 08-17 12:00:00 @ 23.49, 69: 08-17 12:00:00 - 08-17 12:30:00 @ 23.43, 70: 08-17 12:30:00 - 08-17 13:00:00 @ 22.33, 71: 08-17 13:00:00 - 08-17 13:30:00 @ 22.76, 72: 08-17 13:30:00 - 08-17 14:00:00 @ 22.3, 73: 08-17 14:00:00 - 08-17 14:30:00 @ 21.41, 74: 08-17 14:30:00 - 08-17 15:00:00 @ 21.65, 75: 08-17 15:00:00 - 08-17 15:30:00 @ 22.95, 76: 08-17 15:30:00 - 08-17 16:00:00 @ 22.83, 77: 08-17 16:00:00 - 08-17 16:30:00 @ 36.84, 78: 08-17 16:30:00 - 08-17 17:00:00 @ 37.54, 79: 08-17 17:00:00 - 08-17 17:30:00 @ 41.79, 80: 08-17 17:30:00 - 08-17 18:00:00 @ 43.7, 81: 08-17 18:00:00 - 08-17 18:30:00 @ 44.34, 82: 08-17 19:00:00 - 08-17 19:30:00 @ 34.79, 83: 08-17 19:30:00 - 08-17 20:00:00 @ 34.76, 84: 08-17 20:00:00 - 08-17 20:30:00 @ 35.62, 85: 08-17 20:30:00 - 08-17 21:00:00 @ 35.3, 86: 08-17 21:00:00 - 08-17 21:30:00 @ 35.89, 87: 08-17 21:30:00 - 08-17 22:00:00 @ 35.71, 88: 08-17 22:00:00 - 08-17 22:30:00 @ 33.75, 89: 08-17 22:30:00 - 08-17 23:00:00 @ 32.0, 90: 08-17 23:00:00 - 08-17 23:30:00 @ 30.02, 91: 08-17 23:30:00 - 08-18 00:00:00 @ 27.8, 92: 08-18 00:00:00 - 08-18 00:30:00 @ 28.18, 93: 08-18 00:30:00 - 08-18 01:00:00 @ 27.38, 94: 08-18 01:00:00 - 08-18 01:30:00 @ 26.7]
2026-08-16 01:24:08.975745: Inverter 0: Type SK Sunsynk
2026-08-16 01:24:08.975838: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-16 01:24:08.976046: Reserve min: 7%, battery_min: 7%
2026-08-16 01:24:08.976129: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-16 01:24:08.976487: Inverter 0 SoC: 10.75kW 67%, current charge rate 5000W, current discharge rate 5250W, current battery power 403W, current battery voltage 51.2V, grid power -55W, load power 458W, PV Power 0W
2026-08-16 01:24:08.976668: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-16 01:24:08.976772: Inverter 0 scheduled charge enable is False
2026-08-16 01:24:08.976812: Inverter 0 charge windows currently []
2026-08-16 01:24:08.976842: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-16 01:24:08.976981: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-16 01:24:08.977023: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-16 01:24:08.977061: Inverter 0 scheduled discharge enable is False
2026-08-16 01:24:08.977199: Inverter 0 idle time is 08-16 00:00:00-08-16 23:59:00
2026-08-16 01:24:08.977237: Inverter 0 discharge windows currently []
2026-08-16 01:24:08.977259: Note: Inverter does not support discharge freeze - disabled
2026-08-16 01:24:08.977282: Note: Inverter does not support charge freeze - disabled
2026-08-16 01:24:08.977300: Note: Inverter does not support reserve - disabling reserve functions
2026-08-16 01:24:09.032542: Inverter 0 Charge window will be: 2026-08-16 11:00:00+01:00 - 2026-08-16 16:00:00+01:00 - current SoC 67%, target 100%
2026-08-16 01:24:09.032703: Inverter 0 disabled charge window while waiting for schedule (now 08-16 01:20:00 target set_window_minutes 30 charge start time 08-16 11:00:00) original inverter start time 08-18 00:00:00
2026-08-16 01:24:09.032776: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-16 01:24:09.033035: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-16 01:24:09.033131: No export window planned
2026-08-16 01:24:09.033250: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-16 01:24:09.033311: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-16 01:24:09.033584: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-16 01:24:09.033893: Inverter 0 not setting charging SoC as we are not within the window (now 08-16 01:20:00 target set_soc_minutes 30 charge start time 08-18 00:00:00)
2026-08-16 01:24:09.033993: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-16 01:24:09.034104: Inverter 0 Current Target SoC is 7%, already at target
2026-08-16 01:24:09.034239: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 01:24:09.034301: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 01:24:09.034381: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 01:24:09.034438: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 01:24:09.034529: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 01:24:09.034601: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 01:24:09.034650: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 01:24:09.034724: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 01:24:09.034766: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 01:24:09.034810: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 01:24:09.034880: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 01:24:09.034934: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 01:24:09.034995: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 01:24:09.035056: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 01:24:09.035107: Inverter 0 count register writes 0
2026-08-16 01:24:09.062280: Total inverter register writes now 826
2026-08-16 01:24:09.101714: Info: Completed run status Demand
2026-08-16 01:24:09.108533: Info: record_status Demand
2026-08-16 01:24:09.115488: Saved current settings to /config/predbat_config.json
2026-08-16 01:24:09.115804: Compare, best tariff: igo_fixed metric 126.72p
2026-08-16 01:24:09.200715: Creating predbat dashboard at /config/predbat_dashboard.yaml
2026-08-16 01:24:42.244897: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-16 01:24:42.245219: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-16 01:24:42.245269: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-16 01:24:42.245495: Inverter 0 idle time is 08-16 00:00:00-08-16 23:59:00
2026-08-16 01:24:42.245548: Note: Inverter does not support discharge freeze - disabled
2026-08-16 01:24:42.245570: Note: Inverter does not support charge freeze - disabled
2026-08-16 01:24:42.245587: Note: Inverter does not support reserve - disabling reserve functions
2026-08-16 01:25:00.357863: --------------- PredBat - update at 2026-08-16 01:25:00+01:00 with clock skew 0 minutes, minutes now 85
2026-08-16 01:25:00.358670: Saved current settings to /config/predbat_config.json
2026-08-16 01:25:00.358800: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 50.0 minutes
2026-08-16 01:25:00.358878: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.2, latest beta is v8.48.2
2026-08-16 01:25:00.358980: Autoupdate: There is an update pending v8.48.2 PV90 and second pass enabled by default, bug fixes - auto update is off
2026-08-16 01:25:00.382218: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-16 01:25:00.382402: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-16 01:25:00.382641: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-16 01:25:00.383336: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-16 01:25:00.383554: Predbat mode is set to Control charge & discharge
2026-08-16 01:25:00.592618: Found 21602 load_today datapoints going back 28 days
2026-08-16 01:25:00.592784: Using load_power data to fill gaps in load_today data
2026-08-16 01:25:01.467241: Processing 721 30-minute periods for power integration
2026-08-16 01:25:01.646617: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-16 01:25:01.646766: Car charging hold False, threshold 6.0kWh
2026-08-16 01:25:01.646813: Current data so far today: load 1.4kWh, import 0.0kWh, export 0.0kWh, PV 0kWh
2026-08-16 01:25:01.661345: Cars: SoC: [8.204]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-16 01:25:01.662397: Standing charge is set to 49.98p
2026-08-16 01:25:01.684840: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-16 01:25:01.684936: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-16 01:25:01.685192: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 85.0 minutes
2026-08-16 01:25:01.685597: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-17&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 84.8 minutes
2026-08-16 01:25:01.688502: Loaded 47 datapoints of futurerate analysis
2026-08-16 01:25:01.773828: Predicted future rates: ['08-16 00:00:00 => 28.52 / 19.97', '08-16 01:00:00 => 27.43 / 19.41', '08-16 02:00:00 => 26.47 / 18.92', '08-16 03:00:00 => 26.1 / 18.73', '08-16 04:00:00 => 26.04 / 18.7', '08-16 05:00:00 => 25.95 / 18.65', '08-16 06:00:00 => 25.71 / 18.53', '08-16 07:00:00 => 25.37 / 18.35', '08-16 08:00:00 => 24.58 / 17.94', '08-16 09:00:00 => 24.0 / 17.64', '08-16 10:00:00 => 24.54 / 17.92', '08-16 11:00:00 => 24.44 / 17.87', '08-16 12:00:00 => 23.53 / 17.4', '08-16 13:00:00 => 22.89 / 17.07', '08-16 14:00:00 => 21.77 / 16.49', '08-16 15:00:00 => 21.77 / 16.49', '08-16 16:00:00 => 36.89 / 18.3', '08-16 17:00:00 => 39.85 / 19.83', '08-16 18:00:00 => 43.87 / 21.9', '08-16 19:00:00 => 32.69 / 22.13', '08-16 20:00:00 => 33.46 / 22.53', '08-16 21:00:00 => 33.37 / 22.48', '08-16 22:00:00 => 32.01 / 21.78']
2026-08-16 01:25:01.836032: Rate min forward looking: now 0.0p at end of forecast 21.41p
2026-08-16 01:25:01.836460: Import rates: min 0.0p, max 45.28p, average 28.23p
2026-08-16 01:25:01.878606: Export rates: min 0p, max 0p, average 0.0p
2026-08-16 01:25:01.878748: Rate thresholds (for charge/export) are import 44.78p (0.0p), export -0.1p (0.0p)
2026-08-16 01:25:01.879932: High export rate found rates in range 99p to -99p
2026-08-16 01:25:01.954966: Low Import rate found rates in range 0.0p to 44.34p
2026-08-16 01:25:01.955111: Car 0 charging is not planned as it is not plugged in
2026-08-16 01:25:01.970665: Battery level now 10.75kWh, -1hr ago 11.78kWh, at midnight 12.21kWh, battery value change in the last hour -1.03p, change today -1.46p, rate_forward 1.0p
2026-08-16 01:25:01.971062: Last hour: net energy 0.0kWh, import 0.0kWh, export 0.0kWh, car 0kWh, load 1.1kWh, net cost 0.0p, import 0.0p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-16 01:25:02.026622: Today's energy total net 0.0kWh, import 0.0kWh, export 0.0kWh, cost 49.98p, import 0.0p, export 0.0p, carbon 0.0kg
2026-08-16 01:25:02.026758: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-16 01:25:02.097936: Using weighted-bucket historical load forecast over 14 days
2026-08-16 01:25:02.123636: Today's load divergence 100.0%, in-day adjustment 82.97%, damping 0.95x, yesterday 82.97% today 100.0% blend 100.0%
2026-08-16 01:25:02.123777: Today's predicted so far 1.29kWh with 0.0kWh car/iBoost excluded, 0kWh import ignored, and 1.29kWh forecast extra.
2026-08-16 01:25:02.123866: Today's actual load so far 1.34kWh with 0.0kWh car/iBoost excluded, and 0kWh import ignored.
2026-08-16 01:25:02.171699: Inverter 0: Type SK Sunsynk
2026-08-16 01:25:02.171821: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-16 01:25:02.172053: Reserve min: 7%, battery_min: 7%
2026-08-16 01:25:02.172135: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-16 01:25:02.172536: Inverter 0 SoC: 10.72kW 67%, current charge rate 5000W, current discharge rate 5250W, current battery power 417W, current battery voltage 51.2V, grid power -54W, load power 472W, PV Power 0W
2026-08-16 01:25:02.172775: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-16 01:25:02.172884: Inverter 0 scheduled charge enable is False
2026-08-16 01:25:02.172917: Inverter 0 charge windows currently []
2026-08-16 01:25:02.172974: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-16 01:25:02.173164: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-16 01:25:02.173212: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-16 01:25:02.173255: Inverter 0 scheduled discharge enable is False
2026-08-16 01:25:02.173445: Inverter 0 idle time is 08-16 00:00:00-08-16 23:59:00
2026-08-16 01:25:02.173493: Inverter 0 discharge windows currently []
2026-08-16 01:25:02.173520: Note: Inverter does not support discharge freeze - disabled
2026-08-16 01:25:02.173563: Note: Inverter does not support charge freeze - disabled
2026-08-16 01:25:02.173599: Note: Inverter does not support reserve - disabling reserve functions
2026-08-16 01:25:02.265266: Dynamic load last period 1.20kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-16 01:25:02.265397: Plan was last updated on 2026-08-16 01:20:00+01:00 and is now 5.0 minutes old
2026-08-16 01:25:02.265647: Best charge window [ 16-08 11:00:00 - 16-08 12:00:00 @ 0.0p 100%, 16-08 12:00:00 - 16-08 14:00:00 @ 22.56p 63%, 16-08 14:00:00 - 16-08 16:00:00 @ 22.53p 75%, 17-08 11:00:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 18-08 01:30:00 @ 27.44p 100% ]
2026-08-16 01:25:02.265692: Best export window [  ]
2026-08-16 01:25:02.266507: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-16 01:25:02.269665: Load divergence over 8.0 hours mean 556.91W, min 290.4W, max 1572.0W, std dev 335.65W, divergence 30.13%
2026-08-16 01:25:02.289085: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-16 01:25:02.289224: LoadML is_calculating False
2026-08-16 01:25:02.289298: Creating pool of 12 processes to match your CPU count
2026-08-16 01:25:02.419516: predict base end_record 08-17 11:05:00, final soc 1.12kWh, metric 381.35p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 19:15:00, load 20.37kWh, PV 0.0kWh
2026-08-16 01:25:02.595883: Battery has 17.83 hours left - now at 10.72kWh
2026-08-16 01:25:02.641350: predict base10 end_record 08-17 11:05:00, final soc 1.12kWh, metric 412.65p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 18:30:00, load 21.28kWh, PV 0.0kWh
2026-08-16 01:25:02.726867: predict best10 end_record 08-17 11:05:00, final soc 1.44kWh, metric 265.89p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 07:20:00, load 21.28kWh, PV 0.0kWh
2026-08-16 01:25:02.812788: predict best end_record 08-17 11:05:00, final soc 1.51kWh, metric 227.76p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 08:30:00, load 20.37kWh, PV 0.0kWh
2026-08-16 01:25:02.812887: Saving plan best values to HA entities
2026-08-16 01:25:02.990955: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-16 01:25:02.996788: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0.0
2026-08-16 01:25:03.002187: Best charging limit SoC's [16.0, 10.0, 12.0, 16.0, 16.0]kWh, export []kWh gives import battery 9.99kWh, house 1.37kWh, export 0.0kWh, metric 227.76p, metric10 265.89p
2026-08-16 01:25:03.075993: Marginal costs baseline metric (no standing charge): 177.7757
2026-08-16 01:25:03.364742: Marginal energy costs matrix computed: min=9.77 max=26.35
2026-08-16 01:25:03.461675: Rate array import [{'start': 85, 'end': 660, 'rate': 'expensive', 'range': '(24.1p - 27.0p)'}, {'start': 660, 'end': 720, 'rate': 'free', 'range': '(0.0p)'}, {'start': 720, 'end': 960, 'rate': 'expensive', 'range': '(21.4p - 23.4p)'}, {'start': 960, 'end': 1380, 'rate': 'very expensive', 'range': '(32.0p - 45.3p)'}, {'start': 1380, 'end': 2105, 'rate': 'expensive', 'range': '(24.1p - 30.0p)'}] export [{'start': 85, 'end': 2105, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-16 01:25:03.462496: - Your estimated bill for today is £1.32 and tomorrow is £7.29
2026-08-16 01:25:03.462553: - Import rates are expensive (24.1p - 27.0p) for the next 9 hours and then free (0.0p) for the next 1 hour.
2026-08-16 01:25:03.462577: - The battery is currently at 67% and is in eco mode for the next 9 hours.
2026-08-16 01:25:03.462596: - For the next 48 hours there will be no solar generation.
2026-08-16 01:25:03.462617: - You will run out of battery in 31 hours.
2026-08-16 01:25:03.462635: - Your next charge slot will be in 9 hours where import rates will be free (0.0p).
2026-08-16 01:25:03.462654: 
2026-08-16 01:25:03.523839: Plan calculation took 1.26 seconds
2026-08-16 01:25:03.527568: No high rate period found
2026-08-16 01:25:03.586381: Import threshold used for optimisation was 24.06p
2026-08-16 01:25:03.637873: Low import rate windows [0: 08-16 01:00:00 - 08-16 01:30:00 @ 26.7, 1: 08-16 01:30:00 - 08-16 02:00:00 @ 26.31, 2: 08-16 02:00:00 - 08-16 02:30:00 @ 25.79, 3: 08-16 02:30:00 - 08-16 03:00:00 @ 25.86, 4: 08-16 03:00:00 - 08-16 03:30:00 @ 26.13, 5: 08-16 03:30:00 - 08-16 04:00:00 @ 25.86, 6: 08-16 04:00:00 - 08-16 04:30:00 @ 26.27, 7: 08-16 04:30:00 - 08-16 05:00:00 @ 26.14, 8: 08-16 05:00:00 - 08-16 05:30:00 @ 27.03, 9: 08-16 05:30:00 - 08-16 06:00:00 @ 26.28, 10: 08-16 06:00:00 - 08-16 06:30:00 @ 25.68, 11: 08-16 06:30:00 - 08-16 07:00:00 @ 26.1, 12: 08-16 07:00:00 - 08-16 07:30:00 @ 24.28, 13: 08-16 07:30:00 - 08-16 08:00:00 @ 24.94, 14: 08-16 08:00:00 - 08-16 08:30:00 @ 24.06, 15: 08-16 08:30:00 - 08-16 09:00:00 @ 24.39, 16: 08-16 09:00:00 - 08-16 09:30:00 @ 24.66, 17: 08-16 09:30:00 - 08-16 10:00:00 @ 24.06, 18: 08-16 10:00:00 - 08-16 10:30:00 @ 25.5, 19: 08-16 10:30:00 - 08-16 11:00:00 @ 24.94, 20: 08-16 11:00:00 - 08-16 11:30:00 @ 0.0, 21: 08-16 11:30:00 - 08-16 12:00:00 @ 0.0, 22: 08-16 12:00:00 - 08-16 12:30:00 @ 23.43, 23: 08-16 12:30:00 - 08-16 13:00:00 @ 22.33, 24: 08-16 13:00:00 - 08-16 13:30:00 @ 22.76, 25: 08-16 13:30:00 - 08-16 14:00:00 @ 22.3, 26: 08-16 14:00:00 - 08-16 14:30:00 @ 21.41, 27: 08-16 14:30:00 - 08-16 15:00:00 @ 21.65, 28: 08-16 15:00:00 - 08-16 15:30:00 @ 22.95, 29: 08-16 15:30:00 - 08-16 16:00:00 @ 22.83, 30: 08-16 16:00:00 - 08-16 16:30:00 @ 36.84, 31: 08-16 16:30:00 - 08-16 17:00:00 @ 37.54, 32: 08-16 17:00:00 - 08-16 17:30:00 @ 41.79, 33: 08-16 17:30:00 - 08-16 18:00:00 @ 43.7, 34: 08-16 18:00:00 - 08-16 18:30:00 @ 44.34, 35: 08-16 19:00:00 - 08-16 19:30:00 @ 34.79, 36: 08-16 19:30:00 - 08-16 20:00:00 @ 34.76, 37: 08-16 20:00:00 - 08-16 20:30:00 @ 35.62, 38: 08-16 20:30:00 - 08-16 21:00:00 @ 35.3, 39: 08-16 21:00:00 - 08-16 21:30:00 @ 35.89, 40: 08-16 21:30:00 - 08-16 22:00:00 @ 35.71, 41: 08-16 22:00:00 - 08-16 22:30:00 @ 33.75, 42: 08-16 22:30:00 - 08-16 23:00:00 @ 32.0, 43: 08-16 23:00:00 - 08-16 23:30:00 @ 30.02, 44: 08-16 23:30:00 - 08-17 00:00:00 @ 27.8, 45: 08-17 00:00:00 - 08-17 00:30:00 @ 28.18, 46: 08-17 00:30:00 - 08-17 01:00:00 @ 27.38, 47: 08-17 01:00:00 - 08-17 01:30:00 @ 26.7, 48: 08-17 01:30:00 - 08-17 02:00:00 @ 26.31, 49: 08-17 02:00:00 - 08-17 02:30:00 @ 25.79, 50: 08-17 02:30:00 - 08-17 03:00:00 @ 25.86, 51: 08-17 03:00:00 - 08-17 03:30:00 @ 26.13, 52: 08-17 03:30:00 - 08-17 04:00:00 @ 25.86, 53: 08-17 04:00:00 - 08-17 04:30:00 @ 26.27, 54: 08-17 04:30:00 - 08-17 05:00:00 @ 26.14, 55: 08-17 05:00:00 - 08-17 05:30:00 @ 27.03, 56: 08-17 05:30:00 - 08-17 06:00:00 @ 26.28, 57: 08-17 06:00:00 - 08-17 06:30:00 @ 25.68, 58: 08-17 06:30:00 - 08-17 07:00:00 @ 26.1, 59: 08-17 07:00:00 - 08-17 07:30:00 @ 24.28, 60: 08-17 07:30:00 - 08-17 08:00:00 @ 24.94, 61: 08-17 08:00:00 - 08-17 08:30:00 @ 24.06, 62: 08-17 08:30:00 - 08-17 09:00:00 @ 24.39, 63: 08-17 09:00:00 - 08-17 09:30:00 @ 24.66, 64: 08-17 09:30:00 - 08-17 10:00:00 @ 24.06, 65: 08-17 10:00:00 - 08-17 10:30:00 @ 25.5, 66: 08-17 10:30:00 - 08-17 11:00:00 @ 24.94, 67: 08-17 11:00:00 - 08-17 11:30:00 @ 24.25, 68: 08-17 11:30:00 - 08-17 12:00:00 @ 23.49, 69: 08-17 12:00:00 - 08-17 12:30:00 @ 23.43, 70: 08-17 12:30:00 - 08-17 13:00:00 @ 22.33, 71: 08-17 13:00:00 - 08-17 13:30:00 @ 22.76, 72: 08-17 13:30:00 - 08-17 14:00:00 @ 22.3, 73: 08-17 14:00:00 - 08-17 14:30:00 @ 21.41, 74: 08-17 14:30:00 - 08-17 15:00:00 @ 21.65, 75: 08-17 15:00:00 - 08-17 15:30:00 @ 22.95, 76: 08-17 15:30:00 - 08-17 16:00:00 @ 22.83, 77: 08-17 16:00:00 - 08-17 16:30:00 @ 36.84, 78: 08-17 16:30:00 - 08-17 17:00:00 @ 37.54, 79: 08-17 17:00:00 - 08-17 17:30:00 @ 41.79, 80: 08-17 17:30:00 - 08-17 18:00:00 @ 43.7, 81: 08-17 18:00:00 - 08-17 18:30:00 @ 44.34, 82: 08-17 19:00:00 - 08-17 19:30:00 @ 34.79, 83: 08-17 19:30:00 - 08-17 20:00:00 @ 34.76, 84: 08-17 20:00:00 - 08-17 20:30:00 @ 35.62, 85: 08-17 20:30:00 - 08-17 21:00:00 @ 35.3, 86: 08-17 21:00:00 - 08-17 21:30:00 @ 35.89, 87: 08-17 21:30:00 - 08-17 22:00:00 @ 35.71, 88: 08-17 22:00:00 - 08-17 22:30:00 @ 33.75, 89: 08-17 22:30:00 - 08-17 23:00:00 @ 32.0, 90: 08-17 23:00:00 - 08-17 23:30:00 @ 30.02, 91: 08-17 23:30:00 - 08-18 00:00:00 @ 27.8, 92: 08-18 00:00:00 - 08-18 00:30:00 @ 28.18, 93: 08-18 00:30:00 - 08-18 01:00:00 @ 27.38, 94: 08-18 01:00:00 - 08-18 01:30:00 @ 26.7]
2026-08-16 01:25:03.644201: Inverter 0 Charge window will be: 2026-08-16 11:00:00+01:00 - 2026-08-16 16:00:00+01:00 - current SoC 67%, target 100%
2026-08-16 01:25:03.644354: Inverter 0 disabled charge window while waiting for schedule (now 08-16 01:25:00 target set_window_minutes 30 charge start time 08-16 11:00:00) original inverter start time 08-18 00:00:00
2026-08-16 01:25:03.644500: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-16 01:25:03.644783: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-16 01:25:03.644899: No export window planned
2026-08-16 01:25:03.645096: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-16 01:25:03.645146: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-16 01:25:03.645310: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-16 01:25:03.645541: Inverter 0 not setting charging SoC as we are not within the window (now 08-16 01:25:00 target set_soc_minutes 30 charge start time 08-18 00:00:00)
2026-08-16 01:25:03.645619: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-16 01:25:03.645717: Inverter 0 Current Target SoC is 7%, already at target
2026-08-16 01:25:03.645849: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 01:25:03.645912: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 01:25:03.645959: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 01:25:03.646001: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 01:25:03.646026: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 01:25:03.646089: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 01:25:03.646139: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 01:25:03.646221: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 01:25:03.646261: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 01:25:03.646287: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 01:25:03.646336: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 01:25:03.646385: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 01:25:03.646422: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 01:25:03.646456: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 01:25:03.646490: Inverter 0 count register writes 0
2026-08-16 01:25:03.662829: Will not recompute the plan, it is 5.0 minutes old and max age is 10 minutes
2026-08-16 01:25:03.668489: Total inverter register writes now 826
2026-08-16 01:25:03.702029: Info: Completed run status Demand
2026-08-16 01:25:03.708212: Info: record_status Demand
2026-08-16 01:25:03.715123: Saved current settings to /config/predbat_config.json
2026-08-16 01:25:03.715422: Compare, best tariff: igo_fixed metric 126.72p
2026-08-16 01:25:41.829684: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-16 01:25:41.829946: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-16 01:25:41.829998: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-16 01:25:41.830153: Inverter 0 idle time is 08-16 00:00:00-08-16 23:59:00
2026-08-16 01:25:41.830199: Note: Inverter does not support discharge freeze - disabled
2026-08-16 01:25:41.830219: Note: Inverter does not support charge freeze - disabled
2026-08-16 01:25:41.830235: Note: Inverter does not support reserve - disabling reserve functions
2026-08-16 01:27:42.060905: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-16 01:27:42.061189: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-16 01:27:42.061229: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-16 01:27:42.061364: Inverter 0 idle time is 08-16 00:00:00-08-16 23:59:00
2026-08-16 01:27:42.061404: Note: Inverter does not support discharge freeze - disabled
2026-08-16 01:27:42.061425: Note: Inverter does not support charge freeze - disabled
2026-08-16 01:27:42.061460: Note: Inverter does not support reserve - disabling reserve functions
2026-08-16 01:29:42.303951: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-16 01:29:42.304222: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-16 01:29:42.304325: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-16 01:29:42.304479: Inverter 0 idle time is 08-16 00:00:00-08-16 23:59:00
2026-08-16 01:29:42.304510: Note: Inverter does not support discharge freeze - disabled
2026-08-16 01:29:42.304532: Note: Inverter does not support charge freeze - disabled
2026-08-16 01:29:42.304563: Note: Inverter does not support reserve - disabling reserve functions
2026-08-16 01:30:00.403499: --------------- PredBat - update at 2026-08-16 01:30:00+01:00 with clock skew 0 minutes, minutes now 90
2026-08-16 01:30:00.404471: Saved current settings to /config/predbat_config.json
2026-08-16 01:30:00.404639: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 55.0 minutes
2026-08-16 01:30:00.404794: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.2, latest beta is v8.48.2
2026-08-16 01:30:00.404935: Autoupdate: There is an update pending v8.48.2 PV90 and second pass enabled by default, bug fixes - auto update is off
2026-08-16 01:30:00.426959: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-16 01:30:00.427114: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-16 01:30:00.427282: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-16 01:30:00.427792: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-16 01:30:00.427912: Predbat mode is set to Control charge & discharge
2026-08-16 01:30:00.678132: Found 21602 load_today datapoints going back 28 days
2026-08-16 01:30:00.678339: Using load_power data to fill gaps in load_today data
2026-08-16 01:30:01.565910: Processing 721 30-minute periods for power integration
2026-08-16 01:30:01.759971: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-16 01:30:01.760181: Car charging hold False, threshold 6.0kWh
2026-08-16 01:30:01.760261: Current data so far today: load 1.35kWh, import 0.0kWh, export 0.0kWh, PV 0kWh
2026-08-16 01:30:01.777504: Cars: SoC: [8.204]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-16 01:30:01.777923: Standing charge is set to 49.98p
2026-08-16 01:30:01.813467: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-16 01:30:01.813607: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-16 01:30:01.813875: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 90.0 minutes
2026-08-16 01:30:01.814534: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-17&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 89.8 minutes
2026-08-16 01:30:01.820016: Loaded 47 datapoints of futurerate analysis
2026-08-16 01:30:01.912941: Predicted future rates: ['08-16 00:00:00 => 28.52 / 19.97', '08-16 01:00:00 => 27.43 / 19.41', '08-16 02:00:00 => 26.47 / 18.92', '08-16 03:00:00 => 26.1 / 18.73', '08-16 04:00:00 => 26.04 / 18.7', '08-16 05:00:00 => 25.95 / 18.65', '08-16 06:00:00 => 25.71 / 18.53', '08-16 07:00:00 => 25.37 / 18.35', '08-16 08:00:00 => 24.58 / 17.94', '08-16 09:00:00 => 24.0 / 17.64', '08-16 10:00:00 => 24.54 / 17.92', '08-16 11:00:00 => 24.44 / 17.87', '08-16 12:00:00 => 23.53 / 17.4', '08-16 13:00:00 => 22.89 / 17.07', '08-16 14:00:00 => 21.77 / 16.49', '08-16 15:00:00 => 21.77 / 16.49', '08-16 16:00:00 => 36.89 / 18.3', '08-16 17:00:00 => 39.85 / 19.83', '08-16 18:00:00 => 43.87 / 21.9', '08-16 19:00:00 => 32.69 / 22.13', '08-16 20:00:00 => 33.46 / 22.53', '08-16 21:00:00 => 33.37 / 22.48', '08-16 22:00:00 => 32.01 / 21.78']
2026-08-16 01:30:01.965836: Rate min forward looking: now 0.0p at end of forecast 21.41p
2026-08-16 01:30:01.966358: Import rates: min 0.0p, max 45.28p, average 28.23p
2026-08-16 01:30:02.002651: Export rates: min 0p, max 0p, average 0.0p
2026-08-16 01:30:02.002796: Rate thresholds (for charge/export) are import 44.78p (0.0p), export -0.1p (0.0p)
2026-08-16 01:30:02.004302: High export rate found rates in range 99p to -99p
2026-08-16 01:30:02.069023: Low Import rate found rates in range 0.0p to 44.34p
2026-08-16 01:30:02.069175: Car 0 charging is not planned as it is not plugged in
2026-08-16 01:30:02.081606: Battery level now 10.72kWh, -1hr ago 11.68kWh, at midnight 12.21kWh, battery value change in the last hour -0.96p, change today -1.49p, rate_forward 1.0p
2026-08-16 01:30:02.081956: Last hour: net energy 0.0kWh, import 0.0kWh, export 0.0kWh, car 0kWh, load 0.95kWh, net cost 0.0p, import 0.0p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-16 01:30:02.131060: Today's energy total net 0.0kWh, import 0.0kWh, export 0.0kWh, cost 49.98p, import 0.0p, export 0.0p, carbon 0.0kg
2026-08-16 01:30:02.131192: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-16 01:30:02.204082: Using weighted-bucket historical load forecast over 14 days
2026-08-16 01:30:02.227470: Today's load divergence 100.0%, in-day adjustment 82.97%, damping 0.95x, yesterday 82.97% today 100.0% blend 100.0%
2026-08-16 01:30:02.227797: Today's predicted so far 1.44kWh with 0.0kWh car/iBoost excluded, 0kWh import ignored, and 1.44kWh forecast extra.
2026-08-16 01:30:02.227846: Today's actual load so far 1.36kWh with 0.0kWh car/iBoost excluded, and 0kWh import ignored.
2026-08-16 01:30:02.267540: Inverter 0: Type SK Sunsynk
2026-08-16 01:30:02.267636: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-16 01:30:02.267835: Reserve min: 7%, battery_min: 7%
2026-08-16 01:30:02.267916: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-16 01:30:02.268242: Inverter 0 SoC: 10.72kW 67%, current charge rate 5000W, current discharge rate 5250W, current battery power 383W, current battery voltage 51.2V, grid power -53W, load power 437W, PV Power 0W
2026-08-16 01:30:02.268404: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-16 01:30:02.268494: Inverter 0 scheduled charge enable is False
2026-08-16 01:30:02.268524: Inverter 0 charge windows currently []
2026-08-16 01:30:02.268550: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-16 01:30:02.268657: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-16 01:30:02.268693: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-16 01:30:02.268729: Inverter 0 scheduled discharge enable is False
2026-08-16 01:30:02.268861: Inverter 0 idle time is 08-16 00:00:00-08-16 23:59:00
2026-08-16 01:30:02.268898: Inverter 0 discharge windows currently []
2026-08-16 01:30:02.268920: Note: Inverter does not support discharge freeze - disabled
2026-08-16 01:30:02.268941: Note: Inverter does not support charge freeze - disabled
2026-08-16 01:30:02.269003: Note: Inverter does not support reserve - disabling reserve functions
2026-08-16 01:30:02.330893: Dynamic load last period 0.60kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-16 01:30:02.331047: Plan was last updated on 2026-08-16 01:20:00+01:00 and is now 10.0 minutes old
2026-08-16 01:30:02.331311: Best charge window [ 16-08 11:00:00 - 16-08 12:00:00 @ 0.0p 100%, 16-08 12:00:00 - 16-08 14:00:00 @ 22.56p 63%, 16-08 14:00:00 - 16-08 16:00:00 @ 22.53p 75%, 17-08 11:00:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 18-08 01:30:00 @ 27.44p 100% ]
2026-08-16 01:30:02.331357: Best export window [  ]
2026-08-16 01:30:02.332194: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-16 01:30:02.335267: Load divergence over 8.0 hours mean 555.49W, min 285.0W, max 1698.0W, std dev 342.96W, divergence 30.87%
2026-08-16 01:30:02.353826: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-16 01:30:02.353961: LoadML is_calculating False
2026-08-16 01:30:02.354070: Creating pool of 12 processes to match your CPU count
2026-08-16 01:30:02.481956: predict base end_record 08-17 11:10:00, final soc 1.12kWh, metric 381.51p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 19:20:00, load 20.35kWh, PV 0.0kWh
2026-08-16 01:30:02.648639: Battery has 17.83 hours left - now at 10.72kWh
2026-08-16 01:30:02.697800: predict base10 end_record 08-17 11:10:00, final soc 1.12kWh, metric 412.22p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 18:35:00, load 21.25kWh, PV 0.0kWh
2026-08-16 01:30:02.789790: predict best10 end_record 08-17 11:10:00, final soc 1.77kWh, metric 274.71p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 07:15:00, load 21.25kWh, PV 0.0kWh
2026-08-16 01:30:02.877460: predict best end_record 08-17 11:10:00, final soc 1.9kWh, metric 238.45p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 08:25:00, load 20.35kWh, PV 0.0kWh
2026-08-16 01:30:02.877559: Saving plan best values to HA entities
2026-08-16 01:30:03.102930: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-16 01:30:03.109792: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-16 01:30:03.117074: Best charging limit SoC's [16.0, 10.0, 12.0, 16.0, 16.0]kWh, export []kWh gives import battery 10.41kWh, house 1.39kWh, export 0.0kWh, metric 238.45p, metric10 274.71p
2026-08-16 01:30:03.199281: Marginal costs baseline metric (no standing charge): 188.4624
2026-08-16 01:30:03.484742: Marginal energy costs matrix computed: min=11.69 max=26.25
2026-08-16 01:30:03.572288: Rate array import [{'start': 90, 'end': 660, 'rate': 'expensive', 'range': '(24.1p - 27.0p)'}, {'start': 660, 'end': 720, 'rate': 'free', 'range': '(0.0p)'}, {'start': 720, 'end': 960, 'rate': 'expensive', 'range': '(21.4p - 23.4p)'}, {'start': 960, 'end': 1380, 'rate': 'very expensive', 'range': '(32.0p - 45.3p)'}, {'start': 1380, 'end': 2110, 'rate': 'expensive', 'range': '(24.1p - 30.0p)'}] export [{'start': 90, 'end': 2110, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-16 01:30:03.573157: - Your estimated bill for today is £1.31 and tomorrow is £7.28
2026-08-16 01:30:03.573224: - Import rates are expensive (24.1p - 27.0p) for the next 9 hours and then free (0.0p) for the next 1 hour.
2026-08-16 01:30:03.573248: - The battery is currently at 67% and is in eco mode for the next 9 hours.
2026-08-16 01:30:03.573266: - For the next 48 hours there will be no solar generation.
2026-08-16 01:30:03.573283: - You will run out of battery in 30 hours.
2026-08-16 01:30:03.573300: - Your next charge slot will be in 9 hours where import rates will be free (0.0p).
2026-08-16 01:30:03.573317: 
2026-08-16 01:30:03.639658: Plan calculation took 1.31 seconds
2026-08-16 01:30:03.646557: No high rate period found
2026-08-16 01:30:03.701866: Import threshold used for optimisation was 24.06p
2026-08-16 01:30:03.758504: Low import rate windows [0: 08-16 01:30:00 - 08-16 02:00:00 @ 26.31, 1: 08-16 02:00:00 - 08-16 02:30:00 @ 25.79, 2: 08-16 02:30:00 - 08-16 03:00:00 @ 25.86, 3: 08-16 03:00:00 - 08-16 03:30:00 @ 26.13, 4: 08-16 03:30:00 - 08-16 04:00:00 @ 25.86, 5: 08-16 04:00:00 - 08-16 04:30:00 @ 26.27, 6: 08-16 04:30:00 - 08-16 05:00:00 @ 26.14, 7: 08-16 05:00:00 - 08-16 05:30:00 @ 27.03, 8: 08-16 05:30:00 - 08-16 06:00:00 @ 26.28, 9: 08-16 06:00:00 - 08-16 06:30:00 @ 25.68, 10: 08-16 06:30:00 - 08-16 07:00:00 @ 26.1, 11: 08-16 07:00:00 - 08-16 07:30:00 @ 24.28, 12: 08-16 07:30:00 - 08-16 08:00:00 @ 24.94, 13: 08-16 08:00:00 - 08-16 08:30:00 @ 24.06, 14: 08-16 08:30:00 - 08-16 09:00:00 @ 24.39, 15: 08-16 09:00:00 - 08-16 09:30:00 @ 24.66, 16: 08-16 09:30:00 - 08-16 10:00:00 @ 24.06, 17: 08-16 10:00:00 - 08-16 10:30:00 @ 25.5, 18: 08-16 10:30:00 - 08-16 11:00:00 @ 24.94, 19: 08-16 11:00:00 - 08-16 11:30:00 @ 0.0, 20: 08-16 11:30:00 - 08-16 12:00:00 @ 0.0, 21: 08-16 12:00:00 - 08-16 12:30:00 @ 23.43, 22: 08-16 12:30:00 - 08-16 13:00:00 @ 22.33, 23: 08-16 13:00:00 - 08-16 13:30:00 @ 22.76, 24: 08-16 13:30:00 - 08-16 14:00:00 @ 22.3, 25: 08-16 14:00:00 - 08-16 14:30:00 @ 21.41, 26: 08-16 14:30:00 - 08-16 15:00:00 @ 21.65, 27: 08-16 15:00:00 - 08-16 15:30:00 @ 22.95, 28: 08-16 15:30:00 - 08-16 16:00:00 @ 22.83, 29: 08-16 16:00:00 - 08-16 16:30:00 @ 36.84, 30: 08-16 16:30:00 - 08-16 17:00:00 @ 37.54, 31: 08-16 17:00:00 - 08-16 17:30:00 @ 41.79, 32: 08-16 17:30:00 - 08-16 18:00:00 @ 43.7, 33: 08-16 18:00:00 - 08-16 18:30:00 @ 44.34, 34: 08-16 19:00:00 - 08-16 19:30:00 @ 34.79, 35: 08-16 19:30:00 - 08-16 20:00:00 @ 34.76, 36: 08-16 20:00:00 - 08-16 20:30:00 @ 35.62, 37: 08-16 20:30:00 - 08-16 21:00:00 @ 35.3, 38: 08-16 21:00:00 - 08-16 21:30:00 @ 35.89, 39: 08-16 21:30:00 - 08-16 22:00:00 @ 35.71, 40: 08-16 22:00:00 - 08-16 22:30:00 @ 33.75, 41: 08-16 22:30:00 - 08-16 23:00:00 @ 32.0, 42: 08-16 23:00:00 - 08-16 23:30:00 @ 30.02, 43: 08-16 23:30:00 - 08-17 00:00:00 @ 27.8, 44: 08-17 00:00:00 - 08-17 00:30:00 @ 28.18, 45: 08-17 00:30:00 - 08-17 01:00:00 @ 27.38, 46: 08-17 01:00:00 - 08-17 01:30:00 @ 26.7, 47: 08-17 01:30:00 - 08-17 02:00:00 @ 26.31, 48: 08-17 02:00:00 - 08-17 02:30:00 @ 25.79, 49: 08-17 02:30:00 - 08-17 03:00:00 @ 25.86, 50: 08-17 03:00:00 - 08-17 03:30:00 @ 26.13, 51: 08-17 03:30:00 - 08-17 04:00:00 @ 25.86, 52: 08-17 04:00:00 - 08-17 04:30:00 @ 26.27, 53: 08-17 04:30:00 - 08-17 05:00:00 @ 26.14, 54: 08-17 05:00:00 - 08-17 05:30:00 @ 27.03, 55: 08-17 05:30:00 - 08-17 06:00:00 @ 26.28, 56: 08-17 06:00:00 - 08-17 06:30:00 @ 25.68, 57: 08-17 06:30:00 - 08-17 07:00:00 @ 26.1, 58: 08-17 07:00:00 - 08-17 07:30:00 @ 24.28, 59: 08-17 07:30:00 - 08-17 08:00:00 @ 24.94, 60: 08-17 08:00:00 - 08-17 08:30:00 @ 24.06, 61: 08-17 08:30:00 - 08-17 09:00:00 @ 24.39, 62: 08-17 09:00:00 - 08-17 09:30:00 @ 24.66, 63: 08-17 09:30:00 - 08-17 10:00:00 @ 24.06, 64: 08-17 10:00:00 - 08-17 10:30:00 @ 25.5, 65: 08-17 10:30:00 - 08-17 11:00:00 @ 24.94, 66: 08-17 11:00:00 - 08-17 11:30:00 @ 24.25, 67: 08-17 11:30:00 - 08-17 12:00:00 @ 23.49, 68: 08-17 12:00:00 - 08-17 12:30:00 @ 23.43, 69: 08-17 12:30:00 - 08-17 13:00:00 @ 22.33, 70: 08-17 13:00:00 - 08-17 13:30:00 @ 22.76, 71: 08-17 13:30:00 - 08-17 14:00:00 @ 22.3, 72: 08-17 14:00:00 - 08-17 14:30:00 @ 21.41, 73: 08-17 14:30:00 - 08-17 15:00:00 @ 21.65, 74: 08-17 15:00:00 - 08-17 15:30:00 @ 22.95, 75: 08-17 15:30:00 - 08-17 16:00:00 @ 22.83, 76: 08-17 16:00:00 - 08-17 16:30:00 @ 36.84, 77: 08-17 16:30:00 - 08-17 17:00:00 @ 37.54, 78: 08-17 17:00:00 - 08-17 17:30:00 @ 41.79, 79: 08-17 17:30:00 - 08-17 18:00:00 @ 43.7, 80: 08-17 18:00:00 - 08-17 18:30:00 @ 44.34, 81: 08-17 19:00:00 - 08-17 19:30:00 @ 34.79, 82: 08-17 19:30:00 - 08-17 20:00:00 @ 34.76, 83: 08-17 20:00:00 - 08-17 20:30:00 @ 35.62, 84: 08-17 20:30:00 - 08-17 21:00:00 @ 35.3, 85: 08-17 21:00:00 - 08-17 21:30:00 @ 35.89, 86: 08-17 21:30:00 - 08-17 22:00:00 @ 35.71, 87: 08-17 22:00:00 - 08-17 22:30:00 @ 33.75, 88: 08-17 22:30:00 - 08-17 23:00:00 @ 32.0, 89: 08-17 23:00:00 - 08-17 23:30:00 @ 30.02, 90: 08-17 23:30:00 - 08-18 00:00:00 @ 27.8, 91: 08-18 00:00:00 - 08-18 00:30:00 @ 28.18, 92: 08-18 00:30:00 - 08-18 01:00:00 @ 27.38, 93: 08-18 01:00:00 - 08-18 01:30:00 @ 26.7]
2026-08-16 01:30:03.766707: Inverter 0 Charge window will be: 2026-08-16 11:00:00+01:00 - 2026-08-16 16:00:00+01:00 - current SoC 67%, target 100%
2026-08-16 01:30:03.766851: Inverter 0 disabled charge window while waiting for schedule (now 08-16 01:30:00 target set_window_minutes 30 charge start time 08-16 11:00:00) original inverter start time 08-18 00:00:00
2026-08-16 01:30:03.766976: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-16 01:30:03.767310: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-16 01:30:03.767409: No export window planned
2026-08-16 01:30:03.767549: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-16 01:30:03.767625: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-16 01:30:03.767787: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-16 01:30:03.767977: Inverter 0 not setting charging SoC as we are not within the window (now 08-16 01:30:00 target set_soc_minutes 30 charge start time 08-18 00:00:00)
2026-08-16 01:30:03.768058: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-16 01:30:03.768127: Inverter 0 Current Target SoC is 7%, already at target
2026-08-16 01:30:03.768218: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 01:30:03.768264: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 01:30:03.768293: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 01:30:03.768319: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 01:30:03.768350: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 01:30:03.768376: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 01:30:03.768400: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 01:30:03.768466: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 01:30:03.768496: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 01:30:03.768521: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 01:30:03.768545: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 01:30:03.768569: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 01:30:03.768598: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 01:30:03.768622: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 01:30:03.768648: Inverter 0 count register writes 0
2026-08-16 01:30:03.791028: Will recompute the plan as it is now 10.0 minutes old and will exceed the max age of 10 minutes before the next run
2026-08-16 01:30:03.791229: Recompute is saving previous plan...
2026-08-16 01:30:03.794397: Best charge window [ 16-08 01:30:00 - 16-08 02:00:00 @ 26.31p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.79p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 25.86p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.13p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 25.86p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.27p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.14p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 27.03p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.28p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.68p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 26.1p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 24.28p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 24.94p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.06p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.39p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.66p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.06p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 25.5p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 24.94p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 0.0p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 0.0p 0%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.43p 0%, 16-08 12:30:00 - 16-08 13:00:00 @ 22.33p 0%, 16-08 13:00:00 - 16-08 13:30:00 @ 22.76p 0%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 0%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 0%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.65p 0%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.95p 0%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.83p 0%, 16-08 16:00:00 - 16-08 16:30:00 @ 36.84p 0%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.54p 0%, 16-08 17:00:00 - 16-08 17:30:00 @ 41.79p 0%, 16-08 17:30:00 - 16-08 18:00:00 @ 43.7p 0%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.34p 0%, 16-08 19:00:00 - 16-08 19:30:00 @ 34.79p 0%, 16-08 19:30:00 - 16-08 20:00:00 @ 34.76p 0%, 16-08 20:00:00 - 16-08 20:30:00 @ 35.62p 0%, 16-08 20:30:00 - 16-08 21:00:00 @ 35.3p 0%, 16-08 21:00:00 - 16-08 21:30:00 @ 35.89p 0%, 16-08 21:30:00 - 16-08 22:00:00 @ 35.71p 0%, 16-08 22:00:00 - 16-08 22:30:00 @ 33.75p 0%, 16-08 22:30:00 - 16-08 23:00:00 @ 32.0p 0%, 16-08 23:00:00 - 16-08 23:30:00 @ 30.02p 0%, 16-08 23:30:00 - 17-08 00:00:00 @ 27.8p 0%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.18p 0%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.38p 0%, 17-08 01:00:00 - 17-08 01:30:00 @ 26.7p 0%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.31p 0%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.79p 0%, 17-08 02:30:00 - 17-08 03:00:00 @ 25.86p 0%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.13p 0%, 17-08 03:30:00 - 17-08 04:00:00 @ 25.86p 0%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.27p 0%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.14p 0%, 17-08 05:00:00 - 17-08 05:30:00 @ 27.03p 0%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.28p 0%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.68p 0%, 17-08 06:30:00 - 17-08 07:00:00 @ 26.1p 0%, 17-08 07:00:00 - 17-08 07:30:00 @ 24.28p 0%, 17-08 07:30:00 - 17-08 08:00:00 @ 24.94p 0%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.06p 0%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.39p 0%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.66p 0%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.06p 0%, 17-08 10:00:00 - 17-08 10:30:00 @ 25.5p 0%, 17-08 10:30:00 - 17-08 11:00:00 @ 24.94p 0%, 17-08 11:00:00 - 17-08 11:30:00 @ 24.25p 0%, 17-08 11:30:00 - 17-08 12:00:00 @ 23.49p 0%, 17-08 12:00:00 - 17-08 12:30:00 @ 23.43p 0%, 17-08 12:30:00 - 17-08 13:00:00 @ 22.33p 0%, 17-08 13:00:00 - 17-08 13:30:00 @ 22.76p 0%, 17-08 13:30:00 - 17-08 14:00:00 @ 22.3p 0%, 17-08 14:00:00 - 17-08 14:30:00 @ 21.41p 0%, 17-08 14:30:00 - 17-08 15:00:00 @ 21.65p 0%, 17-08 15:00:00 - 17-08 15:30:00 @ 22.95p 0%, 17-08 15:30:00 - 17-08 16:00:00 @ 22.83p 0%, 17-08 16:00:00 - 17-08 16:30:00 @ 36.84p 0%, 17-08 16:30:00 - 17-08 17:00:00 @ 37.54p 0%, 17-08 17:00:00 - 17-08 17:30:00 @ 41.79p 0%, 17-08 17:30:00 - 17-08 18:00:00 @ 43.7p 0%, 17-08 18:00:00 - 17-08 18:30:00 @ 44.34p 0%, 17-08 19:00:00 - 17-08 19:30:00 @ 34.79p 0%, 17-08 19:30:00 - 17-08 20:00:00 @ 34.76p 0%, 17-08 20:00:00 - 17-08 20:30:00 @ 35.62p 0%, 17-08 20:30:00 - 17-08 21:00:00 @ 35.3p 0%, 17-08 21:00:00 - 17-08 21:30:00 @ 35.89p 0%, 17-08 21:30:00 - 17-08 22:00:00 @ 35.71p 0%, 17-08 22:00:00 - 17-08 22:30:00 @ 33.75p 0%, 17-08 22:30:00 - 17-08 23:00:00 @ 32.0p 0%, 17-08 23:00:00 - 17-08 23:30:00 @ 30.02p 0%, 17-08 23:30:00 - 18-08 00:00:00 @ 27.8p 0%, 18-08 00:00:00 - 18-08 00:30:00 @ 28.18p 0%, 18-08 00:30:00 - 18-08 01:00:00 @ 27.38p 0%, 18-08 01:00:00 - 18-08 01:30:00 @ 26.7p 0% ]
2026-08-16 01:30:03.794482: Best export window [  ]
2026-08-16 01:30:03.795381: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-16 01:30:03.798509: Load divergence over 8.0 hours mean 555.49W, min 285.0W, max 1698.0W, std dev 342.96W, divergence 30.87%
2026-08-16 01:30:03.816161: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-16 01:30:03.816464: LoadML is_calculating False
2026-08-16 01:30:03.817110: Creating pool of 12 processes to match your CPU count
2026-08-16 01:30:03.913123: Calculate Best options: mode(Control charge & discharge), calculate_export_oncharge(False), calculate_export_on_pv(True), set_export_freeze_only(False), set_discharge_during_charge(True), combine_charge_slots(False), combine_export_slots(False), combine_rate_threshold(0.0), best_soc_min(0.0 kWh), best_soc_max(0.0 kWh), best_soc_keep(0.0 kWh), inverter_loss(4%), battery_loss(3%), battery_loss_discharge (3%), inverter_hybrid(True), metric_min_improvement(0.0p), metric_min_improvement_export(0.1p), metric_min_improvement_export_freeze(0.1p), metric_battery_cycle(0.0p/kWh), metric_battery_value_scaling(1.0 x) 
2026-08-16 01:30:03.915315: Optimise levels pass started at 2026-08-16 01:30:03
2026-08-16 01:30:03.915387: Optimise all windows, total charge 94 export 1
2026-08-16 01:30:05.205512: >> Region optimisation pass width 960 gives best_metric 415.98p, best_cost 428.45p, best_cycle 41.1kWh, best_import 22.72kWh
2026-08-16 01:30:05.689715: >> Region optimisation pass width 480 gives best_metric 415.98p, best_cost 428.45p, best_cycle 41.1kWh, best_import 22.72kWh
2026-08-16 01:30:06.245706: >> Region optimisation pass width 240 gives best_metric 415.98p, best_cost 428.45p, best_cycle 41.1kWh, best_import 22.72kWh
2026-08-16 01:30:07.404503: >> Region optimisation pass width 120 gives best_metric 415.98p, best_cost 428.45p, best_cycle 41.1kWh, best_import 22.72kWh
2026-08-16 01:30:07.404938: Calculated end_record as 08-17 11:00:00 based on best_price 22.33p, next_charge_start 08-16 11:00:00, max_windows 66
2026-08-16 01:30:07.405099: Optimise levels pass ended at 2026-08-16 01:30:07, duration 3.5 seconds tried 337 combinations
2026-08-16 01:30:07.405181: Set best_price_charge_level 24.0p, best_price_export_level 0p, best_price_charge 22.33p, best_cost_export 0p, best_metric 415.98p, best_keep 0kWh, best_cycle 41.1kWh, best_carbon 0kg, best_import 22.72kWh
2026-08-16 01:30:07.424276: Starting detailed optimisation end_record 08-17 11:00:00, best_price_charge 22.33p, best_price_export 0p. lowest_price_charge 0.0p with charge limits [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12.0, 12.0, 0, 0, 0, 0, 12.0, 12.0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0]kWh and export limits []kWh
2026-08-16 01:30:13.190825: Tweak plan optimisation started metric 150.29p, cost 165.06p
2026-08-16 01:30:13.562689: Tweak optimisation finished metric 150.29p, cost 165.06p, metric_keep 0kWh, cycle 22.19kWh, carbon 0kg, import 10.84kWh, changed 8 window(s)
2026-08-16 01:30:13.591291: Swap charge optimisation started metric 150.29p, cost 165.06p, min_improvement_swap 0.1p
2026-08-16 01:30:20.768051: Swap charge optimisation finished metric 150.29p, cost 165.06p
2026-08-16 01:30:20.887376: Pruned 1 dead plan slot(s) in 10 trial(s), nominal metric 144.46p -> 144.46p, plan now metric 150.41p, cost 165.06p, cycle 22.19kWh, import 10.84kWh
2026-08-16 01:30:20.900251: Raw charge windows [ 16-08 01:30:00 - 16-08 02:00:00 @ 26.31p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.79p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 25.86p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.13p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 25.86p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.27p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.14p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 27.03p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.28p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.68p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 26.1p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 24.28p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 24.94p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.06p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.39p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.66p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.06p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 25.5p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 24.94p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 0.0p 100%, 16-08 11:30:00 - 16-08 12:00:00 @ 0.0p 100%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.43p 0%, 16-08 12:30:00 - 16-08 13:00:00 @ 22.33p 63%, 16-08 13:00:00 - 16-08 13:30:00 @ 22.76p 63%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 63%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 75%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.65p 75%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.95p 75%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.83p 75%, 16-08 16:00:00 - 16-08 16:30:00 @ 36.84p 0%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.54p 0%, 16-08 17:00:00 - 16-08 17:30:00 @ 41.79p 0%, 16-08 17:30:00 - 16-08 18:00:00 @ 43.7p 0%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.34p 0%, 16-08 19:00:00 - 16-08 19:30:00 @ 34.79p 0%, 16-08 19:30:00 - 16-08 20:00:00 @ 34.76p 0%, 16-08 20:00:00 - 16-08 20:30:00 @ 35.62p 0%, 16-08 20:30:00 - 16-08 21:00:00 @ 35.3p 0%, 16-08 21:00:00 - 16-08 21:30:00 @ 35.89p 0%, 16-08 21:30:00 - 16-08 22:00:00 @ 35.71p 0%, 16-08 22:00:00 - 16-08 22:30:00 @ 33.75p 0%, 16-08 22:30:00 - 16-08 23:00:00 @ 32.0p 0%, 16-08 23:00:00 - 16-08 23:30:00 @ 30.02p 0%, 16-08 23:30:00 - 17-08 00:00:00 @ 27.8p 0%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.18p 0%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.38p 0%, 17-08 01:00:00 - 17-08 01:30:00 @ 26.7p 0%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.31p 0%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.79p 0%, 17-08 02:30:00 - 17-08 03:00:00 @ 25.86p 0%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.13p 0%, 17-08 03:30:00 - 17-08 04:00:00 @ 25.86p 0%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.27p 0%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.14p 0%, 17-08 05:00:00 - 17-08 05:30:00 @ 27.03p 0%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.28p 0%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.68p 0%, 17-08 06:30:00 - 17-08 07:00:00 @ 26.1p 0%, 17-08 07:00:00 - 17-08 07:30:00 @ 24.28p 0%, 17-08 07:30:00 - 17-08 08:00:00 @ 24.94p 0%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.06p 0%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.39p 0%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.66p 0%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.06p 0%, 17-08 10:00:00 - 17-08 10:30:00 @ 25.5p 0%, 17-08 10:30:00 - 17-08 11:00:00 @ 24.94p 0%, 17-08 11:00:00 - 17-08 11:30:00 @ 24.25p 100%, 17-08 11:30:00 - 17-08 12:00:00 @ 23.49p 100%, 17-08 12:00:00 - 17-08 12:30:00 @ 23.43p 100%, 17-08 12:30:00 - 17-08 13:00:00 @ 22.33p 100%, 17-08 13:00:00 - 17-08 13:30:00 @ 22.76p 100%, 17-08 13:30:00 - 17-08 14:00:00 @ 22.3p 100%, 17-08 14:00:00 - 17-08 14:30:00 @ 21.41p 100%, 17-08 14:30:00 - 17-08 15:00:00 @ 21.65p 100%, 17-08 15:00:00 - 17-08 15:30:00 @ 22.95p 100%, 17-08 15:30:00 - 17-08 16:00:00 @ 22.83p 100%, 17-08 16:00:00 - 17-08 16:30:00 @ 36.84p 100%, 17-08 16:30:00 - 17-08 17:00:00 @ 37.54p 100%, 17-08 17:00:00 - 17-08 17:30:00 @ 41.79p 100%, 17-08 17:30:00 - 17-08 18:00:00 @ 43.7p 100%, 17-08 18:00:00 - 17-08 18:30:00 @ 44.34p 100%, 17-08 19:00:00 - 17-08 19:30:00 @ 34.79p 100%, 17-08 19:30:00 - 17-08 20:00:00 @ 34.76p 100%, 17-08 20:00:00 - 17-08 20:30:00 @ 35.62p 100%, 17-08 20:30:00 - 17-08 21:00:00 @ 35.3p 100%, 17-08 21:00:00 - 17-08 21:30:00 @ 35.89p 100%, 17-08 21:30:00 - 17-08 22:00:00 @ 35.71p 100%, 17-08 22:00:00 - 17-08 22:30:00 @ 33.75p 100%, 17-08 22:30:00 - 17-08 23:00:00 @ 32.0p 100%, 17-08 23:00:00 - 17-08 23:30:00 @ 30.02p 100%, 17-08 23:30:00 - 18-08 00:00:00 @ 27.8p 100%, 18-08 00:00:00 - 18-08 00:30:00 @ 28.18p 100%, 18-08 00:30:00 - 18-08 01:00:00 @ 27.38p 100%, 18-08 01:00:00 - 18-08 01:30:00 @ 26.7p 100% ] reserve 1.12
2026-08-16 01:30:20.900862: Unclipped charge windows [ 16-08 11:00:00 - 16-08 12:00:00 @ 0.0p 100%, 16-08 12:30:00 - 16-08 14:00:00 @ 22.43p 63%, 16-08 14:00:00 - 16-08 16:00:00 @ 22.53p 75%, 17-08 11:00:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 18-08 01:30:00 @ 27.44p 100% ] reserve 1.12
2026-08-16 01:30:20.901185: Unfiltered charge windows [ 16-08 11:00:00 - 16-08 12:00:00 @ 0.0p 100%, 16-08 12:30:00 - 16-08 14:00:00 @ 22.43p 63%, 16-08 14:00:00 - 16-08 16:00:00 @ 22.53p 75%, 17-08 11:00:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 18-08 01:30:00 @ 27.44p 100% ] reserve 1.12
2026-08-16 01:30:20.901413: Filtered charge windows [ 16-08 11:00:00 - 16-08 12:00:00 @ 0.0p 100%, 16-08 12:30:00 - 16-08 14:00:00 @ 22.43p 63%, 16-08 14:00:00 - 16-08 16:00:00 @ 22.53p 75%, 17-08 11:00:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 18-08 01:30:00 @ 27.44p 100% ] reserve 1.12
2026-08-16 01:30:20.938858: Previous plan best metric is 150.31 (cost 164.99) and new plan best metric is 150.29 (cost 165.06)
2026-08-16 01:30:20.939172: New plan is a cost-neutral improvement but less fragmented (3 vs 4 segments), using new plan
2026-08-16 01:30:20.939216: Plan valid is now true after recompute was False
2026-08-16 01:30:20.967693: predict base end_record 08-17 11:00:00, final soc 1.12kWh, metric 378.25p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 19:20:00, load 20.21kWh, PV 0.0kWh
2026-08-16 01:30:21.098659: Battery has 17.83 hours left - now at 10.72kWh
2026-08-16 01:30:21.142370: predict base10 end_record 08-17 11:00:00, final soc 1.12kWh, metric 408.81p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 18:35:00, load 21.11kWh, PV 0.0kWh
2026-08-16 01:30:21.225560: predict best10 end_record 08-17 11:00:00, final soc 1.12kWh, metric 254.7p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 07:15:00, load 21.11kWh, PV 0.0kWh
2026-08-16 01:30:21.307993: predict best end_record 08-17 11:00:00, final soc 1.12kWh, metric 215.04p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 08:25:00, load 20.21kWh, PV 0.0kWh
2026-08-16 01:30:21.308091: Saving plan best values to HA entities
2026-08-16 01:30:21.494042: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-16 01:30:21.501296: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-16 01:30:21.509112: Best charging limit SoC's [16.0, 10.0, 12.0, 16.0, 16.0]kWh, export []kWh gives import battery 9.45kWh, house 1.39kWh, export 0.0kWh, metric 215.04p, metric10 254.7p
2026-08-16 01:30:21.585908: Marginal costs baseline metric (no standing charge): 165.0616
2026-08-16 01:30:21.866243: Marginal energy costs matrix computed: min=12.29 max=25.99
2026-08-16 01:30:21.962190: Rate array import [{'start': 90, 'end': 660, 'rate': 'expensive', 'range': '(24.1p - 27.0p)'}, {'start': 660, 'end': 720, 'rate': 'free', 'range': '(0.0p)'}, {'start': 720, 'end': 960, 'rate': 'expensive', 'range': '(21.4p - 23.4p)'}, {'start': 960, 'end': 1380, 'rate': 'very expensive', 'range': '(32.0p - 45.3p)'}, {'start': 1380, 'end': 2100, 'rate': 'expensive', 'range': '(24.1p - 30.0p)'}] export [{'start': 90, 'end': 2100, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-16 01:30:21.962998: - Your estimated bill for today is £1.31 and tomorrow is £7.28
2026-08-16 01:30:21.963063: - Import rates are expensive (24.1p - 27.0p) for the next 9 hours and then free (0.0p) for the next 1 hour.
2026-08-16 01:30:21.963088: - The battery is currently at 67% and is in eco mode for the next 9 hours.
2026-08-16 01:30:21.963126: - For the next 48 hours there will be no solar generation.
2026-08-16 01:30:21.963169: - You will run out of battery in 30 hours.
2026-08-16 01:30:21.963217: - Your next charge slot will be in 9 hours where import rates will be free (0.0p).
2026-08-16 01:30:21.963256: 
2026-08-16 01:30:22.030158: Plan calculation took 18.24 seconds
2026-08-16 01:30:22.030604: Inverter 0: Type SK Sunsynk
2026-08-16 01:30:22.030660: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-16 01:30:22.030945: Reserve min: 7%, battery_min: 7%
2026-08-16 01:30:22.031073: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-16 01:30:22.031448: Inverter 0 SoC: 10.72kW 67%, current charge rate 5000W, current discharge rate 5250W, current battery power 410W, current battery voltage 51.2V, grid power -56W, load power 466W, PV Power 0W
2026-08-16 01:30:22.031696: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-16 01:30:22.031805: Inverter 0 scheduled charge enable is False
2026-08-16 01:30:22.031845: Inverter 0 charge windows currently []
2026-08-16 01:30:22.031876: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-16 01:30:22.032015: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-16 01:30:22.032098: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-16 01:30:22.032141: Inverter 0 scheduled discharge enable is False
2026-08-16 01:30:22.032296: Inverter 0 idle time is 08-16 00:00:00-08-16 23:59:00
2026-08-16 01:30:22.032336: Inverter 0 discharge windows currently []
2026-08-16 01:30:22.032359: Note: Inverter does not support discharge freeze - disabled
2026-08-16 01:30:22.032382: Note: Inverter does not support charge freeze - disabled
2026-08-16 01:30:22.032399: Note: Inverter does not support reserve - disabling reserve functions
2026-08-16 01:30:22.089188: Inverter 0 Charge window will be: 2026-08-16 11:00:00+01:00 - 2026-08-16 12:00:00+01:00 - current SoC 67%, target 100%
2026-08-16 01:30:22.089349: Inverter 0 disabled charge window while waiting for schedule (now 08-16 01:30:00 target set_window_minutes 30 charge start time 08-16 11:00:00) original inverter start time 08-18 00:00:00
2026-08-16 01:30:22.089432: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-16 01:30:22.089619: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-16 01:30:22.089706: No export window planned
2026-08-16 01:30:22.089815: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-16 01:30:22.089852: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-16 01:30:22.090011: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-16 01:30:22.090188: Inverter 0 not setting charging SoC as we are not within the window (now 08-16 01:30:00 target set_soc_minutes 30 charge start time 08-18 00:00:00)
2026-08-16 01:30:22.090244: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-16 01:30:22.090308: Inverter 0 Current Target SoC is 7%, already at target
2026-08-16 01:30:22.090411: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 01:30:22.090475: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 01:30:22.090523: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 01:30:22.090583: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 01:30:22.090616: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 01:30:22.090649: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 01:30:22.090675: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 01:30:22.090745: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 01:30:22.090780: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 01:30:22.090806: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 01:30:22.090832: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 01:30:22.090857: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 01:30:22.090884: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 01:30:22.090908: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 01:30:22.090973: Inverter 0 count register writes 0
2026-08-16 01:30:22.114009: Total inverter register writes now 826
2026-08-16 01:30:22.148434: Info: Completed run status Demand
2026-08-16 01:30:22.156867: Info: record_status Demand
2026-08-16 01:30:22.164376: Saved current settings to /config/predbat_config.json
2026-08-16 01:30:22.164795: Compare, best tariff: igo_fixed metric 126.72p
2026-08-16 01:30:57.278119: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-16 01:30:57.278375: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-16 01:30:57.278418: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-16 01:30:57.278573: Inverter 0 idle time is 08-16 00:00:00-08-16 23:59:00
2026-08-16 01:30:57.278638: Note: Inverter does not support discharge freeze - disabled
2026-08-16 01:30:57.279089: Note: Inverter does not support charge freeze - disabled
2026-08-16 01:30:57.279148: Note: Inverter does not support reserve - disabling reserve functions
2026-08-16 01:33:11.521473: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-16 01:33:11.521727: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-16 01:33:11.521785: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-16 01:33:11.521952: Inverter 0 idle time is 08-16 00:00:00-08-16 23:59:00
2026-08-16 01:33:11.521983: Note: Inverter does not support discharge freeze - disabled
2026-08-16 01:33:11.522003: Note: Inverter does not support charge freeze - disabled
2026-08-16 01:33:11.522032: Note: Inverter does not support reserve - disabling reserve functions
2026-08-16 01:35:00.722571: --------------- PredBat - update at 2026-08-16 01:35:00+01:00 with clock skew 0 minutes, minutes now 95
2026-08-16 01:35:00.723696: Saved current settings to /config/predbat_config.json
2026-08-16 01:35:00.723888: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 60.0 minutes
2026-08-16 01:35:00.724058: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.2, latest beta is v8.48.2
2026-08-16 01:35:00.724239: Autoupdate: There is an update pending v8.48.2 PV90 and second pass enabled by default, bug fixes - auto update is off
2026-08-16 01:35:00.750932: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-16 01:35:00.751136: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-16 01:35:00.751460: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-16 01:35:00.752342: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-16 01:35:00.752543: Predbat mode is set to Control charge & discharge
2026-08-16 01:35:00.982001: Found 21602 load_today datapoints going back 28 days
2026-08-16 01:35:00.982190: Using load_power data to fill gaps in load_today data
2026-08-16 01:35:01.956353: Processing 721 30-minute periods for power integration
2026-08-16 01:35:02.149599: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-16 01:35:02.149794: Car charging hold False, threshold 6.0kWh
2026-08-16 01:35:02.149865: Current data so far today: load 1.4kWh, import 0.0kWh, export 0.0kWh, PV 0kWh
2026-08-16 01:35:02.172795: Cars: SoC: [8.204]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-16 01:35:02.173545: Standing charge is set to 49.98p
2026-08-16 01:35:02.211118: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-16 01:35:02.211350: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-16 01:35:02.211677: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 95.0 minutes
2026-08-16 01:35:02.212269: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-17&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 94.8 minutes
2026-08-16 01:35:02.215645: Loaded 47 datapoints of futurerate analysis
2026-08-16 01:35:02.305146: Predicted future rates: ['08-16 00:00:00 => 28.52 / 19.97', '08-16 01:00:00 => 27.43 / 19.41', '08-16 02:00:00 => 26.47 / 18.92', '08-16 03:00:00 => 26.1 / 18.73', '08-16 04:00:00 => 26.04 / 18.7', '08-16 05:00:00 => 25.95 / 18.65', '08-16 06:00:00 => 25.71 / 18.53', '08-16 07:00:00 => 25.37 / 18.35', '08-16 08:00:00 => 24.58 / 17.94', '08-16 09:00:00 => 24.0 / 17.64', '08-16 10:00:00 => 24.54 / 17.92', '08-16 11:00:00 => 24.44 / 17.87', '08-16 12:00:00 => 23.53 / 17.4', '08-16 13:00:00 => 22.89 / 17.07', '08-16 14:00:00 => 21.77 / 16.49', '08-16 15:00:00 => 21.77 / 16.49', '08-16 16:00:00 => 36.89 / 18.3', '08-16 17:00:00 => 39.85 / 19.83', '08-16 18:00:00 => 43.87 / 21.9', '08-16 19:00:00 => 32.69 / 22.13', '08-16 20:00:00 => 33.46 / 22.53', '08-16 21:00:00 => 33.37 / 22.48', '08-16 22:00:00 => 32.01 / 21.78']
2026-08-16 01:35:02.376910: Rate min forward looking: now 0.0p at end of forecast 21.41p
2026-08-16 01:35:02.377507: Import rates: min 0.0p, max 45.28p, average 28.23p
2026-08-16 01:35:02.429389: Export rates: min 0p, max 0p, average 0.0p
2026-08-16 01:35:02.429566: Rate thresholds (for charge/export) are import 44.78p (0.0p), export -0.1p (0.0p)
2026-08-16 01:35:02.431092: High export rate found rates in range 99p to -99p
2026-08-16 01:35:02.508873: Low Import rate found rates in range 0.0p to 44.34p
2026-08-16 01:35:02.509049: Car 0 charging is not planned as it is not plugged in
2026-08-16 01:35:02.520879: Battery level now 10.72kWh, -1hr ago 11.61kWh, at midnight 12.21kWh, battery value change in the last hour -0.89p, change today -1.49p, rate_forward 1.0p
2026-08-16 01:35:02.521234: Last hour: net energy 0.0kWh, import 0.0kWh, export 0.0kWh, car 0kWh, load 0.9kWh, net cost 0.0p, import 0.0p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-16 01:35:02.595577: Today's energy total net 0.0kWh, import 0.0kWh, export 0.0kWh, cost 49.98p, import 0.0p, export 0.0p, carbon 0.0kg
2026-08-16 01:35:02.595769: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-16 01:35:02.688610: Using weighted-bucket historical load forecast over 14 days
2026-08-16 01:35:02.712064: Today's load divergence 100.0%, in-day adjustment 82.97%, damping 0.95x, yesterday 82.97% today 100.0% blend 100.0%
2026-08-16 01:35:02.712161: Today's predicted so far 1.55kWh with 0.0kWh car/iBoost excluded, 0kWh import ignored, and 1.55kWh forecast extra.
2026-08-16 01:35:02.712204: Today's actual load so far 1.46kWh with 0.0kWh car/iBoost excluded, and 0kWh import ignored.
2026-08-16 01:35:02.752897: Inverter 0: Type SK Sunsynk
2026-08-16 01:35:02.753042: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-16 01:35:02.753315: Reserve min: 7%, battery_min: 7%
2026-08-16 01:35:02.753397: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-16 01:35:02.753715: Inverter 0 SoC: 10.72kW 67%, current charge rate 5000W, current discharge rate 5250W, current battery power 466W, current battery voltage 51.2V, grid power -54W, load power 521W, PV Power 0W
2026-08-16 01:35:02.753895: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-16 01:35:02.754044: Inverter 0 scheduled charge enable is False
2026-08-16 01:35:02.754103: Inverter 0 charge windows currently []
2026-08-16 01:35:02.754153: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-16 01:35:02.754357: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-16 01:35:02.754406: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-16 01:35:02.754458: Inverter 0 scheduled discharge enable is False
2026-08-16 01:35:02.754653: Inverter 0 idle time is 08-16 00:00:00-08-16 23:59:00
2026-08-16 01:35:02.754702: Inverter 0 discharge windows currently []
2026-08-16 01:35:02.754733: Note: Inverter does not support discharge freeze - disabled
2026-08-16 01:35:02.754761: Note: Inverter does not support charge freeze - disabled
2026-08-16 01:35:02.754788: Note: Inverter does not support reserve - disabling reserve functions
2026-08-16 01:35:02.829830: Dynamic load last period 0.60kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-16 01:35:02.829947: Plan was last updated on 2026-08-16 01:30:00+01:00 and is now 5.0 minutes old
2026-08-16 01:35:02.830215: Best charge window [ 16-08 11:00:00 - 16-08 12:00:00 @ 0.0p 100%, 16-08 12:30:00 - 16-08 14:00:00 @ 22.43p 63%, 16-08 14:00:00 - 16-08 16:00:00 @ 22.53p 75%, 17-08 11:00:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 18-08 01:30:00 @ 27.44p 100% ]
2026-08-16 01:35:02.830262: Best export window [  ]
2026-08-16 01:35:02.831050: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-16 01:35:02.835912: Load divergence over 8.0 hours mean 555.35W, min 288.6W, max 1692.0W, std dev 351.79W, divergence 31.67%
2026-08-16 01:35:02.860526: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-16 01:35:02.860678: LoadML is_calculating False
2026-08-16 01:35:02.860779: Creating pool of 12 processes to match your CPU count
2026-08-16 01:35:03.003675: predict base end_record 08-17 11:05:00, final soc 1.12kWh, metric 378.55p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 19:25:00, load 20.3kWh, PV 0.0kWh
2026-08-16 01:35:03.141235: Battery has 17.83 hours left - now at 10.72kWh
2026-08-16 01:35:03.195450: predict base10 end_record 08-17 11:05:00, final soc 1.12kWh, metric 408.51p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 18:35:00, load 21.19kWh, PV 0.0kWh
2026-08-16 01:35:03.297817: predict best10 end_record 08-17 11:05:00, final soc 1.44kWh, metric 263.72p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 07:15:00, load 21.19kWh, PV 0.0kWh
2026-08-16 01:35:03.436448: predict best end_record 08-17 11:05:00, final soc 1.51kWh, metric 225.82p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 08:25:00, load 20.3kWh, PV 0.0kWh
2026-08-16 01:35:03.436558: Saving plan best values to HA entities
2026-08-16 01:35:03.620298: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-16 01:35:03.626794: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0.0
2026-08-16 01:35:03.633181: Best charging limit SoC's [16.0, 10.0, 12.0, 16.0, 16.0]kWh, export []kWh gives import battery 9.89kWh, house 1.4kWh, export 0.0kWh, metric 225.82p, metric10 263.72p
2026-08-16 01:35:03.716885: Marginal costs baseline metric (no standing charge): 175.8338
2026-08-16 01:35:04.005687: Marginal energy costs matrix computed: min=14.15 max=25.99
2026-08-16 01:35:04.084816: Rate array import [{'start': 95, 'end': 660, 'rate': 'expensive', 'range': '(24.1p - 27.0p)'}, {'start': 660, 'end': 720, 'rate': 'free', 'range': '(0.0p)'}, {'start': 720, 'end': 960, 'rate': 'expensive', 'range': '(21.4p - 23.4p)'}, {'start': 960, 'end': 1380, 'rate': 'very expensive', 'range': '(32.0p - 45.3p)'}, {'start': 1380, 'end': 2105, 'rate': 'expensive', 'range': '(24.1p - 30.0p)'}] export [{'start': 95, 'end': 2105, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-16 01:35:04.085622: - Your estimated bill for today is £1.30 and tomorrow is £7.26
2026-08-16 01:35:04.085674: - Import rates are expensive (24.1p - 27.0p) for the next 9 hours and then free (0.0p) for the next 1 hour.
2026-08-16 01:35:04.085698: - The battery is currently at 67% and is in eco mode for the next 9 hours.
2026-08-16 01:35:04.085716: - For the next 48 hours there will be no solar generation.
2026-08-16 01:35:04.085733: - You will run out of battery in 30 hours.
2026-08-16 01:35:04.085756: - Your next charge slot will be in 9 hours where import rates will be free (0.0p).
2026-08-16 01:35:04.085774: 
2026-08-16 01:35:04.150780: Plan calculation took 1.32 seconds
2026-08-16 01:35:04.154120: No high rate period found
2026-08-16 01:35:04.208559: Import threshold used for optimisation was 23.43p
2026-08-16 01:35:04.265226: Low import rate windows [0: 08-16 01:30:00 - 08-16 02:00:00 @ 26.31, 1: 08-16 02:00:00 - 08-16 02:30:00 @ 25.79, 2: 08-16 02:30:00 - 08-16 03:00:00 @ 25.86, 3: 08-16 03:00:00 - 08-16 03:30:00 @ 26.13, 4: 08-16 03:30:00 - 08-16 04:00:00 @ 25.86, 5: 08-16 04:00:00 - 08-16 04:30:00 @ 26.27, 6: 08-16 04:30:00 - 08-16 05:00:00 @ 26.14, 7: 08-16 05:00:00 - 08-16 05:30:00 @ 27.03, 8: 08-16 05:30:00 - 08-16 06:00:00 @ 26.28, 9: 08-16 06:00:00 - 08-16 06:30:00 @ 25.68, 10: 08-16 06:30:00 - 08-16 07:00:00 @ 26.1, 11: 08-16 07:00:00 - 08-16 07:30:00 @ 24.28, 12: 08-16 07:30:00 - 08-16 08:00:00 @ 24.94, 13: 08-16 08:00:00 - 08-16 08:30:00 @ 24.06, 14: 08-16 08:30:00 - 08-16 09:00:00 @ 24.39, 15: 08-16 09:00:00 - 08-16 09:30:00 @ 24.66, 16: 08-16 09:30:00 - 08-16 10:00:00 @ 24.06, 17: 08-16 10:00:00 - 08-16 10:30:00 @ 25.5, 18: 08-16 10:30:00 - 08-16 11:00:00 @ 24.94, 19: 08-16 11:00:00 - 08-16 11:30:00 @ 0.0, 20: 08-16 11:30:00 - 08-16 12:00:00 @ 0.0, 21: 08-16 12:00:00 - 08-16 12:30:00 @ 23.43, 22: 08-16 12:30:00 - 08-16 13:00:00 @ 22.33, 23: 08-16 13:00:00 - 08-16 13:30:00 @ 22.76, 24: 08-16 13:30:00 - 08-16 14:00:00 @ 22.3, 25: 08-16 14:00:00 - 08-16 14:30:00 @ 21.41, 26: 08-16 14:30:00 - 08-16 15:00:00 @ 21.65, 27: 08-16 15:00:00 - 08-16 15:30:00 @ 22.95, 28: 08-16 15:30:00 - 08-16 16:00:00 @ 22.83, 29: 08-16 16:00:00 - 08-16 16:30:00 @ 36.84, 30: 08-16 16:30:00 - 08-16 17:00:00 @ 37.54, 31: 08-16 17:00:00 - 08-16 17:30:00 @ 41.79, 32: 08-16 17:30:00 - 08-16 18:00:00 @ 43.7, 33: 08-16 18:00:00 - 08-16 18:30:00 @ 44.34, 34: 08-16 19:00:00 - 08-16 19:30:00 @ 34.79, 35: 08-16 19:30:00 - 08-16 20:00:00 @ 34.76, 36: 08-16 20:00:00 - 08-16 20:30:00 @ 35.62, 37: 08-16 20:30:00 - 08-16 21:00:00 @ 35.3, 38: 08-16 21:00:00 - 08-16 21:30:00 @ 35.89, 39: 08-16 21:30:00 - 08-16 22:00:00 @ 35.71, 40: 08-16 22:00:00 - 08-16 22:30:00 @ 33.75, 41: 08-16 22:30:00 - 08-16 23:00:00 @ 32.0, 42: 08-16 23:00:00 - 08-16 23:30:00 @ 30.02, 43: 08-16 23:30:00 - 08-17 00:00:00 @ 27.8, 44: 08-17 00:00:00 - 08-17 00:30:00 @ 28.18, 45: 08-17 00:30:00 - 08-17 01:00:00 @ 27.38, 46: 08-17 01:00:00 - 08-17 01:30:00 @ 26.7, 47: 08-17 01:30:00 - 08-17 02:00:00 @ 26.31, 48: 08-17 02:00:00 - 08-17 02:30:00 @ 25.79, 49: 08-17 02:30:00 - 08-17 03:00:00 @ 25.86, 50: 08-17 03:00:00 - 08-17 03:30:00 @ 26.13, 51: 08-17 03:30:00 - 08-17 04:00:00 @ 25.86, 52: 08-17 04:00:00 - 08-17 04:30:00 @ 26.27, 53: 08-17 04:30:00 - 08-17 05:00:00 @ 26.14, 54: 08-17 05:00:00 - 08-17 05:30:00 @ 27.03, 55: 08-17 05:30:00 - 08-17 06:00:00 @ 26.28, 56: 08-17 06:00:00 - 08-17 06:30:00 @ 25.68, 57: 08-17 06:30:00 - 08-17 07:00:00 @ 26.1, 58: 08-17 07:00:00 - 08-17 07:30:00 @ 24.28, 59: 08-17 07:30:00 - 08-17 08:00:00 @ 24.94, 60: 08-17 08:00:00 - 08-17 08:30:00 @ 24.06, 61: 08-17 08:30:00 - 08-17 09:00:00 @ 24.39, 62: 08-17 09:00:00 - 08-17 09:30:00 @ 24.66, 63: 08-17 09:30:00 - 08-17 10:00:00 @ 24.06, 64: 08-17 10:00:00 - 08-17 10:30:00 @ 25.5, 65: 08-17 10:30:00 - 08-17 11:00:00 @ 24.94, 66: 08-17 11:00:00 - 08-17 11:30:00 @ 24.25, 67: 08-17 11:30:00 - 08-17 12:00:00 @ 23.49, 68: 08-17 12:00:00 - 08-17 12:30:00 @ 23.43, 69: 08-17 12:30:00 - 08-17 13:00:00 @ 22.33, 70: 08-17 13:00:00 - 08-17 13:30:00 @ 22.76, 71: 08-17 13:30:00 - 08-17 14:00:00 @ 22.3, 72: 08-17 14:00:00 - 08-17 14:30:00 @ 21.41, 73: 08-17 14:30:00 - 08-17 15:00:00 @ 21.65, 74: 08-17 15:00:00 - 08-17 15:30:00 @ 22.95, 75: 08-17 15:30:00 - 08-17 16:00:00 @ 22.83, 76: 08-17 16:00:00 - 08-17 16:30:00 @ 36.84, 77: 08-17 16:30:00 - 08-17 17:00:00 @ 37.54, 78: 08-17 17:00:00 - 08-17 17:30:00 @ 41.79, 79: 08-17 17:30:00 - 08-17 18:00:00 @ 43.7, 80: 08-17 18:00:00 - 08-17 18:30:00 @ 44.34, 81: 08-17 19:00:00 - 08-17 19:30:00 @ 34.79, 82: 08-17 19:30:00 - 08-17 20:00:00 @ 34.76, 83: 08-17 20:00:00 - 08-17 20:30:00 @ 35.62, 84: 08-17 20:30:00 - 08-17 21:00:00 @ 35.3, 85: 08-17 21:00:00 - 08-17 21:30:00 @ 35.89, 86: 08-17 21:30:00 - 08-17 22:00:00 @ 35.71, 87: 08-17 22:00:00 - 08-17 22:30:00 @ 33.75, 88: 08-17 22:30:00 - 08-17 23:00:00 @ 32.0, 89: 08-17 23:00:00 - 08-17 23:30:00 @ 30.02, 90: 08-17 23:30:00 - 08-18 00:00:00 @ 27.8, 91: 08-18 00:00:00 - 08-18 00:30:00 @ 28.18, 92: 08-18 00:30:00 - 08-18 01:00:00 @ 27.38, 93: 08-18 01:00:00 - 08-18 01:30:00 @ 26.7, 94: 08-18 01:30:00 - 08-18 02:00:00 @ 26.31]
2026-08-16 01:35:04.273728: Inverter 0 Charge window will be: 2026-08-16 11:00:00+01:00 - 2026-08-16 12:00:00+01:00 - current SoC 67%, target 100%
2026-08-16 01:35:04.273879: Inverter 0 disabled charge window while waiting for schedule (now 08-16 01:35:00 target set_window_minutes 30 charge start time 08-16 11:00:00) original inverter start time 08-18 00:00:00
2026-08-16 01:35:04.273995: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-16 01:35:04.274303: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-16 01:35:04.274405: No export window planned
2026-08-16 01:35:04.274527: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-16 01:35:04.274565: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-16 01:35:04.274715: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-16 01:35:04.274902: Inverter 0 not setting charging SoC as we are not within the window (now 08-16 01:35:00 target set_soc_minutes 30 charge start time 08-18 00:00:00)
2026-08-16 01:35:04.274967: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-16 01:35:04.275041: Inverter 0 Current Target SoC is 7%, already at target
2026-08-16 01:35:04.275131: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 01:35:04.275189: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 01:35:04.275226: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 01:35:04.275253: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 01:35:04.275282: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 01:35:04.275307: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 01:35:04.275338: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 01:35:04.275402: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 01:35:04.275436: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 01:35:04.275462: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 01:35:04.275491: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 01:35:04.275542: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 01:35:04.275567: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 01:35:04.275595: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 01:35:04.275616: Inverter 0 count register writes 0
2026-08-16 01:35:04.295552: Will not recompute the plan, it is 5.0 minutes old and max age is 10 minutes
2026-08-16 01:35:04.303564: Total inverter register writes now 826
2026-08-16 01:35:04.342550: Info: Completed run status Demand
2026-08-16 01:35:04.348880: Info: record_status Demand
2026-08-16 01:35:04.356325: Saved current settings to /config/predbat_config.json
2026-08-16 01:35:04.356695: Compare, best tariff: igo_fixed metric 126.72p
2026-08-16 01:35:41.484129: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-16 01:35:41.484513: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-16 01:35:41.484579: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-16 01:35:41.484799: Inverter 0 idle time is 08-16 00:00:00-08-16 23:59:00
2026-08-16 01:35:41.484862: Note: Inverter does not support discharge freeze - disabled
2026-08-16 01:35:41.484891: Note: Inverter does not support charge freeze - disabled
2026-08-16 01:35:41.484937: Note: Inverter does not support reserve - disabling reserve functions
2026-08-16 01:37:41.732652: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-16 01:37:41.733183: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-16 01:37:41.733251: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-16 01:37:41.733413: Inverter 0 idle time is 08-16 00:00:00-08-16 23:59:00
2026-08-16 01:37:41.733467: Note: Inverter does not support discharge freeze - disabled
2026-08-16 01:37:41.733502: Note: Inverter does not support charge freeze - disabled
2026-08-16 01:37:41.733521: Note: Inverter does not support reserve - disabling reserve functions
2026-08-16 01:39:41.962716: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-16 01:39:41.963008: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-16 01:39:41.963046: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-16 01:39:41.963196: Inverter 0 idle time is 08-16 00:00:00-08-16 23:59:00
2026-08-16 01:39:41.963235: Note: Inverter does not support discharge freeze - disabled
2026-08-16 01:39:41.963254: Note: Inverter does not support charge freeze - disabled
2026-08-16 01:39:41.963269: Note: Inverter does not support reserve - disabling reserve functions
2026-08-16 01:40:00.055142: --------------- PredBat - update at 2026-08-16 01:40:00+01:00 with clock skew 0 minutes, minutes now 100
2026-08-16 01:40:00.055862: Saved current settings to /config/predbat_config.json
2026-08-16 01:40:00.055986: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 65.0 minutes
2026-08-16 01:40:00.056106: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.2, latest beta is v8.48.2
2026-08-16 01:40:00.056214: Autoupdate: There is an update pending v8.48.2 PV90 and second pass enabled by default, bug fixes - auto update is off
2026-08-16 01:40:00.084330: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-16 01:40:00.084503: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-16 01:40:00.084750: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-16 01:40:00.085384: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-16 01:40:00.085548: Predbat mode is set to Control charge & discharge
2026-08-16 01:40:00.259569: Found 21602 load_today datapoints going back 28 days
2026-08-16 01:40:00.259739: Using load_power data to fill gaps in load_today data
2026-08-16 01:40:01.078329: Processing 721 30-minute periods for power integration
2026-08-16 01:40:01.269434: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-16 01:40:01.269578: Car charging hold False, threshold 6.0kWh
2026-08-16 01:40:01.269623: Current data so far today: load 1.45kWh, import 0.0kWh, export 0.0kWh, PV 0kWh
2026-08-16 01:40:01.284535: Cars: SoC: [8.204]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-16 01:40:01.284978: Standing charge is set to 49.98p
2026-08-16 01:40:01.311900: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-16 01:40:01.312007: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-16 01:40:01.312213: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 100.0 minutes
2026-08-16 01:40:01.312600: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-17&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 99.8 minutes
2026-08-16 01:40:01.316165: Loaded 47 datapoints of futurerate analysis
2026-08-16 01:40:01.388900: Predicted future rates: ['08-16 00:00:00 => 28.52 / 19.97', '08-16 01:00:00 => 27.43 / 19.41', '08-16 02:00:00 => 26.47 / 18.92', '08-16 03:00:00 => 26.1 / 18.73', '08-16 04:00:00 => 26.04 / 18.7', '08-16 05:00:00 => 25.95 / 18.65', '08-16 06:00:00 => 25.71 / 18.53', '08-16 07:00:00 => 25.37 / 18.35', '08-16 08:00:00 => 24.58 / 17.94', '08-16 09:00:00 => 24.0 / 17.64', '08-16 10:00:00 => 24.54 / 17.92', '08-16 11:00:00 => 24.44 / 17.87', '08-16 12:00:00 => 23.53 / 17.4', '08-16 13:00:00 => 22.89 / 17.07', '08-16 14:00:00 => 21.77 / 16.49', '08-16 15:00:00 => 21.77 / 16.49', '08-16 16:00:00 => 36.89 / 18.3', '08-16 17:00:00 => 39.85 / 19.83', '08-16 18:00:00 => 43.87 / 21.9', '08-16 19:00:00 => 32.69 / 22.13', '08-16 20:00:00 => 33.46 / 22.53', '08-16 21:00:00 => 33.37 / 22.48', '08-16 22:00:00 => 32.01 / 21.78']
2026-08-16 01:40:01.442915: Rate min forward looking: now 0.0p at end of forecast 21.41p
2026-08-16 01:40:01.443283: Import rates: min 0.0p, max 45.28p, average 28.23p
2026-08-16 01:40:01.477765: Export rates: min 0p, max 0p, average 0.0p
2026-08-16 01:40:01.477901: Rate thresholds (for charge/export) are import 44.78p (0.0p), export -0.1p (0.0p)
2026-08-16 01:40:01.478909: High export rate found rates in range 99p to -99p
2026-08-16 01:40:01.541810: Low Import rate found rates in range 0.0p to 44.34p
2026-08-16 01:40:01.541970: Car 0 charging is not planned as it is not plugged in
2026-08-16 01:40:01.554515: Battery level now 10.72kWh, -1hr ago 11.39kWh, at midnight 12.21kWh, battery value change in the last hour -0.67p, change today -1.49p, rate_forward 1.0p
2026-08-16 01:40:01.554818: Last hour: net energy 0.0kWh, import 0.0kWh, export 0.0kWh, car 0kWh, load 0.85kWh, net cost 0.0p, import 0.0p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-16 01:40:01.598030: Today's energy total net 0.0kWh, import 0.0kWh, export 0.0kWh, cost 49.98p, import 0.0p, export 0.0p, carbon 0.0kg
2026-08-16 01:40:01.598153: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-16 01:40:01.658741: Using weighted-bucket historical load forecast over 14 days
2026-08-16 01:40:01.677257: Today's load divergence 100.0%, in-day adjustment 82.97%, damping 0.95x, yesterday 82.97% today 100.0% blend 100.0%
2026-08-16 01:40:01.677354: Today's predicted so far 1.57kWh with 0.0kWh car/iBoost excluded, 0kWh import ignored, and 1.57kWh forecast extra.
2026-08-16 01:40:01.677404: Today's actual load so far 1.47kWh with 0.0kWh car/iBoost excluded, and 0kWh import ignored.
2026-08-16 01:40:01.715100: Inverter 0: Type SK Sunsynk
2026-08-16 01:40:01.715182: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-16 01:40:01.715411: Reserve min: 7%, battery_min: 7%
2026-08-16 01:40:01.715507: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-16 01:40:01.715820: Inverter 0 SoC: 10.72kW 67%, current charge rate 5000W, current discharge rate 5250W, current battery power 464W, current battery voltage 51.2V, grid power -55W, load power 518W, PV Power 0W
2026-08-16 01:40:01.716005: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-16 01:40:01.716091: Inverter 0 scheduled charge enable is False
2026-08-16 01:40:01.716115: Inverter 0 charge windows currently []
2026-08-16 01:40:01.716137: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-16 01:40:01.716231: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-16 01:40:01.716261: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-16 01:40:01.716290: Inverter 0 scheduled discharge enable is False
2026-08-16 01:40:01.716391: Inverter 0 idle time is 08-16 00:00:00-08-16 23:59:00
2026-08-16 01:40:01.716421: Inverter 0 discharge windows currently []
2026-08-16 01:40:01.716440: Note: Inverter does not support discharge freeze - disabled
2026-08-16 01:40:01.716455: Note: Inverter does not support charge freeze - disabled
2026-08-16 01:40:01.716468: Note: Inverter does not support reserve - disabling reserve functions
2026-08-16 01:40:01.787315: Dynamic load last period 0.60kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-16 01:40:01.787444: Plan was last updated on 2026-08-16 01:30:00+01:00 and is now 10.0 minutes old
2026-08-16 01:40:01.787742: Best charge window [ 16-08 11:00:00 - 16-08 12:00:00 @ 0.0p 100%, 16-08 12:30:00 - 16-08 14:00:00 @ 22.43p 63%, 16-08 14:00:00 - 16-08 16:00:00 @ 22.53p 75%, 17-08 11:00:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 18-08 01:30:00 @ 27.44p 100% ]
2026-08-16 01:40:01.787801: Best export window [  ]
2026-08-16 01:40:01.788405: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-16 01:40:01.790985: Load divergence over 8.0 hours mean 542.69W, min 291.6W, max 1733.4W, std dev 333.58W, divergence 30.73%
2026-08-16 01:40:01.807861: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-16 01:40:01.807981: LoadML is_calculating False
2026-08-16 01:40:01.808046: Creating pool of 12 processes to match your CPU count
2026-08-16 01:40:01.929739: predict base end_record 08-17 11:10:00, final soc 1.12kWh, metric 377.37p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 19:35:00, load 20.33kWh, PV 0.0kWh
2026-08-16 01:40:02.085543: Battery has 17.92 hours left - now at 10.72kWh
2026-08-16 01:40:02.133135: predict base10 end_record 08-17 11:10:00, final soc 1.12kWh, metric 406.52p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 18:45:00, load 21.23kWh, PV 0.0kWh
2026-08-16 01:40:02.210881: predict best10 end_record 08-17 11:10:00, final soc 1.77kWh, metric 271.72p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 07:15:00, load 21.23kWh, PV 0.0kWh
2026-08-16 01:40:02.296264: predict best end_record 08-17 11:10:00, final soc 1.9kWh, metric 235.7p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 08:30:00, load 20.33kWh, PV 0.0kWh
2026-08-16 01:40:02.296364: Saving plan best values to HA entities
2026-08-16 01:40:02.467841: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-16 01:40:02.473923: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0.0
2026-08-16 01:40:02.479889: Best charging limit SoC's [16.0, 10.0, 12.0, 16.0, 16.0]kWh, export []kWh gives import battery 10.29kWh, house 1.39kWh, export 0.0kWh, metric 235.7p, metric10 271.72p
2026-08-16 01:40:02.554847: Marginal costs baseline metric (no standing charge): 185.7161
2026-08-16 01:40:02.784528: Marginal energy costs matrix computed: min=15.98 max=25.98
2026-08-16 01:40:02.858770: Rate array import [{'start': 100, 'end': 660, 'rate': 'expensive', 'range': '(24.1p - 27.0p)'}, {'start': 660, 'end': 720, 'rate': 'free', 'range': '(0.0p)'}, {'start': 720, 'end': 960, 'rate': 'expensive', 'range': '(21.4p - 23.4p)'}, {'start': 960, 'end': 1380, 'rate': 'very expensive', 'range': '(32.0p - 45.3p)'}, {'start': 1380, 'end': 2110, 'rate': 'expensive', 'range': '(24.1p - 30.0p)'}] export [{'start': 100, 'end': 2110, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-16 01:40:02.859365: - Your estimated bill for today is £1.28 and tomorrow is £7.27
2026-08-16 01:40:02.859404: - Import rates are expensive (24.1p - 27.0p) for the next 9 hours and then free (0.0p) for the next 1 hour.
2026-08-16 01:40:02.859423: - The battery is currently at 67% and is in eco mode for the next 9 hours.
2026-08-16 01:40:02.859437: - For the next 48 hours there will be no solar generation.
2026-08-16 01:40:02.859451: - You will run out of battery in 30 hours.
2026-08-16 01:40:02.859466: - Your next charge slot will be in 9 hours where import rates will be free (0.0p).
2026-08-16 01:40:02.859495: 
2026-08-16 01:40:02.916070: Plan calculation took 1.13 seconds
2026-08-16 01:40:02.919404: No high rate period found
2026-08-16 01:40:02.970176: Import threshold used for optimisation was 23.43p
2026-08-16 01:40:03.022470: Low import rate windows [0: 08-16 01:30:00 - 08-16 02:00:00 @ 26.31, 1: 08-16 02:00:00 - 08-16 02:30:00 @ 25.79, 2: 08-16 02:30:00 - 08-16 03:00:00 @ 25.86, 3: 08-16 03:00:00 - 08-16 03:30:00 @ 26.13, 4: 08-16 03:30:00 - 08-16 04:00:00 @ 25.86, 5: 08-16 04:00:00 - 08-16 04:30:00 @ 26.27, 6: 08-16 04:30:00 - 08-16 05:00:00 @ 26.14, 7: 08-16 05:00:00 - 08-16 05:30:00 @ 27.03, 8: 08-16 05:30:00 - 08-16 06:00:00 @ 26.28, 9: 08-16 06:00:00 - 08-16 06:30:00 @ 25.68, 10: 08-16 06:30:00 - 08-16 07:00:00 @ 26.1, 11: 08-16 07:00:00 - 08-16 07:30:00 @ 24.28, 12: 08-16 07:30:00 - 08-16 08:00:00 @ 24.94, 13: 08-16 08:00:00 - 08-16 08:30:00 @ 24.06, 14: 08-16 08:30:00 - 08-16 09:00:00 @ 24.39, 15: 08-16 09:00:00 - 08-16 09:30:00 @ 24.66, 16: 08-16 09:30:00 - 08-16 10:00:00 @ 24.06, 17: 08-16 10:00:00 - 08-16 10:30:00 @ 25.5, 18: 08-16 10:30:00 - 08-16 11:00:00 @ 24.94, 19: 08-16 11:00:00 - 08-16 11:30:00 @ 0.0, 20: 08-16 11:30:00 - 08-16 12:00:00 @ 0.0, 21: 08-16 12:00:00 - 08-16 12:30:00 @ 23.43, 22: 08-16 12:30:00 - 08-16 13:00:00 @ 22.33, 23: 08-16 13:00:00 - 08-16 13:30:00 @ 22.76, 24: 08-16 13:30:00 - 08-16 14:00:00 @ 22.3, 25: 08-16 14:00:00 - 08-16 14:30:00 @ 21.41, 26: 08-16 14:30:00 - 08-16 15:00:00 @ 21.65, 27: 08-16 15:00:00 - 08-16 15:30:00 @ 22.95, 28: 08-16 15:30:00 - 08-16 16:00:00 @ 22.83, 29: 08-16 16:00:00 - 08-16 16:30:00 @ 36.84, 30: 08-16 16:30:00 - 08-16 17:00:00 @ 37.54, 31: 08-16 17:00:00 - 08-16 17:30:00 @ 41.79, 32: 08-16 17:30:00 - 08-16 18:00:00 @ 43.7, 33: 08-16 18:00:00 - 08-16 18:30:00 @ 44.34, 34: 08-16 19:00:00 - 08-16 19:30:00 @ 34.79, 35: 08-16 19:30:00 - 08-16 20:00:00 @ 34.76, 36: 08-16 20:00:00 - 08-16 20:30:00 @ 35.62, 37: 08-16 20:30:00 - 08-16 21:00:00 @ 35.3, 38: 08-16 21:00:00 - 08-16 21:30:00 @ 35.89, 39: 08-16 21:30:00 - 08-16 22:00:00 @ 35.71, 40: 08-16 22:00:00 - 08-16 22:30:00 @ 33.75, 41: 08-16 22:30:00 - 08-16 23:00:00 @ 32.0, 42: 08-16 23:00:00 - 08-16 23:30:00 @ 30.02, 43: 08-16 23:30:00 - 08-17 00:00:00 @ 27.8, 44: 08-17 00:00:00 - 08-17 00:30:00 @ 28.18, 45: 08-17 00:30:00 - 08-17 01:00:00 @ 27.38, 46: 08-17 01:00:00 - 08-17 01:30:00 @ 26.7, 47: 08-17 01:30:00 - 08-17 02:00:00 @ 26.31, 48: 08-17 02:00:00 - 08-17 02:30:00 @ 25.79, 49: 08-17 02:30:00 - 08-17 03:00:00 @ 25.86, 50: 08-17 03:00:00 - 08-17 03:30:00 @ 26.13, 51: 08-17 03:30:00 - 08-17 04:00:00 @ 25.86, 52: 08-17 04:00:00 - 08-17 04:30:00 @ 26.27, 53: 08-17 04:30:00 - 08-17 05:00:00 @ 26.14, 54: 08-17 05:00:00 - 08-17 05:30:00 @ 27.03, 55: 08-17 05:30:00 - 08-17 06:00:00 @ 26.28, 56: 08-17 06:00:00 - 08-17 06:30:00 @ 25.68, 57: 08-17 06:30:00 - 08-17 07:00:00 @ 26.1, 58: 08-17 07:00:00 - 08-17 07:30:00 @ 24.28, 59: 08-17 07:30:00 - 08-17 08:00:00 @ 24.94, 60: 08-17 08:00:00 - 08-17 08:30:00 @ 24.06, 61: 08-17 08:30:00 - 08-17 09:00:00 @ 24.39, 62: 08-17 09:00:00 - 08-17 09:30:00 @ 24.66, 63: 08-17 09:30:00 - 08-17 10:00:00 @ 24.06, 64: 08-17 10:00:00 - 08-17 10:30:00 @ 25.5, 65: 08-17 10:30:00 - 08-17 11:00:00 @ 24.94, 66: 08-17 11:00:00 - 08-17 11:30:00 @ 24.25, 67: 08-17 11:30:00 - 08-17 12:00:00 @ 23.49, 68: 08-17 12:00:00 - 08-17 12:30:00 @ 23.43, 69: 08-17 12:30:00 - 08-17 13:00:00 @ 22.33, 70: 08-17 13:00:00 - 08-17 13:30:00 @ 22.76, 71: 08-17 13:30:00 - 08-17 14:00:00 @ 22.3, 72: 08-17 14:00:00 - 08-17 14:30:00 @ 21.41, 73: 08-17 14:30:00 - 08-17 15:00:00 @ 21.65, 74: 08-17 15:00:00 - 08-17 15:30:00 @ 22.95, 75: 08-17 15:30:00 - 08-17 16:00:00 @ 22.83, 76: 08-17 16:00:00 - 08-17 16:30:00 @ 36.84, 77: 08-17 16:30:00 - 08-17 17:00:00 @ 37.54, 78: 08-17 17:00:00 - 08-17 17:30:00 @ 41.79, 79: 08-17 17:30:00 - 08-17 18:00:00 @ 43.7, 80: 08-17 18:00:00 - 08-17 18:30:00 @ 44.34, 81: 08-17 19:00:00 - 08-17 19:30:00 @ 34.79, 82: 08-17 19:30:00 - 08-17 20:00:00 @ 34.76, 83: 08-17 20:00:00 - 08-17 20:30:00 @ 35.62, 84: 08-17 20:30:00 - 08-17 21:00:00 @ 35.3, 85: 08-17 21:00:00 - 08-17 21:30:00 @ 35.89, 86: 08-17 21:30:00 - 08-17 22:00:00 @ 35.71, 87: 08-17 22:00:00 - 08-17 22:30:00 @ 33.75, 88: 08-17 22:30:00 - 08-17 23:00:00 @ 32.0, 89: 08-17 23:00:00 - 08-17 23:30:00 @ 30.02, 90: 08-17 23:30:00 - 08-18 00:00:00 @ 27.8, 91: 08-18 00:00:00 - 08-18 00:30:00 @ 28.18, 92: 08-18 00:30:00 - 08-18 01:00:00 @ 27.38, 93: 08-18 01:00:00 - 08-18 01:30:00 @ 26.7, 94: 08-18 01:30:00 - 08-18 02:00:00 @ 26.31]
2026-08-16 01:40:03.028762: Inverter 0 Charge window will be: 2026-08-16 11:00:00+01:00 - 2026-08-16 12:00:00+01:00 - current SoC 67%, target 100%
2026-08-16 01:40:03.028879: Inverter 0 disabled charge window while waiting for schedule (now 08-16 01:40:00 target set_window_minutes 30 charge start time 08-16 11:00:00) original inverter start time 08-18 00:00:00
2026-08-16 01:40:03.029014: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-16 01:40:03.029268: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-16 01:40:03.029374: No export window planned
2026-08-16 01:40:03.029473: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-16 01:40:03.029501: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-16 01:40:03.029609: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-16 01:40:03.029785: Inverter 0 not setting charging SoC as we are not within the window (now 08-16 01:40:00 target set_soc_minutes 30 charge start time 08-18 00:00:00)
2026-08-16 01:40:03.029840: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-16 01:40:03.029893: Inverter 0 Current Target SoC is 7%, already at target
2026-08-16 01:40:03.029975: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 01:40:03.030010: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 01:40:03.030051: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 01:40:03.030072: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 01:40:03.030097: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 01:40:03.030117: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 01:40:03.030144: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 01:40:03.030195: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 01:40:03.030221: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 01:40:03.030241: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 01:40:03.030261: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 01:40:03.030279: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 01:40:03.030303: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 01:40:03.030323: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 01:40:03.030342: Inverter 0 count register writes 0
2026-08-16 01:40:03.045188: Will recompute the plan as it is now 10.0 minutes old and will exceed the max age of 10 minutes before the next run
2026-08-16 01:40:03.045367: Recompute is saving previous plan...
2026-08-16 01:40:03.048558: Best charge window [ 16-08 01:30:00 - 16-08 02:00:00 @ 26.31p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.79p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 25.86p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.13p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 25.86p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.27p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.14p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 27.03p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.28p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.68p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 26.1p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 24.28p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 24.94p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.06p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.39p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.66p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.06p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 25.5p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 24.94p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 0.0p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 0.0p 0%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.43p 0%, 16-08 12:30:00 - 16-08 13:00:00 @ 22.33p 0%, 16-08 13:00:00 - 16-08 13:30:00 @ 22.76p 0%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 0%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 0%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.65p 0%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.95p 0%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.83p 0%, 16-08 16:00:00 - 16-08 16:30:00 @ 36.84p 0%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.54p 0%, 16-08 17:00:00 - 16-08 17:30:00 @ 41.79p 0%, 16-08 17:30:00 - 16-08 18:00:00 @ 43.7p 0%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.34p 0%, 16-08 19:00:00 - 16-08 19:30:00 @ 34.79p 0%, 16-08 19:30:00 - 16-08 20:00:00 @ 34.76p 0%, 16-08 20:00:00 - 16-08 20:30:00 @ 35.62p 0%, 16-08 20:30:00 - 16-08 21:00:00 @ 35.3p 0%, 16-08 21:00:00 - 16-08 21:30:00 @ 35.89p 0%, 16-08 21:30:00 - 16-08 22:00:00 @ 35.71p 0%, 16-08 22:00:00 - 16-08 22:30:00 @ 33.75p 0%, 16-08 22:30:00 - 16-08 23:00:00 @ 32.0p 0%, 16-08 23:00:00 - 16-08 23:30:00 @ 30.02p 0%, 16-08 23:30:00 - 17-08 00:00:00 @ 27.8p 0%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.18p 0%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.38p 0%, 17-08 01:00:00 - 17-08 01:30:00 @ 26.7p 0%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.31p 0%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.79p 0%, 17-08 02:30:00 - 17-08 03:00:00 @ 25.86p 0%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.13p 0%, 17-08 03:30:00 - 17-08 04:00:00 @ 25.86p 0%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.27p 0%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.14p 0%, 17-08 05:00:00 - 17-08 05:30:00 @ 27.03p 0%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.28p 0%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.68p 0%, 17-08 06:30:00 - 17-08 07:00:00 @ 26.1p 0%, 17-08 07:00:00 - 17-08 07:30:00 @ 24.28p 0%, 17-08 07:30:00 - 17-08 08:00:00 @ 24.94p 0%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.06p 0%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.39p 0%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.66p 0%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.06p 0%, 17-08 10:00:00 - 17-08 10:30:00 @ 25.5p 0%, 17-08 10:30:00 - 17-08 11:00:00 @ 24.94p 0%, 17-08 11:00:00 - 17-08 11:30:00 @ 24.25p 0%, 17-08 11:30:00 - 17-08 12:00:00 @ 23.49p 0%, 17-08 12:00:00 - 17-08 12:30:00 @ 23.43p 0%, 17-08 12:30:00 - 17-08 13:00:00 @ 22.33p 0%, 17-08 13:00:00 - 17-08 13:30:00 @ 22.76p 0%, 17-08 13:30:00 - 17-08 14:00:00 @ 22.3p 0%, 17-08 14:00:00 - 17-08 14:30:00 @ 21.41p 0%, 17-08 14:30:00 - 17-08 15:00:00 @ 21.65p 0%, 17-08 15:00:00 - 17-08 15:30:00 @ 22.95p 0%, 17-08 15:30:00 - 17-08 16:00:00 @ 22.83p 0%, 17-08 16:00:00 - 17-08 16:30:00 @ 36.84p 0%, 17-08 16:30:00 - 17-08 17:00:00 @ 37.54p 0%, 17-08 17:00:00 - 17-08 17:30:00 @ 41.79p 0%, 17-08 17:30:00 - 17-08 18:00:00 @ 43.7p 0%, 17-08 18:00:00 - 17-08 18:30:00 @ 44.34p 0%, 17-08 19:00:00 - 17-08 19:30:00 @ 34.79p 0%, 17-08 19:30:00 - 17-08 20:00:00 @ 34.76p 0%, 17-08 20:00:00 - 17-08 20:30:00 @ 35.62p 0%, 17-08 20:30:00 - 17-08 21:00:00 @ 35.3p 0%, 17-08 21:00:00 - 17-08 21:30:00 @ 35.89p 0%, 17-08 21:30:00 - 17-08 22:00:00 @ 35.71p 0%, 17-08 22:00:00 - 17-08 22:30:00 @ 33.75p 0%, 17-08 22:30:00 - 17-08 23:00:00 @ 32.0p 0%, 17-08 23:00:00 - 17-08 23:30:00 @ 30.02p 0%, 17-08 23:30:00 - 18-08 00:00:00 @ 27.8p 0%, 18-08 00:00:00 - 18-08 00:30:00 @ 28.18p 0%, 18-08 00:30:00 - 18-08 01:00:00 @ 27.38p 0%, 18-08 01:00:00 - 18-08 01:30:00 @ 26.7p 0%, 18-08 01:30:00 - 18-08 02:00:00 @ 26.31p 0% ]
2026-08-16 01:40:03.048635: Best export window [  ]
2026-08-16 01:40:03.049476: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-16 01:40:03.052671: Load divergence over 8.0 hours mean 542.69W, min 291.6W, max 1733.4W, std dev 333.58W, divergence 30.73%
2026-08-16 01:40:03.068321: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-16 01:40:03.068439: LoadML is_calculating False
2026-08-16 01:40:03.068501: Creating pool of 12 processes to match your CPU count
2026-08-16 01:40:03.154447: Calculate Best options: mode(Control charge & discharge), calculate_export_oncharge(False), calculate_export_on_pv(True), set_export_freeze_only(False), set_discharge_during_charge(True), combine_charge_slots(False), combine_export_slots(False), combine_rate_threshold(0.0), best_soc_min(0.0 kWh), best_soc_max(0.0 kWh), best_soc_keep(0.0 kWh), inverter_loss(4%), battery_loss(3%), battery_loss_discharge (3%), inverter_hybrid(True), metric_min_improvement(0.0p), metric_min_improvement_export(0.1p), metric_min_improvement_export_freeze(0.1p), metric_battery_cycle(0.0p/kWh), metric_battery_value_scaling(1.0 x) 
2026-08-16 01:40:03.156771: Optimise levels pass started at 2026-08-16 01:40:03
2026-08-16 01:40:03.156848: Optimise all windows, total charge 94 export 1
2026-08-16 01:40:04.282797: >> Region optimisation pass width 960 gives best_metric 416.25p, best_cost 429.03p, best_cycle 41.31kWh, best_import 22.77kWh
2026-08-16 01:40:04.725829: >> Region optimisation pass width 480 gives best_metric 416.25p, best_cost 429.03p, best_cycle 41.31kWh, best_import 22.77kWh
2026-08-16 01:40:05.236823: >> Region optimisation pass width 240 gives best_metric 416.25p, best_cost 429.03p, best_cycle 41.31kWh, best_import 22.77kWh
2026-08-16 01:40:06.384497: >> Region optimisation pass width 120 gives best_metric 416.25p, best_cost 429.03p, best_cycle 41.31kWh, best_import 22.77kWh
2026-08-16 01:40:06.384790: Calculated end_record as 08-17 11:00:00 based on best_price 22.33p, next_charge_start 08-16 11:00:00, max_windows 66
2026-08-16 01:40:06.384878: Optimise levels pass ended at 2026-08-16 01:40:06, duration 3.2 seconds tried 337 combinations
2026-08-16 01:40:06.384937: Set best_price_charge_level 24.0p, best_price_export_level 0p, best_price_charge 22.33p, best_cost_export 0p, best_metric 416.25p, best_keep 0kWh, best_cycle 41.31kWh, best_carbon 0kg, best_import 22.77kWh
2026-08-16 01:40:06.400380: Starting detailed optimisation end_record 08-17 11:00:00, best_price_charge 22.33p, best_price_export 0p. lowest_price_charge 0.0p with charge limits [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12.0, 12.0, 0, 0, 0, 0, 12.0, 12.0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0]kWh and export limits []kWh
2026-08-16 01:40:11.581918: Tweak plan optimisation started metric 147.51p, cost 162.36p
2026-08-16 01:40:11.927286: Tweak optimisation finished metric 147.51p, cost 162.36p, metric_keep 0kWh, cycle 22.04kWh, carbon 0kg, import 10.72kWh, changed 8 window(s)
2026-08-16 01:40:11.949008: Swap charge optimisation started metric 147.51p, cost 162.36p, min_improvement_swap 0.1p
2026-08-16 01:40:19.862822: Swap charge optimisation finished metric 147.51p, cost 162.36p
2026-08-16 01:40:19.994965: Pruned 2 dead plan slot(s) in 11 trial(s), nominal metric 141.76p -> 141.76p, plan now metric 147.65p, cost 162.36p, cycle 22.04kWh, import 10.72kWh
2026-08-16 01:40:20.009222: Raw charge windows [ 16-08 01:30:00 - 16-08 02:00:00 @ 26.31p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.79p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 25.86p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.13p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 25.86p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.27p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.14p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 27.03p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.28p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.68p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 26.1p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 24.28p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 24.94p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.06p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.39p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.66p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.06p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 25.5p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 24.94p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 0.0p 100%, 16-08 11:30:00 - 16-08 12:00:00 @ 0.0p 100%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.43p 0%, 16-08 12:30:00 - 16-08 13:00:00 @ 22.33p 63%, 16-08 13:00:00 - 16-08 13:30:00 @ 22.76p 63%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 63%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 75%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.65p 75%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.95p 75%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.83p 75%, 16-08 16:00:00 - 16-08 16:30:00 @ 36.84p 0%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.54p 0%, 16-08 17:00:00 - 16-08 17:30:00 @ 41.79p 0%, 16-08 17:30:00 - 16-08 18:00:00 @ 43.7p 0%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.34p 0%, 16-08 19:00:00 - 16-08 19:30:00 @ 34.79p 0%, 16-08 19:30:00 - 16-08 20:00:00 @ 34.76p 0%, 16-08 20:00:00 - 16-08 20:30:00 @ 35.62p 0%, 16-08 20:30:00 - 16-08 21:00:00 @ 35.3p 0%, 16-08 21:00:00 - 16-08 21:30:00 @ 35.89p 0%, 16-08 21:30:00 - 16-08 22:00:00 @ 35.71p 0%, 16-08 22:00:00 - 16-08 22:30:00 @ 33.75p 0%, 16-08 22:30:00 - 16-08 23:00:00 @ 32.0p 0%, 16-08 23:00:00 - 16-08 23:30:00 @ 30.02p 0%, 16-08 23:30:00 - 17-08 00:00:00 @ 27.8p 0%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.18p 0%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.38p 0%, 17-08 01:00:00 - 17-08 01:30:00 @ 26.7p 0%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.31p 0%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.79p 0%, 17-08 02:30:00 - 17-08 03:00:00 @ 25.86p 0%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.13p 0%, 17-08 03:30:00 - 17-08 04:00:00 @ 25.86p 0%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.27p 0%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.14p 0%, 17-08 05:00:00 - 17-08 05:30:00 @ 27.03p 0%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.28p 0%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.68p 0%, 17-08 06:30:00 - 17-08 07:00:00 @ 26.1p 0%, 17-08 07:00:00 - 17-08 07:30:00 @ 24.28p 0%, 17-08 07:30:00 - 17-08 08:00:00 @ 24.94p 0%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.06p 0%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.39p 0%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.66p 0%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.06p 0%, 17-08 10:00:00 - 17-08 10:30:00 @ 25.5p 0%, 17-08 10:30:00 - 17-08 11:00:00 @ 24.94p 0%, 17-08 11:00:00 - 17-08 11:30:00 @ 24.25p 100%, 17-08 11:30:00 - 17-08 12:00:00 @ 23.49p 100%, 17-08 12:00:00 - 17-08 12:30:00 @ 23.43p 100%, 17-08 12:30:00 - 17-08 13:00:00 @ 22.33p 100%, 17-08 13:00:00 - 17-08 13:30:00 @ 22.76p 100%, 17-08 13:30:00 - 17-08 14:00:00 @ 22.3p 100%, 17-08 14:00:00 - 17-08 14:30:00 @ 21.41p 100%, 17-08 14:30:00 - 17-08 15:00:00 @ 21.65p 100%, 17-08 15:00:00 - 17-08 15:30:00 @ 22.95p 100%, 17-08 15:30:00 - 17-08 16:00:00 @ 22.83p 100%, 17-08 16:00:00 - 17-08 16:30:00 @ 36.84p 100%, 17-08 16:30:00 - 17-08 17:00:00 @ 37.54p 100%, 17-08 17:00:00 - 17-08 17:30:00 @ 41.79p 100%, 17-08 17:30:00 - 17-08 18:00:00 @ 43.7p 100%, 17-08 18:00:00 - 17-08 18:30:00 @ 44.34p 100%, 17-08 19:00:00 - 17-08 19:30:00 @ 34.79p 100%, 17-08 19:30:00 - 17-08 20:00:00 @ 34.76p 100%, 17-08 20:00:00 - 17-08 20:30:00 @ 35.62p 100%, 17-08 20:30:00 - 17-08 21:00:00 @ 35.3p 100%, 17-08 21:00:00 - 17-08 21:30:00 @ 35.89p 100%, 17-08 21:30:00 - 17-08 22:00:00 @ 35.71p 100%, 17-08 22:00:00 - 17-08 22:30:00 @ 33.75p 100%, 17-08 22:30:00 - 17-08 23:00:00 @ 32.0p 100%, 17-08 23:00:00 - 17-08 23:30:00 @ 30.02p 100%, 17-08 23:30:00 - 18-08 00:00:00 @ 27.8p 100%, 18-08 00:00:00 - 18-08 00:30:00 @ 28.18p 100%, 18-08 00:30:00 - 18-08 01:00:00 @ 27.38p 100%, 18-08 01:00:00 - 18-08 01:30:00 @ 26.7p 100%, 18-08 01:30:00 - 18-08 02:00:00 @ 26.31p 100% ] reserve 1.12
2026-08-16 01:40:20.009841: Unclipped charge windows [ 16-08 11:00:00 - 16-08 12:00:00 @ 0.0p 100%, 16-08 12:30:00 - 16-08 14:00:00 @ 22.43p 63%, 16-08 14:00:00 - 16-08 16:00:00 @ 22.53p 75%, 17-08 11:00:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 18-08 02:00:00 @ 26.88p 100% ] reserve 1.12
2026-08-16 01:40:20.010101: Unfiltered charge windows [ 16-08 11:00:00 - 16-08 12:00:00 @ 0.0p 100%, 16-08 12:30:00 - 16-08 14:00:00 @ 22.43p 63%, 16-08 14:00:00 - 16-08 16:00:00 @ 22.53p 75%, 17-08 11:00:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 18-08 02:00:00 @ 26.88p 100% ] reserve 1.12
2026-08-16 01:40:20.010305: Filtered charge windows [ 16-08 11:00:00 - 16-08 12:00:00 @ 0.0p 100%, 16-08 12:30:00 - 16-08 14:00:00 @ 22.43p 63%, 16-08 14:00:00 - 16-08 16:00:00 @ 22.53p 75%, 17-08 11:00:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 18-08 02:00:00 @ 26.88p 100% ] reserve 1.12
2026-08-16 01:40:20.050996: Previous plan best metric is 147.55 (cost 162.36) and new plan best metric is 147.51 (cost 162.36)
2026-08-16 01:40:20.051315: New plan metric is not significantly better (metric_min_improvement_plan 2.0) than previous plan, using previous plan
2026-08-16 01:40:20.051796: Plan valid is now true after recompute was False
2026-08-16 01:40:20.081328: predict base end_record 08-17 11:00:00, final soc 1.12kWh, metric 374.23p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 19:35:00, load 20.2kWh, PV 0.0kWh
2026-08-16 01:40:20.195301: Battery has 17.92 hours left - now at 10.72kWh
2026-08-16 01:40:20.244426: predict base10 end_record 08-17 11:00:00, final soc 1.12kWh, metric 403.22p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 18:45:00, load 21.09kWh, PV 0.0kWh
2026-08-16 01:40:20.350924: predict best10 end_record 08-17 11:00:00, final soc 1.12kWh, metric 251.58p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 07:15:00, load 21.09kWh, PV 0.0kWh
2026-08-16 01:40:20.426557: predict best end_record 08-17 11:00:00, final soc 1.12kWh, metric 212.34p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 08:30:00, load 20.2kWh, PV 0.0kWh
2026-08-16 01:40:20.426657: Saving plan best values to HA entities
2026-08-16 01:40:20.604078: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-16 01:40:20.610242: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0.0
2026-08-16 01:40:20.619978: Best charging limit SoC's [16.0, 10.0, 12.0, 16.0, 16.0]kWh, export []kWh gives import battery 9.33kWh, house 1.39kWh, export 0.0kWh, metric 212.34p, metric10 251.58p
2026-08-16 01:40:20.692913: Marginal costs baseline metric (no standing charge): 162.3602
2026-08-16 01:40:20.945556: Marginal energy costs matrix computed: min=15.98 max=25.98
2026-08-16 01:40:21.018520: Rate array import [{'start': 100, 'end': 660, 'rate': 'expensive', 'range': '(24.1p - 27.0p)'}, {'start': 660, 'end': 720, 'rate': 'free', 'range': '(0.0p)'}, {'start': 720, 'end': 960, 'rate': 'expensive', 'range': '(21.4p - 23.4p)'}, {'start': 960, 'end': 1380, 'rate': 'very expensive', 'range': '(32.0p - 45.3p)'}, {'start': 1380, 'end': 2100, 'rate': 'expensive', 'range': '(24.1p - 30.0p)'}] export [{'start': 100, 'end': 2100, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-16 01:40:21.019366: - Your estimated bill for today is £1.28 and tomorrow is £7.27
2026-08-16 01:40:21.019452: - Import rates are expensive (24.1p - 27.0p) for the next 9 hours and then free (0.0p) for the next 1 hour.
2026-08-16 01:40:21.019485: - The battery is currently at 67% and is in eco mode for the next 9 hours.
2026-08-16 01:40:21.019532: - For the next 48 hours there will be no solar generation.
2026-08-16 01:40:21.019560: - You will run out of battery in 30 hours.
2026-08-16 01:40:21.019577: - Your next charge slot will be in 9 hours where import rates will be free (0.0p).
2026-08-16 01:40:21.019614: 
2026-08-16 01:40:21.080034: Plan calculation took 18.03 seconds
2026-08-16 01:40:21.080405: Inverter 0: Type SK Sunsynk
2026-08-16 01:40:21.080454: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-16 01:40:21.080706: Reserve min: 7%, battery_min: 7%
2026-08-16 01:40:21.080825: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-16 01:40:21.081201: Inverter 0 SoC: 10.68kW 67%, current charge rate 5000W, current discharge rate 5250W, current battery power 472W, current battery voltage 51.2V, grid power -55W, load power 527W, PV Power 0W
2026-08-16 01:40:21.081447: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-16 01:40:21.081559: Inverter 0 scheduled charge enable is False
2026-08-16 01:40:21.081600: Inverter 0 charge windows currently []
2026-08-16 01:40:21.081630: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-16 01:40:21.081770: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-16 01:40:21.081830: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-16 01:40:21.081878: Inverter 0 scheduled discharge enable is False
2026-08-16 01:40:21.082027: Inverter 0 idle time is 08-16 00:00:00-08-16 23:59:00
2026-08-16 01:40:21.082066: Inverter 0 discharge windows currently []
2026-08-16 01:40:21.082089: Note: Inverter does not support discharge freeze - disabled
2026-08-16 01:40:21.082108: Note: Inverter does not support charge freeze - disabled
2026-08-16 01:40:21.082125: Note: Inverter does not support reserve - disabling reserve functions
2026-08-16 01:40:21.137550: Inverter 0 Charge window will be: 2026-08-16 11:00:00+01:00 - 2026-08-16 12:00:00+01:00 - current SoC 67%, target 100%
2026-08-16 01:40:21.137765: Inverter 0 disabled charge window while waiting for schedule (now 08-16 01:40:00 target set_window_minutes 30 charge start time 08-16 11:00:00) original inverter start time 08-18 00:00:00
2026-08-16 01:40:21.137843: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-16 01:40:21.138070: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-16 01:40:21.138155: No export window planned
2026-08-16 01:40:21.138263: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-16 01:40:21.138326: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-16 01:40:21.138486: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-16 01:40:21.138652: Inverter 0 not setting charging SoC as we are not within the window (now 08-16 01:40:00 target set_soc_minutes 30 charge start time 08-18 00:00:00)
2026-08-16 01:40:21.138749: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-16 01:40:21.138802: Inverter 0 Current Target SoC is 7%, already at target
2026-08-16 01:40:21.138898: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 01:40:21.138967: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 01:40:21.138998: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 01:40:21.139029: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 01:40:21.139056: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 01:40:21.139086: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 01:40:21.139112: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 01:40:21.139169: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 01:40:21.139203: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 01:40:21.139229: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 01:40:21.139258: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 01:40:21.139283: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 01:40:21.139307: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 01:40:21.139331: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 01:40:21.139353: Inverter 0 count register writes 0
2026-08-16 01:40:21.162240: Total inverter register writes now 826
2026-08-16 01:40:21.197914: Info: Completed run status Demand
2026-08-16 01:40:21.206449: Info: record_status Demand
2026-08-16 01:40:21.213948: Saved current settings to /config/predbat_config.json
2026-08-16 01:40:21.214352: Compare, best tariff: igo_fixed metric 126.72p
2026-08-16 01:40:57.331249: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-16 01:40:57.331484: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-16 01:40:57.331533: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-16 01:40:57.331740: Inverter 0 idle time is 08-16 00:00:00-08-16 23:59:00
2026-08-16 01:40:57.331798: Note: Inverter does not support discharge freeze - disabled
2026-08-16 01:40:57.331820: Note: Inverter does not support charge freeze - disabled
2026-08-16 01:40:57.331838: Note: Inverter does not support reserve - disabling reserve functions
2026-08-16 01:43:11.570113: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-16 01:43:11.570408: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-16 01:43:11.570443: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-16 01:43:11.570725: Inverter 0 idle time is 08-16 00:00:00-08-16 23:59:00
2026-08-16 01:43:11.570778: Note: Inverter does not support discharge freeze - disabled
2026-08-16 01:43:11.570799: Note: Inverter does not support charge freeze - disabled
2026-08-16 01:43:11.570814: Note: Inverter does not support reserve - disabling reserve functions
2026-08-16 01:45:00.773397: --------------- PredBat - update at 2026-08-16 01:45:00+01:00 with clock skew 0 minutes, minutes now 105
2026-08-16 01:45:00.774342: Saved current settings to /config/predbat_config.json
2026-08-16 01:45:00.774521: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 70.0 minutes
2026-08-16 01:45:00.774633: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.2, latest beta is v8.48.2
2026-08-16 01:45:00.774754: Autoupdate: There is an update pending v8.48.2 PV90 and second pass enabled by default, bug fixes - auto update is off
2026-08-16 01:45:00.792554: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-16 01:45:00.792674: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-16 01:45:00.792815: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-16 01:45:00.793334: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-16 01:45:00.793459: Predbat mode is set to Control charge & discharge
2026-08-16 01:45:00.953879: Found 21602 load_today datapoints going back 28 days
2026-08-16 01:45:00.954042: Using load_power data to fill gaps in load_today data
2026-08-16 01:45:01.688024: Processing 721 30-minute periods for power integration
2026-08-16 01:45:01.869831: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-16 01:45:01.869983: Car charging hold False, threshold 6.0kWh
2026-08-16 01:45:01.870030: Current data so far today: load 1.5kWh, import 0.0kWh, export 0.0kWh, PV 0kWh
2026-08-16 01:45:01.885604: Cars: SoC: [8.204]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-16 01:45:01.886014: Standing charge is set to 49.98p
2026-08-16 01:45:01.919004: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-16 01:45:01.919261: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-16 01:45:01.919690: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 105.0 minutes
2026-08-16 01:45:01.920404: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-17&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 104.8 minutes
2026-08-16 01:45:01.923744: Loaded 47 datapoints of futurerate analysis
2026-08-16 01:45:02.012884: Predicted future rates: ['08-16 00:00:00 => 28.52 / 19.97', '08-16 01:00:00 => 27.43 / 19.41', '08-16 02:00:00 => 26.47 / 18.92', '08-16 03:00:00 => 26.1 / 18.73', '08-16 04:00:00 => 26.04 / 18.7', '08-16 05:00:00 => 25.95 / 18.65', '08-16 06:00:00 => 25.71 / 18.53', '08-16 07:00:00 => 25.37 / 18.35', '08-16 08:00:00 => 24.58 / 17.94', '08-16 09:00:00 => 24.0 / 17.64', '08-16 10:00:00 => 24.54 / 17.92', '08-16 11:00:00 => 24.44 / 17.87', '08-16 12:00:00 => 23.53 / 17.4', '08-16 13:00:00 => 22.89 / 17.07', '08-16 14:00:00 => 21.77 / 16.49', '08-16 15:00:00 => 21.77 / 16.49', '08-16 16:00:00 => 36.89 / 18.3', '08-16 17:00:00 => 39.85 / 19.83', '08-16 18:00:00 => 43.87 / 21.9', '08-16 19:00:00 => 32.69 / 22.13', '08-16 20:00:00 => 33.46 / 22.53', '08-16 21:00:00 => 33.37 / 22.48', '08-16 22:00:00 => 32.01 / 21.78']
2026-08-16 01:45:02.062693: Rate min forward looking: now 0.0p at end of forecast 21.41p
2026-08-16 01:45:02.063017: Import rates: min 0.0p, max 45.28p, average 28.23p
2026-08-16 01:45:02.097822: Export rates: min 0p, max 0p, average 0.0p
2026-08-16 01:45:02.097931: Rate thresholds (for charge/export) are import 44.78p (0.0p), export -0.1p (0.0p)
2026-08-16 01:45:02.099040: High export rate found rates in range 99p to -99p
2026-08-16 01:45:02.169117: Low Import rate found rates in range 0.0p to 44.34p
2026-08-16 01:45:02.169250: Car 0 charging is not planned as it is not plugged in
2026-08-16 01:45:02.181651: Battery level now 10.72kWh, -1hr ago 11.39kWh, at midnight 12.21kWh, battery value change in the last hour -0.67p, change today -1.49p, rate_forward 1.0p
2026-08-16 01:45:02.182015: 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-16 01:45:02.229697: Today's energy total net 0.0kWh, import 0.0kWh, export 0.0kWh, cost 49.98p, import 0.0p, export 0.0p, carbon 0.0kg
2026-08-16 01:45:02.229836: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-16 01:45:02.304868: Using weighted-bucket historical load forecast over 14 days
2026-08-16 01:45:02.327211: Today's load divergence 100.0%, in-day adjustment 82.97%, damping 0.95x, yesterday 82.97% today 100.0% blend 100.0%
2026-08-16 01:45:02.327311: Today's predicted so far 1.61kWh with 0.0kWh car/iBoost excluded, 0kWh import ignored, and 1.61kWh forecast extra.
2026-08-16 01:45:02.327344: Today's actual load so far 1.44kWh with 0.0kWh car/iBoost excluded, and 0kWh import ignored.
2026-08-16 01:45:02.369167: Inverter 0: Type SK Sunsynk
2026-08-16 01:45:02.369271: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-16 01:45:02.369516: Reserve min: 7%, battery_min: 7%
2026-08-16 01:45:02.369591: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-16 01:45:02.369855: Inverter 0 SoC: 10.68kW 67%, current charge rate 5000W, current discharge rate 5250W, current battery power 535W, current battery voltage 51.2V, grid power -54W, load power 588W, PV Power 0W
2026-08-16 01:45:02.370043: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-16 01:45:02.370148: Inverter 0 scheduled charge enable is False
2026-08-16 01:45:02.370190: Inverter 0 charge windows currently []
2026-08-16 01:45:02.370233: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-16 01:45:02.370374: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-16 01:45:02.370412: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-16 01:45:02.370461: Inverter 0 scheduled discharge enable is False
2026-08-16 01:45:02.370608: Inverter 0 idle time is 08-16 00:00:00-08-16 23:59:00
2026-08-16 01:45:02.370646: Inverter 0 discharge windows currently []
2026-08-16 01:45:02.370686: Note: Inverter does not support discharge freeze - disabled
2026-08-16 01:45:02.370706: Note: Inverter does not support charge freeze - disabled
2026-08-16 01:45:02.370734: Note: Inverter does not support reserve - disabling reserve functions
2026-08-16 01:45:02.425316: Dynamic load last period 0.60kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-16 01:45:02.425416: Plan was last updated on 2026-08-16 01:40:00+01:00 and is now 5.0 minutes old
2026-08-16 01:45:02.425629: Best charge window [ 16-08 11:00:00 - 16-08 12:00:00 @ 0.0p 100%, 16-08 12:30:00 - 16-08 14:00:00 @ 22.43p 63%, 16-08 14:00:00 - 16-08 16:00:00 @ 22.53p 75%, 17-08 11:00:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 18-08 01:30:00 @ 27.44p 100% ]
2026-08-16 01:45:02.425665: Best export window [  ]
2026-08-16 01:45:02.426260: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-16 01:45:02.428841: Load divergence over 8.0 hours mean 528.59W, min 288.0W, max 1631.4W, std dev 327.87W, divergence 31.01%
2026-08-16 01:45:02.444469: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-16 01:45:02.444562: LoadML is_calculating False
2026-08-16 01:45:02.444620: Creating pool of 12 processes to match your CPU count
2026-08-16 01:45:02.554330: predict base end_record 08-17 11:05:00, final soc 1.12kWh, metric 374.78p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 19:35:00, load 20.25kWh, PV 0.0kWh
2026-08-16 01:45:02.669091: Battery has 17.83 hours left - now at 10.68kWh
2026-08-16 01:45:02.707257: predict base10 end_record 08-17 11:05:00, final soc 1.12kWh, metric 403.34p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 18:50:00, load 21.14kWh, PV 0.0kWh
2026-08-16 01:45:02.794147: predict best10 end_record 08-17 11:05:00, final soc 1.44kWh, metric 260.61p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 07:15:00, load 21.14kWh, PV 0.0kWh
2026-08-16 01:45:02.864738: predict best end_record 08-17 11:05:00, final soc 1.51kWh, metric 223.24p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 08:30:00, load 20.25kWh, PV 0.0kWh
2026-08-16 01:45:02.864822: Saving plan best values to HA entities
2026-08-16 01:45:03.029496: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-16 01:45:03.034890: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-16 01:45:03.040327: Best charging limit SoC's [16.0, 10.0, 12.0, 16.0, 16.0]kWh, export []kWh gives import battery 9.79kWh, house 1.38kWh, export 0.0kWh, metric 223.24p, metric10 260.61p
2026-08-16 01:45:03.114701: Marginal costs baseline metric (no standing charge): 173.2588
2026-08-16 01:45:03.360841: Marginal energy costs matrix computed: min=17.83 max=25.97
2026-08-16 01:45:03.478981: Rate array import [{'start': 105, 'end': 660, 'rate': 'expensive', 'range': '(24.1p - 27.0p)'}, {'start': 660, 'end': 720, 'rate': 'free', 'range': '(0.0p)'}, {'start': 720, 'end': 960, 'rate': 'expensive', 'range': '(21.4p - 23.4p)'}, {'start': 960, 'end': 1380, 'rate': 'very expensive', 'range': '(32.0p - 45.3p)'}, {'start': 1380, 'end': 2105, 'rate': 'expensive', 'range': '(24.1p - 30.0p)'}] export [{'start': 105, 'end': 2105, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-16 01:45:03.479779: - Your estimated bill for today is £1.27 and tomorrow is £7.29
2026-08-16 01:45:03.479831: - Import rates are expensive (24.1p - 27.0p) for the next 9 hours and then free (0.0p) for the next 1 hour.
2026-08-16 01:45:03.479855: - The battery is currently at 67% and is in eco mode for the next 9 hours.
2026-08-16 01:45:03.479874: - For the next 48 hours there will be no solar generation.
2026-08-16 01:45:03.479891: - You will run out of battery in 30 hours.
2026-08-16 01:45:03.479912: - Your next charge slot will be in 9 hours where import rates will be free (0.0p).
2026-08-16 01:45:03.479949: 
2026-08-16 01:45:03.535442: Plan calculation took 1.11 seconds
2026-08-16 01:45:03.538679: No high rate period found
2026-08-16 01:45:03.587374: Import threshold used for optimisation was 24.06p
2026-08-16 01:45:03.640856: Low import rate windows [0: 08-16 01:30:00 - 08-16 02:00:00 @ 26.31, 1: 08-16 02:00:00 - 08-16 02:30:00 @ 25.79, 2: 08-16 02:30:00 - 08-16 03:00:00 @ 25.86, 3: 08-16 03:00:00 - 08-16 03:30:00 @ 26.13, 4: 08-16 03:30:00 - 08-16 04:00:00 @ 25.86, 5: 08-16 04:00:00 - 08-16 04:30:00 @ 26.27, 6: 08-16 04:30:00 - 08-16 05:00:00 @ 26.14, 7: 08-16 05:00:00 - 08-16 05:30:00 @ 27.03, 8: 08-16 05:30:00 - 08-16 06:00:00 @ 26.28, 9: 08-16 06:00:00 - 08-16 06:30:00 @ 25.68, 10: 08-16 06:30:00 - 08-16 07:00:00 @ 26.1, 11: 08-16 07:00:00 - 08-16 07:30:00 @ 24.28, 12: 08-16 07:30:00 - 08-16 08:00:00 @ 24.94, 13: 08-16 08:00:00 - 08-16 08:30:00 @ 24.06, 14: 08-16 08:30:00 - 08-16 09:00:00 @ 24.39, 15: 08-16 09:00:00 - 08-16 09:30:00 @ 24.66, 16: 08-16 09:30:00 - 08-16 10:00:00 @ 24.06, 17: 08-16 10:00:00 - 08-16 10:30:00 @ 25.5, 18: 08-16 10:30:00 - 08-16 11:00:00 @ 24.94, 19: 08-16 11:00:00 - 08-16 11:30:00 @ 0.0, 20: 08-16 11:30:00 - 08-16 12:00:00 @ 0.0, 21: 08-16 12:00:00 - 08-16 12:30:00 @ 23.43, 22: 08-16 12:30:00 - 08-16 13:00:00 @ 22.33, 23: 08-16 13:00:00 - 08-16 13:30:00 @ 22.76, 24: 08-16 13:30:00 - 08-16 14:00:00 @ 22.3, 25: 08-16 14:00:00 - 08-16 14:30:00 @ 21.41, 26: 08-16 14:30:00 - 08-16 15:00:00 @ 21.65, 27: 08-16 15:00:00 - 08-16 15:30:00 @ 22.95, 28: 08-16 15:30:00 - 08-16 16:00:00 @ 22.83, 29: 08-16 16:00:00 - 08-16 16:30:00 @ 36.84, 30: 08-16 16:30:00 - 08-16 17:00:00 @ 37.54, 31: 08-16 17:00:00 - 08-16 17:30:00 @ 41.79, 32: 08-16 17:30:00 - 08-16 18:00:00 @ 43.7, 33: 08-16 18:00:00 - 08-16 18:30:00 @ 44.34, 34: 08-16 19:00:00 - 08-16 19:30:00 @ 34.79, 35: 08-16 19:30:00 - 08-16 20:00:00 @ 34.76, 36: 08-16 20:00:00 - 08-16 20:30:00 @ 35.62, 37: 08-16 20:30:00 - 08-16 21:00:00 @ 35.3, 38: 08-16 21:00:00 - 08-16 21:30:00 @ 35.89, 39: 08-16 21:30:00 - 08-16 22:00:00 @ 35.71, 40: 08-16 22:00:00 - 08-16 22:30:00 @ 33.75, 41: 08-16 22:30:00 - 08-16 23:00:00 @ 32.0, 42: 08-16 23:00:00 - 08-16 23:30:00 @ 30.02, 43: 08-16 23:30:00 - 08-17 00:00:00 @ 27.8, 44: 08-17 00:00:00 - 08-17 00:30:00 @ 28.18, 45: 08-17 00:30:00 - 08-17 01:00:00 @ 27.38, 46: 08-17 01:00:00 - 08-17 01:30:00 @ 26.7, 47: 08-17 01:30:00 - 08-17 02:00:00 @ 26.31, 48: 08-17 02:00:00 - 08-17 02:30:00 @ 25.79, 49: 08-17 02:30:00 - 08-17 03:00:00 @ 25.86, 50: 08-17 03:00:00 - 08-17 03:30:00 @ 26.13, 51: 08-17 03:30:00 - 08-17 04:00:00 @ 25.86, 52: 08-17 04:00:00 - 08-17 04:30:00 @ 26.27, 53: 08-17 04:30:00 - 08-17 05:00:00 @ 26.14, 54: 08-17 05:00:00 - 08-17 05:30:00 @ 27.03, 55: 08-17 05:30:00 - 08-17 06:00:00 @ 26.28, 56: 08-17 06:00:00 - 08-17 06:30:00 @ 25.68, 57: 08-17 06:30:00 - 08-17 07:00:00 @ 26.1, 58: 08-17 07:00:00 - 08-17 07:30:00 @ 24.28, 59: 08-17 07:30:00 - 08-17 08:00:00 @ 24.94, 60: 08-17 08:00:00 - 08-17 08:30:00 @ 24.06, 61: 08-17 08:30:00 - 08-17 09:00:00 @ 24.39, 62: 08-17 09:00:00 - 08-17 09:30:00 @ 24.66, 63: 08-17 09:30:00 - 08-17 10:00:00 @ 24.06, 64: 08-17 10:00:00 - 08-17 10:30:00 @ 25.5, 65: 08-17 10:30:00 - 08-17 11:00:00 @ 24.94, 66: 08-17 11:00:00 - 08-17 11:30:00 @ 24.25, 67: 08-17 11:30:00 - 08-17 12:00:00 @ 23.49, 68: 08-17 12:00:00 - 08-17 12:30:00 @ 23.43, 69: 08-17 12:30:00 - 08-17 13:00:00 @ 22.33, 70: 08-17 13:00:00 - 08-17 13:30:00 @ 22.76, 71: 08-17 13:30:00 - 08-17 14:00:00 @ 22.3, 72: 08-17 14:00:00 - 08-17 14:30:00 @ 21.41, 73: 08-17 14:30:00 - 08-17 15:00:00 @ 21.65, 74: 08-17 15:00:00 - 08-17 15:30:00 @ 22.95, 75: 08-17 15:30:00 - 08-17 16:00:00 @ 22.83, 76: 08-17 16:00:00 - 08-17 16:30:00 @ 36.84, 77: 08-17 16:30:00 - 08-17 17:00:00 @ 37.54, 78: 08-17 17:00:00 - 08-17 17:30:00 @ 41.79, 79: 08-17 17:30:00 - 08-17 18:00:00 @ 43.7, 80: 08-17 18:00:00 - 08-17 18:30:00 @ 44.34, 81: 08-17 19:00:00 - 08-17 19:30:00 @ 34.79, 82: 08-17 19:30:00 - 08-17 20:00:00 @ 34.76, 83: 08-17 20:00:00 - 08-17 20:30:00 @ 35.62, 84: 08-17 20:30:00 - 08-17 21:00:00 @ 35.3, 85: 08-17 21:00:00 - 08-17 21:30:00 @ 35.89, 86: 08-17 21:30:00 - 08-17 22:00:00 @ 35.71, 87: 08-17 22:00:00 - 08-17 22:30:00 @ 33.75, 88: 08-17 22:30:00 - 08-17 23:00:00 @ 32.0, 89: 08-17 23:00:00 - 08-17 23:30:00 @ 30.02, 90: 08-17 23:30:00 - 08-18 00:00:00 @ 27.8, 91: 08-18 00:00:00 - 08-18 00:30:00 @ 28.18, 92: 08-18 00:30:00 - 08-18 01:00:00 @ 27.38, 93: 08-18 01:00:00 - 08-18 01:30:00 @ 26.7, 94: 08-18 01:30:00 - 08-18 02:00:00 @ 26.31]
2026-08-16 01:45:03.648223: Inverter 0 Charge window will be: 2026-08-16 11:00:00+01:00 - 2026-08-16 12:00:00+01:00 - current SoC 67%, target 100%
2026-08-16 01:45:03.648371: Inverter 0 disabled charge window while waiting for schedule (now 08-16 01:45:00 target set_window_minutes 30 charge start time 08-16 11:00:00) original inverter start time 08-18 00:00:00
2026-08-16 01:45:03.648502: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-16 01:45:03.648769: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-16 01:45:03.648881: No export window planned
2026-08-16 01:45:03.649031: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-16 01:45:03.649074: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-16 01:45:03.649235: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-16 01:45:03.649480: Inverter 0 not setting charging SoC as we are not within the window (now 08-16 01:45:00 target set_soc_minutes 30 charge start time 08-18 00:00:00)
2026-08-16 01:45:03.649585: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-16 01:45:03.649676: Inverter 0 Current Target SoC is 7%, already at target
2026-08-16 01:45:03.649792: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 01:45:03.649834: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 01:45:03.649862: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 01:45:03.649894: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 01:45:03.649924: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 01:45:03.649954: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 01:45:03.649980: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 01:45:03.650042: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 01:45:03.650079: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 01:45:03.650104: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 01:45:03.650133: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 01:45:03.650157: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 01:45:03.650186: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 01:45:03.650210: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 01:45:03.650233: Inverter 0 count register writes 0
2026-08-16 01:45:03.666912: Will not recompute the plan, it is 5.0 minutes old and max age is 10 minutes
2026-08-16 01:45:03.672264: Total inverter register writes now 826
2026-08-16 01:45:03.703571: Info: Completed run status Demand
2026-08-16 01:45:03.709976: Info: record_status Demand
2026-08-16 01:45:03.716905: Saved current settings to /config/predbat_config.json
2026-08-16 01:45:03.717249: Compare, best tariff: igo_fixed metric 126.72p
2026-08-16 01:45:35.281955: ML Component: Fetching 28 days of load history from ['sensor.sunsynk_day_load_energy']
2026-08-16 01:45:36.156296: Processing 1345 30-minute periods for power integration
2026-08-16 01:45:36.240980: ML Component: Car charging hold False, car energy reported load False
2026-08-16 01:45:36.322631: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-16 01:45:36.403146: ML Temperature data points: 48856
2026-08-16 01:45:36.624628: ML Component: Fetched 8064 load data points, 28.0 days of history
2026-08-16 01:45:36.660653: ML Component: Data fetch completed, load data age 57.0 days, 16573 data points
2026-08-16 01:45:36.660762: ML Component: No training needed, model age is 1.85 hours
2026-08-16 01:45:36.660824: ML Component: Generating predictions load data age 57.0 days, 16573 data points
2026-08-16 01:45:36.772121: ML Predictor: Starting autoregressive prediction loop for 576 steps (48.0 hours), prev_energy value 0.0586 max_dow {0: 0.10210624996256083, 1: 0.10689687554407865, 2: 0.11675312483031303, 3: 0.12371874963529408, 4: 0.16831249989941716, 5: 0.09602222218207186, 6: 0.10714375132601708}
2026-08-16 01:45:38.667798: ML Component: Generated 576 predictions (total 24.63 kWh over 48h)
2026-08-16 01:45:38.701045: ML Component: Prediction cycle completed
2026-08-16 01:45:38.817759: ML Component: Saved 16573 steps (57 days) of history to /config/predbat_ml_history.npz
2026-08-16 01:45:41.837362: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-16 01:45:41.837756: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-16 01:45:41.837836: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-16 01:45:41.838058: Inverter 0 idle time is 08-16 00:00:00-08-16 23:59:00
2026-08-16 01:45:41.838129: Note: Inverter does not support discharge freeze - disabled
2026-08-16 01:45:41.838172: Note: Inverter does not support charge freeze - disabled
2026-08-16 01:45:41.838216: Note: Inverter does not support reserve - disabling reserve functions
2026-08-16 01:47:42.103095: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-16 01:47:42.103554: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-16 01:47:42.103645: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-16 01:47:42.103825: Inverter 0 idle time is 08-16 00:00:00-08-16 23:59:00
2026-08-16 01:47:42.103891: Note: Inverter does not support discharge freeze - disabled
2026-08-16 01:47:42.103922: Note: Inverter does not support charge freeze - disabled
2026-08-16 01:47:42.103941: Note: Inverter does not support reserve - disabling reserve functions
2026-08-16 01:49:42.323850: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-16 01:49:42.324120: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-16 01:49:42.324166: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-16 01:49:42.324412: Inverter 0 idle time is 08-16 00:00:00-08-16 23:59:00
2026-08-16 01:49:42.324482: Note: Inverter does not support discharge freeze - disabled
2026-08-16 01:49:42.324503: Note: Inverter does not support charge freeze - disabled
2026-08-16 01:49:42.324521: Note: Inverter does not support reserve - disabling reserve functions
2026-08-16 01:50:00.416354: --------------- PredBat - update at 2026-08-16 01:50:00+01:00 with clock skew 0 minutes, minutes now 110
2026-08-16 01:50:00.417179: Saved current settings to /config/predbat_config.json
2026-08-16 01:50:00.417344: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 75.0 minutes
2026-08-16 01:50:00.417430: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.2, latest beta is v8.48.2
2026-08-16 01:50:00.417554: Autoupdate: There is an update pending v8.48.2 PV90 and second pass enabled by default, bug fixes - auto update is off
2026-08-16 01:50:00.437795: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-16 01:50:00.437932: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-16 01:50:00.438178: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-16 01:50:00.438774: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-16 01:50:00.438972: Predbat mode is set to Control charge & discharge
2026-08-16 01:50:00.628253: Found 21602 load_today datapoints going back 28 days
2026-08-16 01:50:00.628386: Using load_power data to fill gaps in load_today data
2026-08-16 01:50:01.394487: Processing 721 30-minute periods for power integration
2026-08-16 01:50:01.564448: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-16 01:50:01.564587: Car charging hold False, threshold 6.0kWh
2026-08-16 01:50:01.564643: Current data so far today: load 1.55kWh, import 0.1kWh, export 0.0kWh, PV 0kWh
2026-08-16 01:50:01.579422: Cars: SoC: [8.204]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-16 01:50:01.579885: Standing charge is set to 49.98p
2026-08-16 01:50:01.606771: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-16 01:50:01.606884: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-16 01:50:01.607149: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 110.0 minutes
2026-08-16 01:50:01.607788: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-17&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 109.8 minutes
2026-08-16 01:50:01.611135: Loaded 47 datapoints of futurerate analysis
2026-08-16 01:50:01.699970: Predicted future rates: ['08-16 00:00:00 => 28.52 / 19.97', '08-16 01:00:00 => 27.43 / 19.41', '08-16 02:00:00 => 26.47 / 18.92', '08-16 03:00:00 => 26.1 / 18.73', '08-16 04:00:00 => 26.04 / 18.7', '08-16 05:00:00 => 25.95 / 18.65', '08-16 06:00:00 => 25.71 / 18.53', '08-16 07:00:00 => 25.37 / 18.35', '08-16 08:00:00 => 24.58 / 17.94', '08-16 09:00:00 => 24.0 / 17.64', '08-16 10:00:00 => 24.54 / 17.92', '08-16 11:00:00 => 24.44 / 17.87', '08-16 12:00:00 => 23.53 / 17.4', '08-16 13:00:00 => 22.89 / 17.07', '08-16 14:00:00 => 21.77 / 16.49', '08-16 15:00:00 => 21.77 / 16.49', '08-16 16:00:00 => 36.89 / 18.3', '08-16 17:00:00 => 39.85 / 19.83', '08-16 18:00:00 => 43.87 / 21.9', '08-16 19:00:00 => 32.69 / 22.13', '08-16 20:00:00 => 33.46 / 22.53', '08-16 21:00:00 => 33.37 / 22.48', '08-16 22:00:00 => 32.01 / 21.78']
2026-08-16 01:50:01.761861: Rate min forward looking: now 0.0p at end of forecast 21.41p
2026-08-16 01:50:01.762468: Import rates: min 0.0p, max 45.28p, average 28.23p
2026-08-16 01:50:01.808248: Export rates: min 0p, max 0p, average 0.0p
2026-08-16 01:50:01.808423: Rate thresholds (for charge/export) are import 44.78p (0.0p), export -0.1p (0.0p)
2026-08-16 01:50:01.809789: High export rate found rates in range 99p to -99p
2026-08-16 01:50:01.898938: Low Import rate found rates in range 0.0p to 44.34p
2026-08-16 01:50:01.899125: Car 0 charging is not planned as it is not plugged in
2026-08-16 01:50:01.917521: Battery level now 10.68kWh, -1hr ago 11.24kWh, at midnight 12.21kWh, battery value change in the last hour -0.56p, change today -1.53p, rate_forward 1.0p
2026-08-16 01:50:01.918005: Last hour: net energy 0.06kWh, import 0.06kWh, export 0.0kWh, car 0kWh, load 0.75kWh, net cost 1.47p, import 1.47p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-16 01:50:01.995444: Today's energy total net 0.1kWh, import 0.1kWh, export 0.0kWh, cost 52.71p, import 2.72p, export 0.0p, carbon 0.0kg
2026-08-16 01:50:01.995630: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-16 01:50:02.066403: Using weighted-bucket historical load forecast over 14 days
2026-08-16 01:50:02.088367: Today's load divergence 100.0%, in-day adjustment 82.97%, damping 0.95x, yesterday 82.97% today 100.0% blend 100.0%
2026-08-16 01:50:02.088459: Today's predicted so far 1.66kWh with 0.0kWh car/iBoost excluded, 0kWh import ignored, and 1.66kWh forecast extra.
2026-08-16 01:50:02.088490: Today's actual load so far 1.49kWh with 0.0kWh car/iBoost excluded, and 0kWh import ignored.
2026-08-16 01:50:02.126856: Inverter 0: Type SK Sunsynk
2026-08-16 01:50:02.126952: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-16 01:50:02.127136: Reserve min: 7%, battery_min: 7%
2026-08-16 01:50:02.127212: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-16 01:50:02.127492: Inverter 0 SoC: 10.56kW 66%, current charge rate 5000W, current discharge rate 5250W, current battery power 472W, current battery voltage 51.2V, grid power -53W, load power 522W, PV Power 0W
2026-08-16 01:50:02.127649: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-16 01:50:02.127738: Inverter 0 scheduled charge enable is False
2026-08-16 01:50:02.127767: Inverter 0 charge windows currently []
2026-08-16 01:50:02.127797: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-16 01:50:02.127900: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-16 01:50:02.127935: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-16 01:50:02.127969: Inverter 0 scheduled discharge enable is False
2026-08-16 01:50:02.128088: Inverter 0 idle time is 08-16 00:00:00-08-16 23:59:00
2026-08-16 01:50:02.128143: Inverter 0 discharge windows currently []
2026-08-16 01:50:02.128168: Note: Inverter does not support discharge freeze - disabled
2026-08-16 01:50:02.128189: Note: Inverter does not support charge freeze - disabled
2026-08-16 01:50:02.128209: Note: Inverter does not support reserve - disabling reserve functions
2026-08-16 01:50:02.189699: Dynamic load last period 0.60kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-16 01:50:02.189828: Plan was last updated on 2026-08-16 01:40:00+01:00 and is now 10.0 minutes old
2026-08-16 01:50:02.190172: Best charge window [ 16-08 11:00:00 - 16-08 12:00:00 @ 0.0p 100%, 16-08 12:30:00 - 16-08 14:00:00 @ 22.43p 63%, 16-08 14:00:00 - 16-08 16:00:00 @ 22.53p 75%, 17-08 11:00:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 18-08 01:30:00 @ 27.44p 100% ]
2026-08-16 01:50:02.190234: Best export window [  ]
2026-08-16 01:50:02.191112: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-16 01:50:02.194348: Load divergence over 8.0 hours mean 523.74W, min 290.4W, max 1545.0W, std dev 320.9W, divergence 30.64%
2026-08-16 01:50:02.213828: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-16 01:50:02.213996: LoadML is_calculating False
2026-08-16 01:50:02.214088: Creating pool of 12 processes to match your CPU count
2026-08-16 01:50:02.340745: predict base end_record 08-17 11:10:00, final soc 1.12kWh, metric 380.41p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 19:30:00, load 20.29kWh, PV 0.0kWh
2026-08-16 01:50:02.494671: Battery has 17.67 hours left - now at 10.56kWh
2026-08-16 01:50:02.542472: predict base10 end_record 08-17 11:10:00, final soc 1.12kWh, metric 409.53p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 18:45:00, load 21.18kWh, PV 0.0kWh
2026-08-16 01:50:02.632240: predict best10 end_record 08-17 11:10:00, final soc 1.77kWh, metric 274.39p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 07:20:00, load 21.18kWh, PV 0.0kWh
2026-08-16 01:50:02.716905: predict best end_record 08-17 11:10:00, final soc 1.9kWh, metric 238.51p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 08:30:00, load 20.29kWh, PV 0.0kWh
2026-08-16 01:50:02.717026: Saving plan best values to HA entities
2026-08-16 01:50:02.923677: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-16 01:50:02.929597: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-16 01:50:02.935292: Best charging limit SoC's [16.0, 10.0, 12.0, 16.0, 16.0]kWh, export []kWh gives import battery 10.32kWh, house 1.37kWh, export 0.0kWh, metric 238.51p, metric10 274.39p
2026-08-16 01:50:03.018394: Marginal costs baseline metric (no standing charge): 188.5289
2026-08-16 01:50:03.309680: Marginal energy costs matrix computed: min=19.71 max=26.0
2026-08-16 01:50:03.408970: Rate array import [{'start': 110, 'end': 660, 'rate': 'expensive', 'range': '(24.1p - 27.0p)'}, {'start': 660, 'end': 720, 'rate': 'free', 'range': '(0.0p)'}, {'start': 720, 'end': 960, 'rate': 'expensive', 'range': '(21.4p - 23.4p)'}, {'start': 960, 'end': 1380, 'rate': 'very expensive', 'range': '(32.0p - 45.3p)'}, {'start': 1380, 'end': 2110, 'rate': 'expensive', 'range': '(24.1p - 30.0p)'}] export [{'start': 110, 'end': 2110, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-16 01:50:03.409766: - Your estimated bill for today is £1.31 and tomorrow is £7.29
2026-08-16 01:50:03.409825: - Import rates are expensive (24.1p - 27.0p) for the next 9 hours and then free (0.0p) for the next 1 hour.
2026-08-16 01:50:03.409849: - The battery is currently at 66% and is in eco mode for the next 9 hours.
2026-08-16 01:50:03.409867: - For the next 48 hours there will be no solar generation.
2026-08-16 01:50:03.409884: - You will run out of battery in 30 hours.
2026-08-16 01:50:03.409901: - Your next charge slot will be in 9 hours where import rates will be free (0.0p).
2026-08-16 01:50:03.409918: 
2026-08-16 01:50:03.469807: Plan calculation took 1.28 seconds
2026-08-16 01:50:03.473019: No high rate period found
2026-08-16 01:50:03.524564: Import threshold used for optimisation was 24.06p
2026-08-16 01:50:03.576149: Low import rate windows [0: 08-16 01:30:00 - 08-16 02:00:00 @ 26.31, 1: 08-16 02:00:00 - 08-16 02:30:00 @ 25.79, 2: 08-16 02:30:00 - 08-16 03:00:00 @ 25.86, 3: 08-16 03:00:00 - 08-16 03:30:00 @ 26.13, 4: 08-16 03:30:00 - 08-16 04:00:00 @ 25.86, 5: 08-16 04:00:00 - 08-16 04:30:00 @ 26.27, 6: 08-16 04:30:00 - 08-16 05:00:00 @ 26.14, 7: 08-16 05:00:00 - 08-16 05:30:00 @ 27.03, 8: 08-16 05:30:00 - 08-16 06:00:00 @ 26.28, 9: 08-16 06:00:00 - 08-16 06:30:00 @ 25.68, 10: 08-16 06:30:00 - 08-16 07:00:00 @ 26.1, 11: 08-16 07:00:00 - 08-16 07:30:00 @ 24.28, 12: 08-16 07:30:00 - 08-16 08:00:00 @ 24.94, 13: 08-16 08:00:00 - 08-16 08:30:00 @ 24.06, 14: 08-16 08:30:00 - 08-16 09:00:00 @ 24.39, 15: 08-16 09:00:00 - 08-16 09:30:00 @ 24.66, 16: 08-16 09:30:00 - 08-16 10:00:00 @ 24.06, 17: 08-16 10:00:00 - 08-16 10:30:00 @ 25.5, 18: 08-16 10:30:00 - 08-16 11:00:00 @ 24.94, 19: 08-16 11:00:00 - 08-16 11:30:00 @ 0.0, 20: 08-16 11:30:00 - 08-16 12:00:00 @ 0.0, 21: 08-16 12:00:00 - 08-16 12:30:00 @ 23.43, 22: 08-16 12:30:00 - 08-16 13:00:00 @ 22.33, 23: 08-16 13:00:00 - 08-16 13:30:00 @ 22.76, 24: 08-16 13:30:00 - 08-16 14:00:00 @ 22.3, 25: 08-16 14:00:00 - 08-16 14:30:00 @ 21.41, 26: 08-16 14:30:00 - 08-16 15:00:00 @ 21.65, 27: 08-16 15:00:00 - 08-16 15:30:00 @ 22.95, 28: 08-16 15:30:00 - 08-16 16:00:00 @ 22.83, 29: 08-16 16:00:00 - 08-16 16:30:00 @ 36.84, 30: 08-16 16:30:00 - 08-16 17:00:00 @ 37.54, 31: 08-16 17:00:00 - 08-16 17:30:00 @ 41.79, 32: 08-16 17:30:00 - 08-16 18:00:00 @ 43.7, 33: 08-16 18:00:00 - 08-16 18:30:00 @ 44.34, 34: 08-16 19:00:00 - 08-16 19:30:00 @ 34.79, 35: 08-16 19:30:00 - 08-16 20:00:00 @ 34.76, 36: 08-16 20:00:00 - 08-16 20:30:00 @ 35.62, 37: 08-16 20:30:00 - 08-16 21:00:00 @ 35.3, 38: 08-16 21:00:00 - 08-16 21:30:00 @ 35.89, 39: 08-16 21:30:00 - 08-16 22:00:00 @ 35.71, 40: 08-16 22:00:00 - 08-16 22:30:00 @ 33.75, 41: 08-16 22:30:00 - 08-16 23:00:00 @ 32.0, 42: 08-16 23:00:00 - 08-16 23:30:00 @ 30.02, 43: 08-16 23:30:00 - 08-17 00:00:00 @ 27.8, 44: 08-17 00:00:00 - 08-17 00:30:00 @ 28.18, 45: 08-17 00:30:00 - 08-17 01:00:00 @ 27.38, 46: 08-17 01:00:00 - 08-17 01:30:00 @ 26.7, 47: 08-17 01:30:00 - 08-17 02:00:00 @ 26.31, 48: 08-17 02:00:00 - 08-17 02:30:00 @ 25.79, 49: 08-17 02:30:00 - 08-17 03:00:00 @ 25.86, 50: 08-17 03:00:00 - 08-17 03:30:00 @ 26.13, 51: 08-17 03:30:00 - 08-17 04:00:00 @ 25.86, 52: 08-17 04:00:00 - 08-17 04:30:00 @ 26.27, 53: 08-17 04:30:00 - 08-17 05:00:00 @ 26.14, 54: 08-17 05:00:00 - 08-17 05:30:00 @ 27.03, 55: 08-17 05:30:00 - 08-17 06:00:00 @ 26.28, 56: 08-17 06:00:00 - 08-17 06:30:00 @ 25.68, 57: 08-17 06:30:00 - 08-17 07:00:00 @ 26.1, 58: 08-17 07:00:00 - 08-17 07:30:00 @ 24.28, 59: 08-17 07:30:00 - 08-17 08:00:00 @ 24.94, 60: 08-17 08:00:00 - 08-17 08:30:00 @ 24.06, 61: 08-17 08:30:00 - 08-17 09:00:00 @ 24.39, 62: 08-17 09:00:00 - 08-17 09:30:00 @ 24.66, 63: 08-17 09:30:00 - 08-17 10:00:00 @ 24.06, 64: 08-17 10:00:00 - 08-17 10:30:00 @ 25.5, 65: 08-17 10:30:00 - 08-17 11:00:00 @ 24.94, 66: 08-17 11:00:00 - 08-17 11:30:00 @ 24.25, 67: 08-17 11:30:00 - 08-17 12:00:00 @ 23.49, 68: 08-17 12:00:00 - 08-17 12:30:00 @ 23.43, 69: 08-17 12:30:00 - 08-17 13:00:00 @ 22.33, 70: 08-17 13:00:00 - 08-17 13:30:00 @ 22.76, 71: 08-17 13:30:00 - 08-17 14:00:00 @ 22.3, 72: 08-17 14:00:00 - 08-17 14:30:00 @ 21.41, 73: 08-17 14:30:00 - 08-17 15:00:00 @ 21.65, 74: 08-17 15:00:00 - 08-17 15:30:00 @ 22.95, 75: 08-17 15:30:00 - 08-17 16:00:00 @ 22.83, 76: 08-17 16:00:00 - 08-17 16:30:00 @ 36.84, 77: 08-17 16:30:00 - 08-17 17:00:00 @ 37.54, 78: 08-17 17:00:00 - 08-17 17:30:00 @ 41.79, 79: 08-17 17:30:00 - 08-17 18:00:00 @ 43.7, 80: 08-17 18:00:00 - 08-17 18:30:00 @ 44.34, 81: 08-17 19:00:00 - 08-17 19:30:00 @ 34.79, 82: 08-17 19:30:00 - 08-17 20:00:00 @ 34.76, 83: 08-17 20:00:00 - 08-17 20:30:00 @ 35.62, 84: 08-17 20:30:00 - 08-17 21:00:00 @ 35.3, 85: 08-17 21:00:00 - 08-17 21:30:00 @ 35.89, 86: 08-17 21:30:00 - 08-17 22:00:00 @ 35.71, 87: 08-17 22:00:00 - 08-17 22:30:00 @ 33.75, 88: 08-17 22:30:00 - 08-17 23:00:00 @ 32.0, 89: 08-17 23:00:00 - 08-17 23:30:00 @ 30.02, 90: 08-17 23:30:00 - 08-18 00:00:00 @ 27.8, 91: 08-18 00:00:00 - 08-18 00:30:00 @ 28.18, 92: 08-18 00:30:00 - 08-18 01:00:00 @ 27.38, 93: 08-18 01:00:00 - 08-18 01:30:00 @ 26.7, 94: 08-18 01:30:00 - 08-18 02:00:00 @ 26.31]
2026-08-16 01:50:03.582872: Inverter 0 Charge window will be: 2026-08-16 11:00:00+01:00 - 2026-08-16 12:00:00+01:00 - current SoC 66%, target 100%
2026-08-16 01:50:03.583006: Inverter 0 disabled charge window while waiting for schedule (now 08-16 01:50:00 target set_window_minutes 30 charge start time 08-16 11:00:00) original inverter start time 08-18 00:00:00
2026-08-16 01:50:03.583117: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-16 01:50:03.583453: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-16 01:50:03.583557: No export window planned
2026-08-16 01:50:03.583672: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-16 01:50:03.583726: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-16 01:50:03.583900: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-16 01:50:03.584118: Inverter 0 not setting charging SoC as we are not within the window (now 08-16 01:50:00 target set_soc_minutes 30 charge start time 08-18 00:00:00)
2026-08-16 01:50:03.584194: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-16 01:50:03.584255: Inverter 0 Current Target SoC is 7%, already at target
2026-08-16 01:50:03.584373: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 01:50:03.584435: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 01:50:03.584464: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 01:50:03.584489: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 01:50:03.584515: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 01:50:03.584539: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 01:50:03.584565: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 01:50:03.584627: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 01:50:03.584687: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 01:50:03.584713: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 01:50:03.584758: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 01:50:03.584784: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 01:50:03.584808: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 01:50:03.584833: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 01:50:03.584854: Inverter 0 count register writes 0
2026-08-16 01:50:03.604283: Will recompute the plan as it is now 10.0 minutes old and will exceed the max age of 10 minutes before the next run
2026-08-16 01:50:03.604469: Recompute is saving previous plan...
2026-08-16 01:50:03.607635: Best charge window [ 16-08 01:30:00 - 16-08 02:00:00 @ 26.31p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.79p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 25.86p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.13p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 25.86p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.27p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.14p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 27.03p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.28p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.68p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 26.1p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 24.28p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 24.94p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.06p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.39p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.66p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.06p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 25.5p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 24.94p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 0.0p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 0.0p 0%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.43p 0%, 16-08 12:30:00 - 16-08 13:00:00 @ 22.33p 0%, 16-08 13:00:00 - 16-08 13:30:00 @ 22.76p 0%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 0%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 0%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.65p 0%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.95p 0%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.83p 0%, 16-08 16:00:00 - 16-08 16:30:00 @ 36.84p 0%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.54p 0%, 16-08 17:00:00 - 16-08 17:30:00 @ 41.79p 0%, 16-08 17:30:00 - 16-08 18:00:00 @ 43.7p 0%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.34p 0%, 16-08 19:00:00 - 16-08 19:30:00 @ 34.79p 0%, 16-08 19:30:00 - 16-08 20:00:00 @ 34.76p 0%, 16-08 20:00:00 - 16-08 20:30:00 @ 35.62p 0%, 16-08 20:30:00 - 16-08 21:00:00 @ 35.3p 0%, 16-08 21:00:00 - 16-08 21:30:00 @ 35.89p 0%, 16-08 21:30:00 - 16-08 22:00:00 @ 35.71p 0%, 16-08 22:00:00 - 16-08 22:30:00 @ 33.75p 0%, 16-08 22:30:00 - 16-08 23:00:00 @ 32.0p 0%, 16-08 23:00:00 - 16-08 23:30:00 @ 30.02p 0%, 16-08 23:30:00 - 17-08 00:00:00 @ 27.8p 0%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.18p 0%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.38p 0%, 17-08 01:00:00 - 17-08 01:30:00 @ 26.7p 0%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.31p 0%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.79p 0%, 17-08 02:30:00 - 17-08 03:00:00 @ 25.86p 0%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.13p 0%, 17-08 03:30:00 - 17-08 04:00:00 @ 25.86p 0%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.27p 0%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.14p 0%, 17-08 05:00:00 - 17-08 05:30:00 @ 27.03p 0%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.28p 0%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.68p 0%, 17-08 06:30:00 - 17-08 07:00:00 @ 26.1p 0%, 17-08 07:00:00 - 17-08 07:30:00 @ 24.28p 0%, 17-08 07:30:00 - 17-08 08:00:00 @ 24.94p 0%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.06p 0%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.39p 0%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.66p 0%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.06p 0%, 17-08 10:00:00 - 17-08 10:30:00 @ 25.5p 0%, 17-08 10:30:00 - 17-08 11:00:00 @ 24.94p 0%, 17-08 11:00:00 - 17-08 11:30:00 @ 24.25p 0%, 17-08 11:30:00 - 17-08 12:00:00 @ 23.49p 0%, 17-08 12:00:00 - 17-08 12:30:00 @ 23.43p 0%, 17-08 12:30:00 - 17-08 13:00:00 @ 22.33p 0%, 17-08 13:00:00 - 17-08 13:30:00 @ 22.76p 0%, 17-08 13:30:00 - 17-08 14:00:00 @ 22.3p 0%, 17-08 14:00:00 - 17-08 14:30:00 @ 21.41p 0%, 17-08 14:30:00 - 17-08 15:00:00 @ 21.65p 0%, 17-08 15:00:00 - 17-08 15:30:00 @ 22.95p 0%, 17-08 15:30:00 - 17-08 16:00:00 @ 22.83p 0%, 17-08 16:00:00 - 17-08 16:30:00 @ 36.84p 0%, 17-08 16:30:00 - 17-08 17:00:00 @ 37.54p 0%, 17-08 17:00:00 - 17-08 17:30:00 @ 41.79p 0%, 17-08 17:30:00 - 17-08 18:00:00 @ 43.7p 0%, 17-08 18:00:00 - 17-08 18:30:00 @ 44.34p 0%, 17-08 19:00:00 - 17-08 19:30:00 @ 34.79p 0%, 17-08 19:30:00 - 17-08 20:00:00 @ 34.76p 0%, 17-08 20:00:00 - 17-08 20:30:00 @ 35.62p 0%, 17-08 20:30:00 - 17-08 21:00:00 @ 35.3p 0%, 17-08 21:00:00 - 17-08 21:30:00 @ 35.89p 0%, 17-08 21:30:00 - 17-08 22:00:00 @ 35.71p 0%, 17-08 22:00:00 - 17-08 22:30:00 @ 33.75p 0%, 17-08 22:30:00 - 17-08 23:00:00 @ 32.0p 0%, 17-08 23:00:00 - 17-08 23:30:00 @ 30.02p 0%, 17-08 23:30:00 - 18-08 00:00:00 @ 27.8p 0%, 18-08 00:00:00 - 18-08 00:30:00 @ 28.18p 0%, 18-08 00:30:00 - 18-08 01:00:00 @ 27.38p 0%, 18-08 01:00:00 - 18-08 01:30:00 @ 26.7p 0%, 18-08 01:30:00 - 18-08 02:00:00 @ 26.31p 0% ]
2026-08-16 01:50:03.607726: Best export window [  ]
2026-08-16 01:50:03.608530: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-16 01:50:03.611649: Load divergence over 8.0 hours mean 523.74W, min 290.4W, max 1545.0W, std dev 320.9W, divergence 30.64%
2026-08-16 01:50:03.629094: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-16 01:50:03.629231: LoadML is_calculating False
2026-08-16 01:50:03.629319: Creating pool of 12 processes to match your CPU count
2026-08-16 01:50:03.717437: Calculate Best options: mode(Control charge & discharge), calculate_export_oncharge(False), calculate_export_on_pv(True), set_export_freeze_only(False), set_discharge_during_charge(True), combine_charge_slots(False), combine_export_slots(False), combine_rate_threshold(0.0), best_soc_min(0.0 kWh), best_soc_max(0.0 kWh), best_soc_keep(0.0 kWh), inverter_loss(4%), battery_loss(3%), battery_loss_discharge (3%), inverter_hybrid(True), metric_min_improvement(0.0p), metric_min_improvement_export(0.1p), metric_min_improvement_export_freeze(0.1p), metric_battery_cycle(0.0p/kWh), metric_battery_value_scaling(1.0 x) 
2026-08-16 01:50:03.719431: Optimise levels pass started at 2026-08-16 01:50:03
2026-08-16 01:50:03.719491: Optimise all windows, total charge 94 export 1
2026-08-16 01:50:04.636279: >> Region optimisation pass width 960 gives best_metric 423.67p, best_cost 436.05p, best_cycle 40.02kWh, best_import 22.83kWh
2026-08-16 01:50:05.004775: >> Region optimisation pass width 480 gives best_metric 423.67p, best_cost 436.05p, best_cycle 40.02kWh, best_import 22.83kWh
2026-08-16 01:50:05.803138: >> Region optimisation pass width 240 gives best_metric 423.02p, best_cost 435.42p, best_cycle 40.72kWh, best_import 22.88kWh
2026-08-16 01:50:07.136616: >> Region optimisation pass width 120 gives best_metric 423.02p, best_cost 435.42p, best_cycle 40.72kWh, best_import 22.88kWh
2026-08-16 01:50:07.137069: Calculated end_record as 08-17 11:00:00 based on best_price 22.33p, next_charge_start 08-16 11:00:00, max_windows 66
2026-08-16 01:50:07.137156: Optimise levels pass ended at 2026-08-16 01:50:07, duration 3.4 seconds tried 344 combinations
2026-08-16 01:50:07.137232: Set best_price_charge_level 24.0p, best_price_export_level 0p, best_price_charge 22.33p, best_cost_export 0p, best_metric 423.02p, best_keep 0kWh, best_cycle 40.72kWh, best_carbon 0kg, best_import 22.88kWh
2026-08-16 01:50:07.156027: Starting detailed optimisation end_record 08-17 11:00:00, best_price_charge 22.33p, best_price_export 0p. lowest_price_charge 0.0p with charge limits [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 16.0, 0, 0, 0, 0, 11.75, 11.75, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0]kWh and export limits []kWh
2026-08-16 01:50:11.317187: Tweak plan optimisation started metric 150.26p, cost 165.11p
2026-08-16 01:50:11.590645: Tweak optimisation finished metric 150.26p, cost 165.11p, metric_keep 0kWh, cycle 21.93kWh, carbon 0kg, import 10.72kWh, changed 8 window(s)
2026-08-16 01:50:11.610307: Swap charge optimisation started metric 150.26p, cost 165.11p, min_improvement_swap 0.1p
2026-08-16 01:50:18.267290: Swap charge optimisation finished metric 150.26p, cost 165.11p
2026-08-16 01:50:18.400383: Pruned 1 dead plan slot(s) in 10 trial(s), nominal metric 144.51p -> 144.51p, plan now metric 150.37p, cost 165.11p, cycle 21.93kWh, import 10.72kWh
2026-08-16 01:50:18.413759: Raw charge windows [ 16-08 01:30:00 - 16-08 02:00:00 @ 26.31p 0%, 16-08 02:00:00 - 16-08 02:30:00 @ 25.79p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 25.86p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.13p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 25.86p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.27p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.14p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 27.03p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.28p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.68p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 26.1p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 24.28p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 24.94p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.06p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.39p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.66p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.06p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 25.5p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 24.94p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 0.0p 100%, 16-08 11:30:00 - 16-08 12:00:00 @ 0.0p 100%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.43p 0%, 16-08 12:30:00 - 16-08 13:00:00 @ 22.33p 63%, 16-08 13:00:00 - 16-08 13:30:00 @ 22.76p 63%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 63%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 75%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.65p 75%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.95p 75%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.83p 75%, 16-08 16:00:00 - 16-08 16:30:00 @ 36.84p 0%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.54p 0%, 16-08 17:00:00 - 16-08 17:30:00 @ 41.79p 0%, 16-08 17:30:00 - 16-08 18:00:00 @ 43.7p 0%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.34p 0%, 16-08 19:00:00 - 16-08 19:30:00 @ 34.79p 0%, 16-08 19:30:00 - 16-08 20:00:00 @ 34.76p 0%, 16-08 20:00:00 - 16-08 20:30:00 @ 35.62p 0%, 16-08 20:30:00 - 16-08 21:00:00 @ 35.3p 0%, 16-08 21:00:00 - 16-08 21:30:00 @ 35.89p 0%, 16-08 21:30:00 - 16-08 22:00:00 @ 35.71p 0%, 16-08 22:00:00 - 16-08 22:30:00 @ 33.75p 0%, 16-08 22:30:00 - 16-08 23:00:00 @ 32.0p 0%, 16-08 23:00:00 - 16-08 23:30:00 @ 30.02p 0%, 16-08 23:30:00 - 17-08 00:00:00 @ 27.8p 0%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.18p 0%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.38p 0%, 17-08 01:00:00 - 17-08 01:30:00 @ 26.7p 0%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.31p 0%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.79p 0%, 17-08 02:30:00 - 17-08 03:00:00 @ 25.86p 0%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.13p 0%, 17-08 03:30:00 - 17-08 04:00:00 @ 25.86p 0%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.27p 0%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.14p 0%, 17-08 05:00:00 - 17-08 05:30:00 @ 27.03p 0%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.28p 0%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.68p 0%, 17-08 06:30:00 - 17-08 07:00:00 @ 26.1p 0%, 17-08 07:00:00 - 17-08 07:30:00 @ 24.28p 0%, 17-08 07:30:00 - 17-08 08:00:00 @ 24.94p 0%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.06p 0%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.39p 0%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.66p 0%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.06p 0%, 17-08 10:00:00 - 17-08 10:30:00 @ 25.5p 0%, 17-08 10:30:00 - 17-08 11:00:00 @ 24.94p 0%, 17-08 11:00:00 - 17-08 11:30:00 @ 24.25p 100%, 17-08 11:30:00 - 17-08 12:00:00 @ 23.49p 100%, 17-08 12:00:00 - 17-08 12:30:00 @ 23.43p 100%, 17-08 12:30:00 - 17-08 13:00:00 @ 22.33p 100%, 17-08 13:00:00 - 17-08 13:30:00 @ 22.76p 100%, 17-08 13:30:00 - 17-08 14:00:00 @ 22.3p 100%, 17-08 14:00:00 - 17-08 14:30:00 @ 21.41p 100%, 17-08 14:30:00 - 17-08 15:00:00 @ 21.65p 100%, 17-08 15:00:00 - 17-08 15:30:00 @ 22.95p 100%, 17-08 15:30:00 - 17-08 16:00:00 @ 22.83p 100%, 17-08 16:00:00 - 17-08 16:30:00 @ 36.84p 100%, 17-08 16:30:00 - 17-08 17:00:00 @ 37.54p 100%, 17-08 17:00:00 - 17-08 17:30:00 @ 41.79p 100%, 17-08 17:30:00 - 17-08 18:00:00 @ 43.7p 100%, 17-08 18:00:00 - 17-08 18:30:00 @ 44.34p 100%, 17-08 19:00:00 - 17-08 19:30:00 @ 34.79p 100%, 17-08 19:30:00 - 17-08 20:00:00 @ 34.76p 100%, 17-08 20:00:00 - 17-08 20:30:00 @ 35.62p 100%, 17-08 20:30:00 - 17-08 21:00:00 @ 35.3p 100%, 17-08 21:00:00 - 17-08 21:30:00 @ 35.89p 100%, 17-08 21:30:00 - 17-08 22:00:00 @ 35.71p 100%, 17-08 22:00:00 - 17-08 22:30:00 @ 33.75p 100%, 17-08 22:30:00 - 17-08 23:00:00 @ 32.0p 100%, 17-08 23:00:00 - 17-08 23:30:00 @ 30.02p 100%, 17-08 23:30:00 - 18-08 00:00:00 @ 27.8p 100%, 18-08 00:00:00 - 18-08 00:30:00 @ 28.18p 100%, 18-08 00:30:00 - 18-08 01:00:00 @ 27.38p 100%, 18-08 01:00:00 - 18-08 01:30:00 @ 26.7p 100%, 18-08 01:30:00 - 18-08 02:00:00 @ 26.31p 100% ] reserve 1.12
2026-08-16 01:50:18.414513: Unclipped charge windows [ 16-08 11:00:00 - 16-08 12:00:00 @ 0.0p 100%, 16-08 12:30:00 - 16-08 14:00:00 @ 22.43p 63%, 16-08 14:00:00 - 16-08 16:00:00 @ 22.53p 75%, 17-08 11:00:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 18-08 02:00:00 @ 26.88p 100% ] reserve 1.12
2026-08-16 01:50:18.414802: Unfiltered charge windows [ 16-08 11:00:00 - 16-08 12:00:00 @ 0.0p 100%, 16-08 12:30:00 - 16-08 14:00:00 @ 22.43p 63%, 16-08 14:00:00 - 16-08 16:00:00 @ 22.53p 75%, 17-08 11:00:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 18-08 02:00:00 @ 26.88p 100% ] reserve 1.12
2026-08-16 01:50:18.415018: Filtered charge windows [ 16-08 11:00:00 - 16-08 12:00:00 @ 0.0p 100%, 16-08 12:30:00 - 16-08 14:00:00 @ 22.43p 63%, 16-08 14:00:00 - 16-08 16:00:00 @ 22.53p 75%, 17-08 11:00:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 18-08 02:00:00 @ 26.88p 100% ] reserve 1.12
2026-08-16 01:50:18.457976: Previous plan best metric is 150.26 (cost 165.11) and new plan best metric is 150.26 (cost 165.11)
2026-08-16 01:50:18.458299: New plan metric is not significantly better (metric_min_improvement_plan 2.0) than previous plan, using previous plan
2026-08-16 01:50:18.458554: Plan valid is now true after recompute was False
2026-08-16 01:50:18.489876: predict base end_record 08-17 11:00:00, final soc 1.12kWh, metric 377.2p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 19:30:00, load 20.15kWh, PV 0.0kWh
2026-08-16 01:50:18.634374: Battery has 17.67 hours left - now at 10.56kWh
2026-08-16 01:50:18.682697: predict base10 end_record 08-17 11:00:00, final soc 1.12kWh, metric 406.17p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 18:45:00, load 21.04kWh, PV 0.0kWh
2026-08-16 01:50:18.764493: predict best10 end_record 08-17 11:00:00, final soc 1.12kWh, metric 254.18p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 07:20:00, load 21.04kWh, PV 0.0kWh
2026-08-16 01:50:18.866045: predict best end_record 08-17 11:00:00, final soc 1.12kWh, metric 215.09p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 08:30:00, load 20.15kWh, PV 0.0kWh
2026-08-16 01:50:18.866152: Saving plan best values to HA entities
2026-08-16 01:50:19.074856: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-16 01:50:19.083310: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0
2026-08-16 01:50:19.091360: Best charging limit SoC's [16.0, 10.0, 12.0, 16.0, 16.0]kWh, export []kWh gives import battery 9.35kWh, house 1.37kWh, export 0.0kWh, metric 215.09p, metric10 254.18p
2026-08-16 01:50:19.181117: Marginal costs baseline metric (no standing charge): 165.1075
2026-08-16 01:50:19.491638: Marginal energy costs matrix computed: min=19.71 max=26.0
2026-08-16 01:50:19.575803: Rate array import [{'start': 110, 'end': 660, 'rate': 'expensive', 'range': '(24.1p - 27.0p)'}, {'start': 660, 'end': 720, 'rate': 'free', 'range': '(0.0p)'}, {'start': 720, 'end': 960, 'rate': 'expensive', 'range': '(21.4p - 23.4p)'}, {'start': 960, 'end': 1380, 'rate': 'very expensive', 'range': '(32.0p - 45.3p)'}, {'start': 1380, 'end': 2100, 'rate': 'expensive', 'range': '(24.1p - 30.0p)'}] export [{'start': 110, 'end': 2100, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-16 01:50:19.576900: - Your estimated bill for today is £1.31 and tomorrow is £7.29
2026-08-16 01:50:19.576999: - Import rates are expensive (24.1p - 27.0p) for the next 9 hours and then free (0.0p) for the next 1 hour.
2026-08-16 01:50:19.577050: - The battery is currently at 66% and is in eco mode for the next 9 hours.
2026-08-16 01:50:19.577084: - For the next 48 hours there will be no solar generation.
2026-08-16 01:50:19.577124: - You will run out of battery in 30 hours.
2026-08-16 01:50:19.577158: - Your next charge slot will be in 9 hours where import rates will be free (0.0p).
2026-08-16 01:50:19.577198: 
2026-08-16 01:50:19.639880: Plan calculation took 16.04 seconds
2026-08-16 01:50:19.640208: Inverter 0: Type SK Sunsynk
2026-08-16 01:50:19.640247: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-16 01:50:19.640486: Reserve min: 7%, battery_min: 7%
2026-08-16 01:50:19.640597: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-16 01:50:19.641038: Inverter 0 SoC: 10.56kW 66%, current charge rate 5000W, current discharge rate 5250W, current battery power 472W, current battery voltage 51.2V, grid power -53W, load power 522W, PV Power 0W
2026-08-16 01:50:19.641335: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-16 01:50:19.641468: Inverter 0 scheduled charge enable is False
2026-08-16 01:50:19.641525: Inverter 0 charge windows currently []
2026-08-16 01:50:19.641578: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-16 01:50:19.641732: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-16 01:50:19.641795: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-16 01:50:19.641852: Inverter 0 scheduled discharge enable is False
2026-08-16 01:50:19.642021: Inverter 0 idle time is 08-16 00:00:00-08-16 23:59:00
2026-08-16 01:50:19.642057: Inverter 0 discharge windows currently []
2026-08-16 01:50:19.642077: Note: Inverter does not support discharge freeze - disabled
2026-08-16 01:50:19.642112: Note: Inverter does not support charge freeze - disabled
2026-08-16 01:50:19.642139: Note: Inverter does not support reserve - disabling reserve functions
2026-08-16 01:50:19.696521: Inverter 0 Charge window will be: 2026-08-16 11:00:00+01:00 - 2026-08-16 12:00:00+01:00 - current SoC 66%, target 100%
2026-08-16 01:50:19.696673: Inverter 0 disabled charge window while waiting for schedule (now 08-16 01:50:00 target set_window_minutes 30 charge start time 08-16 11:00:00) original inverter start time 08-18 00:00:00
2026-08-16 01:50:19.696757: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-16 01:50:19.697006: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-16 01:50:19.697107: No export window planned
2026-08-16 01:50:19.697234: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-16 01:50:19.697282: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-16 01:50:19.697475: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-16 01:50:19.697675: Inverter 0 not setting charging SoC as we are not within the window (now 08-16 01:50:00 target set_soc_minutes 30 charge start time 08-18 00:00:00)
2026-08-16 01:50:19.697736: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-16 01:50:19.697808: Inverter 0 Current Target SoC is 7%, already at target
2026-08-16 01:50:19.697917: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 01:50:19.697964: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 01:50:19.698002: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 01:50:19.698039: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 01:50:19.698075: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 01:50:19.698163: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 01:50:19.698216: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 01:50:19.698305: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 01:50:19.698353: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 01:50:19.698385: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 01:50:19.698414: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 01:50:19.698453: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 01:50:19.698482: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 01:50:19.698511: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 01:50:19.698566: Inverter 0 count register writes 0
2026-08-16 01:50:19.720081: Total inverter register writes now 826
2026-08-16 01:50:19.757199: Info: Completed run status Demand
2026-08-16 01:50:19.764193: Info: record_status Demand
2026-08-16 01:50:19.772305: Saved current settings to /config/predbat_config.json
2026-08-16 01:50:19.772601: Compare, best tariff: igo_fixed metric 126.72p
2026-08-16 01:50:56.888564: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-16 01:50:56.889376: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-16 01:50:56.889439: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-16 01:50:56.889650: Inverter 0 idle time is 08-16 00:00:00-08-16 23:59:00
2026-08-16 01:50:56.889697: Note: Inverter does not support discharge freeze - disabled
2026-08-16 01:50:56.889725: Note: Inverter does not support charge freeze - disabled
2026-08-16 01:50:56.889766: Note: Inverter does not support reserve - disabling reserve functions
2026-08-16 01:52:57.111116: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-16 01:52:57.111389: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-16 01:52:57.111426: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-16 01:52:57.111552: Inverter 0 idle time is 08-16 00:00:00-08-16 23:59:00
2026-08-16 01:52:57.111594: Note: Inverter does not support discharge freeze - disabled
2026-08-16 01:52:57.111631: Note: Inverter does not support charge freeze - disabled
2026-08-16 01:52:57.111664: Note: Inverter does not support reserve - disabling reserve functions
2026-08-16 01:54:57.330385: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-16 01:54:57.330632: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-16 01:54:57.330675: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-16 01:54:57.330811: Inverter 0 idle time is 08-16 00:00:00-08-16 23:59:00
2026-08-16 01:54:57.330851: Note: Inverter does not support discharge freeze - disabled
2026-08-16 01:54:57.330872: Note: Inverter does not support charge freeze - disabled
2026-08-16 01:54:57.330890: Note: Inverter does not support reserve - disabling reserve functions
2026-08-16 01:55:00.408514: --------------- PredBat - update at 2026-08-16 01:55:00+01:00 with clock skew 0 minutes, minutes now 115
2026-08-16 01:55:00.409357: Saved current settings to /config/predbat_config.json
2026-08-16 01:55:00.409481: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 80.0 minutes
2026-08-16 01:55:00.409631: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.2, latest beta is v8.48.2
2026-08-16 01:55:00.409731: Autoupdate: There is an update pending v8.48.2 PV90 and second pass enabled by default, bug fixes - auto update is off
2026-08-16 01:55:00.429077: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-16 01:55:00.429249: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-16 01:55:00.429422: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-16 01:55:00.429992: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-16 01:55:00.430148: Predbat mode is set to Control charge & discharge
2026-08-16 01:55:00.630513: Found 21602 load_today datapoints going back 28 days
2026-08-16 01:55:00.630688: Using load_power data to fill gaps in load_today data
2026-08-16 01:55:01.536906: Processing 721 30-minute periods for power integration
2026-08-16 01:55:01.720399: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-16 01:55:01.720545: Car charging hold False, threshold 6.0kWh
2026-08-16 01:55:01.720591: Current data so far today: load 1.6kWh, import 0.1kWh, export 0.0kWh, PV 0kWh
2026-08-16 01:55:01.736022: Cars: SoC: [8.204]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-16 01:55:01.736417: Standing charge is set to 49.98p
2026-08-16 01:55:01.764621: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-16 01:55:01.764746: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-16 01:55:01.764987: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 115.0 minutes
2026-08-16 01:55:01.765450: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-17&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 114.8 minutes
2026-08-16 01:55:01.767947: Loaded 47 datapoints of futurerate analysis
2026-08-16 01:55:01.848323: Predicted future rates: ['08-16 00:00:00 => 28.52 / 19.97', '08-16 01:00:00 => 27.43 / 19.41', '08-16 02:00:00 => 26.47 / 18.92', '08-16 03:00:00 => 26.1 / 18.73', '08-16 04:00:00 => 26.04 / 18.7', '08-16 05:00:00 => 25.95 / 18.65', '08-16 06:00:00 => 25.71 / 18.53', '08-16 07:00:00 => 25.37 / 18.35', '08-16 08:00:00 => 24.58 / 17.94', '08-16 09:00:00 => 24.0 / 17.64', '08-16 10:00:00 => 24.54 / 17.92', '08-16 11:00:00 => 24.44 / 17.87', '08-16 12:00:00 => 23.53 / 17.4', '08-16 13:00:00 => 22.89 / 17.07', '08-16 14:00:00 => 21.77 / 16.49', '08-16 15:00:00 => 21.77 / 16.49', '08-16 16:00:00 => 36.89 / 18.3', '08-16 17:00:00 => 39.85 / 19.83', '08-16 18:00:00 => 43.87 / 21.9', '08-16 19:00:00 => 32.69 / 22.13', '08-16 20:00:00 => 33.46 / 22.53', '08-16 21:00:00 => 33.37 / 22.48', '08-16 22:00:00 => 32.01 / 21.78']
2026-08-16 01:55:01.901679: Rate min forward looking: now 0.0p at end of forecast 21.41p
2026-08-16 01:55:01.902120: Import rates: min 0.0p, max 45.28p, average 28.23p
2026-08-16 01:55:01.939108: Export rates: min 0p, max 0p, average 0.0p
2026-08-16 01:55:01.939241: Rate thresholds (for charge/export) are import 44.78p (0.0p), export -0.1p (0.0p)
2026-08-16 01:55:01.940254: High export rate found rates in range 99p to -99p
2026-08-16 01:55:02.004054: Low Import rate found rates in range 0.0p to 44.34p
2026-08-16 01:55:02.004201: Car 0 charging is not planned as it is not plugged in
2026-08-16 01:55:02.016025: Battery level now 10.56kWh, -1hr ago 11.2kWh, at midnight 12.21kWh, battery value change in the last hour -0.64p, change today -1.65p, rate_forward 1.0p
2026-08-16 01:55:02.016336: Last hour: net energy 0.05kWh, import 0.05kWh, export 0.0kWh, car 0kWh, load 0.7kWh, net cost 1.33p, import 1.33p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-16 01:55:02.057470: Today's energy total net 0.1kWh, import 0.1kWh, export 0.0kWh, cost 52.71p, import 2.72p, export 0.0p, carbon 0.0kg
2026-08-16 01:55:02.057580: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-16 01:55:02.137363: Using weighted-bucket historical load forecast over 14 days
2026-08-16 01:55:02.155779: Today's load divergence 100.0%, in-day adjustment 82.97%, damping 0.95x, yesterday 82.97% today 100.0% blend 100.0%
2026-08-16 01:55:02.155854: Today's predicted so far 1.7kWh with 0.0kWh car/iBoost excluded, 0kWh import ignored, and 1.7kWh forecast extra.
2026-08-16 01:55:02.155879: Today's actual load so far 1.54kWh with 0.0kWh car/iBoost excluded, and 0kWh import ignored.
2026-08-16 01:55:02.190386: Inverter 0: Type SK Sunsynk
2026-08-16 01:55:02.190477: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-16 01:55:02.190677: Reserve min: 7%, battery_min: 7%
2026-08-16 01:55:02.190750: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-16 01:55:02.191010: Inverter 0 SoC: 10.56kW 66%, current charge rate 5000W, current discharge rate 5250W, current battery power 515W, current battery voltage 51.2V, grid power -54W, load power 566W, PV Power 0W
2026-08-16 01:55:02.191164: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-16 01:55:02.191268: Inverter 0 scheduled charge enable is False
2026-08-16 01:55:02.191304: Inverter 0 charge windows currently []
2026-08-16 01:55:02.191332: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-16 01:55:02.191440: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-16 01:55:02.191477: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-16 01:55:02.191512: Inverter 0 scheduled discharge enable is False
2026-08-16 01:55:02.191640: Inverter 0 idle time is 08-16 00:00:00-08-16 23:59:00
2026-08-16 01:55:02.191677: Inverter 0 discharge windows currently []
2026-08-16 01:55:02.191700: Note: Inverter does not support discharge freeze - disabled
2026-08-16 01:55:02.191718: Note: Inverter does not support charge freeze - disabled
2026-08-16 01:55:02.191736: Note: Inverter does not support reserve - disabling reserve functions
2026-08-16 01:55:02.242814: Dynamic load last period 0.60kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-16 01:55:02.242936: Plan was last updated on 2026-08-16 01:50:00+01:00 and is now 5.0 minutes old
2026-08-16 01:55:02.243134: Best charge window [ 16-08 11:00:00 - 16-08 12:00:00 @ 0.0p 100%, 16-08 12:30:00 - 16-08 14:00:00 @ 22.43p 63%, 16-08 14:00:00 - 16-08 16:00:00 @ 22.53p 75%, 17-08 11:00:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 18-08 01:30:00 @ 27.44p 100% ]
2026-08-16 01:55:02.243183: Best export window [  ]
2026-08-16 01:55:02.243823: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-16 01:55:02.246431: Load divergence over 8.0 hours mean 519.04W, min 290.4W, max 1572.0W, std dev 312.04W, divergence 30.06%
2026-08-16 01:55:02.262116: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-16 01:55:02.262248: LoadML is_calculating False
2026-08-16 01:55:02.262304: Creating pool of 12 processes to match your CPU count
2026-08-16 01:55:02.388689: predict base end_record 08-17 11:05:00, final soc 1.12kWh, metric 376.88p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 19:35:00, load 20.22kWh, PV 0.0kWh
2026-08-16 01:55:02.506242: Battery has 17.67 hours left - now at 10.56kWh
2026-08-16 01:55:02.545016: predict base10 end_record 08-17 11:05:00, final soc 1.12kWh, metric 405.23p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 18:50:00, load 21.1kWh, PV 0.0kWh
2026-08-16 01:55:02.614911: predict best10 end_record 08-17 11:05:00, final soc 1.44kWh, metric 263.01p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 07:20:00, load 21.1kWh, PV 0.0kWh
2026-08-16 01:55:02.689766: predict best end_record 08-17 11:05:00, final soc 1.51kWh, metric 225.75p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 08:30:00, load 20.22kWh, PV 0.0kWh
2026-08-16 01:55:02.689849: Saving plan best values to HA entities
2026-08-16 01:55:02.861602: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-16 01:55:02.870327: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0.0
2026-08-16 01:55:02.881408: Best charging limit SoC's [16.0, 10.0, 12.0, 16.0, 16.0]kWh, export []kWh gives import battery 9.79kWh, house 1.37kWh, export 0.0kWh, metric 225.75p, metric10 263.01p
2026-08-16 01:55:02.975595: Marginal costs baseline metric (no standing charge): 175.768
2026-08-16 01:55:03.210031: Marginal energy costs matrix computed: min=21.55 max=25.99
2026-08-16 01:55:03.285725: Rate array import [{'start': 115, 'end': 660, 'rate': 'expensive', 'range': '(24.1p - 27.0p)'}, {'start': 660, 'end': 720, 'rate': 'free', 'range': '(0.0p)'}, {'start': 720, 'end': 960, 'rate': 'expensive', 'range': '(21.4p - 23.4p)'}, {'start': 960, 'end': 1380, 'rate': 'very expensive', 'range': '(32.0p - 45.3p)'}, {'start': 1380, 'end': 2105, 'rate': 'expensive', 'range': '(24.1p - 30.0p)'}] export [{'start': 115, 'end': 2105, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-16 01:55:03.286565: - Your estimated bill for today is £1.30 and tomorrow is £7.29
2026-08-16 01:55:03.286629: - Import rates are expensive (24.1p - 27.0p) for the next 9 hours and then free (0.0p) for the next 1 hour.
2026-08-16 01:55:03.286671: - The battery is currently at 66% and is in eco mode for the next 9 hours.
2026-08-16 01:55:03.286705: - For the next 48 hours there will be no solar generation.
2026-08-16 01:55:03.286737: - You will run out of battery in 30 hours.
2026-08-16 01:55:03.286772: - Your next charge slot will be in 9 hours where import rates will be free (0.0p).
2026-08-16 01:55:03.286803: 
2026-08-16 01:55:03.349829: Plan calculation took 1.11 seconds
2026-08-16 01:55:03.353159: No high rate period found
2026-08-16 01:55:03.429343: Import threshold used for optimisation was 23.43p
2026-08-16 01:55:03.484593: Low import rate windows [0: 08-16 01:30:00 - 08-16 02:00:00 @ 26.31, 1: 08-16 02:00:00 - 08-16 02:30:00 @ 25.79, 2: 08-16 02:30:00 - 08-16 03:00:00 @ 25.86, 3: 08-16 03:00:00 - 08-16 03:30:00 @ 26.13, 4: 08-16 03:30:00 - 08-16 04:00:00 @ 25.86, 5: 08-16 04:00:00 - 08-16 04:30:00 @ 26.27, 6: 08-16 04:30:00 - 08-16 05:00:00 @ 26.14, 7: 08-16 05:00:00 - 08-16 05:30:00 @ 27.03, 8: 08-16 05:30:00 - 08-16 06:00:00 @ 26.28, 9: 08-16 06:00:00 - 08-16 06:30:00 @ 25.68, 10: 08-16 06:30:00 - 08-16 07:00:00 @ 26.1, 11: 08-16 07:00:00 - 08-16 07:30:00 @ 24.28, 12: 08-16 07:30:00 - 08-16 08:00:00 @ 24.94, 13: 08-16 08:00:00 - 08-16 08:30:00 @ 24.06, 14: 08-16 08:30:00 - 08-16 09:00:00 @ 24.39, 15: 08-16 09:00:00 - 08-16 09:30:00 @ 24.66, 16: 08-16 09:30:00 - 08-16 10:00:00 @ 24.06, 17: 08-16 10:00:00 - 08-16 10:30:00 @ 25.5, 18: 08-16 10:30:00 - 08-16 11:00:00 @ 24.94, 19: 08-16 11:00:00 - 08-16 11:30:00 @ 0.0, 20: 08-16 11:30:00 - 08-16 12:00:00 @ 0.0, 21: 08-16 12:00:00 - 08-16 12:30:00 @ 23.43, 22: 08-16 12:30:00 - 08-16 13:00:00 @ 22.33, 23: 08-16 13:00:00 - 08-16 13:30:00 @ 22.76, 24: 08-16 13:30:00 - 08-16 14:00:00 @ 22.3, 25: 08-16 14:00:00 - 08-16 14:30:00 @ 21.41, 26: 08-16 14:30:00 - 08-16 15:00:00 @ 21.65, 27: 08-16 15:00:00 - 08-16 15:30:00 @ 22.95, 28: 08-16 15:30:00 - 08-16 16:00:00 @ 22.83, 29: 08-16 16:00:00 - 08-16 16:30:00 @ 36.84, 30: 08-16 16:30:00 - 08-16 17:00:00 @ 37.54, 31: 08-16 17:00:00 - 08-16 17:30:00 @ 41.79, 32: 08-16 17:30:00 - 08-16 18:00:00 @ 43.7, 33: 08-16 18:00:00 - 08-16 18:30:00 @ 44.34, 34: 08-16 19:00:00 - 08-16 19:30:00 @ 34.79, 35: 08-16 19:30:00 - 08-16 20:00:00 @ 34.76, 36: 08-16 20:00:00 - 08-16 20:30:00 @ 35.62, 37: 08-16 20:30:00 - 08-16 21:00:00 @ 35.3, 38: 08-16 21:00:00 - 08-16 21:30:00 @ 35.89, 39: 08-16 21:30:00 - 08-16 22:00:00 @ 35.71, 40: 08-16 22:00:00 - 08-16 22:30:00 @ 33.75, 41: 08-16 22:30:00 - 08-16 23:00:00 @ 32.0, 42: 08-16 23:00:00 - 08-16 23:30:00 @ 30.02, 43: 08-16 23:30:00 - 08-17 00:00:00 @ 27.8, 44: 08-17 00:00:00 - 08-17 00:30:00 @ 28.18, 45: 08-17 00:30:00 - 08-17 01:00:00 @ 27.38, 46: 08-17 01:00:00 - 08-17 01:30:00 @ 26.7, 47: 08-17 01:30:00 - 08-17 02:00:00 @ 26.31, 48: 08-17 02:00:00 - 08-17 02:30:00 @ 25.79, 49: 08-17 02:30:00 - 08-17 03:00:00 @ 25.86, 50: 08-17 03:00:00 - 08-17 03:30:00 @ 26.13, 51: 08-17 03:30:00 - 08-17 04:00:00 @ 25.86, 52: 08-17 04:00:00 - 08-17 04:30:00 @ 26.27, 53: 08-17 04:30:00 - 08-17 05:00:00 @ 26.14, 54: 08-17 05:00:00 - 08-17 05:30:00 @ 27.03, 55: 08-17 05:30:00 - 08-17 06:00:00 @ 26.28, 56: 08-17 06:00:00 - 08-17 06:30:00 @ 25.68, 57: 08-17 06:30:00 - 08-17 07:00:00 @ 26.1, 58: 08-17 07:00:00 - 08-17 07:30:00 @ 24.28, 59: 08-17 07:30:00 - 08-17 08:00:00 @ 24.94, 60: 08-17 08:00:00 - 08-17 08:30:00 @ 24.06, 61: 08-17 08:30:00 - 08-17 09:00:00 @ 24.39, 62: 08-17 09:00:00 - 08-17 09:30:00 @ 24.66, 63: 08-17 09:30:00 - 08-17 10:00:00 @ 24.06, 64: 08-17 10:00:00 - 08-17 10:30:00 @ 25.5, 65: 08-17 10:30:00 - 08-17 11:00:00 @ 24.94, 66: 08-17 11:00:00 - 08-17 11:30:00 @ 24.25, 67: 08-17 11:30:00 - 08-17 12:00:00 @ 23.49, 68: 08-17 12:00:00 - 08-17 12:30:00 @ 23.43, 69: 08-17 12:30:00 - 08-17 13:00:00 @ 22.33, 70: 08-17 13:00:00 - 08-17 13:30:00 @ 22.76, 71: 08-17 13:30:00 - 08-17 14:00:00 @ 22.3, 72: 08-17 14:00:00 - 08-17 14:30:00 @ 21.41, 73: 08-17 14:30:00 - 08-17 15:00:00 @ 21.65, 74: 08-17 15:00:00 - 08-17 15:30:00 @ 22.95, 75: 08-17 15:30:00 - 08-17 16:00:00 @ 22.83, 76: 08-17 16:00:00 - 08-17 16:30:00 @ 36.84, 77: 08-17 16:30:00 - 08-17 17:00:00 @ 37.54, 78: 08-17 17:00:00 - 08-17 17:30:00 @ 41.79, 79: 08-17 17:30:00 - 08-17 18:00:00 @ 43.7, 80: 08-17 18:00:00 - 08-17 18:30:00 @ 44.34, 81: 08-17 19:00:00 - 08-17 19:30:00 @ 34.79, 82: 08-17 19:30:00 - 08-17 20:00:00 @ 34.76, 83: 08-17 20:00:00 - 08-17 20:30:00 @ 35.62, 84: 08-17 20:30:00 - 08-17 21:00:00 @ 35.3, 85: 08-17 21:00:00 - 08-17 21:30:00 @ 35.89, 86: 08-17 21:30:00 - 08-17 22:00:00 @ 35.71, 87: 08-17 22:00:00 - 08-17 22:30:00 @ 33.75, 88: 08-17 22:30:00 - 08-17 23:00:00 @ 32.0, 89: 08-17 23:00:00 - 08-17 23:30:00 @ 30.02, 90: 08-17 23:30:00 - 08-18 00:00:00 @ 27.8, 91: 08-18 00:00:00 - 08-18 00:30:00 @ 28.18, 92: 08-18 00:30:00 - 08-18 01:00:00 @ 27.38, 93: 08-18 01:00:00 - 08-18 01:30:00 @ 26.7, 94: 08-18 01:30:00 - 08-18 02:00:00 @ 26.31]
2026-08-16 01:55:03.491162: Inverter 0 Charge window will be: 2026-08-16 11:00:00+01:00 - 2026-08-16 12:00:00+01:00 - current SoC 66%, target 100%
2026-08-16 01:55:03.491304: Inverter 0 disabled charge window while waiting for schedule (now 08-16 01:55:00 target set_window_minutes 30 charge start time 08-16 11:00:00) original inverter start time 08-18 00:00:00
2026-08-16 01:55:03.491400: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-16 01:55:03.491622: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-16 01:55:03.491706: No export window planned
2026-08-16 01:55:03.491802: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-16 01:55:03.491833: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-16 01:55:03.491943: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-16 01:55:03.492099: Inverter 0 not setting charging SoC as we are not within the window (now 08-16 01:55:00 target set_soc_minutes 30 charge start time 08-18 00:00:00)
2026-08-16 01:55:03.492146: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-16 01:55:03.492208: Inverter 0 Current Target SoC is 7%, already at target
2026-08-16 01:55:03.492288: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 01:55:03.492322: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 01:55:03.492345: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 01:55:03.492366: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 01:55:03.492387: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 01:55:03.492408: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 01:55:03.492428: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 01:55:03.492505: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 01:55:03.492537: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 01:55:03.492558: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 01:55:03.492578: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 01:55:03.492597: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 01:55:03.492616: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 01:55:03.492635: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 01:55:03.492651: Inverter 0 count register writes 0
2026-08-16 01:55:03.509853: Will not recompute the plan, it is 5.0 minutes old and max age is 10 minutes
2026-08-16 01:55:03.515734: Total inverter register writes now 826
2026-08-16 01:55:03.551427: Info: Completed run status Demand
2026-08-16 01:55:03.557916: Info: record_status Demand
2026-08-16 01:55:03.565411: Saved current settings to /config/predbat_config.json
2026-08-16 01:55:03.565712: Compare, best tariff: igo_fixed metric 126.72p
2026-08-16 01:55:39.380771: ML Component: Fetching 28 days of load history from ['sensor.sunsynk_day_load_energy']
2026-08-16 01:55:40.425423: Processing 1345 30-minute periods for power integration
2026-08-16 01:55:40.530454: ML Component: Car charging hold False, car energy reported load False
2026-08-16 01:55:40.631971: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-16 01:55:40.732054: ML Temperature data points: 48846
2026-08-16 01:55:41.007686: ML Component: Fetched 8064 load data points, 28.0 days of history
2026-08-16 01:55:41.052323: ML Component: Data fetch completed, load data age 57.0 days, 16575 data points
2026-08-16 01:55:41.052692: ML Component: Starting fine-tune training (2h interval), model age is 2.0163760522222223 hours
2026-08-16 01:55:41.052732: ML Component: Doing training...
2026-08-16 01:55:41.067130: ML Predictor: Curriculum training - capped to last 4 intermediate passes (starting at window=54.0 days)
2026-08-16 01:55:41.067249: ML Predictor: Curriculum training - 5 passes, window 54.0→57.0 days + final full pass (57.5 days)
2026-08-16 01:55:41.125843: ML Predictor: Curriculum pass 1/5: window=54.0 days (1296 hours of data)
2026-08-16 01:55:41.125959: ML Predictor: Starting initial training with 30 epochs
2026-08-16 01:55:41.696502: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-16 01:55:41.712508: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-16 01:55:41.717742: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-16 01:55:41.723152: Inverter 0 idle time is 08-16 00:00:00-08-16 23:59:00
2026-08-16 01:55:41.723254: Note: Inverter does not support discharge freeze - disabled
2026-08-16 01:55:41.728446: Note: Inverter does not support charge freeze - disabled
2026-08-16 01:55:41.733668: Note: Inverter does not support reserve - disabling reserve functions
2026-08-16 01:55:41.779772: ML Predictor: Creating dataset with 1296 hours of training data, 48 hours validation
2026-08-16 01:55:47.171964: ML Predictor: Created 15264 training samples, 576 validation samples
2026-08-16 01:55:47.225364: ML Predictor: Normalization stats [fit] target(mean=0.0586 std=0.0470) load(mean=0.0587 std=0.0471) pv(mean=0.0000 std=0.0100) temp(mean=19.4998 std=4.4156) import_rate(mean=26.1274 std=2.9092) export_rate(mean=0.0000 std=1.0000) time(mean=-0.1882 std=0.5244)
2026-08-16 01:56:14.033915: ML Predictor: Epoch 1/30: lr=0.00100 huber_loss=0.0091 val_mae=0.0034 kWh val_bias=+0.0009 kWh (+1.7%) combined=0.0027 kWh ema_combined=0.0027 kWh
2026-08-16 01:56:39.670814: ML Predictor: Epoch 2/30: lr=0.00100 huber_loss=0.0310 val_mae=0.0037 kWh val_bias=+0.0004 kWh (+0.8%) combined=0.0021 kWh ema_combined=0.0025 kWh
2026-08-16 01:57:10.491209: ML Predictor: Epoch 3/30: lr=0.00099 huber_loss=0.0299 val_mae=0.0039 kWh val_bias=-0.0003 kWh (-0.7%) combined=0.0023 kWh ema_combined=0.0025 kWh
2026-08-16 01:57:42.232483: ML Predictor: Epoch 4/30: lr=0.00098 huber_loss=0.0227 val_mae=0.0031 kWh val_bias=-0.0017 kWh (-3.3%) combined=0.0028 kWh ema_combined=0.0025 kWh
2026-08-16 01:57:42.468598: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-16 01:57:42.468895: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-16 01:57:42.468984: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-16 01:57:42.469203: Inverter 0 idle time is 08-16 00:00:00-08-16 23:59:00
2026-08-16 01:57:42.469257: Note: Inverter does not support discharge freeze - disabled
2026-08-16 01:57:42.469285: Note: Inverter does not support charge freeze - disabled
2026-08-16 01:57:42.469310: Note: Inverter does not support reserve - disabling reserve functions
2026-08-16 01:58:16.147660: ML Predictor: Epoch 5/30: lr=0.00096 huber_loss=0.0179 val_mae=0.0028 kWh val_bias=+0.0001 kWh (+0.2%) combined=0.0019 kWh ema_combined=0.0024 kWh
2026-08-16 01:58:48.764638: ML Predictor: Epoch 6/30: lr=0.00094 huber_loss=0.0136 val_mae=0.0023 kWh val_bias=+0.0001 kWh (+0.2%) combined=0.0013 kWh ema_combined=0.0020 kWh
2026-08-16 01:59:17.145904: ML Predictor: Epoch 7/30: lr=0.00091 huber_loss=0.0126 val_mae=0.0021 kWh val_bias=-0.0005 kWh (-1.0%) combined=0.0015 kWh ema_combined=0.0019 kWh
2026-08-16 01:59:21.712514: TemperatureAPI: Using coordinates latitude 53.4, longitude -2.2
2026-08-16 01:59:21.895803: TemperatureAPI: Successfully fetched temperature data from Open-Meteo API
2026-08-16 01:59:48.740424: ML Predictor: Epoch 8/30: lr=0.00088 huber_loss=0.0114 val_mae=0.0019 kWh val_bias=-0.0006 kWh (-1.2%) combined=0.0016 kWh ema_combined=0.0018 kWh
2026-08-16 01:59:57.078422: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-16 01:59:57.078686: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-16 01:59:57.078732: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-16 01:59:57.078921: Inverter 0 idle time is 08-16 00:00:00-08-16 23:59:00
2026-08-16 01:59:57.079015: Note: Inverter does not support discharge freeze - disabled
2026-08-16 01:59:57.079048: Note: Inverter does not support charge freeze - disabled
2026-08-16 01:59:57.079121: Note: Inverter does not support reserve - disabling reserve functions
2026-08-16 02:00:00.214180: --------------- PredBat - update at 2026-08-16 02:00:00+01:00 with clock skew 0 minutes, minutes now 120
2026-08-16 02:00:00.215089: Saved current settings to /config/predbat_config.json
2026-08-16 02:00:00.215276: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 85.0 minutes
2026-08-16 02:00:00.215374: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.2, latest beta is v8.48.2
2026-08-16 02:00:00.215470: Autoupdate: There is an update pending v8.48.2 PV90 and second pass enabled by default, bug fixes - auto update is off
2026-08-16 02:00:00.266001: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-16 02:00:00.266890: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-16 02:00:00.267545: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-16 02:00:00.272513: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-16 02:00:00.273390: Predbat mode is set to Control charge & discharge
2026-08-16 02:00:00.676509: Found 21602 load_today datapoints going back 28 days
2026-08-16 02:00:00.676845: Using load_power data to fill gaps in load_today data
2026-08-16 02:00:02.187452: Processing 721 30-minute periods for power integration
2026-08-16 02:00:02.464326: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-16 02:00:02.464887: Car charging hold False, threshold 6.0kWh
2026-08-16 02:00:02.465043: Current data so far today: load 1.65kWh, import 0.1kWh, export 0.0kWh, PV 0kWh
2026-08-16 02:00:02.518612: Cars: SoC: [8.204]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-16 02:00:02.519311: Standing charge is set to 49.98p
2026-08-16 02:00:02.673504: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-16 02:00:02.673618: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-16 02:00:02.673890: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 120.0 minutes
2026-08-16 02:00:02.674459: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-17&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 119.8 minutes
2026-08-16 02:00:02.677601: Loaded 47 datapoints of futurerate analysis
2026-08-16 02:00:02.841363: Predicted future rates: ['08-16 00:00:00 => 28.52 / 19.97', '08-16 01:00:00 => 27.43 / 19.41', '08-16 02:00:00 => 26.47 / 18.92', '08-16 03:00:00 => 26.1 / 18.73', '08-16 04:00:00 => 26.04 / 18.7', '08-16 05:00:00 => 25.95 / 18.65', '08-16 06:00:00 => 25.71 / 18.53', '08-16 07:00:00 => 25.37 / 18.35', '08-16 08:00:00 => 24.58 / 17.94', '08-16 09:00:00 => 24.0 / 17.64', '08-16 10:00:00 => 24.54 / 17.92', '08-16 11:00:00 => 24.44 / 17.87', '08-16 12:00:00 => 23.53 / 17.4', '08-16 13:00:00 => 22.89 / 17.07', '08-16 14:00:00 => 21.77 / 16.49', '08-16 15:00:00 => 21.77 / 16.49', '08-16 16:00:00 => 36.89 / 18.3', '08-16 17:00:00 => 39.85 / 19.83', '08-16 18:00:00 => 43.87 / 21.9', '08-16 19:00:00 => 32.69 / 22.13', '08-16 20:00:00 => 33.46 / 22.53', '08-16 21:00:00 => 33.37 / 22.48', '08-16 22:00:00 => 32.01 / 21.78']
2026-08-16 02:00:02.909441: Rate min forward looking: now 0.0p at end of forecast 21.41p
2026-08-16 02:00:02.910886: Import rates: min 0.0p, max 45.28p, average 28.23p
2026-08-16 02:00:02.959567: Export rates: min 0p, max 0p, average 0.0p
2026-08-16 02:00:02.960290: Rate thresholds (for charge/export) are import 44.78p (0.0p), export -0.1p (0.0p)
2026-08-16 02:00:02.961693: High export rate found rates in range 99p to -99p
2026-08-16 02:00:03.072565: Low Import rate found rates in range 0.0p to 44.34p
2026-08-16 02:00:03.072883: Car 0 charging is not planned as it is not plugged in
2026-08-16 02:00:03.093630: Battery level now 10.56kWh, -1hr ago 11.2kWh, at midnight 12.21kWh, battery value change in the last hour -0.64p, change today -1.65p, rate_forward 1.0p
2026-08-16 02:00:03.094427: Last hour: net energy 0.05kWh, import 0.05kWh, export 0.0kWh, car 0kWh, load 0.7kWh, net cost 1.2p, import 1.2p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-16 02:00:03.194484: Today's energy total net 0.1kWh, import 0.1kWh, export 0.0kWh, cost 52.71p, import 2.72p, export 0.0p, carbon 0.0kg
2026-08-16 02:00:03.194865: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-16 02:00:03.318508: Using weighted-bucket historical load forecast over 14 days
2026-08-16 02:00:03.361131: Today's load divergence 100.0%, in-day adjustment 82.97%, damping 0.95x, yesterday 82.97% today 100.0% blend 100.0%
2026-08-16 02:00:03.361347: Today's predicted so far 1.83kWh with 0.0kWh car/iBoost excluded, 0kWh import ignored, and 1.83kWh forecast extra.
2026-08-16 02:00:03.361734: Today's actual load so far 1.65kWh with 0.0kWh car/iBoost excluded, and 0kWh import ignored.
2026-08-16 02:00:03.555473: Inverter 0: Type SK Sunsynk
2026-08-16 02:00:03.555590: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-16 02:00:03.556000: Reserve min: 7%, battery_min: 7%
2026-08-16 02:00:03.556364: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-16 02:00:03.557032: Inverter 0 SoC: 10.56kW 66%, current charge rate 5000W, current discharge rate 5250W, current battery power 480W, current battery voltage 51.2V, grid power -54W, load power 531W, PV Power 0W
2026-08-16 02:00:03.557558: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-16 02:00:03.557879: Inverter 0 scheduled charge enable is False
2026-08-16 02:00:03.558094: Inverter 0 charge windows currently []
2026-08-16 02:00:03.558390: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-16 02:00:03.558961: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-16 02:00:03.559177: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-16 02:00:03.559401: Inverter 0 scheduled discharge enable is False
2026-08-16 02:00:03.559819: Inverter 0 idle time is 08-16 00:00:00-08-16 23:59:00
2026-08-16 02:00:03.559984: Inverter 0 discharge windows currently []
2026-08-16 02:00:03.560262: Note: Inverter does not support discharge freeze - disabled
2026-08-16 02:00:03.560407: Note: Inverter does not support charge freeze - disabled
2026-08-16 02:00:03.560583: Note: Inverter does not support reserve - disabling reserve functions
2026-08-16 02:00:03.647153: Dynamic load last period 0.60kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-16 02:00:03.647462: Plan was last updated on 2026-08-16 01:50:00+01:00 and is now 10.0 minutes old
2026-08-16 02:00:03.647870: Best charge window [ 16-08 11:00:00 - 16-08 12:00:00 @ 0.0p 100%, 16-08 12:30:00 - 16-08 14:00:00 @ 22.43p 63%, 16-08 14:00:00 - 16-08 16:00:00 @ 22.53p 75%, 17-08 11:00:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 18-08 01:30:00 @ 27.44p 100% ]
2026-08-16 02:00:03.648242: Best export window [  ]
2026-08-16 02:00:03.649424: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-16 02:00:03.656199: Load divergence over 8.0 hours mean 519.04W, min 285.0W, max 1698.0W, std dev 317.63W, divergence 30.6%
2026-08-16 02:00:03.678753: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-16 02:00:03.679074: LoadML is_calculating True
2026-08-16 02:00:03.679249: Not using thread pool as LoadML is calculating to avoid lockups
2026-08-16 02:00:03.727848: predict base end_record 08-17 11:10:00, final soc 1.12kWh, metric 377.46p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 19:40:00, load 20.3kWh, PV 0.0kWh
2026-08-16 02:00:04.046296: Battery has 17.67 hours left - now at 10.56kWh
2026-08-16 02:00:04.102998: predict base10 end_record 08-17 11:10:00, final soc 1.12kWh, metric 405.39p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 18:55:00, load 21.19kWh, PV 0.0kWh
2026-08-16 02:00:04.361165: predict best10 end_record 08-17 11:10:00, final soc 1.77kWh, metric 272.24p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 07:15:00, load 21.19kWh, PV 0.0kWh
2026-08-16 02:00:04.696927: predict best end_record 08-17 11:10:00, final soc 1.9kWh, metric 236.68p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 08:25:00, load 20.3kWh, PV 0.0kWh
2026-08-16 02:00:04.697934: Saving plan best values to HA entities
2026-08-16 02:00:05.117363: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-16 02:00:05.125855: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0.0
2026-08-16 02:00:05.145168: Best charging limit SoC's [16.0, 10.0, 12.0, 16.0, 16.0]kWh, export []kWh gives import battery 10.21kWh, house 1.39kWh, export 0.0kWh, metric 236.68p, metric10 272.24p
2026-08-16 02:00:05.325048: Marginal costs baseline metric (no standing charge): 186.6916
2026-08-16 02:00:05.955119: Marginal energy costs matrix computed: min=21.53 max=25.99
2026-08-16 02:00:06.108345: Rate array import [{'start': 120, 'end': 660, 'rate': 'expensive', 'range': '(24.1p - 27.0p)'}, {'start': 660, 'end': 720, 'rate': 'free', 'range': '(0.0p)'}, {'start': 720, 'end': 960, 'rate': 'expensive', 'range': '(21.4p - 23.4p)'}, {'start': 960, 'end': 1380, 'rate': 'very expensive', 'range': '(32.0p - 45.3p)'}, {'start': 1380, 'end': 2110, 'rate': 'expensive', 'range': '(24.1p - 30.0p)'}] export [{'start': 120, 'end': 2110, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-16 02:00:06.114914: - Your estimated bill for today is £1.29 and tomorrow is £7.28
2026-08-16 02:00:06.115072: - Import rates are expensive (24.1p - 27.0p) for the next 9 hours and then free (0.0p) for the next 1 hour.
2026-08-16 02:00:06.115423: - The battery is currently at 66% and is in eco mode for the next 9 hours.
2026-08-16 02:00:06.115570: - For the next 48 hours there will be no solar generation.
2026-08-16 02:00:06.115684: - You will run out of battery in 30 hours.
2026-08-16 02:00:06.115789: - Your next charge slot will be in 9 hours where import rates will be free (0.0p).
2026-08-16 02:00:06.115883: 
2026-08-16 02:00:06.204857: Plan calculation took 2.56 seconds
2026-08-16 02:00:06.208009: No high rate period found
2026-08-16 02:00:06.329971: Import threshold used for optimisation was 23.43p
2026-08-16 02:00:06.464248: Low import rate windows [0: 08-16 02:00:00 - 08-16 02:30:00 @ 25.79, 1: 08-16 02:30:00 - 08-16 03:00:00 @ 25.86, 2: 08-16 03:00:00 - 08-16 03:30:00 @ 26.13, 3: 08-16 03:30:00 - 08-16 04:00:00 @ 25.86, 4: 08-16 04:00:00 - 08-16 04:30:00 @ 26.27, 5: 08-16 04:30:00 - 08-16 05:00:00 @ 26.14, 6: 08-16 05:00:00 - 08-16 05:30:00 @ 27.03, 7: 08-16 05:30:00 - 08-16 06:00:00 @ 26.28, 8: 08-16 06:00:00 - 08-16 06:30:00 @ 25.68, 9: 08-16 06:30:00 - 08-16 07:00:00 @ 26.1, 10: 08-16 07:00:00 - 08-16 07:30:00 @ 24.28, 11: 08-16 07:30:00 - 08-16 08:00:00 @ 24.94, 12: 08-16 08:00:00 - 08-16 08:30:00 @ 24.06, 13: 08-16 08:30:00 - 08-16 09:00:00 @ 24.39, 14: 08-16 09:00:00 - 08-16 09:30:00 @ 24.66, 15: 08-16 09:30:00 - 08-16 10:00:00 @ 24.06, 16: 08-16 10:00:00 - 08-16 10:30:00 @ 25.5, 17: 08-16 10:30:00 - 08-16 11:00:00 @ 24.94, 18: 08-16 11:00:00 - 08-16 11:30:00 @ 0.0, 19: 08-16 11:30:00 - 08-16 12:00:00 @ 0.0, 20: 08-16 12:00:00 - 08-16 12:30:00 @ 23.43, 21: 08-16 12:30:00 - 08-16 13:00:00 @ 22.33, 22: 08-16 13:00:00 - 08-16 13:30:00 @ 22.76, 23: 08-16 13:30:00 - 08-16 14:00:00 @ 22.3, 24: 08-16 14:00:00 - 08-16 14:30:00 @ 21.41, 25: 08-16 14:30:00 - 08-16 15:00:00 @ 21.65, 26: 08-16 15:00:00 - 08-16 15:30:00 @ 22.95, 27: 08-16 15:30:00 - 08-16 16:00:00 @ 22.83, 28: 08-16 16:00:00 - 08-16 16:30:00 @ 36.84, 29: 08-16 16:30:00 - 08-16 17:00:00 @ 37.54, 30: 08-16 17:00:00 - 08-16 17:30:00 @ 41.79, 31: 08-16 17:30:00 - 08-16 18:00:00 @ 43.7, 32: 08-16 18:00:00 - 08-16 18:30:00 @ 44.34, 33: 08-16 19:00:00 - 08-16 19:30:00 @ 34.79, 34: 08-16 19:30:00 - 08-16 20:00:00 @ 34.76, 35: 08-16 20:00:00 - 08-16 20:30:00 @ 35.62, 36: 08-16 20:30:00 - 08-16 21:00:00 @ 35.3, 37: 08-16 21:00:00 - 08-16 21:30:00 @ 35.89, 38: 08-16 21:30:00 - 08-16 22:00:00 @ 35.71, 39: 08-16 22:00:00 - 08-16 22:30:00 @ 33.75, 40: 08-16 22:30:00 - 08-16 23:00:00 @ 32.0, 41: 08-16 23:00:00 - 08-16 23:30:00 @ 30.02, 42: 08-16 23:30:00 - 08-17 00:00:00 @ 27.8, 43: 08-17 00:00:00 - 08-17 00:30:00 @ 28.18, 44: 08-17 00:30:00 - 08-17 01:00:00 @ 27.38, 45: 08-17 01:00:00 - 08-17 01:30:00 @ 26.7, 46: 08-17 01:30:00 - 08-17 02:00:00 @ 26.31, 47: 08-17 02:00:00 - 08-17 02:30:00 @ 25.79, 48: 08-17 02:30:00 - 08-17 03:00:00 @ 25.86, 49: 08-17 03:00:00 - 08-17 03:30:00 @ 26.13, 50: 08-17 03:30:00 - 08-17 04:00:00 @ 25.86, 51: 08-17 04:00:00 - 08-17 04:30:00 @ 26.27, 52: 08-17 04:30:00 - 08-17 05:00:00 @ 26.14, 53: 08-17 05:00:00 - 08-17 05:30:00 @ 27.03, 54: 08-17 05:30:00 - 08-17 06:00:00 @ 26.28, 55: 08-17 06:00:00 - 08-17 06:30:00 @ 25.68, 56: 08-17 06:30:00 - 08-17 07:00:00 @ 26.1, 57: 08-17 07:00:00 - 08-17 07:30:00 @ 24.28, 58: 08-17 07:30:00 - 08-17 08:00:00 @ 24.94, 59: 08-17 08:00:00 - 08-17 08:30:00 @ 24.06, 60: 08-17 08:30:00 - 08-17 09:00:00 @ 24.39, 61: 08-17 09:00:00 - 08-17 09:30:00 @ 24.66, 62: 08-17 09:30:00 - 08-17 10:00:00 @ 24.06, 63: 08-17 10:00:00 - 08-17 10:30:00 @ 25.5, 64: 08-17 10:30:00 - 08-17 11:00:00 @ 24.94, 65: 08-17 11:00:00 - 08-17 11:30:00 @ 24.25, 66: 08-17 11:30:00 - 08-17 12:00:00 @ 23.49, 67: 08-17 12:00:00 - 08-17 12:30:00 @ 23.43, 68: 08-17 12:30:00 - 08-17 13:00:00 @ 22.33, 69: 08-17 13:00:00 - 08-17 13:30:00 @ 22.76, 70: 08-17 13:30:00 - 08-17 14:00:00 @ 22.3, 71: 08-17 14:00:00 - 08-17 14:30:00 @ 21.41, 72: 08-17 14:30:00 - 08-17 15:00:00 @ 21.65, 73: 08-17 15:00:00 - 08-17 15:30:00 @ 22.95, 74: 08-17 15:30:00 - 08-17 16:00:00 @ 22.83, 75: 08-17 16:00:00 - 08-17 16:30:00 @ 36.84, 76: 08-17 16:30:00 - 08-17 17:00:00 @ 37.54, 77: 08-17 17:00:00 - 08-17 17:30:00 @ 41.79, 78: 08-17 17:30:00 - 08-17 18:00:00 @ 43.7, 79: 08-17 18:00:00 - 08-17 18:30:00 @ 44.34, 80: 08-17 19:00:00 - 08-17 19:30:00 @ 34.79, 81: 08-17 19:30:00 - 08-17 20:00:00 @ 34.76, 82: 08-17 20:00:00 - 08-17 20:30:00 @ 35.62, 83: 08-17 20:30:00 - 08-17 21:00:00 @ 35.3, 84: 08-17 21:00:00 - 08-17 21:30:00 @ 35.89, 85: 08-17 21:30:00 - 08-17 22:00:00 @ 35.71, 86: 08-17 22:00:00 - 08-17 22:30:00 @ 33.75, 87: 08-17 22:30:00 - 08-17 23:00:00 @ 32.0, 88: 08-17 23:00:00 - 08-17 23:30:00 @ 30.02, 89: 08-17 23:30:00 - 08-18 00:00:00 @ 27.8, 90: 08-18 00:00:00 - 08-18 00:30:00 @ 28.18, 91: 08-18 00:30:00 - 08-18 01:00:00 @ 27.38, 92: 08-18 01:00:00 - 08-18 01:30:00 @ 26.7, 93: 08-18 01:30:00 - 08-18 02:00:00 @ 26.31]
2026-08-16 02:00:06.482928: Inverter 0 Charge window will be: 2026-08-16 11:00:00+01:00 - 2026-08-16 12:00:00+01:00 - current SoC 66%, target 100%
2026-08-16 02:00:06.484880: Inverter 0 disabled charge window while waiting for schedule (now 08-16 02:00:00 target set_window_minutes 30 charge start time 08-16 11:00:00) original inverter start time 08-18 00:00:00
2026-08-16 02:00:06.485214: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-16 02:00:06.485680: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-16 02:00:06.485959: No export window planned
2026-08-16 02:00:06.486357: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-16 02:00:06.486556: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-16 02:00:06.486874: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-16 02:00:06.487203: Inverter 0 not setting charging SoC as we are not within the window (now 08-16 02:00:00 target set_soc_minutes 30 charge start time 08-18 00:00:00)
2026-08-16 02:00:06.487495: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-16 02:00:06.487696: Inverter 0 Current Target SoC is 7%, already at target
2026-08-16 02:00:06.487964: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 02:00:06.488169: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 02:00:06.488352: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 02:00:06.488667: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 02:00:06.488837: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 02:00:06.489009: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 02:00:06.489234: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 02:00:06.489465: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 02:00:06.489628: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 02:00:06.489810: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 02:00:06.490014: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 02:00:06.490177: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 02:00:06.490320: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 02:00:06.490458: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 02:00:06.490590: Inverter 0 count register writes 0
2026-08-16 02:00:06.524078: Will recompute the plan as it is now 10.0 minutes old and will exceed the max age of 10 minutes before the next run
2026-08-16 02:00:06.524595: Recompute is saving previous plan...
2026-08-16 02:00:06.530954: Best charge window [ 16-08 02:00:00 - 16-08 02:30:00 @ 25.79p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 25.86p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.13p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 25.86p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.27p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.14p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 27.03p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.28p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.68p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 26.1p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 24.28p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 24.94p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.06p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.39p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.66p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.06p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 25.5p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 24.94p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 0.0p 0%, 16-08 11:30:00 - 16-08 12:00:00 @ 0.0p 0%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.43p 0%, 16-08 12:30:00 - 16-08 13:00:00 @ 22.33p 0%, 16-08 13:00:00 - 16-08 13:30:00 @ 22.76p 0%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 0%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 0%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.65p 0%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.95p 0%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.83p 0%, 16-08 16:00:00 - 16-08 16:30:00 @ 36.84p 0%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.54p 0%, 16-08 17:00:00 - 16-08 17:30:00 @ 41.79p 0%, 16-08 17:30:00 - 16-08 18:00:00 @ 43.7p 0%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.34p 0%, 16-08 19:00:00 - 16-08 19:30:00 @ 34.79p 0%, 16-08 19:30:00 - 16-08 20:00:00 @ 34.76p 0%, 16-08 20:00:00 - 16-08 20:30:00 @ 35.62p 0%, 16-08 20:30:00 - 16-08 21:00:00 @ 35.3p 0%, 16-08 21:00:00 - 16-08 21:30:00 @ 35.89p 0%, 16-08 21:30:00 - 16-08 22:00:00 @ 35.71p 0%, 16-08 22:00:00 - 16-08 22:30:00 @ 33.75p 0%, 16-08 22:30:00 - 16-08 23:00:00 @ 32.0p 0%, 16-08 23:00:00 - 16-08 23:30:00 @ 30.02p 0%, 16-08 23:30:00 - 17-08 00:00:00 @ 27.8p 0%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.18p 0%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.38p 0%, 17-08 01:00:00 - 17-08 01:30:00 @ 26.7p 0%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.31p 0%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.79p 0%, 17-08 02:30:00 - 17-08 03:00:00 @ 25.86p 0%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.13p 0%, 17-08 03:30:00 - 17-08 04:00:00 @ 25.86p 0%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.27p 0%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.14p 0%, 17-08 05:00:00 - 17-08 05:30:00 @ 27.03p 0%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.28p 0%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.68p 0%, 17-08 06:30:00 - 17-08 07:00:00 @ 26.1p 0%, 17-08 07:00:00 - 17-08 07:30:00 @ 24.28p 0%, 17-08 07:30:00 - 17-08 08:00:00 @ 24.94p 0%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.06p 0%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.39p 0%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.66p 0%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.06p 0%, 17-08 10:00:00 - 17-08 10:30:00 @ 25.5p 0%, 17-08 10:30:00 - 17-08 11:00:00 @ 24.94p 0%, 17-08 11:00:00 - 17-08 11:30:00 @ 24.25p 0%, 17-08 11:30:00 - 17-08 12:00:00 @ 23.49p 0%, 17-08 12:00:00 - 17-08 12:30:00 @ 23.43p 0%, 17-08 12:30:00 - 17-08 13:00:00 @ 22.33p 0%, 17-08 13:00:00 - 17-08 13:30:00 @ 22.76p 0%, 17-08 13:30:00 - 17-08 14:00:00 @ 22.3p 0%, 17-08 14:00:00 - 17-08 14:30:00 @ 21.41p 0%, 17-08 14:30:00 - 17-08 15:00:00 @ 21.65p 0%, 17-08 15:00:00 - 17-08 15:30:00 @ 22.95p 0%, 17-08 15:30:00 - 17-08 16:00:00 @ 22.83p 0%, 17-08 16:00:00 - 17-08 16:30:00 @ 36.84p 0%, 17-08 16:30:00 - 17-08 17:00:00 @ 37.54p 0%, 17-08 17:00:00 - 17-08 17:30:00 @ 41.79p 0%, 17-08 17:30:00 - 17-08 18:00:00 @ 43.7p 0%, 17-08 18:00:00 - 17-08 18:30:00 @ 44.34p 0%, 17-08 19:00:00 - 17-08 19:30:00 @ 34.79p 0%, 17-08 19:30:00 - 17-08 20:00:00 @ 34.76p 0%, 17-08 20:00:00 - 17-08 20:30:00 @ 35.62p 0%, 17-08 20:30:00 - 17-08 21:00:00 @ 35.3p 0%, 17-08 21:00:00 - 17-08 21:30:00 @ 35.89p 0%, 17-08 21:30:00 - 17-08 22:00:00 @ 35.71p 0%, 17-08 22:00:00 - 17-08 22:30:00 @ 33.75p 0%, 17-08 22:30:00 - 17-08 23:00:00 @ 32.0p 0%, 17-08 23:00:00 - 17-08 23:30:00 @ 30.02p 0%, 17-08 23:30:00 - 18-08 00:00:00 @ 27.8p 0%, 18-08 00:00:00 - 18-08 00:30:00 @ 28.18p 0%, 18-08 00:30:00 - 18-08 01:00:00 @ 27.38p 0%, 18-08 01:00:00 - 18-08 01:30:00 @ 26.7p 0%, 18-08 01:30:00 - 18-08 02:00:00 @ 26.31p 0% ]
2026-08-16 02:00:06.531303: Best export window [  ]
2026-08-16 02:00:06.532894: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-16 02:00:06.538654: Load divergence over 8.0 hours mean 519.04W, min 285.0W, max 1698.0W, std dev 317.63W, divergence 30.6%
2026-08-16 02:00:06.576811: Calculating data from yesterday for savings calculation
2026-08-16 02:00:06.599131: Yesterday basic charge window best: [{'start': 870, 'end': 900, 'average': 13.77}] charge limit best: [16.0] based on max charge slots 1
2026-08-16 02:00:06.688648: predict yesterday end_record 08-17 00:00:00, final soc 1.12kWh, metric 345.67p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 00:00:00, load 12.5kWh, PV 0.0kWh
2026-08-16 02:00:06.748159: predict yesterday10 end_record 08-17 00:00:00, final soc 1.12kWh, metric 351.42p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 00:00:00, load 12.5kWh, PV 0.0kWh
2026-08-16 02:00:06.839349: predict yesterday end_record 08-17 00:00:00, final soc 1.12kWh, metric 345.67p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 00:00:00, load 12.5kWh, PV 0.0kWh
2026-08-16 02:00:06.991929: Yesterday: Predbat disabled was £3.46 (adjusted £3.25) vs £5.77 (adjusted £3.52), saving £-2.31 (adjusted £-0.27) with import 12.84kWh, export 0.0kWh, battery_cycle 4.66kWh, start_soc 1.12kWh,  final_soc 1.12kWh and battery_value 20.6kWh
2026-08-16 02:00:07.167573: predict yesterday end_record 08-17 00:00:00, final soc 0.0kWh, metric 383.46p, metric_keep 0kWh, min_soc 0kWh @ 08-16 00:00:00, load 12.5kWh, PV 0.0kWh
2026-08-16 02:00:07.167918: Yesterday: No Battery/PV system cost predicted was £3.83 (adjusted £3.83) vs £5.77 (adjusted £3.52), saving £-1.93 (adjusted £0.31) with import 12.5kWh, export 0kWh and battery_value 0.0kWh
2026-08-16 02:00:07.182174: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-16 02:00:07.182467: LoadML is_calculating True
2026-08-16 02:00:07.182524: Not using thread pool as LoadML is calculating to avoid lockups
2026-08-16 02:00:07.195921: Calculate Best options: mode(Control charge & discharge), calculate_export_oncharge(False), calculate_export_on_pv(True), set_export_freeze_only(False), set_discharge_during_charge(True), combine_charge_slots(False), combine_export_slots(False), combine_rate_threshold(0.0), best_soc_min(0.0 kWh), best_soc_max(0.0 kWh), best_soc_keep(0.0 kWh), inverter_loss(4%), battery_loss(3%), battery_loss_discharge (3%), inverter_hybrid(True), metric_min_improvement(0.0p), metric_min_improvement_export(0.1p), metric_min_improvement_export_freeze(0.1p), metric_battery_cycle(0.0p/kWh), metric_battery_value_scaling(1.0 x) 
2026-08-16 02:00:07.197139: Optimise levels pass started at 2026-08-16 02:00:07
2026-08-16 02:00:07.197318: Optimise all windows, total charge 94 export 1
2026-08-16 02:00:15.493517: >> Region optimisation pass width 960 gives best_metric 424.2p, best_cost 436.55p, best_cycle 41.52kWh, best_import 22.98kWh
2026-08-16 02:00:16.733315: >> Region optimisation pass width 480 gives best_metric 424.2p, best_cost 436.55p, best_cycle 41.52kWh, best_import 22.98kWh
2026-08-16 02:00:18.274860: >> Region optimisation pass width 240 gives best_metric 424.2p, best_cost 436.55p, best_cycle 41.52kWh, best_import 22.98kWh
2026-08-16 02:00:22.267837: >> Region optimisation pass width 120 gives best_metric 424.2p, best_cost 436.55p, best_cycle 41.52kWh, best_import 22.98kWh
2026-08-16 02:00:22.268394: Calculated end_record as 08-17 11:00:00 based on best_price 22.33p, next_charge_start 08-16 11:00:00, max_windows 65
2026-08-16 02:00:22.268498: Optimise levels pass ended at 2026-08-16 02:00:22, duration 15.1 seconds tried 338 combinations
2026-08-16 02:00:22.268598: Set best_price_charge_level 24.0p, best_price_export_level 0p, best_price_charge 22.33p, best_cost_export 0p, best_metric 424.2p, best_keep 0kWh, best_cycle 41.52kWh, best_carbon 0kg, best_import 22.98kWh
2026-08-16 02:00:22.393473: Starting detailed optimisation end_record 08-17 11:00:00, best_price_charge 22.33p, best_price_export 0p. lowest_price_charge 0.0p with charge limits [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12.0, 12.0, 0, 0, 0, 0, 12.0, 12.0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0]kWh and export limits []kWh
2026-08-16 02:00:46.626639: ML Predictor: Epoch 9/30: lr=0.00084 huber_loss=0.0084 val_mae=0.0017 kWh val_bias=+0.0000 kWh (+0.0%) combined=0.0010 kWh ema_combined=0.0016 kWh
2026-08-16 02:00:56.648007: Tweak plan optimisation started metric 148.36p, cost 163.22p
2026-08-16 02:00:59.379577: Tweak optimisation finished metric 148.35p, cost 163.22p, metric_keep 0kWh, cycle 21.84kWh, carbon 0kg, import 10.63kWh, changed 8 window(s)
2026-08-16 02:00:59.412970: Swap charge optimisation started metric 148.35p, cost 163.22p, min_improvement_swap 0.1p
2026-08-16 02:01:13.404482: Swap charge optimisation finished metric 148.35p, cost 163.22p
2026-08-16 02:01:13.600892: Pruned 3 dead plan slot(s) in 12 trial(s), nominal metric 142.62p -> 142.62p, plan now metric 148.44p, cost 163.22p, cycle 21.84kWh, import 10.63kWh
2026-08-16 02:01:13.651964: Raw charge windows [ 16-08 02:00:00 - 16-08 02:30:00 @ 25.79p 0%, 16-08 02:30:00 - 16-08 03:00:00 @ 25.86p 0%, 16-08 03:00:00 - 16-08 03:30:00 @ 26.13p 0%, 16-08 03:30:00 - 16-08 04:00:00 @ 25.86p 0%, 16-08 04:00:00 - 16-08 04:30:00 @ 26.27p 0%, 16-08 04:30:00 - 16-08 05:00:00 @ 26.14p 0%, 16-08 05:00:00 - 16-08 05:30:00 @ 27.03p 0%, 16-08 05:30:00 - 16-08 06:00:00 @ 26.28p 0%, 16-08 06:00:00 - 16-08 06:30:00 @ 25.68p 0%, 16-08 06:30:00 - 16-08 07:00:00 @ 26.1p 0%, 16-08 07:00:00 - 16-08 07:30:00 @ 24.28p 0%, 16-08 07:30:00 - 16-08 08:00:00 @ 24.94p 0%, 16-08 08:00:00 - 16-08 08:30:00 @ 24.06p 0%, 16-08 08:30:00 - 16-08 09:00:00 @ 24.39p 0%, 16-08 09:00:00 - 16-08 09:30:00 @ 24.66p 0%, 16-08 09:30:00 - 16-08 10:00:00 @ 24.06p 0%, 16-08 10:00:00 - 16-08 10:30:00 @ 25.5p 0%, 16-08 10:30:00 - 16-08 11:00:00 @ 24.94p 0%, 16-08 11:00:00 - 16-08 11:30:00 @ 0.0p 75%, 16-08 11:30:00 - 16-08 12:00:00 @ 0.0p 100%, 16-08 12:00:00 - 16-08 12:30:00 @ 23.43p 0%, 16-08 12:30:00 - 16-08 13:00:00 @ 22.33p 63%, 16-08 13:00:00 - 16-08 13:30:00 @ 22.76p 63%, 16-08 13:30:00 - 16-08 14:00:00 @ 22.3p 63%, 16-08 14:00:00 - 16-08 14:30:00 @ 21.41p 75%, 16-08 14:30:00 - 16-08 15:00:00 @ 21.65p 75%, 16-08 15:00:00 - 16-08 15:30:00 @ 22.95p 75%, 16-08 15:30:00 - 16-08 16:00:00 @ 22.83p 75%, 16-08 16:00:00 - 16-08 16:30:00 @ 36.84p 0%, 16-08 16:30:00 - 16-08 17:00:00 @ 37.54p 0%, 16-08 17:00:00 - 16-08 17:30:00 @ 41.79p 0%, 16-08 17:30:00 - 16-08 18:00:00 @ 43.7p 0%, 16-08 18:00:00 - 16-08 18:30:00 @ 44.34p 0%, 16-08 19:00:00 - 16-08 19:30:00 @ 34.79p 0%, 16-08 19:30:00 - 16-08 20:00:00 @ 34.76p 0%, 16-08 20:00:00 - 16-08 20:30:00 @ 35.62p 0%, 16-08 20:30:00 - 16-08 21:00:00 @ 35.3p 0%, 16-08 21:00:00 - 16-08 21:30:00 @ 35.89p 0%, 16-08 21:30:00 - 16-08 22:00:00 @ 35.71p 0%, 16-08 22:00:00 - 16-08 22:30:00 @ 33.75p 0%, 16-08 22:30:00 - 16-08 23:00:00 @ 32.0p 0%, 16-08 23:00:00 - 16-08 23:30:00 @ 30.02p 0%, 16-08 23:30:00 - 17-08 00:00:00 @ 27.8p 0%, 17-08 00:00:00 - 17-08 00:30:00 @ 28.18p 0%, 17-08 00:30:00 - 17-08 01:00:00 @ 27.38p 0%, 17-08 01:00:00 - 17-08 01:30:00 @ 26.7p 0%, 17-08 01:30:00 - 17-08 02:00:00 @ 26.31p 0%, 17-08 02:00:00 - 17-08 02:30:00 @ 25.79p 0%, 17-08 02:30:00 - 17-08 03:00:00 @ 25.86p 0%, 17-08 03:00:00 - 17-08 03:30:00 @ 26.13p 0%, 17-08 03:30:00 - 17-08 04:00:00 @ 25.86p 0%, 17-08 04:00:00 - 17-08 04:30:00 @ 26.27p 0%, 17-08 04:30:00 - 17-08 05:00:00 @ 26.14p 0%, 17-08 05:00:00 - 17-08 05:30:00 @ 27.03p 0%, 17-08 05:30:00 - 17-08 06:00:00 @ 26.28p 0%, 17-08 06:00:00 - 17-08 06:30:00 @ 25.68p 0%, 17-08 06:30:00 - 17-08 07:00:00 @ 26.1p 0%, 17-08 07:00:00 - 17-08 07:30:00 @ 24.28p 0%, 17-08 07:30:00 - 17-08 08:00:00 @ 24.94p 0%, 17-08 08:00:00 - 17-08 08:30:00 @ 24.06p 0%, 17-08 08:30:00 - 17-08 09:00:00 @ 24.39p 0%, 17-08 09:00:00 - 17-08 09:30:00 @ 24.66p 0%, 17-08 09:30:00 - 17-08 10:00:00 @ 24.06p 0%, 17-08 10:00:00 - 17-08 10:30:00 @ 25.5p 0%, 17-08 10:30:00 - 17-08 11:00:00 @ 24.94p 0%, 17-08 11:00:00 - 17-08 11:30:00 @ 24.25p 100%, 17-08 11:30:00 - 17-08 12:00:00 @ 23.49p 100%, 17-08 12:00:00 - 17-08 12:30:00 @ 23.43p 100%, 17-08 12:30:00 - 17-08 13:00:00 @ 22.33p 100%, 17-08 13:00:00 - 17-08 13:30:00 @ 22.76p 100%, 17-08 13:30:00 - 17-08 14:00:00 @ 22.3p 100%, 17-08 14:00:00 - 17-08 14:30:00 @ 21.41p 100%, 17-08 14:30:00 - 17-08 15:00:00 @ 21.65p 100%, 17-08 15:00:00 - 17-08 15:30:00 @ 22.95p 100%, 17-08 15:30:00 - 17-08 16:00:00 @ 22.83p 100%, 17-08 16:00:00 - 17-08 16:30:00 @ 36.84p 100%, 17-08 16:30:00 - 17-08 17:00:00 @ 37.54p 100%, 17-08 17:00:00 - 17-08 17:30:00 @ 41.79p 100%, 17-08 17:30:00 - 17-08 18:00:00 @ 43.7p 100%, 17-08 18:00:00 - 17-08 18:30:00 @ 44.34p 100%, 17-08 19:00:00 - 17-08 19:30:00 @ 34.79p 100%, 17-08 19:30:00 - 17-08 20:00:00 @ 34.76p 100%, 17-08 20:00:00 - 17-08 20:30:00 @ 35.62p 100%, 17-08 20:30:00 - 17-08 21:00:00 @ 35.3p 100%, 17-08 21:00:00 - 17-08 21:30:00 @ 35.89p 100%, 17-08 21:30:00 - 17-08 22:00:00 @ 35.71p 100%, 17-08 22:00:00 - 17-08 22:30:00 @ 33.75p 100%, 17-08 22:30:00 - 17-08 23:00:00 @ 32.0p 100%, 17-08 23:00:00 - 17-08 23:30:00 @ 30.02p 100%, 17-08 23:30:00 - 18-08 00:00:00 @ 27.8p 100%, 18-08 00:00:00 - 18-08 00:30:00 @ 28.18p 100%, 18-08 00:30:00 - 18-08 01:00:00 @ 27.38p 100%, 18-08 01:00:00 - 18-08 01:30:00 @ 26.7p 100%, 18-08 01:30:00 - 18-08 02:00:00 @ 26.31p 100% ] reserve 1.12
2026-08-16 02:01:13.652854: Unclipped charge windows [ 16-08 11:00:00 - 16-08 12:00:00 @ 0.0p 100%, 16-08 12:30:00 - 16-08 14:00:00 @ 22.43p 63%, 16-08 14:00:00 - 16-08 16:00:00 @ 22.53p 75%, 17-08 11:00:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 18-08 02:00:00 @ 26.88p 100% ] reserve 1.12
2026-08-16 02:01:13.653391: Unfiltered charge windows [ 16-08 11:00:00 - 16-08 12:00:00 @ 0.0p 100%, 16-08 12:30:00 - 16-08 14:00:00 @ 22.43p 63%, 16-08 14:00:00 - 16-08 16:00:00 @ 22.53p 75%, 17-08 11:00:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 18-08 02:00:00 @ 26.88p 100% ] reserve 1.12
2026-08-16 02:01:13.653715: Filtered charge windows [ 16-08 11:00:00 - 16-08 12:00:00 @ 0.0p 100%, 16-08 12:30:00 - 16-08 14:00:00 @ 22.43p 63%, 16-08 14:00:00 - 16-08 16:00:00 @ 22.53p 75%, 17-08 11:00:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 18-08 02:00:00 @ 26.88p 100% ] reserve 1.12
2026-08-16 02:01:13.739191: Previous plan best metric is 148.36 (cost 163.22) and new plan best metric is 148.35 (cost 163.22)
2026-08-16 02:01:13.755515: New plan metric is not significantly better (metric_min_improvement_plan 2.0) than previous plan, using previous plan
2026-08-16 02:01:13.755899: Plan valid is now true after recompute was False
2026-08-16 02:01:13.788489: predict base end_record 08-17 11:00:00, final soc 1.12kWh, metric 374.2p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 19:40:00, load 20.17kWh, PV 0.0kWh
2026-08-16 02:01:14.049288: Battery has 17.67 hours left - now at 10.56kWh
2026-08-16 02:01:14.152659: predict base10 end_record 08-17 11:00:00, final soc 1.12kWh, metric 401.98p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 18:55:00, load 21.05kWh, PV 0.0kWh
2026-08-16 02:01:14.328331: predict best10 end_record 08-17 11:00:00, final soc 1.12kWh, metric 251.98p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 07:15:00, load 21.05kWh, PV 0.0kWh
2026-08-16 02:01:14.535255: predict best end_record 08-17 11:00:00, final soc 1.12kWh, metric 213.2p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 08:25:00, load 20.17kWh, PV 0.0kWh
2026-08-16 02:01:14.535476: Saving plan best values to HA entities
2026-08-16 02:01:14.778949: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-16 02:01:14.787375: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0.0
2026-08-16 02:01:14.796603: Best charging limit SoC's [16.0, 10.0, 12.0, 16.0, 16.0]kWh, export []kWh gives import battery 9.25kWh, house 1.39kWh, export 0.0kWh, metric 213.2p, metric10 251.98p
2026-08-16 02:01:14.917957: Marginal costs baseline metric (no standing charge): 163.2193
2026-08-16 02:01:15.366818: Marginal energy costs matrix computed: min=21.53 max=25.99
2026-08-16 02:01:15.518955: Rate array import [{'start': 120, 'end': 660, 'rate': 'expensive', 'range': '(24.1p - 27.0p)'}, {'start': 660, 'end': 720, 'rate': 'free', 'range': '(0.0p)'}, {'start': 720, 'end': 960, 'rate': 'expensive', 'range': '(21.4p - 23.4p)'}, {'start': 960, 'end': 1380, 'rate': 'very expensive', 'range': '(32.0p - 45.3p)'}, {'start': 1380, 'end': 2100, 'rate': 'expensive', 'range': '(24.1p - 30.0p)'}] export [{'start': 120, 'end': 2100, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-16 02:01:15.520031: - Your estimated bill for today is £1.29 and tomorrow is £7.28
2026-08-16 02:01:15.533181: - Import rates are expensive (24.1p - 27.0p) for the next 9 hours and then free (0.0p) for the next 1 hour.
2026-08-16 02:01:15.533287: - The battery is currently at 66% and is in eco mode for the next 9 hours.
2026-08-16 02:01:15.533381: - For the next 48 hours there will be no solar generation.
2026-08-16 02:01:15.533435: - You will run out of battery in 30 hours.
2026-08-16 02:01:15.533544: - Your next charge slot will be in 9 hours where import rates will be free (0.0p).
2026-08-16 02:01:15.533590: 
2026-08-16 02:01:15.602870: Plan calculation took 69.08 seconds
2026-08-16 02:01:15.604014: Inverter 0: Type SK Sunsynk
2026-08-16 02:01:15.604227: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-16 02:01:15.605373: Reserve min: 7%, battery_min: 7%
2026-08-16 02:01:15.605789: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-16 02:01:15.606469: Inverter 0 SoC: 10.49kW 66%, current charge rate 5000W, current discharge rate 5250W, current battery power 485W, current battery voltage 51.2V, grid power -54W, load power 536W, PV Power 0W
2026-08-16 02:01:15.607476: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-16 02:01:15.607603: Inverter 0 scheduled charge enable is False
2026-08-16 02:01:15.607652: Inverter 0 charge windows currently []
2026-08-16 02:01:15.607777: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-16 02:01:15.608784: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-16 02:01:15.608847: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-16 02:01:15.608979: Inverter 0 scheduled discharge enable is False
2026-08-16 02:01:15.609258: Inverter 0 idle time is 08-16 00:00:00-08-16 23:59:00
2026-08-16 02:01:15.609316: Inverter 0 discharge windows currently []
2026-08-16 02:01:15.609443: Note: Inverter does not support discharge freeze - disabled
2026-08-16 02:01:15.609488: Note: Inverter does not support charge freeze - disabled
2026-08-16 02:01:15.609562: Note: Inverter does not support reserve - disabling reserve functions
2026-08-16 02:01:15.716889: Inverter 0 Charge window will be: 2026-08-16 11:00:00+01:00 - 2026-08-16 12:00:00+01:00 - current SoC 66%, target 100%
2026-08-16 02:01:15.717405: Inverter 0 disabled charge window while waiting for schedule (now 08-16 02:00:00 target set_window_minutes 30 charge start time 08-16 11:00:00) original inverter start time 08-18 00:00:00
2026-08-16 02:01:15.717683: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-16 02:01:15.718112: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-16 02:01:15.718372: No export window planned
2026-08-16 02:01:15.718682: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-16 02:01:15.718839: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-16 02:01:15.719252: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-16 02:01:15.719616: Inverter 0 not setting charging SoC as we are not within the window (now 08-16 02:00:00 target set_soc_minutes 30 charge start time 08-18 00:00:00)
2026-08-16 02:01:15.719792: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-16 02:01:15.720055: Inverter 0 Current Target SoC is 7%, already at target
2026-08-16 02:01:15.720341: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 02:01:15.720511: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 02:01:15.720710: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 02:01:15.720906: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 02:01:15.721188: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 02:01:15.721348: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 02:01:15.721542: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 02:01:15.721829: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 02:01:15.721994: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 02:01:15.722238: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 02:01:15.722434: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 02:01:15.722627: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 02:01:15.722875: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 02:01:15.723041: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.
2026-08-16 02:01:15.723245: Inverter 0 count register writes 0
2026-08-16 02:01:15.770978: Total inverter register writes now 826
2026-08-16 02:01:15.914698: Info: Completed run status Demand
2026-08-16 02:01:15.940610: Info: record_status Demand
2026-08-16 02:01:15.953080: Saved current settings to /config/predbat_config.json
2026-08-16 02:01:15.953506: Compare, best tariff: igo_fixed metric 126.72p
2026-08-16 02:01:37.304133: ML Predictor: Epoch 10/30: lr=0.00080 huber_loss=0.0082 val_mae=0.0018 kWh val_bias=-0.0002 kWh (-0.3%) combined=0.0012 kWh ema_combined=0.0014 kWh
2026-08-16 02:01:57.173683: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-16 02:01:57.173941: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-16 02:01:57.173995: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-16 02:01:57.174308: Inverter 0 idle time is 08-16 00:00:00-08-16 23:59:00
2026-08-16 02:01:57.174363: Note: Inverter does not support discharge freeze - disabled
2026-08-16 02:01:57.174393: Note: Inverter does not support charge freeze - disabled
2026-08-16 02:01:57.174412: Note: Inverter does not support reserve - disabling reserve functions
2026-08-16 02:02:11.541166: ML Predictor: Epoch 11/30: lr=0.00076 huber_loss=0.0084 val_mae=0.0018 kWh val_bias=-0.0003 kWh (-0.5%) combined=0.0012 kWh ema_combined=0.0014 kWh
2026-08-16 02:02:45.480912: ML Predictor: Epoch 12/30: lr=0.00072 huber_loss=0.0074 val_mae=0.0018 kWh val_bias=-0.0006 kWh (-1.1%) combined=0.0011 kWh ema_combined=0.0013 kWh
2026-08-16 02:03:19.320032: ML Predictor: Epoch 13/30: lr=0.00067 huber_loss=0.0078 val_mae=0.0016 kWh val_bias=+0.0003 kWh (+0.6%) combined=0.0011 kWh ema_combined=0.0012 kWh
2026-08-16 02:03:53.440511: ML Predictor: Epoch 14/30: lr=0.00062 huber_loss=0.0071 val_mae=0.0015 kWh val_bias=-0.0000 kWh (-0.0%) combined=0.0008 kWh ema_combined=0.0011 kWh
2026-08-16 02:04:11.714140: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-16 02:04:11.714445: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-16 02:04:11.714499: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-16 02:04:11.714671: Inverter 0 idle time is 08-16 00:00:00-08-16 23:59:00
2026-08-16 02:04:11.714719: Note: Inverter does not support discharge freeze - disabled
2026-08-16 02:04:11.714748: Note: Inverter does not support charge freeze - disabled
2026-08-16 02:04:11.714772: Note: Inverter does not support reserve - disabling reserve functions
2026-08-16 02:04:24.729463: ML Predictor: Epoch 15/30: lr=0.00057 huber_loss=0.0065 val_mae=0.0016 kWh val_bias=+0.0007 kWh (+1.4%) combined=0.0014 kWh ema_combined=0.0012 kWh
2026-08-16 02:04:41.846926: Info: HAHistory: Pruning history data started.
2026-08-16 02:04:41.851894: Info: HAHistory: Pruning history data completed.
2026-08-16 02:04:55.811479: ML Predictor: Epoch 16/30: lr=0.00053 huber_loss=0.0060 val_mae=0.0015 kWh val_bias=-0.0002 kWh (-0.3%) combined=0.0008 kWh ema_combined=0.0011 kWh
2026-08-16 02:05:00.082077: --------------- PredBat - update at 2026-08-16 02:05:00+01:00 with clock skew 0 minutes, minutes now 125
2026-08-16 02:05:00.084297: Saved current settings to /config/predbat_config.json
2026-08-16 02:05:00.084615: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 90.0 minutes
2026-08-16 02:05:00.084888: Predbat /addon/github.py repository springfall2008/batpred version v8.48.1 currently running, latest version is v8.48.2, latest beta is v8.48.2
2026-08-16 02:05:00.085235: Autoupdate: There is an update pending v8.48.2 PV90 and second pass enabled by default, bug fixes - auto update is off
2026-08-16 02:05:00.139833: Configuration: forecast_hours 48, num_cars 1, debug enable is False, calculate_plan_every 10 minutes
2026-08-16 02:05:00.140140: days_previous_auto enabled - will fall back to a weighted-bucket historical load forecast over up to 14 days if no other load forecast source takes precedence
2026-08-16 02:05:00.140457: Warn: calculate_pv90_plan is Off so forcing pv_metric90_weight from 0.15 to 0.0 - turn on switch.predbat_calculate_pv90_plan (expert mode) to enable the PV90 upside scenario
2026-08-16 02:05:00.141295: Cars 1 charging from battery False planned [False], charging_now [False] smart [True], max_price [0.0]p, plan_time ['16:00:00'], battery size [58.6]kWh, limit [100.0]% ([58.6]kWh), rate [7.4]kW, exclusive [False]
2026-08-16 02:05:00.141508: Predbat mode is set to Control charge & discharge
2026-08-16 02:05:00.549645: Found 21602 load_today datapoints going back 27 days
2026-08-16 02:05:00.549793: Using load_power data to fill gaps in load_today data
2026-08-16 02:05:02.065860: Processing 721 30-minute periods for power integration
2026-08-16 02:05:02.409203: Warn: You have not set pv_today in apps.yaml, you will have no previous PV data
2026-08-16 02:05:02.423082: Car charging hold False, threshold 6.0kWh
2026-08-16 02:05:02.423369: Current data so far today: load 1.7kWh, import 0.1kWh, export 0.0kWh, PV 0kWh
2026-08-16 02:05:02.439612: Cars: SoC: [8.204]kWh, Charge limit [100.0]% ([58.6]kWh), plan time ['16:00:00'], battery size [58.6]kWh
2026-08-16 02:05:02.441374: Standing charge is set to 49.98p
2026-08-16 02:05:02.476884: FutureRate: Detected import tariff E-1R-AGILE-24-10-01-G agile True export tariff None agile False
2026-08-16 02:05:02.477070: Fetching futurerate data from https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=DATE&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP
2026-08-16 02:05:02.477345: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-16&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 125.0 minutes
2026-08-16 02:05:02.478282: Return cached futurerate data for https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2026-08-17&market=N2EX_DayAhead&deliveryArea=UK&currency=GBP age 124.8 minutes
2026-08-16 02:05:02.482341: Loaded 47 datapoints of futurerate analysis
2026-08-16 02:05:02.584674: Predicted future rates: ['08-16 00:00:00 => 28.52 / 19.97', '08-16 01:00:00 => 27.43 / 19.41', '08-16 02:00:00 => 26.47 / 18.92', '08-16 03:00:00 => 26.1 / 18.73', '08-16 04:00:00 => 26.04 / 18.7', '08-16 05:00:00 => 25.95 / 18.65', '08-16 06:00:00 => 25.71 / 18.53', '08-16 07:00:00 => 25.37 / 18.35', '08-16 08:00:00 => 24.58 / 17.94', '08-16 09:00:00 => 24.0 / 17.64', '08-16 10:00:00 => 24.54 / 17.92', '08-16 11:00:00 => 24.44 / 17.87', '08-16 12:00:00 => 23.53 / 17.4', '08-16 13:00:00 => 22.89 / 17.07', '08-16 14:00:00 => 21.77 / 16.49', '08-16 15:00:00 => 21.77 / 16.49', '08-16 16:00:00 => 36.89 / 18.3', '08-16 17:00:00 => 39.85 / 19.83', '08-16 18:00:00 => 43.87 / 21.9', '08-16 19:00:00 => 32.69 / 22.13', '08-16 20:00:00 => 33.46 / 22.53', '08-16 21:00:00 => 33.37 / 22.48', '08-16 22:00:00 => 32.01 / 21.78']
2026-08-16 02:05:02.665705: Rate min forward looking: now 0.0p at end of forecast 21.41p
2026-08-16 02:05:02.666358: Import rates: min 0.0p, max 45.28p, average 28.23p
2026-08-16 02:05:02.720416: Export rates: min 0p, max 0p, average 0.0p
2026-08-16 02:05:02.722060: Rate thresholds (for charge/export) are import 44.78p (0.0p), export -0.1p (0.0p)
2026-08-16 02:05:02.724346: High export rate found rates in range 99p to -99p
2026-08-16 02:05:02.924389: Low Import rate found rates in range 0.0p to 44.34p
2026-08-16 02:05:02.925465: Car 0 charging is not planned as it is not plugged in
2026-08-16 02:05:02.970249: Battery level now 10.56kWh, -1hr ago 11.04kWh, at midnight 12.21kWh, battery value change in the last hour -0.48p, change today -1.65p, rate_forward 1.0p
2026-08-16 02:05:02.971528: Last hour: net energy 0.04kWh, import 0.04kWh, export 0.0kWh, car 0kWh, load 0.7kWh, net cost 1.06p, import 1.06p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-16 02:05:03.139330: Today's energy total net 0.1kWh, import 0.1kWh, export 0.0kWh, cost 52.71p, import 2.72p, export 0.0p, carbon 0.0kg
2026-08-16 02:05:03.139623: Warn: Unable to parse relative_time from PV forecast sensor: None, using midnight UTC as fallback
2026-08-16 02:05:03.304238: Using weighted-bucket historical load forecast over 14 days
2026-08-16 02:05:03.370613: Today's load divergence 100.0%, in-day adjustment 82.97%, damping 0.95x, yesterday 82.97% today 100.0% blend 100.0%
2026-08-16 02:05:03.370770: Today's predicted so far 1.94kWh with 0.0kWh car/iBoost excluded, 0kWh import ignored, and 1.94kWh forecast extra.
2026-08-16 02:05:03.370815: Today's actual load so far 1.76kWh with 0.0kWh car/iBoost excluded, and 0kWh import ignored.
2026-08-16 02:05:03.521950: Inverter 0: Type SK Sunsynk
2026-08-16 02:05:03.522077: Note: Inverter 0: Using inverter type SK - not all features are available on all Inverter types
2026-08-16 02:05:03.522367: Reserve min: 7%, battery_min: 7%
2026-08-16 02:05:03.522477: Inverter 0 with soc_max 16.0kWh, nominal_capacity 16.0kWh, battery rate raw 5000.0W, charge rate 5.0kW, charge rate DC 5.0kW, discharge rate 5.0kW, battery_rate_min 0.0W, AC limit 5.0kW, export limit 100.0kW, reserve 7%, current_reserve 7%, temperature 20°C
2026-08-16 02:05:03.522881: Inverter 0 SoC: 10.49kW 66%, current charge rate 5000W, current discharge rate 5250W, current battery power 509W, current battery voltage 51.2V, grid power -54W, load power 562W, PV Power 0W
2026-08-16 02:05:03.523103: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-16 02:05:03.523248: Inverter 0 scheduled charge enable is False
2026-08-16 02:05:03.523299: Inverter 0 charge windows currently []
2026-08-16 02:05:03.523338: Inverter 0 Charge settings: timed charged is disabled, power 5.0kW
2026-08-16 02:05:03.523501: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-16 02:05:03.523554: Inverter 0 sensor.predbat_SK_0_scheduled_discharge_enable set to False
2026-08-16 02:05:03.523606: Inverter 0 scheduled discharge enable is False
2026-08-16 02:05:03.523795: Inverter 0 idle time is 08-16 00:00:00-08-16 23:59:00
2026-08-16 02:05:03.523847: Inverter 0 discharge windows currently []
2026-08-16 02:05:03.523881: Note: Inverter does not support discharge freeze - disabled
2026-08-16 02:05:03.523908: Note: Inverter does not support charge freeze - disabled
2026-08-16 02:05:03.523935: Note: Inverter does not support reserve - disabling reserve functions
2026-08-16 02:05:03.693473: Dynamic load last period 0.60kW, status low, threshold_battery 5.0kWh, threshold_car 6.0kWh,
2026-08-16 02:05:03.693578: Plan was last updated on 2026-08-16 02:00:00+01:00 and is now 5.0 minutes old
2026-08-16 02:05:03.693895: Best charge window [ 16-08 11:00:00 - 16-08 12:00:00 @ 0.0p 100%, 16-08 12:30:00 - 16-08 14:00:00 @ 22.43p 63%, 16-08 14:00:00 - 16-08 16:00:00 @ 22.53p 75%, 17-08 11:00:00 - 17-08 18:30:00 @ 42.52p 100%, 17-08 19:00:00 - 18-08 01:30:00 @ 27.44p 100% ]
2026-08-16 02:05:03.693949: Best export window [  ]
2026-08-16 02:05:03.694692: PV Forecast 0.0kWh and 10% Forecast 0.0kWh; PV cloud factor None
2026-08-16 02:05:03.697312: Load divergence over 8.0 hours mean 519.17W, min 288.6W, max 1688.4W, std dev 315.68W, divergence 30.4%
2026-08-16 02:05:03.715130: Warn: Prediction kernel: enabled but NOT available (failed to load /addon/prediction_kernel_lib_x86_64.so (Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /addon/prediction_kernel_lib_x86_64.so))) - falling back to the Python engine
2026-08-16 02:05:03.716032: LoadML is_calculating True
2026-08-16 02:05:03.716083: Not using thread pool as LoadML is calculating to avoid lockups
2026-08-16 02:05:03.746374: predict base end_record 08-17 11:05:00, final soc 1.12kWh, metric 376.93p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 19:40:00, load 20.25kWh, PV 0.0kWh
2026-08-16 02:05:03.997935: Battery has 17.58 hours left - now at 10.49kWh
2026-08-16 02:05:04.177501: predict base10 end_record 08-17 11:05:00, final soc 1.12kWh, metric 404.83p, metric_keep 0kWh, min_soc 1.12kWh @ 08-16 18:55:00, load 21.14kWh, PV 0.0kWh
2026-08-16 02:05:04.322701: predict best10 end_record 08-17 11:05:00, final soc 1.44kWh, metric 262.8p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 07:15:00, load 21.14kWh, PV 0.0kWh
2026-08-16 02:05:04.463030: predict best end_record 08-17 11:05:00, final soc 1.51kWh, metric 225.68p, metric_keep 0kWh, min_soc 1.12kWh @ 08-17 08:25:00, load 20.25kWh, PV 0.0kWh
2026-08-16 02:05:04.463304: Saving plan best values to HA entities
2026-08-16 02:05:04.822376: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results off total_energy 0.0
2026-08-16 02:05:04.840699: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results off total_energy 0.0
2026-08-16 02:05:04.854941: Best charging limit SoC's [16.0, 10.0, 12.0, 16.0, 16.0]kWh, export []kWh gives import battery 9.76kWh, house 1.4kWh, export 0.0kWh, metric 225.68p, metric10 262.8p
2026-08-16 02:05:05.046723: Marginal costs baseline metric (no standing charge): 175.7
2026-08-16 02:05:05.795424: Marginal energy costs matrix computed: min=21.66 max=26.02
2026-08-16 02:05:05.953933: Rate array import [{'start': 125, 'end': 660, 'rate': 'expensive', 'range': '(24.1p - 27.0p)'}, {'start': 660, 'end': 720, 'rate': 'free', 'range': '(0.0p)'}, {'start': 720, 'end': 960, 'rate': 'expensive', 'range': '(21.4p - 23.4p)'}, {'start': 960, 'end': 1380, 'rate': 'very expensive', 'range': '(32.0p - 45.3p)'}, {'start': 1380, 'end': 2105, 'rate': 'expensive', 'range': '(24.1p - 30.0p)'}] export [{'start': 125, 'end': 2105, 'rate': 'fixed', 'range': '(0p)'}]
2026-08-16 02:05:05.955061: - Your estimated bill for today is £1.29 and tomorrow is £7.26
2026-08-16 02:05:05.955143: - Import rates are expensive (24.1p - 27.0p) for the next 8 hours and then free (0.0p) for the next 1 hour.
2026-08-16 02:05:05.955181: - The battery is currently at 66% and is in eco mode for the next 8 hours.
2026-08-16 02:05:05.955213: - For the next 48 hours there will be no solar generation.
2026-08-16 02:05:05.955254: - You will run out of battery in 30 hours.
2026-08-16 02:05:05.955294: - Your next charge slot will be in 8 hours where import rates will be free (0.0p).
2026-08-16 02:05:05.955326: 
2026-08-16 02:05:06.045747: Plan calculation took 2.35 seconds
2026-08-16 02:05:06.065343: No high rate period found
2026-08-16 02:05:06.234756: Import threshold used for optimisation was 23.43p
2026-08-16 02:05:06.365742: Low import rate windows [0: 08-16 02:00:00 - 08-16 02:30:00 @ 25.79, 1: 08-16 02:30:00 - 08-16 03:00:00 @ 25.86, 2: 08-16 03:00:00 - 08-16 03:30:00 @ 26.13, 3: 08-16 03:30:00 - 08-16 04:00:00 @ 25.86, 4: 08-16 04:00:00 - 08-16 04:30:00 @ 26.27, 5: 08-16 04:30:00 - 08-16 05:00:00 @ 26.14, 6: 08-16 05:00:00 - 08-16 05:30:00 @ 27.03, 7: 08-16 05:30:00 - 08-16 06:00:00 @ 26.28, 8: 08-16 06:00:00 - 08-16 06:30:00 @ 25.68, 9: 08-16 06:30:00 - 08-16 07:00:00 @ 26.1, 10: 08-16 07:00:00 - 08-16 07:30:00 @ 24.28, 11: 08-16 07:30:00 - 08-16 08:00:00 @ 24.94, 12: 08-16 08:00:00 - 08-16 08:30:00 @ 24.06, 13: 08-16 08:30:00 - 08-16 09:00:00 @ 24.39, 14: 08-16 09:00:00 - 08-16 09:30:00 @ 24.66, 15: 08-16 09:30:00 - 08-16 10:00:00 @ 24.06, 16: 08-16 10:00:00 - 08-16 10:30:00 @ 25.5, 17: 08-16 10:30:00 - 08-16 11:00:00 @ 24.94, 18: 08-16 11:00:00 - 08-16 11:30:00 @ 0.0, 19: 08-16 11:30:00 - 08-16 12:00:00 @ 0.0, 20: 08-16 12:00:00 - 08-16 12:30:00 @ 23.43, 21: 08-16 12:30:00 - 08-16 13:00:00 @ 22.33, 22: 08-16 13:00:00 - 08-16 13:30:00 @ 22.76, 23: 08-16 13:30:00 - 08-16 14:00:00 @ 22.3, 24: 08-16 14:00:00 - 08-16 14:30:00 @ 21.41, 25: 08-16 14:30:00 - 08-16 15:00:00 @ 21.65, 26: 08-16 15:00:00 - 08-16 15:30:00 @ 22.95, 27: 08-16 15:30:00 - 08-16 16:00:00 @ 22.83, 28: 08-16 16:00:00 - 08-16 16:30:00 @ 36.84, 29: 08-16 16:30:00 - 08-16 17:00:00 @ 37.54, 30: 08-16 17:00:00 - 08-16 17:30:00 @ 41.79, 31: 08-16 17:30:00 - 08-16 18:00:00 @ 43.7, 32: 08-16 18:00:00 - 08-16 18:30:00 @ 44.34, 33: 08-16 19:00:00 - 08-16 19:30:00 @ 34.79, 34: 08-16 19:30:00 - 08-16 20:00:00 @ 34.76, 35: 08-16 20:00:00 - 08-16 20:30:00 @ 35.62, 36: 08-16 20:30:00 - 08-16 21:00:00 @ 35.3, 37: 08-16 21:00:00 - 08-16 21:30:00 @ 35.89, 38: 08-16 21:30:00 - 08-16 22:00:00 @ 35.71, 39: 08-16 22:00:00 - 08-16 22:30:00 @ 33.75, 40: 08-16 22:30:00 - 08-16 23:00:00 @ 32.0, 41: 08-16 23:00:00 - 08-16 23:30:00 @ 30.02, 42: 08-16 23:30:00 - 08-17 00:00:00 @ 27.8, 43: 08-17 00:00:00 - 08-17 00:30:00 @ 28.18, 44: 08-17 00:30:00 - 08-17 01:00:00 @ 27.38, 45: 08-17 01:00:00 - 08-17 01:30:00 @ 26.7, 46: 08-17 01:30:00 - 08-17 02:00:00 @ 26.31, 47: 08-17 02:00:00 - 08-17 02:30:00 @ 25.79, 48: 08-17 02:30:00 - 08-17 03:00:00 @ 25.86, 49: 08-17 03:00:00 - 08-17 03:30:00 @ 26.13, 50: 08-17 03:30:00 - 08-17 04:00:00 @ 25.86, 51: 08-17 04:00:00 - 08-17 04:30:00 @ 26.27, 52: 08-17 04:30:00 - 08-17 05:00:00 @ 26.14, 53: 08-17 05:00:00 - 08-17 05:30:00 @ 27.03, 54: 08-17 05:30:00 - 08-17 06:00:00 @ 26.28, 55: 08-17 06:00:00 - 08-17 06:30:00 @ 25.68, 56: 08-17 06:30:00 - 08-17 07:00:00 @ 26.1, 57: 08-17 07:00:00 - 08-17 07:30:00 @ 24.28, 58: 08-17 07:30:00 - 08-17 08:00:00 @ 24.94, 59: 08-17 08:00:00 - 08-17 08:30:00 @ 24.06, 60: 08-17 08:30:00 - 08-17 09:00:00 @ 24.39, 61: 08-17 09:00:00 - 08-17 09:30:00 @ 24.66, 62: 08-17 09:30:00 - 08-17 10:00:00 @ 24.06, 63: 08-17 10:00:00 - 08-17 10:30:00 @ 25.5, 64: 08-17 10:30:00 - 08-17 11:00:00 @ 24.94, 65: 08-17 11:00:00 - 08-17 11:30:00 @ 24.25, 66: 08-17 11:30:00 - 08-17 12:00:00 @ 23.49, 67: 08-17 12:00:00 - 08-17 12:30:00 @ 23.43, 68: 08-17 12:30:00 - 08-17 13:00:00 @ 22.33, 69: 08-17 13:00:00 - 08-17 13:30:00 @ 22.76, 70: 08-17 13:30:00 - 08-17 14:00:00 @ 22.3, 71: 08-17 14:00:00 - 08-17 14:30:00 @ 21.41, 72: 08-17 14:30:00 - 08-17 15:00:00 @ 21.65, 73: 08-17 15:00:00 - 08-17 15:30:00 @ 22.95, 74: 08-17 15:30:00 - 08-17 16:00:00 @ 22.83, 75: 08-17 16:00:00 - 08-17 16:30:00 @ 36.84, 76: 08-17 16:30:00 - 08-17 17:00:00 @ 37.54, 77: 08-17 17:00:00 - 08-17 17:30:00 @ 41.79, 78: 08-17 17:30:00 - 08-17 18:00:00 @ 43.7, 79: 08-17 18:00:00 - 08-17 18:30:00 @ 44.34, 80: 08-17 19:00:00 - 08-17 19:30:00 @ 34.79, 81: 08-17 19:30:00 - 08-17 20:00:00 @ 34.76, 82: 08-17 20:00:00 - 08-17 20:30:00 @ 35.62, 83: 08-17 20:30:00 - 08-17 21:00:00 @ 35.3, 84: 08-17 21:00:00 - 08-17 21:30:00 @ 35.89, 85: 08-17 21:30:00 - 08-17 22:00:00 @ 35.71, 86: 08-17 22:00:00 - 08-17 22:30:00 @ 33.75, 87: 08-17 22:30:00 - 08-17 23:00:00 @ 32.0, 88: 08-17 23:00:00 - 08-17 23:30:00 @ 30.02, 89: 08-17 23:30:00 - 08-18 00:00:00 @ 27.8, 90: 08-18 00:00:00 - 08-18 00:30:00 @ 28.18, 91: 08-18 00:30:00 - 08-18 01:00:00 @ 27.38, 92: 08-18 01:00:00 - 08-18 01:30:00 @ 26.7, 93: 08-18 01:30:00 - 08-18 02:00:00 @ 26.31, 94: 08-18 02:00:00 - 08-18 02:30:00 @ 25.79]
2026-08-16 02:05:06.387839: Inverter 0 Charge window will be: 2026-08-16 11:00:00+01:00 - 2026-08-16 12:00:00+01:00 - current SoC 66%, target 100%
2026-08-16 02:05:06.388254: Inverter 0 disabled charge window while waiting for schedule (now 08-16 02:05:00 target set_window_minutes 30 charge start time 08-16 11:00:00) original inverter start time 08-18 00:00:00
2026-08-16 02:05:06.388370: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-16 02:05:06.388636: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-16 02:05:06.388737: No export window planned
2026-08-16 02:05:06.388895: Inverter 0 Adjust force export to False, change times from 00:00:00 - 00:00:00 to 00:00:00 - 00:00:00
2026-08-16 02:05:06.388971: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-16 02:05:06.389296: Adjust demand (idle) time computed is 00:00:00-23:59:00
2026-08-16 02:05:06.389523: Inverter 0 not setting charging SoC as we are not within the window (now 08-16 02:05:00 target set_soc_minutes 30 charge start time 08-18 00:00:00)
2026-08-16 02:05:06.389596: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-16 02:05:06.389671: Inverter 0 Current Target SoC is 7%, already at target
2026-08-16 02:05:06.389769: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 02:05:06.389818: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 02:05:06.389857: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 02:05:06.389894: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 02:05:06.389929: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 02:05:06.389961: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 02:05:06.389993: Inverter 0 Skipped service charge_stop_service domain charge service_name select.select_option as it was previously called.
2026-08-16 02:05:06.390059: Inverter 0 Skipped service charge_stop_service domain discharge service_name select.select_option as it was previously called.